WXL
2024-07-31 2c9ddebd07230ca4165e2ee55470133fdf9ccd99
测试完成
已添加1个文件
已修改7个文件
751 ■■■■■ 文件已修改
src/api/AiCentre/Qtemplate.js 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/OptionalForm/index.vue 328 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/Regular/index.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/knowledge/education/compilequer/index.vue 163 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/knowledge/questionnaire/compilequer/index.vue 126 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/knowledge/questionnaire/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/repositoryai/templateku/configurat/index.vue 116 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/repositoryai/verbaltrick/particulars/index.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/AiCentre/Qtemplate.js
@@ -2,13 +2,20 @@
import { param } from "jquery";
// æŸ¥è¯¢é—®å·æ¨¡ç‰ˆåˆ—表
export function getQtemplatelist(data) {
export function getQtemplateobj(data) {
  return request({
    url: "/smartor/svyLibTemplate/selectSvyLibTemplatelist",
    method: "post",
    data: data,
  });
}
export function getQtemplatelist(data) {
  return request({
    url: "/smartor/svyLibTemplate/list",
    method: "get",
    params: data,
  });
}
// é—®å·æ¨¡ç‰ˆè¯¦æƒ…
export function Qtemplateinfo(Id) {
  return request({
src/components/OptionalForm/index.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,328 @@
<template>
  <div>
    <el-dialog
      title="适用疾病选择"
      :visible.sync="dialogVisiblepatient"
      width="70%"
      :before-close="handleClosehz"
    >
      <div class="examine-jic">
        <div style="margin: 0 10px 20px 10px">
          <el-card class="box-card">
            <el-tag
              v-for="item in overallCase"
              :key="item.icdid"
              type="warning"
              closable
              @close="handleClose(item)"
            >
              {{ item.icdname }}
            </el-tag>
            <div style="margin-top: 20px; text-align: right">
              å…±é€‰æ‹©<span
                style="font-size: 18px; color: #409eff; margin: 0 10px"
                >{{ overallCase.length }}</span
              >条数据
            </div>
          </el-card>
        </div>
        <div class="jic-value">
          <el-row :gutter="20">
            <!--用户数据-->
            <el-form
              :model="patientqueryParams"
              ref="queryForm"
              size="small"
              :inline="true"
              label-width="98px"
            >
              <el-form-item label="疾病名称" prop="name">
                <el-input
                  v-model="patientqueryParams.icdname"
                  placeholder="请输入疾病名称"
                  @keyup.enter.native="handleAddpatient"
                />
              </el-form-item>
              <el-form-item>
                <el-button
                  type="primary"
                  icon="el-icon-search"
                  size="medium"
                  @click="handleAddpatient"
                  >搜索</el-button
                >
                <el-button
                  icon="el-icon-refresh"
                  size="medium"
                  @click="resetQuery"
                  >重置</el-button
                >
              </el-form-item>
            </el-form>
            <!-- é€‰æ‹©å™¨å®˜åˆ—表 -->
            <el-table
              ref="multipleTable"
              :data="donorchargeList"
              tooltip-effect="dark"
              style="width: 100%"
              @selection-change="handleSelectionChange"
            >
              <el-table-column type="selection" width="55"> </el-table-column>
              <el-table-column
                prop="icdid"
                label="疾病编号"
                width="100"
                show-overflow-tooltip
              >
              </el-table-column>
              <el-table-column label="疾病名称" show-overflow-tooltip>
                <template slot-scope="scope">{{ scope.row.icdname }}</template>
              </el-table-column>
              <el-table-column prop="icdcode" label="疾病编码" width="150">
              </el-table-column>
            </el-table>
          </el-row>
          <pagination
            v-show="patienttotal > 0"
            :total="patienttotal"
            :page.sync="patientqueryParams.pageNum"
            :limit.sync="patientqueryParams.pageSize"
            @pagination="handleAddpatient"
          />
        </div>
      </div>
      <span slot="footer" class="dialog-footer">
        <el-button @click="$emit('addoption')">取 æ¶ˆ</el-button>
        <el-button type="primary" @click="AddDispatchpatients"
          >确定添加</el-button
        >
      </span>
    </el-dialog>
  </div>
</template>
<script>
import { getillnesslist, deltargetillness } from "@/api/AiCentre/index";
export default {
  name: "Diseasetotality",
  data() {
    return {
      patienttotal: 0, //
      // å½“前页选中数据
      multipleSelection: [],
      // æ€»é€‰ä¸­æ•°æ®
      // overallCase: [],
      patientqueryParams: {
        pageNum: 1,
        pageSize: 10,
      },
      donorchargeList: [],
      donorchargeanlList: [], //案例列表
    };
  },
  props: {
    dialogVisiblepatient: {
      type: Boolean,
      default: () => {
        return false;
      },
    },
    overallCase: {
      type: Array,
      required: true,
      default: () => [],
    },
    // 5问卷模版、3随访模版、6宣教
    type: {
      type: Number,
      default: () => {
        return 5;
      },
    },
  },
  created() {},
  mounted() {
    // this.handleAddpatient();
  },
  watch: {},
  methods: {
    handleClosehz() {
      this.$emit("addoption");
    },
    // é€‰æ‹©æ•°æ®æ ‡ç­¾åˆ é™¤äº‹ä»¶
    handleClose(item) {
      console.log(item);
      if (this.multipleSelection.indexOf(item) == -1 && !item.outid) {
        console.log(1);
        this.overallCase.splice(this.overallCase.indexOf(item), 1);
      } else if (item.outid) {
        this.$modal
          .confirm('是否确认删除名称为"' + item.icd10name + '"的数据项?')
          .then(() => {
            this.multipleSelection.splice(
              this.multipleSelection.indexOf(item),
              1
            );
            deltargetillness(item.id).then((res) => {
              if (res.code == 200) {
                this.$modal.msgSuccess("删除成功");
                this.overallCase.splice(this.overallCase.indexOf(item), 1);
              }
            });
            // å–消挂载状态
            this.$refs.multipleTable.toggleRowSelection(item, false);
          })
          .catch(() => {});
      } else {
        this.overallCase.splice(this.overallCase.indexOf(item), 1);
        this.multipleSelection.splice(this.multipleSelection.indexOf(item), 1);
        // å–消挂载状态
        this.$refs.multipleTable.toggleRowSelection(item, false);
      }
    },
    resetQuery() {
      this.patientqueryParams.icdname = null;
      this.handleAddpatient();
    },
    // è§¦å‘查询事件
    handleAddpatient(row) {
      this.$emit("kkoption");
      getillnesslist(this.patientqueryParams).then((res) => {
        this.donorchargeList = res.rows;
        this.patienttotal = res.total;
        console.log(this.$refs.multipleTable, "22");
        this.Restorecheck();
      });
    },
    // å¤šé€‰æ¡†é€‰ä¸­æ•°æ®
    handleSelectionChange(selection) {
      if (this.decision) return;
      // åˆ¤æ–­æ˜¯å¦æœ‰åˆ é™¤
      if (this.multipleSelection.length <= selection.length) {
        this.multipleSelection = selection;
      } else {
        console.log(selection, "selection");
        console.log(this.multipleSelection, "this.multipleSelection");
        this.multipleSelection.forEach((item) => {
          if (selection.includes(item)) {
          } else {
            if (this.multipleSelection.length == 1) {
              this.multipleSelection = [];
            } else {
              this.multipleSelection.splice(
                this.multipleSelection.indexOf(item),
                1
              );
            }
            if (this.overallCase.length == 1) {
              this.overallCase = [];
            } else {
              this.overallCase.splice(this.overallCase.indexOf(item), 1);
            }
          }
        });
      }
      // èµ‹å€¼ç»™æ•´ä½“选中数组
      console.log(this.overallCase);
      this.multipleSelection.forEach((item) => {
        console.log(
          this.overallCase.every((obj) => obj.icdname != item.icdname)
        );
        if (this.overallCase.every((obj) => obj.icdname != item.icdname)) {
          this.overallCase.push(item);
        }
      });
      console.log(this.multipleSelection, "触发选择后multipleSelection");
    },
    // åˆ‡æ¢é¡µåŽæ¢å¤é€‰ä¸­
    Restorecheck() {
      console.log(this.overallCase, "this.overallCase");
      const allid = this.overallCase.map((item) => item.icdname);
      const overlap = this.donorchargeList.filter((value) => {
        return allid.includes(value.icdname);
      });
      // ä¿æŒids和当前页面的同步性
      this.multipleSelection = overlap;
      console.log(this.multipleSelection, "进入分页multipleSelection");
      this.toggleSelection(overlap);
    },
    // æŒ‚载选择状态
    toggleSelection(rows) {
      if (rows) {
        this.decision = true;
        this.$nextTick(() => {
          rows.forEach((row) => {
            this.$refs.multipleTable.toggleRowSelection(row, true);
          });
          this.decision = false;
        });
        console.log(123);
      } else {
        this.$refs.multipleTable.clearSelection();
      }
    },
    AddDispatchpatients() {
      this.$emit("addoption");
    },
  },
};
</script>
<style lang="scss" scoped>
.examine-jic {
  .headline {
    font-size: 24px;
    border-left: 5px solid #41a1be;
    padding-left: 5px;
    margin-bottom: 10px;
    display: flex;
    justify-content: space-between;
    .Add-details {
      font-size: 18px;
      color: #02a7f0;
      cursor: pointer;
    }
  }
  .jic-value {
    font-size: 20px;
    border-top: 1px solid #a7abac;
    padding: 10px;
    margin-bottom: 10px;
    .details-jic {
      padding: 10px 15px;
      border: 1px solid #dcdfe6;
      -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12),
        0 0 6px 0 rgba(0, 0, 0, 0.04);
      .details-title {
        display: flex;
        justify-content: space-between;
        margin-bottom: 10px;
        div:nth-child(2) {
          color: #02a7f0;
          cursor: pointer;
        }
      }
      .details-renw {
        background: #e4ebfc;
        padding: 15px 5px;
        border-radius: 5px;
        margin-bottom: 20px;
      }
    }
  }
}
.el-tag + .el-tag {
  margin-left: 10px;
  margin-bottom: 10px;
}
</style>
src/components/Regular/index.vue
@@ -150,7 +150,7 @@
          >
        </div>
      </el-form-item>
      <el-form-item label="选项文件" prop="sickness">
      <el-form-item label="选项文件" prop="sickness" v-if="Verbalproblem">
        <div style="width: 40vw">
          <el-upload
            class="upload-demo"
@@ -271,6 +271,10 @@
      type: Boolean,
      default: true,
    },
    Verbalproblem: {
      type: Boolean,
      default: true,
    },
  },
  created() {
src/views/knowledge/education/compilequer/index.vue
@@ -211,45 +211,9 @@
            </el-select>
          </el-form-item>
          <el-form-item label="适用疾病" prop="region">
            <div class="xinz-inf">
              <el-tag
                :key="item.icd10name"
                type="warning"
                v-for="item in illnesslist"
                closable
                :disable-transitions="false"
                @close="handleCloseillness(item)"
              >
                {{ item.icd10name }}
              </el-tag>
              <el-select
                v-model="inputValue"
                v-if="illnessVisible"
                @change="illnessConfirm"
                :remote-method="remoteMethod"
                filterable
                remote
                allow-create
                default-first-option
                placeholder="请选择/查询"
                :loading="loading"
              >
                <el-option
                  v-for="item in optionsillness"
                  :key="item.icdid"
                  :label="item.icdname"
                  :value="item.icdid"
                >
                </el-option>
              </el-select>
              <el-button
                v-else
                class="button-new-tag"
                size="small"
                @click="illnessshowInput"
                >+ æ–°å¢žç–¾ç—…</el-button
              >
            </div>
            <el-button type="warning" @click="$refs.child.handleAddpatient()"
              >添加疾病</el-button
            >
          </el-form-item>
          <el-form-item label="适用院区" prop="region">
            <el-select
@@ -385,6 +349,14 @@
        </div>
      </div>
    </div>
    <!-- æ·»åŠ é€‚ç”¨ç–¾ç—…çª—å£ -->
    <Optional-Form
      ref="child"
      :dialogVisiblepatient="dialogVisiblepatient"
      :overallCase="illnesslist"
      @addoption="dialogVisiblepatient = false"
      @kkoption="dialogVisiblepatient = true"
    />
  </div>
</template>
@@ -407,6 +379,8 @@
  illnesslistget,
  getillness,
} from "@/api/AiCentre/index";
import OptionalForm from "@/components/OptionalForm"; //正则组件
import { listDept } from "@/api/system/dept";
// import * as Quill from "quill";
import Quill from "quill";
@@ -440,6 +414,7 @@
];
export default {
  components: { OptionalForm },
  data() {
    return {
      headers: {
@@ -464,6 +439,7 @@
      dynamicTags: [],
      inputVisible: false,
      illnessVisible: false,
      dialogVisiblepatient: false, //适用疾病窗口
      inputValue: "",
      // å¯Œæ–‡æœ¬
      editorOption: {
@@ -640,29 +616,47 @@
        this.ruleForm.suitway.length != 0
          ? this.ruleForm.suitway.join(",")
          : "";
      if (this.id) {
        this.ruleForm.isoperation = 2;
      } else {
        this.ruleForm.isoperation = 1;
      }
      this.illnesslist.forEach((item, index) => {
        if (!item.id) {
          addtargetillness(item).then((res) => {});
        }
      });
      if (this.illnesslistapi.length) {
        deltargetillness(this.illnesslistapi.join(",")).then((res) => {});
      }
      addrichText({
        content: this.content,
        fileName: this.fileName ? this.fileName : "测试.html",
      }).then((res) => {
        this.ruleForm.richText = res.msg;
        compilelibrary(this.ruleForm).then((res) => {
          this.$modal.msgSuccess("编辑成功");
          this.$router.go(-1);
        });
        if (this.id) {
          this.ruleForm.isoperation = 2;
          compilelibrary(this.ruleForm).then((res) => {
            this.$modal.msgSuccess("编辑成功");
            this.confirmillness();
            this.$router.go(-1);
          });
        } else {
          this.ruleForm.isoperation = 1;
          compilelibrary(this.ruleForm).then((res) => {
            this.$modal.msgSuccess("新增成功");
            this.confirmillness(res.data);
            this.$router.go(-1);
          });
        }
      });
    },
    // ä¿å­˜ç–¾ç—…
    confirmillness(guid) {
      this.illnesslist.forEach((item, index) => {
        if (guid) {
          item.outid = guid;
        } else {
          console.log(this.ruleForm);
          item.outid = this.ruleForm.id;
        }
        item.icd10name = item.icdname;
        item.icd10code = item.icdcode;
        item.type = 6;
        if (!item.id) {
          addtargetillness(item).then((res) => {});
        }
      });
      this.illnessVisible = false;
      this.$modal.msgSuccess("编辑成功");
    },
    getFileNameFromPath(path) {
      const parts = path.split("/");
@@ -815,59 +809,16 @@
    },
    // ç–¾ç—…-----------------------
    illnessUpdate() {
      this.illnesslistapi = [];
      const illnessqueryParams = {
        pageNum: 1,
        pageSize: 100,
      };
      getillnesslist(illnessqueryParams).then((response) => {
        this.optionsillness = response.rows;
      });
      getillness({ outid: this.$route.query.id, type: 6 }).then((res) => {
        this.illnesslist = res.rows;
      });
    },
    handleCloseillness(tag) {
      this.illnesslist.splice(this.illnesslist.indexOf(tag), 1);
      if (tag.id) {
        this.illnesslistapi.push(tag.id);
      if (this.id) {
        getillness({ outid: this.$route.query.id, type: 6 }).then((res) => {
          this.illnesslist = res.rows;
          this.illnesslist.forEach((item) => {
            item.icdname = item.icd10name;
          });
        });
      }
    },
    remoteMethod(value) {
      const illnessqueryParams = {
        pageNum: 1,
        pageSize: 100,
        icdname: value,
      };
      this.loading = true;
      setTimeout(() => {
        this.loading = false;
        getillnesslist(illnessqueryParams).then((response) => {
          this.optionsillness = response.rows;
        });
      }, 200);
    },
    illnessConfirm(item) {
      let opeavalue = {};
      let tagname = this.inputValue;
      illnesslistget(item).then((res) => {
        opeavalue = res.data;
        opeavalue.outid = this.id;
        opeavalue.type = 6;
        opeavalue.icd10id = opeavalue.icdid;
        opeavalue.icd10name = opeavalue.icdname;
        opeavalue.icd10code = opeavalue.icdcode;
        if (tagname) {
          this.illnesslist.push(opeavalue);
        }
      });
      this.illnessVisible = false;
      this.inputValue = "";
    },
    illnessshowInput() {
      this.illnessVisible = true;
    },
    // --------------------------
    // é¢„览模版
src/views/knowledge/questionnaire/compilequer/index.vue
@@ -143,45 +143,9 @@
          </el-row>
          <el-row>
            <el-form-item label="适用疾病" prop="region">
              <div class="xinz-inf">
                <el-tag
                  :key="item.icd10name"
                  type="warning"
                  v-for="item in illnesslist"
                  closable
                  :disable-transitions="false"
                  @close="handleCloseillness(item)"
                >
                  {{ item.icd10name }}
                </el-tag>
                <el-select
                  v-model="inputValueillness"
                  v-if="inputVisibleillness"
                  @change="illnessConfirm"
                  :remote-method="remoteMethod"
                  filterable
                  remote
                  allow-create
                  default-first-option
                  placeholder="请选择/查询"
                  :loading="loading"
                >
                  <el-option
                    v-for="item in optionsillness"
                    :key="item.icdid"
                    :label="item.icdname"
                    :value="item.icdid"
                  >
                  </el-option>
                </el-select>
                <el-button
                  v-else
                  class="button-new-tag"
                  size="small"
                  @click="inputVisibleillness = true"
                  >+ æ–°å¢žç–¾ç—…</el-button
                >
              </div>
              <el-button type="warning" @click="$refs.child.handleAddpatient()"
                >添加疾病</el-button
              >
            </el-form-item>
          </el-row>
          <el-row :gutter="20">
@@ -617,7 +581,7 @@
        <el-button type="primary" @click="laststep()">上一步</el-button>
      </div>
    </div>
    <!-- é¢„览模版弹窗 -->
    <!-- æ·»åŠ é¢˜ç›®å¼¹çª— -->
    <el-drawer
      title="添加题目"
      :visible.sync="drawer"
@@ -703,6 +667,14 @@
        />
      </div>
    </el-drawer>
    <!-- æ·»åŠ é€‚ç”¨ç–¾ç—…çª—å£ -->
    <Optional-Form
      ref="child"
      :dialogVisiblepatient="dialogVisiblepatient"
      :overallCase="illnesslist"
      @addoption="dialogVisiblepatient = false"
      @kkoption="dialogVisiblepatient = true"
    />
  </div>
</template>
@@ -714,7 +686,7 @@
  getQtemplateclassify,
  delQtemplateclassify,
  addQtemplateclassify,
  getQtemplatelist,
  getQtemplateobj,
  compileQtemplate,
  Qtemplateinfo,
  compileissue,
@@ -728,9 +700,14 @@
  illnesslistget,
  getillness,
} from "@/api/AiCentre/index";
import OptionalForm from "@/components/OptionalForm"; //正则组件
import { getToken } from "@/utils/auth";
export default {
  name: "Qcompilequer",
  components: { OptionalForm },
  data() {
    return {
      headers: {
@@ -747,6 +724,7 @@
      radioas: "", //填空题答案
      dynamicTags: [],
      inputVisible: false,
      dialogVisiblepatient: false, //适用疾病窗口
      inputValue: "",
      topicobj: {},
      // æ€»æ¡æ•°
@@ -891,31 +869,27 @@
    getissueinfo() {
      this.id = this.$route.query.id;
      if (this.id) {
        getQtemplatelist({ svyid: this.id }).then((res) => {
        getQtemplateobj({ svyid: this.id }).then((res) => {
          this.ruleForm = res.rows[0];
          this.dynamicTags = this.ruleForm.svyLibTemplateTagList.map(
            this.processElement
          );
          this.tempDetpRelevanceslist = JSON.parse(this.ruleForm.deptNames);
          this.ruleForm.suitway = this.ruleForm.suitway.split(",");
          console.log(this.tempDetpRelevanceslist);
        });
        getillness({ outid: this.id, type: 5 }).then((res) => {
          this.illnesslist = res.rows;
          this.illnesslist.forEach((item) => {
            item.icdname = item.icd10name;
          });
        });
      }
      getillnesslist({
        pageNum: 1,
        pageSize: 100,
      }).then((response) => {
        this.optionsillness = response.rows;
      });
      listDept(this.queryParams).then((response) => {
        this.deptList = this.handleTree(response.data, "deptId");
      });
      // åˆ†ç±»
      getQtemplateclassify({}).then((res) => {
        // this.optionsclass = this.flattenArray(res.rows);
        this.optionsclass = res.rows;
      });
    },
@@ -1160,60 +1134,22 @@
    showInput() {
      this.inputVisible = true;
    },
    // ç–¾ç—…-----------------------
    handleCloseillness(tag) {
      this.illnesslist.splice(this.illnesslist.indexOf(tag), 1);
      if (tag.id) {
        this.illnesslistapi.push(tag.id);
      }
    },
    remoteMethod(value) {
      console.log(value);
      const illnessqueryParams = {
        pageNum: 1,
        pageSize: 100,
        icdname: value,
      };
      this.loading = true;
      setTimeout(() => {
        this.loading = false;
        getillnesslist(illnessqueryParams).then((response) => {
          this.optionsillness = response.rows;
        });
      }, 200);
    },
    illnessConfirm(item) {
      let opeavalue = {};
      let tagname = this.inputValueillness;
      illnesslistget(item).then((res) => {
        opeavalue = res.data;
        opeavalue.outid = this.id;
        opeavalue.type = 5;
        opeavalue.icd10id = opeavalue.icdid;
        opeavalue.icd10name = opeavalue.icdname;
        opeavalue.icd10code = opeavalue.icdcode;
        if (tagname) {
          this.illnesslist.push(opeavalue);
        }
      });
      console.log(this.illnesslist);
      this.inputVisibleillness = false;
      this.inputValueillness = "";
    },
    // ä¿å­˜
    // ä¿å­˜ç–¾ç—…
    confirmillness(guid) {
      this.illnesslist.forEach((item, index) => {
        if (guid) {
          item.outid = guid;
        } else {
          console.log(this.ruleForm);
          item.outid = this.ruleForm.svyid;
        }
        item.icd10name = item.icdname;
        item.icd10code = item.icdcode;
        item.type = 5;
        if (!item.id) {
          addtargetillness(item).then((res) => {});
        }
      });
      if (this.illnesslistapi.length) {
        deltargetillness(this.illnesslistapi.join(",")).then((res) => {});
      }
      this.illnessVisible = false;
      this.$modal.msgSuccess("编辑成功");
    },
src/views/knowledge/questionnaire/index.vue
@@ -778,7 +778,7 @@
      return data.name.indexOf(value) !== -1;
    },
    handleNodeClick(data) {
      this.queryParams.assortid = data.id;
      this.queryParams.categoryid = data.id;
      this.getList();
    },
src/views/repositoryai/templateku/configurat/index.vue
@@ -214,45 +214,9 @@
          </el-form-item>
          <el-form-item label="适用疾病" prop="region">
            <div class="xinz-inf">
              <el-tag
                :key="item.icd10name"
                type="warning"
                v-for="item in illnesslist"
                closable
                :disable-transitions="false"
                @close="handleCloseillness(item)"
              >
                {{ item.icd10name }}
              </el-tag>
              <el-select
                v-model="inputValueillness"
                v-if="inputVisibleillness"
                @change="illnessConfirm"
                :remote-method="remoteMethod"
                filterable
                remote
                allow-create
                default-first-option
                placeholder="请选择/查询"
                :loading="loading"
              >
                <el-option
                  v-for="item in optionsillness"
                  :key="item.icdid"
                  :label="item.icdname"
                  :value="item.icdid"
                >
                </el-option>
              </el-select>
              <el-button
                v-else
                class="button-new-tag"
                size="small"
                @click="inputVisibleillness = true"
                >+ æ–°å¢žç–¾ç—…</el-button
              >
            </div>
            <el-button type="warning" @click="$refs.child.handleAddpatient()"
              >添加疾病</el-button
            >
          </el-form-item>
          <el-form-item label="适用院区" prop="region">
            <el-select
@@ -848,6 +812,14 @@
        />
      </div>
    </el-drawer>
    <!-- æ·»åŠ é€‚ç”¨ç–¾ç—…çª—å£ -->
    <Optional-Form
      ref="child"
      :dialogVisiblepatient="dialogVisiblepatient"
      :overallCase="illnesslist"
      @addoption="dialogVisiblepatient = false"
      @kkoption="dialogVisiblepatient = true"
    />
  </div>
</template>
@@ -874,10 +846,11 @@
  getillness,
  getgenerallist,
} from "@/api/AiCentre/index";
import OptionalForm from "@/components/OptionalForm"; //正则组件
export default {
  name: "SpeechTemplates",
  components: { Regular },
  components: { Regular, OptionalForm },
  data() {
    return {
      Editprogress: 1, //编辑进度
@@ -889,6 +862,7 @@
      taskform: null, //任务信息
      labelInfovalue: [], //标签临时存储
      deptNamesvalue: [], //科室临时存储
      dialogVisiblepatient: false, //适用疾病窗口
      dynamicTags: [],
      indexAssortlist: [],
      inputValue: "",
@@ -1040,18 +1014,14 @@
            console.log(this.ruleForm.suitway);
          }
        });
      }
      getillnesslist({
        pageNum: 1,
        pageSize: 100,
      }).then((response) => {
        this.optionsillness = response.rows;
      });
      if (this.id) {
        getillness({ outid: this.id, type: 3 }).then((res) => {
          this.illnesslist = res.rows;
          this.illnesslist.forEach((item) => {
            item.icdname = item.icd10name;
          });
        });
      }
      listDept(this.queryParams).then((response) => {
        this.deptList = this.handleTree(response.data, "deptId");
      });
@@ -1120,14 +1090,17 @@
      this.illnesslist.forEach((item, index) => {
        if (guid) {
          item.outid = guid;
        } else {
          console.log(this.ruleForm);
          item.outid = this.ruleForm.id;
        }
        item.icd10name = item.icdname;
        item.icd10code = item.icdcode;
        item.type = 3;
        if (!item.id) {
          addtargetillness(item).then((res) => {});
        }
      });
      if (this.illnesslistapi.length) {
        deltargetillness(this.illnesslistapi.join(",")).then((res) => {});
      }
      this.illnessVisible = false;
      this.$modal.msgSuccess("编辑成功");
    },
@@ -1390,47 +1363,6 @@
      this.$refs[formName].resetFields();
    },
    // ç–¾ç—…-----------------------
    handleCloseillness(tag) {
      this.illnesslist.splice(this.illnesslist.indexOf(tag), 1);
      if (tag.id) {
        this.illnesslistapi.push(tag.id);
      }
    },
    remoteMethod(value) {
      console.log(value);
      const illnessqueryParams = {
        pageNum: 1,
        pageSize: 100,
        icdname: value,
      };
      this.loading = true;
      setTimeout(() => {
        this.loading = false;
        getillnesslist(illnessqueryParams).then((response) => {
          this.optionsillness = response.rows;
        });
      }, 200);
    },
    illnessConfirm(item) {
      let opeavalue = {};
      let tagname = this.inputValueillness;
      illnesslistget(item).then((res) => {
        opeavalue = res.data;
        opeavalue.outid = this.id;
        opeavalue.type = 3;
        opeavalue.icd10id = opeavalue.icdid;
        opeavalue.icd10name = opeavalue.icdname;
        opeavalue.icd10code = opeavalue.icdcode;
        if (tagname) {
          this.illnesslist.push(opeavalue);
        }
      });
      console.log(this.illnesslist);
      this.inputVisibleillness = false;
      this.inputValueillness = "";
    },
    // é¢„览---------------
    preview() {
      console.log(this.ruleForm);
src/views/repositoryai/verbaltrick/particulars/index.vue
@@ -455,6 +455,7 @@
                @syioption="syioption"
                @xiayioption="xiayioption"
                :intent="false"
                :Verbalproblem="false"
              />
            </el-card>
            <el-row :gutter="20">