WXL
2024-06-27 76c30727c77065c808b1c0fb3146080e423e5fe6
src/views/repositoryai/templateku/configurat/index.vue
@@ -307,15 +307,19 @@
            </el-select>
          </el-form-item>
          <el-row :gutter="20">
            <el-col :span="8">
            <el-col :span="12">
              <el-form-item label="随访前处理" prop="name">
                <el-input
                  type="textarea"
                  show-word-limit
                  v-model="ruleForm.revisitBefore"
                ></el-input></el-form-item
            ></el-col>
            <el-col :span="9">
            <el-col :span="12">
              <el-form-item label="随访后处理" prop="region">
                <el-input
                  type="textarea"
                  show-word-limit
                  v-model="ruleForm.revisitAfter"
                ></el-input> </el-form-item
            ></el-col>
@@ -347,8 +351,10 @@
              >下一步</el-button
            >
            <el-button type="info" @click="closeFm('ruleForm')">关闭</el-button>
            <el-button type="success" @click="Departmenttreatment('ruleForm')"
              >保存随访模版基础信息</el-button
            <el-button
              type="success"
              @click="Departmenttreatment('ruleForm')"
              >{{ task ? "保存到任务模版" : "保存随访模版基础信息" }}</el-button
            >
          </el-form-item>
        </el-form>
@@ -449,7 +455,6 @@
                  <el-input
                    v-model="topicobj.questiontitle"
                    placeholder="请从左侧列表选择"
                    :disabled="true"
                  ></el-input>
                </el-form-item>
                <el-form-item label="问题节点">
@@ -478,7 +483,7 @@
                  <el-col :span="12"
                    ><el-form-item label="取值类型">
                      <el-select
                        v-model="topicobj.isEnable"
                        v-model="topicobj.valueType"
                        placeholder="请选择"
                        :disabled="true"
                      >
@@ -492,12 +497,15 @@
                      </el-select> </el-form-item
                  ></el-col>
                </el-row>
                <div class="topicxq" v-if="topicobj.isEnable == 2 || topicobj.isEnable == 3">
                <div
                  class="topicxq"
                  v-if="topicobj.valueType == 2 || topicobj.valueType == 3"
                >
                  <el-row>
                    <el-col :span="20">
                      <el-form-item label="收集内容">
                        <el-input
                        style="width: 400px;"
                          style="width: 400px"
                          type="textarea"
                          v-model="topicobj.value"
                          placeholder="问题收集内容"
@@ -527,18 +535,19 @@
                  <!-- 无匹配类型 -->
                  <div class="topicxq">
                    <el-row :gutter="10">
                      <el-col :span="12"
                      <el-col :span="20"
                        ><el-form-item label="无匹配话术">
                          <el-input
                            type="text"
                            type="textarea"
                            style="width: 400px"
                            placeholder="请输入"
                            v-model="topicobj.nomatchtext"
                            v-model="topicobj.noMatchText"
                            show-word-limit
                          >
                          </el-input> </el-form-item
                      ></el-col>
                    </el-row>
                    <el-row :gutter="10">
                    <!-- <el-row :gutter="10">
                      <el-col :span="12"
                        ><el-form-item label="处理">
                          <el-input
@@ -550,7 +559,7 @@
                          >
                          </el-input> </el-form-item
                      ></el-col>
                    </el-row>
                    </el-row> -->
                    <el-row :gutter="10">
                      <el-col :span="16">
@@ -574,18 +583,19 @@
                  </div>
                  <div class="topicxq">
                    <el-row :gutter="10">
                      <el-col :span="12"
                      <el-col :span="20"
                        ><el-form-item label="听不清话术">
                          <el-input
                            type="text"
                            style="width: 400px"
                            type="textarea"
                            placeholder="请输入"
                            v-model="topicobj.noclearlytext"
                            v-model="topicobj.noClearlyText"
                            show-word-limit
                          >
                          </el-input> </el-form-item
                      ></el-col>
                    </el-row>
                    <el-row :gutter="10">
                    <!-- <el-row :gutter="10">
                      <el-col :span="12"
                        ><el-form-item label="处理">
                          <el-input
@@ -597,7 +607,7 @@
                          >
                          </el-input> </el-form-item
                      ></el-col>
                    </el-row>
                    </el-row> -->
                    <el-row :gutter="10">
                      <el-col :span="16">
@@ -621,18 +631,19 @@
                  </div>
                  <div class="topicxq">
                    <el-row :gutter="10">
                      <el-col :span="12"
                      <el-col :span="20"
                        ><el-form-item label="静默话术">
                          <el-input
                            type="text"
                            type="textarea"
                            style="width: 400px"
                            placeholder="请输入"
                            v-model="topicobj.sliencetext"
                            v-model="topicobj.slienceText"
                            show-word-limit
                          >
                          </el-input> </el-form-item
                      ></el-col>
                    </el-row>
                    <el-row :gutter="10">
                    <!-- <el-row :gutter="10">
                      <el-col :span="12"
                        ><el-form-item label="处理">
                          <el-input
