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,144 +1,144 @@
1
- <!--
2
- * @Author: your name
3
- * @Date: 2021-01-15 11:24:40
4
- * @LastEditTime: 2021-01-16 08:50:23
5
- * @LastEditors: Please set LastEditors
6
- * @Description: In User Settings Edit
7
- * @FilePath: \dev\src\plugins\im\components\chat\index.vue
8
- -->
9
- <template>
10
- <div class="rong-chat" id="rong-chat-id" :style="{ bottom: bottom + 'px' }">
11
- <div id="rong-messages" ref="rongMessageWrapEl" :class="getFixClass">
12
- <div id="rong-message-wrap-el" ref="rongMessageWrapMainEl">
13
- <button
14
- v-if="hasMore"
15
- class="rong-messages-getbtn"
16
- type="primary"
17
- size="mini"
18
- @click="getMoreMessages"
19
- >
20
- 加载更多
21
- </button>
22
- <loading v-if="!isAllowScroll"></loading>
23
- <withoutmessage
24
- v-if="!hasMore"
25
- id="message-notify-without"
26
- ></withoutmessage>
27
- <div
28
- v-for="(message, i) in messageList"
29
- v-if="message.messageType != 'RC:ReadNtf'"
30
- :key="message.uId"
31
- :id="'U-' + message.uId"
32
- class="rong-message uni-page-wrapper"
33
- >
34
- <p class="sentTime" v-if="i % 3 === 0">
35
- {{ getTime(message.sentTime) }}
36
- </p>
37
- <div :class="['rong-message-avatar-' + message.direction]" v-if="message.name!=='XS:TextMsg'">
38
- <!-- <div class="rong-message-name">{{ message.sender.name }}</div> -->
39
- <img
40
- v-if="message.direction !== 'sender' && message.content.userInfo && message.content.userInfo.avatarUrl"
41
- class="rong-avatar rong-message-avatar"
42
- :src="message.content.userInfo.avatarUrl"
43
- />
44
- <img
45
- v-else
46
- class="rong-avatar rong-message-avatar"
47
- :src="
48
- message.direction == 'sender'
49
- ? message.sender.avatar1
50
- : message.sender.avatar2
51
- "
52
- />
53
- </div>
54
- <div
55
- :class="['rong-message-content rong-message-content-' + message.direction, ]"
56
- >
57
- <slot name="message" :message="message"></slot>
58
- </div>
59
- <TemplateMessage
60
- v-if="message.name == 'XS:TextMsg'"
61
- :message="message"
62
- />
63
- <div class="rong-clearfix"></div>
64
- </div>
65
- </div>
66
- </div>
67
- <!-- 顶部插槽 -->
68
- <div class="fixed-top">
69
- <slot name="slot-top" :list="messageList" />
70
- </div>
71
- <!-- 底部插槽 -->
72
- <div class="fixed-bottom">
73
- <slot name="slot-bottom"></slot>
74
- </div>
75
- <!-- 发送消息 -->
76
- <send-msg
77
- @sendMsgEvent="sendMsgEvent"
78
- :targetId="targetId"
79
- :type="type"
80
- :targetName="targetName"
81
- :userName="chatObj.latestMessage.content.userInfo ? chatObj.latestMessage.content.userInfo.userName : ''"
82
- :avatarUrl="chatObj.latestMessage.content.userInfo ? chatObj.latestMessage.content.userInfo.avatarUrl : ''"
83
- :chatObj="chatObj"
84
- >
85
- <div slot="slot-tool">
86
- <slot name="slot-tool"></slot>
87
- </div>
88
- </send-msg>
89
- </div>
90
- </template>
91
- <script>
92
- import loading from "../loading/loading.vue";
93
- import withoutmessage from "../without.vue";
94
- import SendMsg from "../send-msg/index.vue";
95
- import methods from "./methods";
96
- import TemplateMessage from "../template-message/index.vue"
97
- export default {
98
- name: "chatCom",
99
- data() {
100
- return {
101
- messageList: [],
102
- bottom: 0,
103
- adapterHeight: 0,
104
- isShowEmojiSent: false,
105
- hasMore: true,
106
- todiv: "",
107
- isAllowScroll: true,
108
- isScrollTop: false,
109
- isCurrent: false,
110
- };
111
- },
112
- components: {
113
- withoutmessage,
114
- loading,
115
- SendMsg,
116
- TemplateMessage
117
- },
118
- props: {
119
- targetId: [String, Number],
120
- type: [String, Number],
121
- targetName: [String, Number],
122
- chatObj: [Object],
123
- },
124
- methods,
125
- computed: {
126
- getFixClass () {
127
- const goodsList = this.messageList.filter(item => item.content && item.content.OutGoodsId)
128
- return goodsList.length > 0 ? 'fixedWhite' : '';
129
- }
130
- },
131
- mounted() {
132
- const timer = setInterval(() => {
133
- if (this.targetId) {
134
- clearInterval(timer);
135
- this.onloadEvent();
136
- }
137
- }, 100);
138
- },
139
- beforeDestroy() {
140
- this.isCurrent = false;
141
- }
142
- };
143
- </script>
144
- <style lang="scss" src='./index.scss'></style>
1
+ <!--
2
+ * @Author: your name
3
+ * @Date: 2021-01-15 11:24:40
4
+ * @LastEditTime: 2021-01-16 08:50:23
5
+ * @LastEditors: Please set LastEditors
6
+ * @Description: In User Settings Edit
7
+ * @FilePath: \dev\src\plugins\im\components\chat\index.vue
8
+ -->
9
+ <template>
10
+ <div class="rong-chat" id="rong-chat-id" :style="{ bottom: bottom + 'px' }">
11
+ <div id="rong-messages" ref="rongMessageWrapEl" :class="getFixClass">
12
+ <div id="rong-message-wrap-el" ref="rongMessageWrapMainEl">
13
+ <button
14
+ v-if="hasMore"
15
+ class="rong-messages-getbtn"
16
+ type="primary"
17
+ size="mini"
18
+ @click="getMoreMessages"
19
+ >
20
+ 加载更多
21
+ </button>
22
+ <loading v-if="!isAllowScroll"></loading>
23
+ <withoutmessage
24
+ v-if="!hasMore"
25
+ id="message-notify-without"
26
+ ></withoutmessage>
27
+ <div
28
+ v-for="(message, i) in messageList"
29
+ v-if="message.messageType != 'RC:ReadNtf'"
30
+ :key="message.uId"
31
+ :id="'U-' + message.uId"
32
+ class="rong-message uni-page-wrapper"
33
+ >
34
+ <p class="sentTime" v-if="i % 3 === 0">
35
+ {{ getTime(message.sentTime) }}
36
+ </p>
37
+ <div :class="['rong-message-avatar-' + message.direction]" v-if="message.name!=='XS:TextMsg'">
38
+ <!-- <div class="rong-message-name">{{ message.sender.name }}</div> -->
39
+ <img
40
+ v-if="message.direction !== 'sender' && message.content.userInfo && message.content.userInfo.avatarUrl"
41
+ class="rong-avatar rong-message-avatar"
42
+ :src="message.content.userInfo.avatarUrl"
43
+ />
44
+ <img
45
+ v-else
46
+ class="rong-avatar rong-message-avatar"
47
+ :src="
48
+ message.direction == 'sender'
49
+ ? message.sender.avatar1
50
+ : message.sender.avatar2
51
+ "
52
+ />
53
+ </div>
54
+ <div
55
+ :class="['rong-message-content rong-message-content-' + message.direction, ]"
56
+ >
57
+ <slot name="message" :message="message"></slot>
58
+ </div>
59
+ <TemplateMessage
60
+ v-if="message.name == 'XS:TextMsg'"
61
+ :message="message"
62
+ />
63
+ <div class="rong-clearfix"></div>
64
+ </div>
65
+ </div>
66
+ </div>
67
+ <!-- 顶部插槽 -->
68
+ <div class="fixed-top">
69
+ <slot name="slot-top" :list="messageList" />
70
+ </div>
71
+ <!-- 底部插槽 -->
72
+ <div class="fixed-bottom">
73
+ <slot name="slot-bottom"></slot>
74
+ </div>
75
+ <!-- 发送消息 -->
76
+ <send-msg
77
+ @sendMsgEvent="sendMsgEvent"
78
+ :targetId="targetId"
79
+ :type="type"
80
+ :targetName="targetName"
81
+ :userName="chatObj.latestMessage.content.userInfo ? chatObj.latestMessage.content.userInfo.userName : ''"
82
+ :avatarUrl="chatObj.latestMessage.content.userInfo ? chatObj.latestMessage.content.userInfo.avatarUrl : ''"
83
+ :chatObj="chatObj"
84
+ >
85
+ <div slot="slot-tool">
86
+ <slot name="slot-tool"></slot>
87
+ </div>
88
+ </send-msg>
89
+ </div>
90
+ </template>
91
+ <script>
92
+ import loading from "../loading/loading.vue";
93
+ import withoutmessage from "../without.vue";
94
+ import SendMsg from "../send-msg/index.vue";
95
+ import methods from "./methods";
96
+ import TemplateMessage from "../template-message/index.vue"
97
+ export default {
98
+ name: "chatCom",
99
+ data() {
100
+ return {
101
+ messageList: [],
102
+ bottom: 0,
103
+ adapterHeight: 0,
104
+ isShowEmojiSent: false,
105
+ hasMore: true,
106
+ todiv: "",
107
+ isAllowScroll: true,
108
+ isScrollTop: false,
109
+ isCurrent: false,
110
+ };
111
+ },
112
+ components: {
113
+ withoutmessage,
114
+ loading,
115
+ SendMsg,
116
+ TemplateMessage
117
+ },
118
+ props: {
119
+ targetId: [String, Number],
120
+ type: [String, Number],
121
+ targetName: [String, Number],
122
+ chatObj: [Object],
123
+ },
124
+ methods,
125
+ computed: {
126
+ getFixClass () {
127
+ const goodsList = this.messageList.filter(item => item.content && item.content.OutGoodsId)
128
+ return goodsList.length > 0 ? 'fixedWhite' : '';
129
+ }
130
+ },
131
+ mounted() {
132
+ const timer = setInterval(() => {
133
+ if (this.targetId) {
134
+ clearInterval(timer);
135
+ this.onloadEvent();
136
+ }
137
+ }, 100);
138
+ },
139
+ beforeDestroy() {
140
+ this.isCurrent = false;
141
+ }
142
+ };
143
+ </script>
144
+ <style lang="scss" src='./index.scss'></style>
@@ -1,150 +1,150 @@
1
-
2
- const utils = require('../../utils/utils.js');
3
- const { adapterHeight } = 0
4
-
5
- export default {
6
- onloadEvent(context) {
7
- this.adapterHeight = adapterHeight
8
- let type = this.type
9
- let targetId = this.targetId
10
- let keyboardHeight = 0;
11
- this.setKeyboardPos(context, keyboardHeight, adapterHeight)
12
- this.isCurrent = true
13
-
14
-
15
- let position = 0;
16
- let count = 8;
17
- this.getMessageList(context, { type, targetId, position, count });
18
-
19
- this.$Service.Message.watch((message) => {
20
- if (message.isOffLineMessage) {
21
- return;
22
- }
23
- if (message.type == type && message.targetId === targetId && this.isCurrent) {
24
- setTimeout(() => {
25
- this.messageList.push(message)
26
- this.scrollTopEvent()
27
- }, 500)
28
- this.toView = message.uId
29
- this.$Service.Conversation.clearUnreadCount({
30
- type, targetId
31
- });
32
- }
33
- });
34
- },
35
-
36
- setKeyboardPos(context, keyboardHeight, adapterHeight) {
37
- keyboardHeight = keyboardHeight || 0;
38
- let isScroll = (keyboardHeight > 0);
39
- if (isScroll) {
40
- this.bottom = adapterHeight + keyboardHeight
41
- this.isShowEmojiSent = false
42
- this.toView = this.getToView(context)
43
- } else {
44
- this.bottom = adapterHeight + keyboardHeight
45
- this.isShowEmojiSent = false
46
- }
47
- },
48
- getToView() {
49
- let index = this.messageList.length - 1;
50
- let message = this.messageList[index] || {};
51
- return message.uId || '';
52
- },
53
- // 获取历史消息
54
- getMessageList(context, params) {
55
- let { position } = params;
56
- let event = params.type == 4 ? this.$Service.Message.getChatRoomMessageList : this.$Service.Message.getList;
57
- return event(params).then((result) => {
58
- let messages = result.messageList;
59
- let hasMore = result.hasMore;
60
- this.hasMore = hasMore
61
- let messageList = messages.concat(this.messageList).filter(item => item.messageType !== 'RC:ReadNtf'); // 过滤 已读标识消息
62
- console.log('messageList', messageList)
63
-
64
- let toView = '';
65
- if (params.position == 0) {
66
- let index = messageList.length - 1;
67
- let message = messageList[index] || {};
68
- toView = message.uId || '';
69
- }
70
- let isFirst = (position == 0);
71
- if (!this.hasMore && !isFirst) {
72
- // 灰条提示
73
- toView = 'message-notify-without';
74
- this.hasMore = hasMore
75
- }
76
- if (isFirst) {
77
- this.isAllowScroll = true
78
- this.messageList = messageList
79
- this.toView = toView
80
- } else {
81
- this.isAllowScroll = true
82
- this.messageList = messageList
83
- }
84
- if (!this.isScrollTop) {
85
- this.scrollTopEvent()
86
- }
87
- })
88
- },
89
- // 查看更多
90
- getMoreMessages(context) {
91
- this.isScrollTop = true
92
- let messageList = this.messageList || [];
93
- let firstMessage = messageList[0] || {};
94
- let position = firstMessage.sentTime || 0;
95
- let count = 5;
96
- if (this.hasMore) {
97
- this.isAllowScroll = false
98
- this.getMessageList(context, { type: this.type, targetId: this.targetId, position, count });
99
- }
100
- },
101
- // 发送消息
102
- sendMsgEvent(message) {
103
- this.messageList.push(message)
104
- this.scrollTopEvent()
105
- this.toView = message.uId
106
- },
107
- // 滚动到页面底部
108
- scrollTopEvent() {
109
- if (this.$refs.rongMessageWrapMainEl) {
110
- this.$refs.rongMessageWrapEl.scrollTop = this.$refs.rongMessageWrapMainEl.scrollHeight;
111
- }
112
- },
113
- getTime: function (time) {
114
- var today = new Date(utils.dateFormat(new Date(), 'yyyy/MM/dd'));
115
- var thisTime = today.getTime();
116
- if (thisTime - time < 0) {
117
- return utils.dateFormat(new Date(time), 'hh:mm');
118
- } else if (thisTime - time < 24 * 60 * 60 * 1000) {
119
- return '昨天 ' + utils.dateFormat(new Date(time), 'hh:mm');
120
- } else if (thisTime - time < 6 * 24 * 60 * 60 * 1000) {
121
- var week = new Date(time).getDay();
122
- switch (week) {
123
- case 0:
124
- week = '星期日';
125
- break;
126
- case 1:
127
- week = '星期一';
128
- break;
129
- case 2:
130
- week = '星期二';
131
- break;
132
- case 3:
133
- week = '星期三';
134
- break;
135
- case 4:
136
- week = '星期四';
137
- break;
138
- case 5:
139
- week = '星期五';
140
- break;
141
- case 6:
142
- week = '星期六';
143
- break;
144
- }
145
- return week + ' ' + utils.dateFormat(new Date(time), 'hh:mm');
146
- } else {
147
- return utils.dateFormat(new Date(time), 'yy/MM/dd hh:mm');
148
- }
149
- },
1
+
2
+ const utils = require('../../utils/utils.js');
3
+ const { adapterHeight } = 0
4
+
5
+ export default {
6
+ onloadEvent(context) {
7
+ this.adapterHeight = adapterHeight
8
+ let type = this.type
9
+ let targetId = this.targetId
10
+ let keyboardHeight = 0;
11
+ this.setKeyboardPos(context, keyboardHeight, adapterHeight)
12
+ this.isCurrent = true
13
+
14
+
15
+ let position = 0;
16
+ let count = 8;
17
+ this.getMessageList(context, { type, targetId, position, count });
18
+
19
+ this.$Service.Message.watch((message) => {
20
+ if (message.isOffLineMessage) {
21
+ return;
22
+ }
23
+ if (message.type == type && message.targetId === targetId && this.isCurrent) {
24
+ setTimeout(() => {
25
+ this.messageList.push(message)
26
+ this.scrollTopEvent()
27
+ }, 500)
28
+ this.toView = message.uId
29
+ this.$Service.Conversation.clearUnreadCount({
30
+ type, targetId
31
+ });
32
+ }
33
+ });
34
+ },
35
+
36
+ setKeyboardPos(context, keyboardHeight, adapterHeight) {
37
+ keyboardHeight = keyboardHeight || 0;
38
+ let isScroll = (keyboardHeight > 0);
39
+ if (isScroll) {
40
+ this.bottom = adapterHeight + keyboardHeight
41
+ this.isShowEmojiSent = false
42
+ this.toView = this.getToView(context)
43
+ } else {
44
+ this.bottom = adapterHeight + keyboardHeight
45
+ this.isShowEmojiSent = false
46
+ }
47
+ },
48
+ getToView() {
49
+ let index = this.messageList.length - 1;
50
+ let message = this.messageList[index] || {};
51
+ return message.uId || '';
52
+ },
53
+ // 获取历史消息
54
+ getMessageList(context, params) {
55
+ let { position } = params;
56
+ let event = params.type == 4 ? this.$Service.Message.getChatRoomMessageList : this.$Service.Message.getList;
57
+ return event(params).then((result) => {
58
+ let messages = result.messageList;
59
+ let hasMore = result.hasMore;
60
+ this.hasMore = hasMore
61
+ let messageList = messages.concat(this.messageList).filter(item => item.messageType !== 'RC:ReadNtf'); // 过滤 已读标识消息
62
+ console.log('messageList', messageList)
63
+
64
+ let toView = '';
65
+ if (params.position == 0) {
66
+ let index = messageList.length - 1;
67
+ let message = messageList[index] || {};
68
+ toView = message.uId || '';
69
+ }
70
+ let isFirst = (position == 0);
71
+ if (!this.hasMore && !isFirst) {
72
+ // 灰条提示
73
+ toView = 'message-notify-without';
74
+ this.hasMore = hasMore
75
+ }
76
+ if (isFirst) {
77
+ this.isAllowScroll = true
78
+ this.messageList = messageList
79
+ this.toView = toView
80
+ } else {
81
+ this.isAllowScroll = true
82
+ this.messageList = messageList
83
+ }
84
+ if (!this.isScrollTop) {
85
+ this.scrollTopEvent()
86
+ }
87
+ })
88
+ },
89
+ // 查看更多
90
+ getMoreMessages(context) {
91
+ this.isScrollTop = true
92
+ let messageList = this.messageList || [];
93
+ let firstMessage = messageList[0] || {};
94
+ let position = firstMessage.sentTime || 0;
95
+ let count = 5;
96
+ if (this.hasMore) {
97
+ this.isAllowScroll = false
98
+ this.getMessageList(context, { type: this.type, targetId: this.targetId, position, count });
99
+ }
100
+ },
101
+ // 发送消息
102
+ sendMsgEvent(message) {
103
+ this.messageList.push(message)
104
+ this.scrollTopEvent()
105
+ this.toView = message.uId
106
+ },
107
+ // 滚动到页面底部
108
+ scrollTopEvent() {
109
+ if (this.$refs.rongMessageWrapMainEl) {
110
+ this.$refs.rongMessageWrapEl.scrollTop = this.$refs.rongMessageWrapMainEl.scrollHeight;
111
+ }
112
+ },
113
+ getTime: function (time) {
114
+ var today = new Date(utils.dateFormat(new Date(), 'yyyy/MM/dd'));
115
+ var thisTime = today.getTime();
116
+ if (thisTime - time < 0) {
117
+ return utils.dateFormat(new Date(time), 'hh:mm');
118
+ } else if (thisTime - time < 24 * 60 * 60 * 1000) {
119
+ return '昨天 ' + utils.dateFormat(new Date(time), 'hh:mm');
120
+ } else if (thisTime - time < 6 * 24 * 60 * 60 * 1000) {
121
+ var week = new Date(time).getDay();
122
+ switch (week) {
123
+ case 0:
124
+ week = '星期日';
125
+ break;
126
+ case 1:
127
+ week = '星期一';
128
+ break;
129
+ case 2:
130
+ week = '星期二';
131
+ break;
132
+ case 3:
133
+ week = '星期三';
134
+ break;
135
+ case 4:
136
+ week = '星期四';
137
+ break;
138
+ case 5:
139
+ week = '星期五';
140
+ break;
141
+ case 6:
142
+ week = '星期六';
143
+ break;
144
+ }
145
+ return week + ' ' + utils.dateFormat(new Date(time), 'hh:mm');
146
+ } else {
147
+ return utils.dateFormat(new Date(time), 'yy/MM/dd hh:mm');
148
+ }
149
+ },
150
150
  }