From 327b3157bb7e155d3333017bc2ddd66611ea06a9 Mon Sep 17 00:00:00 2001
From: yangfeng <wanwan926_4@163.com>
Date: 星期二, 26 九月 2023 19:34:11 +0800
Subject: [PATCH] 库存调整、上架规则

---
 src/views/warehouseManage/listingRules/index.vue |  235 +++++++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 158 insertions(+), 77 deletions(-)

diff --git a/src/views/warehouseManage/listingRules/index.vue b/src/views/warehouseManage/listingRules/index.vue
index 1b6f8c0..ee066a3 100644
--- a/src/views/warehouseManage/listingRules/index.vue
+++ b/src/views/warehouseManage/listingRules/index.vue
@@ -2,57 +2,74 @@
   <div class="rightContent">
     <div class="top">
       <SearchCommonView
-        :add-title="'鏂板缓'"
-        :placeholder="'璇疯緭鍏ュ崟鍙�'"
+        :add-title="addTitle"
+        :show-discard="showDiscard"
+        :placeholder="'璇疯緭鍏ヤ綅缃�/浜у搧'"
         :amount-view="false"
-        @addCommonClick="addBtnClick"
+        @addCommonClick="addProductClick"
         @searchClick="getList"
+        @discardBtnClick="discardBtnClick"
+        @applyBtnClick="applyBtnClick"
       />
     </div>
     <div class="list-view">
       <div class="table">
-        <TableCommonView
-          ref="tableListRef"
-          :table-list="tableList"
-          :show-checkcol="false"
+        <CommonFormTableView
+          :islistingrules="true"
+          :product-table-list="tableList"
+          @inputContent="inputContent"
           @tableRowClick="tableRowClick"
-        ></TableCommonView>
+        >
+        </CommonFormTableView>
       </div>
       <div class="btn-pager">
         <PagerView class="page" :pager-options="pagerOptions" v-on="pagerEvents" />
       </div>
     </div>
-    <!-- 鏂板缓/缂栬緫 -->
-    <AddDialog
-      v-if="editConfig.visible"
-      @refresh="refresh"
-      :positionList="tableList.tableInfomation"
-      :edit-common-config="editConfig"
-    />
   </div>
 </template>
 
 <script>
+import CommonFormTableView from "@/components/makepager/CommonFormTableView"
 import pageMixin from "@/components/makepager/pager/mixin/pageMixin"
 import { getLocationList } from "@/api/warehouseManage/warehouse"
-import AddDialog from "@/views/warehouseManage/position/AddDialog"
-import { getDataByType } from "@/api/data"
 export default {
-  name: "ListingRules",
+  name: "listingRules",
   props: {},
-  components: { AddDialog },
+  components: { CommonFormTableView },
   mixins: [pageMixin],
   computed: {},
   data() {
     return {
+      addTitle: "鏂板缓",
+      showDiscard: false,
       tableList: {},
+      tableData: [
+        {
+          location: "HC/閿�鍞尯",
+          productName: "澶忓鐪熶笣鍚婂甫瑁�",
+          amount: "0.00",
+          unit: "浠�",
+          count: "0.00",
+          date: "2023-12-31",
+          user: "绠$悊鍛�",
+          isSet: true,
+          isEdit: true
+        },
+        {
+          location: "HM/閿�鍞尯",
+          productName: "澶忓鐪熶笣鍚婂甫瑁�",
+          productCategory: "",
+          subLocation: "A鍖�",
+          companyName: "璐濇�濈",
+          isSet: true,
+          isEdit: true
+        }
+      ],
       searchOptions: [],
-      editConfig: {
-        visible: false,
-        title: "鏂板缓",
-        infomation: {}
-      },
-      positionTypeList: getDataByType("positionType")
+      countId: 0,
+      isNoProduct: true, // 娣诲姞鏄庣粏琛屾椂鏄惁鏈変骇鍝佹湭閫夋嫨
+      isRowClick: false
     }
   },
   created() {
@@ -62,55 +79,131 @@
   methods: {
     setTable() {
       this.tableList = {
-        tableInfomation: [],
+        tableData: this.tableData,
         selectBox: true,
-        showcol: this.showcol,
-        allcol: [],
-        tableColumn: this.setTableColumn(this.showcol)
+        tableColumn: [
+          { label: "褰撲骇鍝佸埌杈�", prop: "location", location: true },
+          { label: "浜у搧", prop: "productName", product: true },
+          // { label: "浜у搧绫诲埆", prop: "productCategory", productCategory: true },
+          { label: "瀛樺偍鍒板瓙浣嶇疆", prop: "subLocation", location: true },
+          { label: "鍏徃", prop: "companyName", company: true }
+        ]
       }
-      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)
-        }
-      }
-      this.tableList.allcol = allcol
     },
