跟随表单顶部合并
.union_top form {
margin-top: -18px;
}
设置表单值,默认触发onchang事件。
function formSet (form, data = {}, disTriggerChange) {
for (fieldName in data) {
let value = data[fieldName]
form.set(fieldName, value, disTriggerChange)
}
}
formHideAfter
function formHideAfter (form, data, options) {
options.forEach(option => {
form.hide(option.fieldName, option.predicate(data))
})
}
formHide(form, data, [{
fieldName: 'FIELD_NAME',
predicate: ({STATE}) => false
}])
渲染表单栅格高度
function renderFormGridHeight (form, ...fieldIds) {
if (!fieldIds.length) {
return
}
let rows = form.findHtmlDocument('.row').get()
rows = rows.filter (row => {
return $(row).find('.form-group').get().some(group => {
return fieldIds.includes(group.getAttribute('label-field-id'));
})
})
rows.forEach((row, index) => {
$(row).css("height", 'auto')
})
fieldIds.forEach(fieldId => {
form.findHtmlDocument(`div[label-field-id = ${fieldId}]`).find('div.input-group-addon').css('vertical-align', 'baseline')
})
$(document).resize()
}
selfPage.renderFormGridHeight = renderFormGridHeight
渲染表单栅格显示
function renderFormGridVisable (form, ...fieldIds) {
let rows = form.findHtmlDocument('.row').get()
if (fieldIds.length) {
rows = rows.filter (row => {
return $(row).find('.form-group').get().some(group => {
return fieldIds.includes(group.getAttribute('label-field-id'));
})
})
}
rows.forEach((row, index) => {
let hide = true
$(row).find('.form-group').each((index, group) => {
if ($(group).css("display") === "none") {
$(group).parent().hide()
} else {
$(group).parent().show()
hide = false
}
})
if (hide) {
$(row).hide()
} else {
$(row).show()
}
})
$(document).resize()
}
selfPage.renderFormGridVisable = renderFormGridVisable
渲染表单按钮页眉
function renderFormButtonHeader (self, form) {
let contain = $('.zwjr_btnall')
if (form) {
let {pageId, ctrlId} = form
contain = $(`#${pageId}-${ctrlId}`).parent().parent().find('.zwjr_btnall')
} else if (self) {
let {pageId} = self
contain = $(`#${pageId} .zwjr_btnall`)
} else {
console.warn('全局匹配!')
}
contain.get().forEach(element => {
let buttons = $(element).find('button');
let hide = true
buttons.each((index, button) => {
if ($(button).css("display") !== "none") {
hide = false
}
})
if (hide) {
contain.hide()
} else {
contain.show()
}
})
}