@xdmp-open/ui-shared 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 (48) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/LICENSE +201 -0
  3. package/README.md +109 -0
  4. package/dist/api/binary.d.ts +42 -0
  5. package/dist/components/AvatarUpload/index.vue.d.ts +479 -0
  6. package/dist/components/BackPage/index.vue.d.ts +14 -0
  7. package/dist/components/ChartComponent/index.vue.d.ts +29 -0
  8. package/dist/components/Charts/Keyboard.vue.d.ts +53 -0
  9. package/dist/components/Charts/LineMarker.vue.d.ts +53 -0
  10. package/dist/components/Charts/MixChart.vue.d.ts +53 -0
  11. package/dist/components/Charts/mixins/resize.d.ts +10 -0
  12. package/dist/components/FileUpload/index.vue.d.ts +501 -0
  13. package/dist/components/IconSelect/index.vue.d.ts +51 -0
  14. package/dist/components/IconSelect/svgIconRegistry.d.ts +9 -0
  15. package/dist/components/IconSelect/useIcons.d.ts +7 -0
  16. package/dist/components/MultipleTree/index.vue.d.ts +3 -0
  17. package/dist/components/PageDataInfo/index.vue.d.ts +582 -0
  18. package/dist/components/PageDecs/index.vue.d.ts +52 -0
  19. package/dist/components/PageMoreDataInfo/index.vue.d.ts +474 -0
  20. package/dist/components/Pagination/index.vue.d.ts +184 -0
  21. package/dist/components/ScaleSrceen/index.vue.d.ts +96 -0
  22. package/dist/components/SearchForm/formItem.vue.d.ts +3 -0
  23. package/dist/components/SearchForm/index.vue.d.ts +3 -0
  24. package/dist/components/SearchForm/tools.d.ts +24 -0
  25. package/dist/components/SvgIcon/index.vue.d.ts +27 -0
  26. package/dist/components/TreeSelect/index.vue.d.ts +3 -0
  27. package/dist/components/UiapDrawer/index.vue.d.ts +371 -0
  28. package/dist/components/VueCountTo/index.vue.d.ts +147 -0
  29. package/dist/components/VueCountTo/requestAnimationFrame.d.ts +3 -0
  30. package/dist/directives/emoji.d.ts +3 -0
  31. package/dist/directives/highlight.d.ts +3 -0
  32. package/dist/directives/permission.d.ts +15 -0
  33. package/dist/index.d.ts +43 -0
  34. package/dist/index.js +3907 -0
  35. package/dist/style.css +1 -0
  36. package/dist/styles/btn.scss +119 -0
  37. package/dist/styles/element-variables.scss +42 -0
  38. package/dist/styles/index.scss +11 -0
  39. package/dist/styles/mixin.scss +61 -0
  40. package/dist/styles/transition.scss +48 -0
  41. package/dist/styles/variables.scss +34 -0
  42. package/dist/styles.css +254 -0
  43. package/dist/utils/debounce.d.ts +4 -0
  44. package/dist/utils/encrypt.d.ts +21 -0
  45. package/dist/utils/gogocodeTransfer.d.ts +15 -0
  46. package/dist/utils/scroll-to.d.ts +9 -0
  47. package/dist/utils/validate.d.ts +40 -0
  48. package/package.json +74 -0
