问卷得分隐藏
This commit is contained in:
parent
716e2c4d1f
commit
645854a4f1
@ -5,10 +5,11 @@ VUE_APP_TITLE = 新医路院后患者管理平台
|
||||
ENV = 'development'
|
||||
|
||||
# 新医路院后患者管理平台/开发环境
|
||||
VUE_APP_BASE_API = 'http://192.168.20.37:19090'
|
||||
# VUE_APP_BASE_API = 'http://192.168.20.37:19090'
|
||||
# VUE_APP_BASE_API = 'http://8.131.93.145:54011'
|
||||
# VUE_APP_BASE_API = 'http://192.168.0.95:9090'
|
||||
# VUE_APP_BASE_API = 'https://1608.xinelu.cn'
|
||||
VUE_APP_BASE_API = 'http://192.168.124.7:19090'
|
||||
|
||||
|
||||
# 路由懒加载
|
||||
|
||||
@ -5,8 +5,9 @@ VUE_APP_TITLE = 新医路院后患者管理平台
|
||||
ENV = 'production'
|
||||
|
||||
# 新医路院后患者管理平台/生产环境
|
||||
VUE_APP_BASE_API = 'http://192.168.20.37:19090'
|
||||
# VUE_APP_BASE_API = 'http://192.168.20.37:19090'
|
||||
# VUE_APP_BASE_API = 'http://8.131.93.145:54011'
|
||||
# VUE_APP_BASE_API = 'http://192.168.0.95:9090'
|
||||
# VUE_APP_BASE_API = 'https://1608.xinelu.cn'
|
||||
VUE_APP_BASE_API = 'http://192.168.124.7:19090'
|
||||
|
||||
|
||||
@ -7,7 +7,8 @@ NODE_ENV = production
|
||||
ENV = 'staging'
|
||||
|
||||
# 新医路院后患者管理平台/测试环境
|
||||
VUE_APP_BASE_API = 'http://192.168.20.37:19090'
|
||||
# VUE_APP_BASE_API = 'http://192.168.20.37:19090'
|
||||
# VUE_APP_BASE_API = 'http://8.131.93.145:54011'
|
||||
# VUE_APP_BASE_API = 'http://192.168.0.95:9090'
|
||||
# VUE_APP_BASE_API = 'https://1608.xinelu.cn'
|
||||
VUE_APP_BASE_API = 'http://192.168.124.7:19090'
|
||||
|
||||
@ -1,95 +1,255 @@
|
||||
<template>
|
||||
<div class="app-container" ref="layout">
|
||||
<div ref="topform" class="form">
|
||||
<SearchFilter labelWidth="100px" :labelWidths="310" size="small" @search="handleQuery" @reset="resetQuery"
|
||||
@minShowCtrol="getMaxTableHeight" :query="queryParams" v-show="showSearch">
|
||||
<SearchFilter
|
||||
labelWidth="100px"
|
||||
:labelWidths="310"
|
||||
size="small"
|
||||
@search="handleQuery"
|
||||
@reset="resetQuery"
|
||||
@minShowCtrol="getMaxTableHeight"
|
||||
:query="queryParams"
|
||||
v-show="showSearch"
|
||||
>
|
||||
<el-form-item label="批次" prop="sn">
|
||||
<span>
|
||||
<sn @on-template="messageontemplateword" :templateId="queryParams.sn"></sn>
|
||||
<sn
|
||||
@on-template="messageontemplateword"
|
||||
:templateId="queryParams.sn"
|
||||
></sn>
|
||||
</span>
|
||||
</el-form-item>
|
||||
<el-form-item label="外呼时间" prop="startTime">
|
||||
<el-date-picker v-model="dischargeTime" type="daterange" range-separator="至" start-placeholder="开始日期"
|
||||
style="width: 220px" value-format="yyyy-MM-dd" end-placeholder="结束日期" @change="changeTime">
|
||||
<el-date-picker
|
||||
v-model="dischargeTime"
|
||||
type="daterange"
|
||||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
style="width: 220px"
|
||||
value-format="yyyy-MM-dd"
|
||||
end-placeholder="结束日期"
|
||||
@change="changeTime"
|
||||
>
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="患者电话" prop="patientPhone">
|
||||
<el-input v-model="queryParams.patientPhone" placeholder="请输入患者电话" clearable @keyup.enter.native="handleQuery"
|
||||
style="width: 220px" />
|
||||
<el-input
|
||||
v-model="queryParams.patientPhone"
|
||||
placeholder="请输入患者电话"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
style="width: 220px"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="患者姓名" prop="patientName">
|
||||
<el-input v-model="queryParams.patientName" placeholder="请输入患者姓名" clearable @keyup.enter.native="handleQuery"
|
||||
style="width: 220px" />
|
||||
<el-input
|
||||
v-model="queryParams.patientName"
|
||||
placeholder="请输入患者姓名"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
style="width: 220px"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="问卷名称" prop="questionnaireName">
|
||||
<el-select v-model="queryParams.questionInfoId" placeholder="请选择问卷名称" clearable style="width: 220px">
|
||||
<el-option v-for="item in questionnaireList" :key="item.id" :label="item.questionnaireName"
|
||||
:value="item.id">
|
||||
<el-select
|
||||
v-model="queryParams.questionInfoId"
|
||||
placeholder="请选择问卷名称"
|
||||
clearable
|
||||
style="width: 220px"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in questionnaireList"
|
||||
:key="item.id"
|
||||
:label="item.questionnaireName"
|
||||
:value="item.id"
|
||||
>
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="任务节点类型" prop="taskNodeType">
|
||||
<el-select v-model="queryParams.taskNodeType" placeholder="请选择任务节点类型" clearable style="width: 220px">
|
||||
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
|
||||
<el-select
|
||||
v-model="queryParams.taskNodeType"
|
||||
placeholder="请选择任务节点类型"
|
||||
clearable
|
||||
style="width: 220px"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in options"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
>
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="医院" prop="hospitalAgencyId">
|
||||
<el-select v-model="queryParams.hospitalAgencyId" filterable placeholder="请选择医院" style="width: 220px"
|
||||
clearable @clear="clearhospitalAgency" @change="changehospitalAgency">
|
||||
<el-option v-for="item in hospitalAgencylist" :key="item.id" :label="item.agencyName" :value="item.id">
|
||||
<el-select
|
||||
v-model="queryParams.hospitalAgencyId"
|
||||
filterable
|
||||
placeholder="请选择医院"
|
||||
style="width: 220px"
|
||||
clearable
|
||||
@clear="clearhospitalAgency"
|
||||
@change="changehospitalAgency"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in hospitalAgencylist"
|
||||
:key="item.id"
|
||||
:label="item.agencyName"
|
||||
:value="item.id"
|
||||
>
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="科室" prop="departmentId">
|
||||
<el-select v-model="queryParams.departmentId" filterable placeholder="请选择科室" style="width: 220px" clearable
|
||||
@clear="cleardepartment" @change="changedepartment">
|
||||
<el-option v-for="item in departmentlist" :key="item.id" :label="item.departmentName" :value="item.id">
|
||||
<el-select
|
||||
v-model="queryParams.departmentId"
|
||||
filterable
|
||||
placeholder="请选择科室"
|
||||
style="width: 220px"
|
||||
clearable
|
||||
@clear="cleardepartment"
|
||||
@change="changedepartment"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in departmentlist"
|
||||
:key="item.id"
|
||||
:label="item.departmentName"
|
||||
:value="item.id"
|
||||
>
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="任务执行状态" prop="nodeExecuteStatus">
|
||||
<el-select v-model="queryParams.nodeExecuteStatus" placeholder="请选择任务执行状态" clearable style="width: 220px">
|
||||
<el-option v-for="item in nodeExecutList" :key="item.value" :label="item.label" :value="item.value">
|
||||
<el-select
|
||||
v-model="queryParams.nodeExecuteStatus"
|
||||
placeholder="请选择任务执行状态"
|
||||
clearable
|
||||
style="width: 220px"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in nodeExecutList"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
>
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="任务执行类型" prop="taskExcuteType">
|
||||
<el-select v-model="queryParams.taskExcuteType" placeholder="请选择任务执行类型" clearable style="width: 220px">
|
||||
<el-option v-for="item in taskExcuteTypelist" :key="item.value" :label="item.label" :value="item.value">
|
||||
<el-select
|
||||
v-model="queryParams.taskExcuteType"
|
||||
placeholder="请选择任务执行类型"
|
||||
clearable
|
||||
style="width: 220px"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in taskExcuteTypelist"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
>
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="调查结果" prop="contentedFlag">
|
||||
<el-select v-model="queryParams.contentedFlag" placeholder="请选择调查结果" clearable style="width: 220px">
|
||||
<el-option v-for="item in contentedFlaglist" :key="item.value" :label="item.label" :value="item.value">
|
||||
<el-select
|
||||
v-model="queryParams.contentedFlag"
|
||||
placeholder="请选择调查结果"
|
||||
clearable
|
||||
style="width: 220px"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in contentedFlaglist"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
>
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="通话状态" prop="phoneNodeExecuteResultStatus">
|
||||
<el-select v-model="queryParams.phoneNodeExecuteResultStatus" placeholder="请选择通话状态" clearable
|
||||
style="width: 220px">
|
||||
<el-option v-for="item in SUCCESSlist" :key="item.value" :label="item.label" :value="item.value">
|
||||
<el-select
|
||||
v-model="queryParams.phoneNodeExecuteResultStatus"
|
||||
placeholder="请选择通话状态"
|
||||
clearable
|
||||
style="width: 220px"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in SUCCESSlist"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
>
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</SearchFilter>
|
||||
</div>
|
||||
<div ref="table">
|
||||
<el-table :max-height="maxTableHeight" v-loading="loading" :data="patientInfoList"
|
||||
@selection-change="handleSelectionChange">
|
||||
<el-table
|
||||
:max-height="maxTableHeight"
|
||||
v-loading="loading"
|
||||
:data="patientInfoList"
|
||||
@selection-change="handleSelectionChange"
|
||||
>
|
||||
<!-- <el-table-column type="selection" width="55" /> -->
|
||||
<el-table-column label="序号" type="index" width="48" align="center" />
|
||||
<el-table-column label="流水号" align="center" prop="sn" width="150" />
|
||||
<el-table-column label="患者姓名" align="center" prop="patientName" width="120" />
|
||||
<el-table-column label="患者电话" align="center" prop="patientPhone" width="120" />
|
||||
<el-table-column label="执行时间" align="center" prop="nodePlanTime" width="120" />
|
||||
<el-table-column label="路径名称" align="center" prop="manageRouteName" width="120" />
|
||||
<el-table-column label="问卷模板名称" align="center" prop="questionnaireName" width="120" />
|
||||
<el-table-column label="话术名称" align="center" prop="scriptTemplateName" width="120" />
|
||||
<el-table-column label="医院" align="center" prop="hospitalAgencyName" width="120" />
|
||||
<el-table-column label="科室名称" align="center" prop="departmentName" width="120" />
|
||||
<el-table-column label="执行状态" align="center" prop="nodeExecuteStatus" width="120">
|
||||
<el-table-column
|
||||
label="患者姓名"
|
||||
align="center"
|
||||
prop="patientName"
|
||||
width="120"
|
||||
/>
|
||||
<el-table-column
|
||||
label="患者电话"
|
||||
align="center"
|
||||
prop="patientPhone"
|
||||
width="120"
|
||||
/>
|
||||
<el-table-column
|
||||
label="执行时间"
|
||||
align="center"
|
||||
prop="nodePlanTime"
|
||||
width="120"
|
||||
/>
|
||||
<el-table-column
|
||||
label="路径名称"
|
||||
align="center"
|
||||
prop="manageRouteName"
|
||||
width="120"
|
||||
/>
|
||||
<el-table-column
|
||||
label="问卷模板名称"
|
||||
align="center"
|
||||
prop="questionnaireName"
|
||||
width="120"
|
||||
/>
|
||||
<el-table-column
|
||||
label="话术名称"
|
||||
align="center"
|
||||
prop="scriptTemplateName"
|
||||
width="120"
|
||||
/>
|
||||
<el-table-column
|
||||
label="医院"
|
||||
align="center"
|
||||
prop="hospitalAgencyName"
|
||||
width="120"
|
||||
/>
|
||||
<el-table-column
|
||||
label="科室名称"
|
||||
align="center"
|
||||
prop="departmentName"
|
||||
width="120"
|
||||
/>
|
||||
<el-table-column
|
||||
label="执行状态"
|
||||
align="center"
|
||||
prop="nodeExecuteStatus"
|
||||
width="120"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<span style="color: #67c23a">
|
||||
{{ scope.row.nodeExecuteStatus == "EXECUTED" ? "已执行" : "" }}
|
||||
@ -99,101 +259,221 @@
|
||||
</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="通话状态" align="center" prop="phoneNodeExecuteResultStatus" width="120">
|
||||
<el-table-column
|
||||
label="通话状态"
|
||||
align="center"
|
||||
prop="phoneNodeExecuteResultStatus"
|
||||
width="120"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<span style="color: #67c23a" v-if="scope.row.phoneNodeExecuteResultStatus == 'SUCCESS'">
|
||||
<span
|
||||
style="color: #67c23a"
|
||||
v-if="scope.row.phoneNodeExecuteResultStatus == 'SUCCESS'"
|
||||
>
|
||||
已接通
|
||||
</span>
|
||||
<span style="color: #f56c6c" v-else>
|
||||
未接通
|
||||
</span>
|
||||
<span style="color: #f56c6c" v-else> 未接通 </span>
|
||||
<!-- {{scope.row.phoneNodeExecuteResultStatus == "SUCCESS" ? "已接通" : "未接通"}} -->
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="反馈意见" align="center" prop="fillBlanksAnswer" width="150"
|
||||
:show-overflow-tooltip="true" />
|
||||
<el-table-column
|
||||
label="反馈意见"
|
||||
align="center"
|
||||
prop="fillBlanksAnswer"
|
||||
width="150"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<!-- <el-table-column label="就诊时间" align="center" prop="visitDate" width="150" /> -->
|
||||
<el-table-column label="调查结果" align="center" prop="contentedFlag" />
|
||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right" width="150">
|
||||
<el-table-column
|
||||
label="操作"
|
||||
align="center"
|
||||
class-name="small-padding fixed-width"
|
||||
fixed="right"
|
||||
width="150"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
v-if="
|
||||
((scope.row.phoneDialMethod == 'AI' && scope.row.nodeExecuteStatus == 'EXECUTED') || (scope.row.phoneDialMethod == 'COMMON' && scope.row.nodeExecuteStatus == 'EXECUTED')) && scope.row.phoneNodeExecuteResultStatus == 'SUCCESS'"
|
||||
size="mini" type="text" @click="playback(scope.row)" icon="el-icon-headset">回放</el-button>
|
||||
((scope.row.phoneDialMethod == 'AI' &&
|
||||
scope.row.nodeExecuteStatus == 'EXECUTED') ||
|
||||
(scope.row.phoneDialMethod == 'COMMON' &&
|
||||
scope.row.nodeExecuteStatus == 'EXECUTED')) &&
|
||||
scope.row.phoneNodeExecuteResultStatus == 'SUCCESS'
|
||||
"
|
||||
size="mini"
|
||||
type="text"
|
||||
@click="playback(scope.row)"
|
||||
icon="el-icon-headset"
|
||||
>回放</el-button
|
||||
>
|
||||
<el-button
|
||||
v-if="scope.row.nodeExecuteStatus == 'EXECUTED' && scope.row.taskNodeType == 'QUESTIONNAIRE_SCALE'"
|
||||
size="mini" type="text" icon="el-icon-notebook-2" @click="questionlook(scope.row)">问卷查看</el-button>
|
||||
v-if="
|
||||
scope.row.nodeExecuteStatus == 'EXECUTED' &&
|
||||
scope.row.taskNodeType == 'QUESTIONNAIRE_SCALE'
|
||||
"
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-notebook-2"
|
||||
@click="questionlook(scope.row)"
|
||||
>问卷查看</el-button
|
||||
>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
<!-- <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum"
|
||||
:limit.sync="queryParams.pageSize" @pagination="getList" /> -->
|
||||
<myPagination v-show="total > 0" :total="total" :pageSize="queryParams.pageSize"
|
||||
:indexFromWrap="queryParams.pageNum" @updateCPage="updateCPage"></myPagination>
|
||||
<myPagination
|
||||
v-show="total > 0"
|
||||
:total="total"
|
||||
:pageSize="queryParams.pageSize"
|
||||
:indexFromWrap="queryParams.pageNum"
|
||||
@updateCPage="updateCPage"
|
||||
></myPagination>
|
||||
<el-dialog title="问卷查看" :visible.sync="questionshow" width="40%">
|
||||
<div class="bottomheaderdata">
|
||||
<div class="right">
|
||||
<div class="title" v-if="questiondata.totalScore || questiondata.totalScore == 0">
|
||||
<!-- <div class="title" v-if="questiondata.totalScore || questiondata.totalScore == 0">
|
||||
总分:{{ questiondata.totalScore }}分
|
||||
</div>
|
||||
<div class="words" v-for="(item, index) in questiondata.subjectResultList" :key="index">
|
||||
</div> -->
|
||||
<div
|
||||
class="words"
|
||||
v-for="(item, index) in questiondata.subjectResultList"
|
||||
:key="index"
|
||||
>
|
||||
{{ index + 1 }}.{{ item.questionName }}
|
||||
<span v-if="item.questionType == 'MULTIPLE_CHOICE'">(单选题)</span>
|
||||
<span v-if="item.questionType == 'MULTIPLE_CHOICE_QUESTIONS'">(多选题)</span>
|
||||
<span v-if="item.questionType == 'SCORING_QUESTIONS'">(打分题)</span>
|
||||
<span v-if="item.questionType == 'COMBINATION_RADIO_SUBJECT'">(组合单选题)</span>
|
||||
<span v-if="item.questionType == 'COMBINATION_MULTIPLE_SUBJECT'">(组合多选题)</span>
|
||||
<span v-if="item.questionType == 'COMBINATION_BLANKS_SUBJECT'">(组合填空题)</span>
|
||||
<span v-if="item.questionType == 'FILL_IN_THE_BLANKS'">(填空题)</span>
|
||||
<span v-if="item.questionType == 'COMBINATION_SCORING_SUBJECT'">(组合打分题)</span>
|
||||
<span v-if="item.questionType == 'DATE_BLANKS_SUBJECT'">(日期填空题)</span>
|
||||
<span v-if="item.questionType == 'TIME_BLANKS_SUBJECT'">(时间填空题)</span>
|
||||
<span v-if="item.questionType == 'FEEDBACK_BLANKS_SUBJECT'">(反馈填空题)</span>
|
||||
<el-radio-group v-if="
|
||||
item.questionType == 'MULTIPLE_CHOICE' ||
|
||||
item.questionType == 'COMBINATION_RADIO_SUBJECT' ||
|
||||
item.questionType == 'SCORING_QUESTIONS' ||
|
||||
item.questionType == 'COMBINATION_SCORING_SUBJECT'" v-model="item.checked" class="custom-radio-group"
|
||||
@change="radioGroupChange($event, item)">
|
||||
<el-radio disabled class="custom" v-for="(aitem, aindex) in item.optionResults" :key="aindex"
|
||||
:label="aitem.id" @change="radioChange($event, aitem, index)">
|
||||
<span v-if="item.questionType == 'MULTIPLE_CHOICE'"
|
||||
>(单选题)</span
|
||||
>
|
||||
<span v-if="item.questionType == 'MULTIPLE_CHOICE_QUESTIONS'"
|
||||
>(多选题)</span
|
||||
>
|
||||
<span v-if="item.questionType == 'SCORING_QUESTIONS'"
|
||||
>(打分题)</span
|
||||
>
|
||||
<span v-if="item.questionType == 'COMBINATION_RADIO_SUBJECT'"
|
||||
>(组合单选题)</span
|
||||
>
|
||||
<span v-if="item.questionType == 'COMBINATION_MULTIPLE_SUBJECT'"
|
||||
>(组合多选题)</span
|
||||
>
|
||||
<span v-if="item.questionType == 'COMBINATION_BLANKS_SUBJECT'"
|
||||
>(组合填空题)</span
|
||||
>
|
||||
<span v-if="item.questionType == 'FILL_IN_THE_BLANKS'"
|
||||
>(填空题)</span
|
||||
>
|
||||
<span v-if="item.questionType == 'COMBINATION_SCORING_SUBJECT'"
|
||||
>(组合打分题)</span
|
||||
>
|
||||
<span v-if="item.questionType == 'DATE_BLANKS_SUBJECT'"
|
||||
>(日期填空题)</span
|
||||
>
|
||||
<span v-if="item.questionType == 'TIME_BLANKS_SUBJECT'"
|
||||
>(时间填空题)</span
|
||||
>
|
||||
<span v-if="item.questionType == 'FEEDBACK_BLANKS_SUBJECT'"
|
||||
>(反馈填空题)</span
|
||||
>
|
||||
<el-radio-group
|
||||
v-if="
|
||||
item.questionType == 'MULTIPLE_CHOICE' ||
|
||||
item.questionType == 'COMBINATION_RADIO_SUBJECT' ||
|
||||
item.questionType == 'SCORING_QUESTIONS' ||
|
||||
item.questionType == 'COMBINATION_SCORING_SUBJECT'
|
||||
"
|
||||
v-model="item.checked"
|
||||
class="custom-radio-group"
|
||||
@change="radioGroupChange($event, item)"
|
||||
>
|
||||
<el-radio
|
||||
disabled
|
||||
class="custom"
|
||||
v-for="(aitem, aindex) in item.optionResults"
|
||||
:key="aindex"
|
||||
:label="aitem.id"
|
||||
@change="radioChange($event, aitem, index)"
|
||||
>
|
||||
{{ aitem.optionName }}
|
||||
</el-radio>
|
||||
</el-radio-group>
|
||||
<el-checkbox-group v-model="checkeddata" @change="radioGroupChange($event, item, 'checkbox')" v-if="
|
||||
item.questionType == 'MULTIPLE_CHOICE_QUESTIONS' ||
|
||||
item.questionType == 'COMBINATION_MULTIPLE_SUBJECT'">
|
||||
<el-checkbox disabled v-for="(aitem, aindex) in item.optionResults" :key="aindex" :label="aitem.id"
|
||||
@change="radioChangecheck($event, aitem, index, aindex)">
|
||||
<el-checkbox-group
|
||||
v-model="checkeddata"
|
||||
@change="radioGroupChange($event, item, 'checkbox')"
|
||||
v-if="
|
||||
item.questionType == 'MULTIPLE_CHOICE_QUESTIONS' ||
|
||||
item.questionType == 'COMBINATION_MULTIPLE_SUBJECT'
|
||||
"
|
||||
>
|
||||
<el-checkbox
|
||||
disabled
|
||||
v-for="(aitem, aindex) in item.optionResults"
|
||||
:key="aindex"
|
||||
:label="aitem.id"
|
||||
@change="radioChangecheck($event, aitem, index, aindex)"
|
||||
>
|
||||
{{ aitem.optionName }}
|
||||
</el-checkbox>
|
||||
</el-checkbox-group>
|
||||
<div v-if="
|
||||
item.questionType == 'FILL_IN_THE_BLANKS' ||
|
||||
item.questionType == 'COMBINATION_BLANKS_SUBJECT' ||
|
||||
item.questionType == 'FEEDBACK_BLANKS_SUBJECT'" class="tk">
|
||||
<el-input disabled v-model="item.fillBlanksAnswer" placeholder="请输入答案" type="textarea" />
|
||||
<div
|
||||
v-if="
|
||||
item.questionType == 'FILL_IN_THE_BLANKS' ||
|
||||
item.questionType == 'COMBINATION_BLANKS_SUBJECT' ||
|
||||
item.questionType == 'FEEDBACK_BLANKS_SUBJECT'
|
||||
"
|
||||
class="tk"
|
||||
>
|
||||
<el-input
|
||||
disabled
|
||||
v-model="item.fillBlanksAnswer"
|
||||
placeholder="请输入答案"
|
||||
type="textarea"
|
||||
/>
|
||||
</div>
|
||||
<div v-if="item.questionType == 'DATE_BLANKS_SUBJECT'" style="margin: 20px 0 10px 30px">
|
||||
<el-date-picker disabled @change="timepicker($event, index)" clearable v-model="item.fillBlanksAnswer"
|
||||
type="date" value-format="yyyy-MM-dd" placeholder="选择日期">
|
||||
<div
|
||||
v-if="item.questionType == 'DATE_BLANKS_SUBJECT'"
|
||||
style="margin: 20px 0 10px 30px"
|
||||
>
|
||||
<el-date-picker
|
||||
disabled
|
||||
@change="timepicker($event, index)"
|
||||
clearable
|
||||
v-model="item.fillBlanksAnswer"
|
||||
type="date"
|
||||
value-format="yyyy-MM-dd"
|
||||
placeholder="选择日期"
|
||||
>
|
||||
</el-date-picker>
|
||||
</div>
|
||||
<div style="margin: 20px 0 10px 30px" v-if="item.questionType == 'TIME_BLANKS_SUBJECT'">
|
||||
<el-time-select disabled @change="timepickerselect($event, index)" clearable
|
||||
v-model="item.fillBlanksAnswer" :picker-options="{
|
||||
<div
|
||||
style="margin: 20px 0 10px 30px"
|
||||
v-if="item.questionType == 'TIME_BLANKS_SUBJECT'"
|
||||
>
|
||||
<el-time-select
|
||||
disabled
|
||||
@change="timepickerselect($event, index)"
|
||||
clearable
|
||||
v-model="item.fillBlanksAnswer"
|
||||
:picker-options="{
|
||||
start: '08:30',
|
||||
step: '00:30',
|
||||
end: '23:30',
|
||||
}" placeholder="选择时间">
|
||||
}"
|
||||
placeholder="选择时间"
|
||||
>
|
||||
</el-time-select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</el-dialog>
|
||||
<el-dialog title="回放" :visible.sync="audioshow" width="800px" :before-close="audiohandleClose">
|
||||
<el-dialog
|
||||
title="回放"
|
||||
:visible.sync="audioshow"
|
||||
width="800px"
|
||||
:before-close="audiohandleClose"
|
||||
>
|
||||
<div class="audio">
|
||||
<div style="display: flex">
|
||||
<span class="name">姓名:{{ patientName }}</span>
|
||||
@ -220,13 +500,14 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { uploadRobotPublishRecord, selectQuestionInfoList } from "@/api/manage/Satisfactionsurvey"
|
||||
import SearchFilter from "../../components/SearchForm.vue";
|
||||
import { getAgencyList, selectAgencyList, } from "@/api/manage/selectAgencyList";
|
||||
import { selectPatientQuestionSubmit } from "@/api/system/taskExecuteRecord";
|
||||
import {
|
||||
getPhoneDialVideo,
|
||||
} from "@/api/system/followup";
|
||||
uploadRobotPublishRecord,
|
||||
selectQuestionInfoList,
|
||||
} from "@/api/manage/Satisfactionsurvey";
|
||||
import SearchFilter from "../../components/SearchForm.vue";
|
||||
import { getAgencyList, selectAgencyList } from "@/api/manage/selectAgencyList";
|
||||
import { selectPatientQuestionSubmit } from "@/api/system/taskExecuteRecord";
|
||||
import { getPhoneDialVideo } from "@/api/system/followup";
|
||||
import sn from "../components/sn";
|
||||
export default {
|
||||
name: "visitout",
|
||||
@ -244,7 +525,6 @@ export default {
|
||||
value: "FAILURE",
|
||||
label: "未接通",
|
||||
},
|
||||
|
||||
],
|
||||
// 节点任务执行状态
|
||||
nodeExecutList: [
|
||||
@ -267,7 +547,6 @@ export default {
|
||||
value: "ACTUAL_TIME_TASK",
|
||||
label: "单通电话",
|
||||
},
|
||||
|
||||
],
|
||||
// 调查结果
|
||||
contentedFlaglist: [
|
||||
@ -279,7 +558,6 @@ export default {
|
||||
value: "DISCONTENTED",
|
||||
label: "不满意",
|
||||
},
|
||||
|
||||
],
|
||||
//播放回放
|
||||
audiourl: undefined,
|
||||
@ -300,7 +578,6 @@ export default {
|
||||
formlist: [],
|
||||
patientName: null,
|
||||
|
||||
|
||||
// 问卷名称
|
||||
questionnaireList: [],
|
||||
//医院list
|
||||
@ -333,7 +610,7 @@ export default {
|
||||
// 是否显示弹出层
|
||||
uploadopen: false,
|
||||
// 查询参数
|
||||
dischargeTime: [],// 初始化为默认日期范围
|
||||
dischargeTime: [], // 初始化为默认日期范围
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
@ -346,7 +623,7 @@ export default {
|
||||
hospitalAgencyId: null,
|
||||
departmentId: null,
|
||||
questionInfoId: null,
|
||||
nodeExecuteStatus: '',
|
||||
nodeExecuteStatus: "",
|
||||
taskExcuteType: null,
|
||||
contentedFlag: null,
|
||||
phoneNodeExecuteResultStatus: null,
|
||||
@ -354,13 +631,16 @@ export default {
|
||||
},
|
||||
show: false,
|
||||
|
||||
options: [{
|
||||
value: 'PHONE_OUTBOUND',
|
||||
label: '电话外呼'
|
||||
}, {
|
||||
value: 'QUESTIONNAIRE_SCALE',
|
||||
label: '问卷量表'
|
||||
}],
|
||||
options: [
|
||||
{
|
||||
value: "PHONE_OUTBOUND",
|
||||
label: "电话外呼",
|
||||
},
|
||||
{
|
||||
value: "QUESTIONNAIRE_SCALE",
|
||||
label: "问卷量表",
|
||||
},
|
||||
],
|
||||
// 表单参数
|
||||
form: {},
|
||||
// 表单校验
|
||||
@ -369,12 +649,10 @@ export default {
|
||||
},
|
||||
created() {
|
||||
this.selectAgencyinfo();
|
||||
this.getDefaultDateRange()
|
||||
this.getDefaultDateRange();
|
||||
this.getList();
|
||||
this.getQuestion();
|
||||
console.log(this.queryParams, 'queryParams11111111')
|
||||
|
||||
|
||||
console.log(this.queryParams, "queryParams11111111");
|
||||
},
|
||||
mounted() {
|
||||
this.getMaxTableHeight();
|
||||
@ -394,8 +672,8 @@ export default {
|
||||
},
|
||||
// 回放点击事件
|
||||
async playback(row) {
|
||||
console.log(row, 'row')
|
||||
this.patientName = row.patientName
|
||||
console.log(row, "row");
|
||||
this.patientName = row.patientName;
|
||||
// await this.$confirm("是否确认回放?", "提示", {
|
||||
// confirmButtonText: "确认",
|
||||
// cancelButtonText: "取消",
|
||||
@ -404,7 +682,8 @@ export default {
|
||||
getPhoneDialVideo(row.manageRouteNodeId).then((res) => {
|
||||
console.log(res, "res");
|
||||
this.audioshow = true;
|
||||
this.audiourl = process.env.VUE_APP_BASE_API + res.data.phoneDialRecordVideo;
|
||||
this.audiourl =
|
||||
process.env.VUE_APP_BASE_API + res.data.phoneDialRecordVideo;
|
||||
this.formlist = res.data.record;
|
||||
setTimeout(() => {
|
||||
this.$refs.audioPlayer.load(); // 重新加载音频,以确保每次播放都是新的音频文件
|
||||
@ -421,8 +700,8 @@ export default {
|
||||
// e.optionResults.reverse()
|
||||
|
||||
// });
|
||||
this.questiondata = res.data
|
||||
console.log(this.questiondata, ' this.questiondata')
|
||||
this.questiondata = res.data;
|
||||
console.log(this.questiondata, " this.questiondata");
|
||||
this.questiondata.subjectResultList.forEach((e) => {
|
||||
// if(e.whetherScore==1){
|
||||
// e.optionResults.forEach((el) => {
|
||||
@ -475,14 +754,14 @@ export default {
|
||||
},
|
||||
formatDate(date) {
|
||||
const year = date.getFullYear();
|
||||
const month = String(date.getMonth() + 1).padStart(2, '0'); // 月份从0开始,需要加1
|
||||
const day = String(date.getDate()).padStart(2, '0');
|
||||
const month = String(date.getMonth() + 1).padStart(2, "0"); // 月份从0开始,需要加1
|
||||
const day = String(date.getDate()).padStart(2, "0");
|
||||
return `${year}-${month}-${day}`;
|
||||
},
|
||||
getQuestion() {
|
||||
selectQuestionInfoList().then(response => {
|
||||
this.questionnaireList = response
|
||||
})
|
||||
selectQuestionInfoList().then((response) => {
|
||||
this.questionnaireList = response;
|
||||
});
|
||||
},
|
||||
/** 查询患者信息列表 */
|
||||
getList() {
|
||||
@ -507,7 +786,6 @@ export default {
|
||||
// }
|
||||
// })
|
||||
|
||||
|
||||
this.patientInfoList = response.rows;
|
||||
this.total = response.total;
|
||||
this.loading = false;
|
||||
@ -519,20 +797,16 @@ export default {
|
||||
if (this.show == true) {
|
||||
this.queryParams.startTime = this.formatDate(this.dischargeTime[0]);
|
||||
this.queryParams.endTime = this.formatDate(this.dischargeTime[1]);
|
||||
|
||||
} else if (this.show == false) {
|
||||
this.queryParams.startTime = this.dischargeTime[0];
|
||||
this.queryParams.endTime = this.dischargeTime[1];
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
this.queryParams.startTime = null;
|
||||
this.queryParams.endTime = null;
|
||||
}
|
||||
this.queryParams.pageNum = 1;
|
||||
this.query = this.queryParams
|
||||
this.query = this.queryParams;
|
||||
this.getList();
|
||||
},
|
||||
/** 重置按钮操作 */
|
||||
@ -584,7 +858,6 @@ export default {
|
||||
this.getAgencyListinfo("HOSPITAL", id);
|
||||
this.queryParams.departmentId = null;
|
||||
// })
|
||||
|
||||
},
|
||||
//清空医院
|
||||
clearhospitalAgency() {
|
||||
@ -623,7 +896,7 @@ export default {
|
||||
selectAgencyList(query).then((res) => {
|
||||
this.hospitalAgencylist = res.data;
|
||||
if (this.hospitalAgencylist.length == 1) {
|
||||
this.queryParams.hospitalAgencyId = this.hospitalAgencylist[0].id
|
||||
this.queryParams.hospitalAgencyId = this.hospitalAgencylist[0].id;
|
||||
this.getAgencyListinfo("HOSPITAL", this.hospitalAgencylist[0].id);
|
||||
}
|
||||
});
|
||||
@ -631,15 +904,12 @@ export default {
|
||||
|
||||
//批次
|
||||
messageontemplateword(item) {
|
||||
console.log(item, 'sn');
|
||||
console.log(item, "sn");
|
||||
this.queryParams.sn = item.sn;
|
||||
},
|
||||
|
||||
// 详情
|
||||
handdatile(row) {
|
||||
|
||||
|
||||
},
|
||||
handdatile(row) {},
|
||||
// 获取表格最高高度
|
||||
getMaxTableHeight() {
|
||||
const windowInnerHeight = window.innerHeight; // 屏幕可视高度
|
||||
@ -683,7 +953,7 @@ export default {
|
||||
border-color: #1890ff !important;
|
||||
}
|
||||
|
||||
::v-deep .el-checkbox__input.is-disabled+span.el-checkbox__label {
|
||||
::v-deep .el-checkbox__input.is-disabled + span.el-checkbox__label {
|
||||
color: black !important;
|
||||
}
|
||||
|
||||
@ -709,7 +979,7 @@ export default {
|
||||
background-color: #1890ff !important;
|
||||
}
|
||||
|
||||
::v-deep .el-radio__input.is-disabled+span.el-radio__label {
|
||||
::v-deep .el-radio__input.is-disabled + span.el-radio__label {
|
||||
color: black !important;
|
||||
}
|
||||
|
||||
@ -746,7 +1016,7 @@ export default {
|
||||
|
||||
.name {
|
||||
display: inline-block;
|
||||
margin: 20px
|
||||
margin: 20px;
|
||||
}
|
||||
|
||||
.imagelist {
|
||||
@ -856,7 +1126,6 @@ audio {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.custom-radio-group {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user