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 ++++++++++----
 src/views/evaluate/components/votingDetails.vue |   10 +++--
 src/views/assessment/components/addWeight.vue   |   27 +++++++++----
 3 files changed, 46 insertions(+), 21 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 || ''
diff --git a/src/views/assessment/components/addWeight.vue b/src/views/assessment/components/addWeight.vue
index bae7689..a381404 100644
--- a/src/views/assessment/components/addWeight.vue
+++ b/src/views/assessment/components/addWeight.vue
@@ -3,7 +3,8 @@
         <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="70px" v-loading="isLoading"
+            element-loading-text="数据加载中,请稍后。。。">
             <el-row>
                 <el-col :span="12">
                     <el-form-item label="部门" prop="deptId">
@@ -12,13 +13,15 @@
                     </el-form-item>
                 </el-col>
                 <el-col :span="12">
-                    <el-form-item label="候选人" prop="userId">
-                        <el-select v-model="form.userId" placeholder="请选择候选人"
+                    <el-form-item label="考核人" prop="userId">
+                        <el-select v-model="form.userId" placeholder="请选择考核人"
                             :disabled="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>
@@ -29,14 +32,15 @@
                 </el-col>
                 <el-col :span="12">
                     <el-form-item label="权值" prop="weight">
-                        <el-input v-model="form.weight" :placeholder="`请输入权值(输入的权值大于等于${weightRange})`" style="width: 100%;"></el-input>
+                        <el-input v-model="form.weight" :placeholder="`请输入权值(输入的权值大于等于${weightRange})`"
+                            style="width: 100%;"></el-input>
                     </el-form-item>
                 </el-col>
             </el-row>
         </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>
@@ -68,6 +72,8 @@
     postName: '',
     weight: ''
 })
+
+const isLoading = ref(true)
 
 
 
@@ -162,11 +168,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,
@@ -176,6 +184,7 @@
         deptId,
     ).then(res => {
         page.total = res.data.data.total
+        isLoading.value = false
         return res.data.data.records
     })
 }
@@ -184,6 +193,8 @@
 // 选择部门改变
 const deptChange = async (value) => {
     const id = value[value.length - 1]
+    form.userId = ''
+    page.current = 1
     currentDeptId.value = id
     const userList = await initUserList(id)
     userSelectOption.value = userList
diff --git a/src/views/evaluate/components/votingDetails.vue b/src/views/evaluate/components/votingDetails.vue
index 47340c3..9f71f35 100644
--- a/src/views/evaluate/components/votingDetails.vue
+++ b/src/views/evaluate/components/votingDetails.vue
@@ -11,7 +11,9 @@
                 </el-radio-group>
             </template>
             <template #menu="{ row }">
-                <el-button type="warning" icon="el-icon-info-filled" text @click="sendBack(row)">驳回</el-button>
+                <el-button type="warning" icon="el-icon-info-filled" text @click="sendBack(row)">
+                    驳回
+                </el-button>
             </template>
         </avue-crud>
     </el-dialog>
@@ -192,10 +194,10 @@
         },
         sendBack(row) {
             const { candidateState, evaluateState } = this.params.data
-            if (candidateState === 2 && evaluateState !== 2) {
+            if (candidateState === 2 && this.selectedRoundValue === 0) {
                 return this.$message.warning('第一轮评优已结束无法驳回当前记录')
             } 
-            if (evaluateState === 2 && candidateState === 2) {
+            if (evaluateState === 2 && this.selectedRoundValue === 1) {
                 return this.$message.warning('当前评优任务已结束无法驳回当前记录')
             }
             this.$confirm('是否驳回当前投票记录?', {
@@ -216,7 +218,7 @@
         selectedChange(value) {
             this.onLoad(this.page);
         },
-        dialogOpen() {}
+        dialogOpen() { }
     },
     watch: {
         'params.visible': {

--
Gitblit v1.9.3