From 95c53f98bc1754d4a2277263802dac420bb22035 Mon Sep 17 00:00:00 2001 From: lkk <364857242@qq.com> Date: 星期一, 14 四月 2025 13:36:39 +0800 Subject: [PATCH] 1 --- src/views/hosp/advicerules/index.vue | 279 +++++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 199 insertions(+), 80 deletions(-) diff --git a/src/views/hosp/advicerules/index.vue b/src/views/hosp/advicerules/index.vue index 3f305a6..c95e6fa 100644 --- a/src/views/hosp/advicerules/index.vue +++ b/src/views/hosp/advicerules/index.vue @@ -109,91 +109,124 @@ ></right-toolbar> </el-row> - <el-table - v-loading="loading" - :data="advicerulesList" - @selection-change="handleSelectionChange" - > - <el-table-column type="selection" width="55" align="center" /> - <el-table-column label="搴忓彿" width="50" align="center"> - <template slot-scope="scope"> - {{ scope.$index + 1 }} - <!-- 浣跨敤 $index 鏉ユ樉绀哄簭鍙凤紝浠�1寮�濮� --> - </template> - </el-table-column> - <el-table-column label="缂栫爜" align="center" prop="bm" /> - <el-table-column label="绉戝" align="center" prop="ks" /> - <el-table-column label="妫�鏌ラ」鐩�" align="center" prop="jcxm" /> - <el-table-column - label="涓昏璇婃柇" - align="center" - :show-overflow-tooltip="true" - width="120" - prop="zyzd" - /> - <el-table-column - label="寤鸿鍚嶇О" - align="center" - :show-overflow-tooltip="true" - width="150" - prop="jymc" - /> - <el-table-column - label="寤鸿鍐呭" - align="center" - :show-overflow-tooltip="true" - width="200" - prop="jynr" - /> - <el-table-column label="鎬у埆" align="center" prop="xb" :formatter="formatSex" /> - <el-table-column label="鑼冨洿" align="center" prop="fwz" /> - <el-table-column label="鑼冨洿鏈�灏忓��" align="center" prop="fwzxz" /> - <el-table-column label="鑼冨洿鏈�澶у��" align="center" prop="fwzdz" /> - <el-table-column label="寮傚父鏍囧織" align="center" prop="ycbz" /> - <el-table-column label="鏄惁鐤剧梾" align="center" prop="sfjb"> - </el-table-column> - <el-table-column label="鏄惁甯歌鐥�" align="center" prop="sfcjb"> - </el-table-column> - <el-table-column label="鏄惁鎱㈡�х梾" align="center" prop="sfmxb"> - </el-table-column> - <el-table-column - label="鏄惁閲嶅ぇ鐤剧梾" - align="center" - width="120" - prop="sfzdjb" - ></el-table-column> - <el-table-column - label="鎿嶄綔" - align="center" - class-name="small-padding fixed-width" + <el-row :gutter="20" style="display: flex"> + <el-col :span="4" :xs="24"> + <div class="head-container"> + <el-input + v-model="xmmc" + placeholder="璇疯緭鍏ラ」鐩悕" + clearable + size="small" + prefix-icon="el-icon-search" + style="margin-bottom: 20px" + /> + </div> + <div class="scrollable-container"> + <div class="content"> + <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> + </div> + </el-col> + <el-table + v-loading="loading" + :data="advicerulesList" + @selection-change="handleSelectionChange" > - <template slot-scope="scope"> - <el-button - size="mini" - type="text" - icon="el-icon-edit" - @click="handleUpdate(scope.row)" - v-hasPermi="['hosp:advicerules:edit']" - > - </el-button> - <el-button - size="mini" - type="text" - icon="el-icon-delete" - @click="handleDelete(scope.row)" - v-hasPermi="['hosp:advicerules:remove']" - > - </el-button> - </template> - </el-table-column> - </el-table> - + <el-table-column type="selection" width="55" align="center" /> + <el-table-column label="搴忓彿" width="50" align="center"> + <template slot-scope="scope"> + {{ scope.$index + 1 }} + <!-- 浣跨敤 $index 鏉ユ樉绀哄簭鍙凤紝浠�1寮�濮� --> + </template> + </el-table-column> + <el-table-column label="缂栫爜" align="center" prop="bm" /> + <el-table-column label="绉戝" align="center" prop="ks" /> + <el-table-column label="妫�鏌ラ」鐩�" align="center" prop="jcxm" /> + <el-table-column + label="涓昏璇婃柇" + align="center" + :show-overflow-tooltip="true" + width="120" + prop="zyzd" + /> + <el-table-column + label="寤鸿鍚嶇О" + align="center" + :show-overflow-tooltip="true" + width="150" + prop="jymc" + /> + <el-table-column + label="寤鸿鍐呭" + align="center" + :show-overflow-tooltip="true" + width="200" + prop="jynr" + /> + <el-table-column + label="鎬у埆" + align="center" + prop="xb" + :formatter="formatSex" + /> + <el-table-column label="鑼冨洿" align="center" prop="fwz" /> + <el-table-column label="鑼冨洿鏈�灏忓��" align="center" prop="fwzxz" /> + <el-table-column label="鑼冨洿鏈�澶у��" align="center" prop="fwzdz" /> + <el-table-column label="寮傚父鏍囧織" align="center" prop="ycbz" /> + <el-table-column label="鏄惁鐤剧梾" align="center" prop="sfjb"> + </el-table-column> + <el-table-column label="鏄惁甯歌鐥�" align="center" prop="sfcjb"> + </el-table-column> + <el-table-column label="鏄惁鎱㈡�х梾" align="center" prop="sfmxb"> + </el-table-column> + <el-table-column + label="鏄惁閲嶅ぇ鐤剧梾" + align="center" + width="120" + prop="sfzdjb" + ></el-table-column> + <el-table-column + label="鎿嶄綔" + align="center" + class-name="small-padding fixed-width" + > + <template slot-scope="scope"> + <el-button + size="mini" + type="text" + icon="el-icon-edit" + @click="handleUpdate(scope.row)" + v-hasPermi="['hosp:advicerules:edit']" + > + </el-button> + <el-button + size="mini" + type="text" + icon="el-icon-delete" + @click="handleDelete(scope.row)" + v-hasPermi="['hosp:advicerules:remove']" + > + </el-button> + </template> + </el-table-column> + </el-table> + </el-row> <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" - @pagination="getList" + @pagination="getListByXmId" /> <!-- 娣诲姞鎴栦慨鏀逛綋妫�椤圭洰寤鸿瑙勫垯鏂拌〃瀵硅瘽妗� --> @@ -486,6 +519,7 @@ delAdvicerules, addAdvicerules, updateAdvicerules, + getTjProAdvicerulesKsList, } from "@/api/hosp/advicerules"; import { listAdvice } from "@/api/advice/advice"; import { getToken } from "@/utils/auth"; @@ -512,8 +546,11 @@ // 浣撴椤圭洰寤鸿瑙勫垯鏂拌〃琛ㄦ牸鏁版嵁 advicerulesList: [], adviceList: [], + deptOptions: [], + treeId: [], // 寮瑰嚭灞傛爣棰� title: "", + xmmc: "", // 鏄惁鏄剧ず寮瑰嚭灞� open: false, key: "", @@ -521,6 +558,10 @@ businessName: "exampleBusiness", // 绀轰緥涓氬姟鍚� objs: {}, departmentOptions: [], + defaultProps: { + children: "children", + label: "label", + }, // 鏌ヨ鍙傛暟 queryParams: { pageNum: 1, @@ -573,15 +614,73 @@ created() { this.getList(); }, + watch: { + // 鏍规嵁鍚嶇О绛涢�夐儴闂ㄦ爲 + xmmc(val) { + this.$refs.tree.filter(val); + }, + treeId(newVal, oldVal) { + if (newVal) { + this.$nextTick(() => { + document + .querySelector(".el-tree-node__children .el-tree-node__content") + .click(); + }); + } + }, + }, methods: { /** 鏌ヨ浣撴椤圭洰寤鸿瑙勫垯鏂拌〃鍒楄〃 */ getList() { - this.loading = true; + /* this.loading = true; listAdvicerules(this.queryParams).then((response) => { this.advicerulesList = response.rows; this.total = response.total; this.loading = false; + }); */ + getTjProAdvicerulesKsList().then((response) => { + this.deptOptions = response.data.map((name, index) => { + return { + id: index + 1, // 鍙嚜瀹氫箟鍞竴 ID + label: name, // el-tree 榛樿鐨勬樉绀哄瓧娈� + }; + }); + + // 璁剧疆榛樿灞曞紑椤� + this.treeId = [this.deptOptions[0]?.id]; + this.queryParams.proId = this.deptOptions[0]?.id; + this.getListByXmId(); }); + }, + getListByXmId() { + this.loading = true; + listAdvicerules(this.queryParams).then((response) => { + response.rows.forEach((item, index) => { + item.newID = + (this.queryParams.pageNum - 1) * this.queryParams.pageSize + + index + + 1; + }); + this.advicerulesList = response.rows; + this.total = response.total; + this.loading = false; + }); + }, + handleNodeClick(data) { + this.formIn = data; + this.queryParams.ks = data.label; + this.getListByXmId(); + }, + + // 绛涢�夎妭鐐� + filterNode(value, data) { + if (!value) return true; + // return data.label.indexOf(value) !== -1; + return ( + data.label && + typeof data.label === "string" && + data.label.indexOf(value) !== -1 + ); }, idFn(value) { @@ -820,4 +919,24 @@ }, }; </script> +<style scoped> +.scrollable-container { + width: 260px; + /* 璁剧疆瀹瑰櫒鐨勫搴� */ + height: 629px; + /* 璁剧疆瀹瑰櫒鐨勯珮搴� */ + overflow: auto; + /* 鍏佽鍐呭婧㈠嚭鏃舵樉绀烘粴鍔ㄦ潯 */ + border: 1px solid #ccc; + /* 鍙�夛細娣诲姞杈规浠ユ洿濂藉湴鏄剧ず瀹瑰櫒 */ + position: relative; + /* 鍙�夛細浣垮鍣ㄥ唴鐨勭粷瀵瑰畾浣嶅厓绱犺兘澶熸纭樉绀� */ +} +.content { + width: 1000px; + /* 璁剧疆鍐呭鐨勫搴︼紝浠ヨЕ鍙戞按骞虫粴鍔ㄦ潯 */ + height: 1000px; + /* 璁剧疆鍐呭鐨勯珮搴︼紝浠ヨЕ鍙戝瀭鐩存粴鍔ㄦ潯 */ +} +</style> -- Gitblit v1.8.0