ming-demo3
Version:
mdf metaui web
1,426 lines (1,201 loc) • 54 kB
JavaScript
"use strict";
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.conditiOnMouseEnter = conditiOnMouseEnter;
exports.conditiOnTextMouseEnter = conditiOnTextMouseEnter;
exports.setDefaultCondition = setDefaultCondition;
exports.deleteCondition = deleteCondition;
exports.chooseCondition = chooseCondition;
exports.refreshConditionListValue = refreshConditionListValue;
exports.initConditionListValue = initConditionListValue;
exports.setValue = setValue;
exports.getReportGroupAuth = getReportGroupAuth;
exports.showList = showList;
exports.editConditionInfo = editConditionInfo;
exports.cancelEdit = cancelEdit;
exports.saveCondition = saveCondition;
exports.editCondition_SetValue = editCondition_SetValue;
exports.editCondition_SetIsCrossTable = editCondition_SetIsCrossTable;
exports.editCondition_SelectedKey = editCondition_SelectedKey;
exports.getArrayFields = getArrayFields;
exports.editCondition_MoveItems = editCondition_MoveItems;
exports.editCondition_ShowColumnDefine = editCondition_ShowColumnDefine;
exports.setColumnDefineValue = setColumnDefineValue;
exports.editCondition_SaveColumnDefine = editCondition_SaveColumnDefine;
exports.eChartSetting_EChartSettingOK = eChartSetting_EChartSettingOK;
exports.eChartSetting_Show = eChartSetting_Show;
exports.eChartSetting_SetDisplayType = eChartSetting_SetDisplayType;
exports.eChartSetting_SetSubChartColNum = eChartSetting_SetSubChartColNum;
exports.eChartSetting_ChooseChart = eChartSetting_ChooseChart;
exports.eChartSetting_CancelChartConfig = eChartSetting_CancelChartConfig;
exports.eChartSetting_RemoveConfig = eChartSetting_RemoveConfig;
exports.eChartSetting_SetEChartConfigValue = eChartSetting_SetEChartConfigValue;
exports.eChartSetting_DimensionXFieldsChecked = eChartSetting_DimensionXFieldsChecked;
exports.eChartSetting_DimensionSubFieldsChecked = eChartSetting_DimensionSubFieldsChecked;
exports.eChartSetting_MeasureFieldsChecked = eChartSetting_MeasureFieldsChecked;
exports.eChartSetting_MeasureFieldsValueChanged = eChartSetting_MeasureFieldsValueChanged;
exports.eChartSetting_ReturnNothing = eChartSetting_ReturnNothing;
exports["default"] = void 0;
var _immutable = _interopRequireDefault(require("immutable"));
var _util = require("@mdf/cube/lib/helpers/util");
var eChartProxy = _interopRequireWildcard(require("../components/echart/eChartProxy"));
var eChartCommon = _interopRequireWildcard(require("../components/echart/eChartCommon"));
var $$initialState = _immutable["default"].fromJS({
"reduxTemplate": {
billnum: '',
bShowList: false,
bShowCard: false,
bShowEChartSetting: false,
bShowEChartSetting_Add: false,
showEChartKey: "",
bAuthAdd: false,
bAuthDel: false,
bAuthEdit: false,
cShowCaption: '分组条件',
currentId: -1,
currentName: "",
textMouseEnterId: -1,
conditionList: [],
refreshGroupSchemaId: "",
editCondition: {
id: "",
name: "",
isCrossTable: true,
focusedGroupType: 0,
isDefault: false,
keyWord: "",
bEdit: false,
bDisplayCrossPoint: false,
isDisplayZero: false,
isPc: true,
isMobile: false,
dataSource_Selected: [],
dataSource_UnSelected: [],
metaData: {},
columnDefineInfo: {
bShowDefine: false,
itemEle: {},
defineData: {}
}
},
eChart: {},
eChartTemplate: {
displayType: 1,
innerFName: "报表分组方案配置信息",
layOutConfig: {
innerFName: "报表分组方案配置信息-行列布局",
rows: [[{
colspan: 12,
widgetType: "chart",
widgetValue: "chart1"
}], [{
colspan: 12,
widgetType: "rpt"
}]]
},
eChartConfig: {
innerFName: "报表分组方案配置信息-图表Arr",
subChartColNum: 1,
subChartConfigArr: []
},
errors: {}
}
}
});
var _default = function _default() {
var $$state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : $$initialState;
var action = arguments.length > 1 ? arguments[1] : undefined;
var $state = $$state.toJS();
switch (action.type) {
case 'PLATFORM_UI_GroupCondition_initValue':
{
var viewid = action.payload.viewid;
var billnum = action.payload.billnum;
var billnum_viewid = billnum;
if (!!viewid) billnum_viewid = billnum + "_" + viewid;
if ($state[billnum_viewid]) delete $state[billnum_viewid];
var ele = deepCopy($state["reduxTemplate"]);
ele = Object.assign(ele, action.payload);
$state[billnum_viewid] = ele;
return _immutable["default"].fromJS($state);
}
case 'PLATFORM_UI_GroupCondition_SaveCondition':
{
var _billnum = action.payload.billnum;
var groupSchemaId = action.payload.groupSchemaId;
$state[_billnum] = Object.assign($state[_billnum], action.payload);
if (action.payload.bShowCard === false) $state[_billnum].editCondition.columnDefineInfo.bShowDefine = false;
$state[_billnum].refreshGroupSchemaId = groupSchemaId;
return _immutable["default"].fromJS($state);
}
case 'PLATFORM_UI_GroupCondition_SetValue':
{
var _billnum2 = action.payload.billnum;
$state[_billnum2] = Object.assign($state[_billnum2], action.payload);
if (action.payload.bShowCard === false) $state[_billnum2].editCondition.columnDefineInfo.bShowDefine = false;
return _immutable["default"].fromJS($state);
}
case 'PLATFORM_UI_GroupCondition_EditCondition_SetValue':
{
var _billnum3 = action.payload.billnum;
$state[_billnum3].editCondition = Object.assign($state[_billnum3].editCondition, action.payload);
return _immutable["default"].fromJS($state);
}
case 'PLATFORM_UI_GroupCondition_ConditiOnTextMouseEnter':
{
var _billnum4 = action.payload.billnum;
if (action.payload.bEnter == true) $state[_billnum4].textMouseEnterId = action.payload.id;else $state[_billnum4].textMouseEnterId = -1;
return _immutable["default"].fromJS($state);
}
case 'PLATFORM_UI_GroupCondition_ConditiOnMouseEnter':
{
var _billnum5 = action.payload.billnum;
var conditionList = $state[_billnum5].conditionList;
if (conditionList && conditionList.length > 0) {
conditionList.forEach(function (ele, index) {
if (ele.id == action.payload.id) ele.isMouseEnter = action.payload.bEnter;
});
}
return _immutable["default"].fromJS($state);
}
case 'PLATFORM_UI_GroupCondition_chooseCondition':
{
var _billnum6 = action.payload.billnum;
var _conditionList = $state[_billnum6].conditionList;
$state[_billnum6].currentId = "";
$state[_billnum6].currentName = "";
if (_conditionList && _conditionList.length > 0) {
_conditionList.forEach(function (element, index) {
if (element.id == action.payload.id) {
$state[_billnum6].currentId = element.id;
$state[_billnum6].currentName = element.name;
$state[_billnum6].bShowList = false;
} else {}
});
}
return _immutable["default"].fromJS($state);
}
case 'PLATFORM_UI_GroupCondition_EditCondition':
{
var _billnum7 = action.payload.condition.billnum;
$state[_billnum7].bShowCard = true;
$state[_billnum7].bShowList = false;
$state[_billnum7].editCondition.bEdit = true;
$state[_billnum7].editCondition = Object.assign($state[_billnum7].editCondition, action.payload.condition);
var chart = action.payload.chart;
if (_.isEmpty(chart) == true || chart.displayType == 1 && _.isEmpty(chart.eChartConfig) == true) {
$state[_billnum7].eChart = _.cloneDeep($state[_billnum7].eChartTemplate);
} else {
$state[_billnum7].eChart.displayType = chart.displayType;
$state[_billnum7].eChart.layOutConfig = chart.layOutConfig;
$state[_billnum7].eChart.eChartConfig = chart.eChartConfig;
$state[_billnum7].eChart.errors = {};
}
return _immutable["default"].fromJS($state);
}
case 'PLATFORM_UI_GroupCondition_AddCondition':
{
var _billnum8 = action.payload.condition.billnum;
$state[_billnum8].bShowCard = true;
$state[_billnum8].bShowList = false;
$state[_billnum8].editCondition.bEdit = false;
$state[_billnum8].editCondition = Object.assign($state[_billnum8].editCondition, action.payload.condition);
$state[_billnum8].eChart = _.cloneDeep($state[_billnum8].eChartTemplate);
return _immutable["default"].fromJS($state);
}
case 'PLATFORM_UI_GroupCondition_EditCondition_SelectedKey':
{
var _billnum9 = action.payload.billnum;
var groupType = action.payload.groupType;
var selectedKey = action.payload.selectedKey;
var bSelected = action.payload.bSelected;
var bSelectedItems = action.payload.bSelectedItems;
if (bSelectedItems) $state[_billnum9].editCondition.dataSource_Selected.forEach(function (ele, index) {
if (selectedKey == ele.fieldname && ele.groupType == groupType) {
ele.bSelected = bSelected;
$state[_billnum9].editCondition.focusedGroupType = ele.groupType;
}
});else $state[_billnum9].editCondition.dataSource_UnSelected.forEach(function (ele, index) {
if (selectedKey == ele.fieldname) {
ele.bSelected = bSelected;
}
});
return _immutable["default"].fromJS($state);
}
case 'PLATFORM_UI_GroupCondition_EditCondition_MoveItems':
{
var _billnum10 = action.payload.billnum;
var bToRight = action.payload.bToRight;
var isCrossTable = $state[_billnum10].editCondition.isCrossTable;
var focusedGroupType = $state[_billnum10].editCondition.focusedGroupType;
if (bToRight) {
if (isCrossTable == true && focusedGroupType == 1000) {
var tmpArray = $state[_billnum10].editCondition.dataSource_Selected;
if (tmpArray.length > 0) for (var i = tmpArray.length - 1; i >= 0; i--) {
var _ele = tmpArray[i];
if (_ele.groupType == 1) {
tmpArray.splice(i, 1);
}
}
var bInserted = false;
$state[_billnum10].editCondition.dataSource_UnSelected.forEach(function (ele, index) {
if (ele.bSelected) {
ele.bSelected = false;
if (bInserted == false) {
var ele2 = deepCopy(ele);
ele2.groupType = focusedGroupType;
$state[_billnum10].editCondition.dataSource_Selected.push(ele2);
bInserted = true;
}
}
});
} else {
$state[_billnum10].editCondition.dataSource_UnSelected.forEach(function (ele, index) {
if (ele.bSelected) {
ele.bSelected = false;
var ele2 = deepCopy(ele);
if (isCrossTable) {
ele2.groupType = focusedGroupType;
} else {
ele2.groupType = focusedGroupType;
}
$state[_billnum10].editCondition.dataSource_Selected.push(ele2);
}
});
}
} else {
var _tmpArray = $state[_billnum10].editCondition.dataSource_Selected;
for (var i = _tmpArray.length - 1; i >= 0; i--) {
if (_tmpArray[i].bSelected && _tmpArray[i].groupType == focusedGroupType) {
_tmpArray.splice(i, 1);
}
}
}
return _immutable["default"].fromJS($state);
}
case 'PLATFORM_UI_GroupCondition_EditCondition_ShowColumnDefine':
{
var _billnum11 = action.payload.billnum;
var columnDefineInfo = $state[_billnum11].editCondition.columnDefineInfo;
if (action.payload.bShowDefine) {
var defineData = action.payload.defineData;
if (defineData && defineData.length > 0) {
columnDefineInfo.bShowDefine = true;
columnDefineInfo.itemEle = action.payload.itemEle;
columnDefineInfo.defineData = defineData;
} else {
cb.utils.alert("没有可设置信息。");
columnDefineInfo.bShowDefine = false;
}
} else {
columnDefineInfo.bShowDefine = false;
}
return _immutable["default"].fromJS($state);
}
case 'PLATFORM_UI_GroupCondition_EditCondition_SetColumnDefineValue':
{
var _billnum12 = action.payload.billnum;
var _columnDefineInfo = $state[_billnum12].editCondition.columnDefineInfo;
var _defineData = _columnDefineInfo.defineData;
_defineData && _defineData.length && _defineData.forEach(function (ele) {
if (ele.name == action.payload.defineName) ele.value = action.payload.value;
});
return _immutable["default"].fromJS($state);
}
case 'PLATFORM_UI_GroupCondition_EditCondition_SaveColumnDefine':
{
var _billnum13 = action.payload.billnum;
var _columnDefineInfo2 = $state[_billnum13].editCondition.columnDefineInfo;
var dataSource_Selected = $state[_billnum13].editCondition.dataSource_Selected;
var _defineData2 = _columnDefineInfo2.defineData;
var itemEle = _columnDefineInfo2.itemEle;
var cColumnDefineMemo = "";
_columnDefineInfo2.bShowDefine = false;
if (action.payload.bSave) {
var columnDefine = {};
_defineData2 && _defineData2.length && _defineData2.forEach(function (ele) {
columnDefine[ele.name] = ele.value;
if (ele.controltype == "select") {
var enumArray2 = JSON.parse(ele.enumArray);
enumArray2.forEach(function (tmp) {
if (tmp.key == ele.value) cColumnDefineMemo = cColumnDefineMemo == "" ? tmp.value : cColumnDefineMemo + "/" + tmp.value;
});
} else if (ele.controltype == "checkbox" && ele.value == "true") {
cColumnDefineMemo = cColumnDefineMemo == "" ? ele.caption : cColumnDefineMemo + "/" + ele.caption;
;
}
});
dataSource_Selected.forEach(function (ele) {
if (ele.groupType == itemEle.groupType && ele.fieldname == itemEle.fieldname) {
ele.columnDefine = JSON.stringify(columnDefine);
ele.cColumnDefineMemo = cColumnDefineMemo;
}
});
}
return _immutable["default"].fromJS($state);
}
case 'PLATFORM_UI_GroupCondition_ReturnNothing':
return $$state;
case 'PLATFORM_UI_EChartSetting_Show':
{
$state[action.payload.billnum].bShowEChartSetting = action.payload.bShow;
if (action.payload.bShow == true) {
$state[action.payload.billnum].showEChartKey = action.payload.chartKey;
if (!!action.payload.chartKey) $state[action.payload.billnum].bShowEChartSetting_Add = false;else $state[action.payload.billnum].bShowEChartSetting_Add = true;
} else {
$state[action.payload.billnum].eChart.errors = {};
$state[action.payload.billnum].showEChartKey = "";
}
return _immutable["default"].fromJS($state);
}
case 'PLATFORM_UI_EChartSetting_SetDisplayType':
{
var _billnum14 = action.payload.billnum;
var eChart = $state[_billnum14].eChart;
eChart.displayType = action.payload.value;
return _immutable["default"].fromJS($state);
}
case 'PLATFORM_UI_EChartSetting_SetSubChartColNum':
{
var _billnum15 = action.payload.billnum;
var _eChart = $state[_billnum15].eChart;
_.set(_eChart, "eChartConfig.subChartColNum", action.payload.value);
return _immutable["default"].fromJS($state);
}
case 'PLATFORM_UI_EChartSetting_ReSetChartConfig':
{
var _billnum16 = action.payload.billnum;
var _eChart2 = $state[_billnum16].eChart;
_eChart2.eChartConfig = {
subChartColNum: 1,
subChartConfigArr: []
};
_eChart2.errors = {};
if (action.payload.bClose == true) {
$state[_billnum16].bShowEChartSetting = false;
$state[_billnum16].showEChartKey = "";
}
return _immutable["default"].fromJS($state);
}
case 'PLATFORM_UI_EChartSetting_SetChartConfig':
{
var _billnum17 = action.payload.billnum;
var _eChart3 = $state[_billnum17].eChart;
var config = action.payload.config;
var chartKey = action.payload.chartKey;
var bClose = action.payload.bClose || false;
eChartCommon.subConfigArray_Operate(_eChart3, chartKey, config || {}, action.payload.operate);
_eChart3.errors = {};
if (bClose == true) {
$state[_billnum17].bShowEChartSetting = false;
$state[_billnum17].showEChartKey = "";
}
return _immutable["default"].fromJS($state);
}
case 'PLATFORM_UI_EChartSetting_Errors':
{
var _billnum18 = action.payload.billnum;
var _chartKey = action.payload.chartKey;
var errors = action.payload.errors;
_.set($state[_billnum18].eChart, "errors", errors);
return _immutable["default"].fromJS($state);
}
case 'PLATFORM_UI_EChartSetting_SetEChartConfigValue':
{
var _billnum19 = action.payload.billnum;
var _chartKey2 = action.payload.chartKey;
var fieldPath = action.payload.fieldPath;
var fieldValue = action.payload.fieldValue;
var _eChart4 = $state[_billnum19].eChart;
var _chart = eChartCommon.subConfig_Get(_eChart4, _chartKey2);
var oldValue = _.get(_chart, fieldPath);
_.set(_chart, fieldPath, fieldValue);
_.endsWith(fieldPath, "bUseDimensionXRows");
{
_eChart4.errors["dimensionXRows"] = undefined;
_eChart4.errors["dimensionSubRows"] = undefined;
}
var checkArray = ["dimensionXRows", "dimensionSubRows", "longitudeField", "latitudeField"];
checkArray.forEach(function (ele, index) {
if (_.endsWith(fieldPath, ele)) {
_eChart4.errors[ele] = undefined;
if (inputCheck(_eChart4, _chartKey2, ele == "dimensionSubRows" ? "dimensionXRows" : ele) == false) {
_.set(_chart, fieldPath, oldValue);
}
}
});
return _immutable["default"].fromJS($state);
}
case 'PLATFORM_UI_EChartSetting_DimensionXFieldsChecked':
{
var _billnum20 = action.payload.billnum;
var _chartKey3 = action.payload.chartKey;
var bCheck = action.payload.bCheck;
var _ele2 = action.payload.ele;
var _eChart5 = $state[_billnum20].eChart;
var _chart2 = eChartCommon.subConfig_Get($state[_billnum20].eChart, _chartKey3);
var dimensions = _chart2.yySetting.dataField.dimensionX;
for (var i = 0; i < dimensions.length; i++) {
var item = dimensions[i];
if (item.nameField == _ele2.nameField) dimensions.splice(i, 1);
}
_eChart5.errors.dimensionX = "";
if (bCheck) {
dimensions.push(_ele2);
if (inputCheck(_eChart5, _chartKey3, "dimensionX") == false) {
dimensions.pop();
}
}
return _immutable["default"].fromJS($state);
}
case 'PLATFORM_UI_EChartSetting_DimensionSubFieldsChecked':
{
var _billnum21 = action.payload.billnum;
var _chartKey4 = action.payload.chartKey;
var _bCheck = action.payload.bCheck;
var _ele3 = action.payload.ele;
var _eChart6 = $state[_billnum21].eChart;
var _chart3 = eChartCommon.subConfig_Get($state[_billnum21].eChart, _chartKey4);
var _dimensions = _chart3.yySetting.dataField.dimensionSub;
for (var i = _dimensions.length - 1; i >= 0; i--) {
_dimensions.splice(i, 1);
}
if (_bCheck) {
_dimensions.push(_ele3);
}
return _immutable["default"].fromJS($state);
}
case 'PLATFORM_UI_EChartSetting_MeasureFieldsValueChanged':
{
var _billnum22 = action.payload.billnum;
var _chartKey5 = action.payload.chartKey;
var _eChart7 = $state[_billnum22].eChart;
var _chart4 = eChartCommon.subConfig_Get($state[_billnum22].eChart, _chartKey5);
var measure = _chart4.yySetting.dataField.measure;
var measureEle = _.find(measure, function (o) {
return o.valueField == action.payload.valueField;
});
if (measureEle) {
measureEle[action.payload.fieldname] = action.payload.fieldValue;
}
return _immutable["default"].fromJS($state);
}
case 'PLATFORM_UI_EChartSetting_MeasureFieldsChecked':
{
var _billnum23 = action.payload.billnum;
var _chartKey6 = action.payload.chartKey;
var _bCheck2 = action.payload.bCheck;
var _ele4 = action.payload.ele;
var _eChart8 = $state[_billnum23].eChart;
var _chart5 = eChartCommon.subConfig_Get(_eChart8, _chartKey6);
var _dimensions2 = _chart5.yySetting.dataField.measure;
var type = _chart5.yySetting.type;
for (var i = _dimensions2.length - 1; i >= 0; i--) {
var _item = _dimensions2[i];
if (_item.valueField == _ele4.valueField || type == "pie" || type == "scatter") {
_dimensions2.splice(i, 1);
if (_item.valueField == _chart5.yySetting.orderInfo.orderField) _chart5.yySetting.orderInfo.orderField = "";
}
}
_eChart8.errors.measure = "";
_eChart8.errors.measure0 = "";
_eChart8.errors.measure1 = "";
if (_bCheck2) {
_dimensions2.push(_ele4);
var bPoped = false;
if (type != "barline") {
if (inputCheck(_eChart8, _chartKey6, "measure") == false) {
_dimensions2.pop();
bPoped = true;
}
}
if (type == "barline") {
if (inputCheck(_eChart8, _chartKey6, "measure" + _ele4.yAxisIndex.toString()) == false) {
_dimensions2.pop();
bPoped = true;
}
}
if (bPoped == false) {
if (_chart5.yySetting.orderInfo.orderField == "") {
_chart5.yySetting.orderInfo.orderField = _ele4.valueField;
}
if (type == "pie") {
_chart5.eChartSetting.series[0].name = _ele4.caption;
} else if (type == "scatter") {
_chart5.eChartSetting.series[0].name = _ele4.caption;
_chart5.eChartSetting.series[1].name = _ele4.caption;
}
}
}
return _immutable["default"].fromJS($state);
}
default:
return $$state;
}
};
exports["default"] = _default;
function inputCheck(eChart, chartKey, errKey) {
var errors = saveCheck(eChart, chartKey);
if (errors[errKey]) {
eChart.errors[errKey] = errors[errKey];
return false;
}
return true;
}
function deepCopy(p, c) {
return _.cloneDeep(p);
}
function conditiOnMouseEnter(billnum, id, bEnter) {
return function (dispatch, getState) {
dispatch((0, _util.genAction)('PLATFORM_UI_GroupCondition_ConditiOnMouseEnter', {
billnum: billnum,
id: id,
bEnter: bEnter
}));
};
}
function conditiOnTextMouseEnter(billnum, id, bEnter) {
return function (dispatch, getState) {
dispatch((0, _util.genAction)('PLATFORM_UI_GroupCondition_ConditiOnTextMouseEnter', {
billnum: billnum,
id: id,
bEnter: bEnter
}));
};
}
function setDefaultCondition(billnum, id, viewModel) {
return function (dispatch, getState) {
var conditionList = getState().groupCondition.toJS()[billnum].conditionList;
var params = {
id: -1
};
params.billnum = billnum;
conditionList.forEach(function (ele, index) {
if (ele.id == id) {
params.id = id;
params.name = ele.name;
params.isCrossTable = ele.isCrossTable;
params.isDefault = true;
}
});
if (params.id > 0) {
var callback = function callback(json) {
if (json.code === 200) {
dispatch(refreshConditionListValue(billnum, viewModel));
}
if (json.code !== 200) {
console.log("保存分组条件失败。信息 : " + (json.message ? json.message : JSON.stringify(json)).toString());
dispatch((0, _util.genAction)('PLATFORM_UI_GroupCondition_ReturnNothing'));
}
};
eChartProxy.doProxy(eChartProxy.url.saveGroupSchema, 'POST', params, callback);
} else {
dispatch((0, _util.genAction)('PLATFORM_UI_GroupCondition_ReturnNothing'));
}
};
}
function deleteCondition(billnum, id, viewModel) {
return function (dispatch, getState) {
var params = {};
params.groupSchemaId = id;
var callback = function callback(json) {
if (json.code === 200) {
dispatch(refreshConditionListValue(billnum, viewModel));
} else if (json.code === 999) {
cb.utils.alert(json.message);
dispatch((0, _util.genAction)('PLATFORM_UI_GroupCondition_ReturnNothing'));
} else if (json.code !== 200) {
console.log("删除分组条件失败。信息 : " + (json.message ? json.message : JSON.stringify(json)).toString());
dispatch((0, _util.genAction)('PLATFORM_UI_GroupCondition_ReturnNothing'));
}
};
eChartProxy.doProxy(eChartProxy.url.deleteGroupSchema, 'GET', params, callback);
};
}
function chooseCondition(billnum, id) {
return function (dispatch, getState) {
dispatch((0, _util.genAction)('PLATFORM_UI_GroupCondition_chooseCondition', {
billnum: billnum,
id: id
}));
var userId = cb.rest.AppContext.user.id;
var localDataKey = "".concat(billnum, "_").concat(userId);
var localData;
try {
localData = JSON.parse(localStorage.getItem(localDataKey));
} catch (e) {}
if (!localData) localData = {};
localData.groupSchemaId = id;
localStorage.setItem(localDataKey, JSON.stringify(localData));
};
}
function refreshConditionListValue(billnum, viewModel) {
return function (dispatch, getState) {
var proxyParams = {
billnum: billnum
};
var callback = function callback(json) {
if (json.code === 200) {
var params = {};
var conditionList = json.data;
params.conditionList = conditionList;
params["billnum"] = billnum;
dispatch((0, _util.genAction)('PLATFORM_UI_GroupCondition_SetValue', params));
}
if (json.code !== 200) {
console.log("获取分组条件失败。信息 : " + (json.message ? json.message : JSON.stringify(json)).toString());
}
};
eChartProxy.doProxy(eChartProxy.url.getGroupSchema, 'GET', proxyParams, callback);
};
}
function initConditionListValue(billnum, params, viewModel) {
return function (dispatch, getState) {
var proxyParams = {
billnum: billnum
};
var viewid = _.get(viewModel.getParams(), 'query.viewid');
if (viewid) proxyParams.viewid = viewid;
var callback = function callback(json) {
if (json.code === 200) {
var conditionList = json.data;
var defaultId = -1;
var defaultName = "";
if (conditionList && conditionList.length > 0) {
conditionList.forEach(function (ele, index) {
if (defaultId == -1 || ele.isDefault) {
defaultId = ele.id;
defaultName = ele.name;
}
ele.isMouseEnter = false;
});
var userId = cb.rest.AppContext.user.id;
try {
var localData = JSON.parse(localStorage.getItem("".concat(billnum, "_").concat(userId)));
var localDefaultId = localData && localData.groupSchemaId;
if (localDefaultId) {
var localDefaultGroupSchema = conditionList.find(function (item) {
return item.id == localDefaultId;
});
if (localDefaultGroupSchema) {
defaultId = localDefaultGroupSchema.id;
defaultName = localDefaultGroupSchema.name;
}
}
} catch (e) {}
if (viewModel && defaultId > -1) {
viewModel.biz["do"]("switchGroupSchema", viewModel, {
groupSchemaId: defaultId,
groupSchemaName: defaultName
});
var tmp = [];
tmp.push({
id: defaultId,
name: defaultName
});
viewModel.get('groupSchemas').setDataSource(tmp);
viewModel.get('groupSchemas').setValue(defaultId);
} else {
viewModel.biz["do"]("switchGroupSchema", viewModel, null);
}
} else {
viewModel.biz["do"]("switchGroupSchema", viewModel, null);
}
params.currentId = defaultId;
params.currentName = defaultName ? defaultName : undefined;
params.conditionList = conditionList;
params.viewid = viewid;
params["billnum"] = billnum;
dispatch((0, _util.genAction)('PLATFORM_UI_GroupCondition_initValue', params));
if (!viewid) dispatch(getReportGroupAuth(billnum));
}
if (json.code !== 200) {
console.log("获取分组条件失败。信息 : " + (json.message ? json.message : JSON.stringify(json)).toString());
viewModel.biz["do"]("switchGroupSchema", viewModel, null);
}
};
eChartProxy.doProxy(eChartProxy.url.getGroupSchema, 'GET', proxyParams, callback);
};
}
function setValue(billnum, params) {
return function (dispatch, getState) {
params["billnum"] = billnum;
dispatch((0, _util.genAction)('PLATFORM_UI_GroupCondition_SetValue', params));
};
}
function getReportGroupAuth(billnum) {
return function (dispatch, getState) {
var params = {};
var callback = function callback(json) {
if (json.code === 200) {
dispatch((0, _util.genAction)('PLATFORM_UI_GroupCondition_SetValue', {
billnum: billnum,
bAuthAdd: json.data.groupschemaAdd,
bAuthDel: json.data.groupschemaDelete,
bAuthEdit: json.data.groupschemaSave
}));
} else {
console.log("获取分组权限信息失败。信息 : " + (json.message ? json.message : JSON.stringify(json)).toString());
}
};
eChartProxy.doProxy(eChartProxy.url.checkGroupAuth, 'GET', params, callback);
};
}
function showList(billnum, bShowList) {
return function (dispatch, getState) {
dispatch((0, _util.genAction)('PLATFORM_UI_GroupCondition_SetValue', {
billnum: billnum,
bShowList: bShowList
}));
};
}
function editConditionInfo(billnum, id) {
return function (dispatch, getState) {
var params = {
billnum: billnum
};
if (id != "") {
params.groupSchemaId = id;
}
var callback = function callback(json) {
if (json.code === 200) {
var metaData = json.data;
var dataSource_Selected = metaData.selected ? metaData.selected : [];
var dataSource_UnSelected = metaData.unselected ? metaData.unselected : [];
delRelatedField(dataSource_Selected, dataSource_UnSelected);
var name = metaData.name;
var isCrossTable = metaData.isCrossTable;
var isDefault = metaData.isDefault;
var isDisplayZero = metaData.isDisplayZero ? metaData.isDisplayZero : false;
var isPc = metaData.hasOwnProperty("isPc") ? metaData.isPc : true;
var isMobile = metaData.hasOwnProperty("isMobile") ? metaData.isMobile : false;
var dimensionId = metaData.hasOwnProperty("dimensionId") ? metaData.dimensionId : "";
var condition = {
billnum: billnum,
id: id,
name: name,
isCrossTable: isCrossTable,
isDefault: isDefault,
isMobile: isMobile,
isPc: isPc,
isDisplayZero: isDisplayZero,
metaData: metaData,
dataSource_Selected: dataSource_Selected,
dataSource_UnSelected: dataSource_UnSelected,
dimensionId: dimensionId
};
if (id) {
condition.focusedGroupType = 0;
condition.keyWord = "";
var chart = {};
if (metaData.displayStyle) {
chart.displayType = metaData.displayStyle;
chart.layOutConfig = JSON.parse(metaData.pageLayout);
var eChartConfig = JSON.parse(metaData.chartConfig);
if (eChartConfig && _.isEmpty(eChartConfig) == false) eChartConfig = eChartCommon.upgradeConfig_ForEChartArr(eChartConfig);
chart.eChartConfig = eChartConfig;
}
dispatch((0, _util.genAction)('PLATFORM_UI_GroupCondition_EditCondition', {
condition: condition,
chart: chart
}));
} else {
condition.isCrossTable = false;
condition.isDefault = false;
condition.focusedGroupType = 0;
condition.keyWord = "";
dispatch((0, _util.genAction)('PLATFORM_UI_GroupCondition_AddCondition', {
condition: condition
}));
}
}
if (json.code !== 200) {
console.log("获取分组条件失败。信息 : " + (json.message ? json.message : JSON.stringify(json)).toString());
dispatch((0, _util.genAction)('PLATFORM_UI_GroupCondition_ReturnNothing'));
}
};
eChartProxy.doProxy(eChartProxy.url.getGroupItems, 'GET', params, callback);
};
}
function cancelEdit(billnum) {
return function (dispatch, getState) {
dispatch((0, _util.genAction)('PLATFORM_UI_GroupCondition_SetValue', {
billnum: billnum,
bShowCard: false
}));
};
}
function delRelatedField(dataSource_Selected, dataSource_UnSelected) {
var _loop = function _loop() {
var ele = dataSource_Selected[i];
if (ele.isGroupRelated) dataSource_Selected.splice(i, 1);
if (_.filter(dataSource_UnSelected, function (o) {
return ele.fieldname == o.fieldname;
}).length < 1) dataSource_Selected.splice(i, 1);
};
for (var i = dataSource_Selected.length - 1; i >= 0; i--) {
_loop();
}
}
function addRelatedField(dataSource_Selected) {
dataSource_Selected.forEach(function (ele, index) {
var cFormatData = undefined;
try {
cFormatData = ele.cFormatData && JSON.parse(ele.cFormatData);
} catch (e) {}
var addField = cFormatData && cFormatData.related;
if (addField && _.filter(dataSource_Selected, function (o) {
return o.fieldname == addField && o.groupType == ele.groupType;
}).length == 0) {
dataSource_Selected.push({
fieldname: addField,
groupType: ele.groupType,
isGroupRelated: true
});
}
addField = ele.depends;
if (addField && _.filter(dataSource_Selected, function (o) {
return o.fieldname == addField && o.groupType == ele.groupType;
}).length == 0) {
dataSource_Selected.push({
fieldname: addField,
groupType: ele.groupType,
isGroupRelated: true
});
}
});
return dataSource_Selected;
}
function saveCondition(billnum, viewModel) {
return function (dispatch, getState) {
var editCondition = getState().groupCondition.toJS()[billnum].editCondition;
var eChart = getState().groupCondition.toJS()[billnum].eChart;
var params = {};
params.billnum = billnum;
if (editCondition.bEdit) params.id = editCondition.id;
params.name = editCondition.name;
params.name = eChartCommon.checkTempName(params.name);
params.isCrossTable = editCondition.isCrossTable;
params.isDisplayZero = editCondition.isDisplayZero;
if (!!params.isCrossTable) params.isMobile = false;else params.isMobile = editCondition.isMobile;
params.isPc = editCondition.isPc;
if (editCondition.dimensionId) params.dimensionId = editCondition.dimensionId;
params.isDefault = editCondition.isDefault;
params.selected = addRelatedField(_.cloneDeep(editCondition.dataSource_Selected));
params.displayStyle = eChart.displayType;
params.pageLayout = JSON.stringify(eChart.layOutConfig);
params.chartConfig = "{}";
if (eChart.displayType == 2 || eChart.displayType == 3) {
params.chartConfig = JSON.stringify(eChart.eChartConfig);
}
var callback = function callback(json) {
if (json.code === 200) {
dispatch((0, _util.genAction)('PLATFORM_UI_GroupCondition_SaveCondition', {
billnum: billnum,
groupSchemaId: editCondition.id,
bShowCard: false
}));
dispatch(refreshConditionListValue(billnum, viewModel));
}
if (json.code !== 200) {
console.log("保存分组条件失败。信息 : " + (json.message ? json.message : JSON.stringify(json)).toString());
dispatch((0, _util.genAction)('PLATFORM_UI_GroupCondition_ReturnNothing'));
}
};
eChartProxy.doProxy(eChartProxy.url.saveGroupSchema, 'POST', params, callback);
};
}
function editCondition_SetValue(billnum, fieldName, fieldValue) {
return function (dispatch, getState) {
var param = {};
param.billnum = billnum;
param[fieldName] = fieldValue;
dispatch((0, _util.genAction)('PLATFORM_UI_GroupCondition_EditCondition_SetValue', param));
};
}
function editCondition_SetIsCrossTable(billnum, fieldName, fieldValue) {
return function (dispatch, getState) {
var param = {};
param.billnum = billnum;
param[fieldName] = fieldValue;
param["dataSource_Selected"] = [];
param["isPc"] = true;
param["isMobile"] = false;
dispatch((0, _util.genAction)('PLATFORM_UI_GroupCondition_EditCondition_SetValue', param));
dispatch((0, _util.genAction)('PLATFORM_UI_EChartSetting_ReSetChartConfig', {
billnum: billnum,
bClose: true
}));
};
}
function editCondition_SelectedKey(billnum, groupType, selectedKey, bSelected, bSelectedItems) {
return function (dispatch, getState) {
var param = {
billnum: billnum,
groupType: groupType,
selectedKey: selectedKey,
bSelected: bSelected,
bSelectedItems: bSelectedItems
};
dispatch((0, _util.genAction)('PLATFORM_UI_GroupCondition_EditCondition_SelectedKey', param));
};
}
function getArrayFields(obj, arrPath, fieldName) {
var arr = _.get(obj, arrPath);
var arrReturn = [];
var str = "";
if (arr && arr.length > 0) {
arr.forEach(function (item) {
str = item[fieldName];
if (arrReturn.indexOf(str) < 0) arrReturn.push(str);
});
}
return arrReturn;
}
function editCondition_MoveItems(billnum, bToRight) {
return function (dispatch, getState) {
var editCondition = getState().groupCondition.toJS()[billnum].editCondition;
var eChart = getState().groupCondition.toJS()[billnum].eChart;
if (bToRight == false && (eChart.displayType == 2 || eChart.displayType == 3)) {
var config = eChart.eChartConfig["chart1"];
if (config) {
var str = "";
var dimensionXFields = getArrayFields(config, "yySetting.dataField.dimensionX", "nameField");
var dimensionSubFields = getArrayFields(config, "yySetting.dataField.dimensionSub", "nameField");
var measureFields = getArrayFields(config, "yySetting.dataField.measure", "valueField");
editCondition.dataSource_Selected.forEach(function (ele, index) {
if (ele.bSelected) {
if (dimensionXFields.indexOf(ele.fieldname) > -1 || dimensionSubFields.indexOf(ele.fieldname) > -1 || measureFields.indexOf(ele.fieldname) > -1) {
str = str + ele.caption + " ";
}
}
});
if (str != "") {
cb.utils.alert(str + "已经在图形报表中使用,不能删除。");
dispatch((0, _util.genAction)('PLATFORM_UI_GroupCondition_ReturnNothing'));
return;
}
}
}
dispatch((0, _util.genAction)('PLATFORM_UI_GroupCondition_EditCondition_MoveItems', {
billnum: billnum,
bToRight: bToRight
}));
};
}
function editCondition_ShowColumnDefine(billnum, bShowDefine, itemEle) {
return function (dispatch, getState) {
var params = itemEle;
params.billnum = billnum;
if (bShowDefine) {
var callback = function callback(json) {
if (json.code === 200) {
dispatch((0, _util.genAction)('PLATFORM_UI_GroupCondition_EditCondition_ShowColumnDefine', {
billnum: billnum,
bShowDefine: bShowDefine,
itemEle: itemEle,
defineData: json.data
}));
}
if (json.code !== 200) {
console.log("获取列定义失败。信息 : " + (json.message ? json.message : JSON.stringify(json)).toString());
dispatch((0, _util.genAction)('PLATFORM_UI_GroupCondition_ReturnNothing'));
}
};
eChartProxy.doProxy(eChartProxy.url.columnDefine, 'POST', params, callback);
} else {
dispatch((0, _util.genAction)('PLATFORM_UI_GroupCondition_EditCondition_ShowColumnDefine', {
billnum: billnum,
bShowDefine: bShowDefine
}));
}
};
}
function setColumnDefineValue(billnum, groupType, fieldname, defineName, value) {
return function (dispatch, getState) {
dispatch((0, _util.genAction)('PLATFORM_UI_GroupCondition_EditCondition_SetColumnDefineValue', {
billnum: billnum,
groupType: groupType,
fieldname: fieldname,
defineName: defineName,
value: value
}));
};
}
function editCondition_SaveColumnDefine(billnum, bSave) {
return function (dispatch, getState) {
dispatch((0, _util.genAction)('PLATFORM_UI_GroupCondition_EditCondition_SaveColumnDefine', {
billnum: billnum,
bSave: bSave
}));
};
}
function eChartSetting_EChartSettingOK(billnum, chartKey) {
return function (dispatch, getState) {
var eChart = getState().groupCondition.toJS()[billnum].eChart;
var errors = saveCheck(eChart, chartKey);
if (_.isEmpty(errors) == true) {
dispatch((0, _util.genAction)('PLATFORM_UI_EChartSetting_Show', {
billnum: billnum,
bShow: false,
chartKey: chartKey
}));
} else {
dispatch((0, _util.genAction)('PLATFORM_UI_EChartSetting_Errors', {
billnum: billnum,
chartKey: chartKey,
errors: errors
}));
}
};
}
function saveCheck(eChart, chartKey) {
var errors = {};
if (eChart.displayType == 2 || eChart.displayType == 3) {
var chart = eChartCommon.subConfig_Get(eChart, chartKey);
var yySetting = chart.yySetting;
var eChartSetting = chart.eChartSetting;
var title = "";
if (yySetting.type == "ranktable") title = _.get(yySetting, "title.text");else title = _.get(eChartSetting, "title.text");
var dimensionX = chart.yySetting.dataField.dimensionX;
var dimensionSub = chart.yySetting.dataField.dimensionSub;
var measure = chart.yySetting.dataField.measure;
var rotate = _.get(eChartSetting, "xAxis.axisLabel.rotate");
var bUseDimensionXRows = chart.yySetting.orderInfo.bUseDimensionXRows;
var dimensionXRows = chart.yySetting.orderInfo.dimensionXRows;
var dimensionSubRows = chart.yySetting.orderInfo.dimensionSubRows;
var orderField = chart.yySetting.orderInfo.orderField;
var LngAndLat = chart.yySetting.dataField.LngAndLat;
if (_.isEmpty(title) || title.trim() == "") errors.title = "标题不可为空";
if (dimensionX.length < 1 || dimensionX.length > 3) errors.dimensionX = "主维度不可为空且最多三项";
if (dimensionSub.length > 1) errors.dimensionSub = "辅维度最多一项";
if (yySetting.type == "barline") {
var measure0 = _.filter(measure, function (o) {
return o.yAxisIndex == 0;
});
var measure1 = _.filter(measure, function (o) {
return o.yAxisIndex == 1;
});
if (measure0.length < 1) {
errors.measure0 = "展示指标必选,且最多10项";
}
if (measure1.length < 1) {
errors.measure1 = "展示指标必选,且最多10项";
}
if (measure.length < 1 || measure.length > 10) {
errors.measure0 = "展示指标必选,且最多10项";
errors.measure1 = "展示指标必选,且最多10项";
}
}
if (yySetting.type == "ranktable") {
if (measure.length < 1 || measure.length > 4) errors.measure = "展示指标必选,且最多4项";
}
if (yySetting.type == "scatter") {
if (measure.length < 1 || measure.length > 3) errors.measure = "请选择展示指标";
if (yySetting.regionInfo && yySetting.regionInfo.region) {
if (yySetting.regionInfo.region != "100000" && yySetting.regionInfo.parent != "100000" && !eChartCommon.getMapAllCitys(yySetting.regionInfo.region)) {
errors.map = "当前区域没有地图组件。";
}
} else {
errors.map = "请选择地图信息。";
}
} else if (yySetting.type != "barline") {
if (measure.length < 1 || measure.length > 5) errors.measure = "展示指标必选,且最多5项";
}
if (dimensionSub.length > 0 && measure.length > 1) errors.measure = "有辅维度存在,展示指标只支持单选";
if (orderField == "") errors.orderField = "请选择筛选指标";
if (yySetting.type == "pie") {
if (measure.length > 1) errors.measure = "饼形图展示指标只支持单选";
if (yySetting.hasOwnProperty("radius")) {
if (isNaN(yySetting.radius.radiusInner) || isNaN(yySetting.radius.radiusOuter)) errors.radiusInner = "内外径请输入0到100的整数,且外径大于内径。";
var radiusInner = Number(yySetting.radius.radiusInner);
var radiusOuter = Number(yySetting.radius.radiusOuter);
if (radiusInner < 0 || radiusOuter > 100 || radiusInner >= radiusOuter) {
errors.radiusInner = "内外径请输入0到100的整数,且外径大于内径。";
}
}
}
if (yySetting.type == "scatter") {
if (measure.length > 1) errors.measure = "气泡图展示指标只支持单选";
if (LngAndLat.longitude.longitudeField == "") errors.longitudeField = "经度字段不可为空";
if (LngAndLat.latitude.latitudeField == "") errors.latitudeField = "纬度字段不可为空";else if (LngAndLat.longitude.longitudeField == LngAndLat.latitude.latitudeField) {
errors.longitudeField = "经纬度字段不可相同";
errors.latitudeField = "经纬度字段不可相同";
}
}
if (yySetting.type == "ranktable") {
if (yySetting.orderInfo.topNum == "" || yySetting.orderInfo.topNum.toString().indexOf(".") > -1 || isNaN(yySetting.orderInfo.topNum) || Number(yySetting.orderInfo.topNum) > 999 || Number(yySetting.orderInfo.topNum) < 1) {
errors.topNum = "请录入1-999的整数。";
}
}
if (rotate && (Number(rotate) < 0 || Number(rotate) > 60)) errors.rotate = "显示角度应该在0-60之间";
if (bUseDimensionXRows && !dimensionXRows) {
errors.dimensionXRows = "请录入主维度行数。";
}
if (yySetting.type !== "scatter" && bUseDimensionXRows && Number(dimensionXRows) > 31) errors.dimensionXRows = "主维度行数不可大于31";
if (yySetting.type == "line") {
if (!bUseDimensionXRows && Number(dimensionSubRows) > 99) errors.dimensionXRows = "辅维度行数不可大于99";
} else {
if (!bUseDimensionXRows && Number(dimensionSubRows) > 5) errors.dimensionXRows = "辅维度行数不可大于5";
}
}
return errors;
}
function eChartSetting_Show(billnum, bShow, chartKey) {
return function (dispatch, getState) {
dispatch((0, _util.genAction)('PLATFORM_UI_EChartSetting_Show', {
billnum: billnum,
bShow: bShow,
chartKey: chartKey
}));
};
}
function eChartSetting_SetDisplayType(billnum, value) {
return function (dispatch, getState) {
dispatch((0, _util.genAction)('PLATFORM_UI_EChartSetting_SetDisplayType', {
billnum: billnum,
value: value
}));
};
}
function eChartSetting_SetSubChartColNum(billnum, value) {
return function (dispatch, getState) {
dispatch((0, _util.genAction)('PLATFORM_UI_EChartSetting_SetSubChartColNum', {
billnum: billnum,
value: value
}));
};
}
function eChartSetting_ChooseChart(billnum, configTemplate, chartKey, bAddNewToArr) {
return function (dispatch, getState) {
var newEChart = configTemplate;
var newEChartType = newEChart.yySetting.type;
var newEChartSubType = newEChart.yySetting.subType;
if (bAddNewToArr == false) {
var oldEChart = eChartCommon.subConfig_Get(getState().groupCondition.toJS()[billnum].eChart, newEChart.chartKey);
var oldEChartType = oldEChart ? oldEChart.yySetting.type : "";
var copyArray = [];
var titleText = _.get(oldEChart, 'eChartSetting.title.text');
if (titleText != "饼形图示例" && titleText != "柱形图示例" && titleText != "堆叠柱形图示例" && titleText != "条形图示例" && titleText != "堆叠条形图示例" && titleText != "折线图示例" && titleText != "曲线图示例" && titleText != "气泡图示例" && titleText != "柱折图示例" && titleText != "排名表示例") copyArray.push('eChartSetting.title.text');
copyArray.push('yySetting.dataField.dimensionX');
if (newEChartType != "pie" && newEChartType != "scatter" && newEChartType != "barline" && newEChartType != "ranktable") {
copyArray.push('yySetting.dataField.dimensionSub');
}
if (newEChartType != "pie" && newEChartType != "scatter" && newEChartType != "ranktable") {
copyArray.push('eChartSetting.xAxis.axisLabel.rotate');
}
if (newEChartType != "barline" && oldEChartType != "barline" && newEChartType != "ranktable") {
copyArray.push('yySetting.dataField.measure');
}
copyArray.push('yySetting.orderInfo.orderField');
copyArray.push('yySetting.orderInfo.orderBy');
if (newEChartType != "pie" && newEChartType != "scatter") {
copyArray.push('yySetting.orderInfo.bUseDimensionXRows');
}
copyArray.push('yySetting.orderInfo.dimensionXRows');
if (newEChartType != "pie" && newEChartType != "scatter" && newEChartType != "barline" && newEChartType != "ranktable") {
copyArray.push('yySetting.orderInfo.dimensionSubRows');
}