210 lines
5.6 KiB
JavaScript
210 lines
5.6 KiB
JavaScript
import dayjs from 'dayjs';
|
|
import {getBottomKeys, getInfoKeys, HospitalName, showPainFlag, temperatureName,} from './template';
|
|
|
|
// 存放体温单的配置信息
|
|
export const Header = {
|
|
HospitalName,
|
|
temperatureName,
|
|
};
|
|
// 患者信息
|
|
export const INFO_KEYS = getInfoKeys();
|
|
// 头部信息标签
|
|
export const TOP_KEYS = [
|
|
{
|
|
name: '日 期',
|
|
getValue: (i, renderData) => {
|
|
const { beginDate, outdate = '', hospDate = '', dateClosed } = renderData.infoData;
|
|
const tieml = new Date();
|
|
const timeNew = new Date((tieml / 1000 + 86400) * 1000);
|
|
const todayDate = dayjs(timeNew).format('YYYY-MM-DD');
|
|
const endDate = dayjs(outdate).format('YYYY-MM-DD');
|
|
const startDate = dayjs(hospDate).format('YYYY-MM-DD');
|
|
let eachTime = dayjs(beginDate).add(i, 'day').format('YYYY-MM-DD');
|
|
if (eachTime === endDate || eachTime === todayDate) {
|
|
dateClosed.stopTime = true;
|
|
}
|
|
if ((startDate === eachTime && i === 0) || dayjs(eachTime).format('MM-DD') === '01-01') {
|
|
eachTime = dayjs(eachTime).format('YYYY年MM月DD日');
|
|
} else if (i === 0 || dayjs(eachTime).format('DD') === '01') {
|
|
eachTime = dayjs(eachTime).format('MM月DD日');
|
|
} else {
|
|
eachTime = dayjs(eachTime).format('DD日');
|
|
}
|
|
return dateClosed.stopTime ? eachTime : '';
|
|
},
|
|
},
|
|
{
|
|
name: '住院日数',
|
|
getValue: (i, renderData) => {
|
|
const { beginDate, hospDays, outdate = '', dateClosed } = renderData.infoData;
|
|
const tieml = new Date();
|
|
const timeNew = new Date((tieml / 1000 + 86400) * 1000);
|
|
const todayDate = dayjs(timeNew).format('YYYY-MM-DD');
|
|
const endDate = dayjs(outdate).add(1, 'day').format('YYYY-MM-DD');
|
|
const eachTime = dayjs(beginDate).add(i, 'day').format('YYYY-MM-DD');
|
|
if (eachTime === endDate || todayDate === eachTime) {
|
|
dateClosed.stopNumber = false;
|
|
}
|
|
const num = dateClosed.stopNumber ? hospDays + i + 1 : '';
|
|
let hosNum = '';
|
|
if (num !== '') {
|
|
hosNum = '第' + '\xa0\xa0\xa0' + num + '\xa0\xa0\xa0' + '日';
|
|
} else {
|
|
hosNum = '第' + '\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0' + '日';
|
|
}
|
|
return hosNum;
|
|
},
|
|
},
|
|
{
|
|
name: '术/娩后日数',
|
|
getValue: (i, renderData) => {
|
|
const { beginDate } = renderData.infoData;
|
|
const surgeryNumDays = renderData.surgeryNumDays;
|
|
const eachTime = dayjs(beginDate).add(i, 'day').format('YYYY-MM-DD');
|
|
let num = surgeryNumDays.filter((item) => item.date === eachTime);
|
|
let hosNum = '';
|
|
if (num.length > 0) {
|
|
hosNum = '第' + '\xa0\xa0\xa0' + num[0].typeValue + '\xa0\xa0\xa0' + '日';
|
|
} else {
|
|
hosNum = '第' + '\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0' + '日';
|
|
}
|
|
return hosNum;
|
|
},
|
|
},
|
|
];
|
|
// 最底部的字段绘制
|
|
export const BOTTOM_KEYS = getBottomKeys();
|
|
// 是否显示疼痛评分
|
|
export const showPain = showPainFlag;
|
|
|
|
/** *********** 以下是固定选项 **************************/
|
|
export const timeNumber = [2, 6, 10, 14, 18, 22]; // 时间展示
|
|
export const nightTime = [2, 18, 22]; // 夜间红色高亮时间
|
|
export const leftTEXT = [
|
|
['脉搏,(次/分),', '180', '160', '140', '120', '100', '80', '60', '40'],
|
|
['体温,(℃), ', '42', '41', '40', '39', '38', '37', '36', '35'],
|
|
];
|
|
export const painTEXT = [['疼 痛 强 度'], ['10', '8', '6', '4', '2', '0']];
|
|
export const inOutItem = ['入观', '分娩', '手术', '转入', '出观', '死亡'];
|
|
export const otherItem = ['外出', '请假', '拒测', '离院', '其他'];
|
|
export const sheetOptions = {
|
|
locations: [
|
|
{
|
|
code: '1',
|
|
display: '体温',
|
|
},
|
|
{
|
|
code: '2',
|
|
display: '口温',
|
|
},
|
|
{
|
|
code: '3',
|
|
display: '肛温',
|
|
},
|
|
{
|
|
code: '4',
|
|
display: '耳温',
|
|
},
|
|
],
|
|
breath: [
|
|
{
|
|
code: '',
|
|
display: '自主呼吸',
|
|
},
|
|
{
|
|
code: '®',
|
|
display: '机械通气',
|
|
},
|
|
],
|
|
poop: [
|
|
{
|
|
code: '',
|
|
display: '正常',
|
|
},
|
|
{
|
|
code: '※',
|
|
display: '失禁',
|
|
},
|
|
{
|
|
code: '☆',
|
|
display: '人工肛门',
|
|
},
|
|
{
|
|
code: '/E',
|
|
display: '灌肠',
|
|
},
|
|
],
|
|
pee: [
|
|
{
|
|
code: '',
|
|
display: '正常',
|
|
},
|
|
{
|
|
code: '※',
|
|
display: '失禁',
|
|
},
|
|
{
|
|
code: 'C+',
|
|
display: '导尿',
|
|
},
|
|
],
|
|
heart: ['窦性心律', '起搏心律', '房性心律', '异常心律'],
|
|
weight: ['正常', '卧床', '轮椅', '平车'],
|
|
};
|
|
// 此处是显示数字的 要和leftTEXT保持一直
|
|
export const bodyTemperature = [33, 43];
|
|
export const starNumEnv = bodyTemperature[0]; // 开始体温
|
|
export const endNumEnv = bodyTemperature[1]; // 结束体温
|
|
export const heartRange = [0, 200];
|
|
export const painScore = [0, 10];
|
|
|
|
// 中间图表字段对应
|
|
export const CHART_KEYS = [
|
|
{
|
|
key: '001',
|
|
code: 'breath',
|
|
name: '呼吸',
|
|
},
|
|
{
|
|
key: '002',
|
|
code: 'sphygmus',
|
|
name: '脉搏',
|
|
},
|
|
{
|
|
key: '003',
|
|
code: 'temperature',
|
|
name: '体温',
|
|
},
|
|
{
|
|
key: '012',
|
|
code: 'inOut',
|
|
name: '特殊标记',
|
|
},
|
|
{
|
|
key: '013',
|
|
code: 'refuse',
|
|
name: '标记内容',
|
|
},
|
|
{
|
|
key: '014',
|
|
code: 'heartRate',
|
|
name: '心率',
|
|
},
|
|
{
|
|
key: '015',
|
|
code: 'lowerTemp',
|
|
name: '物理降温',
|
|
},
|
|
{
|
|
key: '016',
|
|
code: 'painScore',
|
|
name: '疼痛评分',
|
|
},
|
|
];
|
|
|
|
export const HEAD_HEIGHT = 120; // 头部文字预留位置
|
|
export const LINE_HEIGHT = 20; // 一行的行高
|
|
export const textLeftMargin = 4; // 文字左边边距
|
|
export const TEXT_MARGIN_BOTTOM = 6; // 文字向上偏移量
|
|
export const symbolArrowHeight = 20;
|