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 |  177 +++++++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 117 insertions(+), 60 deletions(-)

diff --git a/Source/UBCS-WEB/src/views/integration/vciAttribute.vue b/Source/UBCS-WEB/src/views/integration/vciAttribute.vue
index c07974a..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,18 +27,36 @@
 <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',
         calcHeight: 20,
         headerAlign: "center",
         border: true,
-        // selection: true,
+        selection: true,
         tip: false,
         index: true,
         refreshBtn: false,
@@ -80,20 +111,36 @@
     }
   },
   created() {
-    const params = {
-      'conditionMap[groupAttrKey_like]': 'RY_',
-      page: this.page.currentPage,
-      limit: this.page.pageSize
-    }
-    this.onLoad(params)
+    this.onLoad()
     this.codeColumnOnload()
   },
   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) {
@@ -107,7 +154,11 @@
     selectChange(list) {
       this.selectList = list;
     },
-    async onLoad(params) {
+    async onLoad() {
+      const params = {
+        page: this.page.currentPage,
+        limit: this.page.pageSize
+      }
       getGroupAttrPoolALlList(params).then(res => {
         const data = res.data.data;
         this.data = data.records;
@@ -140,18 +191,24 @@
 
       // row.codeMetaAttrName鍥犱负涓嬫媺妗唙alue鍊煎師鍥犵粦瀹氫负codeMetaAttrOid
       let updataList = []
+      // console.log(this.ChangeName)
+      // console.log(row.codeMetaAttrName)
+      // if (this.ChangeName && this.ChangeName === row.codeMetaAttrName) {
+      //   updataList = this.codeMetaColumn.dicData.find(item => item.codeMetaAttrOid === row.codeMetaAttrOid)
+      // } else {
+      //   console.log('2')
+      //     updataList = this.codeMetaColumn.dicData.find(item => item.codeMetaAttrOid === row.codeMetaAttrName)
+      // }
+      updataList = this.codeMetaColumn.dicData.find(item => item.codeMetaAttrOid === row.codeMetaAttrName)
 
-      if (this.ChangeName && this.ChangeName === row.codeMetaAttrName) {
-        updataList = this.codeMetaColumn.dicData.find(item => item.codeMetaAttrOid === row.codeMetaAttrOid)
-      } else {
-        if (row.codeMetaAttrName !== "" && row.codeMetaAttrName) {
-          updataList = this.codeMetaColumn.dicData.find(item => item.codeMetaAttrOid === row.codeMetaAttrName)
-        }
-      }
       // 鍥犱负row閲岄潰鐨勫�兼槸涓嶆纭殑 閲嶆柊璧嬪�间竴閬�
       if (updataList) {
         const {codeMetaAttrOid, codeMetaAttrKey, codeMetaAttrName} = updataList;
-        Object.assign(row, {codeMetaAttrOid, codeMetaAttrKey, codeMetaAttrName});
+        Object.assign(row, {
+          codeMetaAttrOid: codeMetaAttrOid,
+          codeMetaAttrKey: codeMetaAttrKey.toLowerCase(),
+          codeMetaAttrName: codeMetaAttrName
+        });
       }
 
       const objet = {
@@ -162,6 +219,7 @@
         codeMetaAttrKey: row.codeMetaAttrKey,
         codeMetaAttrName: row.codeMetaAttrName
       }
+
       const response = await editGroupAttr([objet])
       if (response.data.success) {
         this.$message.success('淇濆瓨鎴愬姛锛�')
@@ -174,30 +232,41 @@
       } else {
         const hasTrueValue = this.selectList.some(item => !item.$cellEdit);
         if (hasTrueValue) {
-          this.$message.warning('璇峰紑鍚紪杈戝悗淇濆瓨锛�')
-        } else {
-          let saveList = []
-          for (const item of this.selectList) {
-            console.log(item)
-            const updataList = this.codeMetaColumn.dicData.find(p => p.codeMetaAttrOid === item.codeMetaAttrName);
-            const {codeMetaAttrOid, codeMetaAttrKey, codeMetaAttrName} = updataList;
-            Object.assign(item, {codeMetaAttrOid, codeMetaAttrKey, codeMetaAttrName});
-            console.log(updataList)
-            item.$cellEdit = false;
-            saveList.push({
-              oid: item.oid,
-              groupAttrKey: item.groupAttrKey,
-              groupAttrName: item.groupAttrName,
-              codeMetaAttrOid: item.codeMetaAttrOid,
-              codeMetaAttrKey: item.codeMetaAttrKey,
-              codeMetaAttrName: item.codeMetaAttrName
-            })
-          }
-          const response = await editGroupAttr(saveList)
-          if (response.data.success) {
-            this.$message.success('淇濆瓨鎴愬姛锛�')
-          }
+          this.$message.warning('璇峰紑鍚紪杈戝悗杩涜淇濆瓨锛�')
+          return
         }
+        const codeMetaInput = this.selectList.some(item => item.codeMetaAttrName === "");
+        if (codeMetaInput) {
+          this.$message.warning('璇锋鏌ュ凡鍕鹃�夋暟鎹腑鏄惁瀛樺湪鏈�夋嫨鐨勯」锛�');
+          return
+        }
+        let saveList = []
+        for (const item of this.selectList) {
+          const updataList = this.codeMetaColumn.dicData.find(column => column.codeMetaAttrOid === item.codeMetaAttrName);
+          if (updataList) {
+            const {codeMetaAttrOid, codeMetaAttrKey, codeMetaAttrName} = updataList;
+            Object.assign(item, {
+              codeMetaAttrOid: codeMetaAttrOid,
+              codeMetaAttrKey: codeMetaAttrKey.toLowerCase(),
+              codeMetaAttrName: codeMetaAttrName
+            });
+          }
+          item.$cellEdit = false;
+          saveList.push({
+            oid: item.oid,
+            groupAttrKey: item.groupAttrKey,
+            groupAttrName: item.groupAttrName,
+            codeMetaAttrOid: item.codeMetaAttrOid,
+            codeMetaAttrKey: item.codeMetaAttrKey,
+            codeMetaAttrName: item.codeMetaAttrName
+          })
+        }
+        const response = await editGroupAttr(saveList)
+        if (response.data.success) {
+          this.$message.success('淇濆瓨鎴愬姛锛�')
+          await this.onLoad()
+        }
+
       }
     },
     async syncHandler() {
@@ -214,32 +283,20 @@
         const response = await syncGroupAttrMapping(syncList)
         if (response.data.success) {
           this.$message.success(response.data.msg);
-          const params = {
-            'conditionMap[groupAttrKey_like]': 'RY_',
-            page: this.page.currentPage,
-            limit: this.page.pageSize
-          }
-          await this.onLoad(params)
+
+          await this.onLoad()
         }
       }
     },
     currentChange(currentPage) {
       this.page.currentPage = currentPage;
-      const params = {
-        'conditionMap[groupAttrKey_like]': 'RY_',
-        page: this.page.currentPage,
-        limit: this.page.pageSize
-      }
-      this.onLoad(params)
+
+      this.onLoad()
     },
     sizeChange(pageSize) {
       this.page.pageSize = pageSize;
-      const params = {
-        'conditionMap[groupAttrKey_like]': 'RY_',
-        page: this.page.currentPage,
-        limit: this.page.pageSize
-      }
-      this.onLoad(params)
+
+      this.onLoad()
     },
   }
 }

--
Gitblit v1.9.3