|
|
|
|
@ -5,7 +5,7 @@ window.onload = function () {
|
|
|
|
|
|
|
|
|
|
const canvas = document.querySelector<HTMLCanvasElement>('canvas')
|
|
|
|
|
if (!canvas) return
|
|
|
|
|
const text = `人民医院门诊病历\n\n主诉:\n发热三天,咳嗽五天。\n现病史:\n发病前14天内有病历报告社区的旅行时或居住史;发病前14天内与新型冠状病毒感染的患者或无症状感染者有接触史;发病前14天内解除过来自病历报告社区的发热或有呼吸道症状的患者;聚集性发病,2周内在小范围如家庭、办公室、学校班级等场所,出现2例及以上发热或呼吸道症状的病例。\n既往史:\n有糖尿病10年,有高血压2年,有传染性疾病1年。\n体格检查:\nT:36.5℃,P:80bpm,R:20次/分,BP:120/80mmHg;\n辅助检查:\n2020年6月10日,普放:血细胞比容36.50%(偏低)40~50;单核细胞绝对值0.75*10^9/L(偏高)参考值:0.1~0.6;\n门诊诊断:\n1.高血压\n处置治疗:\n1.超声引导下甲状腺细针穿刺术;\n2.乙型肝炎表面抗体测定;\n3.膜式病变细胞采集术、后颈皮下肤层;\n4.氯化钠注射液 250ml/袋、1袋;\n5.七叶皂苷钠片(欧开)、30mg/片*24/盒、1片、口服、BID(每日两次)、1天`
|
|
|
|
|
const text = `人民医院门诊病历\n主诉:\n发热三天,咳嗽五天。\n现病史:\n发病前14天内有病历报告社区的旅行时或居住史;发病前14天内与新型冠状病毒感染的患者或无症状感染者有接触史;发病前14天内解除过来自病历报告社区的发热或有呼吸道症状的患者;聚集性发病,2周内在小范围如家庭、办公室、学校班级等场所,出现2例及以上发热或呼吸道症状的病例。\n既往史:\n有糖尿病10年,有高血压2年,有传染性疾病1年。\n体格检查:\nT:36.5℃,P:80bpm,R:20次/分,BP:120/80mmHg;\n辅助检查:\n2020年6月10日,普放:血细胞比容36.50%(偏低)40~50;单核细胞绝对值0.75*10^9/L(偏高)参考值:0.1~0.6;\n门诊诊断:\n1.高血压\n处置治疗:\n1.超声引导下甲状腺细针穿刺术;\n2.乙型肝炎表面抗体测定;\n3.膜式病变细胞采集术、后颈皮下肤层;\n4.氯化钠注射液 250ml/袋、1袋;\n5.七叶皂苷钠片(欧开)、30mg/片*24/盒、1片、口服;`
|
|
|
|
|
// 模拟行居中
|
|
|
|
|
const centerText = ['人民医院门诊病历']
|
|
|
|
|
const centerIndex: number[] = centerText.map(c => {
|
|
|
|
|
@ -66,7 +66,7 @@ window.onload = function () {
|
|
|
|
|
})
|
|
|
|
|
// 初始化编辑器
|
|
|
|
|
const instance = new Editor(canvas, data, {
|
|
|
|
|
margins: [120, 120, 200, 120]
|
|
|
|
|
margins: [100, 120, 100, 120]
|
|
|
|
|
})
|
|
|
|
|
console.log('编辑器实例: ', instance)
|
|
|
|
|
|
|
|
|
|
@ -167,6 +167,16 @@ window.onload = function () {
|
|
|
|
|
console.log('right')
|
|
|
|
|
instance.command.executeRight()
|
|
|
|
|
}
|
|
|
|
|
const rowMarginDom = document.querySelector<HTMLDivElement>('.menu-item__row-margin')!
|
|
|
|
|
const rowOptionDom = rowMarginDom.querySelector<HTMLDivElement>('.options')!
|
|
|
|
|
rowMarginDom.onclick = function () {
|
|
|
|
|
console.log('row-margin')
|
|
|
|
|
rowOptionDom.classList.toggle('visible')
|
|
|
|
|
}
|
|
|
|
|
rowOptionDom.onclick = function (evt) {
|
|
|
|
|
const li = evt.target as HTMLLIElement
|
|
|
|
|
instance.command.executeRowMargin(Number(li.dataset.rowmargin!))
|
|
|
|
|
}
|
|
|
|
|
// 搜索、打印
|
|
|
|
|
const collspanDom = document.querySelector<HTMLDivElement>('.menu-item__search__collapse')
|
|
|
|
|
const searchInputDom = document.querySelector<HTMLInputElement>('.menu-item__search__collapse__search input')
|
|
|
|
|
@ -232,6 +242,10 @@ window.onload = function () {
|
|
|
|
|
} else {
|
|
|
|
|
leftDom.classList.add('active')
|
|
|
|
|
}
|
|
|
|
|
// 行间距
|
|
|
|
|
rowOptionDom.querySelectorAll<HTMLLIElement>('li').forEach(li => li.classList.remove('active'))
|
|
|
|
|
const curRowMarginDom = rowOptionDom.querySelector<HTMLLIElement>(`[data-rowmargin='${payload.rowMargin}']`)!
|
|
|
|
|
curRowMarginDom.classList.add('active')
|
|
|
|
|
// 功能
|
|
|
|
|
payload.undo ? undoDom.classList.remove('no-allow') : undoDom.classList.add('no-allow')
|
|
|
|
|
payload.redo ? redoDom.classList.remove('no-allow') : redoDom.classList.add('no-allow')
|
|
|
|
|
|