From 53f2ab450f00d2f1ddb9cedfc5823b34af0d5545 Mon Sep 17 00:00:00 2001 From: haoxuan <haoxuan> Date: 星期三, 30 八月 2023 16:18:09 +0800 Subject: [PATCH] 采购订单的 价格调整 ,折扣调整 接口对接 采购质检单 列表接口对接 --- src/views/purchaseManage/purchase/components/AddPurchase.vue | 104 ++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 77 insertions(+), 27 deletions(-) diff --git a/src/views/purchaseManage/purchase/components/AddPurchase.vue b/src/views/purchaseManage/purchase/components/AddPurchase.vue index 7205625..28b4ccd 100644 --- a/src/views/purchaseManage/purchase/components/AddPurchase.vue +++ b/src/views/purchaseManage/purchase/components/AddPurchase.vue @@ -166,7 +166,9 @@ :show-summary="showSummary" :recalculateShow="false" :product-table-list="productTableList" + sign="purchase" @inputContent="inputContent" + @getSummaries="getSummaries" @addProductClick="addProductClick" @emptyProductClick="emptyProductClick" @clearupProduct="clearupProduct" @@ -180,6 +182,7 @@ v-model="editConfig.infomation.wholeDiscountType" placeholder="璇烽�夋嫨" filterable + @change="getTotal" > <el-option label="鐧惧垎姣旈檷浠�" :value="1"></el-option> <el-option label="鐩存帴闄嶄环" :value="2"></el-option> @@ -191,6 +194,8 @@ <el-input v-model="editConfig.infomation.wholeDiscount" size="mini" + :disabled="editConfig.infomation.wholeDiscountType?false:true" + @change="getTotal" placeholder="璇峰~鍐�" ></el-input> </el-form-item> @@ -203,6 +208,7 @@ v-model="editConfig.infomation.priceAdjustmentType" placeholder="璇烽�夋嫨" filterable + @change="getTotal" > <el-option label="澧炲姞" :value="1"></el-option> <el-option label="鍑忓皯" :value="2"></el-option> @@ -214,6 +220,8 @@ <el-input v-model="editConfig.infomation.priceAdjustment" size="mini" + :disabled="editConfig.infomation.priceAdjustmentType?false:true" + @change="getTotal" placeholder="璇峰~鍐�" ></el-input> </el-form-item> @@ -221,7 +229,7 @@ </div> <div class="table-bottom-item"> <div class="table-bottom-l">鍚堣</div> - <div class="table-bottom-r">{{ editConfig.infomation.realTotalPrice }}</div> + <div class="table-bottom-r">{{ total }}</div> </div> </div> </div> @@ -297,7 +305,7 @@ wholeDiscount: [ { required: false, - message: "璇峰~鍐�", + message: "璇峰~鍐�0-100鐨勬暟瀛�", trigger: "change", }, { validator: this.validatorNum, trigger: "change" }, @@ -316,6 +324,7 @@ show: true, total: false, sumProp: ["price", "total"], + multiply:['amount','price'], titleProp: [ "缂栧彿", "浜у搧鍚嶇О", @@ -326,6 +335,7 @@ "鎻忚堪", ], mergeNumber: 4, + totalName:'灏忚' }, editSelectSupplierConfig: { editVisible: false, @@ -340,11 +350,13 @@ plcBrandList:[], editRow:{ isDefault:'pin' - } + }, + total:0, + totalTwo:0, }; }, created() { - this.setTableForm(); + this.handleGetBomKindDictList(); }, computed: { }, @@ -353,26 +365,30 @@ immediate:true, handler:function(){ - this.setTableForm(); + this.handleGetBomKindDictList(true); } } }, methods: { validatorNum(rule, value, callback) { - if (value) { - if (value == undefined || value == null) { + if(this.editConfig.infomation.wholeDiscountType==1){ + if(value==undefined||value==null||(!value&&value!=0)){ callback(new Error("璇疯緭鍏ユ湁鏁堟暟瀛�")); - } else { - var reg = /^\+?[0-9]\d*$/; - if (!reg.test(value)) { - callback(new Error("璇峰~鍐欎笉灏忎簬0鐨勬暟瀛�")); - } else { - callback(); + }else{ + var reg=/^\+?[0-9]\d*$/ + if(!reg.test(value)){ + callback(new Error('璇峰~鍐�0-100鐨勬暟瀛�')) + }else{ + if(Number(value)>100){ + callback(new Error('璇峰~鍐�0-100鐨勬暟瀛�')) + }else{ + callback() + } } - } - } else { - callback(); - } + } + }else{ + this.validatorNumThree(rule, value, callback) + } }, validatorNumThree(rule, value, callback){ if(value){ @@ -397,9 +413,9 @@ }, // PLC閰嶇疆 handleGetBomKindDictList(val) { - console.log(val,'val') getPurchaseType().then((res) => { this.plcBrandList = res.data; + this.setTableForm() if (val) { for (let i in this.plcBrandList) { if (this.plcBrandList[i][this.editRow.isDefault]) { @@ -492,6 +508,13 @@ }, saveParams() { let data =JSON.parse(JSON.stringify(this.editConfig.infomation)); + + if(this.editConfig.infomation.wholeDiscountType==2&&this.editConfig.infomation.wholeDiscount){ + if(Number(this.editConfig.infomation.wholeDiscount)>Number(this.totalTwo)){ + this.$message.error('鐩存帴闄嶄环涓嶈兘瓒呰繃浠风◣鍚堣鐨勬�诲拰锛�') + return true; + } + } let params = { productList:this.tableData, purchase:{ @@ -504,11 +527,12 @@ name:data.name||'', deliveryDate:data.deliveryDate||'', contact:data.contact, - wholeDiscountType:data.wholeDiscountType, - wholeDiscount:Number(data.wholeDiscount), - priceAdjustmentType:data.priceAdjustmentType, - priceAdjustment:Number(data.priceAdjustment), - realTotalPrice:data.realTotalPrice||'', + wholeDiscountType:data.wholeDiscountType?data.wholeDiscountType:0, + wholeDiscount:data.wholeDiscount?Number(data.wholeDiscount):0, + priceAdjustmentType:data.priceAdjustmentType?data.priceAdjustmentType:0, + priceAdjustment:data.priceAdjustment?Number(data.priceAdjustment):0, + realTotalPrice:this.total?Number(this.total):0, + totalPrice:this.totalTwo?Number(this.totalTwo):0, } }; if(data.ID){ @@ -589,11 +613,11 @@ { label: "浜у搧鍚嶇О", prop: "name", - min: 170, + min: 180, productName: true, isRequird: true, }, - { label: "浜у搧缂栧彿", prop: "number" }, + { label: "浜у搧缂栧彿", prop: "number", min: 150,}, { label: "璁¢噺鍗曚綅", prop: "unit" }, { label: "瑙勬牸鍨嬪彿", prop: "specifications" }, { label: "鏁伴噺", prop: "amount", inputNumber: true, isRequird: true }, @@ -603,11 +627,12 @@ inputFloat: true, isRequird: true, }, - { label: "浠风◣鍚堣", prop: "total", inputFloat: true }, + { label: "浠风◣鍚堣", prop: "total", inputFloat: true,disabled:true,multiply:true, }, { label: "鎻忚堪", prop: "remark", input: true }, ], }; - this.handleGetBomKindDictList(true); + this.toal=this.editConfig.infomation.realTotalPrice + }, // 浜у搧鍒楄〃杈撳叆 inputContent(val, prop, row) { @@ -617,6 +642,31 @@ item[prop] = val; } }); + + }, + getSummaries(total){ + this.totalTwo= JSON.parse(JSON.stringify(total)); + this.total=total; + this.getTotal() + }, + getTotal(){ + let prie=0 + if(this.editConfig.infomation.priceAdjustmentType==1){ + prie=Number(this.editConfig.infomation.priceAdjustment) + }else if(this.editConfig.infomation.priceAdjustmentType==2){ + prie=(-1)*Number(this.editConfig.infomation.priceAdjustment) + }else{ + prie=0 + } + let t=0 + if(this.editConfig.infomation.wholeDiscountType==1){ + t=this.totalTwo*Number(this.editConfig.infomation.wholeDiscount)/100 + }else if(this.editConfig.infomation.wholeDiscountType==2){ + t=Number(this.editConfig.infomation.wholeDiscount) + }else{ + t=0 + } + this.total=this.totalTwo-t+Number(prie) }, // 浜у搧鏂板 addProductClick() { -- Gitblit v1.8.0