hbte-saas-ui 0.0.1

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 (137) hide show
  1. package/.browserslistrc +3 -0
  2. package/.editorconfig +7 -0
  3. package/.env.development +1 -0
  4. package/.env.lib +1 -0
  5. package/.eslintrc.js +14 -0
  6. package/.prettierrc +3 -0
  7. package/README.md +53 -0
  8. package/babel.config.js +3 -0
  9. package/docs/.vuepress/config.js +23 -0
  10. package/docs/.vuepress/styles/index.styl +4 -0
  11. package/docs/AdvQuery.md +26 -0
  12. package/docs/CustomQuery.md +21 -0
  13. package/docs/EditArea.md +16 -0
  14. package/docs/FilterDrop.md +29 -0
  15. package/docs/FullTable.md +68 -0
  16. package/docs/Pagination.md +22 -0
  17. package/docs/QueryForm.md +27 -0
  18. package/docs/README.md +17 -0
  19. package/docs/Table.md +58 -0
  20. package/docs/ToolGroup.md +32 -0
  21. package/examples/App.vue +97 -0
  22. package/examples/image/hb-image-viewer/3k.jpg +0 -0
  23. package/examples/image/hb-image-viewer/a.jpg +0 -0
  24. package/examples/image/hb-image-viewer/b.jpg +0 -0
  25. package/examples/main.js +39 -0
  26. package/examples/mock/authority.js +1108 -0
  27. package/examples/mock/dept.js +4001 -0
  28. package/examples/mock/fulltable.js +407 -0
  29. package/examples/mock/organizeData.js +18965 -0
  30. package/examples/router/index.js +111 -0
  31. package/examples/views/ElementCpTest.vue +299 -0
  32. package/examples/views/Fragment.vue +196 -0
  33. package/examples/views/HBAdvQuery.vue +150 -0
  34. package/examples/views/HBAuthority.vue +339 -0
  35. package/examples/views/HBDialog.vue +39 -0
  36. package/examples/views/HBEditarea.vue +350 -0
  37. package/examples/views/HBFilterDrop.vue +72 -0
  38. package/examples/views/HBFloatFooter.vue +42 -0
  39. package/examples/views/HBFullTable.vue +751 -0
  40. package/examples/views/HBImageViewer.vue +57 -0
  41. package/examples/views/HBNavMenu.vue +37 -0
  42. package/examples/views/HBOrganizeDialog.vue +133 -0
  43. package/examples/views/HBPagination.vue +80 -0
  44. package/examples/views/HBSelectVague.vue +57 -0
  45. package/examples/views/HBToolgroup.vue +29 -0
  46. package/examples/views/HBTopBar.vue +16 -0
  47. package/lib/demo.html +10 -0
  48. package/lib/fonts/iconfont.9e99af35.ttf +0 -0
  49. package/lib/hbte-ui.common.js +38291 -0
  50. package/lib/hbte-ui.css +1 -0
  51. package/lib/hbte-ui.umd.js +38301 -0
  52. package/lib/hbte-ui.umd.min.js +21 -0
  53. package/lib/img/nodata.f87d17c1.png +0 -0
  54. package/lib/img/user-logo--default.a53bd193.png +0 -0
  55. package/package.json +40 -0
  56. package/packages/adv-query/index.js +5 -0
  57. package/packages/adv-query/src/main.vue +294 -0
  58. package/packages/area-select/index.js +7 -0
  59. package/packages/area-select/src/main.vue +37 -0
  60. package/packages/authority/index.js +5 -0
  61. package/packages/authority/src/main.vue +606 -0
  62. package/packages/config.js +3 -0
  63. package/packages/custom-query/index.js +5 -0
  64. package/packages/custom-query/src/main.vue +80 -0
  65. package/packages/dialog/index.js +7 -0
  66. package/packages/dialog/src/main.vue +176 -0
  67. package/packages/edit-area/index.js +13 -0
  68. package/packages/edit-area/src/config.js +3 -0
  69. package/packages/edit-area/src/main.vue +304 -0
  70. package/packages/edit-area/src/simulateEvent.js +219 -0
  71. package/packages/filter-drop/index.js +6 -0
  72. package/packages/filter-drop/src/main.vue +107 -0
  73. package/packages/float-footer/index.js +7 -0
  74. package/packages/float-footer/src/main.vue +40 -0
  75. package/packages/fragment/index.js +7 -0
  76. package/packages/fragment/src/main.vue +74 -0
  77. package/packages/fragment/src/old.vue +144 -0
  78. package/packages/full-table/index.js +6 -0
  79. package/packages/full-table/src/config.js +14 -0
  80. package/packages/full-table/src/main.vue +141 -0
  81. package/packages/image-viewer/index.js +8 -0
  82. package/packages/image-viewer/src/main.js +14 -0
  83. package/packages/image-viewer/src/main.vue +138 -0
  84. package/packages/image-viewer/src/svg/cancel.svg +2 -0
  85. package/packages/image-viewer/src/svg/delete.svg +2 -0
  86. package/packages/image-viewer/src/svg/download.svg +2 -0
  87. package/packages/image-viewer/src/svg/rotate.svg +77 -0
  88. package/packages/image-viewer/src/svg/scaledown.svg +71 -0
  89. package/packages/image-viewer/src/svg/scaleup.svg +72 -0
  90. package/packages/index.js +43 -0
  91. package/packages/nav-menu/index.js +7 -0
  92. package/packages/nav-menu/src/main.vue +277 -0
  93. package/packages/organize-dialog/index.js +5 -0
  94. package/packages/organize-dialog/src/main.vue +427 -0
  95. package/packages/pagination/index.js +6 -0
  96. package/packages/pagination/src/main.vue +145 -0
  97. package/packages/query-form/index.js +5 -0
  98. package/packages/query-form/src/main.vue +142 -0
  99. package/packages/select-vague/index.js +5 -0
  100. package/packages/select-vague/src/main.vue +80 -0
  101. package/packages/table/index.js +5 -0
  102. package/packages/table/src/main.vue +265 -0
  103. package/packages/theme-chalk/adv-query.scss +107 -0
  104. package/packages/theme-chalk/authority.scss +103 -0
  105. package/packages/theme-chalk/common/elementCover.scss +722 -0
  106. package/packages/theme-chalk/common/flex.scss +66 -0
  107. package/packages/theme-chalk/common/global.scss +147 -0
  108. package/packages/theme-chalk/common/reset.scss +92 -0
  109. package/packages/theme-chalk/common/var.scss +46 -0
  110. package/packages/theme-chalk/custom-query.scss +10 -0
  111. package/packages/theme-chalk/dialog.scss +9 -0
  112. package/packages/theme-chalk/edit-area.scss +119 -0
  113. package/packages/theme-chalk/filter-drop.scss +81 -0
  114. package/packages/theme-chalk/float-footer.scss +14 -0
  115. package/packages/theme-chalk/fonts/iconfont.ttf +0 -0
  116. package/packages/theme-chalk/fragment.scss +51 -0
  117. package/packages/theme-chalk/full-table.scss +40 -0
  118. package/packages/theme-chalk/icon.scss +96 -0
  119. package/packages/theme-chalk/image-viewer.scss +94 -0
  120. package/packages/theme-chalk/images/company-logo--default.png +0 -0
  121. package/packages/theme-chalk/images/nodata.png +0 -0
  122. package/packages/theme-chalk/images/user-logo--default.png +0 -0
  123. package/packages/theme-chalk/index.scss +21 -0
  124. package/packages/theme-chalk/nav-menu.scss +205 -0
  125. package/packages/theme-chalk/organize-dialog.scss +170 -0
  126. package/packages/theme-chalk/pagination.scss +91 -0
  127. package/packages/theme-chalk/select.scss +8 -0
  128. package/packages/theme-chalk/table.scss +102 -0
  129. package/packages/theme-chalk/tool-group.scss +105 -0
  130. package/packages/theme-chalk/top-bar.scss +195 -0
  131. package/packages/tool-group/index.js +13 -0
  132. package/packages/tool-group/src/config.js +40 -0
  133. package/packages/tool-group/src/main.vue +93 -0
  134. package/packages/top-bar/index.js +7 -0
  135. package/packages/top-bar/src/main.vue +280 -0
  136. package/public/index.html +20 -0
  137. package/vue.config.js +6 -0
