Browse Source

20250224

master
领悟 5 months ago
parent
commit
b5190c68de
  1. 2
      src/App.vue
  2. 9
      src/api/index.js
  3. 179
      src/components/w-upload/w-upload.vue
  4. 7
      src/config/home.js
  5. 56
      src/layouts/BasicLayout.less
  6. 92
      src/layouts/BasicLayout.vue
  7. 2
      src/views/document/index.vue
  8. 73
      src/views/thrombolysis/components/throm-before3.vue
  9. 365
      src/views/thrombolysis/components/throm-report.vue
  10. 52
      src/views/thrombolysis/components/throm-result-firstInfo.vue
  11. 4
      src/views/thrombolysis/components/throm-result.vue
  12. 45
      src/views/thrombolysis/index.vue

2
src/App.vue

@ -210,7 +210,7 @@
haveFlagInspect, haveFlagInspect,
finishStatus, finishStatus,
} = res.data; } = res.data;
console.log('firstAidInspectDataDtos: ', haveFlagInspect); // console.log('firstAidInspectDataDtos: ', haveFlagInspect);
// if(finishStatus == 1){ // if(finishStatus == 1){
// this.setTimerData({}) // this.setTimerData({})
// this.request = 0 // this.request = 0

9
src/api/index.js

@ -327,7 +327,8 @@ export const createPatient = (params) =>
axios.post(`${proxyUrl1}/firstAid/createPatient`, { axios.post(`${proxyUrl1}/firstAid/createPatient`, {
...params ...params
}); });
// export const eduitPatient = (params) =>
// axios.post(`${proxyUrl1}/firstAid/eduitPatient`, { export const exportRsPdf = (params) =>
// ...params axios.post(`${proxyUrl1}/admin/export/exportRsPdf`, {
// }); ...params
});

179
src/components/w-upload/w-upload.vue

@ -0,0 +1,179 @@
<template>
<div class="w-upload">
<!-- <input type="file" accept="image/*" @change="handleFileChange" capture="camera" /> -->
<input type="file" ref="fileRef" accept="image/*" @change="handleFileChange" capture="camera"
style="display: none;" />
<slot name="default">
<template v-if="btnType == 'button'">
<a-button @click="handleClick" :type="type" :block="block" :size="size"
:disabled="disabled">{{btnText}}</a-button>
</template>
<template v-if="btnType == 'text'">
<a-button @click="handleClick" type="link" :size="size" :disabled="disabled">{{btnText}}</a-button>
</template>
<template v-if="btnType == 'icon'">
<div class="plus-upload" @click="handleClick"
style="width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; background: #ffffff; border: 2px dashed #a3acbf; border-radius: 12px; font-size: 40px; color: #a3acbf;">
<a-icon type="plus" />
</div>
</template>
</slot>
</div>
</template>
<script>
import {
uploadfile,
uploadBase64
} from 'api'
export default {
name: 'CommonUpload',
data() {
return {
imageFile: null,
imageSrc: '',
}
},
props: {
type: {
type: String,
default: 'default',
},
btnType: {
type: String,
default: 'button', // 'button' | 'text' | 'icon'
},
disabled: {
type: Boolean,
default: false,
},
width: {
type: String,
default: '100%',
},
height: {
type: String,
default: '100%',
},
btnText: {
type: String,
default: '上传图片'
},
block: {
type: Boolean,
default: true,
},
size: {
type: String,
default: 'large'
},
},
created() {
},
methods: {
handleClick() {
if (this.$refs.fileRef) {
this.$refs.fileRef.click()
}
},
handleFileChange(event) {
const file = event.target.files[0];
if (file) {
this.imageFile = file;
// this.previewImage(file);
this.compressImage(file);
this.uploadImage()
}
},
previewImage(file) {
const reader = new FileReader();
reader.onload = (e) => {
this.imageSrc = e.target.result;
};
reader.readAsDataURL(file);
},
compressImage(file) {
const reader = new FileReader();
reader.onload = (e) => {
const img = new Image();
img.src = e.target.result;
img.onload = () => {
const canvas = document.createElement('canvas');
const ctx = canvas.getContext('2d');
const MAX_WIDTH = 250;
const MAX_HEIGHT = 320;
let width = img.width;
let height = img.height;
if (width > height) {
if (width > MAX_WIDTH) {
height *= MAX_WIDTH / width;
width = MAX_WIDTH;
}
} else {
if (height > MAX_HEIGHT) {
width *= MAX_HEIGHT / height;
height = MAX_HEIGHT;
}
}
canvas.width = width;
canvas.height = height;
ctx.drawImage(img, 0, 0, width, height);
canvas.toBlob((blob) => {
this.imageFile = new File([blob], file.name, {
type: 'image/jpeg',
lastModified: Date.now(),
});
}, 'image/jpeg', 0.7);
};
};
reader.readAsDataURL(file);
},
async uploadImage() {
if (!this.imageFile) {
alert('请先选择图片');
return;
}
const formData = new FormData();
formData.append('file', this.imageFile);
try {
const res = await uploadfile(formData)
// const res = await uploadBase64(formData)
console.log('上传成功:', res.data);
console.log('upload', res)
const {
code,
name,
url,
msg
} = res
if (code === 200) {
this.$emit('ok', {
name,
url
})
} else {
this.$message.error(msg)
}
// alert('');
} catch (error) {
console.error('上传失败:', error);
// alert('');
}
}
}
}
</script>
<style lang="less" scoped>
.w-upload {}
</style>

7
src/config/home.js

