@fle-ui/plus-table 1.0.7 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/es/FormSearch/FormRender.d.ts +31 -0
- package/es/FormSearch/index.d.ts +44 -0
- package/es/FormSearch/index.js +1 -2
- package/es/components/icon/index.d.ts +3 -0
- package/es/components/icon/index.js +7 -0
- package/es/index.d.ts +44 -0
- package/es/index.js +49 -44
- package/es/utils/api.d.ts +9 -0
- package/es/utils/common.d.ts +26 -0
- package/es/utils/common.js +2 -2
- package/es/utils/options.d.ts +25 -0
- package/es/utils/request.d.ts +26 -0
- package/es/utils/serviceEnv.d.ts +6 -0
- package/es/utils/serviceEnv.js +12 -0
- package/lib/FormSearch/FormRender.d.ts +31 -0
- package/lib/FormSearch/FormRender.js +214 -0
- package/lib/FormSearch/index.d.ts +44 -0
- package/lib/FormSearch/index.js +193 -0
- package/lib/components/icon/index.d.ts +3 -0
- package/lib/components/icon/index.js +13 -0
- package/lib/index.d.ts +44 -0
- package/lib/index.js +49 -45
- package/lib/utils/api.d.ts +9 -0
- package/lib/utils/api.js +15 -0
- package/lib/utils/common.d.ts +26 -0
- package/lib/utils/common.js +38 -0
- package/lib/utils/options.d.ts +25 -0
- package/lib/utils/options.js +101 -0
- package/lib/utils/request.d.ts +26 -0
- package/lib/utils/request.js +180 -0
- package/lib/utils/serviceEnv.d.ts +6 -0
- package/lib/utils/serviceEnv.js +18 -0
- package/package.json +12 -15
- package/es/mock.js +0 -60
- package/lib/mock.js +0 -66
package/README.md
CHANGED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { BaseQueryFilterProps, ProFormInstance, ProFormProps } from '@ant-design/pro-form';
|
|
2
|
+
import type { ProSchemaComponentTypes } from '@ant-design/pro-utils';
|
|
3
|
+
import type { FormItemProps } from 'antd';
|
|
4
|
+
import React from 'react';
|
|
5
|
+
import type { ActionType, ProColumns, ProTableProps } from '@ant-design/pro-components';
|
|
6
|
+
export type SearchConfig = BaseQueryFilterProps & {
|
|
7
|
+
filterType?: 'query' | 'light';
|
|
8
|
+
};
|
|
9
|
+
export type TableFormItem<T, U = any> = {
|
|
10
|
+
onSubmit?: (value: T, firstLoad: boolean) => void;
|
|
11
|
+
onReset?: (value: T) => void;
|
|
12
|
+
form?: Omit<ProFormProps, 'form'>;
|
|
13
|
+
type?: ProSchemaComponentTypes;
|
|
14
|
+
dateFormatter?: ProTableProps<T, U, any>['dateFormatter'];
|
|
15
|
+
search?: false | SearchConfig;
|
|
16
|
+
columns: ProColumns<U, any>[];
|
|
17
|
+
formRef: React.MutableRefObject<ProFormInstance | undefined>;
|
|
18
|
+
submitButtonLoading?: boolean;
|
|
19
|
+
manualRequest?: boolean;
|
|
20
|
+
bordered?: boolean;
|
|
21
|
+
action: React.MutableRefObject<ActionType | undefined>;
|
|
22
|
+
ghost?: boolean;
|
|
23
|
+
} & Omit<FormItemProps, 'children' | 'onReset'>;
|
|
24
|
+
/**
|
|
25
|
+
* 这里会把 列配置转化为 form 表单
|
|
26
|
+
*
|
|
27
|
+
* @param param0
|
|
28
|
+
* @returns
|
|
29
|
+
*/
|
|
30
|
+
declare const FormRender: <T, U = any>({ onSubmit, formRef, dateFormatter, type, columns, action, ghost, manualRequest, onReset, submitButtonLoading, search: searchConfig, form: formConfig, bordered, }: TableFormItem<T, U>) => React.JSX.Element;
|
|
31
|
+
export default FormRender;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { TablePaginationConfig } from 'antd';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import type { ActionType, ProTableProps } from '@ant-design/pro-components';
|
|
4
|
+
export type Bordered = boolean | {
|
|
5
|
+
search?: boolean;
|
|
6
|
+
table?: boolean;
|
|
7
|
+
};
|
|
8
|
+
type BaseFormProps<T, U> = {
|
|
9
|
+
pagination?: TablePaginationConfig | false;
|
|
10
|
+
beforeSearchSubmit?: (params: Partial<U>) => any;
|
|
11
|
+
action: React.MutableRefObject<ActionType | undefined>;
|
|
12
|
+
onSubmit?: (params: U) => void;
|
|
13
|
+
onReset?: () => void;
|
|
14
|
+
loading: boolean;
|
|
15
|
+
onFormSearchSubmit: (params: U) => void;
|
|
16
|
+
columns: ProTableProps<T, U, any>['columns'];
|
|
17
|
+
dateFormatter: ProTableProps<T, U, any>['dateFormatter'];
|
|
18
|
+
formRef: ProTableProps<T, U, any>['formRef'];
|
|
19
|
+
type: ProTableProps<T, U, any>['type'];
|
|
20
|
+
cardBordered: ProTableProps<T, U, any>['cardBordered'];
|
|
21
|
+
form: ProTableProps<T, U, any>['form'];
|
|
22
|
+
search: ProTableProps<T, U, any>['search'];
|
|
23
|
+
manualRequest: ProTableProps<T, U, any>['manualRequest'];
|
|
24
|
+
changeValue: Function;
|
|
25
|
+
};
|
|
26
|
+
declare class FormSearch<T, U> extends React.Component<BaseFormProps<T, U> & {
|
|
27
|
+
ghost?: boolean;
|
|
28
|
+
}> {
|
|
29
|
+
/** 查询表单相关的配置 */
|
|
30
|
+
onSubmit: (value: U, firstLoad: boolean) => void;
|
|
31
|
+
onReset: (value: Partial<U>) => void;
|
|
32
|
+
/**
|
|
33
|
+
* 只 Diff 需要用的 props,能减少 5 次左右的render
|
|
34
|
+
*
|
|
35
|
+
* @param next
|
|
36
|
+
* @see 因为 hooks 每次的 setFormSearch 都是新的,所以每次都触发 render
|
|
37
|
+
* @see action 也是同样的原因
|
|
38
|
+
* @returns
|
|
39
|
+
*/
|
|
40
|
+
isEqual: (next: BaseFormProps<T, U>) => boolean;
|
|
41
|
+
shouldComponentUpdate: (next: BaseFormProps<T, U>) => boolean;
|
|
42
|
+
render: () => React.JSX.Element;
|
|
43
|
+
}
|
|
44
|
+
export default FormSearch;
|
package/es/FormSearch/index.js
CHANGED
|
@@ -151,8 +151,7 @@ var FormSearch = /*#__PURE__*/function (_React$Component) {
|
|
|
151
151
|
search = _this$props4.search,
|
|
152
152
|
pagination = _this$props4.pagination,
|
|
153
153
|
ghost = _this$props4.ghost,
|
|
154
|
-
manualRequest = _this$props4.manualRequest
|
|
155
|
-
changeValue = _this$props4.changeValue;
|
|
154
|
+
manualRequest = _this$props4.manualRequest;
|
|
156
155
|
var pageInfo = pagination ? omitUndefined({
|
|
157
156
|
current: pagination.current,
|
|
158
157
|
pageSize: pagination.pageSize
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { createFromIconfontCN } from '@ant-design/icons';
|
|
2
|
+
/* 采用iconfont Symbol模式
|
|
3
|
+
每次更新icon后,记得复制最新的地址哦~ */
|
|
4
|
+
var Icon = createFromIconfontCN({
|
|
5
|
+
scriptUrl: ['//at.alicdn.com/t/c/font_3161758_5bzjjx85uxv.js', '//at.alicdn.com/t/font_2562875_b3aduyabrj.js']
|
|
6
|
+
});
|
|
7
|
+
export default Icon;
|
package/es/index.d.ts
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import React, { ReactElement } from 'react';
|
|
2
|
+
import type { ProColumns } from '@ant-design/pro-components';
|
|
3
|
+
import './FormSearch/index.less';
|
|
4
|
+
interface PlusColumns extends ProColumns {
|
|
5
|
+
baseSearch?: boolean;
|
|
6
|
+
}
|
|
7
|
+
export type { PlusColumns };
|
|
8
|
+
type settingsColumns = {
|
|
9
|
+
[key: string]: {
|
|
10
|
+
hideInTable?: boolean;
|
|
11
|
+
show?: boolean;
|
|
12
|
+
title: string;
|
|
13
|
+
field: string;
|
|
14
|
+
disabled?: boolean;
|
|
15
|
+
fixed?: 'left' | 'right';
|
|
16
|
+
sort?: number;
|
|
17
|
+
};
|
|
18
|
+
};
|
|
19
|
+
type PlusProps = {
|
|
20
|
+
mode?: 'normal' | 'drawsearch';
|
|
21
|
+
columns: PlusColumns[];
|
|
22
|
+
request?: any;
|
|
23
|
+
top?: number;
|
|
24
|
+
fetchSetting?: () => Promise<settingsColumns>;
|
|
25
|
+
updateSetting?: (params: any) => Promise<settingsColumns>;
|
|
26
|
+
defaultColumnsState?: {
|
|
27
|
+
[key: string]: {
|
|
28
|
+
show: boolean;
|
|
29
|
+
fixed: 'left' | 'right' | undefined;
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
headerTitle?: ReactElement;
|
|
33
|
+
hasShowFull?: boolean;
|
|
34
|
+
pagination?: {
|
|
35
|
+
pageSize?: number;
|
|
36
|
+
current?: number;
|
|
37
|
+
};
|
|
38
|
+
actionRef: any;
|
|
39
|
+
formRef?: any;
|
|
40
|
+
options?: any;
|
|
41
|
+
[key: string | symbol]: any;
|
|
42
|
+
};
|
|
43
|
+
declare const PlusTable: React.ForwardRefExoticComponent<Omit<PlusProps, "ref"> & React.RefAttributes<unknown>>;
|
|
44
|
+
export default PlusTable;
|
package/es/index.js
CHANGED
|
@@ -9,7 +9,7 @@ import "antd/es/message/style";
|
|
|
9
9
|
import _message from "antd/es/message";
|
|
10
10
|
import "antd/es/form/style";
|
|
11
11
|
import _Form from "antd/es/form";
|
|
12
|
-
var _excluded = ["mode", "columns", "
|
|
12
|
+
var _excluded = ["mode", "columns", "hasShowFull", "request", "pagination", "formRef", "actionRef", "defaultColumnsState", "options"];
|
|
13
13
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }
|
|
14
14
|
function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
|
|
15
15
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
@@ -33,10 +33,9 @@ import FormRender from './FormSearch/index';
|
|
|
33
33
|
import { BarsOutlined, ReloadOutlined } from '@ant-design/icons';
|
|
34
34
|
import './FormSearch/index.less';
|
|
35
35
|
var PlusTable = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
36
|
-
var _otherProps$scroll
|
|
36
|
+
var _otherProps$scroll;
|
|
37
37
|
var mode = props.mode,
|
|
38
38
|
columns = props.columns,
|
|
39
|
-
search = props.search,
|
|
40
39
|
_props$hasShowFull = props.hasShowFull,
|
|
41
40
|
hasShowFull = _props$hasShowFull === void 0 ? true : _props$hasShowFull,
|
|
42
41
|
request = props.request,
|
|
@@ -44,6 +43,8 @@ var PlusTable = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
44
43
|
formRef = props.formRef,
|
|
45
44
|
actionRef = props.actionRef,
|
|
46
45
|
defaultColumnsState = props.defaultColumnsState,
|
|
46
|
+
_props$options = props.options,
|
|
47
|
+
options = _props$options === void 0 ? {} : _props$options,
|
|
47
48
|
otherProps = _objectWithoutProperties(props, _excluded);
|
|
48
49
|
var searchRef = useRef(null);
|
|
49
50
|
var _useState = useState(false),
|
|
@@ -69,7 +70,7 @@ var PlusTable = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
69
70
|
var _useState9 = useState({}),
|
|
70
71
|
_useState10 = _slicedToArray(_useState9, 2),
|
|
71
72
|
columnsStateContainId = _useState10[0],
|
|
72
|
-
setColumnsStateContainId = _useState10[1]; //
|
|
73
|
+
setColumnsStateContainId = _useState10[1]; // 上传时 候的对数组
|
|
73
74
|
var _Form$useForm = _Form.useForm(),
|
|
74
75
|
_Form$useForm2 = _slicedToArray(_Form$useForm, 1),
|
|
75
76
|
form = _Form$useForm2[0];
|
|
@@ -141,12 +142,13 @@ var PlusTable = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
141
142
|
}();
|
|
142
143
|
var handleReset = /*#__PURE__*/function () {
|
|
143
144
|
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
|
|
145
|
+
var _props$fetchSetting;
|
|
144
146
|
var res;
|
|
145
147
|
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
146
148
|
while (1) switch (_context3.prev = _context3.next) {
|
|
147
149
|
case 0:
|
|
148
150
|
_context3.next = 2;
|
|
149
|
-
return props.fetchSetting();
|
|
151
|
+
return (_props$fetchSetting = props.fetchSetting) === null || _props$fetchSetting === void 0 ? void 0 : _props$fetchSetting.call(props);
|
|
150
152
|
case 2:
|
|
151
153
|
res = _context3.sent;
|
|
152
154
|
setColumnsStateMap(res);
|
|
@@ -163,7 +165,7 @@ var PlusTable = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
163
165
|
}();
|
|
164
166
|
var init = /*#__PURE__*/function () {
|
|
165
167
|
var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {
|
|
166
|
-
var res;
|
|
168
|
+
var _props$fetchSetting2, res;
|
|
167
169
|
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
|
|
168
170
|
while (1) switch (_context4.prev = _context4.next) {
|
|
169
171
|
case 0:
|
|
@@ -172,7 +174,7 @@ var PlusTable = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
172
174
|
break;
|
|
173
175
|
}
|
|
174
176
|
_context4.next = 3;
|
|
175
|
-
return props.fetchSetting();
|
|
177
|
+
return (_props$fetchSetting2 = props.fetchSetting) === null || _props$fetchSetting2 === void 0 ? void 0 : _props$fetchSetting2.call(props);
|
|
176
178
|
case 3:
|
|
177
179
|
res = _context4.sent;
|
|
178
180
|
setColumnsStateContainId(res);
|
|
@@ -187,7 +189,7 @@ var PlusTable = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
187
189
|
return _ref3.apply(this, arguments);
|
|
188
190
|
};
|
|
189
191
|
}();
|
|
190
|
-
var onValuesChange = function onValuesChange() {
|
|
192
|
+
var onValuesChange = function onValuesChange(changeValue, allValue) {
|
|
191
193
|
var _searchRef$current2;
|
|
192
194
|
searchRef === null || searchRef === void 0 ? void 0 : (_searchRef$current2 = searchRef.current) === null || _searchRef$current2 === void 0 ? void 0 : _searchRef$current2.setFieldValue(drawFormRef.current.getFieldsValue());
|
|
193
195
|
};
|
|
@@ -230,6 +232,33 @@ var PlusTable = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
230
232
|
});
|
|
231
233
|
return fetchParams;
|
|
232
234
|
};
|
|
235
|
+
var columnsState = {
|
|
236
|
+
//列设置
|
|
237
|
+
defaultValue: defaultColumnsState,
|
|
238
|
+
value: columnsStateMap,
|
|
239
|
+
onChange: handleOnChangeColumn //列状态的值发生改变之后触发
|
|
240
|
+
};
|
|
241
|
+
var _options = Object.prototype.toString.call(options) === '[object Object]' ? _objectSpread({
|
|
242
|
+
density: false,
|
|
243
|
+
reloadIcon: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(ReloadOutlined, {
|
|
244
|
+
onClick: function onClick() {
|
|
245
|
+
return actionRef.current.reload();
|
|
246
|
+
}
|
|
247
|
+
})),
|
|
248
|
+
setting: {
|
|
249
|
+
checkedReset: false,
|
|
250
|
+
extra: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("a", {
|
|
251
|
+
onClick: function onClick() {
|
|
252
|
+
return handleSave();
|
|
253
|
+
}
|
|
254
|
+
}, "\u4FDD\u5B58"), /*#__PURE__*/React.createElement("a", {
|
|
255
|
+
onClick: function onClick() {
|
|
256
|
+
return handleReset();
|
|
257
|
+
}
|
|
258
|
+
}, "\u91CD\u7F6E")),
|
|
259
|
+
showListItemOption: true
|
|
260
|
+
}
|
|
261
|
+
}, options) : options;
|
|
233
262
|
return /*#__PURE__*/React.createElement("div", {
|
|
234
263
|
className: !searchDrawer ? 'page_plustable__body' : 'page_plustable__body turn-left'
|
|
235
264
|
},
|
|
@@ -245,13 +274,13 @@ var PlusTable = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
245
274
|
xxl: 6
|
|
246
275
|
},
|
|
247
276
|
labelWidth: 80,
|
|
248
|
-
onCollapse: function onCollapse(
|
|
277
|
+
onCollapse: function onCollapse() {
|
|
249
278
|
// 执行展开和关闭动作
|
|
250
279
|
},
|
|
251
|
-
collapseRender: function collapseRender(
|
|
280
|
+
collapseRender: function collapseRender() {
|
|
252
281
|
return null;
|
|
253
282
|
},
|
|
254
|
-
optionRender: function optionRender(searchConfig
|
|
283
|
+
optionRender: function optionRender(searchConfig) {
|
|
255
284
|
return [/*#__PURE__*/React.createElement(_Button, {
|
|
256
285
|
size: "middle",
|
|
257
286
|
type: "primary",
|
|
@@ -290,12 +319,7 @@ var PlusTable = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
290
319
|
}, /*#__PURE__*/React.createElement(BarsOutlined, null), "\u9AD8\u7EA7\u7B5B\u9009") : null];
|
|
291
320
|
}
|
|
292
321
|
},
|
|
293
|
-
columnsState:
|
|
294
|
-
//列设置
|
|
295
|
-
defaultValue: defaultColumnsState,
|
|
296
|
-
value: columnsStateMap,
|
|
297
|
-
onChange: handleOnChangeColumn //列状态的值发生改变之后触发
|
|
298
|
-
},
|
|
322
|
+
columnsState: columnsState,
|
|
299
323
|
pagination: pagination,
|
|
300
324
|
actionRef: actionRef,
|
|
301
325
|
formRef: searchRef,
|
|
@@ -369,34 +393,15 @@ var PlusTable = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
369
393
|
x: (otherProps === null || otherProps === void 0 ? void 0 : (_otherProps$scroll = otherProps.scroll) === null || _otherProps$scroll === void 0 ? void 0 : _otherProps$scroll.x) || 1300
|
|
370
394
|
},
|
|
371
395
|
onChange: onTableChange,
|
|
372
|
-
options:
|
|
373
|
-
// 这里还要再处理一下 接口不应该调用
|
|
374
|
-
density: false,
|
|
375
|
-
reloadIcon: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(ReloadOutlined, {
|
|
376
|
-
onClick: function onClick() {
|
|
377
|
-
return actionRef.current.reload();
|
|
378
|
-
}
|
|
379
|
-
})),
|
|
380
|
-
setting: {
|
|
381
|
-
checkedReset: false,
|
|
382
|
-
extra: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("a", {
|
|
383
|
-
onClick: function onClick() {
|
|
384
|
-
return handleSave();
|
|
385
|
-
}
|
|
386
|
-
}, "\u4FDD\u5B58"), /*#__PURE__*/React.createElement("a", {
|
|
387
|
-
onClick: function onClick() {
|
|
388
|
-
return handleReset();
|
|
389
|
-
}
|
|
390
|
-
}, "\u91CD\u7F6E")),
|
|
391
|
-
showListItemOption: true
|
|
392
|
-
}
|
|
393
|
-
}
|
|
396
|
+
options: _options
|
|
394
397
|
})) : /*#__PURE__*/React.createElement(ProTable // 普通模式
|
|
395
398
|
, _extends({
|
|
396
399
|
columns: columns,
|
|
397
400
|
request: request,
|
|
398
401
|
actionRef: actionRef,
|
|
399
|
-
formRef: formRef
|
|
402
|
+
formRef: formRef,
|
|
403
|
+
columnsState: columnsState,
|
|
404
|
+
options: _options
|
|
400
405
|
}, otherProps)), /*#__PURE__*/React.createElement(_Drawer, {
|
|
401
406
|
onClose: function onClose() {
|
|
402
407
|
return setSearchDrawer(false);
|
|
@@ -405,9 +410,9 @@ var PlusTable = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
405
410
|
width: 380,
|
|
406
411
|
rootStyle: {
|
|
407
412
|
position: 'fixed',
|
|
408
|
-
top: props.top ||
|
|
413
|
+
top: props.top || 0
|
|
409
414
|
},
|
|
410
|
-
getContainer: (otherProps === null || otherProps === void 0 ? void 0 : otherProps.getContainer) ||
|
|
415
|
+
getContainer: (otherProps === null || otherProps === void 0 ? void 0 : otherProps.getContainer) || document.getElementsByTagName('body')[0],
|
|
411
416
|
className: "search-drawer",
|
|
412
417
|
open: searchDrawer,
|
|
413
418
|
maskClosable: false,
|
|
@@ -415,8 +420,8 @@ var PlusTable = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
415
420
|
}, /*#__PURE__*/React.createElement(FormRender, {
|
|
416
421
|
columns: columns,
|
|
417
422
|
loading: false,
|
|
418
|
-
changeValue: function changeValue() {
|
|
419
|
-
return onValuesChange();
|
|
423
|
+
changeValue: function changeValue(_changeValue, allValue) {
|
|
424
|
+
return onValuesChange(_changeValue, allValue);
|
|
420
425
|
},
|
|
421
426
|
onFormSearchSubmit: function onFormSearchSubmit() {
|
|
422
427
|
var _searchRef$current5;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 金额格式化
|
|
3
|
+
* @param data
|
|
4
|
+
*/
|
|
5
|
+
type moneyType = number | string;
|
|
6
|
+
interface ShowMoneyType {
|
|
7
|
+
(data: moneyType): string;
|
|
8
|
+
}
|
|
9
|
+
export declare const showMoney: ShowMoneyType;
|
|
10
|
+
/**
|
|
11
|
+
* 时间格式化
|
|
12
|
+
* @param data
|
|
13
|
+
* @param fmtType
|
|
14
|
+
*/
|
|
15
|
+
type timeType = Date | number | string;
|
|
16
|
+
interface ShowTimeType {
|
|
17
|
+
(data: timeType, fmtType: string): string;
|
|
18
|
+
}
|
|
19
|
+
export declare const showTime: ShowTimeType;
|
|
20
|
+
/**
|
|
21
|
+
* 格式化url参数
|
|
22
|
+
*/
|
|
23
|
+
export declare const parseQueryString: () => {
|
|
24
|
+
[key: string]: string;
|
|
25
|
+
};
|
|
26
|
+
export {};
|
package/es/utils/common.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
2
2
|
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); }
|
|
3
3
|
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; }
|
|
4
|
-
import
|
|
4
|
+
import dayjs from 'dayjs';
|
|
5
5
|
export var showMoney = function showMoney(data) {
|
|
6
6
|
return (+data / 100).toFixed(2);
|
|
7
7
|
};
|
|
8
8
|
export var showTime = function showTime(data) {
|
|
9
9
|
var fmtType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'YYYY-MM-DD HH:mm:ss';
|
|
10
|
-
return data ?
|
|
10
|
+
return data ? dayjs(data).format(fmtType) : '';
|
|
11
11
|
};
|
|
12
12
|
/**
|
|
13
13
|
* 格式化url参数
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export declare const tabs: {
|
|
2
|
+
label: string;
|
|
3
|
+
key: string;
|
|
4
|
+
}[];
|
|
5
|
+
export declare const tabsSearchParamsMap: any;
|
|
6
|
+
export declare const priceRangeForOnce: {
|
|
7
|
+
label: string;
|
|
8
|
+
value: string;
|
|
9
|
+
}[];
|
|
10
|
+
export declare const priceRangeForPurchase: {
|
|
11
|
+
label: string;
|
|
12
|
+
value: string;
|
|
13
|
+
}[];
|
|
14
|
+
export declare const profitRangeForOnce: {
|
|
15
|
+
label: string;
|
|
16
|
+
value: string;
|
|
17
|
+
}[];
|
|
18
|
+
export declare const profitRangeForPurchase: {
|
|
19
|
+
label: string;
|
|
20
|
+
value: string;
|
|
21
|
+
}[];
|
|
22
|
+
export declare const sortOptions: {
|
|
23
|
+
label: string;
|
|
24
|
+
value: string;
|
|
25
|
+
}[];
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { AxiosRequestConfig } from 'axios';
|
|
2
|
+
interface RequestConfig extends AxiosRequestConfig {
|
|
3
|
+
notice?: boolean;
|
|
4
|
+
}
|
|
5
|
+
declare module 'axios' {
|
|
6
|
+
interface AxiosInstance {
|
|
7
|
+
(config: RequestConfig): Promise<any>;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
interface AxiosConfig {
|
|
11
|
+
baseUrl?: string;
|
|
12
|
+
timeout?: number;
|
|
13
|
+
tokenKey?: string;
|
|
14
|
+
token?: string | undefined;
|
|
15
|
+
loginErrUrl?: string;
|
|
16
|
+
loginErrFn?: Function | undefined;
|
|
17
|
+
noNotificationCodes?: Array<string | number>;
|
|
18
|
+
errUrlFn?: Function | undefined;
|
|
19
|
+
formDataUrls?: Array<string>;
|
|
20
|
+
exceptionErrFn?: {
|
|
21
|
+
notification?: Function | undefined;
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
declare const Request: (configParams: AxiosConfig) => import("axios").AxiosInstance;
|
|
25
|
+
export declare const request: import("axios").AxiosInstance;
|
|
26
|
+
export default Request;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export var baseURLMap = {
|
|
2
|
+
dev: 'https://dev-gateway.fxqifu.net/pangu',
|
|
3
|
+
test: 'https://qa-gateway.fxqifu.net/pangu',
|
|
4
|
+
qa: 'https://qa-gateway.fxqifu.net/pangu',
|
|
5
|
+
prod: 'https://gateway.fxqifu.net/pangu'
|
|
6
|
+
};
|
|
7
|
+
export var getApiHost = function getApiHost(env) {
|
|
8
|
+
return baseURLMap[env];
|
|
9
|
+
};
|
|
10
|
+
export var getApiUrl = function getApiUrl(env, url) {
|
|
11
|
+
return baseURLMap[env] + url;
|
|
12
|
+
};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { BaseQueryFilterProps, ProFormInstance, ProFormProps } from '@ant-design/pro-form';
|
|
2
|
+
import type { ProSchemaComponentTypes } from '@ant-design/pro-utils';
|
|
3
|
+
import type { FormItemProps } from 'antd';
|
|
4
|
+
import React from 'react';
|
|
5
|
+
import type { ActionType, ProColumns, ProTableProps } from '@ant-design/pro-components';
|
|
6
|
+
export type SearchConfig = BaseQueryFilterProps & {
|
|
7
|
+
filterType?: 'query' | 'light';
|
|
8
|
+
};
|
|
9
|
+
export type TableFormItem<T, U = any> = {
|
|
10
|
+
onSubmit?: (value: T, firstLoad: boolean) => void;
|
|
11
|
+
onReset?: (value: T) => void;
|
|
12
|
+
form?: Omit<ProFormProps, 'form'>;
|
|
13
|
+
type?: ProSchemaComponentTypes;
|
|
14
|
+
dateFormatter?: ProTableProps<T, U, any>['dateFormatter'];
|
|
15
|
+
search?: false | SearchConfig;
|
|
16
|
+
columns: ProColumns<U, any>[];
|
|
17
|
+
formRef: React.MutableRefObject<ProFormInstance | undefined>;
|
|
18
|
+
submitButtonLoading?: boolean;
|
|
19
|
+
manualRequest?: boolean;
|
|
20
|
+
bordered?: boolean;
|
|
21
|
+
action: React.MutableRefObject<ActionType | undefined>;
|
|
22
|
+
ghost?: boolean;
|
|
23
|
+
} & Omit<FormItemProps, 'children' | 'onReset'>;
|
|
24
|
+
/**
|
|
25
|
+
* 这里会把 列配置转化为 form 表单
|
|
26
|
+
*
|
|
27
|
+
* @param param0
|
|
28
|
+
* @returns
|
|
29
|
+
*/
|
|
30
|
+
declare const FormRender: <T, U = any>({ onSubmit, formRef, dateFormatter, type, columns, action, ghost, manualRequest, onReset, submitButtonLoading, search: searchConfig, form: formConfig, bordered, }: TableFormItem<T, U>) => React.JSX.Element;
|
|
31
|
+
export default FormRender;
|