WXL
2025-02-20 321891f4870d60b637b66755cd24053c029cf91e
src/views/knowledge/questionnaire/compilequer/index.vue
@@ -261,9 +261,9 @@
                >
                  <el-option
                    class="ruleFormaa"
                    v-for="item in belongDepts"
                    v-for="item in flatArray"
                    :key="item.deptCode"
                    :label="item.deptName"
                    :label="item.label"
                    :value="item.deptCode"
                  >
                  </el-option>
@@ -284,10 +284,10 @@
                >
                  <el-option
                    class="ruleFormaa"
                    v-for="item in belongWards"
                    :key="item.districtCode"
                    :label="item.districtName"
                    :value="item.districtCode"
                    v-for="item in flatArray"
                    :key="item.deptCode"
                    :label="item.label"
                    :value="item.deptCode"
                  >
                  </el-option>
                </el-select> </el-form-item
@@ -543,7 +543,7 @@
                  <el-col :span="12">
                    <el-form-item
                      label="问题分值"
                      v-if="topicobj.scoretype == 1"
                      v-if="ruleForm.scoreType == 1"
                    >
                      <el-input
                        v-model="topicobj.score"
@@ -605,7 +605,7 @@
                    v-for="item in topicobj.svyLibTemplateTargetoptions"
                  >
                    <el-row :gutter="5">
                      <el-col :span="16"
                      <el-col :span="12"
                        ><el-form-item label="选项名称">
                          <el-input
                            type="text"
@@ -615,9 +615,9 @@
                          >
                          </el-input> </el-form-item
                      ></el-col>
                      <el-col :span="8">
                      <el-col :span="12">
                        <el-form-item
                          v-if="topicobj.scoretype == 1"
                          v-if="ruleForm.scoreType == 1"
                          label="选项分值"
                        >
                          <el-input
@@ -630,7 +630,7 @@
                          </el-input>
                        </el-form-item>
                        <el-form-item
                          v-else-if="topicobj.scoretype == 2"
                          v-else-if="ruleForm.scoreType == 2"
                          label="ABC等级"
                        >
                          <el-radio-group v-model="item.score">
@@ -640,7 +640,7 @@
                          </el-radio-group>
                        </el-form-item>
                        <el-form-item
                          v-else-if="topicobj.scoretype == 3"
                          v-else-if="ruleForm.scoreType == 3"
                          label="优良等级"
                        >
                          <el-radio-group v-model="item.score">
@@ -981,7 +981,7 @@
                    <el-col :span="12">
                      <el-form-item label="评价类型">
                        <el-select
                          v-model="indexform.scoretype"
                          v-model="indexform.scoreType"
                          placeholder="请选择分类"
                        >
                          <el-option
@@ -1130,7 +1130,7 @@
                      ></el-col>
                      <el-col :span="11">
                        <el-form-item
                          v-if="indexform.scoretype == 1"
                          v-if="indexform.scoreType == 1"
                          label="分值"
                        >
                          <el-input
@@ -1142,7 +1142,7 @@
                          </el-input>
                        </el-form-item>
                        <el-form-item
                          v-else-if="indexform.scoretype == 2"
                          v-else-if="indexform.scoreType == 2"
                          label="ABC等级"
                        >
                          <el-radio-group v-model="item.score">
@@ -1152,7 +1152,7 @@
                          </el-radio-group>
                        </el-form-item>
                        <el-form-item
                          v-else-if="indexform.scoretype == 3"
                          v-else-if="indexform.scoreType == 3"
                          label="优良等级"
                        >
                          <el-radio-group v-model="item.score">
@@ -1165,7 +1165,7 @@
                      <el-col
                        :span="2"
                        :offsset="indexform.scoretype == 4 ? 11 : 0"
                        :offsset="indexform.scoreType == 4 ? 11 : 0"
                      >
                        <el-button
                          type="danger"