@@ -0,0 +1,141 @@
1
+ <template>
2
+ <div class="hb-fulltable" :style="`height: ${height}`">
3
+ <div class="hb-fulltable__body">
4
+ <hb-table
5
+ class="hb-fulltable__body--inner"
6
+ ref="table"
7
+ v-bind="$attrs"
8
+ :tableData="tableData"
9
+ :columns="columns"
10
+ v-on="$listeners"
11
+ >
12
+ <template v-for="(item, index) in columns">
13
+ <!-- 插槽项转发 -->
14
+ <template :slot="item.prop" :index="index">
15
+ <slot :name="item.prop" :column="item"></slot>
16
+ </template>
17
+ </template>
18
+ </hb-table>
19
+ </div>
20
+ <div class="hb-fulltable__footer" v-if="paging">
21
+ <hb-pagination
22
+ :columns="columns"
23
+ :pageData="pageData"
24
+ :pageSizes="pageSizes"
25
+ :showFilter="showFilter"
26
+ :placement="placement"
27
+ :disabledFilter="disabledFilter"
28
+ @pageSizeChange="handlePageSizeChange"
29
+ @pageNumChange="handlePageNumChange"
30
+ @columnsChange="handleColumnsChange"
31
+ >
32
+ </hb-pagination>
33
+ </div>
34
+ </div>
35
+ </template>
36
+ <script>
37
+ /**
38
+ * fulltable
39
+ * 仅仅是组合pager、filterDrop和table,使其公用一个columns
40
+ */
41
+ import CONFIG from "./config";
42
+
43
+ export default {
44
+ name: "HbFulltable",
45
+ componentName: "HbFulltable",
46
+ props: {
47
+ /** 高度值样式语句 */
48
+ height: {
49
+ type: String,
50
+ default: () => "100%",
51
+ },
52
+ /** 列配置 */
53
+ columns: {
54
+ type: Array,
55
+ default: () => [],
56
+ },
57
+ /** 表格主体数据 */
58
+ tableData: {
59
+ type: Array,
60
+ default: () => [],
61
+ },
62
+ /** 是否启用分页,启用的话,即使是静态表格,也会进行分页 */
63
+ paging: {
64
+ type: Boolean,
65
+ default: () => CONFIG.defPaging,
66
+ },
67
+ /** 分页配置 */
68
+ pageData: {
69
+ type: Object,
70
+ default: () => CONFIG.defPageData,
71
+ },
72
+ pageSizes: {
73
+ type: Array,
74
+ default: () => CONFIG.defPageSizes,
75
+ },
76
+ /** 列过滤、顺序配置 */
77
+ showFilter: {
78
+ type: Boolean,
79
+ default: () => CONFIG.defShowFilter,
80
+ },
81
+ placement: {
82
+ type: String,
83
+ default: "bottom-end",
84
+ },
85
+ disabledFilter: {
86
+ type: Boolean,
87
+ default: false,
88
+ },
89
+ },
90
+ data() {
91
+ return {};
92
+ },
93
+ methods: {
94
+ /** api */
95
+ /**
96
+ * @function elTable 转发eltable的api:获取vue的el-table元素
97
+ */
98
+ elTable() {
99
+ return this.$refs?.table?.$refs?.table;
100
+ },
101
+ /**
102
+ * @function validateEdit 转发eltable的api:校验编辑单元格
103
+ */
104
+ validateEdit() {
105
+ return this.$refs.table.validateEdit(...arguments);
106
+ },
107
+ /** methods */
108
+ /**
109
+ * @function 转发表格openLoading
110
+ */
111
+ openLoading() {
112
+ this.$refs.table.openLoading();
113
+ },
114
+ /**
115
+ * @function 转发表格closeLoading
116
+ */
117
+ closeLoading() {
118
+ this.$refs.table.closeLoading();
119
+ },
120
+ /** events */
121
+ /**
122
+ * @event handlePageSizeChange 条数改变等
123
+ */
124
+ handlePageSizeChange(size) {
125
+ this.$emit("pageSizeChange", size);
126
+ },
127
+ /**
128
+ * @event handlePageSizeChange 页码改变等
129
+ */
130
+ handlePageNumChange(num) {
131
+ this.$emit("pageNumChange", num);
132
+ },
133
+ /**
134
+ * @event handleColumnsChange 切换列顺序、显示
135
+ */
136
+ handleColumnsChange(newColumns) {
137
+ this.$emit("columnsChange", newColumns);
138
+ },
139
+ },
140
+ };
141
+ </script>
@@ -0,0 +1,8 @@
1
+ import HbImageViewer from "./src/main.vue";
2
+ import hbImageViewer from "./src/main";
3
+ HbImageViewer.install = function (Vue) {
4
+ Vue.component(HbImageViewer.name, HbImageViewer);
5
+ Vue.prototype.$hbViewer = hbImageViewer;
6
+ };
7
+
8
+ export default HbImageViewer;
@@ -0,0 +1,14 @@
1
+ import Vue from "vue";
2
+ import imageViewer from "./main.vue";
3
+ let componentConstructor = Vue.extend(imageViewer);
4
+ let instance;
5
+ const hbImageViewer = function (options) {
6
+ instance = new componentConstructor({
7
+ data: options,
8
+ });
9
+ instance.$mount();
10
+ document.body.appendChild(instance.$el);
11
+ return instance;
12
+ };
13
+
14
+ export default hbImageViewer;
@@ -0,0 +1,138 @@
1
+ <template>
2
+ <div class="hb-image-viewer">
3
+ <img :src="src" :style="style" @mousedown="drag" />
4
+ <div class="tool close btn el-icon-close" @click="close"></div>
5
+ <div class="tool prev btn el-icon-arrow-left" @click="prev"></div>
6
+ <div class="tool next btn el-icon-arrow-right" @click="next"></div>
7
+ <div v-show="visible" class="tool size">
8
+ {{ (scale * 100).toFixed() + "%" }}
9
+ </div>
10
+ <div class="tool btn-wrapper">
11
+ <div class="el-icon-zoom-in btn" @click="changeScale"></div>
12
+ <div class="el-icon-zoom-out btn" @click="changeScale(false)"></div>
13
+ <div class="el-icon-refresh btn" @click="changeRotate"></div>
14
+ <div class="el-icon-full-screen btn" @click="resetScale"></div>
15
+ </div>
16
+ </div>
17
+ </template>
18
+ <script>
19
+ export default {
20
+ name: "HbImageViewer",
21
+ componentName: "HbImageViewer",
22
+ data() {
23
+ return {
24
+ visible: false,
25
+ scale: 1,
26
+ rotate: 0,
27
+ left: 0,
28
+ top: 0,
29
+ eventName: "", //兼容火狐
30
+ callBack: null,
31
+ };
32
+ },
33
+ created() {
34
+ this.bindEvent();
35
+ },
36
+ destroyed() {
37
+ document.removeEventListener(this.eventName, this.callBack);
38
+ document.onkeyup = null;
39
+ this.eventName = "";
40
+ this.callBack = null;
41
+ },
42
+ methods: {
43
+ wheelCallBack(ev) {
44
+ if (ev.detail) {
45
+ this.changeScale(ev.detail > 0);
46
+ } else {
47
+ this.changeScale(ev.wheelDelta < 0);
48
+ }
49
+ },
50
+ bindEvent() {
51
+ let ua = navigator.userAgent;
52
+ this.callBack = this.wheelCallBack.bind(this);
53
+ if (/firefox/i.test(ua)) {
54
+ this.eventName = "DOMMouseScroll";
55
+ } else {
56
+ this.eventName = "mousewheel";
57
+ }
58
+ document.addEventListener(this.eventName, this.callBack);
59
+ document.onkeyup = (ev) => {
60
+ if (ev.keyCode === 39) {
61
+ this.next();
62
+ } else if (ev.keyCode === 37) {
63
+ this.prev();
64
+ } else if (ev.keyCode === 27) {
65
+ this.close();
66
+ }
67
+ };
68
+ },
69
+ close() {
70
+ this.$destroy(true);
71
+ this.$el.parentNode.removeChild(this.$el);
72
+ },
73
+ next() {
74
+ this.activeIndex += 1;
75
+ this.activeIndex = Math.min(this.activeIndex, this.urls.length - 1);
76
+ },
77
+ prev() {
78
+ this.activeIndex -= 1;
79
+ this.activeIndex = Math.max(this.activeIndex, 0);
80
+ },
81
+ clear() {
82
+ this.scale = 1;
83
+ this.left = this.top = this.rotate = 0;
84
+ },
85
+ drag(ev) {
86
+ let body = document.body;
87
+ body.style.cursor = "move";
88
+ document.onmousemove = (ev) => {
89
+ this.left += ev.movementX;
90
+ this.top += ev.movementY;
91
+ };
92
+ document.onmouseup = () => {
93
+ body.style.cursor = "auto";
94
+ document.onmousemove = null;
95
+ document.onmouseup = null;
96
+ };
97
+ ev.preventDefault();
98
+ },
99
+ resetScale() {
100
+ this.scale = 1;
101
+ this.left = this.top = 0;
102
+ },
103
+ changeScale(boolean = true) {
104
+ let target = (this.scale += boolean ? 0.1 : -0.1);
105
+ this.scale = target;
106
+ this.scale = Math.min(10, this.scale);
107
+ this.scale = Math.max(0.1, this.scale);
108
+ },
109
+ changeRotate() {
110
+ let target = this.rotate + 90;
111
+ this.rotate = target > 360 ? target - 360 : target;
112
+ },
113
+ },
114
+ computed: {
115
+ src() {
116
+ return this.urls[this.activeIndex];
117
+ },
118
+ style() {
119
+ return {
120
+ transform: `scale(${this.scale}) rotate(${this.rotate}deg)`,
121
+ top: `${this.top}px`,
122
+ left: `${this.left}px`,
123
+ };
124
+ },
125
+ },
126
+ watch: {
127
+ src: function () {
128
+ this.clear();
129
+ },
130
+ scale: function () {
131
+ this.visible = true;
132
+ setTimeout(() => {
133
+ this.visible = false;
134
+ }, 500);
135
+ },
136
+ },
137
+ };
138
+ </script>
@@ -0,0 +1,2 @@
1
+ <?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1656468391764" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="23111" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css">@font-face { font-family: feedback-iconfont; src: url("//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff2?t=1630033759944") format("woff2"), url("//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff?t=1630033759944") format("woff"), url("//at.alicdn.com/t/font_1031158_u69w8yhxdu.ttf?t=1630033759944") format("truetype"); }
2
+ </style></defs><path d="M566.613 512l223.574-223.573c15.36-15.36 15.36-39.254 0-54.614s-39.254-15.36-54.614 0L512 457.387 288.427 233.813c-15.36-15.36-39.254-15.36-54.614 0s-15.36 39.254 0 54.614L457.387 512 233.813 733.867c-15.36 15.36-15.36 39.253 0 54.613 6.827 6.827 17.067 11.947 27.307 11.947s20.48-3.414 27.307-11.947L512 564.907 733.867 788.48c6.826 6.827 17.066 11.947 27.306 11.947s20.48-3.414 27.307-11.947c15.36-15.36 15.36-39.253 0-54.613L566.613 512z" p-id="23112"></path></svg>
@@ -0,0 +1,2 @@
1
+ <?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1656468353878" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="15112" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css">@font-face { font-family: feedback-iconfont; src: url("//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff2?t=1630033759944") format("woff2"), url("//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff?t=1630033759944") format("woff"), url("//at.alicdn.com/t/font_1031158_u69w8yhxdu.ttf?t=1630033759944") format("truetype"); }
2
+ </style></defs><path d="M933.547 203.093H665.6v-25.6c0-78.506-63.147-143.36-141.653-143.36h-20.48c-78.507 0-143.36 64.854-143.36 143.36v25.6H90.453c-18.773 0-34.133 15.36-34.133 34.134s15.36 34.133 34.133 34.133h64.854v568.32c0 83.627 68.266 150.187 150.186 150.187h409.6c83.627 0 150.187-68.267 150.187-150.187V271.36h64.853c18.774 0 34.134-15.36 34.134-34.133s-11.947-34.134-30.72-34.134z m-505.174-25.6c0-40.96 34.134-75.093 75.094-75.093h20.48c40.96 0 75.093 34.133 75.093 75.093v25.6H428.373v-25.6zM798.72 839.68c0 46.08-37.547 81.92-81.92 81.92H307.2c-46.08 0-81.92-37.547-81.92-81.92V271.36h575.147v568.32z" p-id="15113"></path><path d="M361.813 723.627c-18.773 0-34.133-15.36-34.133-34.134V450.56c0-18.773 15.36-34.133 34.133-34.133s34.134 15.36 34.134 34.133v238.933c0 18.774-15.36 34.134-34.134 34.134zM512 773.12c-18.773 0-34.133-15.36-34.133-34.133V397.653c0-18.773 15.36-34.133 34.133-34.133s34.133 15.36 34.133 34.133v341.334c0 18.773-15.36 34.133-34.133 34.133z m143.36-49.493c-18.773 0-34.133-15.36-34.133-34.134V450.56c0-18.773 15.36-34.133 34.133-34.133s34.133 15.36 34.133 34.133v238.933c0 18.774-15.36 34.134-34.133 34.134z" p-id="15114"></path></svg>
@@ -0,0 +1,2 @@
1
+ <?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1656468348414" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="14973" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css">@font-face { font-family: feedback-iconfont; src: url("//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff2?t=1630033759944") format("woff2"), url("//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff?t=1630033759944") format("woff"), url("//at.alicdn.com/t/font_1031158_u69w8yhxdu.ttf?t=1630033759944") format("truetype"); }
2
+ </style></defs><path d="M964.267 375.467c-18.774 0-34.134 15.36-34.134 34.133v436.907c0 47.786-37.546 87.04-83.626 87.04l-669.014 3.413c-46.08 0-83.626-39.253-83.626-87.04V411.307c0-18.774-15.36-34.134-34.134-34.134S25.6 392.533 25.6 411.307v436.906c0 85.334 68.267 155.307 151.893 155.307l669.014-3.413c83.626 0 151.893-69.974 151.893-155.307V409.6c0-20.48-15.36-34.133-34.133-34.133z" p-id="14974"></path><path d="M493.227 738.987c10.24 10.24 27.306 10.24 37.546 0L665.6 597.333a25.295 25.295 0 0 0-18.773-42.666H546.133V71.68c0-18.773-15.36-34.133-34.133-34.133s-34.133 15.36-34.133 34.133v484.693H377.173c-22.186 0-34.133 27.307-18.773 42.667l134.827 139.947z" p-id="14975"></path></svg>
@@ -0,0 +1,77 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!-- Generator: Adobe Illustrator 23.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
3
+ <svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
4
+ viewBox="0 0 60 60" style="enable-background:new 0 0 60 60;" xml:space="preserve">
5
+ <style type="text/css">
6
+ .st0{fill:none;stroke:#000000;stroke-width:4;stroke-linejoin:round;}
7
+ .st1{fill:none;stroke:#000000;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;}
8
+ .st2{fill:none;stroke:#000000;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:2;}
9
+ .st3{fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-miterlimit:10;stroke-dasharray:4.038,4.038;}
10
+ .st4{fill:none;stroke:#000000;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
11
+ .st5{fill:none;stroke:#000000;stroke-width:4;stroke-linecap:round;stroke-miterlimit:10;}
12
+ .st6{fill:none;stroke:#000000;stroke-width:4;stroke-miterlimit:10;}
13
+ .st7{fill:#F2F2F2;}
14
+ .st8{fill:none;stroke:#999999;stroke-width:4;stroke-linecap:round;stroke-miterlimit:10;}
15
+ .st9{fill-rule:evenodd;clip-rule:evenodd;}
16
+ .st10{fill:none;stroke:#000000;stroke-width:3;stroke-miterlimit:10;}
17
+ .st11{fill:none;stroke:#000000;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
18
+ .st12{fill:none;stroke:#000000;stroke-width:4;stroke-linejoin:round;stroke-miterlimit:2;}
19
+ .st13{fill:none;stroke:#000000;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:2;}
20
+ .st14{fill:none;}
21
+ .st15{clip-path:url(#SVGID_3_);}
22
+ .st16{fill:#F7F9FF;}
23
+ .st17{clip-path:url(#SVGID_5_);}
24
+ .st18{fill:#DBE7FF;}
25
+ .st19{fill:#F9E3CE;}
26
+ .st20{fill:#FFE9CF;}
27
+ .st21{fill:#9999A5;}
28
+ .st22{fill:#F2F8FF;}
29
+ .st23{fill:#736352;}
30
+ .st24{fill:#E6E6E6;}
31
+ .st25{fill:#F5F5F5;}
32
+ .st26{fill:#FDE9E2;}
33
+ .st27{fill:#FEBDB2;}
34
+ .st28{fill:#FDE8E5;}
35
+ .st29{fill:#DFDFDF;}
36
+ .st30{fill:#E5E5E5;}
37
+ .st31{fill:none;stroke:#E6E6E6;stroke-miterlimit:10;}
38
+ .st32{fill:#CFCFCF;}
39
+ .st33{fill:#BDBDBD;}
40
+ .st34{fill:none;stroke:#E5E5E5;stroke-miterlimit:10;}
41
+ .st35{fill:#FFFFFF;stroke:#DFDFDF;stroke-width:2;stroke-miterlimit:10;}
42
+ .st36{fill:none;stroke:#DFDFDF;stroke-width:2;stroke-miterlimit:10;}
43
+ .st37{fill:#38CADF;}
44
+ .st38{fill:#FE854F;}
45
+ .st39{fill:#4F8FFE;}
46
+ .st40{fill:#FF6969;}
47
+ .st41{fill:#6C72E9;}
48
+ .st42{fill:none;stroke:#FFFFFF;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
49
+ .st43{fill:none;stroke:#FFFFFF;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
50
+ .st44{fill:none;stroke:#FFFFFF;stroke-width:2;stroke-linecap:round;stroke-miterlimit:10;}
51
+ .st45{fill:none;stroke:#FFFFFF;stroke-width:2;stroke-miterlimit:10;}
52
+ .st46{fill:none;stroke:#FFFFFF;stroke-width:2;stroke-linejoin:round;stroke-miterlimit:2;}
53
+ .st47{fill:none;stroke:#FFFFFF;stroke-width:2;stroke-linejoin:round;stroke-miterlimit:10;}
54
+ .st48{fill:none;stroke:#FFFFFF;stroke-width:2;stroke-linejoin:round;}
55
+ .st49{fill:none;stroke:#FFFFFF;stroke-width:2;stroke-linecap:round;}
56
+ .st50{fill:none;stroke:#000000;stroke-width:4;stroke-linecap:round;stroke-miterlimit:2;}
57
+ .st51{fill:none;stroke:#000000;stroke-width:3;stroke-linejoin:round;}
58
+ .st52{fill:none;stroke:#000000;stroke-width:8;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
59
+ .st53{fill:none;stroke:#000000;stroke-width:4;stroke-linecap:round;}
60
+ .st54{clip-path:url(#SVGID_7_);}
61
+ .st55{fill:none;stroke:#040000;stroke-width:4;stroke-linecap:round;stroke-miterlimit:10;}
62
+ .st56{clip-path:url(#SVGID_9_);}
63
+ </style>
64
+ <g>
65
+ <path d="M39.29,29.84H6.09c-1.1,0-2,0.9-2,2V56c0,1.1,0.9,2,2,2h33.2c1.1,0,2-0.9,2-2V31.84C41.29,30.74,40.4,29.84,39.29,29.84z
66
+ M37.29,54H8.09V33.84h29.2V54z"/>
67
+ <path d="M50.21,23.13c-5.44-7.41-13.82-11.79-23.01-12.02l-3.09-0.38l6.99-5.13c0.89-0.65,1.08-1.9,0.43-2.79
68
+ c-0.65-0.89-1.9-1.08-2.79-0.43L17.67,10.5c-0.01,0.01-0.02,0.02-0.03,0.03c-0.04,0.03-0.07,0.06-0.1,0.09
69
+ c-0.06,0.06-0.13,0.11-0.18,0.17c-0.03,0.04-0.06,0.08-0.09,0.12c-0.05,0.06-0.1,0.12-0.13,0.19c-0.03,0.05-0.05,0.11-0.08,0.17
70
+ c-0.03,0.06-0.06,0.12-0.08,0.19c-0.02,0.06-0.03,0.12-0.05,0.19c-0.01,0.06-0.04,0.11-0.04,0.17c0,0.01,0,0.02,0,0.03
71
+ c0,0.01-0.01,0.02-0.01,0.03c-0.01,0.05,0,0.11,0,0.16c0,0.07-0.01,0.14,0,0.21c0,0.07,0.02,0.13,0.03,0.2
72
+ c0.01,0.06,0.02,0.12,0.03,0.18c0.02,0.07,0.04,0.13,0.07,0.2c0.02,0.06,0.04,0.11,0.07,0.16c0.03,0.07,0.08,0.13,0.12,0.2
73
+ c0.02,0.04,0.04,0.08,0.07,0.11l8.11,11.06c0.39,0.53,1,0.82,1.61,0.82c0.41,0,0.82-0.13,1.18-0.39c0.89-0.65,1.08-1.91,0.43-2.79
74
+ l-5.38-7.33l3.61,0.44c0.07,0.01,0.13,0.01,0.2,0.01c7.98,0.17,15.26,3.96,19.97,10.38c3.46,4.71,5.2,10.52,4.89,16.34
75
+ c-0.06,1.1,0.79,2.04,1.89,2.1c0.04,0,0.07,0,0.11,0c1.06,0,1.94-0.83,2-1.9C56.22,35.31,54.21,28.59,50.21,23.13z"/>
76
+ </g>
77
+ </svg>
@@ -0,0 +1,71 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!-- Generator: Adobe Illustrator 23.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
3
+ <svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
4
+ viewBox="0 0 60 60" style="enable-background:new 0 0 60 60;" xml:space="preserve">
5
+ <style type="text/css">
6
+ .st0{fill:none;stroke:#000000;stroke-width:4;stroke-linejoin:round;}
7
+ .st1{fill:none;stroke:#000000;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;}
8
+ .st2{fill:none;stroke:#000000;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:2;}
9
+ .st3{fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-miterlimit:10;stroke-dasharray:4.038,4.038;}
10
+ .st4{fill:none;stroke:#000000;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
11
+ .st5{fill:none;stroke:#000000;stroke-width:4;stroke-linecap:round;stroke-miterlimit:10;}
12
+ .st6{fill:none;stroke:#000000;stroke-width:4;stroke-miterlimit:10;}
13
+ .st7{fill:#F2F2F2;}
14
+ .st8{fill:none;stroke:#999999;stroke-width:4;stroke-linecap:round;stroke-miterlimit:10;}
15
+ .st9{fill-rule:evenodd;clip-rule:evenodd;}
16
+ .st10{fill:none;stroke:#000000;stroke-width:3;stroke-miterlimit:10;}
17
+ .st11{fill:none;stroke:#000000;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
18
+ .st12{fill:none;stroke:#000000;stroke-width:4;stroke-linejoin:round;stroke-miterlimit:2;}
19
+ .st13{fill:none;stroke:#000000;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:2;}
20
+ .st14{fill:none;}
21
+ .st15{clip-path:url(#SVGID_3_);}
22
+ .st16{fill:#F7F9FF;}
23
+ .st17{clip-path:url(#SVGID_5_);}
24
+ .st18{fill:#DBE7FF;}
25
+ .st19{fill:#F9E3CE;}
26
+ .st20{fill:#FFE9CF;}
27
+ .st21{fill:#9999A5;}
28
+ .st22{fill:#F2F8FF;}
29
+ .st23{fill:#736352;}
30
+ .st24{fill:#E6E6E6;}
31
+ .st25{fill:#F5F5F5;}
32
+ .st26{fill:#FDE9E2;}
33
+ .st27{fill:#FEBDB2;}
34
+ .st28{fill:#FDE8E5;}
35
+ .st29{fill:#DFDFDF;}
36
+ .st30{fill:#E5E5E5;}
37
+ .st31{fill:none;stroke:#E6E6E6;stroke-miterlimit:10;}
38
+ .st32{fill:#CFCFCF;}
39
+ .st33{fill:#BDBDBD;}
40
+ .st34{fill:none;stroke:#E5E5E5;stroke-miterlimit:10;}
41
+ .st35{fill:#FFFFFF;stroke:#DFDFDF;stroke-width:2;stroke-miterlimit:10;}
42
+ .st36{fill:none;stroke:#DFDFDF;stroke-width:2;stroke-miterlimit:10;}
43
+ .st37{fill:#38CADF;}
44
+ .st38{fill:#FE854F;}
45
+ .st39{fill:#4F8FFE;}
46
+ .st40{fill:#FF6969;}
47
+ .st41{fill:#6C72E9;}
48
+ .st42{fill:none;stroke:#FFFFFF;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
49
+ .st43{fill:none;stroke:#FFFFFF;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
50
+ .st44{fill:none;stroke:#FFFFFF;stroke-width:2;stroke-linecap:round;stroke-miterlimit:10;}
51
+ .st45{fill:none;stroke:#FFFFFF;stroke-width:2;stroke-miterlimit:10;}
52
+ .st46{fill:none;stroke:#FFFFFF;stroke-width:2;stroke-linejoin:round;stroke-miterlimit:2;}
53
+ .st47{fill:none;stroke:#FFFFFF;stroke-width:2;stroke-linejoin:round;stroke-miterlimit:10;}
54
+ .st48{fill:none;stroke:#FFFFFF;stroke-width:2;stroke-linejoin:round;}
55
+ .st49{fill:none;stroke:#FFFFFF;stroke-width:2;stroke-linecap:round;}
56
+ .st50{fill:none;stroke:#000000;stroke-width:4;stroke-linecap:round;stroke-miterlimit:2;}
57
+ .st51{fill:none;stroke:#000000;stroke-width:3;stroke-linejoin:round;}
58
+ .st52{fill:none;stroke:#000000;stroke-width:8;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
59
+ .st53{fill:none;stroke:#000000;stroke-width:4;stroke-linecap:round;}
60
+ .st54{clip-path:url(#SVGID_7_);}
61
+ .st55{fill:none;stroke:#040000;stroke-width:4;stroke-linecap:round;stroke-miterlimit:10;}
62
+ .st56{clip-path:url(#SVGID_9_);}
63
+ </style>
64
+ <g>
65
+ <path d="M35.72,25.44H19.17c-1.1,0-2,0.9-2,2s0.9,2,2,2h16.55c1.1,0,2-0.9,2-2S36.82,25.44,35.72,25.44z"/>
66
+ <path d="M57.41,54.59L46.78,43.95c3.8-4.45,6.11-10.21,6.11-16.51C52.89,13.41,41.47,2,27.44,2C13.41,2,2,13.41,2,27.44
67
+ c0,14.03,11.41,25.44,25.44,25.44c6.3,0,12.06-2.3,16.51-6.11l10.63,10.63C54.98,57.8,55.49,58,56,58s1.02-0.2,1.41-0.59
68
+ C58.2,56.63,58.2,55.37,57.41,54.59z M6,27.44C6,15.62,15.62,6,27.44,6s21.44,9.62,21.44,21.44s-9.62,21.44-21.44,21.44
69
+ S6,39.27,6,27.44z"/>
70
+ </g>
71
+ </svg>
@@ -0,0 +1,72 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!-- Generator: Adobe Illustrator 23.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
3
+ <svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
4
+ viewBox="0 0 60 60" style="enable-background:new 0 0 60 60;" xml:space="preserve">
5
+ <style type="text/css">
6
+ .st0{fill:none;stroke:#000000;stroke-width:4;stroke-linejoin:round;}
7
+ .st1{fill:none;stroke:#000000;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;}
8
+ .st2{fill:none;stroke:#000000;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:2;}
9
+ .st3{fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-miterlimit:10;stroke-dasharray:4.038,4.038;}
10
+ .st4{fill:none;stroke:#000000;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
11
+ .st5{fill:none;stroke:#000000;stroke-width:4;stroke-linecap:round;stroke-miterlimit:10;}
12
+ .st6{fill:none;stroke:#000000;stroke-width:4;stroke-miterlimit:10;}
13
+ .st7{fill:#F2F2F2;}
14
+ .st8{fill:none;stroke:#999999;stroke-width:4;stroke-linecap:round;stroke-miterlimit:10;}
15
+ .st9{fill-rule:evenodd;clip-rule:evenodd;}
16
+ .st10{fill:none;stroke:#000000;stroke-width:3;stroke-miterlimit:10;}
17
+ .st11{fill:none;stroke:#000000;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
18
+ .st12{fill:none;stroke:#000000;stroke-width:4;stroke-linejoin:round;stroke-miterlimit:2;}
19
+ .st13{fill:none;stroke:#000000;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:2;}
20
+ .st14{fill:none;}
21
+ .st15{clip-path:url(#SVGID_3_);}
22
+ .st16{fill:#F7F9FF;}
23
+ .st17{clip-path:url(#SVGID_5_);}
24
+ .st18{fill:#DBE7FF;}
25
+ .st19{fill:#F9E3CE;}
26
+ .st20{fill:#FFE9CF;}
27
+ .st21{fill:#9999A5;}
28
+ .st22{fill:#F2F8FF;}
29
+ .st23{fill:#736352;}
30
+ .st24{fill:#E6E6E6;}
31
+ .st25{fill:#F5F5F5;}
32
+ .st26{fill:#FDE9E2;}
33
+ .st27{fill:#FEBDB2;}
34
+ .st28{fill:#FDE8E5;}
35
+ .st29{fill:#DFDFDF;}
36
+ .st30{fill:#E5E5E5;}
37
+ .st31{fill:none;stroke:#E6E6E6;stroke-miterlimit:10;}
38
+ .st32{fill:#CFCFCF;}
39
+ .st33{fill:#BDBDBD;}
40
+ .st34{fill:none;stroke:#E5E5E5;stroke-miterlimit:10;}
41
+ .st35{fill:#FFFFFF;stroke:#DFDFDF;stroke-width:2;stroke-miterlimit:10;}
42
+ .st36{fill:none;stroke:#DFDFDF;stroke-width:2;stroke-miterlimit:10;}
43
+ .st37{fill:#38CADF;}
44
+ .st38{fill:#FE854F;}
45
+ .st39{fill:#4F8FFE;}
46
+ .st40{fill:#FF6969;}
47
+ .st41{fill:#6C72E9;}
48
+ .st42{fill:none;stroke:#FFFFFF;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
49
+ .st43{fill:none;stroke:#FFFFFF;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
50
+ .st44{fill:none;stroke:#FFFFFF;stroke-width:2;stroke-linecap:round;stroke-miterlimit:10;}
51
+ .st45{fill:none;stroke:#FFFFFF;stroke-width:2;stroke-miterlimit:10;}
52
+ .st46{fill:none;stroke:#FFFFFF;stroke-width:2;stroke-linejoin:round;stroke-miterlimit:2;}
53
+ .st47{fill:none;stroke:#FFFFFF;stroke-width:2;stroke-linejoin:round;stroke-miterlimit:10;}
54
+ .st48{fill:none;stroke:#FFFFFF;stroke-width:2;stroke-linejoin:round;}
55
+ .st49{fill:none;stroke:#FFFFFF;stroke-width:2;stroke-linecap:round;}
56
+ .st50{fill:none;stroke:#000000;stroke-width:4;stroke-linecap:round;stroke-miterlimit:2;}
57
+ .st51{fill:none;stroke:#000000;stroke-width:3;stroke-linejoin:round;}
58
+ .st52{fill:none;stroke:#000000;stroke-width:8;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
59
+ .st53{fill:none;stroke:#000000;stroke-width:4;stroke-linecap:round;}
60
+ .st54{clip-path:url(#SVGID_7_);}
61
+ .st55{fill:none;stroke:#040000;stroke-width:4;stroke-linecap:round;stroke-miterlimit:10;}
62
+ .st56{clip-path:url(#SVGID_9_);}
63
+ </style>
64
+ <g>
65
+ <path d="M35.72,25.44h-6.27v-6.27c0-1.1-0.9-2-2-2s-2,0.9-2,2v6.27h-6.27c-1.1,0-2,0.9-2,2s0.9,2,2,2h6.27v6.27c0,1.1,0.9,2,2,2
66
+ s2-0.9,2-2v-6.27h6.27c1.1,0,2-0.9,2-2S36.82,25.44,35.72,25.44z"/>
67
+ <path d="M57.41,54.59L46.78,43.95c3.8-4.45,6.11-10.21,6.11-16.51C52.89,13.41,41.47,2,27.44,2S2,13.41,2,27.44
68
+ c0,14.03,11.41,25.44,25.44,25.44c6.3,0,12.06-2.3,16.51-6.11l10.63,10.63C54.98,57.8,55.49,58,56,58s1.02-0.2,1.41-0.59
69
+ C58.2,56.63,58.2,55.37,57.41,54.59z M6,27.44C6,15.62,15.62,6,27.44,6c11.82,0,21.44,9.62,21.44,21.44s-9.62,21.44-21.44,21.44
70
+ C15.62,48.89,6,39.27,6,27.44z"/>
71
+ </g>
72
+ </svg>
@@ -0,0 +1,43 @@
1
+ import hbImageViewer from "./image-viewer/src/main";
2
+ const requireComponents = require.context("./", true, /\.vue$/); // 代替import进行动态引入,webpack中方法
3
+ const modulesArr = require.context("./", true, /[\w-]+?\/index.js$/); // 只取二级目录,避免取到内层不符合文件结构的index.js
4
+ import "./theme-chalk/index.scss";
5
+ // import "@/assets/iconfont/iconfont.css"; // 之后看情况是否需要打包到项目中 不需要就删掉
6
+ // import "@/assets/css/global.scss"; // 之后看情况是否需要打包到项目中 不需要就删掉
7
+ let components = {};
8
+ const install = (Vue) => {
9
+ if (install.installed) return;
10
+ // 遍历引入组件
11
+ requireComponents.keys().forEach((fileName) => {
12
+ const config = requireComponents(fileName); // 当前组件
13
+ const componentName = config.default.name; // 获取组件名,即vue文件中的name
14
+ Vue.component(componentName, config.default); // 注册组件
15
+ });
16
+ Vue.prototype.$hbViewer = hbImageViewer;
17
+ };
18
+
19
+ modulesArr.keys().forEach((key) => {
20
+ const config = modulesArr(key); // 当前组件
21
+ components[config.default.componentName] = config.default;
22
+ });
23
+
24
+ if (typeof window !== "undefined" && window.Vue) {
25
+ install(window.Vue);
26
+ }
27
+
28
+ // 为部分能提供业务配置的组件提供全局导入
29
+ const config = (configs) => {
30
+ if (typeof configs === "object") {
31
+ for (let key in components) {
32
+ if (configs[key]) {
33
+ typeof components[key].config === "function" && components[key].config(configs[key]);
34
+ }
35
+ }
36
+ }
37
+ };
38
+
39
+ export default {
40
+ install,
41
+ config,
42
+ ...components,
43
+ };
@@ -0,0 +1,7 @@
1
+ import HbNavmenu from "./src/main.vue";
2
+
3
+ HbNavmenu.install = function (Vue) {
4
+ Vue.component(HbNavmenu.name, HbNavmenu);
5
+ };
6
+
7
+ export default HbNavmenu;