|  |  |  | 
|---|
|  |  |  | <el-step> | 
|---|
|  |  |  | <template slot="title"> | 
|---|
|  |  |  | <span style="cursor: pointer" @click="Editprogress = 1" | 
|---|
|  |  |  | >问题库编辑</span | 
|---|
|  |  |  | >话术基础信息编辑</span | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  | </el-step> | 
|---|
|  |  |  | <el-step> | 
|---|
|  |  |  | <template slot="title"> | 
|---|
|  |  |  | <span style="cursor: pointer" @click="nextstep" | 
|---|
|  |  |  | >问题指标编辑</span | 
|---|
|  |  |  | >话术指标编辑</span | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  | </el-step> | 
|---|
|  |  |  | 
|---|
|  |  |  | :rules="rules" | 
|---|
|  |  |  | label-width="100px" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-row :gutter="20"> | 
|---|
|  |  |  | <el-col :span="12"> | 
|---|
|  |  |  | <el-form-item label="问题主旨" prop="scriptTopic"> | 
|---|
|  |  |  | <el-input | 
|---|
|  |  |  | v-model="indexform.scriptTopic" | 
|---|
|  |  |  | placeholder="请输入问题主旨" | 
|---|
|  |  |  | maxlength="80" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | </el-col> | 
|---|
|  |  |  | </el-row> | 
|---|
|  |  |  | <el-form-item label="问题文本" prop="scriptContent"> | 
|---|
|  |  |  | <el-input | 
|---|
|  |  |  | :rows="2" | 
|---|
|  |  |  | type="textarea" | 
|---|
|  |  |  | id="scriptContent" | 
|---|
|  |  |  | show-word-limit | 
|---|
|  |  |  | placeholder="请输入内容" | 
|---|
|  |  |  | v-model.sync="indexform.scriptContent" | 
|---|
|  |  |  | @focus="handleInput('scriptContent')" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | <el-form-item label="问题描述" prop="scriptDesc"> | 
|---|
|  |  |  | <el-input | 
|---|
|  |  |  | :rows="1" | 
|---|
|  |  |  | type="textarea" | 
|---|
|  |  |  | id="scriptDesc" | 
|---|
|  |  |  | show-word-limit | 
|---|
|  |  |  | placeholder="请输入描述内容" | 
|---|
|  |  |  | v-model.sync="indexform.scriptDesc" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | <el-row> | 
|---|
|  |  |  | <el-col :span="12"> | 
|---|
|  |  |  | <el-form-item label="语言" prop="deptId"> | 
|---|
|  |  |  | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | </el-col> | 
|---|
|  |  |  | </el-row> | 
|---|
|  |  |  | <el-row :gutter="20"> | 
|---|
|  |  |  | <el-col :span="20"> | 
|---|
|  |  |  | <el-form-item label="问题主旨" prop="scriptTopic"> | 
|---|
|  |  |  | <el-input | 
|---|
|  |  |  | v-model="indexform.scriptTopic" | 
|---|
|  |  |  | placeholder="请输入问题主旨" | 
|---|
|  |  |  | maxlength="80" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | </el-col> | 
|---|
|  |  |  | </el-row> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <el-form-item label="标签" prop="desc"> | 
|---|
|  |  |  | <div class="xinz-inf"> | 
|---|
|  |  |  | <el-tag | 
|---|
|  |  |  | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | </el-drawer> | 
|---|
|  |  |  | <el-row> | 
|---|
|  |  |  | <!-- <el-row> | 
|---|
|  |  |  | <el-col :span="6"> | 
|---|
|  |  |  | <el-form-item label="仅限院区" prop="region"> | 
|---|
|  |  |  | <el-select | 
|---|
|  |  |  | 
|---|
|  |  |  | </el-select> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | </el-col> | 
|---|
|  |  |  | </el-row> | 
|---|
|  |  |  | </el-row> --> | 
|---|
|  |  |  | <el-row> | 
|---|
|  |  |  | <el-col :span="24"> | 
|---|
|  |  |  | <el-form-item label="问题变量" prop="scriptContent"> | 
|---|
|  |  |  | <div style="display: flex; margin-bottom: 10px"> | 
|---|
|  |  |  | <div | 
|---|
|  |  |  | v-for="item in variablelist" | 
|---|
|  |  |  | class="tsgname" | 
|---|
|  |  |  | :class="item.default ? 'tsgname' : 'tsgnames'" | 
|---|
|  |  |  | @click="tsgnameto(item)" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | {{ item.variatename }} | 
|---|
|  |  |  | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-row> | 
|---|
|  |  |  | <el-col :span="24"> | 
|---|
|  |  |  | <el-form-item label="问题文本" prop="scriptContent"> | 
|---|
|  |  |  | <el-form-item label="语音文本" prop="scriptContent"> | 
|---|
|  |  |  | <el-input | 
|---|
|  |  |  | :rows="2" | 
|---|
|  |  |  | type="textarea" | 
|---|
|  |  |  | id="scriptContent" | 
|---|
|  |  |  | show-word-limit | 
|---|
|  |  |  | placeholder="请输入内容" | 
|---|
|  |  |  | v-model.sync="indexform.scriptContent" | 
|---|
|  |  |  | v-model.sync="indexform.ivrtext" | 
|---|
|  |  |  | @focus="handleInput('scriptContent')" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | </el-form-item> </el-col | 
|---|
|  |  |  | ></el-row> | 
|---|
|  |  |  | <el-row> | 
|---|
|  |  |  | <el-col :span="6"> | 
|---|
|  |  |  | <el-form-item label="问题语音" prop="verbaltrickyy"> | 
|---|
|  |  |  | <el-form-item label="语音文件" prop="verbaltrickyy"> | 
|---|
|  |  |  | <el-upload | 
|---|
|  |  |  | class="upload-demo" | 
|---|
|  |  |  | action="https://jsonplaceholder.typicode.com/posts/" | 
|---|
|  |  |  | :on-change="handleChange" | 
|---|
|  |  |  | :file-list="fileList" | 
|---|
|  |  |  | :action="uploadImgUrl" | 
|---|
|  |  |  | :headers="headers" | 
|---|
|  |  |  | :show-file-list="false" | 
|---|
|  |  |  | :on-success=" | 
|---|
|  |  |  | (response, file) => handleChange(response, file, 1) | 
|---|
|  |  |  | " | 
|---|
|  |  |  | accept=".wav,.mp3" | 
|---|
|  |  |  | :limit="1" | 
|---|
|  |  |  | :on-exceed="handleExceed" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-button size="small" type="primary">点击上传</el-button> | 
|---|
|  |  |  | </el-upload> | 
|---|
|  |  |  | <!-- <el-input v-model="indexform.userName" maxlength="66" | 
|---|
|  |  |  | show-word-limit /> --> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | </el-col></el-row | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </el-col> | 
|---|
|  |  |  | <el-col :span="6"> | 
|---|
|  |  |  | <span style="font-size: 12px" v-if="indexform.ivrVoice">{{ | 
|---|
|  |  |  | indexform.ivrVoice.substring( | 
|---|
|  |  |  | indexform.ivrVoice.lastIndexOf("/") + 1 | 
|---|
|  |  |  | ) | 
|---|
|  |  |  | }}</span> | 
|---|
|  |  |  | </el-col> | 
|---|
|  |  |  | <el-col :span="6"> | 
|---|
|  |  |  | <mini-audio | 
|---|
|  |  |  | :audio-source=" | 
|---|
|  |  |  | indexform.ivrVoice | 
|---|
|  |  |  | ? indexform.ivrVoice | 
|---|
|  |  |  | : 'https://example.com/example.mp3' | 
|---|
|  |  |  | " | 
|---|
|  |  |  | ></mini-audio> | 
|---|
|  |  |  | </el-col> | 
|---|
|  |  |  | </el-row> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <el-row> | 
|---|
|  |  |  | <el-col :span="24"> | 
|---|
|  |  |  | <el-form-item label="无匹配文本" prop="noMatchText"> | 
|---|
|  |  |  | 
|---|
|  |  |  | ></el-row> | 
|---|
|  |  |  | <el-row> | 
|---|
|  |  |  | <el-col :span="6"> | 
|---|
|  |  |  | <el-form-item label="无匹配语音" prop="matchyy"> | 
|---|
|  |  |  | <el-form-item label="无匹配语音" prop="verbaltrickyy"> | 
|---|
|  |  |  | <el-upload | 
|---|
|  |  |  | class="upload-demo" | 
|---|
|  |  |  | action="https://jsonplaceholder.typicode.com/posts/" | 
|---|
|  |  |  | :on-change="handleChange" | 
|---|
|  |  |  | :file-list="fileList" | 
|---|
|  |  |  | :action="uploadImgUrl" | 
|---|
|  |  |  | :show-file-list="false" | 
|---|
|  |  |  | :headers="headers" | 
|---|
|  |  |  | :on-success=" | 
|---|
|  |  |  | (response, file) => handleChange(response, file, 2) | 
|---|
|  |  |  | " | 
|---|
|  |  |  | accept=".wav,.mp3" | 
|---|
|  |  |  | :limit="1" | 
|---|
|  |  |  | :on-exceed="handleExceed" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-button size="small" type="primary">点击上传</el-button> | 
|---|
|  |  |  | </el-upload> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | </el-col></el-row | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </el-col> | 
|---|
|  |  |  | <el-col :span="6"> | 
|---|
|  |  |  | <span style="font-size: 12px" v-if="indexform.nomatchvoice">{{ | 
|---|
|  |  |  | indexform.nomatchvoice.substring( | 
|---|
|  |  |  | indexform.nomatchvoice.lastIndexOf("/") + 1 | 
|---|
|  |  |  | ) | 
|---|
|  |  |  | }}</span> | 
|---|
|  |  |  | </el-col> | 
|---|
|  |  |  | <el-col :span="6"> | 
|---|
|  |  |  | <mini-audio | 
|---|
|  |  |  | :audio-source=" | 
|---|
|  |  |  | indexform.nomatchvoice | 
|---|
|  |  |  | ? indexform.nomatchvoice | 
|---|
|  |  |  | : 'https://example.com/example.mp3' | 
|---|
|  |  |  | " | 
|---|
|  |  |  | ></mini-audio> | 
|---|
|  |  |  | </el-col> | 
|---|
|  |  |  | </el-row> | 
|---|
|  |  |  | <el-row> | 
|---|
|  |  |  | <el-col :span="24"> | 
|---|
|  |  |  | <el-form-item label="无声文本" prop="slienceText"> | 
|---|
|  |  |  | <el-form-item label="静默文本" prop="slienceText"> | 
|---|
|  |  |  | <el-input | 
|---|
|  |  |  | type="textarea" | 
|---|
|  |  |  | :rows="2" | 
|---|
|  |  |  | 
|---|
|  |  |  | ></el-row> | 
|---|
|  |  |  | <el-row> | 
|---|
|  |  |  | <el-col :span="6"> | 
|---|
|  |  |  | <el-form-item label="无声语音" prop="silentyy"> | 
|---|
|  |  |  | <el-form-item label="静默语音" prop="verbaltrickyy"> | 
|---|
|  |  |  | <el-upload | 
|---|
|  |  |  | class="upload-demo" | 
|---|
|  |  |  | action="https://jsonplaceholder.typicode.com/posts/" | 
|---|
|  |  |  | :on-change="handleChange" | 
|---|
|  |  |  | :file-list="fileList" | 
|---|
|  |  |  | :action="uploadImgUrl" | 
|---|
|  |  |  | :show-file-list="false" | 
|---|
|  |  |  | :headers="headers" | 
|---|
|  |  |  | :on-success=" | 
|---|
|  |  |  | (response, file) => handleChange(response, file, 3) | 
|---|
|  |  |  | " | 
|---|
|  |  |  | accept=".wav,.mp3" | 
|---|
|  |  |  | :limit="1" | 
|---|
|  |  |  | :on-exceed="handleExceed" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-button size="small" type="primary">点击上传</el-button> | 
|---|
|  |  |  | </el-upload> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | </el-col></el-row | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </el-col> | 
|---|
|  |  |  | <el-col :span="6"> | 
|---|
|  |  |  | <span style="font-size: 12px" v-if="indexform.sliencevoice">{{ | 
|---|
|  |  |  | indexform.sliencevoice.substring( | 
|---|
|  |  |  | indexform.sliencevoice.lastIndexOf("/") + 1 | 
|---|
|  |  |  | ) | 
|---|
|  |  |  | }}</span> | 
|---|
|  |  |  | </el-col> | 
|---|
|  |  |  | <el-col :span="6"> | 
|---|
|  |  |  | <mini-audio | 
|---|
|  |  |  | :audio-source=" | 
|---|
|  |  |  | indexform.sliencevoice | 
|---|
|  |  |  | ? indexform.sliencevoice | 
|---|
|  |  |  | : 'https://example.com/example.mp3' | 
|---|
|  |  |  | " | 
|---|
|  |  |  | ></mini-audio> | 
|---|
|  |  |  | </el-col> | 
|---|
|  |  |  | </el-row> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <el-row> | 
|---|
|  |  |  | <el-col :span="24"> | 
|---|
|  |  |  | 
|---|
|  |  |  | ></el-row> | 
|---|
|  |  |  | <el-row> | 
|---|
|  |  |  | <el-col :span="6"> | 
|---|
|  |  |  | <el-form-item label="听不清语音" prop="vagueyy"> | 
|---|
|  |  |  | <el-form-item label="听不清语音" prop="verbaltrickyy"> | 
|---|
|  |  |  | <el-upload | 
|---|
|  |  |  | class="upload-demo" | 
|---|
|  |  |  | action="https://jsonplaceholder.typicode.com/posts/" | 
|---|
|  |  |  | :on-change="handleChange" | 
|---|
|  |  |  | :file-list="fileList" | 
|---|
|  |  |  | :action="uploadImgUrl" | 
|---|
|  |  |  | :show-file-list="false" | 
|---|
|  |  |  | :headers="headers" | 
|---|
|  |  |  | :on-success=" | 
|---|
|  |  |  | (response, file) => handleChange(response, file, 4) | 
|---|
|  |  |  | " | 
|---|
|  |  |  | accept=".wav,.mp3" | 
|---|
|  |  |  | :limit="1" | 
|---|
|  |  |  | :on-exceed="handleExceed" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-button size="small" type="primary">点击上传</el-button> | 
|---|
|  |  |  | </el-upload> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | </el-col></el-row | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </el-col> | 
|---|
|  |  |  | <el-col :span="6"> | 
|---|
|  |  |  | <span style="font-size: 12px" v-if="indexform.noclearlyvoice">{{ | 
|---|
|  |  |  | indexform.noclearlyvoice.substring( | 
|---|
|  |  |  | indexform.noclearlyvoice.lastIndexOf("/") + 1 | 
|---|
|  |  |  | ) | 
|---|
|  |  |  | }}</span> | 
|---|
|  |  |  | </el-col> | 
|---|
|  |  |  | <el-col :span="6"> | 
|---|
|  |  |  | <mini-audio | 
|---|
|  |  |  | :audio-source=" | 
|---|
|  |  |  | indexform.noclearlyvoice | 
|---|
|  |  |  | ? indexform.noclearlyvoice | 
|---|
|  |  |  | : 'https://example.com/example.mp3' | 
|---|
|  |  |  | " | 
|---|
|  |  |  | ></mini-audio> | 
|---|
|  |  |  | </el-col> | 
|---|
|  |  |  | </el-row> | 
|---|
|  |  |  | </el-form> | 
|---|
|  |  |  | <div slot="footer" class="dialog-footer"> | 
|---|
|  |  |  | <el-button type="primary" @click="nextstep">下一步</el-button> | 
|---|
|  |  |  | 
|---|
|  |  |  | <el-row> | 
|---|
|  |  |  | <el-col :span="24"> | 
|---|
|  |  |  | <el-form-item label="值类型"> | 
|---|
|  |  |  | <el-radio-group disabled v-model="indexform.valueType"> | 
|---|
|  |  |  | <el-radio-group | 
|---|
|  |  |  | :disabled="indexform.targetid" | 
|---|
|  |  |  | v-model="indexform.valueType" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-radio :label="1">选项</el-radio> | 
|---|
|  |  |  | <el-radio :label="2">文本</el-radio> | 
|---|
|  |  |  | <el-radio :label="3">数值</el-radio> | 
|---|
|  |  |  | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <el-form-item label="题目类型"> | 
|---|
|  |  |  | <el-radio-group disabled v-model="indexform.scriptType"> | 
|---|
|  |  |  | <el-radio-group | 
|---|
|  |  |  | @input="typeselection" | 
|---|
|  |  |  | :disabled="indexform.targetid" | 
|---|
|  |  |  | v-model="indexform.scriptType" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-radio :label="1">单选</el-radio> | 
|---|
|  |  |  | <el-radio :label="2">多选</el-radio> | 
|---|
|  |  |  | <el-radio :label="3">填空</el-radio> | 
|---|
|  |  |  | <!-- <el-radio :label="2">多选</el-radio> --> | 
|---|
|  |  |  | <el-radio :label="4">问答</el-radio> | 
|---|
|  |  |  | </el-radio-group> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | </el-col></el-row | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <div v-if="indexform.valueType == 1"> | 
|---|
|  |  |  | <div v-if="indexform.scriptType == 1 || indexform.scriptType == 2"> | 
|---|
|  |  |  | <el-card class="box-card" style="margin-bottom: 20px"> | 
|---|
|  |  |  | <Regular | 
|---|
|  |  |  | :TargetoptionList="indexform.ivrLibaScriptTargetoptionList" | 
|---|
|  |  |  | 
|---|
|  |  |  | <el-col :span="12"> | 
|---|
|  |  |  | <el-form-item label="测试输入" prop="targetvalue"> | 
|---|
|  |  |  | <el-input | 
|---|
|  |  |  | v-model="testvalue" | 
|---|
|  |  |  | v-model="indexform.content" | 
|---|
|  |  |  | placeholder="请输入测试内容" | 
|---|
|  |  |  | maxlength="40" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | </el-col> | 
|---|
|  |  |  | <el-col :span="4"> | 
|---|
|  |  |  | <el-button type="success">开始测试</el-button> | 
|---|
|  |  |  | <el-button type="success" @click="testtagerlist" | 
|---|
|  |  |  | >开始测试</el-button | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </el-col> | 
|---|
|  |  |  | </el-row> | 
|---|
|  |  |  | <div style="margin-bottom: 20px"> | 
|---|
|  |  |  | 
|---|
|  |  |  | style="width: 200px" | 
|---|
|  |  |  | @keyup.enter.native="gettargetInfo" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | <el-form-item label="指标类型" prop="scriptType"> | 
|---|
|  |  |  | <el-select v-model="queryParams.scriptType" placeholder="请选择"> | 
|---|
|  |  |  | <el-option | 
|---|
|  |  |  | v-for="(item, index) in qyoptions" | 
|---|
|  |  |  | :key="item.value" | 
|---|
|  |  |  | :label="item.label" | 
|---|
|  |  |  | :value="item.value" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </el-option> | 
|---|
|  |  |  | </el-select> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <el-form-item> | 
|---|
|  |  |  | 
|---|
|  |  |  | } from "@/api/AiCentre/index"; | 
|---|
|  |  |  | import Regular from "@/components/Regular"; //正则组件 | 
|---|
|  |  |  | import store from "@/store"; | 
|---|
|  |  |  | import { getToken } from "@/utils/auth"; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | export default { | 
|---|
|  |  |  | name: "Verbalproblem", | 
|---|
|  |  |  | components: { Regular }, | 
|---|
|  |  |  | data() { | 
|---|
|  |  |  | return { | 
|---|
|  |  |  | headers: { | 
|---|
|  |  |  | Authorization: "Bearer " + getToken(), | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | uploadImgUrl: process.env.VUE_APP_BASE_API + "/common/uploadSort", | 
|---|
|  |  |  | Editprogress: 1, //编辑进度 | 
|---|
|  |  |  | loading: false, // 遮罩层 | 
|---|
|  |  |  | radio: "false", //单选题选中 | 
|---|
|  |  |  | 
|---|
|  |  |  | ivrLibaScriptTargetoptionList: [], | 
|---|
|  |  |  | ivrLibaScriptTagList: [], | 
|---|
|  |  |  | suitway: "2", | 
|---|
|  |  |  | noMatchText:'抱歉,我没有听懂,您能再说一遍吗?', | 
|---|
|  |  |  | noClearlyText:'抱歉,我没有听清您说的话,您可以再说一次吗?', | 
|---|
|  |  |  | slienceText:'抱歉,我没有听到您说的话,您可以再说一次吗?', | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | mode: [], | 
|---|
|  |  |  | questionclass: [], | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | addvalue: "添加题目", | 
|---|
|  |  |  | languagelist: [], //语言列表 | 
|---|
|  |  |  | qyoptions: [], | 
|---|
|  |  |  | // 查询参数 | 
|---|
|  |  |  | queryParams: { | 
|---|
|  |  |  | pageNum: 1, | 
|---|
|  |  |  | 
|---|
|  |  |  | this.languagelist = store.getters.languagelist; | 
|---|
|  |  |  | this.usable = store.getters.usable; | 
|---|
|  |  |  | this.courtyardlist = store.getters.courtyardlist; | 
|---|
|  |  |  | this.qyoptions = store.getters.askvaluetype; | 
|---|
|  |  |  | }, | 
|---|
|  |  |  |  | 
|---|
|  |  |  | methods: { | 
|---|
|  |  |  | // 获取详情数据 | 
|---|
|  |  |  | getverbaltrick() { | 
|---|
|  |  |  | let id = this.$route.query.id; | 
|---|
|  |  |  | this.indexform.language = "普通话"; | 
|---|
|  |  |  | this.indexform.isAvailable = "1"; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (id) { | 
|---|
|  |  |  | getverbaltrick({ id: id }).then((res) => { | 
|---|
|  |  |  | this.indexform = res.data; | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // targetchange(res) { | 
|---|
|  |  |  | //   console.log(res); | 
|---|
|  |  |  | //   gettargetInfo({ id: res }).then((res) => { | 
|---|
|  |  |  | //     console.log(res.rows[0]); | 
|---|
|  |  |  | //     this.$modal | 
|---|
|  |  |  | //       .confirm('是否添加"' + res.rows[0].targetname + '"指标的选项?') | 
|---|
|  |  |  | //       .then(() => { | 
|---|
|  |  |  | //         this.indexform.valueType = res.rows[0].valueType; | 
|---|
|  |  |  | //         this.indexform.scriptType = res.rows[0].scriptType; | 
|---|
|  |  |  | //         this.indexform.scriptTopic = res.rows[0].targetname; | 
|---|
|  |  |  | //         this.indexform.targetname = res.rows[0].targetname; | 
|---|
|  |  |  | //         this.indexform.targetid = res.rows[0].id; | 
|---|
|  |  |  | //         this.indexform.targetdesc = res.rows[0].targetdesc; | 
|---|
|  |  |  | //         this.indexform.isAvailable = "0"; | 
|---|
|  |  |  | //         this.indexform.language = "普通话"; | 
|---|
|  |  |  | //         this.indexform.isenable = res.rows[0].isenable; | 
|---|
|  |  |  | //         this.$forceUpdate(); | 
|---|
|  |  |  | //         res.rows[0].targetoptionList.forEach((item) => { | 
|---|
|  |  |  | //           item.isoperation = 1; | 
|---|
|  |  |  | //           this.indexform.ivrLibaScriptTargetoptionList.push(item); | 
|---|
|  |  |  | //         }); | 
|---|
|  |  |  | //       }) | 
|---|
|  |  |  | //       .catch(() => { | 
|---|
|  |  |  | //         this.$modal.msgSuccess("已取消"); | 
|---|
|  |  |  | //       }); | 
|---|
|  |  |  | //   }); | 
|---|
|  |  |  | // }, | 
|---|
|  |  |  | testtagerlist() { | 
|---|
|  |  |  | if (this.indexform.content) { | 
|---|
|  |  |  | let data = this.indexform; | 
|---|
|  |  |  | data.targetoptionList = | 
|---|
|  |  |  | this.indexform.ivrLibaScriptTargetoptionList.concat(this.dellist); | 
|---|
|  |  |  | testtagerlist(data).then((res) => { | 
|---|
|  |  |  | this.$modal.msgSuccess("测试成功"); | 
|---|
|  |  |  | this.testgovalue = res.msg; | 
|---|
|  |  |  | this.getList(); | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | this.$modal.msgError("请填写测试内容"); | 
|---|
|  |  |  | return; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // 选择指标 | 
|---|
|  |  |  | selectlabel(row) { | 
|---|
|  |  |  | this.$modal | 
|---|
|  |  |  | 
|---|
|  |  |  | .catch(() => {}); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | gettargetInfo() { | 
|---|
|  |  |  | this.queryParams.suitWay = 2; | 
|---|
|  |  |  | gettargetInfo(this.queryParams).then((res) => { | 
|---|
|  |  |  | console.log(res); | 
|---|
|  |  |  | this.targetList = res.rows; | 
|---|
|  |  |  | 
|---|
|  |  |  | this.gettargetInfo(); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 题目类型更换 | 
|---|
|  |  |  | typeselection(row) { | 
|---|
|  |  |  | if ( | 
|---|
|  |  |  | (row == 1 || row == 2) && | 
|---|
|  |  |  | !this.indexform.ivrLibaScriptTargetoptionList.length | 
|---|
|  |  |  | ) { | 
|---|
|  |  |  | this.indexform.ivrLibaScriptTargetoptionList.push({ | 
|---|
|  |  |  | guid: 1, | 
|---|
|  |  |  | isoperation: 1, | 
|---|
|  |  |  | targetvalue: "", | 
|---|
|  |  |  | targetregex: "", | 
|---|
|  |  |  | targetregex2: "", | 
|---|
|  |  |  | dynamiccruxs: [], | 
|---|
|  |  |  | nodynamiccruxs: [], | 
|---|
|  |  |  | dynamiccruxsJson: "", | 
|---|
|  |  |  | nodynamiccruxsJson: "", | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // 下一步 | 
|---|
|  |  |  | nextstep() { | 
|---|
|  |  |  | if (this.Editprogress <= 1) { | 
|---|
|  |  |  | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // 文件---------------------- | 
|---|
|  |  |  | // 控制文件 | 
|---|
|  |  |  | handleChange(file, fileList) { | 
|---|
|  |  |  | this.fileList = fileList.slice(-3); | 
|---|
|  |  |  | handleChange(response, file, additionalParam) { | 
|---|
|  |  |  | console.log(response); | 
|---|
|  |  |  | if (additionalParam == 1) { | 
|---|
|  |  |  | this.indexform.ivrVoice = response.url; | 
|---|
|  |  |  | } else if (additionalParam == 2) { | 
|---|
|  |  |  | this.indexform.nomatchvoice = response.url; | 
|---|
|  |  |  | console.log(this.indexform.nomatchvoice); | 
|---|
|  |  |  | } else if (additionalParam == 3) { | 
|---|
|  |  |  | this.indexform.sliencevoice = response.url; | 
|---|
|  |  |  | } else if (additionalParam == 4) { | 
|---|
|  |  |  | this.indexform.noclearlyvoice = response.url; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // 文件超出个数限制时的钩子 | 
|---|
|  |  |  | handleExceed(files, fileList) { | 
|---|
|  |  |  | this.$message.warning( | 
|---|
|  |  |  | `当前限制选择 1 个文件,本次选择了 ${files.length} 个文件,共选择了 ${ | 
|---|
|  |  |  | files.length + fileList.length | 
|---|
|  |  |  | } 个文件` | 
|---|
|  |  |  | ); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 标签----------------- | 
|---|
|  |  |  | gettabList() { | 
|---|
|  |  |  | const tagqueryParams = { | 
|---|
|  |  |  | 
|---|
|  |  |  | .sidecolumn { | 
|---|
|  |  |  | margin: 20px; | 
|---|
|  |  |  | margin-bottom: 0; | 
|---|
|  |  |  | padding: 20px; | 
|---|
|  |  |  | padding: 15px; | 
|---|
|  |  |  | background: #edf1f7; | 
|---|
|  |  |  | border: 1px solid #dcdfe6; | 
|---|
|  |  |  | -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .leftvlue { | 
|---|
|  |  |  | margin: 20px; | 
|---|
|  |  |  | margin-top: 10px; | 
|---|
|  |  |  | padding: 30px; | 
|---|
|  |  |  | background: #ffff; | 
|---|
|  |  |  | border: 1px solid #dcdfe6; | 
|---|
|  |  |  | 
|---|
|  |  |  | padding-top: 0; | 
|---|
|  |  |  | padding-bottom: 0; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .tsgname { | 
|---|
|  |  |  | .tsgnames { | 
|---|
|  |  |  | width: 90px; | 
|---|
|  |  |  | margin-right: 10px; | 
|---|
|  |  |  | text-align: center; | 
|---|
|  |  |  | 
|---|
|  |  |  | font-size: 18px; | 
|---|
|  |  |  | border-radius: 5px; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .tsgname:hover { | 
|---|
|  |  |  | .tsgnames:hover { | 
|---|
|  |  |  | background: #3366f5; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .tsgname { | 
|---|
|  |  |  | width: 90px; | 
|---|
|  |  |  | margin-right: 10px; | 
|---|
|  |  |  | text-align: center; | 
|---|
|  |  |  | cursor: pointer; | 
|---|
|  |  |  | height: 40px; | 
|---|
|  |  |  | line-height: 40px; | 
|---|
|  |  |  | background: #66c18c; | 
|---|
|  |  |  | color: #ffff; | 
|---|
|  |  |  | font-size: 18px; | 
|---|
|  |  |  | border-radius: 5px; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .tsgname:hover { | 
|---|
|  |  |  | background: #20894d; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .tsgnamebj { | 
|---|
|  |  |  | width: 90px; | 
|---|
|  |  |  | margin-left: 15px; | 
|---|