修改详情的预览话术图
This commit is contained in:
parent
b9f2ff9512
commit
2d6f30df8b
@ -2,8 +2,18 @@
|
|||||||
<div class="header">
|
<div class="header">
|
||||||
<div class="topheader">
|
<div class="topheader">
|
||||||
<div class="user">
|
<div class="user">
|
||||||
<img class="headsculpture" src="../../../assets/manage/touxiang.png" alt="" v-if="list.sex == 'MALE'" />
|
<img
|
||||||
<img class="headsculpture" src="../../../assets/manage/nvtouxiang.png" alt="" v-if="list.sex == 'FEMALE'" />
|
class="headsculpture"
|
||||||
|
src="../../../assets/manage/touxiang.png"
|
||||||
|
alt=""
|
||||||
|
v-if="list.sex == 'MALE'"
|
||||||
|
/>
|
||||||
|
<img
|
||||||
|
class="headsculpture"
|
||||||
|
src="../../../assets/manage/nvtouxiang.png"
|
||||||
|
alt=""
|
||||||
|
v-if="list.sex == 'FEMALE'"
|
||||||
|
/>
|
||||||
<div class="name">
|
<div class="name">
|
||||||
{{ list.patientName }}
|
{{ list.patientName }}
|
||||||
</div>
|
</div>
|
||||||
@ -34,86 +44,204 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<el-dialog title="话术预览" :visible.sync="lookshow" width="90%">
|
||||||
|
<Scriptpreview
|
||||||
|
:phoneNodeContent="phoneNodeContent"
|
||||||
|
v-if="lookshow"
|
||||||
|
></Scriptpreview>
|
||||||
|
|
||||||
|
<span slot="footer" class="dialog-footer">
|
||||||
|
<el-button type="primary" @click="lookshow = false">确 定</el-button>
|
||||||
|
</span>
|
||||||
|
</el-dialog>
|
||||||
<div class="bottomheader">
|
<div class="bottomheader">
|
||||||
<div style="display: flex">
|
<div style="display: flex">
|
||||||
<!-- 问卷模板 -->
|
<!-- 问卷模板 -->
|
||||||
<div class="right" v-if="$route.query.taskType == 'QUESTIONNAIRE_SCALE' ||
|
<div
|
||||||
$route.query.taskType == 'ARTIFICIAL_FOLLOW_UP'
|
class="right"
|
||||||
">
|
v-if="
|
||||||
<div style="float: right; margin-top: 20px" v-if="$route.query.taskType == 'QUESTIONNAIRE_SCALE' ||
|
$route.query.taskType == 'QUESTIONNAIRE_SCALE' ||
|
||||||
$route.query.taskType == 'ARTIFICIAL_FOLLOW_UP'
|
$route.query.taskType == 'ARTIFICIAL_FOLLOW_UP'
|
||||||
">
|
"
|
||||||
<el-form :inline="true" class="demo-form-inline" :model="questiondata" :rules="rules" ref="questiondata">
|
>
|
||||||
|
<div
|
||||||
|
style="float: right; margin-top: 20px"
|
||||||
|
v-if="
|
||||||
|
$route.query.taskType == 'QUESTIONNAIRE_SCALE' ||
|
||||||
|
$route.query.taskType == 'ARTIFICIAL_FOLLOW_UP'
|
||||||
|
"
|
||||||
|
>
|
||||||
|
<el-form
|
||||||
|
:inline="true"
|
||||||
|
class="demo-form-inline"
|
||||||
|
:model="questiondata"
|
||||||
|
:rules="rules"
|
||||||
|
ref="questiondata"
|
||||||
|
>
|
||||||
<el-form-item label="任务处理信息" prop="routeHandleRemark">
|
<el-form-item label="任务处理信息" prop="routeHandleRemark">
|
||||||
<el-input disabled type="textarea" placeholder="请输入任务处理信息" v-model="questiondata.routeHandleRemark" />
|
<el-input
|
||||||
|
disabled
|
||||||
|
type="textarea"
|
||||||
|
placeholder="请输入任务处理信息"
|
||||||
|
v-model="questiondata.routeHandleRemark"
|
||||||
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</div>
|
</div>
|
||||||
<div class="sport" v-if="$route.query.taskType == 'QUESTIONNAIRE_SCALE'">
|
<div
|
||||||
|
class="sport"
|
||||||
|
v-if="$route.query.taskType == 'QUESTIONNAIRE_SCALE'"
|
||||||
|
>
|
||||||
问卷模板: Barthel指数评定问卷
|
问卷模板: Barthel指数评定问卷
|
||||||
</div>
|
</div>
|
||||||
<div class="words" v-if="$route.query.taskType == 'QUESTIONNAIRE_SCALE'">
|
<div
|
||||||
|
class="words"
|
||||||
|
v-if="$route.query.taskType == 'QUESTIONNAIRE_SCALE'"
|
||||||
|
>
|
||||||
您好!本问卷用于评估日常生活能力,请根据自身日常实际表现选择合适的选项。
|
您好!本问卷用于评估日常生活能力,请根据自身日常实际表现选择合适的选项。
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="sport" v-if="$route.query.taskType == 'ARTIFICIAL_FOLLOW_UP'">
|
<div
|
||||||
|
class="sport"
|
||||||
|
v-if="$route.query.taskType == 'ARTIFICIAL_FOLLOW_UP'"
|
||||||
|
>
|
||||||
人工随访模板: 神经内科人工随访
|
人工随访模板: 神经内科人工随访
|
||||||
</div>
|
</div>
|
||||||
<div class="words" v-if="$route.query.taskType == 'ARTIFICIAL_FOLLOW_UP'">
|
<div
|
||||||
|
class="words"
|
||||||
|
v-if="$route.query.taskType == 'ARTIFICIAL_FOLLOW_UP'"
|
||||||
|
>
|
||||||
**您好!
|
**您好!
|
||||||
</div>
|
</div>
|
||||||
<div class="words" v-if="$route.query.taskType == 'ARTIFICIAL_FOLLOW_UP'">
|
<div
|
||||||
|
class="words"
|
||||||
|
v-if="$route.query.taskType == 'ARTIFICIAL_FOLLOW_UP'"
|
||||||
|
>
|
||||||
我是✕✕医院的工作人员,今天给您打电话想要了解一下您的恢复情况。
|
我是✕✕医院的工作人员,今天给您打电话想要了解一下您的恢复情况。
|
||||||
</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'"
|
||||||
<el-radio-group v-if="item.questionType == 'MULTIPLE_CHOICE' ||
|
>(组合单选题)</span
|
||||||
item.questionType == 'COMBINATION_RADIO_SUBJECT' ||
|
>
|
||||||
item.questionType == 'SCORING_QUESTIONS' ||
|
<span v-if="item.questionType == 'COMBINATION_MULTIPLE_SUBJECT'"
|
||||||
item.questionType == 'COMBINATION_SCORING_SUBJECT'
|
>(组合多选题)</span
|
||||||
" v-model="item.checked" class="custom-radio-group">
|
>
|
||||||
<el-radio disabled class="custom" v-for="(aitem, aindex) in item.optionResults" :key="aindex"
|
<span v-if="item.questionType == 'COMBINATION_BLANKS_SUBJECT'"
|
||||||
:label="aitem.id" @change="radioChange($event, aitem, index)">{{ aitem.optionName }}</el-radio>
|
>(组合填空题)</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
|
||||||
|
>
|
||||||
|
<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"
|
||||||
|
>
|
||||||
|
<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-radio-group>
|
||||||
<!-- 多选、组合多选 -->
|
<!-- 多选、组合多选 -->
|
||||||
<el-checkbox-group v-model="checkeddata" v-if="item.questionType == 'MULTIPLE_CHOICE_QUESTIONS' ||
|
<el-checkbox-group
|
||||||
item.questionType == 'COMBINATION_MULTIPLE_SUBJECT'
|
v-model="checkeddata"
|
||||||
">
|
v-if="
|
||||||
<el-checkbox disabled v-for="(aitem, aindex) in item.optionResults" :key="aindex" :label="aitem.id"
|
item.questionType == 'MULTIPLE_CHOICE_QUESTIONS' ||
|
||||||
@change="radioChangecheck($event, aitem, index, aindex)">{{ aitem.optionName }}</el-checkbox>
|
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>
|
</el-checkbox-group>
|
||||||
<!-- 填空题、组合填空 -->
|
<!-- 填空题、组合填空 -->
|
||||||
<div v-if="item.questionType == 'FILL_IN_THE_BLANKS' ||
|
<div
|
||||||
item.questionType == 'COMBINATION_BLANKS_SUBJECT'
|
v-if="
|
||||||
" class="tk">
|
item.questionType == 'FILL_IN_THE_BLANKS' ||
|
||||||
<el-input disabled v-model="item.fillBlanksAnswer" placeholder="请输入答案" type="textarea" />
|
item.questionType == 'COMBINATION_BLANKS_SUBJECT'
|
||||||
|
"
|
||||||
|
class="tk"
|
||||||
|
>
|
||||||
|
<el-input
|
||||||
|
disabled
|
||||||
|
v-model="item.fillBlanksAnswer"
|
||||||
|
placeholder="请输入答案"
|
||||||
|
type="textarea"
|
||||||
|
/>
|
||||||
<!-- <el-input></el-input> -->
|
<!-- <el-input></el-input> -->
|
||||||
</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'"
|
||||||
start: '08:30',
|
>
|
||||||
step: '00:30',
|
<el-time-select
|
||||||
end: '23:30',
|
disabled
|
||||||
}" placeholder="选择时间">
|
@change="timepickerselect($event, index)"
|
||||||
|
clearable
|
||||||
|
v-model="item.fillBlanksAnswer"
|
||||||
|
:picker-options="{
|
||||||
|
start: '08:30',
|
||||||
|
step: '00:30',
|
||||||
|
end: '23:30',
|
||||||
|
}"
|
||||||
|
placeholder="选择时间"
|
||||||
|
>
|
||||||
</el-time-select>
|
</el-time-select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -168,110 +296,88 @@
|
|||||||
<div class="sport">电话外呼</div>
|
<div class="sport">电话外呼</div>
|
||||||
|
|
||||||
<div class="nexttime">
|
<div class="nexttime">
|
||||||
<el-form ref="formlist" :model="formlist" label-width="110px" :inline="true">
|
<el-form
|
||||||
<!-- <br/> -->
|
ref="formlist"
|
||||||
<el-form-item label="是否接通" prop="phone">
|
:model="formlist"
|
||||||
<el-radio v-model="formlist.phoneConnectStatus" label="CONNECTED">已接通</el-radio>
|
label-width="110px"
|
||||||
<el-radio v-model="formlist.phoneConnectStatus" label="NOTCONNECTED">未接通</el-radio>
|
:inline="true"
|
||||||
</el-form-item>
|
>
|
||||||
<br />
|
|
||||||
|
|
||||||
<el-form-item label="任务处理信息" prop="routeHandleRemark">
|
|
||||||
<el-input v-model="formlist.routeHandleRemark" placeholder="请输入任务处理信息" />
|
|
||||||
</el-form-item>
|
|
||||||
<br />
|
|
||||||
<!-- <el-form-item label="话术名称" prop="scriptName">
|
|
||||||
<el-input
|
|
||||||
disabled
|
|
||||||
v-model="formlist.scriptName"
|
|
||||||
placeholder="请输入话术名称"
|
|
||||||
/>
|
|
||||||
|
|
||||||
</el-form-item> -->
|
|
||||||
<!-- <br /> -->
|
|
||||||
<el-form-item label="通用话术名称" prop="phoneTemplateName">
|
|
||||||
<el-input disabled v-model="formlist.phoneTemplateName" placeholder="请输入通用话术名称" />
|
|
||||||
</el-form-item>
|
|
||||||
<br />
|
|
||||||
<!-- <el-form-item label="话术简介" prop="scriptIntroduction">
|
|
||||||
<el-input
|
|
||||||
disabled
|
|
||||||
type="textarea"
|
|
||||||
v-model="formlist.scriptIntroduction"
|
|
||||||
placeholder="请输入话术简介"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
|
|
||||||
<el-form-item label="任务处理信息" prop="routeHandleRemark">
|
|
||||||
<el-input
|
|
||||||
type="textarea"
|
|
||||||
v-model="formlist.routeHandleRemark"
|
|
||||||
placeholder="请输入任务处理信息"
|
|
||||||
/>
|
|
||||||
</el-form-item> -->
|
|
||||||
<!-- <br /> -->
|
|
||||||
<el-form-item label="电话推送" prop="phonePushSign">
|
|
||||||
<!-- <el-input
|
|
||||||
|
|
||||||
type="textarea"
|
|
||||||
v-model="formlist.routeHandleRemark"
|
|
||||||
placeholder="请输入任务处理信息"
|
|
||||||
/> -->
|
|
||||||
<!-- <el-switch
|
|
||||||
disabled
|
|
||||||
v-model="formlist.phonePushSign"
|
|
||||||
active-color="#13ce66"
|
|
||||||
active-value="1"
|
|
||||||
inactive-value="0"
|
|
||||||
>
|
|
||||||
</el-switch> -->
|
|
||||||
<el-radio disabled v-model="formlist.phonePushSign" label="1">已开启</el-radio>
|
|
||||||
<el-radio disabled v-model="formlist.phonePushSign" label="0">未开启</el-radio>
|
|
||||||
</el-form-item>
|
|
||||||
<br />
|
|
||||||
|
|
||||||
<el-form-item label="电话" prop="patientPhone">
|
<el-form-item label="电话" prop="patientPhone">
|
||||||
<el-input disabled v-model="formlist.patientPhone" placeholder="请输入电话" />
|
<el-input
|
||||||
|
disabled
|
||||||
|
v-model="formlist.patientPhone"
|
||||||
|
placeholder="请输入电话"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
<br />
|
||||||
|
<el-form-item label="是否接通" prop="phone">
|
||||||
|
<el-radio
|
||||||
|
v-model="formlist.phoneConnectStatus"
|
||||||
|
label="CONNECTED"
|
||||||
|
>已接通</el-radio
|
||||||
|
>
|
||||||
|
<el-radio
|
||||||
|
v-model="formlist.phoneConnectStatus"
|
||||||
|
label="NOTCONNECTED"
|
||||||
|
>未接通</el-radio
|
||||||
|
>
|
||||||
|
</el-form-item>
|
||||||
|
<br />
|
||||||
|
<el-form-item label="通用话术名称" prop="phoneTemplateName">
|
||||||
|
<el-input
|
||||||
|
disabled
|
||||||
|
v-model="formlist.phoneTemplateName"
|
||||||
|
placeholder="请输入通用话术名称"
|
||||||
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<br />
|
<br />
|
||||||
<!-- <div style="background:red;width:200px;height:1600px"> -->
|
|
||||||
<el-form-item label="重复次数" prop="phoneRedialTimes">
|
<el-form-item label="重复次数" prop="phoneRedialTimes">
|
||||||
<el-select v-model="formlist.phoneRedialTimes" disabled style="width: 200px">
|
<el-input
|
||||||
<el-option v-for="item in optionslistS" :key="item.dictValue" :label="item.dictLabel"
|
disabled
|
||||||
:value="item.dictValue">
|
v-model="formlist.phoneRedialTimes"
|
||||||
</el-option>
|
placeholder=""
|
||||||
</el-select>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<br />
|
<br />
|
||||||
<el-form-item label="电话短信提醒" prop="phone">
|
<el-form-item label="电话短信提醒" prop="phone">
|
||||||
<el-select disabled v-model="formlist.phoneMessageRemind" style="width: 200px">
|
<el-input
|
||||||
<el-option v-for="item in optionslist" :key="item.dictValue" :label="item.dictLabel"
|
disabled
|
||||||
:value="item.dictValue">
|
|
||||||
</el-option>
|
|
||||||
</el-select>
|
|
||||||
<!-- <el-input
|
|
||||||
style="width: 200px"
|
|
||||||
v-model="formlist.phoneMessageRemind"
|
v-model="formlist.phoneMessageRemind"
|
||||||
placeholder="请输入电话"
|
placeholder=""
|
||||||
/> -->
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
<br />
|
||||||
|
<el-form-item label="短信模板:" prop="phone">
|
||||||
|
<span class="spanname">
|
||||||
|
<message
|
||||||
|
style="width: 200px; height: 50px"
|
||||||
|
@on-template="messageontemplateMESSAGE"
|
||||||
|
:templateId="formlist.phoneMessageTemplateId"
|
||||||
|
:templateName="formlist.phoneMessageTemplateName"
|
||||||
|
>
|
||||||
|
</message>
|
||||||
|
</span>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<br />
|
<br />
|
||||||
|
|
||||||
<el-form-item label="话术图" prop="phone">
|
<el-form-item label="话术图" prop="phone">
|
||||||
<img :src="formlist.scriptFilePath" style="width: 250px; height: 200px" />
|
<!-- <img :src="formlist.scriptFilePath" style="width: 250px; height: 200px" /> -->
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
size="small"
|
||||||
|
@click="scriptlook(formlist.phoneNodeContent)"
|
||||||
|
>预览</el-button
|
||||||
|
>
|
||||||
|
</el-form-item>
|
||||||
|
<br />
|
||||||
|
<el-form-item label="任务处理信息" prop="routeHandleRemark">
|
||||||
|
<el-input
|
||||||
|
type="textarea"
|
||||||
|
v-model="formlist.routeHandleRemark"
|
||||||
|
style="width: 500px"
|
||||||
|
placeholder="请输入任务处理信息"
|
||||||
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<br />
|
<br />
|
||||||
<div class="pushMethod">
|
|
||||||
<el-form-item label="短信模板:" prop="phone">
|
|
||||||
<span class="spanname">
|
|
||||||
<message style="width: 200px;height:100px" @on-template="messageontemplateMESSAGE"
|
|
||||||
:templateId="formlist.phoneMessageTemplateId" :templateName="formlist.phoneMessageTemplateName">
|
|
||||||
</message>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
</el-form-item>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</el-form>
|
</el-form>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -282,19 +388,32 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import message from "../components/message.vue";
|
import message from "../components/message.vue";
|
||||||
import { selectFollowPatientInfo, question, addPatientQuestionResult, selectPhonePush, } from "@/api/system/followupsee";
|
import Scriptpreview from ".././components/Scriptpreviewopen.vue";
|
||||||
|
|
||||||
import {
|
import {
|
||||||
selectPatientQuestionSubmit,
|
selectFollowPatientInfo,
|
||||||
} from "@/api/system/taskExecuteRecord";
|
question,
|
||||||
|
addPatientQuestionResult,
|
||||||
|
selectPhonePush,
|
||||||
|
} from "@/api/system/followupsee";
|
||||||
|
import { selectPatientQuestionSubmit } from "@/api/system/taskExecuteRecord";
|
||||||
import { getScript } from "@/api/manage/script";
|
import { getScript } from "@/api/manage/script";
|
||||||
import Cookies from 'js-cookie'
|
import Cookies from "js-cookie";
|
||||||
export default {
|
export default {
|
||||||
components: {
|
components: {
|
||||||
message,
|
message,
|
||||||
|
Scriptpreview,
|
||||||
},
|
},
|
||||||
name: "patientdetails",
|
name: "patientdetails",
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
lookshow: false,
|
||||||
|
phoneNodeContent: {
|
||||||
|
scriptInfoId: null,
|
||||||
|
flowScheme: null,
|
||||||
|
nodes: [],
|
||||||
|
edges: [],
|
||||||
|
},
|
||||||
obj: {},
|
obj: {},
|
||||||
checkList: [],
|
checkList: [],
|
||||||
checked: false,
|
checked: false,
|
||||||
@ -303,54 +422,70 @@ export default {
|
|||||||
optionslist: [],
|
optionslist: [],
|
||||||
rules: {
|
rules: {
|
||||||
routeHandleRemark: [
|
routeHandleRemark: [
|
||||||
{ required: true, message: '请输入任务处理信息', trigger: 'change' }
|
{ required: true, message: "请输入任务处理信息", trigger: "change" },
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
radio: "B",
|
radio: "B",
|
||||||
id: "",
|
id: "",
|
||||||
list: [],
|
list: [],
|
||||||
type: '',
|
type: "",
|
||||||
checkeddata: [],
|
checkeddata: [],
|
||||||
questiondata: {
|
questiondata: {
|
||||||
// routeHandleRemark:null,
|
// routeHandleRemark:null,
|
||||||
totalScore: 0, //总分
|
totalScore: 0, //总分
|
||||||
routeHandlePerson: null,
|
routeHandlePerson: null,
|
||||||
routeHandleId: null,
|
routeHandleId: null,
|
||||||
},
|
},
|
||||||
optionslist: [],
|
optionslist: [],
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
this.id = this.$route.query.manageRouteId;
|
this.id = this.$route.query.manageRouteId;
|
||||||
this.info();
|
this.info();
|
||||||
if (this.$route.query.taskType == 'QUESTIONNAIRE_SCALE' || this.$route.query.taskType == 'ARTIFICIAL_FOLLOW_UP') {
|
if (
|
||||||
|
this.$route.query.taskType == "QUESTIONNAIRE_SCALE" ||
|
||||||
|
this.$route.query.taskType == "ARTIFICIAL_FOLLOW_UP"
|
||||||
|
) {
|
||||||
this.selectlist();
|
this.selectlist();
|
||||||
} else if(this.$route.query.taskType=="PHONE_OUTBOUND"){
|
} else if (this.$route.query.taskType == "PHONE_OUTBOUND") {
|
||||||
if (this.$route.query.routeHandleRemark) {
|
if (this.$route.query.routeHandleRemark) {
|
||||||
this.questiondata.routeHandleRemark =
|
this.questiondata.routeHandleRemark =
|
||||||
this.$route.query.routeHandleRemark;
|
this.$route.query.routeHandleRemark;
|
||||||
}
|
}
|
||||||
selectPhonePush(this.$route.query.manageRouteNodeId).then(response => {
|
selectPhonePush(this.$route.query.manageRouteNodeId).then((response) => {
|
||||||
if (response.data) {
|
if (response.data) {
|
||||||
this.formlist = response.data;
|
this.formlist = response.data;
|
||||||
if(this.formlist.phonePushSign==0){
|
this.formlist.phoneRedialTimes = response.data.phoneRedialTimes;
|
||||||
this.formlist.phonePushSign='0'
|
this.infolistMESSAGE();
|
||||||
}else if(this.formlist.phonePushSign==1){
|
this.infolistword();
|
||||||
this.formlist.phonePushSign='1'
|
if (this.formlist.phonePushSign == 0) {
|
||||||
|
this.formlist.phonePushSign = "0";
|
||||||
|
} else if (this.formlist.phonePushSign == 1) {
|
||||||
|
this.formlist.phonePushSign = "1";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
scriptlook(e) {
|
||||||
|
console.log(e, "eeeeee");
|
||||||
|
if (e == null || e == "") {
|
||||||
|
this.$message.error("暂无话术图");
|
||||||
|
} else {
|
||||||
|
this.phoneNodeContent = e;
|
||||||
|
this.lookshow = true;
|
||||||
|
}
|
||||||
|
},
|
||||||
// 发送短信
|
// 发送短信
|
||||||
infolistword() {
|
infolistword() {
|
||||||
var dictType = "text_message_remind";
|
var dictType = "text_message_remind";
|
||||||
getAgencytype(dictType).then((res) => {
|
getAgencytype(dictType).then((res) => {
|
||||||
this.optionslist = res.data;
|
this.optionslist = res.data;
|
||||||
// this.taskinfo();
|
// this.taskinfo();
|
||||||
|
this.formlist.phoneMessageRemind = this.optionslist.find(
|
||||||
|
(el) => el.dictValue == this.formlist.phoneMessageRemind
|
||||||
|
)?.dictLabel;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -366,113 +501,130 @@ export default {
|
|||||||
var dictType = "redial_times";
|
var dictType = "redial_times";
|
||||||
getAgencytype(dictType).then((res) => {
|
getAgencytype(dictType).then((res) => {
|
||||||
this.optionslistS = res.data;
|
this.optionslistS = res.data;
|
||||||
|
this.formlist.phoneRedialTimes = this.optionslistS.find(
|
||||||
|
(el) => el.dictValue == this.formlist.phoneRedialTimes
|
||||||
|
)?.dictLabel;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
// 问卷和随访
|
// 问卷和随访
|
||||||
selectlist() {
|
selectlist() {
|
||||||
selectPatientQuestionSubmit(this.$route.query.taskExecuteRecordId).then((res) => {
|
selectPatientQuestionSubmit(this.$route.query.taskExecuteRecordId).then(
|
||||||
this.questiondata = res.data;
|
(res) => {
|
||||||
if (this.$route.query.routeHandleRemark) {
|
this.questiondata = res.data;
|
||||||
this.questiondata.routeHandleRemark =
|
if (this.$route.query.routeHandleRemark) {
|
||||||
this.$route.query.routeHandleRemark;
|
this.questiondata.routeHandleRemark =
|
||||||
}
|
this.$route.query.routeHandleRemark;
|
||||||
this.questiondata.subjectResultList.forEach((e) => {
|
}
|
||||||
e.optionResults.forEach((el) => {
|
this.questiondata.subjectResultList.forEach((e) => {
|
||||||
if (
|
e.optionResults.forEach((el) => {
|
||||||
(el.optionChooseSign == "0" &&
|
if (
|
||||||
e.questionType == "MULTIPLE_CHOICE") ||
|
(el.optionChooseSign == "0" &&
|
||||||
e.questionType == "COMBINATION_RADIO_SUBJECT"
|
e.questionType == "MULTIPLE_CHOICE") ||
|
||||||
) {
|
e.questionType == "COMBINATION_RADIO_SUBJECT"
|
||||||
e.checked = el.id;
|
) {
|
||||||
} else if (
|
e.checked = el.id;
|
||||||
el.optionChooseSign == "0" &&
|
} else if (
|
||||||
e.questionType == "MULTIPLE_CHOICE_QUESTIONS"
|
el.optionChooseSign == "0" &&
|
||||||
) {
|
e.questionType == "MULTIPLE_CHOICE_QUESTIONS"
|
||||||
this.checkeddata.push(el.id);
|
) {
|
||||||
} else if (
|
this.checkeddata.push(el.id);
|
||||||
el.optionChooseSign == "0" &&
|
} else if (
|
||||||
e.questionType == "SCORING_QUESTIONS"
|
el.optionChooseSign == "0" &&
|
||||||
) {
|
e.questionType == "SCORING_QUESTIONS"
|
||||||
e.checked = el.id;
|
) {
|
||||||
} else if (
|
e.checked = el.id;
|
||||||
e.questionType == "COMBINATION_MULTIPLE_SUBJECT" &&
|
} else if (
|
||||||
el.optionChooseSign == "0"
|
e.questionType == "COMBINATION_MULTIPLE_SUBJECT" &&
|
||||||
) {
|
el.optionChooseSign == "0"
|
||||||
this.checkeddata.push(el.id);
|
) {
|
||||||
}
|
this.checkeddata.push(el.id);
|
||||||
|
}
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
}
|
||||||
});
|
);
|
||||||
},
|
},
|
||||||
// 日期填空题
|
// 日期填空题
|
||||||
timepicker(e, index) {
|
timepicker(e, index) {
|
||||||
this.questiondata.subjectResultList[index].fillBlanksAnswer = e
|
this.questiondata.subjectResultList[index].fillBlanksAnswer = e;
|
||||||
},
|
},
|
||||||
// 时间填空题
|
// 时间填空题
|
||||||
timepickerselect(e, index) {
|
timepickerselect(e, index) {
|
||||||
this.questiondata.subjectResultList[index].fillBlanksAnswer = e
|
this.questiondata.subjectResultList[index].fillBlanksAnswer = e;
|
||||||
},
|
},
|
||||||
// 选中某个单选框时,由radio时触发
|
// 选中某个单选框时,由radio时触发
|
||||||
radioChange(e, item, index) {
|
radioChange(e, item, index) {
|
||||||
console.log(e, item, index, '选中某个单选框时')
|
console.log(e, item, index, "选中某个单选框时");
|
||||||
this.questiondata.subjectResultList[index].optionResults.forEach(el => {
|
this.questiondata.subjectResultList[index].optionResults.forEach((el) => {
|
||||||
if (el.id == item.id) {
|
if (el.id == item.id) {
|
||||||
el.optionChooseSign = '0'
|
el.optionChooseSign = "0";
|
||||||
|
} else {
|
||||||
|
el.optionChooseSign = "1";
|
||||||
}
|
}
|
||||||
else {
|
});
|
||||||
el.optionChooseSign = '1'
|
console.log(this.questiondata, "this.questiondata");
|
||||||
}
|
this.questiondata;
|
||||||
})
|
|
||||||
console.log(this.questiondata, 'this.questiondata')
|
|
||||||
this.questiondata
|
|
||||||
},
|
},
|
||||||
// 复选框
|
// 复选框
|
||||||
radioChangecheck(e, item, index, aindex) {
|
radioChangecheck(e, item, index, aindex) {
|
||||||
console.log(e, item, index, '选中某个复选框时')
|
console.log(e, item, index, "选中某个复选框时");
|
||||||
if (e == true) {
|
if (e == true) {
|
||||||
this.questiondata.subjectResultList[index].optionResults[aindex].optionChooseSign = '0'
|
this.questiondata.subjectResultList[index].optionResults[
|
||||||
|
aindex
|
||||||
|
].optionChooseSign = "0";
|
||||||
} else {
|
} else {
|
||||||
this.questiondata.subjectResultList[index].optionResults[aindex].optionChooseSign = '1'
|
this.questiondata.subjectResultList[index].optionResults[
|
||||||
|
aindex
|
||||||
|
].optionChooseSign = "1";
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
info() {
|
info() {
|
||||||
selectFollowPatientInfo(this.id).then((res) => {
|
selectFollowPatientInfo(this.id).then((res) => {
|
||||||
this.list = res.data;
|
this.list = res.data;
|
||||||
});
|
});
|
||||||
|
|
||||||
},
|
},
|
||||||
questioninfo() {
|
questioninfo() {
|
||||||
question(this.$route.query.templateId).then((res) => {
|
question(this.$route.query.templateId).then((res) => {
|
||||||
this.questiondata = res.data;
|
this.questiondata = res.data;
|
||||||
this.questiondata.questionInfoId = res.data.id;
|
this.questiondata.questionInfoId = res.data.id;
|
||||||
this.questiondata.routeHandlePerson = Cookies.get('userName')
|
this.questiondata.routeHandlePerson = Cookies.get("userName");
|
||||||
this.questiondata.routeHandleId = Cookies.get('userId')
|
this.questiondata.routeHandleId = Cookies.get("userId");
|
||||||
this.questiondata.patientId = this.$route.query.patientId
|
this.questiondata.patientId = this.$route.query.patientId;
|
||||||
this.questiondata.manageRouteId = this.$route.query.manageRouteId
|
this.questiondata.manageRouteId = this.$route.query.manageRouteId;
|
||||||
this.questiondata.manageRouteNodeId = this.$route.query.manageRouteNodeId
|
this.questiondata.manageRouteNodeId =
|
||||||
this.questiondata.patientName = this.$route.query.patientName
|
this.$route.query.manageRouteNodeId;
|
||||||
this.questiondata.manageRouteName = this.$route.query.manageRouteName
|
this.questiondata.patientName = this.$route.query.patientName;
|
||||||
this.questiondata.manageRouteNodeName = this.$route.query.manageRouteNodeName
|
this.questiondata.manageRouteName = this.$route.query.manageRouteName;
|
||||||
this.questiondata.taskType = this.$route.query.taskType
|
this.questiondata.manageRouteNodeName =
|
||||||
this.questiondata.visitRecordId = this.$route.query.visitRecordId
|
this.$route.query.manageRouteNodeName;
|
||||||
this.questiondata.totalScore = 0
|
this.questiondata.taskType = this.$route.query.taskType;
|
||||||
this.questiondata.subjectResultList.forEach(e => {
|
this.questiondata.visitRecordId = this.$route.query.visitRecordId;
|
||||||
if (e.questionType == 'MULTIPLE_CHOICE' || e.questionType == 'MULTIPLE_CHOICE_QUESTIONS' || e.questionType == 'SCORING_QUESTIONS' || e.questionType == 'COMBINATION_RADIO_SUBJECT' || e.questionType == 'COMBINATION_MULTIPLE_SUBJECT' || e.questionType == 'COMBINATION_SCORING_SUBJECT') {
|
this.questiondata.totalScore = 0;
|
||||||
e.whetherScore = '1'
|
this.questiondata.subjectResultList.forEach((e) => {
|
||||||
|
if (
|
||||||
|
e.questionType == "MULTIPLE_CHOICE" ||
|
||||||
|
e.questionType == "MULTIPLE_CHOICE_QUESTIONS" ||
|
||||||
|
e.questionType == "SCORING_QUESTIONS" ||
|
||||||
|
e.questionType == "COMBINATION_RADIO_SUBJECT" ||
|
||||||
|
e.questionType == "COMBINATION_MULTIPLE_SUBJECT" ||
|
||||||
|
e.questionType == "COMBINATION_SCORING_SUBJECT"
|
||||||
|
) {
|
||||||
|
e.whetherScore = "1";
|
||||||
} else {
|
} else {
|
||||||
e.whetherScore = '0'
|
e.whetherScore = "0";
|
||||||
}
|
}
|
||||||
e.optionResults.forEach(el => {
|
e.optionResults.forEach((el) => {
|
||||||
el.questionNumber = e.questionNumber
|
el.questionNumber = e.questionNumber;
|
||||||
if (e.questionType == 'MULTIPLE_CHOICE_QUESTIONS' || e.questionType == 'COMBINATION_MULTIPLE_SUBJECT') {
|
if (
|
||||||
el.optionChooseSign = '1'
|
e.questionType == "MULTIPLE_CHOICE_QUESTIONS" ||
|
||||||
|
e.questionType == "COMBINATION_MULTIPLE_SUBJECT"
|
||||||
|
) {
|
||||||
|
el.optionChooseSign = "1";
|
||||||
}
|
}
|
||||||
})
|
});
|
||||||
})
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
@ -488,14 +640,10 @@ export default {
|
|||||||
line-height: 30px;
|
line-height: 30px;
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
color: #64666a;
|
color: #64666a;
|
||||||
|
|
||||||
.spanname {
|
|
||||||
width: 100%;
|
|
||||||
|
|
||||||
pointer-events: none;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
.spanname {
|
||||||
|
pointer-events: none;
|
||||||
|
}
|
||||||
::v-deep .el-input.is-disabled .el-input__inner {
|
::v-deep .el-input.is-disabled .el-input__inner {
|
||||||
background: #fff !important;
|
background: #fff !important;
|
||||||
color: #606266;
|
color: #606266;
|
||||||
|
|||||||
@ -291,16 +291,6 @@
|
|||||||
>
|
>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<br />
|
<br />
|
||||||
|
|
||||||
<!-- <el-form-item label="话术名称" prop="scriptName">
|
|
||||||
<el-input
|
|
||||||
disabled
|
|
||||||
v-model="formlist.scriptName"
|
|
||||||
placeholder="请输入话术名称"
|
|
||||||
/>
|
|
||||||
|
|
||||||
</el-form-item> -->
|
|
||||||
<!-- <br /> -->
|
|
||||||
<el-form-item label="通用话术名称" prop="phoneTemplateName">
|
<el-form-item label="通用话术名称" prop="phoneTemplateName">
|
||||||
<el-input
|
<el-input
|
||||||
disabled
|
disabled
|
||||||
@ -309,39 +299,12 @@
|
|||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<br />
|
<br />
|
||||||
<!-- <el-form-item label="话术简介" prop="scriptIntroduction">
|
|
||||||
<el-input
|
|
||||||
disabled
|
|
||||||
type="textarea"
|
|
||||||
v-model="formlist.scriptIntroduction"
|
|
||||||
placeholder="请输入话术简介"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
|
|
||||||
<el-form-item label="任务处理信息" prop="routeHandleRemark">
|
|
||||||
<el-input
|
|
||||||
type="textarea"
|
|
||||||
v-model="formlist.routeHandleRemark"
|
|
||||||
placeholder="请输入任务处理信息"
|
|
||||||
/>
|
|
||||||
</el-form-item> -->
|
|
||||||
<!-- <br /> -->
|
|
||||||
|
|
||||||
<!-- <div style="background:red;width:200px;height:1600px"> -->
|
|
||||||
<el-form-item label="重复次数" prop="phoneRedialTimes">
|
<el-form-item label="重复次数" prop="phoneRedialTimes">
|
||||||
<!-- <div v-for="(item,index) in optionslistS" :key="index">
|
|
||||||
<div>{{ item.label }}</div>
|
|
||||||
</div> -->
|
|
||||||
<el-input
|
<el-input
|
||||||
disabled
|
disabled
|
||||||
v-model="formlist.phoneRedialTimes"
|
v-model="formlist.phoneRedialTimes"
|
||||||
placeholder=""
|
placeholder=""
|
||||||
/>
|
/>
|
||||||
<!-- <el-select v-model="formlist.phoneRedialTimes" disabled style="width: 200px">
|
|
||||||
<el-option v-for="item in optionslistS" :key="item.dictValue" :label="item.dictLabel"
|
|
||||||
:value="item.dictValue">
|
|
||||||
</el-option>
|
|
||||||
</el-select> -->
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<br />
|
<br />
|
||||||
<el-form-item label="电话短信提醒" prop="phone">
|
<el-form-item label="电话短信提醒" prop="phone">
|
||||||
@ -350,11 +313,6 @@
|
|||||||
v-model="formlist.phoneMessageRemind"
|
v-model="formlist.phoneMessageRemind"
|
||||||
placeholder=""
|
placeholder=""
|
||||||
/>
|
/>
|
||||||
<!-- <el-select disabled v-model="formlist.phoneMessageRemind" style="width: 200px">
|
|
||||||
<el-option v-for="item in optionslist" :key="item.dictValue" :label="item.dictLabel"
|
|
||||||
:value="item.dictValue">
|
|
||||||
</el-option>
|
|
||||||
</el-select> -->
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<br />
|
<br />
|
||||||
<el-form-item label="短信模板:" prop="phone">
|
<el-form-item label="短信模板:" prop="phone">
|
||||||
@ -488,7 +446,7 @@ export default {
|
|||||||
this.formlist.phoneRedialTimes = response.data.phoneRedialTimes;
|
this.formlist.phoneRedialTimes = response.data.phoneRedialTimes;
|
||||||
this.formlist.phoneMessageRemind = response.data.phoneMessageRemind;
|
this.formlist.phoneMessageRemind = response.data.phoneMessageRemind;
|
||||||
this.infolistMESSAGE();
|
this.infolistMESSAGE();
|
||||||
this.infolistword()
|
this.infolistword();
|
||||||
if (this.formlist.phonePushSign == 0) {
|
if (this.formlist.phonePushSign == 0) {
|
||||||
this.formlist.phonePushSign = "0";
|
this.formlist.phonePushSign = "0";
|
||||||
} else if (this.formlist.phonePushSign == 1) {
|
} else if (this.formlist.phonePushSign == 1) {
|
||||||
@ -497,7 +455,6 @@ export default {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
scriptlook(e) {
|
scriptlook(e) {
|
||||||
@ -505,9 +462,8 @@ export default {
|
|||||||
if (e == null || e == "") {
|
if (e == null || e == "") {
|
||||||
this.$message.error("暂无话术图");
|
this.$message.error("暂无话术图");
|
||||||
} else {
|
} else {
|
||||||
this.phoneNodeContent = e
|
this.phoneNodeContent = e;
|
||||||
this.lookshow = true;
|
this.lookshow = true;
|
||||||
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// 发送短信
|
// 发送短信
|
||||||
@ -547,7 +503,7 @@ export default {
|
|||||||
timepickerselect(e, index) {
|
timepickerselect(e, index) {
|
||||||
this.questiondata.questionSubjectList[index].fillBlanksAnswer = e;
|
this.questiondata.questionSubjectList[index].fillBlanksAnswer = e;
|
||||||
},
|
},
|
||||||
radioGroupChange(e, item) { },
|
radioGroupChange(e, item) {},
|
||||||
// 选中某个单选框时,由radio时触发
|
// 选中某个单选框时,由radio时触发
|
||||||
radioChange(e, item, index) {
|
radioChange(e, item, index) {
|
||||||
console.log(e, item, index, "选中某个单选框时");
|
console.log(e, item, index, "选中某个单选框时");
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user