diff --git a/.idea/git_toolbox_prj.xml b/.idea/git_toolbox_prj.xml new file mode 100644 index 0000000..02b915b --- /dev/null +++ b/.idea/git_toolbox_prj.xml @@ -0,0 +1,15 @@ + + + + + + + \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 77e9908..524596b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,6 +8,7 @@ "name": "financial-reimbursement", "version": "0.1.0", "dependencies": { + "@ant-design/pro-components": "^2.3.47", "@reduxjs/toolkit": "^1.9.1", "@testing-library/jest-dom": "^5.16.5", "@testing-library/react": "^13.4.0", @@ -97,6 +98,302 @@ "resolved": "https://registry.npmmirror.com/@ant-design/icons-svg/-/icons-svg-4.2.1.tgz", "integrity": "sha512-EB0iwlKDGpG93hW8f85CTJTs4SvMX7tt5ceupvhALp1IF44SeUFOMhKUOYqpsoYWQKAOuTRDMqn75rEaKDp0Xw==" }, + "node_modules/@ant-design/pro-card": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/@ant-design/pro-card/-/pro-card-2.1.6.tgz", + "integrity": "sha512-V0ksQs56u2NjFZ7Sj6+cFQSWDlMJUfwLyp4pRoA9yY6/1r2xhafDTQqMNZRX97JEzuWWBlBgapDikxd6gRvTxw==", + "dependencies": { + "@ant-design/icons": "^4.2.1", + "@ant-design/pro-provider": "2.2.0", + "@ant-design/pro-utils": "2.5.0", + "@babel/runtime": "^7.18.0", + "classnames": "^2.2.6", + "omit.js": "^2.0.2", + "rc-util": "^5.4.0" + }, + "peerDependencies": { + "antd": ">=4.23.0", + "react": ">=16.9.0" + } + }, + "node_modules/@ant-design/pro-components": { + "version": "2.3.47", + "resolved": "https://registry.npmjs.org/@ant-design/pro-components/-/pro-components-2.3.47.tgz", + "integrity": "sha512-OxF7MTG0EKefe3XLA5+/QA9Ay3gqWEDB70I6wnV3nORtfaruFiqdwVsKsjGdvT6RzfOnswMazKgENrFgB9CQpQ==", + "dependencies": { + "@ant-design/pro-card": "2.1.6", + "@ant-design/pro-descriptions": "2.0.39", + "@ant-design/pro-field": "2.2.0", + "@ant-design/pro-form": "2.4.7", + "@ant-design/pro-layout": "7.4.0", + "@ant-design/pro-list": "2.0.40", + "@ant-design/pro-provider": "2.2.0", + "@ant-design/pro-skeleton": "2.0.7", + "@ant-design/pro-table": "3.2.7", + "@ant-design/pro-utils": "2.5.0", + "@babel/runtime": "^7.16.3" + }, + "peerDependencies": { + "antd": ">=4.23.0", + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@ant-design/pro-descriptions": { + "version": "2.0.39", + "resolved": "https://registry.npmjs.org/@ant-design/pro-descriptions/-/pro-descriptions-2.0.39.tgz", + "integrity": "sha512-E2G5SqP4xwwQxhZcD02Bl57N6G70vKnEvePHjuZd3+jRSN+gniEwYGfaksKPFojqxa+/68exwjpEqI0ZwQ+4Rg==", + "dependencies": { + "@ant-design/pro-field": "2.2.0", + "@ant-design/pro-form": "2.4.7", + "@ant-design/pro-skeleton": "2.0.7", + "@ant-design/pro-utils": "2.5.0", + "@babel/runtime": "^7.18.0", + "rc-util": "^5.0.6", + "use-json-comparison": "^1.0.5" + }, + "peerDependencies": { + "antd": ">=4.23.0", + "react": ">=16.9.0" + } + }, + "node_modules/@ant-design/pro-field": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ant-design/pro-field/-/pro-field-2.2.0.tgz", + "integrity": "sha512-ep46+Ng+xCyOzkIYt4tofDqhjJ9qoZ+ZLnF8dYRuKwhZ3pnYIRB290b76DfMO9hv+/n+yEyTrGL8kPKN/lWSsA==", + "dependencies": { + "@ant-design/icons": "^4.2.1", + "@ant-design/pro-provider": "2.2.0", + "@ant-design/pro-utils": "2.5.0", + "@babel/runtime": "^7.18.0", + "@chenshuai2144/sketch-color": "^1.0.8", + "classnames": "^2.2.6", + "dayjs": "^1.11.4", + "lodash.tonumber": "^4.0.3", + "omit.js": "^2.0.2", + "rc-util": "^5.4.0", + "swr": "^2.0.0" + }, + "peerDependencies": { + "antd": ">=4.23.0", + "react": ">=16.9.0" + } + }, + "node_modules/@ant-design/pro-form": { + "version": "2.4.7", + "resolved": "https://registry.npmjs.org/@ant-design/pro-form/-/pro-form-2.4.7.tgz", + "integrity": "sha512-i60BzCJTcx14ds/Gm5dXQB/m1wCHIGEYN1TIPiDrolPNWVT9sKQeMSNAW4vH24mVN8HMiBSS+3mw1qdYFbS76w==", + "dependencies": { + "@ant-design/icons": "^4.2.1", + "@ant-design/pro-field": "2.2.0", + "@ant-design/pro-provider": "2.2.0", + "@ant-design/pro-utils": "2.5.0", + "@babel/runtime": "^7.18.0", + "@umijs/use-params": "^1.0.9", + "classnames": "^2.2.6", + "lodash.merge": "^4.6.2", + "omit.js": "^2.0.2", + "rc-resize-observer": "^1.1.0", + "rc-util": "^5.0.6", + "use-json-comparison": "^1.0.5", + "use-media-antd-query": "^1.1.0" + }, + "peerDependencies": { + "@types/lodash.merge": "^4.6.7", + "antd": ">=4.23.0", + "rc-field-form": "^1.22.0", + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + }, + "peerDependenciesMeta": { + "@types/lodash.merge": { + "optional": true + } + } + }, + "node_modules/@ant-design/pro-layout": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/@ant-design/pro-layout/-/pro-layout-7.4.0.tgz", + "integrity": "sha512-lZmGEyK1Xzs/H0KdrckI+O35izgH/X5nVLWpdbc6Oxgwt/OairE2l6xkD2IvHLacCaSTrLYiYNDi4e75vokd0A==", + "dependencies": { + "@ant-design/icons": "^4.0.0", + "@ant-design/pro-provider": "2.2.0", + "@ant-design/pro-utils": "2.5.0", + "@babel/runtime": "^7.18.0", + "@umijs/route-utils": "^2.1.0", + "@umijs/use-params": "^1.0.9", + "classnames": "^2.2.6", + "lodash.merge": "^4.6.2", + "omit.js": "^2.0.2", + "path-to-regexp": "2.4.0", + "rc-resize-observer": "^1.1.0", + "rc-util": "^5.0.6", + "swr": "^2.0.0", + "unstated-next": "^1.1.0", + "use-json-comparison": "^1.0.3", + "use-media-antd-query": "^1.1.0", + "warning": "^4.0.3" + }, + "peerDependencies": { + "antd": ">=4.23.0", + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@ant-design/pro-layout/node_modules/path-to-regexp": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.4.0.tgz", + "integrity": "sha512-G6zHoVqC6GGTQkZwF4lkuEyMbVOjoBKAEybQUypI1WTkqinCOrq2x6U2+phkJ1XsEMTy4LjtwPI7HW+NVrRR2w==" + }, + "node_modules/@ant-design/pro-list": { + "version": "2.0.40", + "resolved": "https://registry.npmjs.org/@ant-design/pro-list/-/pro-list-2.0.40.tgz", + "integrity": "sha512-MprN5zsdB1BxAMbq4bunPPp256eJzXBtfgcT/hD9VC7LhtdyjfK42THhjDNoxntiUxb40VYnTLBnPZH93wnkUg==", + "dependencies": { + "@ant-design/icons": "^4.0.0", + "@ant-design/pro-card": "2.1.6", + "@ant-design/pro-field": "2.2.0", + "@ant-design/pro-table": "3.2.7", + "@babel/runtime": "^7.18.0", + "classnames": "^2.2.6", + "dayjs": "^1.11.4", + "rc-resize-observer": "^1.0.0", + "rc-util": "^4.19.0", + "unstated-next": "^1.1.0", + "use-media-antd-query": "^1.1.0" + }, + "peerDependencies": { + "antd": ">=4.23.0", + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@ant-design/pro-list/node_modules/rc-util": { + "version": "4.21.1", + "resolved": "https://registry.npmjs.org/rc-util/-/rc-util-4.21.1.tgz", + "integrity": "sha512-Z+vlkSQVc1l8O2UjR3WQ+XdWlhj5q9BMQNLk2iOBch75CqPfrJyGtcWMcnhRlNuDu0Ndtt4kLVO8JI8BrABobg==", + "dependencies": { + "add-dom-event-listener": "^1.1.0", + "prop-types": "^15.5.10", + "react-is": "^16.12.0", + "react-lifecycles-compat": "^3.0.4", + "shallowequal": "^1.1.0" + } + }, + "node_modules/@ant-design/pro-list/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, + "node_modules/@ant-design/pro-provider": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ant-design/pro-provider/-/pro-provider-2.2.0.tgz", + "integrity": "sha512-2btLst0MxU3+xfiNsahShqOweokKqhCn0wuJjy/G/n/g1Sb9/p4qZ4RBs6aY8Q5KAa2OhILIVkJxFhoNn58jaw==", + "dependencies": { + "@ant-design/cssinjs": "^1.0.0", + "@babel/runtime": "^7.18.0", + "@ctrl/tinycolor": "^3.4.0", + "rc-util": "^5.0.1", + "swr": "^2.0.0" + }, + "peerDependencies": { + "antd": ">=4.23.0", + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@ant-design/pro-skeleton": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@ant-design/pro-skeleton/-/pro-skeleton-2.0.7.tgz", + "integrity": "sha512-7RoCUVgWDTGrWeNuFlscsxrrXc5jshYXk6gjkQKospR0hQ1AK/aWlkttAAaqDFZlvPxSyLu8w11TmquRuYcNcg==", + "dependencies": { + "@babel/runtime": "^7.18.0", + "use-media-antd-query": "^1.1.0" + }, + "peerDependencies": { + "antd": ">=4.23.0", + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@ant-design/pro-table": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/@ant-design/pro-table/-/pro-table-3.2.7.tgz", + "integrity": "sha512-6NFIcwDyDso7rwIJdO1bNSqTA2sYwepvHRdbe/ceJAk5f8QTB4y81QDrifx6Cpdfj2PwGAU/9r7x5reuaYl4sQ==", + "dependencies": { + "@ant-design/icons": "^4.1.0", + "@ant-design/pro-card": "2.1.6", + "@ant-design/pro-field": "2.2.0", + "@ant-design/pro-form": "2.4.7", + "@ant-design/pro-provider": "2.2.0", + "@ant-design/pro-utils": "2.5.0", + "@babel/runtime": "^7.18.0", + "classnames": "^2.2.6", + "dayjs": "^1.11.4", + "omit.js": "^2.0.2", + "rc-util": "^5.0.1", + "react-sortable-hoc": "^2.0.0", + "unstated-next": "^1.1.0", + "use-json-comparison": "^1.0.5", + "use-media-antd-query": "^1.1.0" + }, + "peerDependencies": { + "antd": ">=4.23.0", + "rc-field-form": "^1.22.0", + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@ant-design/pro-table/node_modules/react-sortable-hoc": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/react-sortable-hoc/-/react-sortable-hoc-2.0.0.tgz", + "integrity": "sha512-JZUw7hBsAHXK7PTyErJyI7SopSBFRcFHDjWW5SWjcugY0i6iH7f+eJkY8cJmGMlZ1C9xz1J3Vjz0plFpavVeRg==", + "dependencies": { + "@babel/runtime": "^7.2.0", + "invariant": "^2.2.4", + "prop-types": "^15.5.7" + }, + "peerDependencies": { + "prop-types": "^15.5.7", + "react": "^16.3.0 || ^17.0.0", + "react-dom": "^16.3.0 || ^17.0.0" + } + }, + "node_modules/@ant-design/pro-utils": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@ant-design/pro-utils/-/pro-utils-2.5.0.tgz", + "integrity": "sha512-Wby8SCV+kUGi2Q8dAz+FD+UT5EtXAF3n+K3nB3qjosdvD6cvootlTOSj8qYL8GHPG2AjSBW2E51oh3L9D2r3kQ==", + "dependencies": { + "@ant-design/icons": "^4.3.0", + "@ant-design/pro-provider": "2.2.0", + "@babel/runtime": "^7.18.0", + "classnames": "^2.2.6", + "dayjs": "^1.11.4", + "rc-util": "^5.0.6", + "react-sortable-hoc": "^2.0.0", + "swr": "^2.0.0" + }, + "peerDependencies": { + "antd": ">=4.23.0", + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@ant-design/pro-utils/node_modules/react-sortable-hoc": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/react-sortable-hoc/-/react-sortable-hoc-2.0.0.tgz", + "integrity": "sha512-JZUw7hBsAHXK7PTyErJyI7SopSBFRcFHDjWW5SWjcugY0i6iH7f+eJkY8cJmGMlZ1C9xz1J3Vjz0plFpavVeRg==", + "dependencies": { + "@babel/runtime": "^7.2.0", + "invariant": "^2.2.4", + "prop-types": "^15.5.7" + }, + "peerDependencies": { + "prop-types": "^15.5.7", + "react": "^16.3.0 || ^17.0.0", + "react-dom": "^16.3.0 || ^17.0.0" + } + }, "node_modules/@ant-design/react-slick": { "version": "1.0.0", "resolved": "https://registry.npmmirror.com/@ant-design/react-slick/-/react-slick-1.0.0.tgz", @@ -1938,6 +2235,18 @@ "resolved": "https://registry.npmmirror.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==" }, + "node_modules/@chenshuai2144/sketch-color": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@chenshuai2144/sketch-color/-/sketch-color-1.0.8.tgz", + "integrity": "sha512-dPAzzWc+w7zyTAi71WXYZpiTYyIS80MxYyy2E/7jufhnJI1Z29wCPL35VvuJ/gs5zYpF2+w/B7BizWa2zKXpGw==", + "dependencies": { + "reactcss": "^1.2.3", + "tinycolor2": "^1.4.2" + }, + "peerDependencies": { + "react": ">=16.12.0" + } + }, "node_modules/@csstools/normalize.css": { "version": "12.0.0", "resolved": "https://registry.npmmirror.com/@csstools/normalize.css/-/normalize.css-12.0.0.tgz", @@ -3059,6 +3368,11 @@ } } }, + "node_modules/@qixian.cs/path-to-regexp": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@qixian.cs/path-to-regexp/-/path-to-regexp-6.1.0.tgz", + "integrity": "sha512-2jIiLiVZB1jnY7IIRQKtoV8Gnr7XIhk4mC88ONGunZE3hYt5IHUG4BE/6+JiTBjjEWQLBeWnZB8hGpppkufiVw==" + }, "node_modules/@rc-component/mini-decimal": { "version": "1.0.1", "resolved": "https://registry.npmmirror.com/@rc-component/mini-decimal/-/mini-decimal-1.0.1.tgz", @@ -4139,6 +4453,25 @@ "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, + "node_modules/@umijs/route-utils": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@umijs/route-utils/-/route-utils-2.2.2.tgz", + "integrity": "sha512-cMk6qizy0pfpiwpVCvNQB0BKBUJEH33pDv5q5k2tSleSDw2abkJkTu2Kd5hKzoESLuFK43oGeOfcplZqm2bRxw==", + "dependencies": { + "@qixian.cs/path-to-regexp": "^6.1.0", + "fast-deep-equal": "^3.1.3", + "lodash.isequal": "^4.5.0", + "memoize-one": "^5.1.1" + } + }, + "node_modules/@umijs/use-params": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@umijs/use-params/-/use-params-1.0.9.tgz", + "integrity": "sha512-QlN0RJSBVQBwLRNxbxjQ5qzqYIGn+K7USppMoIOVlf7fxXHsnQZ2bEsa6Pm74bt6DVQxpUE8HqvdStn6Y9FV1w==", + "peerDependencies": { + "react": "*" + } + }, "node_modules/@webassemblyjs/ast": { "version": "1.11.1", "resolved": "https://registry.npmmirror.com/@webassemblyjs/ast/-/ast-1.11.1.tgz", @@ -4373,6 +4706,14 @@ "node": ">=0.4.0" } }, + "node_modules/add-dom-event-listener": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/add-dom-event-listener/-/add-dom-event-listener-1.1.0.tgz", + "integrity": "sha512-WCxx1ixHT0GQU9hb0KI/mhgRQhnU+U3GvwY6ZvVjYq8rsihIGoaIOUbY0yMPBxLH5MDtr0kz3fisWGNcbWW7Jw==", + "dependencies": { + "object-assign": "4.x" + } + }, "node_modules/address": { "version": "1.2.2", "resolved": "https://registry.npmmirror.com/address/-/address-1.2.2.tgz", @@ -8511,6 +8852,14 @@ "node": ">= 0.4" } }, + "node_modules/invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dependencies": { + "loose-envify": "^1.0.0" + } + }, "node_modules/ipaddr.js": { "version": "2.0.1", "resolved": "https://registry.npmmirror.com/ipaddr.js/-/ipaddr.js-2.0.1.tgz", @@ -11031,6 +11380,11 @@ "resolved": "https://registry.npmmirror.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz", "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" }, + "node_modules/lodash.isequal": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", + "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==" + }, "node_modules/lodash.memoize": { "version": "4.1.2", "resolved": "https://registry.npmmirror.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz", @@ -11046,6 +11400,11 @@ "resolved": "https://registry.npmmirror.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz", "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==" }, + "node_modules/lodash.tonumber": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/lodash.tonumber/-/lodash.tonumber-4.0.3.tgz", + "integrity": "sha512-SY0SwuPOHRwKcCNTdsntPYb+Zddz5mDUIVFABzRMqmAiL41pMeyoQFGxYAw5zdc9NnH4pbJqiqqp5ckfxa+zSA==" + }, "node_modules/lodash.uniq": { "version": "4.5.0", "resolved": "https://registry.npmmirror.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz", @@ -11145,6 +11504,11 @@ "node": ">= 4.0.0" } }, + "node_modules/memoize-one": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-5.2.1.tgz", + "integrity": "sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==" + }, "node_modules/merge-descriptors": { "version": "1.0.1", "resolved": "https://registry.npmmirror.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz", @@ -11564,6 +11928,11 @@ "resolved": "https://registry.npmmirror.com/obuf/-/obuf-1.1.2.tgz", "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" }, + "node_modules/omit.js": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/omit.js/-/omit.js-2.0.2.tgz", + "integrity": "sha512-hJmu9D+bNB40YpL9jYebQl4lsTW6yEHRTroJzNLqQJYHm7c+NQnJGfZmIWh8S3q3KoaxV1aLhV6B3+0N0/kyJg==" + }, "node_modules/on-finished": { "version": "2.4.1", "resolved": "https://registry.npmmirror.com/on-finished/-/on-finished-2.4.1.tgz", @@ -13972,6 +14341,11 @@ "resolved": "https://registry.npmmirror.com/react-is/-/react-is-17.0.2.tgz", "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" }, + "node_modules/react-lifecycles-compat": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", + "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" + }, "node_modules/react-redux": { "version": "8.0.5", "resolved": "https://registry.npmmirror.com/react-redux/-/react-redux-8.0.5.tgz", @@ -14125,6 +14499,14 @@ } } }, + "node_modules/reactcss": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/reactcss/-/reactcss-1.2.3.tgz", + "integrity": "sha512-KiwVUcFu1RErkI97ywr8nvx8dNOpT03rbnma0SSalTYjkrPYaEajR4a/MRt6DZ46K6arDRbWMNHF+xH7G7n/8A==", + "dependencies": { + "lodash": "^4.0.1" + } + }, "node_modules/read-cache": { "version": "1.0.0", "resolved": "https://registry.npmmirror.com/read-cache/-/read-cache-1.0.0.tgz", @@ -15345,6 +15727,20 @@ "boolbase": "~1.0.0" } }, + "node_modules/swr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/swr/-/swr-2.0.0.tgz", + "integrity": "sha512-IhUx5yPkX+Fut3h0SqZycnaNLXLXsb2ECFq0Y29cxnK7d8r7auY2JWNbCW3IX+EqXUg3rwNJFlhrw5Ye/b6k7w==", + "dependencies": { + "use-sync-external-store": "^1.2.0" + }, + "engines": { + "pnpm": "7" + }, + "peerDependencies": { + "react": "^16.11.0 || ^17.0.0 || ^18.0.0" + } + }, "node_modules/symbol-tree": { "version": "3.2.4", "resolved": "https://registry.npmmirror.com/symbol-tree/-/symbol-tree-3.2.4.tgz", @@ -15532,6 +15928,14 @@ "resolved": "https://registry.npmmirror.com/thunky/-/thunky-1.1.0.tgz", "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" }, + "node_modules/tinycolor2": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.5.1.tgz", + "integrity": "sha512-BHlrsGeYN2OpkRpfAgkEwCMu6w8Quq8JkK/mp4c55NZP7OwceJObR1CPZt62TqiA0Y3J5pwuDX+fXDqc35REtg==", + "engines": { + "node": "*" + } + }, "node_modules/tmpl": { "version": "1.0.5", "resolved": "https://registry.npmmirror.com/tmpl/-/tmpl-1.0.5.tgz", @@ -15799,6 +16203,11 @@ "resolved": "https://registry.npmmirror.com/unquote/-/unquote-1.1.1.tgz", "integrity": "sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==" }, + "node_modules/unstated-next": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unstated-next/-/unstated-next-1.1.0.tgz", + "integrity": "sha512-AAn47ZncPvgBGOvMcn8tSRxsrqwf2VdAPxLASTuLJvZt4rhKfDvUkmYZLGfclImSfTVMv7tF4ynaVxin0JjDCA==" + }, "node_modules/upath": { "version": "1.2.0", "resolved": "https://registry.npmmirror.com/upath/-/upath-1.2.0.tgz", @@ -15840,6 +16249,22 @@ "requires-port": "^1.0.0" } }, + "node_modules/use-json-comparison": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/use-json-comparison/-/use-json-comparison-1.0.6.tgz", + "integrity": "sha512-xPadt5yMRbEmVfOSGFSMqjjICrq7nLbfSH3rYIXsrtcuFX7PmbYDN/ku8ObBn3v8o/yZelO1OxUS5+5TI3+fUw==", + "peerDependencies": { + "react": ">=16.9.0" + } + }, + "node_modules/use-media-antd-query": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/use-media-antd-query/-/use-media-antd-query-1.1.0.tgz", + "integrity": "sha512-B6kKZwNV4R+l4Rl11sWO7HqOay9alzs1Vp1b4YJqjz33YxbltBCZtt/yxXxkXN9rc1S7OeEL/GbwC30Wmqhw6Q==", + "peerDependencies": { + "react": ">=16.9.0" + } + }, "node_modules/use-sync-external-store": { "version": "1.2.0", "resolved": "https://registry.npmmirror.com/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz", @@ -15933,6 +16358,14 @@ "makeerror": "1.0.12" } }, + "node_modules/warning": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz", + "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==", + "dependencies": { + "loose-envify": "^1.0.0" + } + }, "node_modules/watchpack": { "version": "2.4.0", "resolved": "https://registry.npmmirror.com/watchpack/-/watchpack-2.4.0.tgz", @@ -16864,6 +17297,240 @@ "resolved": "https://registry.npmmirror.com/@ant-design/icons-svg/-/icons-svg-4.2.1.tgz", "integrity": "sha512-EB0iwlKDGpG93hW8f85CTJTs4SvMX7tt5ceupvhALp1IF44SeUFOMhKUOYqpsoYWQKAOuTRDMqn75rEaKDp0Xw==" }, + "@ant-design/pro-card": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/@ant-design/pro-card/-/pro-card-2.1.6.tgz", + "integrity": "sha512-V0ksQs56u2NjFZ7Sj6+cFQSWDlMJUfwLyp4pRoA9yY6/1r2xhafDTQqMNZRX97JEzuWWBlBgapDikxd6gRvTxw==", + "requires": { + "@ant-design/icons": "^4.2.1", + "@ant-design/pro-provider": "2.2.0", + "@ant-design/pro-utils": "2.5.0", + "@babel/runtime": "^7.18.0", + "classnames": "^2.2.6", + "omit.js": "^2.0.2", + "rc-util": "^5.4.0" + } + }, + "@ant-design/pro-components": { + "version": "2.3.47", + "resolved": "https://registry.npmjs.org/@ant-design/pro-components/-/pro-components-2.3.47.tgz", + "integrity": "sha512-OxF7MTG0EKefe3XLA5+/QA9Ay3gqWEDB70I6wnV3nORtfaruFiqdwVsKsjGdvT6RzfOnswMazKgENrFgB9CQpQ==", + "requires": { + "@ant-design/pro-card": "2.1.6", + "@ant-design/pro-descriptions": "2.0.39", + "@ant-design/pro-field": "2.2.0", + "@ant-design/pro-form": "2.4.7", + "@ant-design/pro-layout": "7.4.0", + "@ant-design/pro-list": "2.0.40", + "@ant-design/pro-provider": "2.2.0", + "@ant-design/pro-skeleton": "2.0.7", + "@ant-design/pro-table": "3.2.7", + "@ant-design/pro-utils": "2.5.0", + "@babel/runtime": "^7.16.3" + } + }, + "@ant-design/pro-descriptions": { + "version": "2.0.39", + "resolved": "https://registry.npmjs.org/@ant-design/pro-descriptions/-/pro-descriptions-2.0.39.tgz", + "integrity": "sha512-E2G5SqP4xwwQxhZcD02Bl57N6G70vKnEvePHjuZd3+jRSN+gniEwYGfaksKPFojqxa+/68exwjpEqI0ZwQ+4Rg==", + "requires": { + "@ant-design/pro-field": "2.2.0", + "@ant-design/pro-form": "2.4.7", + "@ant-design/pro-skeleton": "2.0.7", + "@ant-design/pro-utils": "2.5.0", + "@babel/runtime": "^7.18.0", + "rc-util": "^5.0.6", + "use-json-comparison": "^1.0.5" + } + }, + "@ant-design/pro-field": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ant-design/pro-field/-/pro-field-2.2.0.tgz", + "integrity": "sha512-ep46+Ng+xCyOzkIYt4tofDqhjJ9qoZ+ZLnF8dYRuKwhZ3pnYIRB290b76DfMO9hv+/n+yEyTrGL8kPKN/lWSsA==", + "requires": { + "@ant-design/icons": "^4.2.1", + "@ant-design/pro-provider": "2.2.0", + "@ant-design/pro-utils": "2.5.0", + "@babel/runtime": "^7.18.0", + "@chenshuai2144/sketch-color": "^1.0.8", + "classnames": "^2.2.6", + "dayjs": "^1.11.4", + "lodash.tonumber": "^4.0.3", + "omit.js": "^2.0.2", + "rc-util": "^5.4.0", + "swr": "^2.0.0" + } + }, + "@ant-design/pro-form": { + "version": "2.4.7", + "resolved": "https://registry.npmjs.org/@ant-design/pro-form/-/pro-form-2.4.7.tgz", + "integrity": "sha512-i60BzCJTcx14ds/Gm5dXQB/m1wCHIGEYN1TIPiDrolPNWVT9sKQeMSNAW4vH24mVN8HMiBSS+3mw1qdYFbS76w==", + "requires": { + "@ant-design/icons": "^4.2.1", + "@ant-design/pro-field": "2.2.0", + "@ant-design/pro-provider": "2.2.0", + "@ant-design/pro-utils": "2.5.0", + "@babel/runtime": "^7.18.0", + "@umijs/use-params": "^1.0.9", + "classnames": "^2.2.6", + "lodash.merge": "^4.6.2", + "omit.js": "^2.0.2", + "rc-resize-observer": "^1.1.0", + "rc-util": "^5.0.6", + "use-json-comparison": "^1.0.5", + "use-media-antd-query": "^1.1.0" + } + }, + "@ant-design/pro-layout": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/@ant-design/pro-layout/-/pro-layout-7.4.0.tgz", + "integrity": "sha512-lZmGEyK1Xzs/H0KdrckI+O35izgH/X5nVLWpdbc6Oxgwt/OairE2l6xkD2IvHLacCaSTrLYiYNDi4e75vokd0A==", + "requires": { + "@ant-design/icons": "^4.0.0", + "@ant-design/pro-provider": "2.2.0", + "@ant-design/pro-utils": "2.5.0", + "@babel/runtime": "^7.18.0", + "@umijs/route-utils": "^2.1.0", + "@umijs/use-params": "^1.0.9", + "classnames": "^2.2.6", + "lodash.merge": "^4.6.2", + "omit.js": "^2.0.2", + "path-to-regexp": "2.4.0", + "rc-resize-observer": "^1.1.0", + "rc-util": "^5.0.6", + "swr": "^2.0.0", + "unstated-next": "^1.1.0", + "use-json-comparison": "^1.0.3", + "use-media-antd-query": "^1.1.0", + "warning": "^4.0.3" + }, + "dependencies": { + "path-to-regexp": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.4.0.tgz", + "integrity": "sha512-G6zHoVqC6GGTQkZwF4lkuEyMbVOjoBKAEybQUypI1WTkqinCOrq2x6U2+phkJ1XsEMTy4LjtwPI7HW+NVrRR2w==" + } + } + }, + "@ant-design/pro-list": { + "version": "2.0.40", + "resolved": "https://registry.npmjs.org/@ant-design/pro-list/-/pro-list-2.0.40.tgz", + "integrity": "sha512-MprN5zsdB1BxAMbq4bunPPp256eJzXBtfgcT/hD9VC7LhtdyjfK42THhjDNoxntiUxb40VYnTLBnPZH93wnkUg==", + "requires": { + "@ant-design/icons": "^4.0.0", + "@ant-design/pro-card": "2.1.6", + "@ant-design/pro-field": "2.2.0", + "@ant-design/pro-table": "3.2.7", + "@babel/runtime": "^7.18.0", + "classnames": "^2.2.6", + "dayjs": "^1.11.4", + "rc-resize-observer": "^1.0.0", + "rc-util": "^4.19.0", + "unstated-next": "^1.1.0", + "use-media-antd-query": "^1.1.0" + }, + "dependencies": { + "rc-util": { + "version": "4.21.1", + "resolved": "https://registry.npmjs.org/rc-util/-/rc-util-4.21.1.tgz", + "integrity": "sha512-Z+vlkSQVc1l8O2UjR3WQ+XdWlhj5q9BMQNLk2iOBch75CqPfrJyGtcWMcnhRlNuDu0Ndtt4kLVO8JI8BrABobg==", + "requires": { + "add-dom-event-listener": "^1.1.0", + "prop-types": "^15.5.10", + "react-is": "^16.12.0", + "react-lifecycles-compat": "^3.0.4", + "shallowequal": "^1.1.0" + } + }, + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + } + } + }, + "@ant-design/pro-provider": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ant-design/pro-provider/-/pro-provider-2.2.0.tgz", + "integrity": "sha512-2btLst0MxU3+xfiNsahShqOweokKqhCn0wuJjy/G/n/g1Sb9/p4qZ4RBs6aY8Q5KAa2OhILIVkJxFhoNn58jaw==", + "requires": { + "@ant-design/cssinjs": "^1.0.0", + "@babel/runtime": "^7.18.0", + "@ctrl/tinycolor": "^3.4.0", + "rc-util": "^5.0.1", + "swr": "^2.0.0" + } + }, + "@ant-design/pro-skeleton": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@ant-design/pro-skeleton/-/pro-skeleton-2.0.7.tgz", + "integrity": "sha512-7RoCUVgWDTGrWeNuFlscsxrrXc5jshYXk6gjkQKospR0hQ1AK/aWlkttAAaqDFZlvPxSyLu8w11TmquRuYcNcg==", + "requires": { + "@babel/runtime": "^7.18.0", + "use-media-antd-query": "^1.1.0" + } + }, + "@ant-design/pro-table": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/@ant-design/pro-table/-/pro-table-3.2.7.tgz", + "integrity": "sha512-6NFIcwDyDso7rwIJdO1bNSqTA2sYwepvHRdbe/ceJAk5f8QTB4y81QDrifx6Cpdfj2PwGAU/9r7x5reuaYl4sQ==", + "requires": { + "@ant-design/icons": "^4.1.0", + "@ant-design/pro-card": "2.1.6", + "@ant-design/pro-field": "2.2.0", + "@ant-design/pro-form": "2.4.7", + "@ant-design/pro-provider": "2.2.0", + "@ant-design/pro-utils": "2.5.0", + "@babel/runtime": "^7.18.0", + "classnames": "^2.2.6", + "dayjs": "^1.11.4", + "omit.js": "^2.0.2", + "rc-util": "^5.0.1", + "react-sortable-hoc": "^2.0.0", + "unstated-next": "^1.1.0", + "use-json-comparison": "^1.0.5", + "use-media-antd-query": "^1.1.0" + }, + "dependencies": { + "react-sortable-hoc": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/react-sortable-hoc/-/react-sortable-hoc-2.0.0.tgz", + "integrity": "sha512-JZUw7hBsAHXK7PTyErJyI7SopSBFRcFHDjWW5SWjcugY0i6iH7f+eJkY8cJmGMlZ1C9xz1J3Vjz0plFpavVeRg==", + "requires": { + "@babel/runtime": "^7.2.0", + "invariant": "^2.2.4", + "prop-types": "^15.5.7" + } + } + } + }, + "@ant-design/pro-utils": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@ant-design/pro-utils/-/pro-utils-2.5.0.tgz", + "integrity": "sha512-Wby8SCV+kUGi2Q8dAz+FD+UT5EtXAF3n+K3nB3qjosdvD6cvootlTOSj8qYL8GHPG2AjSBW2E51oh3L9D2r3kQ==", + "requires": { + "@ant-design/icons": "^4.3.0", + "@ant-design/pro-provider": "2.2.0", + "@babel/runtime": "^7.18.0", + "classnames": "^2.2.6", + "dayjs": "^1.11.4", + "rc-util": "^5.0.6", + "react-sortable-hoc": "^2.0.0", + "swr": "^2.0.0" + }, + "dependencies": { + "react-sortable-hoc": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/react-sortable-hoc/-/react-sortable-hoc-2.0.0.tgz", + "integrity": "sha512-JZUw7hBsAHXK7PTyErJyI7SopSBFRcFHDjWW5SWjcugY0i6iH7f+eJkY8cJmGMlZ1C9xz1J3Vjz0plFpavVeRg==", + "requires": { + "@babel/runtime": "^7.2.0", + "invariant": "^2.2.4", + "prop-types": "^15.5.7" + } + } + } + }, "@ant-design/react-slick": { "version": "1.0.0", "resolved": "https://registry.npmmirror.com/@ant-design/react-slick/-/react-slick-1.0.0.tgz", @@ -18106,6 +18773,15 @@ "resolved": "https://registry.npmmirror.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==" }, + "@chenshuai2144/sketch-color": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@chenshuai2144/sketch-color/-/sketch-color-1.0.8.tgz", + "integrity": "sha512-dPAzzWc+w7zyTAi71WXYZpiTYyIS80MxYyy2E/7jufhnJI1Z29wCPL35VvuJ/gs5zYpF2+w/B7BizWa2zKXpGw==", + "requires": { + "reactcss": "^1.2.3", + "tinycolor2": "^1.4.2" + } + }, "@csstools/normalize.css": { "version": "12.0.0", "resolved": "https://registry.npmmirror.com/@csstools/normalize.css/-/normalize.css-12.0.0.tgz", @@ -18920,6 +19596,11 @@ "source-map": "^0.7.3" } }, + "@qixian.cs/path-to-regexp": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@qixian.cs/path-to-regexp/-/path-to-regexp-6.1.0.tgz", + "integrity": "sha512-2jIiLiVZB1jnY7IIRQKtoV8Gnr7XIhk4mC88ONGunZE3hYt5IHUG4BE/6+JiTBjjEWQLBeWnZB8hGpppkufiVw==" + }, "@rc-component/mini-decimal": { "version": "1.0.1", "resolved": "https://registry.npmmirror.com/@rc-component/mini-decimal/-/mini-decimal-1.0.1.tgz", @@ -19779,6 +20460,23 @@ "eslint-visitor-keys": "^3.3.0" } }, + "@umijs/route-utils": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@umijs/route-utils/-/route-utils-2.2.2.tgz", + "integrity": "sha512-cMk6qizy0pfpiwpVCvNQB0BKBUJEH33pDv5q5k2tSleSDw2abkJkTu2Kd5hKzoESLuFK43oGeOfcplZqm2bRxw==", + "requires": { + "@qixian.cs/path-to-regexp": "^6.1.0", + "fast-deep-equal": "^3.1.3", + "lodash.isequal": "^4.5.0", + "memoize-one": "^5.1.1" + } + }, + "@umijs/use-params": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@umijs/use-params/-/use-params-1.0.9.tgz", + "integrity": "sha512-QlN0RJSBVQBwLRNxbxjQ5qzqYIGn+K7USppMoIOVlf7fxXHsnQZ2bEsa6Pm74bt6DVQxpUE8HqvdStn6Y9FV1w==", + "requires": {} + }, "@webassemblyjs/ast": { "version": "1.11.1", "resolved": "https://registry.npmmirror.com/@webassemblyjs/ast/-/ast-1.11.1.tgz", @@ -19989,6 +20687,14 @@ "resolved": "https://registry.npmmirror.com/acorn-walk/-/acorn-walk-7.2.0.tgz", "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==" }, + "add-dom-event-listener": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/add-dom-event-listener/-/add-dom-event-listener-1.1.0.tgz", + "integrity": "sha512-WCxx1ixHT0GQU9hb0KI/mhgRQhnU+U3GvwY6ZvVjYq8rsihIGoaIOUbY0yMPBxLH5MDtr0kz3fisWGNcbWW7Jw==", + "requires": { + "object-assign": "4.x" + } + }, "address": { "version": "1.2.2", "resolved": "https://registry.npmmirror.com/address/-/address-1.2.2.tgz", @@ -23257,6 +23963,14 @@ "side-channel": "^1.0.4" } }, + "invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "requires": { + "loose-envify": "^1.0.0" + } + }, "ipaddr.js": { "version": "2.0.1", "resolved": "https://registry.npmmirror.com/ipaddr.js/-/ipaddr.js-2.0.1.tgz", @@ -25209,6 +25923,11 @@ "resolved": "https://registry.npmmirror.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz", "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" }, + "lodash.isequal": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", + "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==" + }, "lodash.memoize": { "version": "4.1.2", "resolved": "https://registry.npmmirror.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz", @@ -25224,6 +25943,11 @@ "resolved": "https://registry.npmmirror.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz", "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==" }, + "lodash.tonumber": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/lodash.tonumber/-/lodash.tonumber-4.0.3.tgz", + "integrity": "sha512-SY0SwuPOHRwKcCNTdsntPYb+Zddz5mDUIVFABzRMqmAiL41pMeyoQFGxYAw5zdc9NnH4pbJqiqqp5ckfxa+zSA==" + }, "lodash.uniq": { "version": "4.5.0", "resolved": "https://registry.npmmirror.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz", @@ -25307,6 +26031,11 @@ "fs-monkey": "^1.0.3" } }, + "memoize-one": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-5.2.1.tgz", + "integrity": "sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==" + }, "merge-descriptors": { "version": "1.0.1", "resolved": "https://registry.npmmirror.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz", @@ -25629,6 +26358,11 @@ "resolved": "https://registry.npmmirror.com/obuf/-/obuf-1.1.2.tgz", "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" }, + "omit.js": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/omit.js/-/omit.js-2.0.2.tgz", + "integrity": "sha512-hJmu9D+bNB40YpL9jYebQl4lsTW6yEHRTroJzNLqQJYHm7c+NQnJGfZmIWh8S3q3KoaxV1aLhV6B3+0N0/kyJg==" + }, "on-finished": { "version": "2.4.1", "resolved": "https://registry.npmmirror.com/on-finished/-/on-finished-2.4.1.tgz", @@ -27283,6 +28017,11 @@ "resolved": "https://registry.npmmirror.com/react-is/-/react-is-17.0.2.tgz", "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" }, + "react-lifecycles-compat": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", + "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" + }, "react-redux": { "version": "8.0.5", "resolved": "https://registry.npmmirror.com/react-redux/-/react-redux-8.0.5.tgz", @@ -27380,6 +28119,14 @@ "workbox-webpack-plugin": "^6.4.1" } }, + "reactcss": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/reactcss/-/reactcss-1.2.3.tgz", + "integrity": "sha512-KiwVUcFu1RErkI97ywr8nvx8dNOpT03rbnma0SSalTYjkrPYaEajR4a/MRt6DZ46K6arDRbWMNHF+xH7G7n/8A==", + "requires": { + "lodash": "^4.0.1" + } + }, "read-cache": { "version": "1.0.0", "resolved": "https://registry.npmmirror.com/read-cache/-/read-cache-1.0.0.tgz", @@ -28360,6 +29107,14 @@ } } }, + "swr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/swr/-/swr-2.0.0.tgz", + "integrity": "sha512-IhUx5yPkX+Fut3h0SqZycnaNLXLXsb2ECFq0Y29cxnK7d8r7auY2JWNbCW3IX+EqXUg3rwNJFlhrw5Ye/b6k7w==", + "requires": { + "use-sync-external-store": "^1.2.0" + } + }, "symbol-tree": { "version": "3.2.4", "resolved": "https://registry.npmmirror.com/symbol-tree/-/symbol-tree-3.2.4.tgz", @@ -28499,6 +29254,11 @@ "resolved": "https://registry.npmmirror.com/thunky/-/thunky-1.1.0.tgz", "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" }, + "tinycolor2": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.5.1.tgz", + "integrity": "sha512-BHlrsGeYN2OpkRpfAgkEwCMu6w8Quq8JkK/mp4c55NZP7OwceJObR1CPZt62TqiA0Y3J5pwuDX+fXDqc35REtg==" + }, "tmpl": { "version": "1.0.5", "resolved": "https://registry.npmmirror.com/tmpl/-/tmpl-1.0.5.tgz", @@ -28702,6 +29462,11 @@ "resolved": "https://registry.npmmirror.com/unquote/-/unquote-1.1.1.tgz", "integrity": "sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==" }, + "unstated-next": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unstated-next/-/unstated-next-1.1.0.tgz", + "integrity": "sha512-AAn47ZncPvgBGOvMcn8tSRxsrqwf2VdAPxLASTuLJvZt4rhKfDvUkmYZLGfclImSfTVMv7tF4ynaVxin0JjDCA==" + }, "upath": { "version": "1.2.0", "resolved": "https://registry.npmmirror.com/upath/-/upath-1.2.0.tgz", @@ -28733,6 +29498,18 @@ "requires-port": "^1.0.0" } }, + "use-json-comparison": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/use-json-comparison/-/use-json-comparison-1.0.6.tgz", + "integrity": "sha512-xPadt5yMRbEmVfOSGFSMqjjICrq7nLbfSH3rYIXsrtcuFX7PmbYDN/ku8ObBn3v8o/yZelO1OxUS5+5TI3+fUw==", + "requires": {} + }, + "use-media-antd-query": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/use-media-antd-query/-/use-media-antd-query-1.1.0.tgz", + "integrity": "sha512-B6kKZwNV4R+l4Rl11sWO7HqOay9alzs1Vp1b4YJqjz33YxbltBCZtt/yxXxkXN9rc1S7OeEL/GbwC30Wmqhw6Q==", + "requires": {} + }, "use-sync-external-store": { "version": "1.2.0", "resolved": "https://registry.npmmirror.com/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz", @@ -28809,6 +29586,14 @@ "makeerror": "1.0.12" } }, + "warning": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz", + "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==", + "requires": { + "loose-envify": "^1.0.0" + } + }, "watchpack": { "version": "2.4.0", "resolved": "https://registry.npmmirror.com/watchpack/-/watchpack-2.4.0.tgz", diff --git a/package.json b/package.json index f4d66f5..3b50e96 100644 --- a/package.json +++ b/package.json @@ -3,6 +3,7 @@ "version": "0.1.0", "private": true, "dependencies": { + "@ant-design/pro-components": "^2.3.47", "@reduxjs/toolkit": "^1.9.1", "@testing-library/jest-dom": "^5.16.5", "@testing-library/react": "^13.4.0", diff --git a/src/models/Staff.ts b/src/models/Staff.ts index 666fed7..c4b2a03 100644 --- a/src/models/Staff.ts +++ b/src/models/Staff.ts @@ -95,7 +95,7 @@ export class InvoiceCommit { invoiceCheckCode:string invoiceRegionCode: Nullable invoiceSellerTaxCode:Nullable - invoiceExtraInfo:Nullable|[] + invoiceExtraInfo:Nullable|[]|Map constructor() { this.invoiceFileName = "" this.invoiceNo = "" @@ -123,4 +123,19 @@ export class InvoiceCommit { this.invoiceSellerTaxCode = props.get("invoiceSellerTaxCode")!.toString() //this.invoiceExtraInfo = props.get("invoiceExtraInfo")!. } +} +export interface Reimbursement { + reimbursementActualAmount: number; + reimbursementBillingTime: string; + reimbursementId: number; + reimbursementKindId: string; + reimbursementNote: string; + reimbursementSubmitDepartmentId: number; + reimbursementSubmitStaffId: string; + reimbursementSubmitTime: string; + approvalOpinion: string; + approvalResult: number; + approvalStaffId: string; + approvalStaffName: string; + processOrder: number; } \ No newline at end of file diff --git a/src/pages/Invoice/mine/InvoiceListView.tsx b/src/pages/Invoice/mine/InvoiceListView.tsx index fa69d1b..ccbcb66 100644 --- a/src/pages/Invoice/mine/InvoiceListView.tsx +++ b/src/pages/Invoice/mine/InvoiceListView.tsx @@ -167,51 +167,51 @@ class InvoiceSearch extends React.Component { {this.state.complexEnabled&& -
-
- - - - +
+ + + + + - - - - - - - - - - - - - - -
} + + + +
+ + + + + + + + + + +
} ) @@ -269,7 +269,7 @@ class InvoiceListView extends React.Component { pageNum: 1, pageSize: 20, totalNum: 2, - PaginationKey: -23 + PaginationKey: -2 } this.searchInvoiceContent() } @@ -310,7 +310,7 @@ class InvoiceListView extends React.Component { } handleInvoicesTotalNum(value: Number) { - this.setState({totalNum: Number, PaginationKey: -Number}) + this.setState({totalNum: value, PaginationKey: -value}) } handleInvoicesContent = (value: Array) => { @@ -329,10 +329,6 @@ class InvoiceListView extends React.Component { )} - { let result = new InvoiceCommit() result.invoiceNo = response.data.invoiceNo result.invoiceDate = dayjs(response.data.invoiceDate) + result.invoiceAmountWithoutTax = response.data.invoiceAmountWithoutTax result.invoiceAmount = response.data.invoiceAmount result.invoiceCode = response.data.invoiceCode result.invoiceCheckCode = response.data.invoiceCheckCode result.invoiceKind = response.data.invoiceKind result.invoiceFileName = response.data.invoiceFileName result.invoiceExtraInfo = "" - for(let i=0;i { + result.invoiceExtraInfo+=(key+": "+response.data.invoiceExtraInfo[key]+"\n") + }); + // for(let i=0;i{ handleCancel = () => { this.setOpen(false); }; + + handleUploadCanCel = () => { + this.setUploadOpen(false); + } submit=()=>{ let result=this.formRef.current!.getFieldsValue() result.invoiceDate=result.invoiceDate.format("YYYY-MM-DD") - let extraInfo=[] - let line = result.invoiceExtraInfo.split('\n') - for(let i=0;i entry.split(": "))) + console.log(result.invoiceExtraInfo.split("\n").map((entry: string) => entry.split(": "))) + // let extraInfo=[] + // let line = result.invoiceExtraInfo.split('\n') + // for(let i=0;i{ > - {/**/} - {/* */} - {/**/} + + + { + console.log(response.data) + }).catch(function (error) { + console.log(error) + }) +} + +class Subpage extends React.Component { + tableAction = React.createRef(); + constructor(props: { }) { + super(props); + this.state={ + searchWord:"" + } + } + columns: ProColumns[] = [ + { + title: '报销单号', + width: 80, + dataIndex: 'id', + search: false, + //render: (_) => {_}, + }, + { + title: '报销类型', + width: 80, + dataIndex: 'kind', + search: false, + //render: (_) => {_}, + }, + { + title: '金额', + width: 80, + dataIndex: 'amount', + search: false, + //render: (_) => {_}, + sorter: (a, b) => a.amount - b.amount + }, + { + title: '状态', + width: 80, + dataIndex: 'status', + filters: true, + onFilter: true, + search: false, + valueEnum: { + wait1: {text: '待主管审批', status: 'Processing'}, + wait2: {text: '待财务审批', status: 'Processing'}, + wait3: {text: '待财务主管审批', status: 'Processing'}, + wait4: {text: '待总经理审批', status: 'Processing'}, + success: {text: '已报销', status: 'Success'}, + failure: {text: '审批未通过', status: 'Error'}, + }, + + //render: (_) => {_}, + }, + { + title: '申请部门', + width: 80, + search: false, + dataIndex: 'department', + //render: (_) => {_}, + }, + { + title: '申请时间', + width: 80, + dataIndex: 'submitDateTime', + valueType: 'dateTime', + search: false, + sorter: (a, b) => a.submitDateTime - b.submitDateTime + //render: (_) => {_}, + }, + + { + title: '申请详情', + width: 80, + dataIndex: 'detail', + search: false, + render: (_, row, index, action) => [ + { + this.showDetail(row) + }} + > + 查看详情 + , + ], + }, + ]; + search(value: string, form: FormProps['form'], dom: ReactNode[]) { + this.setState({searchWord:value}); + if(value===""){ + // @ts-ignore + this.tableAction.current.reloadAndRest() + } + this.tableAction.current?.reload() + } + + create() { + alert("123") + } + + showDetail(row: TableListItem) { + alert((new Date(row.submitDateTime))) + } + + + + updateRequest(current: number | undefined, pageSize: number | undefined){ + // @ts-ignore + if(this.state.searchWord.trim()===""){ + current = (current === undefined ? 0 : current) + pageSize = (pageSize === undefined ? 5 : pageSize) + let tableListDataSource = fakeData.slice(pageSize * current - pageSize, pageSize * current) + console.log(current, pageSize, tableListDataSource.length) + let totalRecordLength = fakeData.length + return Promise.resolve({ + data: tableListDataSource, + success: true, + total: totalRecordLength, + pageSize: pageSize + }); + }else{ + let tableListDataSource = fakeData.slice(0,1) + return Promise.resolve({ + data: tableListDataSource, + success: true, + total: tableListDataSource.length, + }); + } + + } + render() { + return ( + + actionRef={this.tableAction} + columns={this.columns} + request={async (params, sorter, filter) => { + // 表单搜索项会从 params 传入,传递给后端接口。 + console.log(params, sorter, filter); + return this.updateRequest(params.current, params.pageSize) + + }} + rowKey="key" + pagination={{ + defaultPageSize: 5, + pageSizeOptions: [5, 10, 20, 50, 100], + showQuickJumper: true, + }} + // toolbar={{ + // title: '这里是标题', + // subTitle: '这里是子标题', + // tooltip: '这是一个段描述', + // search: { + // onSearch: (value: string) => { + // alert(value); + // }, + // }, + // }} + search={{ + defaultCollapsed: false, + labelWidth: 'auto', + optionRender: ({searchText}, {form}, dom) => { + // console.log(searchConfig, formProps, dom) + return [ +
+ { + this.search(value, form, dom) + }} + enterButton + + /> + +
+ ] + } + }} + + dateFormatter="string" + // toolBarRender={() => [ + // , + // , + // , + // ]} + /> + ); + } +} + function MyReimbursement() { - return( -
我的报销
+ return ( + <> + + ) } + export default MyReimbursement \ No newline at end of file