From ac547f0629e21fa52ec0cb40f0ac59aaa6d573f4 Mon Sep 17 00:00:00 2001 From: yangfeng <wanwan926_4@163.com> Date: 星期二, 31 十月 2023 11:40:44 +0800 Subject: [PATCH] 重订货规则新建、更新、重订购接口联调及公共组件优化 --- src/views/operate/inventoryAdjustment/inventoryAdjustmentHistory.vue | 9 src/views/productManage/reorderRules/index.vue | 195 ++++++++++---------- src/components/makepager/CommonFormTableView.vue | 245 +++++++++++++++++--------- src/api/product/reorderRules.js | 41 ++++ src/views/operate/inventoryAdjustment/index.vue | 35 ++- 5 files changed, 320 insertions(+), 205 deletions(-) diff --git a/src/api/product/reorderRules.js b/src/api/product/reorderRules.js new file mode 100644 index 0000000..f2c9a6f --- /dev/null +++ b/src/api/product/reorderRules.js @@ -0,0 +1,41 @@ +import request from "@/common/untils/request.js" +// 鑾峰彇閲嶈璐ц鍒欏垪琛� +export function getReorderRuleList(data) { + return request({ + url: "/api-wms/v1/reorderRule/getReorderRuleList", + method: "post", + data + }) +} +// 鑾峰彇鍦ㄥ簱涓庨娴嬫暟閲� +export function getAmountAndPrediction(data) { + return request({ + url: "/api-wms/v1/reorderRule/getAmountAndPrediction", + method: "post", + data + }) +} +// 娣诲姞閲嶈璐ц鍒� +export function addReorderRule(data) { + return request({ + url: "/api-wms/v1/reorderRule/addReorderRule", + method: "post", + data + }) +} +// 璁㈣喘涓�娆� +export function orderAgain(data) { + return request({ + url: "/api-wms/v1/reorderRule/orderAgain", + method: "post", + data + }) +} +// 鏇存柊閲嶈璐ц鍒� +export function updateReorderRule(data) { + return request({ + url: "/api-wms/v1/reorderRule/updateReorderRule", + method: "post", + data + }) +} diff --git a/src/components/makepager/CommonFormTableView.vue b/src/components/makepager/CommonFormTableView.vue index 1962ce1..39f484e 100644 --- a/src/components/makepager/CommonFormTableView.vue +++ b/src/components/makepager/CommonFormTableView.vue @@ -1,18 +1,18 @@ <template> - <div class="page-view" :class="{ setHeight: isinventory || islistingrules }"> + <div class="page-view" :class="{ setHeight: isinventory || islistingrules || isReorder }"> <el-form ref="form" :model="tableList" :show-message="false" label-position="right" - :class="{ setHeight: isinventory || islistingrules }" + :class="{ setHeight: isinventory || islistingrules || isReorder }" > <el-table :data="tableList.tableData" border style="width: 100%" :height="'calc(100% - 0px)'" - :class="{ setHeight: isinventory || islistingrules }" + :class="{ setHeight: isinventory || islistingrules || isReorder }" :header-cell-style="{ background: '#f1f3f8', color: '#000009' }" :row-class-name="tableRowClassName" @row-click="tableRowClick" @@ -42,16 +42,18 @@ :prop="'tableData.' + scope.$index + '.' + item.prop" :rules="[{ required: item.isRequird ? true : false, message: '杈撳叆涓嶈兘涓虹┖' }]" > - <el-input - v-model.trim="scope.row[item.prop]" - maxlength="50" - size="mini" - @change=" - (val) => { - commonInputChange(val, item.prop, scope.row) - } - " - ></el-input> + <div @click.stop="commoInput"> + <el-input + v-model.trim="scope.row[item.prop]" + maxlength="50" + size="mini" + @change=" + (val) => { + commonInputChange(val, item.prop, scope.row) + } + " + ></el-input> + </div> </el-form-item> <el-form-item v-else-if="item.productName" @@ -85,19 +87,21 @@ :prop="'tableData.' + scope.$index + '.' + item.prop" :rules="[{ required: item.isRequird ? true : false, message: '杈撳叆涓嶈兘涓虹┖' }]" > - <el-input-number - v-model="scope.row[item.prop]" - placeholder="" - :min="0" - :controls="false" - size="mini" - style="width: 100%; margin-right: 5px" - @change=" - (val) => { - commonInputChange(val, item.prop, scope.row) - } - " - ></el-input-number> + <div @click.stop="commoInput"> + <el-input-number + v-model="scope.row[item.prop]" + placeholder="" + :min="0" + :controls="false" + size="mini" + style="width: 100%; margin-right: 5px" + @change=" + (val) => { + commonInputChange(val, item.prop, scope.row) + } + " + ></el-input-number> + </div> </el-form-item> <el-form-item v-else-if="item.inputFloat" @@ -106,20 +110,21 @@ :rules="[{ required: item.isRequird ? true : false, message: '杈撳叆涓嶈兘涓虹┖' }]" > <span v-if="scope.row.isEdit">{{ scope.row[item.prop] }}</span> - <el-input-number - v-else - v-model="scope.row[item.prop]" - placeholder="" - :precision="2" - :controls="false" - size="mini" - style="width: 100%; margin-right: 5px" - @change=" - (val) => { - commonInputChange(val, item.prop, scope.row) - } - " - ></el-input-number> + <div v-else @click.stop="commoInput"> + <el-input-number + v-model="scope.row[item.prop]" + placeholder="" + :precision="2" + :controls="false" + size="mini" + style="width: 100%; margin-right: 5px" + @change=" + (val) => { + commonInputChange(val, item.prop, scope.row) + } + " + ></el-input-number> + </div> </el-form-item> <el-form-item v-else-if="item.select" label=" " :prop="'tableData.' + scope.$index + '.' + item.prop"> <div class="custom-name"> @@ -138,8 +143,11 @@ <!-- 浣嶇疆 --> <el-form-item v-else-if="item.location" label=" " :prop="'tableData.' + scope.$index + '.' + item.prop"> <div class="custom-name"> + <span v-if="scope.row.isEdit || scope.row.editable">{{ + scope.row[item.prop]?.label ?? scope.row[item.prop] + }}</span> <el-select - v-if="!scope.row.isEdit && scope.row.isOrder" + v-else v-model="scope.row[item.prop]" placeholder="璇烽�夋嫨" size="mini" @@ -155,6 +163,35 @@ :key="index" :label="item.name" :value="{ value: item.id, label: item.name }" + > + </el-option> + </el-select> + </div> + </el-form-item> + <!-- 閲嶈璐ц鍒�-浣嶇疆 --> + <el-form-item + v-else-if="item.defaultLocation" + label=" " + :prop="'tableData.' + scope.$index + '.' + item.prop" + > + <div class="custom-name"> + <el-select + v-if="!scope.row.isEdit && scope.row.isOrder" + v-model="locacionName" + placeholder="璇烽�夋嫨" + size="mini" + style="width: 80%" + @change=" + (val) => { + selLocationClick(val, item.prop, scope.row) + } + " + > + <el-option + v-for="(ite, index) in selLocationOptions" + :key="index" + :label="ite.name" + :value="{ value: ite.id, label: ite.name }" > </el-option> </el-select> @@ -197,7 +234,11 @@ </div> </el-form-item> <!-- 浜у搧绫诲瀷 --> - <el-form-item v-else-if="item.productType" label=" " :prop="'tableData.' + scope.$index + '.' + item.prop"> + <el-form-item + v-else-if="item.productType" + label=" " + :prop="'tableData.' + scope.$index + '.' + item.prop" + > <div class="custom-name"> <span v-if="scope.row.isEdit || scope.row.editable">{{ scope.row[item.prop] }}</span> <el-select @@ -218,7 +259,7 @@ :label="item.name" :value="{ value: item.id, - label: item.name, + label: item.name }" > </el-option> @@ -254,7 +295,7 @@ style="width: 80%" @change=" (val) => { - selRoteClick(val, item.prop) + selRouteClick(val, item.prop) } " > @@ -286,7 +327,7 @@ <slot name="tableButton" /> </el-table> </el-form> - <div v-if="!detailEnter && !isinventory && !islistingrules" style="margin: 10px"> + <div v-if="!detailEnter && !isinventory && !islistingrules && !isReorder" style="margin: 10px"> <el-button size="small" type="primary" @click="add">娣诲姞鏄庣粏琛�</el-button> <!-- <el-button size="small" type="primary" @click="empty">娓呯┖</el-button> --> </div> @@ -307,6 +348,7 @@ import { getRuleList } from "@/api/operate/inventoryAdjustment" import { getProductCategoryList } from "@/api/product/productCategory" import SimpleSearchInput from "@/components/makepager/SimpleSearchInput" +import { getAmountAndPrediction } from "@/api/product/reorderRules" // import SelectCommonDialog from "@/views/other/commonDialog/SelectCommonDialog" export default { name: "CommmonFormTableView", @@ -341,6 +383,10 @@ islistingrules: { type: Boolean, default: false + }, + isReorder: { + type: Boolean, + default: false } }, data() { @@ -363,12 +409,19 @@ ], selLocationOptions: [], // 浣嶇疆 companyOptions: [], // 鍏徃 - selRouteOptions: [] // 璺嚎 + selRouteOptions: [{ id: 1, name: "鍒堕��" }], // 璺嚎 + locacionName: "", + locacionId: 0, + productName: "", + productId: "" } }, created() { if (this.isinventory) { this.getRuleList() + } else if (this.isReorder) { + this.getProductList() + this.getLocationList() } else { this.getProductList() this.getProductCategoryList() @@ -415,14 +468,14 @@ }) }, // 鑾峰彇浜у搧绫诲瀷鍒楄〃 - async getProductCategoryList(){ + async getProductCategoryList() { await getProductCategoryList({ - categoryId:0, - keyWord:"", - page:1, - pageSize:15 + categoryId: 0, + keyWord: "", + page: 1, + pageSize: 15 }).then((res) => { - console.log(res,"鐪嬬湅浜у搧绫诲瀷鍒楄〃") + console.log(res, "鐪嬬湅浜у搧绫诲瀷鍒楄〃") if (res.code === 200) { const list = res.data ? res.data : [] this.productTypeNameOptions = list @@ -439,6 +492,11 @@ if (res.code === 200) { const list = res.data ? res.data : [] this.selLocationOptions = list + if (this.isReorder) { + this.locacionName = list[0]?.name + this.locacionId = list[0]?.id + this.$emit("selLocationClick", list[0], "locacionName") + } } }) }, @@ -466,16 +524,23 @@ }, // 閫夋嫨浜у搧 selProductClick(item) { - this.tableList.tableData.map((ite) => { - if (ite.productName.label === item.label) { - ite.productId = item.value - ite.productName = item.label - ite.categoryId = item.categoryId - ite.productCategory = item.categoryName - ite.amount = item.amount - ite.unit = item.unit - } - }) + if (this.isReorder) { + this.productId = item.value + this.productName = item.label + this.getAmountAndPrediction(item, "product") + } else { + this.tableList.tableData.map((ite) => { + if (ite.productName.label === item.label) { + ite.productId = item.value + ite.productName = item.label + ite.categoryId = item.categoryId + ite.productCategory = item.categoryName + ite.amount = item.amount + ite.unit = item.unit + } + }) + } + if (this.isinventory) { getRuleList({ locationId: 0, @@ -502,13 +567,15 @@ if (this.isinventory) { this.getProductCategoryList() } - console.log(this.tableList.tableData) this.$emit("selProductTypeClick", item) }, // 閫夋嫨浣嶇疆 - selLocationClick(item, prop) { - console.log(item) - console.log(this.tableList.tableData) + selLocationClick(item, prop, row) { + if (this.isReorder) { + if (this.productId !== 0) { + this.getAmountAndPrediction(row, "location", item) + } + } if (this.isinventory) { getRuleList({ locationId: item.value, @@ -517,31 +584,38 @@ console.log(res) if (res.code === 200) { const list = res.data ? res.data : [] - // this.selLocationOptions = list.locationList this.productNameOptions = list.productList } }) } this.$emit("selLocationClick", item, prop) }, - // 閫夋嫨璺嚎 - selRoteClick(item, prop) { - console.log(item, prop) + // 鑾峰彇鍦ㄥ簱涓庨娴嬫暟閲� + getAmountAndPrediction(item, val, ite) { + console.log(item, val, ite) + console.log(this.productName) console.log(this.tableList.tableData) - // if (this.isinventory) { - // getRuleList({ - // locationId: item.value, - // productId: "" - // }).then((res) => { - // console.log(res) - // if (res.code === 200) { - // const list = res.data ? res.data : [] - // // this.selLocationOptions = list.locationList - // this.productNameOptions = list.productList - // } - // }) - // } - // this.$emit("selLocationClick", item, prop) + if (this.productName.length > 0) { + getAmountAndPrediction({ + locationId: val === "product" ? this.locacionId : ite.value, + productId: val === "product" ? item.value : this.productId + }).then((res) => { + if (res.code === 200) { + this.tableList.tableData.map((ite) => { + if (ite.productName.label === this.productName) { + ite.amount = res.data.amount + ite.prediction = res.data.prediction + ite.unit = item.unit + } + }) + } + }) + } + }, + // 閫夋嫨璺嚎 + selRouteClick(item, prop) { + console.log("33333333333333") + this.$emit("selRouteClick", item, prop) }, // 閫夋嫨鍗曚綅/鐢ㄦ埛 selCommonClick(item) { @@ -639,7 +713,8 @@ }, setFormItem(val) { console.log(val) - } + }, + commoInput() {} } } </script> diff --git a/src/views/operate/inventoryAdjustment/index.vue b/src/views/operate/inventoryAdjustment/index.vue index 8e4e94d..e97a63b 100644 --- a/src/views/operate/inventoryAdjustment/index.vue +++ b/src/views/operate/inventoryAdjustment/index.vue @@ -144,7 +144,7 @@ this.adjustAmount = val - row.amount this.tableList.tableData[row.index].adjustAmount = this.adjustAmount // this.differenceAmount = val - this.differenceAmount=val + this.differenceAmount = val }, // 鏂板 addProductClick() { @@ -179,7 +179,7 @@ this.addTitle = "鏂板缓" this.showDiscard = false let requestUrl = this.currentRowId === 0 ? addInventoryAdjustment : updateInventoryAdjustment - + requestUrl({ amount: this.amount, // adjustAmount: this.adjustAmount, @@ -206,7 +206,7 @@ // 鏄惁閫夋嫨浜у搧 isSel() { for (let i = 0; i < this.tableData.length; i++) { - if (this.tableData && this.tableData[i].productName.length === 0) { + if (this.tableData[i].productName?.length === 0) { this.isNoProduct = false break } else { @@ -216,18 +216,19 @@ }, // 鍙栨秷 discardBtnClick() { - 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.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 }, @@ -243,7 +244,7 @@ console.log("鍘嗗彶") this.$router.push({ name: "inventoryAdjustmentHistory", - params: { locationId: row.locationId, productId: row.productId,baseOperationType:row.baseOperationType} + params: { locationId: row.locationId, productId: row.productId, baseOperationType: row.baseOperationType } }) } }, @@ -275,7 +276,7 @@ }, // 琛岀偣鍑� tableRowClick(row, rowIndex) { - this.locationId=row.locationId + this.locationId = row.locationId this.rowIndex = rowIndex this.isSel() if (!this.isNoProduct && this.currentRowId === 0) { diff --git a/src/views/operate/inventoryAdjustment/inventoryAdjustmentHistory.vue b/src/views/operate/inventoryAdjustment/inventoryAdjustmentHistory.vue index ff723a9..be999ab 100644 --- a/src/views/operate/inventoryAdjustment/inventoryAdjustmentHistory.vue +++ b/src/views/operate/inventoryAdjustment/inventoryAdjustmentHistory.vue @@ -32,14 +32,14 @@ keyword: "", locationId: 0, productId: "", - baseOperationType:"" + baseOperationType: "" } }, created() { this.setTable() this.locationId = this.$route.params.locationId this.productId = this.$route.params.productId - this.baseOperationType=this.$route.params.baseOperationType + this.baseOperationType = this.$route.params.baseOperationType this.getData() }, methods: { @@ -131,12 +131,11 @@ // 璇锋眰鏁版嵁 async getData() { await historyInventoryAdjustment({ - baseOperationType:this.baseOperationType, + baseOperationType: this.baseOperationType, locationId: this.locationId, page: this.pagerOptions.currPage, pageSize: this.pagerOptions.pageSize, - productId: this.productId, - baseOperationType:this.baseOperationType + productId: this.productId }).then((res) => { if (res.code === 200) { const list = res.data.map((item) => { diff --git a/src/views/productManage/reorderRules/index.vue b/src/views/productManage/reorderRules/index.vue index a56a44c..9384663 100644 --- a/src/views/productManage/reorderRules/index.vue +++ b/src/views/productManage/reorderRules/index.vue @@ -10,19 +10,19 @@ @addCommonClick="addProductClick" @searchClick="getList" @discardBtnClick="discardBtnClick" - @applyBtnClick="applyBtnClick" /> </div> <div class="list-view"> <div class="table"> <CommonFormTableView ref="tablelistRef" - :isinventory="true" + :isReorder="true" :product-table-list="tableList" @inputContent="inputContent" @selLocationClick="selLocationClick" @selProductClick="selProductClick" @tableRowClick="tableRowClick" + @selRouteClick="selRouteClick" > <template slot="tableButton"> <el-table-column label="鎿嶄綔" width="180" align="center"> @@ -50,12 +50,7 @@ <script> import CommonFormTableView from "@/components/makepager/CommonFormTableView" import pageMixin from "@/components/makepager/pager/mixin/pageMixin" -import { - getInventoryAdjustmentList, - addInventoryAdjustment, - updateInventoryAdjustment, - finishInventoryAdjustment -} from "@/api/operate/inventoryAdjustment" +import { getReorderRuleList, addReorderRule, updateReorderRule, orderAgain } from "@/api/product/reorderRules" import { currentTime } from "@/common/config/index" export default { name: "ReorderRules", @@ -75,10 +70,13 @@ isRowClick: false, locationId: 0, productId: 0, - differenceAmount: 0, amount: 0, operationId: 0, - adjustAmount: 0 + minInventory: 0, + maxInventory: 0, + orderNumber: 0, + unit: "", + reorderId: 0 } }, created() { @@ -93,39 +91,44 @@ selectIndex: true, tableColumn: [ { label: "浜у搧", prop: "productName", product: true }, - { label: "浣嶇疆", prop: "locationName", location: true }, + { label: "浣嶇疆", prop: "locationName", defaultLocation: true }, { label: "鍦ㄥ簱鏁伴噺", prop: "amount" }, - { label: "棰勬祴", prop: "forecastAmount" }, + { label: "棰勬祴鏁伴噺", prop: "prediction" }, { label: "棣栭�夎矾绾�", prop: "route", route: true }, - { label: "鏈�灏忔暟閲�", prop: "minAmount", inputFloat: true }, - { label: "鏈�澶ф暟閲�", prop: "maxAmount", inputFloat: true }, - { label: "璁㈣喘", prop: "orderAmount", inputFloat: true }, + { label: "鏈�灏忔暟閲�", prop: "minInventory", inputFloat: true }, + { label: "鏈�澶ф暟閲�", prop: "maxInventory", inputFloat: true }, + { label: "璁㈣喘鏁伴噺", prop: "orderNumber", inputFloat: true }, { label: "璁¢噺鍗曚綅", prop: "unit" } ] } }, // 璇锋眰鏁版嵁 async getData() { - await getInventoryAdjustmentList({ + await getReorderRuleList({ 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 - let forecastAmount = 500 - let maxAmount = 600 + let orderNum = 0 + if (parseFloat(item.minInventory) - parseFloat(item.prediction) > 0) { + orderNum = this.caculateOrderNumber( + parseFloat(item.minInventory), + parseFloat(item.maxInventory), + parseFloat(item.prediction) + ) + } return { ...item, + productName: item.product.name, + locationName: item.location.name, isSet: false, isEdit: true, editable: true, isOrder: true, - forecastAmount: forecastAmount, - maxAmount: maxAmount, - adjustAmount: 0, - isView: maxAmount - forecastAmount > 0 ? true : false + isView: item?.minInventory - item?.prediction > 0 ? true : false, + orderNumber: orderNum } }) this.tableList.tableData = list || [] @@ -134,22 +137,42 @@ } }) }, + // 鎶�鏈璐暟閲� + caculateOrderNumber(minInventory, maxInventory, prediction) { + return maxInventory > minInventory ? maxInventory - prediction : minInventory - prediction + }, // 鎿嶄綔杈撳叆 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 + if (prop === "minInventory") { + this.minInventory = val + if (parseFloat(this.minInventory) - parseFloat(this.prediction) > 0) { + this.orderNumber = this.caculateOrderNumber( + parseFloat(this.minInventory), + parseFloat(this.maxInventory), + parseFloat(this.prediction) + ) + } + } else if (prop === "maxInventory") { + this.maxInventory = val + if (parseFloat(this.minInventory) - parseFloat(this.prediction) > 0) { + this.orderNumber = this.caculateOrderNumber( + parseFloat(this.minInventory), + parseFloat(this.maxInventory), + parseFloat(this.prediction) + ) + } + } else if (prop === "orderNumber") { + this.orderNumber = val + } }, // 鏂板 addProductClick() { - console.log(this.tableData) console.log(this.addTitle) this.isSel() if (this.isNoProduct && this.addTitle === "鏂板缓") { - this.$refs.tablelistRef.getRuleList() + this.$refs.tablelistRef.getProductList() + this.$refs.tablelistRef.getLocationList() this.addTitle = "淇濆瓨" this.showDiscard = true this.isRowClick = false @@ -159,9 +182,11 @@ this.tableData.unshift({ countId: this.countId, amount: 0, - adjustAmount: 0, + minInventory: 0, productId: "", - differenceAmount: 0, + maxInventory: 0, + orderNumber: 0, + prediction: 0, locationId: 0, createDate: this.currentTime(), isSet: true, @@ -170,22 +195,13 @@ isOrder: true }) 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 - }) + let requestUrl = this.currentRowId === 0 ? addReorderRule : updateReorderRule + let params = this.saveParams() + requestUrl(params) .then((res) => { console.log(res) if (res.code === 200) { @@ -201,10 +217,25 @@ // } } }, + saveParams() { + return { + id: this.reorderId, + amount: this.amount, + locationId: this.locationId, + maxInventory: this.maxInventory, + minInventory: this.minInventory, + orderNumber: this.orderNumber, + prediction: this.prediction, + operationId: this.operationId, + productId: this.productId, + route: this.route, + unit: this.unit + } + }, // 鏄惁閫夋嫨浜у搧 isSel() { for (let i = 0; i < this.tableData.length; i++) { - if (this.tableData && this.tableData[i].productName.length === 0) { + if (this.tableData[i].productName?.length === 0) { this.isNoProduct = false break } else { @@ -214,67 +245,27 @@ }, // 鍙栨秷 discardBtnClick() { - 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.getData() 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: { locationId: row.locationId, productId: row.productId, baseOperationType: row.baseOperationType } - }) + // 璁㈣喘涓�娆� + handleOrderOnceClick(row) { + let params = { + ...row } - }, - // 璁剧疆 - handleSetClick(scope) { - this.isSel() - if (this.isNoProduct) { - 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) + orderAgain(params).then((res) => { if (res.code === 200) { - this.$message.success("搴旂敤鎴愬姛") + this.$message.success("璁㈣喘鎴愬姛") this.getData() } }) - }, - // 娓呴櫎 - handleCleanupClick(scope) { - scope.row.isSet = !scope.row.isSet }, // 琛岀偣鍑� tableRowClick(row, rowIndex) { this.locationId = row.locationId this.rowIndex = rowIndex + this.reorderId = row.id this.isSel() if (!this.isNoProduct && this.currentRowId === 0) { this.$message.error("璇峰畬鎴愬綋鍓嶆柊寤烘垨鍙栨秷鏂板缓") @@ -295,10 +286,13 @@ item.isEdit = true } }) - this.differenceAmount = row.differenceAmount + this.minInventory = row.minInventory this.amount = row.amount this.productId = row.productId - this.operationId = row.operationId + this.maxInventory = row.maxInventory + this.orderNumber = row.orderNumber + this.prediction = row.prediction + this.locationId = row.locationId } }, // 鎼滅储 @@ -307,15 +301,20 @@ this.pagerOptions.currPage = 1 this.getData() }, - // 閫夋嫨浣嶇疆鏂规硶 + // 閫変腑浣嶇疆鏂规硶 selLocationClick(item, prop) { console.log(item, prop) - this.locationId = item.value + this.locationId = item?.value ?? item?.id }, // 閫変腑浜у搧鏂规硶 selProductClick(item) { - console.log(item) this.productId = item.value + this.unit = item.unit + }, + // 閫変腑璺嚎鏂规硶 + selRouteClick(item, prop) { + console.log(item, prop) + this.route = item.label }, // 鑾峰彇褰撳墠鏃堕棿 currentTime() { -- Gitblit v1.8.0