| | |
| | | <el-step> |
| | | <template slot="title"> |
| | | <span style="cursor: pointer" @click="Editprogress = 2" |
| | | >随访模版题目</span |
| | | >随访模板题目</span |
| | | > |
| | | </template> |
| | | </el-step> |
| | | <el-step description="查看随访模版预览,可导出PDF"> |
| | | <el-step description="查看随访模板预览,可导出PDF"> |
| | | <template slot="title"> |
| | | <span style="cursor: pointer" @click="preview">随访模版预览</span> |
| | | <span style="cursor: pointer" @click="preview">随访模板预览</span> |
| | | </template> |
| | | </el-step> |
| | | </el-steps> |
| | |
| | | > |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="模版名称" prop="region"> |
| | | <el-form-item label="模板名称" prop="region"> |
| | | <div> |
| | | <el-input |
| | | v-model="ruleForm.templateName" |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="随访模版分类" prop="region"> |
| | | <el-form-item label="随访模板分类" prop="region"> |
| | | <el-select |
| | | v-model="ruleForm.assortid" |
| | | size="medium" |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="模板简介" prop="note"> |
| | | <div> |
| | | <el-input |
| | | type="textarea" |
| | | placeholder="请输入简介" |
| | | v-model="ruleForm.note" |
| | | ></el-input> |
| | | </div> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | |
| | | <el-form-item label="模版简介" prop="note"> |
| | | <div style="width: 50%"> |
| | | <el-input |
| | | type="textarea" |
| | | placeholder="请输入简介" |
| | | v-model="ruleForm.note" |
| | | ></el-input> |
| | | </div> |
| | | </el-form-item> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="12"> |
| | | <el-form-item label="版本号" prop="version"> |
| | |
| | | <el-button |
| | | type="success" |
| | | @click="Departmenttreatment('ruleForm')" |
| | | >{{ task ? "保存到任务模版" : "保存随访模版基础信息" }}</el-button |
| | | >{{ task ? "保存到任务模板" : "保存随访模板基础信息" }}</el-button |
| | | > |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | <!-- 随访模版设置 --> |
| | | <!-- 随访模板设置 --> |
| | | <div v-if="Editprogress == 2"> |
| | | <div class="leftvlue-jbxx">随访模版题目设置</div> |
| | | <div class="leftvlue-jbxx">随访模板题目设置</div> |
| | | <el-divider></el-divider> |
| | | <div class="addtopic"> |
| | | <el-button |
| | |
| | | @click="getaddtopiclist" |
| | | >添加题目</el-button |
| | | > |
| | | <el-button |
| | | type="success" |
| | | icon="el-icon-edit-outline" |
| | | round |
| | | @click="Operateit = !Operateit" |
| | | >{{ !Operateit ? "编辑题目" : "完整信息展示" }}</el-button |
| | | > |
| | | </div> |
| | | <div class="presentation"> |
| | | <div class="presentation-left"> |
| | | <div :class="Operateit ? 'presentation-left' : 'spresentation-left'"> |
| | | <el-card class="box-card" style="min-height: 688px"> |
| | | <el-table |
| | | v-loading="loading" |
| | |
| | | <el-table-column |
| | | label="编号" |
| | | align="center" |
| | | key="targetid" |
| | | prop="targetid" |
| | | key="sort" |
| | | prop="sort" |
| | | /> |
| | | <el-table-column |
| | | label="标题" |
| | |
| | | :show-overflow-tooltip="true" |
| | | /> |
| | | <el-table-column |
| | | v-if="!Operateit" |
| | | label="问题话术" |
| | | align="center" |
| | | key="scriptContent" |
| | | prop="scriptContent" |
| | | :show-overflow-tooltip="true" |
| | | /> |
| | | <el-table-column |
| | | v-if="!Operateit" |
| | | label="问题话术" |
| | | align="center" |
| | | key="scriptContent" |
| | | prop="scriptContent" |
| | | :show-overflow-tooltip="true" |
| | | /> |
| | | <el-table-column |
| | | label="下题跳转" |
| | | align="center" |
| | | key="nextScriptno" |
| | | prop="nextScriptno" |
| | | :show-overflow-tooltip="true" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <span>{{ |
| | | scope.row.nextScriptno == 0 |
| | | ? "已是最后一题" |
| | | : scope.row.nextScriptno |
| | | }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | |
| | | <el-table-column |
| | | label="操作" |
| | | v-if="Operateit" |
| | | align="center" |
| | | width="250" |
| | | class-name="small-padding fixed-width" |
| | |
| | | </el-table> |
| | | </el-card> |
| | | </div> |
| | | <div class="presentation-right"> |
| | | <div class="presentation-right" v-if="Operateit"> |
| | | <el-card class="box-card"> |
| | | <el-form |
| | | :inline="true" |
| | | :model="topicobj" |
| | | :inline="true" |
| | | class="demo-form-inline" |
| | | > |
| | | <div class="headline"> |
| | | 题目设置详情 |
| | | <!-- <span style="margin-left: 30px" |
| | | ><el-button type="primary" @click="Submittopicobj" |
| | | >保存</el-button |
| | | ></span |
| | | > --> |
| | | </div> |
| | | <el-form-item label="题目标题"> |
| | | <el-input |
| | | v-model="topicobj.scriptTopic" |
| | | placeholder="请从左侧列表选择" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="问题节点"> |
| | | <el-input |
| | | v-model="topicobj.targetid" |
| | | placeholder="请从左侧列表选择" |
| | | :disabled="true" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <div class="headline">题目设置详情</div> |
| | | <el-row> |
| | | <el-col :span="12" |
| | | ><el-form-item label="题目标题"> |
| | | <el-input |
| | | v-model="topicobj.scriptTopic" |
| | | placeholder="请从左侧列表选择" |
| | | ></el-input> </el-form-item |
| | | ></el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="下题跳转"> |
| | | <el-input |
| | | v-model="topicobj.nextScriptno" |
| | | placeholder="请输入题号" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="20" |
| | | ><el-form-item label="问题话术"> |
| | | <el-input |
| | | type="textarea" |
| | | style="width: 400px" |
| | | v-model="topicobj.scriptContent" |
| | | placeholder="请从左侧列表选择" |
| | | ></el-input> </el-form-item |
| | | ></el-col> |
| | | </el-row> |
| | | <el-row :gutter="10"> |
| | | <el-col :span="12" |
| | | ><el-form-item label="问题节点"> |
| | | <el-input |
| | | v-model="topicobj.sort" |
| | | placeholder="请从左侧列表选择" |
| | | :disabled="true" |
| | | ></el-input> </el-form-item |
| | | ></el-col> |
| | | </el-row> |
| | | |
| | | <el-row :gutter="10"> |
| | | <el-col :span="12" |
| | | ><el-form-item label="是否必填"> |
| | |
| | | </el-select> </el-form-item |
| | | ></el-col> |
| | | <el-col :span="12" |
| | | ><el-form-item label="取值类型"> |
| | | ><el-form-item label="题目类型"> |
| | | <el-select |
| | | v-model="topicobj.valueType" |
| | | v-model="topicobj.scriptType" |
| | | placeholder="请选择" |
| | | :disabled="true" |
| | | > |
| | | <el-option |
| | | v-for="item in valuetype" |
| | | v-for="item in askvaluetype" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | |
| | | </el-select> </el-form-item |
| | | ></el-col> |
| | | </el-row> |
| | | <el-form-item label="问题语音" v-if="topicobj.scriptVoice"> |
| | | <mini-audio :audio-source="topicobj.scriptVoice"></mini-audio> |
| | | </el-form-item> |
| | | |
| | | <div |
| | | class="topicxq" |
| | | v-if="topicobj.valueType == 2 || topicobj.valueType == 3" |
| | | <el-form-item |
| | | label="是否由选项配置跳转" |
| | | v-if="topicobj.scriptType == 1" |
| | | > |
| | | <el-radio-group v-model="topicobj.branchFlag"> |
| | | <el-radio :label="1">是</el-radio> |
| | | <el-radio :label="0">否</el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | <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) => handleChanges(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: 18px; margin-top: 10px" |
| | | v-if="topicobj.scriptVoice" |
| | | >{{ |
| | | topicobj.scriptVoice.substring( |
| | | topicobj.scriptVoice.lastIndexOf("/") + 1 |
| | | ) |
| | | }}</span |
| | | > |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <mini-audio |
| | | :audio-source=" |
| | | topicobj.scriptVoice |
| | | ? topicobj.scriptVoice |
| | | : 'https://example.com/example.mp3' |
| | | " |
| | | ></mini-audio> |
| | | </el-col> |
| | | </el-row> |
| | | <div class="topicxq" v-if="topicobj.scriptType == 4"> |
| | | <el-row> |
| | | <el-col :span="20"> |
| | | <el-form-item label="收集内容"> |
| | |
| | | <Regular |
| | | :TargetoptionList="topicobj.ivrLibaScriptTargetoptionList" |
| | | @deloption="deloption" |
| | | @branchFlagfn="branchFlagfn" |
| | | :branchFlag="topicobj.branchFlag ? true : false" |
| | | :controlsc="false" |
| | | /> |
| | | <!-- 无匹配类型 --> |
| | |
| | | </el-input> </el-form-item |
| | | ></el-col> |
| | | </el-row> |
| | | <el-row :gutter="10"> |
| | | <el-col :span="16"> |
| | | <el-form-item |
| | | label="无匹配语音" |
| | | <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) => |
| | | handleChanges(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="topicobj.nomatchvoice" |
| | | >{{ |
| | | topicobj.nomatchvoice.substring( |
| | | topicobj.nomatchvoice.lastIndexOf("/") + 1 |
| | | ) |
| | | }}</span |
| | | > |
| | | <mini-audio |
| | | :audio-source="topicobj.nomatchvoice" |
| | | ></mini-audio> </el-form-item |
| | | ></el-col> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <mini-audio |
| | | :audio-source=" |
| | | topicobj.nomatchvoice |
| | | ? topicobj.nomatchvoice |
| | | : 'https://example.com/example.mp3' |
| | | " |
| | | ></mini-audio> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | <div class="topicxq"> |
| | |
| | | ></el-col> |
| | | </el-row> |
| | | |
| | | <el-row :gutter="10"> |
| | | <el-col :span="16"> |
| | | <el-form-item |
| | | label="语音文件" |
| | | v-if="topicobj.noclearlyvoice" |
| | | > |
| | | <mini-audio |
| | | :audio-source=" |
| | | topicobj.noclearlyvoice |
| | | ? topicobj.noclearlyvoice |
| | | : 'https://example.com/example.mp3' |
| | | <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) => |
| | | handleChanges(response, file, 4) |
| | | " |
| | | ></mini-audio> </el-form-item |
| | | ></el-col> |
| | | 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="topicobj.noclearlyvoice" |
| | | >{{ |
| | | topicobj.noclearlyvoice.substring( |
| | | topicobj.noclearlyvoice.lastIndexOf("/") + 1 |
| | | ) |
| | | }}</span |
| | | > |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <mini-audio |
| | | :audio-source=" |
| | | topicobj.noclearlyvoice |
| | | ? topicobj.noclearlyvoice |
| | | : 'https://example.com/example.mp3' |
| | | " |
| | | ></mini-audio> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | <div class="topicxq"> |
| | |
| | | ></el-col> |
| | | </el-row> |
| | | |
| | | <el-row :gutter="10"> |
| | | <el-col :span="16"> |
| | | <el-form-item |
| | | label="语音文件" |
| | | v-if="topicobj.sliencevoice" |
| | | > |
| | | <mini-audio |
| | | :audio-source=" |
| | | topicobj.sliencevoice |
| | | ? topicobj.sliencevoice |
| | | : 'https://example.com/example.mp3' |
| | | <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) => |
| | | handleChanges(response, file, 3) |
| | | " |
| | | ></mini-audio> </el-form-item |
| | | ></el-col> |
| | | 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="topicobj.sliencevoice" |
| | | >{{ |
| | | topicobj.sliencevoice.substring( |
| | | topicobj.sliencevoice.lastIndexOf("/") + 1 |
| | | ) |
| | | }}</span |
| | | > |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <mini-audio |
| | | :audio-source=" |
| | | topicobj.sliencevoice |
| | | ? topicobj.sliencevoice |
| | | : 'https://example.com/example.mp3' |
| | | " |
| | | ></mini-audio> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | </div> |
| | |
| | | </div> |
| | | |
| | | <el-button type="success" @click="Departmenttreatment('ruleForm')">{{ |
| | | task ? "保存到任务模版" : "保存题目数据" |
| | | task ? "保存到任务模板" : "保存题目数据" |
| | | }}</el-button> |
| | | <el-button type="primary" plain @click="laststep()">上一步</el-button> |
| | | <el-button type="success" plain @click="preview('ruleForm')" |
| | |
| | | > |
| | | <el-button type="info" @click="closeFm('ruleForm')">关闭</el-button> |
| | | </div> |
| | | <!-- 随访模版预览 --> |
| | | <!-- 随访模板预览 --> |
| | | <div v-if="Editprogress == 3"> |
| | | <div class="leftvlue-jbxx">随访模版问题预览</div> |
| | | <div class="leftvlue-jbxx">随访模板问题预览</div> |
| | | <el-divider></el-divider> |
| | | |
| | | <div class="preview-left"> |
| | | <!-- 单选 --> |
| | | <div |
| | | class="scriptTopic-dev" |
| | | v-for="item in valssu" |
| | | :key="item.targetid" |
| | | v-if="item.valueType == 1" |
| | | > |
| | | <div class="dev-text"> |
| | | {{ item.targetid }}、[单选]<span>{{ item.scriptContent }}</span> |
| | | <div v-for="item in valssu"> |
| | | <!-- 单选 --> |
| | | <div |
| | | class="scriptTopic-dev" |
| | | :key="item.sort" |
| | | v-if="item.valueType == 1" |
| | | > |
| | | <div class="dev-text"> |
| | | {{ item.sort }}、[单选]<span>{{ item.scriptContent }}</span> |
| | | </div> |
| | | <div class="dev-xx"> |
| | | <el-radio-group v-model="item.remark"> |
| | | <el-radio |
| | | v-for="(items, index) in item.ivrLibaScriptTargetoptionList" |
| | | :key="index" |
| | | :label="index" |
| | | >{{ items.targetvalue }}</el-radio |
| | | > |
| | | </el-radio-group> |
| | | </div> |
| | | </div> |
| | | <div class="dev-xx"> |
| | | <el-radio-group v-model="item.remark"> |
| | | <el-radio |
| | | v-for="(items, index) in item.ivrLibaScriptTargetoptionList" |
| | | :key="index" |
| | | :label="index" |
| | | >{{ items.targetvalue }}</el-radio |
| | | > |
| | | </el-radio-group> |
| | | <!-- 多选 --> |
| | | <div |
| | | class="scriptTopic-dev" |
| | | :key="item.sort" |
| | | v-if="item.valueType == 2" |
| | | > |
| | | <div class="dev-text"> |
| | | {{ item.sort }}、[多选]<span>{{ item.scriptContent }}</span> |
| | | </div> |
| | | <div class="dev-xx"> |
| | | <el-checkbox-group v-model="item.remark"> |
| | | <el-checkbox |
| | | v-for="(items, index) in item.ivrLibaScriptTargetoptionList" |
| | | :key="index" |
| | | :label="index" |
| | | > |
| | | {{ items.targetvalue }} |
| | | </el-checkbox> |
| | | </el-checkbox-group> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <!-- 多选 --> |
| | | <div |
| | | class="scriptTopic-dev" |
| | | v-for="item in valssu" |
| | | :key="item.targetid" |
| | | v-if="item.valueType == 2" |
| | | > |
| | | <div class="dev-text"> |
| | | {{ item.targetid }}、[多选]<span>{{ item.scriptContent }}</span> |
| | | </div> |
| | | <div class="dev-xx"> |
| | | <el-checkbox-group v-model="item.remark"> |
| | | <el-checkbox |
| | | v-for="(items, index) in item.ivrLibaScriptTargetoptionList" |
| | | :key="index" |
| | | :label="index" |
| | | > |
| | | {{ items.targetvalue }} |
| | | </el-checkbox> |
| | | </el-checkbox-group> |
| | | </div> |
| | | </div> |
| | | <!-- 填空 --> |
| | | <div |
| | | class="scriptTopic-dev" |
| | | v-for="item in valssu" |
| | | :key="item.targetid" |
| | | v-if="item.valueType == 3" |
| | | > |
| | | <div class="dev-text"> |
| | | {{ item.targetid }}、[填空]<span>{{ item.scriptContent }}</span> |
| | | </div> |
| | | <div class="dev-xx"> |
| | | <el-input placeholder="请输入答案" v-model="radioas" clearable> |
| | | </el-input> |
| | | <!-- 填空 --> |
| | | <div |
| | | class="scriptTopic-dev" |
| | | :key="item.sort" |
| | | v-if="item.valueType == 3" |
| | | > |
| | | <div class="dev-text"> |
| | | {{ item.sort }}、[填空]<span>{{ item.scriptContent }}</span> |
| | | </div> |
| | | <div class="dev-xx"> |
| | | <el-input placeholder="请输入答案" v-model="radioas" clearable> |
| | | </el-input> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | > |
| | | </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" |
| | | <div> |
| | | <el-row :gutter="10"> |
| | | <el-col :span="12"> |
| | | <el-form-item label="题目标题"> |
| | | <el-input |
| | | v-model="indexform.scriptTopic" |
| | | placeholder="请输入题目标题" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="问题节点"> |
| | | <el-input |
| | | v-model="indexform.sort" |
| | | placeholder="请输入问题节点" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="10"> |
| | | <el-col :span="18" |
| | | ><el-form-item label="问题话术"> |
| | | <el-input |
| | | style="width: 400px" |
| | | type="textarea" |
| | | v-model="indexform.scriptContent" |
| | | placeholder="请从左侧列表选择" |
| | | ></el-input> </el-form-item |
| | | ></el-col> |
| | | </el-row> |
| | | <el-row :gutter="10"> |
| | | <el-col :span="12" |
| | | ><el-form-item label="是否必填"> |
| | | <el-select |
| | | v-model="indexform.isMust" |
| | | placeholder="默认必填" |
| | | > |
| | | </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 |
| | | 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> |
| | | </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) |
| | | <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: 18px; margin-top: 10px" |
| | | 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' |
| | | " |
| | | 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> |
| | | ></mini-audio> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | <div> |
| | | <el-form-item label="指标名称" prop="deptId"> |
| | | <el-input |
| | |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | <div class="topicxq" v-if="indexform.scriptType == 2"> |
| | | <div class="topicxq" v-show="indexform.scriptType == 4"> |
| | | <el-row> |
| | | <el-col :span="20"> |
| | | <el-form-item label="收集内容"> |
| | |
| | | </el-row> |
| | | </div> |
| | | |
| | | <div v-else> |
| | | <div v-show="indexform.scriptType == 1"> |
| | | <div class="headline"> |
| | | <div class="basics">选项设置</div> |
| | | </div> |
| | |
| | | <Regular |
| | | :TargetoptionList="indexform.ivrLibaScriptTargetoptionList" |
| | | @deloption="deloption" |
| | | @addoption="addoptionson" |
| | | :controlsc="false" |
| | | :addoption="true" |
| | | /> |
| | | <!-- 无匹配类型 --> |
| | | <div class="topicxq"> |
| | |
| | | import { getToken } from "@/utils/auth"; |
| | | |
| | | export default { |
| | | name: "SpeechTemplates", |
| | | name: "Tpuconfigurat", |
| | | components: { Regular, OptionalForm }, |
| | | data() { |
| | | return { |
| | |
| | | radioas: "", //填空题答案 |
| | | task: null, //是否来自任务 |
| | | taskform: null, //任务信息 |
| | | Operateit: true, |
| | | indexform: { |
| | | ivrLibaScriptTargetoptionList: [], |
| | | }, |
| | |
| | | usable: [], |
| | | required: [], |
| | | valuetype: [], |
| | | askvaluetype: [], |
| | | mode: [], |
| | | inputVisible: false, |
| | | inputVisibleillness: false, |
| | |
| | | }, |
| | | }; |
| | | }, |
| | | activated() { |
| | | if (this.id != this.$route.query.id) { |
| | | this.RoutingDataProcessing(); |
| | | this.gettabList(); |
| | | this.getvFollowup(); |
| | | this.auxiliary(); |
| | | } |
| | | }, |
| | | |
| | | created() { |
| | | this.RoutingDataProcessing(); |
| | |
| | | this.usable = store.getters.usable; |
| | | this.required = store.getters.required; |
| | | this.valuetype = store.getters.valuetype; |
| | | this.askvaluetype = store.getters.askvaluetype; |
| | | this.languagelist = store.getters.languagelist; |
| | | this.courtyardlist = store.getters.courtyardlist; |
| | | this.precedencetype = store.getters.precedencetype; |
| | |
| | | }); |
| | | // 疾病列 |
| | | }, |
| | | // |
| | | // 选项配置跳转触发 |
| | | branchFlagfn(row) { |
| | | if (this.topicobj.branchFlag == 1 && this.topicobj.nextScriptno != 0) { |
| | | this.topicobj.nextScriptno = |
| | | this.topicobj.ivrLibaScriptTargetoptionList[0].nextQuestion; |
| | | } |
| | | }, |
| | | //保存 |
| | | submitForm(formName) { |
| | | if (this.ruleForm.id) { |
| | | this.ruleForm.isoperation = 2; |
| | | } else { |
| | | this.ruleForm.isoperation = 1; |
| | | } |
| | | if (!this.ruleForm.assortid) { |
| | | this.ruleForm.assortid = -1; |
| | | } |
| | | this.ruleForm.labelInfo = JSON.stringify(this.dynamicTags); |
| | | this.ruleForm.suitway = this.ruleForm.suitway.join(","); |
| | |
| | | }); |
| | | }); |
| | | compileFollowup(this.ruleForm).then((res) => { |
| | | this.$modal.msgSuccess("编辑成功"); |
| | | this.confirmillness(res.data); |
| | | this.$router.go(-1); |
| | | if (res.code == 200) { |
| | | this.$modal.msgSuccess("编辑成功"); |
| | | this.$modal.closeLoading(); |
| | | this.confirmillness(res.data); |
| | | |
| | | const obj = { path: "/knowledge/templateku/" }; |
| | | this.$tab.closeOpenPage(obj); |
| | | } else { |
| | | this.$modal.msgError("保存失败"); |
| | | |
| | | this.$modal.closeLoading(); |
| | | } |
| | | }); |
| | | }, |
| | | confirmillness(guid) { |
| | |
| | | }, |
| | | // 科室处理 |
| | | Departmenttreatment() { |
| | | this.$modal.loading("正在修正保存数据,请稍候..."); |
| | | this.ruleForm.deptNames = JSON.stringify(this.tempDetpRelevanceslist); |
| | | this.ruleForm.ivrLibaTemplateScriptVOList = |
| | | this.ruleForm.ivrLibaTemplateScriptVOList.concat(this.delScriptVOList); |
| | |
| | | type: "warning", |
| | | }) |
| | | .then(() => { |
| | | this.$router.go(-1); |
| | | const obj = { path: "/knowledge/templateku/" }; |
| | | this.$tab.closeOpenPage(obj); |
| | | }) |
| | | .catch(() => { |
| | | this.$message({ |
| | |
| | | }); |
| | | }); |
| | | }, |
| | | //控制语音文件 |
| | | //控制语音文件(新) |
| | | handleChange(response, file, additionalParam) { |
| | | console.log(response); |
| | | console.log(additionalParam); |
| | | 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; |
| | | } |
| | | this.$forceUpdate(); |
| | | }, |
| | | //控制语音文件 |
| | | handleChanges(response, file, additionalParam) { |
| | | console.log(response); |
| | | console.log(additionalParam); |
| | | if (additionalParam == 1) { |
| | | this.topicobj.scriptVoice = response.url; |
| | | } else if (additionalParam == 2) { |
| | | this.topicobj.nomatchvoice = response.url; |
| | | } else if (additionalParam == 3) { |
| | | this.topicobj.sliencevoice = response.url; |
| | | } else if (additionalParam == 4) { |
| | | this.topicobj.noclearlyvoice = response.url; |
| | | } |
| | | this.$forceUpdate(); |
| | | }, |
| | | // 文件超出个数限制时的钩子 |
| | | handleExceed(files, fileList) { |
| | |
| | | ); |
| | | row.isoperation = 3; |
| | | this.delScriptVOList.push(row); |
| | | this.$modal.msgSuccess("已删除,保存模版生效"); |
| | | this.sortFn(); |
| | | this.$modal.msgSuccess("已删除,保存模板生效"); |
| | | }) |
| | | .catch(() => {}); |
| | | }, |
| | |
| | | }, |
| | | // 问题排序 |
| | | sortFn() { |
| | | this.ruleForm.ivrLibaTemplateScriptVOList = |
| | | this.ruleForm.ivrLibaTemplateScriptVOList.map((item, index) => { |
| | | return Object.assign({}, item, { targetid: (index + 1).toString() }); |
| | | }); |
| | | this.ruleForm.ivrLibaTemplateScriptVOList.forEach((question, index) => { |
| | | question.ivrLibaScriptTargetoptionList = |
| | | question.ivrLibaScriptTargetoptionList.map((option) => { |
| | | option.nextQuestion = Number(question.targetid) + 1; |
| | | return option; |
| | | this.ruleForm.ivrLibaTemplateScriptVOList.forEach((item, index) => { |
| | | item.sort = Number(index) + 1; |
| | | console.log(1); |
| | | |
| | | if (item.sort == this.ruleForm.ivrLibaTemplateScriptVOList.length) { |
| | | item.nextScriptno = 0; |
| | | } else { |
| | | item.nextScriptno = item.sort + 1; |
| | | } |
| | | if (item.ivrLibaScriptTargetoptionList) { |
| | | item.ivrLibaScriptTargetoptionList.forEach((items) => { |
| | | items.nextQuestion = Number(item.sort) + 1; |
| | | }); |
| | | } |
| | | }); |
| | | console.log(this.ruleForm.ivrLibaTemplateScriptVOList); |
| | | }, |
| | |
| | | deloption() {}, |
| | | // 修改题目信息 |
| | | Submittopicobj() { |
| | | this.ruleForm.ivrLibaTemplateScriptVOList[this.optionIndex] = |
| | | this.topicobj; |
| | | this.$modal.msgSuccess("暂存选项成功"); |
| | | this.$modal |
| | | .confirm( |
| | | '是否确认新增名称为"' + this.indexform.scriptTopic + '"的问题数据?' |
| | | ) |
| | | .then(() => { |
| | | this.indexform.isoperation = 1; |
| | | this.indexform.pid = this.ruleForm.id; |
| | | this.indexform.ivrLibaScriptTargetoptionList.forEach((item) => { |
| | | item.isoperation = 1; |
| | | }); |
| | | this.ruleForm.ivrLibaTemplateScriptVOList.push(this.indexform); |
| | | this.indexform = { |
| | | ivrLibaScriptTargetoptionList: [], |
| | | }; |
| | | this.drawer = false; |
| | | |
| | | this.sortFn(); |
| | | this.$modal.msgSuccess("题目新增成功,保存模板失效"); |
| | | }); |
| | | }, |
| | | |
| | | // --------------------- |
| | |
| | | // 前往测试 |
| | | measurement() { |
| | | this.$modal |
| | | .confirm("即将前往模版测试页面,请确认模版数据已保存。") |
| | | .confirm("即将前往模板测试页面,请确认模板数据已保存。") |
| | | .then((res) => { |
| | | this.$router.push({ |
| | | path: "/knowledge/templateku/configurat/measurement", |
| | | path: "/knowledge/tpuconfigurat/measurement", |
| | | query: { id: this.id, name: this.ruleForm.templateName }, |
| | | }); |
| | | }) |
| | | .catch(() => {}); |
| | | }, |
| | | // 新建模版中临时题目 |
| | | // 新建模板中临时题目 |
| | | // 题目类型更换 |
| | | typeselection(row) { |
| | | if (row == 1 && !this.indexform.ivrLibaScriptTargetoptionList.length) { |
| | |
| | | nodynamiccruxsJson: "", |
| | | }); |
| | | } |
| | | this.$forceUpdate(); |
| | | }, |
| | | addoptionson() { |
| | | this.indexform.ivrLibaScriptTargetoptionList.push({ |
| | | guid: 1, |
| | | isoperation: 1, |
| | | targetvalue: "", |
| | | targetregex: "", |
| | | targetregex2: "", |
| | | dynamiccruxs: [], |
| | | nodynamiccruxs: [], |
| | | dynamiccruxsJson: "", |
| | | nodynamiccruxsJson: "", |
| | | }); |
| | | }, |
| | | }, |
| | | }; |
| | |
| | | vertical-align: bottom; |
| | | } |
| | | } |
| | | |
| | | .xinz-infs { |
| | | font-size: 18px; |
| | | line-height: 48px; |
| | |
| | | color: #f52727; |
| | | } |
| | | } |
| | | .spresentation-left { |
| | | width: 100%; |
| | | // height: 500px; |
| | | .button-textxg { |
| | | color: #024df0; |
| | | } |
| | | .button-textsc { |
| | | color: #f52727; |
| | | } |
| | | } |
| | | .presentation-right { |
| | | width: 55%; |
| | | max-height: 688px; |