From bad2bc143be3f8ddb93a1c9f984127b3ccf43e8f Mon Sep 17 00:00:00 2001 From: lkk <364857242@qq.com> Date: 星期一, 31 三月 2025 17:47:14 +0800 Subject: [PATCH] 11 --- src/views/hosp/customer/index.vue | 309 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 299 insertions(+), 10 deletions(-) diff --git a/src/views/hosp/customer/index.vue b/src/views/hosp/customer/index.vue index a67d25d..672983f 100644 --- a/src/views/hosp/customer/index.vue +++ b/src/views/hosp/customer/index.vue @@ -1,5 +1,96 @@ <template> <div class="app-container"> + <el-dialog + :title="title" + :visible.sync="open1" + width="1000px" + append-to-body + > + <el-form + ref="form1" + :model="form1" + :rules="rules1" + label-width="100px" + :inline="true" + > + <el-form-item label="鍗曚綅鍚嶇О" prop="cnName"> + <el-input v-model="form1.cnName" placeholder="璇疯緭鍏ヤ腑鏂囧悕绉�" /> + </el-form-item> + <el-form-item label="鑱旂郴浜�" prop="contactPerson"> + <el-input v-model="form1.contactPerson" placeholder="璇疯緭鍏ヨ仈绯讳汉" /> + </el-form-item> + <el-form-item label="鑱旂郴鐢佃瘽" prop="contactPhone"> + <el-input v-model="form1.contactPhone" placeholder="璇疯緭鍏ヨ仈绯荤數璇�" /> + </el-form-item> + <el-form-item label="绋庡彿" prop="taxNumber"> + <el-input v-model="form1.taxNumber" placeholder="璇疯緭鍏ョ◣鍙�" /> + </el-form-item> + <el-form-item label="娉曚汉" prop="legalPerson"> + <el-input v-model="form1.legalPerson" placeholder="璇疯緭鍏ユ硶浜�" /> + </el-form-item> + <el-form-item label="娉ㄥ唽鍦板潃" prop="registerAddress"> + <el-input + v-model="form1.registerAddress" + placeholder="璇疯緭鍏ユ敞鍐屽湴鍧�" + /> + </el-form-item> + <el-form-item label="閫氳鍦板潃" prop="mailingAddress"> + <el-input + v-model="form1.mailingAddress" + placeholder="璇疯緭鍏ラ�氳鍦板潃" + /> + </el-form-item> + <el-form-item label="寮�鎴烽摱琛�" prop="bankAccount"> + <el-input v-model="form1.bankAccount" placeholder="璇疯緭鍏ュ紑鎴烽摱琛�" /> + </el-form-item> + <el-form-item label="閾惰璐︽埛" prop="countNum"> + <el-input v-model="form1.countNum" placeholder="璇疯緭鍏ラ摱琛岃处鎴�" /> + </el-form-item> + <el-form-item label="閭" prop="email"> + <el-input v-model="form1.email" placeholder="璇疯緭鍏ラ偖绠�" /> + </el-form-item> + <el-form-item label="璐熻矗浜�" prop="principal"> + <el-input v-model="form1.principal" placeholder="璇疯緭鍏ヨ礋璐d汉" /> + </el-form-item> + <el-form-item label="缃戝潃" prop="url"> + <el-input v-model="form1.url" placeholder="璇疯緭鍏ョ綉鍧�" /> + </el-form-item> + <el-form-item label="浼犵湡" prop="faxNumber"> + <el-input v-model="form1.faxNumber" placeholder="璇疯緭鍏ヤ紶鐪�" /> + </el-form-item> + <el-form-item label="琛屾斂鍖哄垝鍚嶇О" prop="areaName"> + <el-input v-model="form1.areaName" placeholder="璇疯緭鍏ヨ鏀垮尯鍒掑悕绉�" /> + </el-form-item> + <el-form-item label="鎺掑簭" prop="orderNum"> + <el-input v-model="form1.orderNum" placeholder="璇疯緭鍏ユ帓搴�" /> + </el-form-item> + <el-form-item label="鏈夋晥鏃堕棿" prop="validTime"> + <el-date-picker + clearable + v-model="form1.validTime" + type="date" + value-format="yyyy-MM-dd" + placeholder="璇烽�夋嫨鏈夋晥鏃堕棿" + > + </el-date-picker> </el-form-item + ><br /> + <el-form-item label="澶囨敞" prop="remark"> + <el-input + v-model="form1.remark" + type="textarea" + placeholder="璇疯緭鍏ュ唴瀹�" + :rows="2" + label-width="400px" + style="width: 830px" + resize="none" + ></el-input> + </el-form-item> + </el-form> + <div slot="footer" class="dialog-footer2"> + <el-button type="primary" @click="submitFormS">纭� 瀹�</el-button> + <el-button @click="cancel1">鍙� 娑�</el-button> + </div> + </el-dialog> <el-form :model="queryParams" ref="queryForm" @@ -164,6 +255,7 @@ size="mini" @click="handleBlacklist" :disabled="single" + :loading="blackloading" v-hasPermi="['hosp:order:export']" >鍔犲叆榛戝悕鍗�</el-button > @@ -301,6 +393,28 @@ /> </template> </el-table-column> + + <el-table-column + label="鑱屼笟" + align="center" + prop="career" + width="90px" + :show-overflow-tooltip="true" + /> + <el-table-column + label="宸ラ緞" + align="center" + prop="gl" + width="90px" + :show-overflow-tooltip="true" + /> + <el-table-column + label="鏂囧寲绋嬪害" + align="center" + prop="wenHua" + width="90px" + :show-overflow-tooltip="true" + /> <el-table-column label="浠嬬粛浜�" @@ -512,6 +626,27 @@ ></el-option> </el-select> </el-form-item> + <el-form-item label="鑱屼笟" prop="career"> + <el-input + v-model="form.career" + placeholder="璇疯緭鍏ヨ亴涓�" + style="width: 200px" + /> + </el-form-item> + <el-form-item label="宸ラ緞" prop="gl"> + <el-input + v-model="form.gl" + placeholder="璇疯緭鍏ュ伐榫�" + style="width: 200px" + /> + </el-form-item> + <el-form-item label="鏂囧寲绋嬪害" prop="wenHua"> + <el-input + v-model="form.wenHua" + placeholder="璇疯緭鍏ユ枃鍖栫▼搴�" + style="width: 200px" + /> + </el-form-item> <el-form-item label="浠嬬粛浜�" prop="cusIntroduce"> <el-input @@ -541,13 +676,27 @@ style="width: 200px" /> </el-form-item> - <!-- <el-form-item label="宸ヤ綔鍗曚綅" prop=""> - <el-input - v-model="form." - placeholder="璇疯緭鍏ュ伐浣滃崟浣�" - style="width: 820px" - /> - </el-form-item> --> + <el-form-item label="鍗曚綅鍚嶇О" prop="compName"> + <el-select + v-model="form.compName" + remote + default-first-option + allow-create + filterable + style="width: 200px" + placeholder="璇烽�夋嫨鍗曚綅鍚嶇О" + clearable + @change="idFn1" + > + <el-option + v-for="dict in CompanyList" + :key="dict.cnName" + :label="dict.cnName" + :value="dict.cnName" + /> + </el-select> + <i class="el-icon-circle-plus-outline" @click="handleAdd1"></i> + </el-form-item> </el-form> <div slot="footer" class="dialog-footer"> <el-button type="primary" @click="submitForm">纭� 瀹�</el-button> @@ -846,7 +995,11 @@ import "quill/dist/quill.core.css"; import "quill/dist/quill.snow.css"; import "quill/dist/quill.bubble.css"; - +import { + getCompany, + queryCompany, + getconfigKey, +} from "@/api/team/tuanti"; import { listCustomer, getCustomer, @@ -856,7 +1009,9 @@ getHistryTjOrderByCusIdCard, } from "@/api/hosp/customer"; import { getPdf, addCustomerBlack } from "@/api/hosp/order"; - +import { + addComp, +} from "@/api/system/comp"; export default { name: "Customer", components: { quillEditor }, @@ -902,6 +1057,9 @@ // 閬僵灞� loading: true, + blackloading:false, + isAdding:false, + // 閫変腑鏁扮粍 ids: [], // 闈炲崟涓鐢� @@ -938,11 +1096,28 @@ cusMarryStatus: null, cusIdcard: null, cusIntroduce: null, + career:null, + gl:null, + wenHua: null, cusNumber: null, cusIsvip: null, }, + + deptList: [], + CompanyList: [], + open1: false, // 琛ㄥ崟鍙傛暟 - form: {}, + form: { + idType: 1 + }, + form1: { + company: "", + payType: "", + name: "", + phoe: "", + signingPic: "", + discount: "", + }, // 琛ㄥ崟鏍¢獙 rules: { cusName: [ @@ -973,12 +1148,96 @@ { required: true, validator: checkPhoneNum, trigger: "blur" }, ], }, + rules1: { + cnName: [ + { required: true, trigger: 'blur' }, + ], + contactPerson: [ + { required: true, trigger: 'blur' }, + ], + contactPhone: [ + { + required: true, + trigger: 'blur' + }, + { + pattern: /^1[3-9]\d{9}$/, + trigger: 'blur' + } + ], + } }; }, created() { + this.getCompanyList(); this.getList(); }, methods: { + // 淇濆瓨閮ㄩ棬 + /** 鎻愪氦鎸夐挳 */ + submitFormS() { + this.$refs["form1"].validate((valid) => { + if (valid) { + + addComp(this.form1).then((response) => { + this.$modal.msgSuccess("鏂板鎴愬姛"); + this.open1 = false; + this.getCompanyList(); + }); + } + }); + }, + idFn1(value) { + if (value) { + // 淇濆瓨淇敼鍓嶇殑 dictCompId + const originalCompId = this.form.dictCompId; + + // 鏇存柊鍏徃鍚嶇О + this.form.compName = value; + + // 閬嶅巻鍏徃鍒楄〃锛屾牴鎹叕鍙稿悕绉拌缃搴旂殑 drugManufacturerId + this.CompanyList.forEach((item) => { + if (item.cnName == this.form.compName) { + this.form.dictCompId = item.drugManufacturerId; + } + }); + + // 濡傛灉 dictCompId 娌℃湁鍙樺寲锛岄噸缃负绌� + if (this.form.dictCompId === originalCompId) { + this.form.dictCompId = ''; + } + } + }, + // 鎼滅储 + getRemoteData(query) { + if (query) { + let compName = query; + queryCompany(compName).then((response) => { + this.CompanyList = response.data; + this.CompanyList.forEach((item) => { + this.objs = item; + }); + }); + } + }, + /** 鏂板鎸夐挳鎿嶄綔 */ + handleAdd1() { + this.reset1(); + this.open1 = true; + this.title = "娣诲姞浣撴鍗曚綅淇℃伅缁存姢"; + }, + // 鑾峰彇鍗曚綅淇℃伅闆嗗悎 + getCompanyList() { + this.loading = true; + getconfigKey("team_reservation_default_day").then((res) => { + this.queryParams.yxts = res.msg; + }); + getCompany(this.queryParam).then((response) => { + this.CompanyList = response.data; + this.total = response.total; + this.loading = false; + }); + }, /** 鏌ヨ淇℃伅鍒楄〃 */ getList() { this.loading = true; @@ -997,11 +1256,29 @@ // 鍙栨秷鎸夐挳 cancel() { this.open = false; + this.open1 = false; this.reset(); }, + cancel1() { + + this.open1 = false; + this.reset1(); + }, // 琛ㄥ崟閲嶇疆 + reset1() { + this.form1 = { + company: "", + payType: "", + name: "", + phoe: "", + signingPic: "", + discount: "", + } + }, reset() { + this.form = { + dictCompId: null, cusId: null, cusName: null, cusSex: null, @@ -1016,6 +1293,9 @@ cusMarryStatus: null, cusIdcard: null, cusIntroduce: null, + wenHua: null, + career:null, + gl:null, cusNumber: null, cusIsvip: null, createBy: null, @@ -1069,11 +1349,13 @@ }, handleBlacklist() { + this.blackloading = true; let data = { cusId: this.ids[0], }; addCustomerBlack(data).then((res) => { this.$modal.msgSuccess("宸插姞鍏ラ粦鍚嶅崟"); + this.blackloading = false; this.getList(); }); }, @@ -1152,6 +1434,7 @@ /** 鎻愪氦鎸夐挳 */ submitForm() { this.$refs["form"].validate((valid) => { + this.form.idType = 1 if (valid) { if (this.form.cusId != null) { updateCustomer(this.form).then((response) => { @@ -1211,4 +1494,10 @@ display: flex; justify-content: center; } +.dialog-footer2 { + width: 960px; + height: 36px; + display: flex; + justify-content: center; +} </style> -- Gitblit v1.8.0