1
lkk
2025-06-24 f1bd530bc3fcfc006426ebd2e79d0b09c31ba41f
src/views/hosp/advicerules/index.vue
@@ -50,7 +50,6 @@
      <el-col :span="1.5">
        <el-button
          type="primary"
          plain
          icon="el-icon-plus"
          size="mini"
          @click="handleAdd"
@@ -60,8 +59,7 @@
      </el-col>
      <el-col :span="1.5">
        <el-button
          type="success"
          plain
          type="primary"
          icon="el-icon-edit"
          size="mini"
          :disabled="single"
@@ -72,8 +70,7 @@
      </el-col>
      <el-col :span="1.5">
        <el-button
          type="danger"
          plain
          type="primary"
          icon="el-icon-delete"
          size="mini"
          :disabled="multiple"
@@ -82,35 +79,23 @@
          >删除
        </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-row :gutter="20" style="display: flex">
      <el-col :span="4" :xs="24">
      <el-col :span="3" :xs="24">
        <div class="head-container">
          <el-input
            v-model="xmmc"
@@ -137,97 +122,104 @@
          </div>
        </div>
      </el-col>
      <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="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-col :span="20" :xs="24">
        <el-table
          v-loading="loading"
          :data="advicerulesList"
          @selection-change="handleSelectionChange"
          height="520"
        >
          <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>
          <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"
          >
            <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>
    <pagination
      v-show="total > 0"
      :total="total"
      :page.sync="queryParams.pageNum"
      :limit.sync="queryParams.pageSize"
      @pagination="getListByXmId"
    />
    <!-- 添加或修改体检项目建议规则新表对话框 -->
    <el-dialog
@@ -246,6 +238,7 @@
      >
        <el-form-item label="科室" prop="ks">
          <el-select
            :rules="rules"
            v-model="form.ks"
            placeholder="请选择科室"
            style="width: 200px"
@@ -296,11 +289,24 @@
          />
        </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">
@@ -534,6 +540,22 @@
      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,
      // 非多个禁用
@@ -590,10 +612,12 @@
      },
      // 表单参数
      form: {
        xb: "2",
        // xb: "2",
      },
      // 表单校验
      rules: {},
      rules: {
        ks: [{ required: true, message: " ", trigger: ["blur", "change"] }],
      },
      upload: {
        // 是否显示弹出层(用户导入)
        open: false,
@@ -622,9 +646,14 @@
    treeId(newVal, oldVal) {
      if (newVal) {
        this.$nextTick(() => {
          document
            .querySelector(".el-tree-node__children .el-tree-node__content")
            .click();
          const node = document.querySelector(
            ".el-tree-node__children .el-tree-node__content"
          );
          if (node) {
            node.click();
          } else {
            console.warn("没有找到 el-tree 节点,无法触发点击");
          }
        });
      }
    },
@@ -638,6 +667,7 @@
        this.total = response.total;
        this.loading = false;
      }); */
      getTjProAdvicerulesKsList().then((response) => {
        this.deptOptions = response.data.map((name, index) => {
          return {
@@ -655,6 +685,8 @@
    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 +
@@ -719,7 +751,7 @@
        createBy: null,
        updateBy: null,
        deleted: null,
        xb: "2",
        // xb: "2",
      };
      if (this.$refs.form) {
        this.$refs.form.resetFields();
@@ -728,7 +760,7 @@
    /** 搜索按钮操作 */
    handleQuery() {
      this.queryParams.pageNum = 1;
      this.getList();
      this.getListByXmId();
    },
    handlecharge() {
      this.querycharge.pageNum = 1;
@@ -828,19 +860,18 @@
    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();
            });
          }
        }
@@ -921,16 +952,11 @@
</script>
<style scoped>
.scrollable-container {
  width: 260px;
  /* 设置容器的宽度 */
  height: 629px;
  /* 设置容器的高度 */
  width: 200px;
  height: 520px;
  overflow: auto;
  /* 允许内容溢出时显示滚动条 */
  border: 1px solid #ccc;
  /* 可选:添加边框以更好地显示容器 */
  position: relative;
  /* 可选:使容器内的绝对定位元素能够正确显示 */
}
.content {
@@ -939,4 +965,13 @@
  height: 1000px;
  /* 设置内容的高度,以触发垂直滚动条 */
}
.pag {
  width: 100%;
  display: flex;
  justify-content: center;
}
.pag1 {
  width: 65%;
}
</style>