From 6050b02cd808a9af2070d61e3b278e3407b845ca Mon Sep 17 00:00:00 2001 From: yangfeng <wanwan926_4@163.com> Date: 星期四, 30 十一月 2023 14:17:36 +0800 Subject: [PATCH] 新建选择负责人修改 --- src/views/client/salesLead/AddSalesLeadDialog.vue | 269 +++++++++++++++++++++++++++++++++-------------------- 1 files changed, 168 insertions(+), 101 deletions(-) diff --git a/src/views/client/salesLead/AddSalesLeadDialog.vue b/src/views/client/salesLead/AddSalesLeadDialog.vue index 179850f..a804ec8 100644 --- a/src/views/client/salesLead/AddSalesLeadDialog.vue +++ b/src/views/client/salesLead/AddSalesLeadDialog.vue @@ -11,7 +11,7 @@ :model="editConfig.infomation" :rules="rules" label-position="right" - label-width="308px" + label-width="130px" size="mini" > <!-- 淇℃伅 --> @@ -21,17 +21,45 @@ <div class="basic-info-view"> <el-row> <el-col :span="12"> - <el-form-item label="瀹㈡埛鍚嶇О" prop="name"> - <el-input v-model="editConfig.infomation.name"></el-input> + <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="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"> + <el-input v-model="editConfig.infomation.name" style="width: 100%"></el-input> </el-form-item> </el-col> - </el-row> - <el-row> + <!-- </el-row> + <el-row> --> <el-col :span="12"> <el-form-item label="鑱旂郴浜哄鍚�" prop="contact_name"> <el-input v-model="editConfig.infomation.contact_name"></el-input> @@ -42,22 +70,27 @@ <el-input v-model="editConfig.infomation.contact_position"></el-input> </el-form-item> </el-col> - </el-row> - <el-row> + <!-- </el-row> + <el-row> --> <el-col :span="12"> <el-form-item label="鎵嬫満鍙风爜" prop="contact_phone"> - <el-input v-model="editConfig.infomation.contact_phone"></el-input> + <el-input + v-model="editConfig.infomation.contact_phone" + maxlength="11" + show-word-limit + oninput="value=value.replace(/[^\d]/g,'')" + ></el-input> </el-form-item> </el-col> <el-col :span="12"> - <el-form-item label="鍟嗘満鐘舵��" prop="businessStatus"> + <el-form-item label="绾跨储鐘舵��" prop="businessStatus"> <span>{{ editConfig.infomation.businessStatus }}</span> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="12"> - <el-form-item label="鍟嗘満鏉ユ簮" prop="sales_sources_id"> + <el-form-item label="绾跨储鏉ユ簮" prop="sales_sources_id"> <div class="common-select"> <el-select v-model="editConfig.infomation.sales_sources_id" @@ -73,16 +106,21 @@ > </el-option> </el-select> - <div class="common-select-btn" @click="editDropdownBox"> + <!-- <div class="common-select-btn" @click="editDropdownBox"> <i class="el-icon-setting"></i> - </div> + </div> --> </div> </el-form-item> </el-col> <el-col :span="12"> <el-form-item label="璐熻矗浜�" prop="member_id"> - <el-select v-model="editConfig.infomation.member_id" placeholder="璇烽�夋嫨" size="mini"> - <el-option v-for="item in ownerOptions" :key="item.id" :label="item.username" :value="item.id"> + <el-select + v-model="editConfig.infomation.member_id" + placeholder="璇烽�夋嫨" + style="width: 100%" + size="mini" + > + <el-option v-for="item in memberOptions" :key="item.id" :label="item.username" :value="item.id"> </el-option> </el-select> </el-form-item> @@ -115,11 +153,12 @@ placeholder="璇烽�夋嫨" class="common-select-sel" size="mini" + disabled > <el-option v-for="item in countryOptions" :key="item.id" :label="item.name" :value="item.id"> </el-option> </el-select> - <div class="common-select-btn"><i class="el-icon-setting"></i></div> + <!-- <div class="common-select-btn"><i class="el-icon-setting"></i></div> --> </div> </el-form-item> </el-col> @@ -131,11 +170,12 @@ placeholder="璇烽�夋嫨" class="common-select-sel" size="mini" + @change="selProvinceChange" > <el-option v-for="item in provinceOptions" :key="item.id" :label="item.name" :value="item.id"> </el-option> </el-select> - <div class="common-select-btn"><i class="el-icon-setting"></i></div> + <!-- <div class="common-select-btn"><i class="el-icon-setting"></i></div> --> </div> </el-form-item> </el-col> @@ -147,15 +187,16 @@ placeholder="璇烽�夋嫨" class="common-select-sel" size="mini" + :disabled="cityOptions.length <= 0 ? true : false" > <el-option v-for="item in cityOptions" :key="item.id" :label="item.name" :value="item.id"> </el-option> </el-select> - <div class="common-select-btn"><i class="el-icon-setting"></i></div> + <!-- <div class="common-select-btn"><i class="el-icon-setting"></i></div> --> </div> </el-form-item> </el-col> - <el-col :span="12"> + <!-- <el-col :span="12"> <el-form-item label="鍖哄煙" prop="region_id"> <div class="common-select"> <el-select @@ -170,16 +211,16 @@ <div class="common-select-btn"><i class="el-icon-setting"></i></div> </div> </el-form-item> - </el-col> - </el-row> - <el-row> + </el-col> --> + <!-- </el-row> --> + <!-- <el-row> --> <el-col :span="24"> - <el-form-item label="鍦板潃" prop="address"> + <el-form-item label="璇︾粏鍦板潃" prop="detail_address"> <el-input type="textarea" :autosize="{ minRows: 2, maxRows: 4 }" placeholder="璇疯緭鍏ュ唴瀹�" - v-model="editConfig.infomation.address" + v-model="editConfig.infomation.detail_address" ></el-input> </el-form-item> </el-col> @@ -223,9 +264,11 @@ import EditDropdownDialog from "@/views/other/commonDialog/EditDropdownDialog" import { getAddSalesLeads, getUpdateSalesLeads } from "@/api/client/salesLead" import { getAllData } from "@/api/client/client" - +import { getCityList } from "@/api/common/address" +import codeMixin from "@/components/makepager/mixin/codeMixin" export default { name: "AddSalesLeadDialog", + mixins: [codeMixin], props: { editSalesLeadConfig: { type: Object, @@ -233,54 +276,35 @@ return { visible: false, title: "鏂板缓", - infomation: { - name: "", - number: "LEA50", - contact_name: "", - contact_position: "", - contact_phone: "", - businessStatus: "", - sales_sources_id: "", - member_id: "", - country_id: "", - province_id: "", - city_id: "", - region_id: "", - address: "", - desc: "", - id: "" - } + infomation: {} } } } }, components: { EditDropdownDialog }, - computed: { - searchCommonHeight() { - return this.$refs.searchCommonView.offsetHeight - } - }, + computed: {}, data() { return { - dialogWidth: "80%", + dialogWidth: "50%", editConfig: this.editSalesLeadConfig, rules: { - name: [{ required: true, message: "璇疯緭鍏ュ鎴峰悕绉�", trigger: "blur" }], - number: [{ required: true, message: "璇疯緭鍏ラ攢鍞嚎绱㈢紪鍙�", trigger: "blur" }], - businessStatus: [{ required: true, message: "璇疯緭鍏ュ晢鏈虹姸鎬�", trigger: "blur" }], - sales_sources_id: [{ required: true, message: "璇烽�夋嫨鍟嗘満鏉ユ簮", trigger: "change" }] + name: [{ required: true, message: "璇疯緭鍏ュ鎴峰悕绉�", trigger: ["change", "blur"] }], + number: [{ required: true, validator: this.validateCheckCode, trigger: ["change", "blur"] }], + businessStatus: [{ required: true, message: "璇疯緭鍏ョ嚎绱㈢姸鎬�", trigger: ["change", "blur"] }], + sales_sources_id: [{ required: true, message: "璇烽�夋嫨绾跨储鏉ユ簮", trigger: ["change", "blur"] }], + contact_phone: [ + { 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: ["change", "blur"] + } + ] }, businessSourceOptions: [], - ownerOptions: [ - { value: "1", label: "BOSS" }, - { value: "2", label: "Mia" }, - { value: "3", label: "璐㈠姟" }, - { value: "4", label: "甯傚満" }, - { value: "5", label: "绯荤粺绠$悊鍛�" }, - { value: "6", label: "閿�鍞�" }, - { value: "7", label: "閿�鍞�荤洃" } - ], - countryOptions: [], // 鍥藉 + memberOptions: [], + countryOptions: [{ id: 1, name: "涓浗" }], // 鍥藉 provinceOptions: [], // 鐪佷唤 cityOptions: [], // 鍩庡競 regionOptions: [], // 鍖哄煙 @@ -290,22 +314,56 @@ editVisible: false, title: "", infomation: {} - } + }, + defaultMemberId: 0 } }, created() { + if (this.editConfig.title !== "鏂板缓" && this.editConfig.infomation.province_id != 0) { + this.getCityList(this.editConfig.infomation.province_id, "edit") + } this.getCommonData() + this.formInfo() + }, + mounted() {}, + watch: { + "editSalesLeadConfig.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() { + this.editConfig.infomation.country_id = 1 + this.editConfig.infomation.province_id = + this.editConfig.infomation.province_id === 0 ? "" : this.editConfig.infomation.province_id + this.editConfig.infomation.city_id = + this.editConfig.infomation.city_id === 0 ? "" : this.editConfig.infomation.city_id getAllData() .then((res) => { console.log(res) this.businessSourceOptions = res.data.sales_source - this.countryOptions = res.data.country + // this.countryOptions = res.data.country this.provinceOptions = res.data.province - this.cityOptions = res.data.city this.regionOptions = res.data.region + this.memberOptions = res.data.member + if (this.editConfig.title === "鏂板缓") { + let username = document.cookie.replace(/(?:(?:^|.*;\s*)username\s*=\s*([^;]*).*$)|^.*$/, "$1") + res.data.member.map((item) => { + if (item.username == username) { + this.$set(this.editConfig.infomation, "member_id", item.id) + } + }) + } }) .catch((err) => { console.log(err) @@ -318,7 +376,6 @@ saveClick(formName) { this.$refs[formName].validate((valid) => { if (valid) { - console.log(this.editConfig.infomation) let params = { city_id: this.editConfig.infomation.city_id || 0, contact_name: this.editConfig.infomation.contact_name || "", @@ -332,41 +389,28 @@ number: this.editConfig.infomation.number || "", province_id: this.editConfig.infomation.province_id || 0, region_id: this.editConfig.infomation.region_id || 0, - sales_sources_id: this.editConfig.infomation.sales_sources_id || 0 + sales_sources_id: this.editConfig.infomation.sales_sources_id || 0, + detail_address: this.editConfig.infomation.detail_address || "", + codeStandID: this.editConfig.infomation.ID } - console.log(params) if (this.editConfig.title === "鏂板缓") { - getAddSalesLeads(params) - .then((res) => { - console.log(res) - this.editConfig.visible = false - if (res.code === 200) { - this.$message({ - message: "娣诲姞鎴愬姛", - type: "success" - }) - this.$parent.getData() - } - }) - .catch((err) => { - console.log(err) - }) + getAddSalesLeads(params).then((res) => { + console.log(res) + this.editConfig.visible = false + if (res.code === 200) { + this.$message.success("娣诲姞鎴愬姛") + this.$parent.getData() + } + }) } else { - getUpdateSalesLeads(params) - .then((res) => { - console.log(res) - this.editConfig.visible = false - if (res.code === 200) { - this.$message({ - message: "缂栬緫鎴愬姛", - type: "success" - }) - this.$parent.getData() - } - }) - .catch((err) => { - console.log(err) - }) + getUpdateSalesLeads(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") @@ -386,9 +430,31 @@ }, // 缂栬緫涓嬫媺妗� editDropdownBox() { - console.log("aaa") this.editDropdownConfig.editVisible = true this.editDropdownConfig.title = "鍟嗘満鏉ユ簮" + }, + // 鎵嬫満鍙疯緭鍏� + confirmPhone(value) { + const inputValue = value.replace(/[^\d*]/g, "") + this.editConfig.infomation.contact_phone = inputValue + }, + // 閫夋嫨鐪佷唤 + selProvinceChange(val) { + this.cityOptions = [] + if (val) { + this.getCityList(val, "sel") + } + }, + async getCityList(val, value) { + await getCityList({ province_id: val }).then((res) => { + console.log(res) + if (res.code === 200) { + this.cityOptions = res.data.list ? res.data.list : [] + if (value === "sel") { + this.editConfig.infomation.city_id = "" + } + } + }) } } } @@ -413,7 +479,7 @@ .common-select { display: flex; .common-select-sel { - width: 270px; + width: 100%; } .common-select-btn { margin-left: 5px; @@ -428,6 +494,7 @@ height: 30px; justify-content: center; align-items: center; + cursor: pointer; color: #6166d3; } } -- Gitblit v1.8.0