|  |  | 
 |  |  |           <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"> | 
 |  |  | 
 |  |  |           > | 
 |  |  |           <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="uploadImgUrl" | 
 |  |  | 
 |  |  |               </el-form-item> | 
 |  |  |             </el-col> | 
 |  |  |             <el-col :span="6"> | 
 |  |  |               <span style="font-size: 12px">{{ | 
 |  |  |                 indexform.scriptVoice.substring( | 
 |  |  |                   indexform.scriptVoice.lastIndexOf("/") + 1 | 
 |  |  |               <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.scriptVoice | 
 |  |  |                     ? indexform.scriptVoice | 
 |  |  |                   indexform.ivrVoice | 
 |  |  |                     ? indexform.ivrVoice | 
 |  |  |                     : 'https://example.com/example.mp3' | 
 |  |  |                 " | 
 |  |  |               ></mini-audio> | 
 |  |  | 
 |  |  |               </el-form-item> | 
 |  |  |             </el-col> | 
 |  |  |             <el-col :span="6"> | 
 |  |  |               <span style="font-size: 12px">{{ | 
 |  |  |               <span style="font-size: 12px" v-if="indexform.nomatchvoice">{{ | 
 |  |  |                 indexform.nomatchvoice.substring( | 
 |  |  |                   indexform.nomatchvoice.lastIndexOf("/") + 1 | 
 |  |  |                 ) | 
 |  |  | 
 |  |  |           </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="verbaltrickyy"> | 
 |  |  |               <el-form-item label="静默语音" prop="verbaltrickyy"> | 
 |  |  |                 <el-upload | 
 |  |  |                   class="upload-demo" | 
 |  |  |                   :action="uploadImgUrl" | 
 |  |  | 
 |  |  |               </el-form-item> | 
 |  |  |             </el-col> | 
 |  |  |             <el-col :span="6"> | 
 |  |  |               <span style="font-size: 12px">{{ | 
 |  |  |               <span style="font-size: 12px" v-if="indexform.sliencevoice">{{ | 
 |  |  |                 indexform.sliencevoice.substring( | 
 |  |  |                   indexform.sliencevoice.lastIndexOf("/") + 1 | 
 |  |  |                 ) | 
 |  |  | 
 |  |  |               </el-form-item> | 
 |  |  |             </el-col> | 
 |  |  |             <el-col :span="6"> | 
 |  |  |               <span style="font-size: 12px">{{ | 
 |  |  |               <span style="font-size: 12px" v-if="indexform.noclearlyvoice">{{ | 
 |  |  |                 indexform.noclearlyvoice.substring( | 
 |  |  |                   indexform.noclearlyvoice.lastIndexOf("/") + 1 | 
 |  |  |                 ) | 
 |  |  | 
 |  |  |           <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> | 
 |  |  | 
 |  |  |         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(response, file, additionalParam) { | 
 |  |  |       console.log(response); | 
 |  |  |       if (additionalParam == 1) { | 
 |  |  |         this.indexform.scriptVoice = response.url; | 
 |  |  |         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) { | 
 |  |  | 
 |  |  | .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; |