WXL
2023-12-15 04332cb7ab99f5744c79cd70686e86a878a14b7f
src/views/repositoryai/verbaltrick/index.vue
@@ -3,7 +3,7 @@
    <!-- 左侧栏 -->
    <div class="sidecolumn">
      <div class="sidecolumn-top">
        <div class="top-wj">话术类型</div>
        <div class="top-wj">问题类型</div>
        <div class="top-tj" @click="dialogFormVisible = true">+添加</div>
      </div>
      <div class="center-ss">
@@ -21,48 +21,52 @@
        </el-input>
      </div>
      <div class="bottom-fl">
        <el-tabs tab-position="right">
          <el-tab-pane :label="`全部 (${numberlb})`"></el-tab-pane>
          <el-tab-pane
            class="tab-paness"
            :key="item.title"
            v-for="(item, index) in editableTabs"
          >
            <span slot="label">
              {{
                item.title + " (" + item.number + ")"
              }}&nbsp&nbsp&nbsp<el-popover
                placement="top-start"
                width="100"
                trigger="hover"
              >
                <div style="text-align: center">
                  <el-button type="text" @click="popoveramend(item)"
                    >修改</el-button
                  ><el-button type="text" @click="deletefenlei(item)"
                    ><span style="color: rgb(173, 55, 55)"
                      >删除</span
                    ></el-button
                  >
                </div>
                <i slot="reference" class="el-icon-share"></i> </el-popover
            ></span>
          </el-tab-pane>
        </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="leftvlue">
      <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 +79,18 @@
              v-show="showSearch"
              label-width="98px"
            >
              <el-form-item label="话术主旨" prop="userName">
              <el-form-item label="可用院区" prop="status">
                <el-select v-model="queryParams.courtyard" 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="userName">
                <el-input
                  v-model="queryParams.userName"
                  placeholder="请输入"
@@ -93,6 +108,17 @@
                  @keyup.enter.native="handleQuery"
                />
              </el-form-item>
              <el-form-item label="适用方式" prop="status">
                <el-select v-model="queryParams.applyway" 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
@@ -104,7 +130,7 @@
                  </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"
@@ -158,8 +184,6 @@
                  >删除</el-button
                >
              </el-col>
              <!-- <el-col :span="1.5"> </el-col> -->
            </el-row>
            <el-table
              v-loading="loading"
@@ -175,7 +199,7 @@
                prop="userId"
              />
              <el-table-column
                label="主旨"
                label="问题主题"
                align="center"
                key="userName"
                prop="userName"
@@ -186,7 +210,7 @@
                align="center"
                key="nickName"
                prop="nickName"
                width="400"
                width="200"
                :show-overflow-tooltip="true"
              />
@@ -195,21 +219,54 @@
                align="center"
                key="aphonenumber"
                prop="aphonenumber"
                width="400"
                width="200"
              /><el-table-column
                label="关联指标"
                align="center"
                key="bphonenumber"
                prop="bphonenumber"
                key="bphonenumbers"
                prop="bphonenumbers"
                width="120"
              />
              /><el-table-column
                label="正常值范围"
                align="center"
                key="scope"
                prop="scope"
                width="120"
              />
              /><el-table-column
                label="问题描述"
                align="center"
                key="describe"
                prop="describe"
                width="120"
              />
              /><el-table-column
                label="适用方式"
                align="center"
                key="application"
                prop="application"
                width="120"
              />
              /><el-table-column
                label="适用疾病"
                align="center"
                key="Applicable"
                prop="Applicable"
                width="120"
              />
              <el-table-column
                label="指标选项"
                label="标签"
                align="center"
                key="bphonenumber"
                prop="bphonenumber"
                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"
@@ -217,7 +274,28 @@
                prop="indicator"
                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="usable"
                prop="usable"
                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"
@@ -231,26 +309,17 @@
              <el-table-column
                label="操作"
                align="center"
                width="200"
                width="250"
                class-name="small-padding fixed-width"
              >
                <template slot-scope="scope">
                  <el-button
                    size="medium"
                    type="text"
                    @click="handleUpdate(scope.row)"
                    v-hasPermi="['system:user:edit']"
                    ><span class="button-textxg"
                      ><i class="el-icon-edit-outline"></i>修改</span
                    ></el-button
                  >
                  <el-button
                    size="medium"
                    type="text"
                    @click="compileUpdate(scope.row)"
                    v-hasPermi="['system:user:edit']"
                    ><span class="button-bji"
                      ><i class="el-icon-edit"></i>编辑话术</span
                      ><i class="el-icon-edit"></i>编辑问题</span
                    ></el-button
                  >
                  <el-button
