xs-common-plugins 1.1.2 → 1.1.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 (139) hide show
  1. package/README.md +37 -0
  2. package/package.json +1 -1
  3. package/src/App.vue +11 -11
  4. package/src/common/common.js +143 -14
  5. package/src/common/createMenuId.js +7 -7
  6. package/src/common/uploadImgToBase64.js +12 -12
  7. package/src/common/utils.js +95 -95
  8. package/src/components/Breadcrumb/index.vue +81 -81
  9. package/src/components/Col_TableCell/data.js +4 -4
  10. package/src/components/Col_TableCell/index.scss +77 -77
  11. package/src/components/Col_TableCell/index.vue +43 -43
  12. package/src/components/Col_TableCell/methods.js +19 -19
  13. package/src/components/Hamburger/index.vue +44 -44
  14. package/src/components/ReportCmp/data.js +3 -3
  15. package/src/components/ReportCmp/index.scss +29 -29
  16. package/src/components/ReportCmp/index.vue +2 -2
  17. package/src/components/ReportCmp/methods.js +30 -30
  18. package/src/components/Search/cascader/data.js +3 -3
  19. package/src/components/Search/cascader/index.scss +17 -17
  20. package/src/components/Search/cascader/index.vue +96 -96
  21. package/src/components/Search/cascader/methods.js +41 -41
  22. package/src/components/Search/data.js +5 -5
  23. package/src/components/Search/hk_cascader/index.vue +104 -104
  24. package/src/components/Search/hk_cascader_qudao/index.vue +94 -94
  25. package/src/components/Search/methods.js +86 -86
  26. package/src/components/Search/product_option/data.js +3 -3
  27. package/src/components/Search/product_option/index.scss +68 -68
  28. package/src/components/Search/product_option/index.vue +419 -419
  29. package/src/components/Search/product_option/methods.js +46 -46
  30. package/src/components/Search/select/data.js +3 -3
  31. package/src/components/Search/select/index.scss +2 -2
  32. package/src/components/Search/select/index.vue +114 -114
  33. package/src/components/Search/select/methods.js +51 -51
  34. package/src/components/Search_filter/data.js +5 -5
  35. package/src/components/Search_filter/index.vue +88 -88
  36. package/src/components/Search_filter/methods.js +43 -43
  37. package/src/components/TableCmp/data.js +3 -3
  38. package/src/components/TableCmp/index.scss +22 -22
  39. package/src/components/TableCmp/index.vue +98 -98
  40. package/src/components/TableCmp/methods.js +35 -35
  41. package/src/components/home/BarChart.vue +118 -118
  42. package/src/components/home/LineChart.vue +146 -146
  43. package/src/components/home/Panel.vue +135 -135
  44. package/src/components/home/PanelGroup.vue +146 -146
  45. package/src/components/home/PieChart.vue +81 -81
  46. package/src/components/home/RaddarChart.vue +119 -119
  47. package/src/components/home/TabLayout.vue +88 -88
  48. package/src/components/home/TableList.vue +158 -158
  49. package/src/components/home/Teng.vue +248 -248
  50. package/src/components/home/TransactionTable.vue +49 -49
  51. package/src/components/home/mixins/resize.js +55 -55
  52. package/src/components/im/methods.js +25 -25
  53. package/src/components/image-singleUpload/data.js +3 -3
  54. package/src/components/image-singleUpload/index.scss +26 -26
  55. package/src/components/image-singleUpload/index.vue +56 -56
  56. package/src/components/image-singleUpload/methods.js +30 -30
  57. package/src/components/image-upload/data.js +7 -7
  58. package/src/components/image-upload/index.vue +41 -41
  59. package/src/components/image-upload/methods.js +80 -80
  60. package/src/components/multiple-image-upload/data.js +11 -11
  61. package/src/components/multiple-image-upload/index.scss +8 -8
  62. package/src/components/multiple-image-upload/index.vue +63 -63
  63. package/src/components/multiple-image-upload/methods.js +45 -45
  64. package/src/components/pro-upload/data.js +3 -3
  65. package/src/components/pro-upload/index.scss +4 -4
  66. package/src/components/pro-upload/index.vue +89 -89
  67. package/src/components/pro-upload/methods.js +86 -86
  68. package/src/components/report_set/index.scss +44 -44
  69. package/src/components/report_set/index.vue +153 -153
  70. package/src/components/search-page/src/index.scss +5 -5
  71. package/src/components/search-page/src/index.vue +76 -76
  72. package/src/components/search-page/src/methods.js +36 -36
  73. package/src/mixin/dialog.js +31 -31
  74. package/src/mixin/dlg.js +46 -46
  75. package/src/mixin/newDialog.js +19 -19
  76. package/src/mixin/report.js +82 -82
  77. package/src/mixin/table.js +93 -93
  78. package/src/mixin/tableCell/colTableCell_analysis.js +103 -103
  79. package/src/mixin/upload.js +22 -22
  80. package/src/mixin/vmodel.js +26 -26
  81. package/src/plugins/im/components/conversation-list/index.css +91 -91
  82. package/src/plugins/im/components/conversation-list/index.json +3 -3
  83. package/src/plugins/im/components/conversation-list/index.vue +89 -89
  84. package/src/plugins/im/components/loading/loading.css +69 -69
  85. package/src/plugins/im/components/loading/loading.json +3 -3
  86. package/src/plugins/im/components/loading/loading.vue +14 -14
  87. package/src/plugins/im/components/msg-image/index.json +3 -3
  88. package/src/plugins/im/components/msg-text/index.json +3 -3
  89. package/src/plugins/im/components/msg-text/index.vue +24 -24
  90. package/src/plugins/im/im-plug-in/Protobuf-2.3.7.min.js +1 -1
  91. package/src/plugins/im/im-plug-in/RongCallLib-3.1.5.min.js +74 -74
  92. package/src/plugins/im/im-plug-in/RongIMLib-4.1.0.js +17420 -17420
  93. package/src/plugins/im/im-plug-in/init.js +216 -216
  94. package/src/plugins/im/im-plug-in/qiniu.js +266 -266
  95. package/src/plugins/im/im-plug-in/send-data.js +431 -431
  96. package/src/plugins/im/im-plug-in/upload.js +232 -232
  97. package/src/plugins/im/lib/RongIMEmoji-2.2.6.js +332 -332
  98. package/src/plugins/im/lib/RongIMLib-3.0.7.2-dev.js +11635 -11635
  99. package/src/plugins/im/lib/RongIMLib-3.0.7.2-dev.min.js +6 -6
  100. package/src/plugins/im/utils/underscore-1.8.3.js +1531 -1531
  101. package/src/plugins/im/utils/utils.js +149 -149
  102. package/src/plugins/row-col-cmp/colCmp/data.js +3 -3
  103. package/src/plugins/row-col-cmp/colCmp/index.scss +50 -50
  104. package/src/plugins/row-col-cmp/colCmp/index.vue +53 -53
  105. package/src/plugins/row-col-cmp/colCmp/methods.js +25 -25
  106. package/src/plugins/row-col-cmp/rowCmp/data.js +3 -3
  107. package/src/plugins/row-col-cmp/rowCmp/index.scss +3 -3
  108. package/src/plugins/row-col-cmp/rowCmp/index.vue +43 -43
  109. package/src/plugins/row-col-cmp/rowCmp/methods.js +29 -29
  110. package/src/router/index.js +47 -43
  111. package/src/store/getters.js +13 -13
  112. package/src/store/index.js +58 -58
  113. package/src/store/modules/app.js +55 -55
  114. package/src/store/modules/dic.js +1 -1
  115. package/src/store/modules/settings.js +28 -28
  116. package/src/store/modules/user.js +94 -94
  117. package/src/store/modules/widgetdata.js +42 -42
  118. package/src/styles/element-ui.scss +49 -49
  119. package/src/styles/mixin.scss +28 -28
  120. package/src/styles/sidebar.scss +210 -210
  121. package/src/styles/transition.scss +48 -48
  122. package/src/styles/variables.scss +25 -25
  123. package/src/utils/get-page-title.js +10 -10
  124. package/src/utils/getMenu.js +2 -1
  125. package/src/utils/global-config.js +15 -15
  126. package/src/utils/index.js +332 -332
  127. package/src/utils/localStorage.js +21 -21
  128. package/src/utils/validate.js +20 -20
  129. package/src/views/layout/components/AllSearch/index.vue +44 -44
  130. package/src/views/layout/components/AppMain.vue +50 -50
  131. package/src/views/layout/components/Navbar.vue +43 -2
  132. package/src/views/layout/components/Sidebar/FixiOSBug.js +26 -26
  133. package/src/views/layout/components/Sidebar/Item.vue +28 -28
  134. package/src/views/layout/components/Sidebar/Link.vue +34 -34
  135. package/src/views/layout/components/Sidebar/Logo.vue +79 -79
  136. package/src/views/layout/components/Sidebar/SidebarItem.vue +67 -67
  137. package/src/views/layout/components/Sidebar/index.vue +114 -114
  138. package/src/views/layout/components/index.js +3 -3
  139. package/src/views/layout/index.vue +105 -105
