wwl
2025-03-27 af614a3b5383cb9ebf8544fd9c92d9c8d858f01f
快捷建议
1个文件已修改
59 ■■■■ 已修改文件
src/views/doctor/checkAll/index.vue 59 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/doctor/checkAll/index.vue
@@ -766,14 +766,12 @@
      </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>
@@ -784,8 +782,6 @@
        <el-table-column label="建议名称" prop="jymc" align="center" />
        <el-table-column label="建议内容" prop="jynr" align="center" />
      </el-table>
      <!-- 分页组件 -->
      <div class="pag">
@@ -812,6 +808,7 @@
<script>
import _ from 'lodash';
import jianqianwenzhen from "@/components/jianqianwenzhen";
import Packages from "@/components/Packages";
import Prescription from "@/components/Prescription";
@@ -873,7 +870,6 @@
  name: "checkAll",
  data() {
    return {
      deptList: [], // 去重后的科室列表
      selectedAdvice: null,
      activeAdviceIndex: 0,
      advicerulesList: [],
@@ -1026,7 +1022,7 @@
      queryParams1: {
        pageNum: 1,
        pageSize: 10,
        ks: ''
        zyzd: ''
      },
      status1: 0, // 0展示异常1展示项目情况
      viewportHeight: 0,
@@ -1122,47 +1118,28 @@
    },
    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;
@@ -1171,7 +1148,7 @@
        console.error('筛选快捷建议失败:', error);
        this.$message.error('筛选快捷建议失败');
      });
    },
    }, 300),
    submitNewItem() {
      const data = {
        tjh: this.tableAll.tjNumber, // 体检号,从 tableAll 中获取
@@ -1225,10 +1202,6 @@
    },
    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; // 将选择的项目分类赋值给检测项目
      }