@@ -1262,6 +1262,7 @@
} from "@/api/AiCentre/index";
import OptionalForm from "@/components/OptionalForm"; //正则组件
import { getToken } from "@/utils/auth";
import { deptTreeSelect } from "@/api/system/user";
export default {
  name: "Questionnaireinfo",
@@ -1382,6 +1383,7 @@
      illnessVisible: false, //指标疾病弹框
      Operateit: true,
      deptOptions: [],
      flatArray: [],
      optionsillness: [],
      delScriptVOList: [],
      illnesslistapi: [],
@@ -1394,7 +1396,6 @@
      valuetype: [],
      qremark: [],
      hosplist: [],
      deptlist: [],
      usable: [
        { value: "0", label: "可用" },
        { value: "1", label: "停用" },
@@ -1445,6 +1446,7 @@
  created() {
    this.getissueinfo();
    this.gettabList();
    this.getDeptTree();
    this.mode = store.getters.Askmode;
    this.languagelist = store.getters.languagelist;
    this.usable = store.getters.usable;
@@ -1536,21 +1538,49 @@
      });
      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);
            }
          });
        }
      if (this.queryParamsdept.tempid) {
        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);
              }
            });
          }
        });
      }
    },
    // 获取科室树
    getDeptTree() {
      // 科室列表
      deptTreeSelect().then((response) => {
        this.deptOptions = response.data;
        this.flatArray = this.flattenArray(response.data);
      });
    },
    flattenArray(multiArray) {
      let result = [];
      // 递归函数,用于将多级数组转换为一维数组,只包含最底层的元素
      function flatten(element) {
        // 如果当前元素有子元素,继续递归
        if (element.children && element.children.length > 0) {
          element.children.forEach((child) => flatten(child));
        } else {
          // 克隆元素以避免修改原始数据
          let item = JSON.parse(JSON.stringify(element));
          result.push(item); // 将最底层的元素添加到结果数组
        }
      }
      // 从顶层元素开始递归
      multiArray.forEach((element) => flatten(element));
      return result; // 返回只包含最底层元素的一维数组
    },
    submitForm(formName) {
      this.$modal.loading("正在修正保存数据,请稍候...");
@@ -1561,23 +1591,24 @@
        this.ruleForm.categoryid = -1;
      }
      // 题目保存处理
        //   提交
        this.ruleForm.svyTemplateLibScripts.forEach((res) => {
      //   提交
      this.ruleForm.svyTemplateLibScripts.forEach((res) => {
        if (!res.isoperation) {
          res.isoperation = 2;
        }
        res.ivrLibaScriptTargetoptionList =
          res.svyLibTemplateTargetoptions.map((item) => {
        res.ivrLibaScriptTargetoptionList = res.svyLibTemplateTargetoptions.map(
          (item) => {
            if (!item.isoperation) {
              item.isoperation = 2;
              item.templateID = this.ruleForm.id;
            }
            return item;
          });
          }
        );
      });
      this.delScriptVOList.forEach((item)=>{
          this.ruleForm.svyTemplateLibScripts.push(item)
        })
      this.delScriptVOList.forEach((item) => {
        this.ruleForm.svyTemplateLibScripts.push(item);
      });
      if (this.id) {
        this.ruleForm.isoperation = 2;
        this.ruleForm.tempDetpRelevances = null;
@@ -1644,22 +1675,23 @@
      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) {
          if (res.code == 200) {
            this.$modal.msgSuccess("删除科室成功");
          }
        });
      }
    },
    // 删除删除触发
    // 删除病区触发
    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) {
          if (res.code == 200) {
            this.$modal.msgSuccess("删除病区成功");
          }
        });
      }
@@ -1694,7 +1726,7 @@
    // 获取问题列表
    getaddtopiclist() {
      this.drawer = true;
      this.queryParams.scoretype = this.ruleForm.scoreType;
      this.queryParams.scoreType = this.ruleForm.scoreType;
      getissuelist(this.queryParams).then((res) => {
        this.loading = false;
        this.userList = res.rows;
@@ -1883,12 +1915,12 @@
    },
    // 保存科室/病区
    putbelongDepts(id) {
      this.tempDetpRelevanceslistform.forEach(item=>{
        if (!item.tempid) item.tempid=id;
      })
      this.tempbelongWardsform.forEach(item=>{
        if (!item.tempid) item.tempid=id;
      })
      this.tempDetpRelevanceslistform.forEach((item) => {
        if (!item.tempid) item.tempid = id;
      });
      this.tempbelongWardsform.forEach((item) => {
        if (!item.tempid) item.tempid = id;
      });
      if (this.tempDetpRelevanceslistform.length > 0) {
        depthospgetson(this.tempDetpRelevanceslistform).then((res) => {
          if (res.code == 200) {