qx
2025-04-16 a2c6e0da9d51c37ceff8d0d7e1bb7f4f85f1deb5
src/views/hosp/rules/index.vue
@@ -2,7 +2,7 @@
  <div class="app-container">
    <el-row :gutter="20">
      <!--部门数据-->
      <el-col :span="4" :xs="24">
      <el-col :span="3" :xs="24">
        <div class="head-container">
          <el-input
            v-model="xmmc"
@@ -13,7 +13,22 @@
            style="margin-bottom: 20px"
          />
        </div>
        <el-scrollbar style="height: 629px; width: 100%">
        <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-scrollbar style="height: 629px; width: 100%">
          <div class="head-container">
            <el-tree
              :data="deptOptions"
@@ -27,7 +42,7 @@
              @node-click="handleNodeClick"
            />
          </div>
        </el-scrollbar>
        </el-scrollbar> -->
        <!-- <div class="head-tree">
          <el-tree
            ref="tree"
@@ -163,170 +178,180 @@
          >导出
        </el-button>
      </el-col> -->
            <right-toolbar
            <!-- <right-toolbar
              :showSearch.sync="showSearch"
              @queryTable="getList"
            ></right-toolbar>
            ></right-toolbar> -->
          </el-row>
          <el-table
            border
            v-loading="loading"
            :data="rulesList"
            @selection-change="handleSelectionChange"
          >
            <el-table-column type="selection" width="55" align="center" />
            <el-table-column
              label="序号"
              align="center"
              prop="newID"
              width="55"
            />
            <!-- <el-table-column label="项目id" align="center" prop="proId" /> -->
            <el-table-column
              label="项目名"
              align="center"
              prop="proName"
              :show-overflow-tooltip="true"
            />
            <el-table-column
              label="规则类型"
              align="center"
              prop="ruleType"
              :show-overflow-tooltip="true"
          <div style="width: 100%;">
            <el-table
              border
              v-loading="loading"
              :data="rulesList"
              @selection-change="handleSelectionChange"
              height="520"
            >
              <template slot-scope="scope">
                <dict-tag
                  :options="dict.type.tj_rule_type"
                  :value="scope.row.ruleType"
                />
              </template>
            </el-table-column>
            <el-table-column
              label="规则"
              align="center"
              prop="ruleStr"
              :show-overflow-tooltip="true"
            />
            <el-table-column
              label="病种"
              align="center"
              prop="bingzhong"
              :show-overflow-tooltip="true"
            />
            <el-table-column
              label="病种拼音"
              align="center"
              prop="bzPinyin"
              :show-overflow-tooltip="true"
            />
            <el-table-column
              label="性别"
              align="center"
              prop="sex"
              :show-overflow-tooltip="true"
            >
              <template slot-scope="scope">
                <dict-tag
                  :options="dict.type.tj_rule_sex"
                  :value="scope.row.sex"
                />
              </template>
            </el-table-column>
            <el-table-column
              label="年龄-"
              align="center"
              prop="ageLt"
              :show-overflow-tooltip="true"
            />
            <el-table-column
              label="年龄+"
              align="center"
              prop="ageGt"
              :show-overflow-tooltip="true"
            />
            <el-table-column
              label="规则范围-"
              align="center"
              prop="ruleLt"
              :show-overflow-tooltip="true"
            />
            <el-table-column
              label="规则范围+"
              align="center"
              prop="ruleGt"
              :show-overflow-tooltip="true"
            />
            <el-table-column
              label="标识"
              align="center"
              prop="sign"
              :show-overflow-tooltip="true"
            />
            <el-table-column
              label="积极性"
              align="center"
              prop="idPositive"
              :show-overflow-tooltip="true"
            />
            <el-table-column
              label="范围"
              align="center"
              prop="reference"
              :show-overflow-tooltip="true"
            />
            <el-table-column
              label="优先级"
              align="center"
              prop="sort"
              :show-overflow-tooltip="true"
            />
            <el-table-column
              label="小于标识"
              align="center"
              prop="lowSymbol"
              :show-overflow-tooltip="true"
            />
            <el-table-column
              label="大于标识"
              align="center"
              prop="heighSymbol"
              :show-overflow-tooltip="true"
            />
            <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:rules:edit']"
                  title="修改"
                >
                </el-button>
                <el-button
                  size="mini"
                  type="text"
                  icon="el-icon-tickets"
                  @click="handleDetail(scope.row)"
                  title="详情"
                ></el-button>
                <el-button
                  size="mini"
                  type="text"
                  icon="el-icon-delete"
                  @click="handleDelete(scope.row)"
                  v-hasPermi="['hosp:rules:remove']"
                  title="删除"
                >
                </el-button>
              </template>
            </el-table-column>
          </el-table>
              <el-table-column type="selection" width="55" align="center" />
              <el-table-column
                label="序号"
                align="center"
                prop="newID"
                width="55"
              />
              <!-- <el-table-column label="项目id" align="center" prop="proId" /> -->
              <el-table-column
                label="项目名"
                align="center"
                prop="proName"
                :show-overflow-tooltip="true"
              />
              <el-table-column
                label="规则类型"
                align="center"
                prop="ruleType"
                :show-overflow-tooltip="true"
              >
                <template slot-scope="scope">
                  <dict-tag
                    :options="dict.type.tj_rule_type"
                    :value="scope.row.ruleType"
                  />
                </template>
              </el-table-column>
              <el-table-column
                label="规则"
                align="center"
                prop="ruleStr"
                :show-overflow-tooltip="true"
              />
              <el-table-column
                label="病种"
                align="center"
                prop="bingzhong"
                :show-overflow-tooltip="true"
              />
              <el-table-column
                label="影像表现"
                align="center"
                prop="yxbx"
                :show-overflow-tooltip="true"
              />
              <el-table-column
                label="病种拼音"
                align="center"
                prop="bzPinyin"
                :show-overflow-tooltip="true"
              />
              <el-table-column
                label="性别"
                align="center"
                prop="sex"
                :show-overflow-tooltip="true"
              >
                <template slot-scope="scope">
                  <dict-tag
                    :options="dict.type.tj_rule_sex"
                    :value="scope.row.sex"
                  />
                </template>
              </el-table-column>
              <el-table-column
                label="年龄-"
                align="center"
                prop="ageLt"
                :show-overflow-tooltip="true"
              />
              <el-table-column
                label="年龄+"
                align="center"
                prop="ageGt"
                :show-overflow-tooltip="true"
              />
              <el-table-column
                label="规则范围-"
                align="center"
                prop="ruleLt"
                :show-overflow-tooltip="true"
              />
              <el-table-column
                label="规则范围+"
                align="center"
                prop="ruleGt"
                width="90"
                :show-overflow-tooltip="true"
              />
              <el-table-column
                label="标识"
                align="center"
                prop="sign"
                :show-overflow-tooltip="true"
              />
              <el-table-column
                label="积极性"
                align="center"
                prop="idPositive"
                :show-overflow-tooltip="true"
              />
              <el-table-column
                label="范围"
                align="center"
                prop="reference"
                :show-overflow-tooltip="true"
              />
              <el-table-column
                label="优先级"
                align="center"
                prop="sort"
                :show-overflow-tooltip="true"
              />
              <el-table-column
                label="小于标识"
                align="center"
                prop="lowSymbol"
                :show-overflow-tooltip="true"
              />
              <el-table-column
                label="大于标识"
                align="center"
                prop="heighSymbol"
                :show-overflow-tooltip="true"
              />
              <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:rules:edit']"
                    title="修改"
                  >
                  </el-button>
                  <el-button
                    size="mini"
                    type="text"
                    icon="el-icon-tickets"
                    @click="handleDetail(scope.row)"
                    title="详情"
                  ></el-button>
                  <el-button
                    size="mini"
                    type="text"
                    icon="el-icon-delete"
                    @click="handleDelete(scope.row)"
                    v-hasPermi="['hosp:rules:remove']"
                    title="删除"
                  >
                  </el-button>
                </template>
              </el-table-column>
            </el-table>
          </div>
          <div class="pag">
            <div class="pag1">
