| | |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | | plain |
| | | icon="el-icon-plus" |
| | | size="mini" |
| | | @click="handleAdd" |
| | |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="success" |
| | | plain |
| | | type="primary" |
| | | icon="el-icon-edit" |
| | | size="mini" |
| | | :disabled="single" |
| | |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="danger" |
| | | plain |
| | | type="primary" |
| | | icon="el-icon-delete" |
| | | size="mini" |
| | | :disabled="multiple" |
| | |
| | | >删除 |
| | | </el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="warning" |
| | | plain |
| | | icon="el-icon-upload2" |
| | | size="mini" |
| | | @click="handleImport" |
| | | >导入 |
| | | <!-- <el-col :span="1.5"> |
| | | <el-button type="primary" icon="el-icon-upload2" size="mini" @click="handleImport">导入 |
| | | </el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="warning" |
| | | plain |
| | | icon="el-icon-download" |
| | | size="mini" |
| | | @click="handleExport" |
| | | v-hasPermi="['hosp:advicerules:export']" |
| | | >导出 |
| | | <el-button type="primary" icon="el-icon-download" size="mini" @click="handleExport" |
| | | v-hasPermi="['hosp:advicerules:export']">导出 |
| | | </el-button> |
| | | </el-col> |
| | | <right-toolbar |
| | | </el-col> --> |
| | | <!-- <right-toolbar |
| | | :showSearch.sync="showSearch" |
| | | @queryTable="getList" |
| | | ></right-toolbar> |
| | | ></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="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-row :gutter="20" style="display: flex"> |
| | | <el-col :span="3" :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-col :span="20" :xs="24"> |
| | | <el-table |
| | | v-loading="loading" |
| | | :data="advicerulesList" |
| | | @selection-change="handleSelectionChange" |
| | | height="520" |
| | | > |
| | | <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-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> |
| | | |
| | | <pagination |
| | | v-show="total > 0" |
| | | :total="total" |
| | | :page.sync="queryParams.pageNum" |
| | | :limit.sync="queryParams.pageSize" |
| | | @pagination="getList" |
| | | /> |
| | | <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> |
| | | <div class="pag"> |
| | | <div class="pag1"> |
| | | <pagination |
| | | v-show="total > 0" |
| | | :total="total" |
| | | :page.sync="queryParams.pageNum" |
| | | :limit.sync="queryParams.pageSize" |
| | | @pagination="getListByXmId" |
| | | /> |
| | | </div> |
| | | </div> |
| | | </el-col> |
| | | </el-row> |
| | | |
| | | <!-- 添加或修改体检项目建议规则新表对话框 --> |
| | | <el-dialog |
| | |
| | | > |
| | | <el-form-item label="科室" prop="ks"> |
| | | <el-select |
| | | :rules="rules" |
| | | v-model="form.ks" |
| | | placeholder="请选择科室" |
| | | style="width: 200px" |
| | |
| | | /> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="范围" prop="fw"> |
| | | <el-form-item label="范围" prop="fwz"> |
| | | <el-input |
| | | v-model="form.fw" |
| | | v-model="form.fwz" |
| | | placeholder="请输入范围" |
| | | style="width: 200px" |
| | | /> |
| | |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="异常标志" prop="ycbz"> |
| | | <el-input |
| | | <!-- <el-input |
| | | v-model="form.ycbz" |
| | | style="width: 200px" |
| | | placeholder="请输入异常标志" |
| | | /> |
| | | /> --> |
| | | <el-select |
| | | v-model="form.ycbz" |
| | | placeholder="请选择异常标志" |
| | | style="width: 200px" |
| | | clearable |
| | | > |
| | | <el-option |
| | | v-for="item in ycdata" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.label" |
| | | ></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="疾病" prop="sfjb"> |
| | | <el-checkbox v-model="form.sfjb" true-label="是" false-label="否"> |
| | | </el-checkbox> |
| | |
| | | <el-checkbox |
| | | v-model="form.sfcjb" |
| | | true-label="是" |
| | | false-label="否" |
| | | false-label="" |
| | | ></el-checkbox> |
| | | <!-- <el-input |
| | | v-model="form.sfcjb" |
| | | style="width: 200px" |
| | | placeholder="请输入是否常见病" |
| | | /> --> |
| | | </el-form-item> |
| | | <el-form-item label="慢性病" prop="sfmxb"> |
| | | <el-checkbox |
| | | v-model="form.sfmxb" |
| | | true-label="是" |
| | | false-label="否" |
| | | false-label="" |
| | | ></el-checkbox> |
| | | <!-- <el-input |
| | | v-model="form.sfmxb" |
| | | style="width: 200px" |
| | | placeholder="请输入是否慢性病" |
| | | /> --> |
| | | </el-form-item> |
| | | <el-form-item label="重大疾病" prop="sfzdjb"> |
| | | <el-checkbox |
| | | v-model="form.sfzdjb" |
| | | true-label="是" |
| | | false-label="否" |
| | | false-label="" |
| | | ></el-checkbox> |
| | | <!-- <el-input |
| | | v-model="form.sfzdjb" |
| | | </el-form-item> |
| | | <el-form-item label="性别" prop="xb"> |
| | | <el-select |
| | | v-model="form.xb" |
| | | placeholder="请选择体检人性别" |
| | | style="width: 200px" |
| | | placeholder="请输入是否重大疾病" |
| | | /> --> |
| | | 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> |
| | | </el-form-item> |
| | | <el-form-item label="建议名称" prop="jymc" style="display: block"> |
| | | <el-input |
| | |
| | | delAdvicerules, |
| | | addAdvicerules, |
| | | updateAdvicerules, |
| | | getTjProAdvicerulesKsList, |
| | | } from "@/api/hosp/advicerules"; |
| | | import { listAdvice } from "@/api/advice/advice"; |
| | | import { getToken } from "@/utils/auth"; |
| | |
| | | |
| | | export default { |
| | | name: "Advicerules", |
| | | dicts: ["sys_user_sex"], |
| | | data() { |
| | | return { |
| | | // 遮罩层 |
| | | loading: true, |
| | | // 选中数组 |
| | | ids: [], |
| | | ycdata: [ |
| | | { label: "↑", value: "up" }, |
| | | { label: "↓", value: "down" }, |
| | | { label: "阳性", value: "positive" }, |
| | | { label: "弱阳性", value: "weak_positive" }, |
| | | { label: "4+", value: "4plus" }, |
| | | { label: "3+", value: "3plus" }, |
| | | { label: "2+", value: "2plus" }, |
| | | { label: "1+", value: "1plus" }, |
| | | { label: "+1", value: "plus1" }, |
| | | { label: "+2", value: "plus2" }, |
| | | { label: "+3", value: "plus3" }, |
| | | { label: "+4", value: "plus4" }, |
| | | { label: "+", value: "plus" }, |
| | | { label: "+-", value: "plus_minus" }, |
| | | ], |
| | | // 非单个禁用 |
| | | single: true, |
| | | // 非多个禁用 |
| | |
| | | // 体检项目建议规则新表表格数据 |
| | | advicerulesList: [], |
| | | adviceList: [], |
| | | deptOptions: [], |
| | | treeId: [], |
| | | // 弹出层标题 |
| | | title: "", |
| | | xmmc: "", |
| | | // 是否显示弹出层 |
| | | open: false, |
| | | key: "", |
| | |
| | | businessName: "exampleBusiness", // 示例业务名 |
| | | objs: {}, |
| | | departmentOptions: [], |
| | | defaultProps: { |
| | | children: "children", |
| | | label: "label", |
| | | }, |
| | | // 查询参数 |
| | | queryParams: { |
| | | pageNum: 1, |
| | |
| | | sfcjb: null, |
| | | sfmxb: null, |
| | | sfzdjb: null, |
| | | sfzdjb: null, |
| | | }, |
| | | queryParam1: { |
| | | page: 1, |
| | |
| | | pageSize: 10, |
| | | }, |
| | | // 表单参数 |
| | | form: {}, |
| | | form: { |
| | | // xb: "2", |
| | | }, |
| | | // 表单校验 |
| | | rules: {}, |
| | | rules: { |
| | | ks: [{ required: true, message: " ", trigger: ["blur", "change"] }], |
| | | }, |
| | | upload: { |
| | | // 是否显示弹出层(用户导入) |
| | | open: false, |
| | |
| | | created() { |
| | | this.getList(); |
| | | }, |
| | | watch: { |
| | | // 根据名称筛选部门树 |
| | | xmmc(val) { |
| | | this.$refs.tree.filter(val); |
| | | }, |
| | | treeId(newVal, oldVal) { |
| | | if (newVal) { |
| | | this.$nextTick(() => { |
| | | const node = document.querySelector( |
| | | ".el-tree-node__children .el-tree-node__content" |
| | | ); |
| | | if (node) { |
| | | node.click(); |
| | | } else { |
| | | console.warn("没有找到 el-tree 节点,无法触发点击"); |
| | | } |
| | | }); |
| | | } |
| | | }, |
| | | }, |
| | | 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) => { |
| | | console.log(response,123456); |
| | | |
| | | 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) { |
| | |
| | | createBy: null, |
| | | updateBy: null, |
| | | deleted: null, |
| | | // xb: "2", |
| | | }; |
| | | this.resetForm("form"); |
| | | if (this.$refs.form) { |
| | | this.$refs.form.resetFields(); |
| | | } |
| | | }, |
| | | /** 搜索按钮操作 */ |
| | | handleQuery() { |
| | | this.queryParams.pageNum = 1; |
| | | this.getList(); |
| | | this.getListByXmId(); |
| | | }, |
| | | handlecharge() { |
| | | this.querycharge.pageNum = 1; |
| | |
| | | clearForm() { |
| | | this.queryParam.bt = ""; // 清空标题 |
| | | this.queryParam.nr = ""; // 清空建议内容 |
| | | }, |
| | | |
| | | formatSex(row) { |
| | | const dictItem = this.dict.type.sys_user_sex.find( |
| | | (item) => item.value === row.xb |
| | | ); |
| | | return dictItem ? dictItem.label : ""; |
| | | }, |
| | | |
| | | handleSelectionChange1(selection) { |
| | |
| | | this.open = true; |
| | | this.title = "修改体检项目建议规则新表"; |
| | | }); |
| | | |
| | | deptTreeSelect().then((response) => { |
| | | this.departmentOptions = response.data[0].children; |
| | | }); |
| | |
| | | submitForm() { |
| | | this.$refs["form"].validate((valid) => { |
| | | if (valid) { |
| | | this.form.xb = this.form.xb === "1" ? "1" : null; |
| | | if (this.form.id != null) { |
| | | updateAdvicerules(this.form).then((response) => { |
| | | console.log(response, 1111333); |
| | | |
| | | this.$modal.msgSuccess("修改成功"); |
| | | this.open = false; |
| | | this.getList(); |
| | | this.getListByXmId(); |
| | | }); |
| | | } else { |
| | | addAdvicerules(this.form).then((response) => { |
| | | this.$modal.msgSuccess("新增成功"); |
| | | this.open = false; |
| | | this.getList(); |
| | | this.getListByXmId(); |
| | | }); |
| | | } |
| | | } |
| | |
| | | }, |
| | | }; |
| | | </script> |
| | | <style scoped> |
| | | .scrollable-container { |
| | | width: 200px; |
| | | height: 520px; |
| | | overflow: auto; |
| | | border: 1px solid #ccc; |
| | | position: relative; |
| | | } |
| | | |
| | | .content { |
| | | width: 1000px; |
| | | /* 设置内容的宽度,以触发水平滚动条 */ |
| | | height: 1000px; |
| | | /* 设置内容的高度,以触发垂直滚动条 */ |
| | | } |
| | | .pag { |
| | | width: 100%; |
| | | display: flex; |
| | | justify-content: center; |
| | | } |
| | | |
| | | .pag1 { |
| | | width: 65%; |
| | | } |
| | | </style> |