From 00212ed8e808fc7b76c04389224e65f27f074fb2 Mon Sep 17 00:00:00 2001 From: su1124 <1583764726@qq.com> Date: 星期五, 26 四月 2024 15:30:04 +0800 Subject: [PATCH] su --- src/views/hosp/project/index.vue | 270 ++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 192 insertions(+), 78 deletions(-) diff --git a/src/views/hosp/project/index.vue b/src/views/hosp/project/index.vue index bb9506f..c296482 100644 --- a/src/views/hosp/project/index.vue +++ b/src/views/hosp/project/index.vue @@ -6,11 +6,13 @@ <el-input v-model="deptName" placeholder="璇疯緭鍏ラ儴闂ㄥ悕绉�" clearable size="small" prefix-icon="el-icon-search" style="margin-bottom: 15px" /> </div> - <div class="head-container"> - <el-tree :data="deptOptions" :props="defaultProps" :expand-on-click-node="false" - :filter-node-method="filterNode" ref="tree" node-key="id" :default-expanded-keys="treeId" highlight-current - @node-click="handleNodeClick" /> - </div> + <el-scrollbar style="height: 629px; width: 100%"> + <div class="head-container"> + <el-tree :data="deptOptions" :props="defaultProps" :expand-on-click-node="false" + :filter-node-method="filterNode" ref="tree" node-key="id" :default-expanded-keys="treeId" highlight-current + @node-click="handleNodeClick" /> + </div> + </el-scrollbar> </el-col> <el-col :span="20" :xs="24"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> @@ -31,6 +33,10 @@ <el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAdd" v-hasPermi="['hosp:project:add']">鏂板</el-button> </el-col> + <el-col :span="1.5"> + <el-button :disabled="xiugais" type="primary" icon="el-icon-plus" size="mini" @click="handleUpdate1" + v-hasPermi="['hosp:project:add']">淇敼</el-button> + </el-col> <!-- <el-col :span="1.5"> <el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate" v-hasPermi="['hosp:project:edit']">淇敼</el-button> </el-col> --> @@ -47,11 +53,7 @@ <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> </el-row> - <el-table v-if="refreshTable" v-loading="loading" :data="projectList" ref="tableRef" border row-key="proId" - :expand-row-keys="ListId" :row-class-name="selectSingleRow" :tree-props="{ - children: 'tjProjectList', - hasChildren: 'tjProjectList.length>0', - }"> + <el-table v-if="refreshTable" v-loading="loading" :data="projectList" ref="tableRef" border> <!-- :show-overflow-tooltip="true" --> <el-table-column label="椤圭洰鍚嶇О" prop="proName" fixed="left" :width="flexColumnWidth('rwdtypeName')" /> <el-table-column label="椤圭洰浠锋牸(鍗曚綅/鍏�)" align="center" prop="proPrice" width="75px" @@ -64,7 +66,7 @@ width="110px" /> --> <el-table-column label="鍙備笌灏忕粨" align="center" prop="needReport" :show-overflow-tooltip="true" width="110px"> <template slot-scope="scope"> - <dict-tag :options="dict.type.sys_yes_no" :value="scope.row.proCheckMethod" /> + <dict-tag :options="dict.type.sys_yes_no" :value="scope.row.needReport" /> </template> </el-table-column> <el-table-column label="鏄惁绌鸿吂" align="center" prop="proCheckMethod" :show-overflow-tooltip="true" width="110px"> @@ -104,8 +106,8 @@ <el-dialog :title="title" :visible.sync="open" width="1200px" append-to-body :before-close="handleClose"> <el-form ref="form" :model="form" :rules="rules" label-width="100px" :inline="true"> <el-form-item label="涓婚」鍚嶇О" prop="proParentId"> - <treeselect v-model="form.proParentId" :options="projectOptions" :normalizer="normalizer" :show-count="true" - placeholder="閫夋嫨涓婚」鍚嶇О" style="width: 260px" @select="obtain" /> + <treeselect :disabled="proParent" v-model="form.proParentId" :options="projectOptions" :normalizer="normalizer" + :show-count="true" placeholder="閫夋嫨涓婚」鍚嶇О" style="width: 260px" @select="obtain" /> </el-form-item> <el-form-item label="鏄庣粏椤圭洰" prop="proName" v-if="key == 'Y'"> <span slot="label" style="display: inline-block; border-bottom: 2px solid blue" @click="getDetailed"> @@ -150,7 +152,7 @@ </el-select> </el-form-item> --> <el-form-item label="鎬у埆" prop="proSex"> - <el-select v-model="form.proSex" placeholder="璇烽�夋嫨浣撴浜烘�у埆" style="width: 200px"> + <el-select v-model="form.proSex" placeholder="璇烽�夋嫨浣撴浜烘�у埆" style="width: 200px" clearable> <el-option v-for="dict in dict.type.sys_user_sex" :key="dict.value" :label="dict.label" :value="dict.value"></el-option> </el-select> @@ -160,8 +162,8 @@ </el-form-item> <el-form-item label="绉戝鍚嶇О" prop="deptId"> - <el-select v-model="form.deptId" placeholder="璇烽�夋嫨绉戝鍚嶇О" @change="changeValue" filterable style="width: 260px"> - <el-option v-for="dict in parentNameList" :key="dict.deptId" :label="dict.deptName" :value="dict.deptId" /> + <el-select v-model="form.deptId" placeholder="璇烽�夋嫨绉戝鍚嶇О" @change="changeType" filterable style="width: 260px"> + <el-option v-for="item in parentNameList" :key="item.deptId" :label="item.deptName" :value="item.deptId" /> </el-select> </el-form-item> <el-form-item label="鍚敤鏍囧織" prop="proStatus"> @@ -197,8 +199,19 @@ :value="dict.value"></el-option> </el-select> </el-form-item> + <el-form-item label="LIS椤圭洰" prop="lisXmmc"> + <span slot="label" style="display: inline-block; border-bottom: 2px solid blue" @click="handleQuerys"> + LIS椤圭洰 + <!-- <el-tooltip effect="dark" content="鏄庣粏椤圭洰" placement="bottom"> + <i class='el-icon-question' @click="getDetailed" /> + </el-tooltip> --> + </span> + + <el-input v-model="form.lisXmmc" placeholder="璇疯緭鍏IS椤圭洰"> + </el-input> + </el-form-item> <el-form-item label="澶囨敞" prop="proRemark"> - <el-input v-model="form.proRemark" placeholder="璇疯緭鍏ュ娉�" style="width: 510px" /> + <el-input v-model="form.proRemark" placeholder="璇疯緭鍏ュ娉�" style="width: 200px" /> </el-form-item> </el-form> <el-button style="margin-left: 40px" type="primary" plain size="mini" icon="el-icon-plus" @@ -326,8 +339,8 @@ </div> <div class="pag" v-if="List == false"> <div class="pag1"> - <pagination v-show="total > 0" :total="total" :page.sync="querycharge.page" - :limit.sync="querycharge.pageSize" @pagination="getListByXmId" /> + <pagination v-show="total > 0" :total="total" :page.sync="queryParam.page" + :limit.sync="queryParam.pageSize" @pagination="getListByXmId" /> </div> </div> </el-col> @@ -339,17 +352,23 @@ <el-button type="primary" @click="submit">纭� 瀹�</el-button> </div> </el-dialog> + <Packagese ref="aaa" @add="handleChanges" /> </div> </template> <script> +import Packagese from "@/components/Packagese"; import { getProject, delProject, addProject, updateProject, ProjectTree, + getlist, deptTree, + deptTree111, + getAllChildListById, + getInfoByProId, } from "@/api/hosp/project"; import { listDept } from "@/api/system/dept"; import Treeselect from "@riophae/vue-treeselect"; @@ -380,7 +399,7 @@ "tj_result_type", "sys_yes_no", ], - components: { Treeselect, IconSelect }, + components: { Treeselect, IconSelect, Packagese }, data() { let checkPhoneNum = (rule, value, callback) => { let patter = new RegExp(/^1\s*[3456789]\s*(\d\s*){9}$/); @@ -393,6 +412,8 @@ } }; return { + xiugais: true, + xiugaiList: [], // 閮ㄩ棬鏍戦�夐」 deptOptions: undefined, dialogTableVisible: false, @@ -447,6 +468,7 @@ children: "children", label: "label", }, + proParent: false, id: "", // 閲嶆柊娓叉煋琛ㄦ牸鐘舵�� refreshTable: true, @@ -458,6 +480,7 @@ proEngName: null, checkType: null, deptId: undefined, + proId: undefined, }, querycharge: { pageNum: 1, @@ -465,6 +488,7 @@ xmmc: null, pym: null, }, + treeDate: {}, queryParam: { page: 1, pageSize: 10, @@ -472,7 +496,15 @@ }, // 琛ㄥ崟鍙傛暟 form: { - needReport :"Y" + proParentId: "", + deptId: "", + needReport: "Y", + proStatus: "0", + proName: "", + proPrice: "", + sfxmId: "", + lisXmbm: "", + lisXmmc: "", }, // 琛ㄥ崟鏍¢獙 rules: { @@ -536,6 +568,21 @@ this.getDeptTree(); }, methods: { + handleQuerys() { + this.$refs.aaa.open = true; + this.$refs.aaa.getAllList(); + this.$refs.aaa.title = "鏁版嵁瀛楀吀"; + }, + handleChanges(param1) { + // if(this.form.pacCode == "涓嶈"){ + // this.form.cusIdcard = param1[0].xh; + // }else{ + // this.form.cusIdcard = param1[0].pacCode; + // } + + this.form.lisXmbm = param1[0].pacCode; + this.form.lisXmmc = param1[0].pacName; + }, //鏄惁鏄剧ず閫変腑鐨勫�� display(value) { }, /** 鏌ヨ浣撴椤圭洰鍒楄〃 */ @@ -553,9 +600,11 @@ proName: this.queryParams.proName, checkType: this.queryParams.checkType, deptId: this.queryParams.deptId, + proId: this.queryParams.proId, }; - ProjectTree(data).then((response) => { - this.projectList = this.handleTree(response.data.list, "proId"); + getAllChildListById(data).then((response) => { + // this.projectList = this.handleTree(response.data.list, "proId"); + this.projectList = response.data.list; this.loading = false; }); }, @@ -572,7 +621,12 @@ handleAdd(row) { // this.reset(); this.loading = true; - ProjectTree().then((response) => { + this.proParent = false + this.form.proPrice = 0.0; + this.form.proName = ""; + this.form.proId = null; + // ProjectTree + getlist().then((response) => { if (response.code == 200) { this.loading = false; this.projectOptions = []; @@ -580,24 +634,37 @@ project.children = this.handleTree(response.data.list, "proId"); this.key = response.data.key; this.projectOptions.push(project); - if (row) { + if (row.proId) { this.form.proParentId = row.proId; this.open = true; - } else { + } else if(this.treeDate.id){ + this.form.proParentId = this.treeDate.id + this.projectOptions.forEach(item => { + item.children.forEach(item1 => { + if(this.form.proParentId == item1.proId){ + this.form.deptId = item1.deptId + } + }) + }) + this.open = true; + }else{ this.open = true; } - } }); - this.title = "浣撴椤圭洰淇℃伅缁存姢"; - this.form.deptId = this.queryParams.deptId; + this.title = "浣撴椤圭洰淇℃伅缁存姢"; + if (this.queryParams.deptId) { + this.form.deptId = this.queryParams.deptId; + } else { + this.form.deptId = null + } + // this.form.proId = this.queryParams.proId; this.form.proCheckMethod = "N"; - + if ((this.key = "Y")) { gettreeList().then((response) => { this.deptOptionstree = response.data; - }); } }, @@ -609,18 +676,17 @@ this.dialogTableVisible = false; } else { this.dialogTableVisible = true; - this.$nextTick(()=>{ + this.$nextTick(() => { this.chargeId.push(this.deptOptionstree[0].id); - }) + }); this.getlistSfxm(); - } } else if (this.form.proParentId) { if (this.form.proParentId != 0) { this.dialogTableVisible = true; - this.$nextTick(()=>{ + this.$nextTick(() => { this.chargeId.push(this.deptOptionstree[0].id); - }) + }); this.getlistSfxm(); } else if (this.form.proParentId == 0) { this.dialogTableVisible = false; @@ -629,16 +695,19 @@ this.$message.error("璇烽�夋嫨涓婚」鍚嶇О"); } }, + changeType() { + this.$forceUpdate() + }, obtain(vals) { if (this.projectOptions) { this.selectList = vals; - console.log(this.selectList); } if (this.selectList.proName === "涓荤被鐩�") { this.showPrise = true; this.showRentPrise = false; } else { + this.form.deptId = this.selectList.deptId this.showPrise = false; this.showRentPrise = true; } @@ -698,7 +767,7 @@ // // 鏌ヨ浣撴椤圭洰鍒楄〃(鏍戝舰缁撴瀯) getData() { /** 鏌ヨ閮ㄩ棬涓嬫媺鏍戠粨鏋� */ - ProjectTree().then((response) => { + getAllChildListById().then((response) => { this.projectOptions = []; const project = { proId: 0, proName: "涓荤被鐩�", children: [] }; project.children = this.handleTree(response.data.list, "proId"); @@ -720,7 +789,7 @@ }, /** 鏌ヨ閮ㄩ棬涓嬫媺鏍戠粨鏋� */ getDeptTree() { - deptTree().then((response) => { + deptTree111().then((response) => { this.deptOptions = response.data; this.treeId.push(this.deptOptions[0].id); }); @@ -738,13 +807,24 @@ }, // 鑺傜偣鍗曞嚮浜嬩欢 handleNodeClick(date) { + this.treeDate = date + if (date.qf == "0") { + this.xiugais = true; + } else { + this.xiugais = false; + } + let proId = date.id; + getInfoByProId(proId).then((response) => { + this.xiugaiList = response.data; + }); this.id = date.id; - this.queryParams.deptId = date.id; + this.queryParams.proId = date.id; let data = { - deptId: this.queryParams.deptId, + proId: this.queryParams.proId, + proName: this.queryParams.proNamez, }; this.loading = true; - ProjectTree(data).then((response) => { + getAllChildListById(data).then((response) => { if (response.code == 200) { if (response.data.list.length >= 1) { this.projectList = this.handleTree(response.data.list, "proId"); @@ -784,12 +864,12 @@ this.open = false; this.queryParam.id = this.id; let data = { - deptId: this.queryParams.deptId, + proId: this.queryParams.proId, }; - ProjectTree(data).then((response) => { - this.projectList = this.handleTree(response.data.list, "proId"); - this.ListId.push(this.projectList[0].proId); - this.key = response.data.key; + getAllChildListById(data).then((response) => { + // this.projectList = this.handleTree(response.data.list, "proId"); + // this.ListId.push(this.projectList[0].proId); + // this.key = response.data.key; this.loading = false; }); }, @@ -820,7 +900,7 @@ deptName: null, consumablesList: [], tjStandardList: [], - proStatus: "鍚敤", + proStatus: "0", }; this.resetForm("form"); }, @@ -832,7 +912,7 @@ /** 閲嶇疆鎸夐挳鎿嶄綔 */ resetQuery() { this.resetForm("queryForm"); - this.queryParams.deptId = undefined; + this.queryParams.proId = undefined; this.$refs.tree.setCurrentKey(null); this.handleQuery(); }, @@ -951,12 +1031,31 @@ this.form.tjStandardList.splice(index, 1); } }, + handleUpdate1() { + this.open = true; + this.form = this.xiugaiList; + this.proParent = true + // if(){ + // this.proParent = true + // } + getlist().then((response) => { + if (response.code == 200) { + this.loading = false; + this.projectOptions = []; + const project = { proId: 0, proName: "涓荤被鐩�", children: [] }; + project.children = this.handleTree(response.data.list, "proId"); + this.key = response.data.key; + this.projectOptions.push(project); + } + }) + }, /** 淇敼鎸夐挳鎿嶄綔 */ handleUpdate(row) { this.reset(); this.getData(); // this.form = row; const proId = row.proId || this.ids; + this.proParent = false getProject(proId).then((response) => { this.form = response.data; if (this.form.proParentId === "0") { @@ -966,12 +1065,7 @@ this.showPrise = false; this.showRentPrise = true; } - this.form.deptId = Number(this.form.deptId); - if (this.form.proStatus === 0) { - this.form.proStatus = "鍚敤"; - } else { - this.form.proStatus = "鍋滅敤"; - } + // this.form.deptId = Number(this.form.deptId); if (this.form.proStandard === 0) { this.showPrise = true; this.showRentPrise = false; @@ -979,6 +1073,7 @@ this.showPrise = false; this.showRentPrise = true; } + this.form.proStatus = this.form.proStatus.toString(); this.form.consumablesList = response.data.consumablesList; this.form.tjStandardList = response.data.tjStandardList; if (this.form.tjStandardList != null) { @@ -1013,7 +1108,16 @@ } }); } - + getlist().then((response) => { + if (response.code == 200) { + this.loading = false; + this.projectOptions = []; + const project = { proId: 0, proName: "涓荤被鐩�", children: [] }; + project.children = this.handleTree(response.data.list, "proId"); + this.key = response.data.key; + this.projectOptions.push(project); + } + }) this.open = true; this.title = "浣撴椤圭洰淇℃伅缁存姢"; }); @@ -1086,14 +1190,17 @@ } }); } - if (this.form.proStatus === "鍚敤") { - this.form.proStatus = 0; - } else { - this.form.proStatus = 1; - } + this.form.lisXmbm = this.form.lisXmbm; updateProject(this.form).then((response) => { this.$modal.msgSuccess("淇敼鎴愬姛"); - this.cancel(); + if (this.proParent == true) { + this.getDeptTree(); + this.cancel(); + } else { + this.cancel(); + this.getList(); + } + }); } else { if (this.form.proParentId === 0) { @@ -1106,14 +1213,11 @@ this.$message.error("璇峰~鍐欑埗椤瑰悕绉版垨绉戝鍚嶇О"); this.open = true; } else { - if (this.form.proStatus === "鍚敤") { - this.form.proStatus = 0; - } else { - this.form.proStatus = 1; - } + this.form.lisXmbm = this.form.lisXmbm; addProject(this.form).then((response) => { this.$modal.msgSuccess("鏂板鎴愬姛"); this.cancel(); + this.getList(); }); } } @@ -1156,14 +1260,17 @@ } }); } - if (this.form.proStatus === "鍚敤") { - this.form.proStatus = 0; - } else { - this.form.proStatus = 1; - } + this.form.lisXmbm = this.form.lisXmbm; updateProject(this.form).then((response) => { this.$modal.msgSuccess("淇敼鎴愬姛"); - this.cancel(); + if (this.proParent == true) { + this.getDeptTree(); + this.cancel(); + } else { + this.cancel(); + this.getList(); + } + }); } else { if (this.form.proParentId === 0) { @@ -1176,14 +1283,11 @@ this.$message.error("璇峰~鍐欑埗椤瑰悕绉版垨绉戝鍚嶇О"); this.open = true; } else { - if (this.form.proStatus === "鍚敤") { - this.form.proStatus = 0; - } else { - this.form.proStatus = 1; - } + this.form.lisXmbm = this.form.lisXmbm; addProject(this.form).then((response) => { this.$modal.msgSuccess("鏂板鎴愬姛"); this.cancel(); + this.getList(); }); } } @@ -1262,4 +1366,14 @@ background-color: #e5f3ff !important; color: #333 !important; } + +.el-scrollbar__bar.is-vertical { + opacity: 1; + padding-right: 5px; + width: 7px; +} + +.el-scrollbar__wrap { + overflow-x: hidden; +} </style> -- Gitblit v1.8.0