@ -14,7 +14,12 @@ async function updateAidCode(param, type) {
const { code, data, msg } = res; const { code, data, msg } = res;
if (code === 200) { if (code === 200) {
// message.success('更新成功') // message.success('更新成功')
queryAid(firstAidId, type); if(param.finishStatus ==1){
store.commit('patient/setPatientData', {});
store.commit('patient/setWriteAble', false);
} else{
queryAid(firstAidId, type);
}
} else { } else {
message.error(msg); message.error(msg);
} }

56
src/layouts/BasicLayout.less

@ -23,14 +23,14 @@
.sider-header-icon{ .sider-header-icon{
display: inline-block; display: inline-block;
text-align: center; text-align: center;
width: 1.8rem; width: 2.8rem;
height: 1.8rem; height: 2.8rem;
line-height: 1.8rem; line-height: 2.8rem;
background-color: #659aff; background-color: #659aff;
border-radius: 50px; border-radius: 50px;
overflow: hidden; overflow: hidden;
color: #FFFFFF; color: #FFFFFF;
font-size: 1rem; font-size: 1.8rem;
} }
} }
@ -88,24 +88,51 @@
background-color: #FFFFFF !important; background-color: #FFFFFF !important;
.patient-box{ .patient-box{
display: flex; display: flex;
justify-content: center; justify-content: flex-start;
padding: 0 20px;
box-sizing: border-box;
.paitent-title{
height: 100%;
display: flex;
flex-direction: column;
align-items: center;
font-size: 1.5rem;
font-weight: bold;
margin-right: 1rem;
}
.patient-info { .patient-info {
// background-color: #fff; height: 100%;
// border-radius: 5px; display: flex;
// padding: 12px; align-items: center;
font-size: 1rem; font-size: 1.5rem;
.lable { .lable {
color: #AAAAAA; // color: #AAAAAA;
padding: 0 .5rem 0 1rem; padding: 0 .5rem 0 0.3rem;
} }
.text { .text {
color: #000000; color: #000000;
padding: 0 2rem 0 0; // padding: 0 1rem 0 0;
&.text-red{
color: red;
}
&.mr-sm{
margin-right: .5rem;
}
}
}
.patient-action{
display: flex;
font-size: 1.5rem;
padding: 0 .2rem;
align-items: center;
margin-left: 1rem;
.action{
padding: 0 .2rem;
font-weight: bold;
} }
} }
} }
.layout-sider-header-row-title{ .layout-sider-header-row-title{
@ -125,6 +152,7 @@
height: calc(100vh - 66px); height: calc(100vh - 66px);
// overflow-y: auto; // overflow-y: auto;
padding: 10px; padding: 10px;
position: relative;
} }
.ant-drawer-body{ .ant-drawer-body{

92
src/layouts/BasicLayout.vue

@ -27,26 +27,46 @@
<a-layout> <a-layout>
<a-layout-header> <a-layout-header>
<div class="patient-box"> <div class="patient-box">
<div class="patient-info" @click="onClickPat" <div class="paitent-title">卒中急救质控系统</div>
v-if="patientData.firstAidId && patientData.finish_status != 1"> <template v-if="patientData.firstAidId && patientData.finish_status != 1">
<span class="lable">姓名: </span> <div class="patient-info" @click="onClickPat">
<span class="text">{{patientData.patientName || '-'}}</span> (
<span class="lable">性别: </span> <span class="lable">姓名: </span>
<span <span class="text text-red mr-sm">{{patientData.patientName || '-'}}</span>
class="text">{{patientData.patientGender == 1 ? '女' : patientData.patientGender == 0 ? '男' : '-'}}</span> <span class="lable">性别: </span>
<span class="lable">年龄: </span> <span class="text mr-sm">
<span class="text">{{patientData.patientAge || '-'}}</span> {{patientData.patientGender == 1 ? '女' : patientData.patientGender == 0 ? '男' : '-'}}
<span class="lable">证件号: </span> </span>
<span class="lable">年龄: </span>
<span
class="text">{{patientData.patientAge ? (patientData.patientAge+'岁') : '-'}}</span>
<!-- <span class="lable">证件号: </span>
<span <span
class="text">{{patientData.patientIdCardNo ? utils.maskIDCard(patientData.patientIdCardNo) : '-'}}</span> class="text">{{patientData.patientIdCardNo ? utils.maskIDCard(patientData.patientIdCardNo) : '-'}}</span>
<span class="lable">门急诊号: </span> <span class="lable">门急诊号: </span>
<span class="text">{{patientData.servialNo || '-'}}</span> <span class="text">{{patientData.servialNo || '-'}}</span> -->
</div> )
</div>
<div class="patient-action">
<div class="action" @click="showDrawer"><a-icon type="logout" /></div>
<!-- <div class="action"><a-icon type="pause-circle" /></div> -->
</div>
</template>
</div> </div>
</a-layout-header> </a-layout-header>
<a-layout-content ref="layoutContent" id="layoutContent"> <a-layout-content ref="layoutContent" id="layoutContent">
<div class="global-layout-content" id="globalLayoutContent"> <div class="global-layout-content" id="globalLayoutContent">
<router-view /> <router-view />
<a-drawer placement="bottom" closable :visible="termVisible" @close="onTermClose"
:get-container="false" :wrap-style="{ position: 'absolute' }">
<div style="text-align: center;line-height: 3rem;font-weight: bold;font-size: 1.5rem;">
退出急救
</div>
<div style="text-align: center;font-size: 1.2rem; line-height: 5rem;">
<div style="border-bottom: 1px solid #eee;" @click="handleTermin(1)">终止急救</div>
<div @click="handleTermin(0)">暂停急救</div>
</div>
</a-drawer>
</div> </div>
<a-drawer placement="left" :visible="visible" width="320" @close="onClose" :getContainer="false" <a-drawer placement="left" :visible="visible" width="320" @close="onClose" :getContainer="false"
@ -125,6 +145,7 @@
current: 0, current: 0,
current_: 0, current_: 0,
visible: false, visible: false,
termVisible: false,
loginInfo: null, loginInfo: null,
menus: [{ menus: [{
name: '急救', name: '急救',
@ -154,6 +175,7 @@
}, },
beforeRouteEnter(to, from, next) { beforeRouteEnter(to, from, next) {
next((vm) => { next((vm) => {
console.log('beforeRouteEnter', to)
if (to.fullPath == '/document') { if (to.fullPath == '/document') {
vm.current = 1 vm.current = 1
vm.current_ = 1 vm.current_ = 1
@ -163,6 +185,15 @@
} else if (to.fullPath == '/firstaid/patientList') { } else if (to.fullPath == '/firstaid/patientList') {
vm.current = 0 vm.current = 0
vm.current_ = 0 vm.current_ = 0
if (vm.patientData?.firstAidId) {
vm.$router.replace('/firstaid/thrombolysis')
}
} else if (to.fullPath == '/firstaid/thrombolysis') {
vm.current = 0
vm.current_ = 0
if (!vm.patientData?.firstAidId) {
vm.$router.replace('/firstaid/patientList')
}
} else { } else {
vm.current = 0 vm.current = 0
vm.current_ = 0 vm.current_ = 0
@ -182,17 +213,19 @@
if (item.path == 'person') { if (item.path == 'person') {
if (this.visible) this.onClose() if (this.visible) this.onClose()
else this.showPersion() else this.showPersion()
} else if(item.path == '/firstaid/patientList'){ } else if (item.path == '/firstaid/patientList') {
this.visible = false; this.visible = false;
this.onClickPat() this.onClickPat()
}else { } else {
this.visible = false; this.visible = false;
this.$router.push(item.path) this.$router.push(item.path)
} }
}, },
async onClickPat() { async onClickPat() {
const {firstAidId} = this.patientData const {
if(firstAidId){ firstAidId
} = this.patientData
if (firstAidId) {
const res = await messageQuery(firstAidId); const res = await messageQuery(firstAidId);
const { const {
code, code,
@ -203,18 +236,37 @@
const { const {
finishStatus, finishStatus,
} = res.data; } = res.data;
if(finishStatus == 0){ if (finishStatus == 0) {
if(this.$route.name != 'Thrombolysis') this.$router.push('/firstaid/thrombolysis') if (this.$route.name != 'Thrombolysis') this.$router.push('/firstaid/thrombolysis')
}else{ } else {
this.setPatientData({}); this.setPatientData({});
this.setPatientDataCur({}); this.setPatientDataCur({});
if(this.$route.name != 'PatientList') this.$router.replace('/firstaid/patientList') if (this.$route.name != 'PatientList') this.$router.replace('/firstaid/patientList')
} }
} }
} else {
this.setPatientData({});
this.setPatientDataCur({});
if (this.$route.name != 'PatientList') this.$router.replace('/firstaid/patientList')
} }
},
async handleTermin(status) {
this.$message.info('结束急救,类型: ' + status)
// this.termVisible = true;
this.onTermClose()
},
showDrawer() {
this.termVisible = true;
},
onTermClose() {
this.termVisible = false;
},
getContainer() {
return document.getElementById('globalLayoutContent')
}, },
async showPersion() { async showPersion() {
this.visible = true; this.visible = true;

2
src/views/document/index.vue

@ -224,7 +224,7 @@
key: 'operation', key: 'operation',
fixed: 'right', fixed: 'right',
align: 'center', align: 'center',
width: 300, width: 380,
scopedSlots: { scopedSlots: {
customRender: 'action' customRender: 'action'
}, },

73
src/views/thrombolysis/components/throm-before3.vue

@ -3,28 +3,24 @@
<a-card style="width:100%" :tab-list="tabList" :active-tab-key="activeTabKey" <a-card style="width:100%" :tab-list="tabList" :active-tab-key="activeTabKey"
@tabChange="key => onTabChange(key, 'key')"> @tabChange="key => onTabChange(key, 'key')">
<div class="image-container" v-if="activeTabKey == 'tab1'"> <div class="image-container" v-if="activeTabKey == 'tab1'">
<!-- <div class="notImg">单次检验影像安全区域</div> -->
<!-- <div v-if="list.length">
<video :src="apiUrl+ img.path" controls autoplay loop muted width="100%" v-for="img in list">
您的浏览器不支持 video 标签
</video>
<img :src="apiUrl+ img.path" :alt="img.name" v-for="img in list" style="width: 100%;" />
</div>
<div class="emtpy" v-else>
<a-empty :image="emptyImage" description="未检测到影像信息" />
</div> -->
<throm-interfere-image-dcm></throm-interfere-image-dcm> <throm-interfere-image-dcm></throm-interfere-image-dcm>
</div> </div>
<div class="image-container" v-else-if="activeTabKey == 'ct'"> <div class="image-container" v-else-if="activeTabKey == 'ct'">
<div class="emtpy"> <template v-if="fileList && fileList.length">
<div class="image-box" v-for="(img, index) in fileList">
<img :src="'http://116.204.114.73:20007'+ img" :alt="'ct'+index" />
</div>
</template>
<div class="emtpy" v-else>
<a-empty :image="emptyImage" description="暂无数据" /> <a-empty :image="emptyImage" description="暂无数据" />
</div> </div>
</div> </div>
</a-card> </a-card>
<div class="btns" v-if="!outside"> <div class="btns " v-if="!outside">
<input type="file" ref="fileInput" @change="onFileChange" accept="image/*" style="display: none;" /> <w-upload @ok="handleUpload" btn-type="button" btn-text="上传院前CT图片" style="margin-bottom: 1rem; "
<a-button :disabled="writeAble" class="common-button" block size="large" v-if="fileList.length < 5" v-if="fileList.length < 5" />
@click="openCamera">上传院前CT图片</a-button>
<a-button :disabled="writeAble" class="common-button" block type="primary" size="large" <a-button :disabled="writeAble" class="common-button" block type="primary" size="large"
@click="onSubmit">下一步</a-button> @click="onSubmit">下一步</a-button>
</div> </div>
@ -40,6 +36,7 @@
} from '@/config/setting.js'; } from '@/config/setting.js';
import emptyImage from '@/assets/images/slice/empty.png' import emptyImage from '@/assets/images/slice/empty.png'
import ThromInterfereImageDcm from './throm-interfere-image-dcm.vue' import ThromInterfereImageDcm from './throm-interfere-image-dcm.vue'
import WUpload from '@/components/w-upload/w-upload.vue'
import { import {
queryFirstAidInspectData, queryFirstAidInspectData,
queryVideo queryVideo
@ -76,7 +73,8 @@
}, },
props: ['outside'], props: ['outside'],
components: { components: {
ThromInterfereImageDcm ThromInterfereImageDcm,
WUpload
}, },
computed: { computed: {
...mapState('patient', ['patientData', 'writeAble']), ...mapState('patient', ['patientData', 'writeAble']),
@ -135,6 +133,15 @@
this.list = data.list this.list = data.list
} }
}, },
handleUpload({
name,
url
}) {
console.log('upload end', 'http://116.204.114.73:20007' + url) //_doc/upload/
this.fileList.push(url);
const index = this.tabList.findIndex(a => a.key == 'ct')
this.tabList[index].tab = `院前CT (${this.fileList.length}张)`
},
openCamera() { openCamera() {
if (this.writeAble) { if (this.writeAble) {
this.$message.success('患者已审核,内容不可更改') this.$message.success('患者已审核,内容不可更改')
@ -148,14 +155,17 @@
// } // }
const cmr = plus.camera.getCamera(); const cmr = plus.camera.getCamera();
if (!cmr) { if (!cmr) {
this.$message.success('没有可用的摄像头'); this.$message.success('没有可用的摄像头');
return; return;
} }
const res = cmr.supportedImageResolutions.length > 0 ? cmr.supportedImageResolutions[0] : { width: 640, height: 480 }; // ; const res = cmr.supportedImageResolutions.length > 0 ? cmr.supportedImageResolutions[0] : {
width: 640,
height: 480
}; // ;
const fmt = cmr.supportedImageFormats.length > 0 ? cmr.supportedImageFormats[0] : 'jpeg'; const fmt = cmr.supportedImageFormats.length > 0 ? cmr.supportedImageFormats[0] : 'jpeg';
if (!res || !fmt) { if (!res || !fmt) {
plus.nativeUI.toast('摄像头不支持该格式或分辨率'); plus.nativeUI.toast('摄像头不支持该格式或分辨率');
return; return;
} }
// const res = cmr.supportedImageResolutions[0]; // const res = cmr.supportedImageResolutions[0];
// const fmt = cmr.supportedImageFormats[0]; // const fmt = cmr.supportedImageFormats[0];
@ -204,11 +214,11 @@
); );
}, },
onFileChange(event) { onFileChange(event) {
const file = event.target.files[0]; const file = event.target.files[0];
if (file) { if (file) {
// //
this.compressImage(file); this.compressImage(file);
} }
}, },
// //
showPics(url, name) { showPics(url, name) {
@ -286,6 +296,17 @@
align-items: center; align-items: center;
} }
.image-box {
padding: .5rem;
box-sizing: border-box;
img {
width: 100%;
height: 100%;
}
}
} }
.btns { .btns {

365
src/views/thrombolysis/components/throm-report.vue

@ -109,63 +109,6 @@
<div slot="description">{{item.record ? item.record.answer[0] : ''}}</div> <div slot="description">{{item.record ? item.record.answer[0] : ''}}</div>
</a-step> </a-step>
</template> </template>
<!-- <a-step :status="currentIndex == 0 ? 'process' : currentIndex > 0 ? 'finish' : 'wait'">
<div slot="title" style="display: flex;justify-content: space-between;width: 100%">
<div>到达</div>
<div>{{currentIndex == 0 ? '进行中' : currentIndex > 0 ? '已完成' : ''}}</div>
</div>
<div slot="description">{{currentIndex >= 0 ? '2025-01-08 12:47:42' : ''}}</div>
</a-step>
<a-step :status="currentIndex == 1 ? 'process' : currentIndex > 1 ? 'finish' : 'wait'">
<div slot="title" style="display: flex;justify-content: space-between;width: 100%">
<div>呼叫</div>
<div>{{currentIndex == 1 ? '进行中' : currentIndex > 1 ? '已完成' : ''}}</div>
</div>
<div slot="description">{{currentIndex >= 1 ? '2025-01-08 12:47:42' : ''}}</div>
</a-step>
<a-step :status="currentIndex == 2 ? 'process' : currentIndex > 2 ? 'finish' : 'wait'">
<div slot="title" style="display: flex;justify-content: space-between;width: 100%">
<div>到场</div>
<div>{{currentIndex == 2 ? '进行中' : currentIndex > 2 ? '已完成' : ''}}</div>
</div>
<div slot="description">{{currentIndex >= 2 ? '2025-01-08 12:47:42' : ''}}</div>
</a-step>
<a-step :status="currentIndex == 3 ? 'process' : currentIndex > 3 ? 'finish' : 'wait'">
<div slot="title" style="display: flex;justify-content: space-between;width: 100%">
<div>采血</div>
<div>{{currentIndex == 2 ? '进行中' : currentIndex > 2 ? '已完成' : ''}}</div>
</div>
<div slot="description">{{currentIndex >= 2 ? '2025-01-08 12:47:42' : ''}}</div>
</a-step>
<a-step :status="currentIndex == 4 ? 'process' : currentIndex > 4 ? 'finish' : 'wait'">
<div slot="title" style="display: flex;justify-content: space-between;width: 100%">
<div>心点</div>
<div>{{currentIndex == 2 ? '进行中' : currentIndex > 2 ? '已完成' : ''}}</div>
</div>
<div slot="description">{{currentIndex >= 2 ? '2025-01-08 12:47:42' : ''}}</div>
</a-step>
<a-step :status="currentIndex == 5 ? 'process' : currentIndex > 5 ? 'finish' : 'wait'">
<div slot="title" style="display: flex;justify-content: space-between;width: 100%">
<div>到达CT</div>
<div>{{currentIndex == 2 ? '进行中' : currentIndex > 2 ? '已完成' : ''}}</div>
</div>
<div slot="description">{{currentIndex >= 2 ? '2025-01-08 12:47:42' : ''}}</div>
</a-step>
<a-step :status="currentIndex == 6 ? 'process' : currentIndex > 6 ? 'finish' : 'wait'">
<div slot="title" style="display: flex;justify-content: space-between;width: 100%">
<div>知情同意</div>
<div>{{currentIndex == 2 ? '进行中' : currentIndex > 2 ? '已完成' : ''}}</div>
</div>
<div slot="description">{{currentIndex >= 2 ? '2025-01-08 12:47:42' : ''}}</div>
</a-step>
<a-step :status="currentIndex == 7 ? 'process' : currentIndex > 7 ? 'finish' : 'wait'">
<div slot="title" style="display: flex;justify-content: space-between;width: 100%">
<div>开始静脉溶栓时间</div>
<div>{{currentIndex == 2 ? '进行中' : currentIndex > 2 ? '已完成' : ''}}</div>
</div>
<div slot="description">{{currentIndex >= 2 ? '2025-01-08 12:47:42' : ''}}</div>
</a-step> -->
</a-steps> </a-steps>
</div> </div>
</a-card> </a-card>
@ -183,117 +126,105 @@
</a-col> </a-col>
<a-col :span="24"> <a-col :span="24">
<a-card class="report-card" title="溶栓观察表"> <a-card class="report-card" title="溶栓观察表">
<a slot="extra" href="#">导出</a> <a slot="extra" href="#" @click="handleExport">导出</a>
<div class="doc-ct-content"> <div class="doc-ct-content">
<!-- <div class="record-content" v-html="observeData"></div>
<div class="emtpy" v-if="!observeData">
<a-empty :image="emptyImage" description="暂无溶栓记录" />
</div> -->
<div> <div>
<table border class="report-rsgcb"> <table border class="report-rsgcb">
<tr> <tr>
<td>姓名{{patient.patientName}}</td> <td>姓名{{patient.patientName}}</td>
<td>性别{{patient.patientGenderString}}</td> <td>性别{{patient.patientGenderString}}</td>
<td>年龄{{patient.patientAge}}</td> <td>年龄{{patient.patientAge}}</td>
<td>诊断{{patient.firstAidZlTypeString}}</td> <td>诊断 {{patient.firstAidZlType}}</td>
<td>观察者</td> <td>观察者 </td>
</tr> </tr>
<tr> <tr>
<td colspan="3">发病时间{{queryItemInfo('XGZL-CCWC-TIME').toString()}}</td> <td colspan="3">发病时间{{queryItemInfo('XGZL-CCWC-TIME').toString()}}</td>
<td colspan="3">用药时间{{}}</td> <td colspan="3">用药时间{{queryItemInfo('RYPG-CBZD').toString()}}</td>
</tr> </tr>
<tr> <tr>
<td colspan="2">溶栓药物{{queryItemInfo('JMRS-RSYW').toString()}}</td> <td colspan="2">溶栓药物{{queryItemInfo('JMRS-RSYW').toString()}}</td>
<td colspan="2">剂量</td> <td colspan="2">剂量{{queryItemInfo('JMRS-JDJL').toString()}}</td>
<td colspan="2">用法用量</td> <td colspan="2">用法用量 </td>
</tr>
<tr>
<td></td>
<td>血压(BP)</td>
<td>心率(HR)</td>
<td>血样饱和度(HR)</td>
<td>格拉斯评分</td>
<td>NIHSS</td>
</tr> </tr>
<tr> <tr>
<td>时间点</td> <td>时间点</td>
<td></td> <td>血压(BP)</td>
<td></td> <td>心率(HR)</td>
<td></td> <td>血样饱和度(HR)</td>
<td></td> <td>格拉斯评分</td>
<td></td> <td>NIHSS</td>
</tr> </tr>
<tr> <tr>
<td>用药前</td> <td>用药前</td>
<td>{{queryItemInfo('JMRS-Q-SYSTOLIC-PRESSURE').toString()}}</td>
<td></td> <td></td>
<td></td> <td></td>
<td></td> <td></td>
<td></td> <td>{{queryItemInfo('JMRS-Q-NIHSS').toString()}}</td>
<td></td>
</tr> </tr>
<tr> <tr>
<td>15min</td> <td>15min</td>
<td>{{queryItemInfo('JMRS-15-SYSTOLIC-PRESSURE').toString()}}</td>
<td></td> <td></td>
<td></td> <td></td>
<td></td> <td></td>
<td></td> <td>{{queryItemInfo('JMRS-15-NIHSS').toString()}}</td>
<td></td>
</tr> </tr>
<tr> <tr>
<td>30min</td> <td>30min</td>
<td>{{queryItemInfo('JMRS-30-SYSTOLIC-PRESSURE').toString()}}</td>
<td></td> <td></td>
<td></td> <td></td>
<td></td> <td></td>
<td></td> <td>{{queryItemInfo('JMRS-30-NIHSS').toString()}}</td>
<td></td>
</tr> </tr>
<tr> <tr>
<td>45min</td> <td>45min</td>
<td>{{queryItemInfo('JMRS-45-SYSTOLIC-PRESSURE').toString()}}</td>
<td></td> <td></td>
<td></td> <td></td>
<td></td> <td></td>
<td></td> <td>{{queryItemInfo('JMRS-45-NIHSS').toString()}}</td>
<td></td>
</tr> </tr>
<tr> <tr>
<td>60min</td> <td>60min</td>
<td>{{queryItemInfo('JMRS-60-SYSTOLIC-PRESSURE').toString()}}</td>
<td></td> <td></td>
<td></td> <td></td>
<td></td> <td></td>
<td></td> <td>{{queryItemInfo('JMRS-60-NIHSS').toString()}}</td>
<td></td>
</tr> </tr>
<tr> <tr>
<td>75min</td> <td>75min</td>
<td>{{queryItemInfo('JMRS-75-SYSTOLIC-PRESSURE').toString()}}</td>
<td></td> <td></td>
<td></td> <td></td>
<td></td> <td></td>
<td></td> <td>{{queryItemInfo('JMRS-75-NIHSS').toString()}}</td>
<td></td>
</tr> </tr>
<tr> <tr>
<td>90min</td> <td>90min</td>
<td>{{queryItemInfo('JMRS-90-SYSTOLIC-PRESSURE').toString()}}</td>
<td></td> <td></td>
<td></td> <td></td>
<td></td> <td></td>
<td></td> <td>{{queryItemInfo('JMRS-90-NIHSS').toString()}}</td>
<td></td>
</tr> </tr>
<tr> <tr>
<td>105min</td> <td>105min</td>
<td>{{queryItemInfo('JMRS-105-SYSTOLIC-PRESSURE').toString()}}</td>
<td></td> <td></td>
<td></td> <td></td>
<td></td> <td></td>
<td></td> <td>{{queryItemInfo('JMRS-105-NIHSS').toString()}}</td>
<td></td>
</tr> </tr>
<tr> <tr>
<td>120min</td> <td>120min</td>
<td>{{queryItemInfo('JMRS-120-SYSTOLIC-PRESSURE').toString()}}</td>
<td></td> <td></td>
<td></td> <td></td>
<td></td> <td></td>
<td></td> <td>{{queryItemInfo('JMRS-120-NIHSS').toString()}}</td>
<td></td>
</tr> </tr>
</table> </table>
</div> </div>
@ -304,9 +235,166 @@
<a-card class="report-card" title="DNT时间表"> <a-card class="report-card" title="DNT时间表">
<a slot="extra" href="#">导出</a> <a slot="extra" href="#">导出</a>
<div class="doc-ct-content"> <div class="doc-ct-content">
<div class="record-content" v-html="dntData"></div> <div class="record-content">
<div class="emtpy" v-if="!dntData"> <table border class="report-rsgcb">
<a-empty :image="emptyImage" description="暂无DNT时间表" /> <tr>
<td colspan="2">姓名{{patient.patientName}}</td>
<td colspan="3">性别{{patient.patientGenderString}}</td>
<td colspan="1">年龄{{patient.patientAge}}</td>
<td colspan="2">血糖(BS){{queryItemInfo('RYPG-BLOOD-SUGAR').toString()}}</td>
<td colspan="2">血压(BP){{queryItemInfo('JMRS-Q-SYSTOLIC-PRESSURE').toString()}}
</td>
</tr>
<tr>
<td colspan="3">一线</td>
<td colspan="3">二线</td>
<td colspan="4">NIHSS{{queryItemInfo('JMRS-Q-NIHSS').toString()}}</td>
</tr>
<tr>
<td colspan="2">溶栓流程</td>
<td colspan="3">具体时间</td>
<td colspan="2">采集方式</td>
<td colspan="3">备注</td>
</tr>
<tr>
<td colspan="2">发病时间</td>
<td colspan="3">{{queryItemInfo('JBXX-FBSJ').toString()}}</td>
<td colspan="2"></td>
<td colspan="3"></td>
</tr>
<tr>
<td colspan="2">到院时间</td>
<td colspan="3">{{queryItemInfo('JBXX-FBSJ').toString()}}</td>
<td colspan="2">质控平车</td>
<td colspan="3"></td>
</tr>
<tr>
<td colspan="2">启动绿道时间</td>
<td colspan="3">{{queryItemInfo('RYPG-GR-TIME').toString()}}</td>
<td colspan="2">可视化信息竖屏</td>
<td colspan="3"></td>
</tr>
<tr>
<td colspan="2">呼叫时间</td>
<td colspan="3">{{queryItemInfo('JBXX-TZCZYS-TIME').toString()}}</td>
<td colspan="2"></td>
<td colspan="3"></td>
</tr>
<tr>
<td colspan="2">一线到场时间</td>
<td colspan="3">{{queryItemInfo('JBXX-CZYSDC-TIME').toString()}}</td>
<td colspan="2"></td>
<td colspan="3"></td>
</tr>
<tr>
<td colspan="2">采血开始时间</td>
<td colspan="3">{{queryItemInfo('RYPG-BLOOD-TIME').toString()}}</td>
<td colspan="2">质控平车</td>
<td colspan="3"></td>
</tr>
<tr>
<td colspan="2">血样报告时间</td>
<td colspan="3">{{queryItemInfo('RYPG-BLOOD-REPORT-TIME').toString()}}</td>
<td colspan="2"></td>
<td colspan="3"></td>
</tr>
<tr>
<td colspan="2">心电开始时间</td>
<td colspan="3">{{queryItemInfo('RYPG-ECG-TIME').toString()}}</td>
<td colspan="2"></td>
<td colspan="3"></td>
</tr>
<tr>
<td colspan="2">到达CT时间</td>
<td colspan="3">{{queryItemInfo('RYPG-CT-DD-TIME').toString()}}</td>
<td colspan="2">质控平车</td>
<td colspan="3"></td>
</tr>
<tr>
<td colspan="2">CT检查开始时间</td>
<td colspan="3">{{queryItemInfo('RYPG-CT-JCKS-TIME').toString()}}</td>
<td colspan="2">质控平车</td>
<td colspan="3"></td>
</tr>
<tr>
<td colspan="2">CT检查完毕时间</td>
<td colspan="3">{{queryItemInfo('RYPG-CT-JCWB-TIME').toString()}}</td>
<td colspan="2"></td>
<td colspan="3"></td>
</tr>
<!-- <tr>
<td colspan="2">离开CT时间</td>
<td colspan="3">{{queryItemInfo('RYPG-CT-LK-TIME').toString()}}</td>
<td colspan="2"></td>
<td colspan="3"></td>
</tr> -->
<tr>
<td colspan="2">到达核磁时间</td>
<td colspan="3">{{queryItemInfo('JMRS-HC-TIME').toString()}}</td>
<td colspan="2"></td>
<td colspan="3"></td>
</tr>
<tr>
<td colspan="2">二线医生到场时间</td>
<td colspan="3">{{queryItemInfo('JBXX-SNYSDC-TIME').toString()}}</td>
<td colspan="2"></td>
<td colspan="3"></td>
</tr>
<tr>
<td colspan="2">谈话开始时间</td>
<td colspan="3">{{queryItemInfo('JMRS-TH-TIME').toString()}}</td>
<td colspan="2"></td>
<td colspan="3"></td>
</tr>
<tr>
<td colspan="2">签署知情同意书时间</td>
<td colspan="3">{{queryItemInfo('JMRS-ZQTY-TIME').toString()}}</td>
<td colspan="2"></td>
<td colspan="3"></td>
</tr>
<tr>
<td colspan="2">到达溶栓区时间</td>
<td colspan="3">{{queryItemInfo('JMRS-RSQ-TIME').toString()}}</td>
<td colspan="2"></td>
<td colspan="3"></td>
</tr>
<tr>
<td colspan="2">静脉溶栓开始时间</td>
<td colspan="3">{{queryItemInfo('JMRS-TIME').toString()}}</td>
<td colspan="2"></td>
<td colspan="3"></td>
</tr>
<tr>
<td colspan="2">静脉溶栓结束时间</td>
<td colspan="3">{{queryItemInfo('JMRS-END-TIME').toString()}}</td>
<td colspan="2"></td>
<td colspan="3"></td>
</tr>
<tr>
<td colspan="2">进入介入室时间</td>
<td colspan="3">{{queryItemInfo('JMRS-DDJRS').toString()}}</td>
<td colspan="2"></td>
<td colspan="3"></td>
</tr>
<tr>
<td colspan="2">置鞘时间</td>
<td colspan="3">{{queryItemInfo('XGZL-CCWC-TIME').toString()}}</td>
<td colspan="2"></td>
<td colspan="3"></td>
</tr>
<tr>
<td colspan="2">血管再通时间</td>
<td colspan="3">{{queryItemInfo('XGZL-SH-SCXGZTSJ').toString()}}</td>
<td colspan="2"></td>
<td colspan="3"></td>
</tr>
<tr>
<td colspan="2">进入病房时间</td>
<td colspan="3">{{queryItemInfo('JMRS-DDBF').toString()}}</td>
<td colspan="2"></td>
<td colspan="3"></td>
</tr>
</table>
</div> </div>
</div> </div>
</a-card> </a-card>
@ -334,6 +422,7 @@
<throm-report-record ref="record"></throm-report-record> <throm-report-record ref="record"></throm-report-record>
<throm-report-observe ref="observe"></throm-report-observe> <throm-report-observe ref="observe"></throm-report-observe>
<throm-report-opera ref="opera"></throm-report-opera> <throm-report-opera ref="opera"></throm-report-opera>
<a ref="downloadRef" target="_blank" href="javascript:;" style="display: none;"></a>
</div> </div>
</template> </template>
@ -342,6 +431,9 @@
mapMutations, mapMutations,
mapState mapState
} from 'vuex'; } from 'vuex';
import {
apiUrl
} from '@/config/setting.js';
import { import {
getNextNode, getNextNode,
messageQuery, messageQuery,
@ -349,7 +441,8 @@
queryLog, queryLog,
operationLog, operationLog,
getCtInfoPath, getCtInfoPath,
operationLogEx operationLogEx,
exportRsPdf
} from 'api'; } from 'api';
import dayjs from 'dayjs'; import dayjs from 'dayjs';
import duration from 'dayjs/plugin/duration'; import duration from 'dayjs/plugin/duration';
@ -431,6 +524,10 @@
dataSource: { dataSource: {
type: Object, type: Object,
default: () => ({}) default: () => ({})
},
firstAidId: {
type: String,
default: "",
} }
}, },
computed: { computed: {
@ -496,23 +593,28 @@
//TODU //TODU
if (this.reportType == 'modal') { if (this.reportType == 'modal') {
console.log(this.dataSource) console.log(this.dataSource)
this.patient = this.dataSource // this.patient = this.dataSource
this.init(this.dataSource.firstAidId);
} else { } else {
if (!this.patientData) return; // if (!this.patientData) return;
this.patient = this.patientData // this.patient = this.patientData
if (this.firstAidId) {
this.init(this.firstAidId);
await this.getMessageQuery(this.firstAidId);
}
} }
const { // const {
firstAidId // firstAidId
} = this.patient; // } = this.patient;
firstAidId && this.init(firstAidId); console.log('report firstAidId', this.firstAidId)
await this.getMessageQuery();
}, },
methods: { methods: {
...mapMutations('patient', ['setNextNodeData', 'setTimerData']), ...mapMutations('patient', ['setNextNodeData', 'setTimerData']),
async getMessageQuery() { async getMessageQuery(firstAidId) {
const { // const {
firstAidId // firstAidId
} = this.patientData; // } = this.patientData;
const res = await messageQuery(firstAidId); const res = await messageQuery(firstAidId);
const { const {
code, code,
@ -533,11 +635,7 @@
onSubmit() { onSubmit() {
// this.$emit('next') // this.$emit('next')
}, },
async getData() { async getData(firstAidId) {
const {
firstAidId
} = this.patientData
const resLog = await queryLog({ const resLog = await queryLog({
firstAidId firstAidId
}) })
@ -585,7 +683,18 @@
name: 'Record', name: 'Record',
}); });
}, },
async handleExport() {
console.log('this.patient.firstAidId', this.patient.firstAidId)
const res = await exportRsPdf({
firstAidId: this.patient.firstAidId
})
if (res.code == 200) {
console.log('http://116.204.114.73:20007' + res.data)
this.$refs.downloadRef.setAttribute('href', 'http://116.204.114.73:20007' + res.data)
this.$refs.downloadRef.click()
}
},
checkReport(modalRef) { checkReport(modalRef) {
console.log('modalRef', this.patient) console.log('modalRef', this.patient)
// const { // const {
@ -626,6 +735,7 @@
const res = await queryAidRecord(firstAidId) const res = await queryAidRecord(firstAidId)
console.log(res) console.log(res)
this.patient = res.data
// if (this.patientData) { // if (this.patientData) {
// const { // const {
// recordValDict // recordValDict
@ -640,7 +750,7 @@
// firstAidId // firstAidId
// } = this.patientData; // } = this.patientData;
this.getNextNode(firstAidId); this.getNextNode(firstAidId);
this.getData() this.getData(firstAidId)
}, },
async getNextNode(firstAidId) { async getNextNode(firstAidId) {
let res = await getNextNode({ let res = await getNextNode({
@ -662,9 +772,12 @@
async exportRecord() { async exportRecord() {
const { const {
firstAidId firstAidId
} = this.patientData } = this.patient
const res = await queryLog({ // const res = await queryLog({
// firstAidId
// })
const res = await exportRsPdf({
firstAidId firstAidId
}) })
const { const {
@ -680,8 +793,12 @@
}, },
toDownLoad(path) { toDownLoad(path) {
try { try {
document.getElementById('exportFirst').href = path; // document.getElementById('exportFirst').href = path;
document.getElementById('exportFirst').download = '.xlsx'; // document.getElementById('exportFirst').download = '.xlsx';
this.$refs.downloadRef.setAttribute('href', 'http://116.204.114.73:20007' + path)
this.$refs.downloadRef.setAttribute('download', '.xlsx')
this.$refs.downloadRef.click()
} catch (e) { } catch (e) {
//TODO handle the exception //TODO handle the exception
console.log(e.message) console.log(e.message)

52
src/views/thrombolysis/components/throm-result-firstInfo.vue

@ -233,7 +233,7 @@
</div> </div>
<div class="first-footer"> <div class="first-footer">
<a-button :disabled="writeAble" class="common-button" block type="primary" size="large" <a-button :disabled="writeAble" class="common-button" block type="primary" size="large"
@click="onSubmit">{{patientId? '保存' : '下一步'}}</a-button> @click="onSubmit($event, patientId)">{{patientId? '保存' : '完成'}}</a-button>
<!-- <a-button :disabled="writeAble" type="link" size="large" @click="onSubmit"> <!-- <a-button :disabled="writeAble" type="link" size="large" @click="onSubmit">
保存<a-icon type="check" /> 保存<a-icon type="check" />
</a-button> --> </a-button> -->
@ -374,6 +374,7 @@
}, },
methods: { methods: {
...mapMutations('patient', ['setPatientData']),
successInformed() { successInformed() {
this.modalVisable = false; this.modalVisable = false;
}, },
@ -487,19 +488,40 @@
} }
// this.updateAidBase(code, value, type) // this.updateAidBase(code, value, type)
}, },
async onSubmit(e) { async onSubmit(e, patientId) {
e.preventDefault(); e.preventDefault();
let codeAndAnswerList = [], const _this = this;
params = {}; if(!patientId){
this.$confirm({
title: '提示',
okText: '确认',
cancelText: '取消',
content: '是否确定生成报告单,生成报告单后无法修改内容',
onOk() {
_this.handleSubmit(1)
},
onCancel() {
_this.handleSubmit(0)
},
});
}else{
this.handleSubmit()
}
},
handleSubmit(finishStatus){
this.$nextTick(async () => { this.$nextTick(async () => {
let adverseSubmit = this.$refs.adverse;
if (adverseSubmit) {
let res = await adverseSubmit.onAdverseSubmit(e, 'first');
if (res.length > 0) {
codeAndAnswerList = codeAndAnswerList.concat(res);
}
}
this.firstForm.validateFields(async (err, values) => { this.firstForm.validateFields(async (err, values) => {
let codeAndAnswerList = [],
params = {};
const { firstAidId } = this.patientData
console.log('firstinfo handleSubmit', firstAidId)
let adverseSubmit = this.$refs.adverse;
if (adverseSubmit) {
let res = await adverseSubmit.onAdverseSubmit(e, 'first');
if (res.length > 0) {
codeAndAnswerList = codeAndAnswerList.concat(res);
}
}
for (var k in values) { for (var k in values) {
if (Object.keys(this.codeForm).includes(k)) { if (Object.keys(this.codeForm).includes(k)) {
let answer = [values[k]]; let answer = [values[k]];
@ -524,12 +546,18 @@
await this.home.updateAidCode({ await this.home.updateAidCode({
...params, ...params,
codeAndAnswerList, codeAndAnswerList,
finishStatus
}, },
false false
); );
this.$message.success("操作成功") this.$message.success("操作成功")
this.$emit('next') if(finishStatus === 1) {
console.log('firstinfo', firstAidId)
this.$emit('next', {firstAidId})
// this.setPatientData({})
}
}); });
}); });
}, },
// //

4
src/views/thrombolysis/components/throm-result.vue

@ -48,8 +48,8 @@
handleNext() { handleNext() {
this.currentIndex++ this.currentIndex++
}, },
handleNextStep() { handleNextStep(data) {
this.$emit('next') this.$emit('next', data)
} }
} }
} }

45
src/views/thrombolysis/index.vue

@ -4,28 +4,27 @@
<div class="thrombolysis-box"> <div class="thrombolysis-box">
<a-steps v-model="current" type="navigation" size="small" :style="stepStyle"> <a-steps v-model="current" type="navigation" size="small" :style="stepStyle">
<a-step status="finish" title="创建患者" disabled /> <a-step status="finish" title="创建患者" disabled />
<a-step :status="current == 1 ? 'process' : current > 1 ? 'finish' : 'wait'" title="溶栓前"> <a-step :status="current == 1 ? 'process' : current > 1 ? 'finish' : 'wait'" title="溶栓前" :disabled="!!firstAidId">
<!-- <div slot="icon" style="font-size: 1.7rem;">1.</div> -->
</a-step> </a-step>
<template v-if="isrs && !isjr"> <template v-if="isrs && !isjr">
<a-step :status="current == 2 ? 'process' : current > 2 ? 'finish' : 'wait'" title="溶栓中" /> <a-step :status="current == 2 ? 'process' : current > 2 ? 'finish' : 'wait'" title="溶栓中" :disabled="!!firstAidId" />
<a-step :status="current == 3 ? 'process' : current > 3 ? 'finish' : 'wait'" title="查看结果" /> <a-step :status="current == 3 ? 'process' : current > 3 ? 'finish' : 'wait'" title="查看结果" :disabled="!!firstAidId" />
<a-step :status="current == 4 ? 'process' : current > 4 ? 'finish' : 'wait'" title="报告" /> <a-step :status="current == 4 ? 'process' : current > 4 ? 'finish' : 'wait'" title="报告" disabled />
</template> </template>
<template v-else-if="!isrs && isjr"> <template v-else-if="!isrs && isjr">
<a-step :status="current == 2 ? 'process' : current > 2 ? 'finish' : 'wait'" title="介入" /> <a-step :status="current == 2 ? 'process' : current > 2 ? 'finish' : 'wait'" title="介入" :disabled="!!firstAidId" />
<a-step :status="current == 3 ? 'process' : current > 3 ? 'finish' : 'wait'" title="查看结果" /> <a-step :status="current == 3 ? 'process' : current > 3 ? 'finish' : 'wait'" title="查看结果" :disabled="!!firstAidId" />
<a-step :status="current == 4 ? 'process' : current > 4 ? 'finish' : 'wait'" title="报告" /> <a-step :status="current == 4 ? 'process' : current > 4 ? 'finish' : 'wait'" title="报告" disabled />
</template> </template>
<template v-else-if="!isrs && !isjr"> <template v-else-if="!isrs && !isjr">
<a-step :status="current == 2 ? 'process' : current > 2 ? 'finish' : 'wait'" title="查看结果" /> <a-step :status="current == 2 ? 'process' : current > 2 ? 'finish' : 'wait'" title="查看结果" :disabled="!!firstAidId" />
<a-step :status="current == 3 ? 'process' : current > 3 ? 'finish' : 'wait'" title="报告" /> <a-step :status="current == 3 ? 'process' : current > 3 ? 'finish' : 'wait'" title="报告" disabled />
</template> </template>
<template v-else> <template v-else>
<a-step :status="current == 2 ? 'process' : current > 2 ? 'finish' : 'wait'" title="溶栓中" /> <a-step :status="current == 2 ? 'process' : current > 2 ? 'finish' : 'wait'" title="溶栓中" :disabled="!!firstAidId" />
<a-step :status="current == 3 ? 'process' : current > 3 ? 'finish' : 'wait'" title="介入" /> <a-step :status="current == 3 ? 'process' : current > 3 ? 'finish' : 'wait'" title="介入" :disabled="!!firstAidId" />
<a-step :status="current == 4 ? 'process' : current > 4 ? 'finish' : 'wait'" title="查看结果" /> <a-step :status="current == 4 ? 'process' : current > 4 ? 'finish' : 'wait'" title="查看结果" :disabled="!!firstAidId" />
<a-step :status="current == 5 ? 'process' : current > 5 ? 'finish' : 'wait'" title="报告" /> <a-step :status="current == 5 ? 'process' : current > 5 ? 'finish' : 'wait'" title="报告" disabled />
</template> </template>
</a-steps> </a-steps>
@ -34,22 +33,22 @@
<template v-if="isrs && !isjr"> <template v-if="isrs && !isjr">
<throm-ing v-if="current == 2" @next="handleNext"></throm-ing> <throm-ing v-if="current == 2" @next="handleNext"></throm-ing>
<throm-result v-if="current == 3" @next="handleNext"></throm-result> <throm-result v-if="current == 3" @next="handleNext"></throm-result>
<throm-report v-else-if="current == 4" @next="handleNext"></throm-report> <throm-report v-else-if="current == 4" @next="handleNext" :firstAidId="firstAidId"></throm-report>
</template> </template>
<template v-else-if="!isrs && isjr"> <template v-else-if="!isrs && isjr">
<throm-interfere v-if="current == 2" @next="handleNext"></throm-interfere> <throm-interfere v-if="current == 2" @next="handleNext"></throm-interfere>
<throm-result v-if="current == 3" @next="handleNext"></throm-result> <throm-result v-if="current == 3" @next="handleNext"></throm-result>
<throm-report v-else-if="current == 4" @next="handleNext"></throm-report> <throm-report v-else-if="current == 4" @next="handleNext" :firstAidId="firstAidId"></throm-report>
</template> </template>
<template v-else-if="!isrs && !isjr"> <template v-else-if="!isrs && !isjr">
<throm-result v-if="current == 2" @next="handleNext"></throm-result> <throm-result v-if="current == 2" @next="handleNext"></throm-result>
<throm-report v-else-if="current == 3" @next="handleNext"></throm-report> <throm-report v-else-if="current == 3" @next="handleNext" :firstAidId="firstAidId"></throm-report>
</template> </template>
<template v-else> <template v-else>
<throm-ing v-if="current == 2" @next="handleNext"></throm-ing> <throm-ing v-if="current == 2" @next="handleNext"></throm-ing>
<throm-interfere v-else-if="current == 3" @next="handleNext"></throm-interfere> <throm-interfere v-else-if="current == 3" @next="handleNext"></throm-interfere>
<throm-result v-else-if="current == 4" @next="handleNext"></throm-result> <throm-result v-else-if="current == 4" @next="handleNext"></throm-result>
<throm-report v-else-if="current == 5" @next="handleNext"></throm-report> <throm-report v-else-if="current == 5" @next="handleNext" :firstAidId="firstAidId"></throm-report>
</template> </template>
@ -94,11 +93,17 @@
marginBottom: '60px', marginBottom: '60px',
boxShadow: '0px -1px 0 0 #e8e8e8 inset', boxShadow: '0px -1px 0 0 #e8e8e8 inset',
}, },
firstAidId: ''
} }
}, },
methods: { methods: {
handleNext() { handleNext(data) {
this.current++ this.firstAidId = data?.firstAidId
// console.log(firstAidId)
this.$nextTick(()=> {
this.current++
})
} }
} }
} }

Loading…
Cancel
Save