From 8315c3ff55eb53be82ac7ddbbc6cce5f447ffdfa Mon Sep 17 00:00:00 2001 From: qx <1084500556@qq.com> Date: 星期三, 09 四月 2025 13:42:35 +0800 Subject: [PATCH] qx --- src/views/system/tijian/index.vue | 311 +++++++++++++++++++++++++++++++-------------------- 1 files changed, 190 insertions(+), 121 deletions(-) diff --git a/src/views/system/tijian/index.vue b/src/views/system/tijian/index.vue index 4b51460..cb456aa 100644 --- a/src/views/system/tijian/index.vue +++ b/src/views/system/tijian/index.vue @@ -219,6 +219,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" v-show="top"> @@ -308,7 +315,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"> @@ -321,7 +332,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"> @@ -339,7 +354,6 @@ margin-top: 10px; "> 宸查�夐」鐩垪琛� - </div> <el-table :data="DataLists" border style="width: 100%" height="400" :span-method="objectspanmethod"> <el-table-column prop="propinName" label="妫�鏌ラ」鐩�"> @@ -369,10 +383,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 @@ -382,7 +400,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"> @@ -395,7 +417,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"> @@ -532,7 +558,7 @@ this.tableData1[0].pacName || "" }}</span> 宸查�夐」鐩潯鏁帮細<span style="font-weight: 700; color: red; margin-right: 5px">{{ this.tableData1.length || 0 - }}</span>鏉� + }}</span>鏉� </div> 宸查�夐」鐩垪琛� </div> @@ -571,7 +597,6 @@ <template slot-scope="scope"> {{ scope.row.nowPrice.toFixed(2) }} </template> - </el-table-column> <el-table-column prop="proCheckMethod" label="鏄惁绌鸿吂"> <template slot-scope="scope"> @@ -738,7 +763,7 @@ getByTjNum, } from "@/api/hosp/customer"; import { getPrintSetUp } from "@/api/system/examcharge"; -import cnchar from 'cnchar'; +import cnchar from "cnchar"; import { tuantiSelect, deptTreeSelect, @@ -778,6 +803,7 @@ "dict_job", "dict_user_cardtype", "dict_ageunit", + "gz", ], name: "Tijian", components: { @@ -1046,6 +1072,7 @@ contactPhone: [ { required: true, + message: "", trigger: "blur", }, { @@ -1057,7 +1084,6 @@ }; }, watch: { - filterText(val) { this.$refs.tree.filter(val); }, @@ -1081,7 +1107,7 @@ }, methods: { handleIdCardInput(value) { - this.form.cusIdcard = value.replace(/\s/g, ''); + this.form.cusIdcard = value.replace(/\s/g, ""); this.inputChange(); // 淇濈暀鍘熸湁鐨勮韩浠借瘉杈撳叆澶勭悊閫昏緫 }, debounceNumberChange(currentValue, oldValue) { @@ -1102,7 +1128,6 @@ }, /** 鍒犻櫎鎸夐挳鎿嶄綔 */ handleDelete1(row) { - // console.log(row); let data = { cusCardId: row.cusId, proId: row.parentProId, @@ -1133,11 +1158,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; } @@ -1160,13 +1188,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)) { @@ -1175,13 +1202,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; } @@ -1244,15 +1276,13 @@ if (this.form.firmId === originalCompId) { this.form.firmId = ""; } - } 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; - } - + this.form.tjType = this.dict.type.dict_team[1].value; + } else { + this.form.tjType = this.dict.type.dict_team[0].value; + } }, getCurrentDateTime() { const currentDate = new Date(); @@ -1295,21 +1325,21 @@ 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 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 + if (lengths.indexOf(spell.indexOf(value)) !== -1) return true; // 澶у啓 - let arrUp = data.proName.spell('up', 'array'); - let spellUp = arrUp.join(''); + 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) { @@ -1332,9 +1362,7 @@ }, getList1() { getInfo().then((response) => { - this.hospName = response.hospName; - }); getIsRequired().then((response) => { this.showHidden = response.data; @@ -1560,10 +1588,7 @@ /** 鏌ヨ淇℃伅鍒楄〃 */ getList() { - getInfo().then((response) => { - - - }); + getInfo().then((response) => { }); let cusSex = this.form.cusSex; //鍏ㄩ儴濂楅 if (cusSex) { @@ -1693,11 +1718,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", @@ -1715,38 +1740,49 @@ /** 鐧昏鎻愪氦鎸夐挳 */ 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, '') : ''; + 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() { @@ -1906,7 +1942,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; @@ -2256,7 +2291,6 @@ this.malldisble = false; this.defaultKeys = []; this.DataLists = []; - }, cancell() { @@ -2310,7 +2344,7 @@ this.DataList = []; // 娓呯┖宸查�夐」鐩垪琛� this.checkedkey = []; // 娓呯┖鏍戠殑閫変腑鐘舵�� this.checkedListkey = []; - this.TreedataList = [] + this.TreedataList = []; let data = { cusId, @@ -2339,6 +2373,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(); //鍏ㄩ儴濂楅 @@ -2376,9 +2415,7 @@ } catch (error) { } this.loading = false; }); - } - - else { + } else { this.taocan = true; this.loading = true; tuantiSelect(param).then((res) => { @@ -2544,8 +2581,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); }); @@ -2574,7 +2614,8 @@ // 璁剧疆 packageList 鐨勯�変腑鐘舵�� this.$nextTick(() => { - if (this.$refs.treas) { // 纭繚 treas 寮曠敤宸茬粡瀛樺湪 + if (this.$refs.treas) { + // 纭繚 treas 寮曠敤宸茬粡瀛樺湪 this.$refs.treas.setCheckedKeys(selectedPackageIds, true); } // 鏇存柊 checkedkeys 浠ュ弽鏄犲綋鍓嶉�変腑鐨勫寘 @@ -2594,12 +2635,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); @@ -2610,13 +2652,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) { @@ -2713,9 +2758,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 = []; @@ -2728,7 +2775,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; } @@ -2896,23 +2945,27 @@ }; // 鏍规嵁浣撴绫诲瀷閫夋嫨涓嶅悓鐨勫鐞嗘柟娉� 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; // 鎻愪氦瀹屾垚鍚庨噸缃爣蹇� + }) + .catch(() => { + this.isSubmitting = 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; // 鎻愪氦瀹屾垚鍚庨噸缃爣蹇� + }) + .catch(() => { + this.isSubmitting = false; // 纭繚鍦ㄩ敊璇儏鍐典笅涔熼噸缃爣蹇� + }); } this.taocan = false; @@ -2924,9 +2977,12 @@ processOrderItems(cusId) { getTransitionList1(cusId).then((response) => { this.tableData1 = response.data; - let Price = 0; + 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; } @@ -2937,12 +2993,14 @@ } this.TotalPrice1 += item.ordPrice || 0; // 绱姞搴旀敹閲戦 Price += item.nowPrice || 0; // 绱姞瀹炴敹閲戦 - this.TotalPrice = Price.toFixed(2) + this.TotalPrice = Price.toFixed(2); }); - console.log(this.TotalPrice1, this.TotalPrice) // 璁$畻鎶樻墸 - 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; @@ -2970,9 +3028,15 @@ // 鍘荤┖鏍煎鐞� 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, '') : '' + 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) => { @@ -3021,7 +3085,7 @@ // 浣跨敤鍘绘帀绌烘牸鍚庣殑鏁版嵁 cusName: processedForm.cusName, cusPhone: processedForm.cusPhone, - cusIdcard: processedForm.cusIdcard + cusIdcard: processedForm.cusIdcard, }; } else { data = { @@ -3035,7 +3099,7 @@ // 浣跨敤鍘绘帀绌烘牸鍚庣殑鏁版嵁 cusName: processedForm.cusName, cusPhone: processedForm.cusPhone, - cusIdcard: processedForm.cusIdcard + cusIdcard: processedForm.cusIdcard, }; } @@ -3134,7 +3198,6 @@ } this.discount = (this.formInline.paidIn / this.formInline.price) * 10; - } else { this.discount = 10; this.formInline.paidIn = "0.00"; @@ -3213,7 +3276,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; @@ -3277,12 +3347,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) { -- Gitblit v1.8.0