w-web-perm 1.0.12 → 1.0.13

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.
Files changed (68) hide show
  1. package/.vscode/launch.json +0 -1
  2. package/README.md +0 -1
  3. package/dist/css/app.f22995d1.css +1 -0
  4. package/dist/index.tmp +1 -1
  5. package/dist/js/app-legacy.82274c39.js +2 -0
  6. package/dist/js/app-legacy.82274c39.js.map +1 -0
  7. package/dist/js/app.82274c39.js +2 -0
  8. package/dist/js/app.82274c39.js.map +1 -0
  9. package/dist/js/chunk-vendors-legacy.d89048a8.js +13 -0
  10. package/dist/js/chunk-vendors-legacy.d89048a8.js.map +1 -0
  11. package/dist/js/chunk-vendors.d89048a8.js +13 -0
  12. package/dist/js/chunk-vendors.d89048a8.js.map +1 -0
  13. package/dist/w-web-perm.umd.js +2 -2
  14. package/dist/w-web-perm.umd.js.map +1 -1
  15. package/docs/WWebPerm.html +2 -2
  16. package/docs/WWebPerm.mjs.html +212 -64
  17. package/docs/index.html +1 -1
  18. package/g.backupDb.mjs +1 -1
  19. package/g.initialData.mjs +211 -111
  20. package/g.initialTestData.mjs +2 -1
  21. package/g.mjs +0 -0
  22. package/g.provideGrups.mjs +87 -0
  23. package/g.providePemis.mjs +43 -0
  24. package/g.provideTargets.mjs +20 -13
  25. package/g.provideUsers.mjs +45 -13
  26. package/package.json +8 -8
  27. package/script.txt +5 -5
  28. package/server/WWebPerm.mjs +211 -63
  29. package/server/provideGrups.mjs +64 -0
  30. package/server/{provideRuleGroups.mjs → providePemis.mjs} +14 -15
  31. package/server/provideTargets.mjs +8 -5
  32. package/server/provideUsers.mjs +9 -9
  33. package/src/App.vue +16 -3
  34. package/src/components/Layout.vue +13 -5
  35. package/src/components/LayoutContent.vue +31 -16
  36. package/src/components/LayoutContentGrups.vue +793 -0
  37. package/src/components/LayoutContentPemis.vue +793 -0
  38. package/src/components/LayoutContentTargets.vue +481 -307
  39. package/src/components/LayoutContentUsers.vue +796 -291
  40. package/src/components/VeCgrups.vue +926 -0
  41. package/src/components/VeCpemis.vue +926 -0
  42. package/src/components/VeCrules.vue +820 -0
  43. package/src/main.js +2 -2
  44. package/src/perm.mjs +5 -5
  45. package/src/plugins/mShare.mjs +444 -153
  46. package/src/plugins/mUI.mjs +37 -19
  47. package/src/schema/gi.mjs +1 -1
  48. package/src/schema/index.mjs +4 -2
  49. package/src/schema/tables/grups.mjs +154 -0
  50. package/src/schema/tables/{ruleGroups.mjs → pemis.mjs} +27 -16
  51. package/src/schema/tables/targets.mjs +49 -16
  52. package/src/schema/tables/users.mjs +55 -27
  53. package/src/store/mutations.mjs +375 -150
  54. package/srv.mjs +2 -2
  55. package/tableTags-web-perm.json +1 -1
  56. package/dist/css/app.f6c50bec.css +0 -1
  57. package/dist/js/app-legacy.767522f1.js +0 -2
  58. package/dist/js/app-legacy.767522f1.js.map +0 -1
  59. package/dist/js/app.767522f1.js +0 -2
  60. package/dist/js/app.767522f1.js.map +0 -1
  61. package/dist/js/chunk-vendors-legacy.b0d63e17.js +0 -13
  62. package/dist/js/chunk-vendors-legacy.b0d63e17.js.map +0 -1
  63. package/dist/js/chunk-vendors.b0d63e17.js +0 -13
  64. package/dist/js/chunk-vendors.b0d63e17.js.map +0 -1
  65. package/g.provideRuleGroups.mjs +0 -56
  66. package/src/components/LayoutContentGroups.vue +0 -671
  67. package/src/components/VeUser.vue +0 -446
  68. package/src/components/ruleGroup.vue +0 -645
