WXL
2024-08-21 adf7c9495ac348644079592059ea4c4d95b84b99
测试完成
已修改13个文件
2152 ■■■■■ 文件已修改
src/components/Regular/index.vue 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/store/getters.js 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/knowledge/questionbank/particulars/index.vue 881 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/knowledge/questionnaire/compilequer/index.vue 629 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/knowledge/questionnaire/index.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/patient/patient/index.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/patient/propaganda/Missioncreation.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/patient/propaganda/QuestionnaireTask.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/patient/propaganda/particty.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/repositoryai/intention/index.vue 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/repositoryai/templateku/configurat/index.vue 543 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/repositoryai/templateku/index.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/repositoryai/verbaltrick/particulars/index.vue 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/Regular/index.vue
@@ -1,7 +1,7 @@
<template>
  <div>
    <div class="topicxq" v-for="item in TargetoptionList">
      <el-form :rules="rules" :model="item">
      <el-form :inline="true" :rules="rules" :model="item">
        <el-row :gutter="10">
          <el-col :span="12"
            ><el-form-item prop="targetvalue" label="选项名称">
@@ -21,7 +21,7 @@
              </el-radio-group>
            </el-form-item></el-col
          >
          <el-col :span="12" v-if="intent"
          <!-- <el-col :span="12" v-if="intent"
            ><el-form-item label="选项节点">
              <el-input
                type="text"
@@ -30,7 +30,7 @@
                show-word-limit
              >
              </el-input> </el-form-item
          ></el-col>
          ></el-col> -->
        </el-row>
        <el-row :gutter="10" v-if="!intent">
          <el-col :span="20"
@@ -175,7 +175,8 @@
        <el-row :gutter="10">
          <el-col :span="16" v-if="intent">
            <el-form-item label="语音文件">
            <div></div>
            <!-- <el-form-item label="语音文件">
              <el-upload
                class="upload-demo"
                style="display: flex"
@@ -186,12 +187,12 @@
              >
                <el-button size="small" type="primary">点击上传</el-button>
              </el-upload>
            </el-form-item></el-col
          >
          <el-col :span="intent ? 8 : 22">
            </el-form-item> -->
          </el-col>
          <el-col :offset="12" :span="intent ? 8 : 22">
            <div style="text-align: right; padding-right: 10px">
              <el-button
                v-if="controlsc"
                v-if="controlsc || addoption"
                @click="$emit('addoption', item)"
                type="success"
                icon="el-icon-circle-plus-outline"
