| | |
| | | <template> |
| | | <el-dialog v-model="props.dialogParams.visible" title="添加候选人" @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-row> |
| | | <el-col :span="12"> |
| | | <el-col :span="!curType ? 12 : 24"> |
| | | <el-form-item label="部门" prop="deptId"> |
| | | <el-cascader v-model="form.deptId" :props="cascaderProps" placeholder="请选择部门" @change="deptChange" style="width: 100%;" /> |
| | | <el-cascader v-model="form.deptId" :props="cascaderProps" placeholder="请选择部门" @change="deptChange" |
| | | style="width: 100%;" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <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-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-col :span="12" v-if="!curType"> |
| | | <el-form-item label="职务"> |
| | | <el-input v-model="form.postName" placeholder="请填写职务" disabled /> |
| | | </el-form-item> |
| | |
| | | </template> |
| | | |
| | | <script setup> |
| | | import { computed, markRaw, reactive, ref, watch } from 'vue'; |
| | | import { computed, inject, markRaw, reactive, ref, watch } from 'vue'; |
| | | import { getDeptLazyTree } from '@/api/system/dept.js' |
| | | import { getList } from '@/api/system/user.js' |
| | | import { addCandidate } from '@/api/evaluate/evaluateTask' |
| | |
| | | deptName: '', |
| | | postName: '' |
| | | }) |
| | | |
| | | const type = inject('type') |
| | | const curType = computed(() => type()) |
| | | |
| | | const rules = markRaw({ |
| | | userId: [ |
| | |
| | | postName: '' |
| | | }) |
| | | |
| | | const requestSectionParams = reactive({ |
| | | evaluateTaskId: '', |
| | | evaluateTaskName: '', |
| | | deptId: '', |
| | | deptName: '' |
| | | }) |
| | | |
| | | // 当前部门 |
| | | const currentDeptId = ref('') |
| | | |
| | | |
| | | const deptList = ref([]) |
| | | |
| | | // options 数据 |
| | | const userSelectOption = ref([]) |
| | |
| | | }) |
| | | } |
| | | |
| | | |
| | | // 选择部门改变 |
| | | const deptChange = async (value) => { |
| | | const id = value[value.length - 1] |
| | | currentDeptId.value = id |
| | | const userList = await initUserList(id) |
| | | userSelectOption.value = userList |
| | | if (!curType) { |
| | | const userList = await initUserList(id) |
| | | userSelectOption.value = userList |
| | | } else { |
| | | const dept = deptList.value.find(item => item.id == id) |
| | | requestSectionParams.deptId = dept.value || '' |
| | | requestSectionParams.deptName = dept.title || '' |
| | | console.log(requestSectionParams); |
| | | } |
| | | } |
| | | |
| | | // 级联配置 |
| | |
| | | const level = node.level || 0 |
| | | if (level == 0) { |
| | | const res = await initDept(level) |
| | | deptList.value = res |
| | | resovle(res) |
| | | } else { |
| | | const { value } = node |
| | | const res = await initDept(value) |
| | | deptList.value = res |
| | | resovle(res) |
| | | } |
| | | }, |
| | |
| | | const submit = () => { |
| | | formRef.value.validate(valid => { |
| | | if (!valid) return ElMessage.error('添加候选人失败') |
| | | addCandidate(requestParams).then(res => { |
| | | const params = curType? requestSectionParams : requestParams |
| | | addCandidate(params).then(res => { |
| | | ElMessage.success('添加候选人成功') |
| | | props.dialogParams.visible = false |
| | | emits('refresh') |
| | |
| | | watch(() => props.dialogParams.visible, (val) => { |
| | | if (!val) return |
| | | const { evaluateTaskId, evaluateTaskName } = props.dialogParams.taskParams |
| | | requestParams.evaluateTaskName = evaluateTaskName |
| | | requestParams.evaluateTaskId = evaluateTaskId |
| | | if (!curType) { |
| | | requestParams.evaluateTaskName = evaluateTaskName |
| | | requestParams.evaluateTaskId = evaluateTaskId |
| | | } else { |
| | | requestSectionParams.evaluateTaskName = evaluateTaskName |
| | | requestSectionParams.evaluateTaskId = evaluateTaskId |
| | | } |
| | | |
| | | }, { |
| | | deep: true |
| | | }) |