问卷得分隐藏

This commit is contained in:
coderxqt 2025-12-23 14:38:18 +08:00
parent 716e2c4d1f
commit 645854a4f1
5 changed files with 2199 additions and 1888 deletions

View File

@ -5,10 +5,11 @@ VUE_APP_TITLE = 新医路院后患者管理平台
ENV = 'development' 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://8.131.93.145:54011'
# VUE_APP_BASE_API = 'http://192.168.0.95:9090' # VUE_APP_BASE_API = 'http://192.168.0.95:9090'
# VUE_APP_BASE_API = 'https://1608.xinelu.cn' # VUE_APP_BASE_API = 'https://1608.xinelu.cn'
VUE_APP_BASE_API = 'http://192.168.124.7:19090'
# 路由懒加载 # 路由懒加载

View File

@ -5,8 +5,9 @@ VUE_APP_TITLE = 新医路院后患者管理平台
ENV = 'production' 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://8.131.93.145:54011'
# VUE_APP_BASE_API = 'http://192.168.0.95:9090' # VUE_APP_BASE_API = 'http://192.168.0.95:9090'
# VUE_APP_BASE_API = 'https://1608.xinelu.cn' # VUE_APP_BASE_API = 'https://1608.xinelu.cn'
VUE_APP_BASE_API = 'http://192.168.124.7:19090'

View File

@ -7,7 +7,8 @@ NODE_ENV = production
ENV = 'staging' 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://8.131.93.145:54011'
# VUE_APP_BASE_API = 'http://192.168.0.95:9090' # VUE_APP_BASE_API = 'http://192.168.0.95:9090'
# VUE_APP_BASE_API = 'https://1608.xinelu.cn' # VUE_APP_BASE_API = 'https://1608.xinelu.cn'
VUE_APP_BASE_API = 'http://192.168.124.7:19090'

View File

