| | |
| | | <template> |
| | | <el-dialog v-model="params.visible" :title="params.title" width="60%" destroyOnClose> |
| | | <el-dialog v-model="params.visible" :title="params.title" width="60%" destroy-on-close> |
| | | <div class="content"> |
| | | <el-form :model="addForm" label-width="130px" :rules="rules" ref="addFormRef"> |
| | | <el-form-item label="任务名称:" prop="taskName"> |
| | |
| | | <div class="select-list"> |
| | | <el-form-item v-for="content in selectGroup" :key="content.deptId" :label="content.deptName" |
| | | class="select-item"> |
| | | <el-input-number min="1" :max="content.employees.length" v-model="content.val" |
| | | controls-position="right" placeholder="请输入候选人数量" class="select-num"></el-input-number> |
| | | <span v-if="!params.type"> |
| | | <el-input-number min="0" :max="content.employees.length || 0" v-model="content.val" |
| | | controls-position="right" placeholder="请输入候选人数量" class="select-num"></el-input-number> |
| | | </span> |
| | | <el-select v-model="content.users" value-key="id" multiple placeholder="请输入候选人"> |
| | | <el-option v-for="employee in content.employees" :key="employee.id" :label="employee.name" |
| | | :value="employee"></el-option> |
| | |
| | | format="YYYY-MM-DD HH:mm:ss" valueFormat="YYYY-MM-DD HH:mm:ss" style="width: 100%;" /> |
| | | </el-form-item> |
| | | <el-form-item label="评优数量:" prop="evaluateNum"> |
| | | <el-input-number min="1" :max="maxEvaluateNum" v-model="addForm.evaluateNum" controls-position="right" |
| | | <el-input-number min="0" :max="maxEvaluateNum || 0" v-model="addForm.evaluateNum" controls-position="right" |
| | | :placeholder="`请输入评优数量(最多不可大于${maxEvaluateNum}人)`" class="evaluateNum-input"></el-input-number> |
| | | </el-form-item> |
| | | <el-form-item label="评优截止日期:" prop="evaluateCutoffTime"> |
| | |
| | | 'params.visible': { |
| | | handler(val) { |
| | | val && this.initData(website.tenantId); |
| | | this.addForm.type = this.params.type + ''; |
| | | this.addForm = this.params.addForm; |
| | | val && (this.addForm.type = this.params.type + '') |
| | | if (this.params.isEdit) { |
| | | this.addForm = this.params.addForm; |
| | | this.addForm.type = this.params.type + ''; |
| | |
| | | }); |
| | | }); |
| | | this.maxEvaluateNum += (item.val * 1); |
| | | console.log(item.val); |
| | | this.addForm.candidateNum.push({ |
| | | deptId: item.deptId, |
| | | deptName: item.deptName, |
| | |
| | | }); |
| | | }, |
| | | setDefaultValue(depts) { |
| | | const params = _.cloneDeep(this.params.addForm.candidateNum); |
| | | const params = _.cloneDeep(this.params.addForm.candidateNum) || [] |
| | | params.forEach(item => { |
| | | const value = depts.find(dept => item.deptId === dept.deptId); |
| | | item.employees = value?.employees || []; |
| | |
| | | this.selectGroup = params; |
| | | }, |
| | | }, |
| | | mounted() { }, |
| | | }; |
| | | </script> |
| | | |
| | |
| | | |
| | | .evaluateNum-input { |
| | | width: 100%; |
| | | |
| | | :deep() { |
| | | .el-input__inner { |
| | | text-align: left; |