@@ -260,6 +329,15 @@
                    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="handleDelete(scope.row)"
                    v-hasPermi="['system:user:remove']"
                    ><span class="button-text"
                      ><i class="el-icon-view"></i>预览</span
                    ></el-button
                  >
                </template>
@@ -275,167 +353,6 @@
            />
          </el-col>
        </el-row>
        <!-- 添加或修改话术配置对话框 -->
        <el-dialog
          :title="title"
          :visible.sync="indexopen"
          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">
                <div
                  style="display: flex; margin-left: 100px; margin-bottom: 10px"
                >
                  <div class="tsgname" @click="tsgnameto()">医院名称</div>
                  <div class="tsgname" @click="tsgnameto()">医院电话</div>
                  <div class="tsgname" @click="tsgnameto()">医院姓名</div>
                  <div class="tsgname" @click="tsgnameto()">随访姓名</div>
                  <div class="tsgname" @click="tsgnameto()">随访电话</div>
                  <div class="tsgname" @click="tsgnameto()">性别</div>
                  <div class="tsgname" @click="tsgnameto()">年龄</div>
                  <div class="tsgname" @click="tsgnameto()">地址</div>
                </div>
              </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="silenttext">
                  <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="silentyy">
                  <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="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="libraryy">
                  <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="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="话术规则" prop="email">
                  <el-input
                    v-model="indexform.remark"
                    type="textarea"
                    placeholder="请输入内容"
                  ></el-input>
                </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>
    <!-- 添加类别弹框 -->
@@ -445,6 +362,17 @@
      :visible.sync="dialogFormVisible"
    >
      <el-form :model="classifyform">
        <el-form-item label="请选择问卷大类">
          <el-select v-model="classifyform.broadheading" placeholder="请选择">
            <el-option
              v-for="item in editableTabs"
              :key="item.title"
              :label="item.title"
              :value="item.title"
            >
            </el-option>
          </el-select>
        </el-form-item>
        <el-form-item
          :label="amendtag ? '请输入新的类别名称' : '请输入类别名称'"
        >
@@ -564,33 +492,33 @@
      qyoptions: [
        {
          value: 1,
          label: "启用",
          label: "可用",
        },
        {
          value: 2,
          label: "关闭",
          label: "禁用",
        },
      ],
      //类别列表
      editableTabs: [
        {
          title: "话术分类一",
          title: "问题分类一",
          number: "1",
        },
        {
          title: "话术分类二",
          title: "问题分类二",
          number: "2",
        },
        {
          title: "话术分类三",
          title: "问题分类三",
          number: "2",
        },
        {
          title: "话术分类四",
          title: "问题分类四",
          number: "2",
        },
        {
          title: "话术分类五",
          title: "问题分类五",
          number: "2",
        },
      ],
@@ -713,7 +641,7 @@
    },
    // 题目状态修改
    handleStatusChange(row) {
      let text = row.status === "0" ? "启用" : "停用";
      let text = row.status === "0" ? "可用" : "停用";
      this.$modal
        .confirm('确认要"' + text + '""' + row.userName + '"用户吗?')
        .then(function () {
@@ -726,12 +654,20 @@
          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() {},
    // 便捷标签
    tsgnameto() {},
    // 切换共享/本地
    tophandleClick() {},
    // 取消按钮
    cancel() {
      this.indexopen = false;
@@ -777,15 +713,10 @@
    },
    /** 新增按钮操作 */
    handleAdd() {
      this.reset();
      this.title = "新增话术";
      this.indexopen = true;
    },
    /** 修改按钮操作 */
    handleUpdate(row) {
      this.reset();
      this.title = "修改话术";
      this.indexopen = true;
      this.$router.push({
        path: "/knowledge/verbaltrick/particulars/",
        query: { id: "1" },
      });
    },
    // 修改分类弹框
    popoveramend(tagcategoryid) {