From d4f4c52402b91cb8e17c1845da71c5e39662fde0 Mon Sep 17 00:00:00 2001 From: yangfeng <wanwan926_4@163.com> Date: 星期三, 03 一月 2024 15:28:06 +0800 Subject: [PATCH] 销售报价单列表页增加统计内容及接口联调、添加报价单天天客户名称及对应限制功能 --- src/views/sales/salesReturn/AddSalesReturnDialog.vue | 57 ++++++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 44 insertions(+), 13 deletions(-) diff --git a/src/views/sales/salesReturn/AddSalesReturnDialog.vue b/src/views/sales/salesReturn/AddSalesReturnDialog.vue index 814a295..784e0f2 100644 --- a/src/views/sales/salesReturn/AddSalesReturnDialog.vue +++ b/src/views/sales/salesReturn/AddSalesReturnDialog.vue @@ -25,7 +25,20 @@ <el-row> <el-col :span="12"> <el-form-item label="閿�鍞��璐у崟缂栧彿" prop="number"> - <WordInput + <el-input + v-if=" + editConfig.title == '缂栬緫' || + (editConfig.title == '鏂板缓' && codenumer && (explain != '' || isIdDisabled)) + " + :disabled="editConfig.title == '缂栬緫'" + v-model="editConfig.infomation.number" + placeholder="璇疯緭鍏ョ紪鐮�" + > + </el-input> + <span v-else-if="editConfig.title == '鏂板缓'" style="color: #f56c6c" + >璇蜂紭鍏堥厤缃紪鐮佽鑼� <el-button type="text" @click="numberClick"> 閰嶇疆瑙勮寖 </el-button></span + > + <!-- <WordInput v-if="codenumer && (explain != '' || isIdDisabled) && method == 0" :codenumer="codenumer" :sum="sum" @@ -36,7 +49,7 @@ <span v-else-if="method == 0" style="color: #f56c6c" >璇蜂紭鍏堥厤缃紪鐮佽鑼� <el-button type="text" @click="numberClick"> 閰嶇疆瑙勮寖 </el-button></span > - <span v-else>{{ editConfig.title === "鏂板缓" ? "鑷姩鐢熸垚" : editConfig.infomation.number }}</span> + <span v-else>{{ editConfig.title === "鏂板缓" ? "鑷姩鐢熸垚" : editConfig.infomation.number }}</span> --> </el-form-item> </el-col> <el-col :span="12"> @@ -249,7 +262,7 @@ import SelectClientDialog from "@/views/other/commonDialog/SelectClientDialog" // import { getProductList } from "@/api/common/other" import SelectCommonDialog from "@/views/other/commonDialog/SelectCommonDialog" -import codeMixin from "@/views/client/followupRecords/mixin/codeMixin" +import codeMixin from "@/components/makepager/mixin/codeMixin" import { getSalesDetailsList } from "@/api/sales/salesDetails" // import { mapActions } from "vuex" @@ -282,9 +295,9 @@ dialogWidth: "50%", editConfig: this.editCommonConfig, rules: { - number: [{ required: true, message: "璇疯緭鍏ラ攢鍞��璐у崟鍙�", trigger: "blur" }], + number: [{ required: true, validator: this.validateCheckCode, trigger: ["blur", "change"] }], repository: [{ required: true, message: "璇烽�夋嫨閫�鍏ヤ粨搴�", trigger: "change" }], - memberId: [{ required: true, message: "璇烽�夋嫨璐熻矗浜�", trigger: "change" }], + memberId: [{ required: true, validator: this.validateMemberId, trigger: "change" }], salesDetailNumber: [{ required: true, message: "璇烽�夋嫨閿�鍞槑缁嗗崟", trigger: "change" }] }, memberOptions: [], @@ -335,9 +348,6 @@ if (val) { this.formInfo() } - }, - "editClientManageConfig.infomation.codeStandID"() { - this.formInfo() } }, methods: { @@ -354,6 +364,14 @@ getAllData() .then((res) => { this.memberOptions = res.data.member + if (this.editConfig.title === "鏂板缓") { + let username = document.cookie.replace(/(?:(?:^|.*;\s*)username\s*=\s*([^;]*).*$)|^.*$/, "$1") + this.memberOptions.map((item) => { + if (item.username == username) { + this.$set(this.editConfig.infomation, "memberId", item.id) + } + }) + } this.repositoryOptions = res.data.repository this.statusOptions = res.data.salesReturnStatus }) @@ -375,7 +393,6 @@ // 淇濆瓨 saveClick(formName) { this.$refs[formName].validate((valid) => { - this.validateFormNumber() if (valid) { console.log(this.editConfig.infomation) for (let i = 0; i < this.selProductData.length; i++) { @@ -431,8 +448,7 @@ returnDate: data.returnDate || "", salesReturnStatusId: data.salesReturnStatusId || 0, sourceId: this.SalesDetailsId, - sourceType: 1, - codeRule: this.codeRule + sourceType: 1 } } return params @@ -453,8 +469,14 @@ this.tableData = item.products this.tableData.map((item, index) => { item.productId = index + 1 + this.selProductData.forEach((key) => { + if (item.number === key.number) { + item.amount = key.amount + item.id = key.id + } + }) }) - this.productTableList.tableData = item.products + this.productTableList.tableData = this.tableData this.selProductData.forEach((key) => { this.tableData.forEach((row) => { if (key.number === row.number) { @@ -530,6 +552,7 @@ this.editConfig.infomation.salesDetailNumber = "" this.editConfig.infomation.client_name = "" this.clientId = 0 + this.productTableList.tableData = [] } else if (value === "contract") { this.editConfig.infomation.salesDetailNumber = "" this.productTableList.tableData = [] @@ -554,6 +577,7 @@ { label: "浜у搧鍚嶇О", prop: "name", productName: true, isRequird: true }, { label: "浜у搧缂栧彿", prop: "number" }, { label: "鏁伴噺", prop: "amount", inputNumber: true, isRequird: true }, + { label: "鍗曚綅", prop: "unit" }, { label: "閿�鍞崟浠�", prop: "price", inputFloat: true }, { label: "浠风◣鍚堣", prop: "total", inputFloat: true } ] @@ -570,8 +594,15 @@ }, // 閫夋嫨浜у搧 getSelectArray(val) { - console.log(val, "cccccccccccccccccc") this.selProductData = val + }, + // 閿�鍞礋璐d汉鑷畾涔夋牎楠岃鍒� + validateMemberId(rule, value, callback) { + if (this.editConfig.infomation?.memberId > 0) { + callback() + } else { + callback(new Error("璇烽�夋嫨閿�鍞礋璐d汉")) + } } } } -- Gitblit v1.8.0