任务待办
This commit is contained in:
parent
d36a06e7c4
commit
0b881c9817
@ -55,9 +55,11 @@ export function questionname(id) {
|
||||
}
|
||||
|
||||
// 入院记录
|
||||
export function selectVisitRecord(id) {
|
||||
export function selectVisitRecord(query) {
|
||||
return request({
|
||||
url: `/system/taskExecuteRecord/selectVisitRecord?id=${id}` ,
|
||||
method: 'get'
|
||||
url: `/system/taskExecuteRecord/selectVisitRecord` ,
|
||||
method: 'get',
|
||||
params: query
|
||||
|
||||
})
|
||||
}
|
||||
|
||||
1155
src/views/manage/components/Taskprocess.vue
Normal file
1155
src/views/manage/components/Taskprocess.vue
Normal file
File diff suppressed because it is too large
Load Diff
@ -208,6 +208,8 @@ export default {
|
||||
background-color: #fff !important;
|
||||
padding: 0 !important;
|
||||
display: flex;
|
||||
height: calc(100vh - 84px);
|
||||
|
||||
|
||||
.rightheader {
|
||||
width: 75%;
|
||||
|
||||
@ -318,10 +318,11 @@ export default {
|
||||
methods: {
|
||||
getlist() {
|
||||
// console.log(this.$route.query)
|
||||
// console.log(this.phoneNodeContent)
|
||||
// console.log(this.phoneNodeContent,'this.form = JSON.parse(this.phoneNodeContent)')
|
||||
// getFlowScheme(this.$route.query.id).then(res => {
|
||||
// this.form = JSON.parse(this.$route.query.id)
|
||||
this.form = JSON.parse(this.phoneNodeContent);
|
||||
if(this.phoneNodeContent){
|
||||
this.form = JSON.parse(this.phoneNodeContent);
|
||||
this.editor.getCurrentPage().read(this.form);
|
||||
// })
|
||||
},
|
||||
|
||||
@ -947,6 +947,8 @@ export default {
|
||||
this.$router.push({
|
||||
path: "/task/followupsee",
|
||||
query: {
|
||||
dataile:'handel',
|
||||
|
||||
path: "/task/followup",
|
||||
patientId: row.patientId,
|
||||
taskNodeType: row.taskNodeType,
|
||||
@ -980,6 +982,7 @@ export default {
|
||||
this.$router.push({
|
||||
path: "/task/followupdetails",
|
||||
query: {
|
||||
dataile:'dataile',
|
||||
path: "/task/followup",
|
||||
patientId: row.patientId,
|
||||
taskNodeType: row.taskNodeType,
|
||||
|
||||
@ -17,14 +17,18 @@
|
||||
<div class="name">
|
||||
{{ list.patientName }}
|
||||
</div>
|
||||
<div class="gender">
|
||||
{{ list.sex == "MALE" ? "男" : list.sex == "FEMALE" ? "女" : "" }}
|
||||
</div>
|
||||
<div class="age">
|
||||
{{ list.age }}
|
||||
</div>
|
||||
<div class="source">
|
||||
<div class="item" @click="submit">
|
||||
<div class="gender">
|
||||
{{ list.sex == "MALE" ? "男" : list.sex == "FEMALE" ? "女" : "" }}
|
||||
</div>
|
||||
<div class="gender">身份证号:{{ list.cardNo }}</div>
|
||||
<div class="gender">患者电话:{{ list.patientPhone }}</div>
|
||||
<div class="gender">出生日期:{{ list.birthDate }}</div>
|
||||
|
||||
<div class="source" v-if="activeName == 'six' && $route.query.dataile=='handel'">
|
||||
<div class="item" @click="submitbut">
|
||||
<el-button plain>保存</el-button>
|
||||
</div>
|
||||
<div class="item" @click="cencal">
|
||||
@ -32,699 +36,110 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="informationnew">
|
||||
<div class="top">
|
||||
<div>身份证号:{{ list.cardNo }}</div>
|
||||
<div>患者电话:{{ list.patientPhone }}</div>
|
||||
<div style="width: 50%">出生日期:{{ list.birthDate }}</div>
|
||||
</div>
|
||||
<div class="bottom">
|
||||
<div>家属电话:{{ list.familyMemberPhone }}</div>
|
||||
<div style="width: 50%">住址:{{ list.address }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="bottomheader">
|
||||
<div style="display: flex">
|
||||
<!-- 问卷模板 -->
|
||||
<div
|
||||
class="right"
|
||||
v-if="$route.query.taskNodeType == 'QUESTIONNAIRE_SCALE'"
|
||||
<el-tabs v-model="activeName">
|
||||
<el-tab-pane label="就诊记录" name="first">
|
||||
<visitRecords></visitRecords>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="康复计划及记录" name="second">
|
||||
<RehabilitationPlanandRecords
|
||||
v-if="activeName == 'second'"
|
||||
ref="childRef"
|
||||
class="testClass"
|
||||
></RehabilitationPlanandRecords>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="健康宣教" name="third">
|
||||
<healthEducation v-if="activeName == 'third'"></healthEducation>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="指标监测" name="fourth">
|
||||
<indicatorMonitoring
|
||||
v-if="activeName == 'fourth'"
|
||||
></indicatorMonitoring>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="签约记录" name="five">
|
||||
<signingRecords v-if="activeName == 'five'"></signingRecords>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane
|
||||
label="任务处理"
|
||||
name="six"
|
||||
v-if="$route.query.dataile == 'handel'"
|
||||
>
|
||||
<div
|
||||
class="handle"
|
||||
v-if="$route.query.taskNodeType == 'QUESTIONNAIRE_SCALE'"
|
||||
>
|
||||
<el-form
|
||||
:inline="true"
|
||||
class="demo-form-inline"
|
||||
:model="questiondata"
|
||||
:rules="rules"
|
||||
ref="questiondata"
|
||||
>
|
||||
<el-form-item label="任务处理信息" prop="routeHandleRemark">
|
||||
<el-input
|
||||
type="textarea"
|
||||
placeholder="请输入任务处理信息"
|
||||
v-model="questiondata.routeHandleRemark"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
|
||||
<div
|
||||
class="sport"
|
||||
v-if="$route.query.taskNodeType == 'QUESTIONNAIRE_SCALE'"
|
||||
>
|
||||
问卷模板: Barthel指数评定问卷
|
||||
</div>
|
||||
<div
|
||||
class="words"
|
||||
v-if="$route.query.taskNodeType == 'QUESTIONNAIRE_SCALE'"
|
||||
>
|
||||
您好!本问卷用于评估日常生活能力,请根据自身日常实际表现选择合适的选项。
|
||||
</div>
|
||||
<!--
|
||||
<div
|
||||
class="sport"
|
||||
v-if="$route.query.taskNodeType == 'ARTIFICIAL_FOLLOW_UP'"
|
||||
>
|
||||
人工随访模板: 神经内科人工随访
|
||||
</div>
|
||||
<div
|
||||
class="words"
|
||||
v-if="$route.query.taskNodeType == 'ARTIFICIAL_FOLLOW_UP'"
|
||||
>
|
||||
**您好!
|
||||
</div>
|
||||
<div
|
||||
class="words"
|
||||
v-if="$route.query.taskNodeType == 'ARTIFICIAL_FOLLOW_UP'"
|
||||
>
|
||||
我是✕✕医院的工作人员,今天给您打电话想要了解一下您的恢复情况。
|
||||
</div> -->
|
||||
|
||||
<div
|
||||
class="words"
|
||||
v-for="(item, index) in questiondata.questionSubjectList"
|
||||
:key="index"
|
||||
>
|
||||
{{ index + 1 }}.{{ item.questionName }}
|
||||
<span v-if="item.questionType == 'MULTIPLE_CHOICE'"
|
||||
>(单选题)</span
|
||||
>
|
||||
<span v-if="item.questionType == 'MULTIPLE_CHOICE_QUESTIONS'"
|
||||
>(多选题)</span
|
||||
>
|
||||
<span v-if="item.questionType == 'SCORING_QUESTIONS'"
|
||||
>(打分题)</span
|
||||
>
|
||||
<span v-if="item.questionType == 'COMBINATION_RADIO_SUBJECT'"
|
||||
>(组合单选题)</span
|
||||
>
|
||||
<span v-if="item.questionType == 'COMBINATION_MULTIPLE_SUBJECT'"
|
||||
>(组合多选题)</span
|
||||
>
|
||||
<span v-if="item.questionType == 'COMBINATION_BLANKS_SUBJECT'"
|
||||
>(组合填空题)</span
|
||||
>
|
||||
<span v-if="item.questionType == 'FILL_IN_THE_BLANKS'"
|
||||
>(填空题)</span
|
||||
>
|
||||
<span v-if="item.questionType == 'COMBINATION_SCORING_SUBJECT'"
|
||||
>(组合打分题)</span
|
||||
>
|
||||
<span v-if="item.questionType == 'DATE_BLANKS_SUBJECT'"
|
||||
>(日期填空题)</span
|
||||
>
|
||||
<span v-if="item.questionType == 'TIME_BLANKS_SUBJECT'"
|
||||
>(时间填空题)</span
|
||||
>
|
||||
<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="questiondata[index]"
|
||||
class="custom-radio-group"
|
||||
@change="radioGroupChange($event, item)"
|
||||
>
|
||||
<el-radio
|
||||
class="custom"
|
||||
v-for="(aitem, aindex) in item.questionSubjectOptionList"
|
||||
:key="aindex"
|
||||
:label="aitem.id"
|
||||
@change="radioChange($event, aitem, index)"
|
||||
>{{ aitem.optionName }}</el-radio
|
||||
>
|
||||
</el-radio-group>
|
||||
<!-- 多选、组合多选 -->
|
||||
<el-checkbox-group
|
||||
v-model="checkeddata"
|
||||
@change="radioGroupChange($event, item, 'checkbox')"
|
||||
v-if="
|
||||
item.questionType == 'MULTIPLE_CHOICE_QUESTIONS' ||
|
||||
item.questionType == 'COMBINATION_MULTIPLE_SUBJECT'
|
||||
"
|
||||
>
|
||||
<el-checkbox
|
||||
v-for="(aitem, aindex) in item.questionSubjectOptionList"
|
||||
:key="aindex"
|
||||
:label="aitem.id"
|
||||
@change="radioChangecheck($event, aitem, index, aindex)"
|
||||
>{{ aitem.optionName }}</el-checkbox
|
||||
>
|
||||
</el-checkbox-group>
|
||||
<!-- 填空题、组合填空 -->
|
||||
<div
|
||||
v-if="
|
||||
item.questionType == 'FILL_IN_THE_BLANKS' ||
|
||||
item.questionType == 'COMBINATION_BLANKS_SUBJECT'
|
||||
"
|
||||
class="tk"
|
||||
>
|
||||
<el-input
|
||||
v-model="item.fillBlanksAnswer"
|
||||
placeholder="请输入答案"
|
||||
type="textarea"
|
||||
/>
|
||||
<!-- <el-input></el-input> -->
|
||||
</div>
|
||||
<!-- 日期填空题、 -->
|
||||
<div
|
||||
v-if="item.questionType == 'DATE_BLANKS_SUBJECT'"
|
||||
style="margin: 20px 0 10px 30px"
|
||||
>
|
||||
<el-date-picker
|
||||
@change="timepicker($event, index)"
|
||||
clearable
|
||||
v-model="item.fillBlanksAnswer"
|
||||
type="date"
|
||||
value-format="yyyy-MM-dd"
|
||||
placeholder="选择日期"
|
||||
>
|
||||
</el-date-picker>
|
||||
</div>
|
||||
<!-- 时间填空题 -->
|
||||
<div
|
||||
style="margin: 20px 0 10px 30px"
|
||||
v-if="item.questionType == 'TIME_BLANKS_SUBJECT'"
|
||||
>
|
||||
<el-time-select
|
||||
@change="timepickerselect($event, index)"
|
||||
clearable
|
||||
v-model="item.fillBlanksAnswer"
|
||||
:picker-options="{
|
||||
start: '08:30',
|
||||
step: '00:30',
|
||||
end: '23:30',
|
||||
}"
|
||||
placeholder="选择时间"
|
||||
>
|
||||
</el-time-select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div class="right_top" v-if="$route.query.taskNodeType == 'QUESTIONNAIRE_SCALE' ||
|
||||
$route.query.taskNodeType == 'ARTIFICIAL_FOLLOW_UP'
|
||||
">
|
||||
<div style="float: right; margin-top: 20px" v-if="$route.query.taskNodeType == 'QUESTIONNAIRE_SCALE' ||
|
||||
$route.query.taskNodeType == 'ARTIFICIAL_FOLLOW_UP'
|
||||
">
|
||||
<el-form :inline="true" class="demo-form-inline" :model="questiondata" :rules="rules" ref="questiondata">
|
||||
<el-form-item label="任务处理信息" prop="routeHandleRemark">
|
||||
<el-input type="textarea" placeholder="请输入任务处理信息" v-model="questiondata.routeHandleRemark" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</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 v-if="$route.query.taskNodeType == 'PHONE_OUTBOUND'">
|
||||
<div class="sport">电话外呼</div>
|
||||
<div class="nexttime">
|
||||
<el-form
|
||||
ref="formlist"
|
||||
:model="formlist"
|
||||
label-width="110px"
|
||||
:inline="true"
|
||||
:rules="rulesphone"
|
||||
>
|
||||
<!-- <br/> -->
|
||||
<el-form-item label="电话" prop="patientPhone">
|
||||
<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>
|
||||
<br />
|
||||
<el-form-item label="重复次数" prop="phoneRedialTimes">
|
||||
<el-input
|
||||
disabled
|
||||
v-model="formlist.phoneRedialTimes"
|
||||
placeholder=""
|
||||
/>
|
||||
</el-form-item>
|
||||
<br />
|
||||
<el-form-item label="电话短信提醒" prop="phoneMessageRemind">
|
||||
<el-input
|
||||
disabled
|
||||
v-model="formlist.phoneMessageRemind"
|
||||
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>
|
||||
<br />
|
||||
<el-form-item label="短信模板内容" prop="phoneMessageTemplateContent">
|
||||
<el-input
|
||||
disabled
|
||||
type="textarea"
|
||||
v-model="formlist.phoneMessageTemplateContent"
|
||||
style="width: 500px"
|
||||
placeholder=""
|
||||
/>
|
||||
</el-form-item>
|
||||
<br />
|
||||
<el-form-item label="话术图" prop="phone">
|
||||
<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>
|
||||
<br />
|
||||
</el-form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<keep-alive>
|
||||
<Taskprocess v-if="activeName == 'six'" ref="process"></Taskprocess>
|
||||
</keep-alive>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane
|
||||
label="任务待办详情"
|
||||
name="six"
|
||||
v-if="$route.query.dataile == 'dataile'"
|
||||
>
|
||||
<keep-alive>
|
||||
<Taskprocess v-if="activeName == 'six'" ref="process"></Taskprocess>
|
||||
</keep-alive>
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import message from "../components/message.vue";
|
||||
import Scriptpreview from ".././components/Scriptpreviewopen.vue";
|
||||
|
||||
import visitRecords from '../../manage/components/visitRecords.vue'
|
||||
import healthEducation from '../../manage/components/healthEducation.vue';
|
||||
import indicatorMonitoring from '../../manage/components/indicatorMonitoring.vue';
|
||||
import signingRecords from '../../manage/components/signingRecords.vue';
|
||||
import RehabilitationPlanandRecords from '../../manage/components/RehabilitationPlanandRecords.vue';
|
||||
import Taskprocess from '../../manage/components/Taskprocess.vue';
|
||||
import {
|
||||
selectFollowPatientInfo,
|
||||
question,
|
||||
addPatientQuestionResult,
|
||||
selectPhonePush,
|
||||
} from "@/api/system/followupsee";
|
||||
import { getScript } from "@/api/manage/script";
|
||||
import Cookies from "js-cookie";
|
||||
import { getAgencytype } from "@/api/system/agency";
|
||||
|
||||
} from "@/api/system/followupsee";
|
||||
export default {
|
||||
components: {
|
||||
message,
|
||||
Scriptpreview,
|
||||
//就诊记录
|
||||
visitRecords,
|
||||
//健康宣教
|
||||
healthEducation,
|
||||
//指标监测
|
||||
indicatorMonitoring,
|
||||
// 签约记录
|
||||
signingRecords,
|
||||
//康复计划
|
||||
RehabilitationPlanandRecords,
|
||||
// 任务处理
|
||||
Taskprocess
|
||||
},
|
||||
name: "patientdetails",
|
||||
|
||||
data() {
|
||||
return {
|
||||
lookshow: false,
|
||||
activeName: 'six',
|
||||
phoneNodeContent: {
|
||||
scriptInfoId: null,
|
||||
flowScheme: null,
|
||||
nodes: [],
|
||||
edges: [],
|
||||
},
|
||||
optionslist: [],
|
||||
obj: {},
|
||||
radio: "1",
|
||||
checkList: [],
|
||||
checked: false,
|
||||
formlist: {},
|
||||
optionslistS: [],
|
||||
form: {
|
||||
taskNodeType: this.$route.query.taskNodeType,
|
||||
routeHandleId: Cookies.get("userId"),
|
||||
routeHandlePerson: Cookies.get("userName"),
|
||||
routeHandleRemark: null,
|
||||
patientId: this.$route.query.patientId,
|
||||
manageRouteId: this.$route.query.manageRouteId,
|
||||
manageRouteNodeId: this.$route.query.manageRouteNodeId,
|
||||
patientName: this.$route.query.patientName,
|
||||
manageRouteName: this.$route.query.manageRouteName,
|
||||
manageRouteNodeName: this.$route.query.manageRouteNodeName,
|
||||
departmentId: null,
|
||||
departmentName: null,
|
||||
diseaseTypeId: null,
|
||||
diseaseTypeName: null,
|
||||
},
|
||||
rules: {
|
||||
routeHandleRemark: [
|
||||
{ required: true, message: "请输入任务处理信息", trigger: "blur" },
|
||||
],
|
||||
},
|
||||
rulesphone: {
|
||||
routeHandleRemark: [
|
||||
{ required: true, message: "请输入任务处理信息", trigger: "blur" },
|
||||
],
|
||||
},
|
||||
radio: "B",
|
||||
id: "",
|
||||
list: [],
|
||||
type: "",
|
||||
checkeddata: [],
|
||||
questiondata: {
|
||||
totalScore: 0, //总分
|
||||
routeHandlePerson: null,
|
||||
routeHandleId: null,
|
||||
},
|
||||
parentDictCode: "",
|
||||
};
|
||||
},
|
||||
|
||||
created() {
|
||||
this.id = this.$route.query.manageRouteId;
|
||||
this.info();
|
||||
this.infolistword();
|
||||
if (this.$route.query.taskNodeType == "QUESTIONNAIRE_SCALE") {
|
||||
this.questioninfo();
|
||||
} else if (this.$route.query.taskNodeType == "PHONE_OUTBOUND") {
|
||||
selectPhonePush(this.$route.query.manageRouteNodeId).then((response) => {
|
||||
if (response.data) {
|
||||
this.formlist = response.data;
|
||||
this.formlist.phoneRedialTimes = response.data.phoneRedialTimes;
|
||||
this.formlist.phoneMessageRemind = response.data.phoneMessageRemind;
|
||||
this.formlist.phoneTemplateId = response.data.phoneTemplateId;
|
||||
this.formlist.phoneConnectStatus = 'CONNECTED';
|
||||
this.info()
|
||||
|
||||
this.formlist.phoneDialMethod = response.data.phoneDialMethod
|
||||
this.formlist.phoneMessageTemplateCode = response.data.phoneMessageTemplateCode
|
||||
this.formlist.phoneMessageTemplateContent = response.data.phoneMessageTemplateContent
|
||||
this.formlist.patientPhone = response.data.patientPhone
|
||||
|
||||
this.infolistMESSAGE();
|
||||
this.infolistword();
|
||||
if (this.formlist.phonePushSign == 0) {
|
||||
this.formlist.phonePushSign = "0";
|
||||
} else if (this.formlist.phonePushSign == 1) {
|
||||
this.formlist.phonePushSign = "1";
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
scriptlook(e) {
|
||||
console.log(e, "eeeeee");
|
||||
if (e == null || e == "") {
|
||||
this.$message.error("暂无话术图");
|
||||
} else {
|
||||
this.phoneNodeContent = e;
|
||||
this.lookshow = true;
|
||||
}
|
||||
},
|
||||
// 发送短信
|
||||
infolistword() {
|
||||
var dictType = "text_message_remind";
|
||||
getAgencytype(dictType).then((res) => {
|
||||
this.optionslist = res.data;
|
||||
// this.taskinfo();
|
||||
this.formlist.phoneMessageRemind = this.optionslist.find(
|
||||
(el) => el.dictValue == this.formlist.phoneMessageRemind
|
||||
)?.dictLabel;
|
||||
});
|
||||
},
|
||||
|
||||
// 短信
|
||||
messageontemplateMESSAGE(item) {
|
||||
console.log(item, "2222222");
|
||||
this.formlist.phoneMessageTemplateId = item.templateId;
|
||||
this.formlist.phoneMessageTemplateName = item.templateName;
|
||||
// this.form.messagePreview = item.templateContent;
|
||||
},
|
||||
// 重复次数
|
||||
infolistMESSAGE() {
|
||||
var dictType = "redial_times";
|
||||
getAgencytype(dictType).then((res) => {
|
||||
this.optionslistS = res.data;
|
||||
this.formlist.phoneRedialTimes = this.optionslistS.find(
|
||||
(el) => el.dictValue == this.formlist.phoneRedialTimes
|
||||
)?.dictLabel;
|
||||
});
|
||||
},
|
||||
// 日期填空题
|
||||
timepicker(e, index) {
|
||||
this.questiondata.questionSubjectList[index].fillBlanksAnswer = e;
|
||||
},
|
||||
// 时间填空题
|
||||
timepickerselect(e, index) {
|
||||
this.questiondata.questionSubjectList[index].fillBlanksAnswer = e;
|
||||
},
|
||||
radioGroupChange(e, item) {},
|
||||
// 选中某个单选框时,由radio时触发
|
||||
radioChange(e, item, index) {
|
||||
console.log(e, item, index, "选中某个单选框时");
|
||||
this.questiondata.questionSubjectList[
|
||||
index
|
||||
].questionSubjectOptionList.forEach((el) => {
|
||||
if (el.id == item.id) {
|
||||
el.optionChooseSign = "0";
|
||||
} else {
|
||||
el.optionChooseSign = "1";
|
||||
}
|
||||
});
|
||||
console.log(this.questiondata, "this.questiondata");
|
||||
this.questiondata;
|
||||
},
|
||||
// 复选框
|
||||
radioChangecheck(e, item, index, aindex) {
|
||||
console.log(e, item, index, "选中某个复选框时");
|
||||
if (e == true) {
|
||||
this.questiondata.questionSubjectList[index].questionSubjectOptionList[
|
||||
aindex
|
||||
].optionChooseSign = "0";
|
||||
} else {
|
||||
this.questiondata.questionSubjectList[index].questionSubjectOptionList[
|
||||
aindex
|
||||
].optionChooseSign = "1";
|
||||
}
|
||||
},
|
||||
info() {
|
||||
selectFollowPatientInfo(this.id).then((res) => {
|
||||
selectFollowPatientInfo(this.$route.query.manageRouteId).then((res) => {
|
||||
this.list = res.data;
|
||||
});
|
||||
},
|
||||
questioninfo() {
|
||||
question(this.$route.query.templateId).then((res) => {
|
||||
this.questiondata = res.data;
|
||||
this.questiondata.questionInfoId = res.data.id;
|
||||
this.questiondata.routeHandlePerson = Cookies.get("userName");
|
||||
this.questiondata.routeHandleId = Cookies.get("userId");
|
||||
this.questiondata.patientId = this.$route.query.patientId;
|
||||
this.questiondata.manageRouteId = this.$route.query.manageRouteId;
|
||||
this.questiondata.manageRouteNodeId =
|
||||
this.$route.query.manageRouteNodeId;
|
||||
this.questiondata.patientName = this.$route.query.patientName;
|
||||
this.questiondata.manageRouteName = this.$route.query.manageRouteName;
|
||||
this.questiondata.manageRouteNodeName =
|
||||
this.$route.query.manageRouteNodeName;
|
||||
this.questiondata.taskNodeType = this.$route.query.taskNodeType;
|
||||
this.questiondata.visitRecordId = this.$route.query.visitRecordId;
|
||||
this.questiondata.totalScore = 0;
|
||||
this.questiondata.questionSubjectList.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 {
|
||||
e.whetherScore = "0";
|
||||
}
|
||||
e.questionSubjectOptionList.forEach((el) => {
|
||||
el.questionNumber = e.questionNumber;
|
||||
if (
|
||||
e.questionType == "MULTIPLE_CHOICE_QUESTIONS" ||
|
||||
e.questionType == "COMBINATION_MULTIPLE_SUBJECT"
|
||||
) {
|
||||
el.optionChooseSign = "1";
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
},
|
||||
// 保存
|
||||
|
||||
/** 提交按钮 */
|
||||
submit() {
|
||||
// return
|
||||
if (this.$route.query.taskNodeType == "QUESTIONNAIRE_SCALE") {
|
||||
// 对象.新名字=对象.原数组
|
||||
this.$delete(this.questiondata, "updateBy");
|
||||
this.$delete(this.questiondata, "updateTime");
|
||||
var score = 0;
|
||||
// 单选、多选、打分分值
|
||||
this.questiondata.questionSubjectList.forEach((e) => {
|
||||
if (e.questionSubjectOptionList?.length > 0) {
|
||||
e.questionSubjectOptionList.forEach((el) => {
|
||||
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"
|
||||
) {
|
||||
if (el.optionChooseSign == "0") {
|
||||
score += el.optionScore;
|
||||
}
|
||||
}
|
||||
});
|
||||
// console.log(score, 'score')
|
||||
this.questiondata.totalScore = score;
|
||||
}
|
||||
});
|
||||
this.questiondata.subjectResultDTOList =
|
||||
this.questiondata.questionSubjectList;
|
||||
this.obj = JSON.parse(JSON.stringify(this.questiondata));
|
||||
delete this.obj.questionSubjectList;
|
||||
this.obj.subjectResultDTOList.forEach((e) => {
|
||||
e.optionResultList = e.questionSubjectOptionList;
|
||||
if (e.optionResultList.optionSubmitAnswer) {
|
||||
e.optionResultList.optionSubmitAnswer =
|
||||
e.optionResultList.optionSubmitAnswer;
|
||||
}
|
||||
// this.$delete(this.obj, '0', '')
|
||||
delete e.questionSubjectOptionList;
|
||||
});
|
||||
// console.log(this.obj, 'obj')
|
||||
} else if (this.$route.query.taskNodeType == "ARTIFICIAL_FOLLOW_UP") {
|
||||
console.log(this.questiondata, "questiondata");
|
||||
// 对象.新名字=对象.原数组
|
||||
this.$delete(this.questiondata, "updateBy");
|
||||
this.$delete(this.questiondata, "updateTime");
|
||||
this.questiondata.subjectResultDTOList =
|
||||
this.questiondata.questionSubjectList;
|
||||
this.obj = JSON.parse(JSON.stringify(this.questiondata));
|
||||
delete this.obj.questionSubjectList;
|
||||
this.obj.subjectResultDTOList.forEach((e) => {
|
||||
e.optionResultList = e.questionSubjectOptionList;
|
||||
if (e.optionResultList.optionSubmitAnswer) {
|
||||
e.optionResultList.optionSubmitAnswer =
|
||||
e.optionResultList.optionSubmitAnswer;
|
||||
}
|
||||
// this.$delete(this.obj, '0', '')
|
||||
delete e.questionSubjectOptionList;
|
||||
});
|
||||
// this.$delete(this.obj, 'totalScore',)
|
||||
}
|
||||
// 问卷、随访
|
||||
if (this.$route.query.taskNodeType == "QUESTIONNAIRE_SCALE") {
|
||||
// console.log(this.obj, 'objobj')
|
||||
// return
|
||||
this.$refs["questiondata"].validate((valid) => {
|
||||
if (valid) {
|
||||
addPatientQuestionResult(this.obj).then((response) => {
|
||||
this.$confirm("保存成功, 是否返回上一页?", "提示", {
|
||||
confirmButtonText: "确定",
|
||||
cancelButtonText: "取消",
|
||||
type: "success",
|
||||
})
|
||||
.then(() => {
|
||||
this.$store
|
||||
.dispatch("tagsView/delView", this.$route)
|
||||
.then(({ visitedViews }) => {
|
||||
this.$router.push({
|
||||
path: "/task/followup",
|
||||
});
|
||||
});
|
||||
})
|
||||
.catch(() => {
|
||||
this.$modal.msgSuccess("保存成功");
|
||||
});
|
||||
});
|
||||
}
|
||||
});
|
||||
} else if (this.$route.query.taskNodeType == "PHONE_OUTBOUND") {
|
||||
this.$refs["formlist"].validate((valid) => {
|
||||
if (valid) {
|
||||
this.form.phoneMessageRemind = this.optionslist.find(
|
||||
(el) => el.dictLabel == this.formlist.phoneMessageRemind
|
||||
)?.dictValue;
|
||||
this.form.phoneRedialTimes = this.optionslistS.find(
|
||||
(el) => el.dictLabel == this.formlist.phoneRedialTimes
|
||||
)?.dictValue;
|
||||
(this.form.departmentId = this.formlist.departmentId),
|
||||
(this.form.departmentName = this.formlist.departmentName),
|
||||
(this.form.diseaseTypeId = this.formlist.diseaseTypeId),
|
||||
(this.form.diseaseTypeName = this.formlist.diseaseTypeName),
|
||||
(this.form.routeHandleRemark = this.formlist.routeHandleRemark);
|
||||
this.form.phoneConnectStatus = this.formlist.phoneConnectStatus;
|
||||
this.form.visitRecordId = this.$route.query.visitRecordId;
|
||||
|
||||
this.form.phoneDialMethod = this.formlist.phoneDialMethod
|
||||
this.form.phoneMessageTemplateCode = this.formlist.phoneMessageTemplateCode
|
||||
this.form.phoneMessageTemplateContent = this.formlist.phoneMessageTemplateContent
|
||||
this.form.phoneTemplateId = this.formlist.phoneTemplateId
|
||||
this.form.patientPhone = this.formlist.patientPhone
|
||||
var formlists = JSON.parse(JSON.stringify(this.form));
|
||||
// return;
|
||||
addPatientQuestionResult(formlists).then((response) => {
|
||||
this.$confirm("保存成功, 是否返回上一页?", "提示", {
|
||||
confirmButtonText: "确定",
|
||||
cancelButtonText: "取消",
|
||||
type: "success",
|
||||
})
|
||||
.then(() => {
|
||||
this.$store
|
||||
.dispatch("tagsView/delView", this.$route)
|
||||
.then(({ visitedViews }) => {
|
||||
this.$router.push({
|
||||
path: "/task/followup",
|
||||
});
|
||||
});
|
||||
})
|
||||
.catch(() => {
|
||||
this.$modal.msgSuccess("保存成功");
|
||||
});
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
submitbut() {
|
||||
this.$refs.process.submit()
|
||||
},
|
||||
// 取消
|
||||
cencal() {
|
||||
@ -732,13 +147,19 @@ export default {
|
||||
path: "/task/followup",
|
||||
});
|
||||
},
|
||||
handleClick(tab, event) {
|
||||
console.log(tab, event);
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
::v-deep .header {
|
||||
.richtext {
|
||||
height: calc(100vh - 262px) !important;
|
||||
}
|
||||
.rightheader {
|
||||
height: calc(100vh - 84px) !important;
|
||||
}
|
||||
}
|
||||
|
||||
::v-deep .custom-radio-group {
|
||||
width: 25%;
|
||||
// background: red;
|
||||
@ -859,82 +280,12 @@ export default {
|
||||
// height: 500px;
|
||||
// background: red;
|
||||
}
|
||||
|
||||
.bottomheader {
|
||||
height: calc(100vh - 274px);
|
||||
overflow-y: auto;
|
||||
width: 99%;
|
||||
// height: 65vh;
|
||||
background-color: #fff;
|
||||
margin: 10px auto;
|
||||
padding: 10px 20px;
|
||||
|
||||
.sport {
|
||||
padding: 10px 50px 10px 10px;
|
||||
font-size: 20px;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.words {
|
||||
font-size: 15px;
|
||||
padding: 10px 50px 10px 10px;
|
||||
}
|
||||
|
||||
.sports {
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
transform: translate(-50%);
|
||||
font-size: 18px;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.word {
|
||||
font-size: 14px;
|
||||
font-weight: 550;
|
||||
padding: 50px 50px 10px 10px;
|
||||
}
|
||||
|
||||
.videoleft {
|
||||
width: 40%;
|
||||
height: 200px;
|
||||
background: red;
|
||||
}
|
||||
|
||||
.time {
|
||||
font-size: 20px;
|
||||
font-weight: 550;
|
||||
padding: 10px 50px 10px 10px;
|
||||
}
|
||||
|
||||
.number {
|
||||
width: 25px;
|
||||
height: 25px;
|
||||
text-align: center;
|
||||
display: inline-block;
|
||||
color: white;
|
||||
background: blue;
|
||||
border-radius: 50%;
|
||||
}
|
||||
|
||||
.nexttime {
|
||||
font-size: 15px;
|
||||
padding: 10px 50px 10px 10px;
|
||||
}
|
||||
|
||||
.images {
|
||||
width: 53%;
|
||||
height: 241px;
|
||||
margin: 0 auto;
|
||||
background: red;
|
||||
}
|
||||
|
||||
.attention {
|
||||
font-size: 14px;
|
||||
font-weight: 550;
|
||||
padding: 10px 50px 10px 10px;
|
||||
}
|
||||
}
|
||||
|
||||
.topheaderup {
|
||||
width: 99%;
|
||||
background-color: #fff;
|
||||
|
||||
@ -721,8 +721,10 @@ export default {
|
||||
},
|
||||
|
||||
info() {
|
||||
selectVisitRecord(this.$route.query.patientId).then((res) => {
|
||||
console.log(res);
|
||||
var obj={
|
||||
patientId:this.$route.query.patientId
|
||||
}
|
||||
selectVisitRecord(obj).then((res) => {
|
||||
this.list = res.data;
|
||||
});
|
||||
},
|
||||
|
||||
@ -324,7 +324,7 @@ export default {
|
||||
this.open = true;
|
||||
this.title = "添加患者管理任务执行记录";
|
||||
},
|
||||
/** 修改按钮操作 */
|
||||
/** 详情按钮操作 */
|
||||
handleUpdate(row) {
|
||||
console.log(row);
|
||||
this.$router.push({
|
||||
|
||||
Loading…
Reference in New Issue
Block a user