xs-common-plugins 1.2.3 → 1.2.5

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 +298 -298
  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 -52
  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,80 +1,80 @@
1
- import {
2
- uploadImgToBase64
3
- } from "@/common/uploadImgToBase64";
4
-
5
- export default {
6
- // ------------------------------------------------------------------
7
- // pragma mark - inti(初始化行为)
8
- // ------------------------------------------------------------------
9
- createdInit() {
10
-
11
- },
12
- mountedInit() {},
13
-
14
- // ------------------------------------------------------------------
15
- // 基于 element-ui 上传组件的内置事件集合
16
- // ------------------------------------------------------------------
17
-
18
- /**
19
- *
20
- * @param {当前上传文件的信息} file
21
- * @param {已选中上传文件的列表信息} fileList
22
- * file = {
23
- * status: "ready"
24
- * name: "hl12-@2x.png"
25
- * size: 9891
26
- * percentage: 0
27
- * uid: 1584674864088
28
- * raw:{
29
- * name: "hl12-@2x.png"
30
- * lastModified: 1569395230070
31
- * lastModifiedDate: Wed Sep 25 2019 15:07:10 GMT+0800 (中国标准时间) {}
32
- * webkitRelativePath: ""
33
- * size: 9891
34
- * type: "image/png"
35
- * uid: 1584674864088
36
- * }
37
- * }
38
- */
39
- uploadImageStatusChange(file, fileList) {
40
- this.upData(fileList);
41
- },
42
-
43
- // 点击已上传图片的列表
44
- handlePictureCardPreview(file) {
45
- this.dialogImageUrl = file.url;
46
- this.dialogVisible = true;
47
- },
48
-
49
- handleRemove(file, fileList) {
50
- this.upData(fileList);
51
- },
52
-
53
- upData(fileList) {
54
- this.uploadFileList = fileList;
55
- this.submitDialogData(fileList);
56
- },
57
-
58
- async submitDialogData() {
59
- const imgBroadcastListBase64 = []
60
- // 图片转base64开始...
61
- const filePromises = this.uploadFileList.map(async file => {
62
- const response = await uploadImgToBase64(file.raw)
63
- return response.result;
64
- })
65
- // 按次序输出 base64图片
66
- for (const textPromise of filePromises) {
67
- imgBroadcastListBase64.push(await textPromise)
68
- }
69
- this.$emit('selectedImageList', imgBroadcastListBase64)
70
- },
71
-
72
- // TODO: 无效代码
73
- // ------------------------------------------------------------------
74
- // pragma mark - Private Methods(私有方法: )
75
- // 命名规范: 前缀 __ + name
76
- // ------------------------------------------------------------------
77
- __demoFunction() {
78
-
79
- }
80
- }
1
+ import {
2
+ uploadImgToBase64
3
+ } from "@/common/uploadImgToBase64";
4
+
5
+ export default {
6
+ // ------------------------------------------------------------------
7
+ // pragma mark - inti(初始化行为)
8
+ // ------------------------------------------------------------------
9
+ createdInit() {
10
+
11
+ },
12
+ mountedInit() {},
13
+
14
+ // ------------------------------------------------------------------
15
+ // 基于 element-ui 上传组件的内置事件集合
16
+ // ------------------------------------------------------------------
17
+
18
+ /**
19
+ *
20
+ * @param {当前上传文件的信息} file
21
+ * @param {已选中上传文件的列表信息} fileList
22
+ * file = {
23
+ * status: "ready"
24
+ * name: "hl12-@2x.png"
25
+ * size: 9891
26
+ * percentage: 0
27
+ * uid: 1584674864088
28
+ * raw:{
29
+ * name: "hl12-@2x.png"
30
+ * lastModified: 1569395230070
31
+ * lastModifiedDate: Wed Sep 25 2019 15:07:10 GMT+0800 (中国标准时间) {}
32
+ * webkitRelativePath: ""
33
+ * size: 9891
34
+ * type: "image/png"
35
+ * uid: 1584674864088
36
+ * }
37
+ * }
38
+ */
39
+ uploadImageStatusChange(file, fileList) {
40
+ this.upData(fileList);
41
+ },
42
+
43
+ // 点击已上传图片的列表
44
+ handlePictureCardPreview(file) {
45
+ this.dialogImageUrl = file.url;
46
+ this.dialogVisible = true;
47
+ },
48
+
49
+ handleRemove(file, fileList) {
50
+ this.upData(fileList);
51
+ },
52
+
53
+ upData(fileList) {
54
+ this.uploadFileList = fileList;
55
+ this.submitDialogData(fileList);
56
+ },
57
+
58
+ async submitDialogData() {
59
+ const imgBroadcastListBase64 = []
60
+ // 图片转base64开始...
61
+ const filePromises = this.uploadFileList.map(async file => {
62
+ const response = await uploadImgToBase64(file.raw)
63
+ return response.result;
64
+ })
65
+ // 按次序输出 base64图片
66
+ for (const textPromise of filePromises) {
67
+ imgBroadcastListBase64.push(await textPromise)
68
+ }
69
+ this.$emit('selectedImageList', imgBroadcastListBase64)
70
+ },
71
+
72
+ // TODO: 无效代码
73
+ // ------------------------------------------------------------------
74
+ // pragma mark - Private Methods(私有方法: )
75
+ // 命名规范: 前缀 __ + name
76
+ // ------------------------------------------------------------------
77
+ __demoFunction() {
78
+
79
+ }
80
+ }
@@ -1,11 +1,11 @@
1
-
2
- export default () => {
3
- return {
4
- uploadFileList: [], // 文件上传列表
5
- dialogImageUrl: [],
6
- dialogVisible: false,
7
- postImageArray: [],
8
- postImage: {},
9
- imgListBase64: [],
10
- }
11
- };
1
+
2
+ export default () => {
3
+ return {
4
+ uploadFileList: [], // 文件上传列表
5
+ dialogImageUrl: [],
6
+ dialogVisible: false,
7
+ postImageArray: [],
8
+ postImage: {},
9
+ imgListBase64: [],
10
+ }
11
+ };
@@ -1,9 +1,9 @@
1
- .el-upload-list--picture-card .el-upload-list__item ,.el-upload--picture-card{
2
- width: 100px;
3
- height: 100px;
4
- line-height: 100px;
5
- img{
6
- width: 100%;
7
- height: 100%;
8
- }
1
+ .el-upload-list--picture-card .el-upload-list__item ,.el-upload--picture-card{
2
+ width: 100px;
3
+ height: 100px;
4
+ line-height: 100px;
5
+ img{
6
+ width: 100%;
7
+ height: 100%;
8
+ }
9
9
  }
@@ -1,63 +1,63 @@
1
- <template>
2
- <div class="image-upload-wrapper">
3
- <el-upload
4
- class="avatar-uploader"
5
- :action="uploadAction"
6
- list-type="picture-card"
7
- :headers="myHeaders"
8
- :file-list="prodDetailsList"
9
- :on-success="uploadSuccess"
10
- :on-remove="uploadRemove"
11
- :before-upload="handleBeforeUpload"
12
- :on-preview="handlePictureCardPreview"
13
- >
14
- <i class="el-icon-plus"></i>
15
- </el-upload>
16
- <el-dialog :visible.sync="dialogVisible" append-to-body>
17
- <img width="100%" :src="dialogImageUrl" alt />
18
- </el-dialog>
19
- </div>
20
- </template>
21
-
22
- <script>
23
- import data from "./data";
24
- import methods from "./methods";
25
- import { MIX_Upload } from "@/mixin/upload";
26
- export default {
27
- name: "multipleImage",
28
- props: {
29
- prodDetailsList: {
30
- type: [Object, Array]
31
- }
32
- },
33
- data,
34
- methods,
35
- mixins: [MIX_Upload],
36
- components: {},
37
- watch: {
38
- value: {
39
- handler(newValue) {
40
- this.inputValue = newValue;
41
- },
42
- deep: true
43
- },
44
- inputValue: {
45
- handler(newValue) {
46
- this.$emit(EVENT_INPUT, newValue);
47
- },
48
- deep: true
49
- }
50
- },
51
- computed: {},
52
- // ------------------------------------------------------------------
53
- // pragma mark - Life Cycle(生命周期)
54
- // ------------------------------------------------------------------
55
- created() {
56
- this.createdInit();
57
- },
58
- mounted() {
59
- this.mountedInit();
60
- }
61
- };
62
- </script>
63
- <style lang="scss" src="./index.scss" scope></style>
1
+ <template>
2
+ <div class="image-upload-wrapper">
3
+ <el-upload
4
+ class="avatar-uploader"
5
+ :action="uploadAction"
6
+ list-type="picture-card"
7
+ :headers="myHeaders"
8
+ :file-list="prodDetailsList"
9
+ :on-success="uploadSuccess"
10
+ :on-remove="uploadRemove"
11
+ :before-upload="handleBeforeUpload"
12
+ :on-preview="handlePictureCardPreview"
13
+ >
14
+ <i class="el-icon-plus"></i>
15
+ </el-upload>
16
+ <el-dialog :visible.sync="dialogVisible" append-to-body>
17
+ <img width="100%" :src="dialogImageUrl" alt />
18
+ </el-dialog>
19
+ </div>
20
+ </template>
21
+
22
+ <script>
23
+ import data from "./data";
24
+ import methods from "./methods";
25
+ import { MIX_Upload } from "@/mixin/upload";
26
+ export default {
27
+ name: "multipleImage",
28
+ props: {
29
+ prodDetailsList: {
30
+ type: [Object, Array]
31
+ }
32
+ },
33
+ data,
34
+ methods,
35
+ mixins: [MIX_Upload],
36
+ components: {},
37
+ watch: {
38
+ value: {
39
+ handler(newValue) {
40
+ this.inputValue = newValue;
41
+ },
42
+ deep: true
43
+ },
44
+ inputValue: {
45
+ handler(newValue) {
46
+ this.$emit(EVENT_INPUT, newValue);
47
+ },
48
+ deep: true
49
+ }
50
+ },
51
+ computed: {},
52
+ // ------------------------------------------------------------------
53
+ // pragma mark - Life Cycle(生命周期)
54
+ // ------------------------------------------------------------------
55
+ created() {
56
+ this.createdInit();
57
+ },
58
+ mounted() {
59
+ this.mountedInit();
60
+ }
61
+ };
62
+ </script>
63
+ <style lang="scss" src="./index.scss" scope></style>
@@ -1,45 +1,45 @@
1
- // TODO: 无效代码
2
-
3
- import { uploadImgToBase64 } from "@/common/uploadImgToBase64";
4
- import { TimeoutError } from "@aspnet/signalr";
5
-
6
- export default {
7
- // ------------------------------------------------------------------
8
- // pragma mark - inti(初始化行为)
9
- // ------------------------------------------------------------------
10
- createdInit() {},
11
- mountedInit() {},
12
- handlePictureCardPreview(file) {
13
- this.dialogImageUrl = file.url;
14
- this.dialogVisible = true;
15
- },
16
- uploadRemove(val) {
17
- console.log(val, "temp"); // TODO: 无效代码
18
- var index = this.prodDetailsList.indexOf(val);
19
- if (index > -1) {
20
- this.prodDetailsList.splice(index, 1);
21
- }
22
- this.$emit("onSuccess", this.prodDetailsList);
23
- },
24
- handleBeforeUpload(file) {
25
- const isFormat = /^image\/(jpeg|png|jpg|ico|gif)$/.test(file.type);
26
- const isLt1M = file.size / 1024 / 1024 < 1;
27
- if (!isFormat) {
28
- this.$message.error("上传图片只能是 JPEG/PNG/JPG/ICO 格式!");
29
- }
30
- if (!isLt1M) {
31
- this.$message.error("上传图片大小不能超过 1MB!");
32
- }
33
- return isFormat && isLt1M;
34
- },
35
- uploadSuccess(res) {
36
- if (this.prodDetailsList === undefined) this.prodDetailsList = [];
37
- console.log(this.prodDetailsList, "prodDetailsList"); // TODO: 无效代码
38
- let temp = {
39
- url: res.data
40
- };
41
- console.log(temp, "temp"); // TODO: 无效代码
42
- this.prodDetailsList.push(temp);
43
- this.$emit("onSuccess", this.prodDetailsList);
44
- }
45
- };
1
+ // TODO: 无效代码
2
+
3
+ import { uploadImgToBase64 } from "@/common/uploadImgToBase64";
4
+ import { TimeoutError } from "@aspnet/signalr";
5
+
6
+ export default {
7
+ // ------------------------------------------------------------------
8
+ // pragma mark - inti(初始化行为)
9
+ // ------------------------------------------------------------------
10
+ createdInit() {},
11
+ mountedInit() {},
12
+ handlePictureCardPreview(file) {
13
+ this.dialogImageUrl = file.url;
14
+ this.dialogVisible = true;
15
+ },
16
+ uploadRemove(val) {
17
+ console.log(val, "temp"); // TODO: 无效代码
18
+ var index = this.prodDetailsList.indexOf(val);
19
+ if (index > -1) {
20
+ this.prodDetailsList.splice(index, 1);
21
+ }
22
+ this.$emit("onSuccess", this.prodDetailsList);
23
+ },
24
+ handleBeforeUpload(file) {
25
+ const isFormat = /^image\/(jpeg|png|jpg|ico|gif)$/.test(file.type);
26
+ const isLt1M = file.size / 1024 / 1024 < 1;
27
+ if (!isFormat) {
28
+ this.$message.error("上传图片只能是 JPEG/PNG/JPG/ICO 格式!");
29
+ }
30
+ if (!isLt1M) {
31
+ this.$message.error("上传图片大小不能超过 1MB!");
32
+ }
33
+ return isFormat && isLt1M;
34
+ },
35
+ uploadSuccess(res) {
36
+ if (this.prodDetailsList === undefined) this.prodDetailsList = [];
37
+ console.log(this.prodDetailsList, "prodDetailsList"); // TODO: 无效代码
38
+ let temp = {
39
+ url: res.data
40
+ };
41
+ console.log(temp, "temp"); // TODO: 无效代码
42
+ this.prodDetailsList.push(temp);
43
+ this.$emit("onSuccess", this.prodDetailsList);
44
+ }
45
+ };
@@ -1,4 +1,4 @@
1
- export default () => {
2
- return {
3
- }
1
+ export default () => {
2
+ return {
3
+ }
4
4
  };
@@ -1,5 +1,5 @@
1
- .pro-upload-wrapper {
2
- .el-upload--picture-card{
3
- transform: scale(0.8)
4
- }
1
+ .pro-upload-wrapper {
2
+ .el-upload--picture-card{
3
+ transform: scale(0.8)
4
+ }
5
5
  }
@@ -1,90 +1,90 @@
1
-
2
- <!--
3
- action="#"
4
- :http-request="httpRequest" 覆盖默认的上传行为,自定义上传的实现
5
- list-type="picture-card"
6
- :headers="myHeaders"
7
- :file-list="prodDetailsList" , 上传的文件列表, 例如: [{name: 'food.jpg', url: 'https://xxx.cdn.com/xxx.jpg'}]
8
- :on-success="uploadSuccess"
9
- :on-remove="uploadRemove"
10
- :before-upload="handleBeforeUpload"
11
- :on-preview="handlePictureCardPreview"
12
-
13
- 图片上传组件属性说明
14
- on-success : 文件上传成功时的钩子
15
- on-remove :文件列表移除文件时的钩子
16
- before-upload : 上传文件之前的钩子
17
- on-preview : 点击文件列表中已上传的文件时的钩子
18
- :on-change="uploadChange" 文件状态改变时的钩子,添加文件、上传成功和上传失败时都会被调用
19
- -->
20
- <template>
21
- <div class="pro-upload-wrapper">
22
- <el-upload
23
- action="#"
24
- multiple
25
- :limit="limit"
26
- :http-request="httpRequest"
27
- list-type="picture-card"
28
- :on-preview="handlePictureCardPreview"
29
- :before-upload="handleBeforeUpload"
30
- :file-list="fileList"
31
- :on-remove="handleRemove"
32
- >
33
- <i class="el-icon-plus"></i>
34
- </el-upload>
35
-
36
- <el-dialog :visible.sync="dialogVisible" append-to-body>
37
- <img width="100%" :src="dialogImageUrl" alt />
38
- </el-dialog>
39
- </div>
40
- </template>
41
-
42
- <script>
43
- import data from "./data";
44
- import methods from "./methods";
45
- export default {
46
- props: {
47
- value: {
48
- type: [Array],
49
- default: function() {
50
- return [];
51
- }
52
- },
53
- limit: {
54
- type: Number
55
- }
56
- },
57
- data() {
58
- return {
59
- dialogImageUrl: "",
60
- dialogVisible: false
61
- // fileList: []
62
- };
63
- },
64
- computed: {
65
- fileList: {
66
- get() {
67
- return this.value;
68
- },
69
- set(value) {
70
- this.$emit("input", value);
71
- }
72
- }
73
- },
74
- methods,
75
- mixins: [],
76
- components: {},
77
- watch: {},
78
-
79
- // ------------------------------------------------------------------
80
- // pragma mark - Life Cycle(生命周期)
81
- // ------------------------------------------------------------------
82
- created() {
83
- this.createdInit();
84
- },
85
- mounted() {
86
- this.mountedInit();
87
- }
88
- };
89
- </script>
1
+
2
+ <!--
3
+ action="#"
4
+ :http-request="httpRequest" 覆盖默认的上传行为,自定义上传的实现
5
+ list-type="picture-card"
6
+ :headers="myHeaders"
7
+ :file-list="prodDetailsList" , 上传的文件列表, 例如: [{name: 'food.jpg', url: 'https://xxx.cdn.com/xxx.jpg'}]
8
+ :on-success="uploadSuccess"
9
+ :on-remove="uploadRemove"
10
+ :before-upload="handleBeforeUpload"
11
+ :on-preview="handlePictureCardPreview"
12
+
13
+ 图片上传组件属性说明
14
+ on-success : 文件上传成功时的钩子
15
+ on-remove :文件列表移除文件时的钩子
16
+ before-upload : 上传文件之前的钩子
17
+ on-preview : 点击文件列表中已上传的文件时的钩子
18
+ :on-change="uploadChange" 文件状态改变时的钩子,添加文件、上传成功和上传失败时都会被调用
19
+ -->
20
+ <template>
21
+ <div class="pro-upload-wrapper">
22
+ <el-upload
23
+ action="#"
24
+ multiple
25
+ :limit="limit"
26
+ :http-request="httpRequest"
27
+ list-type="picture-card"
28
+ :on-preview="handlePictureCardPreview"
29
+ :before-upload="handleBeforeUpload"
30
+ :file-list="fileList"
31
+ :on-remove="handleRemove"
32
+ >
33
+ <i class="el-icon-plus"></i>
34
+ </el-upload>
35
+
36
+ <el-dialog :visible.sync="dialogVisible" append-to-body>
37
+ <img width="100%" :src="dialogImageUrl" alt />
38
+ </el-dialog>
39
+ </div>
40
+ </template>
41
+
42
+ <script>
43
+ import data from "./data";
44
+ import methods from "./methods";
45
+ export default {
46
+ props: {
47
+ value: {
48
+ type: [Array],
49
+ default: function() {
50
+ return [];
51
+ }
52
+ },
53
+ limit: {
54
+ type: Number
55
+ }
56
+ },
57
+ data() {
58
+ return {
59
+ dialogImageUrl: "",
60
+ dialogVisible: false
61
+ // fileList: []
62
+ };
63
+ },
64
+ computed: {
65
+ fileList: {
66
+ get() {
67
+ return this.value;
68
+ },
69
+ set(value) {
70
+ this.$emit("input", value);
71
+ }
72
+ }
73
+ },
74
+ methods,
75
+ mixins: [],
76
+ components: {},
77
+ watch: {},
78
+
79
+ // ------------------------------------------------------------------
80
+ // pragma mark - Life Cycle(生命周期)
81
+ // ------------------------------------------------------------------
82
+ created() {
83
+ this.createdInit();
84
+ },
85
+ mounted() {
86
+ this.mountedInit();
87
+ }
88
+ };
89
+ </script>
90
90
  <style lang="scss" src="./index.scss" ></style>