WXL
2024-10-12 2fe94c2414aa1b8840e4dbf9a8e19121a8a867b6
src/views/repositoryai/templateku/configurat/index.vue
@@ -253,40 +253,52 @@
              </el-option>
            </el-select>
          </el-form-item>
          <el-form-item label="适用科室" prop="region">
            <el-cascader
              style="width: 500px"
              v-model="tempDetpRelevanceslist"
              :options="deptList"
              :props="props"
              :show-all-levels="false"
              clearable
            >
              <template slot-scope="{ node, data }">
                <span>{{ data.deptName }}</span>
                <span v-if="!node.isLeaf"> ({{ data.children.length }}) </span>
              </template>
            </el-cascader>
          </el-form-item>
          <el-form-item label="通用库" prop="region">
            <el-select
              style="width: 500px"
              v-model="ruleForm.submoduleID"
              size="medium"
              multiple
              filterable
              placeholder="请选择库(多选)"
            >
              <el-option
                class="ruleFormaa"
                v-for="item in generallist"
                :key="item.id"
                :label="item.extName"
                :value="item.id"
              >
              </el-option>
            </el-select>
          </el-form-item>
          <el-row>
            <el-col :span="20"
              ><el-form-item label="适用科室" prop="region">
                <el-select
                  v-model="tempDetpRelevanceslist"
                  @remove-tag="removetag"
                  style="width: 55vw"
                  size="medium"
                  multiple
                  filterable
                  placeholder="请选择科室"
                >
                  <el-option
                    class="ruleFormaa"
                    v-for="item in belongDepts"
                    :key="item.deptCode"
                    :label="item.deptName"
                    :value="item.deptCode"
                  >
                  </el-option>
                </el-select> </el-form-item
            ></el-col>
          </el-row>
          <el-row>
            <el-col :span="20"
              ><el-form-item label="适用病区" prop="region">
                <el-select
                  v-model="tempbelongWards"
                  @remove-tag="removehpsp"
                  style="width: 55vw"
                  size="medium"
                  multiple
                  filterable
                  placeholder="请选择科室"
                >
                  <el-option
                    class="ruleFormaa"
                    v-for="item in belongWards"
                    :key="item.districtCode"
                    :label="item.districtName"
                    :value="item.districtCode"
                  >
                  </el-option>
                </el-select> </el-form-item
            ></el-col>
          </el-row>
          <el-row :gutter="20">
            <el-col :span="12">
              <el-form-item label="随访前处理" prop="name">
@@ -1366,6 +1378,7 @@
  getFollowuplist,
  deltargetillness,
  getillnesslist,
  depthospgetsonlist ,
  illnesslistget,
  getillness,
  getgenerallist,
@@ -1417,6 +1430,10 @@
      optionstag: [],
      prefollowuplist: [],
      postfollowuplist: [],
      tempDetpRelevanceslist: [], //科室数据
      tempDetpRelevanceslistform: [], //科室数据
      tempbelongWards: [], //病区数据
      tempbelongWardsform: [], //病区数据
      generallist: [
        { value: "1", label: "随访通用库一" },
        { value: "2", label: "随访二库" },
@@ -1477,6 +1494,8 @@
      addvalue: "添加题目",
      // 题目表格数据
      userList: [],
      belongWards: [],
      belongDepts: [],
      // 查询参数
      queryParams: {
        pageNum: 1,
@@ -1490,11 +1509,19 @@
    };
  },
  activated() {
    console.log(this.id);
    console.log(this.$route.query.id);
    if (this.id != this.$route.query.id) {
      console.log(1);
      this.RoutingDataProcessing();
      this.gettabList();
      this.getvFollowup();
      this.auxiliary();
    }else{
      this.tempDetpRelevanceslistform = [];
      this.tempbelongWardsform = [];
    }
  },
