hbte-saas-ui 0.0.2 → 1.0.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 (128) hide show
  1. package/package.json +8 -2
  2. package/.browserslistrc +0 -3
  3. package/.editorconfig +0 -7
  4. package/.env.development +0 -1
  5. package/.env.lib +0 -1
  6. package/.eslintrc.js +0 -14
  7. package/.prettierrc +0 -3
  8. package/babel.config.js +0 -3
  9. package/docs/.vuepress/config.js +0 -23
  10. package/docs/.vuepress/styles/index.styl +0 -4
  11. package/docs/AdvQuery.md +0 -26
  12. package/docs/CustomQuery.md +0 -21
  13. package/docs/EditArea.md +0 -16
  14. package/docs/FilterDrop.md +0 -29
  15. package/docs/FullTable.md +0 -68
  16. package/docs/Pagination.md +0 -22
  17. package/docs/QueryForm.md +0 -27
  18. package/docs/README.md +0 -17
  19. package/docs/Table.md +0 -58
  20. package/docs/ToolGroup.md +0 -32
  21. package/examples/App.vue +0 -97
  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 +0 -39
  26. package/examples/mock/authority.js +0 -1108
  27. package/examples/mock/dept.js +0 -4001
  28. package/examples/mock/fulltable.js +0 -407
  29. package/examples/mock/organizeData.js +0 -18965
  30. package/examples/router/index.js +0 -111
  31. package/examples/views/ElementCpTest.vue +0 -299
  32. package/examples/views/Fragment.vue +0 -196
  33. package/examples/views/HBAdvQuery.vue +0 -150
  34. package/examples/views/HBAuthority.vue +0 -339
  35. package/examples/views/HBDialog.vue +0 -39
  36. package/examples/views/HBEditarea.vue +0 -350
  37. package/examples/views/HBFilterDrop.vue +0 -72
  38. package/examples/views/HBFloatFooter.vue +0 -42
  39. package/examples/views/HBFullTable.vue +0 -751
  40. package/examples/views/HBImageViewer.vue +0 -57
  41. package/examples/views/HBNavMenu.vue +0 -37
  42. package/examples/views/HBOrganizeDialog.vue +0 -133
  43. package/examples/views/HBPagination.vue +0 -80
  44. package/examples/views/HBSelectVague.vue +0 -57
  45. package/examples/views/HBToolgroup.vue +0 -29
  46. package/examples/views/HBTopBar.vue +0 -16
  47. package/packages/adv-query/index.js +0 -5
  48. package/packages/adv-query/src/main.vue +0 -294
  49. package/packages/area-select/index.js +0 -7
  50. package/packages/area-select/src/main.vue +0 -37
  51. package/packages/authority/index.js +0 -5
  52. package/packages/authority/src/main.vue +0 -606
  53. package/packages/config.js +0 -3
  54. package/packages/custom-query/index.js +0 -5
  55. package/packages/custom-query/src/main.vue +0 -80
  56. package/packages/dialog/index.js +0 -7
  57. package/packages/dialog/src/main.vue +0 -176
  58. package/packages/edit-area/index.js +0 -13
  59. package/packages/edit-area/src/config.js +0 -3
  60. package/packages/edit-area/src/main.vue +0 -304
  61. package/packages/edit-area/src/simulateEvent.js +0 -219
  62. package/packages/filter-drop/index.js +0 -6
  63. package/packages/filter-drop/src/main.vue +0 -107
  64. package/packages/float-footer/index.js +0 -7
  65. package/packages/float-footer/src/main.vue +0 -40
  66. package/packages/fragment/index.js +0 -7
  67. package/packages/fragment/src/main.vue +0 -74
  68. package/packages/fragment/src/old.vue +0 -144
  69. package/packages/full-table/index.js +0 -6
  70. package/packages/full-table/src/config.js +0 -14
  71. package/packages/full-table/src/main.vue +0 -141
  72. package/packages/image-viewer/index.js +0 -8
  73. package/packages/image-viewer/src/main.js +0 -14
  74. package/packages/image-viewer/src/main.vue +0 -138
  75. package/packages/image-viewer/src/svg/cancel.svg +0 -2
  76. package/packages/image-viewer/src/svg/delete.svg +0 -2
  77. package/packages/image-viewer/src/svg/download.svg +0 -2
  78. package/packages/image-viewer/src/svg/rotate.svg +0 -77
  79. package/packages/image-viewer/src/svg/scaledown.svg +0 -71
  80. package/packages/image-viewer/src/svg/scaleup.svg +0 -72
  81. package/packages/index.js +0 -43
  82. package/packages/nav-menu/index.js +0 -7
  83. package/packages/nav-menu/src/main.vue +0 -277
  84. package/packages/organize-dialog/index.js +0 -5
  85. package/packages/organize-dialog/src/main.vue +0 -427
  86. package/packages/pagination/index.js +0 -6
  87. package/packages/pagination/src/main.vue +0 -146
  88. package/packages/query-form/index.js +0 -5
  89. package/packages/query-form/src/main.vue +0 -142
  90. package/packages/select-vague/index.js +0 -5
  91. package/packages/select-vague/src/main.vue +0 -80
  92. package/packages/table/index.js +0 -5
  93. package/packages/table/src/main.vue +0 -265
  94. package/packages/theme-chalk/adv-query.scss +0 -107
  95. package/packages/theme-chalk/authority.scss +0 -103
  96. package/packages/theme-chalk/common/elementCover.scss +0 -722
  97. package/packages/theme-chalk/common/flex.scss +0 -66
  98. package/packages/theme-chalk/common/global.scss +0 -147
  99. package/packages/theme-chalk/common/reset.scss +0 -92
  100. package/packages/theme-chalk/common/var.scss +0 -46
  101. package/packages/theme-chalk/custom-query.scss +0 -10
  102. package/packages/theme-chalk/dialog.scss +0 -9
  103. package/packages/theme-chalk/edit-area.scss +0 -119
  104. package/packages/theme-chalk/filter-drop.scss +0 -81
  105. package/packages/theme-chalk/float-footer.scss +0 -14
  106. package/packages/theme-chalk/fonts/iconfont.ttf +0 -0
  107. package/packages/theme-chalk/fragment.scss +0 -51
  108. package/packages/theme-chalk/full-table.scss +0 -40
  109. package/packages/theme-chalk/icon.scss +0 -96
  110. package/packages/theme-chalk/image-viewer.scss +0 -94
  111. package/packages/theme-chalk/images/company-logo--default.png +0 -0
  112. package/packages/theme-chalk/images/nodata.png +0 -0
  113. package/packages/theme-chalk/images/user-logo--default.png +0 -0
  114. package/packages/theme-chalk/index.scss +0 -21
  115. package/packages/theme-chalk/nav-menu.scss +0 -205
  116. package/packages/theme-chalk/organize-dialog.scss +0 -170
  117. package/packages/theme-chalk/pagination.scss +0 -91
  118. package/packages/theme-chalk/select.scss +0 -8
  119. package/packages/theme-chalk/table.scss +0 -102
  120. package/packages/theme-chalk/tool-group.scss +0 -105
  121. package/packages/theme-chalk/top-bar.scss +0 -195
  122. package/packages/tool-group/index.js +0 -13
  123. package/packages/tool-group/src/config.js +0 -40
  124. package/packages/tool-group/src/main.vue +0 -93
  125. package/packages/top-bar/index.js +0 -7
  126. package/packages/top-bar/src/main.vue +0 -280
  127. package/public/index.html +0 -20
  128. package/vue.config.js +0 -6
