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,57 @@
1
+ <template>
2
+ <div class="wrapper">
3
+ <img
4
+ v-for="(item, index) in urls"
5
+ :src="item"
6
+ :key="index"
7
+ alt=""
8
+ @click="show(index)"
9
+ />
10
+ <!-- <hb-image-viewer></hb-image-viewer> -->
11
+ <div>
12
+ <pre>
13
+ 快捷键功能 esc => 关闭弹窗
14
+ → => 下一张
15
+ ← => 上一张
16
+ 鼠标滚轮下 => 放大
17
+ 鼠标滚轮上 => 缩小
18
+
19
+ </pre>
20
+ </div>
21
+ </div>
22
+ </template>
23
+ <script>
24
+ import img1 from "../image/hb-image-viewer/3k.jpg";
25
+ import img2 from "../image/hb-image-viewer/a.jpg";
26
+ import img3 from "../image/hb-image-viewer/b.jpg";
27
+
28
+ export default {
29
+ data() {
30
+ return {
31
+ zIndex: 200, //组件内默认100
32
+ urls: [img1, img2, img3],
33
+ };
34
+ },
35
+ methods: {
36
+ show(index) {
37
+ this.$hbViewer({
38
+ urls: this.urls,
39
+ activeIndex: index,
40
+ });
41
+ },
42
+ },
43
+ };
44
+ </script>
45
+
46
+ <style lang="scss" scoped>
47
+ .wrapper {
48
+ img {
49
+ width: 100px;
50
+ height: 100px;
51
+ object-fit: contain;
52
+ border: 1px solid #000;
53
+ margin: 10px;
54
+ background: #fff;
55
+ }
56
+ }
57
+ </style>
@@ -0,0 +1,37 @@
1
+ <template>
2
+ <div>
3
+ <hb-navmenu :data="menuList" :props="defaultProps"></hb-navmenu>
4
+ </div>
5
+ </template>
6
+
7
+ <script>
8
+ export default {
9
+ data() {
10
+ return {
11
+ menuList: [
12
+ {
13
+ label: "说明1",
14
+ icon: "el-icon-delete",
15
+ path: "/HBNavMenu",
16
+ children: [
17
+ {
18
+ label: "说明文字说明文字说明文字",
19
+ icon: "el-icon-delete",
20
+ path: "/HBNavMenu/pathsub1",
21
+ },
22
+ ],
23
+ },
24
+ ],
25
+ defaultProps: {
26
+ icon: "icon",
27
+ label: "label",
28
+ path: "path",
29
+ children: "children",
30
+ id: "id",
31
+ },
32
+ };
33
+ },
34
+ };
35
+ </script>
36
+
37
+ <style></style>
@@ -0,0 +1,133 @@
1
+ <template>
2
+ <div>
3
+ <hb-organize-dialog
4
+ :deptOnly="deptOnly"
5
+ :cancelAble="cancelAble"
6
+ ref="organize"
7
+ @confirm="confirm"
8
+ />
9
+ <el-button @click="open">选择部门和人员</el-button>
10
+ <el-button @click="openDept">仅选择部门</el-button>
11
+ </div>
12
+ </template>
13
+ <script>
14
+ import organizeData from "../mock/organizeData";
15
+ import { deptData } from "../mock/dept";
16
+
17
+ export default {
18
+ data() {
19
+ return {
20
+ deptOnly: false,
21
+ cancelAble: true,
22
+ checkedList: [
23
+ //要把当前登录账号传进去,如果后端没返的话
24
+ {
25
+ id: "1",
26
+ isDept: "0",
27
+ name: "admin",
28
+ key: "value", //传入额外的key在选中时会抛出来!!
29
+ },
30
+ {
31
+ id: "373449754",
32
+ isDept: "1",
33
+ name: "微测中心",
34
+ },
35
+ {
36
+ id: "425752602",
37
+ isDept: "1",
38
+ name: "区域中心",
39
+ },
40
+ {
41
+ id: "774345882437943296",
42
+ isDept: "0",
43
+ name: "刘洋",
44
+ },
45
+ {
46
+ id: "774345860757585920",
47
+ isDept: "0",
48
+ name: "尹松",
49
+ },
50
+ {
51
+ id: "774345856772997120",
52
+ isDept: "0",
53
+ name: "许小辉",
54
+ },
55
+ ],
56
+ checkedDeptList: [
57
+ {
58
+ id: "455215811",
59
+ name: "商务组",
60
+ },
61
+ {
62
+ id: "455114863",
63
+ name: "销售组",
64
+ },
65
+ ],
66
+ data: organizeData,
67
+ };
68
+ },
69
+ methods: {
70
+ openDept() {
71
+ this.deptOnly = true;
72
+ this.$refs.organize.open();
73
+ let p1 = new Promise((resolve) => {
74
+ setTimeout(() => {
75
+ this.fixData(deptData);
76
+ resolve(deptData);
77
+ }, 0);
78
+ });
79
+ let p2 = new Promise((resolve) => {
80
+ setTimeout(() => {
81
+ let arr = this.checkedDeptList.map((item) =>
82
+ Object.assign(item, { isDept: "1" })
83
+ );
84
+ resolve(arr);
85
+ }, 0);
86
+ });
87
+ Promise.all([p1, p2])
88
+ .then((res) => {
89
+ this.$refs.organize.init(res[0][0], res[1]);
90
+ })
91
+ .catch((err) => {
92
+ console.log(err);
93
+ });
94
+ },
95
+ fixData(deptData) {
96
+ deptData.forEach((item) => {
97
+ item.children = item.child || [];
98
+ item.isDept = "1";
99
+ item.child?.length && this.fixData(item.child);
100
+ });
101
+ },
102
+ open() {
103
+ this.deptOnly = false;
104
+ this.$refs.organize.open();
105
+ let p1 = new Promise((resolve) => {
106
+ setTimeout(() => {
107
+ resolve(this.data); //!!!!!data是obj不是array
108
+ }, 0);
109
+ });
110
+ let p2 = new Promise((resolve) => {
111
+ setTimeout(() => {
112
+ resolve(this.checkedList);
113
+ }, 0);
114
+ });
115
+ Promise.all([p1, p2])
116
+ .then((res) => {
117
+ this.$refs.organize.init(res[0], res[1]);
118
+ })
119
+ .catch((err) => {
120
+ console.log(err);
121
+ });
122
+ },
123
+ confirm(data) {
124
+ console.log(data);
125
+ //不会自动关闭人员选择框需要手动调用
126
+ // this.$refs.organize.close()
127
+ },
128
+ },
129
+ };
130
+ </script>
131
+
132
+ <style>
133
+ </style>
@@ -0,0 +1,80 @@
1
+ <template>
2
+ <div>
3
+ <hb-pagination
4
+ :columns="columns"
5
+ :pageData="pageData"
6
+ :pageSizes="pageSizes"
7
+ @change="handlePageChange"
8
+ @changeColumn="handleChangeColumn"
9
+ >
10
+ </hb-pagination>
11
+ </div>
12
+ </template>
13
+
14
+ <script>
15
+ export default {
16
+ data() {
17
+ return {
18
+ columns: [
19
+ {
20
+ prop: "name",
21
+ label: "名称",
22
+ currentSelect: true,
23
+ },
24
+ {
25
+ prop: "code",
26
+ label: "编码",
27
+ currentSelect: true,
28
+ },
29
+ {
30
+ prop: "company",
31
+ label: "公司",
32
+ currentSelect: true,
33
+ },
34
+ {
35
+ prop: "addr",
36
+ label: "地址",
37
+ currentSelect: true,
38
+ },
39
+ {
40
+ prop: "desc",
41
+ label: "简介",
42
+ currentSelect: true,
43
+ },
44
+ {
45
+ prop: "remark",
46
+ label: "说明",
47
+ currentSelect: true,
48
+ },
49
+ ],
50
+ // 分页配置
51
+ pageData: {
52
+ pageSize: 2,
53
+ pageNum: 1,
54
+ total: 100,
55
+ },
56
+ pageSizes: [2, 30, 50, 100],
57
+ };
58
+ },
59
+ methods: {
60
+ /**
61
+ * @function handleChangeColumn 列改变
62
+ */
63
+ handleChangeColumn(newColumns) {
64
+ this.$message.success("列改变");
65
+ this.columns = newColumns;
66
+ },
67
+ /**
68
+ * @function handlePageChange 页码改变
69
+ */
70
+ handlePageChange() {
71
+ //
72
+ this.$message.success("页码改变");
73
+ console.log(arguments);
74
+ },
75
+ },
76
+ mounted() {},
77
+ };
78
+ </script>
79
+
80
+ <style></style>
@@ -0,0 +1,57 @@
1
+ <template>
2
+ <div class="demo-wrapper">
3
+ <hb-select-vague
4
+ :options="options"
5
+ :defaultProps="defaultProps"
6
+ multiple
7
+ v-model="selected"
8
+ @change="onSelected"
9
+ ></hb-select-vague>
10
+ </div>
11
+ </template>
12
+ <script>
13
+ export default {
14
+ data() {
15
+ return {
16
+ options: [
17
+ {
18
+ id: 1,
19
+ name: "刘洋",
20
+ disabled: true,
21
+ },
22
+ {
23
+ id: 2,
24
+ name: "柏飞",
25
+ },
26
+ {
27
+ id: 3,
28
+ name: "白费了",
29
+ },
30
+ {
31
+ id: 4,
32
+ name: "一百飞",
33
+ },
34
+ ],
35
+ defaultProps: {
36
+ value: "id",
37
+ label: "name",
38
+ },
39
+ selected: "",
40
+ };
41
+ },
42
+ methods: {
43
+ onSelected(res) {
44
+ //this.formData.selectValue = res 模拟数据绑定
45
+ console.log("hb-selected下拉框已选数据:", res);
46
+ },
47
+ },
48
+ };
49
+ </script>
50
+
51
+ <style lang="scss" scoped>
52
+ .demo-wrapper {
53
+ display: flex;
54
+ justify-content: center;
55
+ padding-top: 150px;
56
+ }
57
+ </style>
@@ -0,0 +1,29 @@
1
+ <template>
2
+ <div>
3
+ <hb-toolgroup
4
+ :icons="['add', 'test', 'upload', 'delete']"
5
+ :tools="tools"
6
+ @event="handleEvent"
7
+ @search="handleSearch"
8
+ >
9
+ <el-button size="mini">附加按钮</el-button>
10
+ </hb-toolgroup>
11
+ </div>
12
+ </template>
13
+ <script>
14
+ export default {
15
+ data() {
16
+ return {
17
+ tools: [{ event: "test", text: "测试" }],
18
+ };
19
+ },
20
+ methods: {
21
+ handleEvent(event) {
22
+ this.$message.success(`事件:${event}`);
23
+ },
24
+ handleSearch(kw) {
25
+ this.$message.success(`搜索:${kw}`);
26
+ },
27
+ },
28
+ };
29
+ </script>
@@ -0,0 +1,16 @@
1
+ <template>
2
+ <div>
3
+ <hb-top-bar></hb-top-bar>
4
+ </div>
5
+ </template>
6
+ <script>
7
+ export default {
8
+ data() {
9
+ return {};
10
+ },
11
+ methods: {},
12
+ };
13
+ </script>
14
+
15
+ <style>
16
+ </style>
package/lib/demo.html ADDED
@@ -0,0 +1,10 @@
1
+ <meta charset="utf-8">
2
+ <title>hbte-ui demo</title>
3
+ <script src="./hbte-ui.umd.js"></script>
4
+
5
+ <link rel="stylesheet" href="./hbte-ui.css">
6
+
7
+
8
+ <script>
9
+ console.log(hbte-ui)
10
+ </script>
Binary file