@@ -335,7 +360,7 @@
                :total="total"
                :page.sync="queryParams.pageNum"
                :limit.sync="queryParams.pageSize"
                @pagination="getList"
                @pagination="getListByXmId"
              />
            </div>
          </div>
@@ -349,7 +374,7 @@
      :visible.sync="open"
      width="1000px"
      append-to-body
      :before-close="handleClose"
      :close-on-click-modal="false"
    >
      <el-form
        ref="form"
@@ -395,20 +420,28 @@
            ></el-option>
          </el-select>
        </el-form-item>
        <el-form-item label="规则" prop="ruleStr">
          <el-input
            v-model="form.ruleStr"
            placeholder="请输入规则"
        <el-form-item label="性别" prop="sex">
          <el-select
            v-model="form.sex"
            placeholder="请选择性别"
            style="width: 200px"
          />
          >
            <el-option
              v-for="dict in dict.type.tj_rule_sex"
              :key="dict.value"
              :label="dict.label"
              :value="dict.value"
            ></el-option>
          </el-select>
        </el-form-item>
        <el-form-item label="病种" prop="bingzhong">
          <el-select
            :remote-method="getRemoteData1"
            v-model="form.bingzhong"
            remote
            filterable
            style="width: 200px"
            style="width: 490px"
            placeholder="请选择病种"
            clearable
            @change="idFn1"
