From a669b4061e340766c2db12df33cd99a7343cda7f Mon Sep 17 00:00:00 2001 From: lkk <364857242@qq.com> Date: 星期五, 13 十二月 2024 18:14:59 +0800 Subject: [PATCH] Merge branch 'master' of http://101.42.27.146:5001/r/ltkj_peisweb --- src/views/advice/advice/index.vue | 307 ++++++++++++++++++++++++++++++++------------------ 1 files changed, 196 insertions(+), 111 deletions(-) diff --git a/src/views/advice/advice/index.vue b/src/views/advice/advice/index.vue index d739abe..7aa54f3 100644 --- a/src/views/advice/advice/index.vue +++ b/src/views/advice/advice/index.vue @@ -73,75 +73,95 @@ >瀵煎嚭</el-button > </el-col> - <right-toolbar - :showSearch.sync="showSearch" - @queryTable="getList" - ></right-toolbar> </el-row> + <el-row :gutter="20"> + <el-col :span="3" :xs="24"> + <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-expand-all + :default-expanded-keys="treeId" + highlight-current + @node-click="handleNodeClick" + /> + </div> + </el-col> - <el-table - v-loading="loading" - :data="adviceList" - @selection-change="handleSelectionChange" - border - > - <el-table-column type="selection" width="55" align="center" fixed /> - <el-table-column - label="搴忓彿" - align="center" - prop="newID" - width="55px" - /> - <el-table-column - label="鎵�閫夐」鐩�" - align="center" - prop="proName" - width="120px" - :show-overflow-tooltip="true" - /> - <el-table-column - label="鏍囬" - align="center" - prop="title" - width="120px" - :show-overflow-tooltip="true" - /> - <el-table-column - label="寤鸿" - align="center" - prop="advice" - width="1249px" - :show-overflow-tooltip="true" - /> - <el-table-column - label="鎿嶄綔" - align="center" - fixed="right" - class-name="small-padding fixed-width" - width="80px" - > - <template slot-scope="scope"> - <el-button - size="mini" - type="text" - icon="el-icon-edit" - @click="handleUpdate(scope.row)" - v-hasPermi="['advice:advice:edit']" - title="淇敼" - ></el-button> - <el-button - size="mini" - type="text" - icon="el-icon-delete" - @click="handleDelete(scope.row)" - v-hasPermi="['advice:advice:remove']" - title="鍒犻櫎" - ></el-button> - </template> - </el-table-column> - </el-table> - - <div class="pag"> + <el-col :span="20" :xs="24"> + <el-table + v-loading="loading" + :data="adviceList" + @selection-change="handleSelectionChange" + border + > + <el-table-column type="selection" width="55" align="center" fixed /> + <el-table-column + label="搴忓彿" + align="center" + prop="newID" + width="55px" + /> + <el-table-column + label="鎵�灞炵瀹�" + align="center" + prop="deptName" + width="120px" + :show-overflow-tooltip="true" + /> + <el-table-column + label="浣撴椤圭洰" + align="center" + prop="proName" + width="120px" + :show-overflow-tooltip="true" + /> + <el-table-column + label="鏍囬" + align="center" + prop="title" + width="120px" + :show-overflow-tooltip="true" + /> + <el-table-column + label="寤鸿" + align="center" + prop="advice" + width="1249px" + :show-overflow-tooltip="true" + /> + <el-table-column + label="鎿嶄綔" + align="center" + fixed="right" + class-name="small-padding fixed-width" + width="80px" + > + <template slot-scope="scope"> + <el-button + size="mini" + type="text" + icon="el-icon-edit" + @click="handleUpdate(scope.row)" + v-hasPermi="['advice:advice:edit']" + title="淇敼" + ></el-button> + <el-button + size="mini" + type="text" + icon="el-icon-delete" + @click="handleDelete(scope.row)" + v-hasPermi="['advice:advice:remove']" + title="鍒犻櫎" + ></el-button> + </template> + </el-table-column> + </el-table> + <div class="pag"> <div class="pag1"> <pagination v-show="total > 0" @@ -152,10 +172,38 @@ /> </div> </div> + </el-col> + </el-row> + + <!-- 娣诲姞鎴栦慨鏀筧dvice瀵硅瘽妗� --> - <el-dialog :title="title" :visible.sync="open" width="1000px" append-to-body> + <el-dialog + :title="title" + :visible.sync="open" + width="1000px" + append-to-body + > <el-form ref="form" :model="form" :rules="rules" label-width="80px"> + <el-form-item label="褰掑睘绉戝" prop="deptId"> + <!-- <treeselect v-model="form.deptId" :options="deptOptions" :show-count="true" placeholder="璇烽�夋嫨褰掑睘绉戝" + style="width: 200px" /> --> + <el-select + v-if="DepartmentList.length > 0" + v-model="form.deptId" + placeholder="璇烽�夋嫨褰掑睘绉戝" + clearable + style="width: 200px" + filterable + > + <el-option + v-for="dict in DepartmentList" + :key="dict.deptId" + :label="dict.deptName || ''" + :value="dict.deptId" + /> + </el-select> + </el-form-item> <el-form-item label="妫�鏌ラ」鐩�" prop="proName"> <el-select v-model="form.proId" @@ -165,29 +213,14 @@ clearable > <el-option - v-for="(dict,index) in projectList" + v-for="(dict, index) in projectList" :key="index" :label="dict.proName" :value="dict.proId" /> </el-select> </el-form-item> - <el-form-item label="閫夋嫨绉戝"> - <el-select - v-model="form.proId" - placeholder="璇烽�夋嫨绉戝" - filterable - style="width: 240px" - clearable - > - <el-option - v-for="(dict,index) in projectList" - :key="index" - :label="dict.proName" - :value="dict.proId" - /> - </el-select> - </el-form-item> + <el-form-item label="寤鸿鏍囬" prop="title"> <el-input v-model="form.title" placeholder="璇疯緭鍏ュ悕绉版爣棰�" /> </el-form-item> @@ -199,9 +232,9 @@ > 蹇嵎鏍囩 </span> - <el-checkbox-group v-model="kjbq" @change="handleCheckedCitiesChange"> + <el-checkbox-group v-model="kjbq" @change="handleCheckedCitiesChange"> <el-checkbox - v-for="(item,index) in dataList" + v-for="(item, index) in dataList" :key="index" :label="item.id" >{{ item.kjbq }}</el-checkbox @@ -222,8 +255,13 @@ <el-button @click="cancel">鍙� 娑�</el-button> </div> </el-dialog> - <el-dialog title="娣诲姞蹇嵎鏍囩" :visible.sync="kjbqopen" width="500px" append-to-body> - <el-form ref="form" :model="form" label-width="80px"> + <el-dialog + title="娣诲姞蹇嵎鏍囩" + :visible.sync="kjbqopen" + width="500px" + append-to-body + > + <el-form ref="form" :model="form" label-width="80px"> <el-form-item label="鍚嶇О" prop="kjbq"> <el-input v-model="formss.kjbq" placeholder="璇疯緭鍏ュ悕绉�" /> </el-form-item> @@ -237,6 +275,7 @@ </template> <script> +import { deptTreeSelect ,getDeptListByDictHospId} from "@/api/system/user"; import { listAdvice, getAdvice, @@ -245,7 +284,10 @@ updateAdvice, } from "@/api/advice/advice"; import { listProject } from "@/api/hosp/project"; -import { getTjAdviceKjbqByFl,addTjAdviceKjbq } from "@/api/system/biaoqianzidian"; +import { + getTjAdviceKjbqByFl, + addTjAdviceKjbq, +} from "@/api/system/biaoqianzidian"; import { getInfo } from "@/api/login"; export default { @@ -263,6 +305,9 @@ } }; return { + DepartmentList: [], + + deptOptions: undefined, projectList: [], // 閬僵灞� loading: true, @@ -279,7 +324,7 @@ // advice琛ㄦ牸鏁版嵁 adviceList: [], dataList: [], - kjbq:[], + kjbq: [], // 寮瑰嚭灞傛爣棰� title: "", // 鏄惁鏄剧ず寮瑰嚭灞� @@ -292,11 +337,14 @@ proName: null, }, // 琛ㄥ崟鍙傛暟 - form: { + form: {}, + formss: {}, + defaultProps: { + children: "children", + label: "label", }, - formss:{ - - }, + treeId: [], + // 琛ㄥ崟鏍¢獙 rules: { proId: [{ required: true, validator: checkPhoneNum, trigger: "blur" }], @@ -304,18 +352,54 @@ }; }, created() { - this.getList(); - + this.sendhospName() + this.getDeptTree(); + }, + watch: { + // 鏍规嵁鍚嶇О绛涢�夐儴闂ㄦ爲 + + treeId(newVal, oldVal) { + if (newVal) { + this.$nextTick(() => { + document + .querySelector(".el-tree-node__children .el-tree-node__content") + .click(); + }); + } + }, }, methods: { + sendhospName() { + + getDeptListByDictHospId({ + id: 2000 + }).then((res) => { + this.DepartmentList = res.data; + this.form.deptId = String(this.form.deptId); + }); + }, + // 鑺傜偣鍗曞嚮浜嬩欢 + handleNodeClick(data) { + this.queryParams.deptId = data.id; + this.handleQuery(); + }, + + // 绛涢�夎妭鐐� + filterNode(value, data) { + if (!value) return true; + return data.label.indexOf(value) !== -1; + }, + getDeptTree() { + deptTreeSelect().then((response) => { + + this.deptOptions = response.data; + this.treeId.push(this.deptOptions[0].id); + this.queryParams.deptId = this.deptOptions[0].id; + }); + }, /** 鏌ヨadvice鍒楄〃 */ getList() { this.loading = true; - // let data ={ - // proName:this.queryParams.proName, - // page:this.queryParams.page, - // pageSize:this.queryParams.pageSize, - // } listAdvice(this.queryParams).then((response) => { response.data.list.forEach((item, index) => { item.newID = @@ -328,7 +412,7 @@ }, getlistProject() { listProject(this.queryParams).then((response) => { - if(response.data){ + if (response.data) { this.projectList = response.data; } }); @@ -389,21 +473,22 @@ this.reset(); this.title = "浣撴寤鸿淇℃伅缁存姢"; this.getlistProject(); - this.open = true; - + this.form.deptId = this.queryParams.deptId + this.open = true; }, /** 淇敼鎸夐挳鎿嶄綔 */ handleUpdate(row) { this.reset(); const id = row.id || this.ids; - this.kjbq = [] + this.kjbq = []; getAdvice(id).then((response) => { this.form = response.data; - if(response.data.kjbqz != null){ - this.kjbq = response.data.kjbqz.map(Number) + if (response.data.kjbqz != null) { + this.kjbq = response.data.kjbqz.map(Number); } this.getlistProject(); this.open = true; + this.form.deptId = this.queryParams.deptId this.title = "浣撴寤鸿淇℃伅缁存姢"; }); }, @@ -432,14 +517,14 @@ this.$refs["form"].validate((valid) => { if (valid) { if (this.form.id != null) { - this.form.kjbq = this.kjbq.toString() + this.form.kjbq = this.kjbq.toString(); updateAdvice(this.form).then((response) => { this.$modal.msgSuccess("淇敼鎴愬姛"); this.open = false; this.getList(); }); } else { - this.form.kjbq = this.kjbq.toString() + this.form.kjbq = this.kjbq.toString(); addAdvice(this.form).then((response) => { this.$modal.msgSuccess("鏂板鎴愬姛"); this.open = false; @@ -449,7 +534,7 @@ } }); }, - handlekjbq(){ + handlekjbq() { this.kjbqopen = true; }, -- Gitblit v1.8.0