| | |
| | | UNSAFE_componentWillMount () { |
| | | let _config = fromJS(this.props.config).toJS() |
| | | let setting = {..._config.setting, ..._config.wrap} |
| | | setting.tableId = Utils.getuuid() |
| | | |
| | | let BID = '' |
| | | let BData = '' |
| | | |
| | | setting.tableId = Utils.getuuid().substr(-6).toUpperCase() |
| | | |
| | | if (_config.setting.supModule) { |
| | | BData = window.GLOB.CacheData.get(_config.setting.supModule) |
| | |
| | | }) |
| | | |
| | | let _columns = [] |
| | | setting.initId = '' |
| | | let triMap = new Map() |
| | | let initId = '' |
| | | |
| | | setting.hasSubmit = false |
| | | if (setting.commit === 'change' || setting.commit === 'simple') { |
| | | setting.commit = 'change' |
| | | } |
| | | |
| | | let getColumns = (cols) => { |
| | | return cols.filter(item => { |
| | | if (item.Hide === 'true') return false |
| | | |
| | | item.tableId = setting.tableId |
| | | |
| | | if (setting.commit === 'blur') { |
| | | item.blur = true |
| | | } |
| | | |
| | | if (item.type === 'colspan') { |
| | | item.subcols = getColumns(item.subcols) |
| | |
| | | item.type = 'text' |
| | | } |
| | | |
| | | if (item.marks && item.marks.length === 0) { |
| | | item.marks = '' |
| | | } |
| | | |
| | | if (item.editable === 'true') { |
| | | setting.hasSubmit = true |
| | | if (!setting.initId) { |
| | | setting.initId = item.uuid |
| | | setting.hasSubmit = setting.commit !== 'change' |
| | | item.$ctrl = setting.commit === 'change' |
| | | |
| | | if (!initId) { |
| | | initId = item.uuid |
| | | } |
| | | if (item.type === 'text' && (item.editType === 'switch' || item.editType === 'select')) { |
| | | triMap.set(item.uuid, item.editType) |
| | | if (item.enter === '$sub') { |
| | | item.enter = '$noAct' |
| | | } else if (item.enter === '$next') { |
| | | item.enter = '$next_' + initId |
| | | } |
| | | if (item.type === 'text' && item.editType === 'select') { |
| | | |
| | | if (item.linkSubField && item.linkSubField.length === 0) { |
| | | item.linkSubField = null |
| | | } |
| | | |
| | | if (item.type === 'number') { |
| | | |
| | | } else if (item.editType === 'select') { |
| | | item.options = item.options || [] |
| | | item.options = item.options.filter(cell => { |
| | | cell.value = cell.Value |
| | |
| | | |
| | | return !cell.Hide |
| | | }) |
| | | } else if (item.editType === 'popSelect') { |
| | | if (item.pops) { |
| | | item.pops.forEach(cell => { |
| | | cell.linkSubField = item.linkSubField |
| | | this.resetPop(cell) |
| | | cell.tabName = cell.initval.replace(/^tab:/, '') |
| | | }) |
| | | } else { |
| | | this.resetPop(item) |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | |
| | | _columns = getColumns(_config.cols) |
| | | |
| | | if (triMap.size > 0) { |
| | | let setColumns = (cols) => { |
| | | return cols.map(item => { |
| | | if (item.type === 'colspan') { |
| | | item.subcols = setColumns(item.subcols) |
| | | } else if (item.editable === 'true' && triMap.has(item.enter)) { |
| | | item.triType = 'click' |
| | | } |
| | | |
| | | return item |
| | | }) |
| | | } |
| | | |
| | | _columns = setColumns(_columns) |
| | | |
| | | if (setting.initId && triMap.has(setting.initId)) { |
| | | setting.triType = 'click' |
| | | } |
| | | } |
| | | setting.initId = initId |
| | | |
| | | if (!_config.lineMarks || _config.lineMarks.length === 0) { |
| | | _config.lineMarks = null |
| | |
| | | }, _config.setting.delay || 0) |
| | | } |
| | | }) |
| | | } |
| | | |
| | | resetPop = (config) => { |
| | | let arrfield = config.columns.map(f => f.field) |
| | | |
| | | if (config.linkSubField && config.linkSubField.length > 0) { |
| | | config.linkSubField.forEach(n => { |
| | | if (!arrfield.includes(n)) { |
| | | arrfield.push(n) |
| | | } |
| | | }) |
| | | } |
| | | |
| | | if (sessionStorage.getItem('dataM') === 'true') { // 数据权限 |
| | | config.dataSource = config.dataSource.replace(/\$@/ig, '/*').replace(/@\$/ig, '*/').replace(/@datam@/ig, '\'Y\'') |
| | | } else { |
| | | config.dataSource = config.dataSource.replace(/@\$|\$@/ig, '').replace(/@datam@/ig, '\'\'') |
| | | } |
| | | |
| | | config.dataSource = config.dataSource.replace(/@LoginUID@/ig, `'${sessionStorage.getItem('LoginUID') || ''}'`) |
| | | config.dataSource = config.dataSource.replace(/@SessionUid@/ig, `'${localStorage.getItem('SessionUid') || ''}'`) |
| | | config.dataSource = config.dataSource.replace(/@UserID@/ig, `'${sessionStorage.getItem('UserID') || ''}'`) |
| | | config.dataSource = config.dataSource.replace(/@Appkey@/ig, `'${window.GLOB.appkey || ''}'`) |
| | | |
| | | if (/\s/.test(config.dataSource)) { // 拼接别名 |
| | | config.dataSource = '(' + config.dataSource + ') tb' |
| | | } |
| | | |
| | | let labels = {} |
| | | config.cols = [] |
| | | config.columns.forEach(col => { |
| | | labels[col.field] = col.label |
| | | |
| | | if (col.Hide === 'true') return |
| | | |
| | | config.cols.push({ |
| | | dataIndex: col.field, |
| | | title: col.label, |
| | | sorter: col.IsSort === 'true', |
| | | width: col.Width || 120 |
| | | }) |
| | | }) |
| | | |
| | | let placeholder = '' |
| | | if (!config.searchKey) { |
| | | config.onload = 'true' |
| | | } else { |
| | | placeholder = [] |
| | | config.searchKey.split(',').forEach(key => { |
| | | if (!labels[key]) { |
| | | placeholder = '' |
| | | } else if (placeholder) { |
| | | placeholder.push(labels[key]) |
| | | } |
| | | }) |
| | | |
| | | placeholder = placeholder ? placeholder.join('、') : '' |
| | | } |
| | | |
| | | config.placeholder = placeholder |
| | | config.arr_field = arrfield.join(',') |
| | | } |
| | | |
| | | /** |
| | |
| | | loading: false |
| | | }) |
| | | |
| | | MKEmitter.emit('transferData', config.uuid, data) |
| | | MKEmitter.emit('transferData' + setting.tableId, data) |
| | | |
| | | if (result.message) { |
| | | if (result.ErrCode === 'Y') { |
| | |
| | | /** |
| | | * @description 获取单行数据 |
| | | */ |
| | | async loadmainLinedata (id) { |
| | | async loadLinedata (id, position) { |
| | | const { setting, config, search, orderBy, BID, pageIndex, pageSize, BData } = this.state |
| | | |
| | | if (config.forbidLine) { |
| | |
| | | |
| | | let result = await Api.genericInterface(param) |
| | | if (result.status) { |
| | | if (position === 'line_grid' && (!result.data || !result.data[0])) { |
| | | this.loadmaindata(true, 'false') |
| | | return |
| | | } |
| | | |
| | | if (!result.data || !result.data[0]) { |
| | | let data = fromJS(this.state.data).toJS() |
| | | let selectedData = fromJS(this.state.selectedData).toJS() |
| | | |
| | | data = data.filter(item => item.$$uuid !== id) |
| | | selectedData = selectedData.filter(item => item.$$uuid !== id) |
| | | |
| | | MKEmitter.emit('transferData' + setting.tableId, id, 'delete') |
| | | |
| | | this.setState({ |
| | | data, |
| | | selectedData, |
| | | loading: false |
| | | }) |
| | | |
| | | return |
| | | } |
| | | |
| | |
| | | return item |
| | | }) |
| | | |
| | | MKEmitter.emit('transferData', config.uuid, _data, 'line') |
| | | MKEmitter.emit('transferData' + setting.tableId, _data, 'line') |
| | | MKEmitter.emit('resetSelectLine', config.uuid, _data.$$uuid, _data) |
| | | |
| | | this.setState({ |
| | |
| | | if (!id) { |
| | | this.reloadtable() |
| | | } else { |
| | | this.loadmainLinedata(id) |
| | | this.loadLinedata(id) |
| | | } |
| | | } |
| | | |
| | |
| | | BID: id, |
| | | BData: data |
| | | }, () => { |
| | | setTimeout(() => { |
| | | this.loadmaindata(true, 'true') |
| | | }, setting.delay || 0) |
| | | if (!setting.checkBid) { |
| | | setTimeout(() => { |
| | | this.loadmaindata(true, 'true') |
| | | }, setting.delay || 0) |
| | | } |
| | | }) |
| | | } |
| | | } |
| | |
| | | |
| | | if (config.uuid !== menuId) return |
| | | |
| | | if (position === 'line') { |
| | | if (position === 'line' || position === 'line_grid') { |
| | | if (lines && lines.length === 1) { |
| | | this.loadmainLinedata(lines[0].$$uuid) |
| | | this.loadLinedata(lines[0].$$uuid, position) |
| | | } else { |
| | | this.reloadtable(btn) |
| | | } |