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