wanghao 1 місяць тому
батько
коміт
35510475b9
2 змінених файлів з 30 додано та 7 видалено
  1. 1 1
      src/views/school/addUser.vue
  2. 29 6
      src/views/school/index.vue

+ 1 - 1
src/views/school/addUser.vue

@@ -43,7 +43,7 @@
         </el-form-item>
       </el-form-item>
       <el-form-item label="账号类型:" :label-width="formLabelWidth" prop="schoolType">
-        <el-radio-group v-model="userForm.schoolType">
+        <el-radio-group v-model="userForm.schoolType" :disabled="dialogData.isChild">
           <el-radio :value="0">单校版</el-radio>
           <el-radio :value="1">联考版</el-radio>
         </el-radio-group>

+ 29 - 6
src/views/school/index.vue

@@ -67,13 +67,21 @@
           </div>
         </div>
         <div class="tag_group" v-if="searchList.typeNode.length > 1">
-          <div class="tag_group_title">状态:</div>
+          <div class="tag_group_title">类型:</div>
           <div class="tag_group_content">
             <div class="tag_item" v-for="item in searchList.typeNode" :key="item.type" @click="selectItem(item.type, 'type', item)" :class="item.type === searchData.type ? 'active' : ''">
               {{ item.typeName }}
             </div>
           </div>
         </div>
+        <div class="tag_group" v-if="searchList.statusNodes.length > 1">
+          <div class="tag_group_title">状态:</div>
+          <div class="tag_group_content">
+            <div class="tag_item" v-for="item in searchList.statusNodes" :key="item.status" @click="selectItem(item.status, 'status', item)" :class="item.status === searchData.status ? 'active' : ''">
+              {{ item.statusName }}
+            </div>
+          </div>
+        </div>
       </div>
     </div>
     <div class="page_jg_20"></div>
@@ -95,7 +103,10 @@
                 <el-option v-for="item in searchList.userInfo" :key="item.userId" :value="item.userId" :label="item.nickname == '全部' ? '全部运维' : item.nickname"></el-option>
               </el-select>
               <el-select v-model="searchData.type" @change="SearchChange" v-if="searchList.typeNode && searchList.typeNode.length > 1">
-                <el-option v-for="item in searchList.typeNode" :key="item.type" :value="item.type" :label="item.typeName == '全部' ? '全部状态' : item.typeName"></el-option>
+                <el-option v-for="item in searchList.typeNode" :key="item.type" :value="item.type" :label="item.typeName == '全部' ? '全部类型' : item.typeName"></el-option>
+              </el-select>
+              <el-select v-model="searchData.status" @change="SearchChange" v-if="searchList.statusNodes && searchList.statusNodes.length > 1">
+                <el-option v-for="item in searchList.statusNodes" :key="item.status" :value="item.status" :label="item.statusName == '全部' ? '全部状态' : item.statusName"></el-option>
               </el-select>
             </div>
             <el-select v-model="schoolTypeSelect" @change="SearchChange">
@@ -230,6 +241,7 @@ const searchData = ref({
   districtCode: 'all',
   type: 'all',
   userId: 'all',
+  status: 'all',
 })
 
 interface Province {
@@ -266,6 +278,7 @@ interface SearchList {
   districtNode: District[];
   typeNode: TypeNode[];
   userInfo: UserInfo[];
+  statusNodes: StatusNodes[];
 }
 const searchList = ref<SearchList>({
   examTypes: [],
@@ -273,11 +286,12 @@ const searchList = ref<SearchList>({
   cityNode: [],
   districtNode: [],
   typeNode: [],
-  userInfo: []
+  userInfo: [],
+  statusNodes: []
 })
 // const emit = defineEmits(['FnSearch'])
 
-type SearchDataKey = 'provinceCode' | 'cityCode' | 'districtCode' | 'type' | 'userId'
+type SearchDataKey = 'provinceCode' | 'cityCode' | 'districtCode' | 'type' | 'userId' | 'status'
 const selectItem = (value: string, str: SearchDataKey, item: any) => {
   searchData.value[str] = value
   let arr = []
@@ -359,6 +373,8 @@ const GetSearchList = () => {
           data[i].splice(0, 0, { type: "all", typeName: "全部" })
         }else if( i == 'userInfo') {
           data[i].splice(0, 0, { userId: "all", nickname: "全部" })
+        }else if( i == 'statusNodes') {
+          data[i].splice(0, 0, { status: "all", statusName: "全部" })
         }
       }
       searchList.value = data
@@ -437,6 +453,7 @@ onUnmounted(() => {
 // 新增用户
 const addUser = () => {
   showDialog.value = true
+  dialogData.isChild = false
   dialogData.pageType = 'add'
 }
 // 编辑
@@ -445,6 +462,7 @@ const EditUser =  (row: any) => {
   showDialog.value = true
   dialogData.pageType = 'edit'
   dialogData.id = row.id
+  dialogData.isChild = row.isChild
   dialogData.tenantName = row.tenantName
 }
 // 设置权限
@@ -482,6 +500,7 @@ const GetSchoolNumber = () => {
 const GetSchoolList = () => {
   let params = {
     type: searchData.value.type == 'all' ? '' : searchData.value.type,
+    status: searchData.value.status == 'all' ? '' : searchData.value.status,
     userId: searchData.value.userId == 'all' ? '' : searchData.value.userId,
     cityCode: searchData.value.cityCode == 'all' ? '' : searchData.value.cityCode,
     provinceCode: searchData.value.provinceCode == 'all' ? '' : searchData.value.provinceCode,
@@ -517,7 +536,9 @@ const HandleSizeChange = (val) => {
 // 新增/修改学校信息后刷新列表
 const RefTable = (val: any) => {
   showDialog.value = val
-  GetSchoolList()
+  GetSearchList()
+  GetSchoolNumber()
+  // GetSchoolList()
 }
 // 改变用户状态
 const ChangeStatus = (row: any, text: String) => {
@@ -533,7 +554,9 @@ const ChangeStatus = (row: any, text: String) => {
     }).then((res: any) => {
       if(res.code == 200) {
         ElMessage.success(res.msg)
-        GetSchoolList()
+        GetSearchList()
+        GetSchoolNumber()
+        // GetSchoolList()
       }
     })
   })