From 953ca145afcb93191617d75f77f9d6196480d3ae Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期二, 16 四月 2024 01:17:58 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 Source/UBCS-WEB/src/views/integration/integrationIndex.vue |  121 +++++++++++++++++++++++++++++++++------
 1 files changed, 101 insertions(+), 20 deletions(-)

diff --git a/Source/UBCS-WEB/src/views/integration/integrationIndex.vue b/Source/UBCS-WEB/src/views/integration/integrationIndex.vue
index d175b2d..b0de958 100644
--- a/Source/UBCS-WEB/src/views/integration/integrationIndex.vue
+++ b/Source/UBCS-WEB/src/views/integration/integrationIndex.vue
@@ -51,9 +51,9 @@
                        @selection-change="selectionChange"
                        @select-all="handleSelectAll">
               <template slot="menuLeft">
-                <el-button :disabled="disabledPush" icon="el-icon-plus" size="small" type="primary"
-                           @click="dialogPush = true">鏂� 澧�
-                </el-button>
+<!--                <el-button :disabled="disabledPush" icon="el-icon-plus" size="small" type="primary"-->
+<!--                           @click="dialogPush = true">鏂� 澧�-->
+<!--                </el-button>-->
                 <el-button icon="el-icon-check" size="small" type="primary" @click="handleSave">淇� 瀛�
                 </el-button>
                 <el-button icon="el-icon-connection" size="small" type="primary"
@@ -90,6 +90,7 @@
   listCodeAttributeByClassId,
   syncClassifyModel
 } from '@/api/integration/integration.js'
+import {getPage} from "@/api/omd/OmdAttribute";
 
 export default {
   components: {
@@ -113,6 +114,7 @@
       highlightCurrentRow: true,
     }
     return {
+      targetNameList: [], // 鍏冩暟鎹繑鍥炲悕绉�
       defaultCheckedKeys: [],
       isNodeDisabled: true,
       // 琛ㄥ崟鍊�
@@ -167,6 +169,19 @@
         rowKey: 'oid',
         selection: false,
         refreshBtn: false,
+        delBtn: false,
+        addBtn: false,
+        index: true,
+        columnBtn: false,
+        searchShow: true,
+        emptyBtn: false,
+        searchBtn: false,
+        searchShowBtn: false,
+        cellBtn: true,
+        border: true,
+        searchMenuSpan: 8,
+        highlightCurrentRow: true,
+        $cellEdit:true,
         column: [
           {label: '闆嗗洟鍒嗙被', prop: 'sourceClassifyName', minWidth: 80},
           {label: '鎵�灞炶鍥�', prop: 'viewName', minWidth: 80},
@@ -175,17 +190,25 @@
           {
             label: '灞炴�у悕绉�',
             prop: 'targetAttrName',
-            minWidth: 80,
-          },
-          {
-            label: '榛樿鍊�',
-            prop: 'defaultValue',
-            minWidth: 140,
+            type: 'select',
             cell: true,
-            blur: (value) => window.handleBlur(value, 'mapping')
+            allowCreate: true,
+            filterable: true,
+            minWidth: 80,
+            props:{
+              label:'targetAttrName',
+              value:'targetAttrName'
+            },
+            dicData: this.targetNameList,
           },
+          // {
+          //   label: '榛樿鍊�',
+          //   prop: 'defaultValue',
+          //   minWidth: 140,
+          //   cell: true,
+          //   blur: (value) => window.handleBlur(value, 'mapping')
+          // },
         ],
-        ...options
       },
       // 涓绘暟鎹垎绫绘爲
       treeData: [],
@@ -231,7 +254,6 @@
   mounted() {
     let that = this
     window.handleBlur = that.handleBlur
-
   },
   computed: {
     filtermapping() {
@@ -242,9 +264,23 @@
         return obj.targetAttrName
       })
       return transfer
+    },
+    targetColumn() {
+      return this.optionMapping.column.find(column => column.prop === 'targetAttrName');
     }
   },
   methods: {
+    getTargetName(data) {
+      this.targetColumn.dicData = data.filter(item => item.name && item.name.trim() !== "") // 杩囨护鎺塶ame涓虹┖鐨勫睘鎬�
+        .map(item => {
+          return {
+            targetAttrId: item.oid,
+            targetAttrKey: item.id,
+            targetAttrName: item.name,
+            disabled:false
+          }
+        });
+    },
     // 鎺ュ彛宸︿晶鏍�
     async getReferCodeClassifyTree() {
       this.treeData = []
@@ -268,7 +304,13 @@
       if (response.status === 200) {
         this.loading = false
         this.mappingData = response.data.data
-        // console.log(this.filtermapping)
+
+        for (const item of this.mappingData){
+          if(item.targetAttrName && item.targetAttrId && item.targetAttrKey){
+            const targetObject = this.targetColumn.dicData.find(obj => obj.targetAttrName === item.targetAttrName);
+            targetObject.disabled = true;
+          }
+        }
       }
     },
     // 鎺ュ彛鑾峰彇灞炴�ф槧灏勫彇鍊艰寖鍥�
@@ -288,6 +330,7 @@
       if (response.status === 200) {
         const data = response.data.data
         this.transferData = data;
+        this.getTargetName(data)
         // console.log(data)
       }
     },
