Browse Source

20250301

master
nicky 5 months ago
parent
commit
71d4f35eba
  1. 176
      src/layouts/BasicLayout.less
  2. 88
      src/layouts/BasicLayout.vue
  3. 2
      src/views/Patient/components/patient-detail.vue
  4. 9
      src/views/Patient/components/patient-list.vue
  5. 2
      src/views/Patient/index.vue
  6. 115
      src/views/document/index.vue
  7. 5
      src/views/thrombolysis/components/throm-before.vue
  8. 4
      src/views/thrombolysis/components/throm-ing.vue
  9. 5
      src/views/thrombolysis/components/throm-interfere.vue
  10. 350
      src/views/thrombolysis/components/throm-report.vue
  11. 5
      src/views/thrombolysis/components/throm-result.vue

176
src/layouts/BasicLayout.less

@ -1,109 +1,65 @@
.global-layout{ .global-layout{
user-select: none; /* 禁止文本选择 */
-webkit-user-select: none; /* Safari */
-moz-user-select: none; /* Firefox */
-ms-user-select: none; /* IE */
.page-layout{ .page-layout{
background-color: #f6f6f6; background-color: #f6f6f6;
width: 100vw; width: 100vw;
height: 100vh; height: 100vh;
.ant-layout-header{
.ant-layout-sider{ display: flex;
flex: 0 0 138px !important; align-items: center;
max-width: 138px !important; padding: 0 !important;
min-width: 138px !important; height: 59px !important;
width: 138px !important; background-color: #FFFFFF !important;
background-color: #fff; border-bottom: 1px solid #eee;
box-sizing: border-box;
.layout-sider-header-row{ .layout-sider-header-row{
display: flex; display: flex;
// padding: .3rem 1rem; align-items: center;
height: 59px;
line-height: 59px;
box-sizing: border-box; box-sizing: border-box;
overflow: hidden; overflow: hidden;
justify-content: center; justify-content: center;
border-bottom: 1px solid #eee; // border-bottom: 1px solid #eee;
padding-left: 28px;
.layout-sider-header-row-icon{ .layout-sider-header-row-icon{
display: flex; display: flex;
align-items: center; align-items: center;
.sider-header-icon{ .sider-header-icon{
display: inline-block; display: inline-block;
text-align: center; text-align: center;
width: 50px; width: 44px;
height: 50px; height: 44px;
line-height: 50px; background-color: #007AFF;
background-color: #659aff; border-radius: 9px;
border-radius: 50px;
overflow: hidden; overflow: hidden;
color: #FFFFFF; color: #FFFFFF;
font-size: 28px; font-weight: 500;
font-size: 26px;
line-height: 44px;
} }
} }
.layout-sider-header-row-title{ .layout-sider-header-row-title{
flex: 1; flex: 1;
font-size: .6rem; font-family: Source Han Sans, Source Han Sans;
margin-left: 0.2rem; font-weight: 500;
}
}
.layout-sider-menu{
padding: 10px;
padding-top: 20px;
user-select: none; /* 禁止文本选择 */
-webkit-user-select: none; /* Safari */
-moz-user-select: none; /* Firefox */
-ms-user-select: none; /* IE */
.menus{
.menu-item{
border-radius: .5rem;
color: #666666;
overflow: hidden;
display: flex;
justify-content: flex-start;
align-items: center;
padding: .4rem .6rem;
margin-bottom: .5rem;
cursor: pointer;
&.active{
color: #FFFFFF;
box-shadow: 0 1px 6px rgba(238, 238, 238, 1);
background-color: #0576fe;
}
.menu-item-icon{
img{
width: 25px;
height: 25px;
}
}
.menu-item-name{
flex: 1;
text-align: left;
margin-left: .5rem;
text-align: center;
font-size: 22px; font-size: 22px;
} color: #3D3D3D;
} // line-height: 32px;
text-align: left;
} font-style: normal;
text-transform: none;
} }
} }
.ant-layout{
height: 100vh;
display: flex;
flex-direction: column;
.ant-layout-header{
padding: 0 !important;
height: 59px !important;
line-height: 59px !important;
background-color: #FFFFFF !important;
border-bottom: 1px solid #eee;
box-sizing: border-box;
.patient-box{ .patient-box{
flex: 1;
display: flex; display: flex;
justify-content: flex-start; justify-content: center;
padding: 0 20px; // padding: 0 20px;
box-sizing: border-box; box-sizing: border-box;
.paitent-title{ .paitent-title{
height: 100%; height: 100%;
@ -118,20 +74,21 @@
height: 100%; height: 100%;
display: flex; display: flex;
align-items: center; align-items: center;
font-size: 18px; font-size: 22px;
.lable { .lable {
// color: #AAAAAA; color: #999999;
padding: 0 .5rem 0 0.3rem; font-weight: 400;
margin-right: 10px;
} }
.text { .text {
color: #000000; color: #333333;
// padding: 0 1rem 0 0;
&.text-red{ &.text-red{
color: red; color: red;
font-weight: 600;
} }
&.mr-sm{ &.mr-sm{
margin-right: .5rem; margin-right: 20px;
} }
} }
} }
@ -163,6 +120,61 @@
padding-left: 20px; padding-left: 20px;
} }
} }
.ant-layout{
height: calc(100vh - 60px);
display: flex;
.ant-layout-sider{
flex: 0 0 92px !important;
max-width: 92px !important;
min-width: 92px !important;
width: 92px !important;
background-color: #fff;
.layout-sider-menu{
padding: 6px;
padding-top: 20px;
.menus{
.menu-item{
width: 80px;
height: 80px;
border-radius: 8px;
color: #666666;
overflow: hidden;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
padding: .4rem;
margin-bottom: .5rem;
cursor: pointer;
&.active{
color: #FFFFFF;
box-shadow: 0 1px 6px rgba(238, 238, 238, 1);
background-color: #007AFF;
}
.menu-item-icon{
padding: 5px 0 3px 0;
img{
width: 37px;
height: 29px;
}
}
.menu-item-name{
flex: 1;
text-align: center;
font-size: 22px;
line-height: 32px;
}
}
}
}
}
.ant-layout-content{ .ant-layout-content{
position: relative; position: relative;
flex: 1; flex: 1;

88
src/layouts/BasicLayout.vue

@ -1,36 +1,19 @@
<template> <template>
<div class="global-layout"> <div class="global-layout">
<a-layout class="page-layout"> <a-layout class="page-layout">
<a-layout-sider> <a-layout-header>
<div class="layout-sider-header">
<div class="layout-sider-header-row"> <div class="layout-sider-header-row">
<div class="layout-sider-header-row-icon"> <div class="layout-sider-header-row-icon">
<span class="sider-header-icon"></span> <span class="sider-header-icon"></span>
</div> </div>
<!-- <div class="layout-sider-header-row-title">质控卒中工作站</div> --> <div class="layout-sider-header-row-title">
</div> 卒中急救质控系统
</div>
<div class="layout-sider-menu">
<div class="menus" v-for="(item, index) in menus" :key="index">
<div class="menu-item" :class="{'active': current == index}"
@click="handleClickMenu(item, index)">
<div class="menu-item-icon">
<!-- <img src="@/assets/images/plus.png" alt="" /> -->
<img :src="item.iconactive" alt="" v-if="current == index" />
<img :src="item.icon" alt="" v-else />
</div>
<div class="menu-item-name">{{item.name}}</div>
</div> </div>
</div> </div>
</div>
</a-layout-sider>
<a-layout >
<a-layout-header>
<div class="patient-box"> <div class="patient-box">
<div class="paitent-title">卒中急救质控系统</div>
<template v-if="patientData.firstAidId && patientData.finish_status != 1"> <template v-if="patientData.firstAidId && patientData.finish_status != 1">
<div class="patient-info" @click="onClickPat"> <div class="patient-info" @click="onClickPat">
(
<span class="lable">姓名: </span> <span class="lable">姓名: </span>
<span class="text text-red mr-sm">{{patientData.patientName || '-'}}</span> <span class="text text-red mr-sm">{{patientData.patientName || '-'}}</span>
<span class="lable">性别: </span> <span class="lable">性别: </span>
@ -38,14 +21,13 @@
{{patientData.patientGender == 1 ? '女' : patientData.patientGender == 0 ? '男' : '-'}} {{patientData.patientGender == 1 ? '女' : patientData.patientGender == 0 ? '男' : '-'}}
</span> </span>
<span class="lable">年龄: </span> <span class="lable">年龄: </span>
<span <span class="text">{{patientData.patientAge ? (patientData.patientAge+'岁') : '-'}}</span>
class="text">{{patientData.patientAge ? (patientData.patientAge+'岁') : '-'}}</span>
<!-- <span class="lable">证件号: </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="patient-action">
<div class="action" @click="showDrawer"><a-icon type="minus-circle" /></div> <div class="action" @click="showDrawer"><a-icon type="minus-circle" /></div>
@ -54,6 +36,27 @@
</template> </template>
</div> </div>
</a-layout-header> </a-layout-header>
<a-layout-content>
<a-layout>
<a-layout-sider>
<div class="layout-sider-header">
</div>
<div class="layout-sider-menu">
<div class="menus" v-for="(item, index) in menus" :key="index">
<div class="menu-item" :class="{'active': current == index}"
@click="handleClickMenu(item, index)">
<div class="menu-item-icon">
<!-- <img src="@/assets/images/plus.png" alt="" /> -->
<img :src="item.iconactive" alt="" v-if="current == index" />
<img :src="item.icon" alt="" v-else />
</div>
<div class="menu-item-name">{{item.name}}</div>
</div>
</div>
</div>
</a-layout-sider>
<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 />
@ -63,19 +66,10 @@
<a-button key="submit" @click="handleTermin(0)">暂停急救</a-button> <a-button key="submit" @click="handleTermin(0)">暂停急救</a-button>
<a-button key="back" type="primary" @click="handleTermin(1)">终止急救</a-button> <a-button key="back" type="primary" @click="handleTermin(1)">终止急救</a-button>
</template> </template>
<p style="line-height: 32px;"><a-icon type="exclamation-circle" style="color: orange;font-weight: bold;font-size: 20px;margin-right: 12px" />是否结束本次急救?</p> <p style="line-height: 32px;"><a-icon type="exclamation-circle"
style="color: orange;font-weight: bold;font-size: 20px;margin-right: 12px" />是否结束本次急救?
</p>
</a-modal> </a-modal>
<!-- <a-drawer placement="bottom" :closable="false" :visible="termVisible" @close="onTermClose"
:get-container="false" :wrap-style="{ position: 'absolute' }">
<div v-if="termVisible">
<div style="text-align: center;font-size: 1.2rem; line-height: 4.2rem;">
<div style="border-bottom: 1px solid #eee;" @click="handleTermin(1)">终止急救</div>
<div style="border-bottom: 2px solid #eee;" @click="handleTermin(0)">暂停急救</div>
<div style="color: rgba(0, 0, 0, 0.6);" @click="onTermClose">取消</div>
</div>
</div>
</a-drawer> -->
<a-drawer placement="left" :visible="visible" width="380" @close="onClose" :getContainer="false" <a-drawer placement="left" :visible="visible" width="380" @close="onClose" :getContainer="false"
:closable="false" :wrap-style="{ position: 'absolute' }"> :closable="false" :wrap-style="{ position: 'absolute' }">
<div class="person-drawer"> <div class="person-drawer">
@ -121,7 +115,7 @@
</a-drawer> </a-drawer>
</a-layout-content> </a-layout-content>
</a-layout> </a-layout>
</a-layout-content>
</a-layout> </a-layout>
</div> </div>
@ -266,12 +260,18 @@
}, },
async handleTermin(finishStatus) { async handleTermin(finishStatus) {
const { firstAidId } = this.patientData; const {
firstAidId
} = this.patientData;
let res = await updateFirstAid({ let res = await updateFirstAid({
firstAidId, firstAidId,
finishStatus finishStatus
}); });
const { code, data, msg } = res; const {
code,
data,
msg
} = res;
if (code === 200) { if (code === 200) {
this.setPatientData({}) this.setPatientData({})
this.setTimerData({}); this.setTimerData({});
@ -311,13 +311,19 @@
title: '提示', title: '提示',
content: '退出登录后回终止本次急救, 确认要退出登录吗?', content: '退出登录后回终止本次急救, 确认要退出登录吗?',
onOk: async () => { onOk: async () => {
const { firstAidId } = this.patientData; const {
firstAidId
} = this.patientData;
if (firstAidId) { if (firstAidId) {
let res = await updateFirstAid({ let res = await updateFirstAid({
firstAidId, firstAidId,
finishStatus: 1 finishStatus: 1
}); });
const { code, data, msg } = res; const {
code,
data,
msg
} = res;
if (code === 200) { if (code === 200) {
this.setPatientData({}) this.setPatientData({})
this.setTimerData({}); this.setTimerData({});

2
src/views/Patient/components/patient-detail.vue

@ -410,7 +410,7 @@
<style lang="less" scoped> <style lang="less" scoped>
.patient-detail { .patient-detail {
display: flex; display: flex;
height: calc(100vh - 200px); height: calc(100vh - 180px);
overflow-y: auto; overflow-y: auto;
.patient-dlist { .patient-dlist {

9
src/views/Patient/components/patient-list.vue

@ -116,9 +116,7 @@
const params = { const params = {
pageNum: this.pageNum, pageNum: this.pageNum,
pageSize: this.pageSize, pageSize: this.pageSize,
"param": { param: { keyWords }
"keywords": ""
}
}; };
const res = await queryTriageList(params); const res = await queryTriageList(params);
const { const {
@ -134,9 +132,8 @@
this.pagination.total = data.total; this.pagination.total = data.total;
this.busy = true; this.busy = true;
if (this.pageNum == 1) { if (this.pageNum == 1) {
// this.list = data?.list || [];
this.list = data?.list || []; this.list = data?.list || [];
console.log(this.list)
this.list = [...this.list, ...(data?.list || [])];
} else { } else {
this.list = [...this.list, ...data.list]; this.list = [...this.list, ...data.list];
} }
@ -243,7 +240,7 @@
<style lang="less" scoped> <style lang="less" scoped>
// //
.patient-list { .patient-list {
height: calc(100vh - 200px); height: calc(100vh - 205px);
overflow-y: auto; overflow-y: auto;
} }

2
src/views/Patient/index.vue

@ -18,7 +18,7 @@
<patient-list ref="patientList" @change="changeComponent" :column="1"></patient-list> <patient-list ref="patientList" @change="changeComponent" :column="1"></patient-list>
</div> </div>
<div class="patient-detail"> <div class="patient-detail">
<patient-detail ref="patientList" :firstAidData="firstAidData" :carList="carList" :carNo="carNo" <patient-detail ref="patientDetail" :firstAidData="firstAidData" :carList="carList" :carNo="carNo"
@change="changeComponent"></patient-detail> @change="changeComponent"></patient-detail>
</div> </div>

115
src/views/document/index.vue

@ -23,7 +23,18 @@
</template> </template>
<template slot="sex" slot-scope="text"> <template slot="sex" slot-scope="text">
<div v-if="text == 0"></div> <div v-if="text == 0"></div>
<div v-if="text == 1"></div> <div v-else-if="text == 1"></div>
</template>
<template slot="type" slot-scope="text">
<div v-if="text == 0">卒中</div>
<div v-else-if="text == 1">胸痛</div>
<div v-else-if="text == 2">创伤</div>
</template>
<template slot="firstAidStatus" slot-scope="text">
<div v-if="text == 0">创建</div>
<div v-else-if="text == 1">待审核</div>
<div v-else-if="text == 2">审核拒绝</div>
<div v-else-if="text == 3">审核通过</div>
</template> </template>
</a-table> </a-table>
</div> </div>
@ -91,19 +102,27 @@
}, },
columns: [{ columns: [{
title: '急救编号',
width: 240,
dataIndex: 'firstAidId',
ellipsis: true,
align: 'center',
key: 'firstAidId',
// fixed: 'left'
}, {
title: '姓名', title: '姓名',
width: 150, width: 120,
dataIndex: 'patientName', dataIndex: 'patientName',
ellipsis: true, ellipsis: true,
align: 'center', align: 'center',
key: 'name', key: 'patientName',
fixed: 'left' // fixed: 'left'
}, },
{ {
title: '性别', title: '性别',
width: 120, width: 120,
dataIndex: 'patientGender', dataIndex: 'patientGender',
key: 'sex', key: 'patientGender',
align: 'center', align: 'center',
scopedSlots: { scopedSlots: {
customRender: 'sex' customRender: 'sex'
@ -114,12 +133,13 @@
dataIndex: 'patientIdCardNo', dataIndex: 'patientIdCardNo',
align: 'center', align: 'center',
ellipsis: true, ellipsis: true,
key: 'patientIdCardNo',
width: 280 width: 280
}, },
{ {
title: '联系方式', title: '联系方式',
dataIndex: 'patientPhone', dataIndex: 'patientPhone',
key: '2', key: 'patientPhone',
ellipsis: true, ellipsis: true,
align: 'center', align: 'center',
width: 250 width: 250
@ -134,11 +154,14 @@
}, },
{ {
title: '绿色通道', title: '绿色通道',
dataIndex: 'address', dataIndex: 'type',
key: '4', key: '4',
ellipsis: true, ellipsis: true,
align: 'center', align: 'center',
width: 250 width: 250,
scopedSlots: {
customRender: 'type'
},
}, },
{ {
title: '发病时间', title: '发病时间',
@ -150,7 +173,7 @@
}, },
{ {
title: '到院时间', title: '到院时间',
dataIndex: 'JBXX-DYSJ', dataIndex: 'JBXX-DY-TIME',
key: '6', key: '6',
ellipsis: true, ellipsis: true,
align: 'center', align: 'center',
@ -166,7 +189,7 @@
}, },
{ {
title: '卒中医生到场时间', title: '卒中医生到场时间',
dataIndex: 'JBXX-SNYSDC-TIME', dataIndex: 'JBXX-CZYSDC-TIME',
key: '8', key: '8',
align: 'center', align: 'center',
ellipsis: true, ellipsis: true,
@ -190,7 +213,7 @@
}, },
{ {
title: 'CT时间', title: 'CT时间',
dataIndex: 'RYPG-CT-JCKS-TIME', dataIndex: 'RYPG-CT-DD-TIME',
key: '11', key: '11',
align: 'center', align: 'center',
ellipsis: true, ellipsis: true,
@ -198,19 +221,63 @@
}, },
{ {
title: '团注时间', title: '团注时间',
dataIndex: 'JMRS-TZSJ', dataIndex: 'JMRS-TIME',
key: '12', key: '12',
align: 'center', align: 'center',
ellipsis: true, ellipsis: true,
width: 280 width: 280
}, },
{ {
title: '指标分析(单位/秒)', title: '指标分析',
dataIndex: 'JMRS-ZBFX', children: [{
key: '13', title: 'ODT(s)',
dataIndex: 'odt',
key: '131',
align: 'center', align: 'center',
ellipsis: true, ellipsis: true,
width: 280 width: 100
},
{
title: 'DNT(s)',
dataIndex: 'dnt',
key: '132',
align: 'center',
ellipsis: true,
width: 100
},
{
title: 'DIT(s)',
dataIndex: 'dit',
key: '133',
align: 'center',
ellipsis: true,
width: 100
},
{
title: 'ONT(s)',
dataIndex: 'ont',
key: '134',
align: 'center',
ellipsis: true,
width: 100
},
{
title: 'DPT(s)',
dataIndex: 'dpt',
key: '135',
align: 'center',
ellipsis: true,
width: 100
},
{
title: 'PRT(s)',
dataIndex: 'prt',
key: '136',
align: 'center',
ellipsis: true,
width: 100
},
]
}, },
{ {
title: '介入治疗记录', title: '介入治疗记录',
@ -223,18 +290,21 @@
{ {
title: '创建时间', title: '创建时间',
dataIndex: 'createTime', dataIndex: 'createTime',
key: '15', key: 'createTime',
align: 'center', align: 'center',
ellipsis: true, ellipsis: true,
width: 280 width: 280
}, },
{ {
title: '状态', title: '状态',
dataIndex: 'finishStatus', dataIndex: 'firstAidStatus',
width: 200, width: 200,
align: 'center', align: 'center',
ellipsis: true, ellipsis: true,
key: '16' key: '16',
scopedSlots: {
customRender: 'firstAidStatus'
},
}, },
{ {
title: '备注', title: '备注',
@ -248,7 +318,7 @@
key: 'operation', key: 'operation',
fixed: 'right', fixed: 'right',
align: 'center', align: 'center',
width: 380, width: 320,
scopedSlots: { scopedSlots: {
customRender: 'action' customRender: 'action'
}, },
@ -311,7 +381,10 @@
this.pagination.total = data.total; this.pagination.total = data.total;
this.dataSource = (data?.list || []).map(a => { this.dataSource = (data?.list || []).map(a => {
if (a.firstAidRecordVos) { if (a.firstAidRecordVos) {
a.firstAidRecordVos.forEach(({answer, questionCode}) => { a.firstAidRecordVos.forEach(({
answer,
questionCode
}) => {
a[questionCode] = answer.toString() a[questionCode] = answer.toString()
}) })
} }

5
src/views/thrombolysis/components/throm-before.vue

@ -58,7 +58,7 @@
display: flex; display: flex;
.throm-step { .throm-step {
padding: 10px; padding: 32px 10px 32px 12px;
margin-right: 10px; margin-right: 10px;
background-color: #fff; background-color: #fff;
@ -150,6 +150,7 @@
border: 0.5px solid #a3acbf; border: 0.5px solid #a3acbf;
border-radius: 0.55vw; border-radius: 0.55vw;
vertical-align: middle; vertical-align: middle;
&.ant-checkbox-wrapper-checked { &.ant-checkbox-wrapper-checked {
background: #007AFF; background: #007AFF;
color: #fff; color: #fff;
@ -193,9 +194,11 @@
} }
} }
} }
.throm-report .report-timeline { .throm-report .report-timeline {
margin-left: 40px; margin-left: 40px;
} }
.ant-card-head-title { .ant-card-head-title {
font-size: 24px; font-size: 24px;
color: #222; color: #222;

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

@ -119,8 +119,8 @@
display: flex; display: flex;
.throm-step { .throm-step {
padding: 10px; padding: 32px 10px 32px 12px;
margin-right: .2rem; margin-right: 10px;
background-color: #fff; background-color: #fff;
// .ant-steps-vertical .ant-steps-item-content { // .ant-steps-vertical .ant-steps-item-content {

5
src/views/thrombolysis/components/throm-interfere.vue

@ -50,13 +50,14 @@
display: flex; display: flex;
.throm-step { .throm-step {
padding: 10px; padding: 32px 10px 32px 12px;
margin-right: .2rem; margin-right: 10px;
background-color: #fff; background-color: #fff;
.ant-steps-vertical .ant-steps-item-content { .ant-steps-vertical .ant-steps-item-content {
min-height: 10rem; min-height: 10rem;
} }
.ant-steps { .ant-steps {
height: 100%; height: 100%;
padding-bottom: 20px; padding-bottom: 20px;

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

@ -3,53 +3,125 @@
<div class="report-container"> <div class="report-container">
<a-row> <a-row>
<a-col :span="24"> <a-col :span="24">
<a-card class="report-card baseInfo" title="患者信息"> <a-card class="report-card baseInfo" title="患者信息" :bodyStyle="{padding: 0}">
<a-col :span='8'> <a-col :span='8'>
<a-row><div class="leftTitle">姓名</div><div class="rightValue">{{patient.patientName}}</div></a-row> <a-row>
<a-row><div class="leftTitle">民族</div><div class="rightValue">{{patient.patientNation || '-'}}</div></a-row> <div class="leftTitle">姓名</div>
<a-row><div class="leftTitle">诊断</div><div class="rightValue">{{patient.firstAidZlTypeString || '-'}}</div></a-row> <div class="rightValue">{{patient.patientName}}</div>
</a-row>
<a-row>
<div class="leftTitle">民族</div>
<div class="rightValue">{{patient.patientNation || '-'}}</div>
</a-row>
<a-row>
<div class="leftTitle">诊断</div>
<div class="rightValue">{{patient.firstAidZlTypeString || '-'}}</div>
</a-row>
</a-col> </a-col>
<a-col :span='8' class="midItem"> <a-col :span='8' class="midItem">
<a-row><div class="leftTitle">性别</div><div class="rightValue">{{patient.patientGenderString || '-'}}</div></a-row> <a-row>
<a-row><div class="leftTitle">身份证号</div><div class="rightValue">{{patient.patientIdCardNo ? utils.maskIDCard(patient.patientIdCardNo || '') : '-'}}</div></a-row> <div class="leftTitle">性别</div>
<a-row><div class="leftTitle">发病时间</div><div class="rightValue">{{queryItemInfo('XGZL-CCWC-TIME').toString() ||'-'}}</div></a-row> <div class="rightValue">{{patient.patientGenderString || '-'}}</div>
</a-row>
<a-row>
<div class="leftTitle">身份证号</div>
<div class="rightValue">
{{patient.patientIdCardNo ? utils.maskIDCard(patient.patientIdCardNo || '') : '-'}}
</div>
</a-row>
<a-row>
<div class="leftTitle">发病时间</div>
<div class="rightValue">{{queryItemInfo('XGZL-CCWC-TIME').toString() ||'-'}}</div>
</a-row>
</a-col> </a-col>
<a-col :span='8'> <a-col :span='8'>
<a-row><div class="leftTitle">年龄</div><div class="rightValue">{{patient.patientAge || '-'}}</div></a-row> <a-row>
<a-row><div class="leftTitle">联系方式</div><div class="rightValue">{{patient.patientContract || '-'}}</div></a-row> <div class="leftTitle">年龄</div>
<div class="rightValue">{{patient.patientAge || '-'}}</div>
</a-row>
<a-row>
<div class="leftTitle">联系方式</div>
<div class="rightValue">{{patient.patientContract || '-'}}</div>
</a-row>
</a-col> </a-col>
</a-card> </a-card>
</a-col> </a-col>
<a-col :span="24"> <a-col :span="24" v-if="false">
<a-card class="report-card baseInfo" title="病情评估"> <a-card class="report-card baseInfo" title="病情评估">
<a-col :span='8'> <a-col :span='8'>
<a-row><div class="leftTitle">入院mRS评分</div><div class="rightValue">{{ getFirstInfo['RYPG-MRS'] || '暂无' }}</div></a-row> <a-row>
<a-row><div class="leftTitle">入院NIHSS评分</div><div class="rightValue">{{ getFirstInfo['RYPG-NIHSS'] || '暂无' }}</div></a-row> <div class="leftTitle">入院mRS评分</div>
<a-row><div class="leftTitle">舒张压/收缩压</div><div class="rightValue"> <div class="rightValue">{{ getFirstInfo['RYPG-MRS'] || '暂无' }}</div>
</a-row>
<a-row>
<div class="leftTitle">入院NIHSS评分</div>
<div class="rightValue">{{ getFirstInfo['RYPG-NIHSS'] || '暂无' }}</div>
</a-row>
<a-row>
<div class="leftTitle">舒张压/收缩压</div>
<div class="rightValue">
<span>{{getFirstInfo['RYPG-DIASTOLIC-PRESSURE'] ? (getFirstInfo['RYPG-DIASTOLIC-PRESSURE'] + 'mmHg') : '暂无'}}</span> <span>{{getFirstInfo['RYPG-DIASTOLIC-PRESSURE'] ? (getFirstInfo['RYPG-DIASTOLIC-PRESSURE'] + 'mmHg') : '暂无'}}</span>
<span> / </span> <span> / </span>
<span>{{getFirstInfo['RYPG-SYSTOLIC-PRESSURE'] ? (getFirstInfo['RYPG-SYSTOLIC-PRESSURE'] + 'mmHg') : '暂无'}}</span> <span>{{getFirstInfo['RYPG-SYSTOLIC-PRESSURE'] ? (getFirstInfo['RYPG-SYSTOLIC-PRESSURE'] + 'mmHg') : '暂无'}}</span>
</div></a-row> </div>
<a-row><div class="leftTitle">选用平车</div><div class="rightValue">{{patient.carNo || '-'}}</div></a-row> </a-row>
<a-row><div class="leftTitle">绿道状态</div><div class="rightValue"><span class="report-treat-rowtext"><a-switch checked></a-switch></span></div></a-row> <a-row>
<div class="leftTitle">选用平车</div>
<div class="rightValue">{{patient.carNo || '-'}}</div>
</a-row>
<a-row>
<div class="leftTitle">绿道状态</div>
<div class="rightValue"><span class="report-treat-rowtext"><a-switch
checked></a-switch></span></div>
</a-row>
</a-col> </a-col>
<a-col :span='8' class="midItem"> <a-col :span='8' class="midItem">
<a-row><div class="leftTitle">身高</div><div class="rightValue">{{ getFirstInfo['RYPG-HEIGHT'] ? getFirstInfo['RYPG-HEIGHT'] + 'CM' : '暂无' }}</div></a-row> <a-row>
<a-row><div class="leftTitle">体重</div><div class="rightValue">{{ getFirstInfo['RYPG-WEIGHT'] ? getFirstInfo['RYPG-WEIGHT'] + 'KG' : '暂无' }}</div></a-row> <div class="leftTitle">身高</div>
<a-row><div class="leftTitle">BMI</div><div class="rightValue">{{ getFirstInfo['RYPG-BMI'] || '暂无' }}</div></a-row> <div class="rightValue">
<a-row><div class="leftTitle">血糖</div><div class="rightValue">{{ getFirstInfo['RYPG-PULSE'] ? getFirstInfo['RYPG-PULSE'] + '次/分' : '暂无' }}</div></a-row> {{ getFirstInfo['RYPG-HEIGHT'] ? getFirstInfo['RYPG-HEIGHT'] + 'CM' : '暂无' }}
</div>
</a-row>
<a-row>
<div class="leftTitle">体重</div>
<div class="rightValue">
{{ getFirstInfo['RYPG-WEIGHT'] ? getFirstInfo['RYPG-WEIGHT'] + 'KG' : '暂无' }}
</div>
</a-row>
<a-row>
<div class="leftTitle">BMI</div>
<div class="rightValue">{{ getFirstInfo['RYPG-BMI'] || '暂无' }}</div>
</a-row>
<a-row>
<div class="leftTitle">血糖</div>
<div class="rightValue">
{{ getFirstInfo['RYPG-PULSE'] ? getFirstInfo['RYPG-PULSE'] + '次/分' : '暂无' }}
</div>
</a-row>
</a-col> </a-col>
<a-col :span='8'> <a-col :span='8'>
<a-row><div class="leftTitle">选用平车</div><div class="rightValue">{{patient.carNo || '-'}}</div></a-row> <a-row>
<a-row><div class="leftTitle">溶栓药物</div><div class="rightValue">: {{getFirstInfo['JMRS-RSYW'] || '暂无'}}</div></a-row> <div class="leftTitle">选用平车</div>
<a-row><div class="leftTitle">静滴剂量</div><div class="rightValue">: {{getFirstInfo['JMRS-JDJL'] || '暂无'}}</div></a-row> <div class="rightValue">{{patient.carNo || '-'}}</div>
<a-row><div class="leftTitle">团注剂量</div><div class="rightValue">: {{getFirstInfo['JMRS-TZJL'] || '暂无'}}</div></a-row> </a-row>
<a-row>
<div class="leftTitle">溶栓药物</div>
<div class="rightValue">: {{getFirstInfo['JMRS-RSYW'] || '暂无'}}</div>
</a-row>
<a-row>
<div class="leftTitle">静滴剂量</div>
<div class="rightValue">: {{getFirstInfo['JMRS-JDJL'] || '暂无'}}</div>
</a-row>
<a-row>
<div class="leftTitle">团注剂量</div>
<div class="rightValue">: {{getFirstInfo['JMRS-TZJL'] || '暂无'}}</div>
</a-row>
</a-col> </a-col>
</a-card> </a-card>
</a-col> </a-col>
<a-col :span="24"> <a-col :span="24" v-if="false">
<a-card class="report-card" title="溶栓状态"> <a-card class="report-card" title="溶栓状态">
<div class="report-timeline"> <div class="report-timeline">
<a-steps progress-dot :current="currentIndex" direction="vertical"> <a-steps progress-dot :current="currentIndex" direction="vertical">
@ -70,10 +142,119 @@
</div> </div>
</a-card> </a-card>
</a-col> </a-col>
<a-col :span="24"> <a-col :span="24">
<a-card class="report-card" title="急诊溶栓记录"> <a-card class="report-card" title="DNT时间表" :bodyStyle="{padding: '0 32px'}">
<a slot="extra" href="javascript:;" @click="handleExportDntPdf">导出</a>
<div class="doc-ct-content">
<div class="record-content">
<table border class="report-rsgcb">
<colgroup>
<col style="width: 25%;">
<col style="width: 25%;">
<col style="width: 25%;">
<col style="width: 25%;">
</colgroup>
<!-- <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="1">溶栓流程</td>
<td colspan="1">具体时间</td>
<td colspan="1">溶栓流程</td>
<td colspan="1">具体时间</td>
</tr>
<tr>
<td colspan="1">发病时间</td>
<td colspan="1">{{queryItemInfo('JBXX-FBSJ').toString()}}</td>
<td colspan="1">到达CT时间</td>
<td colspan="1">{{queryItemInfo('RYPG-CT-DD-TIME').toString()}}</td>
</tr>
<tr>
<td colspan="1">到院时间</td>
<td colspan="1">{{queryItemInfo('JBXX-FBSJ').toString()}}</td>
<td colspan="1">CT检查开始时间</td>
<td colspan="1">{{queryItemInfo('RYPG-CT-JCKS-TIME').toString()}}</td>
</tr>
<tr>
<td colspan="1">启动绿道时间</td>
<td colspan="1">{{queryItemInfo('RYPG-GR-TIME').toString()}}</td>
<td colspan="1">CT检查结束时间</td>
<td colspan="1">{{queryItemInfo('RYPG-CT-JCWB-TIME').toString()}}</td>
</tr>
<tr>
<td colspan="1">呼叫时间</td>
<td colspan="1">{{queryItemInfo('JBXX-TZCZYS-TIME').toString()}}</td>
<td colspan="1">到达核磁时间</td>
<td colspan="1">{{queryItemInfo('JMRS-HC-TIME').toString()}}</td>
</tr>
<tr>
<td colspan="1">一线到场时间</td>
<td colspan="1">{{queryItemInfo('JBXX-CZYSDC-TIME').toString()}}</td>
<td colspan="1">二线医生到场时间</td>
<td colspan="1">{{queryItemInfo('JBXX-SNYSDC-TIME').toString()}}</td>
</tr>
<tr>
<td colspan="1">采血开始时间</td>
<td colspan="1">{{queryItemInfo('RYPG-BLOOD-TIME').toString()}}</td>
<td colspan="1">谈话开始时间</td>
<td colspan="1">{{queryItemInfo('JMRS-TH-TIME').toString()}}</td>
</tr>
<tr>
<td colspan="1">血样报告时间</td>
<td colspan="1">{{queryItemInfo('RYPG-BLOOD-REPORT-TIME').toString()}}</td>
<td colspan="1">心电开始时间</td>
<td colspan="1">{{queryItemInfo('RYPG-ECG-TIME').toString()}}</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="1">签署知情同意书时间</td>
<td colspan="1">{{queryItemInfo('JMRS-ZQTY-TIME').toString()}}</td>
<td colspan="1">到达溶栓区时间</td>
<td colspan="1">{{queryItemInfo('JMRS-RSQ-TIME').toString()}}</td>
</tr>
<tr>
<td colspan="1">静脉溶栓开始时间</td>
<td colspan="1">{{queryItemInfo('JMRS-TIME').toString()}}</td>
<td colspan="1">静脉溶栓结束时间</td>
<td colspan="1">{{queryItemInfo('JMRS-END-TIME').toString()}}</td>
</tr>
<tr>
<td colspan="1">进入介入室时间</td>
<td colspan="1">{{queryItemInfo('JMRS-DDJRS').toString()}}</td>
<td colspan="1">置鞘时间</td>
<td colspan="1">{{queryItemInfo('XGZL-CCWC-TIME').toString()}}</td>
</tr>
<tr>
<td colspan="1">血管再通时间</td>
<td colspan="1">{{queryItemInfo('XGZL-SH-SCXGZTSJ').toString()}}</td>
<td colspan="1">进入病房时间</td>
<td colspan="1">{{queryItemInfo('JMRS-DDBF').toString()}}</td>
</tr>
</table>
</div>
</div>
</a-card>
</a-col>
<a-col :span="24">
<a-card class="report-card" title="急诊溶栓记录" :bodyStyle="{padding: '0 32px'}">
<a slot="extra" id="exportFirst" href="JavaScript:;" @click="handleExportRsPdf">导出</a> <a slot="extra" id="exportFirst" href="JavaScript:;" @click="handleExportRsPdf">导出</a>
<div class="report-card-content" style="min-height: 300px;"> <div class="report-card-content" style="min-height: 100px;">
<div class="record-content" v-html="recordData"></div> <div class="record-content" v-html="recordData"></div>
<div class="emtpy" v-if="!recordData"> <div class="emtpy" v-if="!recordData">
<a-empty :image="emptyImage" description="暂无溶栓记录" /> <a-empty :image="emptyImage" description="暂无溶栓记录" />
@ -82,7 +263,7 @@
</a-card> </a-card>
</a-col> </a-col>
<a-col :span="24"> <a-col :span="24">
<a-card class="report-card" title="溶栓观察表"> <a-card class="report-card" title="溶栓观察表" :bodyStyle="{padding: '0 32px'}">
<a slot="extra" href="javascript:;" @click="handleExportRsgcbPdf">导出</a> <a slot="extra" href="javascript:;" @click="handleExportRsgcbPdf">导出</a>
<div class="doc-ct-content"> <div class="doc-ct-content">
<div> <div>
@ -189,111 +370,9 @@
</a-card> </a-card>
</a-col> </a-col>
<a-col :span="24"> <a-col :span="24">
<a-card class="report-card" title="DNT时间表"> <a-card class="report-card" title="介入手术记录" :bodyStyle="{padding: '0 32px'}">
<a slot="extra" href="javascript:;" @click="handleExportDntPdf">导出</a>
<div class="doc-ct-content">
<div class="record-content">
<table border class="report-rsgcb">
<!-- <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">到达CT时间</td>
<td colspan="3">{{queryItemInfo('RYPG-CT-DD-TIME').toString()}}</td>
</tr>
<tr>
<td colspan="2">到院时间</td>
<td colspan="3">{{queryItemInfo('JBXX-FBSJ').toString()}}</td>
<td colspan="2">CT检查开始时间</td>
<td colspan="3">{{queryItemInfo('RYPG-CT-JCKS-TIME').toString()}}</td>
</tr>
<tr>
<td colspan="2">启动绿道时间</td>
<td colspan="3">{{queryItemInfo('RYPG-GR-TIME').toString()}}</td>
<td colspan="2">CT检查结束时间</td>
<td colspan="3">{{queryItemInfo('RYPG-CT-JCWB-TIME').toString()}}</td>
</tr>
<tr>
<td colspan="2">呼叫时间</td>
<td colspan="3">{{queryItemInfo('JBXX-TZCZYS-TIME').toString()}}</td>
<td colspan="2">到达核磁时间</td>
<td colspan="3">{{queryItemInfo('JMRS-HC-TIME').toString()}}</td>
</tr>
<tr>
<td colspan="2">一线到场时间</td>
<td colspan="3">{{queryItemInfo('JBXX-CZYSDC-TIME').toString()}}</td>
<td colspan="2">二线医生到场时间</td>
<td colspan="3">{{queryItemInfo('JBXX-SNYSDC-TIME').toString()}}</td>
</tr>
<tr>
<td colspan="2">采血开始时间</td>
<td colspan="3">{{queryItemInfo('RYPG-BLOOD-TIME').toString()}}</td>
<td colspan="2">谈话开始时间</td>
<td colspan="3">{{queryItemInfo('JMRS-TH-TIME').toString()}}</td>
</tr>
<tr>
<td colspan="2">血样报告时间</td>
<td colspan="3">{{queryItemInfo('RYPG-BLOOD-REPORT-TIME').toString()}}</td>
<td colspan="2">心电开始时间</td>
<td colspan="3">{{queryItemInfo('RYPG-ECG-TIME').toString()}}</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-ZQTY-TIME').toString()}}</td>
<td colspan="2">到达溶栓区时间</td>
<td colspan="3">{{queryItemInfo('JMRS-RSQ-TIME').toString()}}</td>
</tr>
<tr>
<td colspan="2">静脉溶栓开始时间</td>
<td colspan="3">{{queryItemInfo('JMRS-TIME').toString()}}</td>
<td colspan="2">静脉溶栓结束时间</td>
<td colspan="3">{{queryItemInfo('JMRS-END-TIME').toString()}}</td>
</tr>
<tr>
<td colspan="2">进入介入室时间</td>
<td colspan="3">{{queryItemInfo('JMRS-DDJRS').toString()}}</td>
<td colspan="2">置鞘时间</td>
<td colspan="3">{{queryItemInfo('XGZL-CCWC-TIME').toString()}}</td>
</tr>
<tr>
<td colspan="2">血管再通时间</td>
<td colspan="3">{{queryItemInfo('XGZL-SH-SCXGZTSJ').toString()}}</td>
<td colspan="2">进入病房时间</td>
<td colspan="3">{{queryItemInfo('JMRS-DDBF').toString()}}</td>
</tr>
</table>
</div>
</div>
</a-card>
</a-col>
<a-col :span="24">
<a-card class="report-card" title="介入手术记录">
<a slot="extra" href="javascript:;" @click="handleExportJrPdf">导出</a> <a slot="extra" href="javascript:;" @click="handleExportJrPdf">导出</a>
<div class="doc-ct-content" style="min-height: 300px;"> <div class="doc-ct-content" style="min-height: 100px;">
<div class="record-content" v-html="operaData"></div> <div class="record-content" v-html="operaData"></div>
<div class="emtpy" v-if="!operaData"> <div class="emtpy" v-if="!operaData">
<a-empty :image="emptyImage" description="暂无手术记录" /> <a-empty :image="emptyImage" description="暂无手术记录" />
@ -912,6 +991,7 @@
.report-timeline { .report-timeline {
overflow-y: auto; overflow-y: auto;
.ant-steps { .ant-steps {
height: 100%; height: 100%;
padding-bottom: 20px; padding-bottom: 20px;
@ -952,17 +1032,21 @@
border-bottom: none; border-bottom: none;
} }
} }
.baseInfo { .baseInfo {
line-height: 32px; line-height: 32px;
.ant-col-8 { .ant-col-8 {
padding-left: 30px; padding-left: 30px;
padding-right: 30px; padding-right: 30px;
} }
.leftTitle { .leftTitle {
float: left; float: left;
font-size: 18px; font-size: 18px;
color: #888888; color: #888888;
} }
.rightValue { .rightValue {
float: right; float: right;
font-size: 18px; font-size: 18px;
@ -974,10 +1058,10 @@
border-right: 1px solid #eee; border-right: 1px solid #eee;
} }
} }
.report-rsgcb td { .report-rsgcb td {
font-size: 18px; font-size: 18px;
color: #3D3D3D; color: #3D3D3D;
} }
} }
</style> </style>

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

@ -58,9 +58,10 @@
<style lang="less"> <style lang="less">
.throm-result { .throm-result {
display: flex; display: flex;
.throm-step { .throm-step {
padding: 10px; padding: 32px 10px 32px 12px;
margin-right: .2rem; margin-right: 10px;
background-color: #fff; background-color: #fff;
.ant-steps-vertical .ant-steps-item-content { .ant-steps-vertical .ant-steps-item-content {

Loading…
Cancel
Save