-    setTableColumn(showcol) {
-      console.log(showcol)
-      let tableColumn = [
-        {
-          label: "浣嶇疆",
-          prop: "jointName",
-          isShowColumn: true,
-          default: true
-        },
-        {
-          label: "浣嶇疆绫诲瀷",
-          prop: "type",
-          isShowColumn: true,
-          default: true,
-          conversion: true,
-          getStatus: this.getTypesList
+    // 鎿嶄綔杈撳叆
+    inputContent(val, prop, row) {
+      this.countId = row.countId
+      this.tableData.map((item) => {
+        if (item.countId === row.countId) {
+          item[prop] = val
         }
-      ]
-      return tableColumn
+      })
     },
-    getTypesList(val) {
-      let string = "--"
-      if (val) {
-        for (let i in this.positionTypeList) {
-          if (this.positionTypeList[i].id == val) {
-            return this.positionTypeList[i].name
+    // 鏂板
+    addProductClick() {
+      console.log(this.tableData)
+      this.isSel()
+      if (this.isNoProduct && this.addTitle === "鏂板缓") {
+        this.addTitle = "淇濆瓨"
+        this.showDiscard = true
+        this.isRowClick = false
+        this.countId++
+        this.tableData.push({
+          countId: this.countId,
+          productId: "",
+          location: 0,
+          subLocation: "",
+          productName: "",
+          companyName: "",
+          isSet: true,
+          isEdit: false
+        })
+      } else if (this.isNoProduct && this.addTitle === "淇濆瓨") {
+        this.addTitle = "鏂板缓"
+        this.showDiscard = false
+        this.tableData.map((item) => {
+          item.isEdit = true
+          console.log(item)
+          if (typeof item.location === "object") {
+            item.location = item.location.name
           }
+          if (typeof item.subLocation === "object") {
+            item.location = item.subLocation.name
+          }
+        })
+      }
+    },
+    // 鏄惁閫夋嫨浜у搧
+    isSel() {
+      for (let i = 0; i < this.tableData.length; i++) {
+        if (this.tableData[i].productName.length === 0) {
+          this.isNoProduct = false
+          break
+        } else {
+          this.isNoProduct = true
         }
       }
-      return string
     },
-    selTableCol(val) {
-      this.showcol = val
-      this.tableList.tableColumn = this.setTableColumn(val)
+    // 鍙栨秷
+    discardBtnClick() {
+      if (this.isRowClick) {
+        this.tableData.map((item) => {
+          item.isEdit = true
+        })
+      } else {
+        this.tableData.splice(this.tableData.length - 1, 1)
+      }
+      this.addTitle = "鏂板缓"
+      this.showDiscard = false
+    },
+    // 搴旂敤鍏ㄩ儴
+    applyBtnClick() {
+      console.log("搴旂敤鍏ㄩ儴")
+    },
+    // 鍘嗗彶
+    handleHistoryClick(row) {
+      this.isSel()
+      console.log(row)
+      if (this.isNoProduct) {
+        console.log("鍘嗗彶")
+        this.$router.push({
+          name: "inventoryAdjustmentHistory",
+          params: { id: row.id }
+        })
+      }
+    },
+    // 璁剧疆
+    handleSetClick(scope) {
+      this.isSel()
+      if (this.isNoProduct) {
+        scope.row.isSet = !scope.row.isSet
+      }
+    },
+    // 搴旂敤
+    handleUseClick(scope) {
+      scope.row.isSet = !scope.row.isSet
+    },
+    // 娓呴櫎
+    handleCleanupClick(scope) {
+      scope.row.isSet = !scope.row.isSet
+    },
+    // 琛岀偣鍑�
+    tableRowClick(row, rowIndex) {
+      console.log(row, rowIndex)
+      this.addTitle = "淇濆瓨"
+      this.showDiscard = true
+      this.isRowClick = true
+      this.isSel()
+      if (!this.isNoProduct) {
+        this.tableData.splice(this.tableData.length - 1, 1)
+      }
+      this.tableData.map((item, index) => {
+        if (index === rowIndex) {
+          item.isEdit = false
+        } else {
+          item.isEdit = true
+        }
+      })
     },
     // 璇锋眰鏁版嵁
     async getData() {
@@ -126,23 +219,11 @@
         }
       })
     },
-    refresh() {
-      this.pagerOptions.currPage = 1
-      this.getData()
-    },
     // 鎼滅储
     getList(val) {
       this.keyword = val
       this.pagerOptions.currPage = 1
       this.getData()
-    },
-    // 琛岀偣鍑�
-    tableRowClick(row) {
-      console.log(row)
-      this.editConfig.title = "缂栬緫"
-      this.editConfig.infomation = { ...row }
-      this.editConfig.infomation.parentId = Number(this.editConfig.infomation.parentId)
-      this.editConfig.visible = true
     },
     // 鏂板缓
     addBtnClick() {

--
Gitblit v1.8.0