| | |
| | | </span> |
| | | </el-dialog> |
| | | <el-dialog title="快捷建议选择" :visible.sync="showjianyi" width="1000px" class="custom-dialog"> |
| | | <!-- 添加筛选下拉框 --> |
| | | <!-- 替换为输入框 --> |
| | | <div style="margin-bottom: 15px;"> |
| | | <el-form :inline="true"> |
| | | <el-form-item label="科室"> |
| | | <el-select v-model="queryParams1.ks" placeholder="请选择或输入科室" clearable filterable allow-create |
| | | style="width: 200px" @change="filterAdvices(true)"> |
| | | <el-option v-for="dept in deptList" :key="dept" :label="dept" :value="dept" /> |
| | | </el-select> |
| | | <el-form-item label="建议名称"> |
| | | <el-input v-model="queryParams1.zyzd" placeholder="请输入建议名称进行筛选" clearable style="width: 200px" |
| | | @input="filterAdvices(true)" onkeydown="if(event.keyCode === 32) return false;" /> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | |
| | | <el-table-column label="建议名称" prop="jymc" align="center" /> |
| | | <el-table-column label="建议内容" prop="jynr" align="center" /> |
| | | </el-table> |
| | | |
| | | |
| | | |
| | | <!-- 分页组件 --> |
| | | <div class="pag"> |
| | |
| | | |
| | | |
| | | <script> |
| | | import _ from 'lodash'; |
| | | import jianqianwenzhen from "@/components/jianqianwenzhen"; |
| | | import Packages from "@/components/Packages"; |
| | | import Prescription from "@/components/Prescription"; |
| | |
| | | name: "checkAll", |
| | | data() { |
| | | return { |
| | | deptList: [], // 去重后的科室列表 |
| | | selectedAdvice: null, |
| | | activeAdviceIndex: 0, |
| | | advicerulesList: [], |
| | |
| | | queryParams1: { |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | ks: '' |
| | | zyzd: '' |
| | | }, |
| | | status1: 0, // 0展示异常1展示项目情况 |
| | | viewportHeight: 0, |
| | |
| | | |
| | | }, |
| | | tan(event) { |
| | | // 获取当前建议组的索引 |
| | | this.activeAdviceIndex = event.target.closest('.advice-group') |
| | | ? Array.from(event.target.closest('.el-form').querySelectorAll('.advice-group')) |
| | | .indexOf(event.target.closest('.advice-group')) |
| | | : 0; // 获取当前建议组的索引 |
| | | : 0; |
| | | |
| | | // 确保 projectCategories 已加载 |
| | | if (!this.projectCategories || this.projectCategories.length === 0) { |
| | | cSWebGetPro(this.tjNumber).then((res) => { |
| | | if (res.data && Array.isArray(res.data)) { |
| | | this.projectCategories = res.data; |
| | | // 提取去重后的科室列表 |
| | | this.deptList = [...new Set(this.projectCategories.map(item => item.deptName))].filter(Boolean); |
| | | } else { |
| | | this.$message.warning('未获取到项目分类数据'); |
| | | this.projectCategories = []; |
| | | this.deptList = []; |
| | | } |
| | | }).catch((error) => { |
| | | console.error('获取项目分类失败:', error); |
| | | this.$message.error('获取项目分类失败'); |
| | | this.projectCategories = []; |
| | | this.deptList = []; |
| | | }); |
| | | } else { |
| | | // 如果 projectCategories 已加载,直接更新 deptList |
| | | this.deptList = [...new Set(this.projectCategories.map(item => item.deptName))].filter(Boolean); |
| | | } |
| | | |
| | | // 重置分页参数 |
| | | // 重置分页参数和筛选条件 |
| | | this.queryParams1.pageNum = 1; |
| | | this.queryParams1.pageSize = 10; |
| | | this.queryParams1.zyzd = ''; // 清空建议名称输入框 |
| | | // 移除科室筛选条件 |
| | | delete this.queryParams1.ks; // 确保不携带 ks 参数 |
| | | |
| | | // 加载快捷建议列表 |
| | | // 加载所有快捷建议列表 |
| | | this.filterAdvices(); |
| | | this.showjianyi = true; |
| | | }, |
| | | |
| | | // 下拉框筛选快捷建议(包含分页逻辑) |
| | | filterAdvices(resetPage = false) { |
| | | filterAdvices: _.debounce(function (resetPage = false) { |
| | | if (resetPage) { |
| | | this.queryParams1.pageNum = 1; // 切换科室时重置页码为 1 |
| | | this.queryParams1.pageNum = 1; |
| | | } |
| | | listAdvicerules(this.queryParams1).then((response) => { |
| | | this.advicerulesList = response.rows; |
| | |
| | | console.error('筛选快捷建议失败:', error); |
| | | this.$message.error('筛选快捷建议失败'); |
| | | }); |
| | | }, |
| | | }, 300), |
| | | submitNewItem() { |
| | | const data = { |
| | | tjh: this.tableAll.tjNumber, // 体检号,从 tableAll 中获取 |
| | |
| | | }, |
| | | |
| | | handleCategoryChange(value) { |
| | | |
| | | const selectedCategory = this.projectCategories.find(item => item.proName === value); |
| | | console.log(this.projectCategories, selectedCategory); |
| | | this.queryParams1.ks = selectedCategory.deptName || ''; |
| | | if (value) { |
| | | this.newItem.jcxm = value; // 将选择的项目分类赋值给检测项目 |
| | | } |