@@ -1,150 +0,0 @@
1
- <template>
2
- <div>
3
- <hb-advquery
4
- :qryFormProps="qryFormProps"
5
- :qryFormData="qryFormData"
6
- :customQueryData="customQueryData"
7
- @AdvQuery="handleAdvSearch"
8
- >
9
- <div slot="h">
10
- <span>asdasdasdasd</span>
11
- </div>
12
- </hb-advquery>
13
- </div>
14
- </template>
15
-
16
- <script>
17
- export default {
18
- data() {
19
- return {
20
- customQueryData: [
21
- {
22
- label: "aaa123123123123",
23
- value: "aaa",
24
- },
25
- {
26
- label: "bbb",
27
- value: "bbb",
28
- },
29
- ],
30
- qryFormData: {
31
- a: "",
32
- b: false,
33
- c: "",
34
- d: "",
35
- e: "",
36
- f: "",
37
- g: [],
38
- h: "",
39
- },
40
- qryFormProps: [
41
- {
42
- type: "input",
43
- label: "求助事项",
44
- prop: "a",
45
- placeholder: "请输入求助事项",
46
- maxlength: "64",
47
- },
48
- {
49
- type: "switch",
50
- label: "负责部门",
51
- prop: "b",
52
- placeholder: "请输入负责部门",
53
- },
54
- {
55
- type: "radio",
56
- label: "事项分类",
57
- prop: "c",
58
- placeholder: "请输入作业名称",
59
- optListProp: {
60
- label: "name",
61
- value: "val",
62
- },
63
- optList: [
64
- {
65
- name: "a",
66
- val: "1",
67
- },
68
- {
69
- name: "b",
70
- val: "2",
71
- },
72
- ],
73
- },
74
- {
75
- type: "select",
76
- label: "重要程度",
77
- prop: "d",
78
- multiple: true,
79
- placeholder: "请选择重要程度",
80
- optListProp: {
81
- label: "name",
82
- value: "val",
83
- },
84
- optList: [
85
- {
86
- name: "a",
87
- val: "1",
88
- },
89
- {
90
- label: "b",
91
- value: "2",
92
- },
93
- ],
94
- },
95
- // {
96
- // type: "daterange",
97
- // label: "日期",
98
- // prop: "e",
99
- // placeholder: "请选择日期",
100
- // },
101
- // {
102
- // type: "date",
103
- // label: "日期",
104
- // prop: "f",
105
- // placeholder: "请选择日期",
106
- // },
107
- // {
108
- // type: "checkbox",
109
- // label: "多选",
110
- // prop: "g",
111
- // placeholder: "多选",
112
- // optList: [
113
- // {
114
- // label: "a",
115
- // value: "1",
116
- // },
117
- // {
118
- // label: "b",
119
- // value: "2",
120
- // },
121
- // ],
122
- // },
123
- {
124
- label: "插槽",
125
- prop: "h",
126
- slot: true,
127
- },
128
- {
129
- type: "daterange",
130
- label: "日期",
131
- prop: "e",
132
- placeholder: "请选择日期",
133
- },
134
- ],
135
- };
136
- },
137
- methods: {
138
- /**
139
- * @function handleAdvSearch 高级查询搜索
140
- * 高级查询使用prop传值,直接进行查询
141
- */
142
- handleAdvSearch() {
143
- // 查询代码
144
- },
145
- },
146
- mounted() {},
147
- };
148
- </script>
149
-
150
- <style></style>
@@ -1,339 +0,0 @@
1
- <template>
2
- <div class="hb-authority-wrapper">
3
- <hb-authority
4
- :roleList="roleList"
5
- :roleMembers="roleMembers"
6
- :treeData="treeData"
7
- :rules="rules"
8
- @submitRole="submitRole"
9
- @deleteRole="deleteRole"
10
- @openOrganizeDialog="openOrganizeDialog"
11
- @savePemissions="savePemissions"
12
- @chooseOrganizeMembers="chooseOrganizeMembers"
13
- @tabRole="tabRole"
14
- @removeRoleMember="removeRoleMember"
15
- />
16
- </div>
17
- </template>
18
- <script>
19
- import lodash from "lodash";
20
- import { authorityId, authorityData } from "../mock/authority";
21
- import { deptData } from "../mock/dept";
22
- import organizeData from "../mock/organizeData";
23
-
24
- export default {
25
- data() {
26
- return {
27
- roleList: [
28
- {
29
- orgId: null,
30
- orgName: null,
31
- pOrgId: null,
32
- pOrgName: null,
33
- id: "1448213370004070468",
34
- roleName: "角色0000",
35
- code: null,
36
- roleDesc: "12312312",
37
- type: "2",
38
- },
39
- {
40
- orgId: null,
41
- orgName: null,
42
- pOrgId: null,
43
- pOrgName: null,
44
- id: "1457955441385267249",
45
- roleName: "测试1111111",
46
- code: null,
47
- roleDesc: "123",
48
- type: "2",
49
- },
50
- {
51
- orgId: null,
52
- orgName: null,
53
- pOrgId: null,
54
- pOrgName: null,
55
- id: "1447809394829975603",
56
- roleName: "角色12312312",
57
- code: "",
58
- roleDesc: "12312312",
59
- type: "2",
60
- },
61
- {
62
- orgId: null,
63
- orgName: null,
64
- pOrgId: null,
65
- pOrgName: null,
66
- id: "1457599015289286737",
67
- roleName: "ceshi",
68
- code: null,
69
- roleDesc: "11",
70
- type: "2",
71
- },
72
- ],
73
- roleMembers: [
74
- {
75
- id: "123321",
76
- userId: "123321",
77
- name: "何波2",
78
- workNo: "123321",
79
- logo: "https://static-legacy.dingtalk.com/media/lADOBH98H80EZc0EZQ_1125_1125.jpg",
80
- },
81
- {
82
- id: "817441111088824320",
83
- userId: "817441111088824320",
84
- name: "范绍东",
85
- workNo: "00017",
86
- logo: "https://static-legacy.dingtalk.com/media/lADOBH98H80EZc0EZQ_1125_1125.jpg",
87
- },
88
- {
89
- id: "1",
90
- userId: "1",
91
- name: "admin",
92
- workNo: "-1",
93
- logo: "noway#-1_1417408911061868633.png",
94
- },
95
- ],
96
- // 新增修改角色校验
97
- rules: {
98
- roleName: [
99
- {
100
- required: true,
101
- message: "请输入角色名称",
102
- },
103
- ],
104
- roleDesc: [
105
- {
106
- required: true,
107
- message: "请输入描述",
108
- },
109
- ],
110
- },
111
- //权限最终渲染数据
112
- treeData: [],
113
- deptData: deptData,
114
- // formInlineRender: {}, //如果不需要选择范围不传此参数
115
- //人员部门弹窗原始数据
116
- data: organizeData,
117
- //远程已选的人员和部门
118
- checkedList: [
119
- //要把当前登录账号传进去,如果后端没返的话
120
- {
121
- id: "1", //admin
122
- isDept: "0",
123
- name: "admin",
124
- },
125
- {
126
- id: "373449754", //微测
127
- isDept: "1",
128
- name: "微测中心",
129
- },
130
- ],
131
- checkedDeptList: [],
132
- };
133
- },
134
- created() {
135
- this.getData();
136
- },
137
- methods: {
138
- //请求权限数据
139
- getData() {
140
- //权限总数据
141
- let p1 = new Promise((resolve) => {
142
- setTimeout(() => {
143
- resolve(authorityData);
144
- }, 1000);
145
- });
146
- //已有权限
147
- let p2 = new Promise((resolve) => {
148
- setTimeout(() => {
149
- resolve(authorityId);
150
- }, 1500);
151
- });
152
- Promise.all([p1, p2]).then((res) => {
153
- //传参可能要处理掉外层无用字段
154
- this.mergeAuthorityData(res[0], res[1]);
155
- });
156
- },
157
- //合并权限数据(一二级菜单的下级全选则checked才为true,为了交互逻辑牺牲了数据逻辑,)
158
- mergeAuthorityData(authorityData, authorityId) {
159
- //--------------不需要范围功能,props里不传formInlineRender,此处代码忽略-------------
160
- // this.formInlineRender.menuObj = authorityId.effectObject || "2";
161
- // if (authorityId.effectObject != "1") {
162
- // this.formInlineRender.menuOrg = "";
163
- // } else {
164
- // let scope = authorityId.menus.find((v) => v.dataScope);
165
- // this.formInlineRender.menuOrg = scope?.dataScope;
166
- // if (this.formInlineRender.menuOrg == "7") {
167
- // this.formInlineRender.selectNode = scope.deptId;
168
- // }
169
- // }
170
-
171
- authorityData.forEach((menu) => {
172
- menu.level = 1;
173
- menu.menuChecked = false;
174
-
175
- //给对应层级添加dataScope以及deptId字段
176
- menu.dataScope = "6";
177
- menu.deptId = [];
178
- authorityId.menus.forEach((v) => {
179
- if (menu.id == v.menuId) {
180
- menu.dataScope = v.dataScope;
181
- menu.deptId = v.deptId;
182
- }
183
- });
184
-
185
- //如果一级菜单既有权限又有二级菜单,那么数据有误
186
- if (menu.subMenus.length > 0 && menu.permissions.length > 0) {
187
- this.$message.error(
188
- menu.menuName + "权限数据有误,同时存在按钮权限和下级菜单"
189
- );
190
- }
191
-
192
- //添加一级菜单的按钮权限的选中状态
193
- menu.permissions.forEach((permission) => {
194
- permission.checked = authorityId.permissions.includes(
195
- permission.perm
196
- );
197
- });
198
- //添加二级菜单的权限选中状态
199
- menu.subMenus.forEach((subMenu) => {
200
- subMenu.level = 2;
201
- subMenu.menuChecked = false;
202
-
203
- //给对应层级添加dataScope以及deptId字段
204
- subMenu.dataScope = "6";
205
- subMenu.deptId = [];
206
- authorityId.menus.forEach((v) => {
207
- if (subMenu.id == v.menuId) {
208
- subMenu.dataScope = v.dataScope;
209
- subMenu.deptId = v.deptId;
210
- }
211
- });
212
-
213
- //按钮权限
214
- subMenu.permissions.forEach((permission) => {
215
- permission.checked = authorityId.permissions.includes(
216
- permission.perm
217
- );
218
- });
219
- //判断二级菜单是否半选(permissions有false和true)
220
- let permissions = subMenu.permissions;
221
- subMenu.isIndeterminate =
222
- permissions.some((i) => i.checked) &&
223
- permissions.some((i) => !i.checked);
224
-
225
- /**
226
- * 二级菜单权限选中逻辑
227
- * 1.有按钮权限
228
- * 半选 checked:false
229
- * 非半选 1)按钮权限全选 checked:true
230
- * 2)按钮权限全不选 checked:false
231
- * 注意数组为0,every返回true
232
- * 2.没按钮权限,根据id匹配
233
- */
234
- if (permissions.length) {
235
- subMenu.checked = permissions.every((i) => i.checked);
236
- } else {
237
- subMenu.checked = authorityId.menus
238
- .map((m) => m.menuId)
239
- .includes(subMenu.id);
240
- }
241
-
242
- //如果有三级菜单,则数据有误
243
- if (subMenu.subMenus.length) {
244
- this.$message.error(
245
- subMenu.menuName + "权限数据有误,同时存在按钮权限和下级菜单"
246
- );
247
- }
248
-
249
- subMenu.menuChecked = authorityId.menus
250
- .map((m) => m.menuId)
251
- .includes(subMenu.id);
252
- });
253
-
254
- /**
255
- * 一级菜单半选逻辑
256
- * 1)有子半选
257
- * 2)子选和子不选同时存在(无子半选)
258
- */
259
- let childrenKey = menu.subMenus.length ? "subMenus" : "permissions";
260
- let subNode = menu[childrenKey];
261
- menu.isIndeterminate =
262
- subNode.some((i) => i.isIndeterminate) ||
263
- (subNode.some((i) => i.checked) && subNode.some((i) => !i.checked));
264
-
265
- /**
266
- * 一级菜单权限选中逻辑
267
- * 无二级菜单同时无一级按钮,根据id匹配
268
- * 有一级按钮:全部选中 =>true
269
- * 有二级菜单:全部选中 =>true
270
- * */
271
- if (!menu.subMenus.length && !menu.permissions.length) {
272
- menu.checked = authorityId.menus
273
- .map((m) => m.menuId)
274
- .includes(menu.id);
275
- } else {
276
- menu.checked = menu[childrenKey].every((i) => i.checked);
277
- }
278
- menu.menuChecked = authorityId.menus
279
- .map((m) => m.menuId)
280
- .includes(menu.id);
281
- });
282
- //建议深拷贝一份,如果源数据有多处使用的情况的话
283
- this.treeData = lodash.cloneDeep(authorityData);
284
- console.log(this.treeData);
285
- },
286
- //打开选择人员部门的弹窗并传入数据
287
- openOrganizeDialog(dialog) {
288
- dialog.open();
289
- let p1 = new Promise((resolve) => {
290
- setTimeout(() => {
291
- resolve(this.data); //!!!!!data是obj不是array
292
- }, 0);
293
- });
294
- let p2 = new Promise((resolve) => {
295
- setTimeout(() => {
296
- resolve(this.checkedList);
297
- }, 0);
298
- });
299
- Promise.all([p1, p2])
300
- .then((res) => {
301
- dialog.init(res[0], res[1]);
302
- })
303
- .catch((err) => {
304
- console.log(err);
305
- });
306
- },
307
- //保存权限
308
- savePemissions(data) {
309
- console.log("已选择的权限数据:", data);
310
- },
311
- //提交选择的人员和部门
312
- chooseOrganizeMembers(data) {
313
- console.log("已选择的人员部门数据:", data);
314
- },
315
- submitRole(formData) {
316
- console.log("有id是修改角色,反之新增:", formData);
317
- },
318
- deleteRole(id) {
319
- console.log("删除角色:", id);
320
- },
321
- tabRole(id) {
322
- console.log("切换角色:", id);
323
- },
324
- removeRoleMember(member, type) {
325
- //type为1是成员,2是部门
326
- console.log("移出角色成员", member, type);
327
- },
328
- },
329
- };
330
- </script>
331
- <style lang="scss" scoped>
332
- .hb-authority-wrapper {
333
- height: calc(100vh - 90px);
334
- width: calc(100vw - 500px);
335
- padding-top: 80px;
336
- padding-bottom: 10px;
337
- margin-left: 200px;
338
- }
339
- </style>
@@ -1,39 +0,0 @@
1
- <template>
2
- <div>
3
- <el-button @click="open">打开弹窗</el-button>
4
- <hb-dialog title="弹窗" ref="dialog">
5
- <template v-slot:before>
6
- <div>前置插槽 before</div>
7
- </template>
8
- <template v-slot:form>
9
- <div>表单插槽 form</div>
10
- </template>
11
- <template v-slot:normal>
12
- <div>普通插槽 normal</div>
13
- </template>
14
- <template v-slot:after>
15
- <div>后置插槽 after</div>
16
- </template>
17
- <template v-slot:bottom>
18
- <div>底部插槽 bottom</div>
19
- </template>
20
- </hb-dialog>
21
- </div>
22
- </template>
23
- <script>
24
- export default {
25
- data() {
26
- return {
27
- activeName: "first",
28
- };
29
- },
30
- methods: {
31
- open() {
32
- this.$refs.dialog.open();
33
- },
34
- },
35
- };
36
- </script>
37
-
38
- <style>
39
- </style>