| | |
| | | import PropTypes from 'prop-types' |
| | | import { is, fromJS } from 'immutable' |
| | | import { Modal, notification, Button } from 'antd' |
| | | import moment from 'moment' |
| | | |
| | | import Utils, { FuncUtils } from '@/utils/utils.js' |
| | | import { getActionForm, getBaseTableActionForm } from './formconfig' |
| | |
| | | } |
| | | |
| | | componentDidMount () { |
| | | MKEmitter.addListener('revert', this.revert) |
| | | MKEmitter.addListener('revertBtn', this.revertBtn) |
| | | MKEmitter.addListener('addButton', this.addButton) |
| | | MKEmitter.addListener('submitModal', this.handleSave) |
| | | } |
| | |
| | | this.setState = () => { |
| | | return |
| | | } |
| | | MKEmitter.removeListener('revert', this.revert) |
| | | MKEmitter.removeListener('revertBtn', this.revertBtn) |
| | | MKEmitter.removeListener('addButton', this.addButton) |
| | | MKEmitter.removeListener('submitModal', this.handleSave) |
| | | } |
| | | |
| | | revert = (id) => { |
| | | revertBtn = (id) => { |
| | | if (id && id !== this.props.config.uuid) return |
| | | |
| | | this.setState({ |
| | |
| | | */ |
| | | handleSubmit = () => { |
| | | const { config } = this.props |
| | | let color = { primary: '#1890ff', yellow: '#c49f47', orange: 'orange', danger: '#ff4d4f', green: '#26C281', dgreen: '#32c5d2', purple: '#8E44AD', cyan: '#13c2c2', gray: '#666666', default: 'rgba(0, 0, 0, 0.65)' } |
| | | let color = { primary: '#1890ff', yellow: '#c49f47', orange: 'orange', danger: '#ff4d4f', green: '#26C281', dgreen: '#32c5d2', purple: '#8E44AD', cyan: '#13c2c2', gray: '#E7E7EF', default: 'rgba(0, 0, 0, 0.65)' } |
| | | let _actionlist = fromJS(this.state.actionlist).toJS() |
| | | |
| | | this.actionFormRef.handleConfirm().then(btn => { |
| | | _actionlist = _actionlist.filter(item => !item.origin || item.uuid === btn.uuid) |
| | | |
| | | if ((btn.OpenType === 'excelIn' || btn.OpenType === 'excelOut') && (!btn.verify || !btn.verify.columns) && (config.subtype === 'basetable' || config.subtype === 'normaltable')) { |
| | | let columns = [] |
| | | let maps = [] |
| | | let labels = {} |
| | | if (config.subtype === 'normaltable') { |
| | | config.columns.forEach(col => { |
| | | labels[col.field] = col.label |
| | | }) |
| | | } |
| | | |
| | | if (btn.OpenType === 'excelOut') { |
| | | let pushcol = (item) => { |
| | | let cell = { |
| | | Column: item.field, |
| | | Text: item.label, |
| | | Width: 20, |
| | | abs: 'false', |
| | | output: 'true', |
| | | required: 'false', |
| | | type: 'text', |
| | | uuid: Utils.getuuid() |
| | | } |
| | | |
| | | if (item.type === 'number') { |
| | | cell.type = 'number' |
| | | cell.decimal = item.decimal |
| | | } |
| | | |
| | | columns.push(cell) |
| | | } |
| | | |
| | | config.cols.forEach(item => { |
| | | if (item.Hide === 'true') return |
| | | |
| | | if (config.subtype === 'normaltable') { |
| | | if (item.type === 'colspan') { |
| | | item.subcols.forEach(cell => { |
| | | if (!cell.field || cell.Hide === 'true' || maps.includes(cell.field)) return |
| | | maps.push(cell.field) |
| | | |
| | | pushcol(cell) |
| | | }) |
| | | } else if (item.type === 'custom') { |
| | | item.elements.forEach(cell => { |
| | | if (!cell.field || maps.includes(cell.field)) return |
| | | maps.push(cell.field) |
| | | |
| | | pushcol({...cell, label: labels[cell.field]}) |
| | | }) |
| | | } |
| | | } |
| | | |
| | | if (!item.field || maps.includes(item.field)) return |
| | | maps.push(item.field) |
| | | |
| | | pushcol(item) |
| | | }) |
| | | |
| | | btn.verify = btn.verify || {enable: 'false', dataType: 'default', scripts: []} |
| | | btn.verify.columns = columns |
| | | } else { |
| | | let pushcol = (item) => { |
| | | let _type = 'Nvarchar(50)' |
| | | let _limit = '50' |
| | | if (item.type === 'number' && !item.decimal) { |
| | | _type = 'Int' |
| | | _limit = '' |
| | | } else if (item.type === 'number') { |
| | | _type = 'Decimal(18,' + item.decimal + ')' |
| | | _limit = item.decimal |
| | | } |
| | | |
| | | let _cell = { |
| | | uuid: Utils.getuuid(), |
| | | Column: item.field, |
| | | Text: item.label, |
| | | type: _type, |
| | | limit: _limit, |
| | | import: 'true', |
| | | required: 'true' |
| | | } |
| | | |
| | | if (_type !== 'Nvarchar(50)') { |
| | | _cell.min = 0 |
| | | _cell.max = 999999 |
| | | } |
| | | |
| | | columns.push(_cell) |
| | | } |
| | | |
| | | config.cols.forEach(item => { |
| | | if (item.Hide === 'true') return |
| | | |
| | | if (config.subtype === 'normaltable') { |
| | | if (item.type === 'colspan') { |
| | | item.subcols.forEach(cell => { |
| | | if (!cell.field || cell.Hide === 'true' || maps.includes(cell.field)) return |
| | | maps.push(cell.field) |
| | | |
| | | pushcol(cell) |
| | | }) |
| | | } else if (item.type === 'custom') { |
| | | item.elements.forEach(cell => { |
| | | if (!cell.field || maps.includes(cell.field)) return |
| | | maps.push(cell.field) |
| | | |
| | | pushcol({...cell, label: labels[cell.field]}) |
| | | }) |
| | | } |
| | | } |
| | | |
| | | if (!item.field || maps.includes(item.field)) return |
| | | maps.push(item.field) |
| | | |
| | | pushcol(item) |
| | | }) |
| | | |
| | | btn.verify = btn.verify || {sheet: 'Sheet1', default: 'true', range: 1, scripts: [], uniques: []} |
| | | btn.verify.columns = columns |
| | | } |
| | | } |
| | | |
| | | let labelrepet = false |
| | | _actionlist = _actionlist.map(item => { |
| | |
| | | btn.style = {color: 'rgba(0, 0, 0, 0.65)', backgroundColor: '#fff', borderColor: '#d9d9d9', marginRight: '15px'} |
| | | } else if (btn.class.indexOf('border') > -1) { |
| | | btn.style = {color: color[_c], backgroundColor: '#fff', borderColor: color[_c], marginRight: '15px'} |
| | | } else if (btn.class === 'gray') { |
| | | btn.style = {color: 'rgba(0, 0, 0, 0.65)', backgroundColor: color[_c], borderColor: color[_c], marginRight: '15px'} |
| | | } else { |
| | | btn.style = {color: '#fff', backgroundColor: color[_c], borderColor: color[_c], marginRight: '15px'} |
| | | } |
| | | } else { |
| | | btn.style = item.style || {} |
| | | if (btn.class !== item.class || btn.show !== item.show || !btn.style.color || item.focus) { |
| | | if (btn.class) { |
| | | if (btn.class !== item.class || btn.show !== item.show || !btn.style.color || (item.focus && !btn.style.color)) { |
| | | if (btn.show === 'icon') { |
| | | btn.style.color = color[btn.class] |
| | | btn.style.backgroundColor = 'transparent' |
| | | } else if (btn.class === 'default') { |
| | | btn.style.color = 'rgba(0, 0, 0, 0.65)' |
| | | btn.style.backgroundColor = '#fff' |
| | | btn.style.borderColor = '#d9d9d9' |
| | | } else if (btn.class.indexOf('border') > -1) { |
| | | let _c = btn.class.replace('border-', '') |
| | | btn.style.color = color[_c] |
| | | btn.style.backgroundColor = '#fff' |
| | | btn.style.borderColor = color[_c] |
| | | } else if (btn.class === 'gray') { |
| | | btn.style.color = 'rgba(0, 0, 0, 0.65)' |
| | | btn.style.backgroundColor = color[btn.class] |
| | | btn.style.borderColor = color[btn.class] |
| | | } else { |
| | | btn.style.color = '#ffffff' |
| | | btn.style.backgroundColor = color[btn.class] |
| | | btn.style.borderColor = color[btn.class] |
| | | } |
| | | } |
| | | } else if (btn.color) { |
| | | btn.style = {} |
| | | } |
| | | } |
| | | |
| | | btn.updateTime = moment().format('YYYY-MM-DD HH:mm') |
| | | return btn |
| | | } else { |
| | | return item |
| | |
| | | _actionlist = _actionlist.map(item => { |
| | | if (item.uuid === card.uuid) { |
| | | item.verify = res |
| | | item.updateTime = moment().format('YYYY-MM-DD HH:mm') |
| | | } |
| | | |
| | | return item |
| | |
| | | let _col = null |
| | | if (config.type === 'table') { |
| | | config.cols.forEach(col => { |
| | | if (col.type !== 'action') return |
| | | if (col.type !== 'custom') return |
| | | |
| | | col.elements = col.elements.filter(item => { |
| | | if (item.uuid === id) { |
| | |
| | | return item.uuid !== id |
| | | }) |
| | | }) |
| | | } else if (config.type === 'card' && config.subcards) { |
| | | config.subcards.forEach(scard => { |
| | | scard.elements = scard.elements.filter(item => { |
| | | if (item.uuid === id) { |
| | | btn = item |
| | | _col = scard |
| | | } |
| | | return item.uuid !== id |
| | | }) |
| | | scard.backElements = scard.backElements.filter(item => { |
| | | if (item.uuid === id) { |
| | | btn = item |
| | | _col = scard |
| | | } |
| | | return item.uuid !== id |
| | | }) |
| | | return scard |
| | | }) |
| | | } |
| | | |
| | | if (!btn) return |