xs-common-plugins 1.2.4 → 1.2.6

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 (188) hide show
  1. package/README.md +309 -299
  2. package/common.js +110 -110
  3. package/index.js +1 -1
  4. package/package.json +16 -16
  5. package/src/App.vue +12 -12
  6. package/src/common/common.js +551 -549
  7. package/src/common/createMenuId.js +7 -7
  8. package/src/common/uploadImgToBase64.js +12 -12
  9. package/src/common/utils.js +95 -95
  10. package/src/components/Breadcrumb/index.vue +81 -81
  11. package/src/components/CheckBox_Cmp/index.vue +62 -62
  12. package/src/components/Col_TableCell/data.js +4 -4
  13. package/src/components/Col_TableCell/index.scss +77 -77
  14. package/src/components/Col_TableCell/index.vue +43 -43
  15. package/src/components/Col_TableCell/methods.js +19 -19
  16. package/src/components/FormItem/index.vue +92 -92
  17. package/src/components/Hamburger/index.vue +44 -44
  18. package/src/components/ReportCmp/data.js +3 -3
  19. package/src/components/ReportCmp/index.scss +29 -29
  20. package/src/components/ReportCmp/index.vue +76 -76
  21. package/src/components/ReportCmp/methods.js +30 -30
  22. package/src/components/Search/cascader/data.js +3 -3
  23. package/src/components/Search/cascader/index.scss +17 -17
  24. package/src/components/Search/cascader/index.vue +96 -96
  25. package/src/components/Search/cascader/methods.js +41 -41
  26. package/src/components/Search/data.js +5 -5
  27. package/src/components/Search/hk_cascader/index.vue +104 -104
  28. package/src/components/Search/hk_cascader_qudao/index.vue +94 -94
  29. package/src/components/Search/index.scss +219 -219
  30. package/src/components/Search/index.vue +410 -410
  31. package/src/components/Search/methods.js +86 -86
  32. package/src/components/Search/product_option/data.js +3 -3
  33. package/src/components/Search/product_option/index.scss +68 -68
  34. package/src/components/Search/product_option/index.vue +412 -412
  35. package/src/components/Search/product_option/methods.js +58 -58
  36. package/src/components/Search/select/data.js +3 -3
  37. package/src/components/Search/select/index.scss +2 -2
  38. package/src/components/Search/select/index.vue +114 -114
  39. package/src/components/Search/select/methods.js +51 -51
  40. package/src/components/Search_filter/data.js +5 -5
  41. package/src/components/Search_filter/index.scss +104 -104
  42. package/src/components/Search_filter/index.vue +88 -88
  43. package/src/components/Search_filter/methods.js +43 -43
  44. package/src/components/TableCmp/data.js +3 -3
  45. package/src/components/TableCmp/index.scss +22 -22
  46. package/src/components/TableCmp/index.vue +98 -98
  47. package/src/components/TableCmp/methods.js +35 -35
  48. package/src/components/TableItem/TableItem.vue +55 -55
  49. package/src/components/TextOVer/index.vue +55 -55
  50. package/src/components/UploadImg/index.vue +177 -177
  51. package/src/components/home/BarChart.vue +118 -118
  52. package/src/components/home/LineChart.vue +146 -146
  53. package/src/components/home/Panel.vue +135 -135
  54. package/src/components/home/PanelGroup.vue +146 -146
  55. package/src/components/home/PieChart.vue +81 -81
  56. package/src/components/home/RaddarChart.vue +119 -119
  57. package/src/components/home/TabLayout.vue +88 -88
  58. package/src/components/home/TableList.vue +158 -158
  59. package/src/components/home/Teng.vue +248 -248
  60. package/src/components/home/TransactionTable.vue +49 -49
  61. package/src/components/home/mixins/resize.js +55 -55
  62. package/src/components/im/index.vue +155 -155
  63. package/src/components/im/methods.js +25 -25
  64. package/src/components/im/pages/chatList/index.vue +45 -45
  65. package/src/components/im/pages/chatRoom/index.vue +159 -159
  66. package/src/components/image-singleUpload/data.js +3 -3
  67. package/src/components/image-singleUpload/index.scss +26 -26
  68. package/src/components/image-singleUpload/index.vue +56 -56
  69. package/src/components/image-singleUpload/methods.js +30 -30
  70. package/src/components/image-upload/data.js +7 -7
  71. package/src/components/image-upload/index.vue +41 -41
  72. package/src/components/image-upload/methods.js +80 -80
  73. package/src/components/multiple-image-upload/data.js +11 -11
  74. package/src/components/multiple-image-upload/index.scss +8 -8
  75. package/src/components/multiple-image-upload/index.vue +63 -63
  76. package/src/components/multiple-image-upload/methods.js +45 -45
  77. package/src/components/pro-upload/data.js +3 -3
  78. package/src/components/pro-upload/index.scss +4 -4
  79. package/src/components/pro-upload/index.vue +89 -89
  80. package/src/components/pro-upload/methods.js +86 -86
  81. package/src/components/report_set/index.scss +44 -44
  82. package/src/components/report_set/index.vue +153 -153
  83. package/src/components/search-page/src/index.scss +5 -5
  84. package/src/components/search-page/src/index.vue +76 -76
  85. package/src/components/search-page/src/methods.js +36 -36
  86. package/src/components/xsSelect/index.vue +125 -125
  87. package/src/mixin/dialog.js +31 -31
  88. package/src/mixin/dlg.js +46 -46
  89. package/src/mixin/keepAlive.js +53 -53
  90. package/src/mixin/newDialog.js +19 -19
  91. package/src/mixin/report.js +82 -82
  92. package/src/mixin/table.js +93 -93
  93. package/src/mixin/tableCell/colTableCell_analysis.js +103 -103
  94. package/src/mixin/upload.js +22 -22
  95. package/src/mixin/vmodel.js +26 -26
  96. package/src/plugins/im/components/chat/index.scss +163 -163
  97. package/src/plugins/im/components/chat/index.vue +144 -144
  98. package/src/plugins/im/components/chat/methods.js +149 -149
  99. package/src/plugins/im/components/conversation-list/index.css +91 -91
  100. package/src/plugins/im/components/conversation-list/index.json +3 -3
  101. package/src/plugins/im/components/conversation-list/index.vue +89 -89
  102. package/src/plugins/im/components/loading/loading.css +69 -69
  103. package/src/plugins/im/components/loading/loading.json +3 -3
  104. package/src/plugins/im/components/loading/loading.vue +14 -14
  105. package/src/plugins/im/components/msg-image/index.json +3 -3
  106. package/src/plugins/im/components/msg-image/index.vue +40 -40
  107. package/src/plugins/im/components/msg-text/index.json +3 -3
  108. package/src/plugins/im/components/msg-text/index.vue +24 -24
  109. package/src/plugins/im/components/send-msg/index.scss +164 -164
  110. package/src/plugins/im/components/send-msg/index.vue +107 -107
  111. package/src/plugins/im/components/send-msg/methods.js +125 -125
  112. package/src/plugins/im/components/template-message/index.vue +76 -76
  113. package/src/plugins/im/components/without.vue +19 -19
  114. package/src/plugins/im/im-plug-in/Protobuf-2.3.7.min.js +1 -1
  115. package/src/plugins/im/im-plug-in/RongCallLib-3.1.5.min.js +74 -74
  116. package/src/plugins/im/im-plug-in/RongIMLib-4.1.0.js +17420 -17420
  117. package/src/plugins/im/im-plug-in/init.js +216 -216
  118. package/src/plugins/im/im-plug-in/qiniu.js +266 -266
  119. package/src/plugins/im/im-plug-in/send-data.js +431 -431
  120. package/src/plugins/im/im-plug-in/upload.js +232 -232
  121. package/src/plugins/im/index.js +31 -31
  122. package/src/plugins/im/lib/RongIMEmoji-2.2.6.js +332 -332
  123. package/src/plugins/im/lib/RongIMLib-3.0.7.2-dev.js +11635 -11635
  124. package/src/plugins/im/lib/RongIMLib-3.0.7.2-dev.min.js +6 -6
  125. package/src/plugins/im/utils/services.js +625 -625
  126. package/src/plugins/im/utils/underscore-1.8.3.js +1531 -1531
  127. package/src/plugins/im/utils/utils.js +149 -149
  128. package/src/plugins/index.js +60 -60
  129. package/src/plugins/row-col-cmp/colCmp/data.js +3 -3
  130. package/src/plugins/row-col-cmp/colCmp/index.scss +50 -50
  131. package/src/plugins/row-col-cmp/colCmp/index.vue +53 -53
  132. package/src/plugins/row-col-cmp/colCmp/methods.js +25 -25
  133. package/src/plugins/row-col-cmp/index.js +20 -20
  134. package/src/plugins/row-col-cmp/rowCmp/data.js +3 -3
  135. package/src/plugins/row-col-cmp/rowCmp/index.scss +3 -3
  136. package/src/plugins/row-col-cmp/rowCmp/index.vue +43 -43
  137. package/src/plugins/row-col-cmp/rowCmp/methods.js +29 -29
  138. package/src/router/index.js +58 -58
  139. package/src/router/permission.js +126 -126
  140. package/src/store/getters.js +13 -13
  141. package/src/store/index.js +60 -60
  142. package/src/store/modules/app.js +55 -55
  143. package/src/store/modules/dic.js +74 -74
  144. package/src/store/modules/oss.js +40 -40
  145. package/src/store/modules/settings.js +28 -28
  146. package/src/store/modules/tagsView.js +160 -160
  147. package/src/store/modules/user.js +94 -94
  148. package/src/store/modules/widgetdata.js +42 -42
  149. package/src/styles/element-ui.scss +49 -49
  150. package/src/styles/index.scss +91 -91
  151. package/src/styles/mixin.scss +28 -28
  152. package/src/styles/sidebar.scss +210 -210
  153. package/src/styles/table.scss +90 -90
  154. package/src/styles/transition.scss +48 -48
  155. package/src/styles/variables.scss +25 -25
  156. package/src/utils/api.js +54 -54
  157. package/src/utils/auth.js +38 -38
  158. package/src/utils/concat_batch_btns.js +88 -88
  159. package/src/utils/enum.js +150 -150
  160. package/src/utils/filter.js +5 -5
  161. package/src/utils/filterRules.js +55 -55
  162. package/src/utils/get-page-title.js +10 -10
  163. package/src/utils/getMenu.js +82 -82
  164. package/src/utils/global-config.js +15 -15
  165. package/src/utils/global_directive.js +10 -10
  166. package/src/utils/index.js +332 -332
  167. package/src/utils/localStorage.js +21 -21
  168. package/src/utils/ossService.js +55 -55
  169. package/src/utils/prototype.js +46 -46
  170. package/src/utils/search.js +33 -33
  171. package/src/utils/signalR.js +24 -24
  172. package/src/utils/validate.js +20 -20
  173. package/src/views/callback/index.vue +35 -35
  174. package/src/views/home/index.vue +25 -25
  175. package/src/views/layout/components/AllSearch/index.vue +44 -44
  176. package/src/views/layout/components/AppMain.vue +66 -66
  177. package/src/views/layout/components/Sidebar/FixiOSBug.js +26 -26
  178. package/src/views/layout/components/Sidebar/Item.vue +28 -28
  179. package/src/views/layout/components/Sidebar/Link.vue +34 -34
  180. package/src/views/layout/components/Sidebar/Logo.vue +79 -79
  181. package/src/views/layout/components/Sidebar/SidebarItem.vue +67 -67
  182. package/src/views/layout/components/Sidebar/index.vue +114 -114
  183. package/src/views/layout/components/TagsView/ScrollPane.vue +94 -94
  184. package/src/views/layout/components/TagsView/index.vue +330 -330
  185. package/src/views/layout/components/index.js +3 -3
  186. package/src/views/layout/index.vue +107 -107
  187. package/src/views/redirect/index.vue +12 -12
  188. package/src/views/slienceAuth/index.vue +42 -42
