From af2b318da9d4c51b5b8afb2f4cefe86ff049bc7c Mon Sep 17 00:00:00 2001 From: songshankun <songshankun@foxmail.com> Date: 星期二, 17 十月 2023 21:16:45 +0800 Subject: [PATCH] feat: 添加缺失的请求 --- src/views/client/client/AddClientManageDialog.vue | 180 ++++++++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 120 insertions(+), 60 deletions(-) diff --git a/src/views/client/client/AddClientManageDialog.vue b/src/views/client/client/AddClientManageDialog.vue index 25552c5..c314122 100644 --- a/src/views/client/client/AddClientManageDialog.vue +++ b/src/views/client/client/AddClientManageDialog.vue @@ -13,7 +13,7 @@ :model="editConfig.infomation" :rules="rules" label-position="right" - label-width="308px" + label-width="130px" size="mini" style="height: 60vh; overflow-x: hidden" > @@ -24,17 +24,32 @@ <div class="basic-info-view"> <el-row> <el-col :span="12"> - <el-form-item label="瀹㈡埛鍚嶇О" prop="name"> - <div class="custom-name"> - <el-input v-model="editConfig.infomation.name"></el-input> - <div class="common-select-btn"><i class="el-icon-house" title="宸ュ晢鏌ヨ"></i></div> - <div class="common-select-btn"><i class="el-icon-search" title="鏌ラ噸"></i></div> - </div> + <el-form-item label="瀹㈡埛缂栧彿" prop="number"> + <WordInput + v-if="codenumer && (explain != '' || isIdDisabled)&&method == 0" + :codenumer="codenumer" + :sum="sum" + :disabled="this.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>鑷姩鐢熸垚</span> </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 label="瀹㈡埛鍚嶇О" prop="name"> + <div class="custom-name"> + <el-input v-model="editConfig.infomation.name"></el-input> + <!-- <div class="common-select-btn"><i class="el-icon-house" title="宸ュ晢鏌ヨ"></i></div> --> + <!-- <div class="common-select-btn"><i class="el-icon-search" title="鏌ラ噸"></i></div> --> + </div> </el-form-item> </el-col> <el-col :span="12"> @@ -59,7 +74,7 @@ v-model="editConfig.infomation.member_id" placeholder="璇烽�夋嫨" size="mini" - style="width: 63%" + style="width: 100%" > <el-option v-for="item in memberOptions" :key="item.id" :label="item.username" :value="item.id"> </el-option> @@ -106,7 +121,7 @@ v-model="editConfig.infomation.client_level_id" placeholder="璇烽�夋嫨" size="mini" - style="width: 63%" + style="width: 100%" > <el-option v-for="item in importantLevelOptions" :key="item.id" :label="item.name" :value="item.id"> </el-option> @@ -133,6 +148,7 @@ value-format="yyyy-MM-dd" type="date" placeholder="閫夋嫨鏃ユ湡" + style="width: 100%" > </el-date-picker> </el-form-item> @@ -144,6 +160,7 @@ value-format="yyyy-MM-dd" type="date" placeholder="閫夋嫨鏃ユ湡" + style="width: 100%" > </el-date-picker> </el-form-item> @@ -218,6 +235,7 @@ value-format="yyyy-MM-dd HH:mm:ss" type="datetime" placeholder="閫夋嫨鏃ユ湡鏃堕棿" + style="width: 100%" > </el-date-picker> </el-form-item> @@ -490,10 +508,12 @@ </template> <script> -import { getAllData, getAddClient, getUpdateClient } from "@/api/client/client" +import { getAllData, getAddClient, getUpdateClient, checkNameClient } from "@/api/client/client" import { getCityList } from "@/api/common/address" +import codeMixin from "@/views/client/followupRecords/mixin/codeMixin"; export default { name: "AddClientManageDialog", + mixins: [codeMixin], props: { editClientManageConfig: { type: Object, @@ -515,20 +535,36 @@ }, data() { return { - dialogWidth: "80%", + dialogWidth: "50%", editConfig: this.editClientManageConfig, rules: { - name: [{ required: true, message: "璇疯緭鍏ュ鎴峰悕绉�", trigger: "blur" }], - client_status_id: [{ required: true, message: "璇烽�夋嫨瀹㈡埛鐘舵��", trigger: "change" }], - member_id: [{ required: true, message: "璇烽�夋嫨閿�鍞礋璐d汉", trigger: "change" }], - approvalOpinion: [{ required: true, message: "璇疯緭鍏ュ鎵规剰瑙�", trigger: "blur" }], + number: [{ required: true, message: "璇疯緭鍏ュ鎴风紪鍙�", trigger: ["change",'blur' ]}], + name: [ + { required: true, message: "璇疯緭鍏ュ鎴峰悕绉�", trigger: ["change",'blur' ] }, + { + validator: this.checkNameClient, + trigger: ["change",'blur' ] + } + ], + client_status_id: [{ required: true, message: "璇烽�夋嫨瀹㈡埛鐘舵��", trigger: ["change",'blur' ] }], + member_id: [{ required: false, message: "璇烽�夋嫨閿�鍞礋璐d汉", trigger: ["change",'blur' ] }], + approvalOpinion: [{ required: true, message: "璇疯緭鍏ュ鎵规剰瑙�", trigger: ["change",'blur' ] }], + contact_name: [{ required: true, message: "璇疯緭鍏ヨ仈绯讳汉濮撳悕", trigger: ["change",'blur' ] }], contact_phone: [ - { required: false, message: "", trigger: "blur" }, - { len: 11, message: "闀垮害鍦�11涓瓧绗�", trigger: "blur" }, + { required: true, message: "璇疯緭鍏ヨ仈绯讳汉鎵嬫満", trigger:["change",'blur' ] }, + { len: 11, message: "闀垮害鍦�11涓瓧绗�", trigger: ["change",'blur' ] }, { pattern: /^1(3\d|4[5-9]|5[0-35-9]|6[2567]|7[0-8]|8\d|9[0-35-9])\d{8}$/, message: "璇疯緭鍏ユ纭殑鎵嬫満鍙�", - trigger: "blur" + trigger: ["change",'blur' ] + } + ], + contact_email: [ + { required: false, message: "", trigger: ["change",'blur' ] }, + { + pattern: /^[a-zA-Z0-9_\\.]+@[a-zA-Z0-9-]+[\\.a-zA-Z]+$/, + message: "璇疯緭鍏ユ纭殑閭鏍煎紡", + trigger: ["change",'blur' ] } ] }, @@ -546,7 +582,8 @@ provinceOptions: [], // 鐪佷唤 cityOptions: [], // 鍩庡競 regionOptions: [], // 鍖哄煙 - approvalWorkflowOptions: [] // 瀹℃壒娴佺▼ + approvalWorkflowOptions: [], // 瀹℃壒娴佺▼ + clientName: this.editClientManageConfig.infomation.name } }, created() { @@ -554,8 +591,27 @@ this.getCityList(this.editConfig.infomation.province_id, "edit") } this.getCommonData() + this.formInfo(); + }, + watch:{ + 'editClientManageConfig.visible'(val){ + if(val){ + this.formInfo() + } + }, + 'editClientManageConfig.infomation.codeStandID'(){ + 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() { this.editConfig.infomation.country_id = 1 this.editConfig.infomation.province_id = @@ -589,49 +645,40 @@ }, // 淇濆瓨 saveClick(formName) { + this.$refs[formName].validate((valid) => { + this.validateFormNumber() if (valid) { console.log(this.editConfig.infomation) const params = this.saveParams() console.log(params) if (this.editConfig.title === "鏂板缓") { - getAddClient(params) - .then((res) => { - console.log(res) - this.editConfig.visible = false - if (res.code === 200) { - this.$message({ - message: "娣诲姞鎴愬姛", - type: "success" - }) - if (this.editConfig.isSalesOpportunity) { - this.$emit("salesOpportunityClick", this.editConfig.infomation) - } else if (this.editConfig.title === "鏂板缓" && this.editConfig.infomation.sales_leads_id) { - this.$parent.handleClose() - } else { - this.$parent.getData() - } - } - }) - .catch((err) => { - console.log(err) - }) - } else { - getUpdateClient(params) - .then((res) => { - console.log(res) - this.editConfig.visible = false - if (res.code === 200) { - this.$message({ - message: "缂栬緫鎴愬姛", - type: "success" - }) + getAddClient(params).then((res) => { + console.log(res) + this.editConfig.visible = false + if (res.code === 200) { + this.$message.success("娣诲姞鎴愬姛") + if (this.editConfig.isSalesOpportunity) { + this.$emit("salesOpportunityClick", this.editConfig.infomation) + } else if (this.editConfig.title === "鏂板缓" && this.editConfig.infomation.sales_leads_id) { + this.$parent.handleClose() + } else { this.$parent.getData() } - }) - .catch((err) => { - console.log(err) - }) + if (this.editConfig.isResh) { + this.$emit("reshData") + } + } + }) + } else { + getUpdateClient(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") @@ -683,7 +730,10 @@ remark: data.remark || "", representative: data.representative || "", service_member_id: data.service_member_id || 0, - sales_leads_id: data.sales_leads_id || 0 + sales_leads_id: data.sales_leads_id || 0, + contact_id: data.contact_id || 0, + codeStandID:data.ID, + codeRule:this.codeRule, } return params }, @@ -704,13 +754,23 @@ async getCityList(val, value) { await getCityList({ province_id: val }).then((res) => { console.log(res) - if (res.data.code === 200) { - this.cityOptions = res.data.data.list + if (res.code === 200) { + this.cityOptions = res.data.list if (value === "sel") { this.editConfig.infomation.city_id = "" } } }) + }, + // 鏌ラ噸 + async checkNameClient(rule, value, callback) { + if (this.editConfig.title === "鏂板缓" || this.clientName !== this.editConfig.infomation.name) { + await checkNameClient({ name: value }).then((res) => { + if (res.data.code === 700001) { + return callback(new Error("瀹㈡埛鍚嶇О閲嶅")) + } + }) + } } } } @@ -744,7 +804,7 @@ } .common-select { .common-select-sel { - width: 270px; + width: 100%; } } } -- Gitblit v1.8.0