调用:DetailList 背景:bg2.jpg
⚙ 配置
属性 | 说明 | 是否必需 |
---|---|---|
headConfig | 主明细表列头配置 | YES |
dataConfig | 主明细表数据配置 | YES |
subHeadConfig | 子明细表列头配置 | NO |
subDataConfig | 子明细表数据配置 | NO |
content | 顶部信息 | NO |
checkType | S\M\“”(单选\多选\不需要选择) | NO |
hasDefaultCheck | 是否默认选中(单选:第一项,多选:全部) | NO |
defaultCheckedList | checkType为M即多选时,默认选中序列的集合(数组),需 hasDefaultCheck为true才生效 |
NO |
needCheckAll | 是否需要显示全选的勾选框,而非全部选中 | NO |
btnConfig | 按钮栏配置 | NO |
searchConfig | 搜索功能配置 | NO |
isLargeTable | 是否为加高表格(true:表格及表头支持超出宽度自动换行及\n换行) | NO |
highlightArrow | 是否支持高亮显示箭头 | NO |
整体配置范例
function DetailList() {
var data = {
model: "Detailist",
config: {
shell: commonShellCfg,
bgImg: "bg2.jpg",
// 是否支持高亮显示箭头
highlightArrow:true,
// 是否为换行表格
isLargeTable:true,
// 是否默认选中(单选:第一项,多选:全部)
hasDefaultCheck: true,
defaultCheckedList:[0,2,3],
needCheckAll:true,
// 顶部信息
content: head_info({ billing: '1200元', total: '3000' }),
// content: "",
// 单选/多选/老子不需要 S | M | ""
checkType: "M",
// 一级列头配置
headConfig: [
{
tName: '处方号',
align: "left",
width: "220px"
},
{
tName: '开单时间',
align: "left"
},
{
tName: '开单科室'
},
{
tName: '开单医生',
// width: "80px"
},
{
tName: '处方名称'
},
{
tName: '总金额'
}],
subHeadConfig: [
{
tName: '项目名称',
align: "left",
},
{
tName: '单位',
width: "80px"
},
{
tName: '单价',
},
{
tName: '数量',
},
{
tName: '总价',
}],
dataConfig: [
["无锡吉宝·灡岸名邸·六期住宅", "2019-07-25", "内科门诊", "陈丽↑", "西药方", "300.00元"],
["无锡吉宝·灡岸名邸·六期住宅·六期住宅", "2019-07-25", "内科门诊", "陈丽↓", "西药方", "300.00元"],
["无锡吉宝\n灡岸名邸·六期住宅·六期住宅", "2019-07-25", "内科门诊", "陈丽", "西药方", "300.00元"],
["无锡吉宝\n灡岸名邸·六期住宅", "2019-07-25", "内科门诊", "陈丽", "西药方", "300.00元"],
["无锡吉宝\n灡岸名邸·六期住宅", "2019-07-25", "内科门诊", "陈丽", "西药方", "300.00元"],
["无锡吉宝\n灡岸名邸·六期住宅", "2019-07-25", "内科门诊", "陈丽", "西药方", "300.00元"],
["无锡吉宝\n灡岸名邸·六期住宅", "2019-07-25", "内科门诊", "陈丽", "西药方", "300.00元"],
// ["无锡吉宝\n灡岸名邸·六期住宅", "2019-07-25", "内科门诊", "陈丽", "西药方", "300.00元"],
// ["无锡吉宝\n灡岸名邸·六期住宅", "2019-07-25", "内科门诊", "陈丽", "西药方", "300.00元"],
// ["20190725C20001", "2019-07", "内科门诊", "陈丽", "西药方", "100.00元"],
// ["20190725C20001", "2019-07-25", "内科门诊", "陈丽", "西药方", "200.00元"],
// ["20190725C20001", "2019-07-25", "内科门诊", "陈丽", "西药方", "300.00元"],
// ["20190725C20001", "2019-07-25", "内科门诊", "陈丽", "西药方", "50.00元"],
// ["20190725C20001", "2019-07-25", "内科门诊", "陈丽", "西药方", "50.00元"],
// ["20190725C20001", "2019-07-25", "内科门诊", "陈丽", "西药方", "50.00元"],
// ["20190725C20001", "2019-07-25", "内科门诊", "陈丽", "西药方", "20.00元"],
["20190725C20001", "2019-07-25", "内科门诊", "陈丽", "西药方", "22.00元"],
["20190725C20001", "2019-07-25", "内科门诊", "陈丽", "西药方", "11.00元"],
["20190725C20001", "2019-07-25", "内科门诊", "陈丽", "西药方", "3.00元"],
],
subDataConfig: [
[
["硫酸庆大霉素注射液", "支", "1.00", "2.0000", "2.00"],
["硫酸庆大霉素注射液", "支", "1.00", "2.0000", "2.00"],
["硫酸庆大霉素注射液", "支", "1.00", "2.0000", "2.00"],
["硫酸庆大霉素注射液", "支", "1.00", "2.0000", "2.00"],
["硫酸庆大霉素<span>注射液</span>", "支", "1.00", "2.0000", "2.00"],
["硫酸庆大霉素注射液", "支", "1.00", "2.0000", "2.00"],
["硫酸庆大霉素注射液", "支", "1.00", "2.0000", "2.00"],
["硫酸庆大霉素注射液", "支", "1.00", "2.0000", "2.00"],
["硫酸庆大霉素注射液", "支", "1.00", "2.0000", "2.00"],
["硫酸庆大霉素注射液", "支", "1.00", "2.0000", "2.00"],
["硫酸庆大霉素注射液", "支", "1.00", "2.0000", "2.00"],
],
[
["硫酸庆大霉素注射液", "支", "1.00", "2.0000", "2.00"],
["硫酸庆大霉素注射液", "支", "1.00", "2.0000", "2.00"],
],
[
["彩色多普勒", "支", "1.00", "2.0000", "2.00"],
]
],
btnConfig: {
label: "详情",
/** 谨慎:搜索更新数据后注意不要数组越界,否则报错! */
disabled: [5, 7],
// labelList:["预约","取消"],
// 点击按钮回调函数,如不配置且配置了子表格数据则弹出子表
// onClick: function (value) {
// console.log(value)
// }
},
searchConfig: {
//两种赋值方式
//handleSearch:"detailsearch",
/**
* 更新表格内容
* @param {string} str 输入框内容
* @return {object}
*/
handleSearch: function (str) {
console.log('获取输入框内容:', str);
return {
//必选
dataConfig: [
["20190725C20001", "2019-07-25", "内科门诊", "陈丽", "西药方", "300.00元"],
["20190725C20001", "2019-07-25", "内科门诊", "陈丽", "西药方", "100.00元"],
],
// 可选
subDataConfig: [
[
["硫酸庆大霉素注射液", "支", "1.00", "2.0000", "2.00"],
["硫酸庆大霉素注射液", "支", "1.00", "2.0000", "2.00"],
],
]
}
},
}
}
}
return data
}
function detailsearch(str)
{
console.log('获取输入框内容:', str);
return {
//必选
dataConfig: [
["20190725C20001", "2019-07-25", "内科门诊", "陈丽", "西药方", "300.00元"],
["20190725C20001", "2019-07-25", "内科门诊", "陈丽", "西药方", "100.00元"],
],
// 可选
subDataConfig: [
[
["硫酸庆大霉素注射液", "支", "1.00", "2.0000", "2.00"],
["硫酸庆大霉素注射液", "支", "1.00", "2.0000", "2.00"],
],
]
}
}
isLargeTable
// 是否为换行表格(true:表格及表头支持超出宽度自动换行及\n换行)
isLargeTable:false,
highlightArrow
// 是否支持高亮显示箭头
highlightArrow:false,
headConfig
// 【必填】主表的表头
headConfig:[
{
// 【必填】表头名称
tName: '处方号',
// 【选填】对齐方式,若传入则按你的方式来,不传,默认居中
align: "left",
// 【选填,最好不填】宽度,指定该列宽度。其余未指定宽度的将自适应,该列不参与。
// 建议:指定宽度的列最好不要超过2列
width: "200px",
},
]
subHeadConfig
// 【选填】详细表的表头,需要就看下面,不需要就不传
subHeadConfig:[
{
// 【必填】表头名称
tName: '项目名称',
// 【选填】对齐方式,若传入则按你的方式来,不传,默认居中
align: "left",
// 【选填,最好不填】宽度,指定该列宽度。其余未指定宽度的将自适应,该列不参与。
// 建议:指定宽度的列最好不要超过2列
width: "200px",
},
]
dataConfig
// 【必填】主表内容
// 该配置为二维数组,每一项代表一条记录,每条记录的长度需要 == headConfig.length
bodyConfig:[
["20190725C20001", "内科门诊", "管理员", "2.00", "西药方", "2019-07-25"],
["20190725C20001", "兽科门诊", "饲养员", "2.00", "中成方", "2019-07-25"],
... ...
]
subDataConfig
// 【选填】详细表内容,若不传或为空,则不出现最后一列所以没有详情按钮
// 子表是一个三维数组,约定与主表的约定相同
subBodyConfig:[
[
["硫酸庆大霉素注射液","支","1.00","2.0000","2.00"],
["硫酸庆大霉素注射液","支","1.00","2.0000","2.00"],
["硫酸庆大霉素注射液","支","1.00","2.0000","2.00"],
["硫酸庆大霉素注射液","支","1.00","2.0000","2.00"],
["硫酸庆大霉素注射液","支","1.00","2.0000","2.00"],
["硫酸庆大霉素注射液","支","1.00","2.0000","2.00"],
["硫酸庆大霉素注射液","支","1.00","2.0000","2.00"],
["硫酸庆大霉素注射液","支","1.00","2.0000","2.00"],
["硫酸庆大霉素注射液","支","1.00","2.0000","2.00"],
],
[
[... ...],
[... ...],
],
... ...
]
actionConfig(正在调整)
//非必要配置,可省略,将不出现除详情(称为操作按钮)的额外按钮,反之出现
actionConfig: {
// 操作按钮的统一事件
uniClick: "getCurrentItem",
// 哪些项时没有统一操作事件的
disabledIndex: [0,1,5,8],
// 对齐方式,参照 subHeadConfig 配置
align: 'center',
// 宽度,后期移除,暂时保留
width: '180px',
// 操作按钮的显示文字
btnLable: '操作'
}
function getCurrentItem(obj){
console.log(obj)
}
content
//表格上方文字,非必要配置
content: head_info({billing: '120.2元',total: '30021.2E'}),
function head_info(obj){
return '<span className="userName" style="flex: 1 1;">小计费用:<b>' + obj.billing + '</b></span><span className="userAccount" style="flex-basis: 70%">入院总费用:<b>' + obj.total + '</b></span>'
}
checkType
// 选择器类型,该属性不设置或为""时则无勾选功能,S:单选|M:多选
checkType: "S",
hasDefaultCheck
// 是否默认选中(单选:第一项,多选:全部)
hasDefaultCheck: true,
defaultCheckedList
// checkType为M即多选时,默认选中序列的集合(数组),需hasDefaultCheck为true才生效
defaultCheckedList:[0,2,3],
needCheckAll
// 是否需要显示全选的勾选框,而非全部选中
needCheckAll: true,
btnConfig
// 所有属性都是【选填】,包括btnConfig
btnConfig: {
// 按钮文案
label: "详情",
// 禁用下列行的按钮
disabled: [0, 1, 4],
// 按钮可重新定义文字,不配置则显示label所配置的内容
labelList:["预约","取消"],
// 自定义点击事件
// 特别的,当该字段不传或传空,将默认打开子表模态框,否则传入一个下标。
// 支持两种模式:字符串引用 | 匿名函数
onClick: function (value) {
console.log(value)
}
},
searchConfig
searchConfig: {
//两种赋值方式
//handleSearch:"detailsearch",
/**
* 更新表格内容
* @param {string} str 输入框内容
* @return {object}
*/
handleSearch: function (str) {
console.log('获取输入框内容:', str);
return {
//必选
dataConfig: [
["20190725C20001", "2019-07-25", "内科门诊", "陈丽", "西药方", "300.00元"],
["20190725C20001", "2019-07-25", "内科门诊", "陈丽", "西药方", "100.00元"],
],
// 可选
subDataConfig: [
[
["硫酸庆大霉素注射液", "支", "1.00", "2.0000", "2.00"],
["硫酸庆大霉素注射液", "支", "1.00", "2.0000", "2.00"],
],
]
}
},
}
♨️ JS Call
🚀 getData
返回数据格式:
[
{
//所选项索引号
index:0,
//所选项数据内容
result:[...]
},...
]