@xdmp-open/ui-admin 0.1.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.
Files changed (83) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/LICENSE +201 -0
  3. package/README.md +25 -0
  4. package/dist/components/JsonPreview.vue.d.ts +17 -0
  5. package/dist/context.d.ts +51 -0
  6. package/dist/index-a_39WFUh.js +12868 -0
  7. package/dist/index.d.ts +30 -0
  8. package/dist/index.js +35 -0
  9. package/dist/modules/apply/api.d.ts +24 -0
  10. package/dist/modules/apply/components/applyAuthDialog.vue.d.ts +675 -0
  11. package/dist/modules/apply/components/formDialog/index.vue.d.ts +803 -0
  12. package/dist/modules/apply/components/password-binding.vue.d.ts +441 -0
  13. package/dist/modules/apply/components/verification.vue.d.ts +1308 -0
  14. package/dist/modules/apply/index.d.ts +2 -0
  15. package/dist/modules/apply/userApplyDetail.vue.d.ts +1910 -0
  16. package/dist/modules/audit-login/index.d.ts +1 -0
  17. package/dist/modules/audit-login/index.vue.d.ts +491 -0
  18. package/dist/modules/audit-login/modules/logDetail.vue.d.ts +408 -0
  19. package/dist/modules/audit-operate/index.d.ts +1 -0
  20. package/dist/modules/audit-operate/index.vue.d.ts +491 -0
  21. package/dist/modules/audit-operate/modules/logDetail.vue.d.ts +408 -0
  22. package/dist/modules/system-authority/index.d.ts +1 -0
  23. package/dist/modules/system-authority/index.vue.d.ts +645 -0
  24. package/dist/modules/system-authority/modules/menu-drawer.vue.d.ts +546 -0
  25. package/dist/modules/system-authority/modules/treeSelect.vue.d.ts +72 -0
  26. package/dist/modules/system-binary/index.d.ts +1 -0
  27. package/dist/modules/system-binary/index.vue.d.ts +983 -0
  28. package/dist/modules/system-binary/modules/binaryDrawer.vue.d.ts +906 -0
  29. package/dist/modules/system-cache/index.d.ts +1 -0
  30. package/dist/modules/system-cache/index.vue.d.ts +66 -0
  31. package/dist/modules/system-category/index.d.ts +1 -0
  32. package/dist/modules/system-category/index.vue.d.ts +517 -0
  33. package/dist/modules/system-category/modules/categoryDrawer.vue.d.ts +430 -0
  34. package/dist/modules/system-category/modules/treeSelect.vue.d.ts +29 -0
  35. package/dist/modules/system-client/index.d.ts +1 -0
  36. package/dist/modules/system-client/index.vue.d.ts +491 -0
  37. package/dist/modules/system-client/modules/clientDrawer.vue.d.ts +406 -0
  38. package/dist/modules/system-config/index.d.ts +1 -0
  39. package/dist/modules/system-config/index.vue.d.ts +496 -0
  40. package/dist/modules/system-config/modules/configDrawer.vue.d.ts +418 -0
  41. package/dist/modules/system-depart/index.d.ts +1 -0
  42. package/dist/modules/system-depart/index.vue.d.ts +2 -0
  43. package/dist/modules/system-dict/index.d.ts +1 -0
  44. package/dist/modules/system-dict/index.vue.d.ts +531 -0
  45. package/dist/modules/system-dict/modules/dictDialog.vue.d.ts +48 -0
  46. package/dist/modules/system-dict/modules/dictDrawer.vue.d.ts +453 -0
  47. package/dist/modules/system-label/components/addTag.vue.d.ts +408 -0
  48. package/dist/modules/system-label/index.d.ts +1 -0
  49. package/dist/modules/system-label/index.vue.d.ts +480 -0
  50. package/dist/modules/system-monitor-log/applyLog.vue.d.ts +429 -0
  51. package/dist/modules/system-monitor-log/index.d.ts +1 -0
  52. package/dist/modules/system-monitor-log/index.vue.d.ts +481 -0
  53. package/dist/modules/system-monitor-log/modules/applyLogDrawer.vue.d.ts +403 -0
  54. package/dist/modules/system-notice/index.d.ts +1 -0
  55. package/dist/modules/system-notice/index.vue.d.ts +483 -0
  56. package/dist/modules/system-notice/modules/noticeDrawer.vue.d.ts +406 -0
  57. package/dist/modules/system-notify/index.d.ts +1 -0
  58. package/dist/modules/system-notify/index.vue.d.ts +474 -0
  59. package/dist/modules/system-notify/modules/notifyDrawer.vue.d.ts +397 -0
  60. package/dist/modules/system-open/components/applyAddDialog.vue.d.ts +405 -0
  61. package/dist/modules/system-open/components/applyAuthDialog.vue.d.ts +416 -0
  62. package/dist/modules/system-open/detail.vue.d.ts +1910 -0
  63. package/dist/modules/system-open/index.d.ts +2 -0
  64. package/dist/modules/system-open/index.vue.d.ts +902 -0
  65. package/dist/modules/system-position/index.d.ts +1 -0
  66. package/dist/modules/system-position/index.vue.d.ts +474 -0
  67. package/dist/modules/system-position/modules/positionDrawer.vue.d.ts +397 -0
  68. package/dist/modules/system-role/index.d.ts +1 -0
  69. package/dist/modules/system-role/index.vue.d.ts +492 -0
  70. package/dist/modules/system-role/modules/roleDetail.vue.d.ts +417 -0
  71. package/dist/modules/system-user/index.d.ts +1 -0
  72. package/dist/modules/system-user/index.vue.d.ts +2027 -0
  73. package/dist/modules/system-user/modules/addDepartDrawer.vue.d.ts +968 -0
  74. package/dist/modules/system-user/modules/addUserDrawer.vue.d.ts +963 -0
  75. package/dist/modules/system-user/modules/treeSelect.vue.d.ts +72 -0
  76. package/dist/modules/user/index.d.ts +1 -0
  77. package/dist/style.css +1 -0
  78. package/dist/treeSelect-DM-CY_So.js +143 -0
  79. package/dist/treeSelect-DpRkBYCq.js +143 -0
  80. package/dist/utils/configEvent.d.ts +26 -0
  81. package/dist/utils/dayjs.d.ts +2 -0
  82. package/dist/utils/formatJson.d.ts +5 -0
  83. package/package.json +73 -0