@@ -270,6 +271,10 @@
      type: Boolean,
      default: true,
    },
    addoption: {
      type: Boolean,
      default: false,
    },
    intent: {
      type: Boolean,
      default: true,
src/store/getters.js
@@ -181,14 +181,14 @@
        listClass: "",
      },
    },
    {
      value: "3",
      label: "填空",
      raw: {
        cssClass: "",
        listClass: "",
      },
    },
    // {
    //   value: "3",
    //   label: "填空",
    //   raw: {
    //     cssClass: "",
    //     listClass: "",
    //   },
    // },
    {
      value: "4",
      label: "问答",
src/views/knowledge/questionbank/particulars/index.vue
@@ -1,173 +1,194 @@
<template>
  <div>
    <div class="presentation-right">
      <el-card class="box-card">
        <el-form :inline="true" :model="topicobj" class="demo-form-inline">
          <div class="headline">
            题目设置详情
            <span style="float: right; margin-right: 30px"
              ><el-button type="success" @click="Saveproblem">预览</el-button>
            </span>
            <span style="float: right; margin-right: 30px"
              ><el-button type="primary" @click="Saveproblem">保 存</el-button>
            </span>
          </div>
          <div style="margin-left: 8%">
            <el-row :gutter="10">
              <el-col :span="8">
                <el-form-item label="问题分类">
                  <el-select
                    v-model="topicobj.categoryid"
                    size="medium"
                    filterable
                    placeholder="请选择分类"
                  >
                    <el-option-group
                      v-for="group in classifylist"
                      :key="group.id"
                      :label="group.name"
      <div class="sidecolumn">
        <div>
          <el-steps finish-status="success" :active="Editprogress" simple>
            <el-step>
              <template slot="title">
                <span style="cursor: pointer" @click="Editprogress = 1"
                  >问题基础信息编辑</span
                >
              </template>
            </el-step>
            <el-step>
              <template slot="title">
                <span style="cursor: pointer" @click="nextstep"
                  >问题指标编辑</span
                >
              </template>
            </el-step>
          </el-steps>
        </div>
      </div>
      <div v-if="Editprogress == 1">
        <el-card class="box-card">
          <el-form :inline="true" :model="topicobj" class="demo-form-inline">
            <div class="headline">
              基础信息配置
              <span style="margin-left: 30px"
                ><el-button type="success" @click="topicVisible = true"
                  >预览</el-button
                >
              </span>
              <span style="margin-left: 30px"
                ><el-button type="primary" @click="Saveproblem"
                  >保 存</el-button
                >
              </span>
            </div>
            <el-divider></el-divider>
            <div style="margin-left: 8%">
              <el-row :gutter="10">
                <el-col :span="8">
                  <el-form-item label="问题分类">
                    <el-select
                      v-model="topicobj.categoryid"
                      size="medium"
                      filterable
                      placeholder="请选择分类"
                    >
                      <el-option-group
                        v-for="group in classifylist"
                        :key="group.id"
                        :label="group.name"
                      >
                        <el-option
                          v-for="item in group.svyLibScriptCategoryList"
                          :key="item.id"
                          :label="item.name"
                          :value="item.id"
                        >
                        </el-option>
                      </el-option-group>
                    </el-select>
                  </el-form-item>
                </el-col>
                <el-col :span="8">
                  <el-form-item label="评价类型">
                    <el-select
                      v-model="topicobj.scoretype"
                      placeholder="请选择分类"
                    >
                      <el-option
                        v-for="item in group.svyLibScriptCategoryList"
                        :key="item.id"
                        :label="item.name"
                        :value="item.id"
                        v-for="group in appraiselist"
                        :key="group.value"
                        :label="group.label"
                        :value="group.value"
                      >
                      </el-option>
                    </el-option-group>
                  </el-select>
                </el-form-item>
              </el-col>
              <el-col :span="8">
                <el-form-item label="评价类型">
                  <el-select
                    v-model="topicobj.scoretype"
                    placeholder="请选择分类"
                  >
                    <el-option
                      v-for="group in appraiselist"
                      :key="group.value"
                      :label="group.label"
                      :value="group.value"
                    >
                    </el-option>
                  </el-select>
                </el-form-item>
              </el-col>
              <el-col :span="8" v-if="topicobj.scoretype == 1">
                <el-form-item label="题目得分">
                  <el-input
                    v-model="topicobj.score"
                    placeholder="请输入分数"
                  ></el-input>
                </el-form-item>
              </el-col>
            </el-row>
                    </el-select>
                  </el-form-item>
                </el-col>
                <el-col :span="8" v-if="topicobj.scoretype == 1">
                  <el-form-item label="题目得分">
                    <el-input
                      v-model="topicobj.score"
                      placeholder="请输入分数"
                    ></el-input>
                  </el-form-item>
                </el-col>
              </el-row>
            <el-row :gutter="10">
              <el-col :span="8"
                ><el-form-item label="题目标题">
                  <el-input
                    v-model="topicobj.scriptTopic"
                    placeholder="请输入标题"
                  ></el-input> </el-form-item
              ></el-col>
              <el-col :span="8"
                ><el-form-item label="是否可用">
                  <el-radio-group v-model="topicobj.isAvailable">
                    <el-radio
                      v-for="(item, index) in usable"
                      :label="item.value"
                      >{{ item.label }}</el-radio
              <el-row :gutter="10">
                <el-col :span="8"
                  ><el-form-item label="题目标题">
                    <el-input
                      v-model="topicobj.scriptTopic"
                      placeholder="请输入标题"
                    ></el-input> </el-form-item
                ></el-col>
                <el-col :span="8"
                  ><el-form-item label="是否可用">
                    <el-radio-group v-model="topicobj.isAvailable">
                      <el-radio
                        v-for="(item, index) in usable"
                        :label="item.value"
                        >{{ item.label }}</el-radio
                      >
                    </el-radio-group>
                  </el-form-item></el-col
                >
                <el-col :span="8">
                  <el-form-item label="是否必填">
                    <el-radio-group v-model="topicobj.ismandatory">
                      <el-radio
                        v-for="(item, index) in required"
                        :label="item.value"
                        >{{ item.label }}</el-radio
                      >
                    </el-radio-group>
                  </el-form-item>
                </el-col>
              </el-row>
              <el-row :gutter="10">
                <el-col :span="8">
                  <el-form-item label="语言">
                    <el-select
                      v-model="topicobj.language"
                      size="medium"
                      filterable
                      placeholder="请选择分类"
                    >
                  </el-radio-group>
                </el-form-item></el-col
              >
              <el-col :span="8"
                ><el-form-item label="语言">
                  <el-select
                    v-model="topicobj.language"
                    size="medium"
                    filterable
                    placeholder="请选择分类"
                  >
                    <el-option
                      class="topicobjaa"
                      v-for="item in languagelist"
                      :key="item.value"
                      :label="item.label"
                      :value="item.value"
                      <el-option
                        class="topicobjaa"
                        v-for="item in languagelist"
                        :key="item.value"
                        :label="item.label"
                        :value="item.value"
                      >
                      </el-option>
                    </el-select>
                  </el-form-item>
                </el-col>
                <el-col :span="8"
                  ><el-form-item label="题目类型">
                    <el-select
                      v-model="topicobj.scriptType"
                      @change="changefn"
                      size="medium"
                      filterable
                      placeholder="请选择分类"
                    >
                    </el-option>
                  </el-select> </el-form-item
              ></el-col>
            </el-row>
            <el-row :gutter="10">
              <el-col :span="8"
                ><el-form-item label="是否必填">
                  <el-select
                    v-model="topicobj.ismandatory"
                    size="medium"
                    filterable
                    placeholder="请选择分类"
                  >
                    <el-option
                      class="topicobjaa"
                      v-for="item in required"
                      :key="item.value"
                      :label="item.label"
                      :value="item.value"
                      <el-option
                        class="topicobjaa"
                        v-for="item in valuetype"
                        :key="item.value"
                        :label="item.label"
                        :value="item.value"
                      >
                      </el-option>
                    </el-select> </el-form-item
                ></el-col>
                <el-col :span="8"
                  ><el-form-item label="适用方式">
                    <el-select
                      v-model="topicobj.suitway"
                      disabled
                      placeholder="请选择"
                    >
                    </el-option>
                  </el-select> </el-form-item
              ></el-col>
              <el-col :span="8"
                ><el-form-item label="题目类型">
                  <el-select
                    v-model="topicobj.scriptType"
                    @change="changefn"
                    size="medium"
                    filterable
                    placeholder="请选择分类"
                  >
                    <el-option
                      class="topicobjaa"
                      v-for="item in valuetype"
                      :key="item.value"
                      :label="item.label"
                      :value="item.value"
                    >
                    </el-option>
                  </el-select> </el-form-item
              ></el-col>
              <el-col :span="8"
                ><el-form-item label="适用方式">
                  <el-select
                    v-model="topicobj.suitway"
                    disabled
                    placeholder="请选择"
                  >
                    <el-option
                      class="topicobjaa"
                      v-for="item in mode"
                      :key="item.value"
                      :label="item.label"
                      :value="item.value"
                    >
                    </el-option> </el-select></el-form-item
              ></el-col>
            </el-row>
            <el-form-item label="题目内容">
              <el-input
                style="width: 40vw"
                type="textarea"
                id="scriptContent"
                v-model="topicobj.scriptContent"
                @focus="handleInput('scriptContent')"
                placeholder="请输入题目内容"
              ></el-input>
            </el-form-item>
            <el-form-item
                      <el-option
                        class="topicobjaa"
                        v-for="item in mode"
                        :key="item.value"
                        :label="item.label"
                        :value="item.value"
                      >
                      </el-option> </el-select></el-form-item
                ></el-col>
              </el-row>
              <el-form-item label="题目内容">
                <el-input
                  style="width: 40vw"
                  type="textarea"
                  id="scriptContent"
                  v-model="topicobj.scriptContent"
                  @focus="handleInput('scriptContent')"
                  placeholder="请输入题目内容"
                ></el-input>
              </el-form-item>
              <!-- <el-form-item
              label=""
              prop="scriptContent"
              v-if="topicobj.scriptType == 3"
@@ -175,8 +196,8 @@
              <div style="display: flex; margin-bottom: 10px">
                <div class="tsgnames" @click="tsgnametos">插入填空标记</div>
              </div>
            </el-form-item>
            <el-row>
            </el-form-item> -->
              <!-- <el-row>
              <el-col :span="20">
                <el-form-item
                  label="填空信息"
@@ -211,211 +232,299 @@
                  </el-card>
                </el-form-item>
              </el-col>
            </el-row>
            <el-form-item label="题目说明">
              <el-input
                style="width: 40vw"
                type="textarea"
                v-model="topicobj.scriptDesc"
                placeholder="请输入说明"
              ></el-input>
            </el-form-item>
            <el-form-item label="题干文件" prop="sickness">
              <div style="width: 40vw">
                <el-upload
                  class="upload-demo"
                  :action="uploadImgUrl"
                  :headers="headers"
                  accept=".jpg,.png,image/*"
                  :on-success="handleChangetg"
                >
                  <el-button size="small" type="primary">点击上传</el-button>
                  <div slot="tip" class="el-upload__tip">
                    只能上传jpg/png类型文件
                  </div>
                </el-upload>
                <div style="margin: 20px">
                  <el-image
                    style="width: 100px; height: 100px"
                    :src="topicobj.picturePath"
                    :preview-src-list="[...topicobj.picturePath]"
                  >
                  </el-image>
                </div>
              </div>
            </el-form-item>
            <el-row>
              <el-form-item label="标签" prop="desc">
                <div class="xinz-inf">
                  <el-tag
                    :key="tag.tagname"
                    type="success"
                    v-for="tag in dynamicTags"
                    closable
                    :disable-transitions="false"
                    @close="handleClosetag(tag)"
                  >
                    {{ tag.tagname }}
                  </el-tag>
                  <el-select
                    v-model="inputValue"
                    v-if="inputVisible"
                    @change="handleInputConfirm"
                    filterable
                    remote
                    allow-create
                    reserve-keyword
                    default-first-option
                    :remote-method="remoteMethodtag"
                    :loading="loading"
                    placeholder="请选择"
                  >
                    <el-option
                      v-for="item in optionstag"
                      :key="item.tagid"
                      :label="item.tagname"
                      :value="item.tagname"
                    >
                    </el-option>
                  </el-select>
                  <el-button
                    v-else
                    class="button-new-tag"
                    size="small"
                    @click="showInput"
                    >+ 新增标签</el-button
                  >
                </div>
            </el-row> -->
              <el-form-item label="题目说明">
                <el-input
                  style="width: 40vw"
                  type="textarea"
                  v-model="topicobj.scriptDesc"
                  placeholder="请输入说明"
                ></el-input>
              </el-form-item>
            </el-row>
            <el-form-item label="选中指标:">
              <span style="margin-left: 30px"
                ><el-tag type="success" effect="dark">{{
                  topicobj.targetname ? topicobj.targetname : "未选择"
                }}</el-tag></span
              >
              <span style="margin-left: 30px"
                ><el-button type="success" round @click="gettargetInfo"
                  >+选择指标</el-button
                ></span
              >
            </el-form-item>
          </div>
          <div v-if="topicobj.scriptType != 3 && topicobj.scriptType != 4">
            <div class="headline">
              选项设置<span style="margin-left: 30px"
                ><el-button type="primary" round @click="addoption"
                  >+新增</el-button
                ></span
              >
              <!-- <el-form-item label="选中指标:">
                <span style="margin-left: 30px"
                  ><el-tag type="success" effect="dark">{{
                    topicobj.targetname ? topicobj.targetname : "未选择"
                  }}</el-tag></span
                >
                <span style="margin-left: 30px"
                  ><el-button type="success" round @click="gettargetInfo"
                    >+选择指标</el-button
                  ></span
                >
              </el-form-item> -->
            </div>
            <div
              class="topicxq"
              v-for="item in topicobj.svyLibScriptOptions"
              v-if="item.isoperation != 3"
            >
              <el-row :gutter="10">
                <el-col :span="11"
                  ><el-form-item label="选项">
                    <el-input
                      type="text"
                      placeholder="请输入选项"
                      v-model="item.optioncontent"
                      show-word-limit
                    >
                    </el-input> </el-form-item
                ></el-col>
                <el-col :span="11">
                  <el-form-item v-if="topicobj.scoretype == 1" label="分值">
                    <el-input
                      type="text"
                      placeholder="请输入选项分值"
                      v-model="item.score"
                      show-word-limit
                    >
                    </el-input>
                  </el-form-item>
                  <el-form-item
                    v-else-if="topicobj.scoretype == 2"
                    label="ABC等级"
                  >
                    <el-radio-group v-model="item.score">
                      <el-radio label="A">A</el-radio>
                      <el-radio label="B">B</el-radio>
                      <el-radio label="C">C</el-radio>
                    </el-radio-group>
                  </el-form-item>
                  <el-form-item
                    v-else-if="topicobj.scoretype == 3"
                    label="优良等级"
                  >
                    <el-radio-group v-model="item.score">
                      <el-radio label="优">优</el-radio>
                      <el-radio label="良">良</el-radio>
                      <el-radio label="差">差</el-radio>
                    </el-radio-group>
                  </el-form-item>
                </el-col>
            <div class="headline">关联信息配置</div>
            <el-divider></el-divider>
                <el-col :span="2" :offsset="topicobj.scoretype == 4 ? 11 : 0">
                  <el-button
                    type="danger"
                    icon="el-icon-delete"
                    circle
                    @click="deletexuanx(item)"
                  ></el-button>
                </el-col>
              </el-row>
              <el-row :gutter="10">
                <el-form-item label="预警提醒">
                  <el-radio-group v-model="item.isabnormal">
                    <el-radio :label="1">是</el-radio>
                    <el-radio :label="0">否</el-radio>
                  </el-radio-group>
            <div style="margin-left: 8%">
              <el-row>
                <el-form-item label="标签" prop="desc">
                  <div class="xinz-inf">
                    <el-tag
                      :key="tag.tagname"
                      type="success"
                      v-for="tag in dynamicTags"
                      closable
                      :disable-transitions="false"
                      @close="handleClosetag(tag)"
                    >
                      {{ tag.tagname }}
                    </el-tag>
                    <el-select
                      v-model="inputValue"
                      v-if="inputVisible"
                      @change="handleInputConfirm"
                      filterable
                      remote
                      allow-create
                      reserve-keyword
                      default-first-option
                      :remote-method="remoteMethodtag"
                      :loading="loading"
                      placeholder="请选择"
                    >
                      <el-option
                        v-for="item in optionstag"
                        :key="item.tagid"
                        :label="item.tagname"
                        :value="item.tagname"
                      >
                      </el-option>
                    </el-select>
                    <el-button
                      v-else
                      class="button-new-tag"
                      size="small"
                      @click="showInput"
                      >+ 新增标签</el-button
                    >
                  </div>
                </el-form-item>
              </el-row>
              <el-row :gutter="10">
                <el-form-item label="选中提示">
                  <el-input
                    style="width: 40vw"
                    type="textarea"
                    autosize
                    placeholder="请输入内容"
                    v-model="item.prompt"
                  >
                  </el-input
                ></el-form-item>
              </el-row>
              <el-form-item label="选项文件" prop="sickness">
              <el-form-item label="题干文件" prop="sickness">
                <div style="width: 40vw">
                  <el-upload
                    class="upload-demo"
                    :action="uploadImgUrl"
                    :headers="headers"
                    accept=".jpg,.png,image/*"
                    :on-success="handleChange.bind(this, item)"
                    :on-success="handleChangetg"
                  >
                    <el-button size="small" type="primary">点击上传</el-button>
                    <div slot="tip" class="el-upload__tip">
                      只能上传jpg/png类型文件
                    </div>
                  </el-upload>
                  <div style="margin: 20px">
                    <el-image
                      style="width: 100px; height: 100px"
                      :src="item.picturePath"
                      :preview-src-list="[...item.picturePath]"
                      :src="topicobj.picturePath"
                      :preview-src-list="[...topicobj.picturePath]"
                    >
                    </el-image>
                  </div>
                </div>
              </el-form-item>
            </div>
          </div>
        </el-form>
      </el-card>
          </el-form>
        </el-card>
      </div>
      <div v-if="Editprogress == 2">
        <el-card class="box-card">
          <el-form :inline="true" :model="topicobj" class="demo-form-inline">
            <div class="headline">
              指标设置详情
              <span v-if="topicobj.targetname" style="margin-left: 30px"
                ><el-button type="success" @click="topicVisible = true"
                  >预览</el-button
                ></span
              >
              <span style="margin-left: 30px"
                ><el-button type="primary" round @click="gettargetInfo">{{
                  topicobj.targetname ? "修改指标" : "+选择指标"
                }}</el-button></span
              >
            </div>
            <el-divider></el-divider>
            <el-form ref="form">
              <el-row>
                <el-col :span="10">
                  <el-form-item label="指标名称" prop="deptId">
                    <el-input
                      disabled
                      v-model="topicobj.targetname"
                      placeholder="请输入指标名称"
                      maxlength="20"
                    />
                  </el-form-item>
                </el-col>
                <el-col :span="12">
                  <el-form-item label="指标描述" prop="deptId">
                    <el-input
                      disabled
                      v-model="topicobj.targetdesc"
                      placeholder="请输入指标描述"
                      maxlength="60"
                    />
                  </el-form-item>
                </el-col>
              </el-row>
              <el-row>
                <el-col :span="10">
                  <el-form-item label="值类型">
                    <el-radio-group
                      :disabled="true"
                      v-model="topicobj.valueType"
                    >
                      <el-radio :label="1">选项</el-radio>
                      <el-radio :label="2">文本</el-radio>
                      <el-radio :label="3">数值</el-radio>
                    </el-radio-group>
                  </el-form-item>
                </el-col>
                <el-col :span="12">
                  <el-form-item label="题目类型">
                    <el-radio-group
                      :disabled="true"
                      v-model="topicobj.scriptType"
                    >
                      <el-radio :label="'1'">单选</el-radio>
                      <el-radio :label="'2'">多选</el-radio>
                      <el-radio :label="'4'">问答</el-radio>
                    </el-radio-group>
                  </el-form-item>
                </el-col>
              </el-row>
            </el-form>
            <div v-if="topicobj.scriptType != 4">
              <div class="headline">
                选项设置<span style="margin-left: 30px"
                  ><el-button type="primary" round @click="addoption"
                    >+新增</el-button
                  ></span
                >
              </div>
              <el-divider></el-divider>
              <div
                class="topicxq"
                v-for="item in topicobj.svyLibScriptOptions"
                v-if="item.isoperation != 3"
              >
                <el-row :gutter="10">
                  <el-col :span="11"
                    ><el-form-item label="选项名称">
                      <el-input
                        type="text"
                        placeholder="请输入选项分值"
                        v-model="item.optioncontent"
                        show-word-limit
                      >
                      </el-input> </el-form-item
                  ></el-col>
                  <el-col :span="11">
                    <el-form-item v-if="topicobj.scoretype == 1" label="分值">
                      <el-input
                        type="text"
                        placeholder="请输入选项分值"
                        v-model="item.score"
                        show-word-limit
                      >
                      </el-input>
                    </el-form-item>
                    <el-form-item
                      v-else-if="topicobj.scoretype == 2"
                      label="ABC等级"
                    >
                      <el-radio-group v-model="item.score">
                        <el-radio label="A">A</el-radio>
                        <el-radio label="B">B</el-radio>
                        <el-radio label="C">C</el-radio>
                      </el-radio-group>
                    </el-form-item>
                    <el-form-item
                      v-else-if="topicobj.scoretype == 3"
                      label="优良等级"
                    >
                      <el-radio-group v-model="item.score">
                        <el-radio label="优">优</el-radio>
                        <el-radio label="良">良</el-radio>
                        <el-radio label="差">差</el-radio>
                      </el-radio-group>
                    </el-form-item>
                  </el-col>
                  <el-col :span="2" :offsset="topicobj.scoretype == 4 ? 11 : 0">
                    <el-button
                      type="danger"
                      icon="el-icon-delete"
                      circle
                      @click="deletexuanx(item)"
                    ></el-button>
                  </el-col>
                </el-row>
                <el-row :gutter="10">
                  <el-form-item label="预警提醒">
                    <el-radio-group v-model="item.isabnormal">
                      <el-radio :label="1">是</el-radio>
                      <el-radio :label="0">否</el-radio>
                    </el-radio-group>
                  </el-form-item>
                </el-row>
                <el-row :gutter="10">
                  <el-form-item label="选中提示">
                    <el-input
                      style="width: 40vw"
                      type="textarea"
                      autosize
                      placeholder="请输入内容"
                      v-model="item.prompt"
                    >
                    </el-input
                  ></el-form-item>
                </el-row>
                <el-form-item label="选项文件" prop="sickness">
                  <div style="width: 40vw">
                    <el-upload
                      class="upload-demo"
                      :action="uploadImgUrl"
                      :headers="headers"
                      accept=".jpg,.png,image/*"
                      :on-success="handleChange.bind(this, item)"
                    >
                      <el-button size="small" type="primary"
                        >点击上传</el-button
                      >
                    </el-upload>
                    <div style="margin: 20px">
                      <el-image
                        style="width: 100px; height: 100px"
                        :src="item.picturePath"
                        :preview-src-list="[...item.picturePath]"
                      >
                      </el-image>
                    </div>
                  </div>
                </el-form-item>
              </div>
              <div v-else class="topicxq">
                <el-input
                  type="textarea"
                  :rows="4"
                  placeholder="此处展示收集信息"
                  v-model="testgovalue"
                >
                </el-input>
              </div>
            </div>
          </el-form>
        </el-card>
      </div>
    </div>
    <el-drawer
      title="选择指标"
@@ -530,6 +639,7 @@
          <el-table-column
            label="操作"
            align="center"
            fixed="right"
            class-name="small-padding fixed-width"
          >
            <template slot-scope="scope">
@@ -553,6 +663,35 @@
        />
      </div>
    </el-drawer>
    <el-dialog title="题目预览" :visible.sync="topicVisible" width="50%">
      <div class="preview-left">
        <div class="dev-text">
          <span>{{ topicobj.scriptContent }}</span>
        </div>
        <div
          class="dev-xx"
          v-if="topicobj.scriptType != 3 && topicobj.scriptType != 4"
        >
          <el-radio-group v-model="topicobj.asrtext">
            <el-radio
              v-for="(topicobjs, index) in topicobj.svyLibScriptOptions"
              :key="topicobjs.optioncontent"
              :label="topicobjs.optioncontent"
              >{{ topicobjs.optioncontent }}</el-radio
            >
          </el-radio-group>
        </div>
        <div v-else>
          <el-input
            type="textarea"
            placeholder="请输入内容"
            v-model.sync="topicobj.asrtext"
            :rows="2"
          />
        </div>
      </div>
    </el-dialog>
  </div>
</template>
@@ -594,6 +733,7 @@
      total: 0,
      drawer: false,
      loading: false,
      topicVisible: false, //预览弹框
      id: [],
      suitwaylist: [],
      targetList: [],
@@ -616,6 +756,7 @@
        isavailable: "",
        scriptType: "",
      },
      Editprogress: 1,
      optionlist: [
        { value: "scriptTopic", table: "scriptTopic" },
        { value: "scriptTopic", table: "scriptTopic" },
@@ -703,6 +844,9 @@
      }
      getissuelist({ id: this.id }).then((res) => {
        this.topicobj = res.rows[0];
        if (!this.topicobj.svyLibScriptTagList) {
          this.topicobj.svyLibScriptTagList = [];
        }
        this.dynamicTags = this.topicobj.svyLibScriptTagList.map(
          this.processElement
        );
@@ -722,16 +866,10 @@
      });
    },
    gettargetInfo() {
      if (!this.topicobj.scriptType) {
        this.$message({
          message: "请先选择题目类型",
          type: "error",
        });
        return;
      }
      if (this.topicobj.scriptType) {
      if (!this.queryParams.scriptType) {
        this.queryParams.scriptType = this.topicobj.scriptType;
      }
      this.queryParams.suitWay = 1;
      gettargetInfo(this.queryParams).then((res) => {
        this.targetList = res.rows;
@@ -841,10 +979,7 @@
    changefn(item) {
      console.log(item);
      if (
        this.topicobj.targetname ||
        this.topicobj.svyLibScriptOptions[0].optioncontent
      ) {
      if (this.topicobj.targetname || this.topicobj.svyLibScriptOptions[0]) {
        this.$modal
          .confirm("更改类型后选项将清空是否继续?")
          .then(() => {
@@ -893,6 +1028,7 @@
          console.log(row);
          this.topicobj.scriptTopic = row.targetname;
          this.topicobj.valueType = row.valueType;
          this.topicobj.scriptType = row.scriptType;
          this.topicobj.scriptContent = row.targetdesc;
          this.topicobj.targetid = row.id;
          this.topicobj.targetname = row.targetname;
@@ -1163,6 +1299,21 @@
        this.$message.error("图片插入失败");
      }
    },
    // 下一步
    nextstep() {
      if (this.Editprogress <= 1) {
        // if (this.indexform.targetid) {
        return this.Editprogress++;
        // } else {
        //   this.$message.warning("请先选择关联指标");
        // }
      } else {
      }
    },
    // 上一步
    laststep() {
      this.Editprogress = this.Editprogress - 1;
    },
  },
};
</script>
@@ -1173,12 +1324,7 @@
  padding: 0 20px;
  font-size: 18px;
  overflow: auto;
  .headline {
    font-size: 20px;
    border-left: 3px solid #41a1be;
    padding-left: 5px;
    margin: 15px 0;
  }
  .topicxq {
    width: 72%;
    background-color: #e2f5fc;
@@ -1216,6 +1362,21 @@
    }
  }
}
.sidecolumn {
  margin-bottom: 10px;
  padding: 15px;
  background: #edf1f7;
  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);
}
.headline {
  display: flex;
  font-size: 20px;
  border-left: 4px solid #41a1be;
  padding-left: 5px;
  margin: 15px 0;
}
.tsgname {
  width: 90px;
  margin-right: 10px;
src/views/knowledge/questionnaire/compilequer/index.vue
@@ -413,38 +413,57 @@
                    </el-form-item>
                  </el-col>
                </el-row>
                <el-row :gutter="10">
                  <el-col :span="12"
                    ><el-form-item label="题目类型">
                      <el-select
                        v-model="topicobj.scriptType"
                        disabled
                        size="medium"
                        filterable
                        placeholder="请选择分类"
                      >
                        <el-option
                          class="topicobjaa"
                          v-for="item in askvaluetype"
                          :key="item.value"
                          :label="item.label"
                          :value="item.value"
                        >
                        </el-option> </el-select></el-form-item
                  ></el-col>
                  <el-col :span="12">
                    <el-form-item label="题目分数">
                      <el-input
                        v-model="topicobj.scriptTopic"
                        placeholder="请输入标题"
                      ></el-input> </el-form-item
                  ></el-col>
                </el-row>
                <el-row :gutter="10">
                  <el-col :span="12"
                    ><el-form-item label="是否必填">
                      <el-select
                        v-model="topicobj.ismandatory"
                        placeholder="请选择"
                      >
                        <el-option
                          v-for="item in required"
                          :key="item.value"
                          :label="item.label"
                          :value="item.value"
                      <el-radio-group v-model="topicobj.ismandatory">
                        <el-radio
                          v-for="(item, index) in required"
                          :label="item.value"
                          >{{ item.label }}</el-radio
                        >
                        </el-option>
                      </el-select> </el-form-item
                  ></el-col>
                      </el-radio-group>
                    </el-form-item></el-col
                  >
                  <el-col :span="12"
                    ><el-form-item label="是否可用">
                      <el-select
                        v-model="topicobj.isavailable"
                        placeholder="请选择"
                      >
                        <el-option
                          v-for="item in usable"
                          :key="item.value"
                          :label="item.label"
                          :value="item.value"
                      <el-radio-group v-model="topicobj.isavailable">
                        <el-radio
                          v-for="(item, index) in usable"
                          :label="item.value"
                          >{{ item.label }}</el-radio
                        >
                        </el-option>
                      </el-select> </el-form-item
                  ></el-col>
                      </el-radio-group>
                    </el-form-item></el-col
                  >
                </el-row>
                <el-row>
                  <el-col :span="12">
@@ -465,7 +484,9 @@
                    <el-radio :label="0">否</el-radio>
                  </el-radio-group>
                </el-form-item>
                <div v-if="topicobj.scriptType != 3">
                <div
                  v-if="topicobj.scriptType == 1 || topicobj.scriptType == 2"
                >
                  <div class="headline">选项设置</div>
                  <div
                    class="topicxq"
@@ -565,7 +586,7 @@
                        <el-input
                          style="width: 20vw"
                          type="textarea"
                          autosize
                          :rows="2"
                          placeholder="此处放置患者回答"
                          v-model="topicobj.reply"
                        >
@@ -573,6 +594,18 @@
                      ></el-form-item>
                    </el-row>
                    <el-form-item label="分值">
                      <template #label>
                        分值
                        <el-tooltip
                          class="item"
                          effect="light"
                          content="填空题分数值由负责人员在问卷手机后手动评价。"
                          placement="top-start"
                        >
                          <i class="el-icon-warning-outline"></i>
                        </el-tooltip>
                        <!-- 在标签后插入红色星号 -->
                      </template>
                      <el-input
                        type="text"
                        placeholder="请输入选项分值"
@@ -673,83 +706,397 @@
      custom-class="demo-drawer"
      size="50%"
    >
      <div class="preview-left">
        <el-form
          :model="queryParams"
          ref="queryForm"
          size="small"
          :inline="true"
          label-width="98px"
        >
          <el-form-item label="问题标题" prop="scriptTopic">
            <el-input
              v-model="queryParams.scriptTopic"
              placeholder="请输入"
              clearable
              style="width: 200px"
              @keyup.enter.native="getaddtopiclist"
            />
          </el-form-item>
          <el-form-item>
            <el-button
              type="primary"
              icon="el-icon-search"
              size="medium"
              @click="getaddtopiclist"
              >搜索</el-button
            >
            <el-button icon="el-icon-refresh" size="medium" @click="resetQuery"
              >重置</el-button
            >
          </el-form-item>
        </el-form>
        <el-table v-loading="loading" :data="userList">
          <el-table-column
            label="标题"
            align="center"
            key="scriptTopic"
            prop="scriptTopic"
            width="100"
          />
          <el-table-column
            label="问题内容"
            align="center"
            key="scriptContent"
            prop="scriptContent"
            width="200"
            :show-overflow-tooltip="true"
          />
          <el-table-column
            label="选项内容"
            align="center"
            key="targetoptions"
            prop="targetoptions"
            width="200"
            :show-overflow-tooltip="true"
          />
          <el-table-column
            label="操作"
            align="center"
            class-name="small-padding fixed-width"
          >
            <template slot-scope="scope">
              <el-button size="medium" type="text" @click="addtopic(scope.row)"
                ><span class="button-textxg"
                  ><i class="el-icon-circle-plus-outline"></i>添加</span
                ></el-button
      <div style="margin: 0 25px">
        <el-tabs v-model="activeName">
          <el-tab-pane label="题库选取" name="first">
            <div class="preview-left">
              <el-form
                :model="queryParams"
                ref="queryForm"
                size="small"
                :inline="true"
                label-width="98px"
              >
            </template>
          </el-table-column>
        </el-table>
        <pagination
          v-show="total > 0"
          :total="total"
          :page.sync="queryParams.pageNum"
          :limit.sync="queryParams.pageSize"
          @pagination="getaddtopiclist"
        />
                <el-form-item label="问题标题" prop="scriptTopic">
                  <el-input
                    v-model="queryParams.scriptTopic"
                    placeholder="请输入"
                    clearable
                    style="width: 200px"
                    @keyup.enter.native="getaddtopiclist"
                  />
                </el-form-item>
                <el-form-item label="题目类型" prop="scriptTopic">
                  <el-select
                    v-model="queryParams.scriptType"
                    size="medium"
                    filterable
                    placeholder="请选择分类"
                  >
                    <el-option
                      class="topicobjaa"
                      v-for="item in askvaluetype"
                      :key="item.value"
                      :label="item.label"
                      :value="item.value"
                    >
                    </el-option>
                  </el-select>
                </el-form-item>
                <el-form-item>
                  <el-button
                    type="primary"
                    icon="el-icon-search"
                    size="medium"
                    @click="getaddtopiclist"
                    >搜索</el-button
                  >
                  <el-button
                    icon="el-icon-refresh"
                    size="medium"
                    @click="resetQuery"
                    >重置</el-button
                  >
                </el-form-item>
              </el-form>
              <el-table v-loading="loading" :data="userList">
                <el-table-column
                  label="标题"
                  align="center"
                  key="scriptTopic"
                  prop="scriptTopic"
                  width="100"
                />
                <el-table-column
                  label="问题内容"
                  align="center"
                  key="scriptContent"
                  prop="scriptContent"
                  width="200"
                  :show-overflow-tooltip="true"
                />
                <el-table-column
                  label="选项内容"
                  align="center"
                  key="targetoptions"
                  prop="targetoptions"
                  width="200"
                  :show-overflow-tooltip="true"
                />
                <el-table-column
                  label="操作"
                  align="center"
                  class-name="small-padding fixed-width"
                >
                  <template slot-scope="scope">
                    <el-button
                      size="medium"
                      type="text"
                      @click="addtopic(scope.row)"
                      ><span class="button-textxg"
                        ><i class="el-icon-circle-plus-outline"></i>添加</span
                      ></el-button
                    >
                  </template>
                </el-table-column>
              </el-table>
              <pagination
                v-show="total > 0"
                :total="total"
                :page.sync="queryParams.pageNum"
                :limit.sync="queryParams.pageSize"
                @pagination="getaddtopiclist"
              />
            </div>
          </el-tab-pane>
          <el-tab-pane label="手动配置" name="second">
            <div class="preview-left">
              <el-form
                :inline="true"
                :model="indexform"
                class="demo-form-inline"
              >
                <div class="headline">
                  题目设置详情
                  <span style="margin-left: 30px"
                    ><el-button type="primary" @click="Submittopicobj"
                      >保存新增</el-button
                    ></span
                  >
                </div>
                <el-divider></el-divider>
                <div>
                  <el-row :gutter="10">
                    <el-col :span="12">
                      <el-form-item label="题目标题">
                        <el-input
                          v-model="indexform.scriptTopic"
                          placeholder="请输入题目标题"
                        ></el-input>
                      </el-form-item>
                    </el-col>
                    <el-col :span="12">
                      <el-form-item label="题目得分">
                        <el-input
                          v-model="indexform.score"
                          placeholder="请输入分数"
                        ></el-input>
                      </el-form-item>
                    </el-col>
                  </el-row>
                  <el-row :gutter="10">
                    <el-col :span="12">
                      <el-form-item label="评价类型">
                        <el-select
                          v-model="indexform.scoretype"
                          placeholder="请选择分类"
                        >
                          <el-option
                            v-for="group in appraiselist"
                            :key="group.value"
                            :label="group.label"
                            :value="group.value"
                          >
                          </el-option>
                        </el-select>
                      </el-form-item>
                    </el-col>
                    <el-col :span="12">
                      <el-form-item label="语言">
                        <el-select
                          v-model="indexform.language"
                          size="medium"
                          filterable
                          placeholder="请选择分类"
                        >
                          <el-option
                            class="topicobjaa"
                            v-for="item in languagelist"
                            :key="item.value"
                            :label="item.label"
                            :value="item.value"
                          >
                          </el-option>
                        </el-select>
                      </el-form-item>
                    </el-col>
                  </el-row>
                  <el-row :gutter="10">
                    <el-col :span="12">
                      <el-form-item label="是否可用">
                        <el-radio-group v-model="indexform.isAvailable">
                          <el-radio
                            v-for="(item, index) in usable"
                            :label="item.value"
                            >{{ item.label }}</el-radio
                          >
                        </el-radio-group>
                      </el-form-item>
                    </el-col>
                    <el-col :span="12">
                      <el-form-item label="是否必填">
                        <el-radio-group v-model="indexform.ismandatory">
                          <el-radio
                            v-for="(item, index) in required"
                            :label="item.value"
                            >{{ item.label }}</el-radio
                          >
                        </el-radio-group>
                      </el-form-item>
                    </el-col>
                  </el-row>
                  <el-row :gutter="10">
                    <el-col :span="18"
                      ><el-form-item label="题目内容">
                        <el-input
                          style="width: 400px"
                          type="textarea"
                          v-model="indexform.scriptContent"
                          placeholder="请从左侧列表选择"
                        ></el-input> </el-form-item
                    ></el-col>
                  </el-row>
                </div>
                <div>
                  <el-form-item label="指标名称" prop="deptId">
                    <el-input
                      v-model="indexform.targetname"
                      placeholder="请输入指标名称"
                      maxlength="20"
                    />
                  </el-form-item>
                  <el-form-item label="指标描述" prop="deptId">
                    <el-input
                      v-model="indexform.targetdesc"
                      placeholder="请输入指标描述"
                      maxlength="60"
                    />
                  </el-form-item>
                  <el-row>
                    <el-col :span="20">
                      <el-form-item label="值类型">
                        <el-radio-group v-model="indexform.valueType">
                          <el-radio :label="1">选项</el-radio>
                          <el-radio :label="2">文本</el-radio>
                          <el-radio :label="3">数值</el-radio>
                        </el-radio-group>
                      </el-form-item>
                    </el-col>
                  </el-row>
                  <el-row>
                    <el-col :span="20">
                      <el-form-item label="题目类型">
                        <el-radio-group v-model="indexform.scriptType">
                          <el-radio :label="1">单选</el-radio>
                          <el-radio :label="2">多选</el-radio>
                          <el-radio :label="4">问答</el-radio>
                        </el-radio-group>
                      </el-form-item>
                    </el-col>
                  </el-row>
                </div>
                <div class="topicxq" v-if="indexform.scriptType == 4">
                  <el-row>
                    <el-col :span="20">
                      <el-form-item label="收集内容">
                        <el-input
                          style="width: 400px"
                          type="textarea"
                          v-model="indexform.value"
                          placeholder="问题收集内容"
                        ></el-input>
                      </el-form-item>
                    </el-col>
                  </el-row>
                </div>
                <div v-else>
                  <div class="headline">
                    <div class="basics">
                      选项设置
                      <span style="margin-left: 30px"
                        ><el-button type="primary" round @click="addoption"
                          >+新增</el-button
                        ></span
                      >
                    </div>
                  </div>
                  <el-divider></el-divider>
                  <div
                    class="topicxq"
                    v-for="item in indexform.svyLibTemplateTargetoptions"
                    v-if="item.isoperation != 3"
                  >
                    <el-row :gutter="10">
                      <el-col :span="11"
                        ><el-form-item label="选项名称">
                          <el-input
                            type="text"
                            placeholder="请输入选项分值"
                            v-model="item.optioncontent"
                            show-word-limit
                          >
                          </el-input> </el-form-item
                      ></el-col>
                      <el-col :span="11">
                        <el-form-item
                          v-if="indexform.scoretype == 1"
                          label="分值"
                        >
                          <el-input
                            type="text"
                            placeholder="请输入选项分值"
                            v-model="item.score"
                            show-word-limit
                          >
                          </el-input>
                        </el-form-item>
                        <el-form-item
                          v-else-if="indexform.scoretype == 2"
                          label="ABC等级"
                        >
                          <el-radio-group v-model="item.score">
                            <el-radio label="A">A</el-radio>
                            <el-radio label="B">B</el-radio>
                            <el-radio label="C">C</el-radio>
                          </el-radio-group>
                        </el-form-item>
                        <el-form-item
                          v-else-if="indexform.scoretype == 3"
                          label="优良等级"
                        >
                          <el-radio-group v-model="item.score">
                            <el-radio label="优">优</el-radio>
                            <el-radio label="良">良</el-radio>
                            <el-radio label="差">差</el-radio>
                          </el-radio-group>
                        </el-form-item>
                      </el-col>
                      <el-col
                        :span="2"
                        :offsset="indexform.scoretype == 4 ? 11 : 0"
                      >
                        <el-button
                          type="danger"
                          icon="el-icon-delete"
                          circle
                          @click="deletexuanx(item)"
                        ></el-button>
                      </el-col>
                    </el-row>
                    <el-row :gutter="10">
                      <el-form-item label="预警提醒">
                        <el-radio-group v-model="item.isabnormal">
                          <el-radio :label="1">是</el-radio>
                          <el-radio :label="0">否</el-radio>
                        </el-radio-group>
                      </el-form-item>
                    </el-row>
                    <el-row :gutter="10">
                      <el-form-item label="选中提示">
                        <el-input
                          style="width: 400px"
                          type="textarea"
                          autosize
                          placeholder="请输入内容"
                          v-model="item.prompt"
                        >
                        </el-input
                      ></el-form-item>
                    </el-row>
                    <el-form-item label="选项文件" prop="sickness">
                      <div style="width: 40vw">
                        <el-upload
                          class="upload-demo"
                          :action="uploadImgUrl"
                          :headers="headers"
                          accept=".jpg,.png,image/*"
                          :on-success="handleChange.bind(this, item)"
                        >
                          <el-button size="small" type="primary"
                            >点击上传</el-button
                          >
                        </el-upload>
                        <div style="margin: 20px">
                          <el-image
                            style="width: 100px; height: 100px"
                            :src="item.picturePath"
                            :preview-src-list="[...item.picturePath]"
                          >
                          </el-image>
                        </div>
                      </div>
                    </el-form-item>
                  </div>
                </div>
              </el-form>
            </div>
          </el-tab-pane>
        </el-tabs>
      </div>
    </el-drawer>
    <!-- 添加适用疾病窗口 -->
@@ -807,6 +1154,7 @@
      radio: "false", //单选题选中
      radios: [], //多选题选中
      radioas: "", //填空题答案
      activeName: "first",
      dynamicTags: [],
      inputVisible: false,
      dialogVisiblepatient: false, //适用疾病窗口
@@ -818,6 +1166,9 @@
        svyTemplateLibScripts: [],
        tempDetpRelevances: [],
        svyLibTemplateTagList: [],
      },
      indexform: {
        svyLibTemplateTargetoptions: [],
      },
      rules: {},
      rulesa: {},
@@ -998,8 +1349,7 @@
    submitForm(formName) {
      this.$modal.loading("正在上传数据,请稍候...");
      this.ruleForm.suitway = this.ruleForm.suitway.join(",");
      if (condition) {
      }
      if (this.id) {
        this.ruleForm.isoperation = 2;
        compileQtemplate(this.ruleForm).then((res) => {
@@ -1014,9 +1364,7 @@
        compileQtemplate(this.ruleForm).then((res) => {
          this.$modal.msgSuccess("新增成功");
          this.confirmillness(res.data);
          this.$modal.closeLoading();
          this.$router.go(-1);
        });
      }
@@ -1046,7 +1394,6 @@
      this.ruleForm.tempDetpRelevances.forEach((item) => {
        const condition = result.some((obj) => obj === item.deptId);
        if (!condition) {
          console.log(condition);
          const index = this.ruleForm.tempDetpRelevances.indexOf(item);
          this.ruleForm.tempDetpRelevances[index].delFlag = 1;
        }
@@ -1158,7 +1505,24 @@
    },
    // 修改题目信息
    Submittopicobj() {},
    Submittopicobj() {
      this.$modal
        .confirm(
          '是否确认新增名称为"' + this.indexform.scriptTopic + '"的问题数据?'
        )
        .then(() => {
          this.indexform.isoperation = 1;
          this.indexform.svyLibTemplateTargetoptions.forEach((item) => {
            item.isoperation = 1;
          });
          this.ruleForm.svyTemplateLibScripts.push(this.indexform);
          this.indexform = { svyTemplateLibScripts: [] };
          this.drawer = false;
          this.sortFn();
          this.$modal.msgSuccess("题目新增成功,保存模版失效");
        });
    },
    // 新增变量
    addvariable() {
      this.variablelist.push({
@@ -1391,6 +1755,34 @@
      console.log(arraysGreaterThan10, "筛选错误路线大于13分");
    },
    // 新问题新增
    addoption() {
      if (!this.indexform.svyLibTemplateTargetoptions) {
        this.indexform.svyLibTemplateTargetoptions = [];
      }
      this.indexform.svyLibTemplateTargetoptions.push({
        score: "",
        isoperation: 1,
      });
      console.log(this.indexform.svyLibTemplateTargetoptions);
    },
    // 选项文件上传
    handleChange(item, response, file, fileList) {
      console.log(response);
      if (response.code == 200) {
        console.log(item);
        let index = this.indexform.svyLibTemplateTargetoptions.findIndex(
          (obj) => obj.optioncontent == item.optioncontent
        );
        console.log(index);
        this.indexform.svyLibTemplateTargetoptions[index].picturePath =
          response.url;
        console.log(this.indexform.svyLibTemplateTargetoptions[index]);
        this.$forceUpdate();
      } else {
        this.$message.error("图片插入失败");
      }
    },
  },
};
</script>
@@ -1454,6 +1846,14 @@
      margin-bottom: 10px;
    }
  }
}
.headline {
  display: flex;
  justify-content: space-between;
  font-size: 20px;
  border-left: 3px solid #41a1be;
  padding-left: 5px;
  margin: 15px 0;
}
.xinz-inf {
  font-size: 18px;
@@ -1534,11 +1934,22 @@
    }
  }
}
.topicxq {
  background-color: #e2f5fc;
  border-radius: 4px;
  margin-top: 15px;
  margin-left: 10%;
  padding-left: 20px;
  padding-top: 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);
}
.custom-width {
  width: 100px; /* 设置宽度样式 */
}
.el-select {
  width: 40%;
  width: 280px;
}
.el-cascader {
src/views/knowledge/questionnaire/index.vue
@@ -452,10 +452,10 @@
          class="scriptTopic-dev"
          v-for="item in topicform.svyTemplateLibScripts"
          :key="item.sort"
          v-if="item.scriptType == 3"
          v-if="item.scriptType == 4"
        >
          <div class="dev-text">
            {{ item.sort }}、[填空]<span>{{ item.scriptContent }}</span>
            {{ item.sort }}、[问答]<span>{{ item.scriptContent }}</span>
          </div>
          <div class="dev-xx">
            <el-input placeholder="请输入答案" v-model="radioas" clearable>
src/views/patient/patient/index.vue
@@ -1111,8 +1111,6 @@
    },
    //修改/新增患者
    submitForm() {
      if (condition) {
      }
      if (this.amendtag) {
        this.form.isoperation = 2;
        alterpatient(this.form)
src/views/patient/propaganda/Missioncreation.vue
@@ -1066,6 +1066,7 @@
        const isExist = this.overallCase.find((obj) => obj.name == item.name);
        if (!isExist) {
          item.isoperation = 1;
          item.patid = item.id;
          item.hospType = this.patientqueryParams.allhosp;
          this.overallCase.push(item);
          this.form.patTaskRelevances.push(item);
src/views/patient/propaganda/QuestionnaireTask.vue
@@ -1065,6 +1065,7 @@
        const isExist = this.overallCase.find((obj) => obj.name == item.name);
        if (!isExist) {
          item.isoperation = 1;
          item.patid = item.id;
          item.hospType = this.patientqueryParams.allhosp;
          this.overallCase.push(item);
          this.form.patTaskRelevances.push(item);
@@ -1274,8 +1275,11 @@
      let id = this.Tasktemplate.id;
      this.Tasktemplate.id = null;
      console.log(this.Tasktemplate);
      this.Tasktemplate.svyTemplateLibScripts.svyTaskTemplateTargetoptions =
        this.Tasktemplate.svyTemplateLibScripts.svyLibTemplateTargetoptions;
        this.Tasktemplate.svyTemplateLibScripts.forEach((item) => {
          item.svyTaskTemplateTargetoptions =
          item.svyLibTemplateTargetoptions;
      });
      this.Tasktemplate.svyTaskTemplateScriptVOS =
        this.Tasktemplate.svyTemplateLibScripts;
      this.Tasktemplate.templateid = id;
src/views/patient/propaganda/particty.vue
@@ -935,6 +935,7 @@
        if (!isExist) {
          console.log(this.patientqueryParams.allhosp, "allhosp");
          item.isoperation = 1;
          item.patid = item.id;
          item.hospType = this.patientqueryParams.allhosp;
          this.overallCase.push(item);
          this.form.patTaskRelevances.push(item);
src/views/repositoryai/intention/index.vue
@@ -338,6 +338,10 @@
            :rules="rules"
            label-width="100px"
          >
            <div class="headline">
              <div class="basics">基础信息</div>
            </div>
            <el-divider></el-divider>
            <el-row v-if="!measurement">
              <el-col :span="12">
                <el-form-item label="指标名称" prop="targetname">
@@ -401,7 +405,6 @@
              </el-col>
              <el-col :span="8">
                <el-form-item label="是否可用" prop="isAvailable">
                  <el-radio-group v-model="indexform.isAvailable">
                    <el-radio
                      v-for="(item, index) in usable"
@@ -469,7 +472,19 @@
            </el-form-item>
            <el-row v-if="!measurement">
              <el-col :span="24">
                <el-form-item label="值类型">
                <el-form-item>
                  <template #label>
                    值类型
                    <el-tooltip
                      class="item"
                      effect="light"
                      content="本类型为结果收集类型;选项用于指向性题目如是否等;文本适用复杂情况;数值用于收集数值型数据"
                      placement="top-start"
                    >
                      <i class="el-icon-warning-outline"></i>
                    </el-tooltip>
                    <!-- 在标签后插入红色星号 -->
                  </template>
                  <el-radio-group v-model="indexform.valueType">
                    <el-radio :label="1">选项</el-radio>
                    <el-radio :label="2">文本</el-radio>
@@ -519,7 +534,12 @@
                </el-form-item>
              </el-col>
            </el-row>
            <div v-if="indexform.scriptType == 1 || indexform.scriptType == 2">
              <div class="headline">
                <div class="basics">选项设置</div>
              </div>
              <el-divider></el-divider>
            </div>
            <el-card
              class="box-card"
              style="margin-bottom: 20px"
@@ -557,6 +577,10 @@
                </el-card>
              </el-form-item>
            </div> -->
            <div class="headline">
              <div class="basics">指标测试</div>
            </div>
            <el-divider></el-divider>
            <el-row :gutter="20">
              <el-col :span="12">
                <el-form-item label="测试输入" prop="nickName">
@@ -1499,6 +1523,14 @@
.tsgname:hover {
  background: #20894d;
}
.headline {
  display: flex;
  justify-content: space-between;
  font-size: 20px;
  border-left: 4px solid #41a1be;
  padding-left: 5px;
  margin: 15px 0;
}
.qrcode-dialo {
  text-align: center;
  //   display: flex;
src/views/repositoryai/templateku/configurat/index.vue
@@ -359,8 +359,8 @@
                <el-table-column
                  label="编号"
                  align="center"
                  key="targetid"
                  prop="targetid"
                  key="sort"
                  prop="sort"
                />
                <el-table-column
                  label="标题"
@@ -416,31 +416,42 @@
          <div class="presentation-right">
            <el-card class="box-card">
              <el-form
                :inline="true"
                :model="topicobj"
                :inline="true"
                class="demo-form-inline"
              >
                <div class="headline">
                  题目设置详情
                  <!-- <span style="margin-left: 30px"
                    ><el-button type="primary" @click="Submittopicobj"
                      >保存</el-button
                    ></span
                  > -->
                </div>
                <el-form-item label="题目标题">
                  <el-input
                    v-model="topicobj.scriptTopic"
                    placeholder="请从左侧列表选择"
                  ></el-input>
                </el-form-item>
                <el-form-item label="问题节点">
                  <el-input
                    v-model="topicobj.targetid"
                    placeholder="请从左侧列表选择"
                    :disabled="true"
                  ></el-input>
                </el-form-item>
                <div class="headline">题目设置详情</div>
                <el-row>
                  <el-col :span="20"
                    ><el-form-item label="题目标题">
                      <el-input
                        v-model="topicobj.scriptTopic"
                        placeholder="请从左侧列表选择"
                      ></el-input> </el-form-item
                  ></el-col>
                </el-row>
                <el-row>
                  <el-col :span="20"
                    ><el-form-item label="问题话术">
                      <el-input
                        type="textarea"
                        style="width: 400px"
                        v-model="topicobj.scriptContent"
                        placeholder="请从左侧列表选择"
                      ></el-input> </el-form-item
                  ></el-col>
                </el-row>
                <el-row :gutter="10">
                  <el-col :span="12"
                    ><el-form-item label="问题节点">
                      <el-input
                        v-model="topicobj.sort"
                        placeholder="请从左侧列表选择"
                        :disabled="true"
                      ></el-input> </el-form-item
                  ></el-col>
                </el-row>
                <el-row :gutter="10">
                  <el-col :span="12"
                    ><el-form-item label="是否必填">
@@ -474,10 +485,47 @@
                      </el-select> </el-form-item
                  ></el-col>
                </el-row>
                <el-form-item label="问题语音" v-if="topicobj.scriptVoice">
                  <mini-audio :audio-source="topicobj.scriptVoice"></mini-audio>
                </el-form-item>
                <el-row>
                  <el-col :span="6">
                    <el-form-item label="问题语音" prop="verbaltrickyy">
                      <el-upload
                        class="upload-demo"
                        :action="uploadImgUrl"
                        :headers="headers"
                        :show-file-list="false"
                        :on-success="
                          (response, file) => handleChanges(response, file, 1)
                        "
                        accept=".wav,.mp3"
                        :limit="1"
                      >
                        <el-button size="small" type="primary"
                          >点击上传</el-button
                        >
                      </el-upload>
                    </el-form-item>
                  </el-col>
                  <el-col :span="6">
                    <span
                      style="font-size: 18px; margin-top: 10px"
                      v-if="topicobj.scriptVoice"
                      >{{
                        topicobj.scriptVoice.substring(
                          topicobj.scriptVoice.lastIndexOf("/") + 1
                        )
                      }}</span
                    >
                  </el-col>
                  <el-col :span="6">
                    <mini-audio
                      :audio-source="
                        topicobj.scriptVoice
                          ? topicobj.scriptVoice
                          : 'https://example.com/example.mp3'
                      "
                    ></mini-audio>
                  </el-col>
                </el-row>
                <div
                  class="topicxq"
                  v-if="topicobj.valueType == 2 || topicobj.valueType == 3"
@@ -528,16 +576,47 @@
                          </el-input> </el-form-item
                      ></el-col>
                    </el-row>
                    <el-row :gutter="10">
                      <el-col :span="16">
                        <el-form-item
                          label="无匹配语音"
                    <el-row>
                      <el-col :span="6">
                        <el-form-item label="无匹配语音" prop="verbaltrickyy">
                          <el-upload
                            class="upload-demo"
                            :action="uploadImgUrl"
                            :show-file-list="false"
                            :headers="headers"
                            :on-success="
                              (response, file) =>
                                handleChanges(response, file, 2)
                            "
                            accept=".wav,.mp3"
                            :limit="1"
                          >
                            <el-button size="small" type="primary"
                              >点击上传</el-button
                            >
                          </el-upload>
                        </el-form-item>
                      </el-col>
                      <el-col :span="6">
                        <span
                          style="font-size: 12px"
                          v-if="topicobj.nomatchvoice"
                          >{{
                            topicobj.nomatchvoice.substring(
                              topicobj.nomatchvoice.lastIndexOf("/") + 1
                            )
                          }}</span
                        >
                          <mini-audio
                            :audio-source="topicobj.nomatchvoice"
                          ></mini-audio> </el-form-item
                      ></el-col>
                      </el-col>
                      <el-col :span="6">
                        <mini-audio
                          :audio-source="
                            topicobj.nomatchvoice
                              ? topicobj.nomatchvoice
                              : 'https://example.com/example.mp3'
                          "
                        ></mini-audio>
                      </el-col>
                    </el-row>
                  </div>
                  <div class="topicxq">
@@ -555,20 +634,47 @@
                      ></el-col>
                    </el-row>
                    <el-row :gutter="10">
                      <el-col :span="16">
                        <el-form-item
                          label="语音文件"
                          v-if="topicobj.noclearlyvoice"
                        >
                          <mini-audio
                            :audio-source="
                              topicobj.noclearlyvoice
                                ? topicobj.noclearlyvoice
                                : 'https://example.com/example.mp3'
                    <el-row>
                      <el-col :span="6">
                        <el-form-item label="听不清语音" prop="verbaltrickyy">
                          <el-upload
                            class="upload-demo"
                            :action="uploadImgUrl"
                            :show-file-list="false"
                            :headers="headers"
                            :on-success="
                              (response, file) =>
                                handleChanges(response, file, 4)
                            "
                          ></mini-audio> </el-form-item
                      ></el-col>
                            accept=".wav,.mp3"
                            :limit="1"
                          >
                            <el-button size="small" type="primary"
                              >点击上传</el-button
                            >
                          </el-upload>
                        </el-form-item>
                      </el-col>
                      <el-col :span="6">
                        <span
                          style="font-size: 12px"
                          v-if="topicobj.noclearlyvoice"
                          >{{
                            topicobj.noclearlyvoice.substring(
                              topicobj.noclearlyvoice.lastIndexOf("/") + 1
                            )
                          }}</span
                        >
                      </el-col>
                      <el-col :span="6">
                        <mini-audio
                          :audio-source="
                            topicobj.noclearlyvoice
                              ? topicobj.noclearlyvoice
                              : 'https://example.com/example.mp3'
                          "
                        ></mini-audio>
                      </el-col>
                    </el-row>
                  </div>
                  <div class="topicxq">
@@ -586,20 +692,47 @@
                      ></el-col>
                    </el-row>
                    <el-row :gutter="10">
                      <el-col :span="16">
                        <el-form-item
                          label="语音文件"
                          v-if="topicobj.sliencevoice"
                        >
                          <mini-audio
                            :audio-source="
                              topicobj.sliencevoice
                                ? topicobj.sliencevoice
                                : 'https://example.com/example.mp3'
                    <el-row>
                      <el-col :span="6">
                        <el-form-item label="静默语音" prop="verbaltrickyy">
                          <el-upload
                            class="upload-demo"
                            :action="uploadImgUrl"
                            :show-file-list="false"
                            :headers="headers"
                            :on-success="
                              (response, file) =>
                                handleChanges(response, file, 3)
                            "
                          ></mini-audio> </el-form-item
                      ></el-col>
                            accept=".wav,.mp3"
                            :limit="1"
                          >
                            <el-button size="small" type="primary"
                              >点击上传</el-button
                            >
                          </el-upload>
                        </el-form-item>
                      </el-col>
                      <el-col :span="6">
                        <span
                          style="font-size: 12px"
                          v-if="topicobj.sliencevoice"
                          >{{
                            topicobj.sliencevoice.substring(
                              topicobj.sliencevoice.lastIndexOf("/") + 1
                            )
                          }}</span
                        >
                      </el-col>
                      <el-col :span="6">
                        <mini-audio
                          :audio-source="
                            topicobj.sliencevoice
                              ? topicobj.sliencevoice
                              : 'https://example.com/example.mp3'
                          "
                        ></mini-audio>
                      </el-col>
                    </el-row>
                  </div>
                </div>
@@ -627,11 +760,11 @@
          <div
            class="scriptTopic-dev"
            v-for="item in valssu"
            :key="item.targetid"
            :key="item.sort"
            v-if="item.valueType == 1"
          >
            <div class="dev-text">
              {{ item.targetid }}、[单选]<span>{{ item.scriptContent }}</span>
              {{ item.sort }}、[单选]<span>{{ item.scriptContent }}</span>
            </div>
            <div class="dev-xx">
              <el-radio-group v-model="item.remark">
@@ -648,11 +781,11 @@
          <div
            class="scriptTopic-dev"
            v-for="item in valssu"
            :key="item.targetid"
            :key="item.sort"
            v-if="item.valueType == 2"
          >
            <div class="dev-text">
              {{ item.targetid }}、[多选]<span>{{ item.scriptContent }}</span>
              {{ item.sort }}、[多选]<span>{{ item.scriptContent }}</span>
            </div>
            <div class="dev-xx">
              <el-checkbox-group v-model="item.remark">
@@ -670,11 +803,11 @@
          <div
            class="scriptTopic-dev"
            v-for="item in valssu"
            :key="item.targetid"
            :key="item.sort"
            v-if="item.valueType == 3"
          >
            <div class="dev-text">
              {{ item.targetid }}、[填空]<span>{{ item.scriptContent }}</span>
              {{ item.sort }}、[填空]<span>{{ item.scriptContent }}</span>
            </div>
            <div class="dev-xx">
              <el-input placeholder="请输入答案" v-model="radioas" clearable>
@@ -797,92 +930,111 @@
                  >
                </div>
                <el-divider></el-divider>
                <el-form-item label="题目标题">
                  <el-input
                    v-model="indexform.scriptTopic"
                    placeholder="请输入题目标题"
                  ></el-input>
                </el-form-item>
                <el-form-item label="问题节点">
                  <el-input
                    v-model="indexform.targetid"
                    placeholder="请输入问题节点"
                  ></el-input>
                </el-form-item>
                <el-row :gutter="10">
                  <el-col :span="12"
                    ><el-form-item label="是否必填">
                      <el-select
                        v-model="indexform.isMust"
                        placeholder="默认必填"
                      >
                        <el-option
                          v-for="item in required"
                          :key="item.value"
                          :label="item.label"
                          :value="item.value"
                <div>
                  <el-row :gutter="10">
                    <el-col :span="12">
                      <el-form-item label="题目标题">
                        <el-input
                          v-model="indexform.scriptTopic"
                          placeholder="请输入题目标题"
                        ></el-input>
                      </el-form-item>
                    </el-col>
                    <el-col :span="12">
                      <el-form-item label="问题节点">
                        <el-input
                          v-model="indexform.sort"
                          placeholder="请输入问题节点"
                        ></el-input>
                      </el-form-item>
                    </el-col>
                  </el-row>
                  <el-row :gutter="10">
                    <el-col :span="18"
                      ><el-form-item label="问题话术">
                        <el-input
                          style="width: 400px"
                          type="textarea"
                          v-model="indexform.scriptContent"
                          placeholder="请从左侧列表选择"
                        ></el-input> </el-form-item
                    ></el-col>
                  </el-row>
                  <el-row :gutter="10">
                    <el-col :span="12"
                      ><el-form-item label="是否必填">
                        <el-select
                          v-model="indexform.isMust"
                          placeholder="默认必填"
                        >
                        </el-option>
                      </el-select> </el-form-item
                  ></el-col>
                  <!-- <el-col :span="12"
                    ><el-form-item label="取值类型">
                      <el-select
                        v-model="indexform.valueType"
                        placeholder="请选择"
                        :disabled="true"
                      >
                        <el-option
                          v-for="item in valuetype"
                          :key="item.value"
                          :label="item.label"
                          :value="item.value"
                          <el-option
                            v-for="item in required"
                            :key="item.value"
                            :label="item.label"
                            :value="item.value"
                          >
                          </el-option>
                        </el-select> </el-form-item
                    ></el-col>
                    <!-- <el-col :span="12"
                      ><el-form-item label="取值类型">
                        <el-select
                          v-model="indexform.valueType"
                          placeholder="请选择"
                          :disabled="true"
                        >
                        </el-option>
                      </el-select> </el-form-item
                  ></el-col> -->
                </el-row>
                <el-row>
                  <el-col :span="6">
                    <el-form-item label="问题语音" prop="verbaltrickyy">
                      <el-upload
                        class="upload-demo"
                        :action="uploadImgUrl"
                        :headers="headers"
                        :show-file-list="false"
                        :on-success="
                          (response, file) => handleChange(response, file, 1)
                          <el-option
                            v-for="item in valuetype"
                            :key="item.value"
                            :label="item.label"
                            :value="item.value"
                          >
                          </el-option>
                        </el-select> </el-form-item
                    ></el-col> -->
                  </el-row>
                  <el-row>
                    <el-col :span="6">
                      <el-form-item label="问题语音" prop="verbaltrickyy">
                        <el-upload
                          class="upload-demo"
                          :action="uploadImgUrl"
                          :headers="headers"
                          :show-file-list="false"
                          :on-success="
                            (response, file) => handleChange(response, file, 1)
                          "
                          accept=".wav,.mp3"
                          :limit="1"
                        >
                          <el-button size="small" type="primary"
                            >点击上传</el-button
                          >
                        </el-upload>
                      </el-form-item>
                    </el-col>
                    <el-col :span="6">
                      <span
                        style="font-size: 18px; margin-top: 10px"
                        v-if="indexform.scriptVoice"
                        >{{
                          indexform.scriptVoice.substring(
                            indexform.scriptVoice.lastIndexOf("/") + 1
                          )
                        }}</span
                      >
                    </el-col>
                    <el-col :span="6">
                      <mini-audio
                        :audio-source="
                          indexform.scriptVoice
                            ? indexform.scriptVoice
                            : 'https://example.com/example.mp3'
                        "
                        accept=".wav,.mp3"
                        :limit="1"
                      >
                        <el-button size="small" type="primary"
                          >点击上传</el-button
                        >
                      </el-upload>
                    </el-form-item>
                  </el-col>
                  <el-col :span="6">
                    <span
                      style="font-size: 18px; margin-top: 10px"
                      v-if="indexform.scriptVoice"
                      >{{
                        indexform.scriptVoice.substring(
                          indexform.scriptVoice.lastIndexOf("/") + 1
                        )
                      }}</span
                    >
                  </el-col>
                  <el-col :span="6">
                    <mini-audio
                      :audio-source="
                        indexform.scriptVoice
                          ? indexform.scriptVoice
                          : 'https://example.com/example.mp3'
                      "
                    ></mini-audio>
                  </el-col>
                </el-row>
                      ></mini-audio>
                    </el-col>
                  </el-row>
                </div>
                <div>
                  <el-form-item label="指标名称" prop="deptId">
                    <el-input
@@ -948,7 +1100,9 @@
                  <Regular
                    :TargetoptionList="indexform.ivrLibaScriptTargetoptionList"
                    @deloption="deloption"
                    @addoption="addoptionson"
                    :controlsc="false"
                    :addoption="true"
                  />
                  <!-- 无匹配类型 -->
                  <div class="topicxq">
@@ -1282,6 +1436,14 @@
      },
    };
  },
  activated() {
    if (this.id != this.$route.query.id) {
      this.RoutingDataProcessing();
      this.gettabList();
      this.getvFollowup();
      this.auxiliary();
    }
  },
  created() {
    this.RoutingDataProcessing();
@@ -1423,9 +1585,18 @@
          });
      });
      compileFollowup(this.ruleForm).then((res) => {
        this.$modal.msgSuccess("编辑成功");
        this.confirmillness(res.data);
        this.$router.go(-1);
        if (res.code == 200) {
          this.$modal.msgSuccess("编辑成功");
          this.$modal.closeLoading();
          this.confirmillness(res.data);
          const obj = { path: "/knowledge/templateku/" };
          this.$tab.closeOpenPage(obj);
        } else {
          this.$modal.msgError("保存失败");
          this.$modal.closeLoading();
        }
      });
    },
    confirmillness(guid) {
@@ -1448,6 +1619,7 @@
    },
    // 科室处理
    Departmenttreatment() {
      this.$modal.loading("正在上传数据,请稍候...");
      this.ruleForm.deptNames = JSON.stringify(this.tempDetpRelevanceslist);
      this.ruleForm.ivrLibaTemplateScriptVOList =
        this.ruleForm.ivrLibaTemplateScriptVOList.concat(this.delScriptVOList);
@@ -1499,7 +1671,8 @@
        type: "warning",
      })
        .then(() => {
          this.$router.go(-1);
          const obj = { path: "/knowledge/templateku/" };
          this.$tab.closeOpenPage(obj);
        })
        .catch(() => {
          this.$message({
@@ -1508,20 +1681,33 @@
          });
        });
    },
    //控制语音文件
    //控制语音文件(新)
    handleChange(response, file, additionalParam) {
      console.log(response);
      console.log(additionalParam);
      if (additionalParam == 1) {
        this.indexform.scriptVoice = response.url;
        console.log(this.indexform.scriptVoice);
      } else if (additionalParam == 2) {
        this.indexform.nomatchvoice = response.url;
        console.log(this.indexform.nomatchvoice);
      } else if (additionalParam == 3) {
        this.indexform.sliencevoice = response.url;
      } else if (additionalParam == 4) {
        this.indexform.noclearlyvoice = response.url;
      }
      this.$forceUpdate();
    },
    //控制语音文件
    handleChanges(response, file, additionalParam) {
      console.log(response);
      console.log(additionalParam);
      if (additionalParam == 1) {
        this.topicobj.scriptVoice = response.url;
      } else if (additionalParam == 2) {
        this.topicobj.nomatchvoice = response.url;
      } else if (additionalParam == 3) {
        this.topicobj.sliencevoice = response.url;
      } else if (additionalParam == 4) {
        this.topicobj.noclearlyvoice = response.url;
      }
      this.$forceUpdate();
    },