@@ -1,5 +1,5 @@
1
- import each from 'lodash-es/each.js'
2
- import set from 'lodash-es/set.js'
1
+ import each from 'lodash-es/each.js'
2
+ import set from 'lodash-es/set.js'
3
3
  import * as types from './types.mjs'
4
4
  import ds from '../schema/index.mjs'
5
5
 
@@ -34,6 +34,11 @@ let state = {
34
34
  lang: 'cht',
35
35
  keyLangs: {
36
36
 
37
+ aggridLanguage: {
38
+ eng: 'en',
39
+ cht: 'zh-tw',
40
+ },
41
+
37
42
  systemMessage: {
38
43
  eng: 'System message',
39
44
  cht: '系統確認訊息',
@@ -68,6 +73,10 @@ let state = {
68
73
  eng: `Save changes`,
69
74
  cht: `儲存變更`,
70
75
  },
76
+ id: {
77
+ eng: `Id`,
78
+ cht: `主鍵`,
79
+ },
71
80
  from: {
72
81
  eng: `From`,
73
82
  cht: `來源`,
@@ -80,10 +89,35 @@ let state = {
80
89
  eng: `Close`,
81
90
  cht: `關閉`,
82
91
  },
92
+ delete: {
93
+ eng: `Delete`,
94
+ cht: `刪除`,
95
+ },
83
96
  cancel: {
84
97
  eng: `Cancel`,
85
98
  cht: `取消`,
86
99
  },
100
+ screenFull: {
101
+ eng: `Max size`,
102
+ cht: `最大化尺寸`,
103
+ },
104
+ screenNormal: {
105
+ eng: `Normal size`,
106
+ cht: `預設尺寸`,
107
+ },
108
+ checkAllYes: {
109
+ eng: `Check all`,
110
+ cht: `全選`,
111
+ },
112
+ checkAllNo: {
113
+ eng: `Uncheck all`,
114
+ cht: `全不選`,
115
+ },
116
+ checkAllInv: {
117
+ eng: `Reverse all`,
118
+ cht: `全反選`,
119
+ },
120
+
87
121
  processing: {
88
122
  eng: `Processing...`,
89
123
  cht: `處理中請稍後...`,
@@ -117,214 +151,388 @@ let state = {
117
151
  eng: `No description`,
118
152
  cht: `無說明`,
119
153
  },
154
+ isAdmin: {
155
+ eng: `Administrator`,
156
+ cht: `是否為系統管理員`,
157
+ },
158
+ isActive: {
159
+ eng: `Active`,
160
+ cht: `是否使用`,
161
+ },
162
+
163
+ errInNames: {
164
+ eng: `Name errors`,
165
+ cht: `名稱出現錯誤待修復`,
166
+ },
167
+ errInEmails: {
168
+ eng: `Email errors`,
169
+ cht: `Email出現錯誤待修復`,
170
+ },
120
171
 
121
172
  managementTargets: {
122
173
  eng: `Targets`,
123
- cht: `管理區塊`,
174
+ cht: `管理對象`,
124
175
  },
125
- permissionGroups: {
126
- eng: `Groups`,
127
- cht: `權限群組`,
176
+ targetId: {
177
+ eng: `Target`,
178
+ cht: `管理名稱`,
128
179
  },
129
- userPermissions: {
130
- eng: 'Users',
131
- cht: '使用者權限',
180
+ targetIdEmpty: {
181
+ eng: `No valid name`,
182
+ cht: `尚未給予有效管理名稱`,
132
183
  },
133
-
134
- userMsg1: {
135
- eng: `Please give the appropriate permission group according to the user's identity.`,
136
- cht: '請依照使用者身份給予適合之權限群組。',
184
+ targetIdDuplicate: {
185
+ eng: `Duplicate target`,
186
+ cht: `管理名稱出現重複`,
137
187
  },
138
- userMsg2: {
139
- eng: `Please confirm that the new user is an approved user.`,
140
- cht: `請確認新增使用者為核可之使用者。`,
188
+ targetAddEmpty: {
189
+ eng: `No target`,
190
+ cht: `尚未新增管理資料`,
141
191
  },
142
- userList: {
143
- eng: `User list`,
144
- cht: `使用者分類清單`,
192
+ targetAdd: {
193
+ eng: `Add target`,
194
+ cht: `新增對象`,
145
195
  },
146
- addUser: {
147
- eng: `Add user`,
148
- cht: `新增使用者`,
196
+ targetAddNameNew: {
197
+ eng: `New target`,
198
+ cht: `新對象`,
199
+ },
200
+ targetAddIdNew: {
201
+ eng: `Waiting generation`,
202
+ cht: `待自動給予`,
203
+ },
204
+ targetCopy: {
205
+ eng: `Copy target`,
206
+ cht: `複製對象`,
207
+ },
208
+ targetCopyNameNew: {
209
+ eng: `copy`,
210
+ cht: `複製`,
211
+ },
212
+ targetDeleteChecks: {
213
+ eng: `Delete user(s)`,
214
+ cht: `刪除勾選對象`,
215
+ },
216
+ targetEnable: {
217
+ eng: `Enable`,
218
+ cht: `是否使用`,
219
+ },
220
+ targetClearTargetsFail: {
221
+ eng: `Failed to clear existing targets`,
222
+ cht: `清除既有對象數據失敗`,
223
+ },
224
+ targetSaveTargetsFail: {
225
+ eng: `Failed to save targets`,
226
+ cht: `儲存對象數據失敗`,
227
+ },
228
+ targetSaveTargetsSuccess: {
229
+ eng: `Save targets successfully`,
230
+ cht: `儲存對象數據成功`,
149
231
  },
150
232
 
151
- targetMsg1: {
152
- eng: `Please click the button on the right side of each target to perform operations, such as changing the name, inserting or deleting targets.`,
153
- cht: `請於各區塊右側點擊按鈕即可進行操作,例如變更名稱、插入或刪除區塊。`,
233
+ managementPemis: {
234
+ eng: `Permissions`,
235
+ cht: `管理權限`,
154
236
  },
155
- targetMsg2: {
156
- eng: `Disable the sub-target function when editing a target.`,
157
- cht: `編輯區塊時禁止顯隱子區塊功能。`,
237
+ pemiName: {
238
+ eng: `Name of permission`,
239
+ cht: `權限名稱`,
158
240
  },
159
- edit: {
160
- eng: `Edit`,
161
- cht: `編輯`,
241
+ pemiNameEmpty: {
242
+ eng: `No valid name of permission`,
243
+ cht: `尚未給予有效權限名稱`,
162
244
  },
163
- changeName: {
164
- eng: `Change name`,
165
- cht: `變更名稱`,
245
+ pemiNameDuplicate: {
246
+ eng: `Duplicate name of permission`,
247
+ cht: `權限名稱出現重複`,
166
248
  },
167
- insertBefore: {
168
- eng: `Insert before`,
169
- cht: `插入前區塊`,
249
+ pemiAddEmpty: {
250
+ eng: `No permission`,
251
+ cht: `尚未新增權限資料`,
170
252
  },
171
- insertChild: {
172
- eng: `Insert child`,
173
- cht: `插入子區塊`,
253
+ pemiAdd: {
254
+ eng: `Add permission`,
255
+ cht: `新增權限`,
174
256
  },
175
- insertAfter: {
176
- eng: `Insert after`,
177
- cht: `插入後區塊`,
257
+ pemiAddNameNew: {
258
+ eng: `New permission`,
259
+ cht: `新權限`,
178
260
  },
179
- deleteTarget: {
180
- eng: `Delete target`,
181
- cht: `刪除區塊`,
261
+ pemiAddIdNew: {
262
+ eng: `Waiting generation`,
263
+ cht: `待自動給予`,
182
264
  },
183
- newTarget: {
184
- eng: `New target`,
185
- cht: `新區塊`,
265
+ pemiCopy: {
266
+ eng: `Copy permission`,
267
+ cht: `複製權限`,
186
268
  },
187
- failedToChangePermissionGroups: {
188
- eng: `Failed to change permission groups`,
189
- cht: `連動變更權限群組失敗`,
269
+ pemiCopyNameNew: {
270
+ eng: `copy`,
271
+ cht: `複製`,
190
272
  },
191
- failedToClearTargets: {
192
- eng: `Failed to clear existing targets`,
193
- cht: `清除既有區塊數據失敗`,
273
+ pemiDeleteChecks: {
274
+ eng: `Delete user(s)`,
275
+ cht: `刪除勾選權限`,
194
276
  },
195
- failedToSaveTargets: {
196
- eng: `Failed to save targets`,
197
- cht: `儲存區塊數據失敗`,
277
+ pemiEnable: {
278
+ eng: `Enable`,
279
+ cht: `是否使用`,
198
280
  },
199
- successfulToSaveTargets: {
200
- eng: `Save targets successfully`,
201
- cht: `儲存區塊數據成功`,
281
+ pemiMode: {
282
+ eng: `Operator`,
283
+ cht: `合併權限模式`,
284
+ },
285
+ pemiCrules: {
286
+ eng: `Rules of permission`,
287
+ cht: `管控對象規則`,
288
+ },
289
+ pemiEditCrules: {
290
+ eng: `Edit rules of permission`,
291
+ cht: `編輯對象規則清單`,
292
+ },
293
+ pemiEditCrulesSimple: {
294
+ eng: `Edit rules`,
295
+ cht: `編輯對象規則`,
296
+ },
297
+ pemiEditCrulesNoId: {
298
+ eng: `Can not find the id of permission`,
299
+ cht: `無法找到權限Id`,
300
+ },
301
+ pemiEditCrulesNoPemi: {
302
+ eng: `Can not find the data of permission`,
303
+ cht: `無法找到權限資料`,
304
+ },
305
+ pemiClearPemisFail: {
306
+ eng: `Failed to clear existing permissions`,
307
+ cht: `清除既有權限數據失敗`,
308
+ },
309
+ pemiSavePemisFail: {
310
+ eng: `Failed to save permissions`,
311
+ cht: `儲存權限數據失敗`,
312
+ },
313
+ pemiSavePemisSuccess: {
314
+ eng: `Save permissions successfully`,
315
+ cht: `儲存權限數據成功`,
316
+ },
317
+
318
+ cruleEditNoId: {
319
+ eng: `Can not find the id of rule`,
320
+ cht: `無法找到規則Id`,
321
+ },
322
+ cruleEditNoRule: {
323
+ eng: `Can not find the data of rule`,
324
+ cht: `無法找到規則資料`,
325
+ },
326
+ cruleCheckAllYes: {
327
+ eng: `Check all`,
328
+ cht: `全選使用`,
329
+ },
330
+ cruleCheckAllNo: {
331
+ eng: `Uncheck all`,
332
+ cht: `全不選使用`,
333
+ },
334
+ cruleCheckAllInv: {
335
+ eng: `Reverse all`,
336
+ cht: `全反選使用`,
337
+ },
338
+ cruleDeleteCheckTargets: {
339
+ eng: `Delete item(s)`,
340
+ cht: `刪除勾選對象`,
202
341
  },
203
342
 
204
- groupMsg1: {
205
- eng: `Please create appropriate permission groups for various users according to system management requirements.`,
206
- cht: `請依照系統管理需求創建適合各類使用者適合的權限群組。`,
343
+ managementGrups: {
344
+ eng: `Permission groups`,
345
+ cht: `管理權限群組`,
346
+ },
347
+ grupName: {
348
+ eng: `Name of permission group`,
349
+ cht: `權限群組名稱`,
350
+ },
351
+ grupNameEmpty: {
352
+ eng: `No valid name of permission group`,
353
+ cht: `尚未給予有效權限群組名稱`,
207
354
  },
208
- groupMsg2: {
209
- eng: `When using edit mode, you can drag permission groups to change their relative order.`,
210
- cht: `開啟編輯時可拖曳權限群組變更其相對順序。`,
355
+ grupNameDuplicate: {
356
+ eng: `Duplicate name of permission group`,
357
+ cht: `權限群組名稱出現重複`,
211
358
  },
212
- addGroup: {
213
- eng: `Add group`,
214
- cht: `新增群組`,
359
+ grupAddEmpty: {
360
+ eng: `No permission group`,
361
+ cht: `尚未新增權限群組資料`,
215
362
  },
216
- addPermissionGroup: {
363
+ grupAdd: {
217
364
  eng: `Add permission group`,
218
365
  cht: `新增權限群組`,
219
366
  },
220
- groupMsgNoPick: {
221
- eng: `No permission group is selected.`,
222
- cht: `未選擇權限群組,請點擇上方任一權限群組以顯示管理範圍。`,
223
- },
224
- newGroup: {
225
- eng: `New group`,
367
+ grupAddNameNew: {
368
+ eng: `New permission group`,
226
369
  cht: `新權限群組`,
227
370
  },
228
- failedToAddPermissionGroup: {
229
- eng: `Failed to add the permission group`,
230
- cht: `新增權限群組失敗`,
371
+ grupAddIdNew: {
372
+ eng: `Waiting generation`,
373
+ cht: `待自動給予`,
374
+ },
375
+ grupCopy: {
376
+ eng: `Copy permission group`,
377
+ cht: `複製權限群組`,
231
378
  },
232
- successfulToAddPermissionGroup: {
233
- eng: `Add permission group successfully`,
234
- cht: `新增權限群組成功`,
379
+ grupCopyNameNew: {
380
+ eng: `copy`,
381
+ cht: `複製`,
235
382
  },
236
- confirmToDeletePermissionGroup: {
237
- eng: `Do you want to delete the permission group[{name}]?`,
238
- cht: `確認是否刪除權限群組`,
383
+ grupDeleteChecks: {
384
+ eng: `Delete user(s)`,
385
+ cht: `刪除勾選權限群組`,
239
386
  },
240
- failedToDeletePermissionGroup: {
241
- eng: `Failed to delete the permission group`,
242
- cht: `刪除權限群組失敗`,
387
+ grupCpemis: {
388
+ eng: `Permissions`,
389
+ cht: `管控使用權限`,
243
390
  },
244
- successfulToDeletePermissionGroup: {
245
- eng: `Delete the permission group successfully`,
246
- cht: `刪除權限群組成功`,
391
+ grupEditCpemis: {
392
+ eng: `Edit list of permission group`,
393
+ cht: `編輯使用權限清單`,
247
394
  },
248
- failedToChangeOrderPermissionGroup: {
249
- eng: `Failed to change the order of permission group`,
250
- cht: `變更權限群組順序失敗`,
395
+ grupEditCpemisSimple: {
396
+ eng: `Edit permissions`,
397
+ cht: `編輯權限`,
251
398
  },
252
- successfulToChangeOrderPermissionGroup: {
253
- eng: `Change the order of permission groups successfully`,
254
- cht: `變更權限群組順序成功`,
399
+ grupEditCpemisNoId: {
400
+ eng: `Can not find the id of permission group`,
401
+ cht: `無法找到權限群組Id`,
255
402
  },
256
- rememberToGivePermissionGroupName: {
257
- eng: `You need to give the permission group name`,
258
- cht: `權限群組名稱請記得給予`,
403
+ grupEditCpemisNoGrup: {
404
+ eng: `Can not find the data of permission group`,
405
+ cht: `無法找到權限群組資料`,
259
406
  },
260
- isPermissionGroupNameEmpty: {
261
- eng: `The {n}th permission group name is empty`,
262
- cht: `第 {n} 個權限群組名稱為空`,
407
+ grupClearGrupsFail: {
408
+ eng: `Failed to clear existing permission groups`,
409
+ cht: `清除既有權限群組數據失敗`,
263
410
  },
264
- failedToSavePermissionGroup: {
265
- eng: `Failed to save the permission group`,
266
- cht: `儲存權限群組失敗`,
411
+ grupSaveGrupsFail: {
412
+ eng: `Failed to save permission groups`,
413
+ cht: `儲存權限群組數據失敗`,
267
414
  },
268
- successfulToSavePermissionGroup: {
269
- eng: `Save the permission group successfully`,
270
- cht: `儲存權限群組成功`,
415
+ grupSaveGrupsSuccess: {
416
+ eng: `Save permission groups successfully`,
417
+ cht: `儲存權限群組數據成功`,
271
418
  },
272
419
 
273
- editUser: {
274
- eng: `Edit user`,
275
- cht: `編修使用者`,
420
+ cpemiEditNoName: {
421
+ eng: `Can not find the name of permission`,
422
+ cht: `無法找到權限名稱`,
276
423
  },
277
- belongToPermissionGroup: {
278
- eng: `Permission group`,
279
- cht: `隸屬權限群組`,
424
+ cpemiEditNoPemi: {
425
+ eng: `Can not find the data of permission`,
426
+ cht: `無法找到權限資料`,
280
427
  },
281
- availableTarget: {
282
- eng: `Available targets`,
283
- cht: `使用者可用區塊`,
428
+ cpemiCheckAllYes: {
429
+ eng: `Check all`,
430
+ cht: `全選使用`,
284
431
  },
285
- isAManager: {
286
- eng: `Is a manager`,
287
- cht: `是否為管理者`,
432
+ cpemiCheckAllNo: {
433
+ eng: `Uncheck all`,
434
+ cht: `全不選使用`,
288
435
  },
289
- isActive: {
290
- eng: 'Is active',
291
- cht: '是否有效',
436
+ cpemiCheckAllInv: {
437
+ eng: `Reverse all`,
438
+ cht: `全反選使用`,
439
+ },
440
+ cpemiDeleteCheckTargets: {
441
+ eng: `Delete item(s)`,
442
+ cht: `刪除勾選權限`,
443
+ },
444
+
445
+ managementUsers: {
446
+ eng: `Users`,
447
+ cht: `管理使用者`,
448
+ },
449
+ userName: {
450
+ eng: `Name of user`,
451
+ cht: `使用者名稱`,
292
452
  },
293
- remark: {
294
- eng: `Remark`,
295
- cht: `備註`,
453
+ userNameEmpty: {
454
+ eng: `No valid name of user`,
455
+ cht: `尚未給予有效使用者名稱`,
296
456
  },
297
- dayCreate: {
298
- eng: 'Create day',
299
- cht: '創建日期',
457
+ userNameDuplicate: {
458
+ eng: `Duplicate name of user`,
459
+ cht: `使用者名稱出現重複`,
300
460
  },
301
- newUser: {
461
+ userEmailEmpty: {
462
+ eng: `No valid email of user`,
463
+ cht: `尚未給予有效使用者Email`,
464
+ },
465
+ userEmailDuplicate: {
466
+ eng: `Duplicate email of user`,
467
+ cht: `使用者Email出現重複`,
468
+ },
469
+ userAddEmpty: {
470
+ eng: `No user`,
471
+ cht: `尚未新增使用者資料`,
472
+ },
473
+ userAdd: {
474
+ eng: `Add user`,
475
+ cht: `新增使用者`,
476
+ },
477
+ userAddNameNew: {
302
478
  eng: `New user`,
303
479
  cht: `新使用者`,
304
480
  },
305
- failedToAddUser: {
306
- eng: `Failed to add the user`,
307
- cht: `新增使用者失敗`,
481
+ userAddIdNew: {
482
+ eng: `Waiting generation`,
483
+ cht: `待自動給予`,
484
+ },
485
+ userCopy: {
486
+ eng: `Copy user`,
487
+ cht: `複製使用者`,
488
+ },
489
+ userCopyNameNew: {
490
+ eng: `copy`,
491
+ cht: `複製`,
492
+ },
493
+ userDeleteChecks: {
494
+ eng: `Delete user(s)`,
495
+ cht: `刪除勾選使用者`,
496
+ },
497
+ userCgrups: {
498
+ eng: `Permission groups`,
499
+ cht: `管控使用權限群組`,
308
500
  },
309
- successfulToAddUser: {
310
- eng: `Add the user successfully`,
311
- cht: `新增使用者成功`,
501
+ userEditCgrups: {
502
+ eng: `Edit list of user`,
503
+ cht: `編輯使用權限群組清單`,
312
504
  },
313
- confirmToDeleteUser: {
314
- eng: `Do you want to delete the user[{name}]?`,
315
- cht: `確認是否刪除使用者`,
505
+ userEditCgrupsSimple: {
506
+ eng: `Edit permission group`,
507
+ cht: `編輯權限群組`,
316
508
  },
317
- failedToDeleteUser: {
318
- eng: `Failed to delete the user`,
319
- cht: `刪除使用者失敗`,
509
+ userEditCgrupsNoId: {
510
+ eng: `Can not find the id of user`,
511
+ cht: `無法找到使用者Id`,
320
512
  },
321
- successfulToDeleteUser: {
322
- eng: `Delete the user successfully`,
323
- cht: `刪除使用者成功`,
513
+ userEditCgrupsNoUser: {
514
+ eng: `Can not find the data of user`,
515
+ cht: `無法找到使用者資料`,
324
516
  },
325
- cannotShowUserDetailsInViewMode: {
326
- eng: `Can not show the user details in the view mode`,
327
- cht: `非編輯模式無法查閱使用者詳細資訊`,
517
+ userClearUsersFail: {
518
+ eng: `Failed to clear existing users`,
519
+ cht: `清除既有使用者數據失敗`,
520
+ },
521
+ userSaveUsersFail: {
522
+ eng: `Failed to save users`,
523
+ cht: `儲存使用者數據失敗`,
524
+ },
525
+ userSaveUsersSuccess: {
526
+ eng: `Save users successfully`,
527
+ cht: `儲存使用者數據成功`,
528
+ },
529
+ userEditNoId: {
530
+ eng: `Can not find the id of user`,
531
+ cht: `無法找到使用者Id`,
532
+ },
533
+ userEditNoUser: {
534
+ eng: `Can not find the data of user`,
535
+ cht: `無法找到使用者數據`,
328
536
  },
329
537
 
330
538
  allDefaults: {
@@ -368,6 +576,23 @@ let state = {
368
576
  cht: `變更使用者成功`,
369
577
  },
370
578
 
579
+ userId: {
580
+ eng: `ID of the created user`,
581
+ cht: '創建使用者主鍵',
582
+ },
583
+ timeCreate: {
584
+ eng: `Created time`,
585
+ cht: '創建時間',
586
+ },
587
+ userIdUpdate: {
588
+ eng: `ID of the updated user`,
589
+ cht: '最新變更使用者主鍵',
590
+ },
591
+ timeUpdate: {
592
+ eng: `Updated time`,
593
+ cht: '更新時間',
594
+ },
595
+
371
596
  },
372
597
  kpText: {},
373
598
 
package/srv.mjs CHANGED
@@ -43,7 +43,7 @@ let getUserByToken = async (token) => {
43
43
  if (token === 'sys') { //開發階段w-ui-loginout自動給予browser使用者(且位於localhost)的token為sys
44
44
  return {
45
45
  id: 'id-for-admin',
46
- name: 'tester',
46
+ name: 'admin',
47
47
  email: 'admin@example.com', //mappingBy為email, 開發階段時會使用email找到所建置之使用者資料
48
48
  isAdmin: 'y',
49
49
  }
@@ -75,4 +75,4 @@ instWWebPerm.on('error', (err) => {
75
75
  })
76
76
 
77
77
 
78
- //node --experimental-modules --es-module-specifier-resolution=node srv.mjs
78
+ //node --experimental-modules srv.mjs
@@ -1 +1 @@
1
- {"ruleGroups":"Tgizj7","targets":"oTlleO","users":"5q31vV"}
1
+ {"grups":"2024-09-24T15:23:40+08:00|oSGePv","pemis":"2024-09-24T15:23:33+08:00|fGNRG5","targets":"2024-09-24T15:23:27+08:00|pWajwG","users":"2024-09-24T15:24:58+08:00|pNchw5"}
@@ -1 +0,0 @@
1
- .pgc-rotate[data-v-78262a9b]{width:100%;height:100%;margin:auto;position:absolute;top:0;bottom:0;left:0;right:0;z-index:1;-webkit-transition:all .6s ease-in-out;transition:all .6s ease-in-out;-webkit-animation:progress-circular-rotate-78262a9b 1.4s linear infinite;animation:progress-circular-rotate-78262a9b 1.4s linear infinite;-webkit-transform-origin:center center;transform-origin:center center}.pgc-dash[data-v-78262a9b]{-webkit-animation:progress-circular-dash-78262a9b 1.4s ease-in-out infinite;animation:progress-circular-dash-78262a9b 1.4s ease-in-out infinite;stroke-linecap:round;stroke-dasharray:80,200;stroke-dashoffset:0px}@-webkit-keyframes progress-circular-dash-78262a9b{0%{stroke-dasharray:1,200;stroke-dashoffset:0px}50%{stroke-dasharray:100,200;stroke-dashoffset:-15px}to{stroke-dasharray:100,200;stroke-dashoffset:-124px}}@keyframes progress-circular-dash-78262a9b{0%{stroke-dasharray:1,200;stroke-dashoffset:0px}50%{stroke-dasharray:100,200;stroke-dashoffset:-15px}to{stroke-dasharray:100,200;stroke-dashoffset:-124px}}@-webkit-keyframes progress-circular-rotate-78262a9b{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes progress-circular-rotate-78262a9b{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.WPopup-Content[data-popper-reference-hidden][data-v-79e5363a]{visibility:hidden;pointer-events:none}.sb[data-v-6ce5bdb1]{-webkit-transition:opacity .3s;transition:opacity .3s;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.3) transparent}.sb[data-v-6ce5bdb1]::-webkit-scrollbar{width:8px;height:8px}.sb[data-v-6ce5bdb1]::-webkit-scrollbar-track{background:transparent}.sb[data-v-6ce5bdb1]::-webkit-scrollbar-thumb{background:rgba(0,0,0,.3);border-radius:20px;border:3px solid transparent}.ts[data-v-cdd2be3e]{-webkit-transition:all .3s cubic-bezier(.25,.8,.5,1);transition:all .3s cubic-bezier(.25,.8,.5,1)}.bs[data-v-cdd2be3e]{-webkit-box-shadow:0 8px 2px -8px rgba(0,0,0,.3),0 16px 24px 2px rgba(0,0,0,.3),0 6px 30px 5px rgba(0,0,0,.3);box-shadow:0 8px 2px -8px rgba(0,0,0,.3),0 16px 24px 2px rgba(0,0,0,.3),0 6px 30px 5px rgba(0,0,0,.3)}.ts[data-v-19e46c7f]{-webkit-transition:all .3s;transition:all .3s}.bs[data-v-19e46c7f]{-webkit-box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12);box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.fade-enter-active[data-v-a0c94508],.fade-leave-active[data-v-a0c94508]{-webkit-transition:all .3s;transition:all .3s}.fade-enter[data-v-a0c94508],.fade-leave-to[data-v-a0c94508]{-webkit-transform:scaleX(0);transform:scaleX(0)}.fade-enter-to[data-v-a0c94508],.fade-leave[data-v-a0c94508]{-webkit-transform:scaleX(100%);transform:scaleX(100%)}.caretRight[data-v-99549bfa]{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:inline-block}.cc[data-v-99549bfa]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.circle[data-v-99549bfa]{width:22px;height:22px;min-width:22px;min-height:22px;max-width:22px;max-height:22px;border-radius:50%}.WGroupTags-Trans[data-v-17b4f8d0]{-webkit-transition:all .5s;transition:all .5s}body,html{font-family:微軟正黑體,Microsoft JhengHei,MicrosoftJhengHeiRegular,Avenir,Helvetica,Arial,sans-serif;overflow-y:hidden}a,button,div,input,p,pre,span,textarea{font-family:inherit}.fade-enter-active{-webkit-animation:go 1s;animation:go 1s}.fade-leave-active{-webkit-animation:back 1s;animation:back 1s}@-webkit-keyframes go{0%{opacity:0}to{opacity:1}}@keyframes go{0%{opacity:0}to{opacity:1}}@-webkit-keyframes back{0%{opacity:1}to{opacity:0}}@keyframes back{0%{opacity:1}to{opacity:0}}