@@ -0,0 +1,72 @@
1
+ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
2
+ modelValue: {
3
+ type: (StringConstructor | NumberConstructor)[];
4
+ default: string;
5
+ };
6
+ data: {
7
+ type: ArrayConstructor;
8
+ default: () => never[];
9
+ };
10
+ pid: {
11
+ type: StringConstructor;
12
+ default: string;
13
+ };
14
+ nodeKey: {
15
+ type: (StringConstructor | NumberConstructor)[];
16
+ default: string;
17
+ };
18
+ treeProps: {
19
+ type: ObjectConstructor;
20
+ default: () => {
21
+ label: string;
22
+ children: string;
23
+ disabled: string;
24
+ };
25
+ };
26
+ }>, {
27
+ init: (val: any) => void;
28
+ clear: () => void;
29
+ focus: (val: any) => void;
30
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
31
+ "update:modelValue": (...args: any[]) => void;
32
+ changeTree: (...args: any[]) => void;
33
+ }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
34
+ modelValue: {
35
+ type: (StringConstructor | NumberConstructor)[];
36
+ default: string;
37
+ };
38
+ data: {
39
+ type: ArrayConstructor;
40
+ default: () => never[];
41
+ };
42
+ pid: {
43
+ type: StringConstructor;
44
+ default: string;
45
+ };
46
+ nodeKey: {
47
+ type: (StringConstructor | NumberConstructor)[];
48
+ default: string;
49
+ };
50
+ treeProps: {
51
+ type: ObjectConstructor;
52
+ default: () => {
53
+ label: string;
54
+ children: string;
55
+ disabled: string;
56
+ };
57
+ };
58
+ }>> & Readonly<{
59
+ "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
60
+ onChangeTree?: ((...args: any[]) => any) | undefined;
61
+ }>, {
62
+ modelValue: string | number;
63
+ data: unknown[];
64
+ pid: string;
65
+ nodeKey: string | number;
66
+ treeProps: Record<string, any>;
67
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {
68
+ selectRef: unknown;
69
+ optionRef: unknown;
70
+ treeRef: unknown;
71
+ }, any>;
72
+ export default _default;
@@ -0,0 +1 @@
1
+ export {};
package/dist/style.css ADDED
@@ -0,0 +1 @@
1
+ p.line-title[data-v-743c84e7]{font-size:14px;-webkit-columns:#606266;-moz-columns:#606266;columns:#606266;margin-bottom:16px}p.line-title span.require[data-v-743c84e7]{color:red}.upload_label[data-v-743c84e7]{cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:120px;height:120px;border-radius:5px;border:1px dashed #e5e5e5;background:#f7f8fa;-webkit-transition:.3s;transition:.3s}.upload_label i[data-v-743c84e7]{font-size:18px}.upload_label[data-v-743c84e7]:hover{border:1px dashed var(--el-color-primary)}.upload_label:hover i[data-v-743c84e7]{color:var(--el-color-primary)}.previewImg[data-v-743c84e7]{display:inline-block;cursor:pointer;width:120px;height:120px;border-radius:5px;border:1px solid #e5e5e5;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;line-height:120px}.previewImg[data-v-743c84e7]:hover{border:1px dashed var(--el-color-primary)}.subjectIdAll[data-v-743c84e7]{position:absolute;color:var(--el-color-primary);top:-36px;right:0}.phone_valid_block[data-v-743c84e7]{display:-webkit-box;display:-ms-flexbox;display:flex}.phone_valid_block .el-button[data-v-743c84e7]{margin-left:10px}.permissionTree[data-v-743c84e7]{width:100%;height:400px;padding:10px;overflow-y:auto;border:1px solid #dcdfe6}.account_wrapper[data-v-0b812fda]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:15px;height:calc(100vh - 145px);margin-top:16px}.account_wrapper .operate_block[data-v-0b812fda]{-webkit-box-flex:1;-ms-flex:1;flex:1;padding:24px;background:#fff;overflow-x:auto}.account_wrapper .account_tree[data-v-0b812fda]{min-width:256px;height:100%;padding:24px;background:#fff}.account_wrapper .account_tree #tree-option[data-v-0b812fda]{overflow-y:auto}.account_wrapper .account_tree .custom-tree-node[data-v-0b812fda]{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;font-size:14px;padding-right:8px}.account_wrapper .account_tree .tree-node-label[data-v-0b812fda]{display:block;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:20px}.status-tag[data-v-0b812fda]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.status-point[data-v-0b812fda]{width:8px;height:8px;margin-right:6px;border-radius:50%;display:block}.status-success[data-v-0b812fda]{background-color:#19ca38}.status-fail[data-v-0b812fda]{background-color:#e84739}.el-tree[data-v-0b812fda] .el-tree-node__content{height:auto;min-height:50px;border-radius:3px!important;background-color:#f5f5f5;margin:3px;color:#333}.el-tree[data-v-0b812fda] .el-tree-node__content:hover{background-color:#f0f5ff!important;color:var(--el-color-primary-hover)!important}.el-tree[data-v-0b812fda] .el-tree-node.is-current>.el-tree-node__content{background-color:#f0f5ff!important;color:var(--el-color-primary)!important}.svg-icon-disabled[data-v-0b812fda]{opacity:.4;cursor:not-allowed;pointer-events:none}.permissionTree[data-v-8e948ec2]{width:100%;height:400px;padding:10px;overflow-y:auto;border:1px solid #dcdfe6}.role_block[data-v-da7cadaa],.authority_block[data-v-21409688]{background-color:#fff;padding:24px;margin-top:16px}.authority_block .menu_add_button[data-v-21409688]{width:88px;height:36px;margin-bottom:22px}.name-cell[data-v-21409688]{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px}.name-text[data-v-21409688]{font-size:14px;color:var(--el-text-color-primary)}.input-count[data-v-75934556]{color:#aeaeae;font-size:10px;float:right}.copy[data-v-75934556]{color:var(--el-color-primary);margin-left:5px;cursor:pointer;font-size:16px}.readonly-value[data-v-75934556]{color:#606266;font-size:14px;line-height:32px;word-break:break-all}.boxList[data-v-91e2d90a]{border-bottom:1px solid #e5e6eb;padding:21px 15px}.boxTitle[data-v-91e2d90a]{padding-left:30px;color:#000}.userApply_block[data-v-a8bf48f6]{padding:24px;background:#fff;margin-top:16px}.userApply_block .product_add_button[data-v-a8bf48f6]{width:88px;height:36px;margin-bottom:22px;border-radius:4px}.copy[data-v-a8bf48f6]{color:var(--el-color-primary);margin-left:5px;cursor:pointer;font-size:16px}.app-key-text[data-v-a8bf48f6]{display:inline-block;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}.password-block[data-v-200b6741]{text-align:center;font-size:14px;font-weight:400}.password-block h3[data-v-200b6741]{margin:0;padding:0}.password-block .password-form .password-form-sumbit[data-v-200b6741]{background-color:var(--el-color-primary);display:-webkit-box;display:-ms-flexbox;-webkit-box-pack:center;-ms-flex-pack:center;background-color:#165dff;display:flex;justify-content:center}.block[data-v-5e456413]{text-align:center;font-size:14px;font-weight:400}.block h3[data-v-5e456413]{margin:0;padding:0}.block .dialog_body_form .dialog_form_phone[data-v-5e456413]{display:-webkit-box;display:-ms-flexbox;display:flex}.block .dialog_body_form .dialog_form_phone .dialog_phone_area[data-v-5e456413]{width:92px;background-color:#f5f7fa;height:36px;line-height:36px;border:1px solid #dcdfe6}.block .dialog_body_form .dialog_form_phone .form_phone_item[data-v-5e456413]{-webkit-box-flex:1;-ms-flex:1;flex:1}.block .dialog_body_form .dialog_form_code[data-v-5e456413]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.block .dialog_body_form .dialog_form_code .dialog_code_input[data-v-5e456413]{width:241px;margin-right:16px}.block .dialog_body_form .dialog_form_code .el-button[data-v-5e456413]{width:105px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}[data-v-5e456413] .el-button-group{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-pack:distribute;justify-content:space-around}[data-v-5e456413] .el-button-group .el-button{border-radius:unset;width:88px}[data-v-5e456413] .el-button-group .el-button--primary{background-color:#165dff;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}[data-v-370ac96e] .el-form{padding:45px 78px 0}.auth-main-key[data-v-370ac96e]{text-align:left;padding:42px 50px 30px}.auth-main-key .auth-main-copy[data-v-370ac96e]{margin-left:15px;color:var(--el-color-primary);cursor:pointer}.userApply_block[data-v-9e0e336a]{padding:24px;background:#fff;margin-top:16px}.userApply_block .product_add_button[data-v-9e0e336a]{width:88px;height:36px;margin-bottom:22px}.client_block[data-v-ed631d5f]{background-color:#fff;padding:24px;margin-top:16px}.secret-cell[data-v-ed631d5f]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px}.secret-cell .secret-value[data-v-ed631d5f]{font-family:JetBrains Mono,Fira Code,monospace;color:#606266}.secret-cell .copy-btn[data-v-ed631d5f]{color:var(--el-color-primary);cursor:pointer;font-size:16px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.titleBox[data-v-c158798b]{font-size:20px;color:#000;border-left:5px solid var(--defaultColor, #1890ff);padding-left:12px;line-height:20px;height:20px;margin-bottom:10px}.config-item-row[data-v-c158798b]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:8px;margin-bottom:10px;padding:10px 10px 10px 12px;background:#fff;border:2px solid #dcdfe6;border-radius:6px;-webkit-transition:background-color .2s;transition:background-color .2s}.config-item-row[data-v-c158798b]:hover{background:#f5f7fa}.config-item-new[data-v-c158798b]{background:#fff;border:2px solid #dcdfe6;border-radius:6px}.config-item-new[data-v-c158798b]:hover{background:#e8effd}.config-item-body[data-v-c158798b]{-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:0}.config-item-meta[data-v-c158798b]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:8px;margin-bottom:6px}.config-item-meta .el-select[data-v-c158798b]{width:300px}.config-item-file[data-v-c158798b]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px}.config-item-image[data-v-c158798b]{border-radius:4px;overflow:hidden}.config-item-remove[data-v-c158798b]{margin-top:2px;opacity:.8;-webkit-transition:opacity .2s,color .2s;transition:opacity .2s,color .2s}.config-item-remove[data-v-c158798b]:hover:not(:disabled){opacity:1}.config-add-btn-wrapper[data-v-c158798b]{width:100%;display:block}.config-add-btn[data-v-c158798b]{width:100%;margin-top:4px;margin-bottom:16px;border:1px dashed #409eff!important;border-radius:6px;background:#f0f5ff!important;color:#409eff!important;font-size:13px;height:36px;-webkit-transition:background-color .2s;transition:background-color .2s}.config-add-btn[data-v-c158798b]:hover:not(:disabled){background:#e8effd!important}.config-add-btn[data-v-c158798b]:disabled{border-color:#dcdfe6!important;background:#f5f7fa!important;color:#c0c4cc!important}.config_block[data-v-38e91ad8],.cache_block[data-v-1c2ead7d]{background-color:#fff;padding:24px;margin-top:16px}.cache-actions[data-v-1c2ead7d]{margin-top:16px;display:-webkit-box;display:-ms-flexbox;display:flex;gap:12px}.input-count[data-v-6b77a63a]{color:#aeaeae;font-size:10px;float:right}.boxList[data-v-30654d98]{border-bottom:1px solid #e5e6eb;padding:21px 15px}.boxTitle[data-v-30654d98]{padding-left:30px;color:#000}.userApply_block[data-v-3cc099d2]{padding:24px;background:#fff;margin-top:16px}.userApply_block .product_add_button[data-v-3cc099d2]{width:88px;height:36px;margin-bottom:22px}.copy[data-v-3cc099d2]{color:var(--el-color-primary);margin-left:5px;cursor:pointer;font-size:16px}.userApply_block[data-v-96761372]{padding:24px;background:#fff;margin-top:16px}.userApply_block .product_add_button[data-v-96761372]{width:88px;height:36px;margin-bottom:22px}.json-preview[data-v-f2b848a1]{margin:0;padding:12px;max-height:300px;overflow:auto;background:#f8f8f8;border:1px solid #dcdfe6;border-radius:4px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-size:13px;line-height:1.55;white-space:pre;color:#24292f;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%}.json-preview[data-v-f2b848a1] .hljs-attr{color:#0550ae}.json-preview[data-v-f2b848a1] .hljs-string{color:#0a3069}.json-preview[data-v-f2b848a1] .hljs-number,.json-preview[data-v-f2b848a1] .hljs-literal{color:#0550ae}.json-preview[data-v-f2b848a1] .hljs-punctuation,.json-preview[data-v-f2b848a1] .hljs-bullet{color:#24292f}p.line-title[data-v-a67822ed]{font-size:14px;-webkit-columns:#606266;-moz-columns:#606266;columns:#606266;margin-bottom:16px}p.line-title span.require[data-v-a67822ed]{color:red}.upload_label[data-v-a67822ed]{cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:120px;height:120px;border-radius:5px;border:1px dashed #e5e5e5;background:#f7f8fa;-webkit-transition:.3s;transition:.3s}.upload_label i[data-v-a67822ed]{font-size:18px}.upload_label[data-v-a67822ed]:hover{border:1px dashed var(--el-color-primary)}.upload_label:hover i[data-v-a67822ed]{color:var(--el-color-primary)}.previewImg[data-v-a67822ed]{display:inline-block;cursor:pointer;width:120px;height:120px;border-radius:5px;border:1px solid #e5e5e5;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;line-height:120px}.previewImg[data-v-a67822ed]:hover{border:1px dashed var(--el-color-primary)}.subjectIdAll[data-v-a67822ed]{position:absolute;color:var(--el-color-primary);top:-36px;right:0}.phone_valid_block[data-v-a67822ed]{display:-webkit-box;display:-ms-flexbox;display:flex}.phone_valid_block .el-button[data-v-a67822ed]{margin-left:10px}.permissionTree[data-v-a67822ed]{width:100%;height:400px;padding:10px;overflow-y:auto;border:1px solid #dcdfe6}.operateLog_block[data-v-5499161b]{padding:24px;background:#fff;margin-top:16px}.operateLog_block .product_add_button[data-v-5499161b]{width:88px;height:36px;margin-bottom:22px}.copy[data-v-5499161b]{color:var(--el-color-primary);margin-left:5px;cursor:pointer;font-size:16px}p.line-title[data-v-3631eb5c]{font-size:14px;-webkit-columns:#606266;-moz-columns:#606266;columns:#606266;margin-bottom:16px}p.line-title span.require[data-v-3631eb5c]{color:red}.upload_label[data-v-3631eb5c]{cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:120px;height:120px;border-radius:5px;border:1px dashed #e5e5e5;background:#f7f8fa;-webkit-transition:.3s;transition:.3s}.upload_label i[data-v-3631eb5c]{font-size:18px}.upload_label[data-v-3631eb5c]:hover{border:1px dashed var(--el-color-primary)}.upload_label:hover i[data-v-3631eb5c]{color:var(--el-color-primary)}.previewImg[data-v-3631eb5c]{display:inline-block;cursor:pointer;width:120px;height:120px;border-radius:5px;border:1px solid #e5e5e5;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;line-height:120px}.previewImg[data-v-3631eb5c]:hover{border:1px dashed var(--el-color-primary)}.subjectIdAll[data-v-3631eb5c]{position:absolute;color:var(--el-color-primary);top:-36px;right:0}.phone_valid_block[data-v-3631eb5c]{display:-webkit-box;display:-ms-flexbox;display:flex}.phone_valid_block .el-button[data-v-3631eb5c]{margin-left:10px}.permissionTree[data-v-3631eb5c]{width:100%;height:400px;padding:10px;overflow-y:auto;border:1px solid #dcdfe6}.loginLog_block[data-v-59ee72f9]{padding:24px;background:#fff;margin-top:16px}.loginLog_block .product_add_button[data-v-59ee72f9]{width:88px;height:36px;margin-bottom:22px}.copy[data-v-59ee72f9]{color:var(--el-color-primary);margin-left:5px;cursor:pointer;font-size:16px}[data-v-96da23da] .el-form-item{width:100%!important}.dict_block[data-v-5b5c0b50]{background-color:#fff;padding:24px;margin-top:16px}.dict_block .dict_add_button[data-v-5b5c0b50]{width:88px;height:36px;margin-bottom:22px}.category_wrapper[data-v-39af462a]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:15px;height:calc(100vh - 145px);margin-top:16px}.category_wrapper .category_tree[data-v-39af462a]{min-width:256px;height:100%;padding:24px;background:#fff}.category_wrapper .category_tree .tree-header[data-v-39af462a]{margin-bottom:16px;font-size:16px;font-weight:500}.category_wrapper .category_tree .tree-search[data-v-39af462a],.category_wrapper .category_tree .tree-operate[data-v-39af462a]{margin-bottom:12px}.category_wrapper .category_tree .custom-tree-node[data-v-39af462a]{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;font-size:14px;padding-right:8px}.category_wrapper .category_tree .tree-node-label[data-v-39af462a]{display:block;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.category_wrapper .operate_block[data-v-39af462a]{-webkit-box-flex:1;-ms-flex:1;flex:1;padding:24px;background:#fff;overflow-x:auto}.el-tree[data-v-39af462a] .el-tree-node__content{height:auto;min-height:50px;border-radius:3px;background-color:#f5f5f5;margin:3px;color:#333}.el-tree[data-v-39af462a] .el-tree-node__content:hover{background-color:#f0f5ff!important;color:var(--el-color-primary-hover)!important}.el-tree[data-v-39af462a] .el-tree-node.is-current>.el-tree-node__content{background-color:#f0f5ff!important;color:var(--el-color-primary)!important}.device_block[data-v-af181e20]{padding:24px;background:#fff;margin-top:16px}.obj-btn-items[data-v-af181e20]{display:inline-block}.binary_block[data-v-02d9d14c]{background-color:#fff;padding:24px;margin-top:16px}.btn-item[data-v-02d9d14c]{display:inline;cursor:pointer}.notice_block[data-v-34246d36]{background-color:#fff;padding:24px;margin-top:16px}.permissionTree[data-v-6f3fbb71]{width:100%;height:400px;padding:10px;overflow-y:auto;border:1px solid #dcdfe6}.notify_block[data-v-b4649670],.position_block[data-v-38e8049f]{background-color:#fff;padding:24px;margin-top:16px}p.line-title[data-v-836af6bb]{font-size:14px;-webkit-columns:#606266;-moz-columns:#606266;columns:#606266;margin-bottom:16px}p.line-title span.require[data-v-836af6bb]{color:red}.upload_label[data-v-836af6bb]{cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;justify-title:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:120px;height:120px;border-radius:5px;border:1px dashed #e5e5e5;background:#f7f8fa;-webkit-transition:.3s;transition:.3s}.upload_label i[data-v-836af6bb]{font-size:18px}.upload_label[data-v-836af6bb]:hover{border:1px dashed var(--el-color-primary)}.upload_label:hover i[data-v-836af6bb]{color:var(--el-color-primary)}.previewImg[data-v-836af6bb]{display:inline-block;cursor:pointer;width:120px;height:120px;border-radius:5px;border:1px solid #e5e5e5;display:-webkit-box;display:-ms-flexbox;display:flex;justify-title:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;line-height:120px}.previewImg[data-v-836af6bb]:hover{border:1px dashed var(--el-color-primary)}.subjectIdAll[data-v-836af6bb]{position:absolute;color:var(--el-color-primary);top:-36px;right:0}.phone_valid_block[data-v-836af6bb]{display:-webkit-box;display:-ms-flexbox;display:flex}.phone_valid_block .el-button[data-v-836af6bb]{margin-left:10px}.permissionTree[data-v-836af6bb]{width:100%;height:400px;padding:10px;overflow-y:auto;border:1px solid #dcdfe6}.data_block[data-v-df77f8f6]{padding:24px;background:#fff}.option[data-v-75e84766]{height:auto;line-height:1;padding:0;background-color:#fff}.tree[data-v-75e84766]{padding:4px 20px;font-weight:400}.option[data-v-ec8850cc]{height:auto;line-height:1;padding:0;background-color:#fff}.tree[data-v-ec8850cc]{padding:4px 20px;font-weight:400}
@@ -0,0 +1,143 @@
1
+ import { defineComponent as T, ref as m, reactive as P, watch as v, onMounted as O, resolveComponent as p, openBlock as w, createBlock as A, withCtx as k, createVNode as V, nextTick as E } from "vue";
2
+ import { ElMessage as B } from "element-plus";
3
+ import { _ as D } from "./index-a_39WFUh.js";
4
+ const M = /* @__PURE__ */ T({
5
+ __name: "treeSelect",
6
+ props: {
7
+ // v-model绑定
8
+ modelValue: {
9
+ type: [String, Number],
10
+ default: ""
11
+ },
12
+ // 树形的数据
13
+ data: {
14
+ type: Array,
15
+ default: () => []
16
+ },
17
+ // disable
18
+ pid: {
19
+ type: String,
20
+ default: ""
21
+ },
22
+ // 每个树节点用来作为唯一标识的属性
23
+ nodeKey: {
24
+ type: [String, Number],
25
+ default: "id"
26
+ },
27
+ // tree的props配置
28
+ treeProps: {
29
+ type: Object,
30
+ default: () => ({
31
+ label: "title",
32
+ children: "children",
33
+ disabled: "disabled"
34
+ })
35
+ }
36
+ },
37
+ emits: ["update:modelValue", "changeTree"],
38
+ setup(d, { expose: _, emit: g }) {
39
+ const l = d, c = g, a = m(null), C = m(null), r = m(null), i = P({
40
+ id: "",
41
+ name: ""
42
+ }), f = (e) => !e || !Array.isArray(e) ? !0 : e.length === 0, x = (e) => {
43
+ c("update:modelValue", e);
44
+ }, N = (e) => {
45
+ if (e.disabled) {
46
+ B.error("不可选择自身级别及子级!"), a.value && a.value.blur();
47
+ return;
48
+ }
49
+ const t = l.treeProps.label || "name";
50
+ c("update:modelValue", e[l.nodeKey]), i.id = e[l.nodeKey], i.name = e[t], a.value && a.value.blur(), c("changeTree", e);
51
+ }, s = (e) => {
52
+ e && r.value ? E(() => {
53
+ r.value.setCurrentKey(e);
54
+ try {
55
+ const t = r.value.getNode(e);
56
+ t && (i.id = e, i.name = t.label);
57
+ } catch (t) {
58
+ console.error("获取节点失败:", t);
59
+ }
60
+ }) : r.value && r.value.setCurrentKey(null);
61
+ }, K = (e) => {
62
+ if (e && a.value) {
63
+ const t = document.querySelector(".is-current");
64
+ setTimeout(() => {
65
+ t && a.value.scrollToOption && a.value.scrollToOption({ $el: t });
66
+ }, 0);
67
+ }
68
+ }, y = () => {
69
+ c("update:modelValue", "");
70
+ }, S = (e, t, u) => {
71
+ if (!e) return !0;
72
+ const n = [];
73
+ h(u, n, e);
74
+ let o = !1;
75
+ return n.forEach((R) => {
76
+ o = o || R;
77
+ }), o;
78
+ }, h = (e, t, u) => {
79
+ const n = l.treeProps.label || "name", o = e.data && e.data[n] && String(e.data[n]).indexOf(u) !== -1;
80
+ o && t.push(o), !o && e.level !== 1 && e.parent && h(e.parent, t, u);
81
+ }, b = (e) => {
82
+ r.value && r.value.filter(e);
83
+ };
84
+ return v(() => l.modelValue, (e) => {
85
+ f(l.data) || s(e);
86
+ }, { immediate: !0 }), v(() => l.data, (e) => {
87
+ f(e) || s(l.modelValue);
88
+ }, { immediate: !0, deep: !0 }), O(() => {
89
+ f(l.data) || s(l.modelValue);
90
+ }), _({
91
+ init: s,
92
+ clear: y,
93
+ focus: b
94
+ }), (e, t) => {
95
+ const u = p("el-tree"), n = p("el-option"), o = p("el-select");
96
+ return w(), A(o, {
97
+ ref_key: "selectRef",
98
+ ref: a,
99
+ "model-value": d.modelValue,
100
+ placeholder: "请选择上级部门",
101
+ clearable: "",
102
+ filterable: "",
103
+ "filter-method": b,
104
+ style: { width: "100%" },
105
+ onVisibleChange: K,
106
+ onClear: y,
107
+ "onUpdate:modelValue": x
108
+ }, {
109
+ default: k(() => [
110
+ V(n, {
111
+ ref_key: "optionRef",
112
+ ref: C,
113
+ class: "option",
114
+ value: i.id,
115
+ label: i.name
116
+ }, {
117
+ default: k(() => [
118
+ V(u, {
119
+ ref_key: "treeRef",
120
+ ref: r,
121
+ class: "tree",
122
+ "node-key": d.nodeKey,
123
+ data: d.data,
124
+ props: l.treeProps,
125
+ "default-expanded-keys": [d.modelValue],
126
+ "current-node-key": d.modelValue,
127
+ "highlight-current": "",
128
+ "expand-on-click-node": !1,
129
+ "filter-node-method": S,
130
+ onNodeClick: N
131
+ }, null, 8, ["node-key", "data", "props", "default-expanded-keys", "current-node-key"])
132
+ ]),
133
+ _: 1
134
+ }, 8, ["value", "label"])
135
+ ]),
136
+ _: 1
137
+ }, 8, ["model-value"]);
138
+ };
139
+ }
140
+ }), U = /* @__PURE__ */ D(M, [["__scopeId", "data-v-75e84766"]]);
141
+ export {
142
+ U as default
143
+ };
@@ -0,0 +1,143 @@
1
+ import { defineComponent as T, ref as p, reactive as P, watch as v, onMounted as O, resolveComponent as m, openBlock as w, createBlock as A, withCtx as k, createVNode as V, nextTick as E } from "vue";
2
+ import { ElMessage as B } from "element-plus";
3
+ import { _ as D } from "./index-a_39WFUh.js";
4
+ const M = /* @__PURE__ */ T({
5
+ __name: "treeSelect",
6
+ props: {
7
+ // v-model绑定
8
+ modelValue: {
9
+ type: [String, Number],
10
+ default: ""
11
+ },
12
+ // 树形的数据
13
+ data: {
14
+ type: Array,
15
+ default: () => []
16
+ },
17
+ // disable
18
+ pid: {
19
+ type: String,
20
+ default: ""
21
+ },
22
+ // 每个树节点用来作为唯一标识的属性
23
+ nodeKey: {
24
+ type: [String, Number],
25
+ default: "id"
26
+ },
27
+ // tree的props配置
28
+ treeProps: {
29
+ type: Object,
30
+ default: () => ({
31
+ label: "title",
32
+ children: "children",
33
+ disabled: "disabled"
34
+ })
35
+ }
36
+ },
37
+ emits: ["update:modelValue", "changeTree"],
38
+ setup(i, { expose: _, emit: g }) {
39
+ const l = i, u = g, r = p(null), C = p(null), a = p(null), d = P({
40
+ id: "",
41
+ title: ""
42
+ }), f = (e) => !e || !Array.isArray(e) ? !0 : e.length === 0, x = (e) => {
43
+ u("update:modelValue", e);
44
+ }, N = (e) => {
45
+ if (e.disabled) {
46
+ B.error("不可选择自身级别及子级!"), r.value && r.value.blur();
47
+ return;
48
+ }
49
+ const t = l.treeProps.label || "title";
50
+ u("update:modelValue", e[l.nodeKey]), d.id = e[l.nodeKey], d.title = e[t], r.value && r.value.blur(), u("changeTree", e);
51
+ }, s = (e) => {
52
+ e && a.value ? E(() => {
53
+ a.value.setCurrentKey(e);
54
+ try {
55
+ const t = a.value.getNode(e);
56
+ t && (d.id = e, d.title = t.label);
57
+ } catch (t) {
58
+ console.error("获取节点失败:", t);
59
+ }
60
+ }) : a.value && a.value.setCurrentKey(null);
61
+ }, K = (e) => {
62
+ if (e && r.value) {
63
+ const t = document.querySelector(".is-current");
64
+ setTimeout(() => {
65
+ t && r.value.scrollToOption && r.value.scrollToOption({ $el: t });
66
+ }, 0);
67
+ }
68
+ }, y = () => {
69
+ u("update:modelValue", "");
70
+ }, S = (e, t, c) => {
71
+ if (!e) return !0;
72
+ const n = [];
73
+ h(c, n, e);
74
+ let o = !1;
75
+ return n.forEach((R) => {
76
+ o = o || R;
77
+ }), o;
78
+ }, h = (e, t, c) => {
79
+ const n = l.treeProps.label || "title", o = e.data && e.data[n] && String(e.data[n]).indexOf(c) !== -1;
80
+ o && t.push(o), !o && e.level !== 1 && e.parent && h(e.parent, t, c);
81
+ }, b = (e) => {
82
+ a.value && a.value.filter(e);
83
+ };
84
+ return v(() => l.modelValue, (e) => {
85
+ f(l.data) || s(e);
86
+ }, { immediate: !0 }), v(() => l.data, (e) => {
87
+ f(e) || s(l.modelValue);
88
+ }, { immediate: !0, deep: !0 }), O(() => {
89
+ f(l.data) || s(l.modelValue);
90
+ }), _({
91
+ init: s,
92
+ clear: y,
93
+ focus: b
94
+ }), (e, t) => {
95
+ const c = m("el-tree"), n = m("el-option"), o = m("el-select");
96
+ return w(), A(o, {
97
+ ref_key: "selectRef",
98
+ ref: r,
99
+ "model-value": i.modelValue,
100
+ placeholder: "请选择父级分组",
101
+ clearable: "",
102
+ filterable: "",
103
+ "filter-method": b,
104
+ style: { width: "100%" },
105
+ onVisibleChange: K,
106
+ onClear: y,
107
+ "onUpdate:modelValue": x
108
+ }, {
109
+ default: k(() => [
110
+ V(n, {
111
+ ref_key: "optionRef",
112
+ ref: C,
113
+ class: "option",
114
+ value: d.id,
115
+ label: d.title
116
+ }, {
117
+ default: k(() => [
118
+ V(c, {
119
+ ref_key: "treeRef",
120
+ ref: a,
121
+ class: "tree",
122
+ "node-key": i.nodeKey,
123
+ data: i.data,
124
+ props: l.treeProps,
125
+ "default-expanded-keys": [i.modelValue],
126
+ "current-node-key": i.modelValue,
127
+ "highlight-current": "",
128
+ "expand-on-click-node": !1,
129
+ "filter-node-method": S,
130
+ onNodeClick: N
131
+ }, null, 8, ["node-key", "data", "props", "default-expanded-keys", "current-node-key"])
132
+ ]),
133
+ _: 1
134
+ }, 8, ["value", "label"])
135
+ ]),
136
+ _: 1
137
+ }, 8, ["model-value"]);
138
+ };
139
+ }
140
+ }), U = /* @__PURE__ */ D(M, [["__scopeId", "data-v-ec8850cc"]]);
141
+ export {
142
+ U as default
143
+ };
@@ -0,0 +1,26 @@
1
+ /**
2
+ * 系统配置广播(移植自应用壳 src/utils/configEvent.js,行为一致)
3
+ *
4
+ * 查询 SYSTEM_CONFIG → FILE 项转 blob URL → 写 localStorage → 广播 CustomEvent。
5
+ * 数据通道:useAdminSdk().passport.auth.getSystemConfig(原 passportApi.getSystemConfig)
6
+ * + ui-shared 的 binaryDownloadBlob(原 fileApi.fileDownload:resolve Blob,
7
+ * 供 FileReader/createObjectURL 使用)。SDK 失败抛 SdkError 走外层 catch,
8
+ * 等价于原 `if (!res.success) return null` / 请求失败分支。
9
+ */
10
+ interface SystemConfigItem {
11
+ type?: string;
12
+ value?: string;
13
+ key?: string;
14
+ [key: string]: any;
15
+ }
16
+ interface SystemConfigPayload {
17
+ categoryKey: string;
18
+ categoryName: string;
19
+ items: SystemConfigItem[];
20
+ }
21
+ /**
22
+ * 查询 SYSTEM_CONFIG → FILE 项转 blob URL → 写 localStorage → 广播事件
23
+ * @returns payload 或 null
24
+ */
25
+ export declare function fetchAndBroadcastSystemConfig(): Promise<SystemConfigPayload | null>;
26
+ export {};
@@ -0,0 +1,2 @@
1
+ import { default as dayjs } from 'dayjs';
2
+ export default dayjs;
@@ -0,0 +1,5 @@
1
+ /**
2
+ * 将审计请求体整理成便于阅读的 JSON 文本。
3
+ * 对象直接 pretty-print;字符串尝试 JSON.parse(最多解开两层),失败则原样返回。
4
+ */
5
+ export declare function formatRequestJson(raw: unknown): string;
package/package.json ADDED
@@ -0,0 +1,73 @@
1
+ {
2
+ "name": "@xdmp-open/ui-admin",
3
+ "version": "0.1.0",
4
+ "description": "XDMP platform admin business page components (Vue 3 + Element Plus)",
5
+ "license": "Apache-2.0",
6
+ "author": "China Mobile IoT",
7
+ "homepage": "https://www.npmjs.com/package/@xdmp-open/ui-admin",
8
+ "keywords": [
9
+ "xdmp",
10
+ "vue3",
11
+ "element-plus",
12
+ "admin",
13
+ "ui"
14
+ ],
15
+ "type": "module",
16
+ "publishConfig": {
17
+ "access": "public"
18
+ },
19
+ "files": [
20
+ "dist",
21
+ "LICENSE",
22
+ "CHANGELOG.md"
23
+ ],
24
+ "main": "./dist/index.js",
25
+ "module": "./dist/index.js",
26
+ "types": "./dist/index.d.ts",
27
+ "exports": {
28
+ ".": {
29
+ "types": "./dist/index.d.ts",
30
+ "import": "./dist/index.js",
31
+ "default": "./dist/index.js"
32
+ },
33
+ "./style.css": "./dist/style.css",
34
+ "./package.json": "./package.json"
35
+ },
36
+ "sideEffects": [
37
+ "*.css",
38
+ "*.scss"
39
+ ],
40
+ "dependencies": {
41
+ "dayjs": "^1.11.20",
42
+ "highlight.js": "^11.12.0"
43
+ },
44
+ "peerDependencies": {
45
+ "@element-plus/icons-vue": "^2.3.2",
46
+ "@xdmp-open/sdk-admin": "^0.1.0",
47
+ "@xdmp-open/sdk-iot": "^0.1.0",
48
+ "@xdmp-open/ui-shared": "^0.1.0",
49
+ "element-plus": "^2.13.6",
50
+ "vue": "^3.5.0",
51
+ "vue-router": "^4.0.0"
52
+ },
53
+ "peerDependenciesMeta": {
54
+ "vue-router": {
55
+ "optional": true
56
+ }
57
+ },
58
+ "devDependencies": {
59
+ "@element-plus/icons-vue": "^2.3.2",
60
+ "element-plus": "^2.13.6",
61
+ "vue": "^3.5.0",
62
+ "vue-router": "^4.6.4",
63
+ "@xdmp-open/sdk-admin": "0.1.0",
64
+ "@xdmp-open/ui-shared": "0.1.0",
65
+ "@xdmp-open/sdk-iot": "0.1.0"
66
+ },
67
+ "scripts": {
68
+ "build": "vite build",
69
+ "lint": "eslint src",
70
+ "test": "vitest run --passWithNoTests",
71
+ "typecheck": "vue-tsc --noEmit"
72
+ }
73
+ }