From c1adf27fbabbff1d76b60993521c765ef1ed79ef Mon Sep 17 00:00:00 2001 From: yangfeng <wanwan926_4@163.com> Date: 星期二, 15 八月 2023 20:03:21 +0800 Subject: [PATCH] 新建客户管理 客户名称查重 --- src/views/client/client/DetailClientManage.vue | 155 ++++++++++++++++++++++++++++++++------------------- 1 files changed, 97 insertions(+), 58 deletions(-) diff --git a/src/views/client/client/DetailClientManage.vue b/src/views/client/client/DetailClientManage.vue index 388075c..8c968bb 100644 --- a/src/views/client/client/DetailClientManage.vue +++ b/src/views/client/client/DetailClientManage.vue @@ -28,7 +28,7 @@ <el-tab-pane label="閿�鍞�诲崟" name="master"></el-tab-pane> <el-tab-pane label="閿�鍞瓙鍗�" name="sub"></el-tab-pane> <el-tab-pane label="閿�鍞槑缁嗗崟" name="detail"></el-tab-pane> - <el-tab-pane label="鏀舵鍗�" name="plan"></el-tab-pane> + <el-tab-pane label="鏀舵鍗�" name="receipt"></el-tab-pane> </el-tabs> </div> <div v-if="activeName === 'first'" class="detail"> @@ -44,11 +44,11 @@ <li v-for="(item, i) in basicInfoList" :key="i"> <div class="left"> <div class="content-title">{{ item.leftStr + "锛�" }}</div> - <div class="content-data">{{ item.leftValue }}</div> + <div class="content-data">{{ item.leftValue ? item.leftValue : "--" }}</div> </div> - <div class="right"> - <div class="content-title">{{ item.rightStr }}</div> - <div class="content-data">{{ item.rightValue }}</div> + <div v-if="item.rightStr" class="right"> + <div class="content-title">{{ item.rightStr + "锛�" }}</div> + <div class="content-data">{{ item.rightValue ? item.rightValue : "--" }}</div> </div> </li> </ul> @@ -66,11 +66,11 @@ <li v-for="(item, i) in contactList" :key="i"> <div class="left"> <div class="content-title">{{ item.leftStr + "锛�" }}</div> - <div class="content-data">{{ item.leftValue }}</div> + <div class="content-data">{{ item.leftValue ? item.leftValue : "--" }}</div> </div> - <div class="right"> - <div class="content-title">{{ item.rightStr }}</div> - <div class="content-data">{{ item.rightValue }}</div> + <div v-if="item.rightStr" class="right"> + <div class="content-title">{{ item.rightStr + "锛�" }}</div> + <div class="content-data">{{ item.rightValue ? item.rightValue : "--" }}</div> </div> </li> </ul> @@ -88,11 +88,11 @@ <li v-for="(item, i) in dynamicInfoList" :key="i"> <div class="left"> <div class="content-title">{{ item.leftStr + "锛�" }}</div> - <div class="content-data">{{ item.leftValue }}</div> + <div class="content-data">{{ item.leftValue ? item.leftValue : "--" }}</div> </div> - <div class="right"> - <div class="content-title">{{ item.rightStr }}</div> - <div class="content-data">{{ item.rightValue }}</div> + <div v-if="item.rightStr" class="right"> + <div class="content-title">{{ item.rightStr + "锛�" }}</div> + <div class="content-data">{{ item.rightValue ? item.rightValue : "--" }}</div> </div> </li> </ul> @@ -110,11 +110,11 @@ <li v-for="(item, i) in businessInfoList" :key="i"> <div class="left"> <div class="content-title">{{ item.leftStr + "锛�" }}</div> - <div class="content-data">{{ item.leftValue }}</div> + <div class="content-data">{{ item.leftValue ? item.leftValue : "--" }}</div> </div> - <div class="right"> - <div class="content-title">{{ item.rightStr }}</div> - <div class="content-data">{{ item.rightValue }}</div> + <div v-if="item.rightStr" class="right"> + <div class="content-title">{{ item.rightStr + "锛�" }}</div> + <div class="content-data">{{ item.rightValue ? item.rightValue : "--" }}</div> </div> </li> </ul> @@ -132,11 +132,11 @@ <li v-for="(item, i) in addressInfoList" :key="i"> <div class="left"> <div class="content-title">{{ item.leftStr + "锛�" }}</div> - <div class="content-data">{{ item.leftValue }}</div> + <div class="content-data">{{ item.leftValue ? item.leftValue : "--" }}</div> </div> - <div class="right"> - <div class="content-title">{{ item.rightStr }}</div> - <div class="content-data">{{ item.rightValue }}</div> + <div v-if="item.rightStr" class="right"> + <div class="content-title">{{ item.rightStr + "锛�" }}</div> + <div class="content-data">{{ item.rightValue ? item.rightValue : "--" }}</div> </div> </li> </ul> @@ -154,14 +154,14 @@ <li> <div class="left remark"> <div class="content-title">{{ "澶囨敞锛�" }}</div> - <div class="content-data">{{ "澶囨敞鍐呭" }}</div> + <div class="content-data">{{ detailConfig.infomation.remark }}</div> </div> </li> </ul> </div> </div> <!-- 闄勪欢淇℃伅 --> - <div class="basic-info"> + <!-- <div class="basic-info"> <div class="basic-info-label" @click="expandClick('annex')"> <i v-if="isAnnexExpand" class="el-icon-arrow-down"></i> <i v-else class="el-icon-arrow-up"></i> @@ -177,28 +177,28 @@ </li> </ul> </div> - </div> + </div> --> </div> <div v-if="activeName === 'contact'" class="second"> - <Contacts :isDetail="true" /> + <Contacts :isDetail="true" :add-config="addConfig" /> </div> <div v-if="activeName === 'second'" class="second"> - <FollowupRecords :isDetail="true" /> + <FollowupRecords :isDetail="true" :add-config="addConfig" /> </div> <div v-if="activeName === 'salesOpportunity'" class="second"> - <SalesOpportunity :isDetail="true" /> + <SalesOpportunity :isDetail="true" :add-config="addConfig" /> </div> <div v-if="activeName === 'quotation'" class="second"> - <Quotation :isDetail="true" /> + <Quotation :isDetail="true" :add-config="addConfig" /> </div> <div v-if="activeName === 'master'" class="second"> - <MasterOrder :isDetail="true" /> + <MasterOrder :isDetail="true" :add-config="addConfig" /> </div> <div v-if="activeName === 'sub'" class="second"> - <SubOrder :isDetail="true" /> + <SubOrder :isDetail="true" :add-config="addConfig" /> </div> <div v-if="activeName === 'detail'" class="second"> - <SalesDetails :isDetail="true" /> + <SalesDetails :isDetail="true" :add-config="addConfig" /> </div> </div> </el-drawer> @@ -243,39 +243,51 @@ isAddressExpand: true, // 鍦板潃淇℃伅 addressInfoList: [], isRemarkExpand: true, // 澶囨敞淇℃伅 - isAnnexExpand: true // 闄勪欢淇℃伅 + isAnnexExpand: true, // 闄勪欢淇℃伅 + addConfig: {} } }, created() { - this.setData() + this.setData(this.detailConfig.infomation) + this.addConfig = { + id_name: "client_name", + keywordType: "瀹㈡埛鍚嶇О", + keyword: this.detailConfig.infomation.name, + id: this.detailConfig.infomation.id, + client_name: this.detailConfig.infomation.name, + contact_name: this.detailConfig.infomation.contact_name, + client_status_id: this.detailConfig.infomation.client_status_id, + client_id: this.detailConfig.infomation.id, + contact_id: this.detailConfig.infomation.contact_id + } }, mounted() {}, methods: { - setData() { + setData(item) { this.basicInfoList = [ { leftStr: "瀹㈡埛鍚嶇О", - leftValue: this.detailConfig.infomation.client_name, + leftValue: item.client_name, rightStr: "瀹㈡埛缂栧彿", - rightValue: this.detailConfig.infomation.number + rightValue: item.number }, { leftStr: "瀹㈡埛鐘舵��", - leftValue: this.detailConfig.infomation.contact_name, + leftValue: item.client_status, rightStr: "閿�鍞礋璐d汉", - rightValue: this.detailConfig.infomation.contact_position + rightValue: item.member.username }, { leftStr: "瀹㈡埛绫诲瀷", - leftValue: this.detailConfig.infomation.contact_phone, + leftValue: item.client_type.name, rightStr: "瀹㈡埛鏉ユ簮", - rightValue: "鏂板缓" + rightValue: item.client_origin.name }, { leftStr: "閲嶈绾у埆", - leftValue: this.detailConfig.infomation.sales_sources_id, + leftValue: item.client_level, rightStr: "鍏捣鐘舵��", - rightValue: this.detailConfig.infomation.member_id + rightValue: "" }, { leftStr: "鎵�灞炲叕娴�", @@ -287,13 +299,13 @@ leftStr: "绛惧埌", leftValue: "", rightStr: "涓嬫鍥炶鏃ユ湡", - rightValue: "" + rightValue: this.processTime(item.next_visit_time) }, { leftStr: "鍒涘缓鏃堕棿", leftValue: "", rightStr: "鏈�鏅氭湇鍔″埌鏈熸棩", - rightValue: "" + rightValue: this.processTime(item.latest_service_time) }, { leftStr: "鍒涘缓浜�", @@ -305,9 +317,9 @@ this.contactList = [ { leftStr: "鑱旂郴浜哄鍚�", - leftValue: "", + leftValue: item.contact_name, rightStr: "鑱旂郴浜烘墜鏈�", - rightValue: "" + rightValue: item.contact_phone }, { leftStr: "鑱旂郴浜鸿亴鍔�", @@ -339,25 +351,25 @@ this.businessInfoList = [ { leftStr: "鎵�灞炶涓�", - leftValue: "", + leftValue: item.Industry.name, rightStr: "娉曞畾浠h〃浜�", - rightValue: "" + rightValue: item.representative }, { leftStr: "娉ㄥ唽鏃堕棿", - leftValue: "", + leftValue: this.processTime(item.registration_time), rightStr: "娉ㄥ唽璧勯噾", - rightValue: "" + rightValue: item.RegisteredCapital.name }, { leftStr: "鍏徃鎬ц川", - leftValue: "", + leftValue: item.EnterpriseNature.name, rightStr: "瀹㈡埛瑙勬ā", - rightValue: "" + rightValue: item.EnterpriseScale.name }, { leftStr: "缁忚惀鑼冨洿", - leftValue: "", + leftValue: item.business_scope, rightStr: "", rightValue: "" } @@ -365,19 +377,19 @@ this.addressInfoList = [ { leftStr: "鍥藉", - leftValue: "", + leftValue: "涓浗", rightStr: "鐪佷唤", - rightValue: "" + rightValue: item.Province.name }, { leftStr: "鍩庡競", - leftValue: "", - rightStr: "鍖哄煙", + leftValue: item.City.name, + rightStr: "", rightValue: "" }, { leftStr: "璇︾粏鍦板潃", - leftValue: "", + leftValue: item.detail_address, rightStr: "", rightValue: "" } @@ -408,6 +420,33 @@ } else if (value === "annex") { this.isAnnexExpand = !this.isAnnexExpand } + }, + // 澶勭悊鏃堕棿 + processTime(dateTime) { + return this.dateFormat("YYYY-mm-dd HH:MM:SS", dateTime) === "1900-01-01 08:00:00" + ? "--" + : this.dateFormat("YYYY-mm-dd HH:MM:SS", dateTime) + }, + // 鏃堕棿鏄剧ず + dateFormat(fmt, date) { + let ret = "" + date = new Date(date) + const opt = { + "Y+": date.getFullYear().toString(), // 骞� + "m+": (date.getMonth() + 1).toString(), // 鏈� + "d+": date.getDate().toString(), // 鏃� + "H+": date.getHours().toString(), // 鏃� + "M+": date.getMinutes().toString(), // 鍒� + "S+": date.getSeconds().toString() // 绉� + // 鏈夊叾浠栨牸寮忓寲瀛楃闇�姹傚彲浠ョ户缁坊鍔狅紝蹇呴』杞寲鎴愬瓧绗︿覆 + } + for (let k in opt) { + ret = new RegExp("(" + k + ")").exec(fmt) + if (ret) { + fmt = fmt.replace(ret[1], ret[1].length == 1 ? opt[k] : opt[k].padStart(ret[1].length, "0")) + } + } + return fmt } } } -- Gitblit v1.8.0