Commit b3e1ef15f5ad9e3bf027d2b9725ec422c20c28ce

Authored by 陈鑫涛
1 parent 72fcbd94

新增页面

Too many changes to show.

To preserve performance only 6 of 32 files are displayed.

.umirc.ts
... ... @@ -7,7 +7,13 @@ export default defineConfig({
7 7 {
8 8 path: '/indexPage',
9 9 component: '@/routes/indexPage',
10   - routes: [{ path: '/indexPage/CommonList' }],
  10 + routes: [
  11 + { path: '/indexPage/CommonList' },
  12 + { path: '/indexPage/CommonNewBill' },
  13 + { path: '/indexPage/CommonBill' },
  14 + { path: '/indexPage/CommonListEdit' },
  15 + { path: '/indexPage/CommonClassify' },
  16 + ],
11 17 },
12 18 ],
13 19  
... ...
package.json
... ... @@ -22,6 +22,7 @@
22 22 "moment": "^2.30.1",
23 23 "react-dnd": "^14.0.5",
24 24 "react-dnd-html5-backend": "^14.1.0",
  25 + "react-grid-layout": "^1.5.1",
25 26 "react-highlight-words": "^0.21.0",
26 27 "react-pdf": "^9.2.1",
27 28 "react-resizable": "^3.0.5",
... ...
pnpm-lock.yaml
... ... @@ -14,18 +14,54 @@ importers:
14 14 '@ant-design/icons':
15 15 specifier: ^5.6.1
16 16 version: 5.6.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
  17 + '@js-preview/docx':
  18 + specifier: ^1.6.4
  19 + version: 1.6.4(core-js@3.34.0)
  20 + '@js-preview/excel':
  21 + specifier: ^1.7.14
  22 + version: 1.7.14
17 23 antd:
18 24 specifier: ^5.24.3
19 25 version: 5.24.3(date-fns@2.30.0)(moment@2.30.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
  26 + antd-mobile:
  27 + specifier: 2.3.4
  28 + version: 2.3.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
20 29 antd-v4:
21 30 specifier: npm:antd@4.24.16
22 31 version: antd@4.24.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
  32 + braft-editor:
  33 + specifier: ^2.3.9
  34 + version: 2.3.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
  35 + immutability-helper:
  36 + specifier: ^3.1.1
  37 + version: 3.1.1
23 38 lodash:
24 39 specifier: ^4.17.21
25 40 version: 4.17.21
26 41 moment:
27 42 specifier: ^2.30.1
28 43 version: 2.30.1
  44 + react-dnd:
  45 + specifier: ^14.0.5
  46 + version: 14.0.5(@types/hoist-non-react-statics@3.3.6)(@types/node@22.13.10)(@types/react@18.3.18)(react@18.3.1)
  47 + react-dnd-html5-backend:
  48 + specifier: ^14.1.0
  49 + version: 14.1.0
  50 + react-grid-layout:
  51 + specifier: ^1.5.1
  52 + version: 1.5.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
  53 + react-highlight-words:
  54 + specifier: ^0.21.0
  55 + version: 0.21.0(react@18.3.1)
  56 + react-pdf:
  57 + specifier: ^9.2.1
  58 + version: 9.2.1(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
  59 + react-resizable:
  60 + specifier: ^3.0.5
  61 + version: 3.0.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
  62 + react-sortable-hoc:
  63 + specifier: ^2.0.0
  64 + version: 2.0.0(prop-types@15.8.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
29 65 umi:
30 66 specifier: ^4.4.6
31 67 version: 4.4.6(@babel/core@7.26.10)(@types/node@22.13.10)(@types/react@18.3.18)(eslint@8.57.1)(lightningcss@1.22.1)(prettier@2.8.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@3.29.5)(stylelint@14.16.1)(terser@5.39.0)(type-fest@0.20.2)(typescript@5.8.2)(webpack@5.98.0)
... ... @@ -939,6 +975,14 @@ packages:
939 975 '@jridgewell/trace-mapping@0.3.25':
940 976 resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==, tarball: https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz}
941 977  
  978 + '@js-preview/docx@1.6.4':
  979 + resolution: {integrity: sha512-F6Yzac5NWnXp7cKzcUYGSLQHdp5ELgpdgTzrj5i4QZkZHv4ASGHhVY0MZF4YRjpY/MwirD8C1W14CIRUcdvL7g==, tarball: https://registry.npmjs.org/@js-preview/docx/-/docx-1.6.4.tgz}
  980 + peerDependencies:
  981 + core-js: ^3.0.0
  982 +
  983 + '@js-preview/excel@1.7.14':
  984 + resolution: {integrity: sha512-7QHtuRalWQzWIKARc/IRN8+kj1S5eWV4+cAQipzZngE3mVxMPL1RHXKJt/ONmpcKZ410egYkaBuOOs9+LctBkA==, tarball: https://registry.npmjs.org/@js-preview/excel/-/excel-1.7.14.tgz}
  985 +
942 986 '@loadable/component@5.15.2':
943 987 resolution: {integrity: sha512-ryFAZOX5P2vFkUdzaAtTG88IGnr9qxSdvLRvJySXcUA4B4xVWurUNADu3AnKPksxOZajljqTrDEDcYjeL4lvLw==, tarball: https://registry.npmjs.org/@loadable/component/-/component-5.15.2.tgz}
944 988 engines: {node: '>=8'}
... ... @@ -1138,6 +1182,15 @@ packages:
1138 1182 react: '>=16.9.0'
1139 1183 react-dom: '>=16.9.0'
1140 1184  
  1185 + '@react-dnd/asap@4.0.1':
  1186 + resolution: {integrity: sha512-kLy0PJDDwvwwTXxqTFNAAllPHD73AycE9ypWeln/IguoGBEbvFcPDbCV03G52bEcC5E+YgupBE0VzHGdC8SIXg==, tarball: https://registry.npmjs.org/@react-dnd/asap/-/asap-4.0.1.tgz}
  1187 +
  1188 + '@react-dnd/invariant@2.0.0':
  1189 + resolution: {integrity: sha512-xL4RCQBCBDJ+GRwKTFhGUW8GXa4yoDfJrPbLblc3U09ciS+9ZJXJ3Qrcs/x2IODOdIE5kQxvMmE2UKyqUictUw==, tarball: https://registry.npmjs.org/@react-dnd/invariant/-/invariant-2.0.0.tgz}
  1190 +
  1191 + '@react-dnd/shallowequal@2.0.0':
  1192 + resolution: {integrity: sha512-Pc/AFTdwZwEKJxFJvlxrSmGe/di+aAOBn60sremrpLo6VI/6cmiUYNNwlI5KNYttg7uypzA3ILPMPgxB2GYZEg==, tarball: https://registry.npmjs.org/@react-dnd/shallowequal/-/shallowequal-2.0.0.tgz}
  1193 +
1141 1194 '@sinclair/typebox@0.27.8':
1142 1195 resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==, tarball: https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz}
1143 1196  
... ... @@ -1785,6 +1838,9 @@ packages:
1785 1838 peerDependencies:
1786 1839 dayjs: '*'
1787 1840  
  1841 + antd-mobile@2.3.4:
  1842 + resolution: {integrity: sha512-Uw02Ghc+DPzaQceJQ+5p1ZnQFafvILA0chTTen7m7c89Uzbw6Ny3zsVZDE1gfteNEIsL4JpPe0I/+aI3Q/nPAA==, tarball: https://registry.npmjs.org/antd-mobile/-/antd-mobile-2.3.4.tgz}
  1843 +
1788 1844 antd@4.24.16:
1789 1845 resolution: {integrity: sha512-zZrK4UYxHtU6tGOOf0uG/kBRx1kTvypfuSB3GqE/SBQxFhZ/TZ+yj7Z1qwI8vGfMtUUJdLeuoCAqGDa1zPsXnQ==, tarball: https://registry.npmjs.org/antd/-/antd-4.24.16.tgz}
1790 1846 peerDependencies:
... ... @@ -1958,6 +2014,9 @@ packages:
1958 2014 resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==, tarball: https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz}
1959 2015 engines: {node: '>=8'}
1960 2016  
  2017 + bl@4.1.0:
  2018 + resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==, tarball: https://registry.npmjs.org/bl/-/bl-4.1.0.tgz}
  2019 +
1961 2020 bn.js@4.12.1:
1962 2021 resolution: {integrity: sha512-k8TVBiPkPJT9uHLdOKfFpqcfprwBFOAAXXozRubr7R7PfIuKvQlzcI4M0pALeqXN09vdaMbUdUj+pass+uULAg==, tarball: https://registry.npmjs.org/bn.js/-/bn.js-4.12.1.tgz}
1963 2022  
... ... @@ -1985,6 +2044,31 @@ packages:
1985 2044 resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==, tarball: https://registry.npmjs.org/braces/-/braces-3.0.3.tgz}
1986 2045 engines: {node: '>=8'}
1987 2046  
  2047 + braft-convert@2.3.0:
  2048 + resolution: {integrity: sha512-5km+dLHk8iYDv2iEYDrDQ2ld/ZoUx66QLql0qdm5PqZEcNXc8dBHGLORfzeu3iMw1jLeAiHxtdY5+ypuIhczVg==, tarball: https://registry.npmjs.org/braft-convert/-/braft-convert-2.3.0.tgz}
  2049 + peerDependencies:
  2050 + react: ^16.0.0
  2051 +
  2052 + braft-editor@2.3.9:
  2053 + resolution: {integrity: sha512-mqdPk/zI2dhFK8tW/A4Qj/AkkARLh5L/niNw+iif5wFqb6zh15rMlrShgz1nWO/QXyAKr8XtDgxiBbR0zWwtRg==, tarball: https://registry.npmjs.org/braft-editor/-/braft-editor-2.3.9.tgz}
  2054 + peerDependencies:
  2055 + react: ^15.0.2|| ^16.0.0-rc || ^16.0.0
  2056 + react-dom: ^15.0.2|| ^16.0.0-rc || ^16.0.0
  2057 +
  2058 + braft-finder@0.0.19:
  2059 + resolution: {integrity: sha512-0kzI6/KbomJJhYX1hpjn4edCKhblyUyWdUrsgBmOrwy0vrj+pPkm69+Uf8Uj6KGAULM6LF0ooC++p7fqUGgFHw==, tarball: https://registry.npmjs.org/braft-finder/-/braft-finder-0.0.19.tgz}
  2060 + peerDependencies:
  2061 + react: ^16.4.1
  2062 + react-dom: ^16.4.1
  2063 +
  2064 + braft-utils@3.0.13:
  2065 + resolution: {integrity: sha512-92YNlc5RW3mNMo0zbWhnqz8PWr21AAPPhnfn3ZUoXM9+wBIuJQe6UyvOas+MEG9UOGFrvTDPbq60P3fdEhyMQQ==, tarball: https://registry.npmjs.org/braft-utils/-/braft-utils-3.0.13.tgz}
  2066 + peerDependencies:
  2067 + braft-convert: ^2.1.4
  2068 + draft-js: ^0.10.5
  2069 + draftjs-utils: ^0.9.4
  2070 + immutable: ~3.7.4
  2071 +
1988 2072 brorand@1.1.0:
1989 2073 resolution: {integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==, tarball: https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz}
1990 2074  
... ... @@ -2028,6 +2112,9 @@ packages:
2028 2112 buffer@4.9.2:
2029 2113 resolution: {integrity: sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==, tarball: https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz}
2030 2114  
  2115 + buffer@5.7.1:
  2116 + resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==, tarball: https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz}
  2117 +
2031 2118 builtin-status-codes@3.0.0:
2032 2119 resolution: {integrity: sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==, tarball: https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz}
2033 2120  
... ... @@ -2076,6 +2163,10 @@ packages:
2076 2163 caniuse-lite@1.0.30001703:
2077 2164 resolution: {integrity: sha512-kRlAGTRWgPsOj7oARC9m1okJEXdL/8fekFVcxA8Hl7GH4r/sN4OJn/i6Flde373T50KS7Y37oFbMwlE8+F42kQ==, tarball: https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001703.tgz}
2078 2165  
  2166 + canvas@3.1.0:
  2167 + resolution: {integrity: sha512-tTj3CqqukVJ9NgSahykNwtGda7V33VLObwrHfzT0vqJXu7J4d4C/7kQQW3fOEGDfZZoILPut5H00gOjyttPGyg==, tarball: https://registry.npmjs.org/canvas/-/canvas-3.1.0.tgz}
  2168 + engines: {node: ^18.12.0 || >= 20.9.0}
  2169 +
2079 2170 chalk@4.1.2:
2080 2171 resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==, tarball: https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz}
2081 2172 engines: {node: '>=10'}
... ... @@ -2088,6 +2179,9 @@ packages:
2088 2179 resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==, tarball: https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz}
2089 2180 engines: {node: '>= 8.10.0'}
2090 2181  
  2182 + chownr@1.1.4:
  2183 + resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==, tarball: https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz}
  2184 +
2091 2185 chrome-trace-event@1.0.4:
2092 2186 resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==, tarball: https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz}
2093 2187 engines: {node: '>=6.0'}
... ... @@ -2116,6 +2210,14 @@ packages:
2116 2210 resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==, tarball: https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz}
2117 2211 engines: {node: '>=12'}
2118 2212  
  2213 + clsx@1.2.1:
  2214 + resolution: {integrity: sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==, tarball: https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz}
  2215 + engines: {node: '>=6'}
  2216 +
  2217 + clsx@2.1.1:
  2218 + resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==, tarball: https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz}
  2219 + engines: {node: '>=6'}
  2220 +
2119 2221 color-convert@1.9.3:
2120 2222 resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==, tarball: https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz}
2121 2223  
... ... @@ -2395,6 +2497,14 @@ packages:
2395 2497 resolution: {integrity: sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==, tarball: https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz}
2396 2498 engines: {node: '>=0.10'}
2397 2499  
  2500 + decompress-response@6.0.0:
  2501 + resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==, tarball: https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz}
  2502 + engines: {node: '>=10'}
  2503 +
  2504 + deep-extend@0.6.0:
  2505 + resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==, tarball: https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz}
  2506 + engines: {node: '>=4.0.0'}
  2507 +
2398 2508 deep-is@0.1.4:
2399 2509 resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==, tarball: https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz}
2400 2510  
... ... @@ -2458,6 +2568,10 @@ packages:
2458 2568 engines: {node: '>=0.10'}
2459 2569 hasBin: true
2460 2570  
  2571 + detect-libc@2.0.3:
  2572 + resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==, tarball: https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz}
  2573 + engines: {node: '>=8'}
  2574 +
2461 2575 detect-newline@4.0.1:
2462 2576 resolution: {integrity: sha512-qE3Veg1YXzGHQhlA6jzebZN2qVf6NX+A7m7qlhCGG30dJixrAQhYOsJjsnBjJkCSmuOPpCk30145fr8FV0bzog==, tarball: https://registry.npmjs.org/detect-newline/-/detect-newline-4.0.1.tgz}
2463 2577 engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
... ... @@ -2472,6 +2586,9 @@ packages:
2472 2586 resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==, tarball: https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz}
2473 2587 engines: {node: '>=8'}
2474 2588  
  2589 + dnd-core@14.0.1:
  2590 + resolution: {integrity: sha512-+PVS2VPTgKFPYWo3vAFEA8WPbTf7/xo43TifH9G8S1KqnrQu0o77A3unrF5yOugy4mIz7K5wAVFHUcha7wsz6A==, tarball: https://registry.npmjs.org/dnd-core/-/dnd-core-14.0.1.tgz}
  2591 +
2475 2592 doctrine@2.1.0:
2476 2593 resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==, tarball: https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz}
2477 2594 engines: {node: '>=0.10.0'}
... ... @@ -2512,12 +2629,28 @@ packages:
2512 2629 dot-case@3.0.4:
2513 2630 resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==, tarball: https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz}
2514 2631  
  2632 + draft-convert@2.1.13:
  2633 + resolution: {integrity: sha512-/h/n4JCfyO8aWby7wKBkccHdsuVbbDyHWXi/B3Zf2pN++lN1lDOIVt5ulXCcbH2Y5YJEFzMJw/YGfN+R0axxxg==, tarball: https://registry.npmjs.org/draft-convert/-/draft-convert-2.1.13.tgz}
  2634 + peerDependencies:
  2635 + draft-js: '>=0.7.0'
  2636 + react: ^15.0.2 || ^16.0.0-rc || ^16.0.0 || ^17.0.0 || ^18.0.0
  2637 + react-dom: ^15.0.2 || ^16.0.0-rc || ^16.0.0 || ^17.0.0 || ^18.0.0
  2638 +
  2639 + draft-js-multidecorators@1.0.0:
  2640 + resolution: {integrity: sha512-7qdy+YQol5iq38AoEerhgSJWhCzxvZLn1x5ODfUlGfWlg0SrZ9AXJbaxHVIjdSIZNrbVIm+WANujNxMqCmDSZQ==, tarball: https://registry.npmjs.org/draft-js-multidecorators/-/draft-js-multidecorators-1.0.0.tgz}
  2641 +
2515 2642 draft-js@0.10.5:
2516 2643 resolution: {integrity: sha512-LE6jSCV9nkPhfVX2ggcRLA4FKs6zWq9ceuO/88BpXdNCS7mjRTgs0NsV6piUCJX9YxMsB9An33wnkMmU2sD2Zg==, tarball: https://registry.npmjs.org/draft-js/-/draft-js-0.10.5.tgz}
2517 2644 peerDependencies:
2518 2645 react: ^0.14.0 || ^15.0.0-rc || ^16.0.0-rc || ^16.0.0
2519 2646 react-dom: ^0.14.0 || ^15.0.0-rc || ^16.0.0-rc || ^16.0.0
2520 2647  
  2648 + draftjs-utils@0.9.4:
  2649 + resolution: {integrity: sha512-KYjABSbGpJrwrwmxVj5UhfV37MF/p0QRxKIyL+/+QOaJ8J9z1FBKxkblThbpR0nJi9lxPQWGg+gh+v0dAsSCCg==, tarball: https://registry.npmjs.org/draftjs-utils/-/draftjs-utils-0.9.4.tgz}
  2650 + peerDependencies:
  2651 + draft-js: ^0.10.x
  2652 + immutable: 3.x.x || 4.x.x
  2653 +
2521 2654 dunder-proto@1.0.1:
2522 2655 resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==, tarball: https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz}
2523 2656 engines: {node: '>= 0.4'}
... ... @@ -2794,6 +2927,13 @@ packages:
2794 2927 resolution: {integrity: sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==, tarball: https://registry.npmjs.org/execa/-/execa-7.2.0.tgz}
2795 2928 engines: {node: ^14.18.0 || ^16.14.0 || >=18.0.0}
2796 2929  
  2930 + exenv@1.2.2:
  2931 + resolution: {integrity: sha512-Z+ktTxTwv9ILfgKCk32OX3n/doe+OcLTRtqK9pcL+JsP3J1/VW8Uvl4ZjLlKqeW4rzK4oesDOGMEMRIZqtP4Iw==, tarball: https://registry.npmjs.org/exenv/-/exenv-1.2.2.tgz}
  2932 +
  2933 + expand-template@2.0.3:
  2934 + resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==, tarball: https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz}
  2935 + engines: {node: '>=6'}
  2936 +
2797 2937 express-http-proxy@2.1.1:
2798 2938 resolution: {integrity: sha512-4aRQRqDQU7qNPV5av0/hLcyc0guB9UP71nCYrQEYml7YphTo8tmWf3nDZWdTJMMjFikyz9xKXaURor7Chygdwg==, tarball: https://registry.npmjs.org/express-http-proxy/-/express-http-proxy-2.1.1.tgz}
2799 2939 engines: {node: '>=6.0.0'}
... ... @@ -2808,6 +2948,9 @@ packages:
2808 2948 fast-deep-equal@3.1.3:
2809 2949 resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==, tarball: https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz}
2810 2950  
  2951 + fast-equals@4.0.3:
  2952 + resolution: {integrity: sha512-G3BSX9cfKttjr+2o1O22tYMLq0DPluZnYtq1rXumE1SpL/F/SLIfHx08WYQoWSIpeMYf8sRbJ8++71+v6Pnxfg==, tarball: https://registry.npmjs.org/fast-equals/-/fast-equals-4.0.3.tgz}
  2953 +
2811 2954 fast-glob@3.2.12:
2812 2955 resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==, tarball: https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz}
2813 2956 engines: {node: '>=8.6.0'}
... ... @@ -2924,6 +3067,9 @@ packages:
2924 3067 resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==, tarball: https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz}
2925 3068 engines: {node: '>= 0.6'}
2926 3069  
  3070 + fs-constants@1.0.0:
  3071 + resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==, tarball: https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz}
  3072 +
2927 3073 fs-extra@10.1.0:
2928 3074 resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==, tarball: https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz}
2929 3075 engines: {node: '>=12'}
... ... @@ -2986,6 +3132,9 @@ packages:
2986 3132 git-hooks-list@3.2.0:
2987 3133 resolution: {integrity: sha512-ZHG9a1gEhUMX1TvGrLdyWb9kDopCBbTnI8z4JgRMYxsijWipgjSEYoPWqBuIB0DnRnvqlQSEeVmzpeuPm7NdFQ==, tarball: https://registry.npmjs.org/git-hooks-list/-/git-hooks-list-3.2.0.tgz}
2988 3134  
  3135 + github-from-package@0.0.0:
  3136 + resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==, tarball: https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz}
  3137 +
2989 3138 glob-parent@5.1.2:
2990 3139 resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==, tarball: https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz}
2991 3140 engines: {node: '>= 6'}
... ... @@ -3097,6 +3246,9 @@ packages:
3097 3246 resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==, tarball: https://registry.npmjs.org/he/-/he-1.2.0.tgz}
3098 3247 hasBin: true
3099 3248  
  3249 + highlight-words-core@1.2.3:
  3250 + resolution: {integrity: sha512-m1O9HW3/GNHxzSIXWw1wCNXXsgLlxrP0OI6+ycGUhiUHkikqW3OrwVHz+lxeNBe5yqLESdIcj8PowHQ2zLvUvQ==, tarball: https://registry.npmjs.org/highlight-words-core/-/highlight-words-core-1.2.3.tgz}
  3251 +
3100 3252 history@4.10.1:
3101 3253 resolution: {integrity: sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==, tarball: https://registry.npmjs.org/history/-/history-4.10.1.tgz}
3102 3254  
... ... @@ -3197,6 +3349,9 @@ packages:
3197 3349 immer@8.0.4:
3198 3350 resolution: {integrity: sha512-jMfL18P+/6P6epANRvRk6q8t+3gGhqsJ9EuJ25AXE+9bNTYtssvzeYbEd0mXRYWCmmXSIbnlpz6vd6iJlmGGGQ==, tarball: https://registry.npmjs.org/immer/-/immer-8.0.4.tgz}
3199 3351  
  3352 + immutability-helper@3.1.1:
  3353 + resolution: {integrity: sha512-Q0QaXjPjwIju/28TsugCHNEASwoCcJSyJV3uO1sOIQGI0jKgm9f41Lvz0DZj3n46cNCyAZTsEYoY4C2bVRUzyQ==, tarball: https://registry.npmjs.org/immutability-helper/-/immutability-helper-3.1.1.tgz}
  3354 +
3200 3355 immutable@3.7.6:
3201 3356 resolution: {integrity: sha512-AizQPcaofEtO11RZhPPHBOJRdo/20MKQF9mBLnVkBoyHi1/zXK8fzVdnEpSV9gxqtnh6Qomfp3F0xT5qP/vThw==, tarball: https://registry.npmjs.org/immutable/-/immutable-3.7.6.tgz}
3202 3357 engines: {node: '>=0.8.0'}
... ... @@ -3708,10 +3863,16 @@ packages:
3708 3863 resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==, tarball: https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz}
3709 3864 engines: {node: '>=10'}
3710 3865  
  3866 + make-cancellable-promise@1.3.2:
  3867 + resolution: {integrity: sha512-GCXh3bq/WuMbS+Ky4JBPW1hYTOU+znU+Q5m9Pu+pI8EoUqIHk9+tviOKC6/qhHh8C4/As3tzJ69IF32kdz85ww==, tarball: https://registry.npmjs.org/make-cancellable-promise/-/make-cancellable-promise-1.3.2.tgz}
  3868 +
3711 3869 make-dir@2.1.0:
3712 3870 resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==, tarball: https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz}
3713 3871 engines: {node: '>=6'}
3714 3872  
  3873 + make-event-props@1.6.2:
  3874 + resolution: {integrity: sha512-iDwf7mA03WPiR8QxvcVHmVWEPfMY1RZXerDVNCRYW7dUr2ppH3J58Rwb39/WG39yTZdRSxr3x+2v22tvI0VEvA==, tarball: https://registry.npmjs.org/make-event-props/-/make-event-props-1.6.2.tgz}
  3875 +
3715 3876 makeerror@1.0.12:
3716 3877 resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==, tarball: https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz}
3717 3878  
... ... @@ -3744,6 +3905,9 @@ packages:
3744 3905 resolution: {integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==, tarball: https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz}
3745 3906 engines: {node: '>= 4.0.0'}
3746 3907  
  3908 + memoize-one@4.0.3:
  3909 + resolution: {integrity: sha512-QmpUu4KqDmX0plH4u+tf0riMc1KHE1+lw95cMrLlXQAFOx/xnBtwhZ52XJxd9X2O6kwKBqX32kmhbhlobD0cuw==, tarball: https://registry.npmjs.org/memoize-one/-/memoize-one-4.0.3.tgz}
  3910 +
3747 3911 meow@9.0.0:
3748 3912 resolution: {integrity: sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==, tarball: https://registry.npmjs.org/meow/-/meow-9.0.0.tgz}
3749 3913 engines: {node: '>=10'}
... ... @@ -3751,6 +3915,14 @@ packages:
3751 3915 merge-descriptors@1.0.3:
3752 3916 resolution: {integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==, tarball: https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz}
3753 3917  
  3918 + merge-refs@1.3.0:
  3919 + resolution: {integrity: sha512-nqXPXbso+1dcKDpPCXvwZyJILz+vSLqGGOnDrYHQYE+B8n9JTCekVLC65AfCpR4ggVyA/45Y0iR9LDyS2iI+zA==, tarball: https://registry.npmjs.org/merge-refs/-/merge-refs-1.3.0.tgz}
  3920 + peerDependencies:
  3921 + '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
  3922 + peerDependenciesMeta:
  3923 + '@types/react':
  3924 + optional: true
  3925 +
3754 3926 merge-stream@2.0.0:
3755 3927 resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==, tarball: https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz}
3756 3928  
... ... @@ -3795,6 +3967,10 @@ packages:
3795 3967 resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==, tarball: https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz}
3796 3968 engines: {node: '>=12'}
3797 3969  
  3970 + mimic-response@3.1.0:
  3971 + resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==, tarball: https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz}
  3972 + engines: {node: '>=10'}
  3973 +
3798 3974 min-document@2.19.0:
3799 3975 resolution: {integrity: sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ==, tarball: https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz}
3800 3976  
... ... @@ -3819,10 +3995,16 @@ packages:
3819 3995 resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==, tarball: https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz}
3820 3996 engines: {node: '>= 6'}
3821 3997  
  3998 + minimist@1.2.8:
  3999 + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==, tarball: https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz}
  4000 +
3822 4001 minipass@7.1.2:
3823 4002 resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==, tarball: https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz}
3824 4003 engines: {node: '>=16 || 14 >=14.17'}
3825 4004  
  4005 + mkdirp-classic@0.5.3:
  4006 + resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==, tarball: https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz}
  4007 +
3826 4008 moment@2.30.1:
3827 4009 resolution: {integrity: sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==, tarball: https://registry.npmjs.org/moment/-/moment-2.30.1.tgz}
3828 4010  
... ... @@ -3837,6 +4019,9 @@ packages:
3837 4019 engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
3838 4020 hasBin: true
3839 4021  
  4022 + napi-build-utils@2.0.0:
  4023 + resolution: {integrity: sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA==, tarball: https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-2.0.0.tgz}
  4024 +
3840 4025 natural-compare-lite@1.4.0:
3841 4026 resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==, tarball: https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz}
3842 4027  
... ... @@ -3865,9 +4050,16 @@ packages:
3865 4050 no-case@3.0.4:
3866 4051 resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==, tarball: https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz}
3867 4052  
  4053 + node-abi@3.74.0:
  4054 + resolution: {integrity: sha512-c5XK0MjkGBrQPGYG24GBADZud0NCbznxNx0ZkS+ebUTrmV1qTDxPxSL8zEAPURXSbLRWVexxmP4986BziahL5w==, tarball: https://registry.npmjs.org/node-abi/-/node-abi-3.74.0.tgz}
  4055 + engines: {node: '>=10'}
  4056 +
3868 4057 node-abort-controller@3.1.1:
3869 4058 resolution: {integrity: sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==, tarball: https://registry.npmjs.org/node-abort-controller/-/node-abort-controller-3.1.1.tgz}
3870 4059  
  4060 + node-addon-api@7.1.1:
  4061 + resolution: {integrity: sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==, tarball: https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz}
  4062 +
3871 4063 node-domexception@1.0.0:
3872 4064 resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==, tarball: https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz}
3873 4065 engines: {node: '>=10.5.0'}
... ... @@ -3906,6 +4098,9 @@ packages:
3906 4098 resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==, tarball: https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz}
3907 4099 engines: {node: '>=0.10.0'}
3908 4100  
  4101 + normalize.css@7.0.0:
  4102 + resolution: {integrity: sha512-LYaFZxj2Q1Q9e1VJ0f6laG46Rt5s9URhKyckNaA2vZnL/0gwQHWhM7ALQkp3WBQKM5sXRLQ5Ehrfkp+E/ZiCRg==, tarball: https://registry.npmjs.org/normalize.css/-/normalize.css-7.0.0.tgz}
  4103 +
3909 4104 npm-run-path@4.0.1:
3910 4105 resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==, tarball: https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz}
3911 4106 engines: {node: '>=8'}
... ... @@ -4092,10 +4287,18 @@ packages:
4092 4287 resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==, tarball: https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz}
4093 4288 engines: {node: '>=8'}
4094 4289  
  4290 + path2d@0.2.2:
  4291 + resolution: {integrity: sha512-+vnG6S4dYcYxZd+CZxzXCNKdELYZSKfohrk98yajCo1PtRoDgCTrrwOvK1GT0UoAdVszagDVllQc0U1vaX4NUQ==, tarball: https://registry.npmjs.org/path2d/-/path2d-0.2.2.tgz}
  4292 + engines: {node: '>=6'}
  4293 +
4095 4294 pbkdf2@3.1.2:
4096 4295 resolution: {integrity: sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==, tarball: https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz}
4097 4296 engines: {node: '>=0.12'}
4098 4297  
  4298 + pdfjs-dist@4.8.69:
  4299 + resolution: {integrity: sha512-IHZsA4T7YElCKNNXtiLgqScw4zPd3pG9do8UrznC757gMd7UPeHSL2qwNNMJo4r79fl8oj1Xx+1nh2YkzdMpLQ==, tarball: https://registry.npmjs.org/pdfjs-dist/-/pdfjs-dist-4.8.69.tgz}
  4300 + engines: {node: '>=18'}
  4301 +
4099 4302 performance-now@2.1.0:
4100 4303 resolution: {integrity: sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==, tarball: https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz}
4101 4304  
... ... @@ -4385,6 +4588,11 @@ packages:
4385 4588 resolution: {integrity: sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==, tarball: https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz}
4386 4589 engines: {node: ^10 || ^12 || >=14}
4387 4590  
  4591 + prebuild-install@7.1.3:
  4592 + resolution: {integrity: sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==, tarball: https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.3.tgz}
  4593 + engines: {node: '>=10'}
  4594 + hasBin: true
  4595 +
4388 4596 prelude-ls@1.2.1:
4389 4597 resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==, tarball: https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz}
4390 4598 engines: {node: '>= 0.8.0'}
... ... @@ -4455,6 +4663,9 @@ packages:
4455 4663 public-encrypt@4.0.3:
4456 4664 resolution: {integrity: sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==, tarball: https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz}
4457 4665  
  4666 + pump@3.0.2:
  4667 + resolution: {integrity: sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==, tarball: https://registry.npmjs.org/pump/-/pump-3.0.2.tgz}
  4668 +
4458 4669 punycode-okam@1.4.1:
4459 4670 resolution: {integrity: sha512-e4mSfzGfrVBJmhjp+8PHjXIz5WrvEEWB2FT+RJ6YS/ozGttTcnocuj0CtMo3dujWYe2708bTd79zeIrKBtRzCg==, tarball: https://registry.npmjs.org/punycode-okam/-/punycode-okam-1.4.1.tgz}
4460 4671  
... ... @@ -4511,6 +4722,9 @@ packages:
4511 4722 resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==, tarball: https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz}
4512 4723 engines: {node: '>= 0.8'}
4513 4724  
  4725 + rc-align@2.4.5:
  4726 + resolution: {integrity: sha512-nv9wYUYdfyfK+qskThf4BQUSIadeI/dCsfaMZfNEoxm9HwOIioQ+LyqmMK6jWHAZQgOzMLaqawhuBXlF63vgjw==, tarball: https://registry.npmjs.org/rc-align/-/rc-align-2.4.5.tgz}
  4727 +
4514 4728 rc-align@4.0.15:
4515 4729 resolution: {integrity: sha512-wqJtVH60pka/nOX7/IspElA8gjPNQKIx/ZqJ6heATCkXpe1Zg4cPVrMD2vC96wjsFFL8WsmhPbx9tdMo1qqlIA==, tarball: https://registry.npmjs.org/rc-align/-/rc-align-4.0.15.tgz}
4516 4730 peerDependencies:
... ... @@ -4535,6 +4749,9 @@ packages:
4535 4749 react: '>=16.9.0'
4536 4750 react-dom: '>=16.9.0'
4537 4751  
  4752 + rc-checkbox@2.0.3:
  4753 + resolution: {integrity: sha512-sSDV5AcxK5CxBTyUNj9pb0zfhdgLLsWKHwJG18ikeGoIwklcxXvIF6cI/KGVbPLFDa8mPS5WLOlLRqbq/1/ouw==, tarball: https://registry.npmjs.org/rc-checkbox/-/rc-checkbox-2.0.3.tgz}
  4754 +
4538 4755 rc-checkbox@3.0.1:
4539 4756 resolution: {integrity: sha512-k7nxDWxYF+jDI0ZcCvuvj71xONmWRVe5+1MKcERRR9MRyP3tZ69b+yUCSXXh+sik4/Hc9P5wHr2nnUoGS2zBjA==, tarball: https://registry.npmjs.org/rc-checkbox/-/rc-checkbox-3.0.1.tgz}
4540 4757 peerDependencies:
... ... @@ -4547,6 +4764,9 @@ packages:
4547 4764 react: '>=16.9.0'
4548 4765 react-dom: '>=16.9.0'
4549 4766  
  4767 + rc-collapse@1.9.3:
  4768 + resolution: {integrity: sha512-8cG+FzudmgFCC9zRGKXJZA36zoI9Dmyjp6UDi8N80sXUch0JOpsZDxgcFzw4HPpPpK/dARtTilEe9zyuspnW0w==, tarball: https://registry.npmjs.org/rc-collapse/-/rc-collapse-1.9.3.tgz}
  4769 +
4550 4770 rc-collapse@3.4.2:
4551 4771 resolution: {integrity: sha512-jpTwLgJzkhAgp2Wpi3xmbTbbYExg6fkptL67Uu5LCRVEj6wqmy0DHTjjeynsjOLsppHGHu41t1ELntZ0lEvS/Q==, tarball: https://registry.npmjs.org/rc-collapse/-/rc-collapse-3.4.2.tgz}
4552 4772 peerDependencies:
... ... @@ -4626,6 +4846,9 @@ packages:
4626 4846 peerDependencies:
4627 4847 prop-types: ^15.0
4628 4848  
  4849 + rc-gesture@0.0.22:
  4850 + resolution: {integrity: sha512-6G6qrCE0MUTXyjh/powj91XkjRjoFL4HiJLPU5lALXHvGX+/efcUjGYUrHrrw0mwQdmrmg4POqnY/bibns+G3g==, tarball: https://registry.npmjs.org/rc-gesture/-/rc-gesture-0.0.22.tgz}
  4851 +
4629 4852 rc-image@5.13.0:
4630 4853 resolution: {integrity: sha512-iZTOmw5eWo2+gcrJMMcnd7SsxVHl3w5xlyCgsULUdJhJbnuI8i/AL0tVOsE7aLn9VfOh1qgDT3mC2G75/c7mqg==, tarball: https://registry.npmjs.org/rc-image/-/rc-image-5.13.0.tgz}
4631 4854 peerDependencies:
... ... @@ -4829,6 +5052,9 @@ packages:
4829 5052 react: '>=16.9.0'
4830 5053 react-dom: '>=16.9.0'
4831 5054  
  5055 + rc-slider@8.2.0:
  5056 + resolution: {integrity: sha512-rnO36M3VhMoPWh1kRuCeJoluT4duAW7+5aLaAn9oLu2pKEKsuOFUh5DmA2kEo88UmvPV6nr7HHDeZuC8SNM/lA==, tarball: https://registry.npmjs.org/rc-slider/-/rc-slider-8.2.0.tgz}
  5057 +
4832 5058 rc-steps@5.0.0:
4833 5059 resolution: {integrity: sha512-9TgRvnVYirdhbV0C3syJFj9EhCRqoJAsxt4i1rED5o8/ZcSv5TLIYyo4H8MCjLPvbe2R+oBAm/IYBEtC+OS1Rw==, tarball: https://registry.npmjs.org/rc-steps/-/rc-steps-5.0.0.tgz}
4834 5060 engines: {node: '>=8.x'}
... ... @@ -4843,6 +5069,9 @@ packages:
4843 5069 react: '>=16.9.0'
4844 5070 react-dom: '>=16.9.0'
4845 5071  
  5072 + rc-swipeout@2.0.11:
  5073 + resolution: {integrity: sha512-d37Lgn4RX4OOQyuA2BFo0rGlUwrmZk5q83srH3ixJ1Y1jidr2GKjgJDbNeGUVZPNfYBL91Elu6+xfVGftWf4Lg==, tarball: https://registry.npmjs.org/rc-swipeout/-/rc-swipeout-2.0.11.tgz}
  5074 +
4846 5075 rc-switch@3.2.2:
4847 5076 resolution: {integrity: sha512-+gUJClsZZzvAHGy1vZfnwySxj+MjLlGRyXKXScrtCTcmiYNPzxDFOxdQ/3pK1Kt/0POvwJ/6ALOR8gwdXGhs+A==, tarball: https://registry.npmjs.org/rc-switch/-/rc-switch-3.2.2.tgz}
4848 5077 peerDependencies:
... ... @@ -4895,6 +5124,9 @@ packages:
4895 5124 react: '>=16.9.0'
4896 5125 react-dom: '>=16.9.0'
4897 5126  
  5127 + rc-tooltip@3.7.3:
  5128 + resolution: {integrity: sha512-dE2ibukxxkrde7wH9W8ozHKUO4aQnPZ6qBHtrTH9LoO836PjDdiaWO73fgPB05VfJs9FbZdmGPVEbXCeOP99Ww==, tarball: https://registry.npmjs.org/rc-tooltip/-/rc-tooltip-3.7.3.tgz}
  5129 +
4898 5130 rc-tooltip@5.2.2:
4899 5131 resolution: {integrity: sha512-jtQzU/18S6EI3lhSGoDYhPqNpWajMtS5VV/ld1LwyfrDByQpYmw/LW6U7oFXXLukjfDHQ7Ju705A82PRNFWYhg==, tarball: https://registry.npmjs.org/rc-tooltip/-/rc-tooltip-5.2.2.tgz}
4900 5132 peerDependencies:
... ... @@ -4933,6 +5165,9 @@ packages:
4933 5165 react: '*'
4934 5166 react-dom: '*'
4935 5167  
  5168 + rc-trigger@2.6.5:
  5169 + resolution: {integrity: sha512-m6Cts9hLeZWsTvWnuMm7oElhf+03GOjOLfTuU0QmdB9ZrW7jR2IpI5rpNM7i9MvAAlMAmTx5Zr7g3uu/aMvZAw==, tarball: https://registry.npmjs.org/rc-trigger/-/rc-trigger-2.6.5.tgz}
  5170 +
4936 5171 rc-trigger@5.3.4:
4937 5172 resolution: {integrity: sha512-mQv+vas0TwKcjAO2izNPkqR4j86OemLRmvL2nOzdP9OWNWA1ivoTt5hzFqYNW9zACwmTezRiN8bttrC7cZzYSw==, tarball: https://registry.npmjs.org/rc-trigger/-/rc-trigger-5.3.4.tgz}
4938 5173 engines: {node: '>=8.x'}
... ... @@ -4968,23 +5203,62 @@ packages:
4968 5203 react: '>=16.9.0'
4969 5204 react-dom: '>=16.9.0'
4970 5205  
  5206 + rc@1.2.8:
  5207 + resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==, tarball: https://registry.npmjs.org/rc/-/rc-1.2.8.tgz}
  5208 + hasBin: true
  5209 +
  5210 + react-dnd-html5-backend@14.1.0:
  5211 + resolution: {integrity: sha512-6ONeqEC3XKVf4eVmMTe0oPds+c5B9Foyj8p/ZKLb7kL2qh9COYxiBHv3szd6gztqi/efkmriywLUVlPotqoJyw==, tarball: https://registry.npmjs.org/react-dnd-html5-backend/-/react-dnd-html5-backend-14.1.0.tgz}
  5212 +
  5213 + react-dnd@14.0.5:
  5214 + resolution: {integrity: sha512-9i1jSgbyVw0ELlEVt/NkCUkxy1hmhJOkePoCH713u75vzHGyXhPDm28oLfc2NMSBjZRM1Y+wRjHXJT3sPrTy+A==, tarball: https://registry.npmjs.org/react-dnd/-/react-dnd-14.0.5.tgz}
  5215 + peerDependencies:
  5216 + '@types/hoist-non-react-statics': '>= 3.3.1'
  5217 + '@types/node': '>= 12'
  5218 + '@types/react': '>= 16'
  5219 + react: '>= 16.14'
  5220 + peerDependenciesMeta:
  5221 + '@types/hoist-non-react-statics':
  5222 + optional: true
  5223 + '@types/node':
  5224 + optional: true
  5225 + '@types/react':
  5226 + optional: true
  5227 +
4971 5228 react-dom@18.3.1:
4972 5229 resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==, tarball: https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz}
4973 5230 peerDependencies:
4974 5231 react: ^18.3.1
4975 5232  
  5233 + react-draggable@4.4.6:
  5234 + resolution: {integrity: sha512-LtY5Xw1zTPqHkVmtM3X8MUOxNDOUhv/khTgBgrUvwaS064bwVvxT+q5El0uUFNx5IEPKXuRejr7UqLwBIg5pdw==, tarball: https://registry.npmjs.org/react-draggable/-/react-draggable-4.4.6.tgz}
  5235 + peerDependencies:
  5236 + react: '>= 16.3.0'
  5237 + react-dom: '>= 16.3.0'
  5238 +
4976 5239 react-error-overlay@6.0.9:
4977 5240 resolution: {integrity: sha512-nQTTcUu+ATDbrSD1BZHr5kgSD4oF8OFjxun8uAaL8RwPBacGBNPf/yAuVVdx17N8XNzRDMrZ9XcKZHCjPW+9ew==, tarball: https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.9.tgz}
4978 5241  
4979 5242 react-fast-compare@3.2.2:
4980 5243 resolution: {integrity: sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==, tarball: https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.2.tgz}
4981 5244  
  5245 + react-grid-layout@1.5.1:
  5246 + resolution: {integrity: sha512-4Fr+kKMk0+m1HL/BWfHxi/lRuaOmDNNKQDcu7m12+NEYcen20wIuZFo789u3qWCyvUsNUxCiyf0eKq4WiJSNYw==, tarball: https://registry.npmjs.org/react-grid-layout/-/react-grid-layout-1.5.1.tgz}
  5247 + peerDependencies:
  5248 + react: '>= 16.3.0'
  5249 + react-dom: '>= 16.3.0'
  5250 +
4982 5251 react-helmet-async@1.3.0:
4983 5252 resolution: {integrity: sha512-9jZ57/dAn9t3q6hneQS0wukqC2ENOBgMNVEhb/ZG9ZSxUetzVIw4iAmEU38IaVg3QGYauQPhSeUTuIUtFglWpg==, tarball: https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-1.3.0.tgz}
4984 5253 peerDependencies:
4985 5254 react: ^16.6.0 || ^17.0.0 || ^18.0.0
4986 5255 react-dom: ^16.6.0 || ^17.0.0 || ^18.0.0
4987 5256  
  5257 + react-highlight-words@0.21.0:
  5258 + resolution: {integrity: sha512-SdWEeU9fIINArEPO1rO5OxPyuhdEKZQhHzZZP1ie6UeXQf+CjycT1kWaB+9bwGcVbR0NowuHK3RqgqNg6bgBDQ==, tarball: https://registry.npmjs.org/react-highlight-words/-/react-highlight-words-0.21.0.tgz}
  5259 + peerDependencies:
  5260 + react: ^0.14.0 || ^15.0.0 || ^16.0.0-0 || ^17.0.0-0 || ^18.0.0-0 || ^19.0.0-0
  5261 +
4988 5262 react-intl@3.12.1:
4989 5263 resolution: {integrity: sha512-cgumW29mwROIqyp8NXStYsoIm27+8FqnxykiLSawWjOxGIBeLuN/+p2srei5SRIumcJefOkOIHP+NDck05RgHg==, tarball: https://registry.npmjs.org/react-intl/-/react-intl-3.12.1.tgz}
4990 5264 peerDependencies:
... ... @@ -5002,6 +5276,20 @@ packages:
5002 5276 react-merge-refs@1.1.0:
5003 5277 resolution: {integrity: sha512-alTKsjEL0dKH/ru1Iyn7vliS2QRcBp9zZPGoWxUOvRGWPUYgjo+V01is7p04It6KhgrzhJGnIj9GgX8W4bZoCQ==, tarball: https://registry.npmjs.org/react-merge-refs/-/react-merge-refs-1.1.0.tgz}
5004 5278  
  5279 + react-native-swipeout@2.3.6:
  5280 + resolution: {integrity: sha512-t9suUCspzck4vp2pWggWe0frS/QOtX6yYCawHnEes75A7dZCEE74bxX2A1bQzGH9cUMjq6xsdfC94RbiDKIkJg==, tarball: https://registry.npmjs.org/react-native-swipeout/-/react-native-swipeout-2.3.6.tgz}
  5281 + deprecated: Package no longer supported. Use at your own risk or consider using https://github.com/software-mansion/react-native-gesture-handler
  5282 +
  5283 + react-pdf@9.2.1:
  5284 + resolution: {integrity: sha512-AJt0lAIkItWEZRA5d/mO+Om4nPCuTiQ0saA+qItO967DTjmGjnhmF+Bi2tL286mOTfBlF5CyLzJ35KTMaDoH+A==, tarball: https://registry.npmjs.org/react-pdf/-/react-pdf-9.2.1.tgz}
  5285 + peerDependencies:
  5286 + '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
  5287 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
  5288 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
  5289 + peerDependenciesMeta:
  5290 + '@types/react':
  5291 + optional: true
  5292 +
5005 5293 react-redux@5.0.7:
5006 5294 resolution: {integrity: sha512-5VI8EV5hdgNgyjfmWzBbdrqUkrVRKlyTKk1sGH3jzM2M2Mhj/seQgPXaz6gVAj2lz/nz688AdTqMO18Lr24Zhg==, tarball: https://registry.npmjs.org/react-redux/-/react-redux-5.0.7.tgz}
5007 5295 peerDependencies:
... ... @@ -5037,6 +5325,11 @@ packages:
5037 5325 resolution: {integrity: sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==, tarball: https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.2.tgz}
5038 5326 engines: {node: '>=0.10.0'}
5039 5327  
  5328 + react-resizable@3.0.5:
  5329 + resolution: {integrity: sha512-vKpeHhI5OZvYn82kXOs1bC8aOXktGU5AmKAgaZS4F5JPburCtbmDPqE7Pzp+1kN4+Wb81LlF33VpGwWwtXem+w==, tarball: https://registry.npmjs.org/react-resizable/-/react-resizable-3.0.5.tgz}
  5330 + peerDependencies:
  5331 + react: '>= 16.3'
  5332 +
5040 5333 react-router-dom@4.3.1:
5041 5334 resolution: {integrity: sha512-c/MlywfxDdCp7EnB7YfPMOfMD3tOtIjrQlj/CKfNMBxdmpJP8xcz5P/UAFn3JbnQCNUxsHyVVqllF9LhgVyFCA==, tarball: https://registry.npmjs.org/react-router-dom/-/react-router-dom-4.3.1.tgz}
5042 5335 peerDependencies:
... ... @@ -5064,6 +5357,16 @@ packages:
5064 5357 peerDependencies:
5065 5358 react: '>=16.8'
5066 5359  
  5360 + react-sortable-hoc@2.0.0:
  5361 + resolution: {integrity: sha512-JZUw7hBsAHXK7PTyErJyI7SopSBFRcFHDjWW5SWjcugY0i6iH7f+eJkY8cJmGMlZ1C9xz1J3Vjz0plFpavVeRg==, tarball: https://registry.npmjs.org/react-sortable-hoc/-/react-sortable-hoc-2.0.0.tgz}
  5362 + peerDependencies:
  5363 + prop-types: ^15.5.7
  5364 + react: ^16.3.0 || ^17.0.0
  5365 + react-dom: ^16.3.0 || ^17.0.0
  5366 +
  5367 + react-tween-state@0.1.5:
  5368 + resolution: {integrity: sha512-sJQpjsdn0wjlDIUpfpb7jQGnOG8hAEW2e8k0KPA+xmf5KFa6Xat2JldbmxBhaqP0S/uIXhVE5ymKyH/b9X8nYA==, tarball: https://registry.npmjs.org/react-tween-state/-/react-tween-state-0.1.5.tgz}
  5369 +
5067 5370 react@18.3.1:
5068 5371 resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==, tarball: https://registry.npmjs.org/react/-/react-18.3.1.tgz}
5069 5372 engines: {node: '>=0.10.0'}
... ... @@ -5194,6 +5497,58 @@ packages:
5194 5497 ripemd160@2.0.2:
5195 5498 resolution: {integrity: sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==, tarball: https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz}
5196 5499  
  5500 + rmc-align@1.0.0:
  5501 + resolution: {integrity: sha512-3gEa5/+hqqoEVoeQ25KoRc8DOsXIdSaVpaBq1zQFaV941LR3xvZIRTlxTDT/IagYwoGM1KZea/jd7cNMYP34Rg==, tarball: https://registry.npmjs.org/rmc-align/-/rmc-align-1.0.0.tgz}
  5502 +
  5503 + rmc-calendar@1.1.4:
  5504 + resolution: {integrity: sha512-xxQZaPFDnpHt4IFO8mukYrXSgC1W8LcNVp+EoX4iyeOJFimungOKB/iP5/cy+st8yXq8lUgk9TXsHNtM6Xo6ZA==, tarball: https://registry.npmjs.org/rmc-calendar/-/rmc-calendar-1.1.4.tgz}
  5505 +
  5506 + rmc-cascader@5.0.3:
  5507 + resolution: {integrity: sha512-PxDhMjWViDdG4SMZqoXtAthGwgDyYnyxxZEE17IDDYsiCHpWtOhoIL8nsI+/hZ212UT/XF2LpqCsOlMoJiYk+w==, tarball: https://registry.npmjs.org/rmc-cascader/-/rmc-cascader-5.0.3.tgz}
  5508 +
  5509 + rmc-date-picker@6.0.10:
  5510 + resolution: {integrity: sha512-/9+I6lm3EDEl6M7862V6++zFuxwsM0UEq8wSHbotYIPPmyB/65gx1cviblghOv2QfB0O9+U2w3qEJlRP/WsMrA==, tarball: https://registry.npmjs.org/rmc-date-picker/-/rmc-date-picker-6.0.10.tgz}
  5511 +
  5512 + rmc-dialog@1.1.1:
  5513 + resolution: {integrity: sha512-28aJqtPTX6v13Z/aU1WBy1AFIXkE74PxZXde7JvtEIy9hQDTjH8fqOi822BpzAbXCyNE7jF9iFomy3H2ClsDJA==, tarball: https://registry.npmjs.org/rmc-dialog/-/rmc-dialog-1.1.1.tgz}
  5514 +
  5515 + rmc-drawer@0.4.11:
  5516 + resolution: {integrity: sha512-YfB9XEJ8iM0MMuLWAK4313uOxSM8NAljC8Cqun1KamXutglYTuRviUuTLNSOzV8HHPp5kNpsVduvPCGLWXvThw==, tarball: https://registry.npmjs.org/rmc-drawer/-/rmc-drawer-0.4.11.tgz}
  5517 + engines: {node: '>=4.0.0'}
  5518 +
  5519 + rmc-feedback@2.0.0:
  5520 + resolution: {integrity: sha512-5PWOGOW7VXks/l3JzlOU9NIxRpuaSS8d9zA3UULUCuTKnpwBHNvv1jSJzxgbbCQeYzROWUpgKI4za3X4C/mKmQ==, tarball: https://registry.npmjs.org/rmc-feedback/-/rmc-feedback-2.0.0.tgz}
  5521 +
  5522 + rmc-input-number@1.0.5:
  5523 + resolution: {integrity: sha512-prPkEtoOVde77GnEnEaBeWjBobMOPgGqU5bd0gxfp1kt1pUN740mMpVAcH7uxpJjVfmw+kuGWtiz4S7CueagSg==, tarball: https://registry.npmjs.org/rmc-input-number/-/rmc-input-number-1.0.5.tgz}
  5524 +
  5525 + rmc-list-view@0.11.5:
  5526 + resolution: {integrity: sha512-eMOC5394tLNawcdEEhF7boMpQgpjJGDdL5lS+LblAWdBec7Q4EYkUdnrKNbt+O9k5RGM6nSLAGZK5oB4FN85Lg==, tarball: https://registry.npmjs.org/rmc-list-view/-/rmc-list-view-0.11.5.tgz}
  5527 +
  5528 + rmc-notification@1.0.0:
  5529 + resolution: {integrity: sha512-9sPxjltFvtRLt2v312Hu7OXwk53pHkBYgINRDmnJ3A5NF1qtJeCCcdN0Xr0fzJ6sbQvtGju822tWHdzYA9u7Vw==, tarball: https://registry.npmjs.org/rmc-notification/-/rmc-notification-1.0.0.tgz}
  5530 +
  5531 + rmc-nuka-carousel@3.0.1:
  5532 + resolution: {integrity: sha512-w2EPTERMUUZqcUSKFuejjin7xsMlhrLrtS0A/igTXpFJGq3kemDKcRi7q3pSYDuZBHYBl5iV4UqsLLkjdFtrYA==, tarball: https://registry.npmjs.org/rmc-nuka-carousel/-/rmc-nuka-carousel-3.0.1.tgz}
  5533 +
  5534 + rmc-picker@5.0.10:
  5535 + resolution: {integrity: sha512-KZ70+WjcaZHnG5GyCxWCPFWAZ12s6NqyrbW73LeqH0WEqaTMMs0sOrk2f4mQAZ/CGT0XcFN6VZLw7Ozoxfn7LA==, tarball: https://registry.npmjs.org/rmc-picker/-/rmc-picker-5.0.10.tgz}
  5536 +
  5537 + rmc-pull-to-refresh@1.0.13:
  5538 + resolution: {integrity: sha512-iYLsURiR7G/sKmRA6p2kq6ZXicn7Hyeo6VQFljssV1eMW+fzDgihhaz0kv5mza0f88vphGJvjOihT9E6+xGb6Q==, tarball: https://registry.npmjs.org/rmc-pull-to-refresh/-/rmc-pull-to-refresh-1.0.13.tgz}
  5539 +
  5540 + rmc-steps@1.0.1:
  5541 + resolution: {integrity: sha512-8ijtwp4D1CYTtI2yerXJYqCv+GQbiBc9T12nrFngd/vM0y+58CnznGphTAueF6IWf7qbxBwcjTrcFgg7bP2YGA==, tarball: https://registry.npmjs.org/rmc-steps/-/rmc-steps-1.0.1.tgz}
  5542 +
  5543 + rmc-tabs@1.2.29:
  5544 + resolution: {integrity: sha512-wiJS9WSJi9JH9GQO+FqncX+zaHP31qHa/S8nDW9UXUx0qbCX294QcJEnvfB+WmsfUws7rXjs6sOQp5EDiObnHg==, tarball: https://registry.npmjs.org/rmc-tabs/-/rmc-tabs-1.2.29.tgz}
  5545 +
  5546 + rmc-tooltip@1.0.1:
  5547 + resolution: {integrity: sha512-fSDArf2BlMVrHExmBiqb2TkCRJHshvXFJQ/7tMraLellwaJLNiwrxtWpW329k3S+zTtoVG8UxFS1TjBGEsMzRg==, tarball: https://registry.npmjs.org/rmc-tooltip/-/rmc-tooltip-1.0.1.tgz}
  5548 +
  5549 + rmc-trigger@1.0.12:
  5550 + resolution: {integrity: sha512-AccQniX7PX7Pm8hBhHEsnf3JU6CA61Xc7fAt2WbO+oXrGaI/jqN8C3COhhOXG54S5iTOjLS26j858zshwAxR9A==, tarball: https://registry.npmjs.org/rmc-trigger/-/rmc-trigger-1.0.12.tgz}
  5551 +
5197 5552 rollup-plugin-visualizer@5.9.0:
5198 5553 resolution: {integrity: sha512-bbDOv47+Bw4C/cgs0czZqfm8L82xOZssk4ayZjG40y9zbXclNk7YikrZTDao6p7+HDiGxrN0b65SgZiVm9k1Cg==, tarball: https://registry.npmjs.org/rollup-plugin-visualizer/-/rollup-plugin-visualizer-5.9.0.tgz}
5199 5554 engines: {node: '>=14'}
... ... @@ -5347,6 +5702,12 @@ packages:
5347 5702 resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==, tarball: https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz}
5348 5703 engines: {node: '>=14'}
5349 5704  
  5705 + simple-concat@1.0.1:
  5706 + resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==, tarball: https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz}
  5707 +
  5708 + simple-get@4.0.1:
  5709 + resolution: {integrity: sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==, tarball: https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz}
  5710 +
5350 5711 single-spa@5.9.5:
5351 5712 resolution: {integrity: sha512-9SQdmsyz4HSP+3gs6PJzhkaMEg+6zTlu9oxIghnwUX3eq+ajq4ft5egl0iyR55LAmO/UwvU8NgIWs/ZyQMa6dw==, tarball: https://registry.npmjs.org/single-spa/-/single-spa-5.9.5.tgz}
5352 5713  
... ... @@ -5505,6 +5866,10 @@ packages:
5505 5866 resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==, tarball: https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz}
5506 5867 engines: {node: '>=8'}
5507 5868  
  5869 + strip-json-comments@2.0.1:
  5870 + resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==, tarball: https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz}
  5871 + engines: {node: '>=0.10.0'}
  5872 +
5508 5873 strip-json-comments@3.1.1:
5509 5874 resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==, tarball: https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz}
5510 5875 engines: {node: '>=8'}
... ... @@ -5592,6 +5957,13 @@ packages:
5592 5957 resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==, tarball: https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz}
5593 5958 engines: {node: '>=6'}
5594 5959  
  5960 + tar-fs@2.1.2:
  5961 + resolution: {integrity: sha512-EsaAXwxmx8UB7FRKqeozqEPop69DXcmYwTQwXvyAPF352HJsPdkVhvTaDPYqfNgruveJIJy3TA2l+2zj8LJIJA==, tarball: https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.2.tgz}
  5962 +
  5963 + tar-stream@2.2.0:
  5964 + resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==, tarball: https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz}
  5965 + engines: {node: '>=6'}
  5966 +
5595 5967 terser-webpack-plugin@5.3.14:
5596 5968 resolution: {integrity: sha512-vkZjpUjb6OMS7dhV+tILUW6BhpDR7P2L/aQSAv+Uwk+m8KATX9EccViHTJR2qDtACKPIYndLGCyl3FMo+r2LMw==, tarball: https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.14.tgz}
5597 5969 engines: {node: '>= 10.13.0'}
... ... @@ -5688,6 +6060,12 @@ packages:
5688 6060 tty-browserify@0.0.0:
5689 6061 resolution: {integrity: sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==, tarball: https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz}
5690 6062  
  6063 + tunnel-agent@0.6.0:
  6064 + resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==, tarball: https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz}
  6065 +
  6066 + tween-functions@1.2.0:
  6067 + resolution: {integrity: sha512-PZBtLYcCLtEcjL14Fzb1gSxPBeL7nWvGhO5ZFPGqziCcr8uvHp0NDmdjBchp6KHL+tExcg0m3NISmKxhU394dA==, tarball: https://registry.npmjs.org/tween-functions/-/tween-functions-1.2.0.tgz}
  6068 +
5691 6069 type-check@0.4.0:
5692 6070 resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==, tarball: https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz}
5693 6071 engines: {node: '>= 0.8.0'}
... ... @@ -6008,6 +6386,9 @@ packages:
6008 6386 zod@3.24.2:
6009 6387 resolution: {integrity: sha512-lY7CDW43ECgW9u1TcT3IoXHflywfVqDYze4waEz812jR/bZ8FHDsl7pFQoSZTz5N+2NqRXs8GBwnAwo3ZNxqhQ==, tarball: https://registry.npmjs.org/zod/-/zod-3.24.2.tgz}
6010 6388  
  6389 + zscroller@0.4.8:
  6390 + resolution: {integrity: sha512-G5NiNLKx2+QhhvZi2yV1jjVXY50otktxkseX2hG2N/eixohOUk0AY8ZpbAxNqS9oJS/NxItCsowupy2tsXxAMw==, tarball: https://registry.npmjs.org/zscroller/-/zscroller-0.4.8.tgz}
  6391 +
6011 6392 snapshots:
6012 6393  
6013 6394 '@ahooksjs/use-request@2.8.15(react@18.3.1)':
... ... @@ -6103,7 +6484,7 @@ snapshots:
6103 6484 '@ant-design/icons': 5.6.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
6104 6485 '@ant-design/pro-provider': 2.15.3(antd@5.24.3(date-fns@2.30.0)(moment@2.30.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
6105 6486 '@ant-design/pro-utils': 2.16.4(antd@5.24.3(date-fns@2.30.0)(moment@2.30.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
6106   - '@babel/runtime': 7.23.6
  6487 + '@babel/runtime': 7.26.10
6107 6488 antd: 5.24.3(date-fns@2.30.0)(moment@2.30.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
6108 6489 classnames: 2.5.1
6109 6490 rc-resize-observer: 1.4.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
... ... @@ -6138,7 +6519,7 @@ snapshots:
6138 6519 '@ant-design/pro-provider': 2.15.3(antd@5.24.3(date-fns@2.30.0)(moment@2.30.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
6139 6520 '@ant-design/pro-skeleton': 2.2.1(antd@5.24.3(date-fns@2.30.0)(moment@2.30.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
6140 6521 '@ant-design/pro-utils': 2.16.4(antd@5.24.3(date-fns@2.30.0)(moment@2.30.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
6141   - '@babel/runtime': 7.23.6
  6522 + '@babel/runtime': 7.26.10
6142 6523 antd: 5.24.3(date-fns@2.30.0)(moment@2.30.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
6143 6524 rc-resize-observer: 0.2.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
6144 6525 rc-util: 5.44.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
... ... @@ -6152,7 +6533,7 @@ snapshots:
6152 6533 '@ant-design/icons': 5.6.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
6153 6534 '@ant-design/pro-provider': 2.15.3(antd@5.24.3(date-fns@2.30.0)(moment@2.30.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
6154 6535 '@ant-design/pro-utils': 2.16.4(antd@5.24.3(date-fns@2.30.0)(moment@2.30.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
6155   - '@babel/runtime': 7.23.6
  6536 + '@babel/runtime': 7.26.10
6156 6537 '@chenshuai2144/sketch-color': 1.0.9(react@18.3.1)
6157 6538 antd: 5.24.3(date-fns@2.30.0)(moment@2.30.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
6158 6539 classnames: 2.5.1
... ... @@ -6171,7 +6552,7 @@ snapshots:
6171 6552 '@ant-design/pro-field': 3.0.3(antd@5.24.3(date-fns@2.30.0)(moment@2.30.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
6172 6553 '@ant-design/pro-provider': 2.15.3(antd@5.24.3(date-fns@2.30.0)(moment@2.30.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
6173 6554 '@ant-design/pro-utils': 2.16.4(antd@5.24.3(date-fns@2.30.0)(moment@2.30.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
6174   - '@babel/runtime': 7.23.6
  6555 + '@babel/runtime': 7.26.10
6175 6556 '@chenshuai2144/sketch-color': 1.0.9(react@18.3.1)
6176 6557 '@umijs/use-params': 1.0.9(react@18.3.1)
6177 6558 antd: 5.24.3(date-fns@2.30.0)(moment@2.30.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
... ... @@ -6191,7 +6572,7 @@ snapshots:
6191 6572 '@ant-design/icons': 5.6.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
6192 6573 '@ant-design/pro-provider': 2.15.3(antd@5.24.3(date-fns@2.30.0)(moment@2.30.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
6193 6574 '@ant-design/pro-utils': 2.16.4(antd@5.24.3(date-fns@2.30.0)(moment@2.30.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
6194   - '@babel/runtime': 7.23.6
  6575 + '@babel/runtime': 7.26.10
6195 6576 '@umijs/route-utils': 4.0.1
6196 6577 '@umijs/use-params': 1.0.9(react@18.3.1)
6197 6578 antd: 5.24.3(date-fns@2.30.0)(moment@2.30.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
... ... @@ -6214,7 +6595,7 @@ snapshots:
6214 6595 '@ant-design/pro-field': 3.0.3(antd@5.24.3(date-fns@2.30.0)(moment@2.30.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
6215 6596 '@ant-design/pro-table': 3.18.6(antd@5.24.3(date-fns@2.30.0)(moment@2.30.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(rc-field-form@2.7.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
6216 6597 '@ant-design/pro-utils': 2.16.4(antd@5.24.3(date-fns@2.30.0)(moment@2.30.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
6217   - '@babel/runtime': 7.23.6
  6598 + '@babel/runtime': 7.26.10
6218 6599 antd: 5.24.3(date-fns@2.30.0)(moment@2.30.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
6219 6600 classnames: 2.5.1
6220 6601 dayjs: 1.11.13
... ... @@ -6228,7 +6609,7 @@ snapshots:
6228 6609 '@ant-design/pro-provider@2.15.3(antd@5.24.3(date-fns@2.30.0)(moment@2.30.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
6229 6610 dependencies:
6230 6611 '@ant-design/cssinjs': 1.23.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
6231   - '@babel/runtime': 7.23.6
  6612 + '@babel/runtime': 7.26.10
6232 6613 '@ctrl/tinycolor': 3.6.1
6233 6614 antd: 5.24.3(date-fns@2.30.0)(moment@2.30.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
6234 6615 dayjs: 1.11.13
... ... @@ -6239,7 +6620,7 @@ snapshots:
6239 6620  
6240 6621 '@ant-design/pro-skeleton@2.2.1(antd@5.24.3(date-fns@2.30.0)(moment@2.30.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
6241 6622 dependencies:
6242   - '@babel/runtime': 7.23.6
  6623 + '@babel/runtime': 7.26.10
6243 6624 antd: 5.24.3(date-fns@2.30.0)(moment@2.30.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
6244 6625 react: 18.3.1
6245 6626 react-dom: 18.3.1(react@18.3.1)
... ... @@ -6253,7 +6634,7 @@ snapshots:
6253 6634 '@ant-design/pro-form': 2.31.6(antd@5.24.3(date-fns@2.30.0)(moment@2.30.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(rc-field-form@2.7.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
6254 6635 '@ant-design/pro-provider': 2.15.3(antd@5.24.3(date-fns@2.30.0)(moment@2.30.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
6255 6636 '@ant-design/pro-utils': 2.16.4(antd@5.24.3(date-fns@2.30.0)(moment@2.30.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
6256   - '@babel/runtime': 7.23.6
  6637 + '@babel/runtime': 7.26.10
6257 6638 '@dnd-kit/core': 6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
6258 6639 '@dnd-kit/modifiers': 6.0.1(@dnd-kit/core@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)
6259 6640 '@dnd-kit/sortable': 7.0.2(@dnd-kit/core@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)
... ... @@ -6273,7 +6654,7 @@ snapshots:
6273 6654 dependencies:
6274 6655 '@ant-design/icons': 5.6.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
6275 6656 '@ant-design/pro-provider': 2.15.3(antd@5.24.3(date-fns@2.30.0)(moment@2.30.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
6276   - '@babel/runtime': 7.23.6
  6657 + '@babel/runtime': 7.26.10
6277 6658 antd: 5.24.3(date-fns@2.30.0)(moment@2.30.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
6278 6659 classnames: 2.5.1
6279 6660 dayjs: 1.11.13
... ... @@ -7019,6 +7400,12 @@ snapshots:
7019 7400 '@jridgewell/resolve-uri': 3.1.2
7020 7401 '@jridgewell/sourcemap-codec': 1.5.0
7021 7402  
  7403 + '@js-preview/docx@1.6.4(core-js@3.34.0)':
  7404 + dependencies:
  7405 + core-js: 3.34.0
  7406 +
  7407 + '@js-preview/excel@1.7.14': {}
  7408 +
7022 7409 '@loadable/component@5.15.2(react@18.3.1)':
7023 7410 dependencies:
7024 7411 '@babel/runtime': 7.23.6
... ... @@ -7213,6 +7600,12 @@ snapshots:
7213 7600 react: 18.3.1
7214 7601 react-dom: 18.3.1(react@18.3.1)
7215 7602  
  7603 + '@react-dnd/asap@4.0.1': {}
  7604 +
  7605 + '@react-dnd/invariant@2.0.0': {}
  7606 +
  7607 + '@react-dnd/shallowequal@2.0.0': {}
  7608 +
7216 7609 '@sinclair/typebox@0.27.8': {}
7217 7610  
7218 7611 '@stylelint/postcss-css-in-js@0.38.0(postcss-syntax@0.36.2(postcss@8.5.3))(postcss@8.5.3)':
... ... @@ -7709,7 +8102,7 @@ snapshots:
7709 8102  
7710 8103 '@umijs/history@5.3.1':
7711 8104 dependencies:
7712   - '@babel/runtime': 7.23.6
  8105 + '@babel/runtime': 7.26.10
7713 8106 query-string: 6.14.1
7714 8107  
7715 8108 '@umijs/lint@4.4.6(eslint@8.57.1)(stylelint@14.16.1)(typescript@5.8.2)':
... ... @@ -8133,6 +8526,35 @@ snapshots:
8133 8526 dependencies:
8134 8527 dayjs: 1.11.13
8135 8528  
  8529 + antd-mobile@2.3.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
  8530 + dependencies:
  8531 + array-tree-filter: 2.1.0
  8532 + babel-runtime: 6.26.0
  8533 + classnames: 2.5.1
  8534 + normalize.css: 7.0.0
  8535 + rc-checkbox: 2.0.3
  8536 + rc-collapse: 1.9.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
  8537 + rc-slider: 8.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
  8538 + rc-swipeout: 2.0.11
  8539 + rmc-calendar: 1.1.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
  8540 + rmc-cascader: 5.0.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
  8541 + rmc-date-picker: 6.0.10(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
  8542 + rmc-dialog: 1.1.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
  8543 + rmc-drawer: 0.4.11
  8544 + rmc-feedback: 2.0.0
  8545 + rmc-input-number: 1.0.5
  8546 + rmc-list-view: 0.11.5
  8547 + rmc-notification: 1.0.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
  8548 + rmc-nuka-carousel: 3.0.1
  8549 + rmc-picker: 5.0.10(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
  8550 + rmc-pull-to-refresh: 1.0.13
  8551 + rmc-steps: 1.0.1
  8552 + rmc-tabs: 1.2.29
  8553 + rmc-tooltip: 1.0.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
  8554 + transitivePeerDependencies:
  8555 + - react
  8556 + - react-dom
  8557 +
8136 8558 antd@4.24.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
8137 8559 dependencies:
8138 8560 '@ant-design/colors': 6.0.0
... ... @@ -8463,6 +8885,13 @@ snapshots:
8463 8885  
8464 8886 binary-extensions@2.3.0: {}
8465 8887  
  8888 + bl@4.1.0:
  8889 + dependencies:
  8890 + buffer: 5.7.1
  8891 + inherits: 2.0.4
  8892 + readable-stream: 3.6.2
  8893 + optional: true
  8894 +
8466 8895 bn.js@4.12.1: {}
8467 8896  
8468 8897 bn.js@5.2.1: {}
... ... @@ -8503,6 +8932,40 @@ snapshots:
8503 8932 dependencies:
8504 8933 fill-range: 7.1.1
8505 8934  
  8935 + braft-convert@2.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
  8936 + dependencies:
  8937 + draft-convert: 2.1.13(draft-js@0.10.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
  8938 + draft-js: 0.10.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
  8939 + react: 18.3.1
  8940 + transitivePeerDependencies:
  8941 + - react-dom
  8942 +
  8943 + braft-editor@2.3.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
  8944 + dependencies:
  8945 + '@babel/runtime': 7.26.10
  8946 + braft-convert: 2.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
  8947 + braft-finder: 0.0.19(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
  8948 + braft-utils: 3.0.13(braft-convert@2.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(draft-js@0.10.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(draftjs-utils@0.9.4(draft-js@0.10.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(immutable@3.7.6))(immutable@3.7.6)
  8949 + draft-convert: 2.1.13(draft-js@0.10.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
  8950 + draft-js: 0.10.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
  8951 + draft-js-multidecorators: 1.0.0
  8952 + draftjs-utils: 0.9.4(draft-js@0.10.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(immutable@3.7.6)
  8953 + immutable: 3.7.6
  8954 + react: 18.3.1
  8955 + react-dom: 18.3.1(react@18.3.1)
  8956 +
  8957 + braft-finder@0.0.19(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
  8958 + dependencies:
  8959 + react: 18.3.1
  8960 + react-dom: 18.3.1(react@18.3.1)
  8961 +
  8962 + braft-utils@3.0.13(braft-convert@2.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(draft-js@0.10.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(draftjs-utils@0.9.4(draft-js@0.10.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(immutable@3.7.6))(immutable@3.7.6):
  8963 + dependencies:
  8964 + braft-convert: 2.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
  8965 + draft-js: 0.10.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
  8966 + draftjs-utils: 0.9.4(draft-js@0.10.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(immutable@3.7.6)
  8967 + immutable: 3.7.6
  8968 +
8506 8969 brorand@1.1.0: {}
8507 8970  
8508 8971 browserify-aes@1.2.0:
... ... @@ -8577,6 +9040,12 @@ snapshots:
8577 9040 ieee754: 1.2.1
8578 9041 isarray: 1.0.0
8579 9042  
  9043 + buffer@5.7.1:
  9044 + dependencies:
  9045 + base64-js: 1.5.1
  9046 + ieee754: 1.2.1
  9047 + optional: true
  9048 +
8580 9049 builtin-status-codes@3.0.0: {}
8581 9050  
8582 9051 bundle-name@3.0.0:
... ... @@ -8623,6 +9092,12 @@ snapshots:
8623 9092  
8624 9093 caniuse-lite@1.0.30001703: {}
8625 9094  
  9095 + canvas@3.1.0:
  9096 + dependencies:
  9097 + node-addon-api: 7.1.1
  9098 + prebuild-install: 7.1.3
  9099 + optional: true
  9100 +
8626 9101 chalk@4.1.2:
8627 9102 dependencies:
8628 9103 ansi-styles: 4.3.0
... ... @@ -8652,6 +9127,9 @@ snapshots:
8652 9127 optionalDependencies:
8653 9128 fsevents: 2.3.3
8654 9129  
  9130 + chownr@1.1.4:
  9131 + optional: true
  9132 +
8655 9133 chrome-trace-event@1.0.4: {}
8656 9134  
8657 9135 ci-info@3.9.0: {}
... ... @@ -8683,6 +9161,10 @@ snapshots:
8683 9161 strip-ansi: 6.0.1
8684 9162 wrap-ansi: 7.0.0
8685 9163  
  9164 + clsx@1.2.1: {}
  9165 +
  9166 + clsx@2.1.1: {}
  9167 +
8686 9168 color-convert@1.9.3:
8687 9169 dependencies:
8688 9170 color-name: 1.1.3
... ... @@ -8962,6 +9444,14 @@ snapshots:
8962 9444  
8963 9445 decode-uri-component@0.2.2: {}
8964 9446  
  9447 + decompress-response@6.0.0:
  9448 + dependencies:
  9449 + mimic-response: 3.1.0
  9450 + optional: true
  9451 +
  9452 + deep-extend@0.6.0:
  9453 + optional: true
  9454 +
8965 9455 deep-is@0.1.4: {}
8966 9456  
8967 9457 deepmerge@1.5.2: {}
... ... @@ -9013,6 +9503,9 @@ snapshots:
9013 9503  
9014 9504 detect-libc@1.0.3: {}
9015 9505  
  9506 + detect-libc@2.0.3:
  9507 + optional: true
  9508 +
9016 9509 detect-newline@4.0.1: {}
9017 9510  
9018 9511 detect-node@2.1.0: {}
... ... @@ -9027,6 +9520,12 @@ snapshots:
9027 9520 dependencies:
9028 9521 path-type: 4.0.0
9029 9522  
  9523 + dnd-core@14.0.1:
  9524 + dependencies:
  9525 + '@react-dnd/asap': 4.0.1
  9526 + '@react-dnd/invariant': 2.0.0
  9527 + redux: 4.2.1
  9528 +
9030 9529 doctrine@2.1.0:
9031 9530 dependencies:
9032 9531 esutils: 2.0.3
... ... @@ -9070,6 +9569,19 @@ snapshots:
9070 9569 no-case: 3.0.4
9071 9570 tslib: 2.8.1
9072 9571  
  9572 + draft-convert@2.1.13(draft-js@0.10.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
  9573 + dependencies:
  9574 + '@babel/runtime': 7.26.10
  9575 + draft-js: 0.10.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
  9576 + immutable: 3.7.6
  9577 + invariant: 2.2.4
  9578 + react: 18.3.1
  9579 + react-dom: 18.3.1(react@18.3.1)
  9580 +
  9581 + draft-js-multidecorators@1.0.0:
  9582 + dependencies:
  9583 + immutable: 3.7.6
  9584 +
9073 9585 draft-js@0.10.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
9074 9586 dependencies:
9075 9587 fbjs: 0.8.18
... ... @@ -9078,6 +9590,11 @@ snapshots:
9078 9590 react: 18.3.1
9079 9591 react-dom: 18.3.1(react@18.3.1)
9080 9592  
  9593 + draftjs-utils@0.9.4(draft-js@0.10.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(immutable@3.7.6):
  9594 + dependencies:
  9595 + draft-js: 0.10.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
  9596 + immutable: 3.7.6
  9597 +
9081 9598 dunder-proto@1.0.1:
9082 9599 dependencies:
9083 9600 call-bind-apply-helpers: 1.0.2
... ... @@ -9554,6 +10071,11 @@ snapshots:
9554 10071 signal-exit: 3.0.7
9555 10072 strip-final-newline: 3.0.0
9556 10073  
  10074 + exenv@1.2.2: {}
  10075 +
  10076 + expand-template@2.0.3:
  10077 + optional: true
  10078 +
9557 10079 express-http-proxy@2.1.1:
9558 10080 dependencies:
9559 10081 debug: 3.2.7
... ... @@ -9604,6 +10126,8 @@ snapshots:
9604 10126  
9605 10127 fast-deep-equal@3.1.3: {}
9606 10128  
  10129 + fast-equals@4.0.3: {}
  10130 +
9607 10131 fast-glob@3.2.12:
9608 10132 dependencies:
9609 10133 '@nodelib/fs.stat': 2.0.5
... ... @@ -9740,6 +10264,9 @@ snapshots:
9740 10264  
9741 10265 fresh@0.5.2: {}
9742 10266  
  10267 + fs-constants@1.0.0:
  10268 + optional: true
  10269 +
9743 10270 fs-extra@10.1.0:
9744 10271 dependencies:
9745 10272 graceful-fs: 4.2.11
... ... @@ -9808,6 +10335,9 @@ snapshots:
9808 10335  
9809 10336 git-hooks-list@3.2.0: {}
9810 10337  
  10338 + github-from-package@0.0.0:
  10339 + optional: true
  10340 +
9811 10341 glob-parent@5.1.2:
9812 10342 dependencies:
9813 10343 is-glob: 4.0.3
... ... @@ -9927,6 +10457,8 @@ snapshots:
9927 10457  
9928 10458 he@1.2.0: {}
9929 10459  
  10460 + highlight-words-core@1.2.3: {}
  10461 +
9930 10462 history@4.10.1:
9931 10463 dependencies:
9932 10464 '@babel/runtime': 7.26.10
... ... @@ -10038,6 +10570,8 @@ snapshots:
10038 10570  
10039 10571 immer@8.0.4: {}
10040 10572  
  10573 + immutability-helper@3.1.1: {}
  10574 +
10041 10575 immutable@3.7.6: {}
10042 10576  
10043 10577 import-fresh@3.3.1:
... ... @@ -10047,7 +10581,7 @@ snapshots:
10047 10581  
10048 10582 import-html-entry@1.17.0:
10049 10583 dependencies:
10050   - '@babel/runtime': 7.23.6
  10584 + '@babel/runtime': 7.26.10
10051 10585  
10052 10586 import-lazy@4.0.0: {}
10053 10587  
... ... @@ -10558,12 +11092,16 @@ snapshots:
10558 11092 dependencies:
10559 11093 yallist: 4.0.0
10560 11094  
  11095 + make-cancellable-promise@1.3.2: {}
  11096 +
10561 11097 make-dir@2.1.0:
10562 11098 dependencies:
10563 11099 pify: 4.0.1
10564 11100 semver: 5.7.2
10565 11101 optional: true
10566 11102  
  11103 + make-event-props@1.6.2: {}
  11104 +
10567 11105 makeerror@1.0.12:
10568 11106 dependencies:
10569 11107 tmpl: 1.0.5
... ... @@ -10590,6 +11128,8 @@ snapshots:
10590 11128 dependencies:
10591 11129 fs-monkey: 1.0.6
10592 11130  
  11131 + memoize-one@4.0.3: {}
  11132 +
10593 11133 meow@9.0.0:
10594 11134 dependencies:
10595 11135 '@types/minimist': 1.2.5
... ... @@ -10607,6 +11147,10 @@ snapshots:
10607 11147  
10608 11148 merge-descriptors@1.0.3: {}
10609 11149  
  11150 + merge-refs@1.3.0(@types/react@18.3.18):
  11151 + optionalDependencies:
  11152 + '@types/react': 18.3.18
  11153 +
10610 11154 merge-stream@2.0.0: {}
10611 11155  
10612 11156 merge2@1.4.1: {}
... ... @@ -10637,6 +11181,9 @@ snapshots:
10637 11181  
10638 11182 mimic-fn@4.0.0: {}
10639 11183  
  11184 + mimic-response@3.1.0:
  11185 + optional: true
  11186 +
10640 11187 min-document@2.19.0:
10641 11188 dependencies:
10642 11189 dom-walk: 0.1.2
... ... @@ -10661,8 +11208,14 @@ snapshots:
10661 11208 is-plain-obj: 1.1.0
10662 11209 kind-of: 6.0.3
10663 11210  
  11211 + minimist@1.2.8:
  11212 + optional: true
  11213 +
10664 11214 minipass@7.1.2: {}
10665 11215  
  11216 + mkdirp-classic@0.5.3:
  11217 + optional: true
  11218 +
10666 11219 moment@2.30.1: {}
10667 11220  
10668 11221 ms@2.0.0: {}
... ... @@ -10671,6 +11224,9 @@ snapshots:
10671 11224  
10672 11225 nanoid@3.3.9: {}
10673 11226  
  11227 + napi-build-utils@2.0.0:
  11228 + optional: true
  11229 +
10674 11230 natural-compare-lite@1.4.0: {}
10675 11231  
10676 11232 natural-compare@1.4.0: {}
... ... @@ -10694,8 +11250,16 @@ snapshots:
10694 11250 lower-case: 2.0.2
10695 11251 tslib: 2.8.1
10696 11252  
  11253 + node-abi@3.74.0:
  11254 + dependencies:
  11255 + semver: 7.7.1
  11256 + optional: true
  11257 +
10697 11258 node-abort-controller@3.1.1: {}
10698 11259  
  11260 + node-addon-api@7.1.1:
  11261 + optional: true
  11262 +
10699 11263 node-domexception@1.0.0: {}
10700 11264  
10701 11265 node-fetch@1.7.3:
... ... @@ -10783,6 +11347,8 @@ snapshots:
10783 11347  
10784 11348 normalize-range@0.1.2: {}
10785 11349  
  11350 + normalize.css@7.0.0: {}
  11351 +
10786 11352 npm-run-path@4.0.1:
10787 11353 dependencies:
10788 11354 path-key: 3.1.1
... ... @@ -10983,6 +11549,9 @@ snapshots:
10983 11549  
10984 11550 path-type@4.0.0: {}
10985 11551  
  11552 + path2d@0.2.2:
  11553 + optional: true
  11554 +
10986 11555 pbkdf2@3.1.2:
10987 11556 dependencies:
10988 11557 create-hash: 1.2.0
... ... @@ -10991,6 +11560,11 @@ snapshots:
10991 11560 safe-buffer: 5.2.1
10992 11561 sha.js: 2.4.11
10993 11562  
  11563 + pdfjs-dist@4.8.69:
  11564 + optionalDependencies:
  11565 + canvas: 3.1.0
  11566 + path2d: 0.2.2
  11567 +
10994 11568 performance-now@2.1.0: {}
10995 11569  
10996 11570 picocolors@1.1.1: {}
... ... @@ -11274,6 +11848,22 @@ snapshots:
11274 11848 picocolors: 1.1.1
11275 11849 source-map-js: 1.2.1
11276 11850  
  11851 + prebuild-install@7.1.3:
  11852 + dependencies:
  11853 + detect-libc: 2.0.3
  11854 + expand-template: 2.0.3
  11855 + github-from-package: 0.0.0
  11856 + minimist: 1.2.8
  11857 + mkdirp-classic: 0.5.3
  11858 + napi-build-utils: 2.0.0
  11859 + node-abi: 3.74.0
  11860 + pump: 3.0.2
  11861 + rc: 1.2.8
  11862 + simple-get: 4.0.1
  11863 + tar-fs: 2.1.2
  11864 + tunnel-agent: 0.6.0
  11865 + optional: true
  11866 +
11277 11867 prelude-ls@1.2.1: {}
11278 11868  
11279 11869 prettier-plugin-organize-imports@3.2.4(prettier@2.8.8)(typescript@5.8.2):
... ... @@ -11339,6 +11929,12 @@ snapshots:
11339 11929 randombytes: 2.1.0
11340 11930 safe-buffer: 5.2.1
11341 11931  
  11932 + pump@3.0.2:
  11933 + dependencies:
  11934 + end-of-stream: 1.4.4
  11935 + once: 1.4.0
  11936 + optional: true
  11937 +
11342 11938 punycode-okam@1.4.1: {}
11343 11939  
11344 11940 punycode@1.4.1: {}
... ... @@ -11397,6 +11993,13 @@ snapshots:
11397 11993 iconv-lite: 0.4.24
11398 11994 unpipe: 1.0.0
11399 11995  
  11996 + rc-align@2.4.5:
  11997 + dependencies:
  11998 + babel-runtime: 6.26.0
  11999 + dom-align: 1.12.4
  12000 + prop-types: 15.8.1
  12001 + rc-util: 4.21.1
  12002 +
11400 12003 rc-align@4.0.15(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
11401 12004 dependencies:
11402 12005 '@babel/runtime': 7.26.10
... ... @@ -11440,6 +12043,13 @@ snapshots:
11440 12043 react: 18.3.1
11441 12044 react-dom: 18.3.1(react@18.3.1)
11442 12045  
  12046 + rc-checkbox@2.0.3:
  12047 + dependencies:
  12048 + babel-runtime: 6.26.0
  12049 + classnames: 2.5.1
  12050 + prop-types: 15.8.1
  12051 + rc-util: 4.21.1
  12052 +
11443 12053 rc-checkbox@3.0.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
11444 12054 dependencies:
11445 12055 '@babel/runtime': 7.26.10
... ... @@ -11456,6 +12066,16 @@ snapshots:
11456 12066 react: 18.3.1
11457 12067 react-dom: 18.3.1(react@18.3.1)
11458 12068  
  12069 + rc-collapse@1.9.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
  12070 + dependencies:
  12071 + classnames: 2.5.1
  12072 + css-animation: 1.6.1
  12073 + prop-types: 15.8.1
  12074 + rc-animate: 2.11.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
  12075 + transitivePeerDependencies:
  12076 + - react
  12077 + - react-dom
  12078 +
11459 12079 rc-collapse@3.4.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
11460 12080 dependencies:
11461 12081 '@babel/runtime': 7.26.10
... ... @@ -11587,6 +12207,10 @@ snapshots:
11587 12207 react-is: 16.13.1
11588 12208 warning: 4.0.3
11589 12209  
  12210 + rc-gesture@0.0.22:
  12211 + dependencies:
  12212 + babel-runtime: 6.26.0
  12213 +
11590 12214 rc-image@5.13.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
11591 12215 dependencies:
11592 12216 '@babel/runtime': 7.26.10
... ... @@ -11800,7 +12424,7 @@ snapshots:
11800 12424  
11801 12425 rc-resize-observer@0.2.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
11802 12426 dependencies:
11803   - '@babel/runtime': 7.23.6
  12427 + '@babel/runtime': 7.26.10
11804 12428 classnames: 2.5.1
11805 12429 rc-util: 5.44.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
11806 12430 react: 18.3.1
... ... @@ -11875,6 +12499,19 @@ snapshots:
11875 12499 react: 18.3.1
11876 12500 react-dom: 18.3.1(react@18.3.1)
11877 12501  
  12502 + rc-slider@8.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
  12503 + dependencies:
  12504 + babel-runtime: 6.26.0
  12505 + classnames: 2.5.1
  12506 + prop-types: 15.8.1
  12507 + rc-tooltip: 3.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
  12508 + rc-util: 4.21.1
  12509 + shallowequal: 1.1.0
  12510 + warning: 3.0.0
  12511 + transitivePeerDependencies:
  12512 + - react
  12513 + - react-dom
  12514 +
11878 12515 rc-steps@5.0.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
11879 12516 dependencies:
11880 12517 '@babel/runtime': 7.26.10
... ... @@ -11891,6 +12528,13 @@ snapshots:
11891 12528 react: 18.3.1
11892 12529 react-dom: 18.3.1(react@18.3.1)
11893 12530  
  12531 + rc-swipeout@2.0.11:
  12532 + dependencies:
  12533 + babel-runtime: 6.26.0
  12534 + classnames: 2.5.1
  12535 + rc-gesture: 0.0.22
  12536 + react-native-swipeout: 2.3.6
  12537 +
11894 12538 rc-switch@3.2.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
11895 12539 dependencies:
11896 12540 '@babel/runtime': 7.26.10
... ... @@ -11972,6 +12616,15 @@ snapshots:
11972 12616 react: 18.3.1
11973 12617 react-dom: 18.3.1(react@18.3.1)
11974 12618  
  12619 + rc-tooltip@3.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
  12620 + dependencies:
  12621 + babel-runtime: 6.26.0
  12622 + prop-types: 15.8.1
  12623 + rc-trigger: 2.6.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
  12624 + transitivePeerDependencies:
  12625 + - react
  12626 + - react-dom
  12627 +
11975 12628 rc-tooltip@5.2.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
11976 12629 dependencies:
11977 12630 '@babel/runtime': 7.26.10
... ... @@ -12029,6 +12682,19 @@ snapshots:
12029 12682 react: 18.3.1
12030 12683 react-dom: 18.3.1(react@18.3.1)
12031 12684  
  12685 + rc-trigger@2.6.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
  12686 + dependencies:
  12687 + babel-runtime: 6.26.0
  12688 + classnames: 2.5.1
  12689 + prop-types: 15.8.1
  12690 + rc-align: 2.4.5
  12691 + rc-animate: 2.11.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
  12692 + rc-util: 4.21.1
  12693 + react-lifecycles-compat: 3.0.4
  12694 + transitivePeerDependencies:
  12695 + - react
  12696 + - react-dom
  12697 +
12032 12698 rc-trigger@5.3.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
12033 12699 dependencies:
12034 12700 '@babel/runtime': 7.26.10
... ... @@ -12065,7 +12731,7 @@ snapshots:
12065 12731  
12066 12732 rc-util@5.44.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
12067 12733 dependencies:
12068   - '@babel/runtime': 7.23.6
  12734 + '@babel/runtime': 7.26.10
12069 12735 react: 18.3.1
12070 12736 react-dom: 18.3.1(react@18.3.1)
12071 12737 react-is: 18.3.1
... ... @@ -12079,16 +12745,59 @@ snapshots:
12079 12745 react: 18.3.1
12080 12746 react-dom: 18.3.1(react@18.3.1)
12081 12747  
  12748 + rc@1.2.8:
  12749 + dependencies:
  12750 + deep-extend: 0.6.0
  12751 + ini: 1.3.8
  12752 + minimist: 1.2.8
  12753 + strip-json-comments: 2.0.1
  12754 + optional: true
  12755 +
  12756 + react-dnd-html5-backend@14.1.0:
  12757 + dependencies:
  12758 + dnd-core: 14.0.1
  12759 +
  12760 + react-dnd@14.0.5(@types/hoist-non-react-statics@3.3.6)(@types/node@22.13.10)(@types/react@18.3.18)(react@18.3.1):
  12761 + dependencies:
  12762 + '@react-dnd/invariant': 2.0.0
  12763 + '@react-dnd/shallowequal': 2.0.0
  12764 + dnd-core: 14.0.1
  12765 + fast-deep-equal: 3.1.3
  12766 + hoist-non-react-statics: 3.3.2
  12767 + react: 18.3.1
  12768 + optionalDependencies:
  12769 + '@types/hoist-non-react-statics': 3.3.6
  12770 + '@types/node': 22.13.10
  12771 + '@types/react': 18.3.18
  12772 +
12082 12773 react-dom@18.3.1(react@18.3.1):
12083 12774 dependencies:
12084 12775 loose-envify: 1.4.0
12085 12776 react: 18.3.1
12086 12777 scheduler: 0.23.2
12087 12778  
  12779 + react-draggable@4.4.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
  12780 + dependencies:
  12781 + clsx: 1.2.1
  12782 + prop-types: 15.8.1
  12783 + react: 18.3.1
  12784 + react-dom: 18.3.1(react@18.3.1)
  12785 +
12088 12786 react-error-overlay@6.0.9: {}
12089 12787  
12090 12788 react-fast-compare@3.2.2: {}
12091 12789  
  12790 + react-grid-layout@1.5.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
  12791 + dependencies:
  12792 + clsx: 2.1.1
  12793 + fast-equals: 4.0.3
  12794 + prop-types: 15.8.1
  12795 + react: 18.3.1
  12796 + react-dom: 18.3.1(react@18.3.1)
  12797 + react-draggable: 4.4.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
  12798 + react-resizable: 3.0.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
  12799 + resize-observer-polyfill: 1.5.1
  12800 +
12092 12801 react-helmet-async@1.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
12093 12802 dependencies:
12094 12803 '@babel/runtime': 7.23.6
... ... @@ -12099,6 +12808,12 @@ snapshots:
12099 12808 react-fast-compare: 3.2.2
12100 12809 shallowequal: 1.1.0
12101 12810  
  12811 + react-highlight-words@0.21.0(react@18.3.1):
  12812 + dependencies:
  12813 + highlight-words-core: 1.2.3
  12814 + memoize-one: 4.0.3
  12815 + react: 18.3.1
  12816 +
12102 12817 react-intl@3.12.1(react@18.3.1):
12103 12818 dependencies:
12104 12819 '@formatjs/intl-displaynames': 1.2.10
... ... @@ -12123,6 +12838,27 @@ snapshots:
12123 12838  
12124 12839 react-merge-refs@1.1.0: {}
12125 12840  
  12841 + react-native-swipeout@2.3.6:
  12842 + dependencies:
  12843 + create-react-class: 15.7.0
  12844 + prop-types: 15.8.1
  12845 + react-tween-state: 0.1.5
  12846 +
  12847 + react-pdf@9.2.1(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
  12848 + dependencies:
  12849 + clsx: 2.1.1
  12850 + dequal: 2.0.3
  12851 + make-cancellable-promise: 1.3.2
  12852 + make-event-props: 1.6.2
  12853 + merge-refs: 1.3.0(@types/react@18.3.18)
  12854 + pdfjs-dist: 4.8.69
  12855 + react: 18.3.1
  12856 + react-dom: 18.3.1(react@18.3.1)
  12857 + tiny-invariant: 1.3.3
  12858 + warning: 4.0.3
  12859 + optionalDependencies:
  12860 + '@types/react': 18.3.18
  12861 +
12126 12862 react-redux@5.0.7(react@18.3.1)(redux@3.7.2):
12127 12863 dependencies:
12128 12864 hoist-non-react-statics: 2.5.5
... ... @@ -12153,6 +12889,14 @@ snapshots:
12153 12889  
12154 12890 react-refresh@0.14.2: {}
12155 12891  
  12892 + react-resizable@3.0.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
  12893 + dependencies:
  12894 + prop-types: 15.8.1
  12895 + react: 18.3.1
  12896 + react-draggable: 4.4.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
  12897 + transitivePeerDependencies:
  12898 + - react-dom
  12899 +
12156 12900 react-router-dom@4.3.1(react@18.3.1):
12157 12901 dependencies:
12158 12902 history: 4.10.1
... ... @@ -12193,6 +12937,19 @@ snapshots:
12193 12937 history: 5.3.0
12194 12938 react: 18.3.1
12195 12939  
  12940 + react-sortable-hoc@2.0.0(prop-types@15.8.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
  12941 + dependencies:
  12942 + '@babel/runtime': 7.26.10
  12943 + invariant: 2.2.4
  12944 + prop-types: 15.8.1
  12945 + react: 18.3.1
  12946 + react-dom: 18.3.1(react@18.3.1)
  12947 +
  12948 + react-tween-state@0.1.5:
  12949 + dependencies:
  12950 + raf: 3.4.1
  12951 + tween-functions: 1.2.0
  12952 +
12196 12953 react@18.3.1:
12197 12954 dependencies:
12198 12955 loose-envify: 1.4.0
... ... @@ -12340,6 +13097,131 @@ snapshots:
12340 13097 hash-base: 3.0.5
12341 13098 inherits: 2.0.4
12342 13099  
  13100 + rmc-align@1.0.0:
  13101 + dependencies:
  13102 + babel-runtime: 6.26.0
  13103 + dom-align: 1.12.4
  13104 + rc-util: 4.21.1
  13105 +
  13106 + rmc-calendar@1.1.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
  13107 + dependencies:
  13108 + babel-runtime: 6.26.0
  13109 + rc-animate: 2.11.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
  13110 + rmc-date-picker: 6.0.10(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
  13111 + transitivePeerDependencies:
  13112 + - react
  13113 + - react-dom
  13114 +
  13115 + rmc-cascader@5.0.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
  13116 + dependencies:
  13117 + array-tree-filter: 2.1.0
  13118 + babel-runtime: 6.26.0
  13119 + rmc-picker: 5.0.10(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
  13120 + transitivePeerDependencies:
  13121 + - react
  13122 + - react-dom
  13123 +
  13124 + rmc-date-picker@6.0.10(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
  13125 + dependencies:
  13126 + babel-runtime: 6.26.0
  13127 + rmc-picker: 5.0.10(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
  13128 + transitivePeerDependencies:
  13129 + - react
  13130 + - react-dom
  13131 +
  13132 + rmc-dialog@1.1.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
  13133 + dependencies:
  13134 + babel-runtime: 6.26.0
  13135 + rc-animate: 2.11.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
  13136 + transitivePeerDependencies:
  13137 + - react
  13138 + - react-dom
  13139 +
  13140 + rmc-drawer@0.4.11:
  13141 + dependencies:
  13142 + babel-runtime: 6.26.0
  13143 + classnames: 2.5.1
  13144 + prop-types: 15.8.1
  13145 +
  13146 + rmc-feedback@2.0.0:
  13147 + dependencies:
  13148 + babel-runtime: 6.26.0
  13149 + classnames: 2.5.1
  13150 +
  13151 + rmc-input-number@1.0.5:
  13152 + dependencies:
  13153 + babel-runtime: 6.26.0
  13154 + classnames: 2.5.1
  13155 + rmc-feedback: 2.0.0
  13156 +
  13157 + rmc-list-view@0.11.5:
  13158 + dependencies:
  13159 + babel-runtime: 6.26.0
  13160 + classnames: 2.5.1
  13161 + fbjs: 0.8.18
  13162 + prop-types: 15.8.1
  13163 + warning: 3.0.0
  13164 + zscroller: 0.4.8
  13165 +
  13166 + rmc-notification@1.0.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
  13167 + dependencies:
  13168 + babel-runtime: 6.26.0
  13169 + classnames: 2.5.1
  13170 + prop-types: 15.8.1
  13171 + rc-animate: 2.11.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
  13172 + rc-util: 4.21.1
  13173 + transitivePeerDependencies:
  13174 + - react
  13175 + - react-dom
  13176 +
  13177 + rmc-nuka-carousel@3.0.1:
  13178 + dependencies:
  13179 + exenv: 1.2.2
  13180 + raf: 3.4.1
  13181 +
  13182 + rmc-picker@5.0.10(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
  13183 + dependencies:
  13184 + babel-runtime: 6.26.0
  13185 + classnames: 2.5.1
  13186 + rmc-dialog: 1.1.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
  13187 + rmc-feedback: 2.0.0
  13188 + transitivePeerDependencies:
  13189 + - react
  13190 + - react-dom
  13191 +
  13192 + rmc-pull-to-refresh@1.0.13:
  13193 + dependencies:
  13194 + babel-runtime: 6.26.0
  13195 + classnames: 2.5.1
  13196 +
  13197 + rmc-steps@1.0.1:
  13198 + dependencies:
  13199 + babel-runtime: 6.26.0
  13200 + classnames: 2.5.1
  13201 +
  13202 + rmc-tabs@1.2.29:
  13203 + dependencies:
  13204 + babel-runtime: 6.26.0
  13205 + rc-gesture: 0.0.22
  13206 +
  13207 + rmc-tooltip@1.0.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
  13208 + dependencies:
  13209 + babel-runtime: 6.26.0
  13210 + rmc-trigger: 1.0.12(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
  13211 + transitivePeerDependencies:
  13212 + - react
  13213 + - react-dom
  13214 +
  13215 + rmc-trigger@1.0.12(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
  13216 + dependencies:
  13217 + babel-runtime: 6.26.0
  13218 + rc-animate: 2.11.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
  13219 + rc-util: 4.21.1
  13220 + rmc-align: 1.0.0
  13221 + transitivePeerDependencies:
  13222 + - react
  13223 + - react-dom
  13224 +
12343 13225 rollup-plugin-visualizer@5.9.0(rollup@3.29.5):
12344 13226 dependencies:
12345 13227 open: 8.4.2
... ... @@ -12528,6 +13410,16 @@ snapshots:
12528 13410  
12529 13411 signal-exit@4.1.0: {}
12530 13412  
  13413 + simple-concat@1.0.1:
  13414 + optional: true
  13415 +
  13416 + simple-get@4.0.1:
  13417 + dependencies:
  13418 + decompress-response: 6.0.0
  13419 + once: 1.4.0
  13420 + simple-concat: 1.0.1
  13421 + optional: true
  13422 +
12531 13423 single-spa@5.9.5: {}
12532 13424  
12533 13425 slash@3.0.0: {}
... ... @@ -12718,6 +13610,9 @@ snapshots:
12718 13610 dependencies:
12719 13611 min-indent: 1.0.1
12720 13612  
  13613 + strip-json-comments@2.0.1:
  13614 + optional: true
  13615 +
12721 13616 strip-json-comments@3.1.1: {}
12722 13617  
12723 13618 style-search@0.1.0: {}
... ... @@ -12848,6 +13743,23 @@ snapshots:
12848 13743  
12849 13744 tapable@2.2.1: {}
12850 13745  
  13746 + tar-fs@2.1.2:
  13747 + dependencies:
  13748 + chownr: 1.1.4
  13749 + mkdirp-classic: 0.5.3
  13750 + pump: 3.0.2
  13751 + tar-stream: 2.2.0
  13752 + optional: true
  13753 +
  13754 + tar-stream@2.2.0:
  13755 + dependencies:
  13756 + bl: 4.1.0
  13757 + end-of-stream: 1.4.4
  13758 + fs-constants: 1.0.0
  13759 + inherits: 2.0.4
  13760 + readable-stream: 3.6.2
  13761 + optional: true
  13762 +
12851 13763 terser-webpack-plugin@5.3.14(webpack@5.98.0):
12852 13764 dependencies:
12853 13765 '@jridgewell/trace-mapping': 0.3.25
... ... @@ -12925,6 +13837,13 @@ snapshots:
12925 13837  
12926 13838 tty-browserify@0.0.0: {}
12927 13839  
  13840 + tunnel-agent@0.6.0:
  13841 + dependencies:
  13842 + safe-buffer: 5.2.1
  13843 + optional: true
  13844 +
  13845 + tween-functions@1.2.0: {}
  13846 +
12928 13847 type-check@0.4.0:
12929 13848 dependencies:
12930 13849 prelude-ls: 1.2.1
... ... @@ -13297,3 +14216,7 @@ snapshots:
13297 14216 zod: 3.24.2
13298 14217  
13299 14218 zod@3.24.2: {}
  14219 +
  14220 + zscroller@0.4.8:
  14221 + dependencies:
  14222 + babel-runtime: 6.26.0
... ...
src/components/Common/AssignmentField.js 0 → 100644
  1 +/**
  2 + * Created by mar105 on 2019-02-13.
  3 + */
  4 +/* eslint-disable no-undef,import/first,prefer-destructuring,jsx-a11y/alt-text */
  5 +import React, { Component } from 'react';
  6 +import { Modal } from 'antd';
  7 +import styles from '@/index.less';
  8 +import * as commonUtils from '@/utils/utils';
  9 +import StaticEditTable from '@/components/Common/CommonTable';/* 可编辑表格 */
  10 +import * as commonBusiness from '@/components/Common/commonBusiness';
  11 +/* 单据业务功能 */
  12 +export default class AssignmentField extends Component {
  13 + /** 构造函数 */
  14 + constructor(props) {
  15 + super(props);
  16 + this.state = {};
  17 + }
  18 + /* 获取数字格式化规范 */
  19 + getFloatNum = (sName, decimals) => {
  20 + if (sName.toLowerCase().endsWith('price')) { /* 价格 */
  21 + return decimals.dNetPrice;
  22 + } else if (sName.toLowerCase().endsWith('money')) { /* 金额 */
  23 + return decimals.dNetMoney;
  24 + } else { /* 其它 */
  25 + return 0;
  26 + }
  27 + };
  28 + handleOk = () => {
  29 + /* 选中之后 */
  30 + const { sAssignFieldData } = this.props;
  31 + this.props.onGetsAssignField(sAssignFieldData, 'sAssignField');
  32 + this.props.onSaveState({
  33 + visibleAssignmentField: false,
  34 + // enabled: false,
  35 + });
  36 + };
  37 +
  38 + handleCancel = () => {
  39 + this.props.onSaveState({
  40 + visibleAssignmentField: false,
  41 + // enabled: false,
  42 + });
  43 + };
  44 + handleSelectRowChange = (name, selectedRowKeys) => {
  45 + this.props.onSaveState({
  46 + selectedRowKeys,
  47 + sAssignFieldSelectedRowKeys: selectedRowKeys,
  48 + });
  49 + };
  50 + handleChange = (name, sFieldName, changeValue, sId) => {
  51 + const { sAssignFieldData } = this.props;
  52 + if (name === 'sAssignField') {
  53 + const iIndex = sAssignFieldData.findIndex(item => item.sId === sId);
  54 + const newData = sAssignFieldData[iIndex];
  55 + newData[sFieldName] = changeValue[sFieldName];
  56 + }
  57 + };
  58 + /** 渲染 */
  59 + render() {
  60 + const {
  61 + sAssignFieldData, visibleAssignmentField, sAssignFieldColumn, selectedRowKeys,
  62 + } = this.props;
  63 + /* 获取table中的props */
  64 + const app = {};
  65 + app.currentPage = null;
  66 + const commonConst = [
  67 + {
  68 + sId: '1000', sParentId: '100', sName: 'BtnAdd', showName: '新增',
  69 + },
  70 + {
  71 + sId: '1001', sParentId: '100', sName: 'BtnUpd', showName: '修改',
  72 + },
  73 + {
  74 + sId: '1002', sParentId: '100', sName: 'BtnDel', showName: '删除',
  75 + },
  76 + ];
  77 + app.commonConst = commonConst;
  78 + app.token = '';
  79 + const config = {};
  80 + config.iFreezeColumn = 1;
  81 + const gdsconfigtbsAssignField = [];
  82 + const showoldsNameConfig = {
  83 + sId: commonUtils.createSid(),
  84 + sName: 'sOldName',
  85 + showName: '源字段',
  86 + bVisible: true,
  87 + iFitWidth: 200,
  88 + };
  89 + const shownewsNameConfig = {
  90 + sId: commonUtils.createSid(),
  91 + sName: 'sNewName',
  92 + showName: '现字段',
  93 + bVisible: true,
  94 + iFitWidth: 180,
  95 + };
  96 + gdsconfigtbsAssignField.push(showoldsNameConfig);
  97 + gdsconfigtbsAssignField.push(shownewsNameConfig);
  98 + config.gdsconfigformslave = gdsconfigtbsAssignField;
  99 + const assignmentFieldProps = {
  100 + ...commonBusiness.getTableTypes('sAssignField', this.props),
  101 + tableProps: { AutoTableHeight: '320px', onChange: this.handleChange },
  102 + rowKey: this.rowKey,
  103 + size: 'small',
  104 + bordered: true, /* 显示边框 */
  105 + dataSource: sAssignFieldData, /* 数据s */
  106 + columns: sAssignFieldColumn, /* 表头 */
  107 + pagination: false, /* 不分页 */
  108 + tableBelone: 'table',
  109 + selectedRowKeys,
  110 + getFloatNum: this.getFloatNum,
  111 + config,
  112 + app: {
  113 + ...this.props.app,
  114 + currentPane: {
  115 + ...this.props.app.currentPane,
  116 + sModelsType: 'search/assignmentField',
  117 + },
  118 + },
  119 + onRow: (record) => { return { onClick: () => { this.onRowClick(record); }, onDoubleClick: () => { this.onDoubleClick(record); } }; },
  120 + onAddRow: this.props.onDataRowAdd,
  121 + onDelRow: this.props.onDataRowDel,
  122 + onCopyRow: this.props.onDataRowCopy,
  123 + onSelectRowChange: this.handleSelectRowChange,
  124 + onChange: this.handleChange,
  125 + onDataChange: this.handleChange,
  126 + ...this.props.tableProps,
  127 + };
  128 + return (
  129 + <div className={styles.toolBar}>
  130 + <Modal
  131 + width="650px"
  132 + title="赋值字段"
  133 + visible={visibleAssignmentField}
  134 + onOk={this.handleOk}
  135 + onCancel={this.handleCancel}
  136 + >
  137 + <StaticEditTable {...assignmentFieldProps} noVlist setOpterationColumn="Y" />
  138 + </Modal>
  139 + </div>
  140 + );
  141 + }
  142 +}
... ...
src/components/Common/CommonBill/index.js 0 → 100644
  1 +/* eslint-disable */
  2 +/* eslint-disable prefer-destructuring */
  3 +import React, { Component } from 'react';
  4 +import { UploadOutlined } from '@ant-design/icons';
  5 +import { Form } from '@ant-design/compatible';
  6 +import '@ant-design/compatible/assets/index.css';
  7 +import {
  8 + Row,
  9 + Col,
  10 + Checkbox,
  11 + Layout,
  12 + Spin,
  13 + Tabs,
  14 + Avatar,
  15 + Button,
  16 + Table,
  17 + Upload,
  18 + Input,
  19 + Modal
  20 +} from 'antd';
  21 +import { message } from '@/utils/common/message';
  22 +import CommonSales from '@/components/Common/CommonBillEvent';/* 继承销售模块业务功能 */
  23 +import * as commonFunc from '@/components/Common/commonFunc';/* 通用单据方法 */ /* 通用单据方法 */
  24 +import Toolbar from '@/components/Common/ToolBar/ToolBarNew';
  25 +import StaticEditTable from '@/components/Common/CommonTable';/* 可编辑表格 */
  26 +import styles from '@/index.less';
  27 +import CommonView from '@/components/Common/CommonView';
  28 +import CommonBase from '@/components/Common/CommonBase';/* 获取配置及数据 */
  29 +import * as commonBusiness from '@/components/Common/commonBusiness';/* 单据业务功能 */
  30 +import commonConfig from '@/utils/config';
  31 +import * as commonUtils from '@/utils/utils';/* 通用方法 */
  32 +import * as commonServices from '@/services/services';/* 服务类 */
  33 +import CommonListSelect from '@/components/Common/CommonListSelect';
  34 +import CommonListSelectTree from '@/components/Common/CommonListSelectTree';
  35 +import AddIcon from '@/assets/add.svg';
  36 +import DisableAddIcon from '@/assets/disableadd.svg';
  37 +import CopyIcon from '@/assets/copy.svg';
  38 +import CopyAllIcon from '@/assets/copyall.svg';
  39 +import DisableCopyIcon from '@/assets/disablecopy.svg';
  40 +import DisableCopyAllIcon from '@/assets/disablecopyall.svg';
  41 +import DelIcon from '@/assets/delete.svg';
  42 +import DisableDelIcon from '@/assets/disabledelete.svg';/* 获取配置及数据 */
  43 +import MaterialRemarkIcon from '@/assets/materialremark.svg';
  44 +import DisMaRemarklIcon from '@/assets/disablematerialremark.svg';
  45 +import ProcessIcon from '@/assets/process.svg';
  46 +import DisableProcessIcon from '@/assets/disableprocess.svg';
  47 +import MateriallIcon from '@/assets/material.svg';
  48 +import DisableMateriallIcon from '@/assets/disablematerial.svg';
  49 +// import SlaveMemo from './SlaveMemo';
  50 +import AntdDraggableModal from '@/components/Common/AntdDraggableModal';
  51 +import StaticEditTree from '@/components/Common/Tree/StaticTree';
  52 +import AddChildIcon from '@/assets/addChild.svg';
  53 +import DisableAddChildIcon from '@/assets/disableaddChild.svg';
  54 +import ContextMenuModal from '@/components/Common/ContextMenuModal';
  55 +import CommonViewTable from '@/components/Common/CommonViewTable';
  56 +import CommonExamInfo from '@/components/Common/CommonExamInfo';
  57 +import customStyles from './index.less';
  58 +
  59 +const width = '18px';
  60 +const height = '18px';
  61 +const setAdd = {
  62 + title: '增加',
  63 + width: { width },
  64 + height: { height },
  65 + img: <img src={AddIcon} alt="添加" width={width} height={height} />,
  66 + disableimg: <img src={DisableAddIcon} alt="删除" width={width} height={height} />,
  67 +};
  68 +const setAddChild = {
  69 + title: '增加',
  70 + width: { width },
  71 + height: { height },
  72 + img: <img src={AddChildIcon} alt="添加" width={width} height={height} />,
  73 + disableimg: <img src={DisableAddChildIcon} alt="添加" width={width} height={height} />,
  74 +};
  75 +const setCopy = {
  76 + title: '复制',
  77 + width: { width },
  78 + height: { height },
  79 + img: <img src={CopyIcon} alt="复制" width="20px" height="20px" />,
  80 + disableimg: <img src={DisableCopyIcon} alt="复制" width="20px" height="20px" />,
  81 +};
  82 +const setCopyAll = {
  83 + title: '复制部件',
  84 + width: { width },
  85 + height: { height },
  86 + img: <img src={CopyAllIcon} alt="复制部件" width="16px" height="16px" />,
  87 + disableimg: <img src={DisableCopyAllIcon} alt="复制部件" width="16px" height="16px" />,
  88 +};
  89 +const setDelete = {
  90 + title: '删除',
  91 + width: { width },
  92 + height: { height },
  93 + img: <img src={DelIcon} alt="删除" width={width} height={height} />,
  94 + disableimg: <img src={DisableDelIcon} alt="删除" width={width} height={height} />,
  95 +};
  96 +const setProcess = {
  97 + title: '工序',
  98 + width: { width },
  99 + height: { height },
  100 + img: <img src={ProcessIcon} alt="选择工序" width="16px" height="16px" />,
  101 + disableimg: <img src={DisableProcessIcon} alt="删除" width="16px" height="16px" />,
  102 +};
  103 +const setMaterial = {
  104 + title: '材料',
  105 + width: { width },
  106 + height: { height },
  107 + img: <img src={MateriallIcon} alt="选择材料" width="22px" height="22px" />,
  108 + disableimg: <img src={DisableMateriallIcon} alt="选择材料" width="22px" height="22px" />,
  109 +};
  110 +
  111 +
  112 +const { Header, Content, Sider } = Layout;
  113 +const { TabPane } = Tabs;
  114 +class CommonBill extends Component {
  115 + constructor(props) {
  116 + super(props);
  117 + this.state = {
  118 +
  119 + };
  120 + }
  121 +
  122 + componentDidUpdate() {
  123 + if (this.contentRef) {
  124 + const oNavList = this.contentRef.querySelector(".ant-tabs-nav-list");
  125 + if (oNavList) {
  126 + const tabs = Array.from(oNavList.children);
  127 + if (this.tabLength !== tabs.length) {
  128 + this.tabLength = tabs.length;
  129 + tabs.sort((a, b) => {
  130 + const keyA = a.getAttribute("data-node-key") || 999;
  131 + const keyB = b.getAttribute("data-node-key") || 999;
  132 + return keyA < keyB ? -1 : keyA > keyB ? 1 : 0;
  133 + });
  134 + oNavList.innerHTML = "";
  135 + tabs.forEach(tab => oNavList.appendChild(tab));
  136 + }
  137 + }
  138 + }
  139 + }
  140 +
  141 + /** 行选择 */
  142 + onRowClick = (name, record) => {
  143 + if (name === 'control') {
  144 + this.props.onTableSelectRowChange(name, [record.sId]);
  145 + }
  146 + };
  147 +
  148 + onChange = (checkedValues) => {
  149 + this.props.onSaveState({
  150 + dataPersonArray: checkedValues,
  151 + });
  152 + };
  153 + getMenuStatus = (menu) => {
  154 + if (menu.sControlName === 'BtnImport') {
  155 + return !this.props.enabled;
  156 + }
  157 + };
  158 + /** 上传后执行函数 */
  159 + handleUploadChangeFile = async (info) => {
  160 + const { file } = info;
  161 + const {
  162 + masterData, sModelsId, app, token, sModelsType, slaveConfig, slaveData,
  163 + } = this.props;
  164 + if (file.response) {
  165 + if (file.response.code === 1) {
  166 + /* 数据查询成功 */
  167 + const errorInfo = file.response.dataset.rows[0].nocanbeInsert;
  168 + if (commonUtils.isNotEmptyObject(errorInfo)) {
  169 + const importErrorData = errorInfo;
  170 + this.props.onSaveState({
  171 + showImportErrorVisible: true,
  172 + importData: importErrorData
  173 + });
  174 + // message.error(errorInfo[0].sReason);
  175 + return;
  176 + }
  177 + /* 把之前存放的数据删除 */
  178 + const slaveDelData = [];
  179 + if (commonUtils.isNotEmptyArr(slaveData)) {
  180 + slaveData.forEach((item) => {
  181 + if (commonUtils.isEmptyObject(item.handleType)) {
  182 + item.handleType = 'del';
  183 + slaveDelData.push(item);
  184 + }
  185 + });
  186 + }
  187 + const returnData = file.response.dataset.rows[0].canbeInsert;
  188 + let iCount = 0;
  189 + let productIdDropDown;
  190 + if (productIdDropDown === undefined && commonUtils.isNotEmptyArr(returnData)) { /* 无论导入多少条数据 都只调用1次接口,获取产品下拉数据集 */
  191 + const iIndex = slaveConfig.gdsconfigformslave.findIndex(item => item.sName === 'sProductName');
  192 + if (iIndex > -1) {
  193 + const sqlDropDownData = await this.props.getSqlDropDownData(sModelsId, 'slave', slaveConfig.gdsconfigformslave[iIndex], returnData[0]);
  194 + productIdDropDown = sqlDropDownData.dropDownData;
  195 + }
  196 + }
  197 + await returnData.forEach(async (tableDataRow) => {
  198 + tableDataRow.handleType = 'add';
  199 + tableDataRow.sId = commonUtils.createSid();
  200 + tableDataRow.sParentId = masterData.sId;
  201 + tableDataRow.key = tableDataRow.sId;
  202 + /* 若导入模板没有序号,则序号从1自增 */
  203 + if (commonUtils.isEmptyObject(tableDataRow.iOrder)) {
  204 + iCount += 1;
  205 + tableDataRow.iOrder = iCount;
  206 + }
  207 + for (const child of Object.keys(tableDataRow)) {
  208 + const index = child.indexOf('_sRealValue_');
  209 + if (index > -1) {
  210 + const property = child.substring(0, child.length - 12);
  211 + tableDataRow[property] = tableDataRow[child];
  212 + }
  213 + }
  214 + if (productIdDropDown !== undefined) {
  215 + const iProductIdIndex = productIdDropDown.findIndex(item => item.sId === tableDataRow.sProductId);
  216 + if (iProductIdIndex === -1 && commonUtils.isNotEmptyObject(sModelsType) && sModelsType.includes('sales/salesOrder')) { /* 只有销售模块生成新产品 盘点 ,期间 不生成新的产品 */
  217 + tableDataRow.sProductId = tableDataRow.sProductName;
  218 + tableDataRow.sProductInfo = JSON.stringify({
  219 + sProductId: tableDataRow.sProductName,
  220 + sProductName: tableDataRow.sProductName,
  221 + sProductStyle: tableDataRow.sProductStyle,
  222 + sProductUnit: tableDataRow.sProductUnit,
  223 + sProductNo: tableDataRow.sProductNo,
  224 + sCustomerProductNo: tableDataRow.sCustomerProductNo,
  225 + sProductClassifyId: tableDataRow.sProductClassifyId,
  226 + sProductClassifyName: tableDataRow.sProductClassifyName,
  227 + });
  228 + }
  229 + }
  230 + if (!tableDataRow.dNProductPrice) {
  231 + tableDataRow.dNProductPrice = tableDataRow.dProductForeignPrice;
  232 + }
  233 + const models = sModelsType.includes('sales/') || sModelsType.includes('manufacture/') || sModelsType.includes('quotation/') || sModelsType.includes('productStock/') ? 'Product' : 'Materials';
  234 + if (sModelsType.includes('purchase/') || sModelsType.includes('quotation/') || sModelsType.includes('manufacture/') || sModelsType.includes('materialsStock/') || sModelsType.includes('outside/')) {
  235 + tableDataRow = await this.props.onMaterialsChange(tableDataRow, sModelsId, masterData, {}, 'dAuxiliaryQty', app, token, models);
  236 + tableDataRow = commonBusiness.getCalculateAllMoney(app, models, 'dAuxiliaryQty', masterData, tableDataRow);
  237 + } else {
  238 + tableDataRow = commonBusiness.getCalculateAllMoney(app, models, 'dProductQty', masterData, tableDataRow);
  239 + }
  240 + });
  241 + this.props.onSaveState({ slaveData: returnData, slaveDelData });
  242 + } else { /* 失败s */
  243 + this.props.getServiceError(file.response);
  244 + }
  245 + }
  246 + };
  247 + handleUploadPropsSales = () => {
  248 + const { masterData, sModelsType } = this.props;
  249 + if (commonUtils.isNotEmptyObject(masterData)) {
  250 + const sCustomerId = commonUtils.isEmptyStr(masterData.sCustomerId) ? undefined : masterData.sCustomerId;
  251 + let existCustomerId = false;
  252 + if (sModelsType.includes('sales/') && commonUtils.isNotEmptyStr(sCustomerId)) {
  253 + existCustomerId = true;
  254 + } else if (!sModelsType.includes('sales/')) {
  255 + existCustomerId = true;
  256 + }
  257 + return {
  258 + disabled: !this.props.enabled || !existCustomerId, /* 是否可用 */
  259 + style: { display: commonUtils.convertBooleanToDisplayBlock(true) }, /* 是否显示 */
  260 + };
  261 + }
  262 + };
  263 + /** 上传后执行函数 */
  264 + handleBeforeUpload = () => {
  265 + // const isLt10M = file.size / 1024 / 1024 < 10;
  266 + // if (!isLt10M) {
  267 + // message.error(commonFunc.showMessage(this.props.app.commonConst, 'picMax'));/* 图片大小需小于10MB! */
  268 + // }
  269 + };
  270 + /** 图片上传后执行函数 */
  271 + handleUploadChange = (info, name) => {
  272 + const { file } = info;
  273 + if (file.response && file.response.code === 1) {
  274 + const sPicturePath = file.response.dataset.rows[0].savePathStr;
  275 + const spicture = sPicturePath;
  276 + const uploadInfo = {
  277 + sPicturePath,
  278 + sFileName: file.name,
  279 + };
  280 + const { [`${name}Column`]: tableColumn, masterData, [`${name}Data`]: tableData } = this.props;
  281 + if (commonUtils.isNotEmptyArr(tableData) && commonUtils.isEmpty(tableData[tableData.length - 1].sPicturePath)) {
  282 + tableData[tableData.length - 1].sPicturePath = uploadInfo.sPicturePath;
  283 + tableData[tableData.length - 1].spicture = spicture;
  284 + tableData[tableData.length - 1] = {
  285 + ...tableData[tableData.length - 1],
  286 + sPicturePath: uploadInfo.sPicturePath,
  287 + sFileName: uploadInfo.sFileName,
  288 + spicture,
  289 + handleType: commonUtils.isEmpty(tableData[tableData.length - 1].handleType) ? 'update' : tableData[tableData.length - 1].handleType,
  290 + };
  291 + } else {
  292 + const tableDataRow = this.props.onDataRowAdd(name, true);
  293 + tableColumn.forEach((slaveChild) => {
  294 + const ckey = slaveChild.dataIndex;
  295 + if (ckey === 'sProductNo' || ckey === 'sProductName') {
  296 + tableDataRow[ckey] = masterData[ckey] !== undefined ? masterData[ckey] : '';
  297 + } else if (ckey === 'iOrder') {
  298 + tableDataRow[ckey] = '';
  299 + } else if (file.response && file.response.code === 1) {
  300 + if (uploadInfo[ckey] !== undefined) {
  301 + tableDataRow[ckey] = uploadInfo[ckey];
  302 + }
  303 + }
  304 + });
  305 + tableData.push(tableDataRow);
  306 + }
  307 + this.props.onSaveState({ [`${name}Data`]: tableData, enabled: true });
  308 + } else if (file.response && file.response.code === -1) {
  309 + message.error(file.response.msg);
  310 + }
  311 + };
  312 + handleOk = async (flag, tmpCheck, isWait) => {
  313 + const {
  314 + sModelsId, masterData, app, checkConditions, sCheckModelId, checkPersonData, currentId, masterConfig, slaveConfig, checkConfig, sCheckRemark,
  315 + } = this.props;
  316 + const { currentPane } = app;
  317 + const bCkxTmpCheck = app.systemData.filter(item => item.sName === 'CkxTmpCheck')[0].sValue;
  318 + if (bCkxTmpCheck === '1') {
  319 + const returnData = await this.props.onDataAudit(flag, tmpCheck, isWait);
  320 + if (returnData.code === 1) {
  321 + if (returnData.dataset.rows[0].dataSet.outData[0].sCode === 1) {
  322 + this.props.onGetData(masterConfig, slaveConfig, checkConfig);
  323 + message.success(returnData.msg);
  324 + } else {
  325 + message.error(returnData.dataset.rows[0].dataSet.outData[0].sReturn);
  326 + }
  327 + } else { /* 失败 */
  328 + this.props.getServiceError(returnData);
  329 + }
  330 + } else {
  331 + const dataPersonArray = commonUtils.isEmptyObject(this.props.dataPersonArray) ? [] : this.props.dataPersonArray;
  332 + if (commonUtils.isEmptyObject(dataPersonArray)) {
  333 + checkPersonData.forEach((item) => {
  334 + dataPersonArray.push(item.sUserId);
  335 + });
  336 + }
  337 + const dataPersonString = dataPersonArray.join(',');
  338 + const url = `${commonConfig.server_host}business/getProData?sModelsId=${sModelsId}`;
  339 + const value = {
  340 + sProName: 'Sp_System_AutoSendCheckMsg',
  341 + paramsMap: {
  342 + sFormGuid: sModelsId,
  343 + sBillKey: currentPane.sProcName,
  344 + sTbName: masterConfig.sTbName,
  345 + sGuid: masterData.sId,
  346 + sBillNo: masterData.sBillNo,
  347 + sCheckCondition: checkConditions,
  348 + sMemo: sCheckRemark,
  349 + sCheckModelGuid: sCheckModelId,
  350 + sCheckPerson: dataPersonString,
  351 + },
  352 + };
  353 +
  354 + const returnData = (await commonServices.postValueService(app.token, value, url)).data;
  355 + if (returnData.code === 1) {
  356 + const noCheckMsg = commonFunc.showMessage(app.commonConst, 'NoCheckMsg'); /* 您有消息待审核 */
  357 + if (returnData.dataset.rows[0].dataSet.outData[0].sCode === 1) {
  358 + this.props.handleSendSocketMessage('examine', 'showImg', currentId, dataPersonString, noCheckMsg, null);
  359 + const urlCanCheckBill = `${commonConfig.server_host}checkModel/getCanCheckBill?sModelsId=${sModelsId}`;
  360 + const valueCanCheckBill = { sCheckModelId, checkPersonData, sBillId: masterData.sId };
  361 + const returnCanCheckBill = (await commonServices.postValueService(app.token, valueCanCheckBill, urlCanCheckBill)).data;
  362 + if (returnCanCheckBill.code === 1) {
  363 + if (returnCanCheckBill.dataset.rows[0].iCount === 1) {
  364 + this.props.onDataAudit(1, 1);
  365 + this.props.onSaveState({
  366 + visible: false,
  367 + });
  368 + return;
  369 + }
  370 + } else { /* 失败 */
  371 + this.props.getServiceError(returnCanCheckBill);
  372 + }
  373 + this.props.handleSendSocketMessage('reflush', 'showImg', currentId, dataPersonString, noCheckMsg, null);
  374 + message.success(returnData.msg);
  375 + } else {
  376 + message.error(returnData.dataset.rows[0].dataSet.outData[0].sReturn);
  377 + }
  378 + } else { /* 失败 */
  379 + this.props.getServiceError(returnData);
  380 + }
  381 + }
  382 + this.props.onSaveState({
  383 + visible: false,
  384 + });
  385 + };
  386 + handleCancel = () => {
  387 + this.props.onSaveState({
  388 + visible: false,
  389 + });
  390 + };
  391 +
  392 + handleTableModal = async () => {
  393 + const {
  394 + sModelsId, controlData, masterData, slaveData, controlConfig, slaveSelectedRowKeys, enabled, slaveConfig, sModelsType,
  395 + } = this.props;
  396 + const addState = {};
  397 + let treeState = {};
  398 + if (this.props.sModelsType.includes('sales/salesOrder')) {
  399 + const iSlaveIndex = slaveData.findIndex(item => item.sId === slaveSelectedRowKeys[0]);
  400 + const iIndex = controlData.findIndex(item => item.sSlaveId === slaveSelectedRowKeys[0]);
  401 + if (iIndex === -1 && iSlaveIndex > -1 && enabled) {
  402 + const allTableData = {};
  403 + allTableData.master = masterData;
  404 + allTableData.slaveData = slaveData;
  405 + let dropdownProductClassifyId;
  406 + const iIndex = slaveConfig.gdsconfigformslave.findIndex(item => item.sName === 'sProductClassifyId');
  407 + if (iIndex > -1) {
  408 + const sqlDropDownData = await this.props.getSqlDropDownData(sModelsId, 'slave', slaveConfig.gdsconfigformslave[iIndex]);
  409 + dropdownProductClassifyId = sqlDropDownData.dropDownData;
  410 + }
  411 + if (commonUtils.isEmptyArr(dropdownProductClassifyId)) {
  412 + const iIndex = slaveConfig.gdsconfigformslave.findIndex(item => item.sName === 'sProductClassifyName');
  413 + if (iIndex > -1) {
  414 + const sqlDropDownData = await this.props.getSqlDropDownData(sModelsId, 'slave', slaveConfig.gdsconfigformslave[iIndex]);
  415 + dropdownProductClassifyId = sqlDropDownData.dropDownData;
  416 + }
  417 + }
  418 + if (commonUtils.isNotEmptyArr(dropdownProductClassifyId)) {
  419 + const iProductClassifyIdIndex = dropdownProductClassifyId.findIndex(item => item.sId === slaveData[iSlaveIndex].sProductClassifyId);
  420 + if (commonUtils.isNotEmptyObject(dropdownProductClassifyId[iProductClassifyIdIndex])) {
  421 + const sAllPartsName = dropdownProductClassifyId[iProductClassifyIdIndex].sAllPartsName;
  422 + if (commonUtils.isNotEmptyStr(sAllPartsName)) {
  423 + const sAssignFieldObj = sAllPartsName.split(',');
  424 + for (const child of sAssignFieldObj) {
  425 + const tableDataRowAdd = commonFunc.getDefaultData(controlConfig, allTableData);
  426 + tableDataRowAdd.handleType = 'add';
  427 + tableDataRowAdd.sId = commonUtils.createSid();
  428 + tableDataRowAdd.sParentId = masterData && masterData.sId ? masterData.sId : null;
  429 + tableDataRowAdd.sSlaveId = slaveSelectedRowKeys[0];
  430 + tableDataRowAdd.key = tableDataRowAdd.sId;
  431 + tableDataRowAdd.bDefault = false;
  432 + tableDataRowAdd.iOrder = 0;
  433 + tableDataRowAdd.sPartsName = child;
  434 + tableDataRowAdd.dPartsQty = commonUtils.isNull(slaveData[iSlaveIndex].dProductQty, 0) + commonUtils.isNull(slaveData[iSlaveIndex].dGiveQty, 0) + commonUtils.isNull(slaveData[iSlaveIndex].dStockupQty, 0);
  435 + tableDataRowAdd.sAllId = tableDataRowAdd.sId;
  436 + tableDataRowAdd.sControlParentId = '';
  437 + controlData.push(tableDataRowAdd);
  438 + }
  439 + }
  440 + }
  441 + }
  442 + addState.controlData = controlData;
  443 + }
  444 +
  445 + if (controlData !== undefined) {
  446 + const iControlIndex = controlData.findIndex(item => item.sSlaveId === slaveSelectedRowKeys[0]);
  447 + if (iControlIndex > -1) {
  448 + addState.controlSelectedRowKeys = [controlData[iControlIndex].sId];
  449 + }
  450 + }
  451 + }
  452 +
  453 + this.props.onSaveState({
  454 + visibleModal: true,
  455 + ...addState,
  456 + ...treeState,
  457 + });
  458 + };
  459 + handleTableChooseProcess = () => {
  460 + const { processConfig } = this.props;
  461 + const iIndex = processConfig.gdsconfigformslave.findIndex(item => item.sControlName === 'BtnChooseProcess');
  462 +
  463 + if (iIndex > -1) {
  464 + this.props.onBtnChoose('process', 'BtnChooseProcess', processConfig.gdsconfigformslave[iIndex]);
  465 + }
  466 + };
  467 + handleCancelModal = (modelVisible) => {
  468 + this.props.onSaveState({
  469 + [modelVisible]: false,
  470 + });
  471 + };
  472 + handleOkModal = async () => {
  473 + const {
  474 + controlData, materialsData, processData, slaveData, slaveSelectedRowKeys,
  475 + } = this.props;
  476 + const ctData = controlData.filter(item => item.handleType !== 'del' && item.sSlaveId === slaveSelectedRowKeys[0]);
  477 + const mtData = materialsData.filter(item => item.handleType !== 'del' && item.sSlaveId === slaveSelectedRowKeys[0]);
  478 + const pData = processData.filter(item => item.handleType !== 'del' && item.sSlaveId === slaveSelectedRowKeys[0] && item.sType !== '3');
  479 + const p3Data = processData.filter(item => item.handleType !== 'del' && item.sSlaveId === slaveSelectedRowKeys[0] && item.sType === '3'); /* 成品工序 */
  480 + if (commonUtils.isNotEmptyArr(ctData)) {
  481 + let mDetail = '';
  482 + let pDetail = '';
  483 + const slaveIndex = slaveData.findIndex(item => item.sId === slaveSelectedRowKeys[0]);
  484 + await ctData.forEach((controlItem, n) => {
  485 + if (commonUtils.isNotEmptyObject(controlItem.sPartsName)) {
  486 + const qz = n === 0 ? '' : ' ';
  487 + if (commonUtils.isNotEmptyObject(controlItem.sPartsName)) {
  488 + const yDetail = `${mDetail}${qz}#${controlItem.sPartsName}:`;
  489 + const gDetail = `${pDetail}${qz}#${controlItem.sPartsName}:`;
  490 + let imDetail = '';
  491 + let ipDetail = '';
  492 + const materials = mtData.filter(materialsItem => (materialsItem.sControlId === controlItem.sId));
  493 + // let materialsIdDropDown;
  494 + // const materialsIndex = materialsConfig.gdsconfigformslave.findIndex(item => item.sName === 'sMaterialsName');
  495 + // if (materialsIndex > -1) {
  496 + // const sqlDropDownData = await this.props.getSqlDropDownData(sModelsId, 'materials', materialsConfig.gdsconfigformslave[materialsIndex]);
  497 + // materialsIdDropDown = sqlDropDownData.dropDownData;
  498 + // }
  499 + materials.forEach((mItem, i) => {
  500 + const fh = i === 0 ? '' : ',';
  501 + imDetail = `${imDetail}${fh} ${mItem.sMaterialsName}`;
  502 + });
  503 + // processPropsType
  504 + const process = pData.filter(processItem => (processItem.sControlId === controlItem.sId));
  505 + // let processIdDropDown;
  506 + // const processIndex = processConfig.gdsconfigformslave.findIndex(item => item.sName === 'sProcessName');
  507 + // if (processIndex > -1) {
  508 + // const sqlDropDownData = await this.props.getSqlDropDownData(sModelsId, 'process', processConfig.gdsconfigformslave[processIndex]);
  509 + // processIdDropDown = sqlDropDownData.dropDownData;
  510 + // }
  511 + // const processIdDropDown = commonUtils.getStoreDropDownData(sModelsId, 'process', 'sProcessName');
  512 + process.forEach((pItem, i) => {
  513 + const fh = i === 0 ? '' : ',';
  514 + ipDetail = `${ipDetail}${fh} ${pItem.sProcessName}`;
  515 + });
  516 + if (commonUtils.isNotEmptyObject(imDetail)) {
  517 + mDetail = `${yDetail}${imDetail}`;
  518 + }
  519 + if (commonUtils.isNotEmptyObject(ipDetail)) {
  520 + pDetail = `${gDetail}${ipDetail}`;
  521 + }
  522 + }
  523 + }
  524 + });
  525 + /* 成品工序 */
  526 + let ip3Detail = '';
  527 + if (commonUtils.isNotEmptyArr(p3Data)) {
  528 + p3Data.forEach((pItem, i) => {
  529 + const fh = i === 0 ? '' : ',';
  530 + ip3Detail = `${ip3Detail}${fh} ${pItem.sProcessName}`;
  531 + });
  532 + }
  533 + if (commonUtils.isNotEmptyObject(ip3Detail)) {
  534 + if (commonUtils.isNotEmptyObject(pDetail)) {
  535 + pDetail = `${pDetail},${ip3Detail}`;
  536 + } else {
  537 + pDetail = ip3Detail;
  538 + }
  539 + }
  540 + slaveData[slaveIndex].sMaterialsMemo = mDetail;
  541 + slaveData[slaveIndex].sProcessMemo = pDetail;
  542 + slaveData[slaveIndex].handleType = commonUtils.isEmpty(slaveData[slaveIndex].handleType) ? 'update' : slaveData[slaveIndex].handleType;
  543 + } else if (commonUtils.isNotEmptyArr(controlData) && commonUtils.isEmptyArr(ctData)) {
  544 + const sSlaveId = controlData[0].sSlaveId;
  545 + const slaveIndex = slaveData.findIndex(item => item.sId === sSlaveId);
  546 + slaveData[slaveIndex].sMaterialsMemo = '';
  547 + slaveData[slaveIndex].sProcessMemo = '';
  548 + slaveData[slaveIndex].handleType = commonUtils.isEmpty(slaveData[slaveIndex].handleType) ? 'update' : slaveData[slaveIndex].handleType;
  549 + }
  550 + this.props.onSaveState({
  551 + visibleModal: false,
  552 + controlData,
  553 + materialsData,
  554 + processData,
  555 + slaveData,
  556 + });
  557 + };
  558 + /** 控制选择控制表时,显示部件工序与成品工序 */
  559 + handleFilterSlaveData = (name, dataIndex, value, record) => {
  560 + return (commonUtils.isNotEmptyStr(record.sSlaveId) && record.sSlaveId.toString().toLowerCase().includes(value.toLowerCase()));
  561 + };
  562 + /** 控制选择控制表时,显示部件工序与成品工序 */
  563 + handleFilterData = (name, dataIndex, value, record) => {
  564 + const { slaveSelectedRowKeys } = this.props;
  565 + if (name === 'process') {
  566 + return (commonUtils.isNotEmptyStr(record.sType) && record.sType === '3' &&
  567 + commonUtils.isNotEmptyStr(record.sSlaveId) && record.sSlaveId.toString().toLowerCase().includes(slaveSelectedRowKeys.toString().toLowerCase())) ||
  568 + (commonUtils.isNotEmptyStr(record.sControlId) && record.sControlId.toString().toLowerCase().includes(value.toLowerCase()) &&
  569 + commonUtils.isNotEmptyStr(record.sSlaveId) && record.sSlaveId.toString().toLowerCase().includes(slaveSelectedRowKeys.toString().toLowerCase()));
  570 + } else {
  571 + return (commonUtils.isNotEmptyStr(record.sType) && record.sType === '2' &&
  572 + commonUtils.isNotEmptyStr(record.sSlaveId) && record.sSlaveId.toString().toLowerCase().includes(slaveSelectedRowKeys.toString().toLowerCase())) ||
  573 + (commonUtils.isNotEmptyStr(record.sControlId) && record.sControlId.toString().toLowerCase().includes(value.toLowerCase()) &&
  574 + commonUtils.isNotEmptyStr(record.sSlaveId) && record.sSlaveId.toString().toLowerCase().includes(slaveSelectedRowKeys.toString().toLowerCase()));
  575 + }
  576 + // (commonUtils.isNotEmptyStr(record.sControlId) && record.sControlId.toString().toLowerCase().includes(value.toLowerCase()));
  577 + };
  578 + /* 控制表过滤材料表 工序表数据 */
  579 + handleGetFilterData = (name) => {
  580 + const { [`${name}Data`]: data, controlSelectedRowKeys, slaveSelectedRowKeys } = this.props;
  581 + if (data !== undefined) {
  582 + const newArr = data.filter((item) => {
  583 + if (name === 'control') {
  584 + return (commonUtils.isNotEmptyStr(item.sSlaveId) && item.sSlaveId.toString().toLowerCase().includes(slaveSelectedRowKeys.toString()));
  585 + } else {
  586 + return (commonUtils.isNotEmptyStr(item.sControlId) && item.sControlId.toString().toLowerCase().includes(controlSelectedRowKeys.toString()) &&
  587 + commonUtils.isNotEmptyStr(item.sSlaveId) && item.sSlaveId.toString().toLowerCase().includes(slaveSelectedRowKeys.toString()));
  588 + }
  589 + });
  590 + return newArr.length;
  591 + }
  592 + };
  593 + /* 包装工单过滤行 */ /** 控制选择控制表时,显示部件工序与成品工序 */
  594 + handleFilterDataPack = (name, dataIndex, value, record) => {
  595 + if (name === 'process') {
  596 + return (commonUtils.isNotEmptyStr(record.sType) && record.sType === '3') ||
  597 + (commonUtils.isNotEmptyStr(record.sControlId) && record.sControlId.toString().toLowerCase().includes(value.toLowerCase()));
  598 + } else {
  599 + return (commonUtils.isNotEmptyStr(record.sType) && record.sType === '2') ||
  600 + (commonUtils.isNotEmptyStr(record.sControlId) && record.sControlId.toString().toLowerCase().includes(value.toLowerCase()));
  601 + }
  602 + };
  603 + /* 控制表过滤材料表 工序表数据 */
  604 + handleGetFilterDataPack = (name) => {
  605 + const { [`${name}Data`]: data, controlSelectedRowKeys } = this.props;
  606 + if (data !== undefined && commonUtils.isNotEmptyArr(controlSelectedRowKeys)) {
  607 + const newArr = data.filter((item) => {
  608 + return (commonUtils.isNotEmptyStr(item.sControlId) && item.sControlId.toString().toLowerCase().includes(controlSelectedRowKeys.toString()));
  609 + });
  610 + return newArr.length;
  611 + }
  612 + };
  613 + /** 添加表格空行 */
  614 + handleTableAdd = async (name, flag, bchild) => {
  615 + /* 外置处理业务 */
  616 + const {
  617 + sModelsId, sModelsType, gdsformconst, slaveData, controlData, controlSelectedRowKeys, [`${name}Data`]: tableData, slaveSelectedRowKeys, slaveConfig,
  618 + } = this.props;
  619 + let tableDataRow = {};
  620 + if (name === 'control') {
  621 + const {
  622 + [`${name}SelectedRowKeys`]: treeSelectedKeys,
  623 + } = this.props;
  624 + if ((bchild === 'childNode' || bchild === 'sameNode') && (commonUtils.isEmptyArr(treeSelectedKeys) || commonUtils.isEmptyArr(controlSelectedRowKeys))) {
  625 + message.warn('请选择部件!'); // 请选择部件
  626 + return;
  627 + }
  628 + tableDataRow = this.props.onDataRowAdd(name, true);
  629 + if (commonUtils.isEmptyObject(tableDataRow)) {
  630 + return;
  631 + }
  632 + let dPartsQty = 0;
  633 + if (commonUtils.isNotEmptyArr(slaveData)) {
  634 + slaveData.forEach((item) => {
  635 + dPartsQty += commonUtils.isNull(item.dProductQty, 0) + commonUtils.isNull(item.dGiveQty, 0) + commonUtils.isNull(item.dStockupQty, 0);
  636 + });
  637 + let productIdDropDown;
  638 + const slaveIndex = slaveConfig.gdsconfigformslave.findIndex(item => item.sName === 'sProductName');
  639 + if (slaveIndex > -1) {
  640 + const sqlDropDownData = await this.props.getSqlDropDownData(sModelsId, 'slave', slaveConfig.gdsconfigformslave[slaveIndex]);
  641 + productIdDropDown = sqlDropDownData.dropDownData;
  642 + }
  643 + if (productIdDropDown) {
  644 + const iProductIdIndex = productIdDropDown.findIndex(item => item.sId === slaveData[0].sProductId);
  645 + if (iProductIdIndex > -1) {
  646 + tableDataRow.sPartsName = productIdDropDown[iProductIdIndex].sProductName;
  647 + }
  648 + }
  649 + }
  650 + const iSlaveIndex = slaveData.findIndex(item => item.sId === slaveSelectedRowKeys[0]);
  651 + if (iSlaveIndex > -1) {
  652 + if (sModelsType.includes('sales/salesOrder')) {
  653 + if (!commonUtils.isEmpty(slaveData[iSlaveIndex].dProductQty)) {
  654 + tableDataRow.dPartsQty = commonUtils.isNull(slaveData[iSlaveIndex].dProductQty, 0) + commonUtils.isNull(slaveData[iSlaveIndex].dGiveQty, 0);
  655 + }
  656 + } else {
  657 + tableDataRow.dPartsQty = dPartsQty;
  658 + }
  659 + tableDataRow.sSlaveId = slaveData[iSlaveIndex].sId;
  660 + }
  661 + /* 树形部件节点增加同级部件、增加子级部件 */
  662 + if (sModelsType === 'sales/salesOrderPack') {
  663 + if (bchild === 'sameNode') { /* 添加同级 */
  664 + const iIndex = controlData.findIndex(item => item.sId === treeSelectedKeys[0]);
  665 + /* 找到同级子元素的sControlParentId */
  666 + if (iIndex > -1) {
  667 + tableDataRow.sControlParentId = controlData[iIndex].sControlParentId;
  668 + /* 找到同级父级sAllId */
  669 + const pId = controlData[iIndex].sControlParentId;
  670 + const sControlParentId = controlData.findIndex(item => item.sNodeId === pId);
  671 + if (sControlParentId > -1) {
  672 + const sAllId = controlData[sControlParentId].sAllId;
  673 + // if (commonUtils.isEmptyObject(sAllId)) {
  674 + // message.warn('部件数据生成错误![sAllId为空]');
  675 + // return;
  676 + // }
  677 + tableDataRow.sAllId = `${controlData[sControlParentId].sAllId},${tableDataRow.sNodeId}`;
  678 + } else {
  679 + tableDataRow.sAllId = tableDataRow.sNodeId;
  680 + }
  681 + }
  682 + }
  683 + if (bchild === 'childNode') { /* 添加子级 */
  684 + tableDataRow.sControlParentId = treeSelectedKeys[0];
  685 + const iIndex = controlData.findIndex(item => item.sId === treeSelectedKeys[0]);
  686 + if (iIndex > -1) {
  687 + const sAllId = controlData[iIndex].sAllId;
  688 + if (commonUtils.isEmptyObject(sAllId)) {
  689 + message.warn('子部件数据生成错误![sAllId为空]'); // 获取父节点的sAllId
  690 + return;
  691 + }
  692 + tableDataRow.sAllId = `${controlData[iIndex].sAllId},${tableDataRow.sId}`;
  693 + }
  694 + }
  695 + }
  696 + tableData.push(tableDataRow);
  697 + this.props.onSaveState({ [`${name}Data`]: tableData, [`${name}SelectedRowKeys`]: [tableDataRow.sId], ...treeState });
  698 + } else if (name === 'materials' || name === 'process') {
  699 + tableDataRow = this.props.onDataRowAdd(name, true);
  700 + if (commonUtils.isEmptyArr(controlSelectedRowKeys)) {
  701 + const msg = commonFunc.showMessage(gdsformconst, 'pleaseChooseParts');
  702 + message.warn(msg === '' ? '请选择部件' : msg); // 请选择部件
  703 + return;
  704 + }
  705 + const iIndex = controlData.findIndex(item => item.sId === controlSelectedRowKeys[0]);
  706 + const iSlaveIndex = slaveData.findIndex(item => item.sId === slaveSelectedRowKeys[0]);
  707 + if (iIndex > -1 && iSlaveIndex > -1) {
  708 + if (commonUtils.isEmpty(controlData[iIndex].sPartsName) === '') {
  709 + message.warn(commonFunc.showMessage(gdsformconst, 'partsNameNotNull')); // 部件名称不能为空
  710 + return;
  711 + }
  712 + tableDataRow.sSlaveId = slaveData[iSlaveIndex].sId;
  713 + tableDataRow.sControlId = controlData[iIndex].sId;
  714 + tableDataRow.sPartsName = controlData[iIndex].sPartsName;
  715 + }
  716 + tableData.push(tableDataRow);
  717 + this.props.onSaveState({ [`${name}Data`]: tableData, [`${name}SelectedRowKeys`]: [tableDataRow.sId] });
  718 + } else {
  719 + this.props.onDataRowAdd(name, flag);
  720 + }
  721 + };
  722 + /** 删除表格数据 */
  723 + otherTableDel = (name, tableSelectedRowKeys) => {
  724 + const tableData = this.props[`${name}Data`];
  725 + let tableDelData = this.props[`${name}DelData`];
  726 + tableDelData = commonUtils.isEmptyArr(tableDelData) ? [] : tableDelData;
  727 + for (const sId of tableSelectedRowKeys) {
  728 + /* 看看删除集合和从表中是否都存在该条数据 */
  729 + let tableDataIndex = tableData.findIndex(item => item.sControlId === sId);
  730 + while (tableDataIndex > -1) {
  731 + /* 删除从表中的数据并存入删除集合中 */
  732 + const slaveDataFilter = tableData[tableDataIndex];
  733 + tableData.splice(tableDataIndex, 1);
  734 + slaveDataFilter.handleType = 'del';
  735 + tableDelData.push(slaveDataFilter);
  736 + tableDataIndex = tableData.findIndex(item => item.sControlId === sId);
  737 + }
  738 + }
  739 + return { [`${name}Data`]: tableData, [`${name}DelData`]: tableDelData, [`${name}SelectedRowKeys`]: [] };
  740 + };
  741 + /** 删除表格数据 */
  742 + handleTableDel = (name, isWait, tableSelectedRowKeys, isTree) => {
  743 + const {
  744 + slaveSelectedRowKeys, slaveData, slaveInfoConfig, slaveConfig,
  745 + } = this.props;
  746 + if (name === 'control') {
  747 + // const tableSelectedRowKeys = this.props[`${name}SelectedRowKeys`]; /* 删除时,选中行取删除参数传过来的 */
  748 + const {
  749 + controlData, treeSelectedKeys, [`${name}SelectedRowKeys`]: tableSelectedRowKeys, sModelsType, slaveSelectedRowKeys, slaveData,
  750 + } = this.props;
  751 + if (isTree) {
  752 + /* 删除该节点及所有子节点 */
  753 + const controlChildData = controlData.filter(item => commonUtils.isNotEmptyArr(treeSelectedKeys) && commonUtils.isNotEmptyObject(item.sAllId) && item.sAllId.indexOf(treeSelectedKeys[0]) > -1 && item.sId !== treeSelectedKeys[0]);
  754 + if (commonUtils.isNotEmptyArr(controlData)) {
  755 + controlChildData.forEach((itemNew) => {
  756 + tableSelectedRowKeys.push(itemNew.sId);
  757 + });
  758 + }
  759 + }
  760 + if (commonUtils.isNotEmptyArr(tableSelectedRowKeys)) {
  761 + const materialsReturnData = this.otherTableDel('materials', tableSelectedRowKeys);
  762 + const processReturnData = this.otherTableDel('process', tableSelectedRowKeys);
  763 + const controlReturnData = this.props.onDataRowDel(name, isWait, tableSelectedRowKeys);
  764 + this.props.onSaveState({
  765 + ...materialsReturnData,
  766 + ...processReturnData,
  767 + ...controlReturnData,
  768 + });
  769 + return true;
  770 + } else {
  771 + message.warn('请选择要删除的部件!');
  772 + return false;
  773 + }
  774 + } else if (name === 'slave') { /* 删除子表 */
  775 + if( slaveConfig.sTableType === 'multiple' && commonUtils.isNotEmptyObject(slaveInfoConfig)) {
  776 + if (commonUtils.isNotEmptyArr(slaveSelectedRowKeys)) {
  777 + let slaveInfoReturnData = {};
  778 + if (commonUtils.isNotEmptyObject(slaveInfoConfig)) {
  779 + slaveInfoReturnData = this.props.onChildTableDel('slaveInfo', slaveSelectedRowKeys, slaveData, 'sFatherSlaveId');
  780 + }
  781 + const slaveReturnData = this.props.onDataRowDel(name, isWait, slaveSelectedRowKeys);
  782 + this.props.onSaveState({
  783 + ...slaveInfoReturnData,
  784 + ...slaveReturnData,
  785 + });
  786 + return true;
  787 + }
  788 + } else if( slaveConfig.sTableType === 'single') { /* 单表删除 */
  789 + if (commonUtils.isNotEmptyArr(slaveSelectedRowKeys)) {
  790 + let slaveSelectedRowNewKeys = slaveSelectedRowKeys;
  791 + const newSelectedRowKeys = this.handleDelSlaveChild(slaveData, slaveSelectedRowKeys[0], slaveSelectedRowKeys);
  792 + if(commonUtils.isNotEmptyArr(newSelectedRowKeys)) {
  793 + slaveSelectedRowNewKeys = newSelectedRowKeys;
  794 + }
  795 + const slaveReturnData = this.props.onDataRowDel(name, isWait, slaveSelectedRowNewKeys);
  796 + this.props.onSaveState({
  797 + ...slaveReturnData,
  798 + });
  799 + return true;
  800 + }
  801 + } else {
  802 + const slaveReturnData = this.props.onDataRowDel(name, isWait, slaveSelectedRowKeys);
  803 + this.props.onSaveState({
  804 + ...slaveReturnData,
  805 + });
  806 + return true;
  807 + }
  808 + } else {
  809 + return this.props.onDataRowDel(name, isWait, tableSelectedRowKeys);
  810 + }
  811 + };
  812 +
  813 +
  814 + /* 迭代删除从表子表数据 */
  815 + handleDelSlaveChild = (tableData, sId, tableSelectedKeys) => {
  816 + const filterData = tableData.filter(item => item.sFatherSlaveId === sId);
  817 + filterData.forEach((item) => {
  818 + tableSelectedKeys.push(item.sId);
  819 + this.handleDelSlaveChild(tableData, item.sId, tableSelectedKeys);
  820 + });
  821 + return tableSelectedKeys;
  822 + }
  823 +
  824 + /** 销售订单删除从表数据时也删除控制材料工序表数据 */
  825 + handleSlaveTableDel = (name, isWait, tableSelectedRowKeys) => {
  826 + const {
  827 + sModelsType, controlData, processData, materialsData,
  828 + } = this.props;
  829 + if (sModelsType === 'sales/salesOrder' && name === 'slave') {
  830 + const controlDataDel = controlData.filter(item => item.sSlaveId === tableSelectedRowKeys[0]);
  831 + const controlDataSelectedRowKeys = [];
  832 + if (!commonUtils.isEmpty(controlDataDel)) {
  833 + for (const item of controlDataDel) {
  834 + const materialsDataSelectedRowKey = item.sId;
  835 + controlDataSelectedRowKeys.push(materialsDataSelectedRowKey);
  836 + }
  837 + if (commonUtils.isNotEmptyArr(controlDataSelectedRowKeys)) {
  838 + this.props.onDataRowDel('control', isWait, controlDataSelectedRowKeys, true);
  839 + }
  840 + const materialsDataDel = materialsData.filter(item => item.sSlaveId === tableSelectedRowKeys[0]);
  841 + const materialsDataSelectedRowKeys = [];
  842 + if (!commonUtils.isEmpty(materialsDataDel)) {
  843 + for (const item of materialsDataDel) {
  844 + const materialsDataSelectedRowKey = item.sId;
  845 + materialsDataSelectedRowKeys.push(materialsDataSelectedRowKey);
  846 + }
  847 + }
  848 + if (commonUtils.isNotEmptyArr(materialsDataSelectedRowKeys)) {
  849 + this.props.onDataRowDel('materials', isWait, materialsDataSelectedRowKeys, true);
  850 + }
  851 + const processDataDel = processData.filter(item => item.sSlaveId === tableSelectedRowKeys[0]);
  852 + const processDataSelectedRowKeys = [];
  853 + if (!commonUtils.isEmpty(processDataDel)) {
  854 + for (const item of processDataDel) {
  855 + const processDataSelectedRowKey = item.sId;
  856 + processDataSelectedRowKeys.push(processDataSelectedRowKey);
  857 + }
  858 + }
  859 + if (commonUtils.isNotEmptyArr(processDataSelectedRowKeys)) {
  860 + this.props.onDataRowDel('process', isWait, processDataSelectedRowKeys, true);
  861 + }
  862 + }
  863 + }
  864 + return this.props.onDataRowDel(name, isWait, tableSelectedRowKeys);
  865 + };
  866 + handleSelect = async (name, selectConfig, selectData) => {
  867 + const {
  868 + [`${name}Data`]: tableData, [`${name}SelectedRowKeys`]: tableSelectedRowKeys, [`${name}Config`]: tableConfig, masterConfig, controlSelectedRowKeys, sModelsId, token, app, tableName, sModelsType,
  869 + } = this.props;
  870 + let { masterData}= this.props;
  871 + if(commonUtils.isNotEmptyObject(selectConfig.sControlName) && selectConfig.sControlName.toLowerCase().includes('tmplnfobysqlsalesorder')) {
  872 + const { slaveData, slaveSelectedRowKeys} = this.props;
  873 + const dataUrl = `${commonConfig.server_host}salesorder/getTmpInfoBySql/?sModelsId=${sModelsId}`;
  874 + const sConfigformId = commonUtils.isEmpty(selectConfig) ? '' : selectConfig.sParentId;
  875 + const sControlName = commonUtils.isNotEmptyObject(selectConfig.sControlName) ? selectConfig.sControlName : 'BtnCopyFrom.TmpInfoBySql';
  876 + let sSqlCondition = '';
  877 + const conditonValues0 = this.props.getSqlCondition(selectConfig, 'slave', selectData[0]);
  878 + if(commonUtils.isNotEmptyObject(conditonValues0)) {
  879 + sSqlCondition = conditonValues0;
  880 + } else {
  881 + sSqlCondition = { sId: selectData[0].sId };
  882 + }
  883 + /* 如果只有1行替换,超出1行新增 */
  884 + let iSlaveIndex = -1;
  885 + let slaveRow = {};
  886 +
  887 + if (commonUtils.isNotEmptyArr(slaveData)) {
  888 + if(commonUtils.isEmptyArr(slaveSelectedRowKeys)){
  889 + iSlaveIndex = 0;
  890 + } else{
  891 + iSlaveIndex = slaveData.findIndex(item => slaveSelectedRowKeys.includes(item.sId));
  892 + }
  893 + }
  894 +
  895 + if(iSlaveIndex > -1 ){
  896 + slaveRow = slaveData[iSlaveIndex];
  897 + }
  898 +
  899 + const sRowData = selectData;
  900 + const values = { sConfigformId, sControlName, sRowData };
  901 + const sTmpInfoBySqlBtnName = selectConfig.sControlName;
  902 + const allReturnMap = {};
  903 + if (true) {
  904 + const dataReturn = (await commonServices.postValueService(token, values, dataUrl)).data;
  905 + if (dataReturn.code === 1) {
  906 + const returnData = dataReturn.dataset.rows[0];
  907 + if (commonUtils.isNotEmptyObject(returnData)) {
  908 + for (const key of Object.keys(returnData)) {
  909 + const sName = `${key}Data`;
  910 + const sDelName = `${key}DelData`;
  911 + // allReturnMap[sName] = returnData[key];
  912 + let {[`${key}Data`]: oldData, [`${sDelName}`]: oldDelData } = this.props;
  913 +
  914 + if(commonUtils.isEmptyArr(oldDelData)) {
  915 + oldDelData = [];
  916 + }
  917 + if(commonUtils.isEmptyArr(oldData)) {
  918 + oldData = [];
  919 + }
  920 + /* 找到赋值字段 */
  921 + const tableConfig = masterConfig.gdsconfigformslave.filter(item => item.sControlName.includes(sTmpInfoBySqlBtnName +'.' + key));
  922 + const tableField = commonUtils.isNotEmptyArr(tableConfig) ? tableConfig[0].sAssignField : '';
  923 + if(sTmpInfoBySqlBtnName.includes('_edit')) { /* 替换 根据对应字段对比 相同的不管 不同的插入 */
  924 + /* 对应字段 */
  925 + const sActiveKey = selectConfig.sActiveKey;
  926 + const keyData = returnData[key];
  927 + /* 找到赋值字段 */
  928 +
  929 + let newData = [];
  930 + if(commonUtils.isNotEmptyArr(keyData)) {
  931 + keyData.forEach((child) => {
  932 + const filterData = oldData.filter(item => item[sActiveKey] !== child[sActiveKey]);
  933 + if(commonUtils.isNotEmptyArr(filterData) && filterData.length === oldData.length) {
  934 + let tableRow ={};
  935 + tableRow = { ...tableRow, ...commonFunc.getAssignFieldValue(tableField, child) }; // 取赋值字段
  936 + tableRow.sId = commonUtils.createSid();
  937 + tableRow.sParentId = masterData.sId;
  938 + tableRow.handleType = 'add';
  939 + newData.push(tableRow);
  940 + }
  941 + });
  942 + newData = oldData.concat(newData);
  943 + }
  944 + allReturnMap[sName] = newData;
  945 + } else if(sTmpInfoBySqlBtnName.includes('_del')) { /* 替换 根据对应字段对比 相同的不管 不同的插入 */
  946 + /* 对应字段 */
  947 + oldData.forEach((child) => {
  948 + child.handleType ='del';
  949 + oldDelData.push(child);
  950 + });
  951 + allReturnMap[sDelName] = oldDelData;
  952 + oldData = [];
  953 + const keyData = returnData[key];
  954 + if(commonUtils.isNotEmptyArr(keyData)) {
  955 + keyData.forEach((child) => {
  956 + let tableRow ={};
  957 + tableRow = { ...tableRow, ...commonFunc.getAssignFieldValue(tableField, child) }; // 取赋值字段
  958 + tableRow.sId = commonUtils.createSid();
  959 + tableRow.sParentId = masterData.sId;
  960 + tableRow.handleType = 'add';
  961 + oldData.push(tableRow);
  962 + });
  963 + }
  964 + allReturnMap[sName] = oldData;
  965 + } else{ /* 插入 数据都插入进去 */
  966 + /* 对应字段 */
  967 + const keyData = returnData[key];
  968 +
  969 + // 生产补印备料
  970 + if (this.props.sModelsId === '12710101117005582604140' && key !=='master') {
  971 + oldData.forEach((child) => {
  972 + child.handleType ='del';
  973 + oldDelData.push(child);
  974 + });
  975 + allReturnMap[sDelName] = oldDelData;
  976 + oldData = [];
  977 + }
  978 + if(key === 'master') {
  979 + let newData = keyData;
  980 + if (commonUtils.isNotEmptyArr(keyData) && Array.isArray(keyData)) {
  981 + newData = keyData[0]
  982 + }
  983 + oldData = { ...oldData, ...commonFunc.getAssignFieldValue(tableField, newData) }; // 取赋值字段
  984 + masterData.handleType = commonUtils.isEmpty( masterData.handleType) ? 'update' : masterData.handleType;
  985 + } else if(key === 'slave') { /* 从表 */
  986 + if(commonUtils.isNotEmptyObject(slaveRow) && commonUtils.isNotEmptyArr(oldData)) {
  987 + oldData[iSlaveIndex] = { ...slaveRow, ...commonFunc.getAssignFieldValue(tableField, keyData[0]) }; // 取赋值字段
  988 + oldData[iSlaveIndex].sOriginalId = commonUtils.isNotEmptyObject(keyData[0].sOriginalId) ? keyData[0].sOriginalId: keyData[0].sSlaveId;
  989 + // 生产补印备料
  990 + if (this.props.sModelsId === '12710101117005582604140') {
  991 + oldData[iSlaveIndex].sBomId = selectData[0].sProductCardId;
  992 + oldData[iSlaveIndex].sProductTechnologyVer = selectData[0].sProductTechnologyVer;
  993 + oldData[iSlaveIndex].sSelectType = "mainVersion";
  994 + oldData[iSlaveIndex].handleType = commonUtils.isEmpty(oldData[iSlaveIndex].handleType) ? 'update' : oldData[iSlaveIndex].handleType;
  995 + oldData[iSlaveIndex].sMainProductTechnologyId = selectData[0].sProductCardId;
  996 + }
  997 + slaveData[iSlaveIndex] = oldData[iSlaveIndex];
  998 + } else {
  999 + if(commonUtils.isNotEmptyArr(keyData)) {
  1000 + keyData.forEach((child) => {
  1001 + let tableRow ={};
  1002 + tableRow = { ...tableRow, ...commonFunc.getAssignFieldValue(tableField, child) }; // 取赋值字段
  1003 + tableRow.sId = commonUtils.createSid();
  1004 + tableRow.sParentId = masterData.sId;
  1005 + tableRow.sOriginalId = commonUtils.isNotEmptyObject(child.sSlaveId) ? child.sSlaveId : child.sId; /* 原始sId */
  1006 + tableRow.sFatherSlaveId = child.sFatherSlaveId; /* 原始sId */
  1007 + tableRow.handleType = 'add';
  1008 +
  1009 + if (this.props.sModelsId === '12710101117005582604140') {
  1010 + tableRow.sBomId = selectData[0].sProductCardId;
  1011 + tableRow.sProductTechnologyVer = selectData[0].sProductTechnologyVer;
  1012 + tableRow.sSelectType = "mainVersion";
  1013 + tableRow.sMainProductTechnologyId = selectData[0].sProductCardId;
  1014 + }
  1015 + oldData.push(tableRow);
  1016 + });
  1017 + }
  1018 + }
  1019 + /* sFatherSlaveId对应为新的sId */
  1020 + if(commonUtils.isNotEmptyArr(oldData)) {
  1021 + const materialsFilterData = oldData.filter(item => commonUtils.isNotEmptyObject(item.sFatherSlaveId));
  1022 + if (commonUtils.isNotEmptyArr(materialsFilterData)) {
  1023 + materialsFilterData.forEach((filterItem, index) => {
  1024 + const iIndex = oldData.findIndex(item => item.sOriginalId === filterItem.sFatherSlaveId);
  1025 + if (iIndex > -1) {
  1026 + const iNexIndex = oldData.findIndex(item => item.sId === filterItem.sId);
  1027 + if (iNexIndex > -1) {
  1028 + oldData[iNexIndex] = {
  1029 + ...oldData[iNexIndex],
  1030 + sFatherSlaveId: oldData[iIndex].sId
  1031 + }
  1032 + }
  1033 + }
  1034 +
  1035 + });
  1036 + }
  1037 + }
  1038 + }else {
  1039 + if(commonUtils.isNotEmptyArr(keyData)) {
  1040 + keyData.forEach((child) => {
  1041 + let tableRow ={};
  1042 + tableRow = { ...tableRow, ...commonFunc.getAssignFieldValue(tableField, child) }; // 取赋值字段
  1043 + tableRow.sId = commonUtils.createSid();
  1044 + tableRow.sParentId = masterData.sId;
  1045 + tableRow.sOriginalId = child.sOriginalId; /* 老的从表sSlaveId */
  1046 + // 生产补印备料
  1047 + if (this.props.sModelsId === '12710101117005582604140') {
  1048 + tableRow.sProductCardId = selectData[0].sProductCardId;
  1049 + tableRow.sZmldlt = child.sZmldlt;
  1050 + tableRow.sSlaveId = commonUtils.isNotEmptyArr(slaveData) && slaveData[0].sId ? slaveData[0].sId : '';
  1051 + tableRow.sProcessTbId = child.sProcessTbId;
  1052 + tableRow.sParentMaterialsId = child.sParentMaterialsId;
  1053 + tableRow.sInkFatherMaterialsTbId = child.sInkFatherMaterialsTbId;
  1054 + tableRow.sOriginalOldId = child.sId;
  1055 +
  1056 + }
  1057 +
  1058 + if(key === 'control') {
  1059 + tableRow.sSrcControlId = child.sId;
  1060 + } else {
  1061 + tableRow.sSrcControlId = child.sControlId;
  1062 + }
  1063 + tableRow.handleType = 'add';
  1064 + oldData.push(tableRow);
  1065 + });
  1066 + }
  1067 + if(commonUtils.isNotEmptyObject(slaveRow)){
  1068 + /* 将部件、材料、工序的sSlaveId 均换成最新的 */
  1069 + oldData = commonUtils.genSlaveNewId(oldData, key, 'sSlaveId', 'sOriginalId', slaveData[iSlaveIndex]);
  1070 + }
  1071 + }
  1072 + allReturnMap[sName] = oldData;
  1073 + }
  1074 +
  1075 + }
  1076 +
  1077 + /* 将工序材料表的sControlId 换成最新的 */
  1078 + if(commonUtils.isNotEmptyObject(allReturnMap)) {
  1079 + const controlNewData = allReturnMap.controlData;
  1080 + const materialsNewData = allReturnMap.materialsData;
  1081 + const processNewData = allReturnMap.processData;
  1082 + if(commonUtils.isNotEmptyArr(controlNewData)) {
  1083 +
  1084 + controlNewData.forEach((controlRow) =>{
  1085 +
  1086 + /* 替换工序数据中sControlId为最新控制表的sId */
  1087 + if(commonUtils.isNotEmptyArr(processNewData)) {
  1088 + const processFilterData = processNewData.filter(materialsRow => materialsRow.sSrcControlId === controlRow.sSrcControlId);
  1089 + if(commonUtils.isNotEmptyArr(processFilterData)) {
  1090 + processFilterData.forEach((filterRow) =>{
  1091 + const index = processNewData.findIndex(materialsRow => materialsRow.sId === filterRow.sId);
  1092 + filterRow.sControlId = controlRow.sId;
  1093 + filterRow.sPartsName = controlRow.sPartsName;
  1094 + if (index > -1) {
  1095 + processNewData[index] = filterRow;
  1096 + }
  1097 + })
  1098 + }
  1099 + }
  1100 +
  1101 + /* 替换材料数据中sControlId为最新控制表的sId */
  1102 + if(commonUtils.isNotEmptyArr(materialsNewData)) {
  1103 + let materialsFilterData = materialsNewData.filter(materialsRow => materialsRow.sSrcControlId === controlRow.sSrcControlId);
  1104 + if(commonUtils.isNotEmptyArr(materialsFilterData)) {
  1105 + materialsFilterData.forEach((filterRow) =>{
  1106 + const index = materialsNewData.findIndex(materialsRow => materialsRow.sId === filterRow.sId);
  1107 + filterRow.sControlId = controlRow.sId;
  1108 + filterRow.sPartsName = controlRow.sPartsName;
  1109 + if (index > -1) {
  1110 + materialsNewData[index] = filterRow;
  1111 + // 材料对应工序的ID要变化
  1112 + const iProcessIndex = processNewData.findIndex(item => item.sControlId === controlRow.sId && item.sSrcProcessTbId === materialsNewData[index].sProcessTbId);
  1113 + if (iProcessIndex > -1) {
  1114 + materialsNewData[index].sProcessTbId = processNewData[iProcessIndex].sId;
  1115 + }
  1116 + materialsNewData[index].sCombinePartsName = commonUtils.isNotEmptyArr(allReturnMap.slaveData) ? allReturnMap.slaveData[0].sId : '';
  1117 + }
  1118 +
  1119 + });
  1120 + }
  1121 +
  1122 +
  1123 + const materialsData = materialsNewData;
  1124 + materialsFilterData = materialsData.filter(item => commonUtils.isNotEmptyObject(item.sParentMaterialsId));
  1125 + if(commonUtils.isNotEmptyArr(materialsFilterData)) {
  1126 + materialsFilterData.forEach((filterItem, index) => {
  1127 + const iIndex = materialsData.findIndex(item => item.sOriginalOldId === filterItem.sParentMaterialsId);
  1128 + if(iIndex > -1) {
  1129 + const iNexIndex = materialsData.findIndex(item => item.sId === filterItem.sId);
  1130 + if (iNexIndex > -1) {
  1131 + materialsData[iNexIndex] = {...materialsData[iNexIndex], sParentMaterialsId: materialsData[iIndex].sId }
  1132 + }
  1133 + }
  1134 +
  1135 + });
  1136 + }
  1137 +
  1138 + const materialsInkFilterData = materialsData.filter(item => commonUtils.isNotEmptyObject(item.sInkFatherMaterialsTbId));
  1139 + if(commonUtils.isNotEmptyArr(materialsInkFilterData)) {
  1140 + materialsInkFilterData.forEach((filterItem, index) => {
  1141 + const iIndex = materialsData.findIndex(item => item.sOriginalOldId === filterItem.sInkFatherMaterialsTbId);
  1142 + if(iIndex > -1) {
  1143 + const iNexIndex = materialsData.findIndex(item => item.sId === filterItem.sId);
  1144 + if(iNexIndex > -1) {
  1145 + materialsData[iNexIndex] = { ...materialsData[iNexIndex], sInkFatherMaterialsTbId: materialsData[iIndex].sId}
  1146 + }
  1147 + }
  1148 + });
  1149 + }
  1150 + }
  1151 + });
  1152 +
  1153 + allReturnMap.materialsData = materialsNewData;
  1154 + allReturnMap.processData = processNewData;
  1155 + }
  1156 + }
  1157 +
  1158 + if (commonUtils.isNotEmptyArr(allReturnMap.masterData) && Array.isArray(allReturnMap.masterData)) {
  1159 + allReturnMap.masterData = allReturnMap.masterData[0];
  1160 + }
  1161 + console.log('历史工单allReturnMap:', allReturnMap);
  1162 + this.props.onSaveState({ ...allReturnMap });
  1163 + }
  1164 +
  1165 + } else {
  1166 + this.props.getServiceError(dataReturn);
  1167 + }
  1168 + } else {
  1169 + message.warn('数据未配置!不能生成!');
  1170 + return;
  1171 + }
  1172 + } else if(commonUtils.isNotEmptyObject(selectConfig.sControlName) && selectConfig.sControlName.toLowerCase().includes('tmpinfobysql')) {
  1173 + const dataUrl = `${commonConfig.server_host}salesorder/getTmpInfoBySql/?sModelsId=${sModelsId}`;
  1174 + const sConfigformId = commonUtils.isEmpty(selectConfig) ? '' : selectConfig.sParentId;
  1175 + const sControlName = commonUtils.isNotEmptyObject(selectConfig.sControlName) ? selectConfig.sControlName : 'BtnCopyFrom.TmpInfoBySql';
  1176 + let sSqlCondition = '';
  1177 + const conditonValues0 = this.props.getSqlCondition(selectConfig, 'slave', selectData[0]);
  1178 + if(commonUtils.isNotEmptyObject(conditonValues0)) {
  1179 + sSqlCondition = conditonValues0;
  1180 + } else {
  1181 + sSqlCondition = { sId: selectData[0].sId };
  1182 + }
  1183 + const sRowData = selectData;
  1184 + const values = { sConfigformId, sControlName, sRowData };
  1185 + const sTmpInfoBySqlBtnName = selectConfig.sControlName;
  1186 + const allReturnMap = {};
  1187 + if (true) {
  1188 + const dataReturn = (await commonServices.postValueService(token, values, dataUrl)).data;
  1189 + if (dataReturn.code === 1) {
  1190 + const returnData = dataReturn.dataset.rows[0];
  1191 + if (commonUtils.isNotEmptyObject(returnData)) {
  1192 + for (const key of Object.keys(returnData)) {
  1193 + const sName = `${key}Data`;
  1194 + const sDelName = `${key}DelData`;
  1195 + // allReturnMap[sName] = returnData[key];
  1196 + let {[`${key}Data`]: oldData, [`${key}Data`]: oldDelData } = this.props;
  1197 +
  1198 + if(commonUtils.isEmptyArr(oldDelData)) {
  1199 + oldDelData = [];
  1200 + }
  1201 + if(commonUtils.isEmptyArr(oldData)) {
  1202 + oldData = [];
  1203 + }
  1204 + /* 找到赋值字段 */
  1205 + const tableConfig = masterConfig.gdsconfigformslave.filter(item => item.sControlName.includes(sTmpInfoBySqlBtnName +'.' + key));
  1206 + const tableField = commonUtils.isNotEmptyArr(tableConfig) ? tableConfig[0].sAssignField : '';
  1207 + if(sTmpInfoBySqlBtnName.includes('_edit')) { /* 替换 根据对应字段对比 相同的不管 不同的插入 */
  1208 + /* 对应字段 */
  1209 + const sActiveKey = selectConfig.sActiveKey;
  1210 + const keyData = returnData[key];
  1211 + /* 找到赋值字段 */
  1212 +
  1213 + let newData = [];
  1214 + if(commonUtils.isNotEmptyArr(keyData)) {
  1215 + keyData.forEach((child) => {
  1216 + const filterData = oldData.filter(item => item[sActiveKey] !== child[sActiveKey]);
  1217 + if(commonUtils.isNotEmptyArr(filterData) && filterData.length === oldData.length) {
  1218 + let tableRow ={};
  1219 + tableRow = { ...tableRow, ...commonFunc.getAssignFieldValue(tableField, child) }; // 取赋值字段
  1220 + tableRow.sId = commonUtils.createSid();
  1221 + tableRow.sParentId = masterData.sId;
  1222 + tableRow.handleType = 'add';
  1223 + newData.push(tableRow);
  1224 + }
  1225 + });
  1226 + newData = oldData.concat(newData);
  1227 + }
  1228 + allReturnMap[sName] = newData;
  1229 + } else { /* 替换 根据对应字段对比 相同的不管 不同的插入 */
  1230 + /* 对应字段 */
  1231 + oldData.forEach((child) => {
  1232 + child.handleType ='del';
  1233 + oldDelData.push(child);
  1234 + });
  1235 + allReturnMap[sDelName] = oldDelData;
  1236 + oldData = [];
  1237 + const keyData = returnData[key];
  1238 + if(commonUtils.isNotEmptyArr(keyData)) {
  1239 + keyData.forEach((child) => {
  1240 + let tableRow ={};
  1241 + tableRow = { ...tableRow, ...commonFunc.getAssignFieldValue(tableField, child) }; // 取赋值字段
  1242 + tableRow.sId = commonUtils.createSid();
  1243 + tableRow.sParentId = masterData.sId;
  1244 + tableRow.handleType = 'add';
  1245 + oldData.push(tableRow);
  1246 + });
  1247 + }
  1248 + allReturnMap[sName] = oldData;
  1249 + }
  1250 +
  1251 + }
  1252 + if (commonUtils.isNotEmptyArr(allReturnMap.masterData) && Array.isArray(allReturnMap.masterData)) {
  1253 + allReturnMap.masterData = allReturnMap.masterData[0];
  1254 + }
  1255 + console.log('allReturnMap:111', allReturnMap);
  1256 + this.props.onSaveState({ ...allReturnMap });
  1257 + }
  1258 +
  1259 + } else {
  1260 + this.props.getServiceError(dataReturn);
  1261 + }
  1262 + } else {
  1263 + message.warn('数据未配置!不能生成!');
  1264 + return;
  1265 + }
  1266 + } else if (sModelsType !== '' && sModelsType.includes('sales/') && name === 'productProcessInfo') { /* 销售订单调用工艺卡 */
  1267 + const {
  1268 + controlConfig, materialsConfig, processConfig, slaveSelectedRowKeys, slaveData,
  1269 + } = this.props;
  1270 + const iIndex = slaveData.findIndex(item => slaveSelectedRowKeys.includes(item.sId));
  1271 + if (iIndex > -1 && commonUtils.isNotEmptyArr(selectData)) {
  1272 + const tableDataRow = slaveData[iIndex]; /* 从表选中行 */
  1273 + let { controlData, materialsData, processData } = this.props;
  1274 + const sId = tableDataRow.sId;
  1275 + const bCkxCopyFromTechnology = '1'; // app.systemData.filter(item => item.sName === 'CkxCopyFromTechnology')[0].sValue;
  1276 + if (bCkxCopyFromTechnology === '1' && tableDataRow.sProductId !== tableDataRow.sProductName) {
  1277 + const controlSelectedData = controlData.filter(item => item.sSlaveId === sId);
  1278 + if (commonUtils.isNotEmptyObject(controlSelectedData)) {
  1279 + const controlSelectedRowKeys = [];
  1280 + controlSelectedData.forEach((item) => {
  1281 + controlSelectedRowKeys.push(item.sId);
  1282 + });
  1283 + const materialsReturnData = this.otherTableDel('materials', controlSelectedRowKeys);
  1284 + const processReturnData = this.otherTableDel('process', controlSelectedRowKeys);
  1285 + const controlReturnData = this.props.onDataRowDel('control', true, controlSelectedRowKeys);
  1286 + controlData = controlReturnData.controlData;
  1287 + materialsData = materialsReturnData.materialsData;
  1288 + processData = processReturnData.processData;
  1289 + this.props.onSaveState({
  1290 + ...materialsReturnData,
  1291 + ...processReturnData,
  1292 + ...controlReturnData,
  1293 + });
  1294 + }
  1295 + const sCustomerId = selectData[0].sCustomerId;
  1296 + const sProductId = selectData[0].sProductId;
  1297 + const sProductIdArray = [];
  1298 + sProductIdArray.push(sProductId);
  1299 + const sProductIds = sProductIdArray.toString();
  1300 + const condition = {
  1301 + sCustomerId, sProductIds,
  1302 + };
  1303 + const dataUrl = `${commonConfig.server_host}salesorder/getProcessCardDataByCustomIdProductId/?sModelsId=${sModelsId}`;
  1304 + const dataReturn = (await commonServices.postValueService(token, condition, dataUrl)).data;
  1305 + const config = this.props.masterConfig.gdsconfigformslave.filter(item => item.sControlName.includes('BtnCopyFrom.productProcessInfo'));
  1306 + if (dataReturn.code === 1) {
  1307 + const returnData = dataReturn.dataset.rows[0];
  1308 + const copyToControlConfig = config.filter(item => item.sControlName.toLowerCase().includes('.control'));
  1309 + const copyToMaterialsConfig = config.filter(item => item.sControlName.toLowerCase().includes('.materials'));
  1310 + const copyToProcessConfig = config.filter(item => item.sControlName.toLowerCase().includes('.process'));
  1311 + const controlAssignField = commonUtils.isNotEmptyArr(copyToControlConfig) ? copyToControlConfig[0].sAssignField : '';
  1312 + const materialsAssignField = commonUtils.isNotEmptyArr(copyToMaterialsConfig) ? copyToMaterialsConfig[0].sAssignField : '';
  1313 + const processAssignField = commonUtils.isNotEmptyArr(copyToProcessConfig) ? copyToProcessConfig[0].sAssignField : '';
  1314 + const newCopyTo = {};
  1315 + newCopyTo.master = masterData;
  1316 + newCopyTo.slave = commonUtils.isEmptyArr(tableData) ? {} : tableData;
  1317 + if (commonUtils.isNotEmptyArr(returnData.controlData)) {
  1318 + const treeCopyNodes = new Map();
  1319 + // eslint-disable-next-line no-loop-func
  1320 + returnData.controlData.forEach((controlItem) => {
  1321 + newCopyTo.control = controlItem;
  1322 + let controlRow = commonFunc.getDefaultData(controlConfig, newCopyTo); // 取默认值
  1323 + controlRow = { ...controlRow, ...commonFunc.getAssignFieldValue(controlAssignField, controlItem, newCopyTo) }; // 取赋值字段
  1324 + controlRow.handleType = 'add';
  1325 + controlRow.sId = commonUtils.createSid();
  1326 + controlRow.sSlaveId = tableDataRow.sId;
  1327 + controlRow.sParentId = masterData.sId;
  1328 + if (sModelsType === 'sales/salesOrderPack') { /* 树形 */
  1329 + /* CopyTo时sAllId,sControlParentId 设置 */
  1330 + const sAllOldId = controlItem.sAllId;
  1331 + let arr = [];
  1332 + if (commonUtils.isNotEmptyObject(sAllOldId)) {
  1333 + arr = sAllOldId.split(',');
  1334 + }
  1335 + const newId = controlRow.sId;
  1336 + let sOldParentId = '';
  1337 + let sNewParentAllId = '';
  1338 + if (arr.length < 2) { /* 根节点复制 */
  1339 + controlRow.sAllId = newId;
  1340 + sOldParentId = newId;
  1341 + sNewParentAllId = newId;
  1342 + } else {
  1343 + sOldParentId = arr[arr.length - 2];
  1344 + if (treeCopyNodes.has(sOldParentId)) {
  1345 + sNewParentAllId = treeCopyNodes.get(sOldParentId);
  1346 + } else {
  1347 + const obj = arr[arr.length - 1];
  1348 + sNewParentAllId = sAllOldId.replace((`,${obj}`), '');
  1349 + }
  1350 + const sNewArr = sNewParentAllId.split(',');
  1351 + controlRow.sControlParentId = sNewArr[sNewArr.length - 1];
  1352 + sNewParentAllId = `${sNewParentAllId},${newId}`;
  1353 + controlRow.sAllId = sNewParentAllId;
  1354 + }
  1355 + treeCopyNodes.set(controlItem.sId, sNewParentAllId);
  1356 + }
  1357 + controlData.push(controlRow);
  1358 +
  1359 + if (commonUtils.isNotEmptyArr(returnData.materialsData)) {
  1360 + returnData.materialsData.filter(item => item.sControlId === controlItem.sId)
  1361 + .forEach((materialsItem) => {
  1362 + newCopyTo.materials = materialsItem;
  1363 + let materialsRow = commonFunc.getDefaultData(materialsConfig, newCopyTo); // 取默认值
  1364 + materialsRow = { ...materialsRow, ...commonFunc.getAssignFieldValue(materialsAssignField, materialsItem, newCopyTo) }; // 取赋值字段
  1365 + materialsRow.handleType = 'add';
  1366 + materialsRow.sId = commonUtils.createSid();
  1367 + materialsRow.sSlaveId = tableDataRow.sId;
  1368 + materialsRow.sParentId = masterData.sId;
  1369 + materialsRow.sControlId = controlRow.sId;
  1370 + materialsRow.sPartsName = controlRow.sPartsName;
  1371 +
  1372 + materialsData.push(materialsRow);
  1373 + });
  1374 + }
  1375 +
  1376 + if (commonUtils.isNotEmptyArr(returnData.processData)) {
  1377 + returnData.processData.filter(item => item.sControlId === controlItem.sId)
  1378 + .forEach((processItem) => {
  1379 + newCopyTo.process = processItem;
  1380 + let processRow = commonFunc.getDefaultData(processConfig, newCopyTo); // 取默认值
  1381 + processRow = { ...processRow, ...commonFunc.getAssignFieldValue(processAssignField, processItem, newCopyTo) }; // 取赋值字段
  1382 + processRow.handleType = 'add';
  1383 + processRow.sId = commonUtils.createSid();
  1384 + processRow.sSlaveId = tableDataRow.sId;
  1385 + processRow.sParentId = masterData.sId;
  1386 + processRow.sControlId = controlRow.sId;
  1387 + processRow.sPartsName = controlRow.sPartsName;
  1388 + processData.push(processRow);
  1389 + });
  1390 + }
  1391 + });
  1392 + }
  1393 + if (commonUtils.isNotEmptyArr(returnData.materialsData)) {
  1394 + // eslint-disable-next-line no-loop-func
  1395 + returnData.materialsData.filter(item => item.sType === '2')
  1396 + .forEach((materialsItem) => {
  1397 + newCopyTo.materials = materialsItem;
  1398 + let materialsRow = commonFunc.getDefaultData(materialsConfig, newCopyTo); // 取默认值
  1399 + materialsRow = { ...materialsRow, ...commonFunc.getAssignFieldValue(materialsAssignField, materialsItem, newCopyTo) }; // 取赋值字段
  1400 + materialsRow.handleType = 'add';
  1401 + materialsRow.sId = commonUtils.createSid();
  1402 + materialsRow.sSlaveId = tableDataRow.sId;
  1403 + materialsRow.sParentId = masterData.sId;
  1404 + materialsData.push(materialsRow);
  1405 + });
  1406 + }
  1407 + if (commonUtils.isNotEmptyArr(returnData.processData)) {
  1408 + // eslint-disable-next-line no-loop-func
  1409 + returnData.processData.filter(item => item.sType === '3')
  1410 + .forEach((processItem) => {
  1411 + newCopyTo.process = processItem;
  1412 + let processRow = commonFunc.getDefaultData(processConfig, newCopyTo); // 取默认值
  1413 + processRow = { ...processRow, ...commonFunc.getAssignFieldValue(processAssignField, processItem, newCopyTo) }; // 取赋值字段
  1414 + processRow.handleType = 'add';
  1415 + processRow.sId = commonUtils.createSid();
  1416 + processRow.sSlaveId = tableDataRow.sId;
  1417 + processRow.sParentId = masterData.sId;
  1418 + processData.push(processRow);
  1419 + });
  1420 + }
  1421 + this.props.onSaveState({
  1422 + controlData,
  1423 + materialsData,
  1424 + processData,
  1425 + });
  1426 + }
  1427 + }
  1428 + }
  1429 + } else if (name === 'productProcessInfoAbandon') { /* 暂未使用的调用工艺卡功能 */
  1430 + if (commonUtils.isNotEmptyArr(selectData)) {
  1431 + let slaveData = [];
  1432 + let controlData = [];
  1433 + let materialsData = [];
  1434 + let processData = [];
  1435 + let sConfigMasterIdSlave = '';
  1436 + let sConfigMasterIdControl = '';
  1437 + let sConfigMasterIdMaterials = '';
  1438 + let sConfigMasterIdProcess = '';
  1439 + const selectRowData = selectData[0];
  1440 + const sConfigIdString = masterConfig.gdsconfigformslave.filter(item => item.sName === 'sConfigId')[0].showDropDown;
  1441 + if (commonUtils.isNotEmptyStr(sConfigIdString)) {
  1442 + const sConfigId = JSON.parse(sConfigIdString);
  1443 + sConfigMasterIdSlave = sConfigId.sConfigMasterIdSlave;
  1444 + sConfigMasterIdControl = sConfigId.sConfigMasterIdControl;
  1445 + sConfigMasterIdMaterials = sConfigId.sConfigMasterIdMaterials;
  1446 + sConfigMasterIdProcess = sConfigId.sConfigMasterIdProcess;
  1447 + }
  1448 + if (commonUtils.isEmptyStr(sConfigMasterIdSlave)) {
  1449 + message.warning(commonFunc.showMessage(app.commonConst, 'slaveParameterErro'));
  1450 + }
  1451 + if (commonUtils.isEmptyStr(sConfigMasterIdControl)) {
  1452 + message.warning(commonFunc.showMessage(app.commonConst, 'controlParameterErro'));
  1453 + }
  1454 + if (commonUtils.isEmptyStr(sConfigMasterIdMaterials)) {
  1455 + message.warning(commonFunc.showMessage(app.commonConst, 'materialsParameterErro'));
  1456 + }
  1457 + if (commonUtils.isEmptyStr(sConfigMasterIdProcess)) {
  1458 + message.warning(commonFunc.showMessage(app.commonConst, 'processParameterErro'));
  1459 + }
  1460 + const slaveUrl = `${commonConfig.server_host}business/getBusinessDataByFormcustomId/${sConfigMasterIdSlave}?sModelsId=${sModelsId}`;
  1461 + const value = { sSqlCondition: { sParentId: selectRowData.sId } };
  1462 + const slaveReturnData = (await commonServices.postValueService(token, value, slaveUrl)).data;
  1463 + if (slaveReturnData.code === 1) {
  1464 + slaveData = slaveReturnData.dataset.rows[0].dataSet;
  1465 + slaveData.forEach((item) => {
  1466 + item.handleType = 'add';
  1467 + item.sId = commonUtils.createSid();
  1468 + item.sParentId = masterData.sId;
  1469 + });
  1470 + } else {
  1471 + this.props.getServiceError(slaveReturnData);
  1472 + }
  1473 +
  1474 + const controlUrl = `${commonConfig.server_host}business/getBusinessDataByFormcustomId/${sConfigMasterIdControl}?sModelsId=${sModelsId}`;
  1475 + const controlReturnData = (await commonServices.postValueService(token, value, controlUrl)).data;
  1476 + if (controlReturnData.code === 1) {
  1477 + controlData = controlReturnData.dataset.rows[0].dataSet;
  1478 + controlData.forEach((item) => {
  1479 + item.handleType = 'add';
  1480 + item.sId = commonUtils.createSid();
  1481 + item.sParentId = masterData.sId;
  1482 + });
  1483 + } else {
  1484 + this.props.getServiceError(controlReturnData);
  1485 + }
  1486 + const materialsUrl = `${commonConfig.server_host}business/getBusinessDataByFormcustomId/${sConfigMasterIdMaterials}?sModelsId=${sModelsId}`;
  1487 + const materialsReturnData = (await commonServices.postValueService(token, value, materialsUrl)).data;
  1488 + if (materialsReturnData.code === 1) {
  1489 + materialsData = materialsReturnData.dataset.rows[0].dataSet;
  1490 + materialsData.forEach((item) => {
  1491 + item.handleType = 'add';
  1492 + item.sId = commonUtils.createSid();
  1493 + item.sParentId = masterData.sId;
  1494 + });
  1495 + } else {
  1496 + this.props.getServiceError(materialsReturnData);
  1497 + }
  1498 + const processUrl = `${commonConfig.server_host}business/getBusinessDataByFormcustomId/${sConfigMasterIdProcess}?sModelsId=${sModelsId}`;
  1499 + const processReturnData = (await commonServices.postValueService(token, value, processUrl)).data;
  1500 + if (processReturnData.code === 1) {
  1501 + processData = processReturnData.dataset.rows[0].dataSet;
  1502 + processData.forEach((item) => {
  1503 + item.handleType = 'add';
  1504 + item.sId = commonUtils.createSid();
  1505 + item.sParentId = masterData.sId;
  1506 + });
  1507 + } else {
  1508 + this.props.getServiceError(processReturnData);
  1509 + }
  1510 + this.props.onSaveState({
  1511 + processData, materialsData, controlData, slaveData, [`${name}ChooseVisible`]: false, [`${name}SelectedRowKeys`]: tableSelectedRowKeys,
  1512 + });
  1513 + }
  1514 + } else if (tableName === 'slave' && selectConfig.sControlName === 'BtnChooseMaterials') {
  1515 + this.props.onSelect('slave', selectConfig, selectData);
  1516 + } else if (sModelsType.includes('cashier/') && selectConfig.sControlName === 'BtnImportFormData') {
  1517 + const { slaveData } = this.props;
  1518 + let tableDataNew = [];
  1519 + if (commonUtils.isNotEmptyArr(slaveData)) {
  1520 + tableDataNew = slaveData;
  1521 + tableDataNew.forEach((item, index) => {
  1522 + const handleType = item.handleType;
  1523 + if (commonUtils.isEmptyObject(handleType) || handleType === 'update') {
  1524 + tableDataNew[index] = { ...item, handleType: 'del' };
  1525 + }
  1526 + });
  1527 + }
  1528 + if (commonUtils.isNotEmptyArr(selectData)) {
  1529 + selectData.forEach((item) => {
  1530 + let tableDataRow = {}; // 取默认值
  1531 + tableDataRow = { ...tableDataRow, ...commonFunc.getAssignFieldValue(selectConfig.sAssignField, item) }; // 取赋值字段
  1532 + tableDataRow.handleType = 'add';
  1533 + tableDataRow.sId = commonUtils.createSid();
  1534 + tableDataRow.sParentId = masterData.sId;
  1535 + tableDataNew.push(tableDataRow);
  1536 + });
  1537 + this.props.onSaveState({ slaveData: tableDataNew, importFormDataVisible: false });
  1538 + }
  1539 + } else {
  1540 + const { controlData, slaveData, slaveSelectedRowKeys } = this.props;
  1541 + const iIndex = commonUtils.isNotEmptyArr(controlSelectedRowKeys) ? controlData.findIndex(item => item.sId === controlSelectedRowKeys[0]) : -1;
  1542 + if (commonUtils.isNotEmptyArr(selectData)) {
  1543 + selectData.forEach((item) => {
  1544 + const newCopyTo = {};
  1545 + newCopyTo.master = masterData;
  1546 + if (iIndex > -1) {
  1547 + newCopyTo.control = controlData[iIndex];
  1548 + }
  1549 + let tableDataRow = commonFunc.getDefaultData(tableConfig, newCopyTo); // 取默认值
  1550 + tableDataRow = { ...tableDataRow, ...commonFunc.getAssignFieldValue(selectConfig.sAssignField, item, newCopyTo) }; // 取赋值字段
  1551 + tableDataRow.handleType = 'add';
  1552 + tableDataRow.sId = commonUtils.createSid();
  1553 + tableDataRow.sParentId = masterData.sId;
  1554 + if (this.props.sModelsType.includes('sales/salesOrder')) {
  1555 + const iSlaveIndex = commonUtils.isNotEmptyArr(slaveSelectedRowKeys) ? slaveData.findIndex(item => item.sId === slaveSelectedRowKeys[0]) : -1;
  1556 + if (iSlaveIndex > -1) {
  1557 + tableDataRow.sSlaveId = slaveData[iSlaveIndex].sId;
  1558 + }
  1559 + }
  1560 + if (iIndex > -1 && tableDataRow.sType !== '3') {
  1561 + tableDataRow.sControlId = controlData[iIndex].sId;
  1562 + tableDataRow.sPartsName = controlData[iIndex].sPartsName;
  1563 + tableData.push(tableDataRow);
  1564 + } else if (tableDataRow.sType === '3') {
  1565 + tableData.push(tableDataRow);
  1566 + }
  1567 + tableSelectedRowKeys.push(tableDataRow.sId);
  1568 + });
  1569 + }
  1570 + const tableDataNew = this.sortData(controlData, tableData);
  1571 + this.props.onSaveState({ [`${name}Data`]: tableDataNew, [`${name}ChooseVisible`]: false, [`${name}SelectedRowKeys`]: tableSelectedRowKeys });
  1572 + }
  1573 + };
  1574 +
  1575 + /** 树节点选中 */
  1576 + handleTreeSelect = (name, checkedKeys, e) => {
  1577 + let { controlSelectedRowKeys } = this.props;
  1578 + controlSelectedRowKeys = checkedKeys; /* 把树形选中节点赋值给表格部件选中节点 */
  1579 + this.props.onTreeSelect(name, checkedKeys, e);
  1580 + this.props.onSaveState({
  1581 + controlSelectedRowKeys,
  1582 + });
  1583 + };
  1584 +
  1585 + sortData = (tableData, processData) => {
  1586 + processData.sort((g1, g2) => {
  1587 + const iIndex1 = tableData.findIndex(item => item.sId === g1.sControlId) === -1 ? 999 : tableData.findIndex(item => item.sId === g1.sControlId);
  1588 + let sPartOrder1 = `0000${iIndex1}`;
  1589 + sPartOrder1 = sPartOrder1.substring(sPartOrder1.length - 3);
  1590 + let sOrder1 = `000${g1.iOrder}`;
  1591 + sOrder1 = sOrder1.substring(sOrder1.length - 3);
  1592 +
  1593 + const iIndex2 = tableData.findIndex(item => item.sId === g2.sControlId) === -1 ? 999 : tableData.findIndex(item => item.sId === g2.sControlId);
  1594 + let sPartOrder2 = `0000${iIndex2}`;
  1595 + sPartOrder2 = sPartOrder2.substring(sPartOrder2.length - 3);
  1596 + let sOrder2 = `000${g2.iOrder}`;
  1597 + sOrder2 = sOrder2.substring(sOrder2.length - 3);
  1598 + return parseInt(sPartOrder1 + g1.sType + sOrder1, 10) - parseInt(sPartOrder2 + g2.sType + sOrder2, 10);
  1599 + });
  1600 + return processData;
  1601 + };
  1602 + handleGetDataOk = () => {
  1603 + this.props.onDataImport('zero');
  1604 + }
  1605 + handleGetDataCancel = () => {
  1606 + this.props.onDataImport('all');
  1607 + }
  1608 + colseGetDataVisible = () => {
  1609 + this.props.onSaveState({ isGetDataVisible: false });
  1610 + }
  1611 +
  1612 + /* 审核备注文本框改变事件 */
  1613 + textChange= (e, record) => {
  1614 + const sCheckRemark = commonUtils.isNotEmptyObject(record) && commonUtils.isNotEmptyObject(e.target.value) ? e.target.value : '';
  1615 + this.props.onSaveState({ sCheckRemark });/* 审核备注 */
  1616 + }
  1617 + handleTableCopy = (name, isWait, isTree) => {
  1618 + const {
  1619 + [`${name}Data`]: tableData, [`${name}SelectedRowKeys`]: tableSelectedRowKeys, [`${name}Pagination`]: tablePagination, sModelsType,
  1620 + } = this.props;
  1621 + if (commonUtils.isEmptyArr(tableSelectedRowKeys)) {
  1622 + message.warn(commonFunc.showMessage(this.props.app.commonConst, 'pleaseChooseCopyData'));/* 请选择复制数据 */
  1623 + } else {
  1624 + if (sModelsType === 'sales/salesOrderPack' && isTree) { /* 树形 */
  1625 + const {
  1626 + [`${name}SelectedRowKeys`]: treeSelectedKeys,
  1627 + } = this.props;
  1628 + const controlChildData = tableData.filter(item => item.sAllId.indexOf(treeSelectedKeys[0]) > -1 && item.sId !== treeSelectedKeys[0]);
  1629 + if (commonUtils.isNotEmptyArr(tableData)) {
  1630 + controlChildData.forEach((itemNew) => {
  1631 + tableSelectedRowKeys.push(itemNew.sId);
  1632 + });
  1633 + }
  1634 + }
  1635 + const treeCopyNodes = new Map();
  1636 + for (const sId of tableSelectedRowKeys) {
  1637 + const tableDataIndex = tableData.findIndex(item => item.sId === sId);
  1638 + if (tableDataIndex > -1) {
  1639 + const tableDataRow = JSON.parse(JSON.stringify(tableData[tableDataIndex]));
  1640 + tableDataRow.sId = commonUtils.createSid();
  1641 + tableDataRow.handleType = 'add';
  1642 + tableDataRow.key = tableDataRow.sId;
  1643 + tableDataRow.sSrcSlaveId = '';
  1644 + tableDataRow.sSrcId = '';
  1645 + tableDataRow.dSrcQty = null;
  1646 + tableDataRow.rowTag = null;
  1647 + tableDataRow.sOrderdetailUsed = '';
  1648 + tableDataRow.sProductionUsed = '';
  1649 + tableDataRow.sWorkOrderUsed = '';
  1650 + tableDataRow.dWorkOrderQty = 0;
  1651 + const iOrderArr = [];
  1652 + tableData.forEach((item) => {
  1653 + const iOrder = commonUtils.isNotEmptyNumber(item.iOrder) ? item.iOrder : 0; /* 获取tableData中iOrder最大值 */
  1654 + iOrderArr.push(iOrder);
  1655 + });
  1656 + const iOrderMax = Math.max(...iOrderArr);
  1657 + tableDataRow.iOrder = commonUtils.isNotEmptyArr(tableData) ? iOrderMax + 1 : 0;
  1658 +
  1659 + if (commonUtils.isNotEmptyObject(tableDataRow.sMaterialsMemo)) {
  1660 + tableDataRow.sMaterialsMemo = '';
  1661 + }
  1662 + if (commonUtils.isNotEmptyObject(tableDataRow.sProcessMemo)) {
  1663 + tableDataRow.sProcessMemo = '';
  1664 + }
  1665 + if (sModelsType === 'sales/salesOrderPack' && isTree) { /* 树形 */
  1666 + const sAllOldId = tableData[tableDataIndex].sAllId;
  1667 + const arr = sAllOldId.split(',');
  1668 + const newId = commonUtils.createSid();
  1669 + tableDataRow.sId = newId;
  1670 + let sOldParentId = '';
  1671 + let sNewParentAllId = '';
  1672 + if (arr.length < 2) { /* 根节点复制 */
  1673 + tableDataRow.sAllId = newId;
  1674 + sOldParentId = newId;
  1675 + sNewParentAllId = newId;
  1676 + } else {
  1677 + sOldParentId = arr[arr.length - 2];
  1678 + if (treeCopyNodes.has(sOldParentId)) {
  1679 + sNewParentAllId = treeCopyNodes.get(sOldParentId);
  1680 + } else {
  1681 + const obj = arr[arr.length - 1];
  1682 + sNewParentAllId = sAllOldId.replace((`,${obj}`), '');
  1683 + }
  1684 + const sNewArr = sNewParentAllId.split(',');
  1685 + tableDataRow.sControlParentId = sNewArr[sNewArr.length - 1];
  1686 + sNewParentAllId = `${sNewParentAllId},${newId}`;
  1687 + tableDataRow.sAllId = sNewParentAllId;
  1688 + }
  1689 + treeCopyNodes.set(sId, sNewParentAllId);
  1690 + }
  1691 + if (isWait) {
  1692 + return tableDataRow;
  1693 + } else if (commonUtils.isNotEmptyObject(tableDataRow)) {
  1694 + tableData.push(tableDataRow);
  1695 + this.props.onSaveState({ [`${name}Data`]: tableData, [`${name}Pagination`]: { ...tablePagination, total: tableData.length, current: 9999 } });
  1696 + }
  1697 + }
  1698 + }
  1699 + }
  1700 + };
  1701 + // ----------------------------数据修改回带end ---------------------------- //
  1702 +
  1703 + handleMenuClick= (e) => {
  1704 + let { sId } = this.props.masterData;
  1705 + const Type = e.key;
  1706 + const { token } = this.props.app;
  1707 + const { sType } = this.props.app.userinfo;
  1708 + if (Type === 'formSlave') { /* 根据从表勾选数据 生成从表数据 */
  1709 + const { slaveSelectedRowKeys } = this.props;
  1710 + if (commonUtils.isEmptyObject(slaveSelectedRowKeys)) {
  1711 + message.warn('请选择数据');
  1712 + return;
  1713 + }
  1714 + sId = slaveSelectedRowKeys;
  1715 + }
  1716 + const downloadUrl = `${commonConfig.server_host}sqlfile/scriptSqlDownload?methodName=${Type
  1717 + }&sId=${sId}&token=${token}&sType=${sType}`;
  1718 + window.open(downloadUrl);
  1719 + this.props.onSaveState({
  1720 + downloadUrl,
  1721 + });
  1722 + };
  1723 +
  1724 + handleSqlDownload = (type) => {
  1725 + const { masterData } = this.props;
  1726 + const { token } = this.props.app;
  1727 + const { sType } = this.props.app.userinfo;
  1728 + if (commonUtils.isNotEmptyObject(masterData) && commonUtils.isNotEmptyObject(masterData.sId)) {
  1729 + let downloadUrl = '';
  1730 + if (type === 'all') {
  1731 + downloadUrl = `${commonConfig.server_host}sqlfile/scriptSqlDownload?methodName=module&&Type=ALL&sId=${masterData.sParentId !== '' ? masterData.sParentId : masterData.sId}&token=${token}&sType=${sType}`;
  1732 + } else {
  1733 + downloadUrl = `${commonConfig.server_host}sqlfile/scriptSqlDownload?methodName=module&&Type=ALL&sId=${masterData.sId}&token=${token}&sType=${sType}`;
  1734 + }
  1735 + window.open(downloadUrl);
  1736 + }
  1737 + }
  1738 +
  1739 + handleDrag = (data) => {
  1740 + this.props.onSaveState({
  1741 + processData: data,
  1742 + });
  1743 + }
  1744 +
  1745 + handleTableFilterData = (name, data, record) => {
  1746 + /* 外置处理业务 */
  1747 + if (name === 'slave') {
  1748 + let slaveInfoDataNew = [];
  1749 + if (commonUtils.isNotEmptyArr(data)) {
  1750 + slaveInfoDataNew = data.filter(item => item.sFatherSlaveId && record.sId && item.sFatherSlaveId === record.sId);
  1751 + }
  1752 + return slaveInfoDataNew;
  1753 + }
  1754 + }
  1755 +
  1756 + handleCheckBoxStatus = (status, dataIndex, name) => {
  1757 + const { [`${name}Data`]: dataSource} = this.props;
  1758 + if (!Array.isArray(dataSource)) return;
  1759 + const result = dataSource.map(i => ({
  1760 + ...i,
  1761 + [dataIndex]: status,
  1762 + }));
  1763 + this.props.onSaveState({ [`${name}Data`]: result });
  1764 + }
  1765 +
  1766 + render() {
  1767 + const {
  1768 + pageLoading, masterConfig, visible, checkConditions, checkPersonData, visibleModal, processChooseVisible, materialsChooseVisible,
  1769 + app, sTabId, sModelsType, enabled, slaveSelectedRowKeys, controlData,
  1770 + } = this.props;
  1771 + const checkCondition = commonFunc.showMessage(app.commonConst, 'checkCondition');/* 审核条件 */
  1772 + const checkSmemo = commonFunc.showMessage(app.commonConst, 'checkSmemo');/* 备注 */
  1773 + const columns = [{
  1774 + title: checkCondition,
  1775 + dataIndex: 'condition',
  1776 + key: 'condition',
  1777 + }, {
  1778 + title: checkSmemo,
  1779 + dataIndex: 'sMemo',
  1780 + key: 'sMemo',
  1781 + render: (text, record) => {
  1782 + return (
  1783 + <Form>
  1784 + <Input onChange={(e) => { this.textChange(e, record); }} />
  1785 + </Form>
  1786 + );
  1787 + },
  1788 + }];
  1789 + let chooseProcessConfig;
  1790 + let onChooseProcessIndex;
  1791 + /* 获取toolbar 选择工序 */
  1792 + if (commonUtils.isNotEmptyObject(masterConfig)) {
  1793 + onChooseProcessIndex = masterConfig.gdsconfigformslave.findIndex(item => item.sControlName === 'BtnChooseProcess');
  1794 + if (onChooseProcessIndex > -1) {
  1795 + chooseProcessConfig = this.props.masterConfig.gdsconfigformslave[onChooseProcessIndex];
  1796 + }
  1797 + }
  1798 + /* 获取toolbar 选择材料 */
  1799 + let chooseMaterialsConfig;
  1800 + const modalWidth = '1132';
  1801 + const fixedAutoHeight = sModelsType === 'sales/salesOrderPack' ? 120 : 66;
  1802 + if (commonUtils.isNotEmptyObject(masterConfig)) {
  1803 + const iIndex = masterConfig.gdsconfigformslave.findIndex(item => item.sControlName === 'BtnChooseMaterials');
  1804 + if (iIndex > -1) {
  1805 + chooseMaterialsConfig = masterConfig.gdsconfigformslave[iIndex];
  1806 + }
  1807 + }
  1808 + /* 若销售订单从表选中行被工单或其他调用 则材料与工艺只能查看不能操作s */
  1809 + let bUsed = enabled;
  1810 + if (sModelsType.includes('sales/salesOrder') && enabled && commonUtils.isNotEmptyArr(slaveSelectedRowKeys)) {
  1811 + const { slaveData } = this.props;
  1812 + const iSlaveDataIndex = slaveData.findIndex(item => slaveSelectedRowKeys.includes(item.sId));
  1813 + if (iSlaveDataIndex > -1) {
  1814 + const sWorkOrderUsed = slaveData[iSlaveDataIndex].sWorkOrderUsed;
  1815 + if (commonUtils.isNotEmptyObject(sWorkOrderUsed)) {
  1816 + bUsed = false;
  1817 + }
  1818 + }
  1819 + }
  1820 +
  1821 + // 找到关联的从表 */
  1822 + let controlTableData = [];
  1823 + if(visibleModal) {
  1824 + if(commonUtils.isNotEmptyArr(slaveSelectedRowKeys)) {
  1825 + controlTableData = controlData.filter(item => item.sControlId === slaveSelectedRowKeys[0])
  1826 + }else {
  1827 + controlTableData = controlData;
  1828 + }
  1829 + }
  1830 + const controlPropsType = {
  1831 + ...commonBusiness.getTableTypes('control', this.props),
  1832 + tableProps: {
  1833 + CalLastWidth: modalWidth, AutoTableHeight: fixedAutoHeight, setCopyAll, setProcess, setMaterial, chooseProcessConfigRow: chooseProcessConfig, chooseMaterialsConfigRow: chooseMaterialsConfig, onRow: (record) => { return { onClick: () => { this.onRowClick('control', record); } }; },
  1834 + },
  1835 + data: commonUtils.isNotEmptyArr(controlTableData) ? commonUtils.genTreeByArr(controlTableData, "sNodeId", "sControlParentId") : [],
  1836 + filteredValue: slaveSelectedRowKeys,
  1837 + onFilterData: this.handleFilterSlaveData,
  1838 + OnGetFilterData: this.handleGetFilterData,
  1839 + onAddRow: this.handleTableAdd,
  1840 + onDelRow: this.handleTableDel,
  1841 + onKeyDown: this.props.onKeyDown,
  1842 + enabled: bUsed,
  1843 + };
  1844 + const name = 'controlTree';
  1845 + const treeProps = {
  1846 + ...commonBusiness.getTreeTypes('tree', this.props),
  1847 + isSearch: false,
  1848 + checkable: false,
  1849 + disabled: false,
  1850 + checkedAll: false,
  1851 + unChecked: false,
  1852 + [`${name}Column`]: this.props[`${name}Column`],
  1853 + [`${name}Config`]: this.props[`${name}Config`],
  1854 + [`${name}Data`]: this.props[`${name}Data`],
  1855 + getFloatNum: this.props.getFloatNum,
  1856 + getSqlDropDownData: this.props.getSqlDropDownData,
  1857 + getSqlCondition: this.props.getSqlCondition,
  1858 + handleSqlDropDownNewRecord: this.props.handleSqlDropDownNewRecord,
  1859 + getDateFormat: this.props.getDateFormat,
  1860 + onDoubleClick: this.props.onDoubleClick,
  1861 + onSelect: this.handleTreeSelect,
  1862 + expandedKeys: this.props.expandedKeys,
  1863 + showLine: true,
  1864 + };
  1865 + const materialsPropsType = {
  1866 + ...commonBusiness.getTableTypes('materials', this.props),
  1867 + tableProps: { CalLastWidth: modalWidth, AutoTableHeight: fixedAutoHeight },
  1868 + filteredValue: this.props.controlSelectedRowKeys,
  1869 + onFilterData: this.handleFilterData,
  1870 + OnGetFilterData: this.handleGetFilterData,
  1871 + onAddRow: this.handleTableAdd,
  1872 + onKeyDown: this.props.onKeyDown,
  1873 + enabled: bUsed,
  1874 + onCopyRow: this.handleTableCopy,
  1875 + };
  1876 + const processPropsType = {
  1877 + ...commonBusiness.getTableTypes('process', this.props),
  1878 + tableProps: { CalLastWidth: modalWidth, AutoTableHeight: 132 },
  1879 + filteredValue: this.props.controlSelectedRowKeys,
  1880 + onFilterData: this.handleFilterData,
  1881 + OnGetFilterData: this.handleGetFilterData,
  1882 + onAddRow: this.handleTableAdd,
  1883 + onChooseProcessRow: this.handleTableChooseProcess,
  1884 + onKeyDown: this.props.onKeyDown,
  1885 + enabled: bUsed,
  1886 + onCopyRow: this.handleTableCopy,
  1887 + dragHandle: true,
  1888 + onDrag: this.handleDrag,
  1889 + };
  1890 + let searchProcessType = {};
  1891 + // let chooseProcessConfig = {};
  1892 + if (commonUtils.isNotEmptyObject(this.props.processChooseData)) {
  1893 + // const iIndex = this.props.processConfig.gdsconfigformslave.findIndex(item => item.sControlName === 'BtnChooseProcess');
  1894 + // if (iIndex > -1) {
  1895 + // chooseProcessConfig = this.props.processConfig.gdsconfigformslave[iIndex];
  1896 + // }
  1897 +
  1898 + searchProcessType = {
  1899 + app: {
  1900 + ...this.props.app,
  1901 + currentPane: {
  1902 + name: 'process',
  1903 + config: chooseProcessConfig,
  1904 + conditonValues: this.props.getSqlCondition(chooseProcessConfig),
  1905 + title: this.props.processChooseData.sMenuName,
  1906 + route: this.props.processChooseData.sName,
  1907 + formId: this.props.processChooseData.sId,
  1908 + key: this.props.sModelsId + this.props.processChooseData.sId,
  1909 + sModelsType: this.props.processChooseData.sModelType,
  1910 + select: this.handleSelect,
  1911 + selectCancel: this.props.onSelectCancel,
  1912 + },
  1913 + },
  1914 + dispatch: this.props.dispatch,
  1915 + content: this.props.content,
  1916 + id: new Date().getTime().toString(),
  1917 + realizeHeight: this.props.realizeHeight, /* 拖动偏移高度 */
  1918 + };
  1919 + }
  1920 +
  1921 +
  1922 + let searchMaterialsType = {};
  1923 + // let chooseMaterialsConfig = {};
  1924 + if (commonUtils.isNotEmptyObject(this.props.materialsChooseData) && this.props.tableName !== 'slave') {
  1925 + // const iIndex = this.props.materialsConfig.gdsconfigformslave.findIndex(item => item.sControlName === 'BtnChooseMaterials');
  1926 + // if (iIndex > -1) {
  1927 + // chooseMaterialsConfig = this.props.materialsConfig.gdsconfigformslave[iIndex];
  1928 + // }
  1929 +
  1930 + searchMaterialsType = {
  1931 + app: {
  1932 + ...this.props.app,
  1933 + currentPane: {
  1934 + name: 'materials',
  1935 + config: chooseMaterialsConfig,
  1936 + conditonValues: this.props.getSqlCondition(chooseMaterialsConfig),
  1937 + title: this.props.materialsChooseData.sMenuName,
  1938 + route: this.props.materialsChooseData.sName,
  1939 + formId: this.props.materialsChooseData.sId,
  1940 + key: this.props.sModelsId + this.props.materialsChooseData.sId,
  1941 + sModelsType: this.props.materialsChooseData.sModelsType,
  1942 + select: this.handleSelect,
  1943 + selectCancel: this.props.onSelectCancel,
  1944 + },
  1945 + },
  1946 + dispatch: this.props.dispatch,
  1947 + content: this.props.content,
  1948 + id: new Date().getTime().toString(),
  1949 + realizeHeight: this.props.realizeHeight,
  1950 + };
  1951 + }
  1952 + const pane = app.panes.filter(paneTmp => paneTmp.key === sTabId)[0];
  1953 + const setMaterailRemark = commonFunc.showMessage(app.commonConst, 'setMaterailRemark');/* 选择材料与工艺 */
  1954 + const setProcessTitle = commonFunc.showMessage(app.commonConst, 'setProcess');/* 选择工序标题 */
  1955 + const setMaterialTitle = commonFunc.showMessage(app.commonConst, 'setMaterial');/* 选择材料标题 */
  1956 + const btnSure = commonFunc.showMessage(app.commonConst, 'btnSure');/* 确认 */
  1957 + const check = commonFunc.showMessage(app.commonConst, 'check');/* 审核 */
  1958 + const BtnClose = commonFunc.showMessage(app.commonConst, 'BtnClose');/* 关闭 */
  1959 + const checkPerson = commonFunc.showMessage(app.commonConst, 'checkPerson');/* 审核人 */
  1960 + // eslint-disable-next-line jsx-a11y/anchor-is-valid
  1961 + const operateAdd = <a title="添加同级" alt="" onClick={this.props.enabled ? this.handleTableAdd.bind(this, 'control', false, 'sameNode') : null}>{this.props.enabled ? setAdd.img : setAdd.disableimg} </a>;
  1962 + // eslint-disable-next-line jsx-a11y/anchor-is-valid
  1963 + const operateAddChild = <a title="添加子级" onClick={this.props.enabled ? this.handleTableAdd.bind(this, 'control', false, 'childNode') : null}>{this.props.enabled ? setAddChild.img : setAddChild.disableimg }</a>;
  1964 + // eslint-disable-next-line jsx-a11y/anchor-is-valid
  1965 + const operateCopy = <a title="复制" onClick={this.props.enabled ? this.props.onDataRowCopy.bind(this, 'control', false, true) : null}>{this.props.enabled ? setCopy.img : setCopy.disableimg}</a>;
  1966 + // eslint-disable-next-line jsx-a11y/anchor-is-valid
  1967 + const operateUpdate = <a title="复制全部" onClick={this.props.enabled ? this.props.onDataRowCopyAll.bind(this, 'control', false, true) : null}>{this.props.enabled ? setCopyAll.img : setCopyAll.disableimg }</a>;
  1968 + // eslint-disable-next-line jsx-a11y/anchor-is-valid
  1969 + const operateDel = <a title="删除" onClick={this.props.enabled ? this.handleTableDel.bind(this, 'control', true, '', true) : null}>{this.props.enabled ? setDelete.img : setDelete.disableimg}</a>;
  1970 +
  1971 + const controlInfo = commonFunc.showMessage(app.commonConst, 'controlInfo');/* 部件信息 */
  1972 + const materialsInfo = commonFunc.showMessage(app.commonConst, 'materialsInfo');/* 材料信息 */
  1973 + const processInfo = commonFunc.showMessage(app.commonConst, 'processInfo');/* 工序信息 */
  1974 +
  1975 + return (
  1976 + <div>
  1977 + <Spin spinning={pageLoading}>
  1978 + <div>
  1979 + <BillComponent
  1980 + {...this.props}
  1981 + {...this.state}
  1982 + onUploadChangeFile={this.handleUploadChangeFile} /* xls文件导入 */
  1983 + onUploadChange={this.handleUploadChange} /* 表格图片上传 */
  1984 + onBeforeUpload={this.handleBeforeUpload}
  1985 + onGetDataCancel={this.handleGetDataCancel}
  1986 + onGetDataOk={this.handleGetDataOk}
  1987 + colseGetDataVisible={this.colseGetDataVisible}
  1988 + getMenuStatus={this.getMenuStatus}
  1989 + onUploadPropsSales={this.handleUploadPropsSales}
  1990 + onDataRowModal={this.handleTableModal}
  1991 + onDataRowDel={this.handleSlaveTableDel}
  1992 + onDoubleClick={this.onDoubleClick}
  1993 + onSelectTree={this.handleTreeSelect}
  1994 + handleCancelModal={this.handleCancelModal}
  1995 + setMaterialTitle={setMaterialTitle}
  1996 + onSelect={this.handleSelect}
  1997 +
  1998 + handleMenuClick={this.handleMenuClick}
  1999 + handleSqlDownload={this.handleSqlDownload}
  2000 + onTableFilterData={this.handleTableFilterData}
  2001 + onDelRow={this.handleTableDel}
  2002 + setContentRef={(ref) => {
  2003 + this.contentRef = ref;
  2004 + }}
  2005 + handleCheckBoxStatus={this.handleCheckBoxStatus}
  2006 + />
  2007 + {
  2008 + visible ?
  2009 + <AntdDraggableModal
  2010 + title={check}
  2011 + visible={visible}
  2012 + onCancel={this.handleCancel}
  2013 + onSaveState={this.props.onSaveState}
  2014 + footer={[
  2015 + <Button key="back" onClick={this.handleCancel}>{BtnClose}</Button>,
  2016 + <Button key="submit" type="primary" onClick={this.handleOk.bind(this, 1, 1, true)}>
  2017 + {btnSure}
  2018 + </Button>,
  2019 + ]}
  2020 + >
  2021 + <Table columns={columns} dataSource={checkConditions} bordered pagination={false} className={styles.checkTable} />
  2022 + <div style={{ float: 'left', width: '15%' }}>{checkPerson}</div>
  2023 + <div style={{ float: 'left', width: '60%' }}>
  2024 + <Checkbox.Group style={{ width: '100%' }} onChange={this.onChange}>
  2025 + <Row>
  2026 + { commonUtils.isNotEmptyObject(checkPersonData) ?
  2027 + checkPersonData.map((item) => {
  2028 + return (
  2029 + <Col span={8}>
  2030 + <Checkbox value={item.sUserId}>{item.sUserName}</Checkbox>
  2031 + </Col>
  2032 + );
  2033 + })
  2034 + : ''
  2035 + }
  2036 + </Row>
  2037 + </Checkbox.Group>
  2038 + </div>
  2039 + </AntdDraggableModal>
  2040 + : ''
  2041 + }
  2042 + {
  2043 + visibleModal ?
  2044 + <AntdDraggableModal
  2045 + title={setMaterailRemark}
  2046 + width="1200"
  2047 + bodyStyle={{ paddingBottom: 0, zIndex: 1000 }}
  2048 + visible={pane.notCurrentPane ? false : visibleModal}
  2049 + onCancel={this.handleCancelModal.bind(this, 'visibleModal')}
  2050 + onSaveState={this.props.onSaveState}
  2051 + forbidResize
  2052 + footer={[
  2053 + <Button key="back" onClick={this.handleCancelModal.bind(this, 'visibleModal')}>{BtnClose}</Button>,
  2054 + <Button key="submit" type="primary" onClick={this.handleOkModal.bind(this)}>
  2055 + {btnSure}
  2056 + </Button>,
  2057 + ]}
  2058 + >
  2059 + {
  2060 + (pane.notCurrentPane ? false : processChooseVisible) ?
  2061 + <AntdDraggableModal
  2062 + width={1100}
  2063 + className="MProcess"
  2064 + bodyStyle={{ paddingBottom: 0, maxHeight: 520, zIndex: 2000 }}
  2065 + title={commonUtils.isEmptyObject(searchProcessType) ? setProcessTitle : searchProcessType.app.currentPane.title}
  2066 + onCancel={this.handleCancelModal.bind(this, 'processChooseVisible')}
  2067 + visible={pane.notCurrentPane ? false : processChooseVisible}
  2068 + onSaveState={this.props.onSaveState}
  2069 + footer={null}
  2070 + >
  2071 + <CommonListSelectTree {...searchProcessType} />
  2072 + </AntdDraggableModal>
  2073 + : ''
  2074 + }
  2075 + {
  2076 + (pane.notCurrentPane ? false : materialsChooseVisible) ?
  2077 + <AntdDraggableModal
  2078 + bodyStyle={{ paddingBottom: 0, maxHeight: 520, zIndex: 2000 }}
  2079 + className="MProcess"
  2080 + width={1100}
  2081 + title={commonUtils.isEmptyObject(searchMaterialsType) ? setMaterialTitle : searchMaterialsType.app.currentPane.title}
  2082 + onCancel={this.handleCancelModal.bind(this, 'materialsChooseVisible')}
  2083 + visible={pane.notCurrentPane ? false : materialsChooseVisible}
  2084 + onSaveState={this.props.onSaveState}
  2085 + footer={null}
  2086 + >
  2087 + <CommonListSelect {...searchMaterialsType} />
  2088 + </AntdDraggableModal>
  2089 + : ''
  2090 + }
  2091 + <div id="ModalMaterialRemark" >
  2092 + {
  2093 + sModelsType === 'sales/salesOrderPack' && false ?
  2094 + <div style={{
  2095 + marginTop: 0, height: '180px', overflowY: 'hidden', overflowX: 'hidden',
  2096 +}}
  2097 + >
  2098 + <div className="xly-bill-pack">
  2099 + <Sider className="controlhandcover">
  2100 + <div className="xly-control">
  2101 + <div style={{ backgroundColor: '#f5f5f5', height: '30px', lineHeight: '30px' }}>
  2102 + <span style={{
  2103 + fontSize: '12px', color: 'rgba(0, 0, 0, 0.85)', fontWeight: '600', paddingLeft: '8px',
  2104 +}}
  2105 + >部件信息
  2106 + </span>
  2107 + </div>
  2108 + <div className="xly-control-tree"><StaticEditTree {...treeProps} /></div>
  2109 + <div className="xly-control-operate" >
  2110 + <span>{operateAdd}</span>
  2111 + <span>{operateAddChild}</span>
  2112 + <span>{operateCopy}</span>
  2113 + <span>{operateUpdate}</span>
  2114 + <span>{operateDel}</span>
  2115 + </div>
  2116 + </div>
  2117 + </Sider>
  2118 + <div style={{ overflowX: 'auto', overflowY: 'hidden' }}>
  2119 + <StaticEditTable {...controlPropsType} footer="hidden" setOpterationColumn="Y" />
  2120 + </div>
  2121 + </div>
  2122 + </div> :
  2123 + <div className='xly-commonbill-choose' style={{ marginTop: 0, overflowY: 'hidden' }} >
  2124 + <Layout>
  2125 + <Sider style={{width: 32}}>
  2126 + {controlInfo}
  2127 + </Sider>
  2128 + <Content>
  2129 + <StaticEditTable {...controlPropsType} footer="hidden" setOpterationColumn="Y" />
  2130 + </Content>
  2131 + </Layout>
  2132 + </div>
  2133 + }
  2134 + <div className='xly-commonbill-choose' style={{ marginTop: 10, overflowY: 'hidden' }}>
  2135 + <Layout>
  2136 + <Sider style={{width: 32, backgroundColor: '#fff8e6'}}>
  2137 + {materialsInfo}
  2138 + </Sider>
  2139 + <Content>
  2140 + <StaticEditTable {...materialsPropsType} setOpterationColumn="Y" />
  2141 + </Content>
  2142 + </Layout>
  2143 + </div>
  2144 + <div className='xly-commonbill-choose' style={{ marginTop: 10, overflowY: 'hidden' }} id="chooseProcessModal">
  2145 + <Layout>
  2146 + <Sider style={{width: 32, backgroundColor: '#fff8e6'}}>
  2147 + {processInfo}
  2148 + </Sider>
  2149 + <Content>
  2150 + <StaticEditTable {...processPropsType} setOpterationColumn="Y" noVlist />
  2151 + </Content>
  2152 + </Layout>
  2153 + </div>
  2154 + </div>
  2155 + </AntdDraggableModal>
  2156 + : ''}
  2157 + </div>
  2158 + </Spin>
  2159 + </div>
  2160 + );
  2161 + }
  2162 +}
  2163 +
  2164 +const BillComponent = Form.create({
  2165 + mapPropsToFields(props) {
  2166 + const { masterData, masterConfig } = props;
  2167 + const obj = commonFunc.mapPropsToFields(masterData, Form, masterConfig);
  2168 + return obj;
  2169 + },
  2170 +})((props) => {
  2171 + const {
  2172 + form,
  2173 + onReturnForm,
  2174 + slaveData,
  2175 + slavePagination,
  2176 + onlyMaster,
  2177 + sModelsId,
  2178 + app,
  2179 + onlyMasterAndSlave,
  2180 + masterConfig,
  2181 + slaveConfig,
  2182 + checkConfig,
  2183 + isSmall,
  2184 + isGetDataVisible,
  2185 + onGetDataCancel,
  2186 + onGetDataOk,
  2187 + colseGetDataVisible,
  2188 + sModelsType,
  2189 + masterData,
  2190 + bDelegate, /* 是否已经转办 */
  2191 + } = props;
  2192 + /* 回带表单 */
  2193 + onReturnForm(form);
  2194 +
  2195 + const { currentPane } = app;
  2196 + let bFlow = currentPane?.bFlow; /* 是否需要展示审批流程信息 */
  2197 +
  2198 + if(bDelegate) {
  2199 + bFlow = false;
  2200 + }
  2201 +
  2202 + let pageSize = commonConfig.pageSize;
  2203 + if (props.slaveConfig && props.slaveConfig.iPageSize) {
  2204 + pageSize = props.slaveConfig.iPageSize;
  2205 + }
  2206 + const pagination = {
  2207 + pageSize,
  2208 + total: commonUtils.isEmptyArr(slaveData) ? 0 : slaveData.length,
  2209 + current: commonUtils.isEmptyObject(slavePagination) ? 1 : slavePagination.current,
  2210 + ...slavePagination,
  2211 + // showQuickJumper: true,
  2212 + hideOnSinglePage: false,
  2213 + size: isSmall ? 'small' : 'large',
  2214 + pageSizeOptions: commonConfig.pageSizeOptions,
  2215 + showSizeChanger: !isSmall,
  2216 + showQuickJumper: !isSmall,
  2217 + };
  2218 + const templateProps = props.formData.filter(item => item.sGrd === 'importTemplate')[0];
  2219 + let setMaterialRemark = {
  2220 + title: '材料与工艺',
  2221 + width: { width },
  2222 + height: { height },
  2223 + img: <img src={MaterialRemarkIcon} alt="材料与工艺" width={width} height={height} />,
  2224 + disableimg: <img src={DisMaRemarklIcon} alt="材料与工艺不可用" width={width} height={height} />,
  2225 + };
  2226 + /* 获取toolbar 选择材料 */
  2227 + let searchMaterialsType = {};
  2228 + let chooseMaterialsConfig = {};
  2229 + if (commonUtils.isNotEmptyObject(slaveConfig)) {
  2230 + const iIndex = slaveConfig.gdsconfigformslave.findIndex(item => item.sControlName === 'BtnChooseMaterials');
  2231 + if (iIndex > -1) {
  2232 + chooseMaterialsConfig = slaveConfig.gdsconfigformslave[iIndex];
  2233 + }
  2234 + }
  2235 + if (commonUtils.isNotEmptyObject(props.materialsChooseData)) {
  2236 + searchMaterialsType = {
  2237 + app: {
  2238 + ...props.app,
  2239 + currentPane: {
  2240 + name: 'materials',
  2241 + config: chooseMaterialsConfig,
  2242 + conditonValues: props.getSqlCondition(chooseMaterialsConfig),
  2243 + title: props.materialsChooseData.sMenuName,
  2244 + route: props.materialsChooseData.sName,
  2245 + formId: props.materialsChooseData.sId,
  2246 + key: sModelsId + props.materialsChooseData.sId,
  2247 + sModelsType: props.materialsChooseData.sModelType,
  2248 + select: props.onSelect,
  2249 + selectCancel: props.onSelectCancel,
  2250 + },
  2251 + },
  2252 + dispatch: props.dispatch,
  2253 + content: props.content,
  2254 + id: new Date().getTime().toString(),
  2255 + realizeHeight: props.realizeHeight, /* 拖动偏移高度 */
  2256 + };
  2257 + }
  2258 +
  2259 + /* 调用产品工艺卡 */
  2260 + let productProcessInfoType = {};
  2261 + let productProcessInfoConfig = {};
  2262 + let processCardSearchResult = commonFunc.showMessage(app.commonConst, 'processCardSearchResult');/* 复制从工艺卡查询结果 */
  2263 + if (commonUtils.isNotEmptyObject(props.productProcessInfoChooseData)) {
  2264 + const productProcessInfoCopyFromKey = props.productProcessInfoCopyFromKey;
  2265 + const iIndex = props.masterConfig.gdsconfigformslave.findIndex(item => item.sControlName === productProcessInfoCopyFromKey);
  2266 + if (iIndex > -1) {
  2267 + productProcessInfoConfig = props.masterConfig.gdsconfigformslave[iIndex];
  2268 + processCardSearchResult = commonUtils.isNotEmptyObject(productProcessInfoConfig) && commonUtils.isNotEmptyObject(productProcessInfoConfig.sActiveName) ? productProcessInfoConfig.sActiveName : processCardSearchResult;
  2269 + }
  2270 + productProcessInfoType = {
  2271 + app: {
  2272 + ...props.app,
  2273 + currentPane: {
  2274 + name: 'productProcessInfo',
  2275 + config: productProcessInfoConfig,
  2276 + conditonValues: props.getSqlCondition(productProcessInfoConfig),
  2277 + title: props.productProcessInfoChooseData.sMenuName,
  2278 + route: props.productProcessInfoChooseData.sName,
  2279 + formId: props.productProcessInfoChooseData.sId,
  2280 + key: sModelsId + props.productProcessInfoChooseData.sId,
  2281 + sModelsType: props.productProcessInfoChooseData.sModelType,
  2282 + select: props.onSelect,
  2283 + selectCancel: props.onSelectCancel,
  2284 + },
  2285 + },
  2286 + dispatch: props.dispatch,
  2287 + content: props.content,
  2288 + id: new Date().getTime().toString(),
  2289 + };
  2290 + }
  2291 +
  2292 +
  2293 + /* 显示导入报错信息 */
  2294 + let importExcelProps = {};
  2295 + let importExcelTitle = commonUtils.isNotEmptyObject(commonFunc.showMessage(app.commonConst, 'processCardSearchResult')) ?
  2296 + commonFunc.showMessage(app.commonConst, 'importErrorMsg') : '导入校验信息'; /* 导入校验信息 */
  2297 + if (commonUtils.isNotEmptyObject(props)) {
  2298 + importExcelProps = {
  2299 + ...commonBusiness.getTableTypes('import', props),
  2300 + tableProps: {
  2301 + setAdd, setCopy, setCopyAll, setDelete, setMaterialRemark, setMaterial, chooseMaterialsConfigRow: chooseMaterialsConfig, pagination:null, onChange: props.onTitleChange,
  2302 + AutoTableHeight: 400,
  2303 + },
  2304 + onDelRow: props.onDelRow,
  2305 + onKeyDown: props.onKeyDown,
  2306 + onContextMenu: props.onContextMenu,
  2307 + masterData: props.masterData, // 为通用弹窗提供主表数据(孟总需求:产品新增需要带上客户信息)
  2308 + tableBelone: 'list',
  2309 + };
  2310 + }
  2311 +
  2312 +
  2313 + /* 导入收付款未清数据 */
  2314 + let importPopupProps = {};
  2315 + let importPopupTitle = '导入未清数据';
  2316 + if (commonUtils.isNotEmptyObject(props)) {
  2317 + let importPopupConfig = {};
  2318 + const {
  2319 + masterConfig, sModelsId,
  2320 + } = props;
  2321 + if (commonUtils.isNotEmptyObject(masterConfig)) {
  2322 + const iIndex = masterConfig.gdsconfigformslave.findIndex(item => item.sControlName === 'BtnImportFormData' && item.bVisible);
  2323 + if (iIndex > -1) {
  2324 + importPopupConfig = masterConfig.gdsconfigformslave[iIndex];
  2325 + importPopupTitle = commonUtils.isNotEmptyObject(importPopupConfig) && commonUtils.isNotEmptyObject(importPopupConfig.sActiveName) ? importPopupConfig.sActiveName : importPopupTitle;
  2326 + importPopupProps = {
  2327 + app: {
  2328 + ...props.app,
  2329 + currentPane: {
  2330 + name: 'commonPopup',
  2331 + config: importPopupConfig,
  2332 + conditonValues: {},
  2333 + title: importPopupTitle,
  2334 + route: '/indexPage/commonList',
  2335 + formRoute: '/indexPage/commonList',
  2336 + formId: importPopupConfig.sActiveId,
  2337 + key: sModelsId + importPopupConfig.sId,
  2338 + sModelsType: 'search/importFormData',
  2339 + select: props.onSelect,
  2340 + selectCancel: props.handleCancelModal.bind(this, 'importFormDataVisible'),
  2341 + bFilterProName: props.bFilterProName, /* 存储过程查询ID */
  2342 + bFilterProValue: props.bFilterProValue, /* 存储过程查询VALUE */
  2343 + },
  2344 + },
  2345 + dispatch: props.dispatch,
  2346 + content: props.content,
  2347 + id: new Date().getTime().toString(),
  2348 + realizeHeight: props.realizeHeight, /* 拖动偏移高度 */
  2349 + };
  2350 + }
  2351 + }
  2352 + }
  2353 +
  2354 + // const saleOrder = commonFunc.showMessage(app.commonConst, 'saleOrder');/* 销售订单 s*/
  2355 + setMaterialRemark = props.sModelsType !== undefined && props.sModelsType.includes('sales/salesOrder') ? setMaterialRemark : null;
  2356 + /* 通过从表是否配置材料与工艺按钮的显示不显示来判断是否有选择材料与工艺 */
  2357 + const materialRemarkArr = commonUtils.isNotEmptyObject(slaveConfig) ? slaveConfig.gdsconfigformslave.filter(item => item.sControlName &&
  2358 + item.sControlName.includes('BtnSetMaterialRemark')) : [];
  2359 + if(commonUtils.isNotEmptyArr(materialRemarkArr)) {
  2360 + setMaterialRemark = materialRemarkArr[0].bVisible ? setMaterialRemark : null;
  2361 + }
  2362 + const bBillTree = commonUtils.isNotEmptyObject(slaveConfig) && slaveConfig.sTableType && slaveConfig.sTableType.includes('multiple'); /* 是否是树形的单据 */
  2363 + const bSingleTree = commonUtils.isNotEmptyObject(slaveConfig) && slaveConfig.sTableType === 'single'; /* 单表数据 */
  2364 + const bShowTreeAddChild = commonUtils.isNotEmptyObject(slaveConfig) && commonUtils.isNotEmptyArr(slaveConfig.gdsconfigformslave.filter(item => item.sControlName.includes('BtnAddChildNode') && item.bVisible)) ? true : false ; /* 是否是树形的单据 */
  2365 +
  2366 + const slaveTableProps = {
  2367 + ...commonBusiness.getTableTypes('slave', props),
  2368 + tableProps: {
  2369 + setAdd, setCopy, setCopyAll, setDelete, setMaterialRemark, setMaterial, chooseMaterialsConfigRow: chooseMaterialsConfig,
  2370 + pagination, onChange: props.onTitleChange, bShowTreeAddChild:bShowTreeAddChild,
  2371 + },
  2372 + data: bSingleTree && commonUtils.isNotEmptyArr(slaveData) ? commonUtils.genTreeByArr(slaveData, 'sNodeId', 'sFatherSlaveId') : slaveData,
  2373 + onDelRow: props.onDelRow,
  2374 + onTableFilterData: bBillTree ? props.onTableFilterData : null,
  2375 + templateProps,
  2376 + sTableType : commonUtils.isNotEmptyObject(slaveConfig) && commonUtils.isNotEmptyObject(slaveConfig.sTableType) ? slaveConfig.sTableType : 'zero',
  2377 + onKeyDown: props.onKeyDown,
  2378 + onContextMenu: props.onContextMenu,
  2379 + masterData: props.masterData, // 为通用弹窗提供主表数据(孟总需求:产品新增需要带上客户信息)
  2380 + onTreeAddChild: props.onDataRowAddChild,
  2381 + customConfig: props.customConfig,
  2382 + handleCheckBoxStatus: props.handleCheckBoxStatus,
  2383 + };
  2384 + let gdsconfigformmasterId = '';
  2385 + if (templateProps !== undefined) {
  2386 + gdsconfigformmasterId = templateProps.sId;
  2387 + }
  2388 +
  2389 + const sNotEmpty = 'sParentId,sProductId';
  2390 + let uploadUrl = `${commonConfig.server_host}import/checkExcel?sModelsId=${sModelsId}&gdsconfigformmasterId=${gdsconfigformmasterId}&sNotEmpty=${sNotEmpty}&token=${app.token}`;
  2391 + /* 送货单需要传客户id */
  2392 + if (commonUtils.isNotEmptyObject(sModelsType) && sModelsType === 'sales/salesSgoods' && commonUtils.isNotEmptyObject(masterData)) {
  2393 + const sCustomerId = masterData.sCustomerId;
  2394 + if (commonUtils.isNotEmptyObject(sCustomerId)) {
  2395 + uploadUrl = `${commonConfig.server_host}import/checkExcel?sModelsId=${sModelsId}&gdsconfigformmasterId=${gdsconfigformmasterId}&sNotEmpty=${sNotEmpty}&sCustomerId=${sCustomerId}&token=${app.token}`;
  2396 + }
  2397 + }
  2398 + const outProps = {
  2399 + action: uploadUrl,
  2400 + onChange: props.onUploadChangeFile, /* 文件上传 */
  2401 + accept: 'xls/*',
  2402 + showUploadList: false,
  2403 + beforeUpload: () => {
  2404 + /* 查看时不可上传 */
  2405 + if (!props.enabled) return false;
  2406 + },
  2407 + };
  2408 + const uploadPropsSales = props.onUploadPropsSales();
  2409 + let MainContent = commonFunc.showMessage(app.commonConst, 'MainContent');/* 主体内容 */
  2410 + const isGetData = commonFunc.showMessage(app.commonConst, 'isGetData');/* 确认获取库存为零的数据吗 */
  2411 + const isFilterGetDataZero = commonFunc.showMessage(app.commonConst, 'isFilterGetDataZero');
  2412 + const isAllGetData = commonFunc.showMessage(app.commonConst, 'isAllGetData');
  2413 + let CheckInfo = commonFunc.showMessage(app.commonConst, 'CheckInfo');/* 审批信息 */
  2414 + const BtnimportData = commonFunc.showMessage(app.commonConst, 'importData');/* 导入数据 */
  2415 + const ImportData = commonUtils.isNotEmptyObject(masterConfig) ? masterConfig.gdsconfigformslave.filter(item => item.sControlName.includes('ImportData') && item.bVisible) : '';/* 后台是否配置导入 */
  2416 +
  2417 + if (commonUtils.isNotEmptyObject(masterConfig)) {
  2418 + const iIndex0 = masterConfig.gdsconfigformslave.findIndex(item => item.sControlName === 'zSlaveInfo0');
  2419 + if (iIndex0 > -1) {
  2420 + MainContent = masterConfig.gdsconfigformslave[iIndex0].showName;
  2421 + }
  2422 + const iIndex1 = masterConfig.gdsconfigformslave.findIndex(item => item.sControlName === 'zSlaveInfo1');
  2423 + if (iIndex1 > -1) {
  2424 + CheckInfo = masterConfig.gdsconfigformslave[iIndex1].showName;
  2425 + }
  2426 + }
  2427 +
  2428 + const getTabPaneExtra = (tableName) => {
  2429 + const {
  2430 + [`${tableName}Data`]: data,
  2431 + [`${tableName}SelectedRowKeys`]: selectedRowKeys
  2432 + } = props;
  2433 +
  2434 + let { [`${tableName}Config`]: config } = props;
  2435 + config = props.onMergeSlaveConfig(config);
  2436 + if (!commonUtils.isNotEmptyObject(config) || !commonUtils.isNotEmptyArr(config.gdsconfigformslave)) {
  2437 + return "";
  2438 + }
  2439 +
  2440 + const controlArr = config.gdsconfigformslave.filter(
  2441 + item => (
  2442 + item.bControl &&
  2443 + item.sControlName &&
  2444 + item.sControlName.indexOf('Btn') === -1 &&
  2445 + item.sControlName.indexOf('_') !== -1
  2446 + ) || (
  2447 + item.sControlName &&
  2448 + item.sControlName.indexOf('DividerArea') !== -1 &&
  2449 + item.sControlName.indexOf('.hide') === -1
  2450 + )
  2451 + );
  2452 +
  2453 + if (commonUtils.isEmptyArr(controlArr)) {
  2454 + return "";
  2455 + }
  2456 +
  2457 + const controlGroup = controlArr.reduce((result, item) => {
  2458 + const { sControlName } = item;
  2459 + const splitList = sControlName.split('_');
  2460 + const key = splitList[1];
  2461 + if (!result[key]) {
  2462 + result[key] = [];
  2463 + }
  2464 + result[key].push(item);
  2465 + return result;
  2466 + }, {});
  2467 +
  2468 + let viewRow = {};
  2469 + if (commonUtils.isNotEmptyArr(selectedRowKeys)) {
  2470 + const iIndex = data.findIndex(item => selectedRowKeys.includes(item.sId));
  2471 + if (iIndex > -1) {
  2472 + viewRow = data[iIndex];
  2473 + } else {
  2474 + viewRow = data[0];
  2475 + }
  2476 + } else if (commonUtils.isNotEmptyArr(data)) {
  2477 + viewRow = data[0];
  2478 + }
  2479 +
  2480 + return Object.keys(controlGroup).map((tabNameKey) => {
  2481 + const tabName = tabNameKey.replace(/\d+/g, "");
  2482 + const num = tabNameKey.replace(/[^\d]/g, "").trim();
  2483 +
  2484 + const viewProps = {
  2485 + ...props,
  2486 + viewConfigs: controlGroup[tabNameKey],
  2487 + tableConfig: config,
  2488 + iColValueView: 24,
  2489 + viewRow,
  2490 + tableName,
  2491 + };
  2492 +
  2493 + return (
  2494 + <TabPane
  2495 + tab={tabName}
  2496 + key={num}
  2497 + className={`xly-bill-list commonNewBillContainer ${customStyles.commonViewTable}`}
  2498 + >
  2499 + <div className="TabPaneStyle">
  2500 + <CommonViewTable {...viewProps} />
  2501 + </div>
  2502 + </TabPane>
  2503 + );
  2504 + });
  2505 + }
  2506 +
  2507 + const flexRowStyle = bFlow ? {display:'flex', flexDirection:'row'} : {};
  2508 + /*
  2509 + if (props.sModelsType === 'sales/salesOrder') {
  2510 + const btnUpload = (
  2511 + <Upload {...outProps}>
  2512 + <Button {...uploadPropsSales}>
  2513 + <Icon type="upload" /> 导入数据
  2514 + </Button>
  2515 + </Upload>);
  2516 + slaveTableProps.tableProps.newButton = btnUpload;
  2517 + }
  2518 + */
  2519 + return (
  2520 + <Form>
  2521 + <Layout>
  2522 + <Header className={styles.header}>
  2523 + <div className="billToolBar">
  2524 + <Toolbar {...props} className="billBtnGroup btnGroupHasImport" pageFrom="billList" />
  2525 + { commonUtils.isNotEmptyArr(ImportData) ?
  2526 + <div id="btnImportData" className={`importData ${props.enabled}`} >
  2527 + <Upload {...outProps}><UploadOutlined />{BtnimportData}
  2528 + <Button {...uploadPropsSales} />
  2529 + </Upload>
  2530 + </div> : ''}
  2531 + </div>
  2532 + </Header>
  2533 + <Layout className={styles.clayout} style={flexRowStyle}>
  2534 + <Content className={styles.content} style={{ overflowY: 'unset', width: bFlow ? '75%':'100%', }} ref={(ref) => { props.setContentRef(ref); }}>
  2535 + <div style={{
  2536 + border: '1px solid #c2c3c5',
  2537 + margin: '0 10px',
  2538 + marginTop: 8,
  2539 + backgroundColor: '#ffffff',
  2540 + }}
  2541 + >
  2542 + <div className="bill-search-group" >
  2543 + <CommonView {...props} />
  2544 + </div>
  2545 + </div>
  2546 + { onlyMaster ?
  2547 + <div id="slaveTabs" className={styles.bShow}>
  2548 + <div>
  2549 + <Avatar src={props.imgSrc} className={customStyles.bShowImg} />
  2550 + </div>
  2551 + </div> :
  2552 + <div id="slaveTabs" className={styles.bShow}>
  2553 + <div>
  2554 + <Avatar src={props.imgSrc} />
  2555 + </div>
  2556 + <Tabs className={styles.slaveTabs} style={{ overflowY: 'unset' }} tabBarStyle={{ margin: '0 10px' }} >
  2557 + <TabPane tab={MainContent} key={10} className="xly-bill-list">
  2558 + <div className="TabPaneStyle">
  2559 + <StaticEditTable {...slaveTableProps} setOpterationColumn={props.sModelsType !== 'cost/cosexpenseshare' ? 'Y' : ''} />
  2560 + </div>
  2561 + </TabPane>
  2562 + {getTabPaneExtra('slave')}
  2563 + {
  2564 + commonUtils.isNotEmptyObject(checkConfig) ?
  2565 + (
  2566 + <>
  2567 + <TabPane tab={CheckInfo} key={20} className="xly-bill-list">
  2568 + <div className="TabPaneStyle">
  2569 + <StaticEditTable {...commonBusiness.getTableTypes('check', props)} />
  2570 + </div>
  2571 + </TabPane>
  2572 + {getTabPaneExtra('check')}
  2573 + </>
  2574 + ) : ''
  2575 + }
  2576 + </Tabs>
  2577 + </div> }
  2578 + { onlyMasterAndSlave ?
  2579 + <div id="slaveTabs" className={styles.bShow}>
  2580 + <div>
  2581 + <Avatar src={props.imgSrc} />
  2582 + </div>
  2583 + <Tabs className={styles.slaveTabs} style={{ margin: '0px!important', overflowX: 'hidden', overflowY: 'unset' }} tabBarStyle={{ margin: '0 10px' }} >
  2584 + <TabPane tab={MainContent} key={10} className="xly-bill-list">
  2585 + <StaticEditTable {...slaveTableProps} setOpterationColumn={props.sModelsType !== 'cashier/receipt' && props.sModelsType !== 'cashier/payment' ? 'Y' : ''} />
  2586 + </TabPane>
  2587 + {getTabPaneExtra('slave')}
  2588 + </Tabs>
  2589 + </div> : '' }
  2590 + </Content>
  2591 + {
  2592 + bFlow ?
  2593 + <div id='examInfo' style={{width:'25%', textAlign:'center', height:'900px', maxHeight: 'calc(100vh - 130px)' , backgroundColor:'#f0f0f0'}}>
  2594 + <CommonExamInfo {...props} />
  2595 + </div>
  2596 + : ''
  2597 + }
  2598 + </Layout>
  2599 + </Layout>
  2600 + {
  2601 + isGetDataVisible ?
  2602 + <AntdDraggableModal
  2603 + visible={isGetDataVisible}
  2604 + title="获取数据"
  2605 + onOk={onGetDataOk}
  2606 + onCancel={colseGetDataVisible}
  2607 + footer={[
  2608 + <Button key="back" onClick={onGetDataCancel}>
  2609 + {isAllGetData}
  2610 + </Button>,
  2611 + <Button key="submit" type="primary" onClick={onGetDataOk}>
  2612 + {isFilterGetDataZero}
  2613 + </Button>,
  2614 + ]}
  2615 + >
  2616 + <p>{isGetData}</p>
  2617 + </AntdDraggableModal>
  2618 + : ''
  2619 + }
  2620 + {
  2621 + props.materialsChooseVisible && !props.visibleModal ?
  2622 + <AntdDraggableModal
  2623 + width={1300}
  2624 + title={props.setMaterialTitle}
  2625 + visible={props.materialsChooseVisible}
  2626 + onCancel={props.handleCancelModal.bind(this, 'materialsChooseVisible')}
  2627 + onSaveState={props.onSaveState}
  2628 + footer={null}
  2629 + >
  2630 + <CommonListSelect {...searchMaterialsType} />
  2631 + </AntdDraggableModal>
  2632 + : ''
  2633 + }
  2634 +
  2635 +
  2636 + {
  2637 + props.productProcessInfoChooseVisible ?
  2638 + <AntdDraggableModal
  2639 + width={1200}
  2640 + title={processCardSearchResult}
  2641 + visible={props.productProcessInfoChooseVisible}
  2642 + onCancel={props.handleCancelModal.bind(this, 'productProcessInfoChooseVisible')}
  2643 + footer={null}
  2644 + wrapClassName="worker-order-pack-modal"
  2645 + >
  2646 + <CommonListSelect {...productProcessInfoType} />
  2647 + </AntdDraggableModal> : ''
  2648 + }
  2649 +
  2650 + {
  2651 + props.importFormDataVisible ?
  2652 + <AntdDraggableModal
  2653 + width={1300}
  2654 + zIndex={1000}
  2655 + title={importPopupTitle}
  2656 + visible={props.importFormDataVisible}
  2657 + onCancel={props.handleCancelModal.bind(this, 'importFormDataVisible')}
  2658 + onSaveState={props.onSaveState}
  2659 + footer={null}
  2660 + >
  2661 + <CommonListSelect {...importPopupProps} />
  2662 + </AntdDraggableModal>
  2663 + : ''
  2664 + }
  2665 + {
  2666 + props.contextMenuModalVisible ?
  2667 + <ContextMenuModal {...props} />
  2668 + : ''
  2669 + }
  2670 + {
  2671 + props.showImportErrorVisible ?
  2672 + <AntdDraggableModal
  2673 + width={1480}
  2674 + zIndex={1000}
  2675 + title={importExcelTitle}
  2676 + bodyStyle ={{ height:'450px' }}
  2677 + visible={props.showImportErrorVisible}
  2678 + onCancel={props.handleCancelModal.bind(this, 'showImportErrorVisible')}
  2679 + onOk={props.handleCancelModal.bind(this, 'showImportErrorVisible')}
  2680 + onSaveState={props.onSaveState}
  2681 + // footer={null}
  2682 + >
  2683 + <StaticEditTable {...importExcelProps} />
  2684 + </AntdDraggableModal>
  2685 + : ''
  2686 + }
  2687 + </Form>
  2688 + );
  2689 +});
  2690 +
  2691 +export default CommonBase(CommonSales(CommonBill));
... ...
src/components/Common/CommonBill/index.less 0 → 100644
  1 +@import "~@/variable.less";
  2 +.bShowImg{
  3 + position: fixed;
  4 + width: 90px;
  5 + height: 90px;
  6 + right: 0px;
  7 + z-index: 999;
  8 + top: 122px;
  9 + img{
  10 + width: 100%;
  11 + height: 100%;
  12 + object-fit: contain;
  13 + object-position: center;
  14 + }
  15 +}
  16 +
  17 +:global {
  18 + .xly-commonbill-choose {
  19 + .ant-layout-sider {
  20 + width: 32px !important;
  21 + flex: 0 0 32px !important;
  22 + width: 32px !important;
  23 + max-width: 32px !important;
  24 + min-width: 32px !important;
  25 + background-color: #e6f7ff;
  26 + writing-mode: tb-rl;
  27 + text-align: center;
  28 + letter-spacing:0px;
  29 + line-height: 32px;
  30 + font-size: 12px;
  31 + font-weight: bold;
  32 + border: 1px solid #cfcece;
  33 + }
  34 + .ant-table-row {
  35 + td{
  36 + padding: 0 !important;
  37 + }
  38 + }
  39 + }
  40 +}
  41 +
  42 +.commonViewTable {
  43 + :global {
  44 + .sActiveIdStyleBlock{
  45 + width: 100%;
  46 + }
  47 + .masterLinkSpan{
  48 + margin: 3px 0 0 1px;
  49 + padding: 0px 6px 0 6px;
  50 + white-space: nowrap;
  51 + word-break: break-all;
  52 + text-overflow: ellipsis;
  53 + overflow: hidden;
  54 + background: #fff;
  55 + }
  56 + .viewStyle {
  57 + padding: 0 20px 0 16px;
  58 + }
  59 + .ant-form-item[class*="formItemMargin"] {
  60 + padding-right: 30px;
  61 + }
  62 + }
  63 +}
  64 +
... ...