saas-dynamic-component
Version:
saas-dynamic-component ==== saas平台动态引擎组件库,目前包括查询引擎、表格引擎,后续待增加...
194 lines (179 loc) • 6.9 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _mobxStateTree = require('mobx-state-tree');
var _moment = require('moment');
var _moment2 = _interopRequireDefault(_moment);
var _mobx = require('mobx');
var _util = require('../utils/util');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
var tableEngineStore = _mobxStateTree.types.model("tableEngineStore", {
isBuild: _mobxStateTree.types.optional(_mobxStateTree.types.boolean, true),
hostDomain: '',
loadTableMetaInfo: 'ypub-paas-web/proxy/loadTableMetaInfo',
translate: 'ypub-paas-web/proxy/translate'
}).volatile(function (self) {
return {
allColumns: [],
tableColumns: [],
fieldCodes: [],
tableData: [],
backTableData: [],
listTotal: null,
pageSize: 10,
currentPage: 1,
operations: {},
opsInfo: {},
sorter: null,
tableLoading: false,
resultLoading: true
};
}).views(function (self) {
return {
get common() {
return (0, _mobxStateTree.getParent)(self).common;
}
};
}).actions(function (self) {
var _ref;
return _ref = {
setAllColumns: function setAllColumns(v) {
self.allColumns = v;
},
setResultLoading: function setResultLoading(v) {
self.resultLoading = v;
},
setTableLoading: function setTableLoading(v) {
self.tableLoading = v;
}
}, _defineProperty(_ref, 'setTableLoading', function setTableLoading(v) {
self.tableLoading = v;
}), _defineProperty(_ref, 'setSorter', function setSorter(v) {
self.sorter = v;
}), _defineProperty(_ref, 'setTableAction', function setTableAction(v) {
self.tableColumns = [].concat(_toConsumableArray(v));
}), _defineProperty(_ref, 'setCurrentPage', function setCurrentPage(v) {
self.currentPage = v;
}), _defineProperty(_ref, 'setPageSize', function setPageSize(v) {
self.pageSize = v;
}), _defineProperty(_ref, 'setTableData', function setTableData(v) {
self.tableData = v;
}), _defineProperty(_ref, 'setTableEdit', function setTableEdit(bool, record, index) {
self.tableData = JSON.parse(JSON.stringify(self.backTableData));
self.tableData.map(function (item) {
item.editable = false;
});
record.editable = bool;
self.tableData[index] = record;
if (bool == true) {
self.tableData = [].concat(_toConsumableArray(self.tableData));
} else {
self.tableData = JSON.parse(JSON.stringify(self.backTableData));
}
}), _defineProperty(_ref, 'resetOperations', function resetOperations(ops) {
var option = {},
opsInfo = {};
ops.map(function (item) {
option[item.operCode] = item.extendUrl;
opsInfo[item.operCode] = item;
});
self.operations = option;
self.opsInfo = opsInfo;
}), _defineProperty(_ref, 'resetResult', function resetResult(columns) {
var arrColumns = [];
columns.map(function (item) {
var params = {
dataIndex: item.dataIndex,
title: item.title,
sorter: item.isSorted,
width: item.width != null ? Number(item.width) : null
};
if (item.showType == 15) {
params.render = function (text, record, index) {
return item.showMap[text];
};
}
if (!item.isHidden) {
arrColumns.push(params);
}
});
return arrColumns;
}), _defineProperty(_ref, 'findFixedBySort', function findFixedBySort(columns) {
var leftColumns = [],
rightColumns = [],
middleColumns = [];
columns.map(function (item) {
if (item.fixed == 'left') {
leftColumns.push(item);
} else if (item.fixed == 'right') {
rightColumns.push(item);
} else {
middleColumns.push(item);
}
});
return leftColumns.concat(middleColumns).concat(rightColumns);
}), _defineProperty(_ref, 'getTableColumns', function getTableColumns(params) {
return self.common.fetchData(self.hostDomain + self.loadTableMetaInfo, self.setTableColumns, params, { method: 'get' }).catch(function (ex) {
self.common.Notification.error({
description: (0, _util.intlSaaS)('serverError') + ex,
duration: null
});
});
}), _defineProperty(_ref, 'setTableColumns', function setTableColumns(result) {
if (result.success) {
// self.tableColumns = self.resetResult(result.data.tableColumns);
self.fieldCodes = result.data.fieldCodes;
self.resetOperations(result.data.operations);
return self.findFixedBySort(result.data.tableColumns);
} else {
self.common.Notification.error({
description: (0, _util.intlSaaS)('serverError') + result.message,
duration: null
});
}
}), _defineProperty(_ref, 'searchTableData', function searchTableData(params, url) {
if (!self.isBuild) {
// url = `${__HOST}ypub-paas-web/proxy/order`;
var reg = /^http(s)?:\/\/(.*?)\//;
url = url.replace(reg, self.hostDomain);
}
return self.common.fetchData(url, self.setSearchTableData, params, { method: 'post' }).catch(function (ex) {
self.common.Notification.error({
description: (0, _util.intlSaaS)('serverError') + ex,
duration: null
});
});
}), _defineProperty(_ref, 'setSearchTableData', function setSearchTableData(result) {
if (result.success) {
self.tableData = result.data;
self.backTableData = JSON.parse(JSON.stringify(result.data));
self.listTotal = result.total;
self.resultLoading = false;
} else {
self.common.Notification.error({
description: (0, _util.intlSaaS)('serverError') + result.errorMessage,
duration: null
});
}
}), _defineProperty(_ref, 'translateParams', function translateParams(params, urlParams) {
return self.common.fetchData(self.hostDomain + self.translate + '?appCode=' + urlParams.appCode + '&menuUrl=' + urlParams.menuUrl, self.setTranslateParams, params, { method: 'post' }).catch(function (ex) {
self.common.Notification.error({
description: (0, _util.intlSaaS)('serverError') + ex,
duration: null
});
});
}), _defineProperty(_ref, 'setTranslateParams', function setTranslateParams(result) {
if (result.success) {
return result.data;
} else {
self.common.Notification.error({
description: (0, _util.intlSaaS)('serverError') + result.message,
duration: null
});
}
}), _ref;
});
exports.default = tableEngineStore;