import { ITEM_TYPE } from '@/components/BaseForm'; export const webMode = { single: 'single', integration: 'integration', }; const typeContent = hasIntegerate => { if (hasIntegerate) { return []; } return [ { value: webMode.integration, children: '集成网站', }, ]; }; export const integrateStyleData = { platform: '工作台', webgis: 'WEBGIS', ios: 'IOS', catalog: 'Catalog', virtualcity: 'VirtualCity', }; export const singleStyleData = { platform: '工作台', webgis: 'WEBGIS', }; export const menuStyle = { 'banner-left': '经典', // banner: '标题栏', // 'banner-big': '标题栏-大', // table: '左侧', // dock: '底部', // 'banner-left-noShrink': '标题栏-左-不收', }; export const MDILabel = { MDI: '多标签模式', SDI: '单标签模式', }; export const notificationTypes = { // notify: '轮询通知', MQTT: 'MQTT消息', }; const isIntegerate = (mode, hasIntegerate) => { if (typeof mode !== 'undefined') { return mode === 'single'; } return hasIntegerate; }; export const defaultWebConfigObj = { title: '', subtitle: '', mode: webMode.single, shortcutIcon: '', logo: '', client: '', bannerLogo: '', homePage: '', menu: 'banner-left', mdi: 'MDI', theme: '', style: '', hideMap: false, waterMark: true, mapPlan: '', qrcode: '', loginTemplate: 'Default.html', }; export const getDefaultGetWebconfig = ({ initialValues = {}, hasIntegerate, webThemes, onGetThemes, loginPages, onGetLoginPages, mapConfigs, onGetMapConfig, products, onGetProduct, isEdit, }) => { const config = { title: { label: '标题', formType: ITEM_TYPE.INPUT, allowClear: true, placeholder: '请输入标题', rules: [ { required: true, message: '标题为必填项', }, ], }, subtitle: { label: '副标题', formType: ITEM_TYPE.INPUT, allowClear: true, }, mode: { label: '网站类型', formType: ITEM_TYPE.SINGLE_RADIO, initialValue: webMode.single, disabled: isEdit, options: [ { value: webMode.single, children: '一般网站', }, ], // .concat(typeContent(hasIntegerate)), }, shortcutIcon: { label: '系统icon', formType: ITEM_TYPE.IMGSHOP, picType: 'icon', rules: [ { required: true, message: '请选择图标icon', }, ], }, logo: { label: '登录logo', formType: ITEM_TYPE.IMGSHOP, picType: 'logo', rules: [ { required: true, message: '请选择登录logo', }, ], }, bannerLogo: { label: '标题logo', formType: ITEM_TYPE.IMGSHOP, picType: 'logo', rules: [ { required: true, message: '请选择标题logo', }, ], }, client: { label: '虚拟目录', formType: ITEM_TYPE.INPUT, disabled: isEdit, allowClear: true, size: 'small', rules: [ { required: true, message: '虚拟目录不能为空', }, ], }, homePage: { label: '主页', formType: ITEM_TYPE.INPUT, allowClear: true, }, loginTemplate: { label: '登录模板', formType: ITEM_TYPE.SELECT, placeholder: '请选择登录模板', options: loginPages.map(t => ({ value: t.value, children: t.text, key: t.value, })), onDropdownVisibleChange: onGetLoginPages, showSearch: true, filterOption: (input, option) => option.children.toLowerCase().indexOf(input.toLowerCase()) >= 0, rules: [ { required: true, message: '登录模板必填', }, ], }, // product: { // label: '产品类型', // formType: ITEM_TYPE.SELECT, // placeholder: '请选择产品类型', // options: products.map(t => ({ // value: t.ProductName, // children: t.ProductAlias, // key: t.Id, // })), // onDropdownVisibleChange: onGetProduct, // showSearch: false, // filterOption: (input, option) => // option.children.toLowerCase().indexOf(input.toLowerCase()) >= 0, // rules: [ // { // required: false, // message: '产品类型必填', // }, // ], // }, // theme: { // label: '系统皮肤', // formType: ITEM_TYPE.SELECT, // initialValue: '', // showSearch: true, // filterOption: (input, option) => // option.children.toLowerCase().indexOf(input.toLowerCase()) >= 0, // options: // webThemes.map(t => ({ // value: t.value, // children: t.text, // key: t.value, // })) || [], // onDropdownVisibleChange: onGetThemes, // }, // style: { // label: '系统风格', // formType: ITEM_TYPE.SELECT, // initialValue: '', // options: Object.keys( // isIntegerate(initialValues.mode, hasIntegerate) // ? integrateStyleData // : singleStyleData, // ).map(k => ({ // value: k, // key: k, // children: integrateStyleData[k] || singleStyleData[k], // })), // }, menu: { label: '菜单类型', formType: ITEM_TYPE.SINGLE_RADIO, options: Object.keys(menuStyle).map(k => ({ value: k, key: k, children: menuStyle[k], })), }, // mdi: { // label: '功能标签', // formType: ITEM_TYPE.SINGLE_RADIO, // options: Object.keys(MDILabel).map(k => ({ // value: k, // key: k, // children: MDILabel[k], // })), // }, qrcode: { label: '二维码地址', formType: ITEM_TYPE.INPUT, allowClear: true, }, alarmWays: { label: '通知方式', formType: ITEM_TYPE.CHECK_BOX, options: Object.keys(notificationTypes).map(k => ({ value: k, key: k, children: notificationTypes[k], })), }, // mapPlan: { // label: '地图方案', // formType: ITEM_TYPE.SELECT, // options: mapConfigs.map(m => ({ // value: m.value, // children: m.text, // key: m.value, // })), // onDropdownVisibleChange: onGetMapConfig, // }, // hideMap: { // label: '按需加载地图', // formType: ITEM_TYPE.SINGLE_RADIO, // optionType: 'button', // options: [ // { // value: true, // key: '1', // children: '是', // }, // { // value: false, // key: '2', // children: '否', // }, // ], // }, // waterMark: { // label: '地图水印', // formType: ITEM_TYPE.SINGLE_RADIO, // options: [ // { // value: true, // key: '1', // children: '显示', // }, // { // value: false, // key: '2', // children: '不显示', // }, // ], // }, }; if (initialValues) { Object.keys(config).forEach(k => { config[k].initialValue = typeof initialValues[k] !== 'undefined' ? initialValues[k] : ''; // if (k === 'alarmWays') { // config[k].initialValue = config[k].initialValue.split(','); // } // if (k === 'mode' && initialValues.mode) { // config[k].options = [ // { // value: webMode.single, // children: '一般网站', // }, // // { // // value: webMode.integration, // // children: '集成网站', // // }, // ]; // config[k].initialValue = webMode.single; // initialValues.mode; // } }); } return config; };