From aee67ef5bf2e57a148bfded1cb986378e35e7e01 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期四, 18 四月 2024 00:49:22 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 Source/UBCS-WEB/src/views/integration/vciAttribute.vue     |   58 +++++++++++++++++++++++++++-
 Source/UBCS-WEB/src/views/integration/integrationIndex.vue |   36 ++++++++++++------
 2 files changed, 79 insertions(+), 15 deletions(-)

diff --git a/Source/UBCS-WEB/src/views/integration/integrationIndex.vue b/Source/UBCS-WEB/src/views/integration/integrationIndex.vue
index 5cb52d3..083d865 100644
--- a/Source/UBCS-WEB/src/views/integration/integrationIndex.vue
+++ b/Source/UBCS-WEB/src/views/integration/integrationIndex.vue
@@ -59,16 +59,17 @@
                 <!--                <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 v-if="permissionList.saveBtn" icon="el-icon-check" size="small" type="primary"
+                           @click="handleSave">淇� 瀛�
                 </el-button>
-                <el-button icon="el-icon-connection" size="small" type="primary"
-                           @click="handleSync('all')">鍚屾涓绘ā鍨�
+                <el-button v-if="permissionList.allSyncBtn" icon="el-icon-connection" size="small"
+                           type="primary" @click="handleSync('all')">鍚屾涓绘ā鍨�
                 </el-button>
-                <el-button icon="el-icon-connection" size="small" type="primary"
-                           @click="handleSync('one')">鍚屾璇︾粏妯″瀷
+                <el-button v-if="permissionList.oneSyncBtn" icon="el-icon-connection" size="small"
+                           type="primary" @click="handleSync('one')">鍚屾璇︾粏妯″瀷
                 </el-button>
-                <el-button icon="el-icon-coordinate" size="small" type="primary"
-                           @click="handlerAuto">鑷姩濉厖
+                <el-button v-if="permissionList.autoBtn" icon="el-icon-coordinate" size="small"
+                           type="primary" @click="handlerAuto">鑷姩濉厖
                 </el-button>
               </template>
             </avue-crud>
@@ -78,8 +79,8 @@
                        @row-update="handleUpdate"
                        @row-dblclick="handleRowClick">
               <template slot="menuLeft">
-                <el-button icon="el-icon-coordinate" size="small" type="primary"
-                           @click="handlerBottomAuto">鑷姩濉厖
+                <el-button v-if="permissionList.bottomAutoBtn" icon="el-icon-coordinate" size="small"
+                           type="primary" @click="handlerBottomAuto">鑷姩濉厖
                 </el-button>
               </template>
             </avue-crud>
@@ -94,6 +95,7 @@
 <script>
 import integrationTransfer from './integrationTransfer.vue'
 import pinyin from 'js-pinyin'
+import {mapGetters} from "vuex";
 import {
   referCodeClassifyTree,
   referTree,
@@ -281,7 +283,17 @@
     },
     targetColumn() {
       return this.optionMapping.column.find(column => column.prop === 'targetAttrName');
-    }
+    },
+    ...mapGetters(["permission"]),
+    permissionList() {
+      return {
+        allSyncBtn: this.vaildData(this.permission.integration.integration_allSync, false),
+        autoBtn: this.vaildData(this.permission.integration.integration_auto, false),
+        bottomAutoBtn: this.vaildData(this.permission.integration.integration_bottomAuto, false),
+        oneSyncBtn: this.vaildData(this.permission.integration.integration_oneSync, false),
+        saveBtn: this.vaildData(this.permission.integration.integration_save, false),
+      }
+    },
   },
   methods: {
     handlerAuto() {
@@ -314,7 +326,7 @@
               }
             })
           })
-          this.$message.success('濉厖鎴愬姛锛�');
+          this.$message.success('鑷姩濉厖鎴愬姛锛岃纭灞炴�у悗鐐瑰嚮淇濆瓨锛�');
         })
         .catch(error => {
           console.log(error)
@@ -337,7 +349,7 @@
             }
           })
         })