@@ -374,6 +417,16 @@
     },
     // 淇濆瓨鎸夐挳
     async handleSave() {
+      const getTargetCorresponding = (row) =>{
+        return this.targetColumn.dicData.find(column => column.targetAttrName === row.targetAttrName);
+      }
+      for (const item of this.mappingData) {
+        item.$cellEdit = false;
+        if(item.targetAttrName){
+          const { targetAttrId, targetAttrKey, targetAttrName } = await getTargetCorresponding(item);
+          Object.assign(item, { targetAttrId, targetAttrKey, targetAttrName });
+        }
+      }
       const response = await batchAddSave({dockingPreAttrMappingVOList: this.mappingData})
       if (response.status === 200) {
         this.$message({
@@ -481,13 +534,37 @@
       done();
     },
     // 灞炴�у彇鍊艰寖鍥村崟鍏冩牸缂栬緫鍚�
-    handleMapingUpdate(row, index, done) {
-      this.$message({
-        showClose: true,
-        message: "淇敼鎴愬姛",
-        type: "success",
-      });
-      done();
+    async handleMapingUpdate(row, index, done) {
+      const getTargetCorresponding = async (row) => {
+        return this.targetColumn.dicData.find(column => column.targetAttrName === row.targetAttrName);
+      };
+
+      try {
+        if (!row.targetAttrName) {
+          this.$message.warning('璇烽�夋嫨瑕佷繚瀛樼殑灞炴�у悕绉帮紒');
+          done();
+          return;
+        }
+
+        // 鑾峰彇鐩爣灞炴�т俊鎭�
+        const { targetAttrId, targetAttrKey, targetAttrName } = await getTargetCorresponding(row);
+
+        // 鏇存柊琛屾暟鎹�
+        Object.assign(row, { targetAttrId, targetAttrKey, targetAttrName });
+
+        const response = await batchAddSave({ dockingPreAttrMappingVOList: this.mappingData });
+
+        if (response.status === 200) {
+          this.$message({
+            type: "success",
+            message: "淇敼鎴愬姛!"
+          });
+        }
+      } catch (error) {
+        console.error('澶勭悊鏄犲皠鏇存柊鏃跺嚭閿欙細', error);
+      } finally {
+        done();
+      }
     },
     // 闆嗗洟鏄犲皠灞炴�ч�夋嫨锛堝崟閫夛級
     selectionChange(selection) {
@@ -536,5 +613,9 @@
   .el-transfer-panel {
     width: 270px;
   }
+  .el-scrollbar__view  {
+    height: 100px ;
+  }
 }
+
 </style>

--
Gitblit v1.9.3