| | |
| | | controls-position="right" :placeholder="`请输入评优数量(最多不可超过${maxEvaluateNum})`" |
| | | class="evaluateNum-input"></el-input-number> |
| | | </el-form-item> |
| | | <!-- <el-form-item label="评优截止日期:" prop="evaluateCutoffTime"> |
| | | <el-form-item label="评优截止日期:" prop="evaluateCutoffTime" v-if="params.type"> |
| | | <el-date-picker v-model="addForm.evaluateCutoffTime" type="datetime" placeholder="请选择截止时间" |
| | | format="YYYY-MM-DD HH:mm:ss" valueFormat="YYYY-MM-DD HH:mm:ss" style="width: 100%;" /> |
| | | </el-form-item> --> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | <template #footer> |
| | |
| | | submitOrEdit() { |
| | | const { candidateNum } = this.addForm |
| | | const isExist = candidateNum.find(item => item.val === void 0 || item.val === 0 || item.users.length === 0) |
| | | candidateNum.forEach(candidate => { |
| | | if (candidate.val > candidate.users.length) { |
| | | candidate.val = candidate.users.length |
| | | } |
| | | }) |
| | | if (isExist) { |
| | | this.$message.warning(`${isExist.deptName}候选人人数不可为空或者0`) |
| | | } else { |
| | |
| | | }, |
| | | handleSubmit() { |
| | | this.$refs.addFormRef.validate(valid => { |
| | | this.params.type && (this.addForm.evaluateState = 1) |
| | | add(this.addForm).then( |
| | | () => { |
| | | this.$message({ |
| | |
| | | } |
| | | }) |
| | | const depts_list = _.cloneDeep(deptList) |
| | | depts_list.forEach(async (dept) => { |
| | | const employeeRes = await getList(1, 99999, {}, dept.id) |
| | | this.depts = [] |
| | | for (const dept of depts_list) { |
| | | const employeeRes = await getList(1, 99999, { userType: 2 }, dept.id) |
| | | const { records } = employeeRes.data.data |
| | | this.depts.push({ |
| | | deptId: dept.id, |
| | |
| | | users: [], |
| | | employees: records |
| | | }); |
| | | const params = _.cloneDeep(this.params.addForm.candidateNum) || [] |
| | | const newParams = params.map(item => { |
| | | const value = this.depts.find(dept => item.deptId === dept.deptId); |
| | | item.employees = value?.employees || []; |
| | | return item |
| | | }) |
| | | // 宏任务延迟 |
| | | setTimeout(() => { |
| | | const params = newParams.filter(item => item.employees.length > 0) |
| | | this.selectGroup = params |
| | | }, 100) |
| | | }); |
| | | } |
| | | const params = _.cloneDeep(this.params.addForm.candidateNum) || [] |
| | | const newParams = params.map(item => { |
| | | const value = this.depts.find(dept => item.deptId === dept.deptId); |
| | | item.employees = value?.employees || []; |
| | | return item |
| | | }) |
| | | let defaultUsers = [] |
| | | newParams.forEach(item => { |
| | | const users = item.users.filter(user => item.employees.find(employee => employee.id === user.id)) |
| | | // 判断当前item.users和users的区别 |
| | | defaultUsers = item.users.filter(iUser => !users.includes(iUser)) |
| | | // 改变为修改后的users |
| | | item.users = users |
| | | }) |
| | | const resParams = newParams.filter(item => item.employees.length > 0 && item.users.length > 0) |
| | | this.selectGroup = resParams |
| | | // 是否有修改的user, 有的话去修改 |
| | | defaultUsers.length > 0 && update(this.addForm) |
| | | }, |
| | | handleEmployeeChange(val, content) { |
| | | if (val) { |
| | | content.users = [] |
| | | content.employees.forEach(item => { |
| | | content.users.push({ |
| | | id: item.id, |