From d68b036a3b3c67273b8effa3c9925ef3869a91ba Mon Sep 17 00:00:00 2001
From: haoxuan <haoxuan>
Date: 星期三, 07 二月 2024 13:56:50 +0800
Subject: [PATCH] wms项目 wms系统参数设置的页面开发+路由+是否显示表头配置

---
 src/views/reportForm/locationReport/index.vue |  337 ++++++++++++++++++++++++++++---------------------------
 1 files changed, 171 insertions(+), 166 deletions(-)

diff --git a/src/views/reportForm/locationReport/index.vue b/src/views/reportForm/locationReport/index.vue
index 3de4f88..378c2e4 100644
--- a/src/views/reportForm/locationReport/index.vue
+++ b/src/views/reportForm/locationReport/index.vue
@@ -1,64 +1,55 @@
+<!-- 浣嶇疆鎶ヨ〃 -->
 <template>
   <div class="rightContent">
     <div class="top">
-      <div>
-        <SearchCommonView
-          :add-title="'鏂板缓'"
-          :showAdd="true"
-          :placeholder="'璇疯緭鍏ュ弬鑰�'"
-          :amount-view="false"
-          @addCommonClick="addBtnClick"
-          @searchClick="getList"
-        />
-      </div>
+      <SearchCommonView
+        :add-title="'鏂板缓'"
+        :showAdd="false"
+        :placeholder="'璇疯緭鍏ヤ綅缃悕绉般�佷骇鍝佸悕绉版垨浜у搧绫诲埆'"
+        :amount-view="false"
+        @addCommonClick="addBtnClick"
+        @searchClick="getList"
+        :isDisabled="true"
+      />
     </div>
     <div class="list-view">
-      <TableCommonView
-        ref="tableListRef"
-        :table-list="tableList"
-        @selTableCol="selTableCol"
-        @tableRowClick="tableRowClick"
-      >
-        <template slot="tableButton">
-          <el-table-column
-            label="鎿嶄綔"
-            width="210"
-            align="center"
-          >
-            <template slot-scope="scope">
-              <span @click="handleHistoryClick(scope.row)">
-                <i class="el-icon-refresh-left"></i>
-                <span>鍘嗗彶</span>
-              </span>
-              <span @click="handleAddGoods(scope)" class="margin_left_5px">
-                <i class="el-icon-refresh"></i>
-                <span>琛ヨ揣</span>
-              </span>
-            </template>
-          </el-table-column>
-        </template>
-      </TableCommonView>
+      <div class="table">
+        <TableCommonView
+          ref="tableListRef"
+          :table-list="tableList"
+          @selTableCol="selTableCol"
+          @tableRowClick="tableRowClick"
+          :showSummary="true"
+        >
+          <template slot="tableButton">
+            <el-table-column label="鎿嶄綔" width="210" align="center">
+              <template slot-scope="scope">
+                <span @click="handleHistoryClick(scope.row)" class="yes-cursor">
+                  <i class="el-icon-refresh-left"></i>
+                  <span>鍘嗗彶</span>
+                </span>
+                <span @click="handleAddGoods(scope.row)" class="margin_left_5px">
+                  <i class="el-icon-refresh"></i>
+                  <span>琛ヨ揣</span>
+                </span>
+              </template>
+            </el-table-column>
+          </template>
+        </TableCommonView>
+      </div>
       <div class="btn-pager">
-        <PagerView
-          class="page"
-          :pager-options="pagerOptions"
-          v-on="pagerEvents"
-        />
+        <PagerView class="page" :pager-options="pagerOptions" v-on="pagerEvents" />
       </div>
     </div>
     <!-- 缂栬緫 -->
-    <AddOverviewDialog
-      v-if="editConfig.visible"
-      :edit-common-config="editConfig"
-      :add-name="this.$route.params.name"
-    />
+    <AddOverviewDialog v-if="editConfig.visible" :edit-common-config="editConfig" :add-name="this.$route.params.name" />
   </div>
 </template>
 
 <script>
