فهرست منبع

新增学校表格默认选中

zhangguohua 1 سال پیش
والد
کامیت
23067a55ea
2فایلهای تغییر یافته به همراه17 افزوده شده و 4 حذف شده
  1. 13 4
      src/views/examination/addSchool.vue
  2. 4 0
      src/views/examination/index.vue

+ 13 - 4
src/views/examination/addSchool.vue

@@ -1,5 +1,5 @@
 <template>
-  <el-dialog v-model="schoolData.showDialog" :title="`${schoolData.tenantName} 新增学校`" width="680px">
+  <el-dialog v-model="schoolData.showDialog" :title="`${schoolData.tenantName} 新增学校`" width="800px">
     <div class="page_search">
       <div class="search_content">
         <div class="content_left">
@@ -16,7 +16,7 @@
     </div>
     <div class="page_jg_20"></div>
     <div class="page_table"> 
-      <el-table :data="tableData" stripe v-loading="tableLoading" element-loading-text="拼命加载中……" height="500px"
+      <el-table :data="tableData" stripe v-loading="tableLoading" element-loading-text="拼命加载中……" height="500px" ref="tableDataRef"
         element-loading-spinner="el-icon-loading" element-loading-background="#ffffff" @selection-change="handleSelectionChange">
           <el-table-column type="selection" align="center" />
           <el-table-column type="index" label="序号" align="center" />
@@ -61,8 +61,8 @@ export default {
 </script>
 <script lang="ts" setup>
 import { Search } from '@element-plus/icons-vue'
-import { ElMessage } from 'element-plus'
-import { ref, inject, onMounted } from 'vue'
+import { ElMessage, ElTable } from 'element-plus'
+import { ref, inject, onMounted, nextTick } from 'vue'
 import { getSingleExamList, addSingleSchool } from '@/api/examination'
 import { provinceTree } from '@/api/school'
 interface SchoolDataItem {
@@ -88,6 +88,8 @@ const provinceSelect = ref('')
 const schooltName =  ref('')
 const tableData = ref([])
 const selUserList = ref([])
+const selectListId = inject<any>('selectListId', [])
+const tableDataRef = ref<InstanceType<typeof ElTable>>()
 // 提交按钮loading
 const submitLoading = ref(false)
 onMounted(() => {
@@ -114,6 +116,13 @@ const GetSingleExamList = async () => {
     })
     if (res.code === 200) {
       tableData.value = res.data
+      nextTick(() => {
+        tableData.value.forEach((item: any) => {
+          if(selectListId.value.includes(item.tenantCode)) {
+            tableDataRef.value?.toggleRowSelection(item, true)
+          }
+        })
+      })
     }
   }catch {} finally {
     tableLoading.value = false

+ 4 - 0
src/views/examination/index.vue

@@ -139,7 +139,10 @@ onMounted(() => {
 const handleRowClick = (row: any) => {
   console.log(row)
   selectRow.value = row
+  selectListId.value = selectRow.value?.children.map(item => (item.tenantCode))
 }
+const selectListId = ref([])
+provide('selectListId', selectListId)
 const GetJoinExamList = () => {
   console.log(schooltName.value)
   tableLoading.value = true
@@ -147,6 +150,7 @@ const GetJoinExamList = () => {
     if(res.code == 200) {
       tableData.value = res.data
       selectRow.value = tableData.value[0]
+      selectListId.value = selectRow.value?.children.map(item => (item.tenantCode))
     }
     tableLoading.value = false
   }).catch(() => {