Merge remote-tracking branch 'origin/main' into main

main
wuyize 2022-12-29 15:20:20 +08:00
commit 2ad5c124b0
7 changed files with 1207 additions and 71 deletions

15
.idea/git_toolbox_prj.xml Normal file
View File

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="GitToolBoxProjectSettings">
<option name="commitMessageIssueKeyValidationOverride">
<BoolValueOverride>
<option name="enabled" value="true" />
</BoolValueOverride>
</option>
<option name="commitMessageValidationEnabledOverride">
<BoolValueOverride>
<option name="enabled" value="true" />
</BoolValueOverride>
</option>
</component>
</project>

785
package-lock.json generated
View File

@ -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",

View File

@ -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",

View File

@ -95,7 +95,7 @@ export class InvoiceCommit {
invoiceCheckCode:string
invoiceRegionCode: Nullable<string>
invoiceSellerTaxCode:Nullable<string>
invoiceExtraInfo:Nullable<string>|[]
invoiceExtraInfo:Nullable<string>|[]|Map<any,string>
constructor() {
this.invoiceFileName = ""
this.invoiceNo = ""
@ -124,3 +124,18 @@ export class InvoiceCommit {
//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;
}

View File

@ -269,7 +269,7 @@ class InvoiceListView extends React.Component<any, any> {
pageNum: 1,
pageSize: 20,
totalNum: 2,
PaginationKey: -23
PaginationKey: -2
}
this.searchInvoiceContent()
}
@ -310,7 +310,7 @@ class InvoiceListView extends React.Component<any, any> {
}
handleInvoicesTotalNum(value: Number) {
this.setState({totalNum: Number, PaginationKey: -Number})
this.setState({totalNum: value, PaginationKey: -value})
}
handleInvoicesContent = (value: Array<Invoice>) => {
@ -329,10 +329,6 @@ class InvoiceListView extends React.Component<any, any> {
)}
</div>
<Pagination style={{
position: "fixed",
bottom: 20,
}} showQuickJumper defaultCurrent={1} total={this.state.totalNum} onChange={this.onChange} />
<Pagination style={{
position: "fixed",
bottom: 20,

View File

@ -98,15 +98,19 @@ class InvoiceUploadView extends React.Component<any, any>{
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<response.data.invoiceExtraInfo.length;i++){
result.invoiceExtraInfo+=(response.data.invoiceExtraInfo[i].name+": "+response.data.invoiceExtraInfo[i].value+"\n")
}
Object.keys(response.data.invoiceExtraInfo).forEach( key => {
result.invoiceExtraInfo+=(key+": "+response.data.invoiceExtraInfo[key]+"\n")
});
// for(let i=0;i<response.data.invoiceExtraInfo.length;i++){
// result.invoiceExtraInfo+=(response.data.invoiceExtraInfo[i].name+": "+response.data.invoiceExtraInfo[i].value+"\n")
// }
this.setState({invoiceCommit:result})
this.formRef.current!.setFieldsValue(result);
}).catch(function (error) {
@ -130,18 +134,25 @@ class InvoiceUploadView extends React.Component<any, any>{
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<line.length;i++){
let tmp = line[i].split(": ")
if(tmp.length===2){
extraInfo.push({name:tmp[0],value:tmp[1]})
}
}
result.invoiceExtraInfo=extraInfo
result.invoiceExtraInfo=new Map(result.invoiceExtraInfo.split("\n").map((entry: string) => 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<line.length;i++){
// let tmp = line[i].split(": ")
// if(tmp.length===2){
// extraInfo.push({name:tmp[0],value:tmp[1]})
// }
// }
// result.invoiceExtraInfo=extraInfo
console.log(result.invoiceExtraInfo)
axiosInstance({
url: 'common/invoice/submit',
method: 'POST',
@ -224,12 +235,12 @@ class InvoiceUploadView extends React.Component<any, any>{
>
<Input />
</Form.Item>
{/*<Form.Item*/}
{/* name={`invoiceAmountWithoutTax`}*/}
{/* label={`非税金额`}*/}
{/*>*/}
{/* <Input/>*/}
{/*</Form.Item>*/}
<Form.Item
name={`invoiceAmountWithoutTax`}
label={`非税金额`}
>
<Input/>
</Form.Item>
<Form.Item
name={`invoiceDate`}
label={`开票日期`}

View File

@ -1,6 +1,319 @@
import {DownOutlined} from '@ant-design/icons';
import type {ActionType, ProColumns, ProFormInstance} from '@ant-design/pro-components';
import {ProTable} from '@ant-design/pro-components';
import {Button, Dropdown, Input, Space, Typography} from 'antd';
import React, {ReactNode, useRef} from "react";
import Search from "antd/es/input/Search";
import axiosInstance from "../../../utils/axiosInstance";
import {FormProps} from "antd/es/form/Form";
import {FormInstance} from "antd/es/form";
const valueEnum = {
0: 'success',
1: 'wait1',
2: 'wait2',
3: 'wait3',
4: 'wait4',
5: 'failure'
};
export type TableListItem = {
id: string;
kind: string;
amount: number;
status: string;
department: string;
submitDateTime: number;
detail: string;
};
let fakeData: TableListItem[] = [
{
id: "123",
kind: "string",
amount: 5.0,
status: valueEnum[5],
department: "string",
submitDateTime: Date.now() - 100000000,
detail: "查看详情",
},
{
id: "123",
kind: "string",
detail: "查看详情",
amount: 4.0,
status: valueEnum[4],
department: "string",
submitDateTime: Date.now() - 100000000,
},
{
id: "123",
kind: "string",
detail: "查看详情",
amount: 3.0,
status: valueEnum[3],
department: "string",
submitDateTime: Date.now() - 100000000,
},
{
id: "123",
kind: "string",
detail: "查看详情",
amount: 2,
status: valueEnum[2],
department: "string",
submitDateTime: Date.now(),
},
{
id: "123",
kind: "string",
detail: "查看详情",
amount: 1,
status: valueEnum[1],
department: "string",
submitDateTime: Date.now() - 100000000,
},
{
id: "123",
kind: "string",
detail: "查看详情",
amount: 0.0,
status: valueEnum[0],
department: "string",
submitDateTime: Date.now() - 100000000,
},
];
for (let i = 0; i < 94; i++)
fakeData.push({
id: "123",
kind: "string",
detail: "查看详情",
amount: i,
status: valueEnum[0],
department: "string",
submitDateTime: Date.now() - 100000000,
})
for (let i = 0; i < fakeData.length; i++)
fakeData[i].amount = i + 1
function pullAll() {
let params
axiosInstance({
url: 'reimbursement/list',
method: 'get',
params: params
}).then(response => {
console.log(response.data)
}).catch(function (error) {
console.log(error)
})
}
class Subpage extends React.Component {
tableAction = React.createRef<ActionType>();
constructor(props: { }) {
super(props);
this.state={
searchWord:""
}
}
columns: ProColumns<TableListItem>[] = [
{
title: '报销单号',
width: 80,
dataIndex: 'id',
search: false,
//render: (_) => <a>{_}</a>,
},
{
title: '报销类型',
width: 80,
dataIndex: 'kind',
search: false,
//render: (_) => <a>{_}</a>,
},
{
title: '金额',
width: 80,
dataIndex: 'amount',
search: false,
//render: (_) => <a>{_}</a>,
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: (_) => <a>{_}</a>,
},
{
title: '申请部门',
width: 80,
search: false,
dataIndex: 'department',
//render: (_) => <a>{_}</a>,
},
{
title: '申请时间',
width: 80,
dataIndex: 'submitDateTime',
valueType: 'dateTime',
search: false,
sorter: (a, b) => a.submitDateTime - b.submitDateTime
//render: (_) => <a>{_}</a>,
},
{
title: '申请详情',
width: 80,
dataIndex: 'detail',
search: false,
render: (_, row, index, action) => [
<a
key="a"
onClick={() => {
this.showDetail(row)
}}
>
</a>,
],
},
];
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 (
<ProTable<TableListItem>
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 [
<div style={{flexWrap: "nowrap", display: "flex", justifyContent: "flex-end"}}>
<Search className="searchBar"
addonBefore={"报销单号:"}
placeholder={""}
allowClear
onSearch={(value) => {
this.search(value, form, dom)
}}
enterButton
/>
<Button key="create" type="primary" onClick={() => this.create()} style={{width: 100}}>
</Button>
</div>
]
}
}}
dateFormatter="string"
// toolBarRender={() => [
// <Button key="show">查看日志</Button>,
// <Button key="out">
// 导出数据
// <DownOutlined />
// </Button>,
// <Button type="primary" key="primary">
// 创建应用
// </Button>,
// ]}
/>
);
}
}
function MyReimbursement() {
return(
<div></div>
return (
<>
<Subpage/>
</>
)
}
export default MyReimbursement