-import pageMixin from "@/components/makepager/pager/mixin/pageMixin";
-import { getProductOperatonList } from "@/api/product/product";
-import AddOverviewDialog from "@/views/overview/AddOverviewDialog";
+import pageMixin from "@/components/makepager/pager/mixin/pageMixin"
+import { getLocationData } from "@/api/locationApi/locationApi"
+import AddOverviewDialog from "@/views/overview/AddOverviewDialog"
 
 export default {
   name: "InventoryReport",
@@ -69,216 +60,230 @@
   data() {
     return {
       tableList: {},
-      showcol: ["瀛樺偍绫诲埆", "浜у搧绫诲埆", "棰勭暀鏁伴噺", "浠峰��"],
+      showcol: [ "浜у搧绫诲埆",  "浠峰��"],
+      // countcol: [
+      //   { label: "鍦ㄥ簱鏁伴噺", unit: "" },
+      //   { label: "棰勭暀鏁伴噺", unit: "" },
+      //   { label: "浠峰��", unit: "锟�" },
+      // ],
+      countcol: ["鍦ㄥ簱鏁伴噺", "棰勭暀鏁伴噺", "浠峰��"],
       testArr: [
         {
-          product:"HC/閿�鍞尯/b鍖�",
-          category:"涓濈桓鍒跺搧/鐪熶笣鐫¤",
-          cost:"800.00",
-          totalPrices:"0.00",
-          inStore:"0.00",
-          availableStore:"0.00",
-          inStorage:"0.00",
-          toStore:"0.00",
-          forecast:"0.00",
-          unit:"浠�"
+          product: "HC/閿�鍞尯/b鍖�",
+          category: "涓濈桓鍒跺搧/鐪熶笣鐫¤",
+          cost: "800.00",
+          totalPrices: "2000.00",
+          inStore: "00.00",
+          availableStore: "200.00",
+          inStorage: "00.00",
+          toStore: 65432.0,
+          forecast: "0.00",
+          unit: "浠�"
         },
         {
-          product:"HC閿�鍞尯/A鍖�",
-          category:"涓濈桓鍒跺搧/鐪熶笣鐫¤",
-          cost:"9980.00",
-          totalPrices:"0.00",
-          inStore:"0.00",
-          availableStore:"0.00",
-          inStorage:"0.00",
-          toStore:"0.00",
-          forecast:"0.00",
-          unit:"浠�"
-        },
+          product: "HC閿�鍞尯/A鍖�",
+          category: "涓濈桓鍒跺搧/閲戜笣鐫¤",
+          cost: "9980.00",
+          totalPrices: "00.00",
+          inStore: "00.00",
+          availableStore: "20.00",
+          inStorage: "0.00",
+          toStore: 32618.0,
+          forecast: "0.00",
+          unit: "浠�"
+        }
       ],
       searchOptions: [],
       commonDetail: {
         visible: false,
         title: "鏂板缓",
-        infomation: {},
+        infomation: {}
       },
       editConfig: {
         visible: false,
         title: "鏂板缓",
-        infomation: {},
+        infomation: {}
       },
       productId: this.$route.params.id,
       productName: this.$route.params.name,
-    };
+      metaTitle: this.$route.meta.title,
+      keyWord:''
+    }
   },
   created() {
-    this.setTable();
-    // this.getData();
+    this.setTable()
+    this.getData()
   },
   methods: {
     setTable() {
       this.tableList = {
-        tableInfomation:[],
-        selectBox: true,
+        tableInfomation: [],
+        selectBox: false,
+        selectIndex: true,
         showcol: this.showcol,
+        countcol: this.countcol,
         allcol: [],
-        tableColumn: this.setTableColumn(this.showcol),
-      };
-      let allcol = [];
+        tableColumn: this.setTableColumn(this.showcol)
+      }
+      let allcol = []
       for (let i = 0; i < this.tableList.tableColumn.length; i++) {
         if (!this.tableList.tableColumn[i].default) {
-          const label = this.tableList.tableColumn[i].label;
-          allcol.push(label);
+          const label = this.tableList.tableColumn[i].label
+          allcol.push(label)
         }
       }
-      this.tableList.allcol = allcol;
-      this.tableList.tableInfomation=this.testArr
+      this.tableList.allcol = allcol
     },
     setTableColumn(showcol) {
       let tableColumn = [
-        /* 
-          product:"鍗楁柟涓濆发xxx",
-          category:"涓濈桓鍒跺搧/鐪熶笣鐫¤",
-          cost:"800.00",
-          totalPrices:"0.00",
-          inStore:"0.00",
-          availableStore:"0.00",
-          inStorage:"0.00",
-          toStore:"0.00",
-          forecast:"0.00",
-          unit:"浠�"
-        */
         {
           label: "浣嶇疆",
-          prop: "product",
-          isShowColumn: true,
+          prop: "locationName",
           default: true,
+          isShowColumn: true
         },
 
         {
           label: "瀛樺偍绫诲埆",
           prop: "category",
-          isShowColumn: true,
           default: false,
-          isShowColumn: showcol.includes("瀛樺偍绫诲埆"),
+          isShowColumn: showcol.includes("瀛樺偍绫诲埆")
         },
         {
           label: "浜у搧",
-          prop: "cost",
-          isShowColumn: true,
+          prop: "productName",
           default: true,
+          isShowColumn: true
         },
         {
           label: "浜у搧绫诲埆",
-          prop: "totalPrices",
-          isShowColumn: true,
+          prop: "productTypeName",
           default: false,
-          isShowColumn: showcol.includes("浜у搧绫诲埆"),
+          isShowColumn: showcol.includes("浜у搧绫诲埆")
         },
         {
           label: "鍦ㄥ簱鏁伴噺",
-          prop: "inStore",
+          width:100,
+          prop: "amount",
           isShowColumn: true,
           default: true,
+          unit: "",
+          textAlign:"right"
         },
         {
           label: "棰勭暀鏁伴噺",
           prop: "availableStore",
-          // isShowColumn: true,
           default: false,
           isShowColumn: showcol.includes("棰勭暀鏁伴噺"),
+          unit: "",
+          textAlign:"right"
         },
         {
           label: "鍗曚綅",
           prop: "unit",
-          isShowColumn: true,
-          default: true,
+          width: 120,
+          default: false,
+          isShowColumn: showcol.includes("鍗曚綅")
         },
         {
           label: "浠峰��",
-          prop: "toStore",
+          prop: "value",
           width: 120,
           default: false,
-          // status: true,
-          // isCallMethod: true,
-          // getCallMethod: this.getStatus,
           isShowColumn: showcol.includes("浠峰��"),
-        },
-      ];
-      return tableColumn;
+          textAlign:"right",
+          unit: "锟�"
+        }
+      ]
+      return tableColumn
     },
     selTableCol(val) {
-      this.showcol = val;
-      this.tableList.tableColumn = this.setTableColumn(val);
+      this.showcol = val
+      this.tableList.tableColumn = this.setTableColumn(val)
     },
     // 璇锋眰鏁版嵁
