import { WeaLocaleProvider, } from 'ecCom'; import { Button, Modal, message } from 'antd'; import { IEVersion } from '../util/pulic-func.js'; const getLabel = WeaLocaleProvider.getLabel; const confirm = Modal.confirm; export default class Base { get TOP_HRM() { return { showDropIcon: true, iconBgcolor: '#217346', icon: , } } convertDatasToTopRightConf = (datas) => { let tConf, rConf; tConf = datas && datas.filter(data => { const { isTop, isBatch } = data; if (isTop === '1') { return true; } if (isBatch === '1') { return true; } }) rConf = datas; return { tConf, rConf } } get SEARCH_BUTTONS() { return [getLabel(82529, '搜索'), getLabel(27088, '重置'), getLabel(32694, '取消')]; } get SEARCH() { return{ advanceHeight: 130, hasMask: false, keyParam: 'key', searchType: ['base', 'advanced'], onChange: key => this.setSelectedKey && this.setSelectedKey(key), setShowSearchAd: bool => this.setShowSearchAd && this.setShowSearchAd(bool), onSearch: () => this.onSearch && this.onSearch(), onSearchChange: val => this.onSearchChange && this.onSearchChange(val), buttonsAd: this.SEARCH_BUTTONS.map((name, index) => { const type = (index === 0) && "primary"; let callback; if (index === 0) { callback = () => this.onSearch && this.onSearch(); } else if (index === 1) { callback = () => this.tab && this.tab.form && this.tab.form.reset(); } else { callback = () => this.setShowSearchAd && this.setShowSearchAd(false) } return }) } } get TREE_ORG() { return { needSearch: true, noCache: true, isLoadAllSub: true, inputLeftDom: `${getLabel(25332, '组织结构')}`, treeNodeClick: (event, ids, nodeids, nodes) => this.handleOrgTreeNodeClick && this.handleOrgTreeNodeClick(event, ids, nodeids, nodes) } } get TABLE() { return { hasOrder: true, needScroll: true, getColumns: columns => this.reRenderColumns && this.reRenderColumns(columns), onOperatesClick: (record, rowIndex, operate) => this.onOperatesClick && this.onOperatesClick(record, rowIndex, operate) } } get DIALOG_HRM() { return { hasScroll: true, icon: 'icon-coms-hrm', iconBgcolor: '#217346', onCancel: () => this.closeDialog && this.closeDialog(), style: { width: 700, height: 350 }, moreBtn: { datas: [] }, } }; get MONTHYEAR() { return { datas: [{ key: '0', title: getLabel(26577, "年") }, { key: '1', title: getLabel(6076, '月') }], onMonthYearClick: key => this.handleMonthYearClick && this.handleMonthYearClick(key), onDatePickerChange: date => this.handleDatePickerChange && this.handleDatePickerChange(date), resetMonthYear: () => this.resetMonthYear && this.resetMonthYear(), } } /** * @DateTime 2019-05-17 * @param {Date} date 日期 * @param {Boolen} onlyYear 是否只需要年份 * @return {String} 2019、2019-05 */ formatDate = (date, onlyYear) => { let pureDate; if (!date._d) { pureDate = date; } else { pureDate = date._d; } const year = pureDate.getFullYear(); const month = pureDate.getMonth() + 1; if (onlyYear) { return year } else { return `${year}-${ (month < 10) ? `0${month}`: month}` } } /** * @DateTime 2019-05-17 * 概述:获取表单中所有需要校验的domkey。 * @param {Array} conditions 表单的配置数据 * @return {Array} 需要校验的domkey */ getAllNeedValidateFieldKey = (conditions) => { const allNeedValidateKeys = []; conditions && conditions.forEach(c => { c.items.forEach(item => { const { viewAttr, domkey } = item; if (viewAttr === 3) { allNeedValidateKeys.push(domkey[0]) } }); }); return allNeedValidateKeys; } /** * @DateTime 2019-05-17 * 概述:获取当前不需要校验的表单元素对应的key值集合,该函数配合getAllNeedValidateFieldKey一起使用。 * @param {Array} allNeedValidateKeys 所有需要校验 * @param {Array} needValidateKeys 当前需要校验 * @return {Array} 当前不需要校验 */ getNoNeedValidateKeys = (allNeedValidateKeys, needValidateKeys = []) => { const noNeedValidateKeys = allKeys.filter(key => !needValidateKeys.includes(key)); return noNeedValidateKeys; } /** * @DateTime 2019-05-18 * @param {String} msg 提示信息 * @param {Function} callback 回调函数 */ showConfirm = (msg, callback) => { confirm({ title: getLabel('131329', '信息确认'), content: msg, okText: getLabel('33703', '确定'), cancelText: getLabel('32694', '取消'), onOk() { callback && callback(); }, onCancel() { return false; }, }); } /** * @DateTime 2019-05-21 * 概述:显示接口返回的错误信息 * @param {String、Array} msgs 错误信息 */ showErrorInfo = (msgs) => { if (typeof msgs === 'string') { message.warning(
); } else { message.warning(