| src/views/assessment/components/addAssessor.vue | ●●●●● patch | view | raw | blame | history | |
| src/views/assessment/components/addWeight.vue | ●●●●● patch | view | raw | blame | history | |
| src/views/evaluate/components/votingDetails.vue | ●●●●● patch | view | raw | blame | history |
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 || '' 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 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': {