From a6649a3319e9f5e9260848872d8cddabfcfc7553 Mon Sep 17 00:00:00 2001
From: haoxuan <haoxuan>
Date: 星期三, 15 十一月 2023 10:42:55 +0800
Subject: [PATCH] Merge branch 'master' of ssh://192.168.5.5:29418/web/SRM

---
 src/views/other/commonDialog/SelectCommonDialog.vue |  101 ++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 77 insertions(+), 24 deletions(-)

diff --git a/src/views/other/commonDialog/SelectCommonDialog.vue b/src/views/other/commonDialog/SelectCommonDialog.vue
index cfe8f7b..2b2516f 100644
--- a/src/views/other/commonDialog/SelectCommonDialog.vue
+++ b/src/views/other/commonDialog/SelectCommonDialog.vue
@@ -28,10 +28,19 @@
             <el-button type="primary" size="mini" disabled>蹇�熷垱寤�</el-button> -->
           </div>
         </div>
-        <TableCommonView ref="tableListRef" :table-list="tableList" :select-box="false" @selCommonClick="selNameClick">
+        <TableCommonView 
+          ref="tableListRef"
+          :table-list="tableList"
+          :select-box="false" 
+          @selCommonClick="selNameClick"
+          @selTableCol="selTableCol"
+        >
         </TableCommonView>
         <div slot="footer" class="dialog-footer">
-          <div class="remark">璇存槑锛氭敮鎸佸瀛楁妯$硦鏌ヨ锛屼粎鏄剧ず绗﹀悎鏉′欢鐨勫墠5鏉℃暟鎹�</div>
+          <!-- <div class="remark">璇存槑锛氭敮鎸佸瀛楁妯$硦鏌ヨ锛屼粎鏄剧ず绗﹀悎鏉′欢鐨勫墠5鏉℃暟鎹�</div> -->
+          <div class="btn-pager">
+            <PagerView class="page" :pager-options="pagerOptions" v-on="pagerEvents" />
+          </div>
         </div>
       </div>
     </el-dialog>
@@ -39,9 +48,12 @@
 </template>
 
 <script>
-import { getProductListFromGrpc,getProductList } from "@/api/productManage/product"
+import { getProductListFromGrpc, getProductList } from "@/api/productManage/product"
+import pageMixin from "@/components/makepager/pager/mixin/pageMixin"
+
 export default {
   name: "EditSelCommonDialog",
+  mixins: [pageMixin],
   props: {
     editCommonConfig: {
       type: Object,
@@ -53,16 +65,16 @@
         }
       }
     },
-    sign:{
-      type:String,
-      default:''
+    sign: {
+      type: String,
+      default: ""
     }
   },
   components: {},
   computed: {},
   data() {
     return {
-      dialogWidth: "50%",
+      dialogWidth: "40%",
       editConfig: this.editCommonConfig,
       queryInput: "",
       select: "鍏ㄩ儴瀛楁",
@@ -74,7 +86,14 @@
       search_map: {},
       searchSel: {},
       keyword: "",
-      keywordType: ""
+      keywordType: "",
+      showProductCol: ["浜у搧鍚嶇О", "浜у搧缂栧彿"],
+      tableProductColumn: [
+        { label: "浜у搧鍚嶇О", prop: "name", isClick: true },
+        { label: "浜у搧缂栧彿", prop: "number" }
+      ],
+      showCol: [],
+      tableColumn: []
     }
   },
   created() {
@@ -82,17 +101,30 @@
     this.getData()
   },
   methods: {
+    setColumnVisible(showCol) {
+      return this.tableColumn.map((ele) => {
+        return {
+          ...ele,
+          isShowColumn: showCol.includes(ele.label)
+        }
+      })
+    },
     setTable() {
       if (this.editConfig.title === "浜у搧鍚嶇О") {
-        this.tableList = {
-          tableInfomation: [],
-          tableColumn: [
-            { label: "浜у搧鍚嶇О", prop: "name", isClick: true },
-            { label: "浜у搧缂栧彿", prop: "number" }
-          ]
-        }
-        this.searchSel = { value: "name", label: "浜у搧鍚嶇О" }
+        this.showCol = this.showProductCol
+        this.tableColumn = this.tableProductColumn
       }
+      this.tableList = {
+        tableInfomation: [],
+        selectIndex: true,
+        highlight: true,
+        ref: "tableListRef",
+        showcol: this.showCol,
+        allcol: [],
+        tableColumn: this.setColumnVisible(this.showCol)
+      }
+      this.tableList.allcol = this.tableList.tableColumn.filter((ele) => !ele.default).map((ele) => ele.label)
+
       this.searchOptions = []
       for (let i = 0; i < this.tableList.tableColumn.length; i++) {
         const label = this.tableList.tableColumn[i].label
@@ -100,6 +132,18 @@
         this.searchOptions.push({ value: value, label: label })
       }
     },
+    selTableCol(val) {
+      this.showcol = val;
+      this.tableList.tableColumn = this.setColumnVisible(val);
+    },
+    // setColumnVisible(showCol){
+    //   return  this.tableColumn.map(ele=>{
+    //     return {
+    //       ...ele,
+    //       isShowColumn:showCol.includes(ele.label)
+    //     }
+    //   })
+    // },
     // 璇锋眰鏁版嵁
     async getData() {
       this.loading = true
@@ -109,11 +153,12 @@
     },
     // 浜у搧鍚嶇О
     async getProductList() {
-      
-      let fn = this.sign == "purchase" ? getProductList : getProductListFromGrpc;
-      await  fn({
-        page: 1,
-        pageSize: 100
+      let fn = this.sign == "purchase" ? getProductList : getProductListFromGrpc
+      await fn({
+        productName: this.keywordType === "浜у搧鍚嶇О" ? this.keyword : "",
+        productNumber: this.keywordType === "浜у搧缂栧彿" ? this.keyword : "",
+        page: this.pagerOptions.currPage,
+        pageSize: this.pagerOptions.pageSize
       }).then((res) => {
         console.log(res.data)
         if (res.data.code === 200) {
@@ -123,7 +168,8 @@
                 ...item
               }
             })
-            this.tableList.tableInfomation = list.slice(0, 5) || []
+            this.tableList.tableInfomation = list
+            this.pagerOptions.totalCount = res.data.data.total
           } else {
             this.tableList.tableInfomation = []
           }
@@ -185,9 +231,16 @@
   cursor: pointer;
 }
 .dialog-footer {
-  height: 40px;
-  line-height: 40px;
+  height: 50px;
+  line-height: 50px;
   color: red;
+  .btn-pager {
+    display: flex;
+    margin-top: 0px;
+    .page {
+      margin-left: auto;
+    }
+  }
 }
 ::v-deep {
   .input-with-select .el-input-group__prepend {

--
Gitblit v1.8.0