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/service/serviceFollowup/AddServiceFollowupDialog.vue | 101 +++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 87 insertions(+), 14 deletions(-) diff --git a/src/views/service/serviceFollowup/AddServiceFollowupDialog.vue b/src/views/service/serviceFollowup/AddServiceFollowupDialog.vue index ee12a2c..4b37119 100644 --- a/src/views/service/serviceFollowup/AddServiceFollowupDialog.vue +++ b/src/views/service/serviceFollowup/AddServiceFollowupDialog.vue @@ -13,7 +13,7 @@ :model="editConfig.infomation" :rules="rules" label-position="right" - label-width="308px" + label-width="168px" size="mini" style="height: 60vh; overflow-x: hidden" > @@ -23,6 +23,35 @@ <div class="basic-info-title">鍩烘湰淇℃伅</div> <div class="basic-info-view"> <el-row> + <el-col :span="12"> + <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" + :disabled="editConfig.title !== '鏂板缓' || isIdDisabled" + :inputValue="inputValue" + @codeList="codeList" + /> + <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> --> + </el-form-item> + </el-col> <el-col :span="12"> <el-form-item label="瀹㈡埛鍚嶇О" prop="client_name"> <div class="custom-name"> @@ -35,6 +64,7 @@ " value-key="name" @select="handleSelectClient('client', $event)" + style="width: 100%" ></el-autocomplete> <div class="common-select-btn" @click="selClientClick('client')"> <i class="el-icon-circle-plus-outline" title="閫夋嫨"></i> @@ -50,11 +80,6 @@ </el-form-item> </el-col> <el-col :span="12"> - <el-form-item label="鍥炶鍗曠紪鍙�" prop="number"> - <el-input v-model="editConfig.infomation.number"></el-input> - </el-form-item> - </el-col> - <el-col :span="12"> <el-form-item label="鑱旂郴浜哄鍚�" prop="contact_name"> <div class="custom-name"> <el-autocomplete @@ -66,6 +91,7 @@ " value-key="name" @select="handleSelectClient('contact', $event)" + style="width: 100%" ></el-autocomplete> <div class="common-select-btn" @click="selClientClick('contact')"> <i class="el-icon-circle-plus-outline" title="閫夋嫨"></i> @@ -92,6 +118,7 @@ " value-key="serviceNumber" @select="handleSelectClient('customService', $event)" + style="width: 100%" ></el-autocomplete> <div class="common-select-btn" @click="selClientClick('customService')"> <i class="el-icon-circle-plus-outline" title="閫夋嫨"></i> @@ -108,7 +135,7 @@ </el-col> <el-col :span="12"> <el-form-item label="鍥炶浜�" prop="memberId"> - <el-select v-model="editConfig.infomation.memberId" size="mini"> + <el-select v-model="editConfig.infomation.memberId" size="mini" style="width: 100%"> <el-option v-for="item in memberOptions" :key="item.id" :label="item.username" :value="item.id"> </el-option> </el-select> @@ -131,6 +158,7 @@ placeholder="璇烽�夋嫨" class="common-select-sel" size="mini" + style="width: 100%" > <el-option v-for="item in satisfactionOptions" :key="item.id" :label="item.name" :value="item.id"> </el-option> @@ -147,6 +175,7 @@ placeholder="璇烽�夋嫨" class="common-select-sel" size="mini" + style="width: 100%" > <el-option v-for="item in timelyRateOptions" :key="item.id" :label="item.name" :value="item.id"> </el-option> @@ -163,6 +192,7 @@ placeholder="璇烽�夋嫨" class="common-select-sel" size="mini" + style="width: 100%" > <el-option v-for="item in solveRateOptions" :key="item.id" :label="item.name" :value="item.id"> </el-option> @@ -173,7 +203,7 @@ </el-col> <el-col :span="12"> <el-form-item label="鍘熸湇鍔′汉鍛�" prop="oldMemberId"> - <el-select v-model="editConfig.infomation.oldMemberId" size="mini"> + <el-select v-model="editConfig.infomation.oldMemberId" size="mini" style="width: 100%"> <el-option v-for="item in oldMemberOptions" :key="item.id" :label="item.username" :value="item.id"> </el-option> </el-select> @@ -187,6 +217,7 @@ placeholder="璇烽�夋嫨" class="common-select-sel" size="mini" + style="width: 100%" > <el-option v-for="item in isVisitOptions" :key="item.id" :label="item.name" :value="item.id"> </el-option> @@ -274,8 +305,10 @@ import SelectClientDialog from "@/views/other/commonDialog/SelectClientDialog" import SelectContactDialog from "@/views/other/commonDialog/SelectContactDialog" import SelectCommonDialog from "@/views/other/commonDialog/SelectCommonDialog" +import codeMixin from "@/components/makepager/mixin/codeMixin" export default { name: "AddServiceFollowupDialog", + mixins: [codeMixin], props: { editCommonConfig: { type: Object, @@ -302,11 +335,13 @@ }, data() { return { - dialogWidth: "80%", + dialogWidth: "50%", editConfig: this.editCommonConfig, rules: { - number: [{ required: true, message: "璇疯緭鍏ュ洖璁垮崟鍗曠紪鍙�", trigger: "blur" }], - memberId: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }] + number: [{ required: true, validator: this.validateCheckCode, trigger: ["blur", "change"] }], + client_name: [{ required: true, message: "璇烽�夋嫨瀹㈡埛鍚嶇О", trigger: "change" }], + service_number: [{ required: true, message: "璇烽�夋嫨瀹㈡埛鏈嶅姟鍗�", trigger: "change" }], + memberId: [{ required: true, validator: this.validateMemberId, trigger: "change" }] }, satisfactionOptions: [], // 婊℃剰搴� timelyRateOptions: [], // 鍙婃椂鐜� @@ -339,17 +374,47 @@ this.$store.dispatch("geContact") this.$store.dispatch("geServiceOrder") this.getCommonData() + this.formInfo() + }, + watch: { + "editCommonConfig.visible"(val) { + if (val) { + this.formInfo() + } + } }, methods: { + formInfo() { + this.objCode.type = "鏈嶅姟鍥炶缂栫爜" + this.objCode.codeStandID = "" + if (this.editConfig.infomation.codeStandID) { + this.objCode.codeStandID = this.editConfig.infomation.codeStandID + } + this.getRCodeStandardList() + }, getCommonData() { getAllData() .then((res) => { this.memberOptions = res.data.member + // 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.satisfactionOptions = res.data.satisfaction // 婊℃剰搴� + this.$set(this.editConfig.infomation, "satisfactionId", this.editConfig.infomation.satisfactionId) this.timelyRateOptions = res.data.timely_rate // 鍙婃椂鐜� + this.$set(this.editConfig.infomation, "timelyRateId", this.editConfig.infomation.timelyRateId) this.solveRateOptions = res.data.solve_rate // 瑙e喅鐜� + this.$set(this.editConfig.infomation, "solveRateId", this.editConfig.infomation.solveRateId) this.oldMemberOptions = res.data.member // 鍘熸湇鍔′汉鍛� + this.$set(this.editConfig.infomation, "oldMemberId", this.editConfig.infomation.oldMemberId) this.isVisitOptions = res.data.isVisit // 鏈嶅姟浜哄憳鏄惁鏉ヨ繃 + this.$set(this.editConfig.infomation, "isVisitId", this.editConfig.infomation.isVisitId) }) .catch((err) => { console.log(err) @@ -361,7 +426,6 @@ if (valid) { console.log(this.editConfig.infomation) const params = this.saveParams() - console.log(params) if (this.editConfig.title === "鏂板缓") { getAddServiceFollowup(params).then((res) => { console.log(res) @@ -403,7 +467,8 @@ satisfaction: data.satisfactionId || 0, serviceOrderId: this.serviceOrderId || 0, solveRate: data.solveRateId || 0, - timelyRate: data.timelyRateId || 0 + timelyRate: data.timelyRateId || 0, + codeStandID: data.ID } return params }, @@ -483,7 +548,15 @@ // 娣诲姞闄勪欢 addAnnexClick() {}, // 璁剧疆鍏佽涓婁紶鏂囦欢鏍煎紡 - setFormatClick() {} + setFormatClick() {}, + // 鍥炶浜鸿嚜瀹氫箟鏍¢獙瑙勫垯 + validateMemberId(rule, value, callback) { + if (this.editConfig.infomation?.memberId > 0) { + callback() + } else { + callback(new Error("璇烽�夋嫨鍥炶浜�")) + } + } } } </script> -- Gitblit v1.8.0