-    // async getData() {
-    //   await getProductOperatonList({
-    //     productId: this.productId,
-    //     page: this.pagerOptions.currPage,
-    //     pageSize: this.pagerOptions.pageSize,
-    //   }).then((res) => {
-    //     if (res.code === 200) {
-    //       const list = res.data.map((item) => {
-    //         return {
-    //           ...item,
-    //           from: item.fromLocation.name,
-    //           to: item.toLocation.name,
-    //           productName: this.productName,
-    //         };
-    //       });
-    //       this.tableList.tableInfomation = list || [];
-    //       this.pagerOptions.totalCount = res.total;
-    //     }
-    //   });
-    // },
+    async getLocationData(params) {
+      await getLocationData(params).then((res) => {
+        if (res.code === 200) {
+          const list = res.data
+          this.tableList.tableInfomation = list || []
+          this.pagerOptions.totalCount = res.total
+        }
+      })
+    },
+    getData() {
+      if(this.$route.params.name==="搴撳瓨鎶ヨ〃"){
+        this.getLocationData({
+        wareHouseCode:this.$route.params.wareHouseCode,
+        productId:this.$route.params.productId,
+        page: this.pagerOptions.currPage,
+        pageSize: this.pagerOptions.pageSize
+      })
+      }else{
+        let params={
+          page: this.pagerOptions.currPage,
+          pageSize: this.pagerOptions.pageSize,
+          keyWord:this.keyWord,
+        }
+        if(this.$route.params.locationId){
+          params.locationId=this.$route.params.locationId
+        }
+        this.getLocationData(params)
+      }
+    },
 
     // 鎼滅储
     getList(val) {
-      console.log(val);
+      this.keyWord=val
+      this.pagerOptions.currPage=1
+      this.pagerOptions.pageSize=15
+      this.getData()
     },
     // 琛岀偣鍑�
     tableRowClick(row) {
-      console.log(row);
-      this.editConfig.visible = true;
-      this.editConfig.title = "鏌ョ湅";
-      this.editConfig.infomation = { ...row };
+      console.log(row)
+      // this.editConfig.visible = true;
+      this.editConfig.title = "鏌ョ湅"
+      this.editConfig.infomation = { ...row }
     },
     // 鏂板缓
     addBtnClick() {
-      this.editConfig.visible = true;
-      this.editConfig.title = "鏂板缓";
+      this.editConfig.visible = true
+      this.editConfig.title = "鏂板缓"
+      this.getData()
     },
     // 鐘舵��
     getStatus(val) {
-      return val === 1 ? "鑽夌" : val === 3 ? "灏辩华" : "瀹屾垚";
+      return val === 1 ? "鑽夌" : val === 3 ? "灏辩华" : "瀹屾垚"
     },
     // 鍘嗗彶
-    handleHistoryClick(){
-
+    handleHistoryClick(row) {
+      console.log(row)
+      this.$router.push({
+        name: "outEnterLibrary",
+        params: {
+          keyWord:row.productName,
+          produceId:row.produceId,
+          productName:row.productName,
+          unit:row.unit,
+          name: "鎶ヨ〃"
+        }
+      })
     },
     // 琛ヨ揣
-    handleAddGoods(){
-
+    handleAddGoods(row) {
+      this.$router.push({
+        name: 'orderPoint',
+        params:{
+          locationId:row.locationId,
+          locationName:row.locationName
+        }
+      })
     }
-  },
-};
+  }
+}
 </script>
 
 <!-- Add "scoped" attribute to limit CSS to this component only -->
 <style lang="scss" scoped>
-.rightContent {
-  height: 100%;
-  background: #e6ecf2;
-  padding: 10px;
-// .top {
-//   margin-bottom: 20px;
-//   height: 60px;
-//   background: #fff;
-//   border-radius: 8px;
-// }
-  .list-view {
-    height: calc(100% - 150px);
-  }
-}
 </style>

--
Gitblit v1.8.0