跳至主要內容

绑定数据

大约 2 分钟

数据控件

可绑定数据的控件包括:

  1. 文本控件
  2. 日期控件
  3. 静态下拉框
  4. 动态下拉框
  5. 单选框
  6. 复选框
  7. 图片

注意:文档加载处理完成后才可使用以下取值设值函数。

editor.loadUrl('./doc/100.html').then(function(){
    let obj = {...}
    editor.setBindObject(obj)
})

控件取值

getFieldValueById(id)

单个控件取值(入参为标识)

//文本框
let patientName = editor.getFieldValueById('patientName')
// 返回结果
// patientName = "蒋华良"

// 日期框(显示2024年01月01日)
let date = editor.getFieldValueById('date')
// 返回结果
// date = '2024-01-01'

// 日期框(显示 12点16分)
let time = editor.getFieldValueById('time')
// 返回结果
// time = '09:00:00'

//单选框/复选框
let checked = editor.getFieldValueById('radio')
// 返回结果:true/flase

//静态下拉框
let value = editor.getFieldValueById('dropdown')
//返回结果:选择项对应 code

//动态下拉框
let value = editor.getFieldValueById('datalist')
//返回结果:选择项对应 'label:code' , 例如 '流行性感冒:J11.101'

getFieldValue(field)

单个控件取值(入参为控件)

//例如:获取存在重复标识field01的多个控件的值
 let values = [];
 editor.$('[id=field01]').each((i, field)=>{
        //单个控件取值(入参为控件)
        values.push(editor.getFieldValue(field));
 })

 console.log(values);

控件取值对象

getBindObject(id)

单个控件取值对象

//示例
let result = editor.getBindObject('patientName')

// 返回结果
// {
//     patientName: "蒋华良"
// }

getBindObject(containId)

获取文档容器内所有值对象

//示例
let data = editor.getBindObject('_head') //指定文档节点ID
console.log(data)

// 返回结果
// {
//     patientNo: "2023010100009",
//     patientName: "蒋华良", 
//     sex: "1", 
//     age:"65岁", 
//     diagnosis: "流行性感冒:J11.101", 
//     daigDate:"2023-01-01",
//     clincName:"呼吸内科",
//     bedNo:"16床"
// }

getBindObject()

获取病历文档的所有值集合

let data = editor.getBindObject() //无参数
console.log(data)

控件设值对象

setBindObject(text, id)

设置单个值

//指定控件ID,设置显示文本
editor.setBindObject(text, id)

//示例
editor.setBindObject('张学友', 'patientName')

setBindObject(obj)

设置多个值集合

//把数据对象按ID名称,设置病历文档对象对应文本值到控件中
editor.setBindObject(obj)

//示例
let obj = {
    patientNo: "2023010100009",
    patientName: "蒋华良", 
    sex: "男", 
    age:"65岁", 
    diagnosis: "新冠肺炎", 
    daigDate:"2023年1月1日",
    clincName:"呼吸内科",
    bedNo:"16床"
}
editor.setBindObject(obj)

setBindObject(obj, id)

把数据对象按ID名称,设置病历文档对象值到指定的文档节点


//示例
let obj = {
    patientNo: "2023010100009",
    patientName: "蒋华良", 
    sex: "1", //页面显示男性
    age:"65岁", 
    diagnosis: "新冠肺炎", 
    daigDate:"2023-01-01", //页面显示2023年1月1日
    clincName:"呼吸内科",
    bedNo:"16床"
}
editor.setBindObject(obj, 'base_info')