From 2ee7a81c2eb0df1fc473da6dbbaa13df662967c5 Mon Sep 17 00:00:00 2001 From: wwl <xchao828@163.com> Date: 星期三, 02 七月 2025 15:43:59 +0800 Subject: [PATCH] 1 --- src/views/system/tijian/index.vue | 634 ++++++++++++++++++++++++++++++++++----------------------- 1 files changed, 376 insertions(+), 258 deletions(-) diff --git a/src/views/system/tijian/index.vue b/src/views/system/tijian/index.vue index af5f1cd..fc937f1 100644 --- a/src/views/system/tijian/index.vue +++ b/src/views/system/tijian/index.vue @@ -1,4 +1,6 @@ <template> + <div v-loading="isLoading" element-loading-text="璇风◢鍊�..." element-loading-spinner="el-icon-loading" + element-loading-background="rgba(255, 255, 255, 0.8)" style="height: 100%; padding: 20px; position: relative;"> <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"> @@ -89,7 +91,8 @@ <span slot="label" style="display: inline-block; border-bottom: 2px solid blue" @click="openname"> 濮撳悕 </span> - <el-input v-model="form.cusName" placeholder="璇疯緭鍏ュ鍚�" :disabled="isDisabled" @input="form.cusName = $event.replace(/\s/g, '')" /> + <el-input v-model="form.cusName" placeholder="璇疯緭鍏ュ鍚�" :disabled="isDisabled" + @input="form.cusName = $event.replace(/\s/g, '')" /> </el-form-item> <el-form-item label="璇佷欢绫诲瀷" prop="idType"> @@ -147,7 +150,8 @@ <span slot="label" style="display: inline-block; border-bottom: 2px solid blue" @click="handleQuery"> 璇佷欢鍙风爜 </span> - <el-input :disabled="isDisabled" v-model="form.cusIdcard" placeholder="璇疯緭鍏ヨ韩浠借瘉鍙�" @input="handleIdCardInput"/> + <el-input :disabled="isDisabled" v-model="form.cusIdcard" placeholder="璇疯緭鍏ヨ韩浠借瘉鍙�" + @input="handleIdCardInput" /> <!-- <i style=" font-size: 1rem; position: absolute; @@ -179,7 +183,8 @@ trigger: 'blur', }, ]"> - <el-input v-model="form.cusPhone" placeholder="璇疯緭鍏ヨ仈绯荤數璇�" :disabled="isDisabled" @input="form.cusPhone = $event.replace(/\s/g, '')"/> + <el-input v-model="form.cusPhone" placeholder="璇疯緭鍏ヨ仈绯荤數璇�" maxlength="11" :disabled="isDisabled" + @input="form.cusPhone = $event.replace(/\s/g, '')" /> </el-form-item> <el-form-item label="鍑虹敓鏃ユ湡" prop="cusBrithday"> @@ -215,6 +220,13 @@ <el-form-item label="鏂囧寲绋嬪害" prop="wenHua" label-width="93px"> <el-input :disabled="isDisabled" v-model="form.wenHua" placeholder="璇疯緭鍏ユ枃鍖栫▼搴�" /> + </el-form-item> + <el-form-item label="宸ラ緞" prop="gl"> + <div> + <el-input v-model="form.gl" style="width: 50%"> + <template slot="append">骞�</template> + </el-input> + </div> </el-form-item> </el-form> <el-form ref="form" :model="form" :rules="rules" :label-position="labelPosition" label-width="106px" @@ -282,7 +294,7 @@ <el-tabs type="border-card" style="height: 560px; margin: 0 10px; width: 100%" v-model="activeNames" @tab-click="handleClick"> <el-tab-pane label="濂楅" name="first"> - <el-form :model="queryParam" ref="queryForm" size="small" :inline="true" v-if="showSearch" label-width="auto"> + <el-form :model="queryParam" ref="queryForm" size="small" :inline="true" v-if="showSearch" label-width="auto" @submit.native.prevent="handle"> <el-form-item label="濂楅鍚嶇О" prop="pacName"> <el-input v-model="queryParam.pacName" placeholder="璇疯緭鍏ュ椁愬悕绉�" clearable @keyup.enter.native="handle" /> </el-form-item> @@ -305,7 +317,11 @@ <el-tab-pane label="缁勫悎" name="third"> <el-row :gutter="20" style="width: 100%"> <el-col :span="6" style="min-width: 200px"> - <div style="text-align: center; margin-bottom: 10px; margin-top: 10px;"> + <div style=" + text-align: center; + margin-bottom: 10px; + margin-top: 10px; + "> 椤圭洰鍒楄〃 </div> <el-input placeholder="杈撳叆鍏抽敭瀛楄繘琛岃繃婊�" v-model="filterage"> @@ -318,7 +334,11 @@ </div> </el-col> <el-col :span="6" style="min-width: 200px"> - <div style="text-align: center; margin-bottom: 10px; margin-top: 10px;"> + <div style=" + text-align: center; + margin-bottom: 10px; + margin-top: 10px; + "> 鏄庣粏椤圭洰鍒楄〃 </div> <div class="tab3"> @@ -336,7 +356,6 @@ margin-top: 10px; "> 宸查�夐」鐩垪琛� - </div> <el-table :data="DataLists" border style="width: 100%" height="400" :span-method="objectspanmethod"> <el-table-column prop="propinName" label="妫�鏌ラ」鐩�"> @@ -366,10 +385,14 @@ <el-tab-pane label="鍗曢」" name="second"> <el-row :gutter="20" style="width: 100%"> <el-col :span="6" style="min-width: 200px"> - <div style="text-align: center; margin-bottom: 10px; margin-top: 10px;"> + <div style=" + text-align: center; + margin-bottom: 10px; + margin-top: 10px; + "> 椤圭洰鍒楄〃 </div> - <el-input placeholder="杈撳叆鍏抽敭瀛楄繘琛岃繃婊�" v-model="filterText" style="margin-bottom: 10px;"> + <el-input placeholder="杈撳叆鍏抽敭瀛楄繘琛岃繃婊�" v-model="filterText" style="margin-bottom: 10px"> </el-input> <div class="tab3"> <el-tree class="filter-tree" v-loading="loading" :data="Treedata" :props="defaultProps" show-checkbox @@ -379,7 +402,11 @@ </div> </el-col> <el-col :span="6" style="min-width: 200px"> - <div style="text-align: center; margin-bottom: 10px; margin-top: 10px;"> + <div style=" + text-align: center; + margin-bottom: 10px; + margin-top: 10px; + "> 鏄庣粏椤圭洰鍒楄〃 </div> <div class="tab3"> @@ -392,7 +419,11 @@ </el-col> <el-col :span="11"> <div class="grid-content bg-purple"> - <div style="text-align: center; margin-bottom: 10px; margin-top: 10px;"> + <div style=" + text-align: center; + margin-bottom: 10px; + margin-top: 10px; + "> 宸查�夐」鐩垪琛� </div> <el-table :data="DataList" border style="width: 100%" height="400" :span-method="objectSpanMethod"> @@ -529,10 +560,19 @@ this.tableData1[0].pacName || "" }}</span> 宸查�夐」鐩潯鏁帮細<span style="font-weight: 700; color: red; margin-right: 5px">{{ this.tableData1.length || 0 - }}</span>鏉� + }}</span>鏉� </div> 宸查�夐」鐩垪琛� </div> + + <div v-loading="contentLoading" element-loading-text="鍔犺浇涓�..." element-loading-spinner="el-icon-loading" element-loading-background="rgba(255, 255, 255, 0.7)" style=" padding: 0px 6px; + border: 1px solid #e6ebf5; + max-height: 650%; + overflow: auto; + width: 916px; + margin-left: 35px;" > + + <div style=" padding: 0px 6px; border: 1px solid #e6ebf5; @@ -565,6 +605,9 @@ </template> </el-table-column> <el-table-column prop="nowPrice" label="瀹炴敹閲戦"> + <template slot-scope="scope"> + {{ scope.row.nowPrice.toFixed(2) }} + </template> </el-table-column> <el-table-column prop="proCheckMethod" label="鏄惁绌鸿吂"> <template slot-scope="scope"> @@ -585,6 +628,7 @@ </template> </el-table-column> </el-table> + </div> </div> </div> </el-col> @@ -717,6 +761,7 @@ <Packages ref="aaa" @add="handleChanges" /> <selectName ref="bbb" @add="handleChangesName" /> </div> +</div> </template> <script> @@ -731,7 +776,7 @@ getByTjNum, } from "@/api/hosp/customer"; import { getPrintSetUp } from "@/api/system/examcharge"; -import cnchar from 'cnchar'; +import cnchar from "cnchar"; import { tuantiSelect, deptTreeSelect, @@ -771,6 +816,7 @@ "dict_job", "dict_user_cardtype", "dict_ageunit", + "gz", ], name: "Tijian", components: { @@ -782,6 +828,8 @@ data() { return { isSubmitting: false, + contentLoading: false, + isLoading: false, open1: false, filterage: "", checkedkeys: [], @@ -1039,6 +1087,7 @@ contactPhone: [ { required: true, + message: "", trigger: "blur", }, { @@ -1050,7 +1099,6 @@ }; }, watch: { - filterText(val) { this.$refs.tree.filter(val); }, @@ -1074,9 +1122,9 @@ }, methods: { handleIdCardInput(value) { - this.form.cusIdcard = value.replace(/\s/g, ''); - this.inputChange(); // 淇濈暀鍘熸湁鐨勮韩浠借瘉杈撳叆澶勭悊閫昏緫 -}, + this.form.cusIdcard = value.replace(/\s/g, ""); + this.inputChange(); // 淇濈暀鍘熸湁鐨勮韩浠借瘉杈撳叆澶勭悊閫昏緫 + }, debounceNumberChange(currentValue, oldValue) { clearTimeout(this.debounceTimer); this.debounceTimer = setTimeout(() => { @@ -1095,7 +1143,6 @@ }, /** 鍒犻櫎鎸夐挳鎿嶄綔 */ handleDelete1(row) { - // console.log(row); let data = { cusCardId: row.cusId, proId: row.parentProId, @@ -1126,11 +1173,14 @@ .catch(() => { }); }, handleManualChange(row) { - console.log("杩欐槸涓诲姩鍑哄彂鐨�"); this.updateProPrice(row); }, validateDiscount(row) { - if (this.TotalPrice !== undefined && !isNaN(this.TotalPrice) && this.TotalPrice !== this.lastXianPrice) { + if ( + this.TotalPrice !== undefined && + !isNaN(this.TotalPrice) && + this.TotalPrice !== this.lastXianPrice + ) { this.updateProPrice1(row); this.lastXianPrice = this.TotalPrice; } @@ -1153,13 +1203,12 @@ (Math.floor((this.TotalPrice / this.TotalPrice1) * 100) / 100) * 10; }, updateProPrice1(row) { - console.log("杩涘叆浜�1") const ordPrice = new Big(row.ordPrice); const discount = new Big(row.discount); const result = ordPrice.times(discount.div(10)); row.nowPrice = result.toNumber(); const totalYsPrice = this.tableData1.reduce((sum, item) => { - return sum.plus(new Big(item.nowPrice || '0')); + return sum.plus(new Big(item.nowPrice || "0")); }, new Big(0)); const totalYsPriceNum = totalYsPrice.toNumber(); if (this.TotalPrice !== undefined && !isNaN(this.TotalPrice)) { @@ -1168,13 +1217,18 @@ if (!diff.eq(0) && this.tableData1.length > 0) { const lastItem = this.tableData1[this.tableData1.length - 1]; const newYsPrice = new Big(lastItem.nowPrice).plus(diff).toNumber(); - this.$set(this.tableData1[this.tableData1.length - 1], 'nowPrice', newYsPrice); + this.$set( + this.tableData1[this.tableData1.length - 1], + "nowPrice", + newYsPrice + ); } } // Update youhui calculation if (this.TotalPrice1 !== 0 && this.TotalPrice !== 0) { - this.discount = (Math.floor((this.TotalPrice / this.TotalPrice1) * 100) / 100) * 10; + this.discount = + (Math.floor((this.TotalPrice / this.TotalPrice1) * 100) / 100) * 10; } else { this.discount = 0; } @@ -1225,11 +1279,9 @@ this.open1 = true; this.title = "娣诲姞浣撴鍗曚綅淇℃伅缁存姢"; }, - idFn1(value) { - if (value) { - // console.log(value); + idFn1() { + if (this.form.firmName) { const originalCompId = this.form.firmId; - this.form.firmName = value; this.CompanyList.forEach((item) => { if (item.cnName == this.form.firmName) { this.form.firmId = item.drugManufacturerId; @@ -1239,9 +1291,12 @@ if (this.form.firmId === originalCompId) { this.form.firmId = ""; } - if (this.form.firmId) { - this.form.tjType = "1"; - } + } + + if (this.form.firmName) { + this.form.tjType = this.dict.type.dict_team[1].value; + } else { + this.form.tjType = this.dict.type.dict_team[0].value; } }, getCurrentDateTime() { @@ -1282,32 +1337,35 @@ // return data.proEngName.indexOf(value) !== -1; // } if (!value) return true; - if (data.proName.indexOf(value) !== -1) return true; - if (data.proEngName.indexOf(value) !== -1) return true; - // 鍖归厤灏忓啓 - let arr = data.proName.spell('low', 'array'); - let spell = arr.join(''); - let lengths = [0]; - for (var i = 0; i < arr.length - 1; i++) { - lengths.push(lengths[i] + arr[i].length); - }; - //鍒ゆ柇label瀹屾暣鎷奸煶 涓� 杈撳叆鍊肩殑 index 鏄笉鏄瓑浜庢煇涓眽瀛楃涓�涓嫾闊冲瓧姣嶇殑index鍊� - if(lengths.indexOf(spell.indexOf(value)) !== -1) return true - // 澶у啓 - let arrUp = data.proName.spell('up', 'array'); - let spellUp = arrUp.join(''); - let lengthsUp = [0]; - for (var i = 0; i < arrUp.length - 1; i++) { - lengthsUp.push(lengthsUp[i] + arrUp[i].length); - }; - return lengthsUp.indexOf(spellUp.indexOf(value)) !== -1; + if (data.proName.indexOf(value) !== -1) return true; + let values = value.toLowerCase(); + if (data.proEngName.indexOf(values) !== -1) return true; + + // 鍖归厤灏忓啓 + let arr = data.proName.spell("low", "array"); + let spell = arr.join(""); + let lengths = [0]; + for (var i = 0; i < arr.length - 1; i++) { + lengths.push(lengths[i] + arr[i].length); + } + //鍒ゆ柇label瀹屾暣鎷奸煶 涓� 杈撳叆鍊肩殑 index 鏄笉鏄瓑浜庢煇涓眽瀛楃涓�涓嫾闊冲瓧姣嶇殑index鍊� + if (lengths.indexOf(spell.indexOf(value)) !== -1) return true; + // 澶у啓 + let arrUp = data.proName.spell("up", "array"); + let spellUp = arrUp.join(""); + let lengthsUp = [0]; + for (var i = 0; i < arrUp.length - 1; i++) { + lengthsUp.push(lengthsUp[i] + arrUp[i].length); + } + return lengthsUp.indexOf(spellUp.indexOf(value)) !== -1; }, filterpackage(value, data) { if (!value) return true; if (data.zhmc.indexOf(value) !== -1) { return data.zhmc.indexOf(value) !== -1; } else { - return data.pym.indexOf(value) !== -1; + let values = value.toLowerCase(); + return data.pym.indexOf(values) !== -1; } }, beforeDestroy() { @@ -1322,9 +1380,7 @@ }, getList1() { getInfo().then((response) => { - this.hospName = response.hospName; - }); getIsRequired().then((response) => { this.showHidden = response.data; @@ -1424,6 +1480,8 @@ this.TotalPrice1 = 0; if (this.tableData1) { this.tableData1.forEach((item) => { + // parseFloat(item.nowPrice.toFixed(2)) + this.TotalPrice1 += item.ordPrice; this.TotalPrice += item.nowPrice; if (item.pacName === null) { @@ -1548,10 +1606,7 @@ /** 鏌ヨ淇℃伅鍒楄〃 */ getList() { - getInfo().then((response) => { - - - }); + getInfo().then((response) => { }); let cusSex = this.form.cusSex; //鍏ㄩ儴濂楅 if (cusSex) { @@ -1681,11 +1736,11 @@ const newYsPrice = new Big(lastItem.nowPrice) .plus(diff) .toNumber(); - console.log( - "hhh", - this.tableData1[this.tableData1.length - 1].nowPrice, - newYsPrice - ); + // console.log( + // "hhh", + // this.tableData1[this.tableData1.length - 1].nowPrice, + // newYsPrice + // ); this.$set( this.tableData1[this.tableData1.length - 1], "nowPrice", @@ -1701,41 +1756,52 @@ }, /** 鐧昏鎻愪氦鎸夐挳 */ /** 鐧昏鎻愪氦鎸夐挳 */ -submitForm() { - let _this = this; - this.$refs["form"].validate((valid) => { - if (valid) { - // 鍒涘缓琛ㄥ崟鏁版嵁鐨勫壇鏈苟鍘婚櫎绌烘牸 - const formData = { ...this.form }; - formData.cusName = formData.cusName ? formData.cusName.replace(/\s/g, '') : ''; - formData.cusPhone = formData.cusPhone ? formData.cusPhone.replace(/\s/g, '') : ''; - formData.cusIdcard = formData.cusIdcard ? formData.cusIdcard.replace(/\s/g, '') : ''; + submitForm() { + let _this = this; + if (!this.form.cusPhone || !this.form.cusName) { + this.$message.warning("璇峰~鍐欏繀濉」"); + } else { + this.$refs["form"].validate((valid) => { + if (valid) { + // 鍒涘缓琛ㄥ崟鏁版嵁鐨勫壇鏈苟鍘婚櫎绌烘牸 + const formData = { ...this.form }; + formData.cusName = formData.cusName + ? formData.cusName.replace(/\s/g, "") + : ""; + formData.cusPhone = formData.cusPhone + ? formData.cusPhone.replace(/\s/g, "") + : ""; + formData.cusIdcard = formData.cusIdcard + ? formData.cusIdcard.replace(/\s/g, "") + : ""; - // 澶勭悊鎬у埆鍊� - if (formData.cusSex === "濂�") { - formData.cusSex = 1; - } - if (formData.cusSex === "鐢�") { - formData.cusSex = 0; - } - if (formData.cusSex === "鏈煡") { - formData.cusSex = 2; - } - if (formData.tjType === "") { - formData.tjType = this.dict.type.dict_team[0].value; + // 澶勭悊鎬у埆鍊� + if (formData.cusSex === "濂�") { + formData.cusSex = 1; + } + if (formData.cusSex === "鐢�") { + formData.cusSex = 0; + } + if (formData.cusSex === "鏈煡") { + formData.cusSex = 2; + } + if (formData.tjType === "") { + formData.tjType = this.dict.type.dict_team[0].value; + } + + addCustomer(formData).then((response) => { + this.responseList = response.data; + this.form.tjType = this.dict.type.dict_team[0].value; + this.$modal.msgSuccess("鏂板鎴愬姛"); + _this.tcShow = true; + _this.isDisabled = true; + _this.top = false; + }); + } + }); } - addCustomer(formData).then((response) => { - this.responseList = response.data; - this.form.tjType = this.dict.type.dict_team[0].value; - this.$modal.msgSuccess("鏂板鎴愬姛"); - _this.tcShow = true; - _this.isDisabled = true; - _this.top = false; - }); - } - }); -}, + }, getmailType() { if (this.getType == "2") { @@ -1773,7 +1839,7 @@ if (this.form.reservationId != null) { if (this.form.groupingId) { this.form.firmName = this.form.compName; - this.form.tjType = this.dict.type.dict_team[2].value; + this.form.tjType = this.dict.type.dict_team[1].value; this.CompanyList.forEach((item) => { if (item.cnName == this.form.firmName) { this.form.firmId = item.drugManufacturerId; @@ -1894,7 +1960,6 @@ /* this.$refs.aaa.open = true; this.$refs.aaa.getAllList(); this.$refs.aaa.title = "璇佷欢瀛楀吀"; */ - } else if (res.msg == "S") { this.cardreader = true; _this.cardreaderradio = 3; @@ -1908,11 +1973,15 @@ // 鏈�鏂颁娇鐢╳ebSocket閫氫俊 readCardWebSocket(resultObj) { let _this = this; - + const isChineseChar = (char) => /[\u4E00-\u9FA5]/.test(char) if (resultObj.code === 200 && resultObj.data.name != null) { //鍥炴樉鐩稿叧鏁版嵁 _this.form.cusName = resultObj.data.name; - _this.form.cusSex = resultObj.data.sex == "0" ? "濂�" : "鐢�"; + if (isChineseChar(resultObj.data.sex)) { + _this.form.cusSex = resultObj.data.sex == "濂�" ? 1 : 0 + } else { + _this.form.cusSex = resultObj.data.sex; + } _this.form.cusNational = resultObj.data.mz; _this.form.cusBrithday = resultObj.data.csrq; if (_this.form.cusBrithday) { @@ -1967,7 +2036,7 @@ //鍥炴樉鐩稿叧鏁版嵁 _this.form.cusName = resultObj.resultContent.partyName; _this.form.cusSex = - resultObj.resultContent.gender == "0" ? "濂�" : "鐢�"; + resultObj.resultContent.gender ; _this.form.cusNational = resultObj.resultContent.nation; _this.form.cusBrithday = resultObj.resultContent.bornDay; if (_this.form.cusBrithday) { @@ -2244,7 +2313,6 @@ this.malldisble = false; this.defaultKeys = []; this.DataLists = []; - }, cancell() { @@ -2264,7 +2332,8 @@ dwId: this.form.firmId, }; if (this.name) { - getPackageListName(this.name).then((response) => { + let name= this.name.toLowerCase() + getPackageListName(name).then((response) => { this.newpacName = response.data; this.loading = false; }); @@ -2298,7 +2367,7 @@ this.DataList = []; // 娓呯┖宸查�夐」鐩垪琛� this.checkedkey = []; // 娓呯┖鏍戠殑閫変腑鐘舵�� this.checkedListkey = []; - this.TreedataList = [] + this.TreedataList = []; let data = { cusId, @@ -2327,6 +2396,11 @@ Package() { this.activeNames = "first"; + if (this.form.cusSex == "鐢�") { + this.form.cusSex = 0; + } else if (this.form.cusSex == "濂�") { + _this.form.cusSex = 1; + } let cusSex = this.form.cusSex; this.datekey = Date.now(); //鍏ㄩ儴濂楅 @@ -2364,9 +2438,7 @@ } catch (error) { } this.loading = false; }); - } - - else { + } else { this.taocan = true; this.loading = true; tuantiSelect(param).then((res) => { @@ -2500,6 +2572,8 @@ }, handleClick(tab, event) { if (this.activeNames == "second") { + console.log(this.form); + this.DataList = []; this.checkedkey = []; this.TreedataList = []; @@ -2518,22 +2592,21 @@ }); } }, - // gaibian(val){ - // let pname = val; - // getProParentIdDxList(pname).then(response=>{ - // this.Treedata = response.data.list; - // }) - // }, getDataList() { this.loading = true; - getProParentIdDxList().then((response) => { + console.log(this.form); + + getProParentIdDxList(this.form.cusSex).then((response) => { this.Treedata = response.data.list; // 鍥炴樉 TreedataList 鍒� DataList if (this.TreedataList && this.TreedataList.length > 0) { this.DataList = this.TreedataList; - this.marryall = this.DataList.reduce((sum, item) => sum + (item.proPrice || 0) * (item.sl || 1), 0); - this.checkedListkey = this.DataList.map(item => item.proId); + this.marryall = this.DataList.reduce( + (sum, item) => sum + (item.proPrice || 0) * (item.sl || 1), + 0 + ); + this.checkedListkey = this.DataList.map((item) => item.proId); this.$nextTick(() => { this.$refs.tree.setCheckedKeys(this.checkedListkey); }); @@ -2562,7 +2635,8 @@ // 璁剧疆 packageList 鐨勯�変腑鐘舵�� this.$nextTick(() => { - if (this.$refs.treas) { // 纭繚 treas 寮曠敤宸茬粡瀛樺湪 + if (this.$refs.treas) { + // 纭繚 treas 寮曠敤宸茬粡瀛樺湪 this.$refs.treas.setCheckedKeys(selectedPackageIds, true); } // 鏇存柊 checkedkeys 浠ュ弽鏄犲綋鍓嶉�変腑鐨勫寘 @@ -2582,12 +2656,13 @@ updateDataListsBasedOnSelection(selectedPackageIds) { // 鏍规嵁閫変腑鐨勫寘ID鏇存柊 DataLists this.DataLists = []; - selectedPackageIds.forEach(id => { - let packageItem = this.packageList.find(item => item.id === id); + selectedPackageIds.forEach((id) => { + let packageItem = this.packageList.find((item) => item.id === id); if (packageItem) { // 杩欓噷鍋囪姣忎釜鍖呴」鐩兘鏈変竴涓� proId 鏁扮粍鎴栬�呯被浼肩殑缁撴瀯锛岀敤鏉ヨ幏鍙栧寘涓殑椤圭洰 - if (packageItem.proIds) { // 鍋囪 packageItem 鍖呭惈涓�涓� proId 鏁扮粍 - packageItem.proIds.forEach(proId => { + if (packageItem.proIds) { + // 鍋囪 packageItem 鍖呭惈涓�涓� proId 鏁扮粍 + packageItem.proIds.forEach((proId) => { let project = this.findProjectById(proId); // 鍋囪鏈変竴涓嚱鏁版潵鎵惧埌椤圭洰 if (project) { this.DataLists.push(project); @@ -2598,13 +2673,16 @@ }); // 璁$畻鍚堣 - this.marryalls = this.DataLists.reduce((sum, item) => sum + item.proPrice, 0); + this.marryalls = this.DataLists.reduce( + (sum, item) => sum + item.proPrice, + 0 + ); }, findProjectById(proId) { // 姝ゅ嚱鏁板亣璁句綘鏈変竴涓叏灞�鐨勯」鐩垪琛ㄦ垨鑰呭彲浠ヤ粠鏌愪釜API鑾峰彇 // 杩欓噷鍙槸涓�涓ず渚嬶紝瀹為檯搴旂敤涓簲璇ユ牴鎹綘鐨勬暟鎹粨鏋勬潵瀹炵幇 - return this.allpackageList.find(item => item.proId === proId) || null; + return this.allpackageList.find((item) => item.proId === proId) || null; }, handlepackage(data, checked, checkedNodes) { @@ -2701,9 +2779,11 @@ handleCurrentChecked(data, checked, checkedNodes) { this.dataObj = data; if (checked.checkedNodes.length > 0) { - const promises = checked.checkedNodes.map(node => getProSonDxList(node.proId)); - Promise.all(promises).then(results => { - this.TreedataList = results.flatMap(res => res.data.list); + const promises = checked.checkedNodes.map((node) => + getProSonDxList(node.proId) + ); + Promise.all(promises).then((results) => { + this.TreedataList = results.flatMap((res) => res.data.list); this.checkedListkey = []; this.DataList = []; @@ -2716,7 +2796,9 @@ // 鏇存柊鍚嶇О鍜岃绠楁�讳环 this.DataList.forEach((item1) => { - const parent = checked.checkedNodes.find(node => node.proId === item1.proParentId); + const parent = checked.checkedNodes.find( + (node) => node.proId === item1.proParentId + ); if (parent) { item1.propinName = parent.proName; } @@ -2841,6 +2923,7 @@ // 椤圭洰鎻愪氦 submit() { + this.isLoading = true; if (this.form.cusIdcard) { var cusId = this.form.cusIdcard; } else { @@ -2854,6 +2937,8 @@ this.isSubmitting = true; // 寮�濮嬫彁浜ゆ椂璁剧疆鏍囧織 this.TotalPrice1 = 0; // 鍒濆鍖栧簲鏀堕噾棰� this.TotalPrice = 0; // 鍒濆鍖栧疄鏀堕噾棰� + + this.contentLoading = true; this.discount = 10; // 鍒濆鍖栨姌鎵d负10锛�100%锛� // 鍒ゆ柇鏄惁鏈夐�変腑鐨勫椁� @@ -2884,23 +2969,33 @@ }; // 鏍规嵁浣撴绫诲瀷閫夋嫨涓嶅悓鐨勫鐞嗘柟娉� if (this.form.firmId) { - tuantiqueren(data).then((response) => { - if (response.code == 200) { - this.processOrderItems(cusId); - } - this.isSubmitting = false; // 鎻愪氦瀹屾垚鍚庨噸缃爣蹇� - }).catch(() => { - this.isSubmitting = false; // 纭繚鍦ㄩ敊璇儏鍐典笅涔熼噸缃爣蹇� - }); + tuantiqueren(data) + .then((response) => { + if (response.code == 200) { + this.processOrderItems(cusId); + } + this.isSubmitting = false; // 鎻愪氦瀹屾垚鍚庨噸缃爣蹇� + this.isLoading = false; + }) + .catch(() => { + this.isSubmitting = false; // 纭繚鍦ㄩ敊璇儏鍐典笅涔熼噸缃爣蹇� + this.isLoading = false; + }); } else { - getaddtTransition(data).then((response) => { - if (response.code == 200) { - this.processOrderItems(cusId); - } - this.isSubmitting = false; // 鎻愪氦瀹屾垚鍚庨噸缃爣蹇� - }).catch(() => { - this.isSubmitting = false; // 纭繚鍦ㄩ敊璇儏鍐典笅涔熼噸缃爣蹇� - }); + getaddtTransition(data) + .then((response) => { + if (response.code == 200) { + this.processOrderItems(cusId); + } + this.isSubmitting = false; // 鎻愪氦瀹屾垚鍚庨噸缃爣蹇� + this.isLoading = false; + // this.contentLoading = false; + }) + .catch(() => { + this.isSubmitting = false; // 纭繚鍦ㄩ敊璇儏鍐典笅涔熼噸缃爣蹇� + this.isLoading = false; + // this.contentLoading = false; + }); } this.taocan = false; @@ -2911,9 +3006,14 @@ // 澶勭悊璁㈠崟椤圭洰 processOrderItems(cusId) { getTransitionList1(cusId).then((response) => { + this.contentLoading = false; this.tableData1 = response.data; + let Price = 0; if (this.tableData1) { this.tableData1.forEach((item) => { + if (typeof item.nowPrice === 'number') { + item.nowPrice = Number(item.nowPrice.toFixed(2)); + } if (item.tjCategory != null) { this.tjCategory = item.tjCategory; } @@ -2923,11 +3023,15 @@ }); } this.TotalPrice1 += item.ordPrice || 0; // 绱姞搴旀敹閲戦 - this.TotalPrice += item.nowPrice || 0; // 绱姞瀹炴敹閲戦 + Price += item.nowPrice || 0; // 绱姞瀹炴敹閲戦 + this.TotalPrice = Price.toFixed(2); }); // 璁$畻鎶樻墸 - this.discount = this.TotalPrice1 > 0 ? - (Math.floor((this.TotalPrice / this.TotalPrice1) * 100) / 100) * 10 : 0; + this.discount = + this.TotalPrice1 > 0 + ? (Math.floor((this.TotalPrice / this.TotalPrice1) * 100) / 100) * + 10 + : 0; this.list1 = false; this.list3 = true; @@ -2939,122 +3043,128 @@ }); }, submitCheckinfee() { - let _this = this; - if (_this.tjCategory !== "") { - let List = _this.tableData1; - if (this.responseList.cusId) { - var userId = this.responseList.cusId; - } else { - var userId = _this.form.cusId; - } - let tjType = _this.form.tjType; - if (this.tableData[0]) { - var pacId = this.tableData[0].pacId; - } + let _this = this; + if (_this.tjCategory !== "") { + let List = _this.tableData1; + if (this.responseList.cusId) { + var userId = this.responseList.cusId; + } else { + var userId = _this.form.cusId; + } + let tjType = _this.form.tjType; + if (this.tableData[0]) { + var pacId = this.tableData[0].pacId; + } - // 鍘荤┖鏍煎鐞� - const processedForm = { - ...this.form, - cusName: this.form.cusName ? this.form.cusName.replace(/\s/g, '') : '', - cusPhone: this.form.cusPhone ? this.form.cusPhone.replace(/\s/g, '') : '', - cusIdcard: this.form.cusIdcard ? this.form.cusIdcard.replace(/\s/g, '') : '' - }; + // 鍘荤┖鏍煎鐞� + const processedForm = { + ...this.form, + cusName: this.form.cusName + ? this.form.cusName.replace(/\s/g, "") + : "", + cusPhone: this.form.cusPhone + ? this.form.cusPhone.replace(/\s/g, "") + : "", + cusIdcard: this.form.cusIdcard + ? this.form.cusIdcard.replace(/\s/g, "") + : "", + }; - List.forEach((item) => { - if (item.list) { - item.list.forEach((item1) => { - this.tjOrderList.push({ - proName: item1.proName, - proPrice: item1.nowPrice, - proId: item1.proId, - }); + List.forEach((item) => { + if (item.list) { + item.list.forEach((item1) => { + this.tjOrderList.push({ + proName: item1.proName, + proPrice: item1.nowPrice, + proId: item1.proId, + }); + }); + } else if (item.tjProjectList) { + item.tjProjectList.forEach((item1) => { + this.tjOrderList.push({ + proName: item1.proName, + proPrice: item1.priceNow, + proId: item1.proId, + }); + }); + } else { + this.tjOrderList.push({ + proName: item.proName, + proPrice: item.ysPrice, + proId: item.proId, + }); + } }); - } else if (item.tjProjectList) { - item.tjProjectList.forEach((item1) => { - this.tjOrderList.push({ - proName: item1.proName, - proPrice: item1.priceNow, - proId: item1.proId, + + let copeWith = this.TotalPrice1; + let paidIn = this.TotalPrice.toString(); + let discount = this.discount; + this.tjFlowingWater = { copeWith, paidIn, discount }; + + let data; + if (pacId || this.getType == "2") { + data = { + photo: this.srcUrl, + pacId, + tjOrderList: this.tjOrderList, + tjFlowingWater: this.tjFlowingWater, + userId, + tjType, + getType: this.getType, + addAddress: this.addAddress, + tjCategory: this.tjCategory, + // 浣跨敤鍘绘帀绌烘牸鍚庣殑鏁版嵁 + cusName: processedForm.cusName, + cusPhone: processedForm.cusPhone, + cusIdcard: processedForm.cusIdcard, + }; + } else { + data = { + photo: this.srcUrl, + tjOrderList: this.tjOrderList, + tjFlowingWater: this.tjFlowingWater, + userId, + tjType, + getType: this.getType, + tjCategory: this.tjCategory, + // 浣跨敤鍘绘帀绌烘牸鍚庣殑鏁版嵁 + cusName: processedForm.cusName, + cusPhone: processedForm.cusPhone, + cusIdcard: processedForm.cusIdcard, + }; + } + + getOrder(data).then((res) => { + this.$modal.msgSuccess("鎻愪氦鎴愬姛"); + this.tjNumbers = res.msg; + this.charge = true; + let data = { + tjNum: res.msg, + }; + getfindTj(data).then((response) => { + if (response.data) { + this.feeitems = response.data; + if (this.feeitems.length != 0) { + this.$nextTick(() => { + this.$refs.multipleTable.toggleRowSelection( + this.feeitems[0], + true + ); + }); + } else { + this.$refs.multipleTable.clearSelection(); + } + this.loading = false; + } else { + this.feeitems = []; + this.loading = false; + } }); }); } else { - this.tjOrderList.push({ - proName: item.proName, - proPrice: item.ysPrice, - proId: item.proId, - }); + this.$modal.msgError("璇烽�夋嫨浣撴绫诲埆"); } - }); - - let copeWith = this.TotalPrice1; - let paidIn = this.TotalPrice.toString(); - let discount = this.discount; - this.tjFlowingWater = { copeWith, paidIn, discount }; - - let data; - if (pacId || this.getType == "2") { - data = { - photo: this.srcUrl, - pacId, - tjOrderList: this.tjOrderList, - tjFlowingWater: this.tjFlowingWater, - userId, - tjType, - getType: this.getType, - addAddress: this.addAddress, - tjCategory: this.tjCategory, - // 浣跨敤鍘绘帀绌烘牸鍚庣殑鏁版嵁 - cusName: processedForm.cusName, - cusPhone: processedForm.cusPhone, - cusIdcard: processedForm.cusIdcard - }; - } else { - data = { - photo: this.srcUrl, - tjOrderList: this.tjOrderList, - tjFlowingWater: this.tjFlowingWater, - userId, - tjType, - getType: this.getType, - tjCategory: this.tjCategory, - // 浣跨敤鍘绘帀绌烘牸鍚庣殑鏁版嵁 - cusName: processedForm.cusName, - cusPhone: processedForm.cusPhone, - cusIdcard: processedForm.cusIdcard - }; - } - - getOrder(data).then((res) => { - this.$modal.msgSuccess("鎻愪氦鎴愬姛"); - this.tjNumbers = res.msg; - this.charge = true; - let data = { - tjNum: res.msg, - }; - getfindTj(data).then((response) => { - if (response.data) { - this.feeitems = response.data; - if (this.feeitems.length != 0) { - this.$nextTick(() => { - this.$refs.multipleTable.toggleRowSelection( - this.feeitems[0], - true - ); - }); - } else { - this.$refs.multipleTable.clearSelection(); - } - this.loading = false; - } else { - this.feeitems = []; - this.loading = false; - } - }); - }); - } else { - this.$modal.msgError("璇烽�夋嫨浣撴绫诲埆"); - } -}, + }, // 琛ㄦ牸鍗曢�� handleSelect(selection, val) { @@ -3119,7 +3229,6 @@ } this.discount = (this.formInline.paidIn / this.formInline.price) * 10; - } else { this.discount = 10; this.formInline.paidIn = "0.00"; @@ -3198,7 +3307,14 @@ }, listgetOrder(data) { + const loading = this.$loading({ + lock: true, + text: '姝e湪鍔犺浇涓紝璇风◢绛夛紒', + spinner: 'el-icon-loading', + background: 'rgba(0, 0, 0, 0.7)' + }); getOrder(data).then((res) => { + loading.close(); this.$modal.msgSuccess("鎻愪氦鎴愬姛"); //璋冩帴鍙f樉绀哄妫�鍗� const tjNumber = res.msg; @@ -3262,12 +3378,11 @@ discount: item.discount, parentProId: item.parentProId, cusIdCard: item.cusId, - yhj: item.nowPrice + yhj: item.nowPrice, })); // 鍒涘缓鏂扮殑瀵硅薄锛屽寘鍚� discount 鍜� id gaibianzhekou(newArray).then((res) => { this.loadingSubmit = false; if (res.code === 200) { - let data; if (pacId || this.tjOrderList.length > 0) { @@ -3369,8 +3484,10 @@ } .filter-tree { - overflow-y: auto; /* 淇濈暀绾靛悜婊氬姩鏉� */ - overflow-x: hidden; /* 闅愯棌妯悜婊氬姩鏉� */ + overflow-y: auto; + /* 淇濈暀绾靛悜婊氬姩鏉� */ + overflow-x: hidden; + /* 闅愯棌妯悜婊氬姩鏉� */ height: 350px; } @@ -3481,6 +3598,7 @@ width: 100%; display: flex; } + /* .tab3 { overflow-y: auto; } -- Gitblit v1.8.0