sunmao-sdk
Version:
榫卯-开箱即用赋能-sdk
697 lines (587 loc) • 30.4 kB
JavaScript
var _excluded = ["customKey", "schema", "api", "tableProps", "initData", "filterParams", "filterColumns", "refreshColumns", "filterTableBtn", "filterRowBtn", "getCheckboxProps", "rowSelectionProps", "widgets", "tableTitle", "searchResponse"],
_excluded2 = ["data", "total", "pageSize"];
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; }
import React, { useState, useEffect, useRef } from "react";
import lodash from "lodash";
import TR from "./../component/TR";
import ModalFactory from "./../component/ModalFactory";
import CustomHeaderModal from "./../component/CustomHeaderModal";
import { handleAppParams, postNew } from "./../net/request";
import * as formUtils from "./../utils/formUtils";
import * as commonUtils from "./../utils/commonUtils";
import { setObject } from "./../utils/localStorageUtils";
import { CP } from "..";
import { aclCheckPermissions, getHsfHost } from "../net/api";
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 || postNew;
var apis = _objectSpread({}, api);
var tableRef = useRef();
var hasPageSchema = useRef(false);
var pageInfo = useRef(formUtils.defaultPageInfo());
var _useState = useState(null),
_useState2 = _slicedToArray(_useState, 2),
tableConfig = _useState2[0],
setTableConfig = _useState2[1]; // 自定义查询、表头
var _useState3 = useState(false),
_useState4 = _slicedToArray(_useState3, 2),
showCustomColumns = _useState4[0],
setShowCustomColumns = _useState4[1];
var _useState5 = useState(false),
_useState6 = _slicedToArray(_useState5, 2),
showCustomSearch = _useState6[0],
setShowCustomSearch = _useState6[1];
var customColumnsInfo = useRef({});
var customSearchInfo = useRef({});
useEffect(function () {
if (schema) {
try {
pageInfo.current = schema;
hasPageSchema.current = true;
resetTableConfig(initData);
} catch (e) {
commonUtils.log(e);
}
}
}, [schema]);
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]);
useEffect(function () {
if (tableRef.current && refreshColumns) {
resetTableConfig(tableRef.current.getState().search);
}
}, [refreshColumns]);
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;
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) {
postNew(getHsfHost() + 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), 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.get(res, totalPath || "data.count", 0) || lodash.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.loading();
return _context2.abrupt("return", requestFunc(url, 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.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.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(CustomHeaderModal, _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.createElement(CustomHeaderModal, _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.createElement(TR, _extends({
customKey: customKey,
ref: tableRef,
schema: tableConfig,
api: _objectSpread(_objectSpread({
getList: getList
}, apis), {}, {
onSdkTableHandle: onSdkTableHandle,
onSdkTableBtn: onSdkTableBtn,
onSdkSearch: onSdkSearch
}),
widgets: widgets
}, otherProps))) : null;
};
export default /*#__PURE__*/React.memo(CpTable);