From 1888b426ff2b6a529f5fdef0f0453dadef71824b Mon Sep 17 00:00:00 2001 From: haoxuan <haoxuan> Date: 星期三, 17 四月 2024 10:17:38 +0800 Subject: [PATCH] 隐藏多单位的问题 --- src/views/operate/inventoryAdjustment/index.vue | 288 ++++++++++++++++++++++++++++++++++++++------------------- 1 files changed, 191 insertions(+), 97 deletions(-) diff --git a/src/views/operate/inventoryAdjustment/index.vue b/src/views/operate/inventoryAdjustment/index.vue index 9f6346e..90897a0 100644 --- a/src/views/operate/inventoryAdjustment/index.vue +++ b/src/views/operate/inventoryAdjustment/index.vue @@ -4,7 +4,7 @@ <SearchCommonView :add-title="addTitle" :show-discard="showDiscard" - :show-apply="true" + :show-apply="false" :placeholder="'璇疯緭鍏ヤ綅缃�/浜у搧'" :amount-view="false" @addCommonClick="addProductClick" @@ -16,31 +16,34 @@ <div class="list-view"> <div class="table"> <CommonFormTableView - :isinventory="true" + ref="tablelistRef" + :isOperateAdd="false" :product-table-list="tableList" @inputContent="inputContent" + @selLocationClick="selLocationClick" + @selProductClick="selProductClick" @tableRowClick="tableRowClick" > <template slot="tableButton"> - <el-table-column label="鎿嶄綔" width="180" fixed="right" align="center"> + <el-table-column label="鎿嶄綔" width="180" align="center"> <template slot-scope="scope"> - <span @click="handleHistoryClick(scope.row)"> + <span v-if="scope.row.isEdit" @click.stop="handleHistoryClick(scope.row)" class="yes-cursor"> <i class="el-icon-refresh-left"></i> <span>鍘嗗彶</span> </span> - <span v-if="scope.row.isSet" @click="handleSetClick(scope)" class="margin_left_5px"> + <!-- <span v-if="scope.row.isSet" @click="handleSetClick(scope)" class="margin_left_5px"> <i class="el-icon-setting"></i> <span>璁剧疆</span> - </span> - <template v-else> - <span @click="handleUseClick(scope)" class="margin_left_5px"> + </span> --> + <template v-if="scope.row.status === 3"> + <span @click.stop="handleUseClick(scope.row)" class="margin_left_5px"> <i class="el-icon-document"></i> <span>搴旂敤</span> </span> - <span @click="handleCleanupClick(scope)" class="margin_left_5px"> + <!-- <span @click="handleCleanupClick(scope)" class="margin_left_5px"> <i class="el-icon-delete"></i> <span>娓呴櫎</span> - </span> + </span> --> </template> </template> </el-table-column> @@ -57,7 +60,15 @@ <script> import CommonFormTableView from "@/components/makepager/CommonFormTableView" import pageMixin from "@/components/makepager/pager/mixin/pageMixin" -import { getLocationList } from "@/api/warehouseManage/warehouse" +import { + getInventoryAdjustmentList, + addInventoryAdjustment, + updateInventoryAdjustment, + finishInventoryAdjustment, + getLocationProductAmount +} from "@/api/operate/inventoryAdjustment" +import { currentTime } from "@/common/config/index" + export default { name: "InventoryAdjustment", props: {}, @@ -69,23 +80,17 @@ addTitle: "鏂板缓", showDiscard: false, tableList: {}, - tableData: [ - { - location: "HC/閿�鍞尯", - productName: "澶忓鐪熶笣鍚婂甫瑁�", - amount: "0.00", - unit: "浠�", - count: "0.00", - date: "2023-12-31", - user: "绠$悊鍛�", - isSet: true, - isEdit: true - } - ], + tableData: [], searchOptions: [], countId: 0, isNoProduct: true, // 娣诲姞鏄庣粏琛屾椂鏄惁鏈変骇鍝佹湭閫夋嫨 - isRowClick: false + isRowClick: false, + locationId: 0, + productId: 0, + differenceAmount: 0, + amount: 0, + operationId: 0, + adjustAmount: 0 } }, created() { @@ -96,56 +101,116 @@ setTable() { this.tableList = { tableData: this.tableData, - selectBox: true, + selectBox: false, + selectIndex: true, tableColumn: [ - { label: "浣嶇疆", prop: "location", location: true }, + { label: "浣嶇疆", prop: "locationName", location: true }, { label: "浜у搧", prop: "productName", product: true }, { label: "鍦ㄥ簱鏁伴噺", prop: "amount" }, { label: "璁¢噺鍗曚綅", prop: "unit" }, - { label: "璁℃暟鐨勬暟閲�", prop: "count", inputFloat: true }, - { label: "宸紓", prop: "difference" }, - { label: "鏃ユ湡", prop: "date", date: true }, + { label: "璁℃暟鐨勬暟閲�", prop: "differenceAmount", inputFloat: true }, + { label: "宸紓", prop: "adjustAmount" }, + { label: "鏃ユ湡", prop: "createDate" }, { label: "鐢ㄦ埛", prop: "user", user: true } ] } }, - // 鎿嶄綔杈撳叆 - inputContent(val, prop, row) { - this.countId = row.countId - this.tableData.map((item) => { - if (item.countId === row.countId) { - item[prop] = val + // 璇锋眰鏁版嵁 + async getData() { + await getInventoryAdjustmentList({ + page: this.pagerOptions.currPage, + pageSize: this.pagerOptions.pageSize + }).then((res) => { + if (res.code === 200) { + console.log(res) + const list = res.data.map((item) => { + item.adjustAmount = 0 + return { + ...item, + isSet: false, + isEdit: true, + editable: true, + adjustAmount: 0 + } + }) + this.tableList.tableData = list || [] + this.tableData = list || [] + this.pagerOptions.totalCount = res.total } }) + + }, + // 鎿嶄綔杈撳叆 + inputContent(val, prop, row) { + console.log(val, prop, row) + console.log(val - row.amount, "缁撴灉") + this.adjustAmount = val - row.amount + this.tableList.tableData[row.index].adjustAmount = this.adjustAmount + // this.differenceAmount = val + this.differenceAmount = val }, // 鏂板 addProductClick() { console.log(this.tableData) + console.log(this.addTitle) this.isSel() if (this.isNoProduct && this.addTitle === "鏂板缓") { + this.$refs.tablelistRef.getLocationList() this.addTitle = "淇濆瓨" this.showDiscard = true this.isRowClick = false + this.operationId = 0 + this.currentRowId = 0 this.countId++ - this.tableData.push({ + this.tableData.unshift({ countId: this.countId, - productId: "", amount: 0, - unit: "", - productName: "", - count: "0.00", + adjustAmount: 0, + productId: "", + differenceAmount: 0, + locationId: 0, + createDate: this.currentTime(), isSet: true, - isEdit: false + isEdit: false, + editable: false }) - } else if (this.isNoProduct && this.addTitle === "淇濆瓨") { + this.locationId = 0 + this.subLocationId = 0 + this.productCategoryId = 0 + this.productId = 0 + } else { this.addTitle = "鏂板缓" this.showDiscard = false + let requestUrl = this.currentRowId === 0 ? addInventoryAdjustment : updateInventoryAdjustment + + requestUrl({ + amount: this.amount, + // adjustAmount: this.adjustAmount, + differenceAmount: this.differenceAmount, + locationId: this.locationId, + operationId: this.operationId, + productId: this.productId + }) + .then((res) => { + console.log(res) + if (res.code === 200) { + let tipStr = this.currentRowId === 0 ? "娣诲姞鎴愬姛" : "淇敼鎴愬姛" + this.$message.success(tipStr) + this.getData() + } + }) + .catch((err) => { + console.log(err) + this.getData() + }) + // } } }, // 鏄惁閫夋嫨浜у搧 isSel() { for (let i = 0; i < this.tableData.length; i++) { - if (this.tableData[i].productName.length === 0) { + // this.tableData[i].productName?.length === 0||!this.tableData[i].productId + if (!this.tableData[i].productId||!this.tableData[i].isEdit) { this.isNoProduct = false break } else { @@ -155,13 +220,19 @@ }, // 鍙栨秷 discardBtnClick() { - if (this.isRowClick) { - this.tableData.map((item) => { - item.isEdit = true - }) - } else { - this.tableData.splice(this.tableData.length - 1, 1) - } + this.getData() + // this.tableList.tableData.forEach((item) => { + // item.differenceAmount = 0 + // item.adjustAmount = 0 + // }) + // this.tableList + // if (this.isRowClick) { + // this.tableData.map((item) => { + // item.isEdit = true + // }) + // } else { + // this.tableData.splice(0, 1) + // } this.addTitle = "鏂板缓" this.showDiscard = false }, @@ -174,10 +245,9 @@ this.isSel() console.log(row) if (this.isNoProduct) { - console.log("鍘嗗彶") this.$router.push({ name: "inventoryAdjustmentHistory", - params: { id: row.id } + params: { locationId: row.locationId, productId: row.productId, baseOperationType: row.baseOperationType } }) } }, @@ -189,8 +259,19 @@ } }, // 搴旂敤 - handleUseClick(scope) { - scope.row.isSet = !scope.row.isSet + handleUseClick(row) { + // scope.row.isSet = !scope.row.isSet + finishInventoryAdjustment({ + locationProductAmountId: row.locationProductAmountId, + operationId: row.operationId, + productId: row.productId + }).then((res) => { + console.log(res) + if (res.code === 200) { + this.$message.success("搴旂敤鎴愬姛") + this.getData() + } + }) }, // 娓呴櫎 handleCleanupClick(scope) { @@ -198,35 +279,33 @@ }, // 琛岀偣鍑� tableRowClick(row, rowIndex) { - console.log(row, rowIndex) - this.addTitle = "淇濆瓨" - this.showDiscard = true - this.isRowClick = true + this.locationId = row.locationId + this.rowIndex = rowIndex this.isSel() + //!this.isNoProduct && this.currentRowId == 0 if (!this.isNoProduct) { - this.tableData.splice(this.tableData.length - 1, 1) + this.$message.error("璇峰畬鎴愬綋鍓嶄繚瀛樻垨鍙栨秷淇濆瓨锛�") + } else { + this.currentRowId = row.id + this.addTitle = "淇濆瓨" + this.showDiscard = true + this.isRowClick = true + if (!this.isNoProduct) { + this.tableData.splice(this.tableData.length - 1, 1) + } + this.tableData.map((item, index) => { + if (index === rowIndex) { + item.isEdit = false + item.editable = true + } else { + item.isEdit = true + } + }) + this.differenceAmount = row.differenceAmount + this.amount = row.amount + this.productId = row.productId + this.operationId = row.operationId } - this.tableData.map((item, index) => { - if (index === rowIndex) { - item.isEdit = false - } else { - item.isEdit = true - } - }) - }, - // 璇锋眰鏁版嵁 - async getData() { - await getLocationList({ - keyword: this.keyword, - page: this.pagerOptions.currPage, - pageSize: this.pagerOptions.pageSize - }).then((res) => { - if (res.code === 200) { - const list = res.data ? res.data : [] - this.tableList.tableInfomation = list - this.pagerOptions.totalCount = res.total - } - }) }, // 鎼滅储 getList(val) { @@ -234,26 +313,41 @@ this.pagerOptions.currPage = 1 this.getData() }, - // 鏂板缓 - addBtnClick() { - this.editConfig.infomation = { - name: "", - parentId: null, - type: 3, - isScrapLocation: null, - isReturnLocation: null, - replenishLocation: null, - countFrequency: 0, - recentlyCount: "", - nextCount: "", - notes: "" + // 閫夋嫨浣嶇疆鏂规硶 + selLocationClick(item, prop) { + console.log(item, prop) + this.locationId = item.value + }, + // 閫夋嫨浜у搧鏂规硶 + async selProductClick(value, item) { + console.log("鐪嬬湅杩斿洖",this.tableData) + if (value === "product") { + this.productId = item.productId + await getLocationProductAmount({ + locationId:this.locationId, + productId:this.productId + }).then((res)=>{ + if(res&&res.code===200){ + this.tableData[0].amount=res.data?res.data.amount:0 + } + }) } - this.editConfig.visible = true - this.editConfig.title = "鏂板缓" + }, + // 鑾峰彇褰撳墠鏃堕棿 + currentTime() { + return currentTime() } } } </script> <!-- Add "scoped" attribute to limit CSS to this component only --> -<style lang="scss" scoped></style> +<style lang="scss" scoped> +::v-deep { + .el-table { + border-top-left-radius: 12px; + border-top-right-radius: 12px; + overflow: auto; + } +} +</style> -- Gitblit v1.8.0