Browse Source

20250225

master
nicky 5 months ago
parent
commit
4b3fe0bc85
  1. 276
      src/layouts/BasicLayout.less
  2. 2
      src/layouts/BasicLayout.vue
  3. 104
      src/views/document/index.vue
  4. 4
      src/views/statistics/index.vue

276
src/layouts/BasicLayout.less

@ -3,6 +3,7 @@
background-color: #f6f6f6; background-color: #f6f6f6;
width: 100vw; width: 100vw;
height: 100vh; height: 100vh;
.ant-layout-sider{ .ant-layout-sider{
flex: 0 0 120px !important; flex: 0 0 120px !important;
max-width: 120px !important; max-width: 120px !important;
@ -81,165 +82,174 @@
} }
} }
.ant-layout-header{
padding: 0 !important;
height: 5vw !important;
line-height: 5vw !important;
background-color: #FFFFFF !important;
.patient-box{
display: flex;
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 {
height: 100%;
display: flex;
align-items: center;
font-size: 1.5rem;
.lable { .ant-layout{
// color: #AAAAAA; height: 100vh;
padding: 0 .5rem 0 0.3rem; display: flex;
flex-direction: column;
.ant-layout-header{
padding: 0 !important;
height: 5vw !important;
line-height: 5vw !important;
background-color: #FFFFFF !important;
.patient-box{
display: flex;
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;
} }
.text { .patient-info {
color: #000000; height: 100%;
// padding: 0 1rem 0 0; display: flex;
&.text-red{ align-items: center;
color: red; font-size: 1.5rem;
.lable {
// color: #AAAAAA;
padding: 0 .5rem 0 0.3rem;
} }
&.mr-sm{ .text {
margin-right: .5rem; color: #000000;
// padding: 0 1rem 0 0;
&.text-red{
color: red;
}
&.mr-sm{
margin-right: .5rem;
}
} }
} }
} .patient-action{
.patient-action{
display: flex;
font-size: 1.5rem;
padding: 0 .2rem;
align-items: center;
margin-left: 1rem;
.action{
padding: 0 .2rem;
font-weight: bold;
color: red;
display: flex; display: flex;
flex-direction: column; font-size: 1.5rem;
padding: 0 .2rem;
align-items: center; align-items: center;
margin-left: 1rem;
.action{
padding: 0 .2rem;
font-weight: bold;
color: red;
display: flex;
flex-direction: column;
align-items: center;
}
} }
}
} }
.layout-sider-header-row-title{ .layout-sider-header-row-title{
background-color: #fff; background-color: #fff;
height: 5vw; height: 5vw;
line-height: 5vw; line-height: 5vw;
flex: 1; flex: 1;
font-size: 0.75rem; font-size: 0.75rem;
margin-left: 0rem; margin-left: 0rem;
padding-left: 20px; padding-left: 20px;
}
} }
} .ant-layout-content{
.ant-layout-content{
position: relative;
.global-layout-content{
height: calc(100vh - 56px);
overflow-y: hidden;
padding: 10px;
position: relative; position: relative;
} flex: 1;
overflow: hidden;
.global-layout-content{
height: 100%;
overflow-y: auto;
padding: 10px;
position: relative;
}
.ant-drawer-body{ .ant-drawer-body{
padding: 0; padding: 0;
} }
.person-drawer{ .person-drawer{
// height: 100vh; // height: 100vh;
display: flex;
flex-direction: column;
.person-header{
height: 10rem;
width: 100%;
background: linear-gradient(to right, #87c1ff, #b1d7fb);
border-radius: 0 0 2rem 2rem;
display: flex; display: flex;
align-items: center; flex-direction: column;
padding: 0 2rem; .person-header{
box-sizing: border-box; height: 10rem;
.person-header-avatar{ width: 100%;
height: 3rem; background: linear-gradient(to right, #87c1ff, #b1d7fb);
width: 3rem; border-radius: 0 0 2rem 2rem;
border-radius: 2rem; display: flex;
border: .2rem solid #FFFFFF; align-items: center;
img{ padding: 0 2rem;
width: 100%; box-sizing: border-box;
height: 100%; .person-header-avatar{
height: 3rem;
width: 3rem;
border-radius: 2rem;
border: .2rem solid #FFFFFF;
img{
width: 100%;
height: 100%;
}
}
.person-header-name{
text-align: left;
flex: 1;
margin-left: 1rem;
font-size: 1.4rem;
color: #FFFFFF;
font-weight: bold;
.user-name{
margin-right: 1rem;
}
} }
} }
.person-header-name{ .person-float-info{
text-align: left; position: absolute;
flex: 1; left: 1.2rem;
margin-left: 1rem; right: 1.2rem;
font-size: 1.4rem; top: 8rem;
color: #FFFFFF; padding: .6rem 1rem;
font-weight: bold; background-color: #FFFFFF;
.user-name{ box-shadow: 5px 5px 6px rgba(238, 238, 238, 1);
margin-right: 1rem; border-radius: .6rem;
line-height: 2rem;
font-size: .8rem;
.label{
color: #8a8c8e;
} }
} }
} .person-content{
.person-float-info{ margin-top: 3.5rem;
position: absolute; padding: 1.2rem 1rem;
left: 1.2rem; font-size: .8rem;
right: 1.2rem; flex: 1;
top: 8rem; .person-content-row{
padding: .6rem 1rem; border-bottom: 2px solid #eee;
background-color: #FFFFFF; padding: 1rem;
box-shadow: 5px 5px 6px rgba(238, 238, 238, 1); display: flex;
border-radius: .6rem; justify-content: space-between;
line-height: 2rem; .label{
font-size: .8rem; color: #8a8c8e;
.label{ }
color: #8a8c8e; }
} }
.person-footer{
}
.person-content{
margin-top: 3.5rem;
padding: 1.2rem 1rem;
font-size: .8rem;
flex: 1;
.person-content-row{
border-bottom: 2px solid #eee;
padding: 1rem; padding: 1rem;
display: flex; .person-footer-button {
justify-content: space-between;
.label{ }
color: #8a8c8e; .person-footer-logout{
margin-top: .5rem;
} }
} }
}
.person-footer{
padding: 1rem;
.person-footer-button {
}
.person-footer-logout{
margin-top: .5rem;
}
} }
} }
} }
} }
} }

