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
Binary file
package/package.json ADDED
@@ -0,0 +1,40 @@
1
+ {
2
+ "name": "hbte-saas-ui",
3
+ "version": "0.0.1",
4
+ "main": "./lib/hbte-ui.umd.min.js",
5
+ "scripts": {
6
+ "serve": "vue-cli-service serve",
7
+ "build": "vue-cli-service build",
8
+ "lint": "vue-cli-service lint",
9
+ "lib": "vue-cli-service build --target lib --name hbte-ui --dest lib packages/index.js",
10
+ "doc": "vuePress dev docs --temp .temp",
11
+ "docs:build": "vuePress build docs"
12
+ },
13
+ "dependencies": {
14
+ "core-js": "^3.6.5",
15
+ "element-ui": "^2.15.6",
16
+ "pinyin-match": "^1.2.2",
17
+ "vue": "^2.6.11",
18
+ "vue-router": "^3.2.0",
19
+ "vuedraggable": "^2.24.3",
20
+ "vuex": "^4.0.2"
21
+ },
22
+ "devDependencies": {
23
+ "@vue/cli-plugin-babel": "~4.5.12",
24
+ "@vue/cli-plugin-eslint": "~4.5.12",
25
+ "@vue/cli-plugin-router": "~4.5.12",
26
+ "@vue/cli-service": "~4.5.12",
27
+ "@vue/eslint-config-prettier": "^6.0.0",
28
+ "axios": "^0.21.1",
29
+ "babel-eslint": "^10.1.0",
30
+ "eslint": "^6.7.2",
31
+ "eslint-plugin-prettier": "^3.3.1",
32
+ "eslint-plugin-vue": "^6.2.2",
33
+ "lodash": "^4.17.21",
34
+ "prettier": "^2.2.1",
35
+ "sass": "^1.29.0",
36
+ "sass-loader": "^10.1.0",
37
+ "vue-template-compiler": "^2.6.11",
38
+ "vuepress": "^1.9.7"
39
+ }
40
+ }
@@ -0,0 +1,5 @@
1
+ import HbAdvQuery from "./src/main.vue";
2
+ HbAdvQuery.install = function (Vue) {
3
+ Vue.component(HbAdvQuery.name, HbAdvQuery);
4
+ };
5
+ export default HbAdvQuery;
@@ -0,0 +1,294 @@
1
+ <template>
2
+ <div class="hb-advquery">
3
+ <div class="hb-advquery-handles">
4
+ <div class="hb-advquery__tools">
5
+ <slot name="tools"></slot>
6
+ </div>
7
+ <div class="hb-advquery-query-btn">
8
+ <el-button
9
+ size="mini"
10
+ class="hb-advquery-query-btn__item"
11
+ @click="extend ? unextend() : extendFrom()"
12
+ v-if="showAdvQuery"
13
+ icon="hbui-gaojichaxun"
14
+ >
15
+ 高级查询
16
+ </el-button>
17
+
18
+ <slot name="cusBtn"></slot>
19
+ <el-dropdown trigger="click" size="small" v-if="showCusQuery">
20
+ <div
21
+ v-if="customQueryLabel.length > 10"
22
+ class="hb-advquery-query-btn__custom"
23
+ >
24
+ <el-tooltip :content="customQueryLabel">
25
+ <span>{{ customQueryLabel.slice(0, 10) + "..." }}</span>
26
+ </el-tooltip>
27
+ </div>
28
+ <div v-else class="hb-advquery-query-btn__custom">
29
+ {{ customQueryLabel }}
30
+ </div>
31
+
32
+ <el-dropdown-menu slot="dropdown">
33
+ <el-dropdown-item
34
+ ><span @click="customQuery({ label: '全部', value: 'all' })"
35
+ >全部</span
36
+ ></el-dropdown-item
37
+ >
38
+ <el-dropdown-item>
39
+ <slot name="dropdownSlotItem"></slot>
40
+ </el-dropdown-item>
41
+
42
+ <el-dropdown-item
43
+ v-for="(i, index) in customQueryData"
44
+ :key="index"
45
+ :command="i.value"
46
+ >
47
+ <span v-if="i.label.length > 10"
48
+ ><el-tooltip :content="customQueryLabel">
49
+ <span
50
+ @click="customQuery(i)"
51
+ class="hb-advquery-query-btn__custom__dropdown-item"
52
+ >{{ i.label.slice(0, 10) + "..." }}</span
53
+ >
54
+ </el-tooltip></span
55
+ ><span
56
+ @click="customQuery(i)"
57
+ v-else
58
+ class="hb-advquery-query-btn__custom__dropdown-item"
59
+ >{{ i.label }}</span
60
+ >
61
+ <i
62
+ class="el-icon-delete hb-advquery-query-btn__custom__handle-btn"
63
+ size="mini"
64
+ @click="deleteCus(i)"
65
+ ></i>
66
+ <i
67
+ class="el-icon-edit hb-advquery-query-btn__custom__handle-btn"
68
+ size="mini"
69
+ @click="editCus(i)"
70
+ ></i>
71
+ </el-dropdown-item>
72
+
73
+ <span @click="addCus">
74
+ <el-dropdown-item divided icon="el-icon-plus">
75
+ 新建筛选</el-dropdown-item
76
+ >
77
+ </span>
78
+ </el-dropdown-menu>
79
+ </el-dropdown>
80
+ <el-button
81
+ size="mini"
82
+ class="hb-advquery-query-btn__item"
83
+ v-if="showRefresh"
84
+ @click="refresh"
85
+ icon="hbui-shuaxin"
86
+ >
87
+ 刷新
88
+ </el-button>
89
+ </div>
90
+ </div>
91
+ <div
92
+ class="hb-advquery-form"
93
+ id="qry-form"
94
+ :class="extend ? 'hb-advquery-form-extend' : 'hb-advquery-form-unextend'"
95
+ >
96
+ <el-form
97
+ class="hb-advquery-form__content"
98
+ ref="queryForm"
99
+ :model="qryFormData"
100
+ label-position="top"
101
+ :rules="rules"
102
+ >
103
+ <div class="hb-advquery-form__row">
104
+ <el-form-item
105
+ v-for="(i, index) in qryFormProps"
106
+ :key="index"
107
+ class="hb-advquery-form__item"
108
+ :label="i.label"
109
+ :prop="i.prop ? i.prop : ''"
110
+ >
111
+ <hb-query-form
112
+ :formProp="i"
113
+ :qryFormData="qryFormData"
114
+ v-bind="i.bind"
115
+ >
116
+ <template :slot="i.prop" :index="index">
117
+ <slot :name="i.prop"></slot>
118
+ </template>
119
+ </hb-query-form>
120
+ </el-form-item>
121
+ <div class="hb-advquery-search-button">
122
+ <el-button
123
+ class="hb-advquery-search-button__btn"
124
+ size="small"
125
+ @click="advQuery"
126
+ type="primary"
127
+ >查询</el-button
128
+ >
129
+ <el-button
130
+ class="hb-advquery-search-button__btn"
131
+ @click="reset"
132
+ size="small"
133
+ >重置</el-button
134
+ >
135
+ <el-button
136
+ class="el-icon-arrow-up hb-advquery-search-button__extend"
137
+ size="small"
138
+ @click="unextend"
139
+ ></el-button>
140
+ </div>
141
+ </div>
142
+ </el-form>
143
+ </div>
144
+ <hb-custom-query
145
+ ref="dialog"
146
+ :qryFormProps="qryFormProps"
147
+ :qryFormData="qryFormData"
148
+ @customQuerySave="customQuerySave"
149
+ ></hb-custom-query>
150
+ </div>
151
+ </template>
152
+ <script>
153
+ export default {
154
+ name: "HbAdvquery",
155
+ componentName: "HbAdvquery",
156
+ props: {
157
+ sessionExtend: {
158
+ type: Boolean,
159
+ default: true,
160
+ },
161
+ qryFormProps: {
162
+ type: Array,
163
+ default: () => [],
164
+ },
165
+ qryFormData: {
166
+ type: Object,
167
+ default: () => {
168
+ return {
169
+ AdvQueryExtend: false,
170
+ };
171
+ },
172
+ },
173
+ customQueryData: {
174
+ type: Array,
175
+ default: () => [],
176
+ },
177
+ showAdvQuery: {
178
+ type: Boolean,
179
+ default: true,
180
+ },
181
+ showCusQuery: {
182
+ type: Boolean,
183
+ default: true,
184
+ },
185
+ showRefresh: {
186
+ type: Boolean,
187
+ default: true,
188
+ },
189
+ rules: {
190
+ type: Object,
191
+ default: () => {},
192
+ },
193
+ },
194
+ data() {
195
+ return {
196
+ customQueryLabel: "全部",
197
+ firstExtend: true, // 首次展开
198
+ extend: false,
199
+ sessionKey: "",
200
+ };
201
+ },
202
+ created() {
203
+ if (this.sessionExtend) {
204
+ this.sessionKey =
205
+ "Extend-" + this.$router.options.base + this.$route.fullPath;
206
+ let localData = sessionStorage.getItem(this.sessionKey);
207
+ this.extend = localData ? JSON.parse(localData) : false;
208
+ }
209
+ },
210
+ beforeDestroy() {
211
+ const { sessionExtend, extend, sessionKey } = this;
212
+ sessionExtend && sessionStorage.setItem(sessionKey, JSON.stringify(extend));
213
+ },
214
+ methods: {
215
+ /**
216
+ * 自定义筛选点击查询
217
+ */
218
+ customQuery(val) {
219
+ console.log(val);
220
+
221
+ this.customQueryLabel = val.label;
222
+ this.$emit("customQuery", val);
223
+ },
224
+ /**
225
+ * 刷新
226
+ */
227
+ refresh() {
228
+ this.$emit("refresh");
229
+ },
230
+ /**
231
+ * 新增自定义
232
+ */
233
+ addCus() {
234
+ this.$refs.dialog.open("add");
235
+ },
236
+ /**
237
+ * 编辑自定义
238
+ */
239
+ editCus(i) {
240
+ this.$refs.dialog.open("edit", i);
241
+ },
242
+ /**
243
+ * 删除自定义
244
+ */
245
+ deleteCus(i) {
246
+ this.$emit("deleteCus", i);
247
+ },
248
+ /**
249
+ * 自定义保存
250
+ */
251
+ customQuerySave(type, data) {
252
+ console.log(type);
253
+ console.log(data);
254
+ },
255
+ /**
256
+ * 查询回调
257
+ */
258
+ advQuery() {
259
+ console.log(this.qryFormData);
260
+ this.$emit("advQuery", this.qryFormData);
261
+ },
262
+ /**
263
+ * 重置
264
+ */
265
+ reset() {
266
+ this.$refs.queryForm.resetFields();
267
+ this.$emit("reset");
268
+ },
269
+ /**
270
+ * 高级查询展开
271
+ */
272
+ extendFrom() {
273
+ if (this.extend) {
274
+ this.unextend();
275
+ return;
276
+ }
277
+
278
+ // 首次展开
279
+ if (this.firstExtend) {
280
+ this.$emit("firstExtend");
281
+ this.firstExtend = false;
282
+ }
283
+ // 展开回调
284
+ this.$emit("extendFrom");
285
+ //展开
286
+ this.extend = true;
287
+ },
288
+ unextend() {
289
+ //收起
290
+ this.extend = false;
291
+ },
292
+ },
293
+ };
294
+ </script>
@@ -0,0 +1,7 @@
1
+ import HbAreaSelect from "./src/main.vue";
2
+
3
+ HbAreaSelect.install = function (Vue) {
4
+ Vue.component(HbAreaSelect.name, HbAreaSelect);
5
+ };
6
+
7
+ export default HbAreaSelect;
@@ -0,0 +1,37 @@
1
+ <template>
2
+ <el-cascader
3
+ size="small"
4
+ :options="areaData"
5
+ :props="propsSetting"
6
+ :placeholder="placeholder"
7
+ clearable
8
+ v-bind="$attrs"
9
+ v-on="$listeners"
10
+ ></el-cascader>
11
+ </template>
12
+
13
+ <script>
14
+ export default {
15
+ name: "HbAreaSelect",
16
+ componentName: "HbAreaSelect",
17
+
18
+ props: {
19
+ placeholder: {
20
+ default: "请选择",
21
+ type: String,
22
+ },
23
+ propsSetting: {
24
+ default: () => {
25
+ return { checkStrictly: true };
26
+ },
27
+ type: Object,
28
+ },
29
+ areaData: {
30
+ default: () => {
31
+ return [];
32
+ },
33
+ type: Array,
34
+ },
35
+ },
36
+ };
37
+ </script>
@@ -0,0 +1,5 @@
1
+ import HbAuthority from "./src/main.vue";
2
+ HbAuthority.install = function (Vue) {
3
+ Vue.component(HbAuthority.name, HbAuthority);
4
+ };
5
+ export default HbAuthority;