| | |
| | | import MenuUtils from '@/utils/utils-custom.js' |
| | | |
| | | /** |
| | | * @description Wrap表单配置信息 |
| | | */ |
| | | export function getTabForm(tab, setting) { |
| | | let appType = sessionStorage.getItem('appType') |
| | | export function getTabForm(tab) { |
| | | let roleList = sessionStorage.getItem('sysRoles') |
| | | |
| | | if (roleList) { |
| | |
| | | initval: tab.label || '', |
| | | required: true, |
| | | focus: true, |
| | | span: 22 |
| | | }, |
| | | { |
| | | type: 'mkicon', |
| | |
| | | initval: tab.icon || '', |
| | | required: false, |
| | | allowClear: true, |
| | | span: 22 |
| | | }, |
| | | // { |
| | | // type: 'text', |
| | | // field: 'controlVal', |
| | | // label: '隐藏标记', |
| | | // initval: tab.controlVal || '', |
| | | // tooltip: '当禁用字段值与隐藏标记相等时,标签页会隐藏。注:多个值请用逗号分隔。', |
| | | // required: false |
| | | // }, |
| | | // { |
| | | // type: 'text', |
| | | // field: 'selectVal', |
| | | // label: '选中标记', |
| | | // initval: tab.selectVal || '', |
| | | // tooltip: '当选中字段值与选中标记相等时,标签页默认选中。', |
| | | // required: false |
| | | // }, |
| | | { |
| | | type: 'color', |
| | | field: 'backgroundColor', |
| | | label: '背景(内容区)', |
| | | initval: tab.backgroundColor || 'transparent', |
| | | required: false, |
| | | }, |
| | | { |
| | | type: 'radio', |
| | | field: 'hasSearch', |
| | | label: '搜索', |
| | | initval: tab.hasSearch || 'false', |
| | | field: 'hide', |
| | | label: '隐藏', |
| | | initval: tab.hide || 'false', |
| | | required: false, |
| | | options: [ |
| | | {value: 'false', label: '无'}, |
| | | {value: 'icon', label: '有'}, |
| | | {value: 'false', label: '否'}, |
| | | {value: 'true', label: '是'}, |
| | | ], |
| | | forbid: appType !== 'mob' || setting.position !== 'top' || setting.display !== 'inline-block', |
| | | span: 22 |
| | | }, |
| | | { |
| | | type: 'multiselect', |
| | | field: 'blacklist', |
| | | label: '黑名单', |
| | | initval: tab.blacklist || [], |
| | | required: false, |
| | | options: roleList, |
| | | forbid: !!appType, |
| | | span: 22 |
| | | }, |
| | | } |
| | | ] |
| | | |
| | | return tabForm |
| | |
| | | /** |
| | | * @description tabs表单配置信息 |
| | | */ |
| | | export function getTabsSetForm(setting) { |
| | | export function getTabsSetForm(setting, uuid, subtabs) { |
| | | let modules = MenuUtils.getSupModules(window.GLOB.customMenu.components, uuid, window.GLOB.customMenu.interfaces) |
| | | modules.push({ |
| | | value: 'preview', |
| | | label: '上一页(url参数)' |
| | | }) |
| | | |
| | | let controlVals = subtabs.map(item => ({uuid: item.uuid, label: item.label, value: item.controlVal || ''})) |
| | | let selectVals = subtabs.map(item => ({uuid: item.uuid, label: item.label, value: item.selectVal || ''})) |
| | | |
| | | const tabForm = [ |
| | | { |
| | | type: 'text', |
| | |
| | | required: true |
| | | }, |
| | | { |
| | | type: 'select', |
| | | field: 'position', |
| | | label: '标签位置', |
| | | initval: setting.position || 'top', |
| | | required: true, |
| | | options: [ |
| | | {value: 'top', label: 'top'}, |
| | | {value: 'bottom', label: 'bottom'}, |
| | | {value: 'left', label: 'left'}, |
| | | {value: 'right', label: 'right'}, |
| | | ], |
| | | controlFields: [ |
| | | {field: 'display', values: ['top', 'bottom']}, |
| | | ] |
| | | }, |
| | | { |
| | | type: 'radio', |
| | | field: 'display', |
| | | label: '标签显示', |
| | |
| | | {value: 'flex', label: '弹性布局'}, |
| | | {value: 'inline-block', label: '定宽'}, |
| | | ], |
| | | }, |
| | | { |
| | | type: 'cascader', |
| | | field: 'supModule', |
| | | label: '上级组件', |
| | | initval: setting.supModule || [], |
| | | tooltip: '标签组可以选择上级组件,填入禁用字段,用于控制标签隐藏。', |
| | | help: '用于控制标签页隐藏。', |
| | | required: false, |
| | | allowClear: true, |
| | | options: modules, |
| | | controlFields: [ |
| | | {field: 'controlField', notNull: true}, |
| | | {field: 'controlVals', notNull: true}, |
| | | {field: 'swiper', values: ['']}, |
| | | ], |
| | | }, |
| | | { |
| | | type: 'text', |
| | | field: 'controlField', |
| | | label: '禁用字段', |
| | | initval: setting.controlField || '', |
| | | tooltip: '用于控制标签隐藏的字段,在标签中填入隐藏标记。', |
| | | required: true |
| | | }, |
| | | { |
| | | type: 'radio', |
| | | field: 'swiper', |
| | | label: '滑动切换', |
| | | initval: setting.swiper || 'false', |
| | | required: false, |
| | | options: [ |
| | | {value: 'false', label: '禁用'}, |
| | | {value: 'true', label: '启用'}, |
| | | ], |
| | | }, |
| | | { |
| | | type: 'text', |
| | | field: 'selectField', |
| | | label: '选中字段', |
| | | initval: setting.selectField || '', |
| | | tooltip: '用于控制标签页初始化选中,在标签中填入选中标记,注:数据源于url参数。', |
| | | required: false, |
| | | controlFields: [ |
| | | {field: 'selectVals', notNull: true}, |
| | | ] |
| | | }, |
| | | { |
| | | type: 'color', |
| | | field: 'backgroundColor', |
| | | label: '背景(标题栏)', |
| | | initval: setting.backgroundColor || 'transparent', |
| | | required: false |
| | | }, |
| | | { |
| | | type: 'radio', |
| | | field: 'permission', |
| | | label: '权限验证', |
| | | initval: setting.permission || 'false', |
| | | required: false, |
| | | options: [ |
| | | {value: 'true', label: '启用'}, |
| | | {value: 'false', label: '禁用'}, |
| | | ], |
| | | forbid: sessionStorage.getItem('editMenuType') === 'popview' |
| | | }, |
| | | { |
| | | type: 'table', |
| | | field: 'controlVals', |
| | | label: '标签组(禁用)', |
| | | initval: controlVals, |
| | | tooltip: '当禁用字段值与隐藏标记相等时,标签页会隐藏。注:1、多个值请用逗号分隔,2、@pass@值表示忽略此设置(始终显示),2、@pass_empty@值表示忽略空值,即未获取上级组件信息时显示(可与其他值拼接)。', |
| | | required: false, |
| | | actions: ['edit'], |
| | | span: 24, |
| | | columns: [ |
| | | { |
| | | title: '标签名称', |
| | | dataIndex: 'label', |
| | | editable: false, |
| | | required: false, |
| | | width: '30%' |
| | | }, |
| | | { |
| | | title: '隐藏标记', |
| | | dataIndex: 'value', |
| | | inputType: 'input', |
| | | editable: true, |
| | | required: false, |
| | | width: '50%' |
| | | } |
| | | ] |
| | | }, |
| | | { |
| | | type: 'table', |
| | | field: 'selectVals', |
| | | label: '标签组(选中)', |
| | | initval: selectVals, |
| | | tooltip: '当选中字段值与选中标记相等时,标签页默认选中。', |
| | | required: false, |
| | | actions: ['edit'], |
| | | span: 24, |
| | | columns: [ |
| | | { |
| | | title: '标签名称', |
| | | dataIndex: 'label', |
| | | editable: false, |
| | | required: false, |
| | | width: '30%' |
| | | }, |
| | | { |
| | | title: '选中标记', |
| | | dataIndex: 'value', |
| | | inputType: 'input', |
| | | editable: true, |
| | | required: false, |
| | | width: '50%' |
| | | } |
| | | ] |
| | | } |
| | | ] |
| | | |