From 01cea4bc73210e43f748d82a02a432cce615be2d Mon Sep 17 00:00:00 2001 From: haoxuan <haoxuan> Date: 星期二, 24 十月 2023 17:52:04 +0800 Subject: [PATCH] Merge branch 'dev' of http://192.168.5.5:10010/r/web/crm-web into wn --- src/views/sales/salesDetails/AddSalesDetailsDialog.vue | 172 +++++++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 148 insertions(+), 24 deletions(-) diff --git a/src/views/sales/salesDetails/AddSalesDetailsDialog.vue b/src/views/sales/salesDetails/AddSalesDetailsDialog.vue index e487891..a0745c3 100644 --- a/src/views/sales/salesDetails/AddSalesDetailsDialog.vue +++ b/src/views/sales/salesDetails/AddSalesDetailsDialog.vue @@ -24,8 +24,23 @@ <div class="basic-info-view"> <el-row> <el-col :span="12"> - <el-form-item label="璁㈠崟缂栧彿" prop="number"> - <WordInput + <el-form-item label="鏄庣粏鍗曠紪鍙�" prop="number"> + <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 +51,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"> @@ -100,6 +115,38 @@ @click="clearupClient('chance')" > <i class="el-icon-remove-outline"></i> + </div> + </div> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="閿�鍞瓙鍗�" prop="subbill_name"> + <div class="custom-name"> + <el-autocomplete + style="width: 100%" + v-model="editConfig.infomation.subbill_name" + :fetch-suggestions=" + (queryString, callback) => { + querySearchAsync(queryString, callback, 'subbill') + } + " + value-key="number" + @select="handleSelectClient('subbill', $event)" + :disabled="isNameChanceEdit" + ></el-autocomplete> + <div v-if="!isNameChanceEdit" class="common-select-btn" @click="selClientClick('subbill')"> + <i class="el-icon-circle-plus-outline" title="閫夋嫨"></i> + </div> + <div + v-if=" + editConfig.infomation.subbill_name && + editConfig.infomation.subbill_name.length > 0 && + !isNameChanceEdit + " + class="common-select-btn" + @click="clearupClient('subbill')" + > + <i class="el-icon-remove-outline" title="娓呴櫎"></i> </div> </div> </el-form-item> @@ -371,6 +418,12 @@ :edit-common-config="editSelectChanceConfig" @selClient="selClient" /> + <!-- 閿�鍞瓙鍗� --> + <SelectCommonDialog + v-if="editSelCommonConfig.editVisible" + :edit-common-config="editSelCommonConfig" + @selClient="selClient" + /> <!-- 鏂板缓 鏀舵璁″垝 --> <AddCollectionPlan v-if="addCollectionConfig.visible" :edit-common-config="addCollectionConfig" /> </el-dialog> @@ -384,7 +437,13 @@ import SelectClientDialog from "@/views/other/commonDialog/SelectClientDialog" import SelectChanceDialog from "@/views/other/commonDialog/SelectChanceDialog" import AddCollectionPlan from "@/views/other/payment/collectionPlan/AddCollectionPlan" -import codeMixin from "@/views/client/followupRecords/mixin/codeMixin" +import codeMixin from "@/components/makepager/mixin/codeMixin" +import { getSaleChanceList } from "@/api/sales/salesOpportunity" +import { getSubOrderList } from "@/api/sales/subOrder" +import SelectCommonDialog from "@/views/other/commonDialog/SelectCommonDialog" + +import { mapActions } from "vuex" + export default { name: "AddSalesDetailsDialog", mixins: [codeMixin], @@ -400,14 +459,17 @@ } } }, - components: { CommonFormTableView, SelectClientDialog, SelectChanceDialog, AddCollectionPlan }, + components: { CommonFormTableView, SelectClientDialog, SelectChanceDialog, AddCollectionPlan, SelectCommonDialog }, computed: { clientList() { return this.$store.state.getClientName.clientList - }, - saleChancelist() { - return this.$store.state.getClientName.saleChancelist } + // saleChancelist() { + // return this.$store.state.getClientName.saleChancelist + // }, + // subOrderList() { + // return this.$store.state.getClientName.subOrderList + // } }, data() { return { @@ -415,7 +477,8 @@ editConfig: this.editCommonConfig, rules: { client_name: [{ required: true, message: "璇烽�夋嫨瀹㈡埛鍚嶇О", trigger: "change" }], - number: [{ required: true, message: "璇疯緭鍏ヨ鍗曠紪鍙�", trigger: "blur" }], + // subbill_name: [{ required: true, message: "璇烽�夋嫨閿�鍞瓙鍗�", trigger: "change" }], + number: [{ required: true,validator: this.validateCheckCode, trigger: "blur" }], signTime: [{ required: true, message: "璇烽�夋嫨绛剧害鏃ユ湡", trigger: "change" }], memberId: [{ required: true, message: "璇烽�夋嫨閿�鍞礋璐d汉", trigger: "change" }] // approvalOpinion: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }] @@ -440,10 +503,17 @@ editSelectChanceConfig: { editVisible: false, title: "", + infomation: {}, + search_map: {} + }, + editSelCommonConfig: { + editVisible: false, + title: "", infomation: {} }, clientId: this.editCommonConfig.infomation.client_id, - saleChanceId: this.editCommonConfig.infomation.saleChanceId, + saleChanceId: this.editCommonConfig.infomation.sale_chance_id, + subbillId: this.editCommonConfig.infomation.subbillId, productId: 1, isNoProduct: true, addCollectionConfig: { @@ -457,13 +527,14 @@ }, created() { this.$store.dispatch("geClient") - this.$store.dispatch("geChance") + // this.$store.dispatch("geChance") + // this.$store.dispatch("getSubunit") this.setTableForm() this.getCommonData() this.formInfo() - if (this.editConfig.title === "鏂板缓" && this.editConfig.infomation.client_name.length > 0) { - this.isNameChanceEdit = true - } + // if (this.editConfig.title === "鏂板缓" && this.editConfig.infomation.client_name.length > 0) { + // this.isNameChanceEdit = true + // } // else { // } @@ -474,11 +545,9 @@ this.formInfo() } }, - "editClientManageConfig.infomation.codeStandID"() { - this.formInfo() - } }, methods: { + ...mapActions(["getChanceFilter", "getSubunitFliter"]), formInfo() { this.objCode.type = "閿�鍞槑缁嗙紪鐮�" this.objCode.codeStandID = "" @@ -491,7 +560,7 @@ getAllData() .then((res) => { this.memberOptions = res.data.member - this.dataProcess() + // this.dataProcess() }) .catch((err) => { console.log(err) @@ -508,7 +577,6 @@ saveClick(formName) { 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 @@ -574,7 +642,6 @@ logisticCompany: data.logisticCompany || "", logisticCost: data.logisticCost || 0, logisticNumber: data.logisticNumber || "", - codeRule: this.codeRule } let params = {} if (this.editConfig.title === "鏂板缓") { @@ -598,50 +665,107 @@ var restaurants = [] if (value === "client") { restaurants = this.clientList + console.log(restaurants, "瀹㈡埛鍗�") } else if (value === "chance") { restaurants = this.saleChancelist + } else if (value === "subbill") { + restaurants = this.subOrderList } - var results = queryString ? restaurants.filter(this.createStateFilter(queryString)) : restaurants + var results = queryString ? restaurants.filter(this.createStateFilter(queryString, value)) : restaurants cb(results) }, - createStateFilter(queryString) { + createStateFilter(queryString, value) { return (state) => { - return state.name.toLowerCase().indexOf(queryString.toLowerCase()) === 0 + if (value === "subbill") { + return state.number.toLowerCase().indexOf(queryString.toLowerCase()) === 0 + } else { + return state.name.toLowerCase().indexOf(queryString.toLowerCase()) === 0 + } } + }, + // 閿�鍞満浼氬垪琛� + async getSaleChanceList(item) { + await getSaleChanceList({ + page: 1, + pageSize: 15, + search_map: { + client_id: item.id + } + }).then((res) => { + console.log(res) + this.saleChancelist = res.data.list + }) + }, + // 閿�鍞瓙鍗曞垪琛� + async getSubOrderList(item) { + await getSubOrderList({ + page: 1, + pageSize: 15, + search_map: { + client_id: item.id + } + }).then((res) => { + this.subOrderList = res.data.list + }) }, handleSelectClient(value, item) { if (value === "client") { + this.editConfig.infomation.subbill_name ="" + this.editConfig.infomation.sale_chance_name="" this.clientId = item.id this.editConfig.infomation.client_name = item.name + this.getSaleChanceList(item) + this.getSubOrderList(item) } else if (value === "chance") { this.saleChanceId = item.id - this.editConfig.infomation.client_name = item.name + this.editConfig.infomation.sale_chance_name = item.name + } else if (value === "subbill") { + console.log("涓嬫媺妗嗙偣鍑�", item) + this.subbillId = item.id + this.editConfig.infomation.subbill_name = item.number } }, selClientClick(value) { if (value === "client") { this.editSelectClientConfig.editVisible = true } else if (value === "chance") { + this.editSelectChanceConfig.clientId = this.clientId this.editSelectChanceConfig.editVisible = true + } else if (value === "subbill") { + this.editSelCommonConfig.title = "閿�鍞瓙鍗�" + this.editSelCommonConfig.editVisible = true + this.editSelCommonConfig.clientId = this.clientId } }, selClient(row, value) { if (value === "client") { + this.editConfig.infomation.sale_chance_name="" + this.editConfig.infomation.subbill_name="" this.editConfig.infomation.client_name = row.name this.clientId = row.id + this.getSaleChanceList(row) + this.getSubOrderList(row) } else if (value === "chance") { this.editConfig.infomation.sale_chance_name = row.name this.saleChanceId = row.id + } else if (value === "subbill") { + this.editConfig.infomation.subbill_name = row.number + this.subbillId = row.id } }, // 娓呴櫎宸查�夋嫨鐢ㄦ埛 clearupClient(value) { if (value === "client") { + this.editConfig.infomation.sale_chance_name="" this.editConfig.infomation.client_name = "" + this.editConfig.infomation.subbill_name ="" this.clientId = 0 } else if (value === "chance") { this.editConfig.infomation.sale_chance_name = "" this.saleChanceId = 0 + } else if (value === "subbill") { + this.editConfig.infomation.subbill_name = "" + this.subbillId = 0 } }, // 娣诲姞闄勪欢 -- Gitblit v1.8.0