任务记录修改

This commit is contained in:
shidongli 2024-07-02 16:35:24 +08:00
parent 724dacb9a5
commit 5877d35b20
3 changed files with 279 additions and 107 deletions

View File

@ -65,7 +65,7 @@
" "
> >
<div <div
style="float: right; margin-top: 20px" class="handle"
v-if=" v-if="
$route.query.taskType == 'QUESTIONNAIRE_SCALE' || $route.query.taskType == 'QUESTIONNAIRE_SCALE' ||
$route.query.taskType == 'ARTIFICIAL_FOLLOW_UP' $route.query.taskType == 'ARTIFICIAL_FOLLOW_UP'
@ -656,8 +656,8 @@ export default {
.tk { .tk {
::v-deep .el-textarea__inner { ::v-deep .el-textarea__inner {
margin: 20px 0 10px 30px; width: 35% !important;
width: 60% !important; height: 100px;
} }
} }
@ -726,8 +726,19 @@ export default {
.right { .right {
width: 100%; width: 100%;
height: 500px; padding-bottom: 50px;
// background: yellow; .handle {
float: right;
margin-right: 100px;
// position: absolute;
right: 100px;
margin-top: 20px;
::v-deep .el-textarea__inner {
width: 500px;
height: 250px;
}
}
} }
.header { .header {

View File

@ -827,7 +827,7 @@ export default {
right: 100px; right: 100px;
margin-top: 20px; margin-top: 20px;
::v-deep .el-textarea__inner { ::v-deep .el-textarea__inner {
width: 450px; width: 500px;
height: 250px; height: 250px;
} }
} }

View File

@ -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>
@ -14,16 +24,31 @@
{{ list.age }} {{ list.age }}
</div> </div>
<div class="source"> <div class="source">
<div class="item" style="color: #00e06e; border-color: #00e06e" <div
v-if="list.patientSource == 'WE_CHAT_OFFICIAL_ACCOUNT'"> class="item"
<img src="../../../assets/manage/gzh.png" alt="" style="width: 24px" /> style="color: #00e06e; border-color: #00e06e"
v-if="list.patientSource == 'WE_CHAT_OFFICIAL_ACCOUNT'"
>
<img
src="../../../assets/manage/gzh.png"
alt=""
style="width: 24px"
/>
<div>公众号</div> <div>公众号</div>
</div> </div>
<div class="item" style="color: #339de5; border-color: #339de5" v-if="list.patientSource == 'WE_CHAT_APPLET'"> <div
class="item"
style="color: #339de5; border-color: #339de5"
v-if="list.patientSource == 'WE_CHAT_APPLET'"
>
<img src="../../../assets/manage/xcx.png" alt="" /> <img src="../../../assets/manage/xcx.png" alt="" />
<div>小程序</div> <div>小程序</div>
</div> </div>
<div class="item" style="color: #f4881f; border-color: #f4881f" v-if="list.patientSource == 'MANAGE_END'"> <div
class="item"
style="color: #f4881f; border-color: #f4881f"
v-if="list.patientSource == 'MANAGE_END'"
>
<img src="../../../assets/manage/gld.png" alt="" /> <img src="../../../assets/manage/gld.png" alt="" />
<div>管理端</div> <div>管理端</div>
</div> </div>
@ -97,97 +122,211 @@
<div> <div>
<div class="know">{{ formview.propagandaTitle }}</div> <div class="know">{{ formview.propagandaTitle }}</div>
<div class="knowlist"> <div class="knowlist">
<Editorxj <Editorxj
v-model="formview.propagandaContent" v-model="formview.propagandaContent"
:min-height="192" :min-height="192"
/> />
</div> </div>
<!-- <div class="knowlist"> <!-- <div class="knowlist">
{{ formview.propagandaContent }} {{ formview.propagandaContent }}
</div> --> </div> -->
<img :src="baseUrl + formview.propagandaCoverPath" alt="" /> <img :src="baseUrl + formview.propagandaCoverPath" alt="" />
<video v-if="materialsType == 'VIDEO'" ref="myVideo" :src="baseUrl + materialsFilePath" controls></video> <video
v-if="materialsType == 'VIDEO'"
ref="myVideo"
:src="baseUrl + materialsFilePath"
controls
></video>
</div> </div>
</div> </div>
</div> </div>
<!-- 问卷模板 --> <!-- 问卷模板 -->
<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" ref="questiondata"> >
<div
class="handle"
v-if="
$route.query.taskType == 'QUESTIONNAIRE_SCALE' ||
$route.query.taskType == 'ARTIFICIAL_FOLLOW_UP'
"
>
<el-form
:inline="true"
class="demo-form-inline"
:model="questiondata"
ref="questiondata"
>
<el-form-item label="任务处理信息" prop="routeHandleRemark"> <el-form-item label="任务处理信息" prop="routeHandleRemark">
<el-input type="textarea" disabled placeholder="请输入任务处理信息" v-model="questiondata.routeHandleRemark" /> <el-input
type="textarea"
disabled
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" @change="radioGroupChange($event, item)"> >
<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"
@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-radio-group>
<!-- 多选组合多选 --> <!-- 多选组合多选 -->
<el-checkbox-group v-model="checkeddata" @change="radioGroupChange($event, item, 'checkbox')" v-if="item.questionType == 'MULTIPLE_CHOICE_QUESTIONS' || <el-checkbox-group
item.questionType == 'COMBINATION_MULTIPLE_SUBJECT' v-model="checkeddata"
"> @change="radioGroupChange($event, item, 'checkbox')"
<el-checkbox disabled v-for="(aitem, aindex) in item.optionResults" :key="aindex" :label="aitem.id" v-if="
@change="radioChangecheck($event, aitem, index, aindex)">{{ aitem.optionName }}</el-checkbox> 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> </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>
@ -195,7 +334,7 @@
<!-- 电话外呼 --> <!-- 电话外呼 -->
<!-- <div v-if="$route.query.taskType == 'PHONE_OUTBOUND'"> <!-- <div v-if="$route.query.taskType == 'PHONE_OUTBOUND'">
<div class="sport">电话外呼</div> --> <div class="sport">电话外呼</div> -->
<div v-if="$route.query.taskType == 'PHONE_OUTBOUND'"> <div v-if="$route.query.taskType == 'PHONE_OUTBOUND'">
<div class="sport">电话外呼</div> <div class="sport">电话外呼</div>
<div class="nexttime"> <div class="nexttime">
@ -204,14 +343,17 @@
:model="formlist" :model="formlist"
label-width="110px" label-width="110px"
:inline="true" :inline="true"
> >
<!-- <br/> --> <!-- <br/> -->
<el-form-item label="是否接通" prop="phone"> <el-form-item label="是否接通" prop="phone">
<el-radio v-model="formlist.phoneConnectStatus" label="CONNECTED" <el-radio
v-model="formlist.phoneConnectStatus"
label="CONNECTED"
>已接通</el-radio >已接通</el-radio
> >
<el-radio v-model="formlist.phoneConnectStatus" label="NOTCONNECTED" <el-radio
v-model="formlist.phoneConnectStatus"
label="NOTCONNECTED"
>未接通</el-radio >未接通</el-radio
> >
</el-form-item> </el-form-item>
@ -276,7 +418,7 @@
<el-radio disabled v-model="formlist.phonePushSign" label="1" <el-radio disabled v-model="formlist.phonePushSign" label="1"
>已开启</el-radio >已开启</el-radio
> >
<el-radio disabled v-model="formlist.phonePushSign" label="0" <el-radio disabled v-model="formlist.phonePushSign" label="0"
>未开启</el-radio >未开启</el-radio
> >
</el-form-item> </el-form-item>
@ -328,25 +470,23 @@
/> --> /> -->
</el-form-item> </el-form-item>
<br /> <br />
<div class="pushMethod"> <div class="pushMethod">
<el-form-item label="短信模板:" prop="phone"> <el-form-item label="短信模板:" prop="phone">
<span class="spanname"> <span class="spanname">
<message <message
style="width: 200px;height: 10px;" style="width: 200px; height: 10px"
@on-template="messageontemplateMESSAGE" @on-template="messageontemplateMESSAGE"
:templateId="formlist.phoneMessageTemplateId" :templateId="formlist.phoneMessageTemplateId"
:templateName="formlist.phoneMessageTemplateName" :templateName="formlist.phoneMessageTemplateName"
></message> ></message>
</span> </span>
</el-form-item>
</el-form-item> </div>
</div> <br />
<br/>
<el-form-item label="话术图" prop="phone"> <el-form-item label="话术图" prop="phone">
<img <img
:src="formlist.scriptFilePath" :src="formlist.scriptFilePath"
style="width: 250px; height: 200px" style="width: 250px; height: 200px"
/> />
</el-form-item> </el-form-item>
<br /> <br />
@ -376,10 +516,20 @@
<div class="sport">文字提醒</div> <div class="sport">文字提醒</div>
<div class="nexttime"> <div class="nexttime">
<el-form ref="form" :model="formlists" label-width="110px" :inline="true"> <el-form
ref="form"
:model="formlists"
label-width="110px"
:inline="true"
>
<el-form-item label="提醒内容" prop="textRemindContent"> <el-form-item label="提醒内容" prop="textRemindContent">
<el-input disabled type="textarea" style="width: 500px" v-model="formlists.textRemindContent" <el-input
placeholder="请输入提醒内容" /> disabled
type="textarea"
style="width: 500px"
v-model="formlists.textRemindContent"
placeholder="请输入提醒内容"
/>
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>
@ -430,8 +580,8 @@ export default {
formlist: {}, formlist: {},
materialsFilePath: "", materialsFilePath: "",
materialsType: "", materialsType: "",
optionslistS:[], optionslistS: [],
optionslist:[], optionslist: [],
}; };
}, },
created() { created() {
@ -460,18 +610,18 @@ export default {
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){ 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) {
this.formlist.phonePushSign='1' this.formlist.phonePushSign = '1'
} }
} }
}); });
} }
}, },
methods: { methods: {
// //
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;
@ -594,13 +744,15 @@ export default {
}; };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
::v-deep iframe{ ::v-deep iframe {
width:100%; width: 100%;
height: 500px; height: 500px;
} }
.tk { .tk {
::v-deep .el-textarea__inner { ::v-deep .el-textarea__inner {
margin: 20px 0 10px 30px; margin: 20px 0 10px 30px;
width: 35% !important;
height: 100px;
} }
} }
@ -683,8 +835,18 @@ export default {
.right { .right {
width: 70%; width: 70%;
height: 500px; padding-bottom: 30px;
// background: yellow; .handle {
float: right;
margin-right: 50px;
// position: absolute;
margin-top: 20px;
::v-deep .el-textarea__inner {
width: 350px;
height: 250px;
}
}
} }
.header { .header {
@ -692,7 +854,6 @@ export default {
padding-top: 10px; padding-top: 10px;
height: calc(100vh - 84px); height: calc(100vh - 84px);
::v-deep .el-tabs__header { ::v-deep .el-tabs__header {
margin: 0 !important; margin: 0 !important;
width: 100%; width: 100%;