@jiangood/open-admin 1.1.1 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -40,15 +40,15 @@
40
40
  "dev": "umi dev",
41
41
  "build": "umi build"
42
42
  },
43
- "version": "1.1.1"
43
+ "version": "1.2.0"
44
44
  },
45
45
  "pkgPath": "/home/runner/work/open-admin/open-admin/web/package.json",
46
46
  "plugins": {
47
- "./node_modules/.pnpm/@umijs+core@4.6.25/node_modules/@umijs/core/dist/service/servicePlugin": {
47
+ "./node_modules/.pnpm/@umijs+core@4.6.27/node_modules/@umijs/core/dist/service/servicePlugin": {
48
48
  "cwd": "/home/runner/work/open-admin/open-admin/web",
49
49
  "type": "preset",
50
- "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+core@4.6.25/node_modules/@umijs/core/dist/service/servicePlugin.js",
51
- "id": "./node_modules/.pnpm/@umijs+core@4.6.25/node_modules/@umijs/core/dist/service/servicePlugin",
50
+ "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+core@4.6.27/node_modules/@umijs/core/dist/service/servicePlugin.js",
51
+ "id": "./node_modules/.pnpm/@umijs+core@4.6.27/node_modules/@umijs/core/dist/service/servicePlugin",
52
52
  "key": "servicePlugin",
53
53
  "config": {},
54
54
  "time": {
@@ -60,7 +60,7 @@
60
60
  "@umijs/preset-umi": {
61
61
  "cwd": "/home/runner/work/open-admin/open-admin/web",
62
62
  "type": "preset",
63
- "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/index.js",
63
+ "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/index.js",
64
64
  "id": "@umijs/preset-umi",
65
65
  "key": "umi",
66
66
  "config": {},
@@ -70,11 +70,11 @@
70
70
  },
71
71
  "enableBy": "register"
72
72
  },
73
- "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/registerMethods": {
73
+ "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/registerMethods": {
74
74
  "cwd": "/home/runner/work/open-admin/open-admin/web",
75
75
  "type": "plugin",
76
- "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/registerMethods.js",
77
- "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/registerMethods",
76
+ "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/registerMethods.js",
77
+ "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/registerMethods",
78
78
  "key": "registerMethods",
79
79
  "config": {},
80
80
  "time": {
@@ -104,11 +104,11 @@
104
104
  },
105
105
  "enableBy": "register"
106
106
  },
107
- "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/404/404": {
107
+ "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/404/404": {
108
108
  "cwd": "/home/runner/work/open-admin/open-admin/web",
109
109
  "type": "plugin",
110
- "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/404/404.js",
111
- "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/404/404",
110
+ "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/404/404.js",
111
+ "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/404/404",
112
112
  "key": "404",
113
113
  "config": {},
114
114
  "time": {
@@ -121,41 +121,41 @@
121
121
  },
122
122
  "enableBy": "register"
123
123
  },
124
- "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/aiDev/aiDev": {
124
+ "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/aiDev/aiDev": {
125
125
  "cwd": "/home/runner/work/open-admin/open-admin/web",
126
126
  "type": "plugin",
127
- "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/aiDev/aiDev.js",
128
- "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/aiDev/aiDev",
127
+ "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/aiDev/aiDev.js",
128
+ "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/aiDev/aiDev",
129
129
  "key": "aiDev",
130
130
  "config": {},
131
131
  "time": {
132
132
  "hooks": {},
133
- "register": 1
133
+ "register": 2
134
134
  },
135
135
  "enableBy": "register"
136
136
  },
137
- "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/appData/appData": {
137
+ "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/appData/appData": {
138
138
  "cwd": "/home/runner/work/open-admin/open-admin/web",
139
139
  "type": "plugin",
140
- "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/appData/appData.js",
141
- "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/appData/appData",
140
+ "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/appData/appData.js",
141
+ "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/appData/appData",
142
142
  "key": "appData",
143
143
  "config": {},
144
144
  "time": {
145
145
  "hooks": {
146
146
  "modifyAppData": [
147
- 65
147
+ 50
148
148
  ]
149
149
  },
150
- "register": 25
150
+ "register": 27
151
151
  },
152
152
  "enableBy": "register"
153
153
  },
154
- "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/appData/umiInfo": {
154
+ "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/appData/umiInfo": {
155
155
  "cwd": "/home/runner/work/open-admin/open-admin/web",
156
156
  "type": "plugin",
157
- "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/appData/umiInfo.js",
158
- "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/appData/umiInfo",
157
+ "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/appData/umiInfo.js",
158
+ "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/appData/umiInfo",
159
159
  "key": "umiInfo",
160
160
  "config": {},
161
161
  "time": {
@@ -164,11 +164,11 @@
164
164
  },
165
165
  "enableBy": "register"
166
166
  },
167
- "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/check/check": {
167
+ "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/check/check": {
168
168
  "cwd": "/home/runner/work/open-admin/open-admin/web",
169
169
  "type": "plugin",
170
- "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/check/check.js",
171
- "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/check/check",
170
+ "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/check/check.js",
171
+ "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/check/check",
172
172
  "key": "check",
173
173
  "config": {},
174
174
  "time": {
@@ -184,28 +184,28 @@
184
184
  },
185
185
  "enableBy": "register"
186
186
  },
187
- "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/check/babel722": {
187
+ "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/check/babel722": {
188
188
  "cwd": "/home/runner/work/open-admin/open-admin/web",
189
189
  "type": "plugin",
190
- "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/check/babel722.js",
191
- "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/check/babel722",
190
+ "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/check/babel722.js",
191
+ "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/check/babel722",
192
192
  "key": "babel722",
193
193
  "config": {},
194
194
  "time": {
195
195
  "hooks": {
196
196
  "onCheck": [
197
- 1
197
+ 0
198
198
  ]
199
199
  },
200
- "register": 0
200
+ "register": 1
201
201
  },
202
202
  "enableBy": "register"
203
203
  },
204
- "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/codeSplitting/codeSplitting": {
204
+ "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/codeSplitting/codeSplitting": {
205
205
  "cwd": "/home/runner/work/open-admin/open-admin/web",
206
206
  "type": "plugin",
207
- "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/codeSplitting/codeSplitting.js",
208
- "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/codeSplitting/codeSplitting",
207
+ "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/codeSplitting/codeSplitting.js",
208
+ "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/codeSplitting/codeSplitting",
209
209
  "key": "codeSplitting",
210
210
  "config": {},
211
211
  "time": {
@@ -214,11 +214,11 @@
214
214
  },
215
215
  "enableBy": "config"
216
216
  },
217
- "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/configPlugins/configPlugins": {
217
+ "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/configPlugins/configPlugins": {
218
218
  "cwd": "/home/runner/work/open-admin/open-admin/web",
219
219
  "type": "plugin",
220
- "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/configPlugins/configPlugins.js",
221
- "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/configPlugins/configPlugins",
220
+ "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/configPlugins/configPlugins.js",
221
+ "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/configPlugins/configPlugins",
222
222
  "key": "configPlugins",
223
223
  "config": {},
224
224
  "time": {
@@ -227,7 +227,7 @@
227
227
  0
228
228
  ]
229
229
  },
230
- "register": 6
230
+ "register": 5
231
231
  },
232
232
  "enableBy": "register"
233
233
  },
@@ -1070,67 +1070,67 @@
1070
1070
  "register": 0
1071
1071
  }
1072
1072
  },
1073
- "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/crossorigin/crossorigin": {
1073
+ "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/crossorigin/crossorigin": {
1074
1074
  "cwd": "/home/runner/work/open-admin/open-admin/web",
1075
1075
  "type": "plugin",
1076
- "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/crossorigin/crossorigin.js",
1077
- "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/crossorigin/crossorigin",
1076
+ "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/crossorigin/crossorigin.js",
1077
+ "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/crossorigin/crossorigin",
1078
1078
  "key": "crossorigin",
1079
1079
  "config": {},
1080
1080
  "time": {
1081
1081
  "hooks": {},
1082
- "register": 0
1082
+ "register": 1
1083
1083
  },
1084
1084
  "enableBy": "config"
1085
1085
  },
1086
- "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/depsOnDemand/depsOnDemand": {
1086
+ "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/depsOnDemand/depsOnDemand": {
1087
1087
  "cwd": "/home/runner/work/open-admin/open-admin/web",
1088
1088
  "type": "plugin",
1089
- "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/depsOnDemand/depsOnDemand.js",
1090
- "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/depsOnDemand/depsOnDemand",
1089
+ "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/depsOnDemand/depsOnDemand.js",
1090
+ "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/depsOnDemand/depsOnDemand",
1091
1091
  "key": "depsOnDemand",
1092
1092
  "config": {},
1093
1093
  "time": {
1094
1094
  "hooks": {
1095
1095
  "onStart": [
1096
- 0
1096
+ 1
1097
1097
  ]
1098
1098
  },
1099
- "register": 1
1099
+ "register": 0
1100
1100
  },
1101
1101
  "enableBy": "register"
1102
1102
  },
1103
- "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/devTool/devTool": {
1103
+ "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/devTool/devTool": {
1104
1104
  "cwd": "/home/runner/work/open-admin/open-admin/web",
1105
1105
  "type": "plugin",
1106
- "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/devTool/devTool.js",
1107
- "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/devTool/devTool",
1106
+ "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/devTool/devTool.js",
1107
+ "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/devTool/devTool",
1108
1108
  "key": "devTool",
1109
1109
  "config": {},
1110
1110
  "time": {
1111
1111
  "hooks": {},
1112
- "register": 0
1112
+ "register": 1
1113
1113
  },
1114
1114
  "enableBy": "register"
1115
1115
  },
1116
- "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/esbuildHelperChecker/esbuildHelperChecker": {
1116
+ "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/esbuildHelperChecker/esbuildHelperChecker": {
1117
1117
  "cwd": "/home/runner/work/open-admin/open-admin/web",
1118
1118
  "type": "plugin",
1119
- "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/esbuildHelperChecker/esbuildHelperChecker.js",
1120
- "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/esbuildHelperChecker/esbuildHelperChecker",
1119
+ "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/esbuildHelperChecker/esbuildHelperChecker.js",
1120
+ "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/esbuildHelperChecker/esbuildHelperChecker",
1121
1121
  "key": "esbuildHelperChecker",
1122
1122
  "config": {},
1123
1123
  "time": {
1124
1124
  "hooks": {},
1125
- "register": 88
1125
+ "register": 91
1126
1126
  },
1127
1127
  "enableBy": "register"
1128
1128
  },
1129
- "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/esmi/esmi": {
1129
+ "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/esmi/esmi": {
1130
1130
  "cwd": "/home/runner/work/open-admin/open-admin/web",
1131
1131
  "type": "plugin",
1132
- "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/esmi/esmi.js",
1133
- "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/esmi/esmi",
1132
+ "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/esmi/esmi.js",
1133
+ "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/esmi/esmi",
1134
1134
  "key": "esmi",
1135
1135
  "config": {},
1136
1136
  "time": {
@@ -1139,24 +1139,24 @@
1139
1139
  },
1140
1140
  "enableBy": "config"
1141
1141
  },
1142
- "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/exportStatic/exportStatic": {
1142
+ "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/exportStatic/exportStatic": {
1143
1143
  "cwd": "/home/runner/work/open-admin/open-admin/web",
1144
1144
  "type": "plugin",
1145
- "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/exportStatic/exportStatic.js",
1146
- "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/exportStatic/exportStatic",
1145
+ "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/exportStatic/exportStatic.js",
1146
+ "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/exportStatic/exportStatic",
1147
1147
  "key": "exportStatic",
1148
1148
  "config": {},
1149
1149
  "time": {
1150
1150
  "hooks": {},
1151
- "register": 10
1151
+ "register": 12
1152
1152
  },
1153
1153
  "enableBy": "config"
1154
1154
  },
1155
- "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/favicons/favicons": {
1155
+ "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/favicons/favicons": {
1156
1156
  "cwd": "/home/runner/work/open-admin/open-admin/web",
1157
1157
  "type": "plugin",
1158
- "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/favicons/favicons.js",
1159
- "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/favicons/favicons",
1158
+ "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/favicons/favicons.js",
1159
+ "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/favicons/favicons",
1160
1160
  "key": "favicons",
1161
1161
  "config": {},
1162
1162
  "time": {
@@ -1165,28 +1165,28 @@
1165
1165
  0
1166
1166
  ]
1167
1167
  },
1168
- "register": 1
1168
+ "register": 0
1169
1169
  },
1170
1170
  "enableBy": "register"
1171
1171
  },
1172
- "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/helmet/helmet": {
1172
+ "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/helmet/helmet": {
1173
1173
  "cwd": "/home/runner/work/open-admin/open-admin/web",
1174
1174
  "type": "plugin",
1175
- "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/helmet/helmet.js",
1176
- "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/helmet/helmet",
1175
+ "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/helmet/helmet.js",
1176
+ "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/helmet/helmet",
1177
1177
  "key": "helmet",
1178
1178
  "config": {},
1179
1179
  "time": {
1180
1180
  "hooks": {},
1181
- "register": 0
1181
+ "register": 1
1182
1182
  },
1183
1183
  "enableBy": "register"
1184
1184
  },
1185
- "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/icons/icons": {
1185
+ "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/icons/icons": {
1186
1186
  "cwd": "/home/runner/work/open-admin/open-admin/web",
1187
1187
  "type": "plugin",
1188
- "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/icons/icons.js",
1189
- "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/icons/icons",
1188
+ "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/icons/icons.js",
1189
+ "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/icons/icons",
1190
1190
  "key": "icons",
1191
1191
  "config": {},
1192
1192
  "time": {
@@ -1195,11 +1195,11 @@
1195
1195
  },
1196
1196
  "enableBy": "config"
1197
1197
  },
1198
- "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/mock/mock": {
1198
+ "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/mock/mock": {
1199
1199
  "cwd": "/home/runner/work/open-admin/open-admin/web",
1200
1200
  "type": "plugin",
1201
- "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/mock/mock.js",
1202
- "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/mock/mock",
1201
+ "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/mock/mock.js",
1202
+ "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/mock/mock",
1203
1203
  "key": "mock",
1204
1204
  "config": {},
1205
1205
  "time": {
@@ -1207,11 +1207,11 @@
1207
1207
  "register": 32
1208
1208
  }
1209
1209
  },
1210
- "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/mpa/mpa": {
1210
+ "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/mpa/mpa": {
1211
1211
  "cwd": "/home/runner/work/open-admin/open-admin/web",
1212
1212
  "type": "plugin",
1213
- "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/mpa/mpa.js",
1214
- "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/mpa/mpa",
1213
+ "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/mpa/mpa.js",
1214
+ "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/mpa/mpa",
1215
1215
  "key": "mpa",
1216
1216
  "config": {},
1217
1217
  "time": {
@@ -1220,23 +1220,23 @@
1220
1220
  },
1221
1221
  "enableBy": "config"
1222
1222
  },
1223
- "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/okam/okam": {
1223
+ "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/okam/okam": {
1224
1224
  "cwd": "/home/runner/work/open-admin/open-admin/web",
1225
1225
  "type": "plugin",
1226
- "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/okam/okam.js",
1227
- "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/okam/okam",
1226
+ "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/okam/okam.js",
1227
+ "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/okam/okam",
1228
1228
  "key": "okam",
1229
1229
  "config": {},
1230
1230
  "time": {
1231
1231
  "hooks": {},
1232
- "register": 1
1232
+ "register": 0
1233
1233
  }
1234
1234
  },
1235
- "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/overrides/overrides": {
1235
+ "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/overrides/overrides": {
1236
1236
  "cwd": "/home/runner/work/open-admin/open-admin/web",
1237
1237
  "type": "plugin",
1238
- "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/overrides/overrides.js",
1239
- "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/overrides/overrides",
1238
+ "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/overrides/overrides.js",
1239
+ "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/overrides/overrides",
1240
1240
  "key": "overrides",
1241
1241
  "config": {},
1242
1242
  "time": {
@@ -1245,11 +1245,11 @@
1245
1245
  },
1246
1246
  "enableBy": "register"
1247
1247
  },
1248
- "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/phantomDependency/phantomDependency": {
1248
+ "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/phantomDependency/phantomDependency": {
1249
1249
  "cwd": "/home/runner/work/open-admin/open-admin/web",
1250
1250
  "type": "plugin",
1251
- "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/phantomDependency/phantomDependency.js",
1252
- "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/phantomDependency/phantomDependency",
1251
+ "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/phantomDependency/phantomDependency.js",
1252
+ "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/phantomDependency/phantomDependency",
1253
1253
  "key": "phantomDependency",
1254
1254
  "config": {},
1255
1255
  "time": {
@@ -1258,40 +1258,40 @@
1258
1258
  },
1259
1259
  "enableBy": "config"
1260
1260
  },
1261
- "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/polyfill/polyfill": {
1261
+ "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/polyfill/polyfill": {
1262
1262
  "cwd": "/home/runner/work/open-admin/open-admin/web",
1263
1263
  "type": "plugin",
1264
- "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/polyfill/polyfill.js",
1265
- "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/polyfill/polyfill",
1264
+ "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/polyfill/polyfill.js",
1265
+ "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/polyfill/polyfill",
1266
1266
  "key": "polyfill",
1267
1267
  "config": {},
1268
1268
  "time": {
1269
1269
  "hooks": {
1270
1270
  "modifyConfig": [
1271
- 0
1271
+ 1
1272
1272
  ]
1273
1273
  },
1274
1274
  "register": 1
1275
1275
  }
1276
1276
  },
1277
- "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/polyfill/publicPathPolyfill": {
1277
+ "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/polyfill/publicPathPolyfill": {
1278
1278
  "cwd": "/home/runner/work/open-admin/open-admin/web",
1279
1279
  "type": "plugin",
1280
- "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/polyfill/publicPathPolyfill.js",
1281
- "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/polyfill/publicPathPolyfill",
1280
+ "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/polyfill/publicPathPolyfill.js",
1281
+ "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/polyfill/publicPathPolyfill",
1282
1282
  "key": "publicPathPolyfill",
1283
1283
  "config": {},
1284
1284
  "time": {
1285
1285
  "hooks": {},
1286
- "register": 0
1286
+ "register": 1
1287
1287
  },
1288
1288
  "enableBy": "register"
1289
1289
  },
1290
- "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/prepare/prepare": {
1290
+ "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/prepare/prepare": {
1291
1291
  "cwd": "/home/runner/work/open-admin/open-admin/web",
1292
1292
  "type": "plugin",
1293
- "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/prepare/prepare.js",
1294
- "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/prepare/prepare",
1293
+ "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/prepare/prepare.js",
1294
+ "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/prepare/prepare",
1295
1295
  "key": "prepare",
1296
1296
  "config": {},
1297
1297
  "time": {
@@ -1300,63 +1300,63 @@
1300
1300
  },
1301
1301
  "enableBy": "register"
1302
1302
  },
1303
- "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/routePrefetch/routePrefetch": {
1303
+ "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/routePrefetch/routePrefetch": {
1304
1304
  "cwd": "/home/runner/work/open-admin/open-admin/web",
1305
1305
  "type": "plugin",
1306
- "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/routePrefetch/routePrefetch.js",
1307
- "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/routePrefetch/routePrefetch",
1306
+ "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/routePrefetch/routePrefetch.js",
1307
+ "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/routePrefetch/routePrefetch",
1308
1308
  "key": "routePrefetch",
1309
1309
  "config": {},
1310
1310
  "time": {
1311
1311
  "hooks": {},
1312
- "register": 1
1312
+ "register": 0
1313
1313
  },
1314
1314
  "enableBy": "config"
1315
1315
  },
1316
- "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/stagewise/stagewise": {
1316
+ "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/stagewise/stagewise": {
1317
1317
  "cwd": "/home/runner/work/open-admin/open-admin/web",
1318
1318
  "type": "plugin",
1319
- "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/stagewise/stagewise.js",
1320
- "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/stagewise/stagewise",
1319
+ "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/stagewise/stagewise.js",
1320
+ "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/stagewise/stagewise",
1321
1321
  "key": "stagewise",
1322
1322
  "config": {},
1323
1323
  "time": {
1324
1324
  "hooks": {},
1325
- "register": 0
1325
+ "register": 1
1326
1326
  },
1327
1327
  "enableBy": "config"
1328
1328
  },
1329
- "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/terminal/terminal": {
1329
+ "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/terminal/terminal": {
1330
1330
  "cwd": "/home/runner/work/open-admin/open-admin/web",
1331
1331
  "type": "plugin",
1332
- "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/terminal/terminal.js",
1333
- "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/terminal/terminal",
1332
+ "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/terminal/terminal.js",
1333
+ "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/terminal/terminal",
1334
1334
  "key": "terminal",
1335
1335
  "config": {},
1336
1336
  "time": {
1337
1337
  "hooks": {},
1338
- "register": 1
1338
+ "register": 0
1339
1339
  },
1340
1340
  "enableBy": "register"
1341
1341
  },
1342
- "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/tmpFiles/tmpFiles": {
1342
+ "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/tmpFiles/tmpFiles": {
1343
1343
  "cwd": "/home/runner/work/open-admin/open-admin/web",
1344
1344
  "type": "plugin",
1345
- "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/tmpFiles/tmpFiles.js",
1346
- "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/tmpFiles/tmpFiles",
1345
+ "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/tmpFiles/tmpFiles.js",
1346
+ "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/tmpFiles/tmpFiles",
1347
1347
  "key": "tmpFiles",
1348
1348
  "config": {},
1349
1349
  "time": {
1350
1350
  "hooks": {},
1351
- "register": 3
1351
+ "register": 4
1352
1352
  },
1353
1353
  "enableBy": "register"
1354
1354
  },
1355
- "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/clientLoader/clientLoader": {
1355
+ "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/clientLoader/clientLoader": {
1356
1356
  "cwd": "/home/runner/work/open-admin/open-admin/web",
1357
1357
  "type": "plugin",
1358
- "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/clientLoader/clientLoader.js",
1359
- "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/clientLoader/clientLoader",
1358
+ "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/clientLoader/clientLoader.js",
1359
+ "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/clientLoader/clientLoader",
1360
1360
  "key": "clientLoader",
1361
1361
  "config": {},
1362
1362
  "time": {
@@ -1365,11 +1365,11 @@
1365
1365
  },
1366
1366
  "enableBy": "config"
1367
1367
  },
1368
- "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/routeProps/routeProps": {
1368
+ "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/routeProps/routeProps": {
1369
1369
  "cwd": "/home/runner/work/open-admin/open-admin/web",
1370
1370
  "type": "plugin",
1371
- "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/routeProps/routeProps.js",
1372
- "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/routeProps/routeProps",
1371
+ "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/routeProps/routeProps.js",
1372
+ "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/routeProps/routeProps",
1373
1373
  "key": "routeProps",
1374
1374
  "config": {},
1375
1375
  "time": {
@@ -1377,11 +1377,11 @@
1377
1377
  "register": 0
1378
1378
  }
1379
1379
  },
1380
- "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/ssr/ssr": {
1380
+ "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/ssr/ssr": {
1381
1381
  "cwd": "/home/runner/work/open-admin/open-admin/web",
1382
1382
  "type": "plugin",
1383
- "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/ssr/ssr.js",
1384
- "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/ssr/ssr",
1383
+ "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/ssr/ssr.js",
1384
+ "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/ssr/ssr",
1385
1385
  "key": "ssr",
1386
1386
  "config": {},
1387
1387
  "time": {
@@ -1390,24 +1390,24 @@
1390
1390
  },
1391
1391
  "enableBy": "config"
1392
1392
  },
1393
- "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/tmpFiles/configTypes": {
1393
+ "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/tmpFiles/configTypes": {
1394
1394
  "cwd": "/home/runner/work/open-admin/open-admin/web",
1395
1395
  "type": "plugin",
1396
- "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/tmpFiles/configTypes.js",
1397
- "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/tmpFiles/configTypes",
1396
+ "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/tmpFiles/configTypes.js",
1397
+ "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/tmpFiles/configTypes",
1398
1398
  "key": "configTypes",
1399
1399
  "config": {},
1400
1400
  "time": {
1401
1401
  "hooks": {},
1402
- "register": 2
1402
+ "register": 3
1403
1403
  },
1404
1404
  "enableBy": "register"
1405
1405
  },
1406
- "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/transform/transform": {
1406
+ "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/transform/transform": {
1407
1407
  "cwd": "/home/runner/work/open-admin/open-admin/web",
1408
1408
  "type": "plugin",
1409
- "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/transform/transform.js",
1410
- "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/transform/transform",
1409
+ "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/transform/transform.js",
1410
+ "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/transform/transform",
1411
1411
  "key": "transform",
1412
1412
  "config": {},
1413
1413
  "time": {
@@ -1416,11 +1416,11 @@
1416
1416
  },
1417
1417
  "enableBy": "register"
1418
1418
  },
1419
- "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/lowImport/lowImport": {
1419
+ "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/lowImport/lowImport": {
1420
1420
  "cwd": "/home/runner/work/open-admin/open-admin/web",
1421
1421
  "type": "plugin",
1422
- "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/lowImport/lowImport.js",
1423
- "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/lowImport/lowImport",
1422
+ "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/lowImport/lowImport.js",
1423
+ "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/lowImport/lowImport",
1424
1424
  "key": "lowImport",
1425
1425
  "config": {},
1426
1426
  "time": {
@@ -1429,11 +1429,11 @@
1429
1429
  },
1430
1430
  "enableBy": "config"
1431
1431
  },
1432
- "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/vite/vite": {
1432
+ "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/vite/vite": {
1433
1433
  "cwd": "/home/runner/work/open-admin/open-admin/web",
1434
1434
  "type": "plugin",
1435
- "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/vite/vite.js",
1436
- "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/vite/vite",
1435
+ "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/vite/vite.js",
1436
+ "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/vite/vite",
1437
1437
  "key": "vite",
1438
1438
  "config": {},
1439
1439
  "time": {
@@ -1442,36 +1442,36 @@
1442
1442
  },
1443
1443
  "enableBy": "config"
1444
1444
  },
1445
- "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/apiRoute/apiRoute": {
1445
+ "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/apiRoute/apiRoute": {
1446
1446
  "cwd": "/home/runner/work/open-admin/open-admin/web",
1447
1447
  "type": "plugin",
1448
- "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/apiRoute/apiRoute.js",
1449
- "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/apiRoute/apiRoute",
1448
+ "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/apiRoute/apiRoute.js",
1449
+ "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/apiRoute/apiRoute",
1450
1450
  "key": "apiRoute",
1451
1451
  "config": {},
1452
1452
  "time": {
1453
1453
  "hooks": {},
1454
- "register": 3
1454
+ "register": 4
1455
1455
  }
1456
1456
  },
1457
- "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/monorepo/redirect": {
1457
+ "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/monorepo/redirect": {
1458
1458
  "cwd": "/home/runner/work/open-admin/open-admin/web",
1459
1459
  "type": "plugin",
1460
- "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/monorepo/redirect.js",
1461
- "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/monorepo/redirect",
1460
+ "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/monorepo/redirect.js",
1461
+ "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/monorepo/redirect",
1462
1462
  "key": "monorepoRedirect",
1463
1463
  "config": {},
1464
1464
  "time": {
1465
1465
  "hooks": {},
1466
- "register": 21
1466
+ "register": 22
1467
1467
  },
1468
1468
  "enableBy": "config"
1469
1469
  },
1470
- "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/test/test": {
1470
+ "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/test/test": {
1471
1471
  "cwd": "/home/runner/work/open-admin/open-admin/web",
1472
1472
  "type": "plugin",
1473
- "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/test/test.js",
1474
- "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/test/test",
1473
+ "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/test/test.js",
1474
+ "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/test/test",
1475
1475
  "key": "test",
1476
1476
  "config": {},
1477
1477
  "time": {
@@ -1479,11 +1479,11 @@
1479
1479
  "register": 1
1480
1480
  }
1481
1481
  },
1482
- "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/clickToComponent/clickToComponent": {
1482
+ "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/clickToComponent/clickToComponent": {
1483
1483
  "cwd": "/home/runner/work/open-admin/open-admin/web",
1484
1484
  "type": "plugin",
1485
- "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/clickToComponent/clickToComponent.js",
1486
- "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/clickToComponent/clickToComponent",
1485
+ "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/clickToComponent/clickToComponent.js",
1486
+ "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/clickToComponent/clickToComponent",
1487
1487
  "key": "clickToComponent",
1488
1488
  "config": {},
1489
1489
  "time": {
@@ -1491,11 +1491,11 @@
1491
1491
  "register": 1
1492
1492
  }
1493
1493
  },
1494
- "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/legacy/legacy": {
1494
+ "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/legacy/legacy": {
1495
1495
  "cwd": "/home/runner/work/open-admin/open-admin/web",
1496
1496
  "type": "plugin",
1497
- "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/legacy/legacy.js",
1498
- "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/legacy/legacy",
1497
+ "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/legacy/legacy.js",
1498
+ "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/legacy/legacy",
1499
1499
  "key": "legacy",
1500
1500
  "config": {},
1501
1501
  "time": {
@@ -1504,11 +1504,11 @@
1504
1504
  },
1505
1505
  "enableBy": "config"
1506
1506
  },
1507
- "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/classPropertiesLoose/classPropertiesLoose": {
1507
+ "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/classPropertiesLoose/classPropertiesLoose": {
1508
1508
  "cwd": "/home/runner/work/open-admin/open-admin/web",
1509
1509
  "type": "plugin",
1510
- "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/classPropertiesLoose/classPropertiesLoose.js",
1511
- "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/classPropertiesLoose/classPropertiesLoose",
1510
+ "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/classPropertiesLoose/classPropertiesLoose.js",
1511
+ "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/classPropertiesLoose/classPropertiesLoose",
1512
1512
  "key": "classPropertiesLoose",
1513
1513
  "config": {},
1514
1514
  "time": {
@@ -1517,11 +1517,11 @@
1517
1517
  },
1518
1518
  "enableBy": "config"
1519
1519
  },
1520
- "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/webpack/webpack": {
1520
+ "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/webpack/webpack": {
1521
1521
  "cwd": "/home/runner/work/open-admin/open-admin/web",
1522
1522
  "type": "plugin",
1523
- "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/webpack/webpack.js",
1524
- "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/webpack/webpack",
1523
+ "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/webpack/webpack.js",
1524
+ "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/webpack/webpack",
1525
1525
  "key": "preset-umi:webpack",
1526
1526
  "config": {},
1527
1527
  "time": {
@@ -1529,11 +1529,11 @@
1529
1529
  "register": 1
1530
1530
  }
1531
1531
  },
1532
- "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/swc/swc": {
1532
+ "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/swc/swc": {
1533
1533
  "cwd": "/home/runner/work/open-admin/open-admin/web",
1534
1534
  "type": "plugin",
1535
- "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/swc/swc.js",
1536
- "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/swc/swc",
1535
+ "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/swc/swc.js",
1536
+ "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/swc/swc",
1537
1537
  "key": "swc",
1538
1538
  "config": {},
1539
1539
  "time": {
@@ -1546,11 +1546,11 @@
1546
1546
  },
1547
1547
  "enableBy": "register"
1548
1548
  },
1549
- "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/ui/ui": {
1549
+ "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/ui/ui": {
1550
1550
  "cwd": "/home/runner/work/open-admin/open-admin/web",
1551
1551
  "type": "plugin",
1552
- "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/ui/ui.js",
1553
- "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/ui/ui",
1552
+ "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/ui/ui.js",
1553
+ "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/ui/ui",
1554
1554
  "key": "ui",
1555
1555
  "config": {},
1556
1556
  "time": {
@@ -1558,73 +1558,73 @@
1558
1558
  "register": 3
1559
1559
  }
1560
1560
  },
1561
- "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/mako/mako": {
1561
+ "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/mako/mako": {
1562
1562
  "cwd": "/home/runner/work/open-admin/open-admin/web",
1563
1563
  "type": "plugin",
1564
- "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/mako/mako.js",
1565
- "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/mako/mako",
1564
+ "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/mako/mako.js",
1565
+ "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/mako/mako",
1566
1566
  "key": "mako",
1567
1567
  "config": {},
1568
1568
  "time": {
1569
1569
  "hooks": {},
1570
- "register": 0
1570
+ "register": 1
1571
1571
  },
1572
1572
  "enableBy": "config"
1573
1573
  },
1574
- "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/utoopack/utoopack": {
1574
+ "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/utoopack/utoopack": {
1575
1575
  "cwd": "/home/runner/work/open-admin/open-admin/web",
1576
1576
  "type": "plugin",
1577
- "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/utoopack/utoopack.js",
1578
- "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/utoopack/utoopack",
1577
+ "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/utoopack/utoopack.js",
1578
+ "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/utoopack/utoopack",
1579
1579
  "key": "utoopack",
1580
1580
  "config": {},
1581
1581
  "time": {
1582
1582
  "hooks": {},
1583
- "register": 1
1583
+ "register": 0
1584
1584
  }
1585
1585
  },
1586
- "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/hmrGuardian/hmrGuardian": {
1586
+ "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/hmrGuardian/hmrGuardian": {
1587
1587
  "cwd": "/home/runner/work/open-admin/open-admin/web",
1588
1588
  "type": "plugin",
1589
- "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/hmrGuardian/hmrGuardian.js",
1590
- "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/hmrGuardian/hmrGuardian",
1589
+ "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/hmrGuardian/hmrGuardian.js",
1590
+ "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/hmrGuardian/hmrGuardian",
1591
1591
  "key": "hmrGuardian",
1592
1592
  "config": {},
1593
1593
  "time": {
1594
1594
  "hooks": {},
1595
- "register": 2
1595
+ "register": 3
1596
1596
  }
1597
1597
  },
1598
- "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/routePreloadOnLoad/routePreloadOnLoad": {
1598
+ "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/routePreloadOnLoad/routePreloadOnLoad": {
1599
1599
  "cwd": "/home/runner/work/open-admin/open-admin/web",
1600
1600
  "type": "plugin",
1601
- "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/routePreloadOnLoad/routePreloadOnLoad.js",
1602
- "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/routePreloadOnLoad/routePreloadOnLoad",
1601
+ "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/routePreloadOnLoad/routePreloadOnLoad.js",
1602
+ "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/routePreloadOnLoad/routePreloadOnLoad",
1603
1603
  "key": "routePreloadOnLoad",
1604
1604
  "config": {},
1605
1605
  "time": {
1606
1606
  "hooks": {},
1607
- "register": 27
1607
+ "register": 32
1608
1608
  }
1609
1609
  },
1610
- "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/forget/forget": {
1610
+ "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/forget/forget": {
1611
1611
  "cwd": "/home/runner/work/open-admin/open-admin/web",
1612
1612
  "type": "plugin",
1613
- "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/forget/forget.js",
1614
- "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/forget/forget",
1613
+ "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/forget/forget.js",
1614
+ "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/forget/forget",
1615
1615
  "key": "forget",
1616
1616
  "config": {},
1617
1617
  "time": {
1618
1618
  "hooks": {},
1619
- "register": 0
1619
+ "register": 1
1620
1620
  },
1621
1621
  "enableBy": "config"
1622
1622
  },
1623
- "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/bundler/bundler": {
1623
+ "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/bundler/bundler": {
1624
1624
  "cwd": "/home/runner/work/open-admin/open-admin/web",
1625
1625
  "type": "plugin",
1626
- "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/bundler/bundler.js",
1627
- "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/features/bundler/bundler",
1626
+ "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/bundler/bundler.js",
1627
+ "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/features/bundler/bundler",
1628
1628
  "key": "preset-umi:bundler",
1629
1629
  "config": {},
1630
1630
  "time": {
@@ -1633,49 +1633,49 @@
1633
1633
  },
1634
1634
  "enableBy": "register"
1635
1635
  },
1636
- "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/commands/build": {
1636
+ "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/commands/build": {
1637
1637
  "cwd": "/home/runner/work/open-admin/open-admin/web",
1638
1638
  "type": "plugin",
1639
- "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/commands/build.js",
1640
- "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/commands/build",
1639
+ "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/commands/build.js",
1640
+ "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/commands/build",
1641
1641
  "key": "build",
1642
1642
  "config": {},
1643
1643
  "time": {
1644
1644
  "hooks": {},
1645
- "register": 3
1645
+ "register": 10
1646
1646
  },
1647
1647
  "enableBy": "register"
1648
1648
  },
1649
- "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/commands/config/config": {
1649
+ "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/commands/config/config": {
1650
1650
  "cwd": "/home/runner/work/open-admin/open-admin/web",
1651
1651
  "type": "plugin",
1652
- "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/commands/config/config.js",
1653
- "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/commands/config/config",
1652
+ "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/commands/config/config.js",
1653
+ "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/commands/config/config",
1654
1654
  "key": "config",
1655
1655
  "config": {},
1656
1656
  "time": {
1657
1657
  "hooks": {},
1658
- "register": 38
1658
+ "register": 32
1659
1659
  },
1660
1660
  "enableBy": "register"
1661
1661
  },
1662
- "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/commands/dev/dev": {
1662
+ "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/commands/dev/dev": {
1663
1663
  "cwd": "/home/runner/work/open-admin/open-admin/web",
1664
1664
  "type": "plugin",
1665
- "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/commands/dev/dev.js",
1666
- "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/commands/dev/dev",
1665
+ "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/commands/dev/dev.js",
1666
+ "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/commands/dev/dev",
1667
1667
  "key": "dev",
1668
1668
  "config": {},
1669
1669
  "time": {
1670
1670
  "hooks": {},
1671
- "register": 25
1671
+ "register": 20
1672
1672
  }
1673
1673
  },
1674
- "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/commands/help": {
1674
+ "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/commands/help": {
1675
1675
  "cwd": "/home/runner/work/open-admin/open-admin/web",
1676
1676
  "type": "plugin",
1677
- "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/commands/help.js",
1678
- "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/commands/help",
1677
+ "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/commands/help.js",
1678
+ "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/commands/help",
1679
1679
  "key": "help",
1680
1680
  "config": {},
1681
1681
  "time": {
@@ -1684,11 +1684,11 @@
1684
1684
  },
1685
1685
  "enableBy": "register"
1686
1686
  },
1687
- "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/commands/lint": {
1687
+ "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/commands/lint": {
1688
1688
  "cwd": "/home/runner/work/open-admin/open-admin/web",
1689
1689
  "type": "plugin",
1690
- "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/commands/lint.js",
1691
- "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/commands/lint",
1690
+ "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/commands/lint.js",
1691
+ "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/commands/lint",
1692
1692
  "key": "lint",
1693
1693
  "config": {},
1694
1694
  "time": {
@@ -1697,11 +1697,11 @@
1697
1697
  },
1698
1698
  "enableBy": "register"
1699
1699
  },
1700
- "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/commands/setup": {
1700
+ "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/commands/setup": {
1701
1701
  "cwd": "/home/runner/work/open-admin/open-admin/web",
1702
1702
  "type": "plugin",
1703
- "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/commands/setup.js",
1704
- "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/commands/setup",
1703
+ "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/commands/setup.js",
1704
+ "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/commands/setup",
1705
1705
  "key": "setup",
1706
1706
  "config": {},
1707
1707
  "time": {
@@ -1710,50 +1710,50 @@
1710
1710
  },
1711
1711
  "enableBy": "register"
1712
1712
  },
1713
- "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/commands/deadcode": {
1713
+ "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/commands/deadcode": {
1714
1714
  "cwd": "/home/runner/work/open-admin/open-admin/web",
1715
1715
  "type": "plugin",
1716
- "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/commands/deadcode.js",
1717
- "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/commands/deadcode",
1716
+ "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/commands/deadcode.js",
1717
+ "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/commands/deadcode",
1718
1718
  "key": "deadcode",
1719
1719
  "config": {},
1720
1720
  "time": {
1721
1721
  "hooks": {},
1722
- "register": 0
1722
+ "register": 5
1723
1723
  },
1724
1724
  "enableBy": "register"
1725
1725
  },
1726
- "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/commands/version": {
1726
+ "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/commands/version": {
1727
1727
  "cwd": "/home/runner/work/open-admin/open-admin/web",
1728
1728
  "type": "plugin",
1729
- "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/commands/version.js",
1730
- "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/commands/version",
1729
+ "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/commands/version.js",
1730
+ "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/commands/version",
1731
1731
  "key": "version",
1732
1732
  "config": {},
1733
1733
  "time": {
1734
1734
  "hooks": {},
1735
- "register": 1
1735
+ "register": 0
1736
1736
  },
1737
1737
  "enableBy": "register"
1738
1738
  },
1739
- "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/commands/generators/page": {
1739
+ "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/commands/generators/page": {
1740
1740
  "cwd": "/home/runner/work/open-admin/open-admin/web",
1741
1741
  "type": "plugin",
1742
- "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/commands/generators/page.js",
1743
- "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/commands/generators/page",
1742
+ "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/commands/generators/page.js",
1743
+ "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/commands/generators/page",
1744
1744
  "key": "generator:page",
1745
1745
  "config": {},
1746
1746
  "time": {
1747
1747
  "hooks": {},
1748
- "register": 1
1748
+ "register": 2
1749
1749
  },
1750
1750
  "enableBy": "register"
1751
1751
  },
1752
- "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/commands/generators/prettier": {
1752
+ "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/commands/generators/prettier": {
1753
1753
  "cwd": "/home/runner/work/open-admin/open-admin/web",
1754
1754
  "type": "plugin",
1755
- "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/commands/generators/prettier.js",
1756
- "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/commands/generators/prettier",
1755
+ "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/commands/generators/prettier.js",
1756
+ "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/commands/generators/prettier",
1757
1757
  "key": "generator:prettier",
1758
1758
  "config": {},
1759
1759
  "time": {
@@ -1762,11 +1762,11 @@
1762
1762
  },
1763
1763
  "enableBy": "register"
1764
1764
  },
1765
- "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/commands/generators/tsconfig": {
1765
+ "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/commands/generators/tsconfig": {
1766
1766
  "cwd": "/home/runner/work/open-admin/open-admin/web",
1767
1767
  "type": "plugin",
1768
- "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/commands/generators/tsconfig.js",
1769
- "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/commands/generators/tsconfig",
1768
+ "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/commands/generators/tsconfig.js",
1769
+ "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/commands/generators/tsconfig",
1770
1770
  "key": "generator:tsconfig",
1771
1771
  "config": {},
1772
1772
  "time": {
@@ -1775,11 +1775,11 @@
1775
1775
  },
1776
1776
  "enableBy": "register"
1777
1777
  },
1778
- "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/commands/generators/jest": {
1778
+ "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/commands/generators/jest": {
1779
1779
  "cwd": "/home/runner/work/open-admin/open-admin/web",
1780
1780
  "type": "plugin",
1781
- "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/commands/generators/jest.js",
1782
- "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/commands/generators/jest",
1781
+ "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/commands/generators/jest.js",
1782
+ "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/commands/generators/jest",
1783
1783
  "key": "generator:jest",
1784
1784
  "config": {},
1785
1785
  "time": {
@@ -1788,11 +1788,11 @@
1788
1788
  },
1789
1789
  "enableBy": "register"
1790
1790
  },
1791
- "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/commands/generators/tailwindcss": {
1791
+ "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/commands/generators/tailwindcss": {
1792
1792
  "cwd": "/home/runner/work/open-admin/open-admin/web",
1793
1793
  "type": "plugin",
1794
- "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/commands/generators/tailwindcss.js",
1795
- "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/commands/generators/tailwindcss",
1794
+ "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/commands/generators/tailwindcss.js",
1795
+ "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/commands/generators/tailwindcss",
1796
1796
  "key": "generator:tailwindcss",
1797
1797
  "config": {},
1798
1798
  "time": {
@@ -1801,11 +1801,11 @@
1801
1801
  },
1802
1802
  "enableBy": "register"
1803
1803
  },
1804
- "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/commands/generators/dva": {
1804
+ "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/commands/generators/dva": {
1805
1805
  "cwd": "/home/runner/work/open-admin/open-admin/web",
1806
1806
  "type": "plugin",
1807
- "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/commands/generators/dva.js",
1808
- "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/commands/generators/dva",
1807
+ "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/commands/generators/dva.js",
1808
+ "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/commands/generators/dva",
1809
1809
  "key": "generator:dva",
1810
1810
  "config": {},
1811
1811
  "time": {
@@ -1814,11 +1814,11 @@
1814
1814
  },
1815
1815
  "enableBy": "register"
1816
1816
  },
1817
- "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/commands/generators/component": {
1817
+ "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/commands/generators/component": {
1818
1818
  "cwd": "/home/runner/work/open-admin/open-admin/web",
1819
1819
  "type": "plugin",
1820
- "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/commands/generators/component.js",
1821
- "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/commands/generators/component",
1820
+ "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/commands/generators/component.js",
1821
+ "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/commands/generators/component",
1822
1822
  "key": "generator:component",
1823
1823
  "config": {},
1824
1824
  "time": {
@@ -1827,11 +1827,11 @@
1827
1827
  },
1828
1828
  "enableBy": "register"
1829
1829
  },
1830
- "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/commands/generators/mock": {
1830
+ "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/commands/generators/mock": {
1831
1831
  "cwd": "/home/runner/work/open-admin/open-admin/web",
1832
1832
  "type": "plugin",
1833
- "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/commands/generators/mock.js",
1834
- "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/commands/generators/mock",
1833
+ "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/commands/generators/mock.js",
1834
+ "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/commands/generators/mock",
1835
1835
  "key": "generator:mock",
1836
1836
  "config": {},
1837
1837
  "time": {
@@ -1840,11 +1840,11 @@
1840
1840
  },
1841
1841
  "enableBy": "register"
1842
1842
  },
1843
- "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/commands/generators/cypress": {
1843
+ "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/commands/generators/cypress": {
1844
1844
  "cwd": "/home/runner/work/open-admin/open-admin/web",
1845
1845
  "type": "plugin",
1846
- "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/commands/generators/cypress.js",
1847
- "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/commands/generators/cypress",
1846
+ "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/commands/generators/cypress.js",
1847
+ "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/commands/generators/cypress",
1848
1848
  "key": "generator:cypress",
1849
1849
  "config": {},
1850
1850
  "time": {
@@ -1853,11 +1853,11 @@
1853
1853
  },
1854
1854
  "enableBy": "register"
1855
1855
  },
1856
- "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/commands/generators/api": {
1856
+ "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/commands/generators/api": {
1857
1857
  "cwd": "/home/runner/work/open-admin/open-admin/web",
1858
1858
  "type": "plugin",
1859
- "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/commands/generators/api.js",
1860
- "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/commands/generators/api",
1859
+ "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/commands/generators/api.js",
1860
+ "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/commands/generators/api",
1861
1861
  "key": "generator:api",
1862
1862
  "config": {},
1863
1863
  "time": {
@@ -1866,11 +1866,11 @@
1866
1866
  },
1867
1867
  "enableBy": "register"
1868
1868
  },
1869
- "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/commands/generators/precommit": {
1869
+ "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/commands/generators/precommit": {
1870
1870
  "cwd": "/home/runner/work/open-admin/open-admin/web",
1871
1871
  "type": "plugin",
1872
- "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/commands/generators/precommit.js",
1873
- "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/commands/generators/precommit",
1872
+ "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/commands/generators/precommit.js",
1873
+ "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/commands/generators/precommit",
1874
1874
  "key": "generator:precommit",
1875
1875
  "config": {},
1876
1876
  "time": {
@@ -1879,11 +1879,11 @@
1879
1879
  },
1880
1880
  "enableBy": "register"
1881
1881
  },
1882
- "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/commands/plugin": {
1882
+ "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/commands/plugin": {
1883
1883
  "cwd": "/home/runner/work/open-admin/open-admin/web",
1884
1884
  "type": "plugin",
1885
- "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/commands/plugin.js",
1886
- "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/commands/plugin",
1885
+ "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/commands/plugin.js",
1886
+ "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/commands/plugin",
1887
1887
  "key": "command:plugin",
1888
1888
  "config": {},
1889
1889
  "time": {
@@ -1892,11 +1892,11 @@
1892
1892
  },
1893
1893
  "enableBy": "register"
1894
1894
  },
1895
- "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/commands/verify-commit": {
1895
+ "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/commands/verify-commit": {
1896
1896
  "cwd": "/home/runner/work/open-admin/open-admin/web",
1897
1897
  "type": "plugin",
1898
- "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/commands/verify-commit.js",
1899
- "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/commands/verify-commit",
1898
+ "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/commands/verify-commit.js",
1899
+ "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/commands/verify-commit",
1900
1900
  "key": "verifyCommit",
1901
1901
  "config": {},
1902
1902
  "time": {
@@ -1905,24 +1905,24 @@
1905
1905
  },
1906
1906
  "enableBy": "register"
1907
1907
  },
1908
- "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/commands/preview": {
1908
+ "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/commands/preview": {
1909
1909
  "cwd": "/home/runner/work/open-admin/open-admin/web",
1910
1910
  "type": "plugin",
1911
- "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/commands/preview.js",
1912
- "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/commands/preview",
1911
+ "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/commands/preview.js",
1912
+ "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/commands/preview",
1913
1913
  "key": "preview",
1914
1914
  "config": {},
1915
1915
  "time": {
1916
1916
  "hooks": {},
1917
- "register": 22
1917
+ "register": 23
1918
1918
  },
1919
1919
  "enableBy": "register"
1920
1920
  },
1921
- "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/commands/mfsu/mfsu": {
1921
+ "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/commands/mfsu/mfsu": {
1922
1922
  "cwd": "/home/runner/work/open-admin/open-admin/web",
1923
1923
  "type": "plugin",
1924
- "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/commands/mfsu/mfsu.js",
1925
- "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.25_@types+node@25.2.0_@types+react@19.2.10_less-loader@12.3.0_les_58df256248ff09e533aea72785e2522e/node_modules/@umijs/preset-umi/dist/commands/mfsu/mfsu",
1924
+ "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/commands/mfsu/mfsu.js",
1925
+ "id": "./node_modules/.pnpm/@umijs+preset-umi@4.6.27_@types+node@25.2.2_@types+react@19.2.13_less-loader@12.3.1_les_b5ecfa79a03fdf8b58fd03f2dde5c754/node_modules/@umijs/preset-umi/dist/commands/mfsu/mfsu",
1926
1926
  "key": "mfsu-cli",
1927
1927
  "config": {},
1928
1928
  "time": {
@@ -1934,7 +1934,7 @@
1934
1934
  "@umijs/plugin-run": {
1935
1935
  "cwd": "/home/runner/work/open-admin/open-admin/web",
1936
1936
  "type": "plugin",
1937
- "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+plugin-run@4.6.25/node_modules/@umijs/plugin-run/dist/index.js",
1937
+ "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+plugin-run@4.6.27/node_modules/@umijs/plugin-run/dist/index.js",
1938
1938
  "id": "@umijs/plugin-run",
1939
1939
  "key": "run",
1940
1940
  "config": {},
@@ -1944,16 +1944,16 @@
1944
1944
  },
1945
1945
  "enableBy": "register"
1946
1946
  },
1947
- "./node_modules/.pnpm/@umijs+core@4.6.25/node_modules/@umijs/core/dist/service/generatePlugin": {
1947
+ "./node_modules/.pnpm/@umijs+core@4.6.27/node_modules/@umijs/core/dist/service/generatePlugin": {
1948
1948
  "cwd": "/home/runner/work/open-admin/open-admin/web",
1949
1949
  "type": "plugin",
1950
- "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+core@4.6.25/node_modules/@umijs/core/dist/service/generatePlugin.js",
1951
- "id": "./node_modules/.pnpm/@umijs+core@4.6.25/node_modules/@umijs/core/dist/service/generatePlugin",
1950
+ "path": "/home/runner/work/open-admin/open-admin/web/node_modules/.pnpm/@umijs+core@4.6.27/node_modules/@umijs/core/dist/service/generatePlugin.js",
1951
+ "id": "./node_modules/.pnpm/@umijs+core@4.6.27/node_modules/@umijs/core/dist/service/generatePlugin",
1952
1952
  "key": "generatePlugin",
1953
1953
  "config": {},
1954
1954
  "time": {
1955
1955
  "hooks": {},
1956
- "register": 0
1956
+ "register": 1
1957
1957
  },
1958
1958
  "enableBy": "register"
1959
1959
  },
@@ -2093,20 +2093,10 @@
2093
2093
  "parentId": "@@/global-layout",
2094
2094
  "file": "system/sysManual/index.jsx",
2095
2095
  "absPath": "/system/sysManual",
2096
- "__content": "import {PlusOutlined} from '@ant-design/icons'\nimport {Button, Form, Input, Modal, Popconfirm} from 'antd'\nimport React from 'react'\nimport {ButtonList, FieldUploadFile, HttpUtils, Page, ProTable} from \"../../../framework\";\n\n\nexport default class extends React.Component {\n\n state = {\n formValues: {},\n formOpen: false\n }\n\n formRef = React.createRef()\n tableRef = React.createRef()\n\n handleAdd = () => {\n this.setState({formOpen: true, formValues: {}})\n }\n\n handleEdit = record => {\n this.setState({formOpen: true, formValues: record})\n }\n\n onFinish = values => {\n HttpUtils.post('admin/sysManual/save', values).then(rs => {\n this.setState({formOpen: false})\n this.tableRef.current.reload()\n })\n }\n\n handleDelete = record => {\n HttpUtils.get('admin/sysManual/delete', {id: record.id}).then(rs => {\n this.tableRef.current.reload()\n })\n }\n\n columns = [\n\n {\n title: '名称',\n dataIndex: 'name',\n\n\n },\n\n {\n title: '版本',\n dataIndex: 'version',\n render(version) {\n return 'v' + version;\n }\n },\n\n {\n title: '文件',\n dataIndex: 'fileId',\n render(id) {\n const url = 'admin/sysFile/preview/' + id;\n return <a href={url} target='_blank'>查看文件</a>\n }\n\n },\n {\n title: '操作',\n dataIndex: 'option',\n render: (_, record) => (\n <ButtonList>\n <Button size='small' perm='sysManual:save' onClick={() => this.handleEdit(record)}>编辑</Button>\n <Popconfirm perm='sysManual:delete' title='是否确定删除操作手册'\n onConfirm={() => this.handleDelete(record)}>\n <Button size='small'>删除</Button>\n </Popconfirm>\n </ButtonList>\n ),\n },\n\n ]\n\n render() {\n return <Page>\n <ProTable\n actionRef={this.tableRef}\n toolBarRender={(params, {selectedRows, selectedRowKeys}) => {\n return <ButtonList>\n <Button perm='sysManual:save' type='primary' onClick={this.handleAdd}>\n <PlusOutlined/> 新增\n </Button>\n </ButtonList>\n }}\n request={(params) => HttpUtils.get('admin/sysManual/page', params)}\n columns={this.columns}\n\n />\n\n <Modal title='操作手册'\n open={this.state.formOpen}\n onOk={() => this.formRef.current.submit()}\n onCancel={() => this.setState({formOpen: false})}\n destroyOnHidden\n maskClosable={false}\n >\n\n <Form ref={this.formRef} labelCol={{flex: '100px'}}\n initialValues={this.state.formValues}\n onFinish={this.onFinish}\n >\n <Form.Item name='id' noStyle></Form.Item>\n\n <Form.Item label='名称' name='name' rules={[{required: true}]}>\n <Input/>\n </Form.Item>\n\n <Form.Item label='文件' name='fileId' rules={[{required: true}]}>\n <FieldUploadFile accept=\".pdf\" maxCount={1}/>\n </Form.Item>\n\n </Form>\n </Modal>\n </Page>\n\n\n }\n}\n\n\n",
2096
+ "__content": "import {PlusOutlined} from '@ant-design/icons'\nimport {Button, Form, Input, Modal, Popconfirm} from 'antd'\nimport React from 'react'\nimport {ButtonList, FieldUploadFile, HttpUtils, Page, ProTable} from \"../../../framework\";\n\n\nexport default class extends React.Component {\n\n state = {\n formValues: {},\n formOpen: false\n }\n\n formRef = React.createRef()\n tableRef = React.createRef()\n\n handleAdd = () => {\n this.setState({formOpen: true, formValues: {}})\n }\n\n handleEdit = record => {\n this.setState({formOpen: true, formValues: record})\n }\n\n onFinish = values => {\n HttpUtils.post('admin/sysManual/save', values).then(rs => {\n this.setState({formOpen: false})\n this.tableRef.current.reload()\n })\n }\n\n handleDelete = record => {\n HttpUtils.post('admin/sysManual/delete', {id: record.id}).then(rs => {\n this.tableRef.current.reload()\n })\n }\n\n columns = [\n\n {\n title: '名称',\n dataIndex: 'name',\n\n\n },\n\n {\n title: '版本',\n dataIndex: 'version',\n render(version) {\n return 'v' + version;\n }\n },\n\n {\n title: '文件',\n dataIndex: 'fileId',\n render(id) {\n const url = 'admin/sysFile/preview/' + id;\n return <a href={url} target='_blank'>查看文件</a>\n }\n\n },\n {\n title: '操作',\n dataIndex: 'option',\n render: (_, record) => (\n <ButtonList>\n <Button size='small' perm='sysManual:save' onClick={() => this.handleEdit(record)}>编辑</Button>\n <Popconfirm perm='sysManual:delete' title='是否确定删除操作手册'\n onConfirm={() => this.handleDelete(record)}>\n <Button size='small'>删除</Button>\n </Popconfirm>\n </ButtonList>\n ),\n },\n\n ]\n\n render() {\n return <Page>\n <ProTable\n actionRef={this.tableRef}\n toolBarRender={(params, {selectedRows, selectedRowKeys}) => {\n return <ButtonList>\n <Button perm='sysManual:save' type='primary' onClick={this.handleAdd}>\n <PlusOutlined/> 新增\n </Button>\n </ButtonList>\n }}\n request={(params) => HttpUtils.get('admin/sysManual/page', params)}\n columns={this.columns}\n\n />\n\n <Modal title='操作手册'\n open={this.state.formOpen}\n onOk={() => this.formRef.current.submit()}\n onCancel={() => this.setState({formOpen: false})}\n destroyOnHidden\n maskClosable={false}\n >\n\n <Form ref={this.formRef} labelCol={{flex: '100px'}}\n initialValues={this.state.formValues}\n onFinish={this.onFinish}\n >\n <Form.Item name='id' noStyle></Form.Item>\n\n <Form.Item label='名称' name='name' rules={[{required: true}]}>\n <Input/>\n </Form.Item>\n\n <Form.Item label='文件' name='fileId' rules={[{required: true}]}>\n <FieldUploadFile accept=\".pdf\" maxCount={1}/>\n </Form.Item>\n\n </Form>\n </Modal>\n </Page>\n\n\n }\n}\n\n\n",
2097
2097
  "__isJSFile": true,
2098
2098
  "__absFile": "/home/runner/work/open-admin/open-admin/web/src/pages/system/sysManual/index.jsx"
2099
2099
  },
2100
- "system/dict/DictItem": {
2101
- "path": "system/dict/DictItem",
2102
- "id": "system/dict/DictItem",
2103
- "parentId": "@@/global-layout",
2104
- "file": "system/dict/DictItem.jsx",
2105
- "absPath": "/system/dict/DictItem",
2106
- "__content": "import {PlusOutlined} from '@ant-design/icons'\nimport {Button, Col, Form, Input, InputNumber, Modal, Popconfirm, Row, Tag} from 'antd'\nimport React from 'react'\n\nimport {ButtonList, FieldBoolean, HttpUtils, ProTable} from '../../../framework'\n\n\nexport default class extends React.Component {\n\n state = {\n formValues: {},\n formOpen: false\n }\n\n formRef = React.createRef()\n tableRef = React.createRef()\n\n componentDidUpdate(prevProps, prevState, snapshot) {\n if (prevProps.sysDictId !== this.props.sysDictId) {\n this.tableRef.current.reload()\n }\n }\n\n handleAdd = () => {\n this.setState({formOpen: true, formValues: {}})\n }\n\n handleEdit = record => {\n this.setState({formOpen: true, formValues: record})\n }\n\n onFinish = values => {\n values.sysDict = {id: this.props.sysDictId}\n HttpUtils.post('admin/sysDictItem/save', values).then(rs => {\n this.setState({formOpen: false})\n this.tableRef.current.reload()\n })\n }\n\n handleDelete = row => {\n HttpUtils.get('admin/sysDictItem/delete', row).then(rs => {\n this.tableRef.current.reload()\n })\n }\n\n columns = [\n {\n title: '文本',\n dataIndex: 'text',\n },\n {\n title: '编码',\n dataIndex: 'code',\n },\n\n {\n title: '启用',\n dataIndex: 'enabled',\n render(v) {\n return v ? '是' : '否'\n }\n\n },\n {\n title: '显示颜色',\n dataIndex: 'color',\n render(v) {\n return <Tag color={v}>COLOR</Tag>\n }\n },\n {\n title: '系统内置',\n dataIndex: 'builtin',\n render(v) {\n return v ? '是' : '否'\n }\n\n },\n {\n title: '序号',\n dataIndex: 'seq',\n },\n {\n title: '操作',\n dataIndex: 'option',\n render: (_, record) => {\n\n return (\n <ButtonList>\n <Button size='small' perm='sysDict:save'\n onClick={() => this.handleEdit(record)}> 编辑 </Button>\n <Popconfirm perm='sysDict:delete' title='是否确定删除字典项'\n onConfirm={() => this.handleDelete(record)}>\n <Button size='small'>删除</Button>\n </Popconfirm>\n </ButtonList>\n );\n },\n },\n ]\n\n render() {\n return <>\n <ProTable\n headerTitle='字典项列表'\n actionRef={this.tableRef}\n toolBarRender={() => {\n return <ButtonList>\n <Button perm='sysDictItem:save' type='primary' onClick={this.handleAdd}>\n <PlusOutlined/> 新增\n </Button>\n </ButtonList>\n }}\n request={(params) => {\n params.sysDictId = this.props.sysDictId\n return HttpUtils.get('admin/sysDictItem/page', params);\n }}\n columns={this.columns}\n rowKey='id'\n search={false}\n />\n\n <Modal\n title='编辑数据字典项'\n open={this.state.formOpen}\n onOk={() => this.formRef.current.submit()}\n onCancel={() => this.setState({formOpen: false})}\n destroyOnHidden\n >\n\n <Form ref={this.formRef} labelCol={{flex: '100px'}}\n initialValues={this.state.formValues}\n onFinish={this.onFinish}>\n <Form.Item name='id' noStyle></Form.Item>\n\n <Row>\n <Col span={12}>\n <Form.Item label='编码' name='code' rules={[{required: true}]}>\n <Input/>\n </Form.Item>\n </Col>\n <Col span={12}>\n <Form.Item label='文本' name='text' rules={[{required: true}]}>\n <Input/>\n </Form.Item>\n </Col>\n </Row>\n\n <Row>\n <Col span={12}>\n <Form.Item label='颜色' name='color' rules={[{required: true}]}>\n <Input/>\n </Form.Item>\n </Col>\n <Col span={12}>\n <Form.Item label='序号' name='seq' rules={[{required: true}]}>\n <InputNumber/>\n </Form.Item>\n </Col>\n </Row>\n\n <Form.Item label='启用' name='enabled' rules={[{required: true}]}>\n <FieldBoolean/>\n </Form.Item>\n\n </Form>\n </Modal>\n </>\n\n\n }\n}\n\n\n\n",
2107
- "__isJSFile": true,
2108
- "__absFile": "/home/runner/work/open-admin/open-admin/web/src/pages/system/dict/DictItem.jsx"
2109
- },
2110
2100
  "system/user/UserPerm": {
2111
2101
  "path": "system/user/UserPerm",
2112
2102
  "id": "system/user/UserPerm",
@@ -2143,7 +2133,7 @@
2143
2133
  "parentId": "@@/global-layout",
2144
2134
  "file": "system/dict/index.jsx",
2145
2135
  "absPath": "/system/dict",
2146
- "__content": "import React from \"react\";\nimport Dict from \"./Dict\";\nimport DictItem from \"./DictItem\";\nimport {Splitter} from \"antd\";\n\nexport default class extends React.Component {\n\n state = {\n selectedKey: null\n }\n\n\n render() {\n return <Splitter>\n <Splitter.Panel defaultSize={600} style={{paddingRight: 16}}>\n <Dict onChange={selectedKey => this.setState({selectedKey})}/>\n </Splitter.Panel>\n <Splitter.Panel style={{paddingLeft: 16}}>\n <DictItem sysDictId={this.state.selectedKey}/>\n </Splitter.Panel>\n </Splitter>\n\n\n }\n}\n",
2136
+ "__content": "import React from \"react\";\nimport {Button, Form, Input, InputNumber, Modal, Popconfirm, Splitter, Tag, Tree, Typography} from \"antd\";\nimport {\n ButtonList,\n FieldBoolean, FieldDictSelect,\n HttpUtils,\n Page,\n PageLoading,\n ProTable,\n ViewBooleanEnableDisable\n} from \"../../../framework\";\nimport {PlusOutlined} from \"@ant-design/icons\";\n\nexport default class extends React.Component {\n\n state = {\n treeData: [],\n treeLoading: true,\n typeCode: null,\n formValues: {},\n formOpen: false\n }\n\n formRef = React.createRef()\n tableRef = React.createRef()\n\n async componentDidMount() {\n const treeData = await HttpUtils.get('admin/dict/tree');\n this.setState({treeData, treeLoading: false});\n }\n\n onSelect = (selectedKeys) => {\n const key = selectedKeys.length === 1 ? selectedKeys[0] : null;\n this.setState({typeCode: key}, () => {\n this.tableRef.current.reload()\n })\n }\n handleAdd = () => {\n this.setState({formOpen: true, formValues: {}})\n }\n\n handleEdit = record => {\n this.setState({formOpen: true, formValues: record})\n }\n\n onFinish = values => {\n values.sysDict = {id: this.props.sysDictId}\n HttpUtils.post('admin/dict/save', values).then(rs => {\n this.setState({formOpen: false})\n this.tableRef.current.reload()\n })\n }\n\n handleDelete = row => {\n HttpUtils.post('admin/dict/delete', row).then(rs => {\n this.tableRef.current.reload()\n })\n }\n\n columns = [\n {\n title: '文本',\n dataIndex: 'name',\n },\n {\n title: '编码',\n dataIndex: 'code',\n },\n\n {\n title: '启用',\n dataIndex: 'enabled',\n render(v) {\n return <ViewBooleanEnableDisable value={v}/>\n }\n\n },\n {\n title: '显示颜色',\n dataIndex: 'color',\n render(v) {\n if (v) {\n return <Tag color={v.toLowerCase()}>{v}</Tag>\n }\n\n }\n },\n\n {\n title: '序号',\n dataIndex: 'seq',\n },\n {\n title: '操作',\n dataIndex: 'option',\n render: (_, record) => {\n\n return (\n <ButtonList>\n <Button size='small' perm='sysDict:save'\n onClick={() => this.handleEdit(record)}> 编辑 </Button>\n <Popconfirm perm='sysDict:delete' title='是否确定删除字典项'\n onConfirm={() => this.handleDelete(record)}>\n <Button size='small'>删除</Button>\n </Popconfirm>\n </ButtonList>\n );\n },\n },\n ]\n\n render() {\n if (this.state.treeLoading) {\n return <PageLoading/>\n }\n\n return <Page>\n <Splitter>\n <Splitter.Panel defaultSize={600} style={{paddingRight: 16}}>\n <Tree\n treeData={this.state.treeData}\n onSelect={this.onSelect}\n\n showIcon\n blockNode\n showLine\n defaultExpandAll\n >\n </Tree>\n </Splitter.Panel>\n <Splitter.Panel style={{paddingLeft: 16}}>\n {this.renderTypeInfo()}\n <ProTable\n rowKey='code'\n actionRef={this.tableRef}\n toolBarRender={() => {\n return <ButtonList>\n <Button perm='sysDict:save' type='primary' onClick={this.handleAdd} disabled={!this.state.typeCode}>\n <PlusOutlined/> 新增\n </Button>\n </ButtonList>\n }}\n request={(params) => {\n params.typeCode = this.state.typeCode\n return HttpUtils.get('admin/dict/page', params);\n }}\n columns={this.columns}\n search={false}\n />\n </Splitter.Panel>\n </Splitter>\n <Modal\n title='编辑数据字典项'\n open={this.state.formOpen}\n onOk={() => this.formRef.current.submit()}\n onCancel={() => this.setState({formOpen: false})}\n destroyOnHidden\n >\n\n <Form ref={this.formRef} labelCol={{flex: '100px'}}\n initialValues={this.state.formValues}\n onFinish={this.onFinish}>\n <Form.Item name='id' noStyle></Form.Item>\n <Form.Item label='类型编码' name='typeCode' rules={[{required: true}]} initialValue={this.state.typeCode}>\n <Input/>\n </Form.Item>\n <Form.Item label='编码' name='code' rules={[{required: true}]}>\n <Input/>\n </Form.Item>\n <Form.Item label='文本' name='name' rules={[{required: true}]} >\n <Input/>\n </Form.Item>\n <Form.Item label='颜色' name='color' rules={[{required: true}]}>\n <FieldDictSelect typeCode='statusColor' />\n </Form.Item>\n <Form.Item label='序号' name='seq' rules={[{required: true}]}>\n <InputNumber/>\n </Form.Item>\n\n <Form.Item label='启用' name='enabled' rules={[{required: true}]}>\n <FieldBoolean/>\n </Form.Item>\n\n </Form>\n </Modal>\n </Page>\n\n\n }\n\n renderTypeInfo() {\n if(this.state.typeCode){\n return <>\n <Typography.Text italic> 类型:</Typography.Text>\n <Typography.Text copyable>\n {this.state.typeCode}\n </Typography.Text>\n </>;\n }\n }\n}\n",
2147
2137
  "__isJSFile": true,
2148
2138
  "__absFile": "/home/runner/work/open-admin/open-admin/web/src/pages/system/dict/index.jsx"
2149
2139
  },
@@ -2153,7 +2143,7 @@
2153
2143
  "parentId": "@@/global-layout",
2154
2144
  "file": "system/file/index.jsx",
2155
2145
  "absPath": "/system/file",
2156
- "__content": "import {Button, Form, Input, Modal, Popconfirm} from 'antd'\nimport React from 'react'\nimport {ButtonList, FieldDateRange, FieldDictSelect, FieldUploadFile, HttpUtils, ProTable} from \"../../../framework\";\nimport {CloudUploadOutlined} from \"@ant-design/icons\";\n\nexport default class extends React.Component {\n\n state = {\n formOpen: false,\n formValues: {}\n }\n\n tableRef = React.createRef()\n formRef = React.createRef()\n\n handleDelete = row => {\n HttpUtils.get('admin/sysFile/delete', row).then(rs => {\n this.tableRef.current.reload()\n })\n }\n\n columns = [\n {\n title: '原始名称',\n tooltip: '上传时候的文件名',\n dataIndex: 'originName',\n width: 200,\n },\n {\n title: '存储名称',\n dataIndex: 'objectName',\n tooltip: '文件唯一标识id'\n },\n\n {\n title: '文件大小',\n dataIndex: 'sizeInfo',\n },\n\n {\n title: 'mime',\n dataIndex: 'mimeType',\n },\n {\n title: '扩展名',\n dataIndex: 'suffix',\n },\n\n {\n title: '上传时间',\n dataIndex: 'createTime',\n },\n {\n title: '上传者',\n dataIndex: 'createUserLabel',\n },\n {\n title: '预览',\n dataIndex: 'id',\n render(id, record) {\n const nodes = [<a href={'/admin/sysFile/preview/' + record.id} target='_blank'>预览</a>]\n\n\n if (record.imageUrls?.length > 0) {\n for (let item of record.imageUrls) {\n let url = item.url;\n let label = item.label;\n nodes.push(<a href={(url)} target='_blank' style={{marginLeft: 8}}>{label}</a>)\n }\n }\n\n return nodes;\n\n }\n },\n {\n title: '操作',\n dataIndex: 'option',\n render: (_, record) => (\n <ButtonList>\n <Popconfirm perm='sysFile:delete' title='是否确定删除文件信息'\n onConfirm={() => this.handleDelete(record)}>\n <a>删除</a>\n </Popconfirm>\n </ButtonList>\n ),\n },\n ]\n\n render() {\n return <>\n <ProTable\n actionRef={this.tableRef}\n toolBarRender={() => {\n return <Button type='primary' icon={<CloudUploadOutlined/>}\n onClick={() => this.setState({formOpen: true})}>\n 上传文件\n </Button>\n }}\n request={(params) => {\n return HttpUtils.get('admin/sysFile/page', params);\n }}\n\n columns={this.columns}\n\n >\n <Form.Item label='文件名' name='originName'>\n <Input/>\n </Form.Item>\n <Form.Item label='对象名称' name='objectName'>\n <Input/>\n </Form.Item>\n <Form.Item label='类型' name='type'>\n <FieldDictSelect typeCode='materialType'/>\n </Form.Item>\n\n <Form.Item label='上传时间' name='dateRange'>\n <FieldDateRange/>\n </Form.Item>\n </ProTable>\n\n <Modal open={this.state.formOpen} title='上传文件'\n width={800}\n onCancel={() => {\n this.setState({formOpen: false})\n this.tableRef.current.reload()\n }}\n footer={null}\n destroyOnHidden\n >\n <Form ref={this.formRef}\n initialValues={this.state.formValues}\n >\n <Form.Item name='文件'>\n <FieldUploadFile accept=\"*/*\"/>\n </Form.Item>\n\n\n </Form>\n </Modal>\n\n </>\n }\n}\n\n\n\n",
2146
+ "__content": "import {Button, Form, Input, Modal, Popconfirm} from 'antd'\nimport React from 'react'\nimport {ButtonList, FieldDateRange, FieldDictSelect, FieldUploadFile, HttpUtils, ProTable} from \"../../../framework\";\nimport {CloudUploadOutlined} from \"@ant-design/icons\";\n\nexport default class extends React.Component {\n\n state = {\n formOpen: false,\n formValues: {}\n }\n\n tableRef = React.createRef()\n formRef = React.createRef()\n\n handleDelete = row => {\n HttpUtils.post('admin/sysFile/delete', row).then(rs => {\n this.tableRef.current.reload()\n })\n }\n\n columns = [\n {\n title: '原始名称',\n tooltip: '上传时候的文件名',\n dataIndex: 'originName',\n width: 200,\n },\n {\n title: '存储名称',\n dataIndex: 'objectName',\n tooltip: '文件唯一标识id'\n },\n\n {\n title: '文件大小',\n dataIndex: 'sizeInfo',\n },\n\n {\n title: 'mime',\n dataIndex: 'mimeType',\n },\n {\n title: '扩展名',\n dataIndex: 'suffix',\n },\n\n {\n title: '上传时间',\n dataIndex: 'createTime',\n },\n {\n title: '上传者',\n dataIndex: 'createUserLabel',\n },\n {\n title: '预览',\n dataIndex: 'id',\n render(id, record) {\n const nodes = [<a href={'/admin/sysFile/preview/' + record.id} target='_blank'>预览</a>]\n\n\n if (record.imageUrls?.length > 0) {\n for (let item of record.imageUrls) {\n let url = item.url;\n let label = item.label;\n nodes.push(<a href={(url)} target='_blank' style={{marginLeft: 8}}>{label}</a>)\n }\n }\n\n return nodes;\n\n }\n },\n {\n title: '操作',\n dataIndex: 'option',\n render: (_, record) => (\n <ButtonList>\n <Popconfirm perm='sysFile:delete' title='是否确定删除文件信息'\n onConfirm={() => this.handleDelete(record)}>\n <a>删除</a>\n </Popconfirm>\n </ButtonList>\n ),\n },\n ]\n\n render() {\n return <>\n <ProTable\n actionRef={this.tableRef}\n toolBarRender={() => {\n return <Button type='primary' icon={<CloudUploadOutlined/>}\n onClick={() => this.setState({formOpen: true})}>\n 上传文件\n </Button>\n }}\n request={(params) => {\n return HttpUtils.get('admin/sysFile/page', params);\n }}\n\n columns={this.columns}\n\n >\n <Form.Item label='文件名' name='originName'>\n <Input/>\n </Form.Item>\n <Form.Item label='对象名称' name='objectName'>\n <Input/>\n </Form.Item>\n <Form.Item label='类型' name='type'>\n <FieldDictSelect typeCode='materialType'/>\n </Form.Item>\n\n <Form.Item label='上传时间' name='dateRange'>\n <FieldDateRange/>\n </Form.Item>\n </ProTable>\n\n <Modal open={this.state.formOpen} title='上传文件'\n width={800}\n onCancel={() => {\n this.setState({formOpen: false})\n this.tableRef.current.reload()\n }}\n footer={null}\n destroyOnHidden\n >\n <Form ref={this.formRef}\n initialValues={this.state.formValues}\n >\n <Form.Item name='文件'>\n <FieldUploadFile accept=\"*/*\"/>\n </Form.Item>\n\n\n </Form>\n </Modal>\n\n </>\n }\n}\n\n\n\n",
2157
2147
  "__isJSFile": true,
2158
2148
  "__absFile": "/home/runner/work/open-admin/open-admin/web/src/pages/system/file/index.jsx"
2159
2149
  },
@@ -2163,7 +2153,7 @@
2163
2153
  "parentId": "@@/global-layout",
2164
2154
  "file": "system/role/index.jsx",
2165
2155
  "absPath": "/system/role",
2166
- "__content": "import {PlusOutlined} from '@ant-design/icons'\nimport {Button, Form, Input, InputNumber, Modal, Popconfirm, Transfer, Tree} from 'antd'\nimport React from 'react'\nimport {ButtonList, FieldBoolean, HttpUtils, Page, PageUtils, ProTable, ViewText} from \"../../../framework\";\n\n\nexport default class extends React.Component {\n\n state = {\n formValues: {},\n formOpen: false,\n\n usersModalOpen: false,\n\n\n userList: [],\n targetKeys: [],\n selectedKeys: [],\n\n menuOpen: false,\n menuTree: [],\n menuTreeLoading: false,\n menuChecked: [],\n menuHalfChecked: []\n }\n\n formRef = React.createRef()\n tableRef = React.createRef()\n\n handleAdd = () => {\n this.setState({formOpen: true, formValues: {}})\n }\n\n handleEdit = record => {\n this.setState({formOpen: true, formValues: record}, () => {\n\n })\n }\n\n handleEditUser = record => {\n this.setState({usersModalOpen: true, formValues: record})\n HttpUtils.get('admin/sysRole/userList', {id: record.id}).then(rs => {\n this.setState({userList: rs.list, targetKeys: rs.selectedKeys})\n })\n }\n\n onFinish = values => {\n HttpUtils.post('admin/sysRole/save', values).then(rs => {\n this.setState({formOpen: false})\n this.tableRef.current.reload()\n })\n }\n\n handleDelete = record => {\n HttpUtils.get('admin/sysRole/delete', {id: record.id}).then(rs => {\n this.tableRef.current.reload()\n })\n }\n\n columns = [\n\n {\n title: '名称',\n dataIndex: 'name',\n\n\n },\n\n {\n title: '编号',\n dataIndex: 'code',\n\n\n },\n\n {\n title: '排序',\n dataIndex: 'seq',\n\n\n },\n\n {\n title: '备注',\n dataIndex: 'remark',\n\n\n },\n\n {\n title: '启用',\n dataIndex: 'enabled',\n\n\n render(v) {\n return v == null ? null : (v ? '是' : '否')\n },\n\n\n },\n {\n title: '是否内置',\n dataIndex: 'builtin',\n\n\n render(v) {\n return v == null ? null : (v ? '是' : '否')\n },\n\n\n },\n\n {\n title: '权限码',\n dataIndex: 'perms',\n width: 300,\n render(v) {\n if (v) {\n return <ViewText value={v.join(',')} ellipsis={true} />\n }\n }\n\n },\n\n\n {\n title: '操作',\n dataIndex: 'option',\n render: (_, record) => {\n\n return (\n <ButtonList>\n <Button size='small' perm='sysRole:manage'\n onClick={() => this.handleEditUser(record)}>用户设置</Button>\n\n <Button size='small' perm='sysRole:manage' disabled={record.builtin}\n onClick={() => PageUtils.open('/system/role/perm?id=' + record.id, '角色权限设置')}>权限设置</Button>\n\n <Button size='small' perm='sysRole:manage' disabled={record.builtin}\n onClick={() => this.handleEdit(record)}>编辑</Button>\n <Popconfirm perm='sysRole:manage' disabled={record.builtin} title='是否确定删除系统角色'\n onConfirm={() => this.handleDelete(record)}>\n <Button size='small'>删除</Button>\n </Popconfirm>\n </ButtonList>\n );\n },\n },\n ]\n\n handleSaveUsers = () => {\n const params = {\n id: this.state.formValues.id,\n userIdList: this.state.targetKeys\n }\n HttpUtils.post('admin/sysRole/grantUsers', params).then(rs => {\n this.setState({usersModalOpen: false})\n })\n }\n\n handleEditMenu = (record) => {\n this.setState({menuOpen: true, formValues: record, menuTreeLoading: true})\n HttpUtils.get('admin/sysRole/ownMenu', {id: record.id}).then(rs => {\n this.setState({menuChecked: rs.checked, menuHalfChecked: rs.halfChecked})\n })\n HttpUtils.get('admin/sysRole/menuTree').then(rs => {\n this.setState({menuTree: rs, menuTreeLoading: false})\n })\n }\n handleGrantMenu = () => {\n const params = {\n id: this.state.formValues.id,\n menuIds: [...this.state.menuChecked, ...this.state.menuHalfChecked]\n }\n HttpUtils.post('admin/sysRole/grantMenu', params).then(rs => {\n debugger\n this.setState({menuOpen: false})\n })\n }\n\n render() {\n return <Page padding>\n <ProTable\n actionRef={this.tableRef}\n toolBarRender={() => {\n return <ButtonList>\n <Button perm='sysRole:manage' type='primary' onClick={this.handleAdd}>\n <PlusOutlined/> 新增\n </Button>\n </ButtonList>\n }}\n request={(params) => HttpUtils.get('admin/sysRole/page', params)}\n columns={this.columns}\n\n />\n\n <Modal title='系统角色'\n open={this.state.formOpen}\n onOk={() => this.formRef.current.submit()}\n onCancel={() => this.setState({formOpen: false})}\n destroyOnHidden\n maskClosable={false}\n width={600}\n >\n\n <Form ref={this.formRef} labelCol={{flex: '100px'}}\n initialValues={this.state.formValues}\n onFinish={this.onFinish}\n >\n <Form.Item name='id' noStyle></Form.Item>\n\n\n <Form.Item label='名称' name='name' rules={[{required: true}]}>\n <Input/>\n </Form.Item>\n\n <Form.Item label='编码' name='code' rules={[{required: true}]}>\n <Input/>\n </Form.Item>\n\n\n <Form.Item label='排序' name='seq'>\n <InputNumber/>\n </Form.Item>\n\n\n <Form.Item label='备注' name='remark'>\n <Input/>\n </Form.Item>\n\n <Form.Item label='启用' name='enabled' rules={[{required: true}]}>\n <FieldBoolean/>\n </Form.Item>\n\n\n </Form>\n </Modal>\n\n\n <Modal title={'角色用户' + \"【\" + this.state.formValues?.name + '】'}\n open={this.state.usersModalOpen}\n destroyOnHidden\n maskClosable={false}\n width={800}\n onCancel={() => this.setState({usersModalOpen: false})}\n onOk={this.handleSaveUsers}\n >\n\n\n <Transfer\n listStyle={{height: '60vh', width: 300}}\n\n dataSource={this.state.userList} titles={[\"未选择\", \"已选择\"]}\n targetKeys={this.state.targetKeys}\n selectedKeys={this.state.selectedKeys}\n render={item => item.title}\n onChange={(nextTargetKeys, direction, moveKeys) => {\n this.setState({\n targetKeys: nextTargetKeys\n })\n }}\n onSelectChange={(sourceSelectedKeys, targetSelectedKeys) => {\n this.setState({\n selectedKeys: [...sourceSelectedKeys, ...targetSelectedKeys]\n })\n }}\n showSearch\n />\n\n\n </Modal>\n\n <Modal title={'角色授权菜单权限' + \"【\" + this.state.formValues?.name + '】'}\n open={this.state.menuOpen}\n destroyOnHidden\n maskClosable={false}\n width={800}\n onCancel={() => this.setState({menuOpen: false})}\n onOk={this.handleGrantMenu}\n loading={this.state.menuTreeLoading}\n >\n <Tree\n height={600}\n treeData={this.state.menuTree}\n multiple\n checkable\n checkedKeys={{checked: this.state.menuChecked}}\n onCheck={(keys, e) => {\n this.setState({menuChecked: keys, menuHalfChecked: e.halfCheckedKeys})\n }}\n defaultExpandAll\n titleRender={node => {\n return <span title={node.perm}>{node.title}</span>\n }}\n />\n </Modal>\n </Page>\n\n\n }\n}\n\n",
2156
+ "__content": "import {PlusOutlined} from '@ant-design/icons'\nimport {Button, Form, Input, InputNumber, Modal, Popconfirm, Transfer, Tree} from 'antd'\nimport React from 'react'\nimport {ButtonList, FieldBoolean, HttpUtils, Page, PageUtils, ProTable, ViewText} from \"../../../framework\";\n\n\nexport default class extends React.Component {\n\n state = {\n formValues: {},\n formOpen: false,\n\n usersModalOpen: false,\n\n\n userList: [],\n targetKeys: [],\n selectedKeys: [],\n\n menuOpen: false,\n menuTree: [],\n menuTreeLoading: false,\n menuChecked: [],\n menuHalfChecked: []\n }\n\n formRef = React.createRef()\n tableRef = React.createRef()\n\n handleAdd = () => {\n this.setState({formOpen: true, formValues: {}})\n }\n\n handleEdit = record => {\n this.setState({formOpen: true, formValues: record}, () => {\n\n })\n }\n\n handleEditUser = record => {\n this.setState({usersModalOpen: true, formValues: record})\n HttpUtils.get('admin/sysRole/userList', {id: record.id}).then(rs => {\n this.setState({userList: rs.list, targetKeys: rs.selectedKeys})\n })\n }\n\n onFinish = values => {\n HttpUtils.post('admin/sysRole/save', values).then(rs => {\n this.setState({formOpen: false})\n this.tableRef.current.reload()\n })\n }\n\n handleDelete = record => {\n HttpUtils.post('admin/sysRole/delete', {id: record.id}).then(rs => {\n this.tableRef.current.reload()\n })\n }\n\n columns = [\n\n {\n title: '名称',\n dataIndex: 'name',\n\n\n },\n\n {\n title: '编号',\n dataIndex: 'code',\n\n\n },\n\n {\n title: '排序',\n dataIndex: 'seq',\n\n\n },\n\n {\n title: '备注',\n dataIndex: 'remark',\n\n\n },\n\n {\n title: '启用',\n dataIndex: 'enabled',\n\n\n render(v) {\n return v == null ? null : (v ? '是' : '否')\n },\n\n\n },\n {\n title: '是否内置',\n dataIndex: 'builtin',\n\n\n render(v) {\n return v == null ? null : (v ? '是' : '否')\n },\n\n\n },\n\n {\n title: '权限码',\n dataIndex: 'perms',\n width: 300,\n render(v) {\n if (v) {\n return <ViewText value={v.join(',')} ellipsis={true} />\n }\n }\n\n },\n\n\n {\n title: '操作',\n dataIndex: 'option',\n render: (_, record) => {\n\n return (\n <ButtonList>\n <Button size='small' perm='sysRole:manage'\n onClick={() => this.handleEditUser(record)}>用户设置</Button>\n\n <Button size='small' perm='sysRole:manage' disabled={record.builtin}\n onClick={() => PageUtils.open('/system/role/perm?id=' + record.id, '角色权限设置')}>权限设置</Button>\n\n <Button size='small' perm='sysRole:manage' disabled={record.builtin}\n onClick={() => this.handleEdit(record)}>编辑</Button>\n <Popconfirm perm='sysRole:manage' disabled={record.builtin} title='是否确定删除系统角色'\n onConfirm={() => this.handleDelete(record)}>\n <Button size='small'>删除</Button>\n </Popconfirm>\n </ButtonList>\n );\n },\n },\n ]\n\n handleSaveUsers = () => {\n const params = {\n id: this.state.formValues.id,\n userIdList: this.state.targetKeys\n }\n HttpUtils.post('admin/sysRole/grantUsers', params).then(rs => {\n this.setState({usersModalOpen: false})\n })\n }\n\n handleEditMenu = (record) => {\n this.setState({menuOpen: true, formValues: record, menuTreeLoading: true})\n HttpUtils.get('admin/sysRole/ownMenu', {id: record.id}).then(rs => {\n this.setState({menuChecked: rs.checked, menuHalfChecked: rs.halfChecked})\n })\n HttpUtils.get('admin/sysRole/menuTree').then(rs => {\n this.setState({menuTree: rs, menuTreeLoading: false})\n })\n }\n handleGrantMenu = () => {\n const params = {\n id: this.state.formValues.id,\n menuIds: [...this.state.menuChecked, ...this.state.menuHalfChecked]\n }\n HttpUtils.post('admin/sysRole/grantMenu', params).then(rs => {\n this.setState({menuOpen: false})\n })\n }\n\n render() {\n return <Page padding>\n <ProTable\n actionRef={this.tableRef}\n toolBarRender={() => {\n return <ButtonList>\n <Button perm='sysRole:manage' type='primary' onClick={this.handleAdd}>\n <PlusOutlined/> 新增\n </Button>\n </ButtonList>\n }}\n request={(params) => HttpUtils.get('admin/sysRole/page', params)}\n columns={this.columns}\n\n />\n\n <Modal title='系统角色'\n open={this.state.formOpen}\n onOk={() => this.formRef.current.submit()}\n onCancel={() => this.setState({formOpen: false})}\n destroyOnHidden\n maskClosable={false}\n width={600}\n >\n\n <Form ref={this.formRef} labelCol={{flex: '100px'}}\n initialValues={this.state.formValues}\n onFinish={this.onFinish}\n >\n <Form.Item name='id' noStyle></Form.Item>\n\n\n <Form.Item label='名称' name='name' rules={[{required: true}]}>\n <Input/>\n </Form.Item>\n\n <Form.Item label='编码' name='code' rules={[{required: true}]}>\n <Input/>\n </Form.Item>\n\n\n <Form.Item label='排序' name='seq'>\n <InputNumber/>\n </Form.Item>\n\n\n <Form.Item label='备注' name='remark'>\n <Input/>\n </Form.Item>\n\n <Form.Item label='启用' name='enabled' rules={[{required: true}]}>\n <FieldBoolean/>\n </Form.Item>\n\n\n </Form>\n </Modal>\n\n\n <Modal title={'角色用户' + \"【\" + this.state.formValues?.name + '】'}\n open={this.state.usersModalOpen}\n destroyOnHidden\n maskClosable={false}\n width={800}\n onCancel={() => this.setState({usersModalOpen: false})}\n onOk={this.handleSaveUsers}\n >\n\n\n <Transfer\n listStyle={{height: '60vh', width: 300}}\n\n dataSource={this.state.userList} titles={[\"未选择\", \"已选择\"]}\n targetKeys={this.state.targetKeys}\n selectedKeys={this.state.selectedKeys}\n render={item => item.title}\n onChange={(nextTargetKeys, direction, moveKeys) => {\n this.setState({\n targetKeys: nextTargetKeys\n })\n }}\n onSelectChange={(sourceSelectedKeys, targetSelectedKeys) => {\n this.setState({\n selectedKeys: [...sourceSelectedKeys, ...targetSelectedKeys]\n })\n }}\n showSearch\n />\n\n\n </Modal>\n\n <Modal title={'角色授权菜单权限' + \"【\" + this.state.formValues?.name + '】'}\n open={this.state.menuOpen}\n destroyOnHidden\n maskClosable={false}\n width={800}\n onCancel={() => this.setState({menuOpen: false})}\n onOk={this.handleGrantMenu}\n loading={this.state.menuTreeLoading}\n >\n <Tree\n height={600}\n treeData={this.state.menuTree}\n multiple\n checkable\n checkedKeys={{checked: this.state.menuChecked}}\n onCheck={(keys, e) => {\n this.setState({menuChecked: keys, menuHalfChecked: e.halfCheckedKeys})\n }}\n defaultExpandAll\n titleRender={node => {\n return <span title={node.perm}>{node.title}</span>\n }}\n />\n </Modal>\n </Page>\n\n\n }\n}\n\n",
2167
2157
  "__isJSFile": true,
2168
2158
  "__absFile": "/home/runner/work/open-admin/open-admin/web/src/pages/system/role/index.jsx"
2169
2159
  },
@@ -2173,7 +2163,7 @@
2173
2163
  "parentId": "@@/global-layout",
2174
2164
  "file": "system/user/index.jsx",
2175
2165
  "absPath": "/system/user",
2176
- "__content": "import {PlusOutlined} from '@ant-design/icons';\nimport {Button, Form, Input, Modal, Popconfirm, Splitter, Tabs} from 'antd';\nimport React from 'react';\nimport {\n ButtonList,\n DictUtils,\n FieldBoolean,\n FieldSysOrgTreeSelect,\n HttpUtils,\n OrgTree,\n Page,\n ProTable,\n RoleTree\n} from \"../../../framework\";\nimport UserPerm from \"./UserPerm\";\n\nexport default class extends React.Component {\n\n state = {\n showAddForm: false,\n showEditForm: false,\n formValues: {},\n\n currentOrgId: null,\n currentRoleId: null,\n }\n permRef = React.createRef();\n\n formRef = React.createRef()\n tableRef = React.createRef()\n\n resetPwd(row) {\n HttpUtils.post('admin/sysUser/resetPwd', {id: row.id}).then(rs => {\n Modal.success({\n title: '重置密码成功',\n content: rs\n })\n })\n }\n\n handleDelete = r => {\n HttpUtils.get('admin/sysUser/delete', {id: r.id}).then(rs => {\n this.tableRef.current.reload();\n })\n }\n\n onSelectOrg = (key) => {\n this.setState({currentOrgId: key}, () => this.tableRef.current.reload())\n }\n\n onSelectRole = (key) => {\n this.setState({currentRoleId: key}, () => this.tableRef.current.reload())\n }\n\n handleAdd = () => {\n this.setState({formOpen: true, formValues: {}})\n }\n\n handleEdit = record => {\n record.deptId = record.deptId || record.unitId\n this.setState({formOpen: true, formValues: record})\n }\n\n columns = [\n {\n title: '单位',\n dataIndex: 'unitLabel',\n },\n {\n title: '部门',\n dataIndex: 'deptLabel',\n },\n {\n title: '姓名',\n dataIndex: 'name',\n sorter: true\n },\n {\n title: '登录账号',\n dataIndex: 'account',\n sorter: true\n },\n\n\n {\n title: '手机',\n dataIndex: 'phone'\n },\n {\n title: '邮箱',\n dataIndex: 'email'\n },\n\n {\n title: '角色',\n dataIndex: 'roleIds',\n render: (_, row) => {\n if (row.roleNames) {\n return row.roleNames.join(',')\n }\n },\n },\n {\n title: '状态',\n dataIndex: 'enabled',\n render(v) {\n return v == null ? null : (v ? '是' : '否')\n },\n },\n {\n title: '数据权限',\n dataIndex: 'dataPermType',\n render(v) {\n return DictUtils.dictTag('dataPermType', v)\n }\n },\n\n {\n title: '创建时间',\n dataIndex: 'createTime',\n },\n {\n title: '操作',\n dataIndex: 'option',\n fixed: 'right',\n render: (_, record) => {\n return <ButtonList>\n <Button size='small' perm='sysUser:save' onClick={() => this.handleEdit(record)}> 编辑 </Button>\n\n <Button size='small' perm='sysUser:grantPerm'\n onClick={() => this.permRef.current.show(record)}> 授权 </Button>\n\n <Popconfirm perm='sysUser:resetPwd' title='确认重置密码?' onConfirm={() => this.resetPwd(record)}>\n <Button size='small'>重置密码</Button>\n </Popconfirm>\n\n <Popconfirm perm='sysUser:delete' title={'是否确定删除用户'}\n onConfirm={() => this.handleDelete(record)}>\n <Button size='small'>删除</Button>\n </Popconfirm>\n </ButtonList>;\n },\n },\n ];\n\n onFinish = values => {\n HttpUtils.post('admin/sysUser/save', values).then(rs => {\n this.setState({formOpen: false})\n this.tableRef.current.reload()\n })\n }\n\n render() {\n\n return <Page>\n <Splitter>\n <Splitter.Panel defaultSize={400}>\n <Tabs\n type='card'\n size='small'\n items={[\n {\n key: 'org',\n label: '按组织机构',\n children: <OrgTree onChange={this.onSelectOrg}/>\n },\n {\n key: 'role',\n label: '按角色',\n children: <RoleTree onSelect={this.onSelectRole}/>\n }\n ]}/>\n\n </Splitter.Panel>\n <Splitter.Panel style={{paddingLeft: 16}}>\n <ProTable\n actionRef={this.tableRef}\n toolBarRender={() => {\n return <ButtonList>\n <Button\n perm='sysUser:save'\n type=\"primary\"\n onClick={this.handleAdd}>\n <PlusOutlined/> 新增\n </Button>\n\n\n </ButtonList>\n }}\n showToolbarSearch\n request={(params) => {\n params.orgId = this.state.currentOrgId\n params.roleId = this.state.currentRoleId\n return HttpUtils.get('admin/sysUser/page', params)\n }\n }\n columns={this.columns}\n >\n\n </ProTable>\n </Splitter.Panel>\n </Splitter>\n\n\n <Modal title='系统用户'\n open={this.state.formOpen}\n onOk={() => this.formRef.current.submit()}\n onCancel={() => this.setState({formOpen: false})}\n destroyOnHidden\n >\n\n <Form ref={this.formRef} labelCol={{flex: '100px'}}\n initialValues={this.state.formValues}\n onFinish={this.onFinish}>\n <Form.Item name='id' noStyle></Form.Item>\n\n <Form.Item label='所属机构' name='deptId' rules={[{required: true}]}>\n <FieldSysOrgTreeSelect/>\n </Form.Item>\n\n <Form.Item label='姓名' name='name' rules={[{required: true}]}>\n <Input/>\n </Form.Item>\n <Form.Item label='账号' name='account' rules={[{required: true}]}>\n <Input/>\n </Form.Item>\n\n\n <Form.Item label='电话' name='phone'>\n <Input/>\n </Form.Item>\n <Form.Item label='邮箱' name='email'>\n <Input/>\n </Form.Item>\n\n <Form.Item label='启用状态' name='enabled' rules={[{required: true}]}>\n <FieldBoolean/>\n </Form.Item>\n\n </Form>\n </Modal>\n\n\n <UserPerm ref={this.permRef} onOk={() => this.tableRef.current.reload()}/>\n\n </Page>\n }\n\n\n}\n\n\n\n",
2166
+ "__content": "import {PlusOutlined} from '@ant-design/icons';\nimport {Button, Form, Input, Modal, Popconfirm, Splitter, Tabs} from 'antd';\nimport React from 'react';\nimport {\n ButtonList,\n DictUtils,\n FieldBoolean,\n FieldSysOrgTreeSelect,\n HttpUtils,\n OrgTree,\n Page,\n ProTable,\n RoleTree\n} from \"../../../framework\";\nimport UserPerm from \"./UserPerm\";\n\nexport default class extends React.Component {\n\n state = {\n showAddForm: false,\n showEditForm: false,\n formValues: {},\n\n currentOrgId: null,\n currentRoleId: null,\n }\n permRef = React.createRef();\n\n formRef = React.createRef()\n tableRef = React.createRef()\n\n resetPwd(row) {\n HttpUtils.post('admin/sysUser/resetPwd', {id: row.id}).then(rs => {\n Modal.success({\n title: '重置密码成功',\n content: rs\n })\n })\n }\n\n handleDelete = r => {\n HttpUtils.post('admin/sysUser/delete', {id: r.id}).then(rs => {\n this.tableRef.current.reload();\n })\n }\n\n onSelectOrg = (key) => {\n this.setState({currentOrgId: key}, () => this.tableRef.current.reload())\n }\n\n onSelectRole = (key) => {\n this.setState({currentRoleId: key}, () => this.tableRef.current.reload())\n }\n\n handleAdd = () => {\n this.setState({formOpen: true, formValues: {}})\n }\n\n handleEdit = record => {\n record.deptId = record.deptId || record.unitId\n this.setState({formOpen: true, formValues: record})\n }\n\n columns = [\n {\n title: '单位',\n dataIndex: 'unitLabel',\n },\n {\n title: '部门',\n dataIndex: 'deptLabel',\n },\n {\n title: '姓名',\n dataIndex: 'name',\n sorter: true\n },\n {\n title: '登录账号',\n dataIndex: 'account',\n sorter: true\n },\n\n\n {\n title: '手机',\n dataIndex: 'phone'\n },\n {\n title: '邮箱',\n dataIndex: 'email'\n },\n\n {\n title: '角色',\n dataIndex: 'roleIds',\n render: (_, row) => {\n if (row.roleNames) {\n return row.roleNames.join(',')\n }\n },\n },\n {\n title: '状态',\n dataIndex: 'enabled',\n render(v) {\n return v == null ? null : (v ? '是' : '否')\n },\n },\n {\n title: '数据权限',\n dataIndex: 'dataPermType',\n render(v) {\n return DictUtils.dictTag('dataPermType', v)\n }\n },\n\n {\n title: '创建时间',\n dataIndex: 'createTime',\n },\n {\n title: '操作',\n dataIndex: 'option',\n fixed: 'right',\n render: (_, record) => {\n return <ButtonList>\n <Button size='small' perm='sysUser:save' onClick={() => this.handleEdit(record)}> 编辑 </Button>\n\n <Button size='small' perm='sysUser:grantPerm'\n onClick={() => this.permRef.current.show(record)}> 授权 </Button>\n\n <Popconfirm perm='sysUser:resetPwd' title='确认重置密码?' onConfirm={() => this.resetPwd(record)}>\n <Button size='small'>重置密码</Button>\n </Popconfirm>\n\n <Popconfirm perm='sysUser:delete' title={'是否确定删除用户'}\n onConfirm={() => this.handleDelete(record)}>\n <Button size='small'>删除</Button>\n </Popconfirm>\n </ButtonList>;\n },\n },\n ];\n\n onFinish = values => {\n HttpUtils.post('admin/sysUser/save', values).then(rs => {\n this.setState({formOpen: false})\n this.tableRef.current.reload()\n })\n }\n\n render() {\n\n return <Page>\n <Splitter>\n <Splitter.Panel defaultSize={400}>\n <Tabs\n type='card'\n size='small'\n items={[\n {\n key: 'org',\n label: '按组织机构',\n children: <OrgTree onChange={this.onSelectOrg}/>\n },\n {\n key: 'role',\n label: '按角色',\n children: <RoleTree onSelect={this.onSelectRole}/>\n }\n ]}/>\n\n </Splitter.Panel>\n <Splitter.Panel style={{paddingLeft: 16}}>\n <ProTable\n actionRef={this.tableRef}\n toolBarRender={() => {\n return <ButtonList>\n <Button\n perm='sysUser:save'\n type=\"primary\"\n onClick={this.handleAdd}>\n <PlusOutlined/> 新增\n </Button>\n\n\n </ButtonList>\n }}\n showToolbarSearch\n request={(params) => {\n params.orgId = this.state.currentOrgId\n params.roleId = this.state.currentRoleId\n return HttpUtils.get('admin/sysUser/page', params)\n }\n }\n columns={this.columns}\n >\n\n </ProTable>\n </Splitter.Panel>\n </Splitter>\n\n\n <Modal title='系统用户'\n open={this.state.formOpen}\n onOk={() => this.formRef.current.submit()}\n onCancel={() => this.setState({formOpen: false})}\n destroyOnHidden\n >\n\n <Form ref={this.formRef} labelCol={{flex: '100px'}}\n initialValues={this.state.formValues}\n onFinish={this.onFinish}>\n <Form.Item name='id' noStyle></Form.Item>\n\n <Form.Item label='所属机构' name='deptId' rules={[{required: true}]}>\n <FieldSysOrgTreeSelect/>\n </Form.Item>\n\n <Form.Item label='姓名' name='name' rules={[{required: true}]}>\n <Input/>\n </Form.Item>\n <Form.Item label='账号' name='account' rules={[{required: true}]}>\n <Input/>\n </Form.Item>\n\n\n <Form.Item label='电话' name='phone'>\n <Input/>\n </Form.Item>\n <Form.Item label='邮箱' name='email'>\n <Input/>\n </Form.Item>\n\n <Form.Item label='启用状态' name='enabled' rules={[{required: true}]}>\n <FieldBoolean/>\n </Form.Item>\n\n </Form>\n </Modal>\n\n\n <UserPerm ref={this.permRef} onOk={() => this.tableRef.current.reload()}/>\n\n </Page>\n }\n\n\n}\n\n\n\n",
2177
2167
  "__isJSFile": true,
2178
2168
  "__absFile": "/home/runner/work/open-admin/open-admin/web/src/pages/system/user/index.jsx"
2179
2169
  },
@@ -2193,27 +2183,17 @@
2193
2183
  "parentId": "@@/global-layout",
2194
2184
  "file": "system/api/index.jsx",
2195
2185
  "absPath": "/system/api",
2196
- "__content": "import {PlusOutlined} from '@ant-design/icons'\nimport {Button, Form, Input, Modal, Popconfirm, Tabs} from 'antd'\nimport React from 'react'\nimport {\n ButtonList,\n FieldBoolean,\n FieldDate,\n HttpUtils,\n Page,\n PageUtils,\n ProTable,\n StringUtils,\n ViewPassword\n} from \"../../../framework\";\nimport {ApiDoc} from \"./ApiDoc\";\n\n\nexport default class extends React.Component {\n\n state = {\n formValues: {},\n formOpen: false\n }\n\n formRef = React.createRef()\n tableRef = React.createRef()\n\n handleAdd = () => {\n this.setState({formOpen: true, formValues: {}})\n }\n\n handleEdit = record => {\n this.setState({formOpen: true, formValues: record})\n }\n\n onFinish = values => {\n HttpUtils.post('admin/apiAccount/save', values).then(rs => {\n this.setState({formOpen: false})\n this.tableRef.current.reload()\n })\n }\n\n handleDelete = record => {\n HttpUtils.get('admin/apiAccount/delete', {id: record.id}).then(rs => {\n this.tableRef.current.reload()\n })\n }\n\n columns = [\n {\n title: '名称',\n dataIndex: 'name',\n },\n {\n title: 'appId',\n dataIndex: 'appId',\n },\n\n {\n title: 'appSecret',\n dataIndex: 'appSecret',\n render(v) {\n return <ViewPassword value={v}></ViewPassword>;\n }\n },\n {\n title: '准入IP',\n dataIndex: 'accessIp',\n },\n {\n title: '有效期',\n dataIndex: 'endTime',\n },\n {\n title: '启用',\n dataIndex: 'enable',\n render(v) {\n return v == null ? null : (v ? '是' : '否')\n },\n },\n {\n title: '操作',\n dataIndex: 'option',\n render: (_, record) => (\n <ButtonList>\n <Button size='small' perm='api'\n onClick={() => PageUtils.open('/system/api/perm?accountId=' + record.id, '账户权限')}\n type='primary'>权限</Button>\n <Button size='small' perm='api' onClick={() => this.handleEdit(record)}>编辑</Button>\n <Popconfirm perm='api' title='是否确定删除接口访客' onConfirm={() => this.handleDelete(record)}>\n <Button size='small'>删除</Button>\n </Popconfirm>\n </ButtonList>\n ),\n },\n ]\n\n randomAppSecret = () => {\n const appSecret = StringUtils.random(32)\n this.formRef.current.setFieldsValue({appSecret})\n }\n\n render() {\n return <Page padding>\n <Tabs items={[\n\n {\n label: '接口列表',\n key: '2',\n children: <ProTable\n rowKey='action'\n columns={[\n {dataIndex: 'name', title: '名称'},\n {dataIndex: 'action', title: '动作'},\n {dataIndex: 'desc', title: '描述'},\n\n ]}\n request={(params,) => HttpUtils.get('admin/api/resource/page', params)}\n />\n },\n\n {\n label: '账号列表',\n key: '1',\n children: <ProTable\n actionRef={this.tableRef}\n toolBarRender={() => {\n return <ButtonList>\n <Button perm='api' type='primary' onClick={this.handleAdd}>\n <PlusOutlined/> 新增\n </Button>\n </ButtonList>\n }}\n request={(params) => HttpUtils.get('admin/apiAccount/page', params)}\n columns={this.columns}\n />\n }, {\n label: '接口文档',\n key: '3',\n children: <ApiDoc/>\n },\n {\n label: '访问记录',\n key: '4',\n children: <ProTable\n request={(params) => HttpUtils.get('admin/apiAccessLog/page', params)}\n columns={[\n\n {\n title: '接口名称',\n dataIndex: 'name',\n\n\n },\n\n {\n title: '接口',\n dataIndex: 'action',\n\n\n },\n\n {\n title: 'requestId',\n dataIndex: 'requestId',\n\n },\n\n {\n title: '请求数据',\n dataIndex: 'requestData',\n\n\n },\n\n {\n title: '响应数据',\n dataIndex: 'responseData',\n\n\n },\n\n {\n title: 'ip',\n dataIndex: 'ip',\n\n\n },\n\n {\n title: 'ipLocation',\n dataIndex: 'ipLocation',\n\n\n },\n\n {\n title: '执行时间',\n dataIndex: 'executionTime',\n\n\n },\n\n {\n title: '接口账户',\n dataIndex: 'accountName',\n\n\n },\n\n\n ]}\n />\n },\n\n ]}>\n\n </Tabs>\n\n\n <Modal title='接口访客'\n open={this.state.formOpen}\n onOk={() => this.formRef.current.submit()}\n onCancel={() => this.setState({formOpen: false})}\n destroyOnHidden\n maskClosable={false}\n >\n\n <Form ref={this.formRef} labelCol={{flex: '100px'}}\n initialValues={this.state.formValues}\n onFinish={this.onFinish}\n\n >\n <Form.Item name='id' noStyle></Form.Item>\n\n <Form.Item label='名称' name='name' rules={[{required: true}]}>\n <Input/>\n </Form.Item>\n\n\n <Form.Item label='appId' name='appId'>\n <Input placeholder='多个用逗号分隔'/>\n </Form.Item>\n <Form.Item label='appSecret' name='appSecret' rules={[{required: true}, {len: 32}]}\n help={<Button size='small' type='link' onClick={this.randomAppSecret}>随机生成</Button>}\n >\n <Input/>\n </Form.Item>\n\n <Form.Item label='准入IP' name='accessIp'>\n <Input placeholder='多个用逗号分隔'/>\n </Form.Item>\n <Form.Item label='有效期' name='endTime' style={{marginTop: 32}}>\n <FieldDate type='YYYY-MM-DD'/>\n </Form.Item>\n <Form.Item label='启用' name='enable' rules={[{required: true}]}>\n <FieldBoolean/>\n </Form.Item>\n\n </Form>\n </Modal>\n </Page>\n\n\n }\n}\n\n",
2186
+ "__content": "import {PlusOutlined} from '@ant-design/icons'\nimport {Button, Form, Input, Modal, Popconfirm, Tabs} from 'antd'\nimport React from 'react'\nimport {\n ButtonList,\n FieldBoolean,\n FieldDate,\n HttpUtils,\n Page,\n PageUtils,\n ProTable,\n StringUtils,\n ViewPassword\n} from \"../../../framework\";\nimport {ApiDoc} from \"./ApiDoc\";\n\n\nexport default class extends React.Component {\n\n state = {\n formValues: {},\n formOpen: false\n }\n\n formRef = React.createRef()\n tableRef = React.createRef()\n\n handleAdd = () => {\n this.setState({formOpen: true, formValues: {}})\n }\n\n handleEdit = record => {\n this.setState({formOpen: true, formValues: record})\n }\n\n onFinish = values => {\n HttpUtils.post('admin/apiAccount/save', values).then(rs => {\n this.setState({formOpen: false})\n this.tableRef.current.reload()\n })\n }\n\n handleDelete = record => {\n HttpUtils.post('admin/apiAccount/delete', {id: record.id}).then(rs => {\n this.tableRef.current.reload()\n })\n }\n\n columns = [\n {\n title: '名称',\n dataIndex: 'name',\n },\n {\n title: 'appId',\n dataIndex: 'appId',\n },\n\n {\n title: 'appSecret',\n dataIndex: 'appSecret',\n render(v) {\n return <ViewPassword value={v}></ViewPassword>;\n }\n },\n {\n title: '准入IP',\n dataIndex: 'accessIp',\n },\n {\n title: '有效期',\n dataIndex: 'endTime',\n },\n {\n title: '启用',\n dataIndex: 'enable',\n render(v) {\n return v == null ? null : (v ? '是' : '否')\n },\n },\n {\n title: '操作',\n dataIndex: 'option',\n render: (_, record) => (\n <ButtonList>\n <Button size='small' perm='api'\n onClick={() => PageUtils.open('/system/api/perm?accountId=' + record.id, '账户权限')}\n type='primary'>权限</Button>\n <Button size='small' perm='api' onClick={() => this.handleEdit(record)}>编辑</Button>\n <Popconfirm perm='api' title='是否确定删除接口访客' onConfirm={() => this.handleDelete(record)}>\n <Button size='small'>删除</Button>\n </Popconfirm>\n </ButtonList>\n ),\n },\n ]\n\n randomAppSecret = () => {\n const appSecret = StringUtils.random(32)\n this.formRef.current.setFieldsValue({appSecret})\n }\n\n render() {\n return <Page padding>\n <Tabs items={[\n\n {\n label: '接口列表',\n key: '2',\n children: <ProTable\n rowKey='action'\n columns={[\n {dataIndex: 'name', title: '名称'},\n {dataIndex: 'action', title: '动作'},\n {dataIndex: 'desc', title: '描述'},\n\n ]}\n request={(params,) => HttpUtils.get('admin/api/resource/page', params)}\n />\n },\n\n {\n label: '账号列表',\n key: '1',\n children: <ProTable\n actionRef={this.tableRef}\n toolBarRender={() => {\n return <ButtonList>\n <Button perm='api' type='primary' onClick={this.handleAdd}>\n <PlusOutlined/> 新增\n </Button>\n </ButtonList>\n }}\n request={(params) => HttpUtils.get('admin/apiAccount/page', params)}\n columns={this.columns}\n />\n }, {\n label: '接口文档',\n key: '3',\n children: <ApiDoc/>\n },\n {\n label: '访问记录',\n key: '4',\n children: <ProTable\n request={(params) => HttpUtils.get('admin/apiAccessLog/page', params)}\n columns={[\n\n {\n title: '接口名称',\n dataIndex: 'name',\n\n\n },\n\n {\n title: '接口',\n dataIndex: 'action',\n\n\n },\n\n {\n title: 'requestId',\n dataIndex: 'requestId',\n\n },\n\n {\n title: '请求数据',\n dataIndex: 'requestData',\n\n\n },\n\n {\n title: '响应数据',\n dataIndex: 'responseData',\n\n\n },\n\n {\n title: 'ip',\n dataIndex: 'ip',\n\n\n },\n\n {\n title: 'ipLocation',\n dataIndex: 'ipLocation',\n\n\n },\n\n {\n title: '执行时间',\n dataIndex: 'executionTime',\n\n\n },\n\n {\n title: '接口账户',\n dataIndex: 'accountName',\n\n\n },\n\n\n ]}\n />\n },\n\n ]}>\n\n </Tabs>\n\n\n <Modal title='接口访客'\n open={this.state.formOpen}\n onOk={() => this.formRef.current.submit()}\n onCancel={() => this.setState({formOpen: false})}\n destroyOnHidden\n maskClosable={false}\n >\n\n <Form ref={this.formRef} labelCol={{flex: '100px'}}\n initialValues={this.state.formValues}\n onFinish={this.onFinish}\n\n >\n <Form.Item name='id' noStyle></Form.Item>\n\n <Form.Item label='名称' name='name' rules={[{required: true}]}>\n <Input/>\n </Form.Item>\n\n\n <Form.Item label='appId' name='appId'>\n <Input placeholder='多个用逗号分隔'/>\n </Form.Item>\n <Form.Item label='appSecret' name='appSecret' rules={[{required: true}, {len: 32}]}\n help={<Button size='small' type='link' onClick={this.randomAppSecret}>随机生成</Button>}\n >\n <Input/>\n </Form.Item>\n\n <Form.Item label='准入IP' name='accessIp'>\n <Input placeholder='多个用逗号分隔'/>\n </Form.Item>\n <Form.Item label='有效期' name='endTime' style={{marginTop: 32}}>\n <FieldDate type='YYYY-MM-DD'/>\n </Form.Item>\n <Form.Item label='启用' name='enable' rules={[{required: true}]}>\n <FieldBoolean/>\n </Form.Item>\n\n </Form>\n </Modal>\n </Page>\n\n\n }\n}\n\n",
2197
2187
  "__isJSFile": true,
2198
2188
  "__absFile": "/home/runner/work/open-admin/open-admin/web/src/pages/system/api/index.jsx"
2199
2189
  },
2200
- "system/dict/Dict": {
2201
- "path": "system/dict/Dict",
2202
- "id": "system/dict/Dict",
2203
- "parentId": "@@/global-layout",
2204
- "file": "system/dict/Dict.jsx",
2205
- "absPath": "/system/dict/Dict",
2206
- "__content": "import React from 'react'\nimport {HttpUtils, ProTable} from \"../../../framework\";\n\n\nexport default class extends React.Component {\n\n state = {\n formValues: {},\n formOpen: false,\n selectedRowKeys: []\n }\n\n formRef = React.createRef()\n tableRef = React.createRef()\n\n columns = [\n\n\n {\n title: '编码',\n dataIndex: 'code',\n\n\n },\n {\n title: '文本',\n dataIndex: 'text',\n },\n\n\n ]\n\n\n render() {\n return <>\n <ProTable\n actionRef={this.tableRef}\n\n request={(params) => HttpUtils.get('admin/sysDict/page', params)}\n columns={this.columns}\n rowKey='id'\n\n rowSelection={{\n type: 'radio',\n selectedRowKeys: this.state.selectedRowKeys,\n onChange: (selectedRowKeys, selectedRows) => {\n this.setState({selectedRowKeys: selectedRowKeys})\n this.props.onChange(selectedRowKeys[0])\n }\n }}\n onRow={(record) => ({\n onClick: () => {\n this.setState({selectedRowKeys: [record.id]})\n this.props.onChange(record.id)\n }\n })}\n />\n\n\n </>\n\n\n }\n}\n\n\n\n",
2207
- "__isJSFile": true,
2208
- "__absFile": "/home/runner/work/open-admin/open-admin/web/src/pages/system/dict/Dict.jsx"
2209
- },
2210
2190
  "system/job/index": {
2211
2191
  "path": "system/job",
2212
2192
  "id": "system/job/index",
2213
2193
  "parentId": "@@/global-layout",
2214
2194
  "file": "system/job/index.jsx",
2215
2195
  "absPath": "/system/job",
2216
- "__content": "import {\n Alert,\n AutoComplete,\n Button,\n Divider,\n Form,\n Input,\n message,\n Modal,\n Popconfirm,\n Select,\n Space,\n Switch,\n Tag\n} from 'antd'\nimport React from 'react'\nimport {PlusOutlined} from \"@ant-design/icons\";\nimport {ButtonList, HttpUtils, Page, ProTable, StringUtils, ValueType} from \"../../../framework\";\n\n\nconst cronOptions = [\n {\n label: '*/5 * * * * ? 每隔5秒',\n value: '*/5 * * * * ?'\n },\n {\n label: '0 */5 * * * ? 每隔5分钟',\n value: '0 */5 * * * ?'\n },\n {\n label: '0 0 22 * * ? 每天22点',\n value: '0 0 22 * * ?'\n },\n {\n label: '0 0 1 * * ? 每天1点',\n value: '0 0 1 * * ?'\n },\n {\n label: '0 0 1 1 * ? 每月1号凌晨1点',\n value: '0 0 1 1 * ?'\n }\n]\n\n\nexport default class extends React.Component {\n\n state = {\n formValues: {},\n formOpen: false,\n\n selectedRowKeys: [],\n\n jobClassOptions: [],\n\n paramList: [],\n\n statusOpen: false,\n status: null,\n\n executeRecordOpen: false,\n }\n tableRef = React.createRef()\n formRef = React.createRef()\n\n componentDidMount() {\n HttpUtils.get('admin/job/jobClassOptions').then(rs => {\n this.setState({jobClassOptions: rs})\n })\n }\n\n handleAdd = () => {\n this.setState({formOpen: true, formValues: {}, paramList: []})\n }\n\n handleEdit = (record) => {\n this.loadJobParamFields(record.jobClass, record.jobData)\n this.setState({formOpen: true, formValues: record,})\n }\n\n loadJobParamFields(className, jobData) {\n HttpUtils.post(\"admin/job/getJobParamFields\", jobData || {}, {className}).then(rs => {\n this.setState({paramList: rs})\n })\n }\n\n onFinish = (values) => {\n HttpUtils.post('admin/job/save', values).then(rs => {\n this.setState({formOpen: false})\n this.tableRef.current.reload();\n })\n }\n\n handleDelete = row => {\n const hide = message.loading(\"删除作业中...\")\n HttpUtils.get('admin/job/delete', {id: row.id}).then(rs => {\n this.tableRef.current.reload();\n }).catch(hide)\n }\n\n handleTriggerJob = row => {\n HttpUtils.get('admin/job/triggerJob', {id: row.id}).then(rs => {\n this.tableRef.current.reload();\n })\n }\n\n columns = [\n {\n title: '名称',\n dataIndex: 'name',\n\n },\n {\n title: '执行类',\n dataIndex: 'jobClass',\n\n },\n\n {\n title: 'cron',\n dataIndex: 'cron',\n },\n\n\n {\n title: '参数',\n dataIndex: 'jobData',\n render(list) {\n if (list)\n return JSON.stringify(list)\n }\n },\n\n\n {\n title: '启用状态',\n dataIndex: 'enabled',\n render: (v, record) => {\n return record.enabled ? <Tag color='green'>启用</Tag> : <Tag color='red'>停用</Tag>\n },\n },\n\n {\n title: '操作',\n dataIndex: 'option',\n fixed: 'right',\n render: (_, record) => {\n\n return (\n <Space>\n <Button size='small' onClick={() => this.showExecuteRecord(record)}>执行记录</Button>\n <Button size='small' onClick={() => this.handleTriggerJob(record)}>执行一次</Button>\n <Button size='small' onClick={() => this.handleEdit(record)}> 编辑 </Button>\n <Popconfirm title='是否确定删除?' onConfirm={() => this.handleDelete(record)}>\n <Button size='small'>删除</Button>\n </Popconfirm>\n </Space>\n );\n },\n },\n\n ]\n\n showStatus = () => {\n this.setState({statusOpen: true})\n HttpUtils.get('admin/job/status').then(rs => {\n this.setState({status: rs})\n })\n };\n\n showExecuteRecord(record) {\n this.setState({executeRecordOpen: true, formValues: record})\n }\n\n\n render() {\n return <Page padding>\n <ProTable\n actionRef={this.tableRef}\n toolBarRender={() => {\n return <ButtonList>\n <Button type='primary' onClick={() => this.handleAdd()} icon={<PlusOutlined/>}>\n 新增\n </Button>\n <Button onClick={this.showStatus}>\n 查看状态\n </Button>\n </ButtonList>\n }}\n request={(params) => HttpUtils.get('admin/job/page', params)}\n columns={this.columns}\n showToolbarSearch\n />\n\n\n <Modal title='作业调度'\n open={this.state.formOpen}\n destroyOnHidden\n width={800}\n onOk={() => this.formRef.current.submit()}\n onCancel={() => this.setState({formOpen: false})}\n >\n\n <Form ref={this.formRef} labelCol={{flex: '100px'}}\n initialValues={this.state.formValues}\n onValuesChange={this.onValuesChange}\n onFinish={this.onFinish}>\n <Form.Item name='id' noStyle>\n </Form.Item>\n <Form.Item label='执行类' name='jobClass' rules={[{required: true}]}\n tooltip='org.quartz.Job接口,参考io.tmgg.job.builtin.DemoJob'>\n <Select options={this.state.jobClassOptions}/>\n </Form.Item>\n <Form.Item label='名称' name='name' rules={[{required: true}]}>\n <Input/>\n </Form.Item>\n\n <Form.Item label='cron表达式' name='cron' help='格式:秒分时日月周,留空表示手动执行'\n rules={[{required: true}]}>\n <AutoComplete placeholder='如 0 */5 * * * ?' options={cronOptions}/>\n </Form.Item>\n\n <Form.Item label='启用' name='enabled' valuePropName='checked' rules={[{required: true}]}>\n <Switch/>\n </Form.Item>\n\n\n {this.state.paramList?.map(p => (\n <div key={p.name}>\n <Divider>作业参数</Divider>\n <Form.Item label={p.label}\n name={['jobData', p.name]}\n key={p.name}\n rules={[{required: p.required}]}>\n {ValueType.renderField(p.componentType, p.componentProps)}\n </Form.Item>\n </div>\n ))}\n </Form>\n </Modal>\n\n <Modal title='作业调度状态'\n open={this.state.statusOpen}\n onCancel={() => this.setState({statusOpen: false})}\n footer={null}\n width={1024}\n >\n <Alert message={<pre>{this.state.status}</pre>}></Alert>\n\n </Modal>\n\n <Modal title='作业调度记录'\n open={this.state.executeRecordOpen}\n onCancel={() => this.setState({executeRecordOpen: false})}\n footer={null}\n width={1024}\n destroyOnHidden\n >\n <ProTable columns={[{\n title: '开始时间',\n dataIndex: 'beginTime',\n },\n {\n title: '结束时间',\n dataIndex: 'endTime',\n },\n {\n title: '耗时',\n dataIndex: 'jobRunTimeLabel',\n\n },\n {\n title: '是否成功',\n dataIndex: 'success',\n width: 200,\n render: v => {\n if (v != null) {\n return v ? '成功' : '异常'\n }\n }\n },\n {\n title: '返回结果',\n dataIndex: 'result',\n width: 300\n },\n\n {\n title: '操作',\n dataIndex: 'option',\n render: (_, record) => {\n let url = '/admin/sys/log/' + record.id;\n return <a href={url} target='_blank'>日志</a>;\n },\n }\n ]} request={params => {\n params.jobId = this.state.formValues.id\n return HttpUtils.get('admin/job/executeRecord', params);\n }}></ProTable>\n\n </Modal>\n </Page>\n }\n\n onValuesChange = (changed, values) => {\n if (changed.jobClass) {\n this.loadJobParamFields(values.jobClass)\n const option = this.state.jobClassOptions.find(o => o.value === changed.jobClass)\n if (option) {\n let {label} = option;\n if (StringUtils.contains(label, \" \")) { // 取中文名部门设置为name\n this.formRef.current.setFieldValue(\"name\", label.split(\" \")[1])\n }\n }\n }\n\n if (changed.jobData) {\n this.loadJobParamFields(values.jobClass, values.jobData)\n }\n\n };\n}\n\n\n\n",
2196
+ "__content": "import {\n Alert,\n AutoComplete,\n Button,\n Divider,\n Form,\n Input,\n message,\n Modal,\n Popconfirm,\n Select,\n Space,\n Switch,\n Tag\n} from 'antd'\nimport React from 'react'\nimport {PlusOutlined} from \"@ant-design/icons\";\nimport {ButtonList, HttpUtils, Page, ProTable, StringUtils, ValueType} from \"../../../framework\";\n\n\nconst cronOptions = [\n {\n label: '*/5 * * * * ? 每隔5秒',\n value: '*/5 * * * * ?'\n },\n {\n label: '0 */5 * * * ? 每隔5分钟',\n value: '0 */5 * * * ?'\n },\n {\n label: '0 0 22 * * ? 每天22点',\n value: '0 0 22 * * ?'\n },\n {\n label: '0 0 1 * * ? 每天1点',\n value: '0 0 1 * * ?'\n },\n {\n label: '0 0 1 1 * ? 每月1号凌晨1点',\n value: '0 0 1 1 * ?'\n }\n]\n\n\nexport default class extends React.Component {\n\n state = {\n formValues: {},\n formOpen: false,\n\n selectedRowKeys: [],\n\n jobClassOptions: [],\n\n paramList: [],\n\n statusOpen: false,\n status: null,\n\n executeRecordOpen: false,\n }\n tableRef = React.createRef()\n formRef = React.createRef()\n\n componentDidMount() {\n HttpUtils.get('admin/job/jobClassOptions').then(rs => {\n this.setState({jobClassOptions: rs})\n })\n }\n\n handleAdd = () => {\n this.setState({formOpen: true, formValues: {}, paramList: []})\n }\n\n handleEdit = (record) => {\n this.loadJobParamFields(record.jobClass, record.jobData)\n this.setState({formOpen: true, formValues: record,})\n }\n\n loadJobParamFields(className, jobData) {\n HttpUtils.post(\"admin/job/getJobParamFields\", jobData || {}, {className}).then(rs => {\n this.setState({paramList: rs})\n })\n }\n\n onFinish = (values) => {\n HttpUtils.post('admin/job/save', values).then(rs => {\n this.setState({formOpen: false})\n this.tableRef.current.reload();\n })\n }\n\n handleDelete = row => {\n const hide = message.loading(\"删除作业中...\")\n HttpUtils.post('admin/job/delete', {id: row.id}).then(rs => {\n this.tableRef.current.reload();\n }).catch(hide)\n }\n\n handleTriggerJob = row => {\n HttpUtils.get('admin/job/triggerJob', {id: row.id}).then(rs => {\n this.tableRef.current.reload();\n })\n }\n\n columns = [\n {\n title: '名称',\n dataIndex: 'name',\n\n },\n {\n title: '执行类',\n dataIndex: 'jobClass',\n\n },\n\n {\n title: 'cron',\n dataIndex: 'cron',\n },\n\n\n {\n title: '参数',\n dataIndex: 'jobData',\n render(list) {\n if (list)\n return JSON.stringify(list)\n }\n },\n\n\n {\n title: '启用状态',\n dataIndex: 'enabled',\n render: (v, record) => {\n return record.enabled ? <Tag color='green'>启用</Tag> : <Tag color='red'>停用</Tag>\n },\n },\n\n {\n title: '操作',\n dataIndex: 'option',\n fixed: 'right',\n render: (_, record) => {\n\n return (\n <Space>\n <Button size='small' onClick={() => this.showExecuteRecord(record)}>执行记录</Button>\n <Button size='small' onClick={() => this.handleTriggerJob(record)}>执行一次</Button>\n <Button size='small' onClick={() => this.handleEdit(record)}> 编辑 </Button>\n <Popconfirm title='是否确定删除?' onConfirm={() => this.handleDelete(record)}>\n <Button size='small'>删除</Button>\n </Popconfirm>\n </Space>\n );\n },\n },\n\n ]\n\n showStatus = () => {\n this.setState({statusOpen: true})\n HttpUtils.get('admin/job/status').then(rs => {\n this.setState({status: rs})\n })\n };\n\n showExecuteRecord(record) {\n this.setState({executeRecordOpen: true, formValues: record})\n }\n\n\n render() {\n return <Page padding>\n <ProTable\n actionRef={this.tableRef}\n toolBarRender={() => {\n return <ButtonList>\n <Button type='primary' onClick={() => this.handleAdd()} icon={<PlusOutlined/>}>\n 新增\n </Button>\n <Button onClick={this.showStatus}>\n 查看状态\n </Button>\n </ButtonList>\n }}\n request={(params) => HttpUtils.get('admin/job/page', params)}\n columns={this.columns}\n showToolbarSearch\n />\n\n\n <Modal title='作业调度'\n open={this.state.formOpen}\n destroyOnHidden\n width={800}\n onOk={() => this.formRef.current.submit()}\n onCancel={() => this.setState({formOpen: false})}\n >\n\n <Form ref={this.formRef} labelCol={{flex: '100px'}}\n initialValues={this.state.formValues}\n onValuesChange={this.onValuesChange}\n onFinish={this.onFinish}>\n <Form.Item name='id' noStyle>\n </Form.Item>\n <Form.Item label='执行类' name='jobClass' rules={[{required: true}]}\n tooltip='org.quartz.Job接口,参考io.tmgg.job.builtin.DemoJob'>\n <Select options={this.state.jobClassOptions}/>\n </Form.Item>\n <Form.Item label='名称' name='name' rules={[{required: true}]}>\n <Input/>\n </Form.Item>\n\n <Form.Item label='cron表达式' name='cron' help='格式:秒分时日月周,留空表示手动执行'\n rules={[{required: true}]}>\n <AutoComplete placeholder='如 0 */5 * * * ?' options={cronOptions}/>\n </Form.Item>\n\n <Form.Item label='启用' name='enabled' valuePropName='checked' rules={[{required: true}]}>\n <Switch/>\n </Form.Item>\n\n\n {this.state.paramList?.map(p => (\n <div key={p.name}>\n <Divider>作业参数</Divider>\n <Form.Item label={p.label}\n name={['jobData', p.name]}\n key={p.name}\n rules={[{required: p.required}]}>\n {ValueType.renderField(p.componentType, p.componentProps)}\n </Form.Item>\n </div>\n ))}\n </Form>\n </Modal>\n\n <Modal title='作业调度状态'\n open={this.state.statusOpen}\n onCancel={() => this.setState({statusOpen: false})}\n footer={null}\n width={1024}\n >\n <Alert message={<pre>{this.state.status}</pre>}></Alert>\n\n </Modal>\n\n <Modal title='作业调度记录'\n open={this.state.executeRecordOpen}\n onCancel={() => this.setState({executeRecordOpen: false})}\n footer={null}\n width={1024}\n destroyOnHidden\n >\n <ProTable columns={[{\n title: '开始时间',\n dataIndex: 'beginTime',\n },\n {\n title: '结束时间',\n dataIndex: 'endTime',\n },\n {\n title: '耗时',\n dataIndex: 'jobRunTimeLabel',\n\n },\n {\n title: '是否成功',\n dataIndex: 'success',\n width: 200,\n render: v => {\n if (v != null) {\n return v ? '成功' : '异常'\n }\n }\n },\n {\n title: '返回结果',\n dataIndex: 'result',\n width: 300\n },\n\n {\n title: '操作',\n dataIndex: 'option',\n render: (_, record) => {\n let url = '/admin/sys/log/' + record.id;\n return <a href={url} target='_blank'>日志</a>;\n },\n }\n ]} request={params => {\n params.jobId = this.state.formValues.id\n return HttpUtils.get('admin/job/executeRecord', params);\n }}></ProTable>\n\n </Modal>\n </Page>\n }\n\n onValuesChange = (changed, values) => {\n if (changed.jobClass) {\n this.loadJobParamFields(values.jobClass)\n const option = this.state.jobClassOptions.find(o => o.value === changed.jobClass)\n if (option) {\n let {label} = option;\n if (StringUtils.contains(label, \" \")) { // 取中文名部门设置为name\n this.formRef.current.setFieldValue(\"name\", label.split(\" \")[1])\n }\n }\n }\n\n if (changed.jobData) {\n this.loadJobParamFields(values.jobClass, values.jobData)\n }\n\n };\n}\n\n\n\n",
2217
2197
  "__isJSFile": true,
2218
2198
  "__absFile": "/home/runner/work/open-admin/open-admin/web/src/pages/system/job/index.jsx"
2219
2199
  },
@@ -2233,7 +2213,7 @@
2233
2213
  "parentId": "@@/global-layout",
2234
2214
  "file": "system/org/index.jsx",
2235
2215
  "absPath": "/system/org",
2236
- "__content": "import {DeleteOutlined, EditOutlined, PlusOutlined, SyncOutlined} from '@ant-design/icons';\nimport {Button, Card, Checkbox, Empty, Form, Input, Popconfirm, Space, Splitter, Switch, Tree} from 'antd';\nimport React from 'react';\nimport {\n FieldBoolean,\n FieldDictSelect,\n FieldRemoteTreeSelect,\n FieldUserSelect,\n Gap,\n HttpUtils,\n NamedIcon,\n Page\n} from \"../../../framework\";\n\n\nexport default class extends React.Component {\n\n state = {\n formLoading: false,\n formValues: undefined,\n submitLoading: false,\n formEditing: false,\n\n\n params: {\n onlyShowEnabled: true,\n onlyShowUnit: false,\n searchText: null\n },\n\n treeData: [],\n treeLoading: false,\n draggable: false,\n }\n actionRef = React.createRef();\n treeRef = React.createRef();\n\n componentDidMount() {\n this.loadTree()\n }\n\n loadTree = () => {\n this.setState({treeLoading: true})\n\n const {params} = this.state\n HttpUtils.get('admin/sysOrg/tree', params).then(rs => {\n let treeData = rs;\n this.setState({treeData})\n }).finally(() => {\n this.setState({treeLoading: false});\n })\n }\n\n handleDelete = record => {\n HttpUtils.get('admin/sysOrg/delete', {id: record.id})\n .then(rs => {\n this.setState({formValues: null})\n this.loadTree()\n })\n }\n\n\n onSelect = (selectedKeys) => {\n if (selectedKeys.length === 0) {\n this.setState({formValues: null})\n return\n }\n\n const key = selectedKeys[0]\n this.setState({formLoading: true, formEditing: false})\n HttpUtils.get(\"admin/sysOrg/detail\", {id: key}).then(rs => {\n this.setState({formValues: rs})\n }).finally(() => {\n this.setState({formLoading: false})\n })\n }\n\n onFinish = (values) => {\n this.setState({submitLoading: true, formEditing: false})\n HttpUtils.post('admin/sysOrg/save', values).then(rs => {\n this.loadTree()\n }).finally(() => {\n this.setState({submitLoading: false})\n })\n }\n\n\n onDraggableChange = e => {\n this.setState({draggable: e})\n };\n\n\n render() {\n let {formValues} = this.state;\n let disabled = formValues == null;\n let params = this.state.params;\n return <Page padding>\n <Card>\n <Space>\n\n <Input.Search placeholder='搜索' value={params.searchText} onChange={e => {\n params.searchText = e.target.value\n this.setState({params}, this.loadTree)\n }}/>\n <Checkbox checked={params.onlyShowEnabled}\n onChange={e => {\n params.onlyShowEnabled = e.target.checked;\n this.setState({params}, this.loadTree);\n }}>仅显示启用</Checkbox>\n\n <Checkbox checked={params.onlyShowUnit}\n onChange={e => {\n params.onlyShowUnit = e.target.checked;\n this.setState({params}, this.loadTree);\n }}>仅显示单位</Checkbox>\n\n\n </Space>\n </Card>\n <Gap/>\n <Splitter>\n <Splitter.Panel defaultSize={500}>\n <Card loading={this.state.treeLoading}\n title='组织机构'\n extra={<Space>\n\n <div>\n 拖拽排序&nbsp;<Switch\n value={this.state.draggable}\n onChange={this.onDraggableChange}/>\n </div>\n <Button size='small' shape={\"round\"} icon={<SyncOutlined/>}\n onClick={this.loadTree}></Button>\n </Space>}>\n\n\n <Tree ref={this.treeRef}\n treeData={this.state.treeData}\n onSelect={this.onSelect}\n showIcon\n blockNode\n icon={item => {\n return <NamedIcon name={item.data.iconName}/>;\n }}\n draggable={this.state.draggable}\n onDrop={this.onDrop}\n showLine\n defaultExpandAll\n >\n </Tree>\n {this.state.treeData.length === 0 && <Empty/>}\n </Card>\n </Splitter.Panel>\n\n <Splitter>\n <Card\n loading={this.state.formLoading}\n extra={<Space>\n <Button type='primary' onClick={() => {\n this.setState({\n formLoading: true,\n formEditing: true,\n formValues: {\n pid: formValues?.id,\n }\n }, () => {\n this.setState({formLoading: false})\n })\n }}>\n <PlusOutlined/> 新增\n </Button>\n <Button disabled={disabled} onClick={() => {\n this.setState({\n formEditing: true\n })\n }}>\n <EditOutlined/> 编辑\n </Button>\n\n <Popconfirm title={'是否确定删除组织机构'} disabled={disabled}\n onConfirm={() => this.handleDelete(formValues)}>\n <Button icon={<DeleteOutlined/>} disabled={disabled}>删除</Button>\n </Popconfirm>\n\n\n </Space>}\n >\n\n {formValues == null ? <Empty description='未选择机构'/> : <Form\n disabled={!this.state.formEditing}\n labelCol={{flex: '150px'}}\n wrapperCol={{flex: '400px'}}\n initialValues={formValues}\n onFinish={this.onFinish}\n >\n <Form.Item noStyle name='id'>\n </Form.Item>\n <Form.Item label='父节点' name='pid'>\n <FieldRemoteTreeSelect url='admin/sysOrg/tree'/>\n </Form.Item>\n <Form.Item label='名称' name='name' rules={[{required: true}]}>\n <Input/>\n </Form.Item>\n\n\n <Form.Item label='类型' name='type' rules={[{required: true}]}>\n <FieldDictSelect typeCode='orgType'/>\n </Form.Item>\n\n <Form.Item label='部门领导' name={['leader', 'id']}>\n <FieldUserSelect/>\n </Form.Item>\n <Form.Item label='启用' name='enabled' rules={[{required: true}]}>\n <FieldBoolean/>\n </Form.Item>\n <Form.Item label='扩展字段1' name='extra1'>\n <Input/>\n </Form.Item>\n <Form.Item label='扩展字段2' name='extra2'>\n <Input/>\n </Form.Item>\n <Form.Item label='扩展字段3' name='extra3'>\n <Input/>\n </Form.Item>\n\n\n <Form.Item label=' ' colon={false}>\n <Button type=\"primary\" htmlType='submit'\n loading={this.state.submitLoading}>保存</Button>\n </Form.Item>\n\n </Form>\n }\n\n\n </Card>\n </Splitter>\n\n </Splitter>\n\n\n </Page>\n }\n\n onDrop = (e) => {\n const {dragNode, dropToGap, node} = e;\n const dropKey = node.key;\n const dragKey = dragNode.key;\n\n const dropPos = e.node.pos.split('-');\n const dropPosition = e.dropPosition - Number(dropPos[dropPos.length - 1]); // the drop position relative to the drop node, inside 0, top -1, bottom 1\n\n\n console.log(dragNode.title, '->', node.title, 'dropToGap:', dropToGap, \"dropPosition:\", dropPosition)\n HttpUtils.post('admin/sysOrg/sort', {dropPosition, dropToGap, dropKey, dragKey}).then(this.loadTree)\n };\n}\n\n\n\n",
2216
+ "__content": "import {DeleteOutlined, EditOutlined, PlusOutlined, SyncOutlined} from '@ant-design/icons';\nimport {Button, Card, Checkbox, Empty, Form, Input, Popconfirm, Space, Splitter, Switch, Tree} from 'antd';\nimport React from 'react';\nimport {\n FieldBoolean,\n FieldDictSelect,\n FieldRemoteTreeSelect,\n FieldUserSelect,\n Gap,\n HttpUtils,\n NamedIcon,\n Page\n} from \"../../../framework\";\n\n\nexport default class extends React.Component {\n\n state = {\n formLoading: false,\n formValues: undefined,\n submitLoading: false,\n formEditing: false,\n\n\n params: {\n onlyShowEnabled: true,\n onlyShowUnit: false,\n searchText: null\n },\n\n treeData: [],\n treeLoading: false,\n draggable: false,\n }\n actionRef = React.createRef();\n treeRef = React.createRef();\n\n componentDidMount() {\n this.loadTree()\n }\n\n loadTree = () => {\n this.setState({treeLoading: true})\n\n const {params} = this.state\n HttpUtils.get('admin/sysOrg/tree', params).then(rs => {\n let treeData = rs;\n this.setState({treeData})\n }).finally(() => {\n this.setState({treeLoading: false});\n })\n }\n\n handleDelete = record => {\n HttpUtils.post('admin/sysOrg/delete', {id: record.id})\n .then(rs => {\n this.setState({formValues: null})\n this.loadTree()\n })\n }\n\n\n onSelect = (selectedKeys) => {\n if (selectedKeys.length === 0) {\n this.setState({formValues: null})\n return\n }\n\n const key = selectedKeys[0]\n this.setState({formLoading: true, formEditing: false})\n HttpUtils.get(\"admin/sysOrg/detail\", {id: key}).then(rs => {\n this.setState({formValues: rs})\n }).finally(() => {\n this.setState({formLoading: false})\n })\n }\n\n onFinish = (values) => {\n this.setState({submitLoading: true, formEditing: false})\n HttpUtils.post('admin/sysOrg/save', values).then(rs => {\n this.loadTree()\n }).finally(() => {\n this.setState({submitLoading: false})\n })\n }\n\n\n onDraggableChange = e => {\n this.setState({draggable: e})\n };\n\n\n render() {\n let {formValues} = this.state;\n let disabled = formValues == null;\n let params = this.state.params;\n return <Page padding>\n <Card>\n <Space>\n\n <Input.Search placeholder='搜索' value={params.searchText} onChange={e => {\n params.searchText = e.target.value\n this.setState({params}, this.loadTree)\n }}/>\n <Checkbox checked={params.onlyShowEnabled}\n onChange={e => {\n params.onlyShowEnabled = e.target.checked;\n this.setState({params}, this.loadTree);\n }}>仅显示启用</Checkbox>\n\n <Checkbox checked={params.onlyShowUnit}\n onChange={e => {\n params.onlyShowUnit = e.target.checked;\n this.setState({params}, this.loadTree);\n }}>仅显示单位</Checkbox>\n\n\n </Space>\n </Card>\n <Gap/>\n <Splitter>\n <Splitter.Panel defaultSize={500}>\n <Card loading={this.state.treeLoading}\n title='组织机构'\n extra={<Space>\n\n <div>\n 拖拽排序&nbsp;<Switch\n value={this.state.draggable}\n onChange={this.onDraggableChange}/>\n </div>\n <Button size='small' shape={\"round\"} icon={<SyncOutlined/>}\n onClick={this.loadTree}></Button>\n </Space>}>\n\n\n <Tree ref={this.treeRef}\n treeData={this.state.treeData}\n onSelect={this.onSelect}\n showIcon\n blockNode\n icon={item => {\n return <NamedIcon name={item.data.iconName}/>;\n }}\n draggable={this.state.draggable}\n onDrop={this.onDrop}\n showLine\n defaultExpandAll\n />\n {this.state.treeData.length === 0 && <Empty/>}\n </Card>\n </Splitter.Panel>\n\n <Splitter>\n <Card\n loading={this.state.formLoading}\n extra={<Space>\n <Button type='primary' onClick={() => {\n this.setState({\n formLoading: true,\n formEditing: true,\n formValues: {\n pid: formValues?.id,\n }\n }, () => {\n this.setState({formLoading: false})\n })\n }}>\n <PlusOutlined/> 新增\n </Button>\n <Button disabled={disabled} onClick={() => {\n this.setState({\n formEditing: true\n })\n }}>\n <EditOutlined/> 编辑\n </Button>\n\n <Popconfirm title={'是否确定删除组织机构'} disabled={disabled}\n onConfirm={() => this.handleDelete(formValues)}>\n <Button icon={<DeleteOutlined/>} disabled={disabled}>删除</Button>\n </Popconfirm>\n\n\n </Space>}\n >\n\n {formValues == null ? <Empty description='未选择机构'/> : <Form\n disabled={!this.state.formEditing}\n labelCol={{flex: '150px'}}\n wrapperCol={{flex: '400px'}}\n initialValues={formValues}\n onFinish={this.onFinish}\n >\n <Form.Item noStyle name='id'>\n </Form.Item>\n <Form.Item label='父节点' name='pid'>\n <FieldRemoteTreeSelect url='admin/sysOrg/tree'/>\n </Form.Item>\n <Form.Item label='名称' name='name' rules={[{required: true}]}>\n <Input/>\n </Form.Item>\n\n\n <Form.Item label='类型' name='type' rules={[{required: true}]}>\n <FieldDictSelect typeCode='orgType'/>\n </Form.Item>\n\n <Form.Item label='部门领导' name={['leader', 'id']}>\n <FieldUserSelect/>\n </Form.Item>\n <Form.Item label='启用' name='enabled' rules={[{required: true}]}>\n <FieldBoolean/>\n </Form.Item>\n <Form.Item label='扩展字段1' name='extra1'>\n <Input/>\n </Form.Item>\n <Form.Item label='扩展字段2' name='extra2'>\n <Input/>\n </Form.Item>\n <Form.Item label='扩展字段3' name='extra3'>\n <Input/>\n </Form.Item>\n\n\n <Form.Item label=' ' colon={false}>\n <Button type=\"primary\" htmlType='submit'\n loading={this.state.submitLoading}>保存</Button>\n </Form.Item>\n\n </Form>\n }\n\n\n </Card>\n </Splitter>\n\n </Splitter>\n\n\n </Page>\n }\n\n onDrop = (e) => {\n const {dragNode, dropToGap, node} = e;\n const dropKey = node.key;\n const dragKey = dragNode.key;\n\n const dropPos = e.node.pos.split('-');\n const dropPosition = e.dropPosition - Number(dropPos[dropPos.length - 1]); // the drop position relative to the drop node, inside 0, top -1, bottom 1\n\n\n console.log(dragNode.title, '->', node.title, 'dropToGap:', dropToGap, \"dropPosition:\", dropPosition)\n HttpUtils.post('admin/sysOrg/sort', {dropPosition, dropToGap, dropKey, dragKey}).then(this.loadTree)\n };\n}\n\n\n\n",
2237
2217
  "__isJSFile": true,
2238
2218
  "__absFile": "/home/runner/work/open-admin/open-admin/web/src/pages/system/org/index.jsx"
2239
2219
  },
@@ -2267,16 +2247,6 @@
2267
2247
  "__isJSFile": true,
2268
2248
  "__absFile": "/home/runner/work/open-admin/open-admin/web/src/pages/system/api/perm.jsx"
2269
2249
  },
2270
- "ureport/index": {
2271
- "path": "ureport",
2272
- "id": "ureport/index",
2273
- "parentId": "@@/global-layout",
2274
- "file": "ureport/index.jsx",
2275
- "absPath": "/ureport",
2276
- "__content": "import React from 'react'\nimport {Button} from \"antd\";\n\nexport default class extends React.Component {\n\n render() {\n return <div style={{display: 'flex', alignItems: 'center', justifyContent: 'center'}}>\n <Button type='primary' href='/ureport/designer'>打开设计器</Button>\n </div>\n }\n\n\n}\n\n\n\n",
2277
- "__isJSFile": true,
2278
- "__absFile": "/home/runner/work/open-admin/open-admin/web/src/pages/ureport/index.jsx"
2279
- },
2280
2250
  "test/views": {
2281
2251
  "path": "test/views",
2282
2252
  "id": "test/views",
@@ -2330,7 +2300,7 @@
2330
2300
  "hasSrcDir": true,
2331
2301
  "npmClient": "pnpm",
2332
2302
  "umi": {
2333
- "version": "4.6.25",
2303
+ "version": "4.6.27",
2334
2304
  "name": "Umi",
2335
2305
  "importSource": "umi",
2336
2306
  "cliName": "umi"