@@ -425,6 +458,7 @@
        <!-- <el-form-item label="病种拼音" prop="bzPinyin">
          <el-input v-model="form.bzPinyin" placeholder="请输入病种拼音" style="width:200px" />
        </el-form-item> -->
        <el-form-item label="疾病编码 " prop="icdCode">
          <el-input
            v-model="form.icdCode"
@@ -433,20 +467,7 @@
            disabled
          />
        </el-form-item>
        <el-form-item label="性别" prop="sex">
          <el-select
            v-model="form.sex"
            placeholder="请选择性别"
            style="width: 200px"
          >
            <el-option
              v-for="dict in dict.type.tj_rule_sex"
              :key="dict.value"
              :label="dict.label"
              :value="dict.value"
            ></el-option>
          </el-select>
        </el-form-item>
        <el-form-item label="年龄-" prop="ageLt">
          <el-input
            v-model="form.ageLt"
@@ -523,6 +544,33 @@
            style="width: 200px"
          />
        </el-form-item>
        <el-form-item label="规则表现" prop="yxbx">
          <el-input
            type="textarea"
            :rows="3"
            v-model="form.yxbx"
            placeholder="请输入规则表现"
            style="width: 782px"
          />
        </el-form-item>
        <el-form-item label="规则结论 " prop="ruleStr">
          <el-input
            type="textarea"
            :rows="3"
            v-model="form.ruleStr"
            placeholder="请输入规则结论"
            style="width: 782px"
          />
        </el-form-item>
        <!--  <el-form-item label="影像表现 " prop="yxbx">
          <el-input
            v-model="form.yxbx"
            placeholder="请输入影像表现"
            style="width: 782px"
            type="textarea"
            :rows="3"
          />
        </el-form-item> -->
        <el-form-item label="建议名称" prop="adviceBt">
          <el-input
            v-model="form.adviceBt"
@@ -531,6 +579,7 @@
          >
          </el-input>
        </el-form-item>
        <el-form-item label="建议内容" prop="adviceNr">
          <span
            slot="label"
@@ -572,9 +621,9 @@
      :visible.sync="dialogTableVisible"
      width="80%"
      :close-on-click-modal="false"
      @close="clearForm"
    >
      <div class="app-container">
        <!-- <el-row :gutter="24"> -->
        <el-form
          :model="form"
          ref="queryForm"
