package.json | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/api/AiCentre/Qtemplate.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/followvisit/tasklist/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/knowledge/questionnaire/compilequer/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/knowledge/questionnaire/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/repositoryai/matching/myAudio.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/repositoryai/templateku/configurat/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/repositoryai/verbaltrick/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/repositoryai/verbaltrick/particulars/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
package.json
@@ -72,6 +72,7 @@ "style-loader": "^3.3.3", "stylus-loader": "^7.1.3", "vue": "2.6.12", "vue-audio-better": "^3.0.1", "vue-cli": "^2.9.6", "vue-codemirror": "^4.0.6", "vue-count-to": "1.0.13", src/api/AiCentre/Qtemplate.js
@@ -9,6 +9,7 @@ data: data, }); } // 问卷模版列表 export function getQtemplatelist(data) { return request({ url: "/smartor/svyLibTemplate/list", src/main.js
@@ -73,6 +73,8 @@ import DictData from "@/components/DictData"; // 组件封装集成 import components from "./components"; // 语音组件 import VueAudio from 'vue-audio-better' // 注册过滤器 // 自定义指令 import * as directives from "./directives"; @@ -109,6 +111,7 @@ Vue.use(directive); Vue.use(plugins); Vue.use(VueMeta); Vue.use(VueAudio) DictData.install(); Vue.use(components); // Vue.use(VueQuillEditor) src/views/followvisit/tasklist/index.vue
@@ -12,12 +12,18 @@ label-width="98px" > <el-form-item label="任务名称"> <el-input v-model="topqueryParams.name"></el-input> <el-input v-model="topqueryParams.taskName" @keyup.enter.native="handleQuery" ></el-input> </el-form-item> <el-form-item label="审核人"> <el-input v-model="topqueryParams.name"></el-input> <el-form-item label="创建人"> <el-input v-model="topqueryParams.createBy" @keyup.enter.native="handleQuery" ></el-input> </el-form-item> <el-form-item label="审核时间"> <el-form-item label="创建时间"> <el-date-picker v-model="dateRange" style="width: 240px" @@ -28,32 +34,17 @@ end-placeholder="结束日期" ></el-date-picker> </el-form-item> <el-form-item label="随访类型" prop="status"> <el-select v-model="topqueryParams.topic" placeholder="请选择"> <el-option v-for="item in topicoptions" :key="item.value" :label="item.label" :value="item.value" > </el-option> </el-select> <el-form-item label="模版名称" prop="status"> <el-input v-model="topqueryParams.templatename" @keyup.enter.native="handleQuery" ></el-input> </el-form-item> <el-form-item label="模版" prop="status"> <el-select v-model="topqueryParams.topic" placeholder="请选择"> <el-form-item label="任务状态" prop="status"> <el-select v-model="topqueryParams.sendState" placeholder="请选择"> <el-option v-for="item in topicoptions" :key="item.value" :label="item.label" :value="item.value" > </el-option> </el-select> </el-form-item> <el-form-item label="门诊随访状态" prop="status"> <el-select v-model="topqueryParams.topic" placeholder="请选择"> <el-option v-for="item in topicoptions" v-for="item in dict.type.task_status" :key="item.value" :label="item.label" :value="item.value" @@ -137,7 +128,6 @@ label="任务名称" fixed align="center" sortable key="taskName" prop="taskName" :show-overflow-tooltip="true" @@ -654,12 +644,14 @@ this.taskoptions, this.tasktopic ); getTasklist(this.topqueryParams).then((response) => { this.userList = response.rows; this.total = response.total; this.$forceUpdate(); this.loading = false; }); getTasklist(this.addDateRange(this.topqueryParams, this.dateRange)).then( (response) => { this.userList = response.rows; this.total = response.total; this.$forceUpdate(); this.loading = false; } ); }, // 查看门诊随访详情 Referencequestion(row) { src/views/knowledge/questionnaire/compilequer/index.vue
@@ -246,6 +246,13 @@ @click="getaddtopiclist" >添加题目</el-button > <el-button type="success" icon="el-icon-edit-outline" round @click="Operateit = !Operateit" >{{ !Operateit ? "编辑题目" : "完整信息展示" }}</el-button > </div> <div style="display: flex"> <span @@ -264,7 +271,7 @@ </div> </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" @@ -275,6 +282,7 @@ align="center" key="sort" prop="sort" width="50" /> <el-table-column label="题目标题" @@ -284,14 +292,60 @@ :show-overflow-tooltip="true" /> <el-table-column label="题型" align="center" key="scriptType" prop="scriptType" :show-overflow-tooltip="true" > <template slot-scope="scope"> <dict-tag :options="askvaluetype" :value="scope.row.scriptType" /> </template> </el-table-column> <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="targetname" prop="targetname" :show-overflow-tooltip="true" /> <el-table-column v-if="!Operateit" label="是否必填" align="center" key="ismandatory" prop="ismandatory" :show-overflow-tooltip="true" > <template slot-scope="scope"> <dict-tag :options="required" :value="scope.row.ismandatory" /> </template> </el-table-column> <el-table-column label="下题跳转" align="center" key="nextScriptno" prop="nextScriptno" :show-overflow-tooltip="true" /> <el-table-column v-if="Operateit" label="操作" align="center" width="250" @@ -327,27 +381,32 @@ </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" 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> <div class="headline">题目设置详情</div> <el-row :gutter="10"> <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="下题跳转" v-if="!topicobj.branchFlag"> <el-input v-model="topicobj.nextScriptno" placeholder="请输入题号" ></el-input> </el-form-item> </el-col> </el-row> <el-row :gutter="10"> <el-col :span="12" ><el-form-item label="是否必填"> @@ -380,6 +439,12 @@ </el-select> </el-form-item ></el-col> </el-row> <el-form-item label="是否由选项配置跳转"> <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> <div v-if="topicobj.scriptType != 3"> <div class="headline">选项设置</div> <div @@ -781,11 +846,13 @@ themelist: [], languagelist: [], courtyardlist: [], askvaluetype: [], precedencetype: [], inputValueillness: "", inputVisible: false, inputVisibleillness: false, illnessVisible: false, //指标疾病弹框 Operateit: true, deptOptions: [], optionsillness: [], delScriptVOList: [], @@ -839,6 +906,8 @@ this.required = store.getters.required; this.valuetype = store.getters.valuetype; this.courtyardlist = store.getters.courtyardlist; this.askvaluetype = store.getters.askvaluetype; // this.test(); }, @@ -1293,8 +1362,7 @@ // display: flex; } .sidecolumn { margin: 20px; margin-bottom: 0; margin: 10px 20px 0 20px; padding: 20px; background: #edf1f7; border: 1px solid #dcdfe6; @@ -1308,6 +1376,8 @@ // margin-top: 20px; margin: 20px; padding: 30px; padding-top: 5px; margin-top: 10px; background: #ffff; border: 1px solid #dcdfe6; -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), @@ -1387,6 +1457,16 @@ color: #f52727; } } .spresentation-left { width: 100%; // height: 500px; .button-textxg { color: #024df0; } .button-textsc { color: #f52727; } } .presentation-right { width: 50%; max-height: 688px; @@ -1411,6 +1491,13 @@ .custom-width { width: 100px; /* 设置宽度样式 */ } .el-select { width: 40%; } .el-cascader { width: 40%; } ::v-deep .addtopic-input { input { background: #02a7f0; src/views/knowledge/questionnaire/index.vue
@@ -68,72 +68,48 @@ v-show="showSearch" label-width="98px" > <el-form-item label="问卷名称" prop="userName"> <el-form-item label="问卷名称" prop="svyname"> <el-input v-model="queryParams.userName" v-model="queryParams.svyname" placeholder="请输入" clearable style="width: 200px" @keyup.enter.native="handleQuery" /> </el-form-item> <el-form-item label="适用科室" prop="region"> <el-cascader v-model="queryParams.administrative" :options="deptList" :props="props" :show-all-levels="false" clearable > <template slot-scope="{ node, data }"> <span>{{ data.deptName }}</span> <span v-if="!node.isLeaf"> ({{ data.children.length }}) </span> </template> </el-cascader> </el-form-item> <el-form-item label="通知内容" prop="userName"> <el-input v-model="queryParams.userNamevalue" placeholder="请输入" clearable style="width: 200px" @keyup.enter.native="handleQuery" /> </el-form-item> <el-form-item label="适用方式" prop="shape"> <el-cascader v-model="queryParams.shapevalue" :options="editableTabs" :props="propss" clearable ></el-cascader> </el-form-item> <el-form-item label="内容形式" prop="classify"> <el-form-item label="适用院区" prop="region"> <el-select v-model="queryParams.classifyvalue" placeholder="请选择" v-model="queryParams.campus" size="medium" filterable placeholder="请选择分类" > <el-option v-for="(item, index) in editableTabs" :key="index++" :label="item.title" :value="index++" v-for="item in courtyardlist" :key="item.label" :label="item.label" :value="item.label" > </el-option> </el-select> </el-form-item> <el-form-item label="主要内容" prop="userName"> <el-input v-model="queryParams.description" placeholder="请输入" clearable style="width: 200px" @keyup.enter.native="handleQuery" /> </el-form-item> <el-form-item label="可用状态" prop="classify"> <el-select v-model="queryParams.classifyvalue" placeholder="请选择" > <el-select v-model="queryParams.isenable" placeholder="请选择"> <el-option v-for="(item, index) in editableTabs" :key="index++" :label="item.title" :value="index++" v-for="(item, index) in qyoptions" :key="item.value" :label="item.label" :value="item.value" > </el-option> </el-select> @@ -189,15 +165,15 @@ @selection-change="handleSelectionChange" > <el-table-column type="selection" width="50" align="center" /> <el-table-column <!-- <el-table-column label="序号" fixed align="center" key="svyid" prop="svyid" /> /> --> <el-table-column label="问卷标题" label="问卷名称" fixed align="center" key="svyname" @@ -254,7 +230,7 @@ </el-table-column> <el-table-column label="可用" label="是否可用" align="center" key="isenable" prop="isenable" @@ -287,7 +263,7 @@ v-hasPermi="['system:user:edit']" > <span class="button-text" ><i class="el-icon-edit"></i>二维码</span ><i class="el-icon-edit"></i>预览</span ></el-button > <!-- <el-button @@ -411,7 +387,7 @@ </span> </el-dialog> <!-- 二维码展示弹框 --> <el-dialog width="30%" :visible.sync="goQRCodeVisible"> <!-- <el-dialog width="30%" :visible.sync="goQRCodeVisible"> <div class="qrcode-dialo"> <div class="qrcode-text"> {{ namequestionnaire }}<span>{{ haoquestionnaire }}</span> @@ -421,6 +397,69 @@ src="D:/qrcode/fc9a1fa37e394ac3ac606bf6b77b17c3" fit="cover" ></el-image> </div> </div> </el-dialog> --> <!-- 问卷模版预览 --> <el-dialog title="随访题目预览" :visible.sync="topicVisible" width="50%"> <div class="preview-left"> <!-- 单选 --> <div class="scriptTopic-dev" v-for="item in topicform.svyTemplateLibScripts" :key="item.sort" v-if="item.scriptType == 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.svyLibTemplateTargetoptions" :key="index" :label="index" >{{ items.optioncontent }}</el-radio > </el-radio-group> </div> </div> <!-- 多选 --> <div class="scriptTopic-dev" v-for="item in topicform.svyTemplateLibScripts" :key="item.sort" v-if="item.scriptType == 2" > <div class="dev-text"> {{ item.sort }}、[多选]<span>{{ item.scriptContent }}</span> </div> <div class="dev-xx"> <el-checkbox-group v-model="qremark"> <el-checkbox v-for="(items, index) in item.svyLibTemplateTargetoptions" :key="index" :label="index" > {{ items.optioncontent }} </el-checkbox> </el-checkbox-group> </div> </div> <!-- 填空 --> <div class="scriptTopic-dev" v-for="item in topicform.svyTemplateLibScripts" :key="item.sort" v-if="item.scriptType == 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> </el-dialog> @@ -436,7 +475,7 @@ addQtemplateclassify, editQtemplateclassify, getQtemplatelist, issueinfo, getQtemplateobj, compileissue, delQtemplateinfo, Followupinfo, @@ -462,6 +501,7 @@ loading: false, // 选中数组 ids: [], qremark: [], // 非单个禁用 single: true, // 非多个禁用 @@ -473,6 +513,7 @@ namequestionnaire: "", haoquestionnaire: "", QRcodeurl: "", courtyardlist: "", // 用户表格数据 userList: [], @@ -492,6 +533,8 @@ idds: "", amendtag: false, //是否修改类别 dialogFormVisible: false, //修改添加类别弹框 topicVisible: false, // topicform: {}, classifyform: {}, //类别表单 indexid: null, inputValue: "", @@ -530,6 +573,7 @@ this.languagelist = store.getters.languagelist; this.qyoptions = store.getters.usable; this.editableTabs = store.getters.editableTabs; this.courtyardlist = store.getters.courtyardlist; }, methods: { @@ -547,15 +591,20 @@ }, goQRCode(row) { getQRcode({ url: "/outsideChain?param1=KHRYDSSuTpwGWDhAS6OnpfxObRZf8fd/TIagYWPvDuyku+MjtrWt1efC1htoBDc+G4QP2UOWPNitAO4TwH4oIQ==¶m2=CP/xYqwqDhWACt2aQ/HOwhgRM62Lh4/1upwYDl7dmKSuiaa4zRzMgu7rmRztiwQj2YvJ1KAX1zBTpUAIdxPvUA==", }).then((res) => { console.log(res); this.QRcodeurl = "D:/qrcode/fc9a1fa37e394ac3ac606bf6b77b17c3"; getQtemplateobj({ svyid: row.svyid }).then((res) => { this.topicform = res.rows[0]; console.log(this.topicform); this.topicVisible = true; }); this.goQRCodeVisible = true; this.namequestionnaire = row.userName; this.haoquestionnaire = row.nickName; // getQRcode({ // url: "/outsideChain?param1=KHRYDSSuTpwGWDhAS6OnpfxObRZf8fd/TIagYWPvDuyku+MjtrWt1efC1htoBDc+G4QP2UOWPNitAO4TwH4oIQ==¶m2=CP/xYqwqDhWACt2aQ/HOwhgRM62Lh4/1upwYDl7dmKSuiaa4zRzMgu7rmRztiwQj2YvJ1KAX1zBTpUAIdxPvUA==", // }).then((res) => { // console.log(res); // this.QRcodeurl = "D:/qrcode/fc9a1fa37e394ac3ac606bf6b77b17c3"; // }); // this.goQRCodeVisible = true; // this.namequestionnaire = row.userName; // this.haoquestionnaire = row.nickName; }, // 表单重置 reset() { @@ -710,7 +759,8 @@ }); return; } let calssvalue = {}; let calssvalue = { }; if ( this.classifyform.pid && this.classifyform.name && @@ -719,11 +769,12 @@ const index = this.deptOptions.findIndex( (obj) => obj.id == this.classifyform.pid ); console.log(this.deptOptions[index]); calssvalue = this.deptOptions[index]; calssvalue.svyLibTitleCategoryList.push(this.classifyform); calssvalue.svyLibTemplateCategoryList.push(this.classifyform); } else if (this.radio == "主分类" && this.classifyform.name) { this.classifyform.pid = null; this.classifyform.svyLibTitleCategoryList = []; this.classifyform.svyLibTemplateCategoryList = []; } else { return this.$modal.msgError("请填写完整信息"); } @@ -954,6 +1005,22 @@ vertical-align: bottom; } } .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 .el-tree-node__content { display: -webkit-box; src/views/repositoryai/matching/myAudio.vue
@@ -113,7 +113,7 @@ }, theControlList: { type: String, default: "", default: "", }, }, data() { src/views/repositoryai/templateku/configurat/index.vue
@@ -462,6 +462,10 @@ </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" @@ -512,38 +516,16 @@ </el-input> </el-form-item ></el-col> </el-row> <!-- <el-row :gutter="10"> <el-col :span="12" ><el-form-item label="处理"> <el-input type="text" placeholder="(默认)无声" v-model="topicobj.text" maxlength="10" show-word-limit > </el-input> </el-form-item ></el-col> </el-row> --> <el-row :gutter="10"> <el-col :span="16"> <el-form-item label="语音文件"> <el-upload class="upload-demo" style="display: flex" 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-form-item label="无匹配语音" v-if="topicobj.nomatchvoice" > <mini-audio :audio-source="topicobj.nomatchvoice" ></mini-audio> </el-form-item ></el-col> </el-row> </div> <div class="topicxq"> @@ -560,38 +542,21 @@ </el-input> </el-form-item ></el-col> </el-row> <!-- <el-row :gutter="10"> <el-col :span="12" ><el-form-item label="处理"> <el-input type="text" placeholder="(默认)无声" v-model="topicobj.text" maxlength="10" show-word-limit > </el-input> </el-form-item ></el-col> </el-row> --> <el-row :gutter="10"> <el-col :span="16"> <el-form-item label="语音文件"> <el-upload class="upload-demo" style="display: flex" 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-form-item label="语音文件" v-if="topicobj.noclearlyvoice" > <mini-audio :audio-source=" topicobj.noclearlyvoice ? topicobj.noclearlyvoice : 'https://example.com/example.mp3' " ></mini-audio> </el-form-item ></el-col> </el-row> </div> <div class="topicxq"> @@ -608,38 +573,21 @@ </el-input> </el-form-item ></el-col> </el-row> <!-- <el-row :gutter="10"> <el-col :span="12" ><el-form-item label="处理"> <el-input type="text" placeholder="(默认)无声" v-model="topicobj.text" maxlength="10" show-word-limit > </el-input> </el-form-item ></el-col> </el-row> --> <el-row :gutter="10"> <el-col :span="16"> <el-form-item label="语音文件"> <el-upload class="upload-demo" style="display: flex" 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-form-item label="语音文件" v-if="topicobj.sliencevoice" > <mini-audio :audio-source=" topicobj.sliencevoice ? topicobj.sliencevoice : 'https://example.com/example.mp3' " ></mini-audio> </el-form-item ></el-col> </el-row> </div> </div> src/views/repositoryai/verbaltrick/index.vue
@@ -188,10 +188,10 @@ /> <el-table-column label="问题语音" label="问题内容" align="center" key="scriptVoice" prop="scriptVoice" key="scriptContent" prop="scriptContent" width="200" /><el-table-column label="关联指标" src/views/repositoryai/verbaltrick/particulars/index.vue
@@ -246,7 +246,7 @@ <div style="display: flex; margin-bottom: 10px"> <div v-for="item in variablelist" class="tsgname" :class="item.default ? 'tsgname' : 'tsgnames'" @click="tsgnameto(item)" > {{ item.variatename }} @@ -273,23 +273,32 @@ </el-form-item> </el-col ></el-row> <el-row> <el-col :span="6"> <el-col :span="12"> <el-form-item label="问题语音" prop="verbaltrickyy"> <el-upload class="upload-demo" action="https://jsonplaceholder.typicode.com/posts/" :on-change="handleChange" :file-list="fileList" :action="uploadImgUrl" :headers="headers" :on-success=" (response, file) => handleChange(response, file, 1) " accept=".wav,.mp3" :limit="1" :on-exceed="handleExceed" > <el-button size="small" type="primary">点击上传</el-button> </el-upload> <!-- <el-input v-model="indexform.userName" maxlength="66" show-word-limit /> --> </el-form-item> </el-col></el-row > </el-col> <el-col :span="6"> </el-col> <mini-audio :audio-source=" indexform.scriptVoice ? indexform.scriptVoice : 'https://example.com/example.mp3' " ></mini-audio> </el-row> <el-row> <el-col :span="24"> <el-form-item label="无匹配文本" prop="noMatchText"> @@ -305,21 +314,31 @@ </el-form-item> </el-col ></el-row> <el-row> <el-col :span="6"> <el-form-item label="无匹配语音" prop="matchyy"> <el-col :span="12"> <el-form-item label="无匹配语音" prop="verbaltrickyy"> <el-upload class="upload-demo" action="https://jsonplaceholder.typicode.com/posts/" :on-change="handleChange" :file-list="fileList" :action="uploadImgUrl" :headers="headers" :on-success=" (response, file) => handleChange(response, file, 2) " accept=".wav,.mp3" :limit="1" :on-exceed="handleExceed" > <el-button size="small" type="primary">点击上传</el-button> </el-upload> </el-form-item> </el-col></el-row > </el-col> <el-col :span="6"> </el-col> <mini-audio :audio-source=" indexform.nomatchvoice ? indexform.nomatchvoice : 'https://example.com/example.mp3' " ></mini-audio> </el-row> <el-row> <el-col :span="24"> <el-form-item label="无声文本" prop="slienceText"> @@ -335,21 +354,31 @@ </el-form-item> </el-col ></el-row> <el-row> <el-col :span="6"> <el-form-item label="无声语音" prop="silentyy"> <el-col :span="12"> <el-form-item label="无声语音" prop="verbaltrickyy"> <el-upload class="upload-demo" action="https://jsonplaceholder.typicode.com/posts/" :on-change="handleChange" :file-list="fileList" :action="uploadImgUrl" :headers="headers" :on-success=" (response, file) => handleChange(response, file, 3) " accept=".wav,.mp3" :limit="1" :on-exceed="handleExceed" > <el-button size="small" type="primary">点击上传</el-button> </el-upload> </el-form-item> </el-col></el-row > </el-col> <el-col :span="6"> </el-col> <mini-audio :audio-source=" indexform.sliencevoice ? indexform.sliencevoice : 'https://example.com/example.mp3' " ></mini-audio> </el-row> <el-row> <el-col :span="24"> @@ -366,21 +395,31 @@ </el-form-item> </el-col ></el-row> <el-row> <el-col :span="6"> <el-form-item label="听不清语音" prop="vagueyy"> <el-col :span="12"> <el-form-item label="听不清语音" prop="verbaltrickyy"> <el-upload class="upload-demo" action="https://jsonplaceholder.typicode.com/posts/" :on-change="handleChange" :file-list="fileList" :action="uploadImgUrl" :headers="headers" :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"> </el-col> <mini-audio :audio-source=" indexform.noclearlyvoice ? indexform.noclearlyvoice : 'https://example.com/example.mp3' " ></mini-audio> </el-row> </el-form> <div slot="footer" class="dialog-footer"> <el-button type="primary" @click="nextstep">下一步</el-button> @@ -595,12 +634,17 @@ } 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", //单选题选中 @@ -842,17 +886,19 @@ }, // 文件---------------------- // 控制文件 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; } 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 = { @@ -1129,7 +1175,7 @@ padding-top: 0; padding-bottom: 0; } .tsgname { .tsgnames { width: 90px; margin-right: 10px; text-align: center; @@ -1141,9 +1187,24 @@ 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;