@@ -1,103 +1,103 @@
1
-
2
- export const MIX_ColCellAnalysis = {
3
- data() {
4
- return {
5
- copyClass: false,
6
- hideClass: false
7
- }
8
- },
9
- props: {
10
- source: {
11
- type: Object,
12
- default: () => {
13
- return {};
14
- }
15
- },
16
- layout: {
17
- type: Array,
18
- default: []
19
- },
20
- },
21
- computed: {
22
- _layout: function () {
23
- const that = this;
24
- let _layoutObj = {};
25
- let _layoutArr = [];
26
- if (toString.call(this.layout[0]) !== '[object Array]') {
27
- const row = this.layout;
28
- row.forEach(item => {
29
- const group = item.split("|"); //['(orderId)','订单','copy']
30
- let isCopy, isHide = false;
31
-
32
- // 判断是否有复制按钮
33
- if (group[group.length - 1] == "copy") {
34
- this.copyClass = true;
35
- isCopy = true;
36
- }
37
-
38
- if (group[group.length - 1] == "hide") {
39
- this.hideClass = true;
40
- isHide = true;
41
- }
42
-
43
- let _value = "";
44
-
45
- var reg = /(^\()?\D*\)$/;
46
- //test()返回值bool类型,判断参数是否符合正则表达式
47
- var result = reg.test(group[0]);
48
- if (result) {
49
- _value = group[0];
50
- } else {
51
- _value = that.source[group[0]]
52
- }
53
- _layoutArr.push({
54
- value: _value,
55
- label: group[1] ? group[1] !== "copy" ? group[1] : "" : "",
56
- copy: isCopy,
57
- hide: isHide
58
- })
59
- });
60
-
61
- return _layoutArr;
62
- } else {
63
- this.layout.forEach(row => {
64
- let newObj = row.map(item => {
65
- const group = item.split("|");
66
- if (item === "copy") {
67
- this.copyClass = true;
68
- return "copy";
69
- }
70
- let isCopy = false, isHide = false;
71
- if (group[group.length - 1] == "copy") {
72
- this.copyClass = true;
73
- isCopy = true;
74
- }
75
- if (group[group.length - 1] == "hide") {
76
- this.hideClass = true;
77
- isHide = true;
78
- }
79
-
80
- let _value = "";
81
- var reg = /(^\()?\D*\)$/;
82
- //test()返回值bool类型,判断参数是否符合正则表达式
83
- var result = reg.test(group[0]);
84
- if (result) {
85
- _value = group[0];
86
- } else {
87
- _value = that.source[group[0]]
88
- }
89
-
90
- return {
91
- value: _value,
92
- label: group[1] !== "copy" ? group[1] : "",
93
- copy: isCopy,
94
- hide: isHide
95
- };
96
- });
97
- _layoutArr.push(newObj);
98
- });
99
- return _layoutArr;
100
- }
101
- }
102
- }
103
- }
1
+
2
+ export const MIX_ColCellAnalysis = {
3
+ data() {
4
+ return {
5
+ copyClass: false,
6
+ hideClass: false
7
+ }
8
+ },
9
+ props: {
10
+ source: {
11
+ type: Object,
12
+ default: () => {
13
+ return {};
14
+ }
15
+ },
16
+ layout: {
17
+ type: Array,
18
+ default: []
19
+ },
20
+ },
21
+ computed: {
22
+ _layout: function () {
23
+ const that = this;
24
+ let _layoutObj = {};
25
+ let _layoutArr = [];
26
+ if (toString.call(this.layout[0]) !== '[object Array]') {
27
+ const row = this.layout;
28
+ row.forEach(item => {
29
+ const group = item.split("|"); //['(orderId)','订单','copy']
30
+ let isCopy, isHide = false;
31
+
32
+ // 判断是否有复制按钮
33
+ if (group[group.length - 1] == "copy") {
34
+ this.copyClass = true;
35
+ isCopy = true;
36
+ }
37
+
38
+ if (group[group.length - 1] == "hide") {
39
+ this.hideClass = true;
40
+ isHide = true;
41
+ }
42
+
43
+ let _value = "";
44
+
45
+ var reg = /(^\()?\D*\)$/;
46
+ //test()返回值bool类型,判断参数是否符合正则表达式
47
+ var result = reg.test(group[0]);
48
+ if (result) {
49
+ _value = group[0];
50
+ } else {
51
+ _value = that.source[group[0]]
52
+ }
53
+ _layoutArr.push({
54
+ value: _value,
55
+ label: group[1] ? group[1] !== "copy" ? group[1] : "" : "",
56
+ copy: isCopy,
57
+ hide: isHide
58
+ })
59
+ });
60
+
61
+ return _layoutArr;
62
+ } else {
63
+ this.layout.forEach(row => {
64
+ let newObj = row.map(item => {
65
+ const group = item.split("|");
66
+ if (item === "copy") {
67
+ this.copyClass = true;
68
+ return "copy";
69
+ }
70
+ let isCopy = false, isHide = false;
71
+ if (group[group.length - 1] == "copy") {
72
+ this.copyClass = true;
73
+ isCopy = true;
74
+ }
75
+ if (group[group.length - 1] == "hide") {
76
+ this.hideClass = true;
77
+ isHide = true;
78
+ }
79
+
80
+ let _value = "";
81
+ var reg = /(^\()?\D*\)$/;
82
+ //test()返回值bool类型,判断参数是否符合正则表达式
83
+ var result = reg.test(group[0]);
84
+ if (result) {
85
+ _value = group[0];
86
+ } else {
87
+ _value = that.source[group[0]]
88
+ }
89
+
90
+ return {
91
+ value: _value,
92
+ label: group[1] !== "copy" ? group[1] : "",
93
+ copy: isCopy,
94
+ hide: isHide
95
+ };
96
+ });
97
+ _layoutArr.push(newObj);
98
+ });
99
+ return _layoutArr;
100
+ }
101
+ }
102
+ }
103
+ }
@@ -1,22 +1,22 @@
1
- import { getConfig } from "@/utils/global-config"
2
- import { getToken } from "@/utils/auth";
3
- const tokenKey=`${getConfig('CLIENT_ID')}_token`
4
- const token = getToken(tokenKey)
5
- ? "Bearer " + getToken(tokenKey)
6
- : "Bearer";
7
- export const MIX_Upload = {
8
- data: function () {
9
-
10
- return {
11
- imageUrl: '',
12
- uploadAction: getConfig("UPLOAD_API"),
13
- myHeaders: {
14
- Authorization: token,
15
- "Client-Id": getConfig("CLIENT_ID")
16
- }
17
- }
18
- },
19
- components: {},
20
- created() { },
21
- methods: {},
22
- }
1
+ import { getConfig } from "@/utils/global-config"
2
+ import { getToken } from "@/utils/auth";
3
+ const tokenKey=`${getConfig('CLIENT_ID')}_token`
4
+ const token = getToken(tokenKey)
5
+ ? "Bearer " + getToken(tokenKey)
6
+ : "Bearer";
7
+ export const MIX_Upload = {
8
+ data: function () {
9
+
10
+ return {
11
+ imageUrl: '',
12
+ uploadAction: getConfig("UPLOAD_API"),
13
+ myHeaders: {
14
+ Authorization: token,
15
+ "Client-Id": getConfig("CLIENT_ID")
16
+ }
17
+ }
18
+ },
19
+ components: {},
20
+ created() { },
21
+ methods: {},
22
+ }
@@ -1,26 +1,26 @@
1
- const EVENT_INPUT = 'input'
2
-
3
- export const MIX_VMODEL = {
4
- props: {
5
- value: [Object, Array, String, Number, Boolean]
6
- },
7
- data() {
8
- return {
9
- inputValue: {}
10
- }
11
- },
12
- watch: {
13
- value: {
14
- handler(newValue) {
15
- this.inputValue = newValue
16
- },
17
- deep: true
18
- },
19
- inputValue: {
20
- handler(newValue) {
21
- this.$emit(EVENT_INPUT, newValue)
22
- },
23
- deep: true
24
- }
25
- }
26
- }
1
+ const EVENT_INPUT = 'input'
2
+
3
+ export const MIX_VMODEL = {
4
+ props: {
5
+ value: [Object, Array, String, Number, Boolean]
6
+ },
7
+ data() {
8
+ return {
9
+ inputValue: {}
10
+ }
11
+ },
12
+ watch: {
13
+ value: {
14
+ handler(newValue) {
15
+ this.inputValue = newValue
16
+ },
17
+ deep: true
18
+ },
19
+ inputValue: {
20
+ handler(newValue) {
21
+ this.$emit(EVENT_INPUT, newValue)
22
+ },
23
+ deep: true
24
+ }
25
+ }
26
+ }
@@ -1,92 +1,92 @@
1
- .rong-avatar {
2
- height: 50px;
3
- width: 50px;
4
- border-radius: 50%;
5
- }
6
- .nodata {
7
- text-align: center;
8
- }
9
-
10
- .conversation-wrapper {
11
- width: 100%;
12
- height: 100vh;
13
- }
14
- .rong-conversation {
15
- width: 95%;
16
- margin: 0 auto;
17
- position: relative;
18
- padding: 10px 0px 10px 0px;
19
- border-bottom: 1px solid rgba(238, 238, 238, 1);
20
- cursor: pointer;
21
- }
22
-
23
- .rong-conversation-messagecontent {
24
- margin-top: 30px;
25
- text-overflow: ellipsis;
26
- white-space: nowrap;
27
- overflow: hidden;
28
- width: 50%;
29
- font-family: 'PingFang SC';
30
- font-weight: 500;
31
- color: #666666;
32
- margin-left: 65px;
33
- padding-bottom: 2px;
34
- }
35
-
36
- .rong-conversation-title {
37
- color: #333;
38
- position: relative;
39
- top: 10px;
40
- font-family: 'PingFang SC';
41
- font-weight: bold;
42
- color: #000000;
43
- }
44
-
45
- .rong-conversation-avatar {
46
- float: left;
47
- margin-right: 20px;
48
- margin-top: 4px;
49
- }
50
-
51
- .rong-conversation-unreadcount {
52
- position: absolute;
53
- top: 5px;
54
- left: 35px;
55
- background-color: red;
56
- border-radius: 50%;
57
- color: #FFF;
58
- height: 15px;
59
- min-width: 15px;
60
- text-align: center;
61
- padding: 0 5px;
62
- box-sizing: border-box;
63
- }
64
-
65
- .rong-conversation-senttime {
66
- position: absolute;
67
- top: 32px;
68
- right: 20px;
69
- }
70
-
71
- .isTop {
72
- position: absolute;
73
- bottom: 0;
74
- right: 0;
75
- border: 1px solid #ccc;
76
- border-radius: 2px;
77
- font-size: 12px;
78
- }
79
-
80
- .isTophover {
81
- opacity: 0.9;
82
- background: #f7f7f7;
83
- }
84
-
85
- .isDisturb {
86
- position: absolute;
87
- bottom: 0;
88
- right: 50px;
89
- border: 1px solid #ccc;
90
- border-radius: 2px;
91
- font-size: 12px;
1
+ .rong-avatar {
2
+ height: 50px;
3
+ width: 50px;
4
+ border-radius: 50%;
5
+ }
6
+ .nodata {
7
+ text-align: center;
8
+ }
9
+
10
+ .conversation-wrapper {
11
+ width: 100%;
12
+ height: 100vh;
13
+ }
14
+ .rong-conversation {
15
+ width: 95%;
16
+ margin: 0 auto;
17
+ position: relative;
18
+ padding: 10px 0px 10px 0px;
19
+ border-bottom: 1px solid rgba(238, 238, 238, 1);
20
+ cursor: pointer;
21
+ }
22
+
23
+ .rong-conversation-messagecontent {
24
+ margin-top: 30px;
25
+ text-overflow: ellipsis;
26
+ white-space: nowrap;
27
+ overflow: hidden;
28
+ width: 50%;
29
+ font-family: 'PingFang SC';
30
+ font-weight: 500;
31
+ color: #666666;
32
+ margin-left: 65px;
33
+ padding-bottom: 2px;
34
+ }
35
+
36
+ .rong-conversation-title {
37
+ color: #333;
38
+ position: relative;
39
+ top: 10px;
40
+ font-family: 'PingFang SC';
41
+ font-weight: bold;
42
+ color: #000000;
43
+ }
44
+
45
+ .rong-conversation-avatar {
46
+ float: left;
47
+ margin-right: 20px;
48
+ margin-top: 4px;
49
+ }
50
+
51
+ .rong-conversation-unreadcount {
52
+ position: absolute;
53
+ top: 5px;
54
+ left: 35px;
55
+ background-color: red;
56
+ border-radius: 50%;
57
+ color: #FFF;
58
+ height: 15px;
59
+ min-width: 15px;
60
+ text-align: center;
61
+ padding: 0 5px;
62
+ box-sizing: border-box;
63
+ }
64
+
65
+ .rong-conversation-senttime {
66
+ position: absolute;
67
+ top: 32px;
68
+ right: 20px;
69
+ }
70
+
71
+ .isTop {
72
+ position: absolute;
73
+ bottom: 0;
74
+ right: 0;
75
+ border: 1px solid #ccc;
76
+ border-radius: 2px;
77
+ font-size: 12px;
78
+ }
79
+
80
+ .isTophover {
81
+ opacity: 0.9;
82
+ background: #f7f7f7;
83
+ }
84
+
85
+ .isDisturb {
86
+ position: absolute;
87
+ bottom: 0;
88
+ right: 50px;
89
+ border: 1px solid #ccc;
90
+ border-radius: 2px;
91
+ font-size: 12px;
92
92
  }
@@ -1,4 +1,4 @@
1
- {
2
- "component": true,
3
- "usingComponents": {}
1
+ {
2
+ "component": true,
3
+ "usingComponents": {}
4
4
  }
@@ -1,90 +1,90 @@
1
- <!--
2
- * @Author: your name
3
- * @Date: 2021-01-15 11:24:40
4
- * @LastEditTime: 2021-01-22 10:09:50
5
- * @LastEditors: Please set LastEditors
6
- * @Description: In User Settings Edit
7
- * @FilePath: \dev\src\plugins\im\components\conversation-list\index.vue
8
- -->
9
- <template>
10
- <div class="conversation-wrapper">
11
- <div
12
- class="rong-conversation"
13
- v-for="(conversation, i) in conversationList"
14
- :key="i"
15
- @click="chatroom(conversation)"
16
- >
17
- <img
18
- v-if="conversation.avatarUrl"
19
- class="rong-avatar rong-conversation-avatar"
20
- :src="conversation.avatarUrl"
21
- />
22
- <img
23
- v-else
24
- class="rong-avatar rong-conversation-avatar"
25
- :src="conversation.target.avatar"
26
- />
27
- <div
28
- class="rong-conversation-title"
29
- v-if="conversation.latestMessage.content.userInfo"
30
- >
31
- {{ conversation.latestMessage.content.userInfo ? conversation.latestMessage.content.userInfo.userName : ''}}
32
- </div>
33
- <div
34
- class="rong-conversation-title" v-else
35
- >
36
- {{ conversation.latestMessage.content.userName }}
37
- </div>
38
-
39
- <div class="rong-conversation-message">
40
- <div class="rong-conversation-messagecontent">
41
- {{ conversation.content }}
42
- </div>
43
- </div>
44
- <div class="rong-conversation-senttime">{{ conversation._sentTime }}</div>
45
- <div
46
- v-if="conversation.unReadCount > 0"
47
- class="rong-conversation-unreadcount"
48
- >
49
- {{ conversation.unReadCount }}
50
- </div>
51
- </div>
52
- <p v-if="!conversationList.length" class="nodata">暂无数据</p>
53
- </div>
54
- </template>
55
- <script>
56
- const utils = require("../../utils/utils.js");
57
- export default {
58
- name: "ConversationList",
59
- props: {},
60
- data() {
61
- return {};
62
- },
63
- props: {
64
- conversationList: [Array],
65
- },
66
- mounted() {},
67
- methods: {
68
- // 进入聊天室
69
- chatroom(item) {
70
- let { type, targetId, target } = item;
71
- let isSame = (conversation, another) => {
72
- let isSaveType = conversation.type == another.type;
73
- let isSaveTarget = conversation.targetId == another.targetId;
74
- return isSaveType && isSaveTarget;
75
- };
76
- this.$emit("chatroom", item);
77
- let _conversationList = this.conversationList;
78
- utils.map(_conversationList, (conversation) => {
79
- if (isSame(conversation, item)) {
80
- conversation.unReadCount = 0;
81
- }
82
- return conversation;
83
- });
84
- this.$Service.Conversation.clearUnreadCount(item);
85
- this.conversationList = _conversationList;
86
- },
87
- },
88
- };
89
- </script>
1
+ <!--
2
+ * @Author: your name
3
+ * @Date: 2021-01-15 11:24:40
4
+ * @LastEditTime: 2021-01-22 10:09:50
5
+ * @LastEditors: Please set LastEditors
6
+ * @Description: In User Settings Edit
7
+ * @FilePath: \dev\src\plugins\im\components\conversation-list\index.vue
8
+ -->
9
+ <template>
10
+ <div class="conversation-wrapper">
11
+ <div
12
+ class="rong-conversation"
13
+ v-for="(conversation, i) in conversationList"
14
+ :key="i"
15
+ @click="chatroom(conversation)"
16
+ >
17
+ <img
18
+ v-if="conversation.avatarUrl"
19
+ class="rong-avatar rong-conversation-avatar"
20
+ :src="conversation.avatarUrl"
21
+ />
22
+ <img
23
+ v-else
24
+ class="rong-avatar rong-conversation-avatar"
25
+ :src="conversation.target.avatar"
26
+ />
27
+ <div
28
+ class="rong-conversation-title"
29
+ v-if="conversation.latestMessage.content.userInfo"
30
+ >
31
+ {{ conversation.latestMessage.content.userInfo ? conversation.latestMessage.content.userInfo.userName : ''}}
32
+ </div>
33
+ <div
34
+ class="rong-conversation-title" v-else
35
+ >
36
+ {{ conversation.latestMessage.content.userName }}
37
+ </div>
38
+
39
+ <div class="rong-conversation-message">
40
+ <div class="rong-conversation-messagecontent">
41
+ {{ conversation.content }}
42
+ </div>
43
+ </div>
44
+ <div class="rong-conversation-senttime">{{ conversation._sentTime }}</div>
45
+ <div
46
+ v-if="conversation.unReadCount > 0"
47
+ class="rong-conversation-unreadcount"
48
+ >
49
+ {{ conversation.unReadCount }}
50
+ </div>
51
+ </div>
52
+ <p v-if="!conversationList.length" class="nodata">暂无数据</p>
53
+ </div>
54
+ </template>
55
+ <script>
56
+ const utils = require("../../utils/utils.js");
57
+ export default {
58
+ name: "ConversationList",
59
+ props: {},
60
+ data() {
61
+ return {};
62
+ },
63
+ props: {
64
+ conversationList: [Array],
65
+ },
66
+ mounted() {},
67
+ methods: {
68
+ // 进入聊天室
69
+ chatroom(item) {
70
+ let { type, targetId, target } = item;
71
+ let isSame = (conversation, another) => {
72
+ let isSaveType = conversation.type == another.type;
73
+ let isSaveTarget = conversation.targetId == another.targetId;
74
+ return isSaveType && isSaveTarget;
75
+ };
76
+ this.$emit("chatroom", item);
77
+ let _conversationList = this.conversationList;
78
+ utils.map(_conversationList, (conversation) => {
79
+ if (isSame(conversation, item)) {
80
+ conversation.unReadCount = 0;
81
+ }
82
+ return conversation;
83
+ });
84
+ this.$Service.Conversation.clearUnreadCount(item);
85
+ this.conversationList = _conversationList;
86
+ },
87
+ },
88
+ };
89
+ </script>
90
90
  <style lang="css" scoped src='./index.css'></style>