-
+        this.$message.success('鑷姩濉厖鎴愬姛锛岃纭灞炴�у悗鐐瑰嚮淇濆瓨锛�')
       })
     },
     calculateSimilarity(str1, str2) {
diff --git a/Source/UBCS-WEB/src/views/integration/vciAttribute.vue b/Source/UBCS-WEB/src/views/integration/vciAttribute.vue
index 24e1a38..33230eb 100644
--- a/Source/UBCS-WEB/src/views/integration/vciAttribute.vue
+++ b/Source/UBCS-WEB/src/views/integration/vciAttribute.vue
@@ -4,8 +4,21 @@
                @size-change="sizeChange" @row-dblclick="handleRowClick" @row-update="handleUpdate"
                @selection-change="selectChange">
       <template slot="menuLeft">
-        <el-button plain size="small" type="success" @click="savaHandler">淇濆瓨</el-button>
-        <el-button plain size="small" type="primary" @click="syncHandler">鍚屾</el-button>
+        <el-button v-if="permissionList.saveBtn" plain size="small" type="success" @click="savaHandler">淇濆瓨</el-button>
+        <el-button v-if="permissionList.syncBtn" plain size="small" type="primary" @click="syncHandler">鍚屾</el-button>
+        <span style="width: 200px;display: inline-block">
+                <el-select slot="prepend" v-model="searchSelect" placeholder="璇烽�夋嫨" size="small">
+                <el-option v-for="item in searchData" :key="item.prop" :label="item.label" :value="item.prop"
+                ></el-option>
+              </el-select>
+            </span>
+        <span style="margin-left: 5px">
+                 <el-input v-model="searchValue" class="attrSearch" clearable placeholder="璇疯緭鍏ュ唴瀹�"
+                           prefix-icon="el-icon-search"
+                           size="small" type="text"></el-input>
+              <el-button v-if="permissionList.searchBtn" icon="el-icon-search" plain size="small" type="primary"
+                         @click="searchHandler">&nbsp;鎼滅储</el-button>
+              </span>
       </template>
     </avue-crud>
   </basic-container>
@@ -14,11 +27,29 @@
 <script>
 import {getGroupAttrPoolALlList, editGroupAttr, syncGroupAttrMapping} from '@/api/vciAttrbute'
 import {getPage} from "@/api/omd/OmdAttribute";
+import {mapGetters} from "vuex";
 
 export default {
   name: "vciAttribute",
   data() {
     return {
+      searchSelect: "groupAttrKey",
+      searchValue: '',
+      searchData: [
+        {
+          label: "闆嗗洟灞炴�х紪鍙�",
+          prop: "groupAttrKey",
+          align: "left",
+          display: false,
+          width: 200,
+          required: true
+        }, {
+          label: "闆嗗洟灞炴�у悕绉�",
+          prop: "groupAttrName",
+          align: "left",
+          display: false
+        }
+      ],
       data: [],
       options: {
         height: 'auto',
@@ -86,9 +117,30 @@
   computed: {
     codeMetaColumn() {
       return this.options.column.find(column => column.prop === 'codeMetaAttrName');
-    }
+    },
+    ...mapGetters(["permission"]),
+    permissionList() {
+      return {
+        saveBtn: this.vaildData(this.permission.vciAttribute.attribute_save, false),
+        syncBtn: this.vaildData(this.permission.vciAttribute.attribute_sync, false),
+        searchBtn: this.vaildData(this.permission.vciAttribute.attribute_search, false),
+      }
+    },
   },
   methods: {
+    searchHandler() {
+      console.log(this.searchSelect)
+      const params = {
+        [`conditionMap[${this.searchSelect}_like]`]: this.searchValue,
+        page: this.page.currentPage,
+        limit: this.page.pageSize
+      }
+      getGroupAttrPoolALlList(params).then(res => {
+        const data = res.data.data;
+        this.data = data.records;
+        this.page.total = data.total;
+      })
+    },
     codeMetaDis() {
       for (const item of this.data) {
         if (item.codeMetaAttrOid && item.codeMetaAttrKey && item.codeMetaAttrName) {

--
Gitblit v1.9.3