96 lines
4.2 KiB
Vue
96 lines
4.2 KiB
Vue
<template>
|
|
<Source src="/code/BindData.vue"></Source>
|
|
<el-row>
|
|
<el-col :span="16">
|
|
<Editor @load="onLoad" style="margin: 10px 0;"></Editor>
|
|
</el-col>
|
|
<el-col :span="8">
|
|
<el-card style="margin: 10px;">
|
|
<el-form @change="bindData()" label-width="auto">
|
|
<el-form-item label="姓名">
|
|
<el-input v-model="patient.pat_name" ></el-input>
|
|
</el-form-item>
|
|
<el-form-item label="性别">
|
|
<el-input v-model="patient.pat_sex"></el-input>
|
|
</el-form-item>
|
|
<el-form-item label="年龄">
|
|
<el-input v-model="patient.pat_age"></el-input>
|
|
</el-form-item>
|
|
<el-form-item label="就诊科室">
|
|
<el-input v-model="patient.visit_dept"></el-input>
|
|
</el-form-item>
|
|
<el-form-item label="就诊号">
|
|
<el-input v-model="patient.pat_id"></el-input>
|
|
</el-form-item>
|
|
<el-form-item label="就诊时间">
|
|
<el-date-picker v-model="patient.visit_time" type="datetime" value-format="YYYY-MM-DD hh:mm:ss"></el-date-picker>
|
|
<el-radio-group v-model="patient.firstcall" style="margin-left: 10px;">
|
|
<el-radio value="1">初诊</el-radio>
|
|
<el-radio value="2">复诊</el-radio>
|
|
</el-radio-group>
|
|
</el-form-item>
|
|
<el-form-item label="联系电话">
|
|
<el-input v-model="patient.pat_phone"></el-input>
|
|
</el-form-item>
|
|
<el-form-item label=" 家庭住址">
|
|
<el-input v-model="patient.pat_address"></el-input>
|
|
</el-form-item>
|
|
<el-form-item label=" 主诉">
|
|
<el-input v-model="patient.pat_appeal"></el-input>
|
|
</el-form-item>
|
|
<el-form-item label=" 现病史">
|
|
<el-input v-model="patient.pat_now_history"></el-input>
|
|
</el-form-item>
|
|
<el-form-item label=" 既往史">
|
|
<el-input v-model="patient.pat_past_history"></el-input>
|
|
</el-form-item>
|
|
<el-form-item label=" 过敏史">
|
|
<el-input v-model="patient.pat_allergy_history"></el-input>
|
|
</el-form-item>
|
|
<el-form-item label=" 诊断">
|
|
<el-input v-model="patient.diagnosis"></el-input>
|
|
</el-form-item>
|
|
<el-form-item label=" 处方">
|
|
<el-input v-model="patient.presc" type="textarea"></el-input>
|
|
</el-form-item>
|
|
<el-form-item label=" 建议">
|
|
<el-input v-model="patient.advice"></el-input>
|
|
</el-form-item>
|
|
<el-form-item label=" 医生签字">
|
|
<el-input v-model="patient.doctor_name"></el-input>
|
|
</el-form-item>
|
|
</el-form>
|
|
</el-card>
|
|
</el-col>
|
|
</el-row>
|
|
</template>
|
|
|
|
<script setup>
|
|
import { ref } from 'vue'
|
|
|
|
const patient = ref({})
|
|
|
|
var editor
|
|
|
|
//加载编辑器
|
|
const onLoad = (e) => {
|
|
|
|
editor = e.target.contentWindow.editor
|
|
|
|
setTimeout(()=>{
|
|
//异步加载文档
|
|
editor.loadUrl('/mock/bind_data.html').then(()=>{
|
|
patient.value = editor.getBindObject()
|
|
})
|
|
//文档输入后表单值随着变化
|
|
editor.document.addEventListener('input', ()=>{
|
|
patient.value = editor.getBindObject()
|
|
})
|
|
}, 0)
|
|
}
|
|
|
|
//表单数据改变
|
|
const bindData = () => {
|
|
editor.setBindObject(patient.value)
|
|
}
|
|
</script> |