|
@ -8,14 +8,10 @@ |
|
|
<template> |
|
|
<template> |
|
|
<div class="Emergency-container"> |
|
|
<div class="Emergency-container"> |
|
|
<a-form class="patient-form medical-form" :form="form"> |
|
|
<a-form class="patient-form medical-form" :form="form"> |
|
|
<a-form-item |
|
|
<a-form-item class="jmrs-form-item pt" v-for="(k, v) in recordDict" :key="v"> |
|
|
class="jmrs-form-item pt" |
|
|
|
|
|
v-for="(k, v) in recordDict" |
|
|
|
|
|
:key="v" |
|
|
|
|
|
> |
|
|
|
|
|
<div class="jmrs-form-item-con" :class="k.type"> |
|
|
<div class="jmrs-form-item-con" :class="k.type"> |
|
|
<div class="content-left ant-form-item-label"> |
|
|
<div class="content-left ant-form-item-label"> |
|
|
<label :for="`${v}`"> |
|
|
<label :for="`${v}`" v-if="k.text"> |
|
|
{{ `${k.text}` }} |
|
|
{{ `${k.text}` }} |
|
|
<span class="label-info" v-if="k.description"> |
|
|
<span class="label-info" v-if="k.description"> |
|
|
{{ k.description }} |
|
|
{{ k.description }} |
|
@ -26,81 +22,34 @@ |
|
|
{{ `${k}` }} |
|
|
{{ `${k}` }} |
|
|
</div> |
|
|
</div> |
|
|
</template> |
|
|
</template> |
|
|
<a-icon |
|
|
<a-icon v-if="k.labelList" class="item-icon" type="question-circle" /> |
|
|
v-if="k.labelList" |
|
|
|
|
|
class="item-icon" |
|
|
|
|
|
type="question-circle" |
|
|
|
|
|
/> |
|
|
|
|
|
</a-tooltip> |
|
|
</a-tooltip> |
|
|
</label> |
|
|
</label> |
|
|
</div> |
|
|
</div> |
|
|
<div class="content-right"> |
|
|
<div class="content-right"> |
|
|
<!-- slider --> |
|
|
<!-- slider --> |
|
|
<div class="common-slider" v-if="k.type === 'slider'"> |
|
|
<div class="common-slider" v-if="k.type === 'slider'"> |
|
|
<van-stepper |
|
|
<van-stepper :disabled="writeAble" :integer="true" v-model="k.value" step="10" class="ten" |
|
|
:disabled="writeAble" |
|
|
theme="round" /> |
|
|
:integer="true" |
|
|
<van-stepper :disabled="writeAble" :integer="true" v-model="k.value" step="5" class="five" |
|
|
v-model="k.value" |
|
|
theme="round" /> |
|
|
step="10" |
|
|
<van-stepper :disabled="writeAble" :integer="true" v-model="k.value" step="1" class="one" |
|
|
class="ten" |
|
|
theme="round" /> |
|
|
theme="round" |
|
|
<van-slider :disabled="writeAble" class="common-slider-slider" :min="0" :max="300" step="10" |
|
|
/> |
|
|
v-model="k.value" active-color="#e4edff"> |
|
|
<van-stepper |
|
|
|
|
|
:disabled="writeAble" |
|
|
|
|
|
:integer="true" |
|
|
|
|
|
v-model="k.value" |
|
|
|
|
|
step="5" |
|
|
|
|
|
class="five" |
|
|
|
|
|
theme="round" |
|
|
|
|
|
/> |
|
|
|
|
|
<van-stepper |
|
|
|
|
|
:disabled="writeAble" |
|
|
|
|
|
:integer="true" |
|
|
|
|
|
v-model="k.value" |
|
|
|
|
|
step="1" |
|
|
|
|
|
class="one" |
|
|
|
|
|
theme="round" |
|
|
|
|
|
/> |
|
|
|
|
|
<van-slider |
|
|
|
|
|
:disabled="writeAble" |
|
|
|
|
|
class="common-slider-slider" |
|
|
|
|
|
:min="0" |
|
|
|
|
|
:max="300" |
|
|
|
|
|
step="10" |
|
|
|
|
|
v-model="k.value" |
|
|
|
|
|
active-color="#e4edff" |
|
|
|
|
|
> |
|
|
|
|
|
<template #button> |
|
|
<template #button> |
|
|
<a-input-number |
|
|
<a-input-number :disabled="writeAble" type="number" id="inputNumber" |
|
|
:disabled="writeAble" |
|
|
v-model="k.value" :min="0" :max="300" /> |
|
|
type="number" |
|
|
<a-icon class="slider-icon" type="caret-down" /> |
|
|
id="inputNumber" |
|
|
|
|
|
v-model="k.value" |
|
|
|
|
|
:min="0" |
|
|
|
|
|
:max="300" |
|
|
|
|
|
/> |
|
|
|
|
|
<a-icon |
|
|
|
|
|
class="slider-icon" |
|
|
|
|
|
type="caret-down" |
|
|
|
|
|
/> |
|
|
|
|
|
</template> |
|
|
</template> |
|
|
</van-slider> |
|
|
</van-slider> |
|
|
</div> |
|
|
</div> |
|
|
<!-- radio --> |
|
|
<!-- radio --> |
|
|
<a-radio-group |
|
|
<a-radio-group :disabled="writeAble" size="large" v-if="k.type === 'radio'" |
|
|
:disabled="writeAble" |
|
|
v-decorator="[v, { initialValue: k.default }]" button-style="solid" |
|
|
size="large" |
|
|
@change="changeRadio($event, v)"> |
|
|
v-if="k.type === 'radio'" |
|
|
<a-radio-button :disabled="writeAble" v-for="(item, index) in k.range" :key="item" |
|
|
v-decorator="[v, { initialValue: k.default }]" |
|
|
:value="item"> |
|
|
button-style="solid" |
|
|
|
|
|
@change="changeRadio($event, v)" |
|
|
|
|
|
> |
|
|
|
|
|
<a-radio-button |
|
|
|
|
|
:disabled="writeAble" |
|
|
|
|
|
v-for="(item, index) in k.range" |
|
|
|
|
|
:key="item" |
|
|
|
|
|
:value="item" |
|
|
|
|
|
> |
|
|
|
|
|
{{ item }} |
|
|
{{ item }} |
|
|
</a-radio-button> |
|
|
</a-radio-button> |
|
|
</a-radio-group> |
|
|
</a-radio-group> |
|
@ -109,19 +58,10 @@ |
|
|
<div class="item-name"> |
|
|
<div class="item-name"> |
|
|
<span class="item-info">得分</span> |
|
|
<span class="item-info">得分</span> |
|
|
</div> |
|
|
</div> |
|
|
<a-input-number |
|
|
<a-input-number :type="k.inputType" :min="0" :max="100" |
|
|
:type="k.inputType" |
|
|
style="width: 20%; margin-left: 20px" v-decorator="[v]" /> |
|
|
:min="0" |
|
|
|
|
|
:max="100" |
|
|
|
|
|
style="width: 20%; margin-left: 20px" |
|
|
|
|
|
v-decorator="[v]" |
|
|
|
|
|
/> |
|
|
|
|
|
</div> |
|
|
</div> |
|
|
<div |
|
|
<div class="niss-list-item" v-for="(item, index) in k.range" :key="item.text"> |
|
|
class="niss-list-item" |
|
|
|
|
|
v-for="(item, index) in k.range" |
|
|
|
|
|
:key="item.text" |
|
|
|
|
|
> |
|
|
|
|
|
<div class="item-name"> |
|
|
<div class="item-name"> |
|
|
<span class="item-info">{{ |
|
|
<span class="item-info">{{ |
|
|
item.text |
|
|
item.text |
|
@ -130,47 +70,23 @@ |
|
|
<template slot="title"> |
|
|
<template slot="title"> |
|
|
{{ item.description }} |
|
|
{{ item.description }} |
|
|
</template> |
|
|
</template> |
|
|
<a-icon |
|
|
<a-icon v-if="item.description" class="item-icon" type="question-circle" /> |
|
|
v-if="item.description" |
|
|
|
|
|
class="item-icon" |
|
|
|
|
|
type="question-circle" |
|
|
|
|
|
/> |
|
|
|
|
|
</a-tooltip> |
|
|
</a-tooltip> |
|
|
</div> |
|
|
</div> |
|
|
<a-popover |
|
|
<a-popover v-model="item.visible" placement="bottom"> |
|
|
v-model="item.visible" |
|
|
|
|
|
placement="bottom" |
|
|
|
|
|
> |
|
|
|
|
|
<template slot="content" v-if="item.range"> |
|
|
<template slot="content" v-if="item.range"> |
|
|
<a-radio-group |
|
|
<a-radio-group :disabled="writeAble" v-model="nissValue" button-style="solid" |
|
|
:disabled="writeAble" |
|
|
@change="changeRangeRadio(item, v)"> |
|
|
v-model="nissValue" |
|
|
<a-radio-button v-for="( |
|
|
button-style="solid" |
|
|
|
|
|
@change="changeRangeRadio(item, v)" |
|
|
|
|
|
> |
|
|
|
|
|
<a-radio-button |
|
|
|
|
|
v-for="( |
|
|
|
|
|
val, index |
|
|
val, index |
|
|
) in item.range" |
|
|
) in item.range" :key="val.value" :value="val.value" @click="item.visible = false"> |
|
|
:key="val.value" |
|
|
|
|
|
:value="val.value" |
|
|
|
|
|
@click="item.visible = false" |
|
|
|
|
|
> |
|
|
|
|
|
{{ val.value }} |
|
|
{{ val.value }} |
|
|
</a-radio-button> |
|
|
</a-radio-button> |
|
|
</a-radio-group> |
|
|
</a-radio-group> |
|
|
</template> |
|
|
</template> |
|
|
<a-input-number |
|
|
<a-input-number :disabled="writeAble" ref="inputNumber" class="noControls" |
|
|
:disabled="writeAble" |
|
|
@focus="focusInput(index)" @click="changeInput($event, item)" |
|
|
ref="inputNumber" |
|
|
style="width: 20%; margin-left: 20px" v-model="item.value" :min="0" :max="10" /> |
|
|
class="noControls" |
|
|
|
|
|
@focus="focusInput(index)" |
|
|
|
|
|
@click="changeInput($event, item)" |
|
|
|
|
|
style="width: 20%; margin-left: 20px" |
|
|
|
|
|
v-model="item.value" |
|
|
|
|
|
:min="0" |
|
|
|
|
|
:max="10" |
|
|
|
|
|
/> |
|
|
|
|
|
</a-popover> |
|
|
</a-popover> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
@ -178,321 +94,331 @@ |
|
|
</div> |
|
|
</div> |
|
|
</a-form-item> |
|
|
</a-form-item> |
|
|
</a-form> |
|
|
</a-form> |
|
|
<a-button |
|
|
<a-button :disabled="writeAble" class="common-button" type="primary" size="large" shape="round" |
|
|
:disabled="writeAble" |
|
|
@click="onSubmit">保存</a-button> |
|
|
class="common-button" |
|
|
|
|
|
type="primary" |
|
|
|
|
|
size="large" |
|
|
|
|
|
shape="round" |
|
|
|
|
|
@click="onSubmit" |
|
|
|
|
|
>保存</a-button |
|
|
|
|
|
> |
|
|
|
|
|
</div> |
|
|
</div> |
|
|
</template> |
|
|
</template> |
|
|
|
|
|
|
|
|
<script> |
|
|
<script> |
|
|
import { mapMutations, mapState } from 'vuex'; |
|
|
import { |
|
|
import { |
|
|
mapMutations, |
|
|
EMERGENCY_CODE, |
|
|
mapState |
|
|
EMERGENCY_Q_CODE, |
|
|
} from 'vuex'; |
|
|
EMERGENCY_15_CODE, |
|
|
import { |
|
|
EMERGENCY_30_CODE, |
|
|
EMERGENCY_CODE, |
|
|
EMERGENCY_45_CODE, |
|
|
EMERGENCY_Q_CODE, |
|
|
EMERGENCY_60_CODE, |
|
|
EMERGENCY_15_CODE, |
|
|
NIHSS_LIST, |
|
|
EMERGENCY_30_CODE, |
|
|
} from '@/config/code.js'; |
|
|
EMERGENCY_45_CODE, |
|
|
export default { |
|
|
EMERGENCY_60_CODE, |
|
|
name: 'Emergency', |
|
|
NIHSS_LIST, |
|
|
data() { |
|
|
} from '@/config/code.js'; |
|
|
return { |
|
|
export default { |
|
|
NIHSS_LIST, |
|
|
name: 'Emergency', |
|
|
nissValue: '', |
|
|
data() { |
|
|
form: this.$form.createForm(this, { |
|
|
return { |
|
|
name: 'Emergency', |
|
|
NIHSS_LIST, |
|
|
}), |
|
|
nissValue: '', |
|
|
codeForm: { |
|
|
form: this.$form.createForm(this, { |
|
|
'RYPG-SYSTOLIC-PRESSURE': '', |
|
|
name: 'Emergency', |
|
|
'RYPG-DIASTOLIC-PRESSURE': '', |
|
|
}), |
|
|
'RYPG-MRS': '', |
|
|
codeForm: { |
|
|
'RYPG-NIHSS': '', |
|
|
'RYPG-SYSTOLIC-PRESSURE': '', |
|
|
}, |
|
|
'RYPG-DIASTOLIC-PRESSURE': '', |
|
|
codeFormData: { |
|
|
'RYPG-MRS': '', |
|
|
'JMRS-Q-NIHSS': { |
|
|
'RYPG-NIHSS': '', |
|
|
'JMRS-Q-NIHSS': '', |
|
|
|
|
|
'JMRS-Q-DIASTOLIC-PRESSURE': '', |
|
|
|
|
|
'JMRS-Q-SYSTOLIC-PRESSURE': '', |
|
|
|
|
|
}, |
|
|
|
|
|
'JMRS-15-NIHSS': { |
|
|
|
|
|
'JMRS-15-NIHSS': '', |
|
|
|
|
|
'JMRS-15-SYSTOLIC-PRESSURE': '', |
|
|
|
|
|
'JMRS-15-DIASTOLIC-PRESSURE': '', |
|
|
|
|
|
}, |
|
|
|
|
|
'JMRS-30-NIHSS': { |
|
|
|
|
|
'JMRS-30-NIHSS': '', |
|
|
|
|
|
'JMRS-30-SYSTOLIC-PRESSURE': '', |
|
|
|
|
|
'JMRS-30-DIASTOLIC-PRESSURE': '', |
|
|
|
|
|
}, |
|
|
}, |
|
|
'JMRS-45-NIHSS': { |
|
|
codeFormData: { |
|
|
'JMRS-45-NIHSS': '', |
|
|
'JMRS-Q-NIHSS': { |
|
|
'JMRS-45-SYSTOLIC-PRESSURE': '', |
|
|
'JMRS-Q-NIHSS': '', |
|
|
'JMRS-45-DIASTOLIC-PRESSURE': '', |
|
|
'JMRS-Q-DIASTOLIC-PRESSURE': '', |
|
|
|
|
|
'JMRS-Q-SYSTOLIC-PRESSURE': '', |
|
|
|
|
|
}, |
|
|
|
|
|
'JMRS-15-NIHSS': { |
|
|
|
|
|
'JMRS-15-NIHSS': '', |
|
|
|
|
|
'JMRS-15-SYSTOLIC-PRESSURE': '', |
|
|
|
|
|
'JMRS-15-DIASTOLIC-PRESSURE': '', |
|
|
|
|
|
}, |
|
|
|
|
|
'JMRS-30-NIHSS': { |
|
|
|
|
|
'JMRS-30-NIHSS': '', |
|
|
|
|
|
'JMRS-30-SYSTOLIC-PRESSURE': '', |
|
|
|
|
|
'JMRS-30-DIASTOLIC-PRESSURE': '', |
|
|
|
|
|
}, |
|
|
|
|
|
'JMRS-45-NIHSS': { |
|
|
|
|
|
'JMRS-45-NIHSS': '', |
|
|
|
|
|
'JMRS-45-SYSTOLIC-PRESSURE': '', |
|
|
|
|
|
'JMRS-45-DIASTOLIC-PRESSURE': '', |
|
|
|
|
|
}, |
|
|
|
|
|
'JMRS-60-NIHSS': { |
|
|
|
|
|
'JMRS-60-NIHSS': '', |
|
|
|
|
|
'JMRS-60-SYSTOLIC-PRESSURE': '', |
|
|
|
|
|
'JMRS-60-DIASTOLIC-PRESSURE': '', |
|
|
|
|
|
}, |
|
|
}, |
|
|
}, |
|
|
'JMRS-60-NIHSS': { |
|
|
EMERGENCY_CODE, |
|
|
'JMRS-60-NIHSS': '', |
|
|
recordDict: EMERGENCY_CODE, |
|
|
'JMRS-60-SYSTOLIC-PRESSURE': '', |
|
|
dataForm: { |
|
|
'JMRS-60-DIASTOLIC-PRESSURE': '', |
|
|
'JMRS-Q-NIHSS': EMERGENCY_Q_CODE, |
|
|
|
|
|
'JMRS-15-NIHSS': EMERGENCY_15_CODE, |
|
|
|
|
|
'JMRS-30-NIHSS': EMERGENCY_30_CODE, |
|
|
|
|
|
'JMRS-45-NIHSS': EMERGENCY_45_CODE, |
|
|
|
|
|
'JMRS-60-NIHSS': EMERGENCY_60_CODE, |
|
|
}, |
|
|
}, |
|
|
}, |
|
|
}; |
|
|
EMERGENCY_CODE, |
|
|
|
|
|
recordDict: EMERGENCY_CODE, |
|
|
|
|
|
dataForm: { |
|
|
|
|
|
'JMRS-Q-NIHSS': EMERGENCY_Q_CODE, |
|
|
|
|
|
'JMRS-15-NIHSS': EMERGENCY_15_CODE, |
|
|
|
|
|
'JMRS-30-NIHSS': EMERGENCY_30_CODE, |
|
|
|
|
|
'JMRS-45-NIHSS': EMERGENCY_45_CODE, |
|
|
|
|
|
'JMRS-60-NIHSS': EMERGENCY_60_CODE, |
|
|
|
|
|
}, |
|
|
|
|
|
}; |
|
|
|
|
|
}, |
|
|
|
|
|
components: {}, |
|
|
|
|
|
computed: { |
|
|
|
|
|
...mapState('patient', ['patientData', 'timerData', 'writeAble']), |
|
|
|
|
|
}, |
|
|
|
|
|
beforeRouteEnter(to, from, next) { |
|
|
|
|
|
next((vm) => { |
|
|
|
|
|
//TODU |
|
|
|
|
|
const { code } = vm.timerData; |
|
|
|
|
|
if (code) { |
|
|
|
|
|
vm.recordDict = vm.dataForm[`${code}`]; |
|
|
|
|
|
} |
|
|
|
|
|
if (to.name === 'Emergency') { |
|
|
|
|
|
vm.recordDict = EMERGENCY_CODE; |
|
|
|
|
|
} |
|
|
|
|
|
const { recordValDict } = vm.patientData; |
|
|
|
|
|
if (recordValDict) { |
|
|
|
|
|
vm.$nextTick(() => { |
|
|
|
|
|
vm.echo(recordValDict); |
|
|
|
|
|
}); |
|
|
|
|
|
} |
|
|
|
|
|
}); |
|
|
|
|
|
}, |
|
|
|
|
|
methods: { |
|
|
|
|
|
...mapMutations('patient', ['setPatientData']), |
|
|
|
|
|
echo(data) { |
|
|
|
|
|
const { code } = this.timerData; |
|
|
|
|
|
const wangbadan = code |
|
|
|
|
|
? this.codeFormData[`${code}`] |
|
|
|
|
|
: this.codeForm; |
|
|
|
|
|
for (let k in wangbadan) { |
|
|
|
|
|
if (data[k]) { |
|
|
|
|
|
const { answer } = data[k][0]; |
|
|
|
|
|
this.form.getFieldDecorator([`${k}`], { |
|
|
|
|
|
preserve: true, //即便字段不再使用,也保留该字段的值 |
|
|
|
|
|
}); |
|
|
|
|
|
this.form.setFieldsValue({ |
|
|
|
|
|
[`${k}`]: answer.toString(), |
|
|
|
|
|
}); |
|
|
|
|
|
let value = this.recordDict[k]; |
|
|
|
|
|
if (value && value.value) { |
|
|
|
|
|
value.value = Number(answer.toString()); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
}, |
|
|
|
|
|
focusInput(index) { |
|
|
|
|
|
this.$refs.inputNumber[index].readOnly = true; |
|
|
|
|
|
this.$refs.inputNumber[index].blur(); |
|
|
|
|
|
}, |
|
|
}, |
|
|
changeInput(value, item) { |
|
|
components: {}, |
|
|
item.visible = false; |
|
|
computed: { |
|
|
item.value = value; |
|
|
...mapState('patient', ['patientData', 'timerData', 'writeAble']), |
|
|
this.nissValue = ''; |
|
|
|
|
|
}, |
|
|
}, |
|
|
changeRangeRadio(item, code) { |
|
|
beforeRouteEnter(to, from, next) { |
|
|
const text = item.text; |
|
|
next((vm) => { |
|
|
let score = 0; |
|
|
//TODU |
|
|
let NIHSS_LIST = [].concat(this.NIHSS_LIST); |
|
|
const { |
|
|
NIHSS_LIST.forEach((item, index) => { |
|
|
code |
|
|
if (item.text === text) { |
|
|
} = vm.timerData; |
|
|
item.value = this.nissValue; |
|
|
if (code) { |
|
|
|
|
|
vm.recordDict = vm.dataForm[`${code}`]; |
|
|
} |
|
|
} |
|
|
if (item.value) { |
|
|
if (to.name === 'Emergency') { |
|
|
score += item.value; |
|
|
vm.recordDict = EMERGENCY_CODE; |
|
|
|
|
|
} |
|
|
|
|
|
const { |
|
|
|
|
|
recordValDict |
|
|
|
|
|
} = vm.patientData; |
|
|
|
|
|
if (recordValDict) { |
|
|
|
|
|
vm.$nextTick(() => { |
|
|
|
|
|
vm.echo(recordValDict); |
|
|
|
|
|
}); |
|
|
} |
|
|
} |
|
|
}); |
|
|
}); |
|
|
this.form.getFieldDecorator([`${code}`], { |
|
|
|
|
|
preserve: true, //即便字段不再使用,也保留该字段的值 |
|
|
|
|
|
}); |
|
|
|
|
|
this.form.setFieldsValue({ |
|
|
|
|
|
[`${code}`]: score, |
|
|
|
|
|
}); |
|
|
|
|
|
item.visible = false; |
|
|
|
|
|
}, |
|
|
|
|
|
changeRadio(e, v) { |
|
|
|
|
|
this.codeForm[v] = e.target.value; |
|
|
|
|
|
}, |
|
|
}, |
|
|
computeShow(code, codeForm) { |
|
|
methods: { |
|
|
return this.utils.computeShow(code, codeForm); |
|
|
...mapMutations('patient', ['setPatientData']), |
|
|
}, |
|
|
echo(data) { |
|
|
async onSubmit(e) { |
|
|
const { |
|
|
e.preventDefault(); |
|
|
code |
|
|
this.form.validateFields(async (err, values) => { |
|
|
} = this.timerData; |
|
|
// if (err) return |
|
|
const wangbadan = code ? |
|
|
const { firstAidId } = this.patientData; |
|
|
this.codeFormData[`${code}`] : |
|
|
let codeAndAnswerList = []; |
|
|
this.codeForm; |
|
|
const { recordDict } = this; |
|
|
for (let k in wangbadan) { |
|
|
const codes = [ |
|
|
if (data[k]) { |
|
|
'RYPG-MRS', |
|
|
const { |
|
|
'RYPG-NIHSS', |
|
|
answer |
|
|
'JMRS-Q-NIHSS', |
|
|
} = data[k][0]; |
|
|
'JMRS-15-NIHSS', |
|
|
this.form.getFieldDecorator([`${k}`], { |
|
|
'JMRS-30-NIHSS', |
|
|
preserve: true, //即便字段不再使用,也保留该字段的值 |
|
|
'JMRS-45-NIHSS', |
|
|
}); |
|
|
'JMRS-60-NIHSS', |
|
|
this.form.setFieldsValue({ |
|
|
]; |
|
|
[`${k}`]: answer.toString(), |
|
|
const codesEm = ['RYPG-MRS', 'RYPG-NIHSS']; |
|
|
}); |
|
|
const codesQ = [ |
|
|
let value = this.recordDict[k]; |
|
|
'JMRS-Q-NIHSS', |
|
|
if (value && value.value) { |
|
|
'JMRS-15-NIHSS', |
|
|
value.value = Number(answer.toString()); |
|
|
'JMRS-30-NIHSS', |
|
|
} |
|
|
'JMRS-45-NIHSS', |
|
|
} |
|
|
'JMRS-60-NIHSS', |
|
|
} |
|
|
]; |
|
|
}, |
|
|
for (let k in recordDict) { |
|
|
focusInput(index) { |
|
|
if ( |
|
|
this.$refs.inputNumber[index].readOnly = true; |
|
|
recordDict[k].value !== 'undefined' && |
|
|
this.$refs.inputNumber[index].blur(); |
|
|
recordDict[k].value !== 'null' |
|
|
}, |
|
|
) { |
|
|
changeInput(value, item) { |
|
|
if (!codes.includes(k)) { |
|
|
item.visible = false; |
|
|
|
|
|
item.value = value; |
|
|
|
|
|
this.nissValue = ''; |
|
|
|
|
|
}, |
|
|
|
|
|
changeRangeRadio(item, code) { |
|
|
|
|
|
const text = item.text; |
|
|
|
|
|
let score = 0; |
|
|
|
|
|
let NIHSS_LIST = [].concat(this.NIHSS_LIST); |
|
|
|
|
|
NIHSS_LIST.forEach((item, index) => { |
|
|
|
|
|
if (item.text === text) { |
|
|
|
|
|
item.value = this.nissValue; |
|
|
|
|
|
} |
|
|
|
|
|
if (item.value) { |
|
|
|
|
|
score += item.value; |
|
|
|
|
|
} |
|
|
|
|
|
}); |
|
|
|
|
|
this.form.getFieldDecorator([`${code}`], { |
|
|
|
|
|
preserve: true, //即便字段不再使用,也保留该字段的值 |
|
|
|
|
|
}); |
|
|
|
|
|
this.form.setFieldsValue({ |
|
|
|
|
|
[`${code}`]: score, |
|
|
|
|
|
}); |
|
|
|
|
|
item.visible = false; |
|
|
|
|
|
}, |
|
|
|
|
|
changeRadio(e, v) { |
|
|
|
|
|
this.codeForm[v] = e.target.value; |
|
|
|
|
|
}, |
|
|
|
|
|
computeShow(code, codeForm) { |
|
|
|
|
|
return this.utils.computeShow(code, codeForm); |
|
|
|
|
|
}, |
|
|
|
|
|
async onSubmit(e) { |
|
|
|
|
|
e.preventDefault(); |
|
|
|
|
|
this.form.validateFields(async (err, values) => { |
|
|
|
|
|
// if (err) return |
|
|
|
|
|
const { |
|
|
|
|
|
firstAidId |
|
|
|
|
|
} = this.patientData; |
|
|
|
|
|
let codeAndAnswerList = []; |
|
|
|
|
|
const { |
|
|
|
|
|
recordDict |
|
|
|
|
|
} = this; |
|
|
|
|
|
const codes = [ |
|
|
|
|
|
'RYPG-MRS', |
|
|
|
|
|
'RYPG-NIHSS', |
|
|
|
|
|
'JMRS-Q-NIHSS', |
|
|
|
|
|
'JMRS-15-NIHSS', |
|
|
|
|
|
'JMRS-30-NIHSS', |
|
|
|
|
|
'JMRS-45-NIHSS', |
|
|
|
|
|
'JMRS-60-NIHSS', |
|
|
|
|
|
]; |
|
|
|
|
|
const codesEm = ['RYPG-MRS', 'RYPG-NIHSS']; |
|
|
|
|
|
const codesQ = [ |
|
|
|
|
|
'JMRS-Q-NIHSS', |
|
|
|
|
|
'JMRS-15-NIHSS', |
|
|
|
|
|
'JMRS-30-NIHSS', |
|
|
|
|
|
'JMRS-45-NIHSS', |
|
|
|
|
|
'JMRS-60-NIHSS', |
|
|
|
|
|
]; |
|
|
|
|
|
for (let k in recordDict) { |
|
|
|
|
|
if ( |
|
|
|
|
|
recordDict[k].value !== 'undefined' && |
|
|
|
|
|
recordDict[k].value !== 'null' |
|
|
|
|
|
) { |
|
|
|
|
|
if (!codes.includes(k)) { |
|
|
|
|
|
codeAndAnswerList.push({ |
|
|
|
|
|
questionCode: k, |
|
|
|
|
|
answer: [recordDict[k].value], |
|
|
|
|
|
time: '', |
|
|
|
|
|
}); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
for (let k in values) { |
|
|
|
|
|
if ( |
|
|
|
|
|
this.$route.name === 'Emergency' && |
|
|
|
|
|
codesEm.includes(k) && |
|
|
|
|
|
values[k] !== 'undefined' && |
|
|
|
|
|
values[k] !== 'null' |
|
|
|
|
|
) { |
|
|
codeAndAnswerList.push({ |
|
|
codeAndAnswerList.push({ |
|
|
questionCode: k, |
|
|
questionCode: k, |
|
|
answer: [recordDict[k].value], |
|
|
answer: [values[k]], |
|
|
|
|
|
time: '', |
|
|
|
|
|
}); |
|
|
|
|
|
} else if ( |
|
|
|
|
|
this.$route.name === 'Min' && |
|
|
|
|
|
codesQ.includes(k) && |
|
|
|
|
|
values[k] !== 'undefined' && |
|
|
|
|
|
values[k] !== 'null' |
|
|
|
|
|
) { |
|
|
|
|
|
codeAndAnswerList.push({ |
|
|
|
|
|
questionCode: k, |
|
|
|
|
|
answer: [values[k]], |
|
|
time: '', |
|
|
time: '', |
|
|
}); |
|
|
}); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
this.home.updateAidCode({ |
|
|
for (let k in values) { |
|
|
codeAndAnswerList, |
|
|
if ( |
|
|
}); |
|
|
this.$route.name === 'Emergency' && |
|
|
|
|
|
codesEm.includes(k) && |
|
|
|
|
|
values[k] !== 'undefined' && |
|
|
|
|
|
values[k] !== 'null' |
|
|
|
|
|
) { |
|
|
|
|
|
codeAndAnswerList.push({ |
|
|
|
|
|
questionCode: k, |
|
|
|
|
|
answer: [values[k]], |
|
|
|
|
|
time: '', |
|
|
|
|
|
}); |
|
|
|
|
|
} else if ( |
|
|
|
|
|
this.$route.name === 'Min' && |
|
|
|
|
|
codesQ.includes(k) && |
|
|
|
|
|
values[k] !== 'undefined' && |
|
|
|
|
|
values[k] !== 'null' |
|
|
|
|
|
) { |
|
|
|
|
|
codeAndAnswerList.push({ |
|
|
|
|
|
questionCode: k, |
|
|
|
|
|
answer: [values[k]], |
|
|
|
|
|
time: '', |
|
|
|
|
|
}); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
this.home.updateAidCode({ |
|
|
|
|
|
codeAndAnswerList, |
|
|
|
|
|
}); |
|
|
}); |
|
|
|
|
|
}, |
|
|
|
|
|
}, |
|
|
|
|
|
beforeDestroy() { |
|
|
|
|
|
NIHSS_LIST.forEach((item, index) => { |
|
|
|
|
|
item.value = null; |
|
|
}); |
|
|
}); |
|
|
|
|
|
this.NIHSS_LIST = NIHSS_LIST; |
|
|
}, |
|
|
}, |
|
|
}, |
|
|
}; |
|
|
beforeDestroy() { |
|
|
|
|
|
NIHSS_LIST.forEach((item, index) => { |
|
|
|
|
|
item.value = null; |
|
|
|
|
|
}); |
|
|
|
|
|
this.NIHSS_LIST = NIHSS_LIST; |
|
|
|
|
|
}, |
|
|
|
|
|
}; |
|
|
|
|
|
</script> |
|
|
</script> |
|
|
|
|
|
|
|
|
<style scoped lang="less"> |
|
|
<style scoped lang="less"> |
|
|
.Emergency-container { |
|
|
.Emergency-container { |
|
|
flex: 1; |
|
|
flex: 1; |
|
|
display: flex; |
|
|
display: flex; |
|
|
flex-direction: column; |
|
|
flex-direction: column; |
|
|
|
|
|
background-color: #fff; |
|
|
|
|
|
padding: 12px; |
|
|
|
|
|
|
|
|
.noControls { |
|
|
.noControls { |
|
|
/deep/ .ant-input-number-handler-wrap { |
|
|
/deep/ .ant-input-number-handler-wrap { |
|
|
display: none; |
|
|
display: none; |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.patient-form { |
|
|
.patient-form { |
|
|
flex: 1; |
|
|
flex: 1; |
|
|
overflow-y: auto; |
|
|
overflow-y: auto; |
|
|
|
|
|
|
|
|
.pt { |
|
|
.pt { |
|
|
padding-top: 36px; |
|
|
padding-top: 36px; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.content-left { |
|
|
.content-left { |
|
|
width: 30%; |
|
|
width: 30%; |
|
|
|
|
|
|
|
|
label { |
|
|
label { |
|
|
display: flex; |
|
|
display: flex; |
|
|
align-items: center; |
|
|
align-items: center; |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.content-right { |
|
|
.content-right { |
|
|
flex: 1; |
|
|
flex: 1; |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.xy-wrapper { |
|
|
.xy-wrapper { |
|
|
display: flex; |
|
|
display: flex; |
|
|
justify-content: space-between; |
|
|
justify-content: space-between; |
|
|
align-items: center; |
|
|
align-items: center; |
|
|
padding-bottom: 20px; |
|
|
padding-bottom: 20px; |
|
|
|
|
|
|
|
|
.xy-label { |
|
|
.xy-label { |
|
|
font-size: 26px; |
|
|
font-size: 26px; |
|
|
font-family: Source Han Sans CN, Source Han Sans CN-Medium; |
|
|
font-family: Source Han Sans CN, Source Han Sans CN-Medium; |
|
|
font-weight: 500; |
|
|
font-weight: 500; |
|
|
text-align: left; |
|
|
text-align: left; |
|
|
color: #565e6f; |
|
|
color: #565e6f; |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.niss-list { |
|
|
|
|
|
display: flex; |
|
|
|
|
|
flex-wrap: wrap; |
|
|
|
|
|
justify-content: space-between; |
|
|
|
|
|
|
|
|
|
|
|
.niss-list-item { |
|
|
.niss-list { |
|
|
width: 45%; |
|
|
|
|
|
display: flex; |
|
|
display: flex; |
|
|
|
|
|
flex-wrap: wrap; |
|
|
justify-content: space-between; |
|
|
justify-content: space-between; |
|
|
|
|
|
|
|
|
.item-name { |
|
|
.niss-list-item { |
|
|
|
|
|
width: 45%; |
|
|
display: flex; |
|
|
display: flex; |
|
|
align-items: center; |
|
|
|
|
|
justify-content: space-between; |
|
|
justify-content: space-between; |
|
|
flex: 1; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.item-info { |
|
|
.item-name { |
|
|
flex: 1; |
|
|
display: flex; |
|
|
font-size: 26px; |
|
|
align-items: center; |
|
|
font-family: Source Han Sans CN, Source Han Sans CN-Bold; |
|
|
justify-content: space-between; |
|
|
font-weight: 700; |
|
|
flex: 1; |
|
|
text-align: left; |
|
|
} |
|
|
color: #565e6f; |
|
|
|
|
|
|
|
|
.item-info { |
|
|
|
|
|
flex: 1; |
|
|
|
|
|
font-size: 26px; |
|
|
|
|
|
font-family: Source Han Sans CN, Source Han Sans CN-Bold; |
|
|
|
|
|
font-weight: 700; |
|
|
|
|
|
text-align: left; |
|
|
|
|
|
color: #565e6f; |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.item-icon { |
|
|
.item-icon { |
|
|
width: 25px; |
|
|
width: 25px; |
|
|
font-size: 22px; |
|
|
font-size: 22px; |
|
|
color: #7690e5; |
|
|
color: #7690e5; |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
</style> |
|
|
</style> |
|
|
|