| | |
| | | > |
| | | <div class="headline"> |
| | | 题目设置详情 |
| | | <span style="margin-left: 30px" |
| | | <!-- <span style="margin-left: 30px" |
| | | ><el-button type="primary" @click="Submittopicobj" |
| | | >保存</el-button |
| | | ></span |
| | | > |
| | | > --> |
| | | </div> |
| | | <el-form-item label="题目标题"> |
| | | <el-input |
| | |
| | | custom-class="demo-drawer" |
| | | size="50%" |
| | | > |
| | | <div style="margin: 0 25px"> |
| | | <el-tabs v-model="activeName"> |
| | | <el-tab-pane label="题库选取" name="first"> |
| | | <div class="preview-left"> |
| | | <el-form |
| | | :model="queryParams" |
| | |
| | | @click="getaddtopiclist" |
| | | >搜索</el-button |
| | | > |
| | | <el-button icon="el-icon-refresh" size="medium" @click="resetQuery" |
| | | <el-button |
| | | icon="el-icon-refresh" |
| | | size="medium" |
| | | @click="resetQuery" |
| | | >重置</el-button |
| | | > |
| | | </el-form-item> |
| | |
| | | class-name="small-padding fixed-width" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-button size="medium" type="text" @click="addtopic(scope.row)" |
| | | <el-button |
| | | size="medium" |
| | | type="text" |
| | | @click="addtopic(scope.row)" |
| | | ><span class="button-textxg" |
| | | ><i class="el-icon-circle-plus-outline"></i>添加</span |
| | | ></el-button |
| | |
| | | :limit.sync="queryParams.pageSize" |
| | | @pagination="getaddtopiclist" |
| | | /> |
| | | </div> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="手动配置" name="second"> |
| | | <div class="preview-left"> |
| | | <el-form |
| | | :inline="true" |
| | | :model="indexform" |
| | | class="demo-form-inline" |
| | | > |
| | | <div class="headline"> |
| | | 题目设置详情 |
| | | <span style="margin-left: 30px" |
| | | ><el-button type="primary" @click="Submittopicobj" |
| | | >保存新增</el-button |
| | | ></span |
| | | > |
| | | </div> |
| | | <el-divider></el-divider> |
| | | <el-form-item label="题目标题"> |
| | | <el-input |
| | | v-model="indexform.scriptTopic" |
| | | placeholder="请输入题目标题" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="问题节点"> |
| | | <el-input |
| | | v-model="indexform.targetid" |
| | | placeholder="请输入问题节点" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-row :gutter="10"> |
| | | <el-col :span="12" |
| | | ><el-form-item label="是否必填"> |
| | | <el-select |
| | | v-model="indexform.isMust" |
| | | placeholder="默认必填" |
| | | > |
| | | <el-option |
| | | v-for="item in required" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | </el-option> |
| | | </el-select> </el-form-item |
| | | ></el-col> |
| | | <el-col :span="12" |
| | | ><el-form-item label="取值类型"> |
| | | <el-select |
| | | v-model="indexform.valueType" |
| | | placeholder="请选择" |
| | | :disabled="true" |
| | | > |
| | | <el-option |
| | | v-for="item in valuetype" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | </el-option> |
| | | </el-select> </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.scriptVoice" |
| | | >{{ |
| | | indexform.scriptVoice.substring( |
| | | indexform.scriptVoice.lastIndexOf("/") + 1 |
| | | ) |
| | | }}</span |
| | | > |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <mini-audio |
| | | :audio-source=" |
| | | indexform.scriptVoice |
| | | ? indexform.scriptVoice |
| | | : 'https://example.com/example.mp3' |
| | | " |
| | | ></mini-audio> |
| | | </el-col> |
| | | </el-row> |
| | | <div> |
| | | <el-form-item label="指标名称" prop="deptId"> |
| | | <el-input |
| | | v-model="indexform.targetname" |
| | | placeholder="请输入指标名称" |
| | | maxlength="20" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="指标描述" prop="deptId"> |
| | | <el-input |
| | | v-model="indexform.targetdesc" |
| | | placeholder="请输入指标描述" |
| | | maxlength="60" |
| | | /> |
| | | </el-form-item> |
| | | |
| | | <el-row> |
| | | <el-col :span="20"> |
| | | <el-form-item label="值类型"> |
| | | <el-radio-group 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-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="20"> |
| | | <el-form-item label="题目类型"> |
| | | <el-radio-group |
| | | @input="typeselection" |
| | | 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> |
| | | <div class="topicxq" v-if="indexform.scriptType == 2"> |
| | | <el-row> |
| | | <el-col :span="20"> |
| | | <el-form-item label="收集内容"> |
| | | <el-input |
| | | style="width: 400px" |
| | | type="textarea" |
| | | v-model="indexform.value" |
| | | placeholder="问题收集内容" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | |
| | | <div v-else> |
| | | <div class="headline"> |
| | | <div class="basics">选项设置</div> |
| | | </div> |
| | | <el-divider></el-divider> |
| | | <Regular |
| | | :TargetoptionList="indexform.ivrLibaScriptTargetoptionList" |
| | | @deloption="deloption" |
| | | :controlsc="false" |
| | | /> |
| | | <!-- 无匹配类型 --> |
| | | <div class="topicxq"> |
| | | <el-row :gutter="10"> |
| | | <el-col :span="20" |
| | | ><el-form-item label="无匹配话术"> |
| | | <el-input |
| | | type="textarea" |
| | | style="width: 400px" |
| | | placeholder="请输入" |
| | | v-model="indexform.noMatchText" |
| | | show-word-limit |
| | | > |
| | | </el-input> </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> |
| | | </div> |
| | | <div class="topicxq"> |
| | | <el-row :gutter="10"> |
| | | <el-col :span="20" |
| | | ><el-form-item label="听不清话术"> |
| | | <el-input |
| | | style="width: 400px" |
| | | type="textarea" |
| | | placeholder="请输入" |
| | | v-model="indexform.noClearlyText" |
| | | show-word-limit |
| | | > |
| | | </el-input> </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, 4) |
| | | " |
| | | 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.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> |
| | | </div> |
| | | <div class="topicxq"> |
| | | <el-row :gutter="10"> |
| | | <el-col :span="20" |
| | | ><el-form-item label="静默话术"> |
| | | <el-input |
| | | type="textarea" |
| | | style="width: 400px" |
| | | placeholder="请输入" |
| | | v-model="indexform.slienceText" |
| | | show-word-limit |
| | | > |
| | | </el-input> </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, 3) |
| | | " |
| | | 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.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> |
| | | </div> |
| | | </div> |
| | | </el-form> |
| | | </div> |
| | | </el-tab-pane> |
| | | </el-tabs> |
| | | </div> |
| | | </el-drawer> |
| | | <!-- 添加适用疾病窗口 --> |
| | |
| | | getgenerallist, |
| | | } from "@/api/AiCentre/index"; |
| | | import OptionalForm from "@/components/OptionalForm"; //正则组件 |
| | | import { getToken } from "@/utils/auth"; |
| | | |
| | | export default { |
| | | name: "SpeechTemplates", |
| | | components: { Regular, OptionalForm }, |
| | | data() { |
| | | return { |
| | | headers: { |
| | | Authorization: "Bearer " + getToken(), |
| | | }, |
| | | uploadImgUrl: process.env.VUE_APP_BASE_API + "/common/uploadSort", |
| | | Editprogress: 1, //编辑进度 |
| | | loading: false, // 遮罩层 |
| | | drawer: false, //控制展开 |
| | |
| | | radioas: "", //填空题答案 |
| | | task: null, //是否来自任务 |
| | | taskform: null, //任务信息 |
| | | indexform: { |
| | | ivrLibaScriptTargetoptionList: [], |
| | | }, |
| | | labelInfovalue: [], //标签临时存储 |
| | | deptNamesvalue: [], //科室临时存储 |
| | | dialogVisiblepatient: false, //适用疾病窗口 |
| | |
| | | tempDetpRelevanceslist: [], |
| | | delScriptVOList: [], |
| | | optionIndex: "", |
| | | activeName: "first", |
| | | variablelist: [ |
| | | { variatename: "姓名", variate: "${name}", default: 1 }, |
| | | { variatename: "电话", variate: "${phone}", default: 1 }, |
| | |
| | | }); |
| | | }); |
| | | }, |
| | | |
| | | // 控制文件 |
| | | handleChange(file, fileList) { |
| | | this.fileList = fileList.slice(-3); |
| | | //控制语音文件 |
| | | handleChange(response, file, additionalParam) { |
| | | console.log(response); |
| | | if (additionalParam == 1) { |
| | | this.indexform.scriptVoice = 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) { |
| | |
| | | }) |
| | | .catch(() => {}); |
| | | }, |
| | | // 新建模版中临时题目 |
| | | // 题目类型更换 |
| | | typeselection(row) { |
| | | if (row == 1 && !this.indexform.ivrLibaScriptTargetoptionList.length) { |
| | | this.indexform.ivrLibaScriptTargetoptionList.push({ |
| | | guid: 1, |
| | | isoperation: 1, |
| | | targetvalue: "", |
| | | targetregex: "", |
| | | targetregex2: "", |
| | | dynamiccruxs: [], |
| | | nodynamiccruxs: [], |
| | | dynamiccruxsJson: "", |
| | | nodynamiccruxsJson: "", |
| | | }); |
| | | } |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | |
| | | margin-bottom: 10px; |
| | | } |
| | | } |
| | | .headline { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | font-size: 20px; |
| | | border-left: 3px solid #41a1be; |
| | | padding-left: 5px; |
| | | margin: 15px 0; |
| | | } |
| | | .topicxq { |
| | | background-color: #e2f5fc; |
| | | border-radius: 4px; |
| | | margin-top: 10px; |
| | | padding-left: 10px; |
| | | padding-top: 15px; |
| | | } |
| | | } |
| | | .xinz-inf { |
| | | font-size: 18px; |