|
@ -11,6 +11,11 @@
|
|
|
<link rel="stylesheet" type="text/css" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css" />
|
|
|
<link rel="stylesheet" type="text/css" href="../css/new_recover.css" />
|
|
|
<script src="../../../js/esModule.js" type="text/javascript"></script>
|
|
|
<style>
|
|
|
.c-row{
|
|
|
width: 100%;
|
|
|
}
|
|
|
</style>
|
|
|
</head>
|
|
|
<body class="m0">
|
|
|
<div id="app" v-cloak>
|
|
@ -40,7 +45,7 @@
|
|
|
<img :src="setPatImg(patiInfo.photo)" alt="居民头像" />
|
|
|
</div>
|
|
|
<h3 class="ptb10 m0 c-f16">{{patiInfo.name}}</h3>
|
|
|
<span class="c-position-a set-qiehuan cur-pit" @click="selectPatient()"></span>
|
|
|
<span v-if="!isEditConfig" class="c-position-a set-qiehuan cur-pit" @click="selectPatient()"></span>
|
|
|
</div>
|
|
|
<h4 class="h30 m0 c-f14 c-border-b f-w500">基本信息</h4>
|
|
|
<ul class="c-333 m0 p0 pb20">
|
|
@ -55,47 +60,13 @@
|
|
|
<li class="pt10"><span class="c-999">全科医生:</span>{{patiInfo.ssDoctorName || patiInfo.jtDoctorName}}</li>
|
|
|
<li class="pt10"><span class="c-999">健 管 师:</span>{{patiInfo.ssDoctorHealthName || patiInfo.jtDoctorHealthName}}</li>
|
|
|
</ul>
|
|
|
<!-- <h4 class="h30 m0 c-f14 c-border-b">诊疗信息</h4> -->
|
|
|
<!-- <ul class="c-333 m0 p0 pb20" >
|
|
|
<div class="input-group mtb10" >
|
|
|
<label style="transform: translateY(50%); color: #999999;font-weight: normal;">就诊事件:</label>
|
|
|
<div class="input-group-btn" style="width: 80%; transform: translateY(50%);top: -5px;">
|
|
|
<button style="width:223px;padding: 0; text-overflow: ellipsis; overflow: hidden;" v-bind:disabled="edit" type="button" class="btn btn-white dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
|
|
{{diagnosisInfo[indexOrder].orgName}}
|
|
|
<span class="caret" style="position: absolute; top: 50%; right: 20px; margin-top: -2px;"></span>
|
|
|
</button>
|
|
|
<ul class="dropdown-menu" style="min-width: 206px;" >
|
|
|
<li class="c-f14 c-border-b" style="text-align: center; padding: 2px;cursor:pointer;" v-for="(v, i) in diagnosisInfo" @click="orderHospital(i)" v-html="v.orgName"></li>
|
|
|
</ul>
|
|
|
</div>
|
|
|
</div>
|
|
|
<li class="pt10" style="display: flex;" id="department">
|
|
|
<label class="c-999" style="font-weight: normal;">入院科室:</label>
|
|
|
<input class="form-control" v-bind:disabled="edit" v-bind:value="nodata == true? '请输入': subsidiaryInfo.data.department" style=" text-align: center; height: 22px; border-radius: 3px; width: 80%;">
|
|
|
</li>
|
|
|
<li class="pt10" style="display: flex;" id="attendingDoctor">
|
|
|
<label class="c-999" style="font-weight: normal;">主治医师:</label>
|
|
|
<input class="form-control" v-bind:disabled="edit" v-bind:value="nodata == true? '请输入': subsidiaryInfo.data.attendingDoctor" style="text-align: center; height: 22px; border-radius: 3px; width: 80%;">
|
|
|
</li>
|
|
|
<li class="pt10" style="display: flex;" id="admissionDiagnosis">
|
|
|
<label class="c-999" style="font-weight: normal;">入院诊断:</label>
|
|
|
<input class="form-control" v-bind:disabled="edit" v-bind:value="nodata == true? '请输入': subsidiaryInfo.data.admissionDiagnosis" style="text-align: center; height: 22px; border-radius: 3px; width: 80%;">
|
|
|
</li>
|
|
|
<li class="pt10" style="display: flex;" id="dischargeDiagnosis">
|
|
|
<label class="c-999" style="font-weight: normal;">出院诊断:</label>
|
|
|
<input class="form-control" v-bind:disabled="edit" v-bind:value="nodata == true? '请输入': subsidiaryInfo.data.dischargeDiagnosis" style="text-align: center; height: 22px; border-radius: 3px; width: 80%;">
|
|
|
</li>
|
|
|
</ul> -->
|
|
|
<!-- <h4 class="h30 m0 c-f14 c-border-b c-999">医嘱小结</h4> -->
|
|
|
<!-- <textarea v-bind:disabled="edit" class="tipText m0 pt10 c-333 mt10" style="height: 200px; width: 100%; border:1px solid #e1e1e1; resize:none;text-indent:28px" v-html="subsidiaryInfo.data.dischargeOrder"></textarea> -->
|
|
|
<!-- <button type="button" class="btn btn-default fr" style="width: 60px; background: #12B7F5; border-radius: 0px ;border: 0px ;" @click="editdiagnosis()" v-html="edit == true? '编辑':'保存'"></button> -->
|
|
|
<h4 class="h30 m0 c-f14 c-border-b f-w500" style="overflow: hidden;">
|
|
|
康复建议
|
|
|
<span class="click-text" @click="editAdviceTextarea">
|
|
|
<span v-if="!isEditConfig" class="click-text" @click="editAdviceTextarea">
|
|
|
{{isEdit == true? '编辑':'保存'}}
|
|
|
</span>
|
|
|
</h4>
|
|
|
<textarea v-bind:disabled="isEdit" v-model="adviceContent" class="m0 p10 c-333 mt10" :class="{'bg-f5f5fa':isEdit, 'bd-red':showAdviceContentTip}" style="width: 100%;height: 200px; width: 100%; border:1px solid #e1e1e1; resize:none;" placeholder="请输入您的康复建议..."></textarea>
|
|
|
<textarea v-bind:disabled="isEdit||isEditConfig" v-model="adviceContent" class="m0 p10 c-333 mt10" :class="{'bg-f5f5fa':isEdit, 'bd-red':showAdviceContentTip}" style="width: 100%;height: 200px; width: 100%; border:1px solid #e1e1e1; resize:none;" placeholder="请输入您的康复建议..."></textarea>
|
|
|
<h4 class="h30 m0 c-f14 c-border-b f-w500" style="overflow: hidden;">
|
|
|
住院病历
|
|
|
</h4>
|
|
@ -109,11 +80,11 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<button type="button" class="btn btn-default fr" style="width: 100%; background: #12B7F5; border-radius: 0px ;border: 0px ;padding: 10px;margin-top: 15px;" @click="addMedicalRecords()">添加住院病历</button>
|
|
|
<button v-if="!isEditConfig" type="button" class="btn btn-default fr" style="width: 100%; background: #12B7F5; border-radius: 0px ;border: 0px ;padding: 10px;margin-top: 15px;" @click="addMedicalRecords()">添加住院病历</button>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="fl c-h100 w-100-400">
|
|
|
<div class="c-h100 plr5" v-if="!isPlan">
|
|
|
<div class="c-h100 plr5" v-if="!isPlan&&!isEditConfig">
|
|
|
<h4 class="m0 pl15 lh40 c-border-b f-w500 c-position-r"><span class="c-position-a set-blue-span"></span>配置康复计划</h4>
|
|
|
<div style="overflow: hidden; height: calc(100% - 41px);">
|
|
|
<div style="overflow: auto; height: 100%;">
|
|
@ -129,7 +100,7 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="clearfix c-h100" v-else>
|
|
|
<div class="fl w-100-400 c-h100">
|
|
|
<div class="fl c-h100" :class="{'c-row':isEditConfig, 'w-100-400':!isEditConfig}">
|
|
|
<div class="plr5 c-h100-79">
|
|
|
<h4 class="m0 pl15 lh40 c-border-b set-label f-w500 c-position-r">
|
|
|
<em class="c-position-a set-blue-span"></em>
|
|
@ -141,7 +112,7 @@
|
|
|
<li class="mt10 plr10 ptb5 c-border b-r-3 clearfix" v-for="(detail, index) in templateDetail" :key="index">
|
|
|
<div v-if="detail.code=='2'||detail.code=='3'">
|
|
|
<div class="fl w-100-78 c-333">
|
|
|
<p :class='detail.isTimeSame ? "m0 p0 mb10 txt-ells cur-pit c-red" : "m0 p0 mb10 txt-ells cur-pit"' @click="lookProject(detail)">{{detail.name}}</p>
|
|
|
<p :class='detail.isTimeSame ? "m0 p0 mb10 txt-ells cur-pit c-red" : "m0 p0 mb10 txt-ells cur-pit"'>{{detail.name}}</p>
|
|
|
<div class="clearfix">
|
|
|
<p class="w400 m0 mb10 p0 fl"><span class="c-999">医  院:</span>{{docInfo.hospitalName}}</p>
|
|
|
<p class="m0 p0 mb10 fl"><span class="c-999">费  用:</span>0.00</p>
|
|
@ -167,7 +138,7 @@
|
|
|
</div>
|
|
|
<div v-else>
|
|
|
<div class="fl w-100-78 c-333">
|
|
|
<p :class='detail.isTimeSame ? "m0 p0 mb10 txt-ells cur-pit c-red" : "m0 p0 mb10 txt-ells cur-pit"' @click="lookProject(detail)">{{detail.name}}</p>
|
|
|
<p :class='detail.isTimeSame ? "m0 p0 mb10 txt-ells cur-pit c-red" : "m0 p0 mb10 txt-ells cur-pit"'>{{detail.name}}</p>
|
|
|
<div class="clearfix">
|
|
|
<p class="w400 m0 mb10 p0 fl"><span class="c-999">医  院:</span>{{detail.executeHospitalName}}</p>
|
|
|
<p class="m0 p0 mb10 fl"><span class="c-999">费  用:</span>0.00</p>
|
|
@ -222,9 +193,9 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class='fr w60 c-t-right clearfix'>
|
|
|
<p v-if="detail.frequencyName!='不限频次'" class="m0 p0 mb10">×{{mul(detail.executeTime.length, detail.frequency.count)}}</p>
|
|
|
<div class="clearfix mb10"><span class="fr sub-tap cur-pit" @click="subTemplate(index, detail)"></span></div>
|
|
|
<div v-if="detail.frequencyName!='不限频次'" class="clearfix"><span class="fr fuzhi-tap cur-pit" @click="copyTemplate(index, detail)"></span></div>
|
|
|
<p v-if="detail.frequencyCode" class="m0 p0 mb10">×{{mul(detail.executeTime.length, detail.frequency.count)}}</p>
|
|
|
<div v-if="detail.frequencyCode" class="clearfix mb10"><span class="fr sub-tap cur-pit" @click="subTemplate(index, detail)"></span></div>
|
|
|
<div v-if="detail.frequencyCode" class="clearfix"><span class="fr fuzhi-tap cur-pit" @click="copyTemplate(index, detail)"></span></div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</li>
|
|
@ -238,12 +209,13 @@
|
|
|
<p class="m0 p0 pl20 ptb10 c-border-b set-label">支付方式:<span class="ml10 pl20 active">按服务支付</span><em class="c-red ml20">(按选择支付方式完成收费)</em></p>
|
|
|
<div class="pl20 lh40">总费用:
|
|
|
<span class="c-red c-f16">¥{{allFee}}</span>
|
|
|
<span class="fr lh30 cur-pit plr15 c-t-center c-fff" :class="havePlan ? 'bgc-12b7f5' : 'bgc-d7dce6'" @click="createRehabilitationPlan()">生成计划</span>
|
|
|
<span v-if="!isEditConfig" class="fr lh30 cur-pit plr15 c-t-center c-fff" :class="havePlan ? 'bgc-12b7f5' : 'bgc-d7dce6'" @click="createRehabilitationPlan()">生成计划</span>
|
|
|
<span v-else class="fr lh30 cur-pit plr15 c-t-center c-fff" :class="havePlan ? 'bgc-12b7f5' : 'bgc-d7dce6'" @click="updateRehabilitationPlan()">完成编辑</span>
|
|
|
<span class="fr lh30 cur-pit plr15 c-t-center bgc-green c-fff" @click="canclePlan()">取消</span>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="fr w400 c-h100 c-border-l">
|
|
|
<div v-if="!isEditConfig" class="fr w400 c-h100 c-border-l">
|
|
|
<div class="plr5 c-h100">
|
|
|
<h4 class="m0 pl15 lh40 c-border-b c-position-r f-w500">
|
|
|
<em class="c-position-a set-blue-span"></em>添加其他项目
|
|
@ -346,7 +318,6 @@
|
|
|
surefont: '添加',
|
|
|
isTest: false,
|
|
|
pati: null,
|
|
|
teamCode: null,
|
|
|
isPlan: false,
|
|
|
proIndex1: null,
|
|
|
proIndex2: null,
|
|
@ -376,6 +347,7 @@
|
|
|
searchKey: null,
|
|
|
havePlan: false,
|
|
|
frequencyList: [],
|
|
|
frequencyListObj: {},
|
|
|
diagnosisInfo:"",
|
|
|
indexOrder:0,
|
|
|
profileRes:[],
|
|
@ -393,8 +365,28 @@
|
|
|
curMedicalRecordsIndex: -1,
|
|
|
diseaseCodeArr: [],
|
|
|
diseaseNameArr: [],
|
|
|
isEditServiceItem: httpData['isEditServiceItem']||false
|
|
|
teamCode: httpData['teamCode'],
|
|
|
isEditConfig: httpData['isEditConfig']||false,
|
|
|
planId: httpData['planId'],
|
|
|
planDetailId: httpData['planDetailId'],
|
|
|
service:{
|
|
|
relationRecordImg:{},
|
|
|
messageList:{},
|
|
|
},
|
|
|
},
|
|
|
mounted: function() {
|
|
|
this.selectFrequencys()
|
|
|
if(httpData.patient) {
|
|
|
this.isPlan = false
|
|
|
this.allFee = 0
|
|
|
this.templateDetail = []
|
|
|
this.pati = {patient: httpData.patient}
|
|
|
this.getPatientInfo()
|
|
|
}
|
|
|
if(this.teamCode){
|
|
|
this.findTemplateList()
|
|
|
}
|
|
|
},
|
|
|
watch: {
|
|
|
adviceContent: function(){
|
|
|
var vm = this
|
|
@ -410,21 +402,52 @@
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
mounted: function() {
|
|
|
this.selectFrequencys()
|
|
|
if(httpData.patient) {
|
|
|
this.isPlan = false
|
|
|
this.allFee = 0
|
|
|
this.templateDetail = []
|
|
|
this.pati = {patient: httpData.patient}
|
|
|
this.getPatientInfo()
|
|
|
}
|
|
|
if(httpData.teamCode){
|
|
|
this.teamCode = httpData.teamCode
|
|
|
this.findTemplateList()
|
|
|
}
|
|
|
},
|
|
|
methods: {
|
|
|
getServiceItem: function() {
|
|
|
var vm = this;
|
|
|
var loadding = top.layer.load(0, {
|
|
|
shade: false
|
|
|
}); //0代表加载的风格,支持0-2
|
|
|
rehaAPI.serviceItem({
|
|
|
planDetailId: vm.planDetailId
|
|
|
}).then(function(res) {
|
|
|
top.layer.close(loadding);
|
|
|
if(res.status == 200) {
|
|
|
vm.service = res.data;
|
|
|
var o1 = {}
|
|
|
o1.isSelect = true
|
|
|
o1.selectDoc = false
|
|
|
o1.selectDate = 1
|
|
|
o1.value14 = []
|
|
|
o1.value15 = null
|
|
|
o1.executeTime = []
|
|
|
// 默认频次
|
|
|
o1.selectFre = false
|
|
|
if(vm.service.frequencyCode!=''){
|
|
|
o1.frequencyCode = vm.service.frequencyCode
|
|
|
o1.frequencyName = vm.frequencyListObj[vm.service.frequencyCode]
|
|
|
o1.frequency = vm.frequencyList[1]
|
|
|
} else {
|
|
|
o1.frequencyCode = ''
|
|
|
o1.frequencyName = '不限频次'
|
|
|
o1.frequency = vm.frequencyList[0]
|
|
|
}
|
|
|
o1.frequencyList = vm.frequencyList
|
|
|
o1.timeType = 0
|
|
|
o1.remark = vm.service.remark
|
|
|
o1.executeDoctor = vm.service.executeDoctorCode
|
|
|
o1.executeDoctorName = vm.service.executeDoctorName
|
|
|
o1.executeHospitalName = vm.service.hospitalName
|
|
|
o1.docList = vm.jDlist
|
|
|
o1.code = vm.service.type
|
|
|
o1.name = vm.service.title
|
|
|
vm.templateDetail.push(o1)
|
|
|
vm.judgeHavePlan()
|
|
|
} else {
|
|
|
showErrorMessage(res.msg)
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
// 添加住院病历
|
|
|
addMedicalRecords: function(){
|
|
|
var vm = this
|
|
@ -505,8 +528,6 @@
|
|
|
var sec_params = {
|
|
|
patient: vm.pati.patient,
|
|
|
event:vm.diagnosisInfo[index].id || "",
|
|
|
// patient:"3b26a7905e034c36a5ba8e65bdc0dc7f",
|
|
|
// event:"26eec2df-caa9-4b7e-9993-0ad7ae8d0a15",
|
|
|
catalog:'0213',
|
|
|
serial:"1"
|
|
|
}
|
|
@ -618,6 +639,9 @@
|
|
|
layer.close(loadding)
|
|
|
if(res.status == 200) {
|
|
|
vm.frequencyList = [{code:'', name: '不限频次'}].concat(res.data)
|
|
|
$.each(res.data, function(index, item){
|
|
|
vm.frequencyListObj[item.code]=item.name
|
|
|
})
|
|
|
} else {
|
|
|
showErrorMessage(res.msg);
|
|
|
}
|
|
@ -656,6 +680,9 @@
|
|
|
if(!vm.teamCode){
|
|
|
vm.findPatientSignSpecialistInfo()
|
|
|
}
|
|
|
if(vm.planId){
|
|
|
vm.getServiceItem()
|
|
|
}
|
|
|
} else {
|
|
|
showErrorMessage(res.msg);
|
|
|
}
|
|
@ -733,7 +760,6 @@
|
|
|
o1.value14 = []
|
|
|
o1.value15 = null
|
|
|
o1.executeTime = []
|
|
|
o1.selectDateRange = []
|
|
|
// 默认频次
|
|
|
o1.selectFre = false
|
|
|
o1.frequencyCode = vm.frequencyList[0].code
|
|
@ -805,6 +831,10 @@
|
|
|
this.templateDetail[index].frequency = list
|
|
|
this.templateDetail[index] = this.templateDetail[index]
|
|
|
this.isTest = !this.isTest
|
|
|
// if(this.templateDetail[index].frequencyCode==''&&this.isEditConfig){
|
|
|
// var obj = this.templateDetail[index]
|
|
|
// this.templateDetail = [].push(obj)
|
|
|
// }
|
|
|
this.judgeHavePlan()
|
|
|
},
|
|
|
// 选择时间段
|
|
@ -886,7 +916,6 @@
|
|
|
this.selectProjectDetail.value14 = []
|
|
|
this.selectProjectDetail.value15 = null
|
|
|
this.selectProjectDetail.executeTime = []
|
|
|
this.selectProjectDetail.selectDateRange = []
|
|
|
// 频次选择
|
|
|
this.selectProjectDetail.selectFre = false
|
|
|
this.selectProjectDetail.frequencyCode = this.frequencyList[0].code
|
|
@ -907,19 +936,6 @@
|
|
|
this.judgeHavePlan()
|
|
|
|
|
|
},
|
|
|
// 查看项目
|
|
|
lookProject: function(o) {
|
|
|
this.selectPatientIndex = layer.open({
|
|
|
type: 2,
|
|
|
area: ['400px', '500px'],
|
|
|
shade: 0.5,
|
|
|
title: '查看项目',
|
|
|
closeBtn: 1,
|
|
|
shift: 5,
|
|
|
shadeClose: false, //点击遮罩关闭层
|
|
|
content: "select-project.html?projectId=" + o.id
|
|
|
});
|
|
|
},
|
|
|
// 选择居民
|
|
|
selectPatient: function() {
|
|
|
this.selectPatientIndex = layer.open({
|
|
@ -1078,7 +1094,6 @@
|
|
|
endTime: arr[1],
|
|
|
length: i
|
|
|
}
|
|
|
this.templateDetail[index].selectDateRange.push(obj)
|
|
|
this.templateDetail[index].value15 = null
|
|
|
this.isTest = !this.isTest
|
|
|
this.judgeHavePlan()
|
|
@ -1098,14 +1113,12 @@
|
|
|
if(this.templateDetail[k].code=='2'||this.templateDetail[k].code=='3'){
|
|
|
arr.push(true)
|
|
|
} else if(this.templateDetail[k].frequencyCode){
|
|
|
console.log('this.templateDetail[k].frequencyCode', this.templateDetail[k].frequencyCode)
|
|
|
if(this.templateDetail[k].executeTime[0]) {
|
|
|
arr.push(true)
|
|
|
}else {
|
|
|
arr.push(false)
|
|
|
}
|
|
|
} else {
|
|
|
console.log('this.templateDetail[k].frequencyCode', this.templateDetail[k].frequencyCode)
|
|
|
arr.push(true)
|
|
|
}
|
|
|
}
|
|
@ -1116,6 +1129,64 @@
|
|
|
this.havePlan = false
|
|
|
}
|
|
|
},
|
|
|
// 编辑居民康复计划详情
|
|
|
updateRehabilitationPlan: function(){
|
|
|
var vm = this
|
|
|
var loadding = layer.load(0, {shade: false}),
|
|
|
data = {
|
|
|
planId: vm.planId,
|
|
|
hospitalServiceItemId: vm.service.type,
|
|
|
detail: [],
|
|
|
};
|
|
|
$.each(vm.templateDetail, function(index, o) {
|
|
|
var obj;
|
|
|
if(o.code=='2'||o.code=='3'||!o.frequencyCode){
|
|
|
obj = {
|
|
|
id: vm.planDetailId,
|
|
|
hospitalServiceItemId: o.code,
|
|
|
type: 2,
|
|
|
doctor: vm.jDlist[0].code,
|
|
|
doctorName: vm.jDlist[0].name,
|
|
|
executeTimes: '',
|
|
|
frequencyCode: '',
|
|
|
timeType: 0,
|
|
|
remark: o.remark || ''
|
|
|
}
|
|
|
}else{
|
|
|
if(o.executeTime.length) {
|
|
|
var executeTime = []
|
|
|
$.each(o.executeTime, function(ind, v) {
|
|
|
v += ' 00:00'
|
|
|
executeTime.push(v)
|
|
|
});
|
|
|
obj = {
|
|
|
id: vm.planDetailId,
|
|
|
hospitalServiceItemId: o.code, // 服务项code
|
|
|
type: 2,
|
|
|
doctor: o.executeDoctor,
|
|
|
doctorName: o.executeDoctorName,
|
|
|
executeTimes: executeTime.length>0?executeTime.join(","):'',
|
|
|
frequencyCode: o.frequencyCode,
|
|
|
timeType: o.timeType,
|
|
|
remark: o.remark || ''
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
data.detail.push(obj)
|
|
|
});
|
|
|
var params = {
|
|
|
json: JSON.stringify(data)
|
|
|
}
|
|
|
recoverAPI.updateRehabilitationPlan(params).then(function(res){
|
|
|
layer.close(loadding)
|
|
|
if(res.status ==200){
|
|
|
showSuccessMessage('保存成功!')
|
|
|
window.history.go(-1)
|
|
|
} else {
|
|
|
showErrorMessage(res.msg);
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
createRehabilitationPlan: function() {
|
|
|
var vm = this
|
|
|
if(!this.adviceContent){
|