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