| | |
| | | if (this.record.openmenu && this.record.openmenu !== 'goback') { |
| | | shows.push('open') |
| | | } |
| | | if (['grid', 'line', 'line_grid'].includes(this.record.execSuccess) || ['grid', 'line', 'line_grid'].includes(this.record.execError)) { |
| | | if (['grid'].includes(this.record.execSuccess) || ['grid'].includes(this.record.execError)) { |
| | | shows.push('resetPageIndex') |
| | | } |
| | | |
| | |
| | | if (this.record.execSuccess === 'goback') { |
| | | shows.push('reload') |
| | | } |
| | | if (['grid', 'line', 'line_grid'].includes(this.record.execSuccess) || ['grid', 'line', 'line_grid'].includes(this.record.execError)) { |
| | | if (['grid'].includes(this.record.execSuccess) || ['grid'].includes(this.record.execError)) { |
| | | shows.push('resetPageIndex') |
| | | } |
| | | |
| | |
| | | } else { |
| | | shows.push('database') |
| | | } |
| | | if (['grid', 'line', 'line_grid'].includes(this.record.execSuccess) || ['grid', 'line', 'line_grid'].includes(this.record.execError)) { |
| | | if (['grid'].includes(this.record.execSuccess) || ['grid'].includes(this.record.execError)) { |
| | | shows.push('resetPageIndex') |
| | | } |
| | | } else if (openType === 'excelOut') { |
| | |
| | | } else { |
| | | shows.push('database') |
| | | } |
| | | if (['grid', 'line', 'line_grid'].includes(this.record.execSuccess) || ['grid', 'line', 'line_grid'].includes(this.record.execError)) { |
| | | if (['grid'].includes(this.record.execSuccess) || ['grid'].includes(this.record.execError)) { |
| | | shows.push('resetPageIndex') |
| | | } |
| | | if (this.record.Ot !== 'notRequired' && appType === 'mob') { |
| | |
| | | shows.push('innerFunc', 'extraParam') |
| | | reRequired.innerFunc = true |
| | | } |
| | | if (['grid', 'line', 'line_grid'].includes(this.record.execSuccess) || ['grid', 'line', 'line_grid'].includes(this.record.execError)) { |
| | | if (['grid'].includes(this.record.execSuccess) || ['grid'].includes(this.record.execError)) { |
| | | shows.push('resetPageIndex') |
| | | } |
| | | if (this.record.execMode === 'pop' || this.record.execMode === 'prompt') { |
| | |
| | | {value: 'small', label: '小'}, |
| | | ], |
| | | }, |
| | | // { |
| | | // type: 'radio', |
| | | // field: 'selected', |
| | | // label: '首行选中', |
| | | // initval: wrap.selected || 'false', |
| | | // tooltip: '当按钮执行完成并返回主键值时,默认选中主键值对应行。', |
| | | // required: false, |
| | | // options: [ |
| | | // {value: 'false', label: '无'}, |
| | | // {value: 'init', label: '初始化'}, |
| | | // {value: 'always', label: '数据加载'}, |
| | | // ] |
| | | // }, |
| | | { |
| | | type: 'radio', |
| | | field: 'tableMode', |
| | |
| | | |
| | | if (config.$searchId !== searchId) return |
| | | |
| | | this.setState({pageIndex: 1}, () => { |
| | | this.loadData() |
| | | }) |
| | | this.reloadIndex() |
| | | } |
| | | |
| | | /** |
| | |
| | | |
| | | if (config.uuid !== menuId) return |
| | | |
| | | let _id = config.wrap.selected === 'always' ? id : '' |
| | | if (config.supNodes) { |
| | | if (['mainline', 'maingrid', 'popclose'].includes(position)) { |
| | | let supNode = this.supModules[this.supModules.length - 1] |
| | |
| | | }, i * 10) |
| | | }) |
| | | } else { |
| | | if ((position === 'line' || position === 'line_grid') && lines && lines.length === 1 && !config.forbidLine) { |
| | | this.loadLinedata(lines[0].$$uuid, position) |
| | | } else if (btn.resetPageIndex !== 'false') { |
| | | this.setState({ |
| | | pageIndex: 1 |
| | | }, () => { |
| | | this.loadData(id) |
| | | }) |
| | | if (position === 'line' || position === 'line_grid') { |
| | | if (lines && lines.length === 1) { |
| | | if (config.forbidLine) { |
| | | this.loadData(lines[0].$$uuid, 'repage') |
| | | } else { |
| | | this.loadData(id) |
| | | this.loadLinedata(lines[0].$$uuid, position) |
| | | } |
| | | } else { |
| | | this.loadData(_id, 'repage') |
| | | } |
| | | } else if (btn.resetPageIndex !== 'false') { |
| | | this.reloadIndex() |
| | | } else { |
| | | this.loadData(_id, 'repage') |
| | | } |
| | | } |
| | | } else { |
| | | let supModule = config.setting.supModule |
| | | |
| | | if (position === 'line' || position === 'line_grid') { |
| | | if (lines && lines.length === 1 && !config.forbidLine) { |
| | | this.loadLinedata(lines[0].$$uuid, position) |
| | | } else if (btn.resetPageIndex !== 'false') { |
| | | this.setState({ |
| | | pageIndex: 1 |
| | | }, () => { |
| | | this.loadData(id) |
| | | }) |
| | | if (lines && lines.length === 1) { |
| | | if (config.forbidLine) { |
| | | this.loadData(lines[0].$$uuid, 'repage') |
| | | } else { |
| | | this.loadData(id) |
| | | this.loadLinedata(lines[0].$$uuid, position) |
| | | } |
| | | } else { |
| | | this.loadData(_id, 'repage') |
| | | } |
| | | } else if (['mainline', 'maingrid', 'popclose'].includes(position) && supModule) { |
| | | MKEmitter.emit('reloadData', supModule, position === 'maingrid' ? '' : BID) |
| | | } else if (btn.resetPageIndex !== 'false') { |
| | | this.setState({ |
| | | pageIndex: 1 |
| | | }, () => { |
| | | this.loadData(id) |
| | | }) |
| | | this.reloadIndex() |
| | | } else { |
| | | this.loadData(id) |
| | | this.loadData(_id, 'repage') |
| | | } |
| | | } |
| | | } |
| | |
| | | }) |
| | | } |
| | | |
| | | reloadIndex = () => { |
| | | this.setState({ |
| | | pageIndex: 1 |
| | | }, () => { |
| | | this.loadData() |
| | | }) |
| | | } |
| | | |
| | | prevCheck = (id) => { |
| | | const { selected } = this.state |
| | | |
| | | if (selected === 'false' && !id) return |
| | | |
| | | setTimeout(() => { |
| | | this.checkTopLine(id) |
| | | this.checkTopLine(id, selected) |
| | | }, 10) |
| | | |
| | | if (selected === 'init') { |
| | |
| | | } |
| | | } |
| | | |
| | | checkTopLine = (id) => { |
| | | const { config, data, selected } = this.state |
| | | checkTopLine = (id, selected) => { |
| | | const { config, data } = this.state |
| | | |
| | | if (data.length === 0) { |
| | | let index = -1 |
| | | let keys = [] |
| | | let items = [] |
| | | |
| | | if (data.length > 0) { |
| | | if (id) { |
| | | index = data.findIndex(item => item.$$uuid === id && !item.$disabled) |
| | | } |
| | | |
| | | if (index !== -1) { |
| | | keys = [index] |
| | | items = [data[index]] |
| | | } else if (selected === 'sign') { |
| | | data.forEach((item, i) => { |
| | | if (!item.$disabled && item.selected === 'true') { |
| | | items.push(item) |
| | | keys.push(i) |
| | | index = i |
| | | } |
| | | }) |
| | | } else if (selected !== 'false') { |
| | | if (!data[0].$disabled) { |
| | | index = 0 |
| | | keys = [index] |
| | | items = [data[index]] |
| | | } |
| | | } |
| | | } |
| | | |
| | | if (index === -1) { |
| | | this.setState({ |
| | | activeKey: '', |
| | | selectKeys: [], |
| | |
| | | return |
| | | } |
| | | |
| | | if (selected === 'sign') { |
| | | let index = '' |
| | | let keys = [] |
| | | let items = [] |
| | | let last = '' |
| | | data.forEach((item, i) => { |
| | | if (!item.$disabled && item.selected === 'true') { |
| | | items.push(item) |
| | | keys.push(i) |
| | | index = i |
| | | last = item |
| | | } |
| | | }) |
| | | let item = items[items.length - 1] |
| | | |
| | | this.setState({ |
| | | activeKey: index, |
| | |
| | | selectedData: items |
| | | }) |
| | | |
| | | MKEmitter.emit('resetSelectLine', config.uuid, last ? last.$$uuid : '', last) |
| | | MKEmitter.emit('resetSelectLine', config.uuid, item.$$uuid, item) |
| | | if (config.setting.$hasSyncModule) { |
| | | MKEmitter.emit('syncBalconyData', config.uuid, items, data.length === keys.length) |
| | | } |
| | | return |
| | | } |
| | | |
| | | let index = 0 |
| | | if (id) { |
| | | index = data.findIndex(item => item.$$uuid === id) |
| | | if (index === -1) { |
| | | index = 0 |
| | | } |
| | | } |
| | | |
| | | if (data[index].$disabled) { |
| | | this.setState({ |
| | | activeKey: '', |
| | | selectKeys: [], |
| | | selectedData: [] |
| | | }) |
| | | |
| | | MKEmitter.emit('resetSelectLine', config.uuid, '', '') |
| | | if (config.setting.$hasSyncModule) { |
| | | MKEmitter.emit('syncBalconyData', config.uuid, [], false) |
| | | } |
| | | return |
| | | } |
| | | |
| | | this.setState({ |
| | | activeKey: index, |
| | | selectKeys: [index], |
| | | selectedData: [data[index]] |
| | | }) |
| | | |
| | | MKEmitter.emit('resetSelectLine', config.uuid, data[index].$$uuid, data[index]) |
| | | if (config.setting.$hasSyncModule) { |
| | | MKEmitter.emit('syncBalconyData', config.uuid, [data[index]], data.length === 1) |
| | | } |
| | | } |
| | | |
| | |
| | | if (config.uuid !== menuId) return |
| | | |
| | | if (!id) { |
| | | this.loadData() |
| | | this.reloadIndex() |
| | | } else if (config.forbidLine) { |
| | | this.loadData(id, 'repage') |
| | | } else { |
| | | this.loadLinedata(id) |
| | | } |
| | |
| | | if (result.status) { |
| | | if (result.$requestId && this.requestId !== result.$requestId) return |
| | | |
| | | if (type === 'repage' && result.data.length === 0 && pageIndex > 1) { |
| | | this.reloadIndex() |
| | | return |
| | | } |
| | | |
| | | let start = 1 |
| | | if (config.setting.laypage) { |
| | | start = pageSize * (pageIndex - 1) + 1 |
| | |
| | | Api.writeCacheConfig(config.uuid, result.data || [], BID) |
| | | } |
| | | |
| | | if (selected !== 'false' || (id && config.wrap.selected !== 'false')) { |
| | | if (selected !== 'false' || id) { |
| | | this.prevCheck(id) |
| | | } else { |
| | | MKEmitter.emit('resetSelectLine', config.uuid, '', '') |
| | |
| | | async loadLinedata (id, position) { |
| | | const { config, pageIndex, pageSize, search, BID, BData, orderBy } = this.state |
| | | |
| | | if (config.forbidLine) { |
| | | this.setState({ |
| | | pageIndex: 1 |
| | | }, () => { |
| | | this.loadData() |
| | | }) |
| | | return |
| | | } |
| | | |
| | | let searches = fromJS(search).toJS() |
| | | if (config.setting.useMSearch) { // 主表搜索条件 |
| | | let mainSearch = window.GLOB.SearchBox.get(config.$searchId) || [] |
| | |
| | | let result = await Api.genericInterface(param) |
| | | if (result.status) { |
| | | if (position === 'line_grid' && (!result.data || !result.data[0])) { |
| | | this.loadData() |
| | | this.reloadIndex() |
| | | return |
| | | } |
| | | |
| | |
| | | |
| | | if (config.$searchId !== searchId) return |
| | | |
| | | this.setState({pageIndex: 1}, () => { |
| | | this.loadData() |
| | | }) |
| | | this.reloadIndex() |
| | | } |
| | | |
| | | /** |
| | |
| | | |
| | | let supModule = config.setting.supModule |
| | | |
| | | let _id = config.wrap.selected === 'always' ? id : '' |
| | | if (position === 'line' || position === 'line_grid') { |
| | | if (lines && lines.length === 1 && !config.forbidLine) { |
| | | this.loadLinedata(lines[0].$$parentId || lines[0].$$uuid, position) |
| | | } else if (btn.resetPageIndex !== 'false') { |
| | | this.setState({ |
| | | pageIndex: 1 |
| | | }, () => { |
| | | this.loadData(id) |
| | | }) |
| | | if (lines && lines.length === 1) { |
| | | if (config.forbidLine) { |
| | | this.loadData(lines[0].$$parentId || lines[0].$$uuid, 'repage') |
| | | } else { |
| | | this.loadData(id) |
| | | this.loadLinedata(lines[0].$$parentId || lines[0].$$uuid, position) |
| | | } |
| | | } else { |
| | | this.loadData(_id, 'repage') |
| | | } |
| | | } else if (['mainline', 'maingrid', 'popclose'].includes(position) && supModule) { |
| | | MKEmitter.emit('reloadData', supModule, position === 'maingrid' ? '' : BID) |
| | | } else if (btn.resetPageIndex !== 'false') { |
| | | this.setState({ |
| | | pageIndex: 1 |
| | | }, () => { |
| | | this.loadData(id) |
| | | }) |
| | | this.reloadIndex() |
| | | } else { |
| | | this.loadData(id) |
| | | this.loadData(_id, 'repage') |
| | | } |
| | | } |
| | | |
| | |
| | | }) |
| | | } |
| | | |
| | | checkTopLine = (id) => { |
| | | const { config, data, selected, card } = this.state |
| | | checkTopLine = (id, selected) => { |
| | | const { config, data, card } = this.state |
| | | let _opens = [...this.state.opens] |
| | | |
| | | if (data.length === 0) { |
| | | let index = -1 |
| | | let keys = [] |
| | | let items = [] |
| | | |
| | | if (data.length > 0) { |
| | | if (id) { |
| | | index = data.findIndex(item => item.$$uuid === id && !item.$disabled) |
| | | } |
| | | |
| | | if (index !== -1) { |
| | | keys = [index] |
| | | items = [data[index]] |
| | | } else if (selected === 'sign') { |
| | | data.forEach((item, i) => { |
| | | if (!item.$disabled && item.selected === 'true') { |
| | | items.push(item) |
| | | keys.push(i) |
| | | index = i |
| | | } |
| | | }) |
| | | } else if (selected !== 'false') { |
| | | if (!data[0].$disabled) { |
| | | index = 0 |
| | | keys = [index] |
| | | items = [data[index]] |
| | | } |
| | | } |
| | | } |
| | | |
| | | if (index === -1) { |
| | | this.setState({ |
| | | activeKey: '', |
| | | selectKeys: [], |
| | |
| | | return |
| | | } |
| | | |
| | | if (selected === 'sign') { |
| | | let index = '' |
| | | let keys = [] |
| | | let items = [] |
| | | let last = '' |
| | | |
| | | if (card.setting.display === 'collapse') { |
| | | _opens = [] |
| | | _opens = keys |
| | | } |
| | | |
| | | data.forEach((item, i) => { |
| | | if (!item.$disabled && item.selected === 'true') { |
| | | items.push(item) |
| | | keys.push(i) |
| | | index = i |
| | | last = item |
| | | |
| | | if (card.setting.display === 'collapse') { |
| | | _opens.push(i) |
| | | } |
| | | } |
| | | }) |
| | | let item = items[items.length - 1] |
| | | |
| | | this.setState({ |
| | | opens: _opens, |
| | |
| | | selectedData: items |
| | | }) |
| | | |
| | | MKEmitter.emit('resetSelectLine', config.uuid, last ? last.$$uuid : '', last) |
| | | return |
| | | } |
| | | |
| | | let index = 0 |
| | | if (id) { |
| | | index = data.findIndex(item => item.$$uuid === id) |
| | | if (index === -1) { |
| | | index = 0 |
| | | } |
| | | } |
| | | |
| | | if (data[index].$disabled) { |
| | | this.setState({ |
| | | activeKey: '', |
| | | selectKeys: [], |
| | | selectedData: [] |
| | | }) |
| | | |
| | | MKEmitter.emit('resetSelectLine', config.uuid, '', '') |
| | | return |
| | | } |
| | | |
| | | if (card.setting.display === 'collapse') { |
| | | _opens = [index] |
| | | } |
| | | |
| | | this.setState({ |
| | | opens: _opens, |
| | | activeKey: index, |
| | | selectKeys: [index], |
| | | selectedData: [data[index]] |
| | | }) |
| | | |
| | | MKEmitter.emit('resetSelectLine', config.uuid, data[index].$$uuid, data[index]) |
| | | MKEmitter.emit('resetSelectLine', config.uuid, item.$$uuid, item) |
| | | } |
| | | |
| | | checkAll = () => { |
| | |
| | | if (config.uuid !== menuId) return |
| | | |
| | | if (!id) { |
| | | this.loadData() |
| | | this.reloadIndex() |
| | | } else if (config.forbidLine) { |
| | | this.loadData(id, 'repage') |
| | | } else { |
| | | this.loadLinedata(id) |
| | | } |
| | |
| | | if (result.status) { |
| | | if (result.$requestId && this.requestId !== result.$requestId) return |
| | | |
| | | if (type === 'repage' && result.data.length === 0 && pageIndex > 1) { |
| | | this.reloadIndex() |
| | | return |
| | | } |
| | | |
| | | let start = 1 |
| | | if (config.setting.laypage) { |
| | | start = pageSize * (pageIndex - 1) + 1 |
| | |
| | | Api.writeCacheConfig(config.uuid, result.data || [], BID) |
| | | } |
| | | |
| | | if (selected !== 'false' || (id && config.wrap.selected !== 'false')) { |
| | | if (selected !== 'false' || id) { |
| | | setTimeout(() => { |
| | | this.checkTopLine(id) |
| | | this.checkTopLine(id, selected) |
| | | }, 10) |
| | | if (selected === 'init') { |
| | | this.setState({selected: 'false'}) |
| | | } |
| | | } else { |
| | | MKEmitter.emit('resetSelectLine', config.uuid, '', '') |
| | | } |
| | |
| | | loading: false |
| | | }) |
| | | |
| | | if (selected === 'init') { |
| | | this.setState({selected: 'false'}) |
| | | } |
| | | |
| | | if (config.timer && config.clearField && result.data && result.data[0]) { |
| | | let vals = (config.clearValue || '').split(',') |
| | | if (vals.includes(result.data[0][config.clearField])) { |
| | |
| | | async loadLinedata (id, position) { |
| | | const { config, pageIndex, pageSize, search, BID, BData, orderBy } = this.state |
| | | |
| | | if (config.forbidLine) { |
| | | this.setState({ |
| | | pageIndex: 1 |
| | | }, () => { |
| | | this.loadData() |
| | | }) |
| | | return |
| | | } |
| | | |
| | | let searches = fromJS(search).toJS() |
| | | if (config.setting.useMSearch) { // 主表搜索条件 |
| | | let mainSearch = window.GLOB.SearchBox.get(config.$searchId) || [] |
| | |
| | | let result = await Api.genericInterface(param) |
| | | if (result.status) { |
| | | if (position === 'line_grid' && (!result.data || !result.data[0])) { |
| | | this.loadData() |
| | | this.reloadIndex() |
| | | return |
| | | } |
| | | |
| | |
| | | } |
| | | } |
| | | |
| | | reloadIndex = () => { |
| | | this.setState({ |
| | | pageIndex: 1 |
| | | }, () => { |
| | | this.loadData() |
| | | }) |
| | | } |
| | | |
| | | loadMore = () => { |
| | | const { total, pageIndex, pageSize, loading } = this.state |
| | | |
| | |
| | | this.props.refreshdata({pageIndex}) |
| | | } |
| | | |
| | | mkCheckTopLine = (menuId, id, type) => { |
| | | mkCheckTopLine = (menuId, id, selected) => { |
| | | const { MenuID, data, setting } = this.props |
| | | |
| | | if (MenuID !== menuId || !data || data.length === 0) return |
| | | if (MenuID !== menuId) return |
| | | if (!data || data.length === 0) { |
| | | MKEmitter.emit('resetSelectLine', menuId, '', '') |
| | | return |
| | | } |
| | | |
| | | if (type === 'sign') { |
| | | let index = '' |
| | | let index = -1 |
| | | let keys = [] |
| | | let items = [] |
| | | |
| | | if (id) { |
| | | index = data.findIndex(item => item.$$uuid === id && !item.$disabled) |
| | | } |
| | | |
| | | if (index !== -1) { |
| | | keys = [index] |
| | | items = [data[index]] |
| | | } else if (selected === 'sign') { |
| | | data.forEach((item, i) => { |
| | | if (!item.$disabled && item.selected === 'true') { |
| | | items.push(item) |
| | |
| | | index = i |
| | | } |
| | | }) |
| | | } else if (selected !== 'false') { |
| | | if (!data[0].$disabled) { |
| | | index = 0 |
| | | keys = [index] |
| | | items = [data[index]] |
| | | } |
| | | } |
| | | |
| | | if (index === -1) { |
| | | MKEmitter.emit('resetSelectLine', menuId, '', '') |
| | | return |
| | | } |
| | | |
| | | this.changedata(index) |
| | | this.setState({ selectedRowKeys: keys, activeIndex: index }) |
| | |
| | | |
| | | if (setting.$hasSyncModule) { |
| | | MKEmitter.emit('syncBalconyData', MenuID, items, data.length === keys.length) |
| | | } |
| | | return |
| | | } |
| | | |
| | | let index = 0 |
| | | if (id) { |
| | | index = data.findIndex(item => item.$$uuid === id) |
| | | if (index === -1) { |
| | | index = 0 |
| | | } |
| | | } |
| | | |
| | | if (data[index].$disabled) return |
| | | |
| | | this.changedata(index) |
| | | this.setState({ selectedRowKeys: [index], activeIndex: index }) |
| | | this.props.chgSelectData([data[index]]) |
| | | |
| | | if (setting.$hasSyncModule) { |
| | | MKEmitter.emit('syncBalconyData', MenuID, [data[index]], data.length === 1) |
| | | } |
| | | } |
| | | |
| | |
| | | if (setting.$hasSyncModule) { |
| | | MKEmitter.emit('syncBalconyData', MenuID, selects, data.length === selects.length) |
| | | } |
| | | } else if (type === 'false') { |
| | | this.setState({ |
| | | selectedRowKeys: [], |
| | | activeIndex: null, |
| | | pickup: false |
| | | }) |
| | | } else if (type === 'repage') { |
| | | this.setState({ |
| | | pageIndex: Index, |
| | | selectedRowKeys: [], |
| | | activeIndex: null, |
| | | pickup: false |
| | | }) |
| | | } else { |
| | | this.setState({ |
| | | pageIndex: 1, |
| | | pageIndex: type === 'false' ? this.state.pageIndex : 1, |
| | | selectedRowKeys: [], |
| | | activeIndex: null, |
| | | pickup: false |
| | |
| | | |
| | | if (setting.selected !== 'always' && setting.selected !== 'init' && setting.selected !== 'sign') { |
| | | setting.selected = 'false' |
| | | } else { |
| | | setting.orisel = true |
| | | } |
| | | |
| | | _config.style = _config.style || {} |
| | |
| | | }, () => { |
| | | if (_config.setting.onload === 'true') { |
| | | setTimeout(() => { |
| | | this.loadmaindata() |
| | | this.loadData() |
| | | this.getStatFieldsValue() |
| | | }, _config.setting.delay || 0) |
| | | } |
| | |
| | | |
| | | /** |
| | | * @description 主表数据加载 |
| | | * @param { Boolean } reset 表格是否重置 |
| | | * @param { String } repage 表格是否重置页码 |
| | | */ |
| | | async loadmaindata (reset, repage, id) { |
| | | async loadData (reset, repage, id) { |
| | | const { setting, config, search, orderBy, BID, pageIndex, pageSize, BData } = this.state |
| | | |
| | | if (setting.supModule && !BID) { // BID 不存在时,不做查询 |
| | |
| | | |
| | | MKEmitter.emit('resetSelectLine', config.uuid, '', '') // 广播数据切换 |
| | | reset && MKEmitter.emit('resetTable', config.uuid, 'true') // 列表重置 |
| | | // if (setting.$hasSyncModule) { |
| | | // MKEmitter.emit('syncBalconyData', config.uuid, [], false) |
| | | // } |
| | | |
| | | this.requestId = '' |
| | | return |
| | |
| | | if (result.status) { |
| | | if (result.$requestId && this.requestId !== result.$requestId) return |
| | | |
| | | if (repage === 'false' && result.data && result.data.length === 0 && result.total > 0 && pageIndex > 1) { |
| | | let _pageIndex = Math.ceil(result.total / pageSize) |
| | | |
| | | if (_pageIndex < pageIndex) { |
| | | MKEmitter.emit('resetTable', config.uuid, 'repage', _pageIndex) |
| | | this.setState({ |
| | | pageIndex: _pageIndex, |
| | | data: [], |
| | | selectedData: [], |
| | | total: result.total |
| | | }, () => { |
| | | this.loadmaindata() |
| | | }) |
| | | if (repage === 'false' && result.data.length === 0 && pageIndex > 1) { |
| | | this.reloadIndex() |
| | | return |
| | | } |
| | | } |
| | | |
| | | if ((setting.selected !== 'false' || (setting.orisel && id)) && result.data && result.data.length > 0) { |
| | | setTimeout(() => { |
| | | MKEmitter.emit('mkCheckTopLine', config.uuid, id, setting.selected) |
| | | }, 200) |
| | | if (setting.selected === 'init') { |
| | | this.setState({setting: {...setting, selected: 'false'}}) |
| | | } |
| | | } else { |
| | | MKEmitter.emit('resetSelectLine', config.uuid, '', '') // 广播数据切换 |
| | | // if (setting.$hasSyncModule) { |
| | | // MKEmitter.emit('syncBalconyData', config.uuid, [], false) |
| | | // } |
| | | } |
| | | |
| | | reset && MKEmitter.emit('resetTable', config.uuid, repage) // 列表重置 |
| | | reset && MKEmitter.emit('resetTable', config.uuid, repage || '') // 列表重置 |
| | | |
| | | let start = 1 |
| | | if (setting.laypage) { |
| | |
| | | total = data[data.length - 1].mk_total || 0 |
| | | } |
| | | |
| | | if (data.length && (id || setting.selected !== 'false')) { |
| | | setTimeout(() => { |
| | | MKEmitter.emit('mkCheckTopLine', config.uuid, id, setting.selected) |
| | | }, 200) |
| | | } else { |
| | | MKEmitter.emit('resetSelectLine', config.uuid, '', '') // 广播数据切换 |
| | | } |
| | | |
| | | this.setState({ |
| | | data: data, |
| | | selectedData: [], |
| | | total: total, |
| | | loading: false |
| | | }) |
| | | |
| | | if (setting.selected === 'init') { |
| | | this.setState({setting: {...setting, selected: 'false'}}) |
| | | } |
| | | |
| | | if (config.autoMatic) { |
| | | if (result.data && result.data.length > 0) { |
| | |
| | | async loadLinedata (id, position) { |
| | | const { setting, config, search, orderBy, BID, pageIndex, pageSize, BData } = this.state |
| | | |
| | | if (config.forbidLine) { |
| | | this.reloadtable() |
| | | return |
| | | } |
| | | |
| | | let searches = fromJS(search).toJS() |
| | | if (config.setting.useMSearch) { // 主表搜索条件 |
| | | let mainSearch = window.GLOB.SearchBox.get(config.$searchId) || [] |
| | |
| | | let result = await Api.genericInterface(param) |
| | | if (result.status) { |
| | | if (position === 'line_grid' && (!result.data || !result.data[0])) { |
| | | this.loadmaindata(true, 'false') |
| | | this.reloadIndex() |
| | | return |
| | | } |
| | | |
| | |
| | | pageIndex: 1, |
| | | search: searches |
| | | }, () => { |
| | | this.loadmaindata(true, 'true') |
| | | this.loadData(true, 'true') |
| | | this.getStatFieldsValue() |
| | | }) |
| | | |
| | |
| | | this.setState({ |
| | | pageIndex: pagination.pageIndex |
| | | }, () => { |
| | | this.loadmaindata() |
| | | this.loadData() |
| | | }) |
| | | } else { |
| | | if (sorter.order) { |
| | |
| | | pageSize: pagination.pageSize, |
| | | orderBy: (sorter.field && sorter.order) ? `${sorter.field} ${sorter.order}` : '' |
| | | }, () => { |
| | | this.loadmaindata() |
| | | this.loadData() |
| | | }) |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * @description 表格刷新 |
| | | */ |
| | | reloadtable = (btn, id) => { |
| | | if (!btn || btn.resetPageIndex !== 'false') { |
| | | this.setState({ |
| | | pageIndex: 1 |
| | | }, () => { |
| | | this.loadmaindata(true, 'true', id) |
| | | this.getStatFieldsValue() |
| | | }) |
| | | } else { |
| | | this.loadmaindata(true, 'false', id) |
| | | this.getStatFieldsValue() |
| | | } |
| | | } |
| | | |
| | |
| | | if (config.uuid !== menuId) return |
| | | |
| | | if (!id) { |
| | | this.reloadtable() |
| | | this.reloadIndex() |
| | | } else if (config.forbidLine) { |
| | | this.loadData(true, 'false', id) |
| | | this.getStatFieldsValue() |
| | | } else { |
| | | this.loadLinedata(id) |
| | | } |
| | |
| | | BData: data |
| | | }, () => { |
| | | if (!setting.checkBid) { |
| | | this.loadmaindata(true, 'true') |
| | | this.loadData(true, 'true') |
| | | this.getStatFieldsValue() |
| | | } |
| | | }) |
| | |
| | | |
| | | /** |
| | | * @description 按钮执行完成后页面刷新 |
| | | * @param {*} menuId // 菜单Id |
| | | * @param {*} position // 刷新位置 |
| | | * @param {*} btn // 执行的按钮 |
| | | */ |
| | | refreshByButtonResult = (menuId, position, btn, id, lines) => { |
| | | const { config, BID } = this.state |
| | | |
| | | if (config.uuid !== menuId) return |
| | | |
| | | let _id = config.wrap.selected === 'always' ? (id || '') : '' |
| | | if (position === 'line' || position === 'line_grid') { |
| | | if (lines && lines.length === 1 && !config.forbidLine) { |
| | | this.loadLinedata(lines[0].$$uuid, position) |
| | | if (lines && lines.length === 1) { |
| | | if (config.forbidLine) { |
| | | this.loadData(true, 'false', lines[0].$$uuid) |
| | | this.getStatFieldsValue() |
| | | } else { |
| | | this.reloadtable(btn, id) |
| | | this.loadLinedata(lines[0].$$uuid, position) |
| | | } |
| | | } else { |
| | | this.loadData(true, 'false', _id) |
| | | this.getStatFieldsValue() |
| | | } |
| | | } else if (['mainline', 'maingrid', 'popclose'].includes(position) && config.setting.supModule) { |
| | | MKEmitter.emit('reloadData', config.setting.supModule, position === 'maingrid' ? '' : BID) |
| | | } else if (btn.resetPageIndex !== 'false') { |
| | | this.reloadIndex() |
| | | } else { |
| | | this.reloadtable(btn, id) |
| | | this.loadData(true, 'false', _id) |
| | | this.getStatFieldsValue() |
| | | } |
| | | } |
| | | |
| | |
| | | |
| | | if (config.$searchId !== searchId) return |
| | | |
| | | this.reloadtable() |
| | | this.reloadIndex() |
| | | } |
| | | |
| | | reloadIndex = () => { |
| | | this.setState({ |
| | | pageIndex: 1 |
| | | }, () => { |
| | | this.loadData(true, 'true') |
| | | this.getStatFieldsValue() |
| | | }) |
| | | } |
| | | |
| | | autoExec = (times) => { |
| | |
| | | }, () => { |
| | | if (_config.setting.onload === 'true') { |
| | | setTimeout(() => { |
| | | this.loadmaindata() |
| | | this.loadData() |
| | | }, _config.setting.delay || 0) |
| | | } |
| | | }) |
| | |
| | | |
| | | /** |
| | | * @description 主表数据加载 |
| | | * @param { Boolean } reset 表格是否重置 |
| | | * @param { String } repage 表格是否重置页码 |
| | | */ |
| | | async loadmaindata (reset, repage) { |
| | | async loadData (reset, repage) { |
| | | const { setting, config, search, orderBy, BID, pageIndex, pageSize, BData } = this.state |
| | | |
| | | if (setting.supModule && !BID) { // BID 不存在时,不做查询 |
| | |
| | | async loadLinedata (id, position) { |
| | | const { setting, config, search, orderBy, BID, pageIndex, pageSize, BData } = this.state |
| | | |
| | | if (config.forbidLine) { |
| | | this.reloadtable() |
| | | return |
| | | } |
| | | |
| | | let searches = fromJS(search).toJS() |
| | | if (config.setting.useMSearch) { // 主表搜索条件 |
| | | let mainSearch = window.GLOB.SearchBox.get(config.$searchId) || [] |
| | |
| | | let result = await Api.genericInterface(param) |
| | | if (result.status) { |
| | | if (position === 'line_grid' && (!result.data || !result.data[0])) { |
| | | this.loadmaindata(true, 'false') |
| | | this.reloadIndex() |
| | | return |
| | | } |
| | | |
| | |
| | | pageIndex: 1, |
| | | search: searches |
| | | }, () => { |
| | | this.loadmaindata(true, 'true') |
| | | this.loadData(true, 'true') |
| | | }) |
| | | } |
| | | |
| | |
| | | pageSize: pagination.pageSize, |
| | | orderBy: (sorter.field && sorter.order) ? `${sorter.field} ${sorter.order}` : '' |
| | | }, () => { |
| | | this.loadmaindata() |
| | | this.loadData() |
| | | }) |
| | | } |
| | | |
| | | /** |
| | | * @description 表格刷新 |
| | | */ |
| | | reloadtable = (btn) => { |
| | | if (!btn || btn.resetPageIndex !== 'false') { |
| | | reloadIndex = () => { |
| | | this.setState({ |
| | | pageIndex: 1 |
| | | }, () => { |
| | | this.loadmaindata(true, 'true') |
| | | this.loadData(true, 'true') |
| | | }) |
| | | } else { |
| | | this.loadmaindata(true, 'false') |
| | | } |
| | | } |
| | | |
| | | /** |
| | |
| | | if (config.uuid !== menuId) return |
| | | |
| | | if (!id) { |
| | | this.reloadtable() |
| | | this.reloadIndex() |
| | | } else if (config.forbidLine) { |
| | | this.loadData(true, 'false') |
| | | } else { |
| | | this.loadLinedata(id) |
| | | } |
| | |
| | | }, () => { |
| | | if (!setting.checkBid) { |
| | | setTimeout(() => { |
| | | this.loadmaindata(true, 'true') |
| | | this.loadData(true, 'true') |
| | | }, setting.delay || 0) |
| | | } |
| | | }) |
| | |
| | | if (config.uuid !== menuId) return |
| | | |
| | | if (position === 'line' || position === 'line_grid') { |
| | | if (lines && lines.length === 1 && !config.forbidLine) { |
| | | this.loadLinedata(lines[0].$$uuid, position) |
| | | if (lines && lines.length === 1) { |
| | | if (config.forbidLine) { |
| | | this.loadData(true, 'false') |
| | | } else { |
| | | this.reloadtable(btn) |
| | | this.loadLinedata(lines[0].$$uuid, position) |
| | | } |
| | | } else { |
| | | this.loadData(true, 'false') |
| | | } |
| | | } else if (['mainline', 'maingrid', 'popclose'].includes(position) && config.setting.supModule) { |
| | | MKEmitter.emit('reloadData', config.setting.supModule, position === 'maingrid' ? '' : BID) |
| | | } else if (btn.resetPageIndex !== 'false') { |
| | | this.reloadIndex() |
| | | } else { |
| | | this.reloadtable(btn) |
| | | this.loadData(true, 'false') |
| | | } |
| | | } |
| | | |
| | |
| | | |
| | | if (config.$searchId !== searchId) return |
| | | |
| | | this.reloadtable() |
| | | this.reloadIndex() |
| | | } |
| | | |
| | | shouldComponentUpdate (nextProps, nextState) { |
| | |
| | | |
| | | if (setting.selected !== 'always' && setting.selected !== 'init' && setting.selected !== 'sign') { |
| | | setting.selected = 'false' |
| | | } else { |
| | | setting.orisel = true |
| | | } |
| | | |
| | | if (_config.setting.sync === 'true') { |
| | |
| | | this.setState({ |
| | | pageIndex: 1 |
| | | }, () => { |
| | | this.loadmaindata(true, 'true', '', 'timer') |
| | | this.loadData(true, 'true', '', 'timer') |
| | | }) |
| | | }) |
| | | } |
| | |
| | | Api.getLCacheConfig(config.uuid, config.$time, BID).then(res => { |
| | | if (!res.valid && config.setting.onload === 'true') { |
| | | setTimeout(() => { |
| | | this.loadmaindata(false, 'true', '', 'init') |
| | | this.loadData(false, 'true', '', 'init') |
| | | }, config.setting.delay || 0) |
| | | } |
| | | |
| | |
| | | |
| | | if (config.setting.onload === 'true') { |
| | | setTimeout(() => { |
| | | this.loadmaindata(false, 'true', '', 'init') |
| | | this.loadData(false, 'true', '', 'init') |
| | | }, config.setting.delay || 0) |
| | | } |
| | | } |
| | | } else if (config.setting.onload === 'true') { |
| | | setTimeout(() => { |
| | | this.loadmaindata() |
| | | this.loadData() |
| | | }, config.setting.delay || 0) |
| | | } |
| | | } |
| | |
| | | |
| | | /** |
| | | * @description 主表数据加载 |
| | | * @param { Boolean } reset 表格是否重置 |
| | | * @param { String } repage 表格是否重置页码 |
| | | */ |
| | | async loadmaindata (reset, repage, id, type) { |
| | | async loadData (reset, repage, id, type) { |
| | | const { setting, config, search, orderBy, BID, pageIndex, pageSize, BData } = this.state |
| | | |
| | | if (setting.supModule && !BID && setting.supKey !== 'false') { // BID 不存在时,不做查询 |
| | |
| | | Api.writeCacheConfig(config.uuid, result.data || [], BID) |
| | | } |
| | | |
| | | if (repage === 'false' && result.data && result.data.length === 0 && result.total > 0 && pageIndex > 1) { |
| | | let _pageIndex = Math.ceil(result.total / pageSize) |
| | | |
| | | if (_pageIndex < pageIndex) { |
| | | MKEmitter.emit('resetTable', config.uuid, 'repage', _pageIndex) |
| | | this.setState({ |
| | | pageIndex: _pageIndex, |
| | | data: [], |
| | | selectedData: [], |
| | | total: result.total |
| | | }, () => { |
| | | this.loadmaindata() |
| | | }) |
| | | if (repage === 'false' && result.data.length === 0 && pageIndex > 1) { |
| | | this.reloadIndex() |
| | | return |
| | | } |
| | | } |
| | | |
| | | if ((setting.selected !== 'false' || (setting.orisel && id)) && result.data && result.data.length > 0) { |
| | | setTimeout(() => { |
| | | MKEmitter.emit('mkCheckTopLine', config.uuid, id, setting.selected) |
| | | }, 200) |
| | | if (setting.selected === 'init') { |
| | | this.setState({setting: {...setting, selected: 'false'}}) |
| | | } |
| | | } else { |
| | | MKEmitter.emit('resetSelectLine', config.uuid, '', '') // 广播数据切换 |
| | | if (setting.$hasSyncModule) { |
| | | MKEmitter.emit('syncBalconyData', config.uuid, [], false) |
| | | } |
| | | } |
| | | |
| | | reset && MKEmitter.emit('resetTable', config.uuid, repage) // 列表重置 |
| | |
| | | allSearch.push(...searches) |
| | | } |
| | | |
| | | if (data.length && (id || setting.selected !== 'false')) { |
| | | setTimeout(() => { |
| | | MKEmitter.emit('mkCheckTopLine', config.uuid, id, setting.selected) |
| | | }, 200) |
| | | } else { |
| | | MKEmitter.emit('resetSelectLine', config.uuid, '', '') // 广播数据切换 |
| | | if (setting.$hasSyncModule) { |
| | | MKEmitter.emit('syncBalconyData', config.uuid, [], false) |
| | | } |
| | | } |
| | | |
| | | this.setState({ |
| | | data: data, |
| | | selectedData: [], |
| | |
| | | total: total, |
| | | loading: false |
| | | }) |
| | | |
| | | if (setting.selected === 'init') { |
| | | this.setState({setting: {...setting, selected: 'false'}}) |
| | | } |
| | | |
| | | if (config.$hasTopModule) { |
| | | window.GLOB.CacheData.set(config.uuid + 'tb', data[0] || { $$empty: true, $$uuid: '' }) |
| | |
| | | async loadLinedata (id, position) { |
| | | const { setting, config, search, orderBy, BID, pageIndex, pageSize, BData } = this.state |
| | | |
| | | if (config.forbidLine) { |
| | | this.reloadtable() |
| | | return |
| | | } |
| | | |
| | | let searches = fromJS(search).toJS() |
| | | if (config.setting.useMSearch) { // 主表搜索条件 |
| | | let mainSearch = window.GLOB.SearchBox.get(config.$searchId) || [] |
| | |
| | | let result = await Api.genericInterface(param) |
| | | if (result.status) { |
| | | if (position === 'line_grid' && (!result.data || !result.data[0])) { |
| | | this.loadmaindata(true, 'false') |
| | | this.reloadIndex() |
| | | return |
| | | } |
| | | |
| | |
| | | pageIndex: 1, |
| | | search: searches |
| | | }, () => { |
| | | this.loadmaindata(true, 'true') |
| | | this.loadData(true, 'true') |
| | | }) |
| | | } |
| | | |
| | |
| | | pageSize: pagination.pageSize, |
| | | orderBy: (sorter.field && sorter.order) ? `${sorter.field} ${sorter.order}` : '' |
| | | }, () => { |
| | | this.loadmaindata() |
| | | this.loadData() |
| | | }) |
| | | } |
| | | |
| | | /** |
| | | * @description 表格刷新 |
| | | */ |
| | | reloadtable = (btn, id) => { |
| | | if (!btn || btn.resetPageIndex !== 'false') { |
| | | reloadIndex = () => { |
| | | this.setState({ |
| | | pageIndex: 1 |
| | | }, () => { |
| | | this.loadmaindata(true, 'true', id) |
| | | this.loadData(true, 'true') |
| | | }) |
| | | } else { |
| | | this.loadmaindata(true, 'false', id) |
| | | } |
| | | } |
| | | |
| | | /** |
| | |
| | | if (config.uuid !== menuId) return |
| | | |
| | | if (!id) { |
| | | this.reloadtable() |
| | | this.reloadIndex() |
| | | } else if (config.forbidLine) { |
| | | this.loadData(true, 'false', id) |
| | | } else { |
| | | this.loadLinedata(id) |
| | | } |
| | |
| | | |
| | | if (bid !== this.state.BID || bid !== '') { |
| | | this.setState({ BID: bid, BData: _data, pageIndex: 1 }, () => { |
| | | this.loadmaindata(true, 'true') |
| | | this.loadData(true, 'true') |
| | | }) |
| | | } |
| | | } else { |
| | |
| | | BData: data |
| | | }, () => { |
| | | if (!setting.checkBid) { |
| | | this.loadmaindata(true, 'true') |
| | | this.loadData(true, 'true') |
| | | } |
| | | }) |
| | | } |
| | |
| | | |
| | | /** |
| | | * @description 按钮执行完成后页面刷新 |
| | | * @param {*} menuId // 菜单Id |
| | | * @param {*} position // 刷新位置 |
| | | * @param {*} btn // 执行的按钮 |
| | | */ |
| | | refreshByButtonResult = (menuId, position, btn, id, lines) => { |
| | | const { config, BID } = this.state |
| | | |
| | | if (config.uuid !== menuId) return |
| | | |
| | | let _id = config.wrap.selected === 'always' ? (id || '') : '' |
| | | if (config.supNodes) { |
| | | if (['mainline', 'maingrid', 'popclose'].includes(position)) { |
| | | let supNode = this.supModules[this.supModules.length - 1] |
| | |
| | | }) |
| | | } else { |
| | | if (position === 'line' || position === 'line_grid') { |
| | | if (lines && lines.length === 1 && !config.forbidLine) { |
| | | this.loadLinedata(lines[0].$$uuid, position) |
| | | if (lines && lines.length === 1) { |
| | | if (config.forbidLine) { |
| | | this.loadData(true, 'false', lines[0].$$uuid) |
| | | } else { |
| | | this.reloadtable(btn, id) |
| | | this.loadLinedata(lines[0].$$uuid, position) |
| | | } |
| | | } else { |
| | | this.reloadtable(btn, id) |
| | | this.loadData(true, 'false', _id) |
| | | } |
| | | } else if (btn.resetPageIndex !== 'false') { |
| | | this.reloadIndex() |
| | | } else { |
| | | this.loadData(true, 'false', _id) |
| | | } |
| | | } |
| | | } else { |
| | | if (position === 'line' || position === 'line_grid') { |
| | | if (lines && lines.length === 1 && !config.forbidLine) { |
| | | this.loadLinedata(lines[0].$$uuid, position) |
| | | if (lines && lines.length === 1) { |
| | | if (config.forbidLine) { |
| | | this.loadData(true, 'false', lines[0].$$uuid) |
| | | } else { |
| | | this.reloadtable(btn, id) |
| | | this.loadLinedata(lines[0].$$uuid, position) |
| | | } |
| | | } else { |
| | | this.loadData(true, 'false', _id) |
| | | } |
| | | } else if (['mainline', 'maingrid', 'popclose'].includes(position) && config.setting.supModule) { |
| | | MKEmitter.emit('reloadData', config.setting.supModule, position === 'maingrid' ? '' : BID) |
| | | } else if (btn.resetPageIndex !== 'false') { |
| | | this.reloadIndex() |
| | | } else { |
| | | this.reloadtable(btn, id) |
| | | this.loadData(true, 'false', _id) |
| | | } |
| | | } |
| | | } |
| | |
| | | |
| | | if (config.$searchId !== searchId) return |
| | | |
| | | this.reloadtable() |
| | | this.reloadIndex() |
| | | } |
| | | |
| | | render() { |