| | |
| | | import React from 'react' |
| | | import MkIcon from '@/components/mk-icon' |
| | | |
| | | /** |
| | | * @description Wrap表单配置信息 |
| | | */ |
| | | export default function (wrap) { |
| | | let menulist = sessionStorage.getItem('appMenus') |
| | | let searchable = true |
| | | window.GLOB.customMenu.components.forEach(item => { |
| | | if (item.type === 'search') { |
| | | searchable = false |
| | | } |
| | | }) |
| | | |
| | | if (menulist) { |
| | | try { |
| | |
| | | menulist = [] |
| | | } |
| | | |
| | | let funs = [] |
| | | |
| | | if (wrap.back === 'true') { |
| | | funs.push('back') |
| | | } |
| | | if (wrap.logout === 'true') { |
| | | funs.push('logout') |
| | | } |
| | | if (wrap.scan === 'true') { |
| | | funs.push('scan') |
| | | } |
| | | if (wrap.refresh === 'true') { |
| | | funs.push('refresh') |
| | | } |
| | | |
| | | const topbarWrapForm = [ |
| | | { |
| | | type: 'radio', |
| | |
| | | required: false, |
| | | options: [ |
| | | {value: 'navbar', label: '导航栏'}, |
| | | {value: 'search', label: '搜索框'}, |
| | | {value: 'searchIcon', label: '搜索标'}, |
| | | {value: 'search', label: '搜索框', disabled: !searchable}, |
| | | {value: 'searchIcon', label: '搜索标', disabled: !searchable}, |
| | | ], |
| | | }, |
| | | { |
| | |
| | | }, |
| | | { |
| | | type: 'radio', |
| | | field: 'back', |
| | | label: '返回', |
| | | initval: wrap.back || 'true', |
| | | field: 'menuPosition', |
| | | label: '菜单位置', |
| | | initval: wrap.menuPosition || 'right', |
| | | tooltip: '自定义菜单的位置。', |
| | | required: false, |
| | | options: [ |
| | | {value: 'true', label: '显示'}, |
| | | {value: 'false', label: '隐藏'}, |
| | | {value: 'left', label: '左侧'}, |
| | | {value: 'right', label: '右侧'}, |
| | | ], |
| | | controlFields: [ |
| | | {field: 'reload', values: ['true']}, |
| | | {field: 'back', values: ['right']}, |
| | | ] |
| | | }, |
| | | { |
| | | type: 'radio', |
| | | field: 'mode', |
| | | label: '弹框背景', |
| | | initval: wrap.mode || 'dark', |
| | | required: false, |
| | | options: [ |
| | | {value: 'light', label: '白色'}, |
| | | {value: 'dark', label: '黑色'}, |
| | | ] |
| | | }, |
| | | { |
| | | type: 'checkbox', |
| | | field: 'funs', |
| | | label: '扩展功能', |
| | | tooltip: '1、返回上一页;2、绑定公众号后可分享当前页面;3、二维码以“login”开头时为扫码登录,二维码以“http”开头为页面跳转,二维码以“mkbid”开头为菜单跳转,且设置有关联菜单;4、当前页面刷新;5、退出系统,返回第一个页面。', |
| | | initval: funs, |
| | | required: false, |
| | | options: [ |
| | | {value: 'back', label: '返回'}, |
| | | {value: 'scan', label: '扫一扫'}, |
| | | {value: 'refresh', label: '刷新'}, |
| | | {value: 'logout', label: '退出'}, |
| | | ], |
| | | controlFields: [ |
| | | {field: 'reload', values: ['back']}, |
| | | {field: 'linkmenu', values: ['scan']}, |
| | | ], |
| | | span: 24 |
| | | }, |
| | | // { |
| | | // type: 'radio', |
| | | // field: 'search', |
| | | // label: '搜索', |
| | | // initval: wrap.search || 'false', |
| | | // field: 'back', |
| | | // label: '返回', |
| | | // initval: wrap.back || 'true', |
| | | // required: false, |
| | | // options: [ |
| | | // {value: 'true', label: '显示'}, |
| | | // {value: 'false', label: '隐藏'}, |
| | | // ], |
| | | // controlFields: [ |
| | | // {field: 'reload', values: ['true']}, |
| | | // ] |
| | | // }, |
| | | // { |
| | | // type: 'radio', |
| | | // field: 'logout', |
| | | // label: '退出', |
| | | // initval: wrap.logout || 'false', |
| | | // tooltip: '点击退出时,返回第一个页面。', |
| | | // required: false, |
| | | // options: [ |
| | | // {value: 'true', label: '显示'}, |
| | | // {value: 'false', label: '隐藏'}, |
| | | // ] |
| | | // }, |
| | | { |
| | | type: 'radio', |
| | | field: 'logout', |
| | | label: '退出', |
| | | initval: wrap.logout || 'false', |
| | | tooltip: '点击退出时,返回第一个页面。', |
| | | required: false, |
| | | options: [ |
| | | {value: 'true', label: '显示'}, |
| | | {value: 'false', label: '隐藏'}, |
| | | ] |
| | | }, |
| | | { |
| | | type: 'radio', |
| | | field: 'scan', |
| | | label: '扫一扫', |
| | | initval: wrap.scan || 'false', |
| | | tooltip: '系统功能:1、扫码登录,二维码以“login”开头,2、页面跳转,二维码以“http”开头,3、菜单跳转,二维码以“mkbid”开头,且设置关联菜单', |
| | | required: false, |
| | | options: [ |
| | | {value: 'true', label: '显示'}, |
| | | {value: 'false', label: '隐藏'}, |
| | | ], |
| | | controlFields: [ |
| | | {field: 'linkmenu', values: ['true']}, |
| | | ] |
| | | }, |
| | | { |
| | | type: 'radio', |
| | | field: 'refresh', |
| | | label: '刷新', |
| | | initval: wrap.refresh || 'false', |
| | | required: false, |
| | | options: [ |
| | | {value: 'true', label: '显示'}, |
| | | {value: 'false', label: '隐藏'}, |
| | | ] |
| | | }, |
| | | { |
| | | type: 'select', |
| | | field: 'linkmenu', |
| | | label: '关联菜单', |
| | | initval: wrap.linkmenu || '', |
| | | tooltip: '使用扫码登录功能或菜单跳转功能时,需选择跳转的菜单。', |
| | | required: false, |
| | | options: menulist |
| | | }, |
| | | // { |
| | | // type: 'radio', |
| | | // field: 'scan', |
| | | // label: '扫一扫', |
| | | // initval: wrap.scan || 'false', |
| | | // tooltip: '系统功能:1、扫码登录,二维码以“login”开头,2、页面跳转,二维码以“http”开头,3、菜单跳转,二维码以“mkbid”开头,且设置关联菜单', |
| | | // required: false, |
| | | // options: [ |
| | | // {value: 'true', label: '显示'}, |
| | | // {value: 'false', label: '隐藏'}, |
| | | // ], |
| | | // controlFields: [ |
| | | // {field: 'linkmenu', values: ['true']}, |
| | | // ] |
| | | // }, |
| | | // { |
| | | // type: 'radio', |
| | | // field: 'refresh', |
| | | // label: '刷新', |
| | | // initval: wrap.refresh || 'false', |
| | | // required: false, |
| | | // options: [ |
| | | // {value: 'true', label: '显示'}, |
| | | // {value: 'false', label: '隐藏'}, |
| | | // ] |
| | | // }, |
| | | { |
| | | type: 'radio', |
| | | field: 'reload', |
| | |
| | | label: '刷新' |
| | | }] |
| | | }, |
| | | { |
| | | type: 'select', |
| | | field: 'linkmenu', |
| | | label: '关联菜单', |
| | | initval: wrap.linkmenu || '', |
| | | tooltip: '使用扫码登录功能或菜单跳转功能时,需选择跳转的菜单。', |
| | | required: false, |
| | | options: menulist |
| | | }, |
| | | { |
| | | type: 'table', |
| | | field: 'menus', |
| | | label: '自定义菜单', |
| | | initval: wrap.menus || [], |
| | | required: false, |
| | | span: 24, |
| | | actions: ['view'], |
| | | columns: [ |
| | | { |
| | | title: '图标', |
| | | dataIndex: 'icon', |
| | | inputType: 'icon', |
| | | editable: true, |
| | | required: true, |
| | | render: (text, record) => <MkIcon type={text}/>, |
| | | width: '23%' |
| | | }, |
| | | { |
| | | title: '自定义名称', |
| | | dataIndex: 'name', |
| | | inputType: 'text', |
| | | editable: true, |
| | | required: false, |
| | | width: '23%' |
| | | }, |
| | | { |
| | | title: '菜单', |
| | | dataIndex: 'menu', |
| | | inputType: 'select', |
| | | editable: true, |
| | | required: true, |
| | | extends: [{key: 'label', value: 'label'}], |
| | | width: '23%', |
| | | render: (text, record) => record.label, |
| | | options: menulist |
| | | } |
| | | ] |
| | | } |
| | | ] |
| | | |
| | | return topbarWrapForm |