From ac1391e1605f4a03cee03f3be2913b8e1997aa2e Mon Sep 17 00:00:00 2001
From: GuLiMmo <2820890765@qq.com>
Date: Fri, 19 Jan 2024 09:54:35 +0800
Subject: [PATCH] 样式调整

---
 src/views/assessment/components/addAssessor.vue |   30 +++++++++++++++++++++---------
 1 files changed, 21 insertions(+), 9 deletions(-)

diff --git a/src/views/assessment/components/addAssessor.vue b/src/views/assessment/components/addAssessor.vue
index 872d566..d182dd6 100644
--- a/src/views/assessment/components/addAssessor.vue
+++ b/src/views/assessment/components/addAssessor.vue
@@ -1,9 +1,10 @@
 <template>
-    <el-dialog v-model="props.dialogParams.visible" :title="curType ? '添加被考核部门': '添加被考核人' " @close="dialogClose">
+    <el-dialog v-model="props.dialogParams.visible" :title="curType ? '添加被考核部门' : '添加被考核人'" @close="dialogClose">
         <div style="margin-bottom: 20px;" v-if="!form.deptId">
             <el-alert title="请先选择部门信息" type="warning" />
         </div>
-        <el-form :model="form" ref="formRef" :rules="rules" label-width="70px">
+        <el-form :model="form" ref="formRef" :rules="rules" label-width="80px" v-loading="isLoading"
+            element-loading-text="数据加载中,请稍后。。。">
             <el-row>
                 <el-col :span="!curType ? 12 : 24">
                     <el-form-item label="部门" prop="deptId">
@@ -12,13 +13,15 @@
                     </el-form-item>
                 </el-col>
                 <el-col :span="12" v-if="!curType">
-                    <el-form-item label="候选人" prop="userId">
-                        <el-select v-model="form.userId" placeholder="请选择候选人"
-                            :disabled="userSelectOption.length > 0 ? false : true" @change="userSelectChange"
+                    <el-form-item label="被候选人" prop="userId">
+                        <el-select v-model="form.userId" placeholder="请选择被候选人"
+                            :disabled="isLoading || userSelectOption.length > 0 ? false : true" @change="userSelectChange"
                             style="width: 100%;">
-                            <el-option v-for="item in userSelectOption" :label="item.name" :key="item.id"
-                                :value="item.id" />
-                            <div class="loading-more" @click="loadMore">{{ loadingMoreText }}</div>
+                            <div v-loading="isLoading" element-loading-text="数据加载中,请稍后。。。">
+                                <el-option v-for="item in userSelectOption" :label="item.name" :key="item.id"
+                                    :value="item.id" />
+                                <div class="loading-more" @click="loadMore">{{ loadingMoreText }}</div>
+                            </div>
                         </el-select>
                     </el-form-item>
                 </el-col>
@@ -31,7 +34,7 @@
         </el-form>
         <template #footer>
             <el-button @click="() => props.dialogParams.visible = false">取消</el-button>
-            <el-button type="primary" @click="submit">确定</el-button>
+            <el-button type="primary" @click="submit" :loading="isLoading">确定</el-button>
         </template>
     </el-dialog>
 </template>
@@ -51,6 +54,8 @@
 })
 
 const emits = defineEmits(['refresh'])
+
+const isLoading = ref(true)
 
 const curType = ref()
 
@@ -130,6 +135,7 @@
 })
 
 const loadMore = async () => {
+    if (userSelectOption.value.length >= page.total) return ElMessage.warning('数据已全部加载完毕,请勿重复点击!!')
     isOptionsLoading.value = true
     page.current += 1
     const res = await initUserList(currentDeptId.value)
@@ -140,11 +146,13 @@
 // 初始化部门数据
 const initDept = async (parentId) => {
     const deptResult = await getDeptLazyTree(parentId)
+    isLoading.value = false
     return deptResult.data.data
 }
 
 // 初始化用户列表
 const initUserList = (deptId) => {
+    isLoading.value = true
     return getList(
         page.current,
         page.size,
@@ -154,6 +162,7 @@
         deptId,
     ).then(res => {
         page.total = res.data.data.total
+        isLoading.value = false
         return res.data.data.records
     })
 }
@@ -163,9 +172,12 @@
 const deptChange = async (value) => {
     const id = value[value.length - 1]
     currentDeptId.value = id
+    form.userId = ''
+    page.current = 1
     if (!curType.value) {
         const userList = await initUserList(id)
         userSelectOption.value = userList
+        if (userList.length <= 0) ElMessage.warning('当前部门人员为空,请选择其他部门!!')
     } else {
         const dept = deptList.value.find(item => item.id == id)
         requestSectionParams.deptId = dept.value || ''

--
Gitblit v1.9.3