WXL
2023-12-15 04332cb7ab99f5744c79cd70686e86a878a14b7f
完成
已修改11个文件
2215 ■■■■■ 文件已修改
src/views/knowledge/education/index.vue 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/patient/follow/index.vue 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/patient/patient/behospitalized.vue 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/patient/patient/index.vue 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/patient/patient/physical.vue 56 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/repositoryai/intention/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/repositoryai/templateku/configurat/index.vue 1336 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/repositoryai/templateku/index.vue 557 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/repositoryai/verbaltrick/index.vue 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/repositoryai/verbaltrick/particulars/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/notice/index.vue 173 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/knowledge/education/index.vue
@@ -271,10 +271,15 @@
              <el-table-column
                label="标签"
                align="center"
                key="cphonenumber"
                prop="cphonenumber"
                width="120"
              />
                key="tagList"
                prop="tagList"
                width="160"
                :show-overflow-tooltip="true"
              >
                <template slot-scope="scope">
                  <span v-for="item in scope.row.tagList">{{ item }} </span>
                </template>
              </el-table-column>
              <el-table-column
                label="宣教方式"
                align="center"
src/views/patient/follow/index.vue
@@ -51,6 +51,16 @@
              </el-option>
            </el-select>
          </el-form-item>
          <el-form-item label="过滤时间" prop="tagId">
            <el-date-picker
              v-model="queryParams.value1"
              type="daterange"
              range-separator="至"
              start-placeholder="开始日期"
              end-placeholder="结束日期"
            >
            </el-date-picker>
          </el-form-item>
          <el-row>
            <el-form-item label="过滤类型" prop="tagId">
              <el-select
src/views/patient/patient/behospitalized.vue
@@ -41,6 +41,41 @@
              </el-option>
            </el-select>
          </el-form-item>
          <el-form-item label="科室/病区" prop="tagId">
            <el-select v-model="queryParams.Patientid" placeholder="请选择">
              <el-option
                v-for="dict in dict.type.nursinggrade"
                :key="dict.value"
                :label="dict.label"
                :value="dict.value"
              >
              </el-option>
            </el-select>
          </el-form-item>
          <el-form-item label="入院时间" prop="entrytime">
            <el-date-picker
              v-model="queryParams.entrytime"
              type="daterange"
              range-separator="至"
              start-placeholder="开始日期"
              end-placeholder="结束日期"
            >
            </el-date-picker>
          </el-form-item>
          <el-form-item
            label="出院时间"
            prop="departuretime
"
          >
            <el-date-picker
              v-model="queryParams.departuretime"
              type="daterange"
              range-separator="至"
              start-placeholder="开始日期"
              end-placeholder="结束日期"
            >
            </el-date-picker>
          </el-form-item>
          <el-row>
            <el-form-item>
              <el-button
@@ -247,6 +282,13 @@
            width="120"
          />
          <el-table-column
            label="出院小结"
            align="center"
            key="telcode"
            prop="telcode"
            width="120"
          />
          <el-table-column
            label="操作"
            align="center"
            width="160"
src/views/patient/patient/index.vue
@@ -91,7 +91,7 @@
                  </el-option>
                </el-select>
              </el-form-item>
              <el-form-item label="出院日期" prop="userName">
              <el-form-item label="入院日期" prop="userName">
                <el-date-picker
                  v-model="queryParams.valuetime1"
                  align="right"
@@ -100,6 +100,15 @@
                >
                </el-date-picker>
              </el-form-item>
              <el-form-item label="出院日期" prop="departuretime">
                <el-date-picker
                  v-model="queryParams.departuretime"
                  align="right"
                  type="date"
                  placeholder="选择日期"
                >
                </el-date-picker>
              </el-form-item>
              <el-form-item label="就诊编号" prop="number">
                <el-input
                  v-model="queryParams.number"
src/views/patient/patient/physical.vue
@@ -20,24 +20,16 @@
              @keyup.enter.native="handleQuery"
            />
          </el-form-item>
          <el-form-item label="患者编号" prop="idno">
          <el-form-item label="体检编号" prop="idno">
            <el-input
              v-model="queryParams.idno"
              placeholder="请输入患者编号"
              placeholder="请输入体检编号"
              clearable
              style="width: 250px"
              @keyup.enter.native="handleQuery"
            />
          </el-form-item>
          <el-form-item label="患者编号" prop="telcode">
            <el-input
              v-model="queryParams.telcode"
              placeholder="请输入患者编号"
              clearable
              style="width: 280px"
              @keyup.enter.native="handleQuery"
            />
          </el-form-item>
          <el-form-item label="患者范围" prop="tagId">
            <el-select
              v-model="queryParams.Patientid"
@@ -53,7 +45,6 @@
              </el-option>
            </el-select>
          </el-form-item>
          <el-row>
            <el-form-item label="患者标签" prop="tagId">
              <el-select
                v-model="queryParams.tagIds"
@@ -69,13 +60,14 @@
                </el-option>
              </el-select>
            </el-form-item>
            <el-form-item label=" 就诊日期 " prop="admitdate">
          <el-row>
            <el-form-item label=" 体检时间 " prop="admitdate">
              <el-date-picker
                clearable
                v-model="queryParams.admitdate"
                type="date"
                value-format="yyyy-MM-dd"
                placeholder="请选择 就诊日期 "
                type="daterange"
                range-separator="至"
                start-placeholder="开始日期"
                end-placeholder="结束日期"
              >
              </el-date-picker>
            </el-form-item>
@@ -174,7 +166,7 @@
            prop="patid"
          />
          <el-table-column
            label="患者编号"
            label="体检编号"
            align="center"
            key="Patientnumber"
            prop="Patientnumber"
@@ -212,18 +204,32 @@
            </template>
          </el-table-column>
          <el-table-column
            label="就诊类别"
            label="体检套餐"
            align="center"
            key="combo"
            prop="combo"
            width="120"
          />
          <el-table-column
            label="体检类型"
            align="center"
            key="idtype"
            prop="idtype"
            width="120"
          />
          <el-table-column
            label="诊断"
            label="体检状态"
            align="center"
            key="telcode"
            prop="telcode"
            width="120"
          />
          <el-table-column
            label="体检报告"
            align="center"
            key="idno"
            prop="idno"
            width="190"
            width="120"
          />
          <el-table-column
@@ -240,13 +246,7 @@
            prop="telcode"
            width="120"
          />
          <el-table-column
            label="状态"
            align="center"
            key="telcode"
            prop="telcode"
            width="120"
          />
          <el-table-column
            label="就诊时间"
            align="center"
