<template>
  <el-row>
    <el-col :span="16">
      <Editor @load="onLoad" style="margin: 10px 0" />
    </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-form-item>
          <el-form-item label="性别">
            <el-input v-model="patient.pat_sex" />
          </el-form-item>
          <el-form-item label="年龄">
            <el-input v-model="patient.pat_age" />
          </el-form-item>
          <el-form-item label="就诊科室">
            <el-input v-model="patient.visit_dept" />
          </el-form-item>
          <el-form-item label="就诊号">
            <el-input v-model="patient.pat_id" />
          </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-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-form-item>
          <el-form-item label=" 家庭住址">
            <el-input v-model="patient.pat_address" />
          </el-form-item>
          <el-form-item label=" 主诉">
            <el-input v-model="patient.pat_appeal" />
          </el-form-item>
          <el-form-item label=" 现病史">
            <el-input v-model="patient.pat_now_history" />
          </el-form-item>
          <el-form-item label=" 既往史">
            <el-input v-model="patient.pat_past_history" />
          </el-form-item>
          <el-form-item label=" 过敏史">
            <el-input v-model="patient.pat_allergy_history" />
          </el-form-item>
          <el-form-item label=" 诊断">
            <el-input v-model="patient.diagnosis" />
          </el-form-item>
          <el-form-item label=" 处方">
            <el-input v-model="patient.presc" type="textarea" />
          </el-form-item>
          <el-form-item label=" 建议">
            <el-input v-model="patient.advice" />
          </el-form-item>
          <el-form-item label=" 医生签字">
            <el-input v-model="patient.doctor_name" />
          </el-form-item>
        </el-form>
      </el-card>
    </el-col>
  </el-row>
</template>

<script setup lang="ts">
import { ref } from "vue";

const patient = ref({});

var editor: any = null;

//加载编辑器
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>

<style scoped lang="scss"></style>
