From 32f10392ab00b07e85c0b4229037c30af7c3f28e Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期二, 27 一月 2026 10:42:49 +0800
Subject: [PATCH] 浪潮对接单点登录:mis调整2
---
src/views/collaborativeApproval/approvalProcess/components/infoFormDia.vue | 131 ++++++++++++++++++++++++-------------------
1 files changed, 72 insertions(+), 59 deletions(-)
diff --git a/src/views/collaborativeApproval/approvalProcess/components/infoFormDia.vue b/src/views/collaborativeApproval/approvalProcess/components/infoFormDia.vue
index a269375..c74c104 100644
--- a/src/views/collaborativeApproval/approvalProcess/components/infoFormDia.vue
+++ b/src/views/collaborativeApproval/approvalProcess/components/infoFormDia.vue
@@ -16,20 +16,21 @@
</el-row>
<el-row>
<el-col :span="24">
- <el-form-item label="鐢宠閮ㄩ棬锛�" prop="approveDeptName">
- <el-input v-model="form.approveDeptName" placeholder="璇疯緭鍏�" clearable/>
-<!-- <el-select-->
-<!-- disabled-->
-<!-- v-model="form.approveDeptId"-->
-<!-- placeholder="閫夋嫨閮ㄩ棬"-->
-<!-- >-->
-<!-- <el-option-->
-<!-- v-for="user in productOptions"-->
-<!-- :key="user.deptId"-->
-<!-- :label="user.deptName"-->
-<!-- :value="user.deptId"-->
-<!-- />-->
-<!-- </el-select>-->
+ <!-- 鐢宠閮ㄩ棬锛氭牎楠屼娇鐢ㄩ儴闂↖D锛屼究浜庝笅鎷夐�夋嫨鍚庣珛鍗抽�氳繃鏍¢獙 -->
+ <el-form-item label="鐢宠閮ㄩ棬锛�" prop="approveDeptId">
+ <!-- <el-input v-model="form.approveDeptName" placeholder="璇疯緭鍏�" clearable/>-->
+ <el-select
+ v-model="form.approveDeptId"
+ placeholder="閫夋嫨閮ㄩ棬"
+ @change="handleDeptChange"
+ >
+ <el-option
+ v-for="user in productOptions"
+ :key="user.deptId"
+ :label="user.deptName"
+ :value="user.deptId"
+ />
+ </el-select>
</el-form-item>
</el-col>
</el-row>
@@ -88,10 +89,10 @@
<!-- 鍑哄樊鍦扮偣锛堜粎褰� approveType 涓� 3 鏃舵樉绀猴級 -->
<el-row v-if="props.approveType == 3">
<el-col :span="24">
- <el-form-item label="鍑哄樊鍦扮偣锛�" prop="location">
+ <el-form-item label="澶囨敞锛�" prop="location">
<el-input
v-model="form.location"
- placeholder="璇疯緭鍏ュ嚭宸湴鐐�"
+ placeholder="璇疯緭鍏ュ娉�"
clearable
/>
</el-form-item>
@@ -107,32 +108,32 @@
</template>
<div style="display: flex; align-items: flex-end; flex-wrap: wrap;">
<div
- v-for="(node, index) in approverNodes"
- :key="node.id"
- style="margin-right: 30px; text-align: center; margin-bottom: 10px;"
+ v-for="(node, index) in approverNodes"
+ :key="node.id"
+ style="margin-right: 30px; text-align: center; margin-bottom: 10px;"
>
<div>
<span>瀹℃壒浜�</span>
鈫�
</div>
<el-select
- v-model="node.userId"
- placeholder="閫夋嫨浜哄憳"
- style="width: 120px; margin-bottom: 8px;"
+ v-model="node.userId"
+ placeholder="閫夋嫨浜哄憳"
+ style="width: 120px; margin-bottom: 8px;"
>
<el-option
- v-for="user in userList"
- :key="user.userId"
- :label="user.nickName"
- :value="user.userId"
+ v-for="user in userList"
+ :key="user.userId"
+ :label="user.nickName"
+ :value="user.userId"
/>
</el-select>
<div>
<el-button
- type="danger"
- size="small"
- @click="removeApproverNode(index)"
- v-if="approverNodes.length > 1"
+ type="danger"
+ size="small"
+ @click="removeApproverNode(index)"
+ v-if="approverNodes.length > 1"
>鍒犻櫎</el-button>
</div>
</div>
@@ -143,20 +144,20 @@
<el-row :gutter="30">
<el-col :span="12">
<el-form-item label="鐢宠浜猴細" prop="approveUser">
- <el-select
- v-model="form.approveUser"
- placeholder="閫夋嫨浜哄憳"
- filterable
- default-first-option
- :reserve-keyword="false"
- >
- <el-option
- v-for="user in userList"
- :key="user.userId"
- :label="user.nickName"
- :value="user.userId"
- />
- </el-select>
+ <el-select
+ v-model="form.approveUser"
+ placeholder="閫夋嫨浜哄憳"
+ filterable
+ default-first-option
+ :reserve-keyword="false"
+ >
+ <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">
@@ -217,6 +218,7 @@
const emit = defineEmits(['close'])
import useUserStore from "@/store/modules/user";
import { getCurrentDate } from "@/utils/index.js";
+import log from "@/views/monitor/job/log.vue";
const userStore = useUserStore();
const dialogFormVisible = ref(false);
@@ -233,7 +235,7 @@
approveTime: "",
approveId: "",
approveUser: "",
- approveDeptId: "",
+ approveDeptId: "",
approveDeptName: "",
approveReason: "",
checkResult: "",
@@ -245,10 +247,11 @@
location: "" // 鍑哄樊鍦扮偣
},
rules: {
- approveTime: [{ required: false, message: "璇疯緭鍏�", trigger: "change" },],
+ approveTime: [{ required: false, message: "璇疯緭鍏�", trigger: "change" }],
approveId: [{ required: false, message: "璇疯緭鍏�", trigger: "blur" }],
approveUser: [{ required: false, message: "璇疯緭鍏�", trigger: "blur" }],
- approveDeptName: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
+ // 浣跨敤閮ㄩ棬ID鍋氬繀濉牎楠岋紝閬垮厤鍚嶇О鏈悓姝ュ鑷磋鎶�
+ approveDeptId: [{ required: true, message: "璇烽�夋嫨鐢宠閮ㄩ棬", trigger: "change" }],
approveReason: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
checkResult: [{ required: false, message: "璇疯緭鍏�", trigger: "blur" }],
startDate: [{ required: true, message: "璇烽�夋嫨璇峰亣寮�濮嬫椂闂�", trigger: "change" }],
@@ -279,35 +282,45 @@
function removeApproverNode(index) {
approverNodes.value.splice(index, 1)
}
-
+// 澶勭悊閮ㄩ棬閫夋嫨鍙樺寲
+const handleDeptChange = (deptId) => {
+ if (deptId) {
+ const selectedDept = productOptions.value.find(dept => dept.deptId === deptId);
+ if (selectedDept) {
+ form.value.approveDeptName = selectedDept.deptName;
+ }
+ } else {
+ form.value.approveDeptName = '';
+ }
+};
// 鎵撳紑寮规
const openDialog = (type, row) => {
operationType.value = type;
dialogFormVisible.value = true;
- userListNoPageByTenantId().then((res) => {
+ userListNoPageByTenantId().then((res) => {
userList.value = res.data;
});
getProductOptions();
- form.value = {}
- approverNodes.value = [
- { id: 1, userId: null }
- ]
+ form.value = {}
+ approverNodes.value = [
+ { id: 1, userId: null }
+ ]
form.value.approveUser = userStore.id;
form.value.approveTime = getCurrentDate();
-
+
// 鑾峰彇褰撳墠鐢ㄦ埛淇℃伅骞惰缃儴闂↖D
form.value.approveDeptId = userStore.currentDeptId
if (operationType.value === 'edit') {
fileList.value = row.commonFileList
form.value.tempFileIds = fileList.value.map(file => file.id)
- currentApproveStatus.value = row.approveStatus
+ currentApproveStatus.value = row.approveStatus
approveProcessGetInfo({id: row.approveId,approveReason: '1'}).then(res => {
- form.value = {...res.data}
+ form.value = {...res.data}
// 鍙嶆樉瀹℃壒浜�
if (res.data && res.data.approveUserIds) {
const userIds = res.data.approveUserIds.split(',')
approverNodes.value = userIds.map((userId, idx) => ({
- id: idx + 1,
+ id: idx + 1,
userId: parseInt(userId.trim())
}))
nextApproverId = userIds.length + 1
@@ -333,7 +346,7 @@
if (children && children.length > 0) {
newItem.children = convertIdToValue(children);
}
-
+
return newItem;
});
}
@@ -450,4 +463,4 @@
<style scoped>
-</style>
\ No newline at end of file
+</style>
--
Gitblit v1.9.3