UNPKG

ming-demo3

Version:
309 lines (259 loc) 8.16 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.tree = tree; exports.getMenuTree = getMenuTree; exports.clearMenu = clearMenu; exports.treeload = treeload; exports.TreeNodeLoad = TreeNodeLoad; exports.setHandler = setHandler; exports.execHandler = execHandler; exports.moreButtonHandler = moreButtonHandler; var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator")); var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof")); var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); var _immutable = _interopRequireDefault(require("immutable")); var _env = _interopRequireDefault(require("../helpers/env")); var _util = require("@mdf/cube/lib/helpers/util"); var id = 1; var $$initialState = _immutable["default"].fromJS({ id: id, TreeData: [] }); function tree() { var $$state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : $$initialState; var action = arguments.length > 1 ? arguments[1] : undefined; var status, account; switch (action.type) { case 'PLATFORM_UI_TREE_LOAD': return $$state.merge({ id: id++, TreeData: action.TreeData }); break; case 'PLATFORM_UI_TREE_NODE_LOAD': return $$state.merge({ TreeNode: action.TreeNode }); break; default: return $$state; } } function getMenuTree(_x) { return _getMenuTree.apply(this, arguments); } function _getMenuTree() { _getMenuTree = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee(dispatch) { var _ref, _ref$cacheData, cacheData, _ref$cacheDBData, cacheDBData, config, json, orgMenus, storeMenus, showOptions, _args = arguments; return _regenerator["default"].wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: _ref = _args.length > 1 && _args[1] !== undefined ? _args[1] : {}, _ref$cacheData = _ref.cacheData, cacheData = _ref$cacheData === void 0 ? null : _ref$cacheData, _ref$cacheDBData = _ref.cacheDBData, cacheDBData = _ref$cacheDBData === void 0 ? null : _ref$cacheDBData; config = { url: "getMenuTree", method: 'POST', options: { uniform: false } }; if (!cacheData) { _context.next = 6; break; } _context.t0 = cacheData; _context.next = 9; break; case 6: _context.next = 8; return (0, _util.proxy)(config); case 8: _context.t0 = _context.sent; case 9: json = _context.t0; cacheDBData ? cacheDBData.MenuTreeData = json : ''; if (!(json.code !== 200)) { _context.next = 14; break; } cb.utils.alert(json.message, 'error'); return _context.abrupt("return"); case 14: json.data = json.data || []; orgMenus = [], storeMenus = []; console.error(_env["default"].INTERACTIVE_MODE); (0, _util.rebuildTreeData)(json.data, orgMenus, storeMenus); dispatch({ type: 'PLATFORM_UI_TREE_LOAD', TreeData: json.data }); showOptions = { showOrg: orgMenus.length ? true : false, showStore: storeMenus.length ? true : false }; if (showOptions.showStore) { showOptions.canBilling = storeMenus.find(function (item) { return item.code.indexOf('RM0101') > -1; }) ? true : false; } dispatch((0, _util.genAction)('PLATFORM_DATA_USER_ACCOUNT_MERGE_INFO', showOptions)); return _context.abrupt("return", showOptions); case 23: case "end": return _context.stop(); } } }, _callee); })); return _getMenuTree.apply(this, arguments); } function clearMenu() { return { type: 'PLATFORM_UI_TREE_LOAD', TreeData: [] }; } function treeload(callback) { return function (dispatch, getState) { var options = (0, _util.genFetchOptions)('post'); fetch('/getMenuTree?token=' + getState().user.get('token'), options).then(function (response) { if (response.status >= 400) { throw new Error("Bad response from server"); } return response.json(); }).then(function (json) { return (0, _util.auth)(json, dispatch); }).then(function (json) { if (!json) return; callback(); var orgMenus = [], storeMenus = []; (0, _util.rebuildTreeData)(json.data, orgMenus, storeMenus); dispatch({ type: 'PLATFORM_UI_TREE_LOAD', TreeData: json.data }); dispatch((0, _util.genAction)('PLATFORM_DATA_USER_ACCOUNT_MERGE_INFO', { showOrg: orgMenus.length ? true : false, showStore: storeMenus.length ? true : false })); }); }; } function TreeNodeLoad(value, CallBack) { var options = { method: 'post', headers: { 'Accept': 'application/json', 'Content-Type': 'application/json' }, body: JSON.stringify({ type: 'bill', billNo: value }) }; return function (dispatch) { fetch('/meta', options).then(function (response) { if (response.status >= 400) { throw new Error("Bad response from server"); } return response.json(); }).then(function (json) { dispatch({ type: 'PLATFORM_UI_TREE_NODE_LOAD' }); CallBack(); }); }; } var handler = null; function setHandler(data) { return function (dispatch) { handler = data; }; } var recursiveFind = function recursiveFind(list, code, data) { if (!list.length) return; list.forEach(function (item) { if (item.children) { recursiveFind(item.children, code, data); } else { if (item.code !== code) return; data.push(item); } }); }; var doCommonVisit = function doCommonVisit(menuCode) { var config = { url: 'commonfuctions/visits', method: 'GET', params: { menuCode: menuCode } }; (0, _util.proxy)(config); }; function execHandler(menuCode, carryData, callback) { return function (dispatch, getState) { var portalTreeData = getState().tree.toJS().TreeData; if (!portalTreeData) return; try { menuCode = JSON.parse(menuCode); } catch (e) {} var returnData = []; if ((0, _typeof2["default"])(menuCode) === 'object') { returnData.push(menuCode); menuCode = menuCode.code; } else { recursiveFind(portalTreeData, menuCode, returnData); if (returnData.length !== 1) { cb.utils.alert("\u6CA1\u6709\u627E\u7740\u7F16\u7801\u4E3A".concat(menuCode, "\u7684\u83DC\u5355"), 'error'); return; } doCommonVisit(menuCode); } var menuData = returnData[0]; var filterCondition = null; if (carryData) { var query = carryData.query, title = carryData.title, condition = carryData.condition; if (condition) { filterCondition = condition; if (query) { menuCode += '_' + query; menuData.key = menuCode; } if (title) menuData.name = title; } else { var key = query.key, value = query.value; menuCode += '_' + value; var menuUrl = "?".concat(key, "=").concat(value); menuData.key = menuCode; if (title) menuData.name = title; menuData.menuUrl = menuUrl; } } handler(menuCode, menuData, filterCondition, callback); }; } function moreButtonHandler(menuCode, menuData, filterCondition) { return function (dispatch) { handler(menuCode, menuData, filterCondition); }; } //# sourceMappingURL=tree.js.map