2
src/layouts/BasicLayout.vue

@ -24,7 +24,7 @@
</div> </div>
</div> </div>
</a-layout-sider> </a-layout-sider>
<a-layout> <a-layout >
<a-layout-header> <a-layout-header>
<div class="patient-box"> <div class="patient-box">
<div class="paitent-title">卒中急救质控系统</div> <div class="paitent-title">卒中急救质控系统</div>

104
src/views/document/index.vue

@ -13,8 +13,8 @@
</div> </div>
</div> </div>
<div class="doc-list-table"> <div class="doc-list-table">
<a-table :columns="columns" :data-source="dataSource" :scroll="{ y: 700, x: 800 }" <a-table :columns="columns" :data-source="dataSource" bordered :scroll="{ y: 780, x: 1500 }"
:locale="{ emptyText: '暂无数据'}" rowKey="firstAidId" size="middle" :pagination="pagination"> :locale="{ emptyText: '暂无数据'}" rowKey="firstAidId" size="small" :pagination="pagination">
<template slot="action" slot-scope="text, row"> <template slot="action" slot-scope="text, row">
<a-button type="link" @click="editReport(row, 'patientDetail')">详情</a-button> <a-button type="link" @click="editReport(row, 'patientDetail')">详情</a-button>
<a-button type="link" @click="checkReport(row, 'docReport')">报告单</a-button> <a-button type="link" @click="checkReport(row, 'docReport')">报告单</a-button>
@ -92,17 +92,19 @@
}, },
columns: [{ columns: [{
title: '姓名', title: '姓名',
width: 120, width: 150,
dataIndex: 'patientName', dataIndex: 'patientName',
ellipsis: true,
align: 'center',
key: 'name', key: 'name',
fixed: 'left' fixed: 'left'
}, },
{ {
title: '性别', title: '性别',
width: 100, width: 120,
dataIndex: 'patientGender', dataIndex: 'patientGender',
key: 'sex', key: 'sex',
fixed: 'left', align: 'center',
scopedSlots: { scopedSlots: {
customRender: 'sex' customRender: 'sex'
}, },
@ -110,112 +112,135 @@
{ {
title: '身份证号', title: '身份证号',
dataIndex: 'patientIdCardNo', dataIndex: 'patientIdCardNo',
key: '1', align: 'center',
width: 248 ellipsis: true,
width: 280
}, },
{ {
title: '联系方式', title: '联系方式',
dataIndex: 'patientPhone', dataIndex: 'patientPhone',
key: '2', key: '2',
width: 150 ellipsis: true,
align: 'center',
width: 250
}, },
{ {
title: '负责医生', title: '负责医生',
dataIndex: 'doctorName', dataIndex: 'doctorName',
key: '3', key: '3',
width: 150 ellipsis: true,
align: 'center',
width: 250
}, },
{ {
title: '绿色通道', title: '绿色通道',
dataIndex: 'address', dataIndex: 'address',
key: '4', key: '4',
width: 150 ellipsis: true,
align: 'center',
width: 250
}, },
{ {
title: '发病时间', title: '发病时间',
dataIndex: 'address', dataIndex: 'JBXX-FBSJ',
key: '5', key: '5',
width: 150 ellipsis: true,
align: 'center',
width: 280
}, },
{ {
title: '到院时间', title: '到院时间',
dataIndex: 'address', dataIndex: 'JBXX-DYSJ',
key: '6', key: '6',
width: 150 ellipsis: true,
align: 'center',
width: 280
}, },
{ {
title: '开启绿道时间', title: '开启绿道时间',
dataIndex: 'address', dataIndex: 'RYPG-GR-TIME',
key: '7', key: '7',
width: 180 ellipsis: true,
align: 'center',
width: 280
}, },
{ {
title: '卒中医生到场时间', title: '卒中医生到场时间',
dataIndex: 'address', dataIndex: 'JBXX-SNYSDC-TIME',
key: '8', key: '8',
align: 'center', align: 'center',
width: 180 ellipsis: true,
width: 280
}, },
{ {
title: '采血时间', title: '采血时间',
dataIndex: 'address', dataIndex: 'RYPG-BLOOD-TIME',
key: '9', key: '9',
align: 'center', align: 'center',
width: 150 ellipsis: true,
width: 280
}, },
{ {
title: '心电时间', title: '心电时间',
dataIndex: 'address', dataIndex: 'RYPG-ECG-TIME',
key: '10', key: '10',
align: 'center', align: 'center',
width: 150 ellipsis: true,
width: 280
}, },
{ {
title: 'CT时间', title: 'CT时间',
dataIndex: 'address', dataIndex: 'RYPG-CT-JCKS-TIME',
key: '11', key: '11',
align: 'center', align: 'center',
width: 150 ellipsis: true,
width: 280
}, },
{ {
title: '团注时间', title: '团注时间',
dataIndex: 'address', dataIndex: 'JMRS-TZSJ',
key: '12', key: '12',
align: 'center', align: 'center',
width: 150 ellipsis: true,
width: 280
}, },
{ {
title: '指标分析(单位/秒)', title: '指标分析(单位/秒)',
dataIndex: 'address', dataIndex: 'JMRS-ZBFX',
key: '13', key: '13',
align: 'center', align: 'center',
width: 180 ellipsis: true,
width: 280
}, },
{ {
title: '介入治疗记录', title: '介入治疗记录',
dataIndex: 'address', dataIndex: 'JMRS-JRJL',
key: '14', key: '14',
align: 'center', align: 'center',
width: 150 ellipsis: true,
width: 280
}, },
{ {
title: '创建时间', title: '创建时间',
dataIndex: 'address', dataIndex: 'createTime',
key: '15', key: '15',
align: 'center', align: 'center',
width: 150 ellipsis: true,
width: 280
}, },
{ {
title: '状态', title: '状态',
dataIndex: 'address', dataIndex: 'finishStatus',
width: 100, width: 200,
align: 'center', align: 'center',
ellipsis: true,
key: '16' key: '16'
}, },
{ {
title: '备注', title: '备注',
dataIndex: 'remark', dataIndex: 'remark',
width: 500, width: 380,
ellipsis: true,
key: '17' key: '17'
}, },
{ {
@ -284,7 +309,14 @@
if (code === 200) { if (code === 200) {
// this.isLoading = false; // this.isLoading = false;
this.pagination.total = data.total; this.pagination.total = data.total;
this.dataSource = data?.list || []; this.dataSource = (data?.list || []).map(a => {
if(a.firstAidRecordVos){
a.firstAidRecordVos.forEach(({answer, questionCode}) => {
a[questionCode] = answer.toString()
})
}
return a;
});
} else { } else {
this.$message.error(msg); this.$message.error(msg);
} }

4
src/views/statistics/index.vue

@ -1315,8 +1315,8 @@
<style lang="less" scoped> <style lang="less" scoped>
.statistics { .statistics {
height: 100%; // height: 100%;
overflow-y: auto; // overflow-y: auto;
// padding: 10px; // padding: 10px;
.statistics-container { .statistics-container {

Loading…
Cancel
Save