@@ -644,7 +655,7 @@
                          >
                          </el-input> </el-form-item
                      ></el-col>
                    </el-row>
                    </el-row> -->
                    <el-row :gutter="10">
                      <el-col :span="16">
@@ -672,9 +683,9 @@
          </div>
        </div>
        <el-button type="success" @click="Departmenttreatment('ruleForm')"
          >保存题目数据</el-button
        >
        <el-button type="success" @click="Departmenttreatment('ruleForm')">{{
          task ? "保存到任务模版" : "保存题目数据"
        }}</el-button>
        <el-button type="primary" plain @click="laststep()">上一步</el-button>
        <el-button type="success" plain @click="preview('ruleForm')"
          >查看预览</el-button
@@ -707,7 +718,7 @@
            </div>
          </div>
          <!-- 多选 -->
          <div
          <!-- <div
            class="topic-dev"
            v-for="(item, index) in valssu"
            :key="item.aaa"
@@ -726,7 +737,7 @@
                </el-checkbox>
              </el-checkbox-group>
            </div>
          </div>
          </div> -->
          <!-- 填空
          <div class="topic-dev" v-for="item in valssu" :key="item.aaa">
            <div class="dev-text">
@@ -748,7 +759,7 @@
      title="添加题目"
      :visible.sync="drawer"
      custom-class="demo-drawer"
      width="50%"
      size="50%"
    >
      <div class="preview-left">
        <el-form
@@ -812,6 +823,12 @@
            </template>
          </el-table-column>
        </el-table>
        <pagination
          :total="total"
          :page.sync="queryParams.pageNum"
          :limit.sync="queryParams.pageSize"
          @pagination="getaddtopiclist"
        />
      </div>
    </el-drawer>
  </div>
@@ -851,16 +868,27 @@
      drawer: false, //控制展开
      radios: [], //多选题选中
      radioas: "", //填空题答案
      task: null, //是否来自任务
      taskform: null, //任务信息
      labelInfovalue: [], //标签临时存储
      deptNamesvalue: [], //科室临时存储
      dynamicTags: [],
      indexAssortlist: [],
      inputValue: "",
      inputValueillness: "",
      topicobj: {},
      topicobj: {
        noMatchText: "",
        noClearlyText: "",
        slienceText: "",
      },
      total: 1,
      id: "",
      ruleForm: {},
      ruleForm: {
        templateName: "",
        ivrLibaTemplateTagList: [],
        ivrLibaTemplateScriptVOList: [],
        tempDetpRelevances: [],
      },
      rules: {},
      optionstag: [],
      prefollowuplist: [],
