From cf6a4b874aed82592eea78294715c7c688f9b248 Mon Sep 17 00:00:00 2001 From: songshankun <songshankun@foxmail.com> Date: 星期五, 03 十一月 2023 14:50:31 +0800 Subject: [PATCH] Merge branch 'dev' into songshankun/add-token --- src/views/operate/inventoryAdjustment/index.vue | 186 +++++++++++++++++++++++++++++----------------- 1 files changed, 117 insertions(+), 69 deletions(-) diff --git a/src/views/operate/inventoryAdjustment/index.vue b/src/views/operate/inventoryAdjustment/index.vue index 7596e4d..e97a63b 100644 --- a/src/views/operate/inventoryAdjustment/index.vue +++ b/src/views/operate/inventoryAdjustment/index.vue @@ -22,28 +22,29 @@ @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 v-if="scope.row.isEdit" @click="handleHistoryClick(scope.row)" class="yes-cursor"> + <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"> <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> - </template> --> + </span> --> + </template> </template> </el-table-column> </template> @@ -59,7 +60,12 @@ <script> import CommonFormTableView from "@/components/makepager/CommonFormTableView" import pageMixin from "@/components/makepager/pager/mixin/pageMixin" -import { getInventoryAdjustmentList, addInventoryAdjustment } from "@/api/operate/inventoryAdjustment" +import { + getInventoryAdjustmentList, + addInventoryAdjustment, + updateInventoryAdjustment, + finishInventoryAdjustment +} from "@/api/operate/inventoryAdjustment" import { currentTime } from "@/common/config/index" export default { name: "InventoryAdjustment", @@ -80,7 +86,9 @@ locationId: 0, productId: 0, differenceAmount: 0, - Amount: 0 + amount: 0, + operationId: 0, + adjustAmount: 0 } }, created() { @@ -91,7 +99,8 @@ setTable() { this.tableList = { tableData: this.tableData, - selectBox: true, + selectBox: false, + selectIndex: true, tableColumn: [ { label: "浣嶇疆", prop: "locationName", location: true }, { label: "浜у搧", prop: "productName", product: true }, @@ -113,11 +122,13 @@ if (res.code === 200) { console.log(res) const list = res.data.map((item) => { + item.adjustAmount = 0 return { ...item, isSet: false, isEdit: true, - editable: true + editable: true, + adjustAmount: 0 } }) this.tableList.tableData = list || [] @@ -129,23 +140,28 @@ // 鎿嶄綔杈撳叆 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() - this.$refs.tablelistRef.getRuleList() if (this.isNoProduct && this.addTitle === "鏂板缓") { + this.$refs.tablelistRef.getRuleList() 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, - Amount: 0, - areaName: "", + amount: 0, adjustAmount: 0, productId: "", differenceAmount: 0, @@ -160,40 +176,37 @@ this.productCategoryId = 0 this.productId = 0 } else { - if (this.locationId === 0) { - this.$message.error("璇烽�夋嫨浣嶇疆") - } else if (this.productId === 0) { - this.$message.error("璇烽�夋嫨浜у搧") - } else { - this.addTitle = "鏂板缓" - this.showDiscard = false - // let requestUrl = this.currentRowId === 0 ? addInventoryAdjustment : updateListingRules - addInventoryAdjustment({ - // id: this.currentRowId, - locationId: this.locationId, - Amount: this.Amount, - differenceAmount: this.differenceAmount, - productId: this.productId - }) - .then((res) => { - console.log(res) - if (res.code === 200) { - // let tipStr = this.currentRowId === 0 ? "娣诲姞鎴愬姛" : "淇敼鎴愬姛" - this.$message.success("娣诲姞鎴愬姛") - this.getData() - } - }) - .catch((err) => { - console.log(err) + 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) { + if (this.tableData[i].productName?.length === 0) { this.isNoProduct = false break } else { @@ -203,13 +216,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 }, @@ -225,7 +244,7 @@ console.log("鍘嗗彶") this.$router.push({ name: "inventoryAdjustmentHistory", - params: { locationId: row.locationId, productId: row.productId } + params: { locationId: row.locationId, productId: row.productId, baseOperationType: row.baseOperationType } }) } }, @@ -237,8 +256,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) { @@ -246,22 +276,32 @@ }, // 琛岀偣鍑� tableRowClick(row, rowIndex) { - console.log(row, rowIndex) - this.addTitle = "淇濆瓨" - this.showDiscard = true - this.isRowClick = true + this.locationId = row.locationId + this.rowIndex = rowIndex this.isSel() - 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 + if (!this.isNoProduct && this.currentRowId === 0) { + 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 + } }, // 鎼滅储 getList(val) { @@ -288,4 +328,12 @@ </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