@@ -1641,6 +1827,7 @@
          );
          row.isoperation = 3;
          this.delScriptVOList.push(row);
          this.sortFn();
          this.$modal.msgSuccess("已删除,保存模版生效");
        })
        .catch(() => {});
@@ -1692,12 +1879,12 @@
    sortFn() {
      this.ruleForm.ivrLibaTemplateScriptVOList =
        this.ruleForm.ivrLibaTemplateScriptVOList.map((item, index) => {
          return Object.assign({}, item, { targetid: (index + 1).toString() });
          return Object.assign({}, item, { sort: (index + 1).toString() });
        });
      this.ruleForm.ivrLibaTemplateScriptVOList.forEach((question, index) => {
        question.ivrLibaScriptTargetoptionList =
          question.ivrLibaScriptTargetoptionList.map((option) => {
            option.nextQuestion = Number(question.targetid) + 1;
            option.nextQuestion = Number(question.sort) + 1;
            return option;
          });
      });
@@ -1707,9 +1894,25 @@
    deloption() {},
    // 修改题目信息
    Submittopicobj() {
      this.ruleForm.ivrLibaTemplateScriptVOList[this.optionIndex] =
        this.topicobj;
      this.$modal.msgSuccess("暂存选项成功");
      this.$modal
        .confirm(
          '是否确认新增名称为"' + this.indexform.scriptTopic + '"的问题数据?'
        )
        .then(() => {
          this.indexform.isoperation = 1;
          this.indexform.pid = this.ruleForm.id;
          this.indexform.ivrLibaScriptTargetoptionList.forEach((item) => {
            item.isoperation = 1;
          });
          this.ruleForm.ivrLibaTemplateScriptVOList.push(this.indexform);
          this.indexform = {
            ivrLibaScriptTargetoptionList: [],
          };
          this.drawer = false;
          this.sortFn();
          this.$modal.msgSuccess("题目新增成功,保存模版失效");
        });
    },
    // ---------------------
@@ -1751,6 +1954,19 @@
          nodynamiccruxsJson: "",
        });
      }
    },
    addoptionson() {
      this.indexform.ivrLibaScriptTargetoptionList.push({
        guid: 1,
        isoperation: 1,
        targetvalue: "",
        targetregex: "",
        targetregex2: "",
        dynamiccruxs: [],
        nodynamiccruxs: [],
        dynamiccruxsJson: "",
        nodynamiccruxsJson: "",
      });
    },
  },
};
@@ -1853,6 +2069,7 @@
    vertical-align: bottom;
  }
}
.xinz-infs {
  font-size: 18px;
  line-height: 48px;
src/views/repositoryai/templateku/index.vue
@@ -624,6 +624,7 @@
    downloadfn() {},
    // 跳转编辑话术页面
    compileUpdate(row) {
      // this.$router.replace("/tpuconfigurat");
      this.$router.push({
        path: "/knowledge/tpuconfigurat/",
        query: { id: row.id },
src/views/repositoryai/verbaltrick/particulars/index.vue
@@ -7,14 +7,14 @@
          <el-step>
            <template slot="title">
              <span style="cursor: pointer" @click="Editprogress = 1"
                >问题库编辑</span
                >话术基础信息编辑</span
              >
            </template>
          </el-step>
          <el-step>
            <template slot="title">
              <span style="cursor: pointer" @click="nextstep"
                >问题指标编辑</span
                >话术指标编辑</span
              >
            </template>
          </el-step>
@@ -1192,7 +1192,7 @@
.sidecolumn {
  margin: 20px;
  margin-bottom: 0;
  padding: 20px;
  padding: 15px;
  background: #edf1f7;
  border: 1px solid #dcdfe6;
  -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12),
@@ -1200,6 +1200,7 @@
}
.leftvlue {
  margin: 20px;
  margin-top: 10px;
  padding: 30px;
  background: #ffff;
  border: 1px solid #dcdfe6;