@ -1,95 +1,255 @@
<template> <template>
<div class="app-container" ref="layout"> <div class="app-container" ref="layout">
<div ref="topform" class="form"> <div ref="topform" class="form">
<SearchFilter labelWidth="100px" :labelWidths="310" size="small" @search="handleQuery" @reset="resetQuery" <SearchFilter
@minShowCtrol="getMaxTableHeight" :query="queryParams" v-show="showSearch"> labelWidth="100px"
:labelWidths="310"
size="small"
@search="handleQuery"
@reset="resetQuery"
@minShowCtrol="getMaxTableHeight"
:query="queryParams"
v-show="showSearch"
>
<el-form-item label="批次" prop="sn"> <el-form-item label="批次" prop="sn">
<span> <span>
<sn @on-template="messageontemplateword" :templateId="queryParams.sn"></sn> <sn
@on-template="messageontemplateword"
:templateId="queryParams.sn"
></sn>
</span> </span>
</el-form-item> </el-form-item>
<el-form-item label="外呼时间" prop="startTime"> <el-form-item label="外呼时间" prop="startTime">
<el-date-picker v-model="dischargeTime" type="daterange" range-separator="" start-placeholder="开始日期" <el-date-picker
style="width: 220px" value-format="yyyy-MM-dd" end-placeholder="结束日期" @change="changeTime"> 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-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="患者电话" prop="patientPhone"> <el-form-item label="患者电话" prop="patientPhone">
<el-input v-model="queryParams.patientPhone" placeholder="请输入患者电话" clearable @keyup.enter.native="handleQuery" <el-input
style="width: 220px" /> v-model="queryParams.patientPhone"
placeholder="请输入患者电话"
clearable
@keyup.enter.native="handleQuery"
style="width: 220px"
/>
</el-form-item> </el-form-item>
<el-form-item label="患者姓名" prop="patientName"> <el-form-item label="患者姓名" prop="patientName">
<el-input v-model="queryParams.patientName" placeholder="请输入患者姓名" clearable @keyup.enter.native="handleQuery" <el-input
style="width: 220px" /> v-model="queryParams.patientName"
placeholder="请输入患者姓名"
clearable
@keyup.enter.native="handleQuery"
style="width: 220px"
/>
</el-form-item> </el-form-item>
<el-form-item label="问卷名称" prop="questionnaireName"> <el-form-item label="问卷名称" prop="questionnaireName">
<el-select v-model="queryParams.questionInfoId" placeholder="请选择问卷名称" clearable style="width: 220px"> <el-select
<el-option v-for="item in questionnaireList" :key="item.id" :label="item.questionnaireName" v-model="queryParams.questionInfoId"
:value="item.id"> placeholder="请选择问卷名称"
clearable
style="width: 220px"
>
<el-option
v-for="item in questionnaireList"
:key="item.id"
:label="item.questionnaireName"
:value="item.id"
>
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="任务节点类型" prop="taskNodeType"> <el-form-item label="任务节点类型" prop="taskNodeType">
<el-select v-model="queryParams.taskNodeType" placeholder="请选择任务节点类型" clearable style="width: 220px"> <el-select
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"> 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-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="医院" prop="hospitalAgencyId"> <el-form-item label="医院" prop="hospitalAgencyId">
<el-select v-model="queryParams.hospitalAgencyId" filterable placeholder="请选择医院" style="width: 220px" <el-select
clearable @clear="clearhospitalAgency" @change="changehospitalAgency"> v-model="queryParams.hospitalAgencyId"
<el-option v-for="item in hospitalAgencylist" :key="item.id" :label="item.agencyName" :value="item.id"> 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-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="科室" prop="departmentId"> <el-form-item label="科室" prop="departmentId">
<el-select v-model="queryParams.departmentId" filterable placeholder="请选择科室" style="width: 220px" clearable <el-select
@clear="cleardepartment" @change="changedepartment"> v-model="queryParams.departmentId"
<el-option v-for="item in departmentlist" :key="item.id" :label="item.departmentName" :value="item.id"> 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-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="任务执行状态" prop="nodeExecuteStatus"> <el-form-item label="任务执行状态" prop="nodeExecuteStatus">
<el-select v-model="queryParams.nodeExecuteStatus" placeholder="请选择任务执行状态" clearable style="width: 220px"> <el-select
<el-option v-for="item in nodeExecutList" :key="item.value" :label="item.label" :value="item.value"> 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-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="任务执行类型" prop="taskExcuteType"> <el-form-item label="任务执行类型" prop="taskExcuteType">
<el-select v-model="queryParams.taskExcuteType" placeholder="请选择任务执行类型" clearable style="width: 220px"> <el-select
<el-option v-for="item in taskExcuteTypelist" :key="item.value" :label="item.label" :value="item.value"> 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-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="调查结果" prop="contentedFlag"> <el-form-item label="调查结果" prop="contentedFlag">
<el-select v-model="queryParams.contentedFlag" placeholder="请选择调查结果" clearable style="width: 220px"> <el-select
<el-option v-for="item in contentedFlaglist" :key="item.value" :label="item.label" :value="item.value"> 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-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="通话状态" prop="phoneNodeExecuteResultStatus"> <el-form-item label="通话状态" prop="phoneNodeExecuteResultStatus">
<el-select v-model="queryParams.phoneNodeExecuteResultStatus" placeholder="请选择通话状态" clearable <el-select
style="width: 220px"> v-model="queryParams.phoneNodeExecuteResultStatus"
<el-option v-for="item in SUCCESSlist" :key="item.value" :label="item.label" :value="item.value"> placeholder="请选择通话状态"
clearable
style="width: 220px"
>
<el-option
v-for="item in SUCCESSlist"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</SearchFilter> </SearchFilter>
</div> </div>
<div ref="table"> <div ref="table">
<el-table :max-height="maxTableHeight" v-loading="loading" :data="patientInfoList" <el-table
@selection-change="handleSelectionChange"> :max-height="maxTableHeight"
v-loading="loading"
:data="patientInfoList"
@selection-change="handleSelectionChange"
>
<!-- <el-table-column type="selection" width="55" /> --> <!-- <el-table-column type="selection" width="55" /> -->
<el-table-column label="序号" type="index" width="48" align="center" /> <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="sn" width="150" />
<el-table-column label="患者姓名" align="center" prop="patientName" width="120" /> <el-table-column
<el-table-column label="患者电话" align="center" prop="patientPhone" width="120" /> label="患者姓名"
<el-table-column label="执行时间" align="center" prop="nodePlanTime" width="120" /> align="center"
<el-table-column label="路径名称" align="center" prop="manageRouteName" width="120" /> prop="patientName"
<el-table-column label="问卷模板名称" align="center" prop="questionnaireName" width="120" /> 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
<el-table-column label="科室名称" align="center" prop="departmentName" width="120" /> label="患者电话"
<el-table-column label="执行状态" align="center" prop="nodeExecuteStatus" width="120"> 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"> <template slot-scope="scope">
<span style="color: #67c23a"> <span style="color: #67c23a">
{{ scope.row.nodeExecuteStatus == "EXECUTED" ? "已执行" : "" }} {{ scope.row.nodeExecuteStatus == "EXECUTED" ? "已执行" : "" }}
@ -99,101 +259,221 @@
</span> </span>
</template> </template>
</el-table-column> </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"> <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>
<span style="color: #f56c6c" v-else> <span style="color: #f56c6c" v-else> 未接通 </span>
未接通
</span>
<!-- {{scope.row.phoneNodeExecuteResultStatus == "SUCCESS" ? "已接通" : "未接通"}} --> <!-- {{scope.row.phoneNodeExecuteResultStatus == "SUCCESS" ? "已接通" : "未接通"}} -->
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="反馈意见" align="center" prop="fillBlanksAnswer" width="150" <el-table-column
:show-overflow-tooltip="true" /> 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="visitDate" width="150" /> -->
<el-table-column label="调查结果" align="center" prop="contentedFlag" /> <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"> <template slot-scope="scope">
<el-button <el-button
v-if=" v-if="
((scope.row.phoneDialMethod == 'AI' && scope.row.nodeExecuteStatus == 'EXECUTED') || (scope.row.phoneDialMethod == 'COMMON' && scope.row.nodeExecuteStatus == 'EXECUTED')) && scope.row.phoneNodeExecuteResultStatus == 'SUCCESS'" ((scope.row.phoneDialMethod == 'AI' &&
size="mini" type="text" @click="playback(scope.row)" icon="el-icon-headset">回放</el-button> 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 <el-button
v-if="scope.row.nodeExecuteStatus == 'EXECUTED' && scope.row.taskNodeType == 'QUESTIONNAIRE_SCALE'" v-if="
size="mini" type="text" icon="el-icon-notebook-2" @click="questionlook(scope.row)">问卷查看</el-button> 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> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
</div> </div>
<!-- <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" <!-- <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize" @pagination="getList" /> --> :limit.sync="queryParams.pageSize" @pagination="getList" /> -->
<myPagination v-show="total > 0" :total="total" :pageSize="queryParams.pageSize" <myPagination
:indexFromWrap="queryParams.pageNum" @updateCPage="updateCPage"></myPagination> v-show="total > 0"
:total="total"
:pageSize="queryParams.pageSize"
:indexFromWrap="queryParams.pageNum"
@updateCPage="updateCPage"
></myPagination>
<el-dialog title="问卷查看" :visible.sync="questionshow" width="40%"> <el-dialog title="问卷查看" :visible.sync="questionshow" width="40%">
<div class="bottomheaderdata"> <div class="bottomheaderdata">
<div class="right"> <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 }} 总分{{ questiondata.totalScore }}
</div> </div> -->
<div class="words" v-for="(item, index) in questiondata.subjectResultList" :key="index"> <div
class="words"
v-for="(item, index) in questiondata.subjectResultList"
:key="index"
>
{{ index + 1 }}.{{ item.questionName }} {{ index + 1 }}.{{ item.questionName }}
<span v-if="item.questionType == 'MULTIPLE_CHOICE'">单选题</span> <span v-if="item.questionType == 'MULTIPLE_CHOICE'"
<span v-if="item.questionType == 'MULTIPLE_CHOICE_QUESTIONS'">多选题</span> >单选题</span
<span v-if="item.questionType == 'SCORING_QUESTIONS'">打分题</span> >
<span v-if="item.questionType == 'COMBINATION_RADIO_SUBJECT'">组合单选题</span> <span v-if="item.questionType == 'MULTIPLE_CHOICE_QUESTIONS'"
<span v-if="item.questionType == 'COMBINATION_MULTIPLE_SUBJECT'">组合多选题</span> >多选题</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 == 'SCORING_QUESTIONS'"
<span v-if="item.questionType == 'COMBINATION_SCORING_SUBJECT'">组合打分题</span> >打分题</span
<span v-if="item.questionType == 'DATE_BLANKS_SUBJECT'">日期填空题</span> >
<span v-if="item.questionType == 'TIME_BLANKS_SUBJECT'">时间填空题</span> <span v-if="item.questionType == 'COMBINATION_RADIO_SUBJECT'"
<span v-if="item.questionType == 'FEEDBACK_BLANKS_SUBJECT'">反馈填空题</span> >组合单选题</span
<el-radio-group v-if=" >
<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 == 'MULTIPLE_CHOICE' ||
item.questionType == 'COMBINATION_RADIO_SUBJECT' || item.questionType == 'COMBINATION_RADIO_SUBJECT' ||
item.questionType == 'SCORING_QUESTIONS' || item.questionType == 'SCORING_QUESTIONS' ||
item.questionType == 'COMBINATION_SCORING_SUBJECT'" v-model="item.checked" class="custom-radio-group" item.questionType == 'COMBINATION_SCORING_SUBJECT'
@change="radioGroupChange($event, item)"> "
<el-radio disabled class="custom" v-for="(aitem, aindex) in item.optionResults" :key="aindex" v-model="item.checked"
:label="aitem.id" @change="radioChange($event, aitem, index)"> 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 }} {{ aitem.optionName }}
</el-radio> </el-radio>
</el-radio-group> </el-radio-group>
<el-checkbox-group v-model="checkeddata" @change="radioGroupChange($event, item, 'checkbox')" v-if=" <el-checkbox-group
v-model="checkeddata"
@change="radioGroupChange($event, item, 'checkbox')"
v-if="
item.questionType == 'MULTIPLE_CHOICE_QUESTIONS' || item.questionType == 'MULTIPLE_CHOICE_QUESTIONS' ||
item.questionType == 'COMBINATION_MULTIPLE_SUBJECT'"> 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
disabled
v-for="(aitem, aindex) in item.optionResults"
:key="aindex"
:label="aitem.id"
@change="radioChangecheck($event, aitem, index, aindex)"
>
{{ aitem.optionName }} {{ aitem.optionName }}
</el-checkbox> </el-checkbox>
</el-checkbox-group> </el-checkbox-group>
<div v-if=" <div
v-if="
item.questionType == 'FILL_IN_THE_BLANKS' || item.questionType == 'FILL_IN_THE_BLANKS' ||
item.questionType == 'COMBINATION_BLANKS_SUBJECT' || item.questionType == 'COMBINATION_BLANKS_SUBJECT' ||
item.questionType == 'FEEDBACK_BLANKS_SUBJECT'" class="tk"> item.questionType == 'FEEDBACK_BLANKS_SUBJECT'
<el-input disabled v-model="item.fillBlanksAnswer" placeholder="请输入答案" type="textarea" /> "
class="tk"
>
<el-input
disabled
v-model="item.fillBlanksAnswer"
placeholder="请输入答案"
type="textarea"
/>
</div> </div>
<div v-if="item.questionType == 'DATE_BLANKS_SUBJECT'" style="margin: 20px 0 10px 30px"> <div
<el-date-picker disabled @change="timepicker($event, index)" clearable v-model="item.fillBlanksAnswer" v-if="item.questionType == 'DATE_BLANKS_SUBJECT'"
type="date" value-format="yyyy-MM-dd" placeholder="选择日期"> 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> </el-date-picker>
</div> </div>
<div style="margin: 20px 0 10px 30px" v-if="item.questionType == 'TIME_BLANKS_SUBJECT'"> <div
<el-time-select disabled @change="timepickerselect($event, index)" clearable style="margin: 20px 0 10px 30px"
v-model="item.fillBlanksAnswer" :picker-options="{ 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', start: '08:30',
step: '00:30', step: '00:30',
end: '23:30', end: '23:30',
}" placeholder="选择时间"> }"
placeholder="选择时间"
>
</el-time-select> </el-time-select>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</el-dialog> </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 class="audio">
<div style="display: flex"> <div style="display: flex">
<span class="name">姓名:{{ patientName }}</span> <span class="name">姓名:{{ patientName }}</span>
@ -220,13 +500,14 @@
</template> </template>
<script> <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 { import {
getPhoneDialVideo, uploadRobotPublishRecord,
} from "@/api/system/followup"; 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"; import sn from "../components/sn";
export default { export default {
name: "visitout", name: "visitout",
@ -244,7 +525,6 @@ export default {
value: "FAILURE", value: "FAILURE",
label: "未接通", label: "未接通",
}, },
], ],
// //
nodeExecutList: [ nodeExecutList: [
@ -267,7 +547,6 @@ export default {
value: "ACTUAL_TIME_TASK", value: "ACTUAL_TIME_TASK",
label: "单通电话", label: "单通电话",
}, },
], ],
// //
contentedFlaglist: [ contentedFlaglist: [
@ -279,7 +558,6 @@ export default {
value: "DISCONTENTED", value: "DISCONTENTED",
label: "不满意", label: "不满意",
}, },
], ],
// //
audiourl: undefined, audiourl: undefined,
@ -300,7 +578,6 @@ export default {
formlist: [], formlist: [],
patientName: null, patientName: null,
// //
questionnaireList: [], questionnaireList: [],
//list //list
@ -333,7 +610,7 @@ export default {
// //
uploadopen: false, uploadopen: false,
// //
dischargeTime: [],// dischargeTime: [], //
queryParams: { queryParams: {
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
@ -346,7 +623,7 @@ export default {
hospitalAgencyId: null, hospitalAgencyId: null,
departmentId: null, departmentId: null,
questionInfoId: null, questionInfoId: null,
nodeExecuteStatus: '', nodeExecuteStatus: "",
taskExcuteType: null, taskExcuteType: null,
contentedFlag: null, contentedFlag: null,
phoneNodeExecuteResultStatus: null, phoneNodeExecuteResultStatus: null,
@ -354,13 +631,16 @@ export default {
}, },
show: false, show: false,
options: [{ options: [
value: 'PHONE_OUTBOUND', {
label: '电话外呼' value: "PHONE_OUTBOUND",
}, { label: "电话外呼",
value: 'QUESTIONNAIRE_SCALE', },
label: '问卷量表' {
}], value: "QUESTIONNAIRE_SCALE",
label: "问卷量表",
},
],
// //
form: {}, form: {},
// //
@ -369,12 +649,10 @@ export default {
}, },
created() { created() {
this.selectAgencyinfo(); this.selectAgencyinfo();
this.getDefaultDateRange() this.getDefaultDateRange();
this.getList(); this.getList();
this.getQuestion(); this.getQuestion();
console.log(this.queryParams, 'queryParams11111111') console.log(this.queryParams, "queryParams11111111");
}, },
mounted() { mounted() {
this.getMaxTableHeight(); this.getMaxTableHeight();
@ -394,8 +672,8 @@ export default {
}, },
// //
async playback(row) { async playback(row) {
console.log(row, 'row') console.log(row, "row");
this.patientName = row.patientName this.patientName = row.patientName;
// await this.$confirm("?", "", { // await this.$confirm("?", "", {
// confirmButtonText: "", // confirmButtonText: "",
// cancelButtonText: "", // cancelButtonText: "",
@ -404,7 +682,8 @@ export default {
getPhoneDialVideo(row.manageRouteNodeId).then((res) => { getPhoneDialVideo(row.manageRouteNodeId).then((res) => {
console.log(res, "res"); console.log(res, "res");
this.audioshow = true; 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; this.formlist = res.data.record;
setTimeout(() => { setTimeout(() => {
this.$refs.audioPlayer.load(); // this.$refs.audioPlayer.load(); //
@ -421,8 +700,8 @@ export default {
// e.optionResults.reverse() // e.optionResults.reverse()
// }); // });
this.questiondata = res.data this.questiondata = res.data;
console.log(this.questiondata, ' this.questiondata') console.log(this.questiondata, " this.questiondata");
this.questiondata.subjectResultList.forEach((e) => { this.questiondata.subjectResultList.forEach((e) => {
// if(e.whetherScore==1){ // if(e.whetherScore==1){
// e.optionResults.forEach((el) => { // e.optionResults.forEach((el) => {
@ -475,14 +754,14 @@ export default {
}, },
formatDate(date) { formatDate(date) {
const year = date.getFullYear(); const year = date.getFullYear();
const month = String(date.getMonth() + 1).padStart(2, '0'); // 01 const month = String(date.getMonth() + 1).padStart(2, "0"); // 01
const day = String(date.getDate()).padStart(2, '0'); const day = String(date.getDate()).padStart(2, "0");
return `${year}-${month}-${day}`; return `${year}-${month}-${day}`;
}, },
getQuestion() { getQuestion() {
selectQuestionInfoList().then(response => { selectQuestionInfoList().then((response) => {
this.questionnaireList = response this.questionnaireList = response;
}) });
}, },
/** 查询患者信息列表 */ /** 查询患者信息列表 */
getList() { getList() {
@ -507,7 +786,6 @@ export default {
// } // }
// }) // })
this.patientInfoList = response.rows; this.patientInfoList = response.rows;
this.total = response.total; this.total = response.total;
this.loading = false; this.loading = false;
@ -519,20 +797,16 @@ export default {
if (this.show == true) { if (this.show == true) {
this.queryParams.startTime = this.formatDate(this.dischargeTime[0]); this.queryParams.startTime = this.formatDate(this.dischargeTime[0]);
this.queryParams.endTime = this.formatDate(this.dischargeTime[1]); this.queryParams.endTime = this.formatDate(this.dischargeTime[1]);
} else if (this.show == false) { } else if (this.show == false) {
this.queryParams.startTime = this.dischargeTime[0]; this.queryParams.startTime = this.dischargeTime[0];
this.queryParams.endTime = this.dischargeTime[1]; this.queryParams.endTime = this.dischargeTime[1];
} }
} else {
}
else {
this.queryParams.startTime = null; this.queryParams.startTime = null;
this.queryParams.endTime = null; this.queryParams.endTime = null;
} }
this.queryParams.pageNum = 1; this.queryParams.pageNum = 1;
this.query = this.queryParams this.query = this.queryParams;
this.getList(); this.getList();
}, },
/** 重置按钮操作 */ /** 重置按钮操作 */
@ -584,7 +858,6 @@ export default {
this.getAgencyListinfo("HOSPITAL", id); this.getAgencyListinfo("HOSPITAL", id);
this.queryParams.departmentId = null; this.queryParams.departmentId = null;
// }) // })
}, },
// //
clearhospitalAgency() { clearhospitalAgency() {
@ -623,7 +896,7 @@ export default {
selectAgencyList(query).then((res) => { selectAgencyList(query).then((res) => {
this.hospitalAgencylist = res.data; this.hospitalAgencylist = res.data;
if (this.hospitalAgencylist.length == 1) { 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); this.getAgencyListinfo("HOSPITAL", this.hospitalAgencylist[0].id);
} }
}); });
@ -631,15 +904,12 @@ export default {
// //
messageontemplateword(item) { messageontemplateword(item) {
console.log(item, 'sn'); console.log(item, "sn");
this.queryParams.sn = item.sn; this.queryParams.sn = item.sn;
}, },
// //
handdatile(row) { handdatile(row) {},
},
// //
getMaxTableHeight() { getMaxTableHeight() {
const windowInnerHeight = window.innerHeight; // const windowInnerHeight = window.innerHeight; //
@ -683,7 +953,7 @@ export default {
border-color: #1890ff !important; 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; color: black !important;
} }
@ -709,7 +979,7 @@ export default {
background-color: #1890ff !important; 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; color: black !important;
} }
@ -746,7 +1016,7 @@ export default {
.name { .name {
display: inline-block; display: inline-block;
margin: 20px margin: 20px;
} }
.imagelist { .imagelist {
@ -856,7 +1126,6 @@ audio {
} }
} }
.custom-radio-group { .custom-radio-group {
display: flex; display: flex;
flex-direction: column; flex-direction: column;

View File

@ -230,9 +230,14 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="随访方式" prop="phoneDialMethod" v-if=" <el-form-item
queryParams.taskNodeType == 'PHONE_OUTBOUND' || queryParams.taskNodeType == 'QUESTIONNAIRE_SCALE' label="随访方式"
"> prop="phoneDialMethod"
v-if="
queryParams.taskNodeType == 'PHONE_OUTBOUND' ||
queryParams.taskNodeType == 'QUESTIONNAIRE_SCALE'
"
>
<el-select <el-select
style="width: 220px" style="width: 220px"
v-model="queryParams.phoneDialMethod" v-model="queryParams.phoneDialMethod"
@ -248,12 +253,7 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="" prop=""> <el-form-item label="" prop="">
<span <span style="" v-if="showUNEXECUTED && foldshow == true">
style=""
v-if="
showUNEXECUTED && foldshow == true
"
>
<el-switch <el-switch
class="switchStyle" class="switchStyle"
v-model="timeSignshow" v-model="timeSignshow"
@ -283,10 +283,17 @@
</div> </div>
<div ref="mb8" class="mb8"> <div ref="mb8" class="mb8">
<el-row :gutter="10" class=""> <el-row :gutter="10" class="">
<el-col :span="1.5"> <el-col :span="1.5">
<el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete" <el-button
v-hasPermi="['manage:preHospitalized:remove']">删除</el-button> type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['manage:preHospitalized:remove']"
>删除</el-button
>
</el-col> </el-col>
</el-row> </el-row>
</div> </div>
@ -297,8 +304,19 @@
:data="taskExecuteRecordList" :data="taskExecuteRecordList"
@selection-change="handleSelectionChange" @selection-change="handleSelectionChange"
> >
<el-table-column type="selection" width="35" align="center" v-if="showUNEXECUTED"/> <el-table-column
<el-table-column label="序号" type="index" width="48" align="center" key="xh"/> type="selection"
width="35"
align="center"
v-if="showUNEXECUTED"
/>
<el-table-column
label="序号"
type="index"
width="48"
align="center"
key="xh"
/>
<el-table-column <el-table-column
label="姓名" label="姓名"
align="center" align="center"
@ -313,7 +331,6 @@
prop="patientPhone" prop="patientPhone"
width="110" width="110"
key="patientPhone" key="patientPhone"
/> />
<el-table-column <el-table-column
label="性别" label="性别"
@ -321,7 +338,6 @@
prop="visitSerialNumber" prop="visitSerialNumber"
width="48" width="48"
key="visitSerialNumber" key="visitSerialNumber"
> >
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row.sex == "MALE" ? "男" : "" }} {{ scope.row.sex == "MALE" ? "男" : "" }}
@ -329,7 +345,12 @@
</template> </template>
</el-table-column> </el-table-column>
<!-- prop="hospitalAgencyName" --> <!-- prop="hospitalAgencyName" -->
<el-table-column label="医院/院区" align="center" width="105" key="hospitalAgencyName"> <el-table-column
label="医院/院区"
align="center"
width="105"
key="hospitalAgencyName"
>
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row.hospitalAgencyName }} {{ scope.row.hospitalAgencyName }}
{{ scope.row.campusAgencyName }} {{ scope.row.campusAgencyName }}
@ -378,7 +399,13 @@
:show-overflow-tooltip="true" :show-overflow-tooltip="true"
key="mainDiagnosis" key="mainDiagnosis"
/> />
<el-table-column label="手术名称" align="center" prop="surgicalName" width="100" key="surgicalName"/> <el-table-column
label="手术名称"
align="center"
prop="surgicalName"
width="100"
key="surgicalName"
/>
<el-table-column <el-table-column
label="主治医生" label="主治医生"
align="center" align="center"
@ -387,7 +414,12 @@
key="attendingPhysicianName" key="attendingPhysicianName"
:show-overflow-tooltip="true" :show-overflow-tooltip="true"
/> />
<el-table-column label="就诊方式" align="center" prop="visitMethod" key="visitMethod"> <el-table-column
label="就诊方式"
align="center"
prop="visitMethod"
key="visitMethod"
>
<template slot-scope="scope"> <template slot-scope="scope">
<span> <span>
{{ scope.row.visitMethod == "OUTPATIENT_SERVICE" ? "门诊" : "" }} {{ scope.row.visitMethod == "OUTPATIENT_SERVICE" ? "门诊" : "" }}
@ -552,7 +584,11 @@
> >
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
v-if="showUNEXECUTED && (scope.row.taskNodeType == 'PHONE_OUTBOUND' || scope.row.taskNodeType == 'QUESTIONNAIRE_SCALE') " v-if="
showUNEXECUTED &&
(scope.row.taskNodeType == 'PHONE_OUTBOUND' ||
scope.row.taskNodeType == 'QUESTIONNAIRE_SCALE')
"
size="mini" size="mini"
type="text" type="text"
icon="el-icon-bank-card" icon="el-icon-bank-card"
@ -569,20 +605,35 @@
> >
<!-- && scope.row.taskNodeType == 'PHONE_OUTBOUND' --> <!-- && scope.row.taskNodeType == 'PHONE_OUTBOUND' -->
<el-button <el-button
v-if="(AItrue || COMMONtrue) && scope.row.phoneNodeExecuteResultStatus=='SUCCESS'" v-if="
(AItrue || COMMONtrue) &&
scope.row.phoneNodeExecuteResultStatus == 'SUCCESS'
"
size="mini" size="mini"
type="text" type="text"
@click="playback(scope.row)" @click="playback(scope.row)"
icon="el-icon-headset" icon="el-icon-headset"
>回放</el-button >回放</el-button
> >
<div v-else-if="(AItrue || COMMONtrue) &&scope.row.phoneNodeExecuteResultStatus=='FAILURE'"> <div
v-else-if="
(AItrue || COMMONtrue) &&
scope.row.phoneNodeExecuteResultStatus == 'FAILURE'
"
>
未接通 未接通
</div> </div>
<div v-else-if="(AItrue || COMMONtrue) && scope.row.phoneNodeExecuteResultStatus=='EXPIRED'"> <div
v-else-if="
(AItrue || COMMONtrue) &&
scope.row.phoneNodeExecuteResultStatus == 'EXPIRED'
"
>
超期 超期
</div> </div>
<div v-else-if="(AItrue || COMMONtrue)">{{scope.row.phoneNodeExecuteResultStatus}}</div> <div v-else-if="AItrue || COMMONtrue">
{{ scope.row.phoneNodeExecuteResultStatus }}
</div>
<el-button <el-button
v-if=" v-if="
@ -597,8 +648,7 @@
> >
<el-button <el-button
v-if=" v-if="
EXECUTEDshow && EXECUTEDshow && scope.row.taskNodeType == 'QUESTIONNAIRE_SCALE'
scope.row.taskNodeType == 'QUESTIONNAIRE_SCALE'
" "
size="mini" size="mini"
type="text" type="text"
@ -614,7 +664,11 @@
@click="handleadtail(scope.row)" @click="handleadtail(scope.row)"
>详情</el-button >详情</el-button
> >
<el-button size="mini" type="text" @click="handleDelete(scope.row)" v-if="showUNEXECUTED" <el-button
size="mini"
type="text"
@click="handleDelete(scope.row)"
v-if="showUNEXECUTED"
>删除</el-button >删除</el-button
> >
</template> </template>
@ -662,7 +716,7 @@
<el-dialog title="问卷查看" :visible.sync="questionshow" width="40%"> <el-dialog title="问卷查看" :visible.sync="questionshow" width="40%">
<div class="bottomheader"> <div class="bottomheader">
<div class="right"> <div class="right">
<div class="title" v-if="questiondata.totalScore || questiondata.totalScore ==0">总分{{ questiondata.totalScore }}</div> <!-- <div class="title" v-if="questiondata.totalScore || questiondata.totalScore ==0">总分{{ questiondata.totalScore }}</div> -->
<div <div
class="words" class="words"
v-for="(item, index) in questiondata.subjectResultList" v-for="(item, index) in questiondata.subjectResultList"
@ -795,25 +849,21 @@
</div> </div>
</el-dialog> </el-dialog>
</div> </div>
</template> </template>
<script> <script>
import { import {
manualFollowUpList, manualFollowUpList,
createActualTimeTask, createActualTimeTask,
getPhoneDialVideo, getPhoneDialVideo,
} from "@/api/system/followup"; } from "@/api/system/followup";
import { import { taskManagement, batchDeleteTask } from "@/api/manage/taskmanagement";
taskManagement,
batchDeleteTask import { usergetList } from "@/api/unitconfig/patientConfiguration";
} from "@/api/manage/taskmanagement"; import { getAge } from "@/utils/age";
import { selectAgencyList, getAgencyList } from "@/api/manage/selectAgencyList";
import { usergetList } from "@/api/unitconfig/patientConfiguration"; import SearchFilter from "../../components/SearchForm.vue";
import { getAge } from "@/utils/age"; import { selectPatientQuestionSubmit } from "@/api/system/taskExecuteRecord";
import { selectAgencyList, getAgencyList } from "@/api/manage/selectAgencyList"; export default {
import SearchFilter from "../../components/SearchForm.vue";
import { selectPatientQuestionSubmit } from "@/api/system/taskExecuteRecord";
export default {
name: "Followup22", name: "Followup22",
dicts: ["visit_method"], dicts: ["visit_method"],
components: { SearchFilter }, components: { SearchFilter },
@ -865,8 +915,8 @@
// //
timeSignshow: false, timeSignshow: false,
phoneDialMethodshow: false, phoneDialMethodshow: false,
showUNEXECUTED:true,// showUNEXECUTED: true, //
EXECUTEDshow:false,// EXECUTEDshow: false, //
queryParams: { queryParams: {
pageNum: 1, pageNum: 1,
@ -903,7 +953,7 @@
departmentId: null, departmentId: null,
wardId: null, wardId: null,
}, },
patientName:null, patientName: null,
// //
form: {}, form: {},
visitoptions: [ visitoptions: [
@ -921,7 +971,7 @@
}, },
], ],
// //
nodeExecuteStatusdata:[ nodeExecuteStatusdata: [
{ {
value: "UNEXECUTED", value: "UNEXECUTED",
label: "未执行", label: "未执行",
@ -930,10 +980,9 @@
value: "EXECUTED", value: "EXECUTED",
label: "已执行", label: "已执行",
}, },
], ],
// //
taskNodeTypeDATA:[ taskNodeTypeDATA: [
{ {
value: "PHONE_OUTBOUND", value: "PHONE_OUTBOUND",
label: "电话外呼", label: "电话外呼",
@ -952,7 +1001,7 @@
}, },
], ],
// 访 // 访
phoneDialMethodDATA:[ phoneDialMethodDATA: [
{ {
value: "ALL", value: "ALL",
label: "全部", label: "全部",
@ -965,7 +1014,6 @@
value: "COMMON", value: "COMMON",
label: "人工随访电话", label: "人工随访电话",
}, },
], ],
// //
// rules: { // rules: {
@ -1002,7 +1050,7 @@
async questionlook(row) { async questionlook(row) {
// this.totalScoredata=0, // this.totalScoredata=0,
await selectPatientQuestionSubmit(row.taskExecuteRecordId).then((res) => { await selectPatientQuestionSubmit(row.taskExecuteRecordId).then((res) => {
if(res.data){ if (res.data) {
this.questiondata = res.data; this.questiondata = res.data;
this.questiondata?.subjectResultList.forEach((e) => { this.questiondata?.subjectResultList.forEach((e) => {
// if(e.whetherScore==1){ // if(e.whetherScore==1){
@ -1038,23 +1086,19 @@
}); });
}); });
this.questionshow = true; this.questionshow = true;
} else {
}else{
this.$message.error("未查到问卷提交信息"); this.$message.error("未查到问卷提交信息");
} }
}); });
}, },
// //
changetaskNodeType(e){ changetaskNodeType(e) {
console.log(e,'e') console.log(e, "e");
if(e=='PHONE_OUTBOUND'){ if (e == "PHONE_OUTBOUND") {
this.queryParams.phoneDialMethod="ALL" this.queryParams.phoneDialMethod = "ALL";
}else if(e=='QUESTIONNAIRE_SCALE'){ } else if (e == "QUESTIONNAIRE_SCALE") {
this.queryParams.phoneDialMethod="ALL" this.queryParams.phoneDialMethod = "ALL";
} }
}, },
audiohandleClose() { audiohandleClose() {
this.$refs.audioPlayer.pause(); this.$refs.audioPlayer.pause();
@ -1062,8 +1106,8 @@
this.audiourl = null; this.audiourl = null;
}, },
async playback(row) { async playback(row) {
console.log(row,'row') console.log(row, "row");
this.patientName=row.patientName this.patientName = row.patientName;
// await this.$confirm("?", "", { // await this.$confirm("?", "", {
// confirmButtonText: "", // confirmButtonText: "",
// cancelButtonText: "", // cancelButtonText: "",
@ -1072,22 +1116,19 @@
getPhoneDialVideo(row.manageRouteNodeId).then((res) => { getPhoneDialVideo(row.manageRouteNodeId).then((res) => {
console.log(res, "res"); console.log(res, "res");
if(res.data.record){ if (res.data.record) {
this.audioshow = true; 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; this.formlist = res.data.record;
setTimeout(() => { setTimeout(() => {
this.$refs.audioPlayer.load(); // this.$refs.audioPlayer.load(); //
// this.$refs.audioPlayer.play(); // this.$refs.audioPlayer.play();
// }, 1000); // }, 1000);
}); });
} else {
}else{
this.$message.error("未查到回放信息"); this.$message.error("未查到回放信息");
} }
}); });
}, },
Outbound(row) { Outbound(row) {
@ -1392,16 +1433,19 @@
}, },
/** 搜索按钮操作 */ /** 搜索按钮操作 */
handleQuery() { handleQuery() {
if(this.queryParams.nodeExecuteStatus=='UNEXECUTED'){ if (this.queryParams.nodeExecuteStatus == "UNEXECUTED") {
this.showUNEXECUTED=true this.showUNEXECUTED = true;
this.EXECUTEDshow=false this.EXECUTEDshow = false;
}else{ } else {
this.EXECUTEDshow=true this.EXECUTEDshow = true;
this.showUNEXECUTED=false this.showUNEXECUTED = false;
} }
this.queryParams.pageNum = 1; this.queryParams.pageNum = 1;
if(this.queryParams.taskNodeType=='PROPAGANDA_ARTICLE' || this.queryParams.taskNodeType=='TEXT_REMIND' ){ if (
this.queryParams.phoneDialMethod="" this.queryParams.taskNodeType == "PROPAGANDA_ARTICLE" ||
this.queryParams.taskNodeType == "TEXT_REMIND"
) {
this.queryParams.phoneDialMethod = "";
} }
this.getList(); this.getList();
}, },
@ -1446,7 +1490,7 @@
}; };
this.timeSignshow = false; this.timeSignshow = false;
this.phoneDialMethodshow = false; this.phoneDialMethodshow = false;
this.showUNEXECUTED=true; this.showUNEXECUTED = true;
// } // }
// else { // else {
@ -1491,7 +1535,6 @@
}, },
// //
handleSelectionChange(selection) { handleSelectionChange(selection) {
this.ids = selection.map((item) => item.manageRouteNodeId); this.ids = selection.map((item) => item.manageRouteNodeId);
this.single = selection.length !== 1; this.single = selection.length !== 1;
this.multiple = !selection.length; this.multiple = !selection.length;
@ -1522,7 +1565,7 @@
address: row.address, address: row.address,
patientSource: row.patientSource, patientSource: row.patientSource,
createTime: row.createTime, createTime: row.createTime,
age: row.birthDate ? getAge(row.birthDate) :row.age, age: row.birthDate ? getAge(row.birthDate) : row.age,
manageRouteId: row.manageRouteId, manageRouteId: row.manageRouteId,
manageRouteNodeId: row.manageRouteNodeId, manageRouteNodeId: row.manageRouteNodeId,
visitRecordId: row.visitRecordId, visitRecordId: row.visitRecordId,
@ -1556,20 +1599,16 @@
}, },
/** 删除按钮操作 */ /** 删除按钮操作 */
handleDelete(row) { handleDelete(row) {
console.log(row.manageRouteNodeId) console.log(row.manageRouteNodeId);
var ids=[] var ids = [];
if(row.manageRouteNodeId){ if (row.manageRouteNodeId) {
ids.push(row.manageRouteNodeId) ids.push(row.manageRouteNodeId);
} else if (this.ids) {
}else if(this.ids){ ids = this.ids;
ids=this.ids
} }
// const ids = row.manageRouteNodeId || this.ids; // const ids = row.manageRouteNodeId || this.ids;
this.$modal this.$modal
.confirm( .confirm("是否确认删除?")
'是否确认删除?'
)
.then(function () { .then(function () {
return batchDeleteTask(ids); return batchDeleteTask(ids);
}) })
@ -1614,76 +1653,76 @@
]); ]);
}, },
}, },
}; };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
::v-deep .el-input.is-disabled .el-input__inner { ::v-deep .el-input.is-disabled .el-input__inner {
background-color: #fff !important; background-color: #fff !important;
color: black !important; color: black !important;
} }
::v-deep .el-textarea.is-disabled .el-textarea__inner { ::v-deep .el-textarea.is-disabled .el-textarea__inner {
background-color: #fff !important; background-color: #fff !important;
color: black !important; color: black !important;
} }
::v-deep .el-checkbox__input.is-disabled.is-checked .el-checkbox__inner { ::v-deep .el-checkbox__input.is-disabled.is-checked .el-checkbox__inner {
border: 1px solid #dcdfe6 !important; border: 1px solid #dcdfe6 !important;
border-color: #1890ff !important; 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; color: black !important;
} }
::v-deep .el-checkbox__input.is-disabled.is-checked .el-checkbox__inner::after { ::v-deep .el-checkbox__input.is-disabled.is-checked .el-checkbox__inner::after {
border-color: #1890ff !important; border-color: #1890ff !important;
} }
::v-deep .el-checkbox__input.is-disabled .el-checkbox__inner { ::v-deep .el-checkbox__input.is-disabled .el-checkbox__inner {
background-color: #fff !important; background-color: #fff !important;
} }
::v-deep .el-radio__input.is-disabled .el-radio__inner { ::v-deep .el-radio__input.is-disabled .el-radio__inner {
border: 1px solid #dcdfe6 !important; border: 1px solid #dcdfe6 !important;
background-color: #fff !important; background-color: #fff !important;
} }
::v-deep .el-radio__input.is-disabled.is-checked .el-radio__inner { ::v-deep .el-radio__input.is-disabled.is-checked .el-radio__inner {
border-color: #1890ff !important; border-color: #1890ff !important;
} }
::v-deep .el-radio__input.is-disabled.is-checked .el-radio__inner::after { ::v-deep .el-radio__input.is-disabled.is-checked .el-radio__inner::after {
color: #1890ff !important; color: #1890ff !important;
background-color: #1890ff !important; 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; color: black !important;
} }
.tk { .tk {
::v-deep .el-textarea__inner { ::v-deep .el-textarea__inner {
margin: 20px 0 10px 30px; margin: 20px 0 10px 30px;
} }
} }
::v-deep .el-radio { ::v-deep .el-radio {
padding: 10px; padding: 10px;
} }
::v-deep .el-checkbox-group { ::v-deep .el-checkbox-group {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
padding: 10px 0px 10px 24px; padding: 10px 0px 10px 24px;
} }
::v-deep .el-checkbox { ::v-deep .el-checkbox {
padding: 10px 0 10px 0px; padding: 10px 0 10px 0px;
// padding: 10px; // padding: 10px;
} }
.custom-radio-group { .custom-radio-group {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
padding: 10px 0 10px 10px; padding: 10px 0 10px 10px;
@ -1691,9 +1730,9 @@
.custom { .custom {
padding: 10px 0 10px 10px; padding: 10px 0 10px 10px;
} }
} }
.custom-radio-group { .custom-radio-group {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
padding: 10px 0 10px 10px; padding: 10px 0 10px 10px;
@ -1701,14 +1740,14 @@
.custom { .custom {
padding: 10px 0 10px 10px; padding: 10px 0 10px 10px;
} }
} }
.right { .right {
width: 100%; width: 100%;
// background: yellow; // background: yellow;
} }
.bottomheader { .bottomheader {
width: 99%; width: 99%;
background-color: #fff; background-color: #fff;
margin: 0 auto; margin: 0 auto;
@ -1723,13 +1762,13 @@
font-size: 15px; font-size: 15px;
padding: 10px 50px 10px 10px; padding: 10px 50px 10px 10px;
} }
} }
.audio { .audio {
margin: 10px 0px 10px 0; margin: 10px 0px 10px 0;
.name { .name {
display: inline-block; display: inline-block;
margin: 20px margin: 20px;
} }
.imagelist { .imagelist {
@ -1794,52 +1833,52 @@
color: #dcdfe6; color: #dcdfe6;
} }
} }
} }
audio { audio {
width: 350px; width: 350px;
} }
::v-deep .el-table { ::v-deep .el-table {
overflow: auto; overflow: auto;
} }
.app-container { .app-container {
// padding-top: 0 !important; // padding-top: 0 !important;
} }
::v-deep.el-table { ::v-deep.el-table {
.el-table-column--selection .cell { .el-table-column--selection .cell {
text-overflow: clip !important; text-overflow: clip !important;
padding-left: 6px !important; padding-left: 6px !important;
padding-right: 3px !important; padding-right: 3px !important;
} }
} }
// :deep(.el-switch) { // :deep(.el-switch) {
// position: relative; // position: relative;
// user-select: none; // user-select: none;
// .el-switch__core { // .el-switch__core {
// width: 45px !important; // width: 45px !important;
// } // }
// &.is-checked .el-switch__label { // &.is-checked .el-switch__label {
// position: absolute; // position: absolute;
// top: 0px; // top: 0px;
// left: -3px; // left: -3px;
// color: #fff; // color: #fff;
// } // }
// .el-switch__label { // .el-switch__label {
// position: absolute; // position: absolute;
// top: 0px; // top: 0px;
// left: 10px; // left: 10px;
// color: #fff; // color: #fff;
// } // }
// } // }
::v-deep .el-switch { ::v-deep .el-switch {
.el-switch__label { .el-switch__label {
position: absolute !important; position: absolute !important;
display: none; display: none;
@ -1869,9 +1908,9 @@
width: 60px !important; width: 60px !important;
text-align: center; text-align: center;
} }
} }
::v-deep .el-table__fixed-right::before { ::v-deep .el-table__fixed-right::before {
height: 0px !important; height: 0px !important;
} }
</style> </style>