| | |
| | | <template> |
| | | <!-- 聊连页面记录 --> |
| | | <div class="Followupdetailspage"> |
| | | <div class="Followuserinfo"> |
| | | <div class="userinfo-text">随访详情</div> |
| | | <div class="userinfo-value"> |
| | | <span><i class="el-icon-user-solid"></i>吴龙</span><span>男</span |
| | | ><span><i class="el-icon-user-solid"></i>13803963330</span |
| | | ><span>出院时间::2023-03-29 08:57:57</span> |
| | | <div> |
| | | <div class="userinfo-text">{{ sendname }}<span>患者服务详情详情</span> |
| | | <!-- <el-button type="success">随访后短信</el-button> --> |
| | | </div> |
| | | </div> |
| | | <div><el-button type="success">随访后短信</el-button></div> |
| | | <div> |
| | | <el-table :data="logsheetlist" style="width: 100%"> |
| | | <el-table-column |
| | | prop="sendname" |
| | | align="center" |
| | | label="姓名" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="sendstate" |
| | | align="center" |
| | | label="服务状态" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="updateTime" |
| | | align="center" |
| | | label="完成时间" |
| | | width="200" |
| | | show-overflow-tooltip |
| | | > |
| | | </el-table-column> |
| | | <el-table-column prop="taskName" align="center" width="200" |
| | | show-overflow-tooltip label="任务名称"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="templatename" |
| | | align="center" |
| | | label="服务模板" |
| | | width="200" |
| | | show-overflow-tooltip |
| | | > |
| | | </el-table-column> |
| | | |
| | | <el-table-column |
| | | prop="bankcardno" |
| | | align="center" |
| | | label="呼叫状态" |
| | | width="210" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="操作" |
| | | fixed="right" |
| | | align="center" |
| | | width="200" |
| | | class-name="small-padding fixed-width" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-button |
| | | size="medium" |
| | | type="text" |
| | | @click="Seedetails(scope.row)" |
| | | v-hasPermi="['system:user:edit']" |
| | | ><span class="button-zx" |
| | | ><i class="el-icon-s-order"></i>查看服务</span |
| | | ></el-button |
| | | > |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | </div> |
| | | <div> |
| | | <el-tabs type="border-card"> |
| | | <el-tab-pane> |
| | | <span class="mulsz" slot="label" |
| | | ><i class="el-icon-headset"></i> 语音详情1</span |
| | | ><i class="el-icon-notebook-1"></i> 问卷随访结果</span |
| | | > |
| | | <div class="borderdiv">语音详情1</div> |
| | | <div class="CONTENT"> |
| | | <div class="title">{{ taskname ? taskname : "问卷" }}</div> |
| | | <div class="preview-left"> |
| | | <!-- 单选 --> |
| | | <div |
| | | class="topic-dev" |
| | | v-for="(item, index) in tableDatatop" |
| | | :key="item.aaa" |
| | | > |
| | | <div class="scriptTopic-dev" :key="index" v-if="item.scriptType == 1"> |
| | | <div class="dev-text"> |
| | | {{ index + 1 }}、[单选]<span>{{ item.scriptContent }}</span> |
| | | </div> |
| | | <div class="dev-xx"> |
| | | <el-radio-group |
| | | v-model="item.scriptResult" |
| | | @change="handleOptionChange($event, index, item)" |
| | | > |
| | | <el-radio |
| | | v-for="(items, index) in item.svyLibTemplateTargetoptions" |
| | | :key="index" |
| | | :label="items.optioncontent" |
| | | >{{ items.optioncontent }}</el-radio |
| | | > |
| | | </el-radio-group> |
| | | </div> |
| | | <div v-show="item.prompt"> |
| | | <el-alert :title="item.prompt" type="warning"> </el-alert> |
| | | </div> |
| | | </div> |
| | | <!-- 多选 --> |
| | | <div class="scriptTopic-dev" :key="index" v-if="item.scriptType == 2"> |
| | | <div class="dev-text"> |
| | | {{ index + 1 }}、[多选]<span>{{ item.scriptContent }}</span> |
| | | </div> |
| | | <div class="dev-xx"> |
| | | <el-checkbox-group |
| | | v-model="item.scriptResult" |
| | | @change="updateScore($event, index, item)" |
| | | > |
| | | <el-checkbox |
| | | @change="$forceUpdate()" |
| | | v-for="(items, indexs) in item.svyLibTemplateTargetoptions" |
| | | :key="indexs" |
| | | :label="items.optioncontent" |
| | | > |
| | | {{ items.optioncontent }} |
| | | </el-checkbox> |
| | | </el-checkbox-group> |
| | | </div> |
| | | <div v-show="item.prompt && item.scriptResult[0]"> |
| | | <el-alert :title="item.prompt" type="warning"> </el-alert> |
| | | </div> |
| | | </div> |
| | | <!-- 填空 --> |
| | | <div class="scriptTopic-dev" :key="index" v-if="item.scriptType == 4"> |
| | | <div class="dev-text"> |
| | | {{ index + 1 }}、[问答]<span>{{ item.scriptContent }}</span> |
| | | </div> |
| | | <div class="dev-xx"> |
| | | <el-input |
| | | type="textarea" |
| | | :rows="2" |
| | | placeholder="请输入答案" |
| | | v-model="item.scriptResult" |
| | | clearable |
| | | > |
| | | </el-input> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </el-tab-pane> |
| | | <el-tab-pane> |
| | | <span class="mulsz" slot="label" |
| | | ><i class="el-icon-headset"></i> 语音详情2</span |
| | | > |
| | | <div class="borderdiv">语音详情2</div> |
| | | </el-tab-pane> |
| | | <el-tab-pane> |
| | | <span class="mulsz" slot="label" |
| | | ><i class="el-icon-notebook-1"></i> 语音信息</span |
| | | > |
| | | <div class="borderdiv">语音信息</div> |
| | | </el-tab-pane> |
| | | <el-tab-pane> |
| | | <span class="mulsz" slot="label" |
| | | ><i class="el-icon-phone-outline"></i> 外呼信息</span |
| | | > |
| | | <div class="borderdiv">外呼信息</div> |
| | | </el-tab-pane> |
| | | <el-tab-pane> |
| | | <span class="mulsz" slot="label" |
| | | ><i class="el-icon-s-operation"></i> 标签状态</span |
| | | ><i class="el-icon-headset"></i> 语音随访详情</span |
| | | > |
| | | <div class="borderdiv"> |
| | | <el-radio v-model="radio" label="1">不处理</el-radio> |
| | | <el-radio v-model="radio" label="2">继续跟踪</el-radio |
| | | ><el-radio v-model="radio" label="3">通知医院就诊</el-radio> |
| | | <div> |
| | | <div class="leftside"> |
| | | <i class="el-icon-phone-outline"></i><span>您今天身体情况怎么样</span> |
| | | </div> |
| | | <div class="offside"> |
| | | <i class="el-icon-user"></i> |
| | | <div class="offside-value"> |
| | | <el-input v-model="input"></el-input> |
| | | <el-radio v-model="radio" label="1">很棒</el-radio> |
| | | <el-radio v-model="radio" label="2">还可以</el-radio> |
| | | <el-radio v-model="radio" label="3">不太好</el-radio> |
| | | <el-radio v-model="radio" label="4">比较差</el-radio> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </el-tab-pane> |
| | | </el-tabs> |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import { |
| | | getsearchrResult, |
| | | getTaskservelist, |
| | | |
| | | } from "@/api/AiCentre/index"; |
| | | export default { |
| | | data() { |
| | | return { |
| | | radio: "1", |
| | | userid: "", |
| | | input: "今天身体还不错", |
| | | radio: "2", |
| | | taskname:'', |
| | | tableDatatop: [],//题目表 |
| | | logsheetlist:[], |
| | | sendname:null, |
| | | serviceType:null, |
| | | taskid:null, |
| | | patid:null, |
| | | }; |
| | | }, |
| | | |
| | | created() {}, |
| | | created() { |
| | | this.taskid=this.$route.query.taskid; |
| | | this.sendname=this.$route.query.sendname; |
| | | this.patid=this.$route.query.patid; |
| | | this.serviceType=this.$route.query.serviceType; |
| | | this.getsearchrResult(); |
| | | this.getTaskservelist(); |
| | | }, |
| | | |
| | | methods: {}, |
| | | |
| | | methods: { |
| | | // 获取问卷数据 |
| | | getsearchrResult(){ |
| | | getsearchrResult({ |
| | | taskid:this.taskid, |
| | | patid:this.patid, |
| | | }).then((res) => { |
| | | if (res.code === 200) { |
| | | this.tableDatatop = res.data.scriptResult.script; |
| | | this.taskname = res.data.taskName; |
| | | } |
| | | }); |
| | | }, |
| | | // 获取患者记录 |
| | | getTaskservelist(){ |
| | | getTaskservelist({ |
| | | patid:this.patid, |
| | | }).then((res) => { |
| | | if (res.code == 200) { |
| | | this.logsheetlist = res.rows; |
| | | } |
| | | }); |
| | | }, |
| | | Seedetails(){}, |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .Followupdetailspage { |
| | | margin: 10px; |
| | | } |
| | | .Followuserinfo { |
| | | margin: 20px 10px; |
| | | display: flex; |
| | | align-items: center; |
| | | 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); |
| | | .userinfo-text { |
| | | font-size: 20px; |
| | | margin-right: 20px; |
| | | margin-bottom: 10px; |
| | | } |
| | | .userinfo-value { |
| | | color: rgb(15, 139, 211); |
| | |
| | | } |
| | | .borderdiv { |
| | | min-height: 60vh; |
| | | font-size: 20px; |
| | | padding: 30px; |
| | | .leftside { |
| | | margin-bottom: 30px; |
| | | span { |
| | | width: 400px; |
| | | margin-left: 20px; |
| | | padding: 10px; |
| | | color: #fff; |
| | | background: rgb(110, 196, 247); |
| | | border-radius: 10px; |
| | | } |
| | | } |
| | | .offside { |
| | | display: flex; |
| | | flex-direction: row-reverse; |
| | | .offside-value { |
| | | padding: 10px; |
| | | background: rgb(217, 173, 253); |
| | | border-radius: 10px; |
| | | color: #fff; |
| | | margin-right: 20px; |
| | | } |
| | | } |
| | | } |
| | | .CONTENT { |
| | | padding: 10px; |
| | | .title { |
| | | font-size: 22px; |
| | | font-weight: bold; |
| | | margin-bottom: 20px; |
| | | text-align: center; |
| | | } |
| | | } |
| | | .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); |
| | | .topic-dev { |
| | | margin-bottom: 25px; |
| | | font-size: 20px !important; |
| | | .dev-text { |
| | | margin-bottom: 10px; |
| | | } |
| | | } |
| | | } |
| | | ::v-deep.offside-value .el-radio__label { |
| | | color: #fff; |
| | | } |
| | | .mulsz { |
| | | font-size: 25px; |