@@ -918,38 +946,11 @@
        },
      ],
      valssu: [
        {
          idd: 1,
          wssd: "你最近怎么样",
          sdadd: ["sss", "ssccss", "ssaas", "ss"],
        },
      ],
      valssu: [],
      radio: "",
      addvalue: "添加题目",
      // 题目表格数据
      userList: [
        {
          userid: "1",
          userName: "一号随访模版",
          verbaltrick: "一号随访模版",
        },
        {
          userid: "2",
          userName: "二号随访模版",
          verbaltrick: "一号随访模版",
        },
        {
          userid: "3",
          userName: "三号随访模版",
          verbaltrick: "一号随访模版",
        },
        {
          userid: "4",
          userName: "四号随访模版",
          verbaltrick: "一号随访模版",
        },
      ],
      userList: [],
      // 查询参数
      queryParams: {
        pageNum: 1,
@@ -964,6 +965,7 @@
  },
  created() {
    this.RoutingDataProcessing();
    this.gettabList();
    this.getvFollowup();
    this.auxiliary();
@@ -975,6 +977,7 @@
    this.courtyardlist = store.getters.courtyardlist;
    this.precedencetype = store.getters.precedencetype;
  },
  mounted() {},
  methods: {
    //公共方法--------------------
@@ -984,37 +987,54 @@
    processElement(element) {
      return { ...element, isoperation: 0 };
    },
    // 路由数据处理
    RoutingDataProcessing() {
      this.id = this.$route.query.id;
      this.task = this.$route.query.task;
      // console.log(this.task, "task");
      // if (this.task) {
      //   this.id = this.$route.query.id;
      // }
    },
    // 获取表单数据
    getvFollowup() {
      this.id = this.$route.query.id;
      if (this.id) {
        getvFollowup({ id: this.id }).then((res) => {
          if (res.code == 200) {
            console.log(2211);
            this.ruleForm = res.data;
            this.tempDetpRelevanceslist = JSON.parse(this.ruleForm.deptNames);
            this.ruleForm.suitway = this.ruleForm.suitway.split(",");
            this.ruleForm.campus = this.ruleForm.campus.split(",");
            this.ruleForm.submoduleID = this.ruleForm.submoduleID.split(",");
            this.ruleForm.submoduleID = this.ruleForm.submoduleID.map((res) => {
              return Number(res);
            });
            console.log(
              this.ruleForm.submoduleID,
              "this.ruleForm.submoduleID取"
            );
            this.dynamicTags = this.ruleForm.ivrLibaTemplateTagList;
      getvFollowup({ id: this.id }).then((res) => {
        this.ruleForm = res.data;
        this.tempDetpRelevanceslist = JSON.parse(this.ruleForm.deptNames);
        this.ruleForm.suitway = this.ruleForm.suitway.split(",");
        this.ruleForm.campus = this.ruleForm.campus.split(",");
        this.ruleForm.submoduleID = this.ruleForm.submoduleID.split(",");
        this.ruleForm.submoduleID = this.ruleForm.submoduleID.map((res) => {
          return Number(res);
            this.dynamicTags = this.ruleForm.ivrLibaTemplateTagList.map(
              this.processElement
            );
            console.log(this.ruleForm.suitway);
          }
        });
        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);
      });
      }
      getillnesslist({
        pageNum: 1,
        pageSize: 100,
      }).then((response) => {
        this.optionsillness = response.rows;
      });
      getillness({ outid: this.id, type: 3 }).then((res) => {
        this.illnesslist = res.rows;
      });
      if (this.id) {
        getillness({ outid: this.id, type: 3 }).then((res) => {
          this.illnesslist = res.rows;
        });
      }
      listDept(this.queryParams).then((response) => {
        this.deptList = this.handleTree(response.data, "deptId");
      });
@@ -1024,6 +1044,20 @@
      // 分类
      getFollowupclassify({}).then((res) => {
        this.indexAssortlist = res.rows;
        if (this.$route.query.assortid) {
          this.ruleForm.assortid = Number(this.$route.query.assortid);
        }
      });
      // 科室
      listDept(this.queryParams).then((response) => {
        this.deptList = this.handleTree(response.data, "deptId");
      });
      // 疾病
      getillnesslist({
        pageNum: 1,
        pageSize: 100,
      }).then((response) => {
        this.optionsillness = response.rows;
      });
      getgenerallist({
        pageNum: 1,
@@ -1059,8 +1093,17 @@
            return item;
          });
      });
      compileFollowup(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;
        }
        if (!item.id) {
          addtargetillness(item).then((res) => {});
        }
@@ -1068,10 +1111,8 @@
      if (this.illnesslistapi.length) {
        deltargetillness(this.illnesslistapi.join(",")).then((res) => {});
      }
      compileFollowup(this.ruleForm).then((res) => {
        this.$modal.msgSuccess("编辑成功");
        this.$router.go(-1);
      });
      this.illnessVisible = false;
      this.$modal.msgSuccess("编辑成功");
    },
    // 科室处理
    Departmenttreatment() {
@@ -1216,7 +1257,6 @@
      this.getaddtopiclist();
    },
    getaddtopiclist() {
      console.log(12);
      this.drawer = true;
      getverbaltricklist(this.queryParams).then((res) => {
        this.loading = false;
@@ -1227,6 +1267,14 @@
    },
    addtopic(row) {
      console.log(row);
      if (
        this.ruleForm.ivrLibaTemplateScriptVOList.some(
          (obj) => obj.questiontitle == row.questiontitle
        )
      ) {
        this.$modal.msgError("该题目已存在");
        return;
      }
      getverbaltrick({ id: row.id }).then((res) => {
        console.log(res, "详情");
        res.data.isoperation = 1;
@@ -1236,16 +1284,22 @@
        });
        this.ruleForm.ivrLibaTemplateScriptVOList.push(res.data);
        this.sortFn();
        this.$modal.msgSuccess("添加成功");
      });
    },
    handleDelete(row) {
      let index = this.ruleForm.ivrLibaTemplateScriptVOList.indexOf(row);
      this.ruleForm.ivrLibaTemplateScriptVOList.splice(
        this.ruleForm.ivrLibaTemplateScriptVOList.indexOf(row),
        1
      );
      row.isoperation = 3;
      this.delScriptVOList.push(row);
      this.$modal
        .confirm('是否确认删除问题:"' + row.questiontitle + '"?')
        .then(() => {
          this.ruleForm.ivrLibaTemplateScriptVOList.splice(
            this.ruleForm.ivrLibaTemplateScriptVOList.indexOf(row),
            1
          );
          row.isoperation = 3;
          this.delScriptVOList.push(row);
          this.$modal.msgSuccess("已删除,保存模版生效");
        })
        .catch(() => {});
    },
    handleUpdate(row) {
      console.log(row);
@@ -1253,7 +1307,7 @@
      if (row.ivrLibaScriptTargetoptionList.length) {
        console.log(11);
        this.topicobj = row;
        this.topicobj.isEnable = row.valueType;
        this.topicobj.valueType = row.valueType;
      } else {
        getverbaltrick({ id: row.id }).then((res) => {
          if (res.data) {