|  |  |  | 
|---|
|  |  |  | <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> | 
|---|
|  |  |  | 
|---|
|  |  |  | <div class="leftvlue"> | 
|---|
|  |  |  | <!-- 基本信息 --> | 
|---|
|  |  |  | <div v-if="Editprogress == 1"> | 
|---|
|  |  |  | <div class="leftvlue-jbxx">基本信息</div> | 
|---|
|  |  |  | <div class="leftvlue-jbxx"> | 
|---|
|  |  |  | 基本信息 | 
|---|
|  |  |  | <span style="margin-left: 30px" | 
|---|
|  |  |  | ><el-button type="success" round @click="gettargetInfo" | 
|---|
|  |  |  | >+选择指标</el-button | 
|---|
|  |  |  | ></span | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <el-divider></el-divider> | 
|---|
|  |  |  | <el-form | 
|---|
|  |  |  | ref="form" | 
|---|
|  |  |  | 
|---|
|  |  |  | :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="questiontitle"> | 
|---|
|  |  |  | <el-input | 
|---|
|  |  |  | v-model="indexform.questiontitle" | 
|---|
|  |  |  | placeholder="请输入问题主旨" | 
|---|
|  |  |  | maxlength="80" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | </el-col> | 
|---|
|  |  |  | </el-row> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <el-form-item label="标签" prop="desc"> | 
|---|
|  |  |  | <div class="xinz-inf"> | 
|---|
|  |  |  | <el-tag | 
|---|
|  |  |  | 
|---|
|  |  |  | @change="handleInputConfirm" | 
|---|
|  |  |  | filterable | 
|---|
|  |  |  | remote | 
|---|
|  |  |  | allow-create | 
|---|
|  |  |  | reserve-keyword | 
|---|
|  |  |  | default-first-option | 
|---|
|  |  |  | :remote-method="remoteMethodtag" | 
|---|
|  |  |  | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | <el-form-item label="通知变量" prop="name"> | 
|---|
|  |  |  | <div style="margin-bottom: 5px" v-for="item in variablelist"> | 
|---|
|  |  |  | <el-row> | 
|---|
|  |  |  | <el-col :span="5"> | 
|---|
|  |  |  | <el-input | 
|---|
|  |  |  | v-model="item.variatename" | 
|---|
|  |  |  | placeholder="请输入变量名" | 
|---|
|  |  |  | ></el-input> | 
|---|
|  |  |  | </el-col> | 
|---|
|  |  |  | <el-col :span="8" :offset="1"> | 
|---|
|  |  |  | <el-input | 
|---|
|  |  |  | v-model="item.variate" | 
|---|
|  |  |  | placeholder="请输入变量内容" | 
|---|
|  |  |  | ></el-input> | 
|---|
|  |  |  | </el-col> | 
|---|
|  |  |  | <el-col :span="8" :offset="1"> | 
|---|
|  |  |  | <el-button | 
|---|
|  |  |  | type="success" | 
|---|
|  |  |  | icon="el-icon-plus" | 
|---|
|  |  |  | circle | 
|---|
|  |  |  | @click="addvariable(item)" | 
|---|
|  |  |  | ></el-button> | 
|---|
|  |  |  | <el-button | 
|---|
|  |  |  | v-if="!item.default" | 
|---|
|  |  |  | type="danger" | 
|---|
|  |  |  | icon="el-icon-delete" | 
|---|
|  |  |  | circle | 
|---|
|  |  |  | @click="delvariable(item)" | 
|---|
|  |  |  | ></el-button> | 
|---|
|  |  |  | </el-col> | 
|---|
|  |  |  | </el-row> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <el-row> | 
|---|
|  |  |  | <el-drawer | 
|---|
|  |  |  | title="变量编辑" | 
|---|
|  |  |  | :visible.sync="variabledeawer" | 
|---|
|  |  |  | direction="ttb" | 
|---|
|  |  |  | size="35%" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-form-item label="通知变量" prop="name"> | 
|---|
|  |  |  | <div style="margin-bottom: 5px" v-for="item in variablelist"> | 
|---|
|  |  |  | <el-row> | 
|---|
|  |  |  | <el-col :span="5"> | 
|---|
|  |  |  | <el-input | 
|---|
|  |  |  | v-model="item.variatename" | 
|---|
|  |  |  | placeholder="请输入变量名" | 
|---|
|  |  |  | ></el-input> | 
|---|
|  |  |  | </el-col> | 
|---|
|  |  |  | <el-col :span="8" :offset="1"> | 
|---|
|  |  |  | <el-input | 
|---|
|  |  |  | v-model="item.variate" | 
|---|
|  |  |  | placeholder="请输入变量内容" | 
|---|
|  |  |  | ></el-input> | 
|---|
|  |  |  | </el-col> | 
|---|
|  |  |  | <el-col :span="8" :offset="1"> | 
|---|
|  |  |  | <el-button | 
|---|
|  |  |  | type="success" | 
|---|
|  |  |  | icon="el-icon-plus" | 
|---|
|  |  |  | circle | 
|---|
|  |  |  | @click="addvariable(item)" | 
|---|
|  |  |  | ></el-button> | 
|---|
|  |  |  | <el-button | 
|---|
|  |  |  | v-if="!item.default" | 
|---|
|  |  |  | type="danger" | 
|---|
|  |  |  | icon="el-icon-delete" | 
|---|
|  |  |  | circle | 
|---|
|  |  |  | @click="delvariable(item)" | 
|---|
|  |  |  | ></el-button> | 
|---|
|  |  |  | </el-col> | 
|---|
|  |  |  | </el-row> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | </el-drawer> | 
|---|
|  |  |  | <!-- <el-row> | 
|---|
|  |  |  | <el-col :span="6"> | 
|---|
|  |  |  | <el-form-item label="仅限院区" prop="region"> | 
|---|
|  |  |  | <el-select | 
|---|
|  |  |  | 
|---|
|  |  |  | <el-col :span="6"> | 
|---|
|  |  |  | <el-form-item label="适用方式" prop="status"> | 
|---|
|  |  |  | <el-select | 
|---|
|  |  |  | disabled | 
|---|
|  |  |  | v-model="indexform.suitway" | 
|---|
|  |  |  | multiple | 
|---|
|  |  |  | placeholder="请选择" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-option | 
|---|
|  |  |  | 
|---|
|  |  |  | </el-select> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | </el-col> | 
|---|
|  |  |  | <el-col :span="8"> | 
|---|
|  |  |  | <el-form-item label="关联指标" prop="region"> | 
|---|
|  |  |  | <el-select | 
|---|
|  |  |  | v-model="indexform.targetid" | 
|---|
|  |  |  | filterable | 
|---|
|  |  |  | remote | 
|---|
|  |  |  | reserve-keyword | 
|---|
|  |  |  | placeholder="请输入关键词" | 
|---|
|  |  |  | :remote-method="remoteMethod" | 
|---|
|  |  |  | @change="targetchange" | 
|---|
|  |  |  | :loading="loading" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-option | 
|---|
|  |  |  | v-for="item in targetlist" | 
|---|
|  |  |  | :key="item.id" | 
|---|
|  |  |  | :label="item.targetname" | 
|---|
|  |  |  | :value="item.id" | 
|---|
|  |  |  | </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="item.default ? 'tsgname' : 'tsgnames'" | 
|---|
|  |  |  | @click="tsgnameto(item)" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </el-option> | 
|---|
|  |  |  | </el-select> | 
|---|
|  |  |  | {{ item.variatename }} | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div class="tsgnamebj" @click="variabledeawer = true"> | 
|---|
|  |  |  | 变量编辑 | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | </el-col></el-row | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-row> | 
|---|
|  |  |  | <el-col :span="24"> | 
|---|
|  |  |  | <el-form-item label="语音文本" prop="scriptContent"> | 
|---|
|  |  |  | <el-input | 
|---|
|  |  |  | :rows="2" | 
|---|
|  |  |  | type="textarea" | 
|---|
|  |  |  | id="scriptContent" | 
|---|
|  |  |  | show-word-limit | 
|---|
|  |  |  | placeholder="请输入内容" | 
|---|
|  |  |  | 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-upload | 
|---|
|  |  |  | class="upload-demo" | 
|---|
|  |  |  | :action="uploadImgUrl" | 
|---|
|  |  |  | :headers="headers" | 
|---|
|  |  |  | :show-file-list="false" | 
|---|
|  |  |  | :on-success=" | 
|---|
|  |  |  | (response, file) => handleChange(response, file, 1) | 
|---|
|  |  |  | " | 
|---|
|  |  |  | accept=".wav,.mp3" | 
|---|
|  |  |  | :limit="1" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-button size="small" type="primary">点击上传</el-button> | 
|---|
|  |  |  | </el-upload> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | </el-col> | 
|---|
|  |  |  | <el-col :span="6"> | 
|---|
|  |  |  | <span style="font-size: 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-input | 
|---|
|  |  |  | type="textarea" | 
|---|
|  |  |  | :rows="2" | 
|---|
|  |  |  | id="noMatchText" | 
|---|
|  |  |  | placeholder="请输入内容" | 
|---|
|  |  |  | v-model.sync="indexform.noMatchText" | 
|---|
|  |  |  | @focus="handleInput('noMatchText')" | 
|---|
|  |  |  | show-word-limit | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | </el-form-item> </el-col | 
|---|
|  |  |  | ></el-row> | 
|---|
|  |  |  | <el-row> | 
|---|
|  |  |  | <el-col :span="6"> | 
|---|
|  |  |  | <el-form-item label="无匹配语音" prop="verbaltrickyy"> | 
|---|
|  |  |  | <el-upload | 
|---|
|  |  |  | class="upload-demo" | 
|---|
|  |  |  | :action="uploadImgUrl" | 
|---|
|  |  |  | :show-file-list="false" | 
|---|
|  |  |  | :headers="headers" | 
|---|
|  |  |  | :on-success=" | 
|---|
|  |  |  | (response, file) => handleChange(response, file, 2) | 
|---|
|  |  |  | " | 
|---|
|  |  |  | accept=".wav,.mp3" | 
|---|
|  |  |  | :limit="1" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-button size="small" type="primary">点击上传</el-button> | 
|---|
|  |  |  | </el-upload> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | </el-col> | 
|---|
|  |  |  | <el-col :span="6"> | 
|---|
|  |  |  | <span style="font-size: 12px" v-if="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"> | 
|---|
|  |  |  | <div | 
|---|
|  |  |  | style="display: flex; margin-left: 100px; margin-bottom: 10px" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <div | 
|---|
|  |  |  | v-for="item in variablelist" | 
|---|
|  |  |  | class="tsgname" | 
|---|
|  |  |  | @click="tsgnameto(item)" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | {{ item.variatename }} | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </el-col></el-row | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-row> | 
|---|
|  |  |  | <el-col :span="24"> | 
|---|
|  |  |  | <el-form-item label="问题文本" prop="questionText"> | 
|---|
|  |  |  | <el-input | 
|---|
|  |  |  | :rows="2" | 
|---|
|  |  |  | type="textarea" | 
|---|
|  |  |  | id="questionText" | 
|---|
|  |  |  | maxlength="66" | 
|---|
|  |  |  | show-word-limit | 
|---|
|  |  |  | placeholder="请输入内容" | 
|---|
|  |  |  | v-model.sync="indexform.questionText" | 
|---|
|  |  |  | @focus="handleInput('questionText')" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | </el-form-item> </el-col | 
|---|
|  |  |  | ></el-row> | 
|---|
|  |  |  | <el-row> | 
|---|
|  |  |  | <el-col :span="6"> | 
|---|
|  |  |  | <el-form-item label="问题语音" prop="verbaltrickyy"> | 
|---|
|  |  |  | <el-upload | 
|---|
|  |  |  | class="upload-demo" | 
|---|
|  |  |  | action="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-input v-model="indexform.userName" maxlength="66" | 
|---|
|  |  |  | show-word-limit /> --> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | </el-col></el-row | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-row> | 
|---|
|  |  |  | <el-col :span="24"> | 
|---|
|  |  |  | <el-form-item label="无匹配文本" prop="nomatchtext"> | 
|---|
|  |  |  | <el-form-item label="静默文本" prop="slienceText"> | 
|---|
|  |  |  | <el-input | 
|---|
|  |  |  | type="textarea" | 
|---|
|  |  |  | :rows="2" | 
|---|
|  |  |  | id="nomatchtext" | 
|---|
|  |  |  | id="slienceText" | 
|---|
|  |  |  | placeholder="请输入内容" | 
|---|
|  |  |  | v-model.sync="indexform.nomatchtext" | 
|---|
|  |  |  | @focus="handleInput('nomatchtext')" | 
|---|
|  |  |  | maxlength="66" | 
|---|
|  |  |  | v-model.sync="indexform.slienceText" | 
|---|
|  |  |  | @focus="handleInput('slienceText')" | 
|---|
|  |  |  | show-word-limit | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | </el-form-item> </el-col | 
|---|
|  |  |  | ></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, 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-row> | 
|---|
|  |  |  | <el-col :span="24"> | 
|---|
|  |  |  | <el-form-item label="无声文本" prop="sliencetext"> | 
|---|
|  |  |  | <el-input | 
|---|
|  |  |  | type="textarea" | 
|---|
|  |  |  | :rows="2" | 
|---|
|  |  |  | id="sliencetext" | 
|---|
|  |  |  | placeholder="请输入内容" | 
|---|
|  |  |  | v-model.sync="indexform.sliencetext" | 
|---|
|  |  |  | @focus="handleInput('sliencetext')" | 
|---|
|  |  |  | maxlength="66" | 
|---|
|  |  |  | show-word-limit | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | </el-form-item> </el-col | 
|---|
|  |  |  | ></el-row> | 
|---|
|  |  |  | <el-row> | 
|---|
|  |  |  | </el-col> | 
|---|
|  |  |  | <el-col :span="6"> | 
|---|
|  |  |  | <el-form-item label="无声语音" prop="silentyy"> | 
|---|
|  |  |  | <el-upload | 
|---|
|  |  |  | class="upload-demo" | 
|---|
|  |  |  | 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-row | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <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-form-item label="听不清文本" prop="noclearlytext"> | 
|---|
|  |  |  | <el-form-item label="听不清文本" prop="noClearlyText"> | 
|---|
|  |  |  | <el-input | 
|---|
|  |  |  | type="textarea" | 
|---|
|  |  |  | id="noclearlytext" | 
|---|
|  |  |  | id="noClearlyText" | 
|---|
|  |  |  | :rows="2" | 
|---|
|  |  |  | placeholder="请输入内容" | 
|---|
|  |  |  | @focus="handleInput('noclearlytext')" | 
|---|
|  |  |  | v-model.sync="indexform.noclearlytext" | 
|---|
|  |  |  | maxlength="66" | 
|---|
|  |  |  | @focus="handleInput('noClearlyText')" | 
|---|
|  |  |  | v-model.sync="indexform.noClearlyText" | 
|---|
|  |  |  | show-word-limit | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | </el-form-item> </el-col | 
|---|
|  |  |  | ></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> | 
|---|
|  |  |  | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <!-- 指标设置 --> | 
|---|
|  |  |  | <div v-if="Editprogress == 2"> | 
|---|
|  |  |  | <div class="leftvlue-jbxx">指标题目设置</div> | 
|---|
|  |  |  | <div class="leftvlue-jbxx"> | 
|---|
|  |  |  | 指标题目设置 | 
|---|
|  |  |  | <span style="margin-left: 30px" | 
|---|
|  |  |  | ><el-button type="success" round @click="gettargetInfo" | 
|---|
|  |  |  | >+选择指标</el-button | 
|---|
|  |  |  | ></span | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <el-divider></el-divider> | 
|---|
|  |  |  | <el-form | 
|---|
|  |  |  | ref="form" | 
|---|
|  |  |  | 
|---|
|  |  |  | label-width="100px" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-row> | 
|---|
|  |  |  | <el-col :span="12"> | 
|---|
|  |  |  | <el-col :span="8"> | 
|---|
|  |  |  | <el-form-item label="指标名称" prop="deptId"> | 
|---|
|  |  |  | <el-input | 
|---|
|  |  |  | v-model="indexform.targetname" | 
|---|
|  |  |  | placeholder="请输入指标名称" | 
|---|
|  |  |  | maxlength="40" | 
|---|
|  |  |  | maxlength="20" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | </el-col> | 
|---|
|  |  |  | <el-col :span="12"> | 
|---|
|  |  |  | <el-form-item label="指标描述" prop="deptId"> | 
|---|
|  |  |  | <el-input | 
|---|
|  |  |  | v-model="indexform.targetdesc" | 
|---|
|  |  |  | placeholder="请输入指标描述" | 
|---|
|  |  |  | maxlength="60" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | </el-col> | 
|---|
|  |  |  | 
|---|
|  |  |  | <el-row> | 
|---|
|  |  |  | <el-col :span="24"> | 
|---|
|  |  |  | <el-form-item label="值类型"> | 
|---|
|  |  |  | <el-radio-group 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-radio-group> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <el-form-item label="题目类型"> | 
|---|
|  |  |  | <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="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" | 
|---|
|  |  |  | 
|---|
|  |  |  | @deloption="deloption" | 
|---|
|  |  |  | @syioption="syioption" | 
|---|
|  |  |  | @xiayioption="xiayioption" | 
|---|
|  |  |  | :intent="false" | 
|---|
|  |  |  | :Verbalproblem="false" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | </el-card> | 
|---|
|  |  |  | <el-row :gutter="20"> | 
|---|
|  |  |  | <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"> | 
|---|
|  |  |  | 
|---|
|  |  |  | <el-button @click="Saveproblem()">保存数据</el-button> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <el-drawer | 
|---|
|  |  |  | title="选择指标" | 
|---|
|  |  |  | :visible.sync="drawer" | 
|---|
|  |  |  | custom-class="demo-drawer" | 
|---|
|  |  |  | size="50%" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <div class="preview-left"> | 
|---|
|  |  |  | <el-form | 
|---|
|  |  |  | :model="queryParams" | 
|---|
|  |  |  | ref="queryForm" | 
|---|
|  |  |  | size="small" | 
|---|
|  |  |  | :inline="true" | 
|---|
|  |  |  | label-width="98px" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-form-item label="标题" prop="userName"> | 
|---|
|  |  |  | <el-input | 
|---|
|  |  |  | v-model="queryParams.targetname" | 
|---|
|  |  |  | placeholder="请输入" | 
|---|
|  |  |  | clearable | 
|---|
|  |  |  | 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> | 
|---|
|  |  |  | <el-button | 
|---|
|  |  |  | type="primary" | 
|---|
|  |  |  | icon="el-icon-search" | 
|---|
|  |  |  | size="medium" | 
|---|
|  |  |  | @click="gettargetInfo" | 
|---|
|  |  |  | >搜索</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="targetList"> | 
|---|
|  |  |  | <el-table-column | 
|---|
|  |  |  | label="标题" | 
|---|
|  |  |  | align="center" | 
|---|
|  |  |  | key="targetname" | 
|---|
|  |  |  | prop="targetname" | 
|---|
|  |  |  | width="100" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | <el-table-column | 
|---|
|  |  |  | label="问题内容" | 
|---|
|  |  |  | align="center" | 
|---|
|  |  |  | key="targetdesc" | 
|---|
|  |  |  | prop="targetdesc" | 
|---|
|  |  |  | 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="selectlabel(scope.row)" | 
|---|
|  |  |  | ><span class="button-textxg" | 
|---|
|  |  |  | ><i class="el-icon-circle-plus-outline"></i>选择</span | 
|---|
|  |  |  | ></el-button | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  | </el-table-column> | 
|---|
|  |  |  | </el-table> | 
|---|
|  |  |  | <pagination | 
|---|
|  |  |  | v-show="total > 0" | 
|---|
|  |  |  | :total="total" | 
|---|
|  |  |  | :page.sync="queryParams.pageNum" | 
|---|
|  |  |  | :limit.sync="queryParams.pageSize" | 
|---|
|  |  |  | @pagination="gettargetInfo" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </el-drawer> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <script> | 
|---|
|  |  |  | import { listtag } from "@/api/system/label"; | 
|---|
|  |  |  | import { | 
|---|
|  |  |  | getverbaltricklist, | 
|---|
|  |  |  | verbaltrickinfo, | 
|---|
|  |  |  | gettagerlist, | 
|---|
|  |  |  | testtagerlist, | 
|---|
|  |  |  | delverbaltrickinfo, | 
|---|
|  |  |  | compileverbaltrick, | 
|---|
|  |  |  | getverbaltrick, | 
|---|
|  |  |  | 
|---|
|  |  |  | } 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", //单选题选中 | 
|---|
|  |  |  | 
|---|
|  |  |  | radioas: "", //填空题答案 | 
|---|
|  |  |  | dynamicTags: [], | 
|---|
|  |  |  | dellist: [], | 
|---|
|  |  |  | targetList: [], | 
|---|
|  |  |  | inputVisible: false, | 
|---|
|  |  |  | drawer: false, | 
|---|
|  |  |  | inputValue: "", | 
|---|
|  |  |  | testvalue: "", | 
|---|
|  |  |  | testgovalue: "", | 
|---|
|  |  |  | 
|---|
|  |  |  | indexform: { | 
|---|
|  |  |  | ivrLibaScriptTargetoptionList: [], | 
|---|
|  |  |  | ivrLibaScriptTagList: [], | 
|---|
|  |  |  | suitway: "2", | 
|---|
|  |  |  | noMatchText:'抱歉,我没有听懂,您能再说一遍吗?', | 
|---|
|  |  |  | noClearlyText:'抱歉,我没有听清您说的话,您可以再说一次吗?', | 
|---|
|  |  |  | slienceText:'抱歉,我没有听到您说的话,您可以再说一次吗?', | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | mode: [], | 
|---|
|  |  |  | questionclass: [], | 
|---|
|  |  |  | 
|---|
|  |  |  | courtyardlist: [], | 
|---|
|  |  |  | // 总条数 | 
|---|
|  |  |  | total: 1, | 
|---|
|  |  |  |  | 
|---|
|  |  |  | targetlist: [ | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: "选项1", | 
|---|
|  |  |  | label: "图文", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | rules: {}, | 
|---|
|  |  |  | rulesa: {}, | 
|---|
|  |  |  | optionstag: [], | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | addvalue: "添加题目", | 
|---|
|  |  |  | languagelist: [], //语言列表 | 
|---|
|  |  |  | qyoptions: [], | 
|---|
|  |  |  | // 查询参数 | 
|---|
|  |  |  | queryParams: { | 
|---|
|  |  |  | pageNum: 1, | 
|---|
|  |  |  | pageSize: 10, | 
|---|
|  |  |  | userName: undefined, | 
|---|
|  |  |  | phonenumber: undefined, | 
|---|
|  |  |  | status: undefined, | 
|---|
|  |  |  | deptId: undefined, | 
|---|
|  |  |  | IDnumber: undefined, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | variabledeawer: false, | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | }, | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | 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; | 
|---|
|  |  |  | if (this.indexform.suitway) | 
|---|
|  |  |  | this.indexform.suitway = this.indexform.suitway.split(","); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | this.indexform.assortid = parseInt(this.indexform.assortid); | 
|---|
|  |  |  | this.variablelist = JSON.parse(this.indexform.otherdata).length | 
|---|
|  |  |  | ? JSON.parse(this.indexform.otherdata) | 
|---|
|  |  |  | 
|---|
|  |  |  | this.dynamicTags = this.indexform.ivrLibaScriptTagList.map( | 
|---|
|  |  |  | this.processElement | 
|---|
|  |  |  | ); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // this.targetlist = [ | 
|---|
|  |  |  | //   { | 
|---|
|  |  |  | //     id: this.indexform.targetid, | 
|---|
|  |  |  | //     targetname: this.indexform.targetname, | 
|---|
|  |  |  | //   }, | 
|---|
|  |  |  | // ]; | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | gettargetInfolist({ pageSize: 100, pageNum: 1 }).then((res) => { | 
|---|
|  |  |  | this.targetlist = res.rows; | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | // 树 | 
|---|
|  |  |  | getbaltrickclassify({}).then((res) => { | 
|---|
|  |  |  | this.questionclass = res.rows; | 
|---|
|  |  |  | 
|---|
|  |  |  | // 保存详细信息 | 
|---|
|  |  |  | Saveproblem() { | 
|---|
|  |  |  | this.indexform.otherdata = JSON.stringify(this.variablelist); | 
|---|
|  |  |  | if (this.indexform.suitway) { | 
|---|
|  |  |  | this.indexform.suitway = this.indexform.suitway.join(","); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (this.indexform.id) { | 
|---|
|  |  |  | this.indexform.ivrLibaScriptTargetoptionList = | 
|---|
|  |  |  | 
|---|
|  |  |  | console.log(this.dellist); | 
|---|
|  |  |  | this.indexform.ivrLibaScriptTargetoptionList = | 
|---|
|  |  |  | this.indexform.ivrLibaScriptTargetoptionList.concat(this.dellist); | 
|---|
|  |  |  | this.indexform.targetoptions = | 
|---|
|  |  |  | this.indexform.ivrLibaScriptTargetoptionList | 
|---|
|  |  |  | .filter((item) => item.isope != 3) // 过滤掉 isope 为 3 的项 | 
|---|
|  |  |  | .map((item) => item.targetvalue) | 
|---|
|  |  |  | .join(", "); | 
|---|
|  |  |  | compileverbaltrick(this.indexform).then((res) => { | 
|---|
|  |  |  | if (res.code == 200) { | 
|---|
|  |  |  | this.$modal.msgSuccess("修改成功"); | 
|---|
|  |  |  | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | remoteMethod(query) { | 
|---|
|  |  |  | if (query !== "") { | 
|---|
|  |  |  | this.loading = true; | 
|---|
|  |  |  | setTimeout(() => { | 
|---|
|  |  |  | this.loading = false; | 
|---|
|  |  |  | gettargetInfolist({ targetname: query }).then((res) => { | 
|---|
|  |  |  | this.targetlist = res.rows; | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | }, 200); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 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.targetlist = []; | 
|---|
|  |  |  | this.$modal.msgError("请填写测试内容"); | 
|---|
|  |  |  | return; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | 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.questiontitle = res.rows[0].targetname; | 
|---|
|  |  |  | this.indexform.targetname = res.rows[0].targetname; | 
|---|
|  |  |  | this.indexform.questionText = 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("已取消"); | 
|---|
|  |  |  | // 选择指标 | 
|---|
|  |  |  | selectlabel(row) { | 
|---|
|  |  |  | this.$modal | 
|---|
|  |  |  | .confirm( | 
|---|
|  |  |  | '是否选择标题为"' + row.targetname + '"的指标并替换填充问题信息?' | 
|---|
|  |  |  | ) | 
|---|
|  |  |  | .then(() => { | 
|---|
|  |  |  | console.log(row); | 
|---|
|  |  |  | this.indexform.valueType = row.valueType; | 
|---|
|  |  |  | this.indexform.scriptType = row.scriptType; | 
|---|
|  |  |  | this.indexform.scriptTopic = row.targetname; | 
|---|
|  |  |  | this.indexform.targetname = row.targetname; | 
|---|
|  |  |  | this.indexform.targetid = row.id; | 
|---|
|  |  |  | this.indexform.targetdesc = row.targetdesc; | 
|---|
|  |  |  | this.indexform.isAvailable = "0"; | 
|---|
|  |  |  | this.indexform.language = "普通话"; | 
|---|
|  |  |  | this.indexform.isenable = row.isenable; | 
|---|
|  |  |  | const labellist = row.targetoptionList; | 
|---|
|  |  |  | labellist.forEach((item) => { | 
|---|
|  |  |  | item.isoperation = 1; | 
|---|
|  |  |  | this.indexform.ivrLibaScriptTargetoptionList.push(item); | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | this.drawer = false; | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | .catch(() => {}); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | gettargetInfo() { | 
|---|
|  |  |  | this.queryParams.suitWay = 2; | 
|---|
|  |  |  | gettargetInfo(this.queryParams).then((res) => { | 
|---|
|  |  |  | console.log(res); | 
|---|
|  |  |  | this.targetList = res.rows; | 
|---|
|  |  |  | this.total = res.total; | 
|---|
|  |  |  | this.drawer = true; | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | resetQuery() { | 
|---|
|  |  |  | this.queryParams = { | 
|---|
|  |  |  | pageNum: 1, | 
|---|
|  |  |  | pageSize: 10, | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | 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 = { | 
|---|
|  |  |  | 
|---|
|  |  |  | let inputValueArr = ""; | 
|---|
|  |  |  | let el = document.querySelector("#" + this.currentInputId); | 
|---|
|  |  |  | //el.selectionStart; 这就是当前光标所在的位置(字符串中字符的index) | 
|---|
|  |  |  | if (this.currentInputId == "questionText") { | 
|---|
|  |  |  | inputValueArr = this.indexform.questionText.split(""); | 
|---|
|  |  |  | } else if (this.currentInputId == "nomatchtext") { | 
|---|
|  |  |  | inputValueArr = this.indexform.nomatchtext.split(""); | 
|---|
|  |  |  | } else if (this.currentInputId == "sliencetext") { | 
|---|
|  |  |  | inputValueArr = this.indexform.sliencetext.split(""); | 
|---|
|  |  |  | } else if (this.currentInputId == "noclearlytext") { | 
|---|
|  |  |  | inputValueArr = this.indexform.noclearlytext.split(""); | 
|---|
|  |  |  | if (this.currentInputId == "scriptContent") { | 
|---|
|  |  |  | inputValueArr = this.indexform.scriptContent.split(""); | 
|---|
|  |  |  | } else if (this.currentInputId == "noMatchText") { | 
|---|
|  |  |  | inputValueArr = this.indexform.noMatchText.split(""); | 
|---|
|  |  |  | } else if (this.currentInputId == "slienceText") { | 
|---|
|  |  |  | inputValueArr = this.indexform.slienceText.split(""); | 
|---|
|  |  |  | } else if (this.currentInputId == "noClearlyText") { | 
|---|
|  |  |  | inputValueArr = this.indexform.noClearlyText.split(""); | 
|---|
|  |  |  | } else if (this.currentInputId == "submoduletext") { | 
|---|
|  |  |  | inputValueArr = this.indexform.submoduletext.split(""); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | 
|---|
|  |  |  | // 把数组重新转换为字符串并赋值 | 
|---|
|  |  |  | inputValueArr = inputValueArr.join(""); | 
|---|
|  |  |  | console.log(inputValueArr); | 
|---|
|  |  |  | if (this.currentInputId == "questionText") { | 
|---|
|  |  |  | this.indexform.questionText = inputValueArr; | 
|---|
|  |  |  | } else if (this.currentInputId == "nomatchtext") { | 
|---|
|  |  |  | this.indexform.nomatchtext = inputValueArr; | 
|---|
|  |  |  | } else if (this.currentInputId == "sliencetext") { | 
|---|
|  |  |  | this.indexform.sliencetext = inputValueArr; | 
|---|
|  |  |  | } else if (this.currentInputId == "noclearlytext") { | 
|---|
|  |  |  | this.indexform.noclearlytext = inputValueArr; | 
|---|
|  |  |  | if (this.currentInputId == "scriptContent") { | 
|---|
|  |  |  | this.indexform.scriptContent = inputValueArr; | 
|---|
|  |  |  | } else if (this.currentInputId == "noMatchText") { | 
|---|
|  |  |  | this.indexform.noMatchText = inputValueArr; | 
|---|
|  |  |  | } else if (this.currentInputId == "slienceText") { | 
|---|
|  |  |  | this.indexform.slienceText = inputValueArr; | 
|---|
|  |  |  | } else if (this.currentInputId == "noClearlyText") { | 
|---|
|  |  |  | this.indexform.noClearlyText = inputValueArr; | 
|---|
|  |  |  | } else if (this.currentInputId == "submoduletext") { | 
|---|
|  |  |  | this.indexform.submoduletext = inputValueArr; | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | 
|---|
|  |  |  | .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; | 
|---|
|  |  |  | text-align: center; | 
|---|
|  |  |  | cursor: pointer; | 
|---|
|  |  |  | height: 40px; | 
|---|
|  |  |  | line-height: 40px; | 
|---|
|  |  |  | background: #49dbb7; | 
|---|
|  |  |  | color: #ffff; | 
|---|
|  |  |  | font-size: 18px; | 
|---|
|  |  |  | border-radius: 5px; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .tsgnamebj:hover { | 
|---|
|  |  |  | background: #27c449; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .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); | 
|---|
|  |  |  | .scriptTopic-dev { | 
|---|
|  |  |  | margin-bottom: 25px; | 
|---|
|  |  |  | font-size: 20px !important; | 
|---|
|  |  |  | .dev-text { | 
|---|
|  |  |  | margin-bottom: 10px; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | ::v-deep .addtopic-input { | 
|---|
|  |  |  | input { | 
|---|