From ec77d5b6a4d6be3423b7723cf5e1333f599b0751 Mon Sep 17 00:00:00 2001 From: haoxuan <haoxuan> Date: 星期一, 04 三月 2024 17:58:19 +0800 Subject: [PATCH] 销售机会模块 新建操作的时候,销售阶段默认为初期沟通+销售预测的币种默认人民币+产品管理部分币种隐藏 --- src/views/sales/subOrder/AddSubOrderDialog.vue | 143 ++++++++++++++++++++++++++++++----------------- 1 files changed, 92 insertions(+), 51 deletions(-) diff --git a/src/views/sales/subOrder/AddSubOrderDialog.vue b/src/views/sales/subOrder/AddSubOrderDialog.vue index ad0f153..f37f656 100644 --- a/src/views/sales/subOrder/AddSubOrderDialog.vue +++ b/src/views/sales/subOrder/AddSubOrderDialog.vue @@ -167,9 +167,11 @@ <div class="product-view"> <CommonFormTableView :show-summary="showSummary" + :addTypeIdMultiple="true" :product-table-list="productTableList" @inputContent="inputContent" @addProductClick="addProductClick" + @getSelectArray="getSelectArray" @emptyProductClick="emptyProductClick" @recalculateProductClick="recalculateProductClick" @clearupProduct="clearupProduct" @@ -239,7 +241,7 @@ number: [{ required: true, validator: this.validateCheckCode, trigger: ["blur", "change"] }], master_order_number: [{ required: true, message: "璇烽�夋嫨鎴栧垱寤洪攢鍞�诲崟", trigger: "blur" }], client_name: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }], - memberId: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }] + memberId: [{ required: true, validator: this.validateMemberId, trigger: "change" }] }, memberOptions: [], discount: "2", @@ -308,7 +310,15 @@ console.log(res) if (res.code === 200) { this.memberOptions = res.data.member - this.$set(this.editConfig.infomation, "memberId", this.editConfig.infomation.memberId) + // this.$set(this.editConfig.infomation, "memberId", this.editConfig.infomation.memberId) + 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.dataProcess() } }) @@ -338,53 +348,59 @@ this.$refs[formName].validate((valid) => { if (valid) { console.log(this.editConfig.infomation) - for (let i = 0; i < this.tableData.length; i++) { - if (this.tableData[i].name.length === 0) { - this.isNoProduct = true - break - } else { - this.isNoProduct = false - } - } - if (this.isNoProduct) { - this.$message.error("浜у搧鍚嶇О涓嶈兘涓虹┖") + // for (let i = 0; i < this.tableData.length; i++) { + // if (this.tableData[i].name.length === 0) { + // this.isNoProduct = true + // break + // } else { + // this.isNoProduct = false + // } + // } + // if (this.isNoProduct) { + // this.$message.error("浜у搧鍚嶇О涓嶈兘涓虹┖") + // } else { + const params = this.saveParams() + if (this.editConfig.title === "鏂板缓") { + getAddSubOrder(params).then((res) => { + console.log(res) + this.editConfig.visible = false + if (res.code === 200) { + this.$message.success("娣诲姞鎴愬姛") + this.$parent.getData() + } + }) } else { - const params = this.saveParams() - if (this.editConfig.title === "鏂板缓") { - getAddSubOrder(params).then((res) => { - console.log(res) - this.editConfig.visible = false - if (res.code === 200) { - this.$message.success("娣诲姞鎴愬姛") - this.$parent.getData() - } - }) - } else { - getUpdateSubOrder(params).then((res) => { - console.log(res) - this.editConfig.visible = false - if (res.code === 200) { - this.$message.success("缂栬緫鎴愬姛") - this.$parent.getData() - } - }) - } + getUpdateSubOrder(params).then((res) => { + console.log(res) + this.editConfig.visible = false + if (res.code === 200) { + this.$message.success("缂栬緫鎴愬姛") + this.$parent.getData() + } + }) } - } else { - console.log("error submit") - return false } + // } else { + // console.log("error submit") + // return false + // } }) }, saveParams() { let data = this.editConfig.infomation + let products = [] + this.tableData.map((item) => { + if (item.number.length > 0) { + products.push(item) + } + }) let params = { id: this.editConfig.title === "鏂板缓" ? 0 : data.id, clientId: this.clientId || 0, masterOrderId: this.masterId || 0, memberId: data.memberId || 0, number: data.number || "", - product: this.tableData, + product: products, codeStandID: data.ID } return params @@ -507,8 +523,9 @@ } this.productTableList = { tableData: this.tableData, + isReturn: true, tableColumn: [ - { label: "#", prop: "productId", width: 40 }, + // { label: "#", prop: "productId", width: 40 }, { label: "浜у搧鍚嶇О", prop: "name", productName: true, isRequird: true }, { label: "浜у搧缂栧彿", prop: "number" }, { label: "鏁伴噺", prop: "amount", inputNumber: true, isRequird: true }, @@ -520,27 +537,43 @@ }, // 浜у搧鍒楄〃杈撳叆 inputContent(val, prop, row) { - this.productId = row.productId + // this.productId = row.productId this.tableData.map((item) => { - if (item.productId === row.productId) { + if (item.number === row.number) { item[prop] = val } }) }, // 浜у搧鏂板 addProductClick() { - this.productId++ - this.tableData.push({ - productId: this.productId, - id: 0, - amount: 0, - desc: "", - name: "", - number: "", - price: 0, - total: 0, - unit: "" - }) + // this.productId++ + // this.tableData.push({ + // productId: this.productId, + // id: 0, + // amount: 0, + // desc: "", + // name: "", + // number: "", + // price: 0, + // total: 0, + // unit: "" + // }) + // this.showSummary.show = true + }, + // 鏂板鏂瑰紡淇敼 + getSelectArray(val, index) { + 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 }, // 浜у搧娓呯┖ @@ -566,6 +599,14 @@ clearupProduct(data) { this.tableData = data this.productTableList.tableData = this.tableData + }, + // 璐熻矗浜鸿嚜瀹氫箟鏍¢獙瑙勫垯 + validateMemberId(rule, value, callback) { + if (this.editConfig.infomation?.memberId > 0) { + callback() + } else { + callback(new Error("璇疯緭鍏ヨ礋璐d汉")) + } } } } -- Gitblit v1.8.0