From 7acadd5e1bb4c7de24cc633ed634efe1fac7546b Mon Sep 17 00:00:00 2001 From: wwl <xchao828@163.com> Date: 星期三, 26 二月 2025 09:07:08 +0800 Subject: [PATCH] 1 --- src/views/hosp/order/index.vue | 407 ++++++++++++++++++++++++++++++++++----------------------- 1 files changed, 244 insertions(+), 163 deletions(-) diff --git a/src/views/hosp/order/index.vue b/src/views/hosp/order/index.vue index c5e9a65..7c847ec 100644 --- a/src/views/hosp/order/index.vue +++ b/src/views/hosp/order/index.vue @@ -243,6 +243,15 @@ >寮哄埗鎾ら攢</el-button > </el-col> + <el-col :span="1.5"> + <el-button + type="primary" + size="mini" + @click="ResumeAppointment" + :disabled="multiple" + >鎭㈠棰勭害</el-button + > + </el-col> <right-toolbar :showSearch.sync="showSearch" @queryTable="getList" @@ -612,7 +621,7 @@ :props="defaultProp" show-checkbox node-key="id" - @check="handlepackage" + @check-change="handlepackage" :default-checked-keys="checkedkeys" :filter-node-method="filterpackage" ref="treas" @@ -673,7 +682,7 @@ :props="defaultProps" show-checkbox node-key="proId" - @check="handleCurrentChecked" + @check-change="handleCurrentChecked" :default-checked-keys="checkedkey" :filter-node-method="filterNode" ref="tree" @@ -795,13 +804,20 @@ <el-table :data="DataList3" border - style="width: 100%" + style="width: 100%; table-layout: fixed" height="560" - :span-method="objectspanmethod" - > - <el-table-column prop="propinName" label="妫�鏌ラ」鐩�"> + :span-method="objectspanmethod"> + <el-table-column + prop="propinName" + label="妫�鏌ラ」鐩�" + width="200px" + :show-overflow-tooltip="true"> </el-table-column> - <el-table-column prop="proName" label="鏄庣粏椤圭洰" width="200px"> + <el-table-column + prop="proName" + label="鏄庣粏椤圭洰" + width="200px" + :show-overflow-tooltip="true"> </el-table-column> <el-table-column prop="sl" label="鏁伴噺" width="56px"> </el-table-column> @@ -944,15 +960,7 @@ <div class="tab8"> <el-row :gutter="20" style="width: 100%"> <el-col :span="22"> - <!-- <div - style=" - text-align: center; - margin-bottom: 10px; - margin-top: 10px; - " - > - 椤圭洰鍒楄〃 - </div> --> + <el-input placeholder="杈撳叆鍏抽敭瀛楄繘琛岃繃婊�" v-model="filterage" @@ -966,7 +974,7 @@ :props="defaultProp" show-checkbox node-key="id" - @check="handlepackage" + @check-change="handlepackage" :default-checked-keys="checkedkeys" :filter-node-method="filterpackage" ref="treas" @@ -975,29 +983,6 @@ </el-tree> </div> </el-col> - <!-- <el-col :span="11"> - <div - style=" - text-align: center; - margin-bottom: 10px; - margin-top: 10px; - " - > - 鏄庣粏椤圭洰鍒楄〃 - </div> - <div class="tab3"> - <el-tree - class="filter-tree" - v-loading="loading" - :data="packagedataList" - node-key="proId" - :props="defaultpackProps" - :render-content="renderContent" - > - </el-tree> - </div> - </el-col> --> - <!-- <el-col :span="11"> </el-col> --> </el-row> </div> </el-tab-pane> @@ -1005,15 +990,6 @@ <div class="tab8"> <el-row type="flex" class="row-bg" justify="space-around"> <el-col :span="22"> - <!-- <div - style=" - text-align: center; - margin-bottom: 10px; - margin-top: 10px; - " - > - 椤圭洰鍒楄〃 - </div> --> <el-input placeholder="杈撳叆鍏抽敭瀛楄繘琛岃繃婊�" v-model="filterText" @@ -1027,7 +1003,7 @@ :props="defaultProps" show-checkbox node-key="proId" - @check="handleCurrentChecked" + @check-change="handleCurrentChecked" :default-checked-keys="checkedkey" :filter-node-method="filterNode" ref="tree" @@ -1036,106 +1012,6 @@ </el-tree> </div> </el-col> - <!-- <el-col :span="11"> - <div - style=" - text-align: center; - margin-bottom: 10px; - margin-top: 10px; - " - > - 鏄庣粏椤圭洰鍒楄〃 - </div> - <div class="tab3"> - <div class="outside1"> - <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> - </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> - - <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="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> --> - <!-- <el-collapse v-model="activeName" accordion v-if="list1"> - <div> - <el-collapse-item title="璇烽�夋嫨椤圭洰"> - <el-table - :data="DataList" - border - style="width: 100%" - height="400" - :span-method="objectSpanMethod" - > - <el-table-column - prop="proName" - label="椤圭洰" - width="180" - > - </el-table-column> - <el-table-column prop="ordPrice" label="鍘熶环"> - </el-table-column> - </el-table> - </el-collapse-item> - </div> - </el-collapse> --> - <!-- </div> - </el-col> --> </el-row> </div> </el-tab-pane> @@ -1149,13 +1025,20 @@ <el-table :data="DataList3" border - style="width: 100%" + style="width: 100%; table-layout: fixed" height="560" - :span-method="objectspanmethod" - > - <el-table-column prop="propinName" label="妫�鏌ラ」鐩�"> + :span-method="objectspanmethod"> + <el-table-column + prop="propinName" + label="妫�鏌ラ」鐩�" + width="200px" + :show-overflow-tooltip="true"> </el-table-column> - <el-table-column prop="proName" label="鏄庣粏椤圭洰" width="200px"> + <el-table-column + prop="proName" + label="鏄庣粏椤圭洰" + width="200px" + :show-overflow-tooltip="true"> </el-table-column> <el-table-column prop="sl" label="鏁伴噺" width="56px"> </el-table-column> @@ -1662,6 +1545,7 @@ getOrderList, getNewDateList, revokeTjOrderByTjNum, + huifuyuyuejilu, getTransitionInfo, getBlproByTjh, revokeBlProByBldhAndTjh, @@ -1782,6 +1666,7 @@ activeNames: "first", // 闈炲涓鐢� multiple: true, + tjNUms:[], // 鏄剧ず鎼滅储鏉′欢 showSearch: true, userId: "", @@ -2132,6 +2017,34 @@ }); }, + ResumeAppointment(){ + this.isLoading = true; + this.$confirm("鎮ㄧ‘璁よ鎭㈠棰勭害锛�", "纭淇℃伅", { + distinguishCancelAndClose: true, + confirmButtonText: "纭", + cancelButtonText: "鍙栨秷", + }) + .then(() => { + huifuyuyuejilu(this.tjNUms).then((res) => { + this.$modal.msgSuccess("鎭㈠鎴愬姛"); + // this.isLoading = false; + this.getList(); + }); + }) + .catch((action) => { + if (action === "cancel") { + this.$message({ + type: "warning", + message: "宸插彇娑�", + }); + } + }) + .finally(() => { + // 涓嶈鎿嶄綔鎴愬姛杩樻槸澶辫触锛岄兘浼氭墽琛� + this.isLoading = false; + }); + }, + handleRevoke() { this.isLoading = true; this.$confirm("鎮ㄧ‘璁よ鎾ら攢锛�", "纭淇℃伅", { @@ -2325,6 +2238,7 @@ // 澶氶�夋閫変腑鏁版嵁 handleSelectionChange(selection) { let tjNUms = selection.map((item) => item.tjNumber); + this.tjNUms = selection.map((item) => item.tjNumber); selection.forEach((item) => { this.orderIds = item.orderId; this.tjnumbers = item.tjNumber; @@ -2497,6 +2411,8 @@ // this.marryalls = 0; // this.Datalists = []; this.checkedkeys = []; + + this.DataList3 = []; getZhList().then((response) => { if (response.data) { this.packageList = response.data; @@ -2505,16 +2421,98 @@ }); } else { // this.TotalPrice1 = 0; - this.checkedkey = []; + this.checkedkeys = []; // this.DataList = []; + this.Datalists = []; + this.DataList3 = []; this.getDataList(); // if (this.marryalls != 0) { // this.TotalPrice1 += this.marryalls; // } } }, - handlepackage(data, checked, checkedNodes) { + if (checked == true) { + // this.$refs.treas.setCheckedKeys([data.id]); + let datas = { + zhId: data.id, + }; + + getlistByZhId(datas).then((res) => { + this.packagedataList = res.data.tjProjectList; + for (var i = 0; i < this.packagedataList.length; i++) { + let proId = this.packagedataList[i].proId; + getProSonDxList(proId).then((res) => { + this.TreedataList = res.data.list; + this.TreedataList.forEach((item) => { + this.Datalists.push(item); + }); + + // 鍚堝苟 Datalists 鍜� DataList 鍒� DataList3 + this.DataList3 = this.DataList.concat(this.Datalists); + + // 娓呯┖绱姞鍣� + this.marryalls = 0; + this.TotalPrice1 = 0; + + // 閲嶆柊璁$畻浠锋牸 + this.DataList3.forEach((item) => { + console.log(item.proPrice); + this.TotalPrice1 += item.proPrice * item.sl; + this.marryalls += item.proPrice * item.sl; + }); + + // 涓烘瘡涓」鐩坊鍔� propinName + this.Datalists.forEach((item1) => { + this.packagedataList.forEach((item3) => { + if (item1.proParentId == item3.proId) { + item1.propinName = item3.proName; + } + }); + }); + }); + } + }); + } else if (checked == false) { + let datas = { + zhId: data.id, + }; + + this.marryalls = 0; + + // 娓呯┖ Datalists 鍜� DataList3 + this.Datalists = []; + this.DataList3 = [...this.DataList]; // 閲嶆柊璁剧疆 DataList3锛屼粎鍖呭惈鍘熷 DataList + + getlistByZhId(datas).then((res) => { + this.packagedataList = res.data.tjProjectList; + for (var i = 0; i < this.packagedataList.length; i++) { + let proId = this.packagedataList[i].proId; + getProSonDxList(proId).then((res) => { + this.TreedataList = res.data.list; + this.checkedListkey = this.checkedListkey.filter( + (id) => id !== proId + ); + + // 浠� DataList3 涓Щ闄ょ浉鍏崇殑瀛愰」 + this.DataList3 = this.DataList3.filter( + (item) => item.proParentId !== proId + ); + + // 鏇存柊鎬讳环鏍� + this.TotalPrice1 = 0; // 娓呯┖浠锋牸 + this.DataList3.forEach((item) => { + this.TotalPrice1 += item.proPrice; + }); + }); + } + }); + } + }, + + /* handlepackage(data, checked, checkedNodes) { + console.log(checked, 3333); + if (checked.checkedNodes.length != 0) { this.$refs.treas.setCheckedKeys([data.id]); let datas = { @@ -2537,7 +2535,7 @@ this.marryalls += item1.proPrice; // this.TotalPrice1 = this.marryalls; this.TotalPrice1 = 0; - console.log(this.DataList3, 9999999999); + if (this.DataList3.length != 0) { this.DataList3.forEach((item) => { console.log(item.proPrice); @@ -2557,12 +2555,12 @@ }); } else if (checked.checkedNodes.length == 0) { } - }, + }, */ renderContent(h, { node, data, store }) { return ( <span class="custom-tree-node"> - 聽 <span>{node.label}</span> + <span>{node.label}</span> <span>({data.proPrice}鍏�)</span> </span> ); @@ -2579,6 +2577,8 @@ this.orderId = row.orderId; this.cusId = row.tjCusIdCard; this.userId = row.userId; + console.log(row, 666); + this.customer = { cusIdcard: row.tjCusIdCard, cusName: row.tjCustomerName, @@ -2664,9 +2664,10 @@ }, // 鐐瑰嚮鑾峰彇姣忎釜鏍戣妭鐐� - handleCurrentChecked(data, checked, checkedNodes) { + /* handleCurrentChecked(data, checked, checkedNodes) { this.dataObj = data; - if (checked.checkedNodes.length != 0) { + this.checkedObj = checked; + if (checked == true) { this.$refs.tree.setCheckedKeys([data.proId]); let proId = data.proId; getProSonDxList(proId).then((res) => { @@ -2699,11 +2700,91 @@ // } // } }); - } else if (checked.checkedNodes.length == 0) { + } else if (checked == false) { let proId = data.proId; getProSonDxList(proId).then((res) => { this.TreedataList = res.data.list; this.checkedListkey = []; + this.TreedataList.forEach((item) => { + item.disabled = true; + }); + this.DataList3.forEach((item, index) => { + if (item.proParentId == this.dataObj.proId) { + this.DataList3.splice(index, this.TreedataList.length); + } + }); + + // 鎵嬪姩鏇存柊鎬讳环鏍� + this.TotalPrice1 = 0; + this.DataList3.forEach((item, index) => { + this.TotalPrice1 += item.proPrice * item.sl; + }); + }); + } + }, */ + handleCurrentChecked(data, checked, checkedNodes) { + this.dataObj = data; + this.checkedObj = checked; + + if (checked === true) { + // this.$refs.tree.setCheckedKeys([data.proId]); + let proId = data.proId; + getProSonDxList(proId).then((res) => { + this.TreedataList = res.data.list; + + this.TreedataList.forEach((item) => { + // item.disabled = true; + // this.checkedListkey.push(item.proId); + if (!this.checkedListkey.includes(item.proId)) { + this.checkedListkey.push(item.proId); + } + this.Datalists.push(item); + + this.DataList3.push(item); + + this.spliceData(); + this.DataList3.forEach((item1) => { + this.TotalPrice1 += item1.proPrice * item1.sl; + if (item1.proParentId == data.proId) { + item1.propinName = data.proName; + item1.propinPrice = this.dataObj.proPrice; + } + }); + }); + + // 鏇存柊鎬讳环鏍� + this.TotalPrice1 = 0; + this.DataList3.forEach((item) => { + this.TotalPrice1 += item.proPrice * item.sl; + }); + }); + } else if (checked === false) { + // 褰撳彇娑堥�変腑鏃� + let proId = data.proId; + getProSonDxList(proId).then((res) => { + this.TreedataList = res.data.list; + + // 閬嶅巻 TreedataList 骞剁Щ闄ょ浉鍏崇殑瀛愰」 ID + this.TreedataList.forEach((item) => { + this.checkedListkey = this.checkedListkey.filter( + (id) => id !== item.proId + ); + }); + + this.Datalists = this.Datalists.filter( + (item) => item.proParentId !== proId + ); + + // 浠� DataList3 涓Щ闄ょ浉鍏崇殑瀛愰」 + this.DataList3 = this.DataList3.filter( + (item) => item.proParentId !== proId + ); + + // 鏇存柊鎬讳环鏍� + this.TotalPrice1 = 0; + this.DataList3.forEach((item) => { + this.TotalPrice1 += item.proPrice * item.sl; + }); }); } }, -- Gitblit v1.8.0