|
@@ -23,7 +23,7 @@ function getTrueFilters(item, filters) {
|
|
|
)) {
|
|
)) {
|
|
|
if(f.operator === 'betweent' ? ( !!f.value1 && (f.value1.length ? f.value1.length > 0 : true) && !!f.value2 && (f.value2.length ? f.value2.length > 0 : true)) : (!!f.value1 && (f.value1.length ? f.value1.length > 0 : true))) {
|
|
if(f.operator === 'betweent' ? ( !!f.value1 && (f.value1.length ? f.value1.length > 0 : true) && !!f.value2 && (f.value2.length ? f.value2.length > 0 : true)) : (!!f.value1 && (f.value1.length ? f.value1.length > 0 : true))) {
|
|
|
if(f.combined) {
|
|
if(f.combined) {
|
|
|
- f.dataSource.forEach(d => {
|
|
|
|
|
|
|
+ f.dataSource && f.dataSource.forEach(d => {
|
|
|
trueFilters.push({
|
|
trueFilters.push({
|
|
|
dataSourceCode: d.dataSource.code,
|
|
dataSourceCode: d.dataSource.code,
|
|
|
name: d.column.name,
|
|
name: d.column.name,
|
|
@@ -117,8 +117,7 @@ export default {
|
|
|
const { name, value } = action;
|
|
const { name, value } = action;
|
|
|
let obj = {};
|
|
let obj = {};
|
|
|
obj[name] = value;
|
|
obj[name] = value;
|
|
|
- let newState = Object.assign({}, state, obj);
|
|
|
|
|
- return newState;
|
|
|
|
|
|
|
+ return Object.assign({}, state, obj);
|
|
|
},
|
|
},
|
|
|
setField(state, action) {
|
|
setField(state, action) {
|
|
|
const { name, value } = action;
|
|
const { name, value } = action;
|
|
@@ -381,14 +380,18 @@ export default {
|
|
|
* 同时更改多个filter
|
|
* 同时更改多个filter
|
|
|
*/
|
|
*/
|
|
|
*changeFilters(action, { put, call, select }) {
|
|
*changeFilters(action, { put, call, select }) {
|
|
|
- const { filters } = action;
|
|
|
|
|
- const dashboardDesigner = yield select(state => state.present.dashboardDesigner);
|
|
|
|
|
- const { items } = dashboardDesigner;
|
|
|
|
|
-
|
|
|
|
|
- yield put({ type: 'silentSetField', name: 'filters', value: filters });
|
|
|
|
|
-
|
|
|
|
|
- for(let i = 0; i < items.length; i++) {
|
|
|
|
|
- yield put({ type:'fetchChartData', item: items[i], mandatory: true });
|
|
|
|
|
|
|
+ try {
|
|
|
|
|
+ const { filters } = action;
|
|
|
|
|
+ const dashboardDesigner = yield select(state => state.present.dashboardDesigner);
|
|
|
|
|
+ const { items } = dashboardDesigner;
|
|
|
|
|
+
|
|
|
|
|
+ yield put({ type: 'silentSetField', name: 'filters', value: filters });
|
|
|
|
|
+
|
|
|
|
|
+ for(let i = 0; i < items.length; i++) {
|
|
|
|
|
+ yield put({ type:'fetchChartData', item: items[i], mandatory: true });
|
|
|
|
|
+ }
|
|
|
|
|
+ }catch(e) {
|
|
|
|
|
+ message.error('更改过滤条件失败: ' + e.message);
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
/**
|
|
/**
|
|
@@ -428,21 +431,22 @@ export default {
|
|
|
const dashboardDesigner = yield select(state => state.present.dashboardDesigner);
|
|
const dashboardDesigner = yield select(state => state.present.dashboardDesigner);
|
|
|
const { creatorCode, filters } = dashboardDesigner;
|
|
const { creatorCode, filters } = dashboardDesigner;
|
|
|
const { chartCode } = item;
|
|
const { chartCode } = item;
|
|
|
- const body = {
|
|
|
|
|
- dashboardCreatorId: creatorCode,
|
|
|
|
|
- chartId: chartCode,
|
|
|
|
|
- filters: getBodyFilters(getTrueFilters(item, filters)),
|
|
|
|
|
- testPage: {
|
|
|
|
|
- pageNum: page|| 1,
|
|
|
|
|
- pageSize: pageSize || 25,
|
|
|
|
|
- }
|
|
|
|
|
- };
|
|
|
|
|
|
|
+
|
|
|
if(!mandatory && !!item.chartOption) {
|
|
if(!mandatory && !!item.chartOption) {
|
|
|
return;
|
|
return;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
try {
|
|
try {
|
|
|
yield put({ type: 'setItemFetching', code: chartCode, fetching: true });
|
|
yield put({ type: 'setItemFetching', code: chartCode, fetching: true });
|
|
|
|
|
+ const body = {
|
|
|
|
|
+ dashboardCreatorId: creatorCode,
|
|
|
|
|
+ chartId: chartCode,
|
|
|
|
|
+ filters: getBodyFilters(getTrueFilters(item, filters)),
|
|
|
|
|
+ testPage: {
|
|
|
|
|
+ pageNum: page|| 1,
|
|
|
|
|
+ pageSize: pageSize || 25,
|
|
|
|
|
+ }
|
|
|
|
|
+ };
|
|
|
const res = yield call(service.fetch, {
|
|
const res = yield call(service.fetch, {
|
|
|
url: URLS.CHART_OPTION,
|
|
url: URLS.CHART_OPTION,
|
|
|
allow: true,
|
|
allow: true,
|
|
@@ -475,7 +479,6 @@ export default {
|
|
|
message.error('请求图表展示数据失败: ' + (res.err || res.data.msg));
|
|
message.error('请求图表展示数据失败: ' + (res.err || res.data.msg));
|
|
|
}
|
|
}
|
|
|
}catch(e) {
|
|
}catch(e) {
|
|
|
- console.error(body, e);
|
|
|
|
|
yield put({ type: 'setItemFields', code: chartCode, fields: [
|
|
yield put({ type: 'setItemFields', code: chartCode, fields: [
|
|
|
{ name: 'chartType', value: '' },
|
|
{ name: 'chartType', value: '' },
|
|
|
{ name: 'chartOption', value: {} }
|
|
{ name: 'chartOption', value: {} }
|