From bbd8b70f2544e07ce6ce4247ebb13f892dd86112 Mon Sep 17 00:00:00 2001 From: qinxianzhangyao <11053546+qinxianzhangyao@user.noreply.gitee.com> Date: 星期四, 27 六月 2024 15:11:51 +0800 Subject: [PATCH] qxtj --- src/views/system/tijian/index.vue | 473 ++++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 438 insertions(+), 35 deletions(-) diff --git a/src/views/system/tijian/index.vue b/src/views/system/tijian/index.vue index ed88b5b..40c5ca4 100644 --- a/src/views/system/tijian/index.vue +++ b/src/views/system/tijian/index.vue @@ -334,7 +334,6 @@ </el-col> </el-row> </el-form> - <el-row v-show="top"> <el-col :span="19"> @@ -424,15 +423,17 @@ <el-dialog title="閫夋嫨濂楅" :visible.sync="taocan" - width="50%" + width="70%" height="700px" + :close-on-click-modal="false" > <el-tabs type="border-card" style="height: 560px; margin: 0 10px; width: 100%" + v-model="activeNames" @tab-click="handleClick" > - <el-tab-pane label="濂楅"> + <el-tab-pane label="濂楅" name="first"> <el-form :model="queryParam" ref="queryForm" @@ -474,7 +475,6 @@ @selection-change="handleSelectionChange" height="450px" ref="tb" - style="width: 850px" > <el-table-column type="selection" @@ -525,7 +525,7 @@ ></el-button> --> </div> </el-tab-pane> - <el-tab-pane label="鍗曢」"> + <el-tab-pane label="鍗曢」" name="second"> <div class="tab8"> <!-- <div class="tab7"> <v-tree-transfer @@ -550,6 +550,7 @@ > 椤圭洰鍒楄〃 </div> + <!-- @input="gaibian" --> <el-input placeholder="杈撳叆鍏抽敭瀛楄繘琛岃繃婊�" v-model="filterText"> </el-input> <div class="tab3"> @@ -564,6 +565,7 @@ :default-checked-keys="checkedkey" :filter-node-method="filterNode" ref="tree" + :render-content="renderContent" > </el-tree> </div> @@ -589,6 +591,7 @@ show-checkbox @check-change="handleCurrentChecked1" :default-checked-keys="checkedListkey" + :render-content="renderContent" > </el-tree> </div> @@ -614,12 +617,15 @@ <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 prop="proPrice" label="鍘熶环" width="56px"> </el-table-column> <el-table-column @@ -640,7 +646,7 @@ </template> </el-table-column> </el-table> - <el-collapse v-model="activeName" accordion v-if="list1"> + <!-- <el-collapse v-model="activeName" accordion v-if="list1"> <div> <el-collapse-item title="璇烽�夋嫨椤圭洰"> <el-table @@ -661,7 +667,153 @@ </el-table> </el-collapse-item> </div> - </el-collapse> + </el-collapse> --> + </div> + </el-col> + </el-row> + </div> + </el-tab-pane> + <el-tab-pane label="缁勫悎" name="third"> + <div class="tab8"> + <!-- <div class="tab7"> + <v-tree-transfer + :treeData="treedataList" + :defaultProps="{ children: 'tjProjectList', label: 'proName' }" + :defaultKeys="defaultKeys" + @changeKeys="changeCategoryKeys" + :key="datekey" + ></v-tree-transfer> --> + <!-- <el-tree :data="data" show-checkbox node-key="proId" :props="defaultProps" :default-checked-keys="treeList" + @check-change="handleCurrentChecked"> + </el-tree> --> + <!-- </div> --> + <el-row :gutter="20"> + <el-col :span="6"> + <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="defaultProps1" + show-checkbox + node-key="id" + @check="handleCurrentCheckeds" + :default-checked-keys="checkedkey" + :filter-node-method="filterNode" + ref="trees" + :render-content="renderContent1" + > + </el-tree> + </div> + </el-col> + <el-col :span="6"> + <div + style=" + text-align: center; + margin-bottom: 10px; + margin-top: 10px; + " + > + 鏄庣粏椤圭洰鍒楄〃 + </div> + <div class="tab3"> + <el-tree + class="filter-tree" + v-loading="loading" + :data="zhxqList" + node-key="id" + :props="defaultProps2" + :filter-node-method="filterNode" + :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> + <el-table + :data="DataList" + border + style="width: 100%" + height="400" + :span-method="objectSpanMethod" + > + <el-table-column prop="hisXmmc" 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="handleDelete1(scope.row)" + title="鍒犻櫎" + ></el-button> + </template> + </el-table-column> + </el-table> + <h3 style="font-weight: bold">鍚堣锛歿{ marryall }}鍏�</h3> + <!-- <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> @@ -804,13 +956,20 @@ <!-- <el-input v-model="form.category" placeholder="璇疯緭鍏ヤ綋妫�绫诲埆" /> --> </el-form-item> - <el-form-item style="margin-left: 269px"> + <el-form-item style="margin-left: 149px"> <el-button type="primary" @click="Package" size="mini" style="margin-right: 20px" >閫夋嫨濂楅</el-button + > + <el-button + type="primary" + @click="resetpackage" + size="mini" + style="margin-right: 20px" + >閲嶇疆濂楅</el-button > <el-button type="primary" @@ -902,6 +1061,12 @@ "鍏�)" }} </template> + <el-button + type="primary" + @click="candelete(item)" + style="margin: 5px" + >鍒� 闄�</el-button + > <el-table :data="item.list" border @@ -1260,10 +1425,13 @@ getaddtTransition, getTransitionList, getByTeamNo, + delTbBycusCardIdAndProId, getLoadFile, getIsRequired, getconfigKey, getHistryTjOrderProByCusIdCard, + getZhList, + listByZhId, } from "@/api/system/tijian"; import Packages from "@/components/Packages"; import { MessageBox } from "element-ui"; @@ -1291,6 +1459,9 @@ }, data() { return { + zhxqList: [], + zhList: [], + pname: "", filterText: "", proIdList: [], tableDatas: [], @@ -1299,6 +1470,7 @@ table: false, HistoryList: {}, index: 0, + names: "", dictType: [ { value: 0, @@ -1310,6 +1482,7 @@ }, ], isNow: 1, + marryall: 0, treeId: [], treeList: [], defaultKeys: [], @@ -1327,7 +1500,7 @@ hospName: "", currentDate: "", currentTime: "", - tjCategory: "", + tjCategory: "12", formIn: { tjPro: "浣撴璐�", }, @@ -1414,13 +1587,23 @@ proIds: [], // 鏄剧ず鎼滅储鏉′欢 showSearch: true, + activeNames: "first", // 鏍戠姸褰㈢姸 Treedata: [], TreedataList: [], + TreedataLists: [], treedataList: [], checkedkey: [], checkedListkey: [], defaultProps: { + children: [], + label: "proName", + }, + defaultProps1: { + children: [], + label: "zhmc", + }, + defaultProps2: { children: [], label: "proName", }, @@ -1533,7 +1716,12 @@ }, filterNode(value, data) { if (!value) return true; - return data.proName.indexOf(value) !== -1; + // 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; + } }, beforeDestroy() { clearInterval(this.timer); @@ -1599,6 +1787,48 @@ }, inputChanges() { this.$refs.historyTj.getlist(); + }, + + candelete(item) { + let data = { + cusCardId: this.form.cusIdcard, + proId: item.proPrantId, + }; + delTbBycusCardIdAndProId(data).then((res) => { + getTransitionList(this.form.cusIdcard).then((response) => { + this.tableData1 = response.data; + this.TotalPrice1 = 0; + if (this.tableData1) { + this.tableData1.forEach((item) => { + this.TotalPrice1 += item.nowPrice; + if (item.pacName === null) { + item.pacName = "鍗曢」"; + } + if (item.pacName == "鍗曢」") { + item.list.forEach((item9) => { + this.treeList.push(item9.proId); + }); + } + this.pacName = item.pacName; + }); + + const r = /^\+?[0-9][0-9]*$/; //姝f暣鏁帮紙鍙互0鎵撳ご锛� + let TotalPrice = this.TotalPrice1 * (this.discount / 10); + if (r.test(TotalPrice)) { + this.TotalPrice = TotalPrice + ".00"; + } else { + this.TotalPrice = TotalPrice; + } + + this.list1 = false; + this.list3 = true; + } else { + this.list1 = true; + + this.TotalPrice = "0.00"; + } + }); + }); }, cope() { this.tcShow = true; @@ -1966,7 +2196,6 @@ if (this.tableData1) { this.tableData1.forEach((item) => { this.TotalPrice1 += item.ysPrice; - console.log(this.TotalPrice1); this.TotalPrice = ( this.TotalPrice1 * (this.discount / 10) @@ -1995,7 +2224,6 @@ this.TotalPrice1 = 0; this.tableData1.forEach((item) => { this.TotalPrice1 += item.nowPrice; - console.log(this.TotalPrice1); this.TotalPrice = ( this.TotalPrice1 * (this.discount / 10) @@ -2267,15 +2495,50 @@ // } // }, + resetpackage() { + if (this.form.cusIdcard) { + var cusId = this.form.cusIdcard; + } else { + this.$message.warning("璇峰厛濉啓淇℃伅锛屽啀閫変綋妫�鍐呭"); + } + let _this = this; + _this.pacId = ""; + this.proIds = []; + this.tjCategory = "12"; + let data = { + cusId, + pacId: _this.pacId, + proIds: this.proIds, + }; + getaddtTransition(data).then((response) => { + if (response.code === 200) { + let cusId = this.form.cusIdcard; + this.proIds = []; + getTransitionList(cusId).then((response) => { + this.tableData1 = response.data; + this.TotalPrice1 = 0; + if (this.tableData1.length >= 1) { + this.list1 = false; + this.list3 = true; + } else { + this.list1 = true; + + this.TotalPrice = "0.00"; + } + }); + } + }); + }, + Package() { this.taocan = true; + this.activeNames = "first"; let cusSex = this.form.cusSex; this.datekey = Date.now(); //鍏ㄩ儴濂楅 this.loading = true; deptTreeSelect(cusSex).then((response) => { this.newpacName = response.rows; - try { if (this.tableData1.length >= 1) { this.newpacName.forEach((item3) => { @@ -2348,9 +2611,22 @@ this.DataList = []; this.getDataList(); } + if (tab.label == "缁勫悎") { + this.DataList = []; + this.getzhList(); + } }, + // gaibian(val){ + // console.log(val); + // let pname = val; + // console.log(pname); + // getProParentIdDxList(pname).then(response=>{ + // this.Treedata = response.data.list; + // }) + // }, getDataList() { this.loading = true; + // this.pname = "null"; getProParentIdDxList().then((response) => { this.Treedata = response.data.list; if (this.tableData[0]) { @@ -2362,30 +2638,80 @@ }); }); } - this.checkedkey.push(this.Treedata[0].proId); - let proId = this.Treedata[0].proId; + this.checkedkey.push("1735504273274236929"); + let proId = "1735504273274236929"; + this.Treedata.forEach((item) => { + if (proId == item.proId) { + this.names = item.proName; + } + }); getProSonDxList(proId).then((res) => { this.TreedataList = res.data.list; this.TreedataList.forEach((item) => { this.checkedListkey.push(item.proId); this.DataList.push(item); this.DataList.forEach((item) => { - item.propinName = this.Treedata[0].proName; + item.propinName = this.names; }); }); this.TotalPrice1 = 0; - + this.marryall = 0; if (this.DataList.length != 0) { this.list1 = false; this.DataList.forEach((item) => { this.TotalPrice1 = item.proPrice + this.TotalPrice1; + this.marryall += item.proPrice; }); } }); this.loading = false; }); }, - + getzhList() { + // getZhList().then((res) => { + // console.log(res); + // this.zhList = res.data; + // }); + // this.pname = "null"; + getZhList().then((response) => { + this.Treedata = response.data; + if (this.tableData[0]) { + this.tableData[0].tjProjectList.forEach((selectionitem) => { + this.Treedata.forEach((item) => { + if (selectionitem.proId == item.proId) { + item.disabled = true; + } + }); + }); + } + this.checkedkey.push("1735504273274236929"); + let proId = "1735504273274236929"; + this.Treedata.tjProjectList.forEach((item) => { + if (proId == item.proId) { + this.names = item.proName; + } + }); + getProSonDxList(proId).then((res) => { + this.TreedataList = res.data.list; + this.TreedataList.forEach((item) => { + this.checkedListkey.push(item.proId); + this.DataLists.push(item); + this.DataLists.forEach((item) => { + item.propinName = this.names; + }); + }); + this.TotalPrice1 = 0; + this.marryall = 0; + if (this.DataLists.length != 0) { + this.list1 = false; + this.DataLists.forEach((item) => { + this.TotalPrice1 = item.proPrice + this.TotalPrice1; + this.marryall += item.proPrice; + }); + } + }); + }); + }, // 鐐瑰嚮鑾峰彇姣忎釜鏍戣妭鐐� handleCurrentChecked(data, checked, checkedNodes) { this.dataObj = data; @@ -2405,10 +2731,12 @@ }); }); this.TotalPrice1 = 0; + this.marryall = 0; if (this.DataList.length != 0) { this.list1 = false; this.DataList.forEach((item) => { - this.TotalPrice1 = item.proPrice + this.TotalPrice1; + // this.TotalPrice1 = item.proPrice + this.TotalPrice1; + this.marryall += item.proPrice; }); } }); @@ -2421,6 +2749,51 @@ } }, + handleCurrentCheckeds(data, checked, checkedNodes) { + console.log(data,222); + let zhId = data.id; + listByZhId(zhId).then((res) => { + this.zhxqList = res.data.tjProjectList; + this.dataObj = data; + if (checked.checkedNodes.length != 0) { + this.zhxqList.forEach((element) => { + this.$refs.trees.setCheckedKeys([data.id]); + let proId = element.proId; + getProSonDxList(proId).then((rese) => { + this.TreedataLists = rese.data.list; + this.TreedataLists.forEach((item) => { + this.checkedListkey.push(item.proId); + this.DataLists.push(item); + console.log(this.DataLists,333); + this.spliceData(); + this.DataLists.forEach((item1) => { + if (item1.proParentId == data.proId) { + item1.propinName = data.proName; + } + }); + }); + this.TotalPrice1 = 0; + this.marryall = 0; + if (this.DataLists.length != 0) { + this.list1 = false; + this.DataLists.forEach((item) => { + // this.TotalPrice1 = item.proPrice + this.TotalPrice1; + this.marryall += item.proPrice; + }); + } + }); + }); + } else if (checked.checkedNodes.length == 0) { + this.zhxqList.forEach((element) => { + let proId = element.proId; + getProSonDxList(proId).then((res) => { + this.TreedataLists = res.data.list; + this.checkedListkey = []; + }); + }); + } + }); + }, spliceData() { for (var i = 0; i < this.DataList.length; i++) { for (var j = i + 1; j < this.DataList.length; j++) { @@ -2434,15 +2807,31 @@ return this.DataList; }, + renderContent(h, { node, data, store }) { + return ( + <span class="custom-tree-node"> + 聽 <span>{node.label}</span> + <span>({data.proPrice}鍏�)</span> + </span> + ); + }, + renderContent1(h, { node, data, store }) { + return ( + <span class="custom-tree-node"> + 聽 <span>{node.label}</span> + <span>({data.price}鍏�)</span> + </span> + ); + }, // 鐐瑰嚮鑾峰彇姣忎釜鏍戣妭鐐� handleCurrentChecked1(data, checked, checkedNodes) { if (checked == false) { this.DataList.forEach((item, index) => { if (item.proId == data.proId) { this.DataList.splice(index, 1); - this.TotalPrice1 = 0; + this.marryall = 0; this.DataList.forEach((item1) => { - this.TotalPrice1 = item1.proPrice + this.TotalPrice1; + this.marryall += item1.proPrice; }); } }); @@ -2454,9 +2843,9 @@ } }); this.spliceData(); - this.TotalPrice1 = 0; + this.marryall = 0; this.DataList.forEach((item1) => { - this.TotalPrice1 = item1.proPrice + this.TotalPrice1; + this.marryall += item1.proPrice; }); } }, @@ -2466,16 +2855,27 @@ this.DataList.forEach((item, index) => { if (item.proId == row.proId) { this.DataList.splice(index, 1); - this.TotalPrice1 = 0; + this.marryall = 0; this.DataList.forEach((item1) => { - this.TotalPrice1 = item1.proPrice + this.TotalPrice1; + this.marryall += item1.proPrice; + }); + } + }); + }, + /** 鍒犻櫎鎸夐挳鎿嶄綔 */ + handleDelete1(row) { + this.DataList.forEach((item, index) => { + if (item.proId == row.proId) { + this.DataList.splice(index, 1); + this.marryall = 0; + this.DataList.forEach((item1) => { + this.marryall += item1.proPrice; }); } }); }, // // 榛樿鎺ュ彈鍥涗釜鍊� { 褰撳墠琛岀殑鍊�, 褰撳墠鍒楃殑鍊�, 琛岀殑涓嬫爣, 鍒楃殑涓嬫爣 } objectSpanMethod({ row, column, rowIndex, columnIndex }) { - console.log(row, column, rowIndex, columnIndex); let fields = ["propinName"]; let cellValue = row[column.property]; if (cellValue && fields.includes(column.property)) { @@ -2517,13 +2917,18 @@ this.proIds.push(item.proId); }); } + if (this.DataLists.length != 0) { + this.DataList.forEach((item) => { + this.proIds.push(item.proId); + }); + } let data = { cusId, pacId: _this.pacId, proIds: this.proIds, }; getaddtTransition(data).then((response) => { - if (response.code === 200) { + if (response.code == 200) { let cusId = this.form.cusIdcard; this.proIds = []; getTransitionList(cusId).then((response) => { @@ -2532,8 +2937,8 @@ if (this.tableData1) { this.tableData1.forEach((item) => { this.TotalPrice1 += item.nowPrice; - if (item.pacName === null) { - item.pacName = "鍗曢」"; + if (item.tjCategory != null) { + this.tjCategory = item.tjCategory; } if (item.pacName == "鍗曢」") { item.list.forEach((item9) => { @@ -2550,12 +2955,10 @@ } else { this.TotalPrice = TotalPrice; } - this.list1 = false; this.list3 = true; } else { this.list1 = true; - this.TotalPrice = "0.00"; } }); @@ -2908,7 +3311,7 @@ message: "璇烽�夋嫨濂楅!", }); } - }else { + } else { this.$modal.msgError("璇烽�夋嫨浣撴绫诲埆"); } }, @@ -2963,7 +3366,7 @@ } .tab3 { - max-height: 400px; + max-height: 390px; overflow-y: auto; border: 1px solid #d9d9d9; } -- Gitblit v1.8.0