diff --git a/src/config/code.js b/src/config/code.js index b7fae67..e5bc3f8 100644 --- a/src/config/code.js +++ b/src/config/code.js @@ -174,6 +174,7 @@ export const NIHSS_LIST = [{ description: '即使不能全面评价(如气管插管、语言障碍、气管创伤及绷带包扎等),检查者也必须选择1个反应。只在患者对有害刺激无反应时(不是反射)才能记录3分。', value: null, visible: false, + key: '1a-score', range: [{ value: 0, text: '清醒,反应灵敏(0分)', @@ -197,6 +198,7 @@ export const NIHSS_LIST = [{ description: '月份、年龄。仅对初次回答评分。失语和昏迷者不能理解问题记2分,因气管插管、气管创伤、严重构音障碍、语言障碍或其他任何原因不能完成者(非失语所致)记1分。可书面回答。', value: null, visible: false, + key: '1b-score', range: [{ value: 0, text: '两项均正确', @@ -216,6 +218,7 @@ export const NIHSS_LIST = [{ description: '睁闭眼;非瘫痪侧握拳松开。仅对最初反应评分,有明确努力但未完成的也给分。若对指令无反应,用动作示意,然后记录评分。对创伤、截肢或其他生理缺陷者,应予适当的指令。', value: null, visible: false, + key: '1c-score', range: [{ value: 0, text: '两项均正确', @@ -236,6 +239,7 @@ export const NIHSS_LIST = [{ description: '只测试水平眼球运动。对随意或反射性眼球运动记分。若眼球偏斜能被随意或反射性活动纠正,记1分。若为孤立的周围性眼肌麻痹记1分。对失语者,凝视是可以测试的。对眼球创伤、绷带包扎、盲人或有其他视力、视野障碍者,由检查者选择一种反射性运动来测试,确定眼球的联系,然后从一侧向另一侧运动,偶尔能发现部分性凝视麻痹。', value: null, visible: false, + key: '2-score', range: [{ value: 0, text: '正常', @@ -255,6 +259,7 @@ export const NIHSS_LIST = [{ description: '若能看到侧面的手指,记录正常。若单眼盲或眼球摘除,检查另一只眼。明确的非对称盲(包括象限盲)记1分。若全盲(任何原因)记3分。若频临死亡记1分,结果用于回答问题', value: null, visible: false, + key: '3-score', range: [{ value: 0, text: '无视野缺损', @@ -278,6 +283,7 @@ export const NIHSS_LIST = [{ description: null, value: null, visible: false, + key: '4-score', range: [{ value: 0, text: '正常', @@ -301,6 +307,7 @@ export const NIHSS_LIST = [{ description: '置肢体于合适的位置:坐位时0上肢平举90°,仰卧时上抬45,掌心向下,下L肢卧位抬高30°,若上肢在10秒内,下肢在5秒内下落,记1~4分。对失语者用语言或动作鼓励,不用有害刺激,依次检查每个肢体,从非瘫痪侧上肢开始。', value: null, visible: false, + key: '5-score', range: [{ value: 0, text: '无下落,置肢体于90°(或45°)坚持10秒', @@ -332,6 +339,7 @@ export const NIHSS_LIST = [{ description: '置肢体于合适的位置:坐位时0上肢平举90°,仰卧时上抬45,掌心向下,下L肢卧位抬高30°,若上肢在10秒内,下肢在5秒内下落,记1~4分。对失语者用语言或动作鼓励,不用有害刺激,依次检查每个肢体,从非瘫痪侧上肢开始。', value: null, visible: false, + key: '6-score', range: [{ value: 0, text: '无下落,于要求位置坚持5秒', @@ -363,6 +371,7 @@ export const NIHSS_LIST = [{ description: '目的是发现一侧小脑病变。检查时睁眼,若有视力障碍,确保检查在无视野缺损中进行双侧指鼻试验、跟膝径试验,共济失调与无力明显,不呈比例时记分。若患者不能理解或肢体瘫痪不记分。盲人用伸展的上肢摸鼻。若为截肢或关节融合记9分', value: null, visible: false, + key: '7-score', range: [{ value: 0, text: '无共济失调', @@ -386,6 +395,7 @@ export const NIHSS_LIST = [{ description: '检查对针刺的感觉和表情,或意识障碍及失语者对有害刺激的躲避。只对与脑卒中有关的感觉缺失评分。偏身感觉丧失者需要精确检查,应测试身体多处[上肢(不包括手)、下肢、躯干、面部]确定有无偏身肢感觉缺失 严重或完全的感觉。缺失记2分。昏睡或失语者记1 或0分。脑干卒中双侧感觉缺失记2分。无反应或四肢瘫痪者记2分。昏迷患者(la=3)记2分。', value: null, visible: false, + key: '8-score', range: [{ value: 0, text: '正常', @@ -405,6 +415,7 @@ export const NIHSS_LIST = [{ description: '命名、阅读测试。若视觉缺损干扰测试,可让患者识别放在手上的物品,重复和发音。气管插管者手写回答。昏迷者记3分。给恍惚或不合作者选择一个记分,但3分仅给不能说话且不能执行任何指令者。', value: null, visible: false, + key: '9-score', range: [{ value: 0, text: '正常', @@ -428,6 +439,7 @@ export const NIHSS_LIST = [{ description: '读或重复表上的单词。若有严重的实语,评估自发语言时发音的清晰度。若因气管插管或其他物理障碍不能讲话,记9分。', value: null, visible: false, + key: '10-score', range: [{ value: 0, text: '正常', @@ -451,6 +463,7 @@ export const NIHSS_LIST = [{ description: '若患者严重视觉缺失影响双侧视觉的同时检查,皮肤刺激正常,记为正常。若失语,但确实表现为对双侧的注意,记分正常。视空间忽视或疾病失认也可认为是异常的证据。', value: null, visible: false, + key: '11-score', range: [{ value: 0, text: '正常', @@ -465,6 +478,33 @@ export const NIHSS_LIST = [{ }, ], }, + { + text: '12.心率', + description: '', + value: null, + visible: false, + hidePopover: true, + key: '12-score', + range: [0, 200], + }, + { + text: '13.血氧饱和度', + description: '', + value: null, + visible: false, + hidePopover: true, + key: '13-score', + range: [0, 100], + }, + { + text: '14.格拉斯评分', + description: '', + value: null, + visible: false, + hidePopover: true, + key: '14-score', + range: [0, 15], + }, ]; //急诊病情评估 @@ -938,7 +978,7 @@ export const JMRS_CODE = { default: '', valueType: 'string', }, - + 'JMRS-SIGN': { text: '签署知情同意书', type: 'modal', @@ -948,7 +988,7 @@ export const JMRS_CODE = { name: 'Informed', }, }, - + 'JMRS-Q-SYSTOLIC-PRESSURE': { text: '收缩压', description: '(mmHg)', @@ -1262,7 +1302,7 @@ export const XGZL_CODE = { inputType: 'number', default: '', }, - + 'XGZL-CCWC-TIME': { text: '穿刺完成时间', type: 'datetime', diff --git a/src/store/modules/patient/mutations.js b/src/store/modules/patient/mutations.js index 972c0e5..d52ae92 100644 --- a/src/store/modules/patient/mutations.js +++ b/src/store/modules/patient/mutations.js @@ -5,7 +5,6 @@ const mutations = { * @param { boolean } data */ setPatientData(state, data) { - console.log(333) // 团注, 剂量, 每次进来复制为空 if (data.recordValDict) { if (!data.recordValDict['JMRS-TZJL']) { diff --git a/src/views/Patient/components/patient-detail.vue b/src/views/Patient/components/patient-detail.vue index 953d462..9c62df2 100644 --- a/src/views/Patient/components/patient-detail.vue +++ b/src/views/Patient/components/patient-detail.vue @@ -43,17 +43,19 @@ - + {{patientDataCur.height}} - + {{patientDataCur.weight}} - + - + 扫描身份证 @@ -110,10 +112,10 @@ {{patientDataCur.greenRoadFlag}} - - - {{form.BMI}} - {{patientDataCur.BMI}} + + + {{form.bmi}} + {{patientDataCur.bmi}} @@ -204,11 +206,11 @@ 'setVideo', 'setBook', ]), - bmiChange(e, filed){ - if(this.form.height && this.form.weight){ + bmiChange(e, filed) { + if (this.form.height && this.form.weight) { const bmi = this.utils.computeBMI(this.form.weight, this.form.height) // console.log(this.form.height, this.form.weight, bmi) - if(!isNaN(bmi)) this.form.BMI = bmi + if (!isNaN(bmi)) this.form.bmi = bmi } }, goPatientList() { @@ -484,14 +486,16 @@ .ant-form-item { margin-bottom: .5rem; - .ant-form-item-label > label::after{ + + .ant-form-item-label>label::after { content: ':'; } + .ant-form-item-label { label { // font-size: 0.75rem; } - + } .ant-input { diff --git a/src/views/Patient/components/patient-list.vue b/src/views/Patient/components/patient-list.vue index 6f0d7f2..abb9a95 100644 --- a/src/views/Patient/components/patient-list.vue +++ b/src/views/Patient/components/patient-list.vue @@ -14,7 +14,8 @@ {{item.name}} {{item.patientGender ? '女' : '男'}}{{utils.calculateAge(item.identityNo)}}岁 - {{item.identityNo ? utils.maskIDCard(item.identityNo) : '-'}} + + {{item.identityNo ? utils.maskIDCard(item.identityNo) : '-'}} @@ -116,7 +117,9 @@ const params = { pageNum: this.pageNum, pageSize: this.pageSize, - param: { keyWords } + param: { + keyWords + } }; const res = await queryTriageList(params); const { @@ -155,10 +158,11 @@ }, // 查看患者详情 checkPaitent(item, index) { - if(!item) return + if (!item) return const { address, birthday, + bmi, carNo, chargeType, clinicLabel, @@ -192,6 +196,7 @@ patientGender: sex, patientNation: nation, patientIdCardNo: identityNo, + bmi, contract: contactPhone, address, birthday, diff --git a/src/views/document/index.vue b/src/views/document/index.vue index aa28f8f..d7544cb 100644 --- a/src/views/document/index.vue +++ b/src/views/document/index.vue @@ -138,8 +138,8 @@ }, { title: '联系方式', - dataIndex: 'patientPhone', - key: 'patientPhone', + dataIndex: 'phone', + key: 'phone', ellipsis: true, align: 'center', width: 250 @@ -318,7 +318,7 @@ key: 'operation', fixed: 'right', align: 'center', - width: 320, + width: 350, scopedSlots: { customRender: 'action' }, diff --git a/src/views/thrombolysis/components/throm-before1.vue b/src/views/thrombolysis/components/throm-before1.vue index 10874df..bcc0aa1 100644 --- a/src/views/thrombolysis/components/throm-before1.vue +++ b/src/views/thrombolysis/components/throm-before1.vue @@ -41,7 +41,8 @@ + v-decorator="[v, { initialValue: k.default }]" button-style="solid" + @change="changeRadio($event, v)"> {{ item }} @@ -53,8 +54,8 @@ 得分 - + @@ -68,7 +69,11 @@ - + + @@ -204,12 +209,12 @@ this.form.getFieldDecorator([`${k}`], { preserve: true, //即便字段不再使用,也保留该字段的值 }); - + this.form.setFieldsValue({ [`${k}`]: answer.toString(), }); let value = this.recordDict[k]; - + if (value && value.value && k !== 'RYPG-MRS') { value.value = Number(answer.toString()); } else if (value && value.value) { @@ -218,6 +223,11 @@ } } + for (let k in this.NIHSS_LIST) { + if (data['RYPG-NIHSS' + this.NIHSS_LIST[k].key]) { + this.NIHSS_LIST[k].value = Number(data['RYPG-NIHSS' + this.NIHSS_LIST[k].key][0]?.answer[0]) + } + } }, focusInput(index) { this.$refs.inputNumber[index].readOnly = true; @@ -228,8 +238,8 @@ item.value = value; this.nissValue = ''; }, - changeRangeRadio(item, code) { - const text = item.text; + changeRangeRadio(row, code) { + const text = row.text; let score = 0; let NIHSS_LIST = [].concat(this.NIHSS_LIST); NIHSS_LIST.forEach((item, index) => { @@ -246,7 +256,27 @@ this.form.setFieldsValue({ [`${code}`]: score, }); - item.visible = false; + row.visible = false; + }, + handleInputChange(val, row, code) { + const text = row.text; + let score = 0; + let NIHSS_LIST = [].concat(this.NIHSS_LIST); + NIHSS_LIST.forEach((item, index) => { + console.log(typeof val) + if (item.text === text) { + item.value = val; + } + if (item.value) { + score += item.value; + } + }); + this.form.getFieldDecorator([`${code}`], { + preserve: true, //即便字段不再使用,也保留该字段的值 + }); + this.form.setFieldsValue({ + [`${code}`]: score + }); }, changeRadio(e, v) { this.codeForm[v] = e.target.value; @@ -282,7 +312,7 @@ 'JMRS-45-NIHSS', 'JMRS-60-NIHSS', ]; - + for (let k in recordDict) { if ( recordDict[k].value && @@ -298,7 +328,7 @@ } } } - + for (let k in values) { if ( // this.$route.name === 'Emergency' && @@ -325,6 +355,19 @@ }); } } + for (let k in this.NIHSS_LIST) { + if (this.NIHSS_LIST[k].value) { + codeAndAnswerList.push({ + questionCode: 'RYPG-NIHSS' + this.NIHSS_LIST[k].key, + answer: [this.NIHSS_LIST[k].value || 0], + time: '', + }); + } + + } + + console.log('codeAndAnswerList', codeAndAnswerList) + this.home.updateAidCode({ codeAndAnswerList, }, false); diff --git a/src/views/thrombolysis/components/throm-before3.vue b/src/views/thrombolysis/components/throm-before3.vue index 3e8f94b..c1c4d57 100644 --- a/src/views/thrombolysis/components/throm-before3.vue +++ b/src/views/thrombolysis/components/throm-before3.vue @@ -18,7 +18,7 @@ - 上传院前CT图片 @@ -101,6 +101,8 @@ answer } = data['JMRS-YQ-CT'][0]; this.fileList = answer; + const index = this.tabList.findIndex(a => a.key == 'ct') + this.tabList[index].tab = `院前CT (${this.fileList.length}张)` } }, del(index) { @@ -139,7 +141,7 @@ name, url }) { - console.log('upload end', 'http://116.204.114.73:20007' + url) //_doc/upload/ + // 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}张)` diff --git a/src/views/thrombolysis/components/throm-ing-min.vue b/src/views/thrombolysis/components/throm-ing-min.vue index 87d4a5e..43f1eac 100644 --- a/src/views/thrombolysis/components/throm-ing-min.vue +++ b/src/views/thrombolysis/components/throm-ing-min.vue @@ -68,8 +68,12 @@ + + trigger="click" v-else> @@ -90,9 +94,8 @@ - - 下一步 + + 下一步 @@ -209,7 +212,7 @@ const { code } = this.timerData; - console.log('code=====', code) + console.log('code=====', code, this.timercode) const wangbadan = code ? this.codeFormData[`${code}`] : this.codeForm; @@ -230,6 +233,11 @@ } } } + for (let k in this.NIHSS_LIST) { + if (data[this.timercode + this.NIHSS_LIST[k].key]) { + this.NIHSS_LIST[k].value = Number(data[this.timercode + this.NIHSS_LIST[k].key][0]?.answer[0]) + } + } }, focusInput(index) { this.$refs.inputNumber[index].readOnly = true; @@ -261,6 +269,26 @@ }); item.visible = false; }, + handleInputChange(val, row, code) { + const text = row.text; + let score = 0; + let NIHSS_LIST = [].concat(this.NIHSS_LIST); + NIHSS_LIST.forEach((item, index) => { + console.log(typeof val) + if (item.text === text) { + item.value = val; + } + if (item.value) { + score += item.value; + } + }); + this.form.getFieldDecorator([`${code}`], { + preserve: true, //即便字段不再使用,也保留该字段的值 + }); + this.form.setFieldsValue({ + [`${code}`]: score + }); + }, changeRadio(e, v) { this.codeForm[v] = e.target.value; }, @@ -344,6 +372,18 @@ }); } } + + for (let k in this.NIHSS_LIST) { + if (this.NIHSS_LIST[k].value) { + codeAndAnswerList.push({ + questionCode: this.timercode + this.NIHSS_LIST[k].key, + answer: [this.NIHSS_LIST[k].value || 0], + time: '', + }); + } + + } + this.home.updateAidCode({ codeAndAnswerList, }, false); diff --git a/src/views/thrombolysis/components/throm-report.vue b/src/views/thrombolysis/components/throm-report.vue index a25e2b6..80cc065 100644 --- a/src/views/thrombolysis/components/throm-report.vue +++ b/src/views/thrombolysis/components/throm-report.vue @@ -41,7 +41,7 @@ 联系方式 - {{patient.patientContract || '-'}} + {{patient.phone || '-'}} diff --git a/src/views/thrombolysis/components/throm-result-baseInfo.vue b/src/views/thrombolysis/components/throm-result-baseInfo.vue index 03d9126..4e6daae 100644 --- a/src/views/thrombolysis/components/throm-result-baseInfo.vue +++ b/src/views/thrombolysis/components/throm-result-baseInfo.vue @@ -16,7 +16,7 @@ - {{editAuth ? '取消编辑' : '编辑'}} + {{editAuth ? '保存' : '编辑'}} @@ -50,8 +50,8 @@ - + @@ -114,8 +114,8 @@ - {{patientId ? '保存' : '下一步'}} + {{patientId ? '完成' : '下一步'}} @@ -211,7 +211,8 @@ patientGender, patientNation, patientIdCardNo, - firstAidZlType + firstAidZlType, + phone, } = data this.firstAidZlType = firstAidZlType && firstAidZlType.toString() || '0' this.baseForm.getFieldDecorator([patientName, @@ -225,7 +226,8 @@ patientName, patientGender, patientNation, - patientIdCardNo + patientIdCardNo, + phone }); for (let k in recordValDict) { if (recordValDict[k]) { @@ -333,7 +335,14 @@ } return isLt10M; }, - async onSubmit(e) { + async handleEdit(e){ + if(!this.editAuth){ + this.editAuth = true + }else{ + this.onSubmit(e, true) + } + }, + async onSubmit(e, s) { e.preventDefault(); let firstAidId = this.form.firstAidId let codeAndAnswerList = [], @@ -371,8 +380,8 @@ firstAidZlType: this.firstAidZlType, codeAndAnswerList }, false) - - this.$emit('next') + this.editAuth = false + if(!s) this.$emit('next') }else{ await updateFirstAid(params) const res = await saveAidRecord({ diff --git a/src/views/thrombolysis/components/throm-result-firstInfo.vue b/src/views/thrombolysis/components/throm-result-firstInfo.vue index 32971be..d13bc0a 100644 --- a/src/views/thrombolysis/components/throm-result-firstInfo.vue +++ b/src/views/thrombolysis/components/throm-result-firstInfo.vue @@ -2,7 +2,7 @@ - {{editAuth ? '取消编辑' : '编辑'}} + {{editAuth ? '保存' : '编辑'}} @@ -237,10 +237,10 @@ - {{patientId? '保存' : '完成'}} + 完成 @@ -500,6 +500,13 @@ } // this.updateAidBase(code, value, type) }, + async handleEdit(e){ + if(!this.editAuth){ + this.editAuth = true + }else{ + this.handleSubmit(e, 0) + } + }, async onSubmit(e, patientId) { e.preventDefault(); const _this = this;