@@ -1,177 +1,177 @@
1
- <template>
2
- <div class="pro-upload-wrapper">
3
- <el-upload
4
- action="#"
5
- multiple
6
- :limit="limit"
7
- :http-request="httpRequest"
8
- list-type="picture-card"
9
- :on-preview="handlePictureCardPreview"
10
- :before-upload="handleBeforeUpload"
11
- :file-list="fileList"
12
- :class="{ hide: hiddenUpload }"
13
- :on-remove="handleRemove"
14
- >
15
- <i class="el-icon-plus"></i>
16
- </el-upload>
17
-
18
- <el-dialog :visible.sync="dialogVisible">
19
- <img :src="dialogImageUrl" alt />
20
- </el-dialog>
21
- </div>
22
- </template>
23
-
24
- <script>
25
- export default {
26
- $$route: {
27
- meta: {
28
- title: "标题名称",
29
- icon: "菜单图标",
30
- },
31
- },
32
- props: {
33
- value: {
34
- type: [Array, String],
35
- default: () => [],
36
- },
37
- fileUrls: {
38
- type: [Array, String],
39
- default: () => [],
40
- },
41
- limit: {
42
- type: Number,
43
- default: 1,
44
- },
45
- },
46
- data() {
47
- return {
48
- dialogImageUrl: '',
49
- dialogVisible: false,
50
- hiddenUpload: false,
51
- fileList: [],
52
-
53
- };
54
- },
55
- watch: {
56
- value: {
57
-
58
- handler(newVal) {
59
- if (typeof newVal === "string") {
60
- if (newVal) {
61
- this.fileList = [{ url: [newVal] }];
62
- } else {
63
- this.fileList = [];
64
- }
65
- } else if (newVal instanceof Array) {
66
- let list = [];
67
- newVal.forEach((item) => {
68
- list.push({ url: [item] });
69
- });
70
- this.fileList = list;
71
- }
72
- },
73
- immediate: true,
74
- deep: true,
75
- },
76
- fileList: {
77
- handler(newVal) {
78
- if (newVal.length == this.limit) {
79
- this.hiddenUpload = true;
80
- } else {
81
- this.hiddenUpload = false;
82
- }
83
- },
84
- immediate: true,
85
- deep: true,
86
- },
87
- },
88
- methods: {
89
- /**
90
- * 图片预览
91
- * @param {*} file
92
- */
93
- handlePictureCardPreview(file) {
94
- this.dialogImageUrl = file.url;
95
- this.dialogVisible = true;
96
- },
97
-
98
- /**
99
- * 删除图片
100
- * @param {*} file
101
- * @param {*} fileList
102
- */
103
- handleRemove(file, fileList) {
104
- this.fileList = fileList;
105
- if (fileList.length < this.limit) {
106
- this.hiddenUpload = false;
107
- }
108
- let fileValList = [];
109
- this.fileList.forEach((item) => {
110
- fileValList.push(item.url[0]);
111
- });
112
- this.$emit(
113
- "input",
114
- this.limit == 1 ? (fileValList[0] ? fileValList[0] : "") : fileValList
115
- );
116
- },
117
- /**
118
- * 覆盖默认的上传行为,自定义上传的实现
119
- * @param {*} data
120
- */
121
- httpRequest(data) {
122
- const that = this;
123
- let fd = new FormData();
124
- fd.append("files", data.file); //传文件
125
- this.$http
126
- .post("api.img.upload", fd, {
127
- headers: {
128
- "Content-Type": "multipart/form-data",
129
- },
130
- })
131
- .then(function (res) {
132
- if (res.code === 0) {
133
- that.fileList.push({
134
- url: res.data,
135
- });
136
- if (that.fileList.length >= that.limit) {
137
- that.hiddenUpload = true;
138
- }
139
- let fileValList = [];
140
- that.fileList.forEach((item) => {
141
- fileValList.push(item.url[0]);
142
- });
143
- that.$emit("input", that.limit == 1 ? fileValList[0] : fileValList);
144
- }
145
- });
146
- },
147
-
148
- /**
149
- * 图片上传之前
150
- */
151
- handleBeforeUpload(file) {
152
- const isFormat = /^image\/(jpeg|png|jpg|ico|gif)$/.test(file.type);
153
- const isLt4M = file.size / 1024 / 1024 < 4;
154
- if (!isFormat) {
155
- this.$message.error("上传图片只能是 JPEG/PNG/JPG/ICO/gif 格式!");
156
- }
157
- if (!isLt4M) {
158
- this.$message.error("上传图片大小不能超过 4MB!");
159
- }
160
- return isFormat && isLt4M;
161
- },
162
-
163
- handleDownload(file) {
164
- // console.log(file);
165
- },
166
- uploadSuccess() {},
167
- },
168
- };
169
- </script>
170
- <style scoped>
171
- .el-upload--picture-card {
172
- transform: scale(0.8);
173
- }
174
- .pro-upload-wrapper >>> .hide .el-upload--picture-card {
175
- display: none;
176
- }
177
- </style>
1
+ <template>
2
+ <div class="pro-upload-wrapper">
3
+ <el-upload
4
+ action="#"
5
+ multiple
6
+ :limit="limit"
7
+ :http-request="httpRequest"
8
+ list-type="picture-card"
9
+ :on-preview="handlePictureCardPreview"
10
+ :before-upload="handleBeforeUpload"
11
+ :file-list="fileList"
12
+ :class="{ hide: hiddenUpload }"
13
+ :on-remove="handleRemove"
14
+ >
15
+ <i class="el-icon-plus"></i>
16
+ </el-upload>
17
+
18
+ <el-dialog :visible.sync="dialogVisible">
19
+ <img :src="dialogImageUrl" alt />
20
+ </el-dialog>
21
+ </div>
22
+ </template>
23
+
24
+ <script>
25
+ export default {
26
+ $$route: {
27
+ meta: {
28
+ title: "标题名称",
29
+ icon: "菜单图标",
30
+ },
31
+ },
32
+ props: {
33
+ value: {
34
+ type: [Array, String],
35
+ default: () => [],
36
+ },
37
+ fileUrls: {
38
+ type: [Array, String],
39
+ default: () => [],
40
+ },
41
+ limit: {
42
+ type: Number,
43
+ default: 1,
44
+ },
45
+ },
46
+ data() {
47
+ return {
48
+ dialogImageUrl: '',
49
+ dialogVisible: false,
50
+ hiddenUpload: false,
51
+ fileList: [],
52
+
53
+ };
54
+ },
55
+ watch: {
56
+ value: {
57
+
58
+ handler(newVal) {
59
+ if (typeof newVal === "string") {
60
+ if (newVal) {
61
+ this.fileList = [{ url: [newVal] }];
62
+ } else {
63
+ this.fileList = [];
64
+ }
65
+ } else if (newVal instanceof Array) {
66
+ let list = [];
67
+ newVal.forEach((item) => {
68
+ list.push({ url: [item] });
69
+ });
70
+ this.fileList = list;
71
+ }
72
+ },
73
+ immediate: true,
74
+ deep: true,
75
+ },
76
+ fileList: {
77
+ handler(newVal) {
78
+ if (newVal.length == this.limit) {
79
+ this.hiddenUpload = true;
80
+ } else {
81
+ this.hiddenUpload = false;
82
+ }
83
+ },
84
+ immediate: true,
85
+ deep: true,
86
+ },
87
+ },
88
+ methods: {
89
+ /**
90
+ * 图片预览
91
+ * @param {*} file
92
+ */
93
+ handlePictureCardPreview(file) {
94
+ this.dialogImageUrl = file.url;
95
+ this.dialogVisible = true;
96
+ },
97
+
98
+ /**
99
+ * 删除图片
100
+ * @param {*} file
101
+ * @param {*} fileList
102
+ */
103
+ handleRemove(file, fileList) {
104
+ this.fileList = fileList;
105
+ if (fileList.length < this.limit) {
106
+ this.hiddenUpload = false;
107
+ }
108
+ let fileValList = [];
109
+ this.fileList.forEach((item) => {
110
+ fileValList.push(item.url[0]);
111
+ });
112
+ this.$emit(
113
+ "input",
114
+ this.limit == 1 ? (fileValList[0] ? fileValList[0] : "") : fileValList
115
+ );
116
+ },
117
+ /**
118
+ * 覆盖默认的上传行为,自定义上传的实现
119
+ * @param {*} data
120
+ */
121
+ httpRequest(data) {
122
+ const that = this;
123
+ let fd = new FormData();
124
+ fd.append("files", data.file); //传文件
125
+ this.$http
126
+ .post("api.img.upload", fd, {
127
+ headers: {
128
+ "Content-Type": "multipart/form-data",
129
+ },
130
+ })
131
+ .then(function (res) {
132
+ if (res.code === 0) {
133
+ that.fileList.push({
134
+ url: res.data,
135
+ });
136
+ if (that.fileList.length >= that.limit) {
137
+ that.hiddenUpload = true;
138
+ }
139
+ let fileValList = [];
140
+ that.fileList.forEach((item) => {
141
+ fileValList.push(item.url[0]);
142
+ });
143
+ that.$emit("input", that.limit == 1 ? fileValList[0] : fileValList);
144
+ }
145
+ });
146
+ },
147
+
148
+ /**
149
+ * 图片上传之前
150
+ */
151
+ handleBeforeUpload(file) {
152
+ const isFormat = /^image\/(jpeg|png|jpg|ico|gif)$/.test(file.type);
153
+ const isLt4M = file.size / 1024 / 1024 < 4;
154
+ if (!isFormat) {
155
+ this.$message.error("上传图片只能是 JPEG/PNG/JPG/ICO/gif 格式!");
156
+ }
157
+ if (!isLt4M) {
158
+ this.$message.error("上传图片大小不能超过 4MB!");
159
+ }
160
+ return isFormat && isLt4M;
161
+ },
162
+
163
+ handleDownload(file) {
164
+ // console.log(file);
165
+ },
166
+ uploadSuccess() {},
167
+ },
168
+ };
169
+ </script>
170
+ <style scoped>
171
+ .el-upload--picture-card {
172
+ transform: scale(0.8);
173
+ }
174
+ .pro-upload-wrapper >>> .hide .el-upload--picture-card {
175
+ display: none;
176
+ }
177
+ </style>
@@ -1,118 +1,118 @@
1
- <template>
2
- <div :class="[className,'chart-wrapper']" :style="{height:height,width:width}" />
3
- </template>
4
-
5
- <script>
6
- import echarts from 'echarts'
7
- require('echarts/theme/macarons') // echarts theme
8
- import resize from './mixins/resize'
9
-
10
- const animationDuration = 6000
11
-
12
- export default {
13
- mixins: [resize],
14
- props: {
15
-
16
- layoutItem: Object,
17
- rootData: Object,
18
- rootMeta: Object,
19
- curData: Array,
20
- curMeta: Object,
21
-
22
- className: {
23
- type: String,
24
- default: 'chart'
25
- },
26
- width: {
27
- type: String,
28
- default: '100%'
29
- },
30
- height: {
31
- type: String,
32
- default: '300px'
33
- }
34
- },
35
- data() {
36
- return {
37
- chart: null
38
- }
39
- },
40
- mounted() {
41
- this.$nextTick(() => {
42
- this.initChart()
43
- })
44
- },
45
- beforeDestroy() {
46
- if (!this.chart) {
47
- return
48
- }
49
- this.chart.dispose()
50
- this.chart = null
51
- },
52
- methods: {
53
- initChart() {
54
- this.chart = echarts.init(this.$el, 'macarons')
55
-
56
- this.chart.setOption({
57
- tooltip: {
58
- trigger: 'axis',
59
- axisPointer: {
60
- // 坐标轴指示器,坐标轴触发有效
61
- type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
62
- }
63
- },
64
- grid: {
65
- top: 10,
66
- left: '2%',
67
- right: '2%',
68
- bottom: '3%',
69
- containLabel: true
70
- },
71
- xAxis: [
72
- {
73
- type: 'category',
74
- data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
75
- axisTick: {
76
- alignWithLabel: true
77
- }
78
- }
79
- ],
80
- yAxis: [
81
- {
82
- type: 'value',
83
- axisTick: {
84
- show: false
85
- }
86
- }
87
- ],
88
- series: [
89
- {
90
- name: 'pageA',
91
- type: 'bar',
92
- stack: 'vistors',
93
- barWidth: '60%',
94
- data: [79, 52, 200, 334, 390, 330, 220],
95
- animationDuration
96
- },
97
- {
98
- name: 'pageB',
99
- type: 'bar',
100
- stack: 'vistors',
101
- barWidth: '60%',
102
- data: [80, 52, 200, 334, 390, 330, 220],
103
- animationDuration
104
- },
105
- {
106
- name: 'pageC',
107
- type: 'bar',
108
- stack: 'vistors',
109
- barWidth: '60%',
110
- data: [30, 52, 200, 334, 390, 330, 220],
111
- animationDuration
112
- }
113
- ]
114
- })
115
- }
116
- }
117
- }
118
- </script>
1
+ <template>
2
+ <div :class="[className,'chart-wrapper']" :style="{height:height,width:width}" />
3
+ </template>
4
+
5
+ <script>
6
+ import echarts from 'echarts'
7
+ require('echarts/theme/macarons') // echarts theme
8
+ import resize from './mixins/resize'
9
+
10
+ const animationDuration = 6000
11
+
12
+ export default {
13
+ mixins: [resize],
14
+ props: {
15
+
16
+ layoutItem: Object,
17
+ rootData: Object,
18
+ rootMeta: Object,
19
+ curData: Array,
20
+ curMeta: Object,
21
+
22
+ className: {
23
+ type: String,
24
+ default: 'chart'
25
+ },
26
+ width: {
27
+ type: String,
28
+ default: '100%'
29
+ },
30
+ height: {
31
+ type: String,
32
+ default: '300px'
33
+ }
34
+ },
35
+ data() {
36
+ return {
37
+ chart: null
38
+ }
39
+ },
40
+ mounted() {
41
+ this.$nextTick(() => {
42
+ this.initChart()
43
+ })
44
+ },
45
+ beforeDestroy() {
46
+ if (!this.chart) {
47
+ return
48
+ }
49
+ this.chart.dispose()
50
+ this.chart = null
51
+ },
52
+ methods: {
53
+ initChart() {
54
+ this.chart = echarts.init(this.$el, 'macarons')
55
+
56
+ this.chart.setOption({
57
+ tooltip: {
58
+ trigger: 'axis',
59
+ axisPointer: {
60
+ // 坐标轴指示器,坐标轴触发有效
61
+ type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
62
+ }
63
+ },
64
+ grid: {
65
+ top: 10,
66
+ left: '2%',
67
+ right: '2%',
68
+ bottom: '3%',
69
+ containLabel: true
70
+ },
71
+ xAxis: [
72
+ {
73
+ type: 'category',
74
+ data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
75
+ axisTick: {
76
+ alignWithLabel: true
77
+ }
78
+ }
79
+ ],
80
+ yAxis: [
81
+ {
82
+ type: 'value',
83
+ axisTick: {
84
+ show: false
85
+ }
86
+ }
87
+ ],
88
+ series: [
89
+ {
90
+ name: 'pageA',
91
+ type: 'bar',
92
+ stack: 'vistors',
93
+ barWidth: '60%',
94
+ data: [79, 52, 200, 334, 390, 330, 220],
95
+ animationDuration
96
+ },
97
+ {
98
+ name: 'pageB',
99
+ type: 'bar',
100
+ stack: 'vistors',
101
+ barWidth: '60%',
102
+ data: [80, 52, 200, 334, 390, 330, 220],
103
+ animationDuration
104
+ },
105
+ {
106
+ name: 'pageC',
107
+ type: 'bar',
108
+ stack: 'vistors',
109
+ barWidth: '60%',
110
+ data: [30, 52, 200, 334, 390, 330, 220],
111
+ animationDuration
112
+ }
113
+ ]
114
+ })
115
+ }
116
+ }
117
+ }
118
+ </script>