src/views/repositoryai/intention/index.vue
@@ -950,7 +950,7 @@
      });
      this.sortFn();
    },
    deloption() {
    deloption(item) {
      const index = this.testuserList.indexOf(item);
      if (index !== -1) {
        this.testuserList.splice(index, 1); // 从索引位置删除一个元素
src/views/repositoryai/templateku/configurat/index.vue
@@ -1,15 +1,51 @@
<template>
  <div class="stencils">
    <!-- 上部 -->
    <div class="stencils-top">
      <div class="basic">待选问题</div>
      <div class="top-menu">
        <div class="search-box">
          <el-form :inline="true" :model="formInline" class="demo-form-inline">
            <el-form-item label="语言" prop="status">
              <el-select v-model="formInline.status" placeholder="请选择">
  <div class="Questionnairemanagement">
    <!-- 左侧栏 -->
    <div class="sidecolumn">
      <div style="height: 400px">
        <el-steps direction="vertical" :active="Editprogress">
          <el-step title="基础信息"></el-step>
          <el-step title="随访模版题目"></el-step>
          <el-step
            title="随访模版预览"
            description="查看随访模版预览,可导出PDF"
          ></el-step>
        </el-steps>
      </div>
    </div>
    <!-- 右侧数据 -->
    <div class="leftvlue">
      <!-- 基本信息 -->
      <div v-if="Editprogress == 1">
        <div class="leftvlue-jbxx">基本信息</div>
        <el-divider></el-divider>
        <el-form
          :model="ruleForm"
          :rules="rules"
          ref="ruleForm"
          label-width="120px"
          class="demo-ruleForm"
        >
          <el-row>
            <el-col :span="12">
              <el-form-item label="模版名称" prop="region">
                <div style="width: 30%">
                  <el-input v-model="ruleForm.name"></el-input>
                </div>
              </el-form-item>
            </el-col>
            <el-col :span="12">
              <el-form-item label="随访模版分类" prop="region">
                <el-select
                  v-model="ruleForm.classify"
                  size="medium"
                  multiple
                  filterable
                  placeholder="请选择分类"
                >
                <el-option
                  v-for="item in languagelist"
                    class="ruleFormaa"
                    v-for="item in options"
                  :key="item.value"
                  :label="item.label"
                  :value="item.value"
@@ -17,73 +53,406 @@
                </el-option>
              </el-select>
            </el-form-item>
            <el-form-item label="问题主旨">
              <el-input
                v-model="formInline.user"
                placeholder="问题主旨"
              ></el-input>
            </el-col>
          </el-row>
          <el-form-item label="模版简介" prop="name">
            <div style="width: 50%">
              <el-input type="textarea" v-model="ruleForm.name"></el-input>
            </div>
            </el-form-item>
            <el-form-item label="关联指标">
              <el-input
                v-model="formInline.user"
                placeholder="关联指标"
              ></el-input>
          <el-row :gutter="20">
            <el-col :span="6">
              <el-form-item label="版本号" prop="name">
                <el-input v-model="currentVersion"></el-input> </el-form-item
            ></el-col>
            <el-col :span="9">
              <el-form-item label="可用状态" prop="region">
                <el-select
                  v-model="ruleForm.classify"
                  size="medium"
                  multiple
                  filterable
                  placeholder="请选择分类"
                >
                  <el-option
                    class="ruleFormaa"
                    v-for="item in options"
                    :key="item.value"
                    :label="item.label"
                    :value="item.value"
                  >
                  </el-option>
                </el-select> </el-form-item
            ></el-col>
          </el-row>
          <el-form-item label="通知变量" prop="name">
            <el-row v-for="item in variablelist">
              <el-col :span="4">
                <el-input v-model="item.variable"></el-input>
              </el-col>
              <el-col :span="8" :offset="1">
                <el-input v-model="item.value"></el-input>
              </el-col>
              <el-col :span="4" :offset="1">
                <el-button
                  type="success"
                  icon="el-icon-plus"
                  circle
                  @click="addvariable(item)"
                ></el-button>
                <el-button
                  type="danger"
                  icon="el-icon-delete"
                  circle
                  @click="delvariable(item)"
                ></el-button>
              </el-col>
            </el-row>
            </el-form-item>
          <el-form-item label="标签" prop="desc">
            <div class="xinz-inf">
              <el-tag
                :key="tag"
                type="success"
                v-for="tag in dynamicTags"
                closable
                :disable-transitions="false"
                @close="handleClose(tag)"
              >
                {{ tag }}
              </el-tag>
              <el-select
                v-model="inputValue"
                v-if="inputVisible"
                @change="handleInputConfirm"
                filterable
                placeholder="请选择"
              >
                <el-option
                  v-for="item in options"
                  :key="item.label"
                  :label="item.label"
                  :value="item.label"
                >
                </el-option>
              </el-select>
              <el-button
                v-else
                class="button-new-tag"
                size="small"
                @click="showInput"
                >+ 新增标签</el-button
              >
            </div>
          </el-form-item>
          <el-row :gutter="20">
            <el-col :span="6">
              <el-form-item label="语言" prop="name">
                <el-select
                  v-model="ruleForm.language"
                  size="medium"
                  filterable
                  placeholder="请选择分类"
                >
                  <el-option
                    class="ruleFormaa"
                    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="9">
              <el-form-item label="播报优先" prop="region">
                <el-radio-group v-model="ruleForm.classify">
                  <el-radio :label="3">语言合成优先</el-radio>
                  <el-radio :label="6">语言文件优先</el-radio>
                </el-radio-group>
              </el-form-item></el-col
            >
          </el-row>
          <el-form-item label="随访方式" prop="region">
            <el-select
              style="width: 500px"
              v-model="ruleForm.way"
              size="medium"
              multiple
              filterable
              placeholder="请选择分类(多选)"
            >
              <el-option
                class="ruleFormaa"
                v-for="item in xjxsoptions"
                :key="item.value"
                :label="item.label"
                :value="item.value"
              >
              </el-option>
            </el-select>
          </el-form-item>
          <el-form-item label="适用疾病" prop="region">
            <el-select
              style="width: 500px"
              v-model="ruleForm.illness"
              size="medium"
              multiple
              filterable
              placeholder="请选择分类(多选)"
            >
              <el-option
                class="ruleFormaa"
                v-for="item in options"
                :key="item.value"
                :label="item.label"
                :value="item.value"
              >
              </el-option>
            </el-select>
          </el-form-item>
          <el-form-item label="适用院区" prop="region">
            <el-select
              v-model="ruleForm.courtyard"
              size="medium"
              filterable
              placeholder="请选择分类"
            >
              <el-option
                class="ruleFormaa"
                v-for="item in options"
                :key="item.value"
                :label="item.label"
                :value="item.value"
              >
              </el-option>
            </el-select>
          </el-form-item>
          <el-form-item label="适用科室" prop="region">
            <el-select
              style="width: 500px"
              v-model="ruleForm.administrative"
              size="medium"
              multiple
              filterable
              placeholder="请选择分类(多选)"
            >
              <el-option
                class="ruleFormaa"
                v-for="item in options"
                :key="item.value"
                :label="item.label"
                :value="item.value"
              >
              </el-option>
            </el-select>
          </el-form-item>
          <el-form-item label="通用库" prop="region">
            <el-select
              style="width: 500px"
              v-model="ruleForm.way"
              size="medium"
              multiple
              filterable
              placeholder="请选择库(多选)"
            >
              <el-option
                class="ruleFormaa"
                v-for="item in xjxsoptions"
                :key="item.value"
                :label="item.label"
                :value="item.value"
              >
              </el-option>
            </el-select>
          </el-form-item>
          <el-row :gutter="20">
            <el-col :span="8">
              <el-form-item label="随访前处理" prop="name">
                <el-select
                  v-model="ruleForm.languageq"
                  size="medium"
                  filterable
                  placeholder="请选择分类"
                >
                  <el-option
                    class="ruleFormaa"
                    v-for="item in xjxsoptions"
                    :key="item.value"
                    :label="item.label"
                    :value="item.value"
                  >
                  </el-option>
                </el-select> </el-form-item
            ></el-col>
            <el-col :span="9">
              <el-form-item label="随访后处理" prop="region">
                <el-select
                  v-model="ruleForm.languageh"
                  size="medium"
                  filterable
                  placeholder="请选择分类"
                >
                  <el-option
                    class="ruleFormaa"
                    v-for="item in xjxsoptions"
                    :key="item.value"
                    :label="item.label"
                    :value="item.value"
                  >
                  </el-option>
                </el-select> </el-form-item
            ></el-col>
          </el-row>
          <el-row :gutter="20">
            <el-col :span="8">
              <el-form-item label="静默时间(秒)" prop="name">
                <div style="width: 40%">
                  <el-input
                    v-model="ruleForm.name"
                  ></el-input></div></el-form-item
            ></el-col>
            <el-col :span="8">
              <el-form-item label="无匹配重复(次)" prop="region">
                <div style="width: 40%">
                  <el-input v-model="ruleForm.name"></el-input>
                </div> </el-form-item
            ></el-col>
          </el-row>
            <el-form-item>
              <el-button type="primary" icon="el-icon-search" @click="onSubmit"
                >搜索</el-button
            <el-button type="success" @click="nextstep('ruleForm')"
              >下一步</el-button
            >
            <el-button type="info" @click="closeFm('ruleForm')">关闭</el-button>
            <el-button @click="submitForm('ruleForm')"
              >保存随访模版基础信息</el-button
              >
            </el-form-item>
          </el-form>
        </div>
        <div
          style="
            height: 300px;
            border: 0.5px solid #aeafb1;
            overflow-x: hidden;
            overflow-y: scroll;
          "
      <!-- 随访模版设置 -->
      <div v-if="Editprogress == 2">
        <div class="leftvlue-jbxx">随访模版题目设置</div>
        <el-divider></el-divider>
        <div class="addtopic">
          <el-button
            type="primary"
            icon="el-icon-plus"
            round
            @click="drawer = true"
            >添加题目</el-button
        >
          <div class="menu-list" v-for="item in 13">
            <div>用药是否规范</div>
            <div class="menu-icon" @click="menudeletei(index)">
              <i class="el-icon-plus" />
            </div>
          </div>
        </div>
      </div>
    </div>
    <!-- 下部 -->
    <div class="stencils-bottom">
      <div class="issue">
        <div class="basics">已选择问题</div>
        <div style="margin: 10px; font-size: 20px">体检通知</div>
        <div
          style="
            height: 350px;
            margin: 10px;
            border: 0.5px solid #aeafb1;
            overflow-x: hidden;
            overflow-y: scroll;
          "
        <div class="presentation">
          <div class="presentation-left">
            <el-card class="box-card" style="min-height: 688px">
              <el-table v-loading="loading" :data="userList">
                <el-table-column
                  label="编号"
                  align="center"
                  key="userid"
                  prop="userid"
                />
                <el-table-column
                  label="标题"
                  align="center"
                  key="userName"
                  prop="userName"
                  :show-overflow-tooltip="true"
                />
                <el-table-column
                  label="问题话术"
                  align="center"
                  key="verbaltrick"
                  prop="verbaltrick"
                  :show-overflow-tooltip="true"
                />
                <el-table-column
                  label="操作"
                  align="center"
                  width="250"
                  class-name="small-padding fixed-width"
        >
          <div class="menu-list" v-for="item in 13">
            <div>用药是否规范</div>
            <div class="menu-icons" @click="menudeletei(index)">
              <i class="el-icon-delete" />
                  <template slot-scope="scope">
                    <el-button
                      icon="el-icon-edit"
                      type="primary"
                      circle
                      @click="handleUpdate(scope.row)"
                    ></el-button>
                    <el-button
                      type="danger"
                      icon="el-icon-delete"
                      circle
                      @click="deloption(scope.row)"
                    ></el-button>
                    <el-button
                      @click="syioption(scope.row)"
                      type="success"
                      icon="el-icon-top"
                      circle
                    ></el-button>
                    <el-button
                      @click="xiayioption(scope.row)"
                      type="success"
                      icon="el-icon-bottom"
                      circle
                    ></el-button>
                  </template>
                </el-table-column>
              </el-table>
            </el-card>
            <pagination
              v-show="total > 0"
              :total="total"
              :page.sync="queryParams.pageNum"
              :limit.sync="queryParams.pageSize"
              @pagination="getList"
            />
            </div>
          </div>
        </div>
        <div class="issue-button">
          <el-button type="primary" icon="el-icon-circle-plus-outline"
            >关系图</el-button
          <div class="presentation-right">
            <el-card class="box-card">
              <el-form
                :inline="true"
                :model="topicobj"
                class="demo-form-inline"
          >
          <el-button type="primary" icon="el-icon-s-claim">保存</el-button>
        </div>
      </div>
      <div class="particulars">
        <div class="headline">
          <div class="basics">问题配置</div>
                  题目设置详情
                  <span style="margin-left: 30px"
                    ><el-button type="primary" @click="Submittopicobj"
                      >保存</el-button
                    ></span
                  >
                </div>
                <el-form-item label="题目标题">
                  <el-input
                    v-model="topicobj.title"
                    placeholder="请输入标题"
                  ></el-input>
                </el-form-item>
                <el-row :gutter="10">
                  <el-col :span="12"
                    ><el-form-item label="是否必答">
                      <el-radio-group v-model="topicobj.resource">
                        <el-radio label="是"></el-radio>
                        <el-radio label="否"></el-radio>
                      </el-radio-group> </el-form-item
                  ></el-col>
                  <el-col :span="12"
                    ><el-form-item label="是否隐藏">
                      <el-radio-group v-model="topicobj.resourcea">
                        <el-radio label="是"></el-radio>
                        <el-radio label="否"></el-radio>
                      </el-radio-group> </el-form-item
                  ></el-col>
                </el-row>
                <div class="headline">
                  <div class="basics">选项设置</div>
          <div class="headbottom">
            <el-button
              type="primary"
@@ -91,75 +460,247 @@
              @click="addzbiao"
              >添加指标</el-button
            >
            <el-button type="primary" icon="el-icon-s-claim">保存</el-button>
          </div>
        </div>
        <div
          class="valuetop"
          v-for="(item, index) in deployList"
          :key="item.id"
                <div class="topicxq" v-for="item in 2">
                  <el-row :gutter="10">
                    <el-col :span="12"
                      ><el-form-item label="处理">
                        <el-input
                          type="text"
                          placeholder="(默认)无声"
                          v-model="queryParams.text"
                          show-word-limit
        >
          <div class="val-text">
            <div>
              有无复查 <span>{{ item.name }}</span>
            </div>
            <div class="text-icon" @click="deletei(index)">
              <i class="el-icon-delete" />
            </div>
          </div>
          <div class="val-bon">
            <el-form ref="form" :model="item" label-width="90px">
              <el-form-item label="节点ID">
                <el-input v-model="item.id"></el-input>
              </el-form-item>
              <el-form-item label="节点描述">
                <el-input v-model="item.name"></el-input>
              </el-form-item>
              <el-form-item label="文本提示">
                <el-input type="textarea" v-model="item.valuetop"></el-input>
              </el-form-item>
              <el-form-item label="语音地址">
                <el-input v-model="item.name"></el-input>
              </el-form-item>
              <el-form-item label="跳转问题号">
                <el-input v-model="item.name"></el-input>
              </el-form-item>
              <el-form-item label="播报类型">
                <el-radio-group v-model="item.resource">
                  <el-radio label="混合优先"></el-radio>
                  <el-radio label="文字优先"></el-radio>
                </el-radio-group>
              </el-form-item>
              <el-form-item label="指标类型">
                <el-radio-group v-model="item.resource">
                  <el-radio label="选项"></el-radio>
                  <el-radio label="文本"></el-radio>
                  <el-radio label="数组"></el-radio>
                </el-radio-group>
              </el-form-item>
              <el-form-item label="指标名称">
                <el-input v-model="item.name"></el-input>
              </el-form-item>
              <el-form-item label="指标值">
                <el-input v-model="item.name"></el-input>
              </el-form-item>
              <el-form-item label="适用规则">
                <el-radio-group v-model="item.resources">
                  <el-radio label="基础"></el-radio>
                  <el-radio label="自定义"></el-radio>
                </el-radio-group>
              </el-form-item>
              <el-form-item
                label="自定义规则"
                v-if="item.resources == '自定义'"
                        </el-input> </el-form-item
                    ></el-col>
                    <el-col :span="12"
                      ><el-form-item label="节点ID">
                        <el-input
                          type="text"
                          placeholder="请输入分值"
                          v-model="queryParams.text"
                          show-word-limit
              >
                <el-input type="textarea" v-model="item.valuetop"></el-input>
                        </el-input> </el-form-item
                    ></el-col>
                  </el-row>
                  <el-row :gutter="10">
                    <el-col :span="12"
                      ><el-form-item label="选中提示">
                        <el-input
                          type="text"
                          placeholder="请输入内容"
                          v-model="queryParams.text"
                          maxlength="10"
                          show-word-limit
                        >
                        </el-input> </el-form-item
                    ></el-col>
                    <el-col :span="12"
                      ><el-form-item label="选中跳转">
                        <el-input
                          type="text"
                          placeholder="请输入题号"
                          v-model="queryParams.text"
                          show-word-limit
                        >
                        </el-input> </el-form-item
                    ></el-col>
                  </el-row>
                  <el-form-item label="语音文本">
                    <el-input
                      style="width: 24vw"
                      type="textarea"
                      placeholder="请输入题号"
                      v-model="queryParams.text"
                      show-word-limit
                    >
                    </el-input>
                  </el-form-item>
                  <el-row :gutter="10">
                    <el-col :span="16">
                      <el-form-item label="语音文件">
                        <el-upload
                          class="upload-demo"
                          style="display: flex"
                          action="https://jsonplaceholder.typicode.com/posts/"
                          :on-change="handleChange"
                          :file-list="fileList"
                          :limit="1"
                          :on-exceed="handleExceed"
                        >
                          <el-button size="small" type="primary"
                            >点击上传</el-button
                          >
                        </el-upload>
                      </el-form-item></el-col
                    >
                    <el-col :span="8">
                      <div style="text-align: right; padding-right: 10px;" >
                        <el-button type="danger" round>删除</el-button>
                      </div>
                    </el-col>
                  </el-row>
                </div>
              </el-form>
            </el-card>
          </div>
        </div>
        <el-button type="success" @click="nextstep('ruleForm')"
          >下一步</el-button
        >
        <el-button type="primary" @click="laststep()">上一步</el-button>
        <el-button type="info" @click="closeFm('ruleForm')">关闭</el-button>
        <el-button @click="Saveproblem('ruleForm')">保存题目数据</el-button>
      </div>
      <!-- 随访模版预览 -->
      <div v-if="Editprogress == 3">
        <div class="leftvlue-jbxx">随访模版预览</div>
        <el-divider></el-divider>
        <div class="preview-left">
          <!-- 单选 -->
          <div class="topic-dev" v-for="item in valssu" :key="item.aaa">
            <div class="dev-text">
              {{ item.idd }}、[单选]<span>{{ item.wssd }}</span>
            </div>
            <div class="dev-xx">
              <el-radio-group v-model="radio">
                <el-radio
                  v-for="(items, index) in item.sdadd"
                  :key="index"
                  :label="index"
                  >{{ items }}</el-radio
                >
              </el-radio-group>
            </div>
          </div>
          <!-- 多选 -->
          <div class="topic-dev" v-for="item in valssu" :key="item.aaa">
            <div class="dev-text">
              {{ item.idd }}、[多选]<span>{{ item.wssd }}</span>
            </div>
            <div class="dev-xx">
              <el-checkbox-group v-model="radios">
                <el-checkbox
                  v-for="(items, index) in item.sdadd"
                  :key="index"
                  :label="index"
                >
                  {{ items }}
                </el-checkbox>
              </el-checkbox-group>
            </div>
          </div>
          <!-- 填空 -->
          <div class="topic-dev" v-for="item in valssu" :key="item.aaa">
            <div class="dev-text">
              {{ item.idd }}、[填空]<span>{{ item.wssd }}</span>
            </div>
            <div class="dev-xx">
              <el-input placeholder="请输入答案" v-model="radioas" clearable>
              </el-input>
            </div>
          </div>
        </div>
        <el-button type="info" @click="closeFm('ruleForm')">关闭</el-button>
        <el-button>导出为pdf</el-button>
        <el-button type="primary" @click="laststep()">上一步</el-button>
      </div>
    </div>
    <!-- 添加题目弹窗 -->
    <el-drawer
      title="添加题目"
      :visible.sync="drawer"
      custom-class="demo-drawer"
      width="50%"
    >
      <div class="preview-left">
        <el-form
          :model="queryParams"
          ref="queryForm"
          size="small"
          :inline="true"
          label-width="98px"
        >
          <el-form-item label="标题" prop="userName">
            <el-input
              v-model="queryParams.userName"
              placeholder="请输入"
              clearable
              style="width: 200px"
              @keyup.enter.native="handleQuery"
            />
          </el-form-item>
          <el-form-item label="主题" prop="sickness">
            <el-select
              v-model="ruleForm.classify"
              size="medium"
              multiple
              filterable
              placeholder="请选择分类"
            >
              <el-option
                class="ruleFormaa"
                v-for="item in options"
                :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="handleQuery"
              >搜索</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="userName"
            prop="userName"
            width="100"
          />
          <el-table-column
            label="问题话术"
            align="center"
            key="verbaltrick"
            prop="verbaltrick"
            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="handleUpdate(scope.row)"
                ><span class="button-textxg"
                  ><i class="el-icon-circle-plus-outline"></i>添加</span
                ></el-button
              >
            </template>
          </el-table-column>
        </el-table>
          </div>
        </div>
      </div>
    </div>
    </el-drawer>
  </div>
</template>
@@ -167,37 +708,133 @@
export default {
  data() {
    return {
      deployList: [
      sidecolumnrabs: "left", //方向
      Editprogress: 2, //编辑进度
      currentVersion: "1.2.3", //当前版本
      loading: false, // 遮罩层
      drawer: false, //控制展开
      radio: "false", //单选题选中
      radios: [], //多选题选中
      radioas: "", //填空题答案
      dynamicTags: ["标签一", "标签二", "标签三"],
      inputVisible: false,
      inputValue: "",
      topicobj: {},
      // 总条数
      total: 1,
      ruleForm: {
        name: "",
        region: "",
        date1: "",
        date2: "",
        delivery: false,
        type: [],
        resource: "",
        desc: "",
        templatevalue: "",
        data2: "",
      },
      rules: {},
      rulesa: {},
      xjxsoptions: [
        {
          id: 1,
          name: "有",
          valuetop:
            "(?!.*忘|.*不|.*没)^.*(是|有|对|做|作|检|查|复诊|好|参加|复诊|去(过|好|了|完|医院)|来(过|了|医院))|没错|对呀|可能|(已经|早)去了|开了药|腰带|吊带|要的|(?<!没)有的|表带,10;要,5",
          value: "选项1",
          label: "图文",
        },
        {
          id: 2,
          name: "不知道",
          valuetop:
            "(不|没|谁|鬼|怎么).*(病|可能|知道|了解|清楚|懂|明白|确认|确定|晓得|知晓|认得|识得|印象|熟悉|记|会|关心|关注|注意|告诉|通知|听)",
          value: "选项2",
          label: "视频",
        },
        {
          value: "选项3",
          label: "音频",
        },
      ],
      fileList: [
        {
          name: "food.jpeg",
          url: "https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100",
        },
      ],
      options: [
        {
          value: "选项1",
          label: "疾病随访模版",
        },
        {
          value: "选项2",
          label: "入院随访模版",
        },
        {
          value: "选项3",
          label: "手术随访模版",
        },
        {
          value: "选项4",
          label: "护理随访模版",
        },
      ],
      languagelist: [
        {
          value: 1,
          value: "1",
          label: "普通话",
        },
        {
          value: 2,
          value: "2",
          label: "粤语",
        },
        {
          value: 3,
          label: "英语",
          value: "3",
          label: "英文",
        },
      ], //语言列表
      formInline: {
        user: "",
        region: "",
      ],
      variablelist: [
        {
          variable: "paitent",
          value: "表示患者的标识",
        },
      ],
      valssu: [
        {
          idd: 1,
          wssd: "你最近怎么样",
          sdadd: ["sss", "ssccss", "ssaas", "ss"],
        },
      ],
      addvalue: "添加题目",
      // 题目表格数据
      userList: [
        {
          userid: "1",
          userName: "一号随访模版",
          verbaltrick: "一号随访模版",
        },
        {
          userid: "2",
          userName: "二号随访模版",
          verbaltrick: "一号随访模版",
        },
        {
          userid: "3",
          userName: "三号随访模版",
          verbaltrick: "一号随访模版",
        },
        {
          userid: "4",
          userName: "四号随访模版",
          verbaltrick: "一号随访模版",
        },
      ],
      // 查询参数
      queryParams: {
        pageNum: 1,
        pageSize: 10,
        userName: undefined,
        phonenumber: undefined,
        status: undefined,
        deptId: undefined,
        IDnumber: undefined,
      },
    };
  },
@@ -205,149 +842,326 @@
  created() {},
  methods: {
    deletei(index) {
      console.log(index);
      this.deployList.splice(index, 1);
    getIndexInArray(arr, obj) {
      return arr.indexOf(obj);
    },
    addzbiao() {
      const ids = this.deployList.length + 1;
      console.log(ids);
      this.deployList.push({
        id: ids,
        name: "",
        valuetop: "",
    submitForm(formName) {
      this.rules = this.rulesa;
      //   提交
      this.$refs[formName].validate((valid) => {
        if (valid) {
          alert("submit!");
        } else {
          console.log("error submit!!");
          return false;
        }
      });
    },
    onSubmit() {
      console.log("submit!");
    // 下一步
    nextstep() {
      if (this.Editprogress <= 2) {
        return this.Editprogress++;
      }
    },
    // 上一步
    laststep() {
      this.Editprogress = this.Editprogress - 1;
    },
    // 关闭
    closeFm() {
      this.$confirm("退出不会保留页面内容更改, 是否继续?", "提示", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
      })
        .then(() => {
          this.$router.go(-1);
        })
        .catch(() => {
          this.$message({
            type: "info",
            message: "已取消",
          });
        });
    },
    // 保存题目信息
    Saveproblem() {},
    /** 查询题目列表 */
    getList() {
      //   this.loading = true;
      listUser().then((response) => {
        console.log(response);
        // this.userList = response.data;
        // this.total = response.total;
        // this.loading = false;
        console.log(this.userList);
      });
      //   const { rows } = await listUser();
      //   console.log(rows);
      //   this.list = rows;
    },
    // 修改题目信息
    Submittopicobj() {},
    // 新增变量
    addvariable() {
      this.variablelist.push({
        variable: "",
        value: "",
      });
    },
    // 删除变量
    delvariable(item) {
      const index = this.variablelist.indexOf(item);
      if (index !== -1) {
        this.variablelist.splice(index, 1); // 从索引位置删除一个元素
      } else {
        console.log("未找到该对象");
      }
    },
    // 控制文件
    handleChange(file, fileList) {
      this.fileList = fileList.slice(-3);
    },
    // 文件超出个数限制时的钩子
    handleExceed(files, fileList) {
      this.$message.warning(
        `当前限制选择 1 个文件,本次选择了 ${files.length} 个文件,共选择了 ${
          files.length + fileList.length
        } 个文件`
      );
    },
    // 标签-----------------
    handleClose(tag) {
      this.dynamicTags.splice(this.dynamicTags.indexOf(tag), 1);
    },
    handleInputConfirm() {
      let inputValue = this.inputValue;
      if (inputValue) {
        this.dynamicTags.push(inputValue);
      }
      this.inputVisible = false;
      this.inputValue = "";
    },
    showInput() {
      this.inputVisible = true;
      // 自动获取焦点
      // this.$nextTick((_) => {
      //   this.$refs.saveTagInput.$refs.input.focus();
      // });
    },
    //测试表单 ---------------------------------
    addzbiao() {},
    handleUpdate() {},
    deloption(item) {
      const index = this.userList.indexOf(item);
      if (index !== -1) {
        this.userList.splice(index, 1); // 从索引位置删除一个元素
        this.sortFn();
      } else {
        console.log("未找到该对象");
      }
    },
    syioption(row) {
      const index = this.getIndexInArray(this.userList, row);
      const item = this.userList.splice(index, 1)[0]; // 移除指定索引处的元素,并保存到item变量中
      this.userList.splice(index - 1, 0, item); // 将item插入到索引位置的前一位
      this.sortFn();
    },
    xiayioption(row) {
      const index = this.getIndexInArray(this.userList, row);
      const item = this.userList.splice(index, 1)[0]; // 移除指定索引处的元素,并保存到item变量中
      this.userList.splice(index + 1, 0, item); // 将item插入到索引位置的前一位
      this.sortFn();
    },
    sortFn() {
      this.userList = this.userList.map((item, index) => {
        return {
          userid: index + 1,
          userName: item.userName,
          verbaltrick: item.verbaltrick,
        };
      });
      console.log(this.userList);
    },
    // ---------------------
    // 查询题库
    handleQuery() {},
    resetQuery() {},
    resetForm(formName) {
      this.$refs[formName].resetFields();
    },
  },
};
</script>
<style lang="scss" scoped>
.stencils-top {
  .basic {
    height: 50px;
    margin: 15px;
    border-radius: 8px;
    margin-bottom: 0;
    padding: 0 20px 20px 20px;
    line-height: 50px;
    background: #bee2ff;
    justify-content: space-between;
.Questionnairemanagement {
  display: flex;
  }
  .top-menu {
    margin: 15px;
    margin-top: 0;
    height: 400px;
    border-radius: 4px;
    padding: 10px 30px 10px 30px;
    background: #f2f5fc;
.sidecolumn {
  width: 300px;
  min-height: 100vh;
  text-align: center;
  //   display: flex;
  //   margin-top: 20px;
  margin: 20px;
  margin-bottom: 0;
  padding: 30px;
  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);
    .menu-list {
      display: flex;
      justify-content: space-between;
      padding: 5px;
      border-bottom: 0.5px solid #bfc0c2;
}
.leftvlue {
  //   display: flex;
  //   flex: 1;
  width: 80%;
  margin-top: 20px;
  //   margin: 20px;
  padding: 30px;
  background: #ffff;
  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);
  .mulsz {
    font-size: 20px;
  }
  .leftvlue-jbxx {
    font-size: 24px;
    border-left: 5px solid #41a1be;
    padding-left: 5px;
    margin: 15px 0;
  }
  .demo-cascader {
    margin-right: 20px;
  }
  .PreviewTemplate {
    color: #02a7f0;
    cursor: pointer;
    font-size: 20px;
    margin: 0 20px;
  }
}
.preview-left {
  margin: 20px;
  //   margin: 20px;
  padding: 30px;
  background: #ffff;
  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);
  .topic-dev {
    margin-bottom: 25px;
    font-size: 20px !important;
    .dev-text {
      margin-bottom: 10px;
    }
  }
}
.stencils-bottom {
  display: flex;
  justify-content: space-between;
  .issue {
    width: 37%;
    margin-left: 15px;
    height: 500px;
    background: #f2f5fc;
    .menu-list {
      display: flex;
      justify-content: space-between;
      padding: 5px;
      border-bottom: 0.5px solid #bfc0c2;
    }
    .basics {
      height: 50px;
      border-radius: 8px;
      padding-left: 20px;
      line-height: 50px;
      background: #bee2ff;
      justify-content: space-between;
    }
  }
  .issue-button {
    margin: 10px;
    text-align: right;
  }
  .particulars {
    width: 59%;
    margin-right: 15px;
    background: #f2f5fc;
.xinz-inf {
  font-size: 18px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 48px;
  .el-tag + .el-tag {
    margin-left: 10px;
  }
  .button-new-tag {
    margin-left: 10px;
    height: 32px;
    line-height: 30px;
    padding-top: 0;
    padding-bottom: 0;
  }
  .input-new-tag {
    width: 90px;
    margin-left: 10px;
    vertical-align: bottom;
  }
}
.addtopic {
  margin-top: 30px;
}
.presentation {
  margin: 20px 0;
  display: flex;
  .presentation-left {
    width: 45%;
    // height: 500px;
    .button-textxg {
      color: #024df0;
    }
    .button-textsc {
      color: #f52727;
    }
  }
  .presentation-right {
    width: 55%;
    max-height: 688px;
    padding: 0 20px;
    font-size: 18px;
    overflow: auto;
    .headline {
      display: flex;
      height: 50px;
      padding: 0 20px 20px 20px;
      line-height: 50px;
      background: #bee2ff;
      justify-content: space-between;
      font-size: 20px;
      border-left: 3px solid #41a1be;
      padding-left: 5px;
      margin: 15px 0;
    }
    .valuetop {
      .val-text {
        display: flex;
        height: 50px;
        margin: 15px;
        margin-bottom: 0;
        // padding: 0 20px 20px 20px;
        padding: 0 20px;
        align-items: center;
        background: #bee2ff;
        justify-content: space-between;
        .text-icon {
          width: 35px;
          height: 35px;
          line-height: 35px;
          text-align: center;
          background: #fafafa;
          cursor: pointer;
          border-radius: 5px;
        }
      }
      .val-bon {
        margin: 15px;
        margin-top: 0;
        padding: 30px;
        background: #f2f5fc;
        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);
    .topicxq {
      background-color: #e2f5fc;
      border-radius: 4px;
      margin-top: 10px;
      padding-left: 10px;
      padding-top: 15px;
      }
    }
  }
::v-deep .addtopic-input {
  input {
    background: #02a7f0;
    color: #edf1f7;
    width: 150px;
}
.menu-icon {
  cursor: pointer;
  width: 20px;
  height: 20px;
  line-height: 20px;
  text-align: center;
  margin-right: 10px;
  background: #78baf0;
  color: #fff;
  border-radius: 2px;
}
.menu-icons {
  cursor: pointer;
  width: 20px;
  height: 20px;
  line-height: 20px;
  text-align: center;
  margin-right: 10px;
  background: #f7603a;
  color: #fff;
  border-radius: 2px;
::v-deep.el-step.is-vertical .el-step__title {
  font-size: 20px;
}
::v-deep.el-input--medium {
  font-size: 18px !important;
}
::v-deep.ruleFormaa.el-select {
  display: inline-block;
  position: relative;
  width: 700px;
}
.el-select__tags {
  font-size: 20px;
  max-width: 888px !important;
}
::v-deep.el-radio__inner {
  width: 22px;
  height: 22px;
}
// ::v-deep.topic-dev.el-radio__label {
//   font-size: 24px;
// }
::v-deep.el-radio-group {
  span {
    font-size: 20px;
  }
}
::v-deep.el-checkbox-group {
  span {
    font-size: 20px;
  }
}
// ::v-deep.el-form-item--medium .el-form-item__content {
//   line-height: 36px;
//   display: flex;
// }
</style>
src/views/repositoryai/templateku/index.vue
@@ -21,7 +21,7 @@
        </el-input>
      </div>
      <div class="bottom-fl">
        <el-tabs tab-position="right">
        <!-- <el-tabs tab-position="right">
          <el-tab-pane :label="`全部 (${numberlb})`"></el-tab-pane>
          <el-tab-pane
            class="tab-paness"
@@ -48,21 +48,53 @@
                <i slot="reference" class="el-icon-share"></i> </el-popover
            ></span>
          </el-tab-pane>
        </el-tabs>
        </el-tabs> -->
        <el-menu
          default-active="3"
          class="el-menu-vertical-demo"
          @open="handleOpen"
          @close="handleClose"
          @select="handleSelect"
        >
          <el-submenu index="1">
            <template slot="title">
              <i class="el-icon-location"></i>
              <span>分类一</span>
            </template>
            <el-menu-item index="1-1">选项1</el-menu-item>
            <el-menu-item index="1-2">选项2</el-menu-item>
            <el-menu-item index="1-3">选项3</el-menu-item>
            <el-menu-item index="1-4">选项3</el-menu-item>
          </el-submenu>
          <el-submenu index="2">
            <template slot="title">
              <i class="el-icon-menu"></i>
              <span>分类二</span>
            </template>
            <el-menu-item index="2-1">选项1</el-menu-item>
            <el-menu-item index="2-2">选项2</el-menu-item>
            <el-menu-item index="2-3">选项3</el-menu-item>
          </el-submenu>
          <el-submenu index="3">
            <template slot="title">
              <i class="el-icon-document"></i>
              <span>分类三</span>
            </template>
            <el-menu-item index="2-1">选项1</el-menu-item>
          </el-submenu>
          <el-submenu index="4">
            <template slot="title">
              <i class="el-icon-setting"></i>
              <span>分类四</span>
            </template>
            <el-menu-item index="2-1">选项1</el-menu-item>
          </el-submenu>
        </el-menu>
      </div>
    </div>
    <!-- 右侧数据 -->
    <div :class="topactiveName == 'Local' ? 'leftvlue' : 'leftvlues'">
      <div class="leftvlue-top">
        <el-tabs v-model="topactiveName" @tab-click="tophandleClick">
          <el-tab-pane name="Local">
            <span class="mulsz" slot="label">普通模版库 </span>
          </el-tab-pane>
          <el-tab-pane name="sharing">
            <span class="mulsz" slot="label">通用模版库 </span>
          </el-tab-pane>
        </el-tabs>
      </div>
      <div class="leftvlue-bg">
        <el-row :gutter="20">
          <!--用户数据-->
@@ -75,7 +107,7 @@
              v-show="showSearch"
              label-width="98px"
            >
              <el-form-item label="模版名称" prop="userName">
              <el-form-item label="模版标题" prop="userName">
                <el-input
                  v-model="queryParams.userName"
                  placeholder="请输入"
@@ -84,7 +116,7 @@
                  @keyup.enter.native="handleQuery"
                />
              </el-form-item>
              <el-form-item label="语言" prop="status">
              <el-form-item label="适用科室" prop="status">
                <el-select v-model="queryParams.status" placeholder="请选择">
                  <el-option
                    v-for="item in languagelist"
@@ -95,7 +127,29 @@
                  </el-option>
                </el-select>
              </el-form-item>
              <el-form-item label="是否启用" prop="status">
              <el-form-item label="可用状态" prop="status">
                <el-select v-model="queryParams.status" placeholder="请选择">
                  <el-option
                    v-for="item in qyoptions"
                    :key="item.value"
                    :label="item.label"
                    :value="item.value"
                  >
                  </el-option>
                </el-select>
              </el-form-item>
              <el-form-item label="适用方式" prop="status">
                <el-select v-model="queryParams.status" placeholder="请选择">
                  <el-option
                    v-for="item in languagelist"
                    :key="item.value"
                    :label="item.label"
                    :value="item.value"
                  >
                  </el-option>
                </el-select>
              </el-form-item>
              <el-form-item label="内容形式" prop="status">
                <el-select v-model="queryParams.status" placeholder="请选择">
                  <el-option
                    v-for="item in qyoptions"
@@ -174,42 +228,68 @@
                :show-overflow-tooltip="true"
              />
              <el-table-column
                label="静默时间"
                label="主要内容"
                align="center"
                key="nickName"
                prop="nickName"
                width="400"
                width="300"
                :show-overflow-tooltip="true"
              />
              <el-table-column
                label="无声重复次数"
                label="适用疾病"
                align="center"
                key="aphonenumber"
                prop="aphonenumber"
                width="400"
              /><el-table-column
                label="无声匹配重复次数"
                label="适用科室"
                align="center"
                key="bphonenumber"
                prop="bphonenumber"
                width="120"
              />
              <el-table-column
                label="通用库"
                label="标签"
                align="center"
                key="bphonenumbear"
                prop="bphonenumbear"
                key="tagList"
                prop="tagList"
                width="160"
                :show-overflow-tooltip="true"
              >
                <template slot-scope="scope">
                  <span v-for="item in scope.row.tagList">{{ item }} </span>
                </template>
              </el-table-column>
              <el-table-column
                label="宣教方式"
                align="center"
                key="way"
                prop="way"
                width="120"
              />
              <el-table-column
                label="语言"
                label="资料形式"
                align="center"
                key="indicator"
                prop="indicator"
                key="formal"
                prop="formal"
                width="120"
              />
              <el-table-column label="是否启用" align="center" key="status">
              <el-table-column
                label="版本号"
                align="center"
                key="versions"
                prop="versions"
                width="120"
              />
              <el-table-column
                label="最近修改"
                align="center"
                key="Recentrevision"
                prop="Recentrevision"
                width="120"
              />
              <el-table-column label="可用状态" align="center" key="status">
                <template slot-scope="scope">
                  <el-switch
                    v-model="scope.row.status"
@@ -227,20 +307,13 @@
                class-name="small-padding fixed-width"
              >
                <template slot-scope="scope">
                  <el-button
                    size="medium"
                    type="text"
                    @click="handleUpdate(scope.row)"
                    ><span class="button-textxg"
                      ><i class="el-icon-edit-outline"></i>修改</span
                    ></el-button
                  >
                  <el-button
                    size="medium"
                    type="text"
                    @click="compileUpdate(scope.row)"
                    ><span class="button-bji"
                      ><i class="el-icon-edit"></i>编辑话术</span
                      ><i class="el-icon-edit"></i>编辑</span
                    ></el-button
                  >
                  <el-button
@@ -255,109 +328,17 @@
                  <el-button
                    size="medium"
                    type="text"
                    @click="handleDelete(scope.row)"
                    @click="preview(scope.row)"
                    v-hasPermi="['system:user:remove']"
                    ><span class=".button-xiazai"
                      ><i class="el-icon-s-management"></i>复制模版</span
                      ><i class="el-icon-s-management"></i>预览</span
                    ></el-button
                  >
                </template>
              </el-table-column>
            </el-table>
            <!-- 通用模版 -->
            <el-table
              v-else
              v-loading="loading"
              :data="userList"
              :border="true"
              @selection-change="handleSelectionChange"
            >
              <el-table-column type="selection" width="50" align="center" />
              <el-table-column
                label="序号"
                align="center"
                key="userId"
                prop="userId"
              />
              <el-table-column
                label="通用模版名称"
                align="center"
                key="userName"
                prop="userName"
                :show-overflow-tooltip="true"
              />
              <el-table-column
                label="语言"
                align="center"
                key="nickName"
                prop="nickName"
                width="400"
                :show-overflow-tooltip="true"
              />
              <el-table-column label="是否启用" align="center" key="status">
                <template slot-scope="scope">
                  <el-switch
                    v-model="scope.row.status"
                    active-value="0"
                    inactive-value="1"
                    @change="handleStatusChange(scope.row)"
                  ></el-switch>
                </template>
              </el-table-column>
              <el-table-column
                label="操作"
                align="center"
                width="200"
                class-name="small-padding fixed-width"
              >
                <template slot-scope="scope">
                  <el-button
                    size="medium"
                    type="text"
                    @click="handleUpdate(scope.row)"
                    ><span class="button-textxg"
                      ><i class="el-icon-edit-outline"></i>修改</span
                    ></el-button
                  >
                  <el-button
                    size="medium"
                    type="text"
                    @click="compileUpdate(scope.row)"
                    ><span class="button-bji"
                      ><i class="el-icon-edit"></i>编辑话术</span
                    ></el-button
                  >
                  <el-button
                    size="medium"
                    type="text"
                    @click="handleDelete(scope.row)"
                    v-hasPermi="['system:user:remove']"
                    ><span class="button-textsc"
                      ><i class="el-icon-delete-solid"></i>删除</span
                    ></el-button
                  >
                  <el-button
                    size="medium"
                    type="text"
                    @click="downloadfn(scope.row)"
                    v-hasPermi="['system:user:remove']"
                    ><span class="button-xiazai"
                      ><i class="el-icon-download"></i>下载</span
                    ></el-button
                  >
                  <el-button
                    size="medium"
                    type="text"
                    @click="copyfn(scope.row)"
                    v-hasPermi="['system:user:remove']"
                    ><span class=".button-xiazai"
                      ><i class="el-icon-s-management"></i>复制模版</span
                    ></el-button
                  >
                </template>
              </el-table-column>
            </el-table>
            <!-- 底部分页 -->
            <pagination
              v-show="total > 0"
@@ -369,249 +350,6 @@
          </el-col>
        </el-row>
        <!-- 添加或修改标准模版对话框 -->
        <el-dialog
          v-if="topactiveName == 'Local'"
          :title="title"
          :visible.sync="indexopen"
          width="900px"
          append-to-body
        >
          <el-form
            ref="form"
            :model="indexform"
            :rules="rules"
            label-width="110px"
          >
            <el-row>
              <el-col :span="24">
                <el-form-item label="语言" prop="deptId">
                  <el-select
                    v-model="indexform.language"
                    placeholder="请选择语言"
                  >
                    <el-option
                      v-for="index in languagelist"
                      :key="index.value"
                      :label="index.label"
                      :value="index.value"
                    ></el-option>
                  </el-select>
                </el-form-item>
              </el-col>
            </el-row>
            <el-row>
              <el-col :span="24">
                <el-form-item label="模版名称" prop="nickName">
                  <el-input
                    v-model="indexform.nickName"
                    placeholder="请输入模版名称"
                    maxlength="80"
                  />
                </el-form-item> </el-col
            ></el-row>
            <el-row>
              <el-col :span="24">
                <el-form-item label="静默时间(秒)" prop="verbaltricktext">
                  <el-input v-model="indexform.userName" maxlength="30" />
                </el-form-item> </el-col
            ></el-row>
            <el-row>
              <el-col :span="24">
                <el-form-item label="无声重复次数" prop="verbaltrickyy">
                  <el-input v-model="indexform.userName" maxlength="30" />
                </el-form-item> </el-col
            ></el-row>
            <el-row>
              <el-col :span="24">
                <el-form-item label="无匹配重复次数" prop="matchtext">
                  <el-input v-model="indexform.userName" maxlength="30" />
                </el-form-item> </el-col
            ></el-row>
            <el-row>
              <el-col :span="24">
                <el-form-item label="启动任务" prop="matchyy">
                  <el-input v-model="indexform.userName" maxlength="30" />
                </el-form-item> </el-col
            ></el-row>
            <el-row>
              <el-col :span="24">
                <el-form-item label="通用库" prop="deptId">
                  <el-select v-model="indexform.language" placeholder="请选择">
                    <el-option
                      v-for="index in languagelist"
                      :key="index.value"
                      :label="index.label"
                      :value="index.value"
                    ></el-option>
                  </el-select>
                </el-form-item>
              </el-col>
            </el-row>
            <el-row>
              <el-col :span="24">
                <el-form-item label="科室" prop="deptId">
                  <el-select v-model="indexform.language" placeholder="请选择">
                    <el-option
                      v-for="index in languagelist"
                      :key="index.value"
                      :label="index.label"
                      :value="index.value"
                    ></el-option>
                  </el-select>
                </el-form-item>
              </el-col>
            </el-row>
            <el-row>
              <el-col :span="24">
                <el-form-item label="诊断类型关键字" prop="librarytext">
                  <el-input v-model="indexform.userName" maxlength="30" />
                </el-form-item> </el-col
            ></el-row>
            <el-row>
              <el-col :span="24">
                <el-form-item label="诊断类型" prop="deptId">
                  <el-select v-model="indexform.language" placeholder="请选择">
                    <el-option
                      v-for="index in languagelist"
                      :key="index.value"
                      :label="index.label"
                      :value="index.value"
                    ></el-option>
                  </el-select>
                </el-form-item>
              </el-col>
            </el-row>
            <el-row>
              <el-col :span="24">
                <el-form-item label="随访推延天数" prop="vaguetext">
                  <el-input v-model="indexform.userName" maxlength="30" />
                </el-form-item> </el-col
            ></el-row>
            <el-row>
              <el-col :span="24">
                <el-form-item label="模版标签信息" prop="vagueyy">
                  <el-input v-model="indexform.userName" maxlength="30" />
                </el-form-item> </el-col
            ></el-row>
            <el-row>
              <el-col :span="24">
                <el-form-item label="播报方式">
                  <el-radio-group v-model="indexform.qystatus">
                    <el-radio
                      v-for="item in qyoptionbo"
                      :key="item.value"
                      :label="item.value"
                      >{{ item.label }}</el-radio
                    >
                  </el-radio-group>
                </el-form-item>
              </el-col>
            </el-row>
            <el-row>
              <el-col :span="24">
                <el-form-item label="是否启用">
                  <el-radio-group v-model="indexform.qystatus">
                    <el-radio
                      v-for="item in qyoptions"
                      :key="item.value"
                      :label="item.value"
                      >{{ item.label }}</el-radio
                    >
                  </el-radio-group>
                </el-form-item>
              </el-col>
            </el-row>
            <el-row>
              <el-col :span="24">
                <el-form-item label="备注">
                  <el-input
                    v-model="indexform.remark"
                    type="textarea"
                    placeholder="请输入内容"
                  ></el-input>
                </el-form-item>
              </el-col>
            </el-row>
          </el-form>
          <div slot="footer" class="dialog-footer">
            <el-button type="primary" @click="submitForm">确 定</el-button>
            <el-button @click="cancel">取 消</el-button>
          </div>
        </el-dialog>
        <!-- 添加或修改通用模版对话框 -->
        <el-dialog
          :title="title"
          :visible.sync="indexopenty"
          width="900px"
          append-to-body
        >
          <el-form
            ref="form"
            :model="indexform"
            :rules="rules"
            label-width="100px"
          >
            <el-row>
              <el-col :span="24">
                <el-form-item label="语言" prop="deptId">
                  <el-select
                    v-model="indexform.language"
                    placeholder="请选择语言"
                  >
                    <el-option
                      v-for="index in languagelist"
                      :key="index.value"
                      :label="index.label"
                      :value="index.value"
                    ></el-option>
                  </el-select>
                </el-form-item>
              </el-col>
            </el-row>
            <el-row>
              <el-col :span="24">
                <el-form-item label="模版名称" prop="nickName">
                  <el-input
                    v-model="indexform.nickName"
                    placeholder="请输入模版主旨"
                    maxlength="80"
                  />
                </el-form-item> </el-col
            ></el-row>
            <el-row>
              <el-col :span="24">
                <el-form-item label="是否启用">
                  <el-radio-group v-model="indexform.qystatus">
                    <el-radio
                      v-for="item in qyoptions"
                      :key="item.value"
                      :label="item.value"
                      >{{ item.label }}</el-radio
                    >
                  </el-radio-group>
                </el-form-item>
              </el-col>
            </el-row>
            <el-row>
              <el-col :span="24">
                <el-form-item label="备注">
                  <el-input
                    v-model="indexform.remark"
                    type="textarea"
                    placeholder="请输入内容"
                  ></el-input>
                </el-form-item>
              </el-col>
            </el-row>
          </el-form>
          <div slot="footer" class="dialog-footer">
            <el-button type="primary" @click="submitForm">确 定</el-button>
            <el-button @click="cancel">取 消</el-button>
          </div>
        </el-dialog>
      </div>
    </div>
    <!-- 添加类别弹框 -->
@@ -723,25 +461,25 @@
      languagelist: [
        {
          value: 1,
          label: "普通话",
          label: "短信",
        },
        {
          value: 2,
          label: "粤语",
          label: "电话",
        },
        {
          value: 3,
          label: "英语",
          label: "小程序",
        },
      ], //语言列表
      qyoptions: [
        {
          value: 1,
          label: "启用",
          label: "可用",
        },
        {
          value: 2,
          label: "关闭",
          label: "停用",
        },
      ],
      // 播报方式
@@ -767,14 +505,6 @@
        },
        {
          title: "模版分类三",
          number: "2",
        },
        {
          title: "模版分类四",
          number: "2",
        },
        {
          title: "模版分类五",
          number: "2",
        },
      ],
@@ -895,17 +625,16 @@
    downloadfn() {},
    // 跳转编辑话术页面
    compileUpdate(row) {
      if (this.topactiveName == "Local") {
        this.$router.push({
          path: "/knowledge/templateku/configurat/",
          query: { id: "1" },
        });
      } else {
        this.$router.push({
          path: "/knowledge/templateku/particulars/",
          query: { id: "1" },
        });
      }
        // this.$router.push({
        //   path: "/knowledge/templateku/particulars/",
        //   query: { id: "1" },
        // });
    },
    // 题目状态修改
    handleStatusChange(row) {
@@ -921,6 +650,16 @@
        .catch(function () {
          row.status = row.status === "0" ? "1" : "0";
        });
    },
        // 侧边--------------
    handleOpen(key, keyPath) {
      console.log(key, keyPath);
    },
    handleClose(key, keyPath) {
      console.log(key, keyPath);
    },
    handleSelect(key, keyPath) {
      console.log(key, keyPath);
    },
    //搜索类别
    sidecolumnss() {},
@@ -982,45 +721,11 @@
        this.indexopenty = true;
      }
    },
    /** 修改按钮操作 */
    handleUpdate(row) {
      this.reset();
      this.title = "修改模版";
      if (this.topactiveName == "Local") {
        this.indexopen = true;
      } else {
        this.indexopenty = true;
      }
    },
    // 修改分类弹框
    popoveramend(tagcategoryid) {
      this.idds = tagcategoryid;
      this.amendtag = true;
      this.dialogFormVisible = true;
    },
    /** 更新/修改提交按钮 */
    submitForm: function () {
      this.$refs["form"].validate((valid) => {
        if (valid) {
          if (this.form.userId != undefined) {
            updateUser(this.form).then((response) => {
              this.$modal.msgSuccess("修改成功");
              this.indexopen = false;
              this.indexopenty = false;
              this.getList();
            });
          } else {
            addUser(this.form).then((response) => {
              this.$modal.msgSuccess("新增成功");
              this.indexopen = false;
              this.indexopenty = false;
              this.getList();
            });
          }
        }
      });
    },
    /** 删除按钮操作 */
    handleDelete(row) {
src/views/repositoryai/verbaltrick/index.vue
@@ -258,10 +258,15 @@
              <el-table-column
                label="标签"
                align="center"
                key="taglist"
                prop="taglist"
                width="120"
              />
                key="tagList"
                prop="tagList"
                width="160"
                :show-overflow-tooltip="true"
              >
                <template slot-scope="scope">
                  <span v-for="item in scope.row.tagList">{{ item }} </span>
                </template>
              </el-table-column>
              <el-table-column
                label="语言"
                align="center"
src/views/repositoryai/verbaltrick/particulars/index.vue
@@ -801,7 +801,7 @@
    // 文件超出个数限制时的钩子
    handleExceed(files, fileList) {
      this.$message.warning(
        `当前限制选择 3 个文件,本次选择了 ${files.length} 个文件,共选择了 ${
        `当前限制选择 1 个文件,本次选择了 ${files.length} 个文件,共选择了 ${
          files.length + fileList.length
        } 个文件`
      );
src/views/system/notice/index.vue
@@ -1,6 +1,13 @@
<template>
  <div class="app-container">
    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
    <el-form
      :model="queryParams"
      ref="queryForm"
      size="small"
      :inline="true"
      v-show="showSearch"
      label-width="68px"
    >
      <el-form-item label="公告标题" prop="noticeTitle">
        <el-input
          v-model="queryParams.noticeTitle"
@@ -18,7 +25,11 @@
        />
      </el-form-item>
      <el-form-item label="类型" prop="noticeType">
        <el-select v-model="queryParams.noticeType" placeholder="公告类型" clearable>
        <el-select
          v-model="queryParams.noticeType"
          placeholder="公告类型"
          clearable
        >
          <el-option
            v-for="dict in dict.type.sys_notice_type"
            :key="dict.value"
@@ -27,9 +38,27 @@
          />
        </el-select>
      </el-form-item>
      <el-form-item label="发送时间" prop="createBy">
        <el-date-picker
          v-model="queryParams.timeofdeparture"
          type="daterange"
          range-separator="至"
          start-placeholder="开始日期"
          end-placeholder="结束日期"
        >
        </el-date-picker>
      </el-form-item>
      <el-form-item>
        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
        <el-button
          type="primary"
          icon="el-icon-search"
          size="mini"
          @click="handleQuery"
          >搜索</el-button
        >
        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
          >重置</el-button
        >
      </el-form-item>
    </el-form>
@@ -42,7 +71,8 @@
          size="mini"
          @click="handleAdd"
          v-hasPermi="['system:notice:add']"
        >新增</el-button>
          >新增</el-button
        >
      </el-col>
      <el-col :span="1.5">
        <el-button
@@ -53,7 +83,8 @@
          :disabled="single"
          @click="handleUpdate"
          v-hasPermi="['system:notice:edit']"
        >修改</el-button>
          >修改</el-button
        >
      </el-col>
      <el-col :span="1.5">
        <el-button
@@ -64,37 +95,75 @@
          :disabled="multiple"
          @click="handleDelete"
          v-hasPermi="['system:notice:remove']"
        >删除</el-button>
          >删除</el-button
        >
      </el-col>
      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
      <right-toolbar
        :showSearch.sync="showSearch"
        @queryTable="getList"
      ></right-toolbar>
    </el-row>
    <el-table v-loading="loading" :data="noticeList" @selection-change="handleSelectionChange">
    <el-table
      v-loading="loading"
      :data="noticeList"
      @selection-change="handleSelectionChange"
    >
      <el-table-column type="selection" width="55" align="center" />
      <el-table-column label="序号" align="center" prop="noticeId" width="100" />
      <el-table-column
        label="序号"
        align="center"
        prop="noticeId"
        width="100"
      />
      <el-table-column
        label="公告标题"
        align="center"
        prop="noticeTitle"
        :show-overflow-tooltip="true"
      />
      <el-table-column label="公告类型" align="center" prop="noticeType" width="100">
      <el-table-column
        label="公告类型"
        align="center"
        prop="noticeType"
        width="100"
      >
        <template slot-scope="scope">
          <dict-tag :options="dict.type.sys_notice_type" :value="scope.row.noticeType"/>
          <dict-tag
            :options="dict.type.sys_notice_type"
            :value="scope.row.noticeType"
          />
        </template>
      </el-table-column>
      <el-table-column label="状态" align="center" prop="status" width="100">
        <template slot-scope="scope">
          <dict-tag :options="dict.type.sys_notice_status" :value="scope.row.status"/>
          <dict-tag
            :options="dict.type.sys_notice_status"
            :value="scope.row.status"
          />
        </template>
      </el-table-column>
      <el-table-column label="创建者" align="center" prop="createBy" width="100" />
      <el-table-column label="创建时间" align="center" prop="createTime" width="100">
      <el-table-column
        label="创建者"
        align="center"
        prop="createBy"
        width="100"
      />
      <el-table-column
        label="创建时间"
        align="center"
        prop="createTime"
        width="100"
      >
        <template slot-scope="scope">
          <span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}</span>
          <span>{{ parseTime(scope.row.createTime, "{y}-{m}-{d}") }}</span>
        </template>
      </el-table-column>
      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
      <el-table-column
        label="操作"
        align="center"
        class-name="small-padding fixed-width"
      >
        <template slot-scope="scope">
          <el-button
            size="mini"
@@ -102,14 +171,16 @@
            icon="el-icon-edit"
            @click="handleUpdate(scope.row)"
            v-hasPermi="['system:notice:edit']"
          >修改</el-button>
            >修改</el-button
          >
          <el-button
            size="mini"
            type="text"
            icon="el-icon-delete"
            @click="handleDelete(scope.row)"
            v-hasPermi="['system:notice:remove']"
          >删除</el-button>
            >删除</el-button
          >
        </template>
      </el-table-column>
    </el-table>
@@ -128,7 +199,10 @@
        <el-row>
          <el-col :span="12">
            <el-form-item label="公告标题" prop="noticeTitle">
              <el-input v-model="form.noticeTitle" placeholder="请输入公告标题" />
              <el-input
                v-model="form.noticeTitle"
                placeholder="请输入公告标题"
              />
            </el-form-item>
          </el-col>
          <el-col :span="12">
@@ -150,7 +224,8 @@
                  v-for="dict in dict.type.sys_notice_status"
                  :key="dict.value"
                  :label="dict.value"
                >{{dict.label}}</el-radio>
                  >{{ dict.label }}</el-radio
                >
              </el-radio-group>
            </el-form-item>
          </el-col>
@@ -170,11 +245,17 @@
</template>
<script>
import { listNotice, getNotice, delNotice, addNotice, updateNotice } from "@/api/system/notice";
import {
  listNotice,
  getNotice,
  delNotice,
  addNotice,
  updateNotice,
} from "@/api/system/notice";
export default {
  name: "Notice",
  dicts: ['sys_notice_status', 'sys_notice_type'],
  dicts: ["sys_notice_status", "sys_notice_type"],
  data() {
    return {
      // 遮罩层
@@ -201,19 +282,19 @@
        pageSize: 10,
        noticeTitle: undefined,
        createBy: undefined,
        status: undefined
        status: undefined,
      },
      // 表单参数
      form: {},
      // 表单校验
      rules: {
        noticeTitle: [
          { required: true, message: "公告标题不能为空", trigger: "blur" }
          { required: true, message: "公告标题不能为空", trigger: "blur" },
        ],
        noticeType: [
          { required: true, message: "公告类型不能为空", trigger: "change" }
        ]
      }
          { required: true, message: "公告类型不能为空", trigger: "change" },
        ],
      },
    };
  },
  created() {
@@ -223,7 +304,7 @@
    /** 查询公告列表 */
    getList() {
      this.loading = true;
      listNotice(this.queryParams).then(response => {
      listNotice(this.queryParams).then((response) => {
        this.noticeList = response.rows;
        this.total = response.total;
        this.loading = false;
@@ -241,7 +322,7 @@
        noticeTitle: undefined,
        noticeType: undefined,
        noticeContent: undefined,
        status: "0"
        status: "0",
      };
      this.resetForm("form");
    },
@@ -257,9 +338,9 @@
    },
    // 多选框选中数据
    handleSelectionChange(selection) {
      this.ids = selection.map(item => item.noticeId)
      this.single = selection.length!=1
      this.multiple = !selection.length
      this.ids = selection.map((item) => item.noticeId);
      this.single = selection.length != 1;
      this.multiple = !selection.length;
    },
    /** 新增按钮操作 */
    handleAdd() {
@@ -270,8 +351,8 @@
    /** 修改按钮操作 */
    handleUpdate(row) {
      this.reset();
      const noticeId = row.noticeId || this.ids
      getNotice(noticeId).then(response => {
      const noticeId = row.noticeId || this.ids;
      getNotice(noticeId).then((response) => {
        this.form = response.data;
        this.open = true;
        this.title = "修改公告";
@@ -279,16 +360,16 @@
    },
    /** 提交按钮 */
    submitForm: function() {
      this.$refs["form"].validate(valid => {
      this.$refs["form"].validate((valid) => {
        if (valid) {
          if (this.form.noticeId != undefined) {
            updateNotice(this.form).then(response => {
            updateNotice(this.form).then((response) => {
              this.$modal.msgSuccess("修改成功");
              this.open = false;
              this.getList();
            });
          } else {
            addNotice(this.form).then(response => {
            addNotice(this.form).then((response) => {
              this.$modal.msgSuccess("新增成功");
              this.open = false;
              this.getList();
@@ -299,14 +380,18 @@
    },
    /** 删除按钮操作 */
    handleDelete(row) {
      const noticeIds = row.noticeId || this.ids
      this.$modal.confirm('是否确认删除公告编号为"' + noticeIds + '"的数据项?').then(function() {
      const noticeIds = row.noticeId || this.ids;
      this.$modal
        .confirm('是否确认删除公告编号为"' + noticeIds + '"的数据项?')
        .then(function () {
        return delNotice(noticeIds);
      }).then(() => {
        })
        .then(() => {
        this.getList();
        this.$modal.msgSuccess("删除成功");
      }).catch(() => {});
    }
  }
        })
        .catch(() => {});
    },
  },
};
</script>