From c7b33db117fd2893d7d1c93bf5d46e87d33e44d0 Mon Sep 17 00:00:00 2001 From: lkk <364857242@qq.com> Date: 星期一, 16 十二月 2024 16:08:51 +0800 Subject: [PATCH] 初审结果查询 --- src/views/advice/advice/index.vue | 358 ++++++++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 281 insertions(+), 77 deletions(-) diff --git a/src/views/advice/advice/index.vue b/src/views/advice/advice/index.vue index c21a291..7aa54f3 100644 --- a/src/views/advice/advice/index.vue +++ b/src/views/advice/advice/index.vue @@ -33,7 +33,7 @@ <el-row :gutter="10" class="mb8"> <el-col :span="1.5"> <el-button - type="primary" + type="primary" icon="el-icon-plus" size="mini" @click="handleAdd" @@ -43,7 +43,7 @@ </el-col> <el-col :span="1.5"> <el-button - type="primary" + type="primary" icon="el-icon-edit" size="mini" :disabled="single" @@ -54,7 +54,7 @@ </el-col> <el-col :span="1.5"> <el-button - type="primary" + type="primary" icon="el-icon-delete" size="mini" :disabled="multiple" @@ -65,7 +65,7 @@ </el-col> <el-col :span="1.5"> <el-button - type="primary" + type="primary" icon="el-icon-download" size="mini" @click="handleExport" @@ -73,59 +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" fixed /> - <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" @@ -136,10 +172,38 @@ /> </div> </div> + </el-col> + </el-row> + + <!-- 娣诲姞鎴栦慨鏀筧dvice瀵硅瘽妗� --> - <el-dialog :title="title" :visible.sync="open" width="500px" 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" @@ -149,17 +213,34 @@ clearable > <el-option - v-for="dict in projectList" - :key="dict.proName" + 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> - + <el-form-item label="蹇嵎鏍囩" prop="kjbq"> + <span + slot="label" + style="display: inline-block; border-bottom: 2px solid blue" + @click="handlekjbq" + > + 蹇嵎鏍囩 + </span> + <el-checkbox-group v-model="kjbq" @change="handleCheckedCitiesChange"> + <el-checkbox + v-for="(item, index) in dataList" + :key="index" + :label="item.id" + >{{ item.kjbq }}</el-checkbox + > + </el-checkbox-group> + </el-form-item> <el-form-item label="寤鸿鍐呭" prop="advice"> <el-input type="textarea" @@ -174,10 +255,27 @@ <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-form-item label="鍚嶇О" prop="kjbq"> + <el-input v-model="formss.kjbq" placeholder="璇疯緭鍏ュ悕绉�" /> + </el-form-item> + </el-form> + <div slot="footer" class="dialog-footer"> + <el-button type="primary" @click="submitFormbgq">纭� 瀹�</el-button> + <el-button @click="cancel">鍙� 娑�</el-button> + </div> + </el-dialog> </div> </template> <script> +import { deptTreeSelect ,getDeptListByDictHospId} from "@/api/system/user"; import { listAdvice, getAdvice, @@ -186,22 +284,30 @@ updateAdvice, } from "@/api/advice/advice"; import { listProject } from "@/api/hosp/project"; +import { + getTjAdviceKjbqByFl, + addTjAdviceKjbq, +} from "@/api/system/biaoqianzidian"; +import { getInfo } from "@/api/login"; export default { name: "Advice", data() { let checkPhoneNum = (rule, value, callback) => { - console.log( value) + console.log(value); let patter = new RegExp(/^1\s*[3456789]\s*(\d\s*){9}$/); if (value == "" && value == undefined && !value) { - return callback(''); - } else if(value != undefined && value != ""){ + return callback(""); + } else if (value != undefined && value != "") { return callback(); - }else if (!patter.test(value)) { - return callback(''); + } else if (!patter.test(value)) { + return callback(""); } }; return { + DepartmentList: [], + + deptOptions: undefined, projectList: [], // 閬僵灞� loading: true, @@ -217,10 +323,13 @@ total: 0, // advice琛ㄦ牸鏁版嵁 adviceList: [], + dataList: [], + kjbq: [], // 寮瑰嚭灞傛爣棰� title: "", // 鏄惁鏄剧ず寮瑰嚭灞� open: false, + kjbqopen: false, // 鏌ヨ鍙傛暟 queryParams: { page: 1, @@ -229,42 +338,103 @@ }, // 琛ㄥ崟鍙傛暟 form: {}, + formss: {}, + defaultProps: { + children: "children", + label: "label", + }, + treeId: [], + // 琛ㄥ崟鏍¢獙 rules: { - proId: [{ required: true, validator: checkPhoneNum, trigger: "blur" }], + proId: [{ required: true, validator: checkPhoneNum, trigger: "blur" }], }, }; }, created() { - this.getList(); - this.getlistProject(); + 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 =(this.queryParams.page - 1) * this.queryParams.pageSize +index +1; + response.data.list.forEach((item, index) => { + item.newID = + (this.queryParams.page - 1) * this.queryParams.pageSize + index + 1; }); this.adviceList = response.data.list; this.total = response.data.total; this.loading = false; }); - }, - getlistProject(){ + getlistProject() { listProject(this.queryParams).then((response) => { - this.projectList = response.data; + if (response.data) { + this.projectList = response.data; + } + }); + getInfo().then((res) => { + this.formss.userId = res.user.userId; + let data = { + pageNum: 1, + pageSize: 10, + userId: res.user.userId, + qyzt: 0, + }; + getTjAdviceKjbqByFl(data).then((res) => { + if (res.data) { + this.dataList = res.data.records; + } + }); }); }, // 鍙栨秷鎸夐挳 cancel() { this.open = false; + this.kjbqopen = false; this.reset(); }, // 琛ㄥ崟閲嶇疆 @@ -301,30 +471,60 @@ /** 鏂板鎸夐挳鎿嶄綔 */ handleAdd() { this.reset(); - this.open = true; this.title = "浣撴寤鸿淇℃伅缁存姢"; + this.getlistProject(); + this.form.deptId = this.queryParams.deptId + this.open = true; }, /** 淇敼鎸夐挳鎿嶄綔 */ handleUpdate(row) { this.reset(); const id = row.id || this.ids; + this.kjbq = []; getAdvice(id).then((response) => { this.form = response.data; + 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 = "浣撴寤鸿淇℃伅缁存姢"; }); }, + submitFormbgq() { + this.$refs["form"].validate((valid) => { + if (valid) { + if (this.form.id != null) { + updateTjAdviceKjbq(this.formss).then((response) => { + this.$modal.msgSuccess("淇敼鎴愬姛"); + this.kjbqopen = false; + this.getlistProject(); + }); + } else { + addTjAdviceKjbq(this.formss).then((response) => { + this.$modal.msgSuccess("鏂板鎴愬姛"); + this.kjbqopen = false; + this.getlistProject(); + }); + } + } + }); + }, + handleCheckedCitiesChange(val) {}, /** 鎻愪氦鎸夐挳 */ submitForm() { this.$refs["form"].validate((valid) => { if (valid) { if (this.form.id != null) { + 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(); addAdvice(this.form).then((response) => { this.$modal.msgSuccess("鏂板鎴愬姛"); this.open = false; @@ -334,6 +534,10 @@ } }); }, + handlekjbq() { + this.kjbqopen = true; + }, + /** 鍒犻櫎鎸夐挳鎿嶄綔 */ handleDelete(row) { const ids = row.id || this.ids; -- Gitblit v1.8.0