From a4a0046f5cbd0b165f7597c2a0bcb6811681dc0c Mon Sep 17 00:00:00 2001 From: qx <1084500556@qq.com> Date: 星期四, 13 三月 2025 16:55:24 +0800 Subject: [PATCH] qx --- src/views/system/tijian/index.vue | 538 +++++++++++++++++++++++++++++++---------------------------- 1 files changed, 280 insertions(+), 258 deletions(-) diff --git a/src/views/system/tijian/index.vue b/src/views/system/tijian/index.vue index 34913f1..52c3914 100644 --- a/src/views/system/tijian/index.vue +++ b/src/views/system/tijian/index.vue @@ -89,7 +89,7 @@ <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 +147,7 @@ <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 +179,7 @@ trigger: 'blur', }, ]"> - <el-input v-model="form.cusPhone" placeholder="璇疯緭鍏ヨ仈绯荤數璇�" :disabled="isDisabled" /> + <el-input v-model="form.cusPhone" placeholder="璇疯緭鍏ヨ仈绯荤數璇�" :disabled="isDisabled" @input="form.cusPhone = $event.replace(/\s/g, '')"/> </el-form-item> <el-form-item label="鍑虹敓鏃ユ湡" prop="cusBrithday"> @@ -303,14 +303,9 @@ </div> </el-tab-pane> <el-tab-pane label="缁勫悎" name="third"> - <!-- <div class="tab3"> --> <el-row :gutter="20" style="width: 100%"> - <el-col :span="6"> - <div style=" - text-align: center; - margin-bottom: 10px; - margin-top: 10px; - "> + <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="filterage"> @@ -322,12 +317,8 @@ </el-tree> </div> </el-col> - <el-col :span="6"> - <div style=" - text-align: center; - margin-bottom: 10px; - margin-top: 10px; - "> + <el-col :span="6" style="min-width: 200px"> + <div style="text-align: center; margin-bottom: 10px; margin-top: 10px;"> 鏄庣粏椤圭洰鍒楄〃 </div> <div class="tab3"> @@ -345,6 +336,7 @@ margin-top: 10px; "> 宸查�夐」鐩垪琛� + </div> <el-table :data="DataLists" border style="width: 100%" height="400" :span-method="objectspanmethod"> <el-table-column prop="propinName" label="妫�鏌ラ」鐩�"> @@ -370,74 +362,60 @@ </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; - "> - 椤圭洰鍒楄〃 + <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> - <!-- @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"> - <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"> @@ -753,6 +731,7 @@ getByTjNum, } from "@/api/hosp/customer"; import { getPrintSetUp } from "@/api/system/examcharge"; +import cnchar from 'cnchar'; import { tuantiSelect, deptTreeSelect, @@ -764,15 +743,12 @@ getPackageListName, getaddtTransition, tuantiqueren, - getTransitionList, getTransitionList1, - getByTeamNo, delTbBycusCardIdAndProId, getLoadFile, getIsRequired, getconfigKey, getHistryTjOrderProByCusIdCard, - readCertCardInfos, gaibianzhekou, } from "@/api/system/tijian"; import { addComp } from "@/api/system/comp"; @@ -1092,11 +1068,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(() => { @@ -1294,13 +1274,33 @@ }, 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; + 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; }, filterpackage(value, data) { if (!value) return true; @@ -1700,36 +1700,41 @@ }); }, /** 鐧昏鎻愪氦鎸夐挳 */ - 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; - } + /** 鐧昏鎻愪氦鎸夐挳 */ +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, '') : ''; - 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("鏂板鎴愬姛"); - - _this.tcShow = true; - _this.isDisabled = true; - _this.top = false; - }); - } + addCustomer(formData).then((response) => { + this.responseList = response.data; + this.$modal.msgSuccess("鏂板鎴愬姛"); + _this.tcShow = true; + _this.isDisabled = true; + _this.top = false; }); - }, + } + }); +}, getmailType() { if (this.getType == "2") { @@ -1883,9 +1888,6 @@ websocket.onmessage = (event) => { var resultObj = eval("(" + event.data + ")"); this.readCardWebSocket(resultObj); - }; - websocket.onclose = function () { - alert("璇诲崱鍣ㄨ繛鎺ュ叧闂�"); }; } else if (res.msg == "Y") { /* this.$refs.aaa.open = true; @@ -2233,15 +2235,16 @@ // 鍙栨秷鎸夐挳 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) { @@ -2495,25 +2498,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=>{ @@ -2668,16 +2671,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) { @@ -2945,103 +2938,122 @@ }); }, 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; - } - 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, - }); - } - }); - let copeWith = this.TotalPrice1; - let paidIn = this.TotalPrice.toString(); - let discount = this.discount; - this.tjFlowingWater = { copeWith, paidIn, discount }; + 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 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, - }; - } else { - data = { - photo: this.srcUrl, - tjOrderList: this.tjOrderList, - tjFlowingWater: this.tjFlowingWater, - userId, - tjType, - getType: this.getType, - tjCategory: this.tjCategory, - }; - } - 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; - } + // 鍘荤┖鏍煎鐞� + 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, + }); + }); + } else if (item.tjProjectList) { + item.tjProjectList.forEach((item1) => { + this.tjOrderList.push({ + proName: item1.proName, + proPrice: item1.priceNow, + proId: item1.proId, }); }); } else { - this.$modal.msgError("璇烽�夋嫨浣撴绫诲埆"); + this.tjOrderList.push({ + proName: item.proName, + proPrice: item.ysPrice, + proId: item.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.$modal.msgError("璇烽�夋嫨浣撴绫诲埆"); + } +}, // 琛ㄦ牸鍗曢�� handleSelect(selection, val) { @@ -3249,6 +3261,7 @@ discount: item.discount, parentProId: item.parentProId, cusIdCard: item.cusId, + yhj: item.nowPrice })); // 鍒涘缓鏂扮殑瀵硅薄锛屽寘鍚� discount 鍜� id gaibianzhekou(newArray).then((res) => { this.loadingSubmit = false; @@ -3355,11 +3368,8 @@ } .filter-tree { - /* max-height: 360px; - overflow-y: auto; - border: 1px solid #d9d9d9; */ - overflow: auto; - flex: 1; + overflow-y: auto; /* 淇濈暀绾靛悜婊氬姩鏉� */ + overflow-x: hidden; /* 闅愯棌妯悜婊氬姩鏉� */ height: 350px; } @@ -3470,4 +3480,16 @@ 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