From b811e2fa4cdcb5949047faa78aa9299aec1d2f67 Mon Sep 17 00:00:00 2001 From: zuozhengqing <a13193816592@163.com> Date: 星期三, 27 三月 2024 15:08:45 +0800 Subject: [PATCH] 确认采购单接口换位post请求,产品列表字段替换 --- src/views/purchaseManage/purchase/components/AddPurchase.vue | 140 +++++++++++++++++++++++++++++++++++----------- 1 files changed, 105 insertions(+), 35 deletions(-) diff --git a/src/views/purchaseManage/purchase/components/AddPurchase.vue b/src/views/purchaseManage/purchase/components/AddPurchase.vue index ae87888..ed08a9b 100644 --- a/src/views/purchaseManage/purchase/components/AddPurchase.vue +++ b/src/views/purchaseManage/purchase/components/AddPurchase.vue @@ -54,7 +54,7 @@ > <el-option v-for="ele in plcBrandList" - :key="ele.name" + :key="ele.purchaseTypeId" :label="ele.name" :value="ele.id" ></el-option> @@ -144,6 +144,7 @@ clearable placeholder="閫夋嫨鏃ユ湡" value-format="yyyy-MM-dd" + :picker-options="pickerOptionsBefore" > </el-date-picker> </el-form-item> @@ -158,40 +159,57 @@ clearable placeholder="閫夋嫨鏃ユ湡" value-format="yyyy-MM-dd" + :picker-options="pickerOptions" > </el-date-picker> </el-form-item> </el-col> <el-col :span="12"> - <el-form-item label="鏀惰揣浠撳簱" prop="receiveWarehouse"> + <el-form-item label="鏀惰揣浠撳簱" prop="warehouse"> <el-select placeholder="璇烽�夋嫨鏀惰揣浠撳簱" - v-model="editConfig.infomation.receiveWarehouse" + v-model="editConfig.infomation.warehouse" clearable style="width: calc(100% - 0px)" + :disabled="editConfig.isDisabled" > <el-option v-for="(ele, index) in receiveWhouseList" :key="index" :label="ele.name" - :value="ele.id" + :value="ele.name" ></el-option> </el-select> </el-form-item> </el-col> <el-col :span="12"> - <el-form-item label="鍦板潃" prop="address"> - <el-input v-model="editConfig.infomation.address" placeholder="璇峰~鍐�" clearable></el-input> + <el-form-item label="鍦板潃" prop="warehouseAddress"> + <el-input + :disabled="editConfig.isDisabled" + v-model="editConfig.infomation.warehouseAddress" + placeholder="璇峰~鍐�" + clearable + ></el-input> </el-form-item> </el-col> <el-col :span="12"> - <el-form-item label="鎺ユ敹浜�" prop="recipient"> - <el-input v-model="editConfig.infomation.recipient" placeholder="璇峰~鍐�" clearable></el-input> + <el-form-item label="鎺ユ敹浜�" prop="principal"> + <el-input + :disabled="editConfig.isDisabled" + v-model="editConfig.infomation.principal" + placeholder="璇峰~鍐�" + clearable + ></el-input> </el-form-item> </el-col> <el-col :span="12"> - <el-form-item label="鏉ユ簮鍗曟嵁" prop="sourceDoc"> - <el-input v-model="editConfig.infomation.sourceDoc" placeholder="璇峰~鍐�" clearable></el-input> + <el-form-item label="鏉ユ簮鍗曟嵁" prop="sourceOrder"> + <el-input + :disabled="editConfig.isDisabled" + v-model="editConfig.infomation.sourceOrder" + placeholder="璇峰~鍐�" + clearable + ></el-input> </el-form-item> </el-col> <el-col :span="24"> @@ -215,11 +233,13 @@ :detailEnter="editCommonConfig.detailEnter" :show-summary="showSummary" :recalculateShow="false" + :addTypeIdMultiple="true" :product-table-list="productTableList" sign="purchase" @inputContent="inputContent" @getSummaries="getSummaries" @addProductClick="addProductClick" + @getSelectArray="getSelectArray" @emptyProductClick="emptyProductClick" @clearupProduct="clearupProduct" @rowClick="rowClick" @@ -319,7 +339,13 @@ import CommonFormTableView from "@/components/makepager/CommonFormTableView" import BomDialog from "@/components/makepager/BomDialog" import { getProductList } from "@/api/productManage/product" -import { addPurchase, updatePurchase, savePurchaseType, getPurchaseType } from "@/api/purchaseManage/purchase" +import { + addPurchase, + updatePurchase, + savePurchaseType, + getPurchaseType, + getWarehouseInfo +} from "@/api/purchaseManage/purchase" import SelectSupplierDialog from "@/views/purchaseManage/purchase/components/SelectSupplierDialog" // import { formToJSON } from "axios"; import codeMixin from "@/components/mixin/codeMixin" @@ -346,7 +372,7 @@ editConfig: this.editCommonConfig, rules: { purchaseTypeId: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }], - supplierName: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }], + supplierName: [{ required: true, message: "璇烽�夋嫨渚涘簲鍟嗗悕绉�", trigger: "change" }], phone: [ { required: false, @@ -371,7 +397,10 @@ }, { validator: this.validatorNumThree, trigger: "change" } ], - number: [{ required: true, validator: this.validateCheckCode, trigger: ["change", "blur"] }] + number: [{ required: true, validator: this.validateCheckCode, trigger: ["change", "blur"] }], + warehouse: [{ required: true, message: "璇烽�夋嫨鏀惰揣浠撳簱", trigger: "change" }], + signingDate: [{ required: true, message: "璇烽�夋嫨绛剧害鏃ユ湡", trigger: "change" }], + deliveryDate: [{ required: true, message: "璇烽�夋嫨浜や粯鏃ユ湡", trigger: "change" }], }, productTableList: {}, showSummary: { @@ -379,7 +408,7 @@ total: false, sumProp: ["price", "total"], multiply: ["amount", "price"], - titleProp: ["缂栧彿", "浜у搧鍚嶇О", "浜у搧缂栧彿", "璁¢噺鍗曚綅", "瑙勬牸鍨嬪彿", "閲囪喘鍗曚环", "鎻忚堪"], + titleProp: ["缂栧彿", "浜у搧鍚嶇О", "浜у搧缂栧彿", "璁¢噺鍗曚綅", "瑙勬牸", "鍨嬪彿", "閲囪喘鍗曚环", "鎻忚堪"], mergeNumber: 4, totalName: "灏忚" }, @@ -401,11 +430,23 @@ total: 0, totalTwo: 0, productListIdx: 0, - lacks: [] + lacks: [], + pickerOptions: { + disabledDate(time) { + return time.getTime() < Date.now() - 8.64e7 + } + }, + pickerOptionsBefore: { + disabledDate(time) { + return time.getTime() > Date.now() + } + }, + receiveWhouseList: [] // 鏀惰揣浠撳簱鍒楄〃 } }, created() { this.handleGetBomKindDictList() + this.getWarehouseInfo() this.$store.dispatch("getSupplier") this.formInfo() }, @@ -484,7 +525,6 @@ ? this.editConfig.infomation.purchaseTypeId : this.plcBrandList[i].id this.$set(this.editConfig.infomation, "purchaseTypeId", this.editConfig.infomation.purchaseTypeId) - break } } @@ -589,6 +629,8 @@ if (res.code === 200) { this.$message.success("鍒涘缓鎴愬姛") this.$parent.getData() + } else { + this.$message.error(res.msg) } }) } @@ -680,7 +722,11 @@ realTotalPrice: this.total ? Number(this.total) : 0, totalPrice: this.totalTwo ? Number(this.totalTwo) : 0, status: data.status, - quantity: data.quantity // 閲囪喘鏁伴噺 + quantity: data.quantity, // 閲囪喘鏁伴噺 + warehouse: data.warehouse || "", // 鏀惰揣浠撳簱 + warehouseAddress: data.warehouseAddress || "", // 鏀惰揣浠撳簱鍦板潃 + principal: data.principal || "", // 浠撳簱璐熻矗浜� + sourceOrder: data.sourceOrder || "" // 鏉ユ簮鍗曟嵁 } } if (data.id) { @@ -757,7 +803,7 @@ purchaseId: 0, productId: Number(this.productId), productIndex: this.productIndex, - amount: 0, + amount: 1, name: "", number: "", price: 0, @@ -782,6 +828,7 @@ supplierId: undefined, tableData: this.tableData, disabled: this.editConfig.isDisabled, + isReturn: true, tableColumn: [ { label: "浜у搧鍚嶇О", @@ -793,11 +840,12 @@ }, { label: "浜у搧缂栧彿", prop: "number", min: 150 }, { label: "璁¢噺鍗曚綅", prop: "unit" }, - { label: "瑙勬牸鍨嬪彿", prop: "specifications" }, + { label: "瑙勬牸", prop: "specifications" }, + { label: "鍨嬪彿", prop: "modelNumber" }, { label: "鏁伴噺", prop: "amount", inputNumber: true, disabled: this.editConfig.isDisabled }, { label: "閲囪喘鍗曚环", - prop: "price", + prop: "purchasePrice", inputFloat: true, isRequird: true, disabled: this.editConfig.isDisabled @@ -810,12 +858,10 @@ }, // 浜у搧鍒楄〃杈撳叆 inputContent(val, prop, row) { - // this.productId = row.productId; - this.productIndex = row.productIndex let num = 0 this.tableData.map((item) => { num += item.amount - if (item.productIndex === row.productIndex) { + if (item.number === row.number) { item[prop] = val } }) @@ -849,18 +895,35 @@ }, // 浜у搧鏂板 addProductClick() { - this.productIndex++ - this.tableData.push({ - productIndex: this.productIndex, - productId: "", - id: 0, - amount: 0, - desc: "", - name: "", - number: "", - price: 0, - total: 0 - }) + // this.productIndex++ + // this.tableData.push({ + // productIndex: this.productIndex, + // productId: "", + // id: 0, + // amount: 0, + // desc: "", + // name: "", + // number: "", + // price: 0, + // total: 0 + // }) + // this.showSummary.show = true + }, + // 鏂板鏂瑰紡淇敼 + getSelectArray(val, index) { + console.log(val, "ddd99999") + if (this.tableData.length == 1 && this.tableData[0].number.length == 0) { + this.tableData = [] + } + if (index < this.tableData.length) { + this.tableData.splice(index, 1) + val.map((item, ind) => { + this.tableData.splice(index + ind, 0, item) + }) + } else { + this.tableData = this.tableData.concat(val) + } + this.productTableList.tableData = this.tableData this.showSummary.show = true }, // 浜у搧娓呯┖ @@ -894,6 +957,13 @@ handleProduct(item) { this.tableData[this.productListIdx].productId = Number(item.id) console.log(item, "閫変腑浜у搧", this.tableData) + }, + // 鑾峰彇鏀惰揣浠撳簱鍒楄〃 + async getWarehouseInfo() { + await getWarehouseInfo().then((res) => { + console.log(res) + this.receiveWhouseList = res.data.info + }) } } } -- Gitblit v1.8.0