From 431c0d52116837d798d68c6a8c68c81e21526066 Mon Sep 17 00:00:00 2001 From: gaoluyang <2820782392@qq.com> Date: 星期六, 12 七月 2025 14:55:13 +0800 Subject: [PATCH] 1.新增入职合同开始结束时间做限制(合同起始时间匹配合同年限) --- src/views/collaborativeApproval/approvalProcess/components/infoFormDia.vue | 61 +++++++++++++++++++----------- 1 files changed, 39 insertions(+), 22 deletions(-) diff --git a/src/views/collaborativeApproval/approvalProcess/components/infoFormDia.vue b/src/views/collaborativeApproval/approvalProcess/components/infoFormDia.vue index 585bc43..570f363 100644 --- a/src/views/collaborativeApproval/approvalProcess/components/infoFormDia.vue +++ b/src/views/collaborativeApproval/approvalProcess/components/infoFormDia.vue @@ -18,6 +18,7 @@ <el-col :span="24"> <el-form-item label="鐢宠閮ㄩ棬锛�" prop="approveDeptId"> <el-select + disabled v-model="form.approveDeptId" placeholder="閫夋嫨閮ㄩ棬" > @@ -52,7 +53,11 @@ :key="node.id" style="margin-right: 30px; text-align: center; margin-bottom: 10px;" > - <div>鑺傜偣{{ index + 1 }} 鈫�</div> + <div> + <span v-if="index === 0">鍙戣捣</span> + <span v-else>瀹℃壒</span> + 鈫� + </div> <el-select v-model="node.userId" placeholder="閫夋嫨浜哄憳" @@ -81,7 +86,17 @@ <el-row :gutter="30"> <el-col :span="12"> <el-form-item label="鐢宠浜猴細" prop="approveUser"> - <el-input v-model="form.approveUser" placeholder="璇疯緭鍏�" clearable/> + <el-select + v-model="form.approveUser" + placeholder="閫夋嫨浜哄憳" + > + <el-option + v-for="user in userList" + :key="user.userId" + :label="user.nickName" + :value="user.userId" + /> + </el-select> </el-form-item> </el-col> <el-col :span="12"> @@ -115,8 +130,8 @@ approveProcessAdd, approveProcessGetInfo, approveProcessUpdate, getDept -} from "../../../../api/collaborativeApproval/approvalProcess.js"; -import {userListNoPage} from "../../../../api/system/user.js"; +} from "@/api/collaborativeApproval/approvalProcess.js"; +import {userListNoPageByTenantId} from "@/api/system/user.js"; const { proxy } = getCurrentInstance() const emit = defineEmits(['close']) import useUserStore from "@/store/modules/user"; @@ -145,6 +160,7 @@ }); const { form, rules } = toRefs(data); const productOptions = ref([]); +const currentApproveStatus = ref(0) // 瀹℃壒浜鸿妭鐐圭浉鍏� const approverNodes = ref([ @@ -163,7 +179,8 @@ const openDialog = (type, row) => { operationType.value = type; dialogFormVisible.value = true; - userListNoPage().then((res) => { + currentApproveStatus.value = row.approveStatus + userListNoPageByTenantId().then((res) => { userList.value = res.data; }); getProductOptions(); @@ -171,26 +188,26 @@ approverNodes.value = [ { id: 1, userId: null } ] - form.value.approveUser = userStore.nickName; + form.value.approveUser = userStore.id; form.value.approveTime = getCurrentDate(); + + // 鑾峰彇褰撳墠鐢ㄦ埛淇℃伅骞惰缃儴闂↖D + form.value.approveDeptId = userStore.currentDeptId if (operationType.value === 'edit') { approveProcessGetInfo({id: row.approveId,approveReason: '1'}).then(res => { form.value = {...res.data} // 鍙嶆樉瀹℃壒浜� - // if (res.data && res.data.approverIds) { - // const nameArr = res.data.approverIds.split('锛�') - // approverNodes.value = nameArr.map((name, idx) => { - // const user = userList.value.find(u => u.name === name) - // return { id: idx + 1, userId: user ? user.id : null } - // }) - // nextApproverId = nameArr.length + 1 - // } else if (row.approverList && Array.isArray(row.approverList) && row.approverList.length > 0) { - // approverNodes.value = row.approverList.map((userId, idx) => ({ id: idx + 1, userId })) - // nextApproverId = row.approverList.length + 1 - // } else { - // approverNodes.value = [{ id: 1, userId: null }] - // nextApproverId = 2 - // } + if (res.data && res.data.approveUserIds) { + const userIds = res.data.approveUserIds.split(',') + approverNodes.value = userIds.map((userId, idx) => ({ + id: idx + 1, + userId: parseInt(userId.trim()) + })) + nextApproverId = userIds.length + 1 + } else { + approverNodes.value = [{ id: 1, userId: null }] + nextApproverId = 2 + } }) } } @@ -216,7 +233,7 @@ // 鎻愪氦浜у搧琛ㄥ崟 const submitForm = () => { // 鏀堕泦鎵�鏈夎妭鐐圭殑瀹℃壒浜篿d - form.value.approverIds = approverNodes.value.map(node => node.userId).join(',') + form.value.approveUserIds = approverNodes.value.map(node => node.userId).join(',') // 瀹℃壒浜哄繀濉牎楠� const hasEmptyApprover = approverNodes.value.some(node => !node.userId) if (hasEmptyApprover) { @@ -225,7 +242,7 @@ } proxy.$refs.formRef.validate(valid => { if (valid) { - if (operationType.value === "add") { + if (operationType.value === "add" || currentApproveStatus.value == 3) { approveProcessAdd(form.value).then(res => { proxy.$modal.msgSuccess("鎻愪氦鎴愬姛"); closeDia(); -- Gitblit v1.9.3