1
lkk
2025-07-03 823199f962f6cce7f7e2eb5dae52d68d91870768
src/views/hosp/biaoben/index.vue
@@ -2,7 +2,7 @@
  <div class="app-container">
    <el-row :gutter="24">
      <!-- 第一列:单选标本 -->
      <el-col :span="8" :xs="24">
      <el-col :span="6" :xs="24">
        <el-form
          :model="queryParams"
          ref="queryForm"
@@ -14,6 +14,7 @@
        >
          <el-form-item label="项目名称" prop="tjh">
            <el-input
              style="width: 140px"
              v-model="queryParams.tjh"
              placeholder="请输入项目名称"
              clearable
@@ -22,7 +23,7 @@
          </el-form-item>
          <el-form-item>
            <el-button type="primary" size="mini" @click="handleManual">查询</el-button>
            <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
            <el-button  type="primary" size="mini" @click="handleAdd">新增</el-button>
          </el-form-item>
        </el-form>
@@ -43,13 +44,26 @@
        </el-table>
      </el-col>
      <!-- 第二列:中间选中项目列表 -->
      <el-col :span="8" :xs="24">
        <el-form :model="form" size="small" :inline="true" label-width="68px" style="height: 45px" @submit.native.prevent />
      <el-col :span="9" :xs="24">
        <el-form :model="queryParams2" ref="queryForm" size="small" :inline="true" v-show="showSearch"
          label-width="68px" style="height: 45px" @submit.native.prevent>
          <el-form-item label="项目名称" prop="proName">
            <el-input ref="inputName" v-model="queryParams2.proName" placeholder="请输入项目名称" clearable
              @keyup.enter.native="handleyixuan" style="width: 140px" />
          </el-form-item>
          <el-form-item>
            <el-button type="primary" icon="el-icon-search" size="mini" @click="handleyixuan">搜索</el-button>
          </el-form-item>
        </el-form>
        <el-table
          border
          v-loading="loading"
          :data="OnenewpacName"
          ref="tres"
          height="478"
          style="width: 100%"
        >
@@ -121,11 +135,15 @@
      OnenewpacName: [],
      Treedata: [],
      originalTreedata: [],
      Treedatas: [],
      queryParams: {
        tjh: '',
        tjCategory: null,
      },
      queryParams1: {
        proName: '',
      },
      queryParams2: {
        proName: '',
      },
      form: {
@@ -136,7 +154,7 @@
      originalSpecimenData: [],
    };
  },
  dicts: ["sys_dict_specimen"],
  dicts: ["sys_dict_specimen", "sys_normal_disable"],
  created() {
    this.fetchInitialBiaobenData();
    this.initializeSpecimenData();
@@ -155,7 +173,7 @@
      },
      deep: true,
      immediate: true,
    },
    },
  },
  methods: {
    initializeSpecimenData() {
@@ -168,6 +186,27 @@
        this.originalSpecimenData = [];
        this.filteredSpecimenData = [];
      }
    },
    /** 新增按钮操作 */
    handleAdd() {
      this.open = true;
      this.title = "添加字典数据";
      this.form.dictType = "sys_dict_specimen";
    },
    handleyixuan() {
      const searchText = this.queryParams2.proName?.trim().toLowerCase() || '';
      if (searchText) {
        this.OnenewpacName = this.Treedatas.filter(item =>
          item.proName.toLowerCase().includes(searchText)
        );
        this.OnenewpacName.length
          ? this.$message.success('查询成功')
          : this.$message.warning('未找到匹配的项目');
      } else {
        this.OnenewpacName = [...this.Treedatas];
        this.$message.info('已显示所有项目');
      }
      this.$refs.tres.clearSelection();
    },
    handleSearchFor() {
      const searchText = this.queryParams1.proName?.trim().toLowerCase() || '';
@@ -193,7 +232,7 @@
      this.$refs.specimenTable.clearSelection();
      this.$message.success('已重置查询条件和标本数据');
    },
    handleManual() {
     handleManual() {
      const searchText = this.queryParams.tjh?.trim().toLowerCase() || '';
      this.filteredSpecimenData = searchText
        ? this.originalSpecimenData.filter(item => item.label.toLowerCase().includes(searchText))
@@ -236,7 +275,7 @@
    cancell() {
      this.openOne = false;
    },
    submitrighr() {
     submitrighr() {
      if (!this.queryParams.tjCategory) {
        this.$message.error('请先选择一个标本');
        return;
@@ -281,7 +320,8 @@
      this.loading = true;
      searchBiaoben({ bblx })
        .then(response => {
          this.OnenewpacName = response.data || [];
          this.Treedatas = response.data || [];
          this.OnenewpacName = [...this.Treedatas];
          this.loading = false;
        })
        .catch(error => {