| | |
| | | chartId: '', // 展开图表ID |
| | | statFields: [], // 合计字段 |
| | | statFValue: [], // 合计值 |
| | | absFields: [], // 绝对值字段 |
| | | debug: sessionStorage.getItem('debug') === 'true' |
| | | } |
| | | |
| | |
| | | let _hideCol = [] // 隐藏及合并列中字段的uuid集 |
| | | let colMap = new Map() // 用于字段过滤 |
| | | let statFields = [] // 合计字段信息 |
| | | let absFields = [] // 绝对值字段 |
| | | |
| | | let _actions = [] // 工具栏按钮 |
| | | let _operations = [] // 操作列按钮(存在时) |
| | |
| | | col.nameField && _arrField.push(col.nameField) // 链接名字段 |
| | | if (col.Hide !== 'true' && col.type === 'number' && col.sum === 'true') { |
| | | statFields.push(col) |
| | | } |
| | | if (col.format === 'abs') { |
| | | absFields.push(col.field) |
| | | } |
| | | } |
| | | if (col.type === 'colspan' && col.sublist) { // 筛选隐藏列 |
| | |
| | | } |
| | | |
| | | this.setState({ |
| | | BID: param && param.BID ? param.BID : '', |
| | | loadingview: false, |
| | | chartId: chartId, |
| | | config: config, |
| | | statFields: statFields, |
| | | absFields, |
| | | chartId, |
| | | config, |
| | | statFields, |
| | | userConfig, |
| | | tabActive: _tabActive, |
| | | userConfig: userConfig, |
| | | setting: config.setting, |
| | | searchlist: config.search, |
| | | actions: _actions, |
| | | columns: _columns, |
| | | arr_field: _arrField.join(','), |
| | | BID: param && param.BID ? param.BID : '', |
| | | search: Utils.initMainSearch(initSearch) // 搜索条件初始化(含有时间格式,需要转化) |
| | | }, () => { |
| | | if (config.setting.onload !== 'false' && valid) { // 初始化可加载 |
| | |
| | | * @description 主表数据加载 |
| | | */ |
| | | async loadmaindata () { |
| | | const { setting, arr_field, BIDs, search, orderBy, BID, pageIndex, pageSize } = this.state |
| | | const { setting, arr_field, BIDs, search, orderBy, BID, pageIndex, pageSize, absFields } = this.state |
| | | let requireFields = search.filter(item => item.required && (!item.value || item.value.length === 0)) |
| | | |
| | | this.setState({ |
| | |
| | | if (result.status) { |
| | | this.setState({ |
| | | data: result.data.map((item, index) => { |
| | | if (absFields.length) { |
| | | absFields.forEach(field => { |
| | | if (!item[field]) return |
| | | if (isNaN(Math.abs(item[field]))) return |
| | | |
| | | item[field] = Math.abs(item[field]) |
| | | }) |
| | | } |
| | | |
| | | item.key = index |
| | | return item |
| | | }), |
| | |
| | | * @description 获取单行数据 |
| | | */ |
| | | async loadmainLinedata (id) { |
| | | const { setting, arr_field, search, orderBy, BID, pageIndex, pageSize } = this.state |
| | | const { setting, arr_field, search, orderBy, BID, pageIndex, pageSize, absFields } = this.state |
| | | |
| | | this.setState({ |
| | | loading: true |
| | |
| | | if (result.data && result.data[0]) { |
| | | let _data = result.data[0] |
| | | |
| | | if (absFields.length) { |
| | | absFields.forEach(field => { |
| | | if (!_data[field]) return |
| | | if (isNaN(Math.abs(_data[field]))) return |
| | | |
| | | _data[field] = Math.abs(_data[field]) |
| | | }) |
| | | } |
| | | |
| | | try { |
| | | data = data.map(item => { |
| | | if (item[setting.primaryKey] === _data[setting.primaryKey]) { |