@@ -664,7 +713,7 @@
      :visible.sync="openOne"
      width="1000px"
      append-to-body
      :before-close="handleClose"
      :close-on-click-modal="false"
    >
      <el-form
        ref="form"
@@ -933,16 +982,15 @@
      queryParam: {
        page: 1,
        pageSize: 10,
        bt: '', // 标题
        nr: '',  // 建议内容
        bt: "", // 标题
        nr: "", // 建议内容
      },
      querycharge: {
        pageNum: 1,
        pageSize: 10,
      },
      // 表单参数
      form: {
      },
      form: {},
      // 表单校验
      rules: {
        deleted: [
@@ -994,9 +1042,7 @@
    this.getList();
  },
  methods: {
    handleClose(done) {
      // this.cancel();
      /* this.$confirm("确认关闭?")
@@ -1008,8 +1054,13 @@
    handlecharge() {
      this.querycharge.pageNum = 1;
      this.getlistJynr();
    },
    // 清空表单数据
    clearForm() {
      this.queryParam.bt = ""; // 清空标题
      this.queryParam.nr = ""; // 清空建议内容
    },
    getDetailed() {
@@ -1051,10 +1102,10 @@
      this.loading = true;
      // this.List = true;
      listAdvice(this.queryParam).then((response) => {
        response.data.list.forEach((item, index) => {
          item.newID =
            (this.queryParam.page - 1) * this.queryParam.pageSize + index + 1;
        });
        // response.data.list.forEach((item, index) => {
        //   item.newID =
        //     (this.queryParam.page - 1) * this.queryParam.pageSize + index + 1;
        // });
        this.adviceList = response.data.list;
        this.total = response.data.total;
@@ -1072,14 +1123,16 @@
    getListByXmId() {
      this.loading = true;
      listRules(this.queryParams).then((response) => {
        response.rows.forEach((item, index) => {
        response.data.rows.forEach((item, index) => {
          item.newID =
            (this.queryParams.pageNum - 1) * this.queryParams.pageSize +
            index +
            1;
        });
        this.rulesList = response.rows;
        this.total = response.total;
        this.rulesList = response.data.rows;
        console.log(this.rulesList, 999);
        this.total = response.data.total;
        this.loading = false;
      });
    },
@@ -1093,7 +1146,12 @@
    // 筛选节点
    filterNode(value, data) {
      if (!value) return true;
      return data.label.indexOf(value) !== -1;
      // return data.label.indexOf(value) !== -1;
      return (
        data.label &&
        typeof data.label === "string" &&
        data.label.indexOf(value) !== -1
      );
    },
    // 取消按钮
    cancel() {
@@ -1240,13 +1298,13 @@
              this.$modal.msgSuccess("修改成功");
              this.open = false;
              this.getList();
              this.getListByXmId();
            });
          } else {
            addRules(this.form).then((response) => {
              this.$modal.msgSuccess("新增成功");
              this.open = false;
              this.getList();
              this.getListByXmId();
            });
          }
        }
@@ -1261,7 +1319,7 @@
          return delRules(ids);
        })
        .then(() => {
          this.getList();
          this.getListByXmId();
          this.$modal.msgSuccess("删除成功");
        })
        .catch(() => {});
@@ -1279,6 +1337,27 @@
.pag1 {
  width: 30%;
}
.scrollable-container {
  width: 200px;
  /* 设置容器的宽度 */
  height: 629px;
  /* 设置容器的高度 */
  overflow: auto;
  /* 允许内容溢出时显示滚动条 */
  border: 1px solid #ccc;
  /* 可选:添加边框以更好地显示容器 */
  position: relative;
  /* 可选:使容器内的绝对定位元素能够正确显示 */
}
.content {
  width: 1000px;
  /* 设置内容的宽度,以触发水平滚动条 */
  height: 1000px;
  /* 设置内容的高度,以触发垂直滚动条 */
}
/* .guding {
  position: fixed;
  top: 20px;