package/dist/style.css ADDED
@@ -0,0 +1 @@
1
+ .uiap-drawer__footer[data-v-713ded17]{position:absolute;left:0;bottom:0;width:100%;height:60px;padding:14px 20px;z-index:100;background:#fff;-webkit-box-shadow:0px -3px 12px 0px rgba(0,0,0,.1);box-shadow:0 -3px 12px #0000001a;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}[data-v-713ded17] .el-drawer__header{margin-bottom:20px!important}.el-drawer__body{padding-bottom:60px!important}.el-drawer__header{margin-bottom:5px!important}.el-scrollbar .el-scrollbar__view .el-select-dropdown__item[data-v-c2482266]{height:auto;max-height:274px;padding:0;overflow:hidden;overflow-y:auto}.el-select-dropdown__item.selected[data-v-c2482266]{font-weight:400}ul li[data-v-c2482266] .el-tree .el-tree-node__content{height:auto;padding:0 20px}.el-tree-node__label[data-v-c2482266]{font-weight:400}.el-tree[data-v-c2482266] .is-current .el-tree-node__label{color:#1664ff;font-weight:700}.el-tree[data-v-c2482266] .is-current .el-tree-node__children .el-tree-node__label{color:#606266;font-weight:400}.selectInput[data-v-c2482266]{padding:0 5px;-webkit-box-sizing:border-box;box-sizing:border-box}.search-form-box[data-v-e91e7e34]{display:-webkit-box;display:-ms-flexbox;display:flex}.search-form-box .btn-box[data-v-e91e7e34]{padding-top:5px;display:-webkit-box;display:-ms-flexbox;display:flex}.search-form-box .btn-box button[data-v-e91e7e34]{height:28px}.pagination-container[data-v-a35f1199]{background:#fff;padding:32px 16px}.pagination-container.hidden[data-v-a35f1199]{display:none}.option[data-v-5fd28d7f]{height:auto;line-height:1;padding:0;background-color:#fff}.tree[data-v-5fd28d7f]{padding:4px 20px;font-weight:400}.back[data-v-fe274d55]{font-size:14px;color:#3675fe;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:center;-ms-flex-align:center;align-items:center;cursor:pointer;line-height:20px;font-weight:400}.back .title[data-v-fe274d55]{margin-left:12px;color:#000}.page_data_info[data-v-5b2a3c3a]{padding:28px 24px;background:#fff}.page_data_info .title[data-v-5b2a3c3a]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:20px;color:#222;margin-bottom:10px;position:relative}.page_data_info .title i[data-v-5b2a3c3a]{margin-right:12px;cursor:pointer}.page_data_info .info_edit_btn[data-v-5b2a3c3a]{position:absolute;right:15px}.info_list[data-v-5b2a3c3a]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-wrap:wrap;flex-wrap:wrap}.info_list .info_item[data-v-5b2a3c3a]{width:calc(33.33% - 8px);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-top:12px;margin-left:12px}.info_list .info_item[data-v-5b2a3c3a]:nth-child(3n+1){margin-left:0}.info_list .info_item span.label[data-v-5b2a3c3a]{color:#666;font-size:14px;line-height:20px}.info_list .info_item .value[data-v-5b2a3c3a]{color:#222;font-size:14px;line-height:20px;margin-left:10px;-webkit-box-flex:1;-ms-flex:1;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.info_list .info_item .detail[data-v-5b2a3c3a]{color:#666;font-size:14px;line-height:20px;-webkit-box-flex:1;-ms-flex:1;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link[data-v-5b2a3c3a]{cursor:pointer;color:var(--el-color-primary)}.copy[data-v-5b2a3c3a]{color:var(--el-color-primary);margin-left:5px;cursor:pointer;font-size:16px}.label-edit-icon[data-v-5b2a3c3a]{color:var(--el-color-primary);margin-left:8px;cursor:pointer;font-size:16px}.labelList_value[data-v-5b2a3c3a]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.page_desc[data-v-e4b5d343]{background-image:-webkit-gradient(linear,right top,left top,from(rgba(22,93,255,.2)),color-stop(50%,rgba(216,216,216,0)));background-image:linear-gradient(270deg,#165dff33,#d8d8d800 50%);background-color:#fff;padding:28px 24px;-webkit-transition:1s;transition:1s;position:relative;overflow:hidden;z-index:2}.page_title[data-v-e4b5d343]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.page_title span.title[data-v-e4b5d343]{color:#222;font-size:20px;margin-left:12px;cursor:pointer}p.desc[data-v-e4b5d343]{color:#666;width:80%;font-size:14px;line-height:25px;margin-top:20px;position:relative;text-align:justify;z-index:2}p.desc span.doc[data-v-e4b5d343]{color:var(--el-color-primary);font-size:14px;cursor:pointer;margin-left:16px}.dropdown[data-v-e4b5d343]{font-size:14px;color:#999;position:absolute;top:20px;right:20px}.dropdown span[data-v-e4b5d343]{margin-right:7px;cursor:pointer}.dropdown span[data-v-e4b5d343]:hover{color:var(--el-color-primary-hover)}.dropdown .translate[data-v-e4b5d343]{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.page_bg[data-v-e4b5d343]{position:absolute;right:28px;height:100%;top:0;z-index:1;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}.page_bg img[data-v-e4b5d343]{height:100%;max-height:108px}.showDescButton[data-v-e4b5d343]{color:var(--el-color-primary);font-size:14px;cursor:pointer;margin-left:8px}.showDescButton i[data-v-e4b5d343]{margin-right:5px}.page_data_info[data-v-9c61202b]{padding:28px 24px;background:#fff}.page_data_info .title[data-v-9c61202b]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:20px;color:#3d3d3d;margin-bottom:24px;position:relative}.page_data_info .title i[data-v-9c61202b]{margin-right:12px;cursor:pointer}.page_data_info .msg_title[data-v-9c61202b]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:20px;color:#3d3d3d;margin:40px 10px 0;position:relative}.page_data_info .msg_title i[data-v-9c61202b]{margin-right:12px;cursor:pointer}.page_data_info .info_edit_btn[data-v-9c61202b]{position:absolute;right:15px}.info_list[data-v-9c61202b]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-wrap:wrap;flex-wrap:wrap}.info_list .info_item[data-v-9c61202b]{width:calc(33.33% - 8px);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-top:12px;margin-left:12px}.info_list .info_item[data-v-9c61202b]:nth-child(3n+1){margin-left:0}.info_list .info_item span.label[data-v-9c61202b]{color:var(--el-text-default);font-size:14px;line-height:20px}.info_list .info_item .value[data-v-9c61202b]{color:#1d2129;font-size:14px;line-height:20px;margin-left:10px;-webkit-box-flex:1;-ms-flex:1;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.info_list .info_item .detail[data-v-9c61202b]{color:#1d2129;font-size:14px;line-height:20px;-webkit-box-flex:1;-ms-flex:1;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link[data-v-9c61202b]{cursor:pointer;color:#1664ff}.copy[data-v-9c61202b]{color:var(--el-color-primary);margin-left:5px;cursor:pointer;font-size:16px}.label-edit-icon[data-v-9c61202b]{color:var(--el-color-primary);margin-left:8px;cursor:pointer;font-size:16px}.bottom_operate[data-v-9c61202b]{width:100%;opacity:1}.bottom_operate .divider[data-v-9c61202b]{height:1px;margin:20px 0 10px;background:#ddd}.bottom_operate .operate_btn[data-v-9c61202b]{cursor:pointer;text-align:center;color:#1664ff;font-size:14px;line-height:22px}.svg-icon[data-v-78eb2bab]{width:1em;height:1em;vertical-align:-.15em;fill:currentColor;overflow:hidden;outline:unset}.svg-external-icon[data-v-78eb2bab]{background-color:currentColor;-webkit-mask-size:cover!important;mask-size:cover!important;display:inline-block}.icon-select[data-v-9b123afe]{width:100%}.icon-select-trigger[data-v-9b123afe]{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;height:32px;padding:0 12px;border:1px solid var(--el-border-color);border-radius:var(--el-input-border-radius, var(--el-border-radius-base));background:var(--el-fill-color-blank);cursor:pointer;-webkit-transition:all .2s ease;transition:all .2s ease;-webkit-box-sizing:border-box;box-sizing:border-box}.icon-select-trigger[data-v-9b123afe]:hover:not(.is-disabled){border-color:var(--el-color-primary)}.icon-select-trigger[data-v-9b123afe]:focus{border-color:var(--el-color-primary);outline:none}.icon-select-trigger.is-disabled[data-v-9b123afe]{background:var(--el-fill-color-light);cursor:not-allowed;opacity:.6}.trigger-content[data-v-9b123afe]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:0}.trigger-icon[data-v-9b123afe]{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;-ms-flex-negative:0;flex-shrink:0}.trigger-icon .icon-preview[data-v-9b123afe]{width:16px;height:16px;color:var(--el-color-primary)}.trigger-text[data-v-9b123afe]{font-size:13px;color:var(--el-text-color-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.trigger-placeholder[data-v-9b123afe]{font-size:13px;color:var(--el-text-color-placeholder)}.trigger-arrow[data-v-9b123afe]{width:16px;height:16px;color:var(--el-text-color-secondary);-ms-flex-negative:0;flex-shrink:0;-webkit-transition:-webkit-transform .2s ease;transition:-webkit-transform .2s ease;transition:transform .2s ease;transition:transform .2s ease,-webkit-transform .2s ease}.icon-select-dropdown[data-v-9b123afe]{padding:0}.dropdown-header[data-v-9b123afe]{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;padding:12px 16px 8px}.dropdown-title[data-v-9b123afe]{font-size:14px;font-weight:500;color:var(--el-text-color-primary)}.dropdown-count[data-v-9b123afe]{font-size:12px;color:var(--el-text-color-secondary)}.dropdown-search[data-v-9b123afe]{padding:0 12px 12px}.dropdown-search[data-v-9b123afe] .el-input__wrapper{-webkit-box-shadow:none;box-shadow:none;border:1px solid var(--el-border-color);border-radius:var(--el-input-border-radius, var(--el-border-radius-base));background:var(--el-fill-color-blank);-webkit-transition:all .2s;transition:all .2s}.dropdown-search[data-v-9b123afe] .el-input__wrapper:hover{border-color:var(--el-color-primary)}.dropdown-search[data-v-9b123afe] .el-input__wrapper:focus-within{border-color:var(--el-color-primary);-webkit-box-shadow:none;box-shadow:none}.dropdown-search .search-icon[data-v-9b123afe]{color:var(--el-text-color-placeholder)}.dropdown-grid[data-v-9b123afe]{display:grid;grid-template-columns:repeat(auto-fill,minmax(56px,1fr));gap:8px;padding:0 12px 12px;max-height:280px;overflow-y:auto}.dropdown-grid[data-v-9b123afe]::-webkit-scrollbar{width:6px}.dropdown-grid[data-v-9b123afe]::-webkit-scrollbar-thumb{background:var(--el-border-color);border-radius:3px}.dropdown-item[data-v-9b123afe]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px;padding:10px 6px;border-radius:var(--el-input-border-radius, var(--el-border-radius-base));cursor:pointer;-webkit-transition:all .15s ease;transition:all .15s ease}.dropdown-item[data-v-9b123afe]:hover{background:var(--el-fill-color-light);-webkit-transform:translateY(-1px);transform:translateY(-1px)}.dropdown-item.is-selected[data-v-9b123afe]{background:var(--el-color-primary-light-9)}.dropdown-item.is-selected .item-icon[data-v-9b123afe],.dropdown-item.is-selected .item-name[data-v-9b123afe]{color:var(--el-color-primary)}.item-icon[data-v-9b123afe]{width:28px;height:28px;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;color:var(--el-text-color-regular);-webkit-transition:color .15s ease;transition:color .15s ease}.item-icon[data-v-9b123afe] svg{width:20px;height:20px}.item-icon[data-v-9b123afe] .el-icon{width:20px;height:20px}.item-name[data-v-9b123afe]{font-size:11px;color:var(--el-text-color-regular);text-align:center;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-empty[data-v-9b123afe]{grid-column:1/-1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding:32px 0;color:var(--el-text-color-secondary)}.dropdown-empty .empty-icon[data-v-9b123afe]{font-size:32px;margin-bottom:8px;opacity:.5}.dropdown-empty span[data-v-9b123afe]{font-size:13px}// Popover 层级优化 .icon-select-popover{--el-popover-padding: 0;.el-popover__trigger:focus{outline:none}}.chart-box[data-v-edfa3250]{width:100%!important;height:100%!important}.screen-box[data-v-10984a6b]{overflow:hidden;background-size:100% 100%;background:#000;width:100%;height:100vh}.screen-wrapper[data-v-10984a6b]{-webkit-transition-property:all;transition-property:all;-webkit-transition-timing-function:cubic-bezier(.4,0,.2,1);transition-timing-function:cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;z-index:100;margin:0 auto;-webkit-transform-origin:left top;transform-origin:left top}.avatar-upload[data-v-7a4c77ac]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:16px}.avatar-preview[data-v-7a4c77ac]{position:relative;border-radius:50%;overflow:hidden;border:2px solid #e4e7ed;cursor:pointer;-ms-flex-negative:0;flex-shrink:0;-webkit-transition:border-color .2s;transition:border-color .2s;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;background:#f5f7fa}.avatar-preview[data-v-7a4c77ac]:hover{border-color:#409eff}.avatar-image[data-v-7a4c77ac]{width:100%;height:100%}.avatar-placeholder[data-v-7a4c77ac]{color:#c0c4cc}.avatar-mask[data-v-7a4c77ac]{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;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;background:#0006;color:#fff;opacity:0;-webkit-transition:opacity .2s;transition:opacity .2s}.avatar-mask .el-icon[data-v-7a4c77ac]{cursor:pointer}.avatar-preview:hover .avatar-mask[data-v-7a4c77ac]{opacity:1}.avatar-loading[data-v-7a4c77ac]{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;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;background:#ffffffb3;color:#409eff}.avatar-upload-hidden[data-v-7a4c77ac]{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.avatar-actions[data-v-7a4c77ac]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:4px}.file-upload[data-v-ed61dcbf]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:10px}.file-preview-image[data-v-ed61dcbf]{position:relative;border:1px solid #e4e7ed;border-radius:4px;overflow:hidden;-ms-flex-negative:0;flex-shrink:0}.file-preview-image .preview-mask[data-v-ed61dcbf]{position:absolute;top:0;right:0;bottom:0;left:0;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;background:#0006;color:#fff;opacity:0;cursor:default;-webkit-transition:opacity .2s;transition:opacity .2s}.file-preview-image .preview-mask .el-icon[data-v-ed61dcbf]{cursor:pointer}.file-preview-image:hover .preview-mask[data-v-ed61dcbf]{opacity:1}.file-info[data-v-ed61dcbf]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;padding:6px 12px;background:#f5f7fa;border-radius:4px;font-size:13px;color:#303133}.file-info .file-icon[data-v-ed61dcbf]{color:#409eff;font-size:16px}.file-info .file-name[data-v-ed61dcbf]{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@@ -0,0 +1,119 @@
1
+ @import './variables';
2
+
3
+ @mixin colorBtn($color) {
4
+ background: $color;
5
+
6
+ &:hover {
7
+ color: $color;
8
+
9
+ &::before,
10
+ &::after {
11
+ background: $color;
12
+ }
13
+ }
14
+ }
15
+
16
+ .blue-btn {
17
+ @include colorBtn($blue)
18
+ }
19
+
20
+ .light-blue-btn {
21
+ @include colorBtn($light-blue)
22
+ }
23
+
24
+ .red-btn {
25
+ @include colorBtn($red)
26
+ }
27
+
28
+ .pink-btn {
29
+ @include colorBtn($pink)
30
+ }
31
+
32
+ .green-btn {
33
+ @include colorBtn($green)
34
+ }
35
+
36
+ .tiffany-btn {
37
+ @include colorBtn($tiffany)
38
+ }
39
+
40
+ .yellow-btn {
41
+ @include colorBtn($yellow)
42
+ }
43
+
44
+ .pan-btn {
45
+ font-size: 14px;
46
+ color: #fff;
47
+ padding: 14px 36px;
48
+ border-radius: 4px;
49
+ border: none;
50
+ outline: none;
51
+ transition: 600ms ease all;
52
+ position: relative;
53
+ display: inline-block;
54
+
55
+ &:hover {
56
+ background: #fff;
57
+
58
+ &::before,
59
+ &::after {
60
+ width: 100%;
61
+ transition: 600ms ease all;
62
+ }
63
+ }
64
+
65
+ &::before,
66
+ &::after {
67
+ content: '';
68
+ position: absolute;
69
+ top: 0;
70
+ right: 0;
71
+ height: 2px;
72
+ width: 0;
73
+ transition: 400ms ease all;
74
+ }
75
+
76
+ &::after {
77
+ right: inherit;
78
+ top: inherit;
79
+ left: 0;
80
+ bottom: 0;
81
+ }
82
+ }
83
+
84
+ .custom-button {
85
+ display: inline-block;
86
+ line-height: 1;
87
+ white-space: nowrap;
88
+ cursor: pointer;
89
+ background: #fff;
90
+ color: #fff;
91
+ appearance: none;
92
+ text-align: center;
93
+ box-sizing: border-box;
94
+ outline: 0;
95
+ margin: 0;
96
+ padding: 10px 15px;
97
+ font-size: 14px;
98
+ border-radius: 4px;
99
+ }
100
+
101
+
102
+ // 自定义按钮
103
+
104
+ .entry_apply_button{
105
+ border:1px solid var(--el-color-primary);
106
+ color:var(--el-color-primary);
107
+ background: #fff;
108
+ font-size:14px;
109
+ padding:6px 16px;
110
+ border-radius: 4px;
111
+ box-sizing: border-box;
112
+ cursor: pointer;
113
+ transition: .3s;
114
+ }
115
+
116
+ .entry_apply_button:hover{
117
+ color:#fff;
118
+ background: var(--el-color-primary);
119
+ }
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Element Plus 主题配置(主题色规范 v1.0)
3
+ * 统一主色为 #0070FF,补充 Element Plus 派生色变量覆盖
4
+ */
5
+
6
+ /* 主题颜色变量 */
7
+ :root {
8
+ --el-color-primary: #0070FF !important;
9
+ --el-color-primary-hover: #66A9FF !important;
10
+ --el-color-primary-active: #0059CC !important;
11
+ --el-color-primary-disabled: #66A9FF !important;
12
+ --el-color-primary-light-1: #1A7FFF;
13
+ --el-color-primary-light-2: #338EFF;
14
+ --el-color-primary-light-3: #4D9EFF;
15
+ --el-color-primary-light-4: #66A9FF;
16
+ --el-color-primary-light-5: #80B8FF;
17
+ --el-color-primary-light-6: #99C7FF;
18
+ --el-color-primary-light-7: #B3D6FF;
19
+ --el-color-primary-light-8: #E6F5FF;
20
+ --el-color-primary-light-9: #F0F6FF;
21
+ --el-color-success: #06C687;
22
+ --el-color-warning: #FA980E;
23
+ --el-color-danger: #F93E3E;
24
+ --el-color-info: #0070FF;
25
+
26
+ --el-text-primary:#222;
27
+ --el-text-secondary:#666;
28
+ --el-text-default:#999;
29
+ --el-text-disable:#ccc;
30
+ }
31
+
32
+ /* 导出主题颜色供 JS 使用 */
33
+ :export {
34
+ primaryColor: #0070FF;
35
+ primaryHover: #66A9FF;
36
+ primaryActive: #0059CC;
37
+ primaryDisabled: #66A9FF;
38
+ successColor: #06C687;
39
+ warningColor: #FA980E;
40
+ dangerColor: #F93E3E;
41
+ infoColor: #0070FF;
42
+ }
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @xdmp-open/ui-shared 全局样式汇总入口
3
+ * 自应用壳 src/styles 迁移的业务通用部分(sidebar/icon 等应用布局样式留在应用仓)。
4
+ * 注意:mixin/variables 为 SCSS 工具文件,仅在被业务 SCSS @use 时生效;
5
+ * element-variables/transition/btn 会产出实际 CSS。
6
+ */
7
+ @import './variables';
8
+ @import './element-variables';
9
+ @import './mixin';
10
+ @import './transition';
11
+ @import './btn';
@@ -0,0 +1,61 @@
1
+ @mixin clearfix {
2
+ &::after {
3
+ content: "";
4
+ display: table;
5
+ clear: both;
6
+ }
7
+ }
8
+
9
+ @mixin scrollBar {
10
+ &::-webkit-scrollbar-track-piece {
11
+ background: #d3dce6;
12
+ }
13
+
14
+ &::-webkit-scrollbar {
15
+ width: 6px;
16
+ }
17
+
18
+ &::-webkit-scrollbar-thumb {
19
+ background: #99a9bf;
20
+ border-radius: 20px;
21
+ }
22
+ }
23
+
24
+ @mixin relative {
25
+ position: relative;
26
+ width: 100%;
27
+ height: 100%;
28
+ }
29
+
30
+ @mixin pct($pct) {
31
+ width: #{$pct};
32
+ position: relative;
33
+ margin: 0 auto;
34
+ }
35
+
36
+ @mixin triangle($width, $height, $color, $direction) {
37
+ $width: $width/2;
38
+ $color-border-style: $height solid $color;
39
+ $transparent-border-style: $width solid transparent;
40
+
41
+ height: 0;
42
+ width: 0;
43
+
44
+ @if $direction==up {
45
+ border-bottom: $color-border-style;
46
+ border-left: $transparent-border-style;
47
+ border-right: $transparent-border-style;
48
+ } @else if $direction==right {
49
+ border-left: $color-border-style;
50
+ border-top: $transparent-border-style;
51
+ border-bottom: $transparent-border-style;
52
+ } @else if $direction==down {
53
+ border-top: $color-border-style;
54
+ border-left: $transparent-border-style;
55
+ border-right: $transparent-border-style;
56
+ } @else if $direction==left {
57
+ border-right: $color-border-style;
58
+ border-top: $transparent-border-style;
59
+ border-bottom: $transparent-border-style;
60
+ }
61
+ }
@@ -0,0 +1,48 @@
1
+ // global transition css
2
+
3
+ /* fade */
4
+ .fade-enter-active,
5
+ .fade-leave-active {
6
+ transition: opacity 0.28s;
7
+ }
8
+
9
+ .fade-enter,
10
+ .fade-leave-active {
11
+ opacity: 0;
12
+ }
13
+
14
+ /* fade-transform */
15
+ .fade-transform-leave-active,
16
+ .fade-transform-enter-active {
17
+ transition: all .5s;
18
+ }
19
+
20
+ .fade-transform-enter {
21
+ opacity: 0;
22
+ transform: translateX(-30px);
23
+ }
24
+
25
+ .fade-transform-leave-to {
26
+ opacity: 0;
27
+ transform: translateX(30px);
28
+ }
29
+
30
+ /* breadcrumb transition */
31
+ .breadcrumb-enter-active,
32
+ .breadcrumb-leave-active {
33
+ transition: all .5s;
34
+ }
35
+
36
+ .breadcrumb-enter,
37
+ .breadcrumb-leave-active {
38
+ opacity: 0;
39
+ transform: translateX(20px);
40
+ }
41
+
42
+ .breadcrumb-move {
43
+ transition: all .5s;
44
+ }
45
+
46
+ .breadcrumb-leave-active {
47
+ position: absolute;
48
+ }
@@ -0,0 +1,34 @@
1
+ // base color
2
+ // 主色(主题色规范 v1.0 统一为 #0070FF)
3
+ $blue: #0070FF;
4
+ $light-blue: #66A9FF;
5
+ $red: #F93E3E;
6
+ $pink: #E65D6E;
7
+ $green: #06C687;
8
+ $tiffany: #4AB7BD;
9
+ $yellow: #FA980E;
10
+ $panGreen: #06C687;
11
+
12
+ // sidebar
13
+ $menuText: rgb(0 0 0 / 70%);
14
+ $menuActiveText: #0070FF;
15
+ $subMenuActiveText: #0070FF;
16
+
17
+ $menuBg: #fff;
18
+ $menuHover: #F2F6F9;
19
+ $subMenuBg: #fff;
20
+ $subMenuHover: rgb(0 112 255 / 10%);
21
+ $sideBarWidth: 200px;
22
+
23
+ // the :export directive is the magic sauce for webpack
24
+ // https://www.bluematador.com/blog/how-to-share-variables-between-js-and-sass
25
+ :export {
26
+ menuText: $menuText;
27
+ menuActiveText: $menuActiveText;
28
+ subMenuActiveText: $subMenuActiveText;
29
+ menuBg: $menuBg;
30
+ menuHover: $menuHover;
31
+ subMenuBg: $subMenuBg;
32
+ subMenuHover: $subMenuHover;
33
+ sideBarWidth: $sideBarWidth;
34
+ }
@@ -0,0 +1,254 @@
1
+ @charset "UTF-8";
2
+ /**
3
+ * @xdmp-open/ui-shared 全局样式汇总入口
4
+ * 自应用壳 src/styles 迁移的业务通用部分(sidebar/icon 等应用布局样式留在应用仓)。
5
+ * 注意:mixin/variables 为 SCSS 工具文件,仅在被业务 SCSS @use 时生效;
6
+ * element-variables/transition/btn 会产出实际 CSS。
7
+ */
8
+ :export {
9
+ menuText: rgba(0, 0, 0, 0.7);
10
+ menuActiveText: #0070FF;
11
+ subMenuActiveText: #0070FF;
12
+ menuBg: #fff;
13
+ menuHover: #F2F6F9;
14
+ subMenuBg: #fff;
15
+ subMenuHover: rgba(0, 112, 255, 0.1);
16
+ sideBarWidth: 200px;
17
+ }
18
+
19
+ /**
20
+ * Element Plus 主题配置(主题色规范 v1.0)
21
+ * 统一主色为 #0070FF,补充 Element Plus 派生色变量覆盖
22
+ */
23
+ /* 主题颜色变量 */
24
+ :root {
25
+ --el-color-primary: #0070FF !important;
26
+ --el-color-primary-hover: #66A9FF !important;
27
+ --el-color-primary-active: #0059CC !important;
28
+ --el-color-primary-disabled: #66A9FF !important;
29
+ --el-color-primary-light-1: #1A7FFF;
30
+ --el-color-primary-light-2: #338EFF;
31
+ --el-color-primary-light-3: #4D9EFF;
32
+ --el-color-primary-light-4: #66A9FF;
33
+ --el-color-primary-light-5: #80B8FF;
34
+ --el-color-primary-light-6: #99C7FF;
35
+ --el-color-primary-light-7: #B3D6FF;
36
+ --el-color-primary-light-8: #E6F5FF;
37
+ --el-color-primary-light-9: #F0F6FF;
38
+ --el-color-success: #06C687;
39
+ --el-color-warning: #FA980E;
40
+ --el-color-danger: #F93E3E;
41
+ --el-color-info: #0070FF;
42
+ --el-text-primary:#222;
43
+ --el-text-secondary:#666;
44
+ --el-text-default:#999;
45
+ --el-text-disable:#ccc;
46
+ }
47
+
48
+ /* 导出主题颜色供 JS 使用 */
49
+ :export {
50
+ primaryColor: #0070FF;
51
+ primaryHover: #66A9FF;
52
+ primaryActive: #0059CC;
53
+ primaryDisabled: #66A9FF;
54
+ successColor: #06C687;
55
+ warningColor: #FA980E;
56
+ dangerColor: #F93E3E;
57
+ infoColor: #0070FF;
58
+ }
59
+
60
+ /* fade */
61
+ .fade-enter-active,
62
+ .fade-leave-active {
63
+ transition: opacity 0.28s;
64
+ }
65
+
66
+ .fade-enter,
67
+ .fade-leave-active {
68
+ opacity: 0;
69
+ }
70
+
71
+ /* fade-transform */
72
+ .fade-transform-leave-active,
73
+ .fade-transform-enter-active {
74
+ transition: all 0.5s;
75
+ }
76
+
77
+ .fade-transform-enter {
78
+ opacity: 0;
79
+ transform: translateX(-30px);
80
+ }
81
+
82
+ .fade-transform-leave-to {
83
+ opacity: 0;
84
+ transform: translateX(30px);
85
+ }
86
+
87
+ /* breadcrumb transition */
88
+ .breadcrumb-enter-active,
89
+ .breadcrumb-leave-active {
90
+ transition: all 0.5s;
91
+ }
92
+
93
+ .breadcrumb-enter,
94
+ .breadcrumb-leave-active {
95
+ opacity: 0;
96
+ transform: translateX(20px);
97
+ }
98
+
99
+ .breadcrumb-move {
100
+ transition: all 0.5s;
101
+ }
102
+
103
+ .breadcrumb-leave-active {
104
+ position: absolute;
105
+ }
106
+
107
+ :export {
108
+ menuText: rgba(0, 0, 0, 0.7);
109
+ menuActiveText: #0070FF;
110
+ subMenuActiveText: #0070FF;
111
+ menuBg: #fff;
112
+ menuHover: #F2F6F9;
113
+ subMenuBg: #fff;
114
+ subMenuHover: rgba(0, 112, 255, 0.1);
115
+ sideBarWidth: 200px;
116
+ }
117
+
118
+ .blue-btn {
119
+ background: #0070FF;
120
+ }
121
+ .blue-btn:hover {
122
+ color: #0070FF;
123
+ }
124
+ .blue-btn:hover::before, .blue-btn:hover::after {
125
+ background: #0070FF;
126
+ }
127
+
128
+ .light-blue-btn {
129
+ background: #66A9FF;
130
+ }
131
+ .light-blue-btn:hover {
132
+ color: #66A9FF;
133
+ }
134
+ .light-blue-btn:hover::before, .light-blue-btn:hover::after {
135
+ background: #66A9FF;
136
+ }
137
+
138
+ .red-btn {
139
+ background: #F93E3E;
140
+ }
141
+ .red-btn:hover {
142
+ color: #F93E3E;
143
+ }
144
+ .red-btn:hover::before, .red-btn:hover::after {
145
+ background: #F93E3E;
146
+ }
147
+
148
+ .pink-btn {
149
+ background: #E65D6E;
150
+ }
151
+ .pink-btn:hover {
152
+ color: #E65D6E;
153
+ }
154
+ .pink-btn:hover::before, .pink-btn:hover::after {
155
+ background: #E65D6E;
156
+ }
157
+
158
+ .green-btn {
159
+ background: #06C687;
160
+ }
161
+ .green-btn:hover {
162
+ color: #06C687;
163
+ }
164
+ .green-btn:hover::before, .green-btn:hover::after {
165
+ background: #06C687;
166
+ }
167
+
168
+ .tiffany-btn {
169
+ background: #4AB7BD;
170
+ }
171
+ .tiffany-btn:hover {
172
+ color: #4AB7BD;
173
+ }
174
+ .tiffany-btn:hover::before, .tiffany-btn:hover::after {
175
+ background: #4AB7BD;
176
+ }
177
+
178
+ .yellow-btn {
179
+ background: #FA980E;
180
+ }
181
+ .yellow-btn:hover {
182
+ color: #FA980E;
183
+ }
184
+ .yellow-btn:hover::before, .yellow-btn:hover::after {
185
+ background: #FA980E;
186
+ }
187
+
188
+ .pan-btn {
189
+ font-size: 14px;
190
+ color: #fff;
191
+ padding: 14px 36px;
192
+ border-radius: 4px;
193
+ border: none;
194
+ outline: none;
195
+ transition: 600ms ease all;
196
+ position: relative;
197
+ display: inline-block;
198
+ }
199
+ .pan-btn:hover {
200
+ background: #fff;
201
+ }
202
+ .pan-btn:hover::before, .pan-btn:hover::after {
203
+ width: 100%;
204
+ transition: 600ms ease all;
205
+ }
206
+ .pan-btn::before, .pan-btn::after {
207
+ content: "";
208
+ position: absolute;
209
+ top: 0;
210
+ right: 0;
211
+ height: 2px;
212
+ width: 0;
213
+ transition: 400ms ease all;
214
+ }
215
+ .pan-btn::after {
216
+ right: inherit;
217
+ top: inherit;
218
+ left: 0;
219
+ bottom: 0;
220
+ }
221
+
222
+ .custom-button {
223
+ display: inline-block;
224
+ line-height: 1;
225
+ white-space: nowrap;
226
+ cursor: pointer;
227
+ background: #fff;
228
+ color: #fff;
229
+ appearance: none;
230
+ text-align: center;
231
+ box-sizing: border-box;
232
+ outline: 0;
233
+ margin: 0;
234
+ padding: 10px 15px;
235
+ font-size: 14px;
236
+ border-radius: 4px;
237
+ }
238
+
239
+ .entry_apply_button {
240
+ border: 1px solid var(--el-color-primary);
241
+ color: var(--el-color-primary);
242
+ background: #fff;
243
+ font-size: 14px;
244
+ padding: 6px 16px;
245
+ border-radius: 4px;
246
+ box-sizing: border-box;
247
+ cursor: pointer;
248
+ transition: 0.3s;
249
+ }
250
+
251
+ .entry_apply_button:hover {
252
+ color: #fff;
253
+ background: var(--el-color-primary);
254
+ }
@@ -0,0 +1,4 @@
1
+ /**
2
+ * 防抖函数(原 src/utils/index.js 中的 debounce 原样迁移,Charts resize mixin 依赖)
3
+ */
4
+ export declare function debounce<T extends (...args: any[]) => any>(func: T, wait: number, immediate?: boolean): (...args: Parameters<T>) => ReturnType<T>;
@@ -0,0 +1,21 @@
1
+ /**
2
+ * 加解密工具(原 src/utils/encrypt.js 原样迁移)
3
+ * 原通过 app.config.globalProperties.$Encrypt 挂载,包内改为显式 import 使用:
4
+ * import { Encrypt } from '@xdmp-open/ui-shared'
5
+ * Encrypt.encode(text)
6
+ */
7
+ declare function _utf8_encode(str: string): string;
8
+ declare function _utf8_decode(str: string): string;
9
+ declare function encode(n: string): string;
10
+ declare function decode(n: string): string;
11
+ declare function randomDecode(val: string): string;
12
+ declare function randomEncode(val: string): string;
13
+ export declare const Encrypt: {
14
+ encode: typeof encode;
15
+ decode: typeof decode;
16
+ randomDecode: typeof randomDecode;
17
+ randomEncode: typeof randomEncode;
18
+ _utf8_encode: typeof _utf8_encode;
19
+ _utf8_decode: typeof _utf8_decode;
20
+ };
21
+ export default Encrypt;
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Vue 2 → Vue 3 事件桥(gogocode 迁移产物)
3
+ * 为选项式组件实例提供 $on/$off/$once/$emit 能力:
4
+ * $emit 同时触发组件自身 emit 与通过 $on 注册的本地监听器。
5
+ */
6
+ /** 最小实例契约:组件实例(带 $emit)或任意对象 */
7
+ export interface EventBridgeInstance {
8
+ $emit?: (event: string, ...args: unknown[]) => void;
9
+ }
10
+ type EventCallback = (...args: any[]) => void;
11
+ export declare function $on<T extends object>(instance: T, event: string | string[], fn: EventCallback): T;
12
+ export declare function $once<T extends object>(instance: T, event: string, fn: EventCallback): T;
13
+ export declare function $off<T extends object>(instance: T, event?: string | string[], fn?: EventCallback): T;
14
+ export declare function $emit<T extends object>(instance: T, event: string, ...args: any[]): T;
15
+ export {};
@@ -0,0 +1,9 @@
1
+ /**
2
+ * 页面滚动工具(原 src/utils/scroll-to.js 原样迁移)
3
+ */
4
+ /**
5
+ * @param to 目标滚动位置
6
+ * @param duration 动画时长(ms)
7
+ * @param callback 结束回调
8
+ */
9
+ export declare function scrollTo(to: number, duration?: number, callback?: () => void): void;