@@ -1511,6 +1538,8 @@
    this.languagelist = store.getters.languagelist;
    this.courtyardlist = store.getters.courtyardlist;
    this.precedencetype = store.getters.precedencetype;
    this.belongWards = store.getters.belongWards;
    this.belongDepts = store.getters.belongDepts;
  },
  mounted() {},
  computed: {
@@ -1560,16 +1589,13 @@
            this.ruleForm.submoduleID = this.ruleForm.submoduleID.map((res) => {
              return Number(res);
            });
            console.log(
              this.ruleForm.submoduleID,
              "this.ruleForm.submoduleID取"
            );
            this.dynamicTags = this.ruleForm.ivrLibaTemplateTagList;
            this.dynamicTags = this.ruleForm.ivrLibaTemplateTagList.map(
              this.processElement
            );
            console.log(this.ruleForm.suitway);
            this.sortFn();
          }
        });
        getillness({ outid: this.id, type: 3 }).then((res) => {
@@ -1578,6 +1604,19 @@
            item.icdname = item.icd10name;
          });
        });
      } else {
        this.ruleForm = {
          templateName: "",
          ivrLibaTemplateTagList: [],
          ivrLibaTemplateScriptVOList: [],
          tempDetpRelevances: [],
        };
        this.deptOptions = [];
        this.optionsillness = [];
        this.illnesslistapi = [];
        this.illnesslist = [];
        this.dynamicTags = [];
        this.tempDetpRelevanceslist = [];
      }
      listDept(this.queryParams).then((response) => {
@@ -1589,8 +1628,21 @@
      // 分类
      getFollowupclassify({}).then((res) => {
        this.indexAssortlist = res.rows;
        if (this.$route.query.assortid) {
          this.ruleForm.assortid = Number(this.$route.query.assortid);
      });
      this.tempDetpRelevanceslist = [];
      this.tempbelongWards = [];
      depthospgetsonlist(this.queryParamsdept).then((res) => {
        if (res.code == 200) {
          let arr = res.rows;
          arr.forEach((item) => {
            if (item.deptType == 1) {
              this.deptlist.push(item);
              this.tempDetpRelevanceslist.push(item.deptCode);
            } else if (item.deptType == 2) {
              this.hosplist.push(item);
              this.tempbelongWards.push(item.deptCode);
            }
          });
        }
      });
      // 科室
@@ -1630,9 +1682,9 @@
        this.ruleForm.assortid = -1;
      }
      this.ruleForm.labelInfo = JSON.stringify(this.dynamicTags);
      this.ruleForm.suitway = this.ruleForm.suitway.join(",");
      this.ruleForm.campus = this.ruleForm.campus.join(",");
      this.ruleForm.submoduleID = this.ruleForm.submoduleID.join(",");
      if (Array.isArray(this.ruleForm.suitway)) this.ruleForm.suitway = this.ruleForm.suitway.join(",");
      if (Array.isArray(this.ruleForm.campus))this.ruleForm.campus = this.ruleForm.campus.join(",");
      if (Array.isArray(this.ruleForm.submoduleID))this.ruleForm.submoduleID = this.ruleForm.submoduleID.join(",");
      //   提交
      this.ruleForm.ivrLibaTemplateScriptVOList.forEach((res) => {
@@ -1684,38 +1736,54 @@
    // 科室处理
    Departmenttreatment() {
      this.$modal.loading("正在修正保存数据,请稍候...");
      this.ruleForm.deptNames = JSON.stringify(this.tempDetpRelevanceslist);
      this.ruleForm.ivrLibaTemplateScriptVOList =
        this.ruleForm.ivrLibaTemplateScriptVOList.concat(this.delScriptVOList);
      const result = this.tempDetpRelevanceslist.map(
        (subArr) => subArr[subArr.length - 1]
      );
      // id数组查数组对象
      result.forEach((item) => {
        const condition = this.ruleForm.tempDetpRelevances.some(
          (obj) => obj.deptId === item
        );
        if (!condition) {
          listDept({ deptId: item }).then((res) => {
            res.data[0].type = 2;
            this.ruleForm.tempDetpRelevances.push(res.data[0]);
      this.tempDetpRelevanceslist.forEach((item) => {
        console.log(item);
        let result = this.deptlist.some((obj) => obj.deptCode == item);
        console.log(this.result, "result");
        if (!result) {
          this.tempDetpRelevanceslistform.push({
            deptType: 1,
            longTemp: this.ruleForm.longTemp,
            deptCode: item,
            tempid: this.id,
            type: 1,
          });
        }
      });
      console.log(this.ruleForm.tempDetpRelevances);
      // 数组对象查id数组
      this.ruleForm.tempDetpRelevances.forEach((item) => {
        const condition = result.some((obj) => obj === item.deptId);
        if (!condition) {
          const index = this.ruleForm.tempDetpRelevances.indexOf(item);
          this.ruleForm.tempDetpRelevances[index].delFlag = 1;
      this.tempbelongWards.forEach((item) => {
        let result = this.hosplist.some((obj) => obj.deptCode == item);
        if (!result) {
          this.tempbelongWardsform.push({
            deptType: 2,
            longTemp: this.ruleForm.longTemp,
            deptCode: item,
            tempid: this.id,
            type: 1,
          });
        }
      });
      console.log(this.ruleForm.tempDetpRelevances);
      setTimeout(() => {
        this.submitForm();
      }, 1000);
      // this.submitForm();
    },
     // 保存科室/病区
     putbelongDepts(id) {
      if (this.tempDetpRelevanceslistform.length > 0) {
        depthospgetson(this.tempDetpRelevanceslistform).then((res) => {
          if (res.code == 200) {
            this.$modal.msgSuccess("科室新增成功");
          }
        });
      }
      if (this.tempbelongWardsform.length > 0) {
        depthospgetson(this.tempbelongWardsform).then((res) => {
          if (res.code == 200) {
            this.$modal.msgSuccess("院区新增成功");
          }
        });
      }
    },
    // 下一步
    nextstep() {
@@ -1860,7 +1928,6 @@
      });
    },
    addtopic(row) {
      console.log(row);
      if (
        this.ruleForm.ivrLibaTemplateScriptVOList.some(
          (obj) => obj.scriptTopic == row.scriptTopic
@@ -1878,6 +1945,7 @@
        });
        this.ruleForm.ivrLibaTemplateScriptVOList.push(res.data);
        this.sortFn();
        this.$forceUpdate();
        this.$modal.msgSuccess("添加成功");
      });
    },
@@ -1943,7 +2011,8 @@
    sortFn() {
      this.ruleForm.ivrLibaTemplateScriptVOList.forEach((item, index) => {
        item.sort = Number(index) + 1;
        console.log(1);
        console.log(this.ruleForm.ivrLibaTemplateScriptVOList.length);
        console.log(item.sort);
        if (item.sort == this.ruleForm.ivrLibaTemplateScriptVOList.length) {
          item.nextScriptno = 0;
@@ -1987,7 +2056,31 @@
    resetForm(formName) {
      this.$refs[formName].resetFields();
    },
  // 科室删除触发
  removetag(row) {
      let result = this.deptlist
        .filter((item) => item.deptCode == row)
        .map((item) => item.id);
      console.log(result.length);
      if (result.length) {
        depthospgetsondel(result).then((res) => {
          if (res.code) {
          }
        });
      }
    },
    // 删除删除触发
    removehpsp(row) {
      let result = this.hosplist
        .filter((item) => item.deptCode == row)
        .map((item) => item.id);
        if (result.length) {
          depthospgetsondel(result).then((res) => {
            if (res.code) {
            }
          });
        }
    },
    // 预览---------------
    preview() {
      console.log(this.ruleForm);