UNPKG

sunmao-sdk

Version:

榫卯-开箱即用赋能-sdk

725 lines (597 loc) 32.7 kB
"use strict"; function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _react = _interopRequireWildcard(require("react")); var _lodash = _interopRequireDefault(require("lodash")); var _TR = _interopRequireDefault(require("./../component/TR")); var _ModalFactory = _interopRequireDefault(require("./../component/ModalFactory")); var _CustomHeaderModal = _interopRequireDefault(require("./../component/CustomHeaderModal")); var _request = require("./../net/request"); var formUtils = _interopRequireWildcard(require("./../utils/formUtils")); var commonUtils = _interopRequireWildcard(require("./../utils/commonUtils")); var _localStorageUtils = require("./../utils/localStorageUtils"); var _ = require(".."); var _api = require("../net/api"); var _excluded = ["customKey", "schema", "api", "tableProps", "initData", "filterParams", "filterColumns", "refreshColumns", "filterTableBtn", "filterRowBtn", "getCheckboxProps", "rowSelectionProps", "widgets", "tableTitle", "searchResponse"], _excluded2 = ["data", "total", "pageSize"]; function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); } function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } function _iterableToArrayLimit(arr, i) { var _i = arr && (typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]); if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } var displayName = "CpTable"; var CpTable = function CpTable(props) { var customKey = props.customKey, schema = props.schema, _props$api = props.api, api = _props$api === void 0 ? {} : _props$api, tableProps = props.tableProps, initData = props.initData, filterParams = props.filterParams, filterColumns = props.filterColumns, refreshColumns = props.refreshColumns, filterTableBtn = props.filterTableBtn, filterRowBtn = props.filterRowBtn, getCheckboxProps = props.getCheckboxProps, rowSelectionProps = props.rowSelectionProps, widgets = props.widgets, tableTitle = props.tableTitle, searchResponse = props.searchResponse, otherProps = _objectWithoutProperties(props, _excluded); var requestFunc = _.CP.getCPInfo().requestFunc || _request.postNew; var apis = _objectSpread({}, api); var tableRef = (0, _react.useRef)(); var hasPageSchema = (0, _react.useRef)(false); var pageInfo = (0, _react.useRef)(formUtils.defaultPageInfo()); var _useState = (0, _react.useState)(null), _useState2 = _slicedToArray(_useState, 2), tableConfig = _useState2[0], setTableConfig = _useState2[1]; // 自定义查询、表头 var _useState3 = (0, _react.useState)(false), _useState4 = _slicedToArray(_useState3, 2), showCustomColumns = _useState4[0], setShowCustomColumns = _useState4[1]; var _useState5 = (0, _react.useState)(false), _useState6 = _slicedToArray(_useState5, 2), showCustomSearch = _useState6[0], setShowCustomSearch = _useState6[1]; var customColumnsInfo = (0, _react.useRef)({}); var customSearchInfo = (0, _react.useRef)({}); (0, _react.useEffect)(function () { if (schema) { try { pageInfo.current = schema; hasPageSchema.current = true; resetTableConfig(initData); } catch (e) { commonUtils.log(e); } } }, [schema]); (0, _react.useEffect)(function () { if (tableRef.current && hasPageSchema.current && !commonUtils.isEmptyObj(initData)) { var search = _objectSpread(_objectSpread({}, tableRef.current.getState().search), initData); tableRef.current.setState({ search: search }); setTimeout(function () { tableRef.current.refresh(); }, 100); } }, [initData]); (0, _react.useEffect)(function () { if (tableRef.current && refreshColumns) { resetTableConfig(tableRef.current.getState().search); } }, [refreshColumns]); (0, _react.useEffect)(function () { if (tableRef.current) { tableRef.current.setTitle(tableTitle); } }, [tableTitle]); var resetTableConfig = /*#__PURE__*/function () { var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() { var search, _pageInfo$current, table, form, url, tableBtn, handle, tab, autoSearch, _formUtils$getTableBt, tableHandle, tableAcl, openCustomColumns, _formUtils$getTableHa, rowHandle, rowAcl, listAction, _formUtils$getTableTa, tabHandle, tabAcl, permissionNames, aclCheckPermissionResults, resizeColumns, customColumns, customSearch, searchList, lastSearchList, defaultList, initialValue, rowSelection, _columns, lastColumnList, filterSchema, _frSchema, frSchema, defaultFormData, showColumns, lastColumns, schema, _CP$getCPInfo$extPara, _args = arguments; return regeneratorRuntime.wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: search = _args.length > 0 && _args[0] !== undefined ? _args[0] : {}; _pageInfo$current = pageInfo.current, table = _pageInfo$current.table, form = _pageInfo$current.form, url = _pageInfo$current.url, tableBtn = _pageInfo$current.tableBtn, handle = _pageInfo$current.handle, tab = _pageInfo$current.tab, autoSearch = _pageInfo$current.autoSearch; _formUtils$getTableBt = formUtils.getTableBtn(tableBtn === null || tableBtn === void 0 ? void 0 : tableBtn.handleItems), tableHandle = _formUtils$getTableBt.btn, tableAcl = _formUtils$getTableBt.acl, openCustomColumns = _formUtils$getTableBt.openCustomColumns; _formUtils$getTableHa = formUtils.getTableHandle(handle === null || handle === void 0 ? void 0 : handle.handleItems), rowHandle = _formUtils$getTableHa.btn, rowAcl = _formUtils$getTableHa.acl; listAction = "$func.".concat(url ? "onSdkSearch" : "getList"); _formUtils$getTableTa = formUtils.getTableTab( // TODO 缺少tab的权限控制 tab === null || tab === void 0 ? void 0 : tab.handleItems, listAction), tabHandle = _formUtils$getTableTa.btn, tabAcl = _formUtils$getTableTa.acl; permissionNames = Array.from(new Set([].concat(_toConsumableArray(tableAcl), _toConsumableArray(rowAcl), _toConsumableArray(tabAcl)))); aclCheckPermissionResults = []; // 自定义表列宽度 resizeColumns = formUtils.getDicTrue(tableBtn === null || tableBtn === void 0 ? void 0 : tableBtn.resizeColumns); // 自定义表头控制 customColumns = openCustomColumns || formUtils.getDicTrue(tableBtn === null || tableBtn === void 0 ? void 0 : tableBtn.customColumns); // 自定义查询项 customSearch = formUtils.getDicTrue(tableBtn === null || tableBtn === void 0 ? void 0 : tableBtn.customSearch); // 表查询 searchList = (form === null || form === void 0 ? void 0 : form.formItems) || []; // 显示查询list // 获取缓存查询list user+页面标识+类型(search/columns) lastSearchList = _.CP.customConfigMap[customKey + "search"]; if (customSearch) { // 查询list 新旧merge // 有缓存信息时,根据用户信息处理 defaultList = searchList.filter(function (item) { return item.type !== "gudingcanshu_yincangbuxianshi"; } // 隐藏传参,不展示 ; 但需放置from表单中 ); lastSearchList = mergeList(lastSearchList, defaultList, "key"); // 弹框默认信息 customSearchInfo.current = { defaultList: defaultList, cacheList: lastSearchList }; } // 初始化查询值 initialValue = _objectSpread({}, search); // 是否多选 rowSelection = formUtils.getDicTrue(tableBtn === null || tableBtn === void 0 ? void 0 : tableBtn.rowSelection); // 枚举 赋值 _context.next = 18; return formUtils.getTableColumns(table === null || table === void 0 ? void 0 : table.columnItems); case 18: _columns = _context.sent; // 显示表列list // 获取缓存表列list user+页面标识+类型(search/columns) lastColumnList = _.CP.customConfigMap[customKey + "columns"]; // if (customColumns) { // 不管有没有,都赋值数据, // 查询list 新旧merge // 有缓存信息时,根据用户信息处理 lastColumnList = mergeList(lastColumnList, _columns, "dataIndex"); // 弹框默认信息 customColumnsInfo.current = { defaultList: _columns, cacheList: lastColumnList }; // } filterSchema = commonUtils.getFunc(form === null || form === void 0 ? void 0 : form.filterSchemaFunc, apis); // frSchema 支持混合开发 _frSchema = formUtils.listTranslSchema(customSearch ? lastSearchList : searchList, 4, initialValue); // 第二个参数需配置 frSchema = filterSchema ? filterSchema(_frSchema) : _frSchema; // 混合开发后组装initialValue initialValue = _objectSpread(_objectSpread({}, formUtils.getFRInitData(frSchema)), initialValue); // 获取隐藏固定传参 defaultFormData = formUtils.getDefaultInitData(searchList); // merge初始值 frSchema.formData = _objectSpread(_objectSpread({}, defaultFormData), initialValue); // 结合用户缓存过滤 columns showColumns = customColumns ? lastColumnList.filter(function (i) { var _i$isSelected; return (_i$isSelected = i.isSelected) !== null && _i$isSelected !== void 0 ? _i$isSelected : true; }) : _columns || []; // 结合自定义函数 混合开发 过滤 columns lastColumns = filterColumns ? filterColumns(showColumns, initialValue) : showColumns; // 对长column首项定位left处理 lastColumns.length > 8 && (lastColumns[0].fixed = "left"); // 生成schema schema = _objectSpread({ rowKey: (tableBtn === null || tableBtn === void 0 ? void 0 : tableBtn.rowKey) || "id", columns: lastColumns, tableConfig: { resizeColumns: resizeColumns, customColumns: customColumns && !openCustomColumns, customSearch: customSearch, setShowCustomColumns: setShowCustomColumns, setShowCustomSearch: setShowCustomSearch, resizeTable: function resizeTable(columns) { // 开启自定义才有缓存功能 保存最新表头宽度数据 if (customColumns) { // 将变更后数据转为Map var newMap = commonUtils.arrayKeyToMap(columns, "dataIndex"); // 将宽度缓存 lastColumnList = lastColumnList.map(function (item) { if (newMap.has(item.dataIndex)) { item.width = newMap.get(item.dataIndex).width; } return item; }); // 保存表头,存入缓存 _.CP.customConfigMap[customKey + "columns"] = lastColumnList; (0, _localStorageUtils.setObject)("sunmao_customConfigMap", _.CP.customConfigMap); setTimeout(function () { commonUtils.behaviorLog("滑动设置表列宽度"); }, 1); } }, rowSelection: rowSelection, getCheckboxProps: getCheckboxProps, rowSelectionProps: rowSelectionProps }, searchConfig: { searchTopRender: commonUtils.getFunc(form === null || form === void 0 ? void 0 : form.searchTopRender, apis), autoSearch: formUtils.getDicTrue(autoSearch || "5fb8b91ae2559fcd82cad4d2"), // || (!commonUtils.isEmptyObj(initTmpData) && !tableRef.current), // 自动搜索,功能单一化,故注释 initialValue: initialValue, // 恢复默认传参 ,表单级参数 initData: _objectSpread(_objectSpread({}, initData), defaultFormData), // 为页面级参数、可被search覆盖,不可缺失 schema: frSchema, tab: tabHandle ? 0 : -1, api: tabHandle || { text: "", action: listAction } }, actionConfig: { showCount: parseInt((handle === null || handle === void 0 ? void 0 : handle.showCount) || "2"), fixed: "right" }, buttonMenu: filterTableBtn ? filterTableBtn(tableHandle) : tableHandle, actionList: filterRowBtn ? filterRowBtn(rowHandle) : rowHandle, scroll: { x: formUtils.getTableWidth(lastColumns) }, aclCheckPermissionResults: [], tableTitle: tableTitle }, tableProps); setTableConfig(schema); if (permissionNames.length) { (0, _request.postNew)((0, _api.getHsfHost)() + _api.aclCheckPermissions, { userId: (_CP$getCPInfo$extPara = _.CP.getCPInfo().extParams) === null || _CP$getCPInfo$extPara === void 0 ? void 0 : _CP$getCPInfo$extPara.bucId, permissionNames: permissionNames }, "checkPermissionResults", {}, "[object Array]").then(function (res) { aclCheckPermissionResults = res.data; setTableConfig(_objectSpread(_objectSpread({}, schema), {}, { aclCheckPermissionResults: aclCheckPermissionResults })); }); } case 34: case "end": return _context.stop(); } } }, _callee); })); return function resetTableConfig() { return _ref.apply(this, arguments); }; }(); /** * merge 缓存与线上数据 * @param {缓存数据} cacheList * @param {实时数据} newList * @param {数据key} primaryKey * @returns merge后数据 */ var mergeList = function mergeList(cacheList, newList, primaryKey) { var lastList = []; try { // 将最新数据转为Map var newMap = commonUtils.arrayKeyToMap(newList, primaryKey); // 删除无效item // 更新item最新信息,非必选项保留用户配置 var tmpItem; // 顺序优先缓存 cacheList.forEach(function (c) { // 最新对象 tmpItem = newMap.get(c[primaryKey]); if (tmpItem) { // item未失效 lastList.push(_objectSpread(_objectSpread({}, tmpItem), {}, { width: c === null || c === void 0 ? void 0 : c.width, isSelected: formUtils.getDicTrue(tmpItem.isRequired) || c.isSelected, // 必选则必选中,再者为缓存情况(存在从非必选->必选 场景) selectedIndex: lastList.length })); } }); // 将最新有效缓存数据转为Map var cacheMap = commonUtils.arrayKeyToMap(lastList, primaryKey); // 将新增item依次插入尾部 newList.forEach(function (n) { if (!cacheMap.has(n[primaryKey])) { // 缓存不存在时(新增),加入list尾部 lastList.push(_objectSpread(_objectSpread({ isSelected: formUtils.getDicTrue(n.selectTrue || "5fb8b91ae2559fcd82cad4d2") }, n), {}, { selectedIndex: lastList.length })); } }); } catch (e) { // 无缓存则初始化处理 commonUtils.log(e); lastList = newList.map(function (i, index) { return _objectSpread(_objectSpread({ isSelected: formUtils.getDicTrue(i.selectTrue || "5fb8b91ae2559fcd82cad4d2") }, i), {}, { selectedIndex: index }); }); } return lastList; }; /** * 必备函数 * 表格请求函数 * 暂支持post请求,因get用长度限制,避免过多参数 * @param params 搜索项信息 */ var onSdkSearch = function onSdkSearch(params) { var _pageInfo$current2 = pageInfo.current, url = _pageInfo$current2.url, _pageInfo$current2$ok = _pageInfo$current2.okPath, okPath = _pageInfo$current2$ok === void 0 ? "data" : _pageInfo$current2$ok, totalPath = _pageInfo$current2.totalPath; var current = params.current, pageSize = params.pageSize; // 例如: 服务器返回数据结构 sdk所需数据结构 var handleRes = function handleRes(_ref2) { var _ref2$data = _ref2.data, data = _ref2$data === void 0 ? [] : _ref2$data, _ref2$total = _ref2.total, total = _ref2$total === void 0 ? 0 : _ref2$total, _ref2$pageSize = _ref2.pageSize, pageSize = _ref2$pageSize === void 0 ? 10 : _ref2$pageSize, rest = _objectWithoutProperties(_ref2, _excluded2); return _objectSpread({ data: data, pageSize: pageSize, total: total }, rest); }; return requestFunc(commonUtils.getUrl(url), (0, _request.handleAppParams)(params, filterParams), okPath).then(function (res) { if (!res) throw new Error("请求错误,自行处理,该请求可自行设计,只要返回正确数据格式即可!"); var data = { current: current, pageSize: pageSize }; // 兼容索引处理 精确处理 var list = commonUtils.getFirstList(res.exactData); if (list) data.data = list;else data.data = commonUtils.getFirstList(res.data) || []; // 数量总数 data.total = _lodash.default.get(res, totalPath || "data.count", 0) || _lodash.default.get(res, "data.total", 0); var endData = handleRes(data); searchResponse && searchResponse(endData); return endData; }).catch(function (err) { console.error("err", err, displayName); }); }; var getList = function getList() { return new Promise(function (resolve, reject) { try { var list = JSON.parse(pageInfo.current.table.mockColumn); resolve({ data: list, total: list.length }); } catch (_unused) { reject("mock失败!"); } }); }; /** * 表格列操作区-暂为弹框操作 * @param record 行数据 * @param refresh 表格刷新函数 * @param handleInfo 操作信息 */ var onSdkTableHandle = function onSdkTableHandle(record, refresh, handleInfo) { var content = handleInfo.content, funcType = handleInfo.funcType; var _ref3 = content || {}, formItems = _ref3.formItems, name = _ref3.name, url = _ref3.url, okPath = _ref3.okPath, okFunc = _ref3.okFunc, filterSchemaFunc = _ref3.filterSchemaFunc, displayType = _ref3.displayType; var apiUrl = commonUtils.getUrl(url); var params = _objectSpread({ rowInfo: record }, record); switch (funcType) { case "34": // 直接请求 case "35": // 二次确认请求 reqHandle(apiUrl, okPath, commonUtils.getFunc(okFunc, apis), refresh, params); break; case "36": // 表单弹框请求 var filterSchema = commonUtils.getFunc(filterSchemaFunc, apis); var listTranslSchema = formUtils.listTranslSchema(formItems, 2, record); if (formUtils.getDicTrue(displayType)) listTranslSchema.displayType = "column"; formHandle(filterSchema ? filterSchema(listTranslSchema) : listTranslSchema, name, apiUrl, okPath, commonUtils.getFunc(okFunc, apis), refresh, params); break; default: break; } }; /** * 表头操作区-暂为弹框操作 * @param data 表格数据 * @param refresh 表格刷新函数 * @param selectedKeys 选中行key数据,如id * @param selectedRows 选中行数据 * @param handleInfo 操作信息 */ var onSdkTableBtn = function onSdkTableBtn(_ref4) { var data = _ref4.data, refresh = _ref4.refresh, selectedKeys = _ref4.selectedKeys, selectedRows = _ref4.selectedRows, handleInfo = _ref4.handleInfo, search = _ref4.search; var content = handleInfo.content, funcType = handleInfo.funcType; var _ref5 = content || {}, formItems = _ref5.formItems, name = _ref5.name, url = _ref5.url, okPath = _ref5.okPath, okFunc = _ref5.okFunc, filterSchemaFunc = _ref5.filterSchemaFunc, displayType = _ref5.displayType; var apiUrl = commonUtils.getUrl(url); var params = _objectSpread({ selectedKeys: selectedKeys }, search); try { var _pageInfo$current3, _pageInfo$current3$ta; // 自定义 多选查询 key params[(_pageInfo$current3 = pageInfo.current) === null || _pageInfo$current3 === void 0 ? void 0 : (_pageInfo$current3$ta = _pageInfo$current3.tableBtn) === null || _pageInfo$current3$ta === void 0 ? void 0 : _pageInfo$current3$ta.rowSelectionCustomKey] = selectedKeys; } catch (_unused2) {} switch (funcType) { case "34": // 直接请求 case "35": // 二次确认请求 reqHandle(apiUrl, okPath, commonUtils.getFunc(okFunc, apis), refresh, filterParams ? filterParams(params, handleInfo) : params); break; case "36": // 表单弹框请求 var filterSchema = commonUtils.getFunc(filterSchemaFunc, apis); var listTranslSchema = formUtils.listTranslSchema(formItems, 2); if (formUtils.getDicTrue(displayType)) { listTranslSchema.displayType = "column"; } formHandle(filterSchema ? filterSchema(listTranslSchema) : listTranslSchema, name, apiUrl, okPath, commonUtils.getFunc(okFunc, apis), refresh, params); break; case "38": // 自定义表头配置 setShowCustomColumns(true); break; default: break; } }; var reqHandle = /*#__PURE__*/function () { var _ref6 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(url, okPath, okFunc, refresh, params) { var loading; return regeneratorRuntime.wrap(function _callee2$(_context2) { while (1) { switch (_context2.prev = _context2.next) { case 0: loading = _ModalFactory.default.loading(); return _context2.abrupt("return", requestFunc(url, (0, _request.handleAppParams)(params), okPath, {}, false, loading).then(function (res) { try { loading.destroy(); } catch (_unused3) {} if (okFunc) okFunc(res, refresh, commonUtils.splitParams(params));else refresh && refresh(); })); case 2: case "end": return _context2.stop(); } } }, _callee2); })); return function reqHandle(_x, _x2, _x3, _x4, _x5) { return _ref6.apply(this, arguments); }; }(); /** * 按键事件 - 表单弹框 * @param formSchema 表单内容 * @param title 表单名称 * @param okPath 自定义请求成功标示 * @param url 请求url * @param okFunc 自定义成功调用函数 * @param refresh 表格刷新函数 */ var formHandle = function formHandle(formSchema, title, url, okPath, okFunc, refresh, params) { return _ModalFactory.default.showModalForm({ formSchema: formSchema, widgets: widgets, width: 1000, title: title, request: { okPath: okPath, url: url, params: params, handleOk: function handleOk(formData, validate) { if (validate.length) return false; return true; }, onSuccess: function onSuccess(res, formData) { if (okFunc) okFunc(res, refresh, params, formData);else refresh && refresh(); } } }); }; return tableConfig ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_CustomHeaderModal.default, _extends({ fieldNames: { behaviorName: "自定义表列展示", customKey: customKey + "columns", key: "dataIndex", label: "label" }, show: showCustomColumns, handleCancel: function handleCancel() { return setShowCustomColumns(false); }, onChange: function onChange() { setShowCustomColumns(false); resetTableConfig(tableRef.current.getState().search); } }, customColumnsInfo.current)), /*#__PURE__*/_react.default.createElement(_CustomHeaderModal.default, _extends({ fieldNames: { behaviorName: "自定义查询展示", customKey: customKey + "search", key: "key", label: "label" }, show: showCustomSearch, handleCancel: function handleCancel() { return setShowCustomSearch(false); }, onChange: function onChange() { setShowCustomSearch(false); resetTableConfig(tableRef.current.getState().search); } }, customSearchInfo.current)), /*#__PURE__*/_react.default.createElement(_TR.default, _extends({ customKey: customKey, ref: tableRef, schema: tableConfig, api: _objectSpread(_objectSpread({ getList: getList }, apis), {}, { onSdkTableHandle: onSdkTableHandle, onSdkTableBtn: onSdkTableBtn, onSdkSearch: onSdkSearch }), widgets: widgets }, otherProps))) : null; }; var _default = /*#__PURE__*/_react.default.memo(CpTable); exports.default = _default;