绑定数据
大约 2 分钟
数据控件
可绑定数据的控件包括:
- 文本控件
- 日期控件
- 静态下拉框
- 动态下拉框
- 单选框
- 复选框
- 图片
注意:文档加载处理完成后才可使用以下取值设值函数。
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')