From 887851419d98568a815de95a6a96fbdfb3dfcf38 Mon Sep 17 00:00:00 2001 From: qx <1084500556@qq.com> Date: 星期四, 26 六月 2025 15:21:22 +0800 Subject: [PATCH] qx --- src/views/system/tijian/index.vue | 581 ++++++++++++++++++++++++++++++++++++--------------------- 1 files changed, 362 insertions(+), 219 deletions(-) diff --git a/src/views/system/tijian/index.vue b/src/views/system/tijian/index.vue index 34913f1..37b2ed6 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" /> + <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="inputChange" /> + <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" /> + <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> @@ -303,9 +315,8 @@ </div> </el-tab-pane> <el-tab-pane label="缁勫悎" name="third"> - <!-- <div class="tab3"> --> <el-row :gutter="20" style="width: 100%"> - <el-col :span="6"> + <el-col :span="6" style="min-width: 200px"> <div style=" text-align: center; margin-bottom: 10px; @@ -322,7 +333,7 @@ </el-tree> </div> </el-col> - <el-col :span="6"> + <el-col :span="6" style="min-width: 200px"> <div style=" text-align: center; margin-bottom: 10px; @@ -370,74 +381,72 @@ </div> </el-col> </el-row> - <!-- </div> --> </el-tab-pane> <el-tab-pane label="鍗曢」" name="second"> - <div class="tab8"> - <el-row :gutter="24"> - <el-col :span="8"> - <div style=" - text-align: center; - "> - 椤圭洰鍒楄〃 - </div> - <!-- @input="gaibian" --> - <el-input placeholder="杈撳叆鍏抽敭瀛楄繘琛岃繃婊�" v-model="filterText"> - </el-input> - <div class="tab3"> - <el-tree class="filter-tree" v-loading="loading" :data="Treedata" :props="defaultProps" show-checkbox - node-key="proId" @check="handleCurrentChecked" :default-checked-keys="checkedkey" - :filter-node-method="filterNode" ref="tree" :render-content="renderContent"> - </el-tree> - </div> - </el-col> - <el-col :span="8"> + <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> + <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 + node-key="proId" @check="handleCurrentChecked" :default-checked-keys="checkedkey" + :filter-node-method="filterNode" ref="tree" :render-content="renderContent"> + </el-tree> + </div> + </el-col> + <el-col :span="6" style="min-width: 200px"> + <div style=" + text-align: center; + margin-bottom: 10px; + margin-top: 10px; + "> + 鏄庣粏椤圭洰鍒楄〃 + </div> + <div class="tab3"> + <el-tree class="filter-tree" v-loading="loading" :data="TreedataList" node-key="proId" + :props="defaultProps" :filter-node-method="filterNode" show-checkbox + @check-change="handleCurrentChecked1" :default-checked-keys="checkedListkey" + :render-content="renderContent"> + </el-tree> + </div> + </el-col> + <el-col :span="11"> + <div class="grid-content bg-purple"> <div style=" text-align: center; margin-bottom: 10px; margin-top: 10px; "> - 鏄庣粏椤圭洰鍒楄〃 + 宸查�夐」鐩垪琛� </div> - <div class="tab3"> - <el-tree class="filter-tree" v-loading="loading" :data="TreedataList" node-key="proId" - :props="defaultProps" :filter-node-method="filterNode" show-checkbox - @check-change="handleCurrentChecked1" :default-checked-keys="checkedListkey" - :render-content="renderContent"> - </el-tree> - </div> - </el-col> - <el-col :span="8"> - <div class="grid-content bg-purple"> - <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"> - <el-table-column prop="propinName" label="妫�鏌ラ」鐩�"> - </el-table-column> - <el-table-column prop="sl" label="鏁伴噺" width="56px"> - </el-table-column> - <el-table-column prop="proPrice" label="鍘熶环" width="56px"></el-table-column> - <el-table-column prop="proName" label="鏄庣粏椤圭洰" width="260px"> - </el-table-column> - - <el-table-column label="鎿嶄綔" align="center" fixed="right" class-name="small-padding fixed-width" - width="50px"> - <template slot-scope="scope"> - <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" - title="鍒犻櫎"></el-button> - </template> - </el-table-column> - </el-table> - <h3 style="font-weight: 600">鍚堣锛歿{ marryall }}鍏�</h3> - </div> - </el-col> - </el-row> - </div> + <el-table :data="DataList" border style="width: 100%" height="400" :span-method="objectSpanMethod"> + <el-table-column prop="propinName" label="妫�鏌ラ」鐩�"> + </el-table-column> + <el-table-column prop="proName" label="鏄庣粏椤圭洰" width="260px"> + </el-table-column> + <el-table-column prop="sl" label="鏁伴噺" width="56px"> + </el-table-column> + <el-table-column prop="proPrice" label="鍘熶环" width="56px"> + </el-table-column> + <el-table-column label="鎿嶄綔" align="center" fixed="right" class-name="small-padding fixed-width" + width="50px"> + <template slot-scope="scope"> + <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" + title="鍒犻櫎"></el-button> + </template> + </el-table-column> + </el-table> + <h3 style="font-weight: 600">鍚堣锛歿{ marryall }}鍏�</h3> + </div> + </el-col> + </el-row> </el-tab-pane> </el-tabs> <span slot="footer" class="dialog-footer"> @@ -551,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; @@ -587,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"> @@ -607,6 +628,7 @@ </template> </el-table-column> </el-table> + </div> </div> </div> </el-col> @@ -739,6 +761,7 @@ <Packages ref="aaa" @add="handleChanges" /> <selectName ref="bbb" @add="handleChangesName" /> </div> +</div> </template> <script> @@ -753,6 +776,7 @@ getByTjNum, } from "@/api/hosp/customer"; import { getPrintSetUp } from "@/api/system/examcharge"; +import cnchar from "cnchar"; import { tuantiSelect, deptTreeSelect, @@ -764,15 +788,12 @@ getPackageListName, getaddtTransition, tuantiqueren, - getTransitionList, getTransitionList1, - getByTeamNo, delTbBycusCardIdAndProId, getLoadFile, getIsRequired, getconfigKey, getHistryTjOrderProByCusIdCard, - readCertCardInfos, gaibianzhekou, } from "@/api/system/tijian"; import { addComp } from "@/api/system/comp"; @@ -795,6 +816,7 @@ "dict_job", "dict_user_cardtype", "dict_ageunit", + "gz", ], name: "Tijian", components: { @@ -806,6 +828,8 @@ data() { return { isSubmitting: false, + contentLoading: false, + isLoading: false, open1: false, filterage: "", checkedkeys: [], @@ -1063,6 +1087,7 @@ contactPhone: [ { required: true, + message: "", trigger: "blur", }, { @@ -1074,7 +1099,6 @@ }; }, watch: { - filterText(val) { this.$refs.tree.filter(val); }, @@ -1092,11 +1116,15 @@ // this.getData(); }, mounted() { - this.TreedataList = []; - this.DataList = []; - this.marryall = 0; -}, + this.TreedataList = []; + this.DataList = []; + this.marryall = 0; + }, methods: { + handleIdCardInput(value) { + this.form.cusIdcard = value.replace(/\s/g, ""); + this.inputChange(); // 淇濈暀鍘熸湁鐨勮韩浠借瘉杈撳叆澶勭悊閫昏緫 + }, debounceNumberChange(currentValue, oldValue) { clearTimeout(this.debounceTimer); this.debounceTimer = setTimeout(() => { @@ -1115,7 +1143,6 @@ }, /** 鍒犻櫎鎸夐挳鎿嶄綔 */ handleDelete1(row) { - // console.log(row); let data = { cusCardId: row.cusId, proId: row.parentProId, @@ -1146,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; } @@ -1173,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)) { @@ -1188,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; } @@ -1245,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; @@ -1259,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() { @@ -1294,20 +1329,43 @@ }, 1000); //姣忕閽熸洿鏂颁竴娆� }, filterNode(value, data) { - if (!value) return true; + // if (!value) return true; // return data.proName.indexOf(value) !== -1; - if (data.proName.indexOf(value) !== -1) { - return data.proName.indexOf(value) !== -1; - } else { - return data.proEngName.indexOf(value) !== -1; + // if (data.proName.indexOf(value) !== -1) { + // return data.proName.indexOf(value) !== -1; + // } else { + // return data.proEngName.indexOf(value) !== -1; + // } + if (!value) return true; + 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", @@ -1700,35 +1755,52 @@ }); }, /** 鐧昏鎻愪氦鎸夐挳 */ + /** 鐧昏鎻愪氦鎸夐挳 */ submitForm() { let _this = this; - this.$refs["form"].validate((valid) => { - if (valid) { - // return; - if (this.form.cusSex === "濂�") { - this.form.cusSex = 1; - } - if (this.form.cusSex === "鐢�") { - this.form.cusSex = 0; - } - if (this.form.cusSex === "鏈煡") { - this.form.cusSex = 2; - } - if (this.form.tjType === "") { - this.form.tjType = this.dict.type.dict_team[0].value; - } + 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, "") + : ""; - addCustomer(this.form).then((response) => { - this.responseList = response.data; + // 澶勭悊鎬у埆鍊� + 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; + } - this.$modal.msgSuccess("鏂板鎴愬姛"); + 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; + }); + } + }); + } - _this.tcShow = true; - _this.isDisabled = true; - _this.top = false; - }); - } - }); }, getmailType() { @@ -1767,7 +1839,7 @@ if (this.form.reservationId != null) { if (this.form.groupingId) { this.form.firmName = this.form.compName; - this.form.tjType = "1"; + 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; @@ -1884,14 +1956,10 @@ var resultObj = eval("(" + event.data + ")"); this.readCardWebSocket(resultObj); }; - websocket.onclose = function () { - alert("璇诲崱鍣ㄨ繛鎺ュ叧闂�"); - }; } else if (res.msg == "Y") { /* this.$refs.aaa.open = true; this.$refs.aaa.getAllList(); this.$refs.aaa.title = "璇佷欢瀛楀吀"; */ - } else if (res.msg == "S") { this.cardreader = true; _this.cardreaderradio = 3; @@ -1905,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) { @@ -1964,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) { @@ -2233,15 +2305,15 @@ // 鍙栨秷鎸夐挳 cancel() { - this.TreedataList = []; - this.DataList = []; - this.marryall = 0; // 閲嶇疆鍚堣 - this.Seachopen = false; - this.taocan = false; - this.malldisble = false; - this.defaultKeys = []; - this.DataLists = []; -}, + this.TreedataList = []; + this.DataList = []; + this.marryall = 0; // 閲嶇疆鍚堣 + this.Seachopen = false; + this.taocan = false; + this.malldisble = false; + this.defaultKeys = []; + this.DataLists = []; + }, cancell() { if (this.addAddress.address) { @@ -2260,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; }); @@ -2294,7 +2367,7 @@ this.DataList = []; // 娓呯┖宸查�夐」鐩垪琛� this.checkedkey = []; // 娓呯┖鏍戠殑閫変腑鐘舵�� this.checkedListkey = []; - this.TreedataList = [] + this.TreedataList = []; let data = { cusId, @@ -2323,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(); //鍏ㄩ儴濂楅 @@ -2360,9 +2438,7 @@ } catch (error) { } this.loading = false; }); - } - - else { + } else { this.taocan = true; this.loading = true; tuantiSelect(param).then((res) => { @@ -2495,25 +2571,25 @@ } }, handleClick(tab, event) { - if (this.activeNames == "second") { - this.DataList = []; - this.checkedkey = []; - this.TreedataList = []; - this.marryall = 0; // 閲嶇疆鍚堣 - this.getDataList(); - } else if (this.activeNames == "third") { - this.DataLists = []; - this.checkedkeys = []; - this.TreedataList = []; - this.marryall = 0; // 閲嶇疆鍚堣 - getZhList().then((response) => { - if (response.data) { - this.packageList = response.data; + if (this.activeNames == "second") { + this.DataList = []; + this.checkedkey = []; + this.TreedataList = []; + this.marryall = 0; // 閲嶇疆鍚堣 + this.getDataList(); + } else if (this.activeNames == "third") { + this.DataLists = []; + this.checkedkeys = []; + this.TreedataList = []; + this.marryall = 0; // 閲嶇疆鍚堣 + getZhList().then((response) => { + if (response.data) { + this.packageList = response.data; + } + this.loading = false; + }); } - this.loading = false; - }); - } -}, + }, // gaibian(val){ // let pname = val; // getProParentIdDxList(pname).then(response=>{ @@ -2528,8 +2604,11 @@ // 鍥炴樉 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); }); @@ -2558,7 +2637,8 @@ // 璁剧疆 packageList 鐨勯�変腑鐘舵�� this.$nextTick(() => { - if (this.$refs.treas) { // 纭繚 treas 寮曠敤宸茬粡瀛樺湪 + if (this.$refs.treas) { + // 纭繚 treas 寮曠敤宸茬粡瀛樺湪 this.$refs.treas.setCheckedKeys(selectedPackageIds, true); } // 鏇存柊 checkedkeys 浠ュ弽鏄犲綋鍓嶉�変腑鐨勫寘 @@ -2578,12 +2658,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); @@ -2594,13 +2675,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) { @@ -2668,16 +2752,6 @@ } } } - - // if (columnIndex == 3) { - // let rowspan = 0; - // this.DataLists.forEach((element) => { - // if (element.propinName === row.propinName) { - // rowspan++; - // } - // }); - // return [rowspan, 1]; - // } }, handlePackageChecked(data, checked, checkedNodes) { if (checked == false) { @@ -2707,9 +2781,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 = []; @@ -2722,7 +2798,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; } @@ -2847,6 +2925,7 @@ // 椤圭洰鎻愪氦 submit() { + this.isLoading = true; if (this.form.cusIdcard) { var cusId = this.form.cusIdcard; } else { @@ -2860,6 +2939,8 @@ this.isSubmitting = true; // 寮�濮嬫彁浜ゆ椂璁剧疆鏍囧織 this.TotalPrice1 = 0; // 鍒濆鍖栧簲鏀堕噾棰� this.TotalPrice = 0; // 鍒濆鍖栧疄鏀堕噾棰� + + this.contentLoading = true; this.discount = 10; // 鍒濆鍖栨姌鎵d负10锛�100%锛� // 鍒ゆ柇鏄惁鏈夐�変腑鐨勫椁� @@ -2890,23 +2971,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; @@ -2917,9 +3008,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; } @@ -2929,11 +3025,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; @@ -2957,6 +3057,21 @@ 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, "") + : "", + }; + List.forEach((item) => { if (item.list) { item.list.forEach((item1) => { @@ -2982,6 +3097,7 @@ }); } }); + let copeWith = this.TotalPrice1; let paidIn = this.TotalPrice.toString(); let discount = this.discount; @@ -2999,6 +3115,10 @@ getType: this.getType, addAddress: this.addAddress, tjCategory: this.tjCategory, + // 浣跨敤鍘绘帀绌烘牸鍚庣殑鏁版嵁 + cusName: processedForm.cusName, + cusPhone: processedForm.cusPhone, + cusIdcard: processedForm.cusIdcard, }; } else { data = { @@ -3009,8 +3129,13 @@ 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; @@ -3106,7 +3231,6 @@ } this.discount = (this.formInline.paidIn / this.formInline.price) * 10; - } else { this.discount = 10; this.formInline.paidIn = "0.00"; @@ -3185,7 +3309,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; @@ -3249,11 +3380,11 @@ discount: item.discount, parentProId: item.parentProId, cusIdCard: item.cusId, + yhj: item.nowPrice, })); // 鍒涘缓鏂扮殑瀵硅薄锛屽寘鍚� discount 鍜� id gaibianzhekou(newArray).then((res) => { this.loadingSubmit = false; if (res.code === 200) { - let data; if (pacId || this.tjOrderList.length > 0) { @@ -3355,11 +3486,10 @@ } .filter-tree { - /* max-height: 360px; overflow-y: auto; - border: 1px solid #d9d9d9; */ - overflow: auto; - flex: 1; + /* 淇濈暀绾靛悜婊氬姩鏉� */ + overflow-x: hidden; + /* 闅愯棌妯悜婊氬姩鏉� */ height: 350px; } @@ -3470,4 +3600,17 @@ width: 100%; display: flex; } + +/* .tab3 { + overflow-y: auto; +} + +.tab3::-webkit-scrollbar { + width: 0px; + background: transparent; +} + +.tab3::-webkit-scrollbar-thumb { + background: transparent; +} */ </style> -- Gitblit v1.8.0