| | |
| | | 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({ |
| | |
| | | }); |
| | | this.params.visible = false; |
| | | }, |
| | | initData(tenantId) { |
| | | // 读取部门列表 |
| | | getDeptTree(tenantId) |
| | | .then(res => { |
| | | let deptList = []; |
| | | _.cloneDeep(res.data.data).forEach(item => { |
| | | deptList.push(item); |
| | | if (item.children) { |
| | | item.children.forEach(ic => { |
| | | ic.title = item.title + '/' + ic.title; |
| | | }) |
| | | deptList = deptList.concat(item.children); |
| | | delete item.children; |
| | | } |
| | | }); |
| | | return { |
| | | deptList, |
| | | }; |
| | | }) |
| | | .then(({ deptList }) => { |
| | | const depts_list = _.cloneDeep(deptList); |
| | | this.depts = []; |
| | | depts_list.forEach(dept => { |
| | | getList(1, 99999, {}, dept.id).then(employeeRes => { |
| | | const { records } = employeeRes.data.data; |
| | | this.depts.push({ |
| | | deptId: dept.id, |
| | | deptName: dept.title, |
| | | users: [], |
| | | employees: records |
| | | }); |
| | | this.setDefaultValue(this.depts); |
| | | }); |
| | | }); |
| | | async initData(tenantId) { |
| | | const deptTreeRes = await getDeptTree(tenantId) |
| | | let deptList = [] |
| | | const cloneDeptTreeRes = _.cloneDeep(deptTreeRes.data.data) |
| | | // 扁平化deptTree |
| | | cloneDeptTreeRes.forEach(item => { |
| | | deptList.push(item); |
| | | if (item.children) { |
| | | item.children.forEach(ic => { |
| | | ic.title = item.title + '/' + ic.title; |
| | | }) |
| | | deptList = deptList.concat(item.children); |
| | | delete item.children; |
| | | } |
| | | }) |
| | | const depts_list = _.cloneDeep(deptList) |
| | | 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, |
| | | deptName: dept.title, |
| | | users: [], |
| | | employees: records |
| | | }); |
| | | }, |
| | | setDefaultValue(depts) { |
| | | } |
| | | const params = _.cloneDeep(this.params.addForm.candidateNum) || [] |
| | | const newParams = params.map(item => { |
| | | const value = depts.find(dept => item.deptId === dept.deptId); |
| | | const value = this.depts.find(dept => item.deptId === dept.deptId); |
| | | item.employees = value?.employees || []; |
| | | return item |
| | | }) |
| | | this.selectGroup = newParams |
| | | 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, |