cnhis-design-vue 2.2.3 → 2.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 (751) hide show
  1. package/CHANGELOG.md +41 -6
  2. package/es/affix/index.js +8 -8
  3. package/es/age/index.js +10 -10
  4. package/es/alert/index.js +8 -8
  5. package/es/anchor/index.js +8 -8
  6. package/es/auto-complete/index.js +8 -8
  7. package/es/avatar/index.js +8 -8
  8. package/es/back-top/index.js +8 -8
  9. package/es/badge/index.js +8 -8
  10. package/es/base/index.js +8 -8
  11. package/es/big-table/index.js +107 -109
  12. package/es/big-table/style.css +1 -1
  13. package/es/breadcrumb/index.js +8 -8
  14. package/es/button/index.js +33 -33
  15. package/es/calendar/index.js +8 -8
  16. package/es/captcha/index.js +3 -3
  17. package/es/card/index.js +8 -8
  18. package/es/card-reader-sdk/index.js +1 -1
  19. package/es/carousel/index.js +8 -8
  20. package/es/cascader/index.js +8 -8
  21. package/es/checkbox/index.js +9 -9
  22. package/es/col/index.js +8 -8
  23. package/es/collapse/index.js +8 -8
  24. package/es/color-picker/index.js +1 -1
  25. package/es/comment/index.js +8 -8
  26. package/es/config-provider/index.js +8 -8
  27. package/es/date-picker/index.js +8 -8
  28. package/es/descriptions/index.js +8 -8
  29. package/es/direct/index.js +16 -16
  30. package/es/divider/index.js +8 -8
  31. package/es/drag-layout/index.js +3 -3
  32. package/es/drawer/index.js +8 -8
  33. package/es/dropdown/index.js +8 -8
  34. package/es/editor/index.js +1 -1
  35. package/es/ellipsis/index.js +1 -1
  36. package/es/empty/index.js +8 -8
  37. package/es/fabric-chart/index.js +262 -183
  38. package/es/form/index.js +8 -8
  39. package/es/form-model/index.js +8 -8
  40. package/es/form-table/index.js +74 -74
  41. package/es/full-calendar/index.js +4 -4
  42. package/es/index/index.js +1095 -855
  43. package/es/index/style.css +1 -1
  44. package/es/input/index.js +9 -9
  45. package/es/input-number/index.js +8 -8
  46. package/es/layout/index.js +8 -8
  47. package/es/list/index.js +8 -8
  48. package/es/locale-provider/index.js +8 -8
  49. package/es/map/index.js +9 -9
  50. package/es/mentions/index.js +8 -8
  51. package/es/menu/index.js +8 -8
  52. package/es/message/index.js +8 -8
  53. package/es/multi-chat/index.js +76 -76
  54. package/es/multi-chat-client/index.js +70 -70
  55. package/es/multi-chat-history/index.js +4 -4
  56. package/es/multi-chat-record/index.js +14 -14
  57. package/es/multi-chat-setting/index.js +22 -22
  58. package/es/multi-chat-sip/index.js +1 -1
  59. package/es/notification/index.js +8 -8
  60. package/es/page-header/index.js +8 -8
  61. package/es/pagination/index.js +8 -8
  62. package/es/popconfirm/index.js +8 -8
  63. package/es/popover/index.js +8 -8
  64. package/es/progress/index.js +8 -8
  65. package/es/radio/index.js +9 -9
  66. package/es/rate/index.js +8 -8
  67. package/es/result/index.js +8 -8
  68. package/es/row/index.js +8 -8
  69. package/es/scale-container/index.js +9 -9
  70. package/es/scale-view/index.js +27 -27
  71. package/es/select/index.js +36 -21
  72. package/es/select-label/index.js +11 -11
  73. package/es/select-person/index.js +2 -2
  74. package/es/select-tag/index.js +144 -81
  75. package/es/select-tag/style.css +1 -1
  76. package/es/shortcut-setter/index.js +10 -10
  77. package/es/skeleton/index.js +8 -8
  78. package/es/slider/index.js +8 -8
  79. package/es/slider-tree/index.js +9 -9
  80. package/es/space/index.js +8 -8
  81. package/es/spin/index.js +8 -8
  82. package/es/statistic/index.js +8 -8
  83. package/es/steps/index.js +8 -8
  84. package/es/switch/index.js +8 -8
  85. package/es/table-filter/index.js +280 -195
  86. package/es/table-filter/style.css +1 -1
  87. package/es/tabs/index.js +8 -8
  88. package/es/tag/index.js +9 -9
  89. package/es/time-picker/index.js +8 -8
  90. package/es/timeline/index.js +8 -8
  91. package/es/tooltip/index.js +8 -8
  92. package/es/transfer/index.js +8 -8
  93. package/es/tree/index.js +8 -8
  94. package/es/tree-select/index.js +8 -8
  95. package/es/upload/index.js +8 -8
  96. package/es/verification-code/index.js +2 -2
  97. package/lib/cui.common.js +1122 -893
  98. package/lib/cui.umd.js +1122 -893
  99. package/lib/cui.umd.min.js +36 -36
  100. package/package.json +1 -1
  101. package/.prettierrc.js +0 -27
  102. package/packages/affix/index.js +0 -12
  103. package/packages/affix/src/Affix.jsx +0 -12
  104. package/packages/age/index.js +0 -27
  105. package/packages/age/src/age/index.vue +0 -140
  106. package/packages/age/src/age-com/index.vue +0 -210
  107. package/packages/alert/index.js +0 -12
  108. package/packages/alert/src/Alert.jsx +0 -11
  109. package/packages/anchor/index.js +0 -18
  110. package/packages/anchor/src/Anchor.jsx +0 -11
  111. package/packages/anchor/src/Link.jsx +0 -11
  112. package/packages/auto-complete/index.js +0 -12
  113. package/packages/auto-complete/src/AutoComplete.jsx +0 -12
  114. package/packages/avatar/index.js +0 -12
  115. package/packages/avatar/src/Avatar.jsx +0 -11
  116. package/packages/back-top/index.js +0 -12
  117. package/packages/back-top/src/BackTop.jsx +0 -11
  118. package/packages/badge/index.js +0 -12
  119. package/packages/badge/src/Badge.jsx +0 -11
  120. package/packages/base/index.js +0 -3
  121. package/packages/big-table/index.js +0 -20
  122. package/packages/big-table/src/BigTable.vue +0 -2977
  123. package/packages/big-table/src/Fieldset.vue +0 -2067
  124. package/packages/big-table/src/assets/iconfont/iconfont.css +0 -25
  125. package/packages/big-table/src/assets/iconfont/iconfont.ttf +0 -0
  126. package/packages/big-table/src/assets/img/failure.png +0 -0
  127. package/packages/big-table/src/assets/img/icon-asc.png +0 -0
  128. package/packages/big-table/src/assets/img/icon-desc.png +0 -0
  129. package/packages/big-table/src/assets/img/no-permission.png +0 -0
  130. package/packages/big-table/src/assets/img/nodata.png +0 -0
  131. package/packages/big-table/src/assets/img/notfound.png +0 -0
  132. package/packages/big-table/src/assets/img/qr.png +0 -0
  133. package/packages/big-table/src/assets/img/video_default_cover.png +0 -0
  134. package/packages/big-table/src/assets/img/xb_big.png +0 -0
  135. package/packages/big-table/src/assets/img/xb_small.png +0 -0
  136. package/packages/big-table/src/assets/style/table-base.less +0 -425
  137. package/packages/big-table/src/assets/style/table-global.less +0 -20
  138. package/packages/big-table/src/components/AutoLayoutButton.vue +0 -285
  139. package/packages/big-table/src/components/HeaderFilter.vue +0 -371
  140. package/packages/big-table/src/components/NoData.vue +0 -81
  141. package/packages/big-table/src/components/TextOverTooltip.vue +0 -120
  142. package/packages/big-table/src/components/edit-form/EditForm.vue +0 -518
  143. package/packages/big-table/src/components/edit-form/edit-component/config-data/index.js +0 -68
  144. package/packages/big-table/src/components/edit-form/edit-component/edit-date-picker/edit-date-picker.vue +0 -60
  145. package/packages/big-table/src/components/edit-form/edit-component/edit-digital/edit-digital.vue +0 -54
  146. package/packages/big-table/src/components/edit-form/edit-component/edit-input/edit-input.vue +0 -39
  147. package/packages/big-table/src/components/edit-form/edit-component/edit-input-password/edit-input-password.vue +0 -79
  148. package/packages/big-table/src/components/edit-form/edit-component/edit-month-picker/edit-month-picker.vue +0 -37
  149. package/packages/big-table/src/components/edit-form/edit-component/edit-search/edit-search.vue +0 -156
  150. package/packages/big-table/src/components/edit-form/edit-component/edit-search-more/edit-search-more.vue +0 -151
  151. package/packages/big-table/src/components/edit-form/edit-component/edit-select/edit-select.vue +0 -40
  152. package/packages/big-table/src/components/edit-form/edit-component/edit-select-multiple/edit-select-multiple.vue +0 -55
  153. package/packages/big-table/src/components/edit-form/edit-component/edit-switch/edit-switch.vue +0 -43
  154. package/packages/big-table/src/components/edit-form/edit-component/edit-textarea/edit-textarea.vue +0 -41
  155. package/packages/big-table/src/components/edit-form/edit-component/edit-time-picker/edit-time-picker.vue +0 -40
  156. package/packages/big-table/src/components/edit-form/edit-component/mixins/bound-date.js +0 -3
  157. package/packages/big-table/src/components/edit-form/edit-component/mixins/dateType.js +0 -217
  158. package/packages/big-table/src/components/edit-form/edit-component/mixins/item-default.js +0 -639
  159. package/packages/big-table/src/components/edit-form/edit-component/mixins/search.js +0 -1223
  160. package/packages/big-table/src/components/edit-form/edit-component/register-com.js +0 -26
  161. package/packages/big-table/src/components/edit-form/edit-item/form-event.js +0 -80
  162. package/packages/big-table/src/components/edit-form/edit-item/global-props.js +0 -33
  163. package/packages/big-table/src/components/edit-form/edit-item/index.js +0 -4
  164. package/packages/big-table/src/components/edit-form/edit-item/render-methods.js +0 -28
  165. package/packages/big-table/src/components/edit-form/edit-item/validate-rules.js +0 -463
  166. package/packages/big-table/src/components/edit-form/edit-mixins/form-commom.js +0 -673
  167. package/packages/big-table/src/components/edit-form/edit-mixins/index.js +0 -3
  168. package/packages/big-table/src/components/edit-form/edit-utils/index.js +0 -112
  169. package/packages/big-table/src/components/password-com.vue +0 -58
  170. package/packages/big-table/src/components/player-vod/index.vue +0 -57
  171. package/packages/big-table/src/components/player-vod/player.vue +0 -193
  172. package/packages/big-table/src/components/player-vod/video-list.vue +0 -265
  173. package/packages/big-table/src/components/player-vod/video-modal.vue +0 -131
  174. package/packages/big-table/src/utils/CustomPagination.vue +0 -86
  175. package/packages/big-table/src/utils/batchEditing.js +0 -613
  176. package/packages/big-table/src/utils/bigTableProps.js +0 -112
  177. package/packages/big-table/src/utils/checkStrictly.js +0 -58
  178. package/packages/big-table/src/utils/eventBroadcast.js +0 -24
  179. package/packages/big-table/src/utils/format.js +0 -577
  180. package/packages/big-table/src/utils/headerFilter.js +0 -691
  181. package/packages/big-table/src/utils/nestTable.js +0 -109
  182. package/packages/big-table/src/utils/tableParse.js +0 -234
  183. package/packages/breadcrumb/index.js +0 -21
  184. package/packages/breadcrumb/src/Breadcrumb.jsx +0 -11
  185. package/packages/breadcrumb/src/BreadcrumbItem.jsx +0 -11
  186. package/packages/breadcrumb/src/BreadcrumbSeparator.jsx +0 -11
  187. package/packages/button/index.js +0 -21
  188. package/packages/button/src/Button.jsx +0 -11
  189. package/packages/button/src/ButtonGroup.jsx +0 -11
  190. package/packages/button/src/ButtonPrint/components/IdentityVerification.vue +0 -181
  191. package/packages/button/src/ButtonPrint/index.vue +0 -165
  192. package/packages/button/src/ButtonPrint/js/print.es.min.js +0 -1
  193. package/packages/button/src/ButtonPrint/js/print.es.min1.js +0 -1
  194. package/packages/button/src/ButtonPrint/mixin/his-print.js +0 -95
  195. package/packages/button/src/ButtonPrint/new.vue +0 -1476
  196. package/packages/button/src/ButtonPrint/old.vue +0 -870
  197. package/packages/calendar/index.js +0 -12
  198. package/packages/calendar/src/Calendar.jsx +0 -11
  199. package/packages/captcha/index.js +0 -10
  200. package/packages/captcha/src/Captcha.vue +0 -164
  201. package/packages/captcha/src/Index.vue +0 -47
  202. package/packages/captcha/src/SlideVerify.vue +0 -285
  203. package/packages/card/index.js +0 -21
  204. package/packages/card/src/Card.jsx +0 -12
  205. package/packages/card/src/CardGrid.js +0 -7
  206. package/packages/card/src/CardMeta.js +0 -7
  207. package/packages/card-reader-sdk/index.js +0 -4
  208. package/packages/card-reader-sdk/src/cardReaderSDK.js +0 -149
  209. package/packages/card-reader-sdk/src/components/readCardDialog.vue +0 -48
  210. package/packages/card-reader-sdk/src/constants/index.js +0 -76
  211. package/packages/card-reader-sdk/src/insuranceSDK.js +0 -111
  212. package/packages/card-reader-sdk/src/utils/index.js +0 -84
  213. package/packages/card-reader-sdk/src/utils/readHealthCard.jsx +0 -57
  214. package/packages/carousel/index.js +0 -12
  215. package/packages/carousel/src/Carousel.jsx +0 -12
  216. package/packages/cascader/index.js +0 -12
  217. package/packages/cascader/src/Cascader.jsx +0 -11
  218. package/packages/checkbox/index.js +0 -30
  219. package/packages/checkbox/src/Checkbox.jsx +0 -11
  220. package/packages/checkbox/src/CheckboxImg/index.vue +0 -142
  221. package/packages/checkbox/src/Group.jsx +0 -11
  222. package/packages/col/index.js +0 -13
  223. package/packages/col/src/Col.jsx +0 -11
  224. package/packages/collapse/index.js +0 -18
  225. package/packages/collapse/src/Collapse.jsx +0 -11
  226. package/packages/collapse/src/Panel.jsx +0 -11
  227. package/packages/color-picker/index.js +0 -10
  228. package/packages/color-picker/src/color-picker.vue +0 -191
  229. package/packages/color-picker/src/style.less +0 -109
  230. package/packages/comment/index.js +0 -12
  231. package/packages/comment/src/Comment.jsx +0 -11
  232. package/packages/config-provider/index.js +0 -12
  233. package/packages/config-provider/src/ConfigProvider.jsx +0 -11
  234. package/packages/date-picker/index.js +0 -26
  235. package/packages/date-picker/src/DatePicker.jsx +0 -12
  236. package/packages/date-picker/src/MonthPicker.jsx +0 -11
  237. package/packages/date-picker/src/RangePicker.jsx +0 -11
  238. package/packages/date-picker/src/WeekPicker.jsx +0 -11
  239. package/packages/date-picker/src/utils/index.js +0 -374
  240. package/packages/descriptions/index.js +0 -18
  241. package/packages/descriptions/src/Descriptions.jsx +0 -11
  242. package/packages/descriptions/src/Item.jsx +0 -11
  243. package/packages/direct/index.js +0 -3
  244. package/packages/divider/index.js +0 -12
  245. package/packages/divider/src/Divider.jsx +0 -11
  246. package/packages/drag-layout/DragFormLeftItem.vue +0 -173
  247. package/packages/drag-layout/DragFormRightItem.vue +0 -284
  248. package/packages/drag-layout/I18n-mixins.js +0 -10
  249. package/packages/drag-layout/drag-layout.vue +0 -778
  250. package/packages/drag-layout/index.js +0 -12
  251. package/packages/drawer/index.js +0 -12
  252. package/packages/drawer/src/Drawer.jsx +0 -11
  253. package/packages/dropdown/index.js +0 -12
  254. package/packages/dropdown/src/Dropdown.jsx +0 -11
  255. package/packages/editor/index.js +0 -10
  256. package/packages/editor/src/Editor.vue +0 -201
  257. package/packages/editor/src/utils.js +0 -65
  258. package/packages/ellipsis/index.js +0 -9
  259. package/packages/ellipsis/src/Ellipsis.vue +0 -65
  260. package/packages/empty/index.js +0 -12
  261. package/packages/empty/src/Empty.jsx +0 -11
  262. package/packages/fabric-chart/index.js +0 -10
  263. package/packages/fabric-chart/src/FabricChart.vue +0 -153
  264. package/packages/fabric-chart/src/FabricGrid.vue +0 -67
  265. package/packages/fabric-chart/src/components/DropPopup.vue +0 -90
  266. package/packages/fabric-chart/src/components/MouseRightClick.vue +0 -168
  267. package/packages/fabric-chart/src/components/TimeScaleValue.vue +0 -125
  268. package/packages/fabric-chart/src/const/defaultVaule.js +0 -61
  269. package/packages/fabric-chart/src/fabric-chart/FabricCanvas.vue +0 -396
  270. package/packages/fabric-chart/src/fabric-chart/FabricLines.vue +0 -641
  271. package/packages/fabric-chart/src/fabric-chart/FabricPolylines.vue +0 -1447
  272. package/packages/fabric-chart/src/fabric-chart/FabricScaleValue.vue +0 -142
  273. package/packages/fabric-chart/src/fabric-chart/FabricTextGroup.vue +0 -928
  274. package/packages/fabric-chart/src/mixins/draw.js +0 -444
  275. package/packages/fabric-chart/src/mixins/drawExtracorporealCirculation.js +0 -222
  276. package/packages/fabric-chart/src/mixins/eventCommon.js +0 -107
  277. package/packages/fabric-chart/src/mixins/fabricCommon.js +0 -77
  278. package/packages/fabric-chart/src/mixins/fabricObject.js +0 -193
  279. package/packages/fabric-chart/src/utils/bus.js +0 -2
  280. package/packages/fabric-chart/src/utils/index.js +0 -104
  281. package/packages/form/index.js +0 -16
  282. package/packages/form/src/Form.jsx +0 -11
  283. package/packages/form/src/Item.jsx +0 -11
  284. package/packages/form-model/index.js +0 -14
  285. package/packages/form-model/src/FormModel.jsx +0 -11
  286. package/packages/form-model/src/Item.jsx +0 -11
  287. package/packages/form-table/index.js +0 -16
  288. package/packages/form-table/src/FormTable.vue +0 -1110
  289. package/packages/form-table/src/components/table-component/config-data/index.js +0 -80
  290. package/packages/form-table/src/components/table-component/global-props.js +0 -22
  291. package/packages/form-table/src/components/table-component/index.js +0 -8
  292. package/packages/form-table/src/components/table-component/mixins/bound-date.js +0 -455
  293. package/packages/form-table/src/components/table-component/mixins/dateType.js +0 -217
  294. package/packages/form-table/src/components/table-component/mixins/item-default.js +0 -257
  295. package/packages/form-table/src/components/table-component/mixins/search.js +0 -1242
  296. package/packages/form-table/src/components/table-component/register-com.js +0 -30
  297. package/packages/form-table/src/components/table-component/table-age/table-age.vue +0 -175
  298. package/packages/form-table/src/components/table-component/table-date-picker/table-date-picker.vue +0 -87
  299. package/packages/form-table/src/components/table-component/table-digital/table-digital.vue +0 -93
  300. package/packages/form-table/src/components/table-component/table-input/table-input.vue +0 -81
  301. package/packages/form-table/src/components/table-component/table-input-password/table-input-password.vue +0 -126
  302. package/packages/form-table/src/components/table-component/table-month-picker/table-month-picker.vue +0 -55
  303. package/packages/form-table/src/components/table-component/table-search/table-search.vue +0 -174
  304. package/packages/form-table/src/components/table-component/table-search-more/table-search-more.vue +0 -191
  305. package/packages/form-table/src/components/table-component/table-select/table-select.vue +0 -64
  306. package/packages/form-table/src/components/table-component/table-select-multiple/table-select-multiple.vue +0 -81
  307. package/packages/form-table/src/components/table-component/table-textarea/table-textarea.vue +0 -76
  308. package/packages/form-table/src/components/table-component/table-time-picker/table-time-picker.vue +0 -55
  309. package/packages/form-table/src/components/table-component/table-tree-select/table-tree-select.vue +0 -135
  310. package/packages/form-table/src/components/table-component/text-over-tooltip/TextOverTooltip.vue +0 -97
  311. package/packages/form-table/src/components/table-item/form-event.js +0 -81
  312. package/packages/form-table/src/components/table-item/global-props.js +0 -27
  313. package/packages/form-table/src/components/table-item/index.js +0 -4
  314. package/packages/form-table/src/components/table-item/render-methods.js +0 -28
  315. package/packages/form-table/src/components/table-item/validate-rules.js +0 -520
  316. package/packages/form-table/src/components/table-mixins/form-commom.js +0 -98
  317. package/packages/form-table/src/components/table-mixins/index.js +0 -3
  318. package/packages/form-table/src/components/table-utils/index.js +0 -112
  319. package/packages/form-table/src/disabledDetail.less +0 -46
  320. package/packages/full-calendar/index.js +0 -10
  321. package/packages/full-calendar/src/FullCalendar.vue +0 -775
  322. package/packages/full-calendar/src/api/index.js +0 -71
  323. package/packages/full-calendar/src/components/ListTag.vue +0 -184
  324. package/packages/full-calendar/src/components/Tag.vue +0 -300
  325. package/packages/full-calendar/src/components/TagDetail.vue +0 -288
  326. package/packages/full-calendar/src/utils/index.js +0 -217
  327. package/packages/grid/index.js +0 -10
  328. package/packages/grid/src/grid.js +0 -27
  329. package/packages/icon/index.js +0 -10
  330. package/packages/icon/src/icon.js +0 -13
  331. package/packages/index.js +0 -325
  332. package/packages/input/index.js +0 -30
  333. package/packages/input/src/Group.jsx +0 -11
  334. package/packages/input/src/Input.jsx +0 -11
  335. package/packages/input/src/Password.jsx +0 -11
  336. package/packages/input/src/Search.jsx +0 -11
  337. package/packages/input/src/TextArea.jsx +0 -11
  338. package/packages/input/src/input-quick/components/quick-item.vue +0 -284
  339. package/packages/input/src/input-quick/components/quick-popover.vue +0 -596
  340. package/packages/input/src/input-quick/index.vue +0 -137
  341. package/packages/input-number/index.js +0 -12
  342. package/packages/input-number/src/InputNumber.jsx +0 -11
  343. package/packages/keep-cache/KeepCache.js +0 -236
  344. package/packages/keep-cache/index.css +0 -3
  345. package/packages/keep-cache/index.js +0 -8
  346. package/packages/layout/index.js +0 -27
  347. package/packages/layout/src/Content.jsx +0 -11
  348. package/packages/layout/src/Footer.jsx +0 -11
  349. package/packages/layout/src/Header.jsx +0 -11
  350. package/packages/layout/src/Layout.jsx +0 -11
  351. package/packages/layout/src/Sider.jsx +0 -11
  352. package/packages/list/index.js +0 -21
  353. package/packages/list/src/Item.jsx +0 -11
  354. package/packages/list/src/ItemMeta.jsx +0 -11
  355. package/packages/list/src/List.jsx +0 -11
  356. package/packages/locale-provider/index.js +0 -12
  357. package/packages/locale-provider/src/LocaleProvider.jsx +0 -11
  358. package/packages/map/index.js +0 -10
  359. package/packages/map/src/Map.vue +0 -484
  360. package/packages/map/src/popup-map.vue +0 -53
  361. package/packages/mentions/index.js +0 -18
  362. package/packages/mentions/src/Mentions.jsx +0 -11
  363. package/packages/mentions/src/Option.jsx +0 -11
  364. package/packages/menu/index.js +0 -27
  365. package/packages/menu/src/Divider.jsx +0 -11
  366. package/packages/menu/src/Item.jsx +0 -11
  367. package/packages/menu/src/ItemGroup.jsx +0 -11
  368. package/packages/menu/src/Menu.jsx +0 -11
  369. package/packages/menu/src/SubMenu.jsx +0 -11
  370. package/packages/message/index.js +0 -8
  371. package/packages/modal/index.js +0 -10
  372. package/packages/modal/src/Modal.js +0 -7
  373. package/packages/multi-chat/chat/addConference.vue +0 -200
  374. package/packages/multi-chat/chat/addMembers.vue +0 -411
  375. package/packages/multi-chat/chat/advancedFilter.vue +0 -372
  376. package/packages/multi-chat/chat/audio.vue +0 -599
  377. package/packages/multi-chat/chat/calling.vue +0 -246
  378. package/packages/multi-chat/chat/chatFooter.vue +0 -1647
  379. package/packages/multi-chat/chat/chatHeader.vue +0 -493
  380. package/packages/multi-chat/chat/chatHistory.vue +0 -605
  381. package/packages/multi-chat/chat/chatMain.vue +0 -1490
  382. package/packages/multi-chat/chat/client/clientChat.vue +0 -731
  383. package/packages/multi-chat/chat/client/index.vue +0 -149
  384. package/packages/multi-chat/chat/delay.vue +0 -177
  385. package/packages/multi-chat/chat/evaluate.vue +0 -343
  386. package/packages/multi-chat/chat/index.vue +0 -2419
  387. package/packages/multi-chat/chat/messageRecord.vue +0 -324
  388. package/packages/multi-chat/chat/mixins/NoData.js +0 -20
  389. package/packages/multi-chat/chat/mixins/base.js +0 -97
  390. package/packages/multi-chat/chat/mixins/uniRTCAPI.js +0 -80
  391. package/packages/multi-chat/chat/mixins/viewerOptions.js +0 -67
  392. package/packages/multi-chat/chat/multiVideo.vue +0 -1426
  393. package/packages/multi-chat/chat/quickReply.vue +0 -439
  394. package/packages/multi-chat/chat/robot/index.vue +0 -312
  395. package/packages/multi-chat/chat/scrollList.vue +0 -1259
  396. package/packages/multi-chat/chat/video.vue +0 -404
  397. package/packages/multi-chat/chat/videoVoiceList.vue +0 -348
  398. package/packages/multi-chat/chat/voice.vue +0 -431
  399. package/packages/multi-chat/components/avatar.vue +0 -113
  400. package/packages/multi-chat/components/chat-tabs-header.vue +0 -251
  401. package/packages/multi-chat/components/classify-tabs.vue +0 -185
  402. package/packages/multi-chat/components/empty.vue +0 -24
  403. package/packages/multi-chat/components/modal-refuse-reason.vue +0 -112
  404. package/packages/multi-chat/components/modal-sip.vue +0 -160
  405. package/packages/multi-chat/components/modal-user-transfer.vue +0 -98
  406. package/packages/multi-chat/components/msg-describe.vue +0 -138
  407. package/packages/multi-chat/components/msg-picture.vue +0 -68
  408. package/packages/multi-chat/components/msg-prescription.vue +0 -205
  409. package/packages/multi-chat/components/read-record.vue +0 -133
  410. package/packages/multi-chat/components/read-status.vue +0 -34
  411. package/packages/multi-chat/components/user-status.vue +0 -198
  412. package/packages/multi-chat/components/vuecmf-dialog.vue +0 -323
  413. package/packages/multi-chat/img/OFF-LINE.png +0 -0
  414. package/packages/multi-chat/img/ON-LINE.png +0 -0
  415. package/packages/multi-chat/img/accept.png +0 -0
  416. package/packages/multi-chat/img/add-person.png +0 -0
  417. package/packages/multi-chat/img/add_prescription.png +0 -0
  418. package/packages/multi-chat/img/all-voice.png +0 -0
  419. package/packages/multi-chat/img/audio-new.png +0 -0
  420. package/packages/multi-chat/img/audio-play.gif +0 -0
  421. package/packages/multi-chat/img/audio.png +0 -0
  422. package/packages/multi-chat/img/base-info-active.png +0 -0
  423. package/packages/multi-chat/img/base-info.png +0 -0
  424. package/packages/multi-chat/img/busy_line.png +0 -0
  425. package/packages/multi-chat/img/call.png +0 -0
  426. package/packages/multi-chat/img/callin.png +0 -0
  427. package/packages/multi-chat/img/callin_cancel.png +0 -0
  428. package/packages/multi-chat/img/calling.png +0 -0
  429. package/packages/multi-chat/img/callout.png +0 -0
  430. package/packages/multi-chat/img/callout_cancel.png +0 -0
  431. package/packages/multi-chat/img/close.png +0 -0
  432. package/packages/multi-chat/img/close_video.png +0 -0
  433. package/packages/multi-chat/img/customer-service-active.png +0 -0
  434. package/packages/multi-chat/img/customer-service.png +0 -0
  435. package/packages/multi-chat/img/customer.png +0 -0
  436. package/packages/multi-chat/img/customer_staff.png +0 -0
  437. package/packages/multi-chat/img/default.png +0 -0
  438. package/packages/multi-chat/img/ellipsis.png +0 -0
  439. package/packages/multi-chat/img/end-voice.png +0 -0
  440. package/packages/multi-chat/img/event-active.png +0 -0
  441. package/packages/multi-chat/img/event.png +0 -0
  442. package/packages/multi-chat/img/exp.png +0 -0
  443. package/packages/multi-chat/img/full-sceen-close.png +0 -0
  444. package/packages/multi-chat/img/full-sceen.png +0 -0
  445. package/packages/multi-chat/img/icon_list.png +0 -0
  446. package/packages/multi-chat/img/icon_list_active.png +0 -0
  447. package/packages/multi-chat/img/icon_table.png +0 -0
  448. package/packages/multi-chat/img/icon_table_active.png +0 -0
  449. package/packages/multi-chat/img/join-video.png +0 -0
  450. package/packages/multi-chat/img/large.png +0 -0
  451. package/packages/multi-chat/img/left-wrapper.png +0 -0
  452. package/packages/multi-chat/img/left.png +0 -0
  453. package/packages/multi-chat/img/medical_record.png +0 -0
  454. package/packages/multi-chat/img/middle.png +0 -0
  455. package/packages/multi-chat/img/msgTip.mp3 +0 -0
  456. package/packages/multi-chat/img/multi-video.png +0 -0
  457. package/packages/multi-chat/img/multi-voice.png +0 -0
  458. package/packages/multi-chat/img/mute-audio.png +0 -0
  459. package/packages/multi-chat/img/muted-audio.png +0 -0
  460. package/packages/multi-chat/img/muted-screen.png +0 -0
  461. package/packages/multi-chat/img/muted-video.png +0 -0
  462. package/packages/multi-chat/img/no-all-voice.png +0 -0
  463. package/packages/multi-chat/img/no-data.png +0 -0
  464. package/packages/multi-chat/img/no-data2.png +0 -0
  465. package/packages/multi-chat/img/no-screen.png +0 -0
  466. package/packages/multi-chat/img/no-video.png +0 -0
  467. package/packages/multi-chat/img/no-voice.png +0 -0
  468. package/packages/multi-chat/img/no-voiced.png +0 -0
  469. package/packages/multi-chat/img/normal-screen.png +0 -0
  470. package/packages/multi-chat/img/normal-video.png +0 -0
  471. package/packages/multi-chat/img/over.png +0 -0
  472. package/packages/multi-chat/img/portrait.png +0 -0
  473. package/packages/multi-chat/img/prescription.png +0 -0
  474. package/packages/multi-chat/img/receive.png +0 -0
  475. package/packages/multi-chat/img/reject.png +0 -0
  476. package/packages/multi-chat/img/remove.png +0 -0
  477. package/packages/multi-chat/img/replay.png +0 -0
  478. package/packages/multi-chat/img/required.png +0 -0
  479. package/packages/multi-chat/img/screen.png +0 -0
  480. package/packages/multi-chat/img/send_prescription.png +0 -0
  481. package/packages/multi-chat/img/setting.png +0 -0
  482. package/packages/multi-chat/img/small.png +0 -0
  483. package/packages/multi-chat/img/sound.png +0 -0
  484. package/packages/multi-chat/img/sound_forbid.png +0 -0
  485. package/packages/multi-chat/img/start_video.png +0 -0
  486. package/packages/multi-chat/img/system_message.png +0 -0
  487. package/packages/multi-chat/img/to-session.png +0 -0
  488. package/packages/multi-chat/img/transfer.png +0 -0
  489. package/packages/multi-chat/img/transfer2.png +0 -0
  490. package/packages/multi-chat/img/video-accept.png +0 -0
  491. package/packages/multi-chat/img/video.png +0 -0
  492. package/packages/multi-chat/img/video_consult.png +0 -0
  493. package/packages/multi-chat/img/voice.png +0 -0
  494. package/packages/multi-chat/img/worktime-active.png +0 -0
  495. package/packages/multi-chat/img/worktime.png +0 -0
  496. package/packages/multi-chat/index.js +0 -7
  497. package/packages/multi-chat/setting/authority/index.vue +0 -156
  498. package/packages/multi-chat/setting/authority/roleSetting.vue +0 -204
  499. package/packages/multi-chat/setting/baseInfo/index.vue +0 -1343
  500. package/packages/multi-chat/setting/configuration/index.vue +0 -334
  501. package/packages/multi-chat/setting/customerService/batchSelect.vue +0 -403
  502. package/packages/multi-chat/setting/customerService/index.vue +0 -273
  503. package/packages/multi-chat/setting/event/edit/condition.vue +0 -128
  504. package/packages/multi-chat/setting/event/edit/index.vue +0 -437
  505. package/packages/multi-chat/setting/event/edit/notice.vue +0 -129
  506. package/packages/multi-chat/setting/event/edit/strategy.vue +0 -98
  507. package/packages/multi-chat/setting/event/index.vue +0 -249
  508. package/packages/multi-chat/setting/index.vue +0 -281
  509. package/packages/multi-chat/setting/page.vue +0 -14
  510. package/packages/multi-chat/setting/sessionList/index.vue +0 -412
  511. package/packages/multi-chat/setting/sessionList/messageRecord.vue +0 -372
  512. package/packages/multi-chat/setting/userConfig/index.vue +0 -124
  513. package/packages/multi-chat/setting/worktime/index.vue +0 -274
  514. package/packages/multi-chat/store/actions.js +0 -452
  515. package/packages/multi-chat/store/getters.js +0 -380
  516. package/packages/multi-chat/store/helper.js +0 -66
  517. package/packages/multi-chat/store/index.js +0 -50
  518. package/packages/multi-chat/store/mutation.js +0 -305
  519. package/packages/multi-chat/store/state.js +0 -120
  520. package/packages/multi-chat/style/emoji.css +0 -315
  521. package/packages/multi-chat/style/message.mixin.less +0 -38
  522. package/packages/multi-chat/utils/chatSock.js +0 -93
  523. package/packages/multi-chat/utils/compressImage.js +0 -115
  524. package/packages/multi-chat/utils/emoji.json +0 -68
  525. package/packages/multi-chat/utils/index.js +0 -259
  526. package/packages/multi-chat/utils/observer-scroll.js +0 -49
  527. package/packages/multi-chat/utils/panelsetting.js +0 -48
  528. package/packages/multi-chat/utils/rtc-client-multi.js +0 -397
  529. package/packages/multi-chat/utils/rtc-client.js +0 -469
  530. package/packages/multi-chat-client/index.js +0 -7
  531. package/packages/multi-chat-history/index.js +0 -7
  532. package/packages/multi-chat-record/index.js +0 -7
  533. package/packages/multi-chat-setting/index.js +0 -7
  534. package/packages/multi-chat-sip/index.js +0 -6
  535. package/packages/notification/index.js +0 -8
  536. package/packages/page-header/index.js +0 -12
  537. package/packages/page-header/src/PageHeader.jsx +0 -11
  538. package/packages/pagination/index.js +0 -12
  539. package/packages/pagination/src/Pagination.jsx +0 -11
  540. package/packages/popconfirm/index.js +0 -12
  541. package/packages/popconfirm/src/Popconfirm.jsx +0 -11
  542. package/packages/popover/index.js +0 -12
  543. package/packages/popover/src/Popover.jsx +0 -11
  544. package/packages/progress/index.js +0 -12
  545. package/packages/progress/src/Progress.jsx +0 -11
  546. package/packages/radio/index.js +0 -33
  547. package/packages/radio/src/Group.jsx +0 -11
  548. package/packages/radio/src/Radio.jsx +0 -11
  549. package/packages/radio/src/RadioButton.jsx +0 -11
  550. package/packages/radio/src/RadioImg/index.vue +0 -125
  551. package/packages/rate/index.js +0 -12
  552. package/packages/rate/src/Rate.jsx +0 -11
  553. package/packages/result/index.js +0 -12
  554. package/packages/result/src/Result.jsx +0 -11
  555. package/packages/row/index.js +0 -12
  556. package/packages/row/src/Row.jsx +0 -11
  557. package/packages/scale-container/index.js +0 -9
  558. package/packages/scale-container/src/ScaleContainer.vue +0 -202
  559. package/packages/scale-container/src/scale.png +0 -0
  560. package/packages/scale-view/NoData.vue +0 -81
  561. package/packages/scale-view/answerParse.vue +0 -133
  562. package/packages/scale-view/assets/img/failure.png +0 -0
  563. package/packages/scale-view/assets/img/no-permission.png +0 -0
  564. package/packages/scale-view/assets/img/nodata.png +0 -0
  565. package/packages/scale-view/assets/img/notfound.png +0 -0
  566. package/packages/scale-view/customList.vue +0 -801
  567. package/packages/scale-view/data.js +0 -80
  568. package/packages/scale-view/directive/drag-move.js +0 -132
  569. package/packages/scale-view/evaluateCountdown.vue +0 -157
  570. package/packages/scale-view/evaluatePage.vue +0 -203
  571. package/packages/scale-view/formitem/data.js +0 -3991
  572. package/packages/scale-view/formitem/index.js +0 -7
  573. package/packages/scale-view/formitem/r-address.vue +0 -245
  574. package/packages/scale-view/formitem/r-choice.vue +0 -755
  575. package/packages/scale-view/formitem/r-input.vue +0 -93
  576. package/packages/scale-view/formitem/r-prompt.vue +0 -52
  577. package/packages/scale-view/formitem/r-sign.vue +0 -218
  578. package/packages/scale-view/formitem/r-time.vue +0 -285
  579. package/packages/scale-view/formitem/r-upload-custom-list.vue +0 -242
  580. package/packages/scale-view/formitem/r-upload.vue +0 -321
  581. package/packages/scale-view/formitem/sign-com.vue +0 -316
  582. package/packages/scale-view/formitem/text-over-tooltip/TextOverTooltip.vue +0 -98
  583. package/packages/scale-view/index.js +0 -17
  584. package/packages/scale-view/mixin/NoData.js +0 -38
  585. package/packages/scale-view/mixin/addressVal.js +0 -156
  586. package/packages/scale-view/mixin/evaluate.js +0 -146
  587. package/packages/scale-view/mixin/index.js +0 -337
  588. package/packages/scale-view/mixin/judgeTypes.js +0 -267
  589. package/packages/scale-view/scaleView.vue +0 -2086
  590. package/packages/select/index.js +0 -30
  591. package/packages/select/src/CustomSelect/index.vue +0 -130
  592. package/packages/select/src/OptGroup.jsx +0 -11
  593. package/packages/select/src/Option.jsx +0 -11
  594. package/packages/select/src/PagerSelect/index.vue +0 -92
  595. package/packages/select/src/Select/Select.vue +0 -231
  596. package/packages/select/src/Select/index.js +0 -12
  597. package/packages/select/src/TableSelect/index.vue +0 -514
  598. package/packages/select-label/index.js +0 -14
  599. package/packages/select-label/label-classify.vue +0 -129
  600. package/packages/select-label/labelFormContent.vue +0 -787
  601. package/packages/select-label/select-label.vue +0 -597
  602. package/packages/select-person/index.js +0 -10
  603. package/packages/select-person/search-tree.vue +0 -373
  604. package/packages/select-person/select-person.vue +0 -1736
  605. package/packages/select-tag/index.js +0 -14
  606. package/packages/select-tag/label-classify.vue +0 -133
  607. package/packages/select-tag/labelFormContent.vue +0 -295
  608. package/packages/select-tag/select-label.vue +0 -274
  609. package/packages/shortcut-provider/index.js +0 -10
  610. package/packages/shortcut-provider/src/ShortcutProvider.vue +0 -33
  611. package/packages/shortcut-provider/src/constants/index.js +0 -4
  612. package/packages/shortcut-provider/src/hooks/index.js +0 -1
  613. package/packages/shortcut-provider/src/hooks/useShortcuts.js +0 -129
  614. package/packages/shortcut-provider/src/utils/index.js +0 -107
  615. package/packages/shortcut-setter/index.js +0 -12
  616. package/packages/shortcut-setter/src/ShortcutSetter.vue +0 -55
  617. package/packages/shortcut-setter/src/ShortcutSetterItem.vue +0 -97
  618. package/packages/shortcut-setter/src/utils/index.js +0 -63
  619. package/packages/skeleton/index.js +0 -12
  620. package/packages/skeleton/src/Skeleton.jsx +0 -11
  621. package/packages/slider/index.js +0 -12
  622. package/packages/slider/src/Slider.jsx +0 -11
  623. package/packages/slider-tree/hooks/useAsyncData.js +0 -53
  624. package/packages/slider-tree/index.js +0 -7
  625. package/packages/slider-tree/index.vue +0 -391
  626. package/packages/slider-tree/utils/index.js +0 -10
  627. package/packages/space/index.js +0 -12
  628. package/packages/space/src/Space.jsx +0 -11
  629. package/packages/spin/index.js +0 -12
  630. package/packages/spin/src/Spin.jsx +0 -11
  631. package/packages/statistic/index.js +0 -18
  632. package/packages/statistic/src/Countdown.jsx +0 -11
  633. package/packages/statistic/src/Statistic.jsx +0 -11
  634. package/packages/steps/index.js +0 -18
  635. package/packages/steps/src/Step.jsx +0 -11
  636. package/packages/steps/src/Steps.jsx +0 -11
  637. package/packages/switch/index.js +0 -12
  638. package/packages/switch/src/Switch.jsx +0 -11
  639. package/packages/table-filter/index.js +0 -27
  640. package/packages/table-filter/src/base-search-com/BaseSearch.vue +0 -2690
  641. package/packages/table-filter/src/classification/Classification-com.vue +0 -1765
  642. package/packages/table-filter/src/classification/search-class-name.vue +0 -266
  643. package/packages/table-filter/src/classification/search-professional-model.vue +0 -680
  644. package/packages/table-filter/src/components/TextOverTooltip.vue +0 -120
  645. package/packages/table-filter/src/components/age-com/index.vue +0 -205
  646. package/packages/table-filter/src/components/button-group/ButtonGroup.vue +0 -162
  647. package/packages/table-filter/src/components/button-icon/button-icon.js +0 -33
  648. package/packages/table-filter/src/components/button-icon/getBtnIcon.js +0 -34
  649. package/packages/table-filter/src/components/c-tree-select/tree-select.vue +0 -336
  650. package/packages/table-filter/src/components/checkbox-group/CheckboxGroup.vue +0 -53
  651. package/packages/table-filter/src/components/drop-button/drop-button.vue +0 -224
  652. package/packages/table-filter/src/components/drop-button/head-btn-icon.js +0 -33
  653. package/packages/table-filter/src/components/drop-view/drop-view.vue +0 -89
  654. package/packages/table-filter/src/components/multi-select/multi-select.vue +0 -242
  655. package/packages/table-filter/src/components/out-quick-search/out-quick-search.vue +0 -232
  656. package/packages/table-filter/src/components/range-age/index.vue +0 -171
  657. package/packages/table-filter/src/components/render-widget/components/CheckboxGroup.vue +0 -68
  658. package/packages/table-filter/src/components/render-widget/components/DateRangeQuick.vue +0 -216
  659. package/packages/table-filter/src/components/render-widget/components/Label.vue +0 -209
  660. package/packages/table-filter/src/components/render-widget/components/NumberRange.vue +0 -157
  661. package/packages/table-filter/src/components/render-widget/components/Select.vue +0 -62
  662. package/packages/table-filter/src/components/render-widget/components/SelectDynamic.vue +0 -287
  663. package/packages/table-filter/src/components/render-widget/components/SelectLabel.vue +0 -80
  664. package/packages/table-filter/src/components/render-widget/components/SelectTree.vue +0 -145
  665. package/packages/table-filter/src/components/render-widget/components/Text.vue +0 -58
  666. package/packages/table-filter/src/components/render-widget/components/index.js +0 -11
  667. package/packages/table-filter/src/components/render-widget/enums.js +0 -60
  668. package/packages/table-filter/src/components/render-widget/helpers/presetValToTimestamp.js +0 -282
  669. package/packages/table-filter/src/components/render-widget/index.vue +0 -150
  670. package/packages/table-filter/src/components/render-widget/mixins/dynamic-method.js +0 -185
  671. package/packages/table-filter/src/components/render-widget/mixins/label-method.js +0 -23
  672. package/packages/table-filter/src/components/render-widget/widgetCfgMaps.js +0 -354
  673. package/packages/table-filter/src/components/search-condition/SearchCondition.vue +0 -2016
  674. package/packages/table-filter/src/components/search-condition/fieldTypeList.js +0 -169
  675. package/packages/table-filter/src/components/search-filter/SearchFilter.vue +0 -280
  676. package/packages/table-filter/src/components/search-modal/set-classification.vue +0 -340
  677. package/packages/table-filter/src/components/table-modal/TableModal.vue +0 -477
  678. package/packages/table-filter/src/const/dataOptions.js +0 -43
  679. package/packages/table-filter/src/const/index.js +0 -1
  680. package/packages/table-filter/src/index.vue +0 -584
  681. package/packages/table-filter/src/mixins/mixins.js +0 -870
  682. package/packages/table-filter/src/mixins/out-quick-method.js +0 -123
  683. package/packages/table-filter/src/mixins/printNew.js +0 -190
  684. package/packages/table-filter/src/mixins/renderWidget.js +0 -122
  685. package/packages/table-filter/src/mixins/tableSearchCon.js +0 -128
  686. package/packages/table-filter/src/mixins/wordBookutils.js +0 -130
  687. package/packages/table-filter/src/quick-search/QuickSearch.vue +0 -2272
  688. package/packages/tabs/index.js +0 -18
  689. package/packages/tabs/src/TabPane.jsx +0 -11
  690. package/packages/tabs/src/Tabs.jsx +0 -11
  691. package/packages/tag/index.js +0 -21
  692. package/packages/tag/src/CheckableTag.jsx +0 -11
  693. package/packages/tag/src/Tag.jsx +0 -11
  694. package/packages/tag/src/TagGroup.vue +0 -622
  695. package/packages/time-picker/index.js +0 -12
  696. package/packages/time-picker/src/TimePicker.jsx +0 -11
  697. package/packages/timeline/index.js +0 -14
  698. package/packages/timeline/src/Item.jsx +0 -11
  699. package/packages/timeline/src/Timeline.jsx +0 -11
  700. package/packages/tooltip/index.js +0 -12
  701. package/packages/tooltip/src/Tooltip.jsx +0 -11
  702. package/packages/transfer/index.js +0 -12
  703. package/packages/transfer/src/Transfer.jsx +0 -11
  704. package/packages/tree/index.js +0 -18
  705. package/packages/tree/src/Tree.jsx +0 -11
  706. package/packages/tree/src/TreeNode.jsx +0 -11
  707. package/packages/tree-select/index.js +0 -18
  708. package/packages/tree-select/src/TreeNode.jsx +0 -11
  709. package/packages/tree-select/src/TreeSelect.jsx +0 -11
  710. package/packages/upload/chunk-upload/chunk-upload-new.vue +0 -1006
  711. package/packages/upload/chunk-upload/vod-chunk-upload.vue +0 -757
  712. package/packages/upload/chunk-upload/vod-upload-modal.vue +0 -100
  713. package/packages/upload/index.js +0 -12
  714. package/packages/upload/src/Upload.jsx +0 -11
  715. package/packages/verification-code/SlideVerify.vue +0 -306
  716. package/packages/verification-code/index.js +0 -17
  717. package/packages/verification-code/verification-code.vue +0 -147
  718. package/src/assets/img/nodata.png +0 -0
  719. package/src/assets/img/success.png +0 -0
  720. package/src/assets/img/video.png +0 -0
  721. package/src/assets/img/video_default_cover.png +0 -0
  722. package/src/assets/img/video_hover.png +0 -0
  723. package/src/assets/img/video_play_hover.png +0 -0
  724. package/src/component/player-vod/index.vue +0 -57
  725. package/src/component/player-vod/player.vue +0 -192
  726. package/src/component/player-vod/video-list.vue +0 -262
  727. package/src/component/player-vod/video-modal.vue +0 -128
  728. package/src/component/select-options/index.vue +0 -430
  729. package/src/component/select-pages/index.vue +0 -95
  730. package/src/component/svg/index.vue +0 -59
  731. package/src/core/create.js +0 -6
  732. package/src/core/event.js +0 -23
  733. package/src/core/table-methods.js +0 -447
  734. package/src/directive/flexibleResize.js +0 -162
  735. package/src/directive/preventReClick.js +0 -12
  736. package/src/directive/scroll.js +0 -230
  737. package/src/global/variable.js +0 -2
  738. package/src/style/normalize.css +0 -424
  739. package/src/style/style.less +0 -49
  740. package/src/utils/UniRTCv2.js +0 -627
  741. package/src/utils/chatFetch.js +0 -61
  742. package/src/utils/clickoutside.js +0 -75
  743. package/src/utils/crypto.js +0 -25
  744. package/src/utils/index.js +0 -103
  745. package/src/utils/kty-sdk.js +0 -582
  746. package/src/utils/kty.min-1.0.0.js +0 -14378
  747. package/src/utils/sip-device.js +0 -79
  748. package/src/utils/time-domain.js +0 -270
  749. package/src/utils/trtc.js +0 -1
  750. package/src/utils/utils-map.js +0 -485
  751. package/src/utils/vexutils.js +0 -836
@@ -1,1426 +0,0 @@
1
- <template>
2
- <div id="multi-video" :class="{ 'multi-video': true, small: fullFlag == 0, large: fullFlag == 2 }" @mousedown="handleMove">
3
- <span
4
- class="close"
5
- v-if="videoStatus !== 2"
6
- @click="
7
- () => {
8
- setMultiVideoShow(false);
9
- setRoomId('');
10
- setVideoMembers([]);
11
- }
12
- "
13
- ><img src="../img/close.png"
14
- /></span>
15
- <!-- 发起会议 -->
16
- <template v-if="videoStatus === 0">
17
- <div class="start-meeting">
18
- <span class="header">{{ serviceName }}发起{{ videoMode === 2 ? '视频' : '语音' }}通话</span>
19
- <div class="footer">
20
- <span
21
- class="add"
22
- @click="
23
- () => {
24
- $emit('update:addvisible', true);
25
- setAddMemberType(2);
26
- }
27
- "
28
- >
29
- <img src="../img/add-person.png" />
30
- </span>
31
- <p class="info"> 已邀请 {{ videoMembers.map(item => item.name).join('、') }}共{{ videoMembers.length }}人 </p>
32
- <span class="start" @click="handleLaunch">开始通话</span>
33
- <div class="operate">
34
- <span class="voice" @click="noVoice = !noVoice" :style="{ background: noVoice ? '#E1E4EB' : '#000000' }">
35
- <img :src="require(`../img/${noVoice ? 'no-voice' : 'voice'}.png`)" />
36
- </span>
37
- <span v-if="videoMode == 2" class="video" @click="noVideo = !noVideo" :style="{ background: noVideo ? '#E1E4EB' : '#000000' }">
38
- <img :src="require(`../img/${noVideo ? 'no-video' : 'video'}.png`)" />
39
- </span>
40
- </div>
41
- </div>
42
- </div>
43
- </template>
44
- <!-- 被邀请 -->
45
- <template v-if="videoStatus === 1">
46
- <div class="meeting-info">
47
- <span class="name">{{ videoData.callerName }}</span>
48
- <span class="desc">邀请你加入{{ videoData.callerName }}发起的{{ videoData.mode === 2 ? '视频' : '语音' }}通话</span>
49
- </div>
50
- <div class="operate-footer">
51
- <div class="item" @click="handleAccept('0')"> <img src="../img/reject.png" width="80" /><span class="text">拒绝</span> </div>
52
- <div class="item" @click="handleAccept('1')" v-if="videoData.mode == 1"> <img src="../img/accept.png" width="80" /><span class="text">语音接听</span> </div>
53
- <div class="item" @click="handleAccept('1')" v-if="videoData.mode == 2"> <img src="../img/video-accept.png" width="80" /><span class="text">视频接听</span> </div>
54
- </div>
55
- </template>
56
- <!-- 视频中 -->
57
- <template v-if="videoStatus === 2">
58
- <div class="meeting-header">
59
- <span class="id">
60
- 会议号: {{ this.recordId }}
61
- <a-tooltip v-if="sipName" placement="bottom" :overlayStyle="{ maxWidth: 'auto', fontSize: '12px' }">
62
- <span slot="title">
63
- 当前设备{{ sipName }}<br />
64
- 若要更换音视频设备,请点击设置进行更改
65
- </span>
66
- <svg-icon icon-class="xitongtubiaodaohangtubiaowenti" />
67
- </a-tooltip>
68
- </span>
69
- <span class="title">{{ organizerName }}发起的{{ videoData.mode === 2 ? '视频' : '语音' }}通话({{ meetingList.length }}/{{ videoList.length }}){{ formatedMeetingTime }}</span>
70
- <span class="operate" @mousedown.stop>
71
- <img v-if="fullFlag != 2" src="../img/full-sceen.png" @click="toFullScreen" />
72
- <img v-if="fullFlag != 0" src="../img/full-sceen-close.png" @click="exitFullScreen" />
73
- <img src="../img/close.png" @click="handleClose" />
74
- </span>
75
- </div>
76
- <div class="meeting-main">
77
- <div class="left">
78
- <div class="current">
79
- <div id="current-video" style="position: relative;zIndex: 100;"></div>
80
- <span class="name" style="zIndex: 101;">{{ currentItem.name }}</span>
81
- <img
82
- src="../img/portrait.png"
83
- style="position: absolute;left: calc(50% - 40px);top: calc(50% - 40px);"
84
- :class="{ waiting: currentItem.status !== 3 }"
85
- :style="{
86
- zIndex: currentItem.videoStatus == 0 && currentItem.status == 3 ? 3000 : 0
87
- }"
88
- />
89
- </div>
90
- <div class="footer">
91
- <div class="toolbar">
92
- <div
93
- class="btn"
94
- :style="{
95
- 'grid-template-columns': `repeat(${isOrganizer ? 6 : 4}, 1fr)`
96
- }"
97
- >
98
- <img :src="require(`../img/${item.flag ? item.name : 'no-' + item.name}.png`)" v-for="(item, index) in operateList" :key="index" @click="handleOperateClick(item)" />
99
- </div>
100
- <div
101
- class="text"
102
- :style="{
103
- 'grid-template-columns': `repeat(${isOrganizer ? 6 : 4}, 1fr)`
104
- }"
105
- >
106
- <span v-for="(item, index) in operateList" :key="index">{{ item.flag ? item.yText : item.nText }}</span>
107
- </div>
108
- </div>
109
- </div>
110
- </div>
111
- <div class="right" id="remote-video-wrap" @click="handleVideoClick">
112
- <div
113
- v-for="item in treatedVideoList"
114
- :key="item.username"
115
- class="video-view"
116
- :id="'uid_' + item.username"
117
- @click="
118
- () => {
119
- if (currentItem.username != item.username) {
120
- currentItem = item;
121
- }
122
- }
123
- "
124
- >
125
- <img
126
- v-if="item.status !== 3 || item.videoStatus === 0 || currentItem.username == item.username"
127
- src="../img/portrait.png"
128
- style="position: absolute;left: calc(50% - 40px);top: calc(50% - 40px);"
129
- :class="{ waiting: item.status !== 3 }"
130
- @click="handleImgClick(item)"
131
- />
132
- <div class="header" v-if="item.username !== username && isOrganizer">
133
- <a-popover placement="bottomLeft" :getPopupContainer="getPopupContainer">
134
- <template slot="content">
135
- <ul class="streamOperate" style="cursor: pointer;">
136
- <li @click="handleVideoManage(item, 'voice')" v-if="item.status === 3"> <img src="../img/voice.png" width="24" />{{ item.voiceStatus === 1 ? '静音' : '取消静音' }} </li>
137
- <li @click="handleVideoManage(item, 'recall')" v-if="item.status !== 3"> <img src="../img/remove.png" width="24" />重新呼叫 </li>
138
- <li @click="handleRemoveConfirm(item)"> <img src="../img/remove.png" width="24" />移除 </li>
139
- </ul>
140
- </template>
141
- <img src="../img/ellipsis.png" width="20" />
142
- </a-popover>
143
- </div>
144
- <div v-if="videoMode === 1" class="customer-portrait" :class="{ waiting: item.status !== 3 }">
145
- <img src="../img/portrait.png" />
146
- </div>
147
- <div class="footer">
148
- <div class="info">
149
- <span class="name">{{ item.username !== username ? item.name : serviceName }}</span>
150
- <span class="status" v-if="item.status !== 3">{{ item.statusDesc }}</span>
151
- </div>
152
- <span class="voice" v-if="item.voiceStatus === 0 && item.status === 3">
153
- <img :src="require(`../img/${item.voiceStatus ? 'voice' : 'no-voiced'}.png`)" width="20" />
154
- </span>
155
- </div>
156
- </div>
157
- </div>
158
- </div>
159
- </template>
160
- <!-- 结束会诊 -->
161
- <a-modal v-model="visible" title="结束通话" :zIndex="3000">
162
- <p v-if="isOrganizer">
163
- 如果自己离开,仅自己挂断;结束通话,所有参会成员将被挂断
164
- </p>
165
- <div slot="footer">
166
- <a-button @click="() => (visible = false)">取消</a-button>
167
- <a-button @click="handleLeaveMeeting(1)">自己离开</a-button>
168
- <a-button v-if="isOrganizer" type="danger" style="background: #F57365;border-color: #F57365;" @click="handleLeaveMeeting(0)">结束通话</a-button>
169
- </div>
170
- </a-modal>
171
- <div id="template" style="display:none;">
172
- <ul class="streamOperate">
173
- <li data-type="voice"><img src="../img/voice.png" width="24" />静音</li>
174
- <li data-type="remove"> <img src="../img/remove.png" width="24" />移除 </li>
175
- </ul>
176
- </div>
177
- </div>
178
- </template>
179
-
180
- <script>
181
- import { mapState, mapGetters, mapMutations, mapActions } from '../store/helper';
182
- import RtcClient from '../utils/rtc-client-multi';
183
- import { getSipUserId } from '@/utils/sip-device';
184
- import fetch, { qs } from '@/utils/chatFetch';
185
- import { Button, Modal, Popover, Tooltip } from 'ant-design-vue';
186
- import SvgIcon from '@/component/svg/index.vue';
187
- import uniRTCAPI from './mixins/uniRTCAPI';
188
- import { getClientDeviceToken } from '../utils/index';
189
-
190
- const videoStatus = {
191
- 1: '未接听',
192
- 2: '未接听',
193
- 3: '已接听',
194
- 4: '已离开',
195
- 5: '已移除'
196
- };
197
-
198
- export default {
199
- inject: ['store'],
200
- mixins: [uniRTCAPI],
201
- components: {
202
- [Button.name]: Button,
203
- [Popover.name]: Popover,
204
- [Tooltip.name]: Tooltip,
205
- AModal: Modal,
206
- SvgIcon
207
- },
208
- data() {
209
- return {
210
- sipName: '',
211
- username: '',
212
- fullFlag: 1,
213
- rtc: null,
214
- screen: false,
215
- visible: false,
216
- videoList: [],
217
- organizerName: '',
218
- meetingTime: 0,
219
- meetingTimer: null,
220
- currentName: '',
221
- isOrganizer: false,
222
- organizer: null,
223
- currentItem: {
224
- name: this.serviceName,
225
- status: 3,
226
- username: this.serviceId
227
- },
228
- noVoice: false,
229
- noVideo: false,
230
- timer: null,
231
- mounted: false
232
- };
233
- },
234
- props: ['addvisible', 'validTalkingEnv'],
235
- computed: {
236
- ...mapGetters(['userInfo']),
237
- ...mapState(['currentSip']),
238
- ...mapGetters([
239
- 'videoStatus',
240
- 'videoId',
241
- 'serviceId',
242
- 'roomId',
243
- 'sdkAppId',
244
- 'sdkInfo',
245
- 'userSig',
246
- 'multiVideoShow',
247
- 'videoMembers',
248
- 'recordId',
249
- 'assemblyId',
250
- 'sessionId',
251
- 'videoListChange',
252
- 'videoData',
253
- 'videoMode',
254
- 'curScrollItem',
255
- 'clientId',
256
- 'isServer'
257
- ]),
258
- serviceName() {
259
- return this.userInfo?.sysParams?.userName;
260
- },
261
- treatedVideoList() {
262
- const self = [];
263
- const stream = [];
264
- const waiting = [];
265
- const uid = this.username;
266
- this.videoList.forEach(item => {
267
- if (item.username == uid) {
268
- self.push(item);
269
- } else if (item.status === 3) {
270
- stream.push(item);
271
- } else {
272
- waiting.push(item);
273
- }
274
- });
275
- return Array.prototype.concat(self, stream, waiting);
276
- },
277
- meetingList() {
278
- return this.videoList.filter(item => item.status === 3);
279
- },
280
- toMeetingList() {
281
- return this.videoList.filter(item => item.status !== 3);
282
- },
283
- formatedMeetingTime() {
284
- let meetingTime = this.meetingTime;
285
- let hour = Math.floor(meetingTime / 3600);
286
- meetingTime = meetingTime - 3600 * hour;
287
- let minute = Math.floor(meetingTime / 60);
288
- let second = meetingTime % 60;
289
- return [hour, minute, second].map(x => `${x < 10 ? 0 : ''}${x}`).join(':');
290
- },
291
- operateList() {
292
- let list = [];
293
- if (this.isOrganizer) {
294
- list = [
295
- {
296
- name: 'voice',
297
- flag: true,
298
- yText: '开启静音',
299
- nText: '关闭静音'
300
- },
301
- {
302
- name: 'video',
303
- flag: true,
304
- yText: '关闭摄像头',
305
- nText: '开启摄像头'
306
- },
307
- {
308
- name: 'screen',
309
- flag: false,
310
- yText: '关闭屏幕共享',
311
- nText: '开启屏幕共享'
312
- },
313
- {
314
- name: 'over',
315
- flag: true,
316
- yText: '挂断'
317
- },
318
- {
319
- name: 'all-voice',
320
- flag: true,
321
- yText: '开启全员静音',
322
- nText: '关闭全员静音'
323
- },
324
- {
325
- name: 'add-person',
326
- flag: true,
327
- yText: '添加参会人'
328
- }
329
- ];
330
- } else {
331
- list = [
332
- {
333
- name: 'voice',
334
- flag: true,
335
- yText: '开启静音',
336
- nText: '关闭静音'
337
- },
338
- {
339
- name: 'over',
340
- flag: true,
341
- yText: '挂断'
342
- },
343
- {
344
- name: 'video',
345
- flag: true,
346
- yText: '关闭摄像头',
347
- nText: '开启摄像头'
348
- },
349
- {
350
- name: 'screen',
351
- flag: false,
352
- yText: '关闭屏幕共享',
353
- nText: '开启屏幕共享'
354
- }
355
- ];
356
- }
357
- list.forEach(item => {
358
- if (this.videoMode === 1 && item.name === 'video') {
359
- item.flag = false;
360
- item.disabled = true;
361
- }
362
- });
363
- return list;
364
- }
365
- },
366
- created() {
367
- this.$on('stream-removed', this.handleStreamRemoved);
368
- this.$on('screen-sharing-stopped', this.handleScreenSharingStopped);
369
- this.$on('initializeError', error => {
370
- if (error?.name === 'NotAllowedError') {
371
- // 拒绝屏幕共享则关闭
372
- this.handleScreenSharingStopped();
373
- }
374
- });
375
- this.$on('stream-subscribed', evt => {
376
- const stream = evt.stream;
377
- let userId = stream.getUserId();
378
- userId = this.sipKeys?.[userId] || userId;
379
- this.playStream(stream, userId);
380
- setTimeout(() => {
381
- this.$el.querySelector(`#uid_${userId}`)?.click();
382
- }, 500);
383
- });
384
- },
385
- mounted() {
386
- this.mounted = true;
387
- this.timer = setInterval(() => {
388
- if (this.videoStatus != 1) return;
389
- if (!this.videoData.timeCount) {
390
- this.videoData.timeCount = 1;
391
- } else {
392
- this.videoData.timeCount += 1;
393
- }
394
- if (this.videoData.timeCount > this.videoData.expireTime) {
395
- this.setMultiVideoShow(false);
396
- }
397
- }, 1000);
398
- this.registFullEvents();
399
- },
400
- activated() {
401
- if (this.rtc) {
402
- const videos = this.$el.querySelectorAll('.meeting-main video');
403
- const audios = this.$el.querySelectorAll('.meeting-main audio');
404
- const list = Array.from(videos || []).concat(Array.from(audios || []));
405
- list.forEach(el => {
406
- el.play();
407
- });
408
- }
409
- },
410
- beforeDestroy() {
411
- this.handleLeaveRoom();
412
- clearInterval(this.timer);
413
- },
414
- methods: {
415
- ...mapMutations([
416
- 'setCurrentSip',
417
- 'setMultiVideoShow',
418
- 'setVideoStatus',
419
- 'setShowVideo',
420
- 'setAddMemberType',
421
- 'setVideoMembers',
422
- 'setRoomId',
423
- 'setUserSig',
424
- 'setRecordId',
425
- 'setVideoData',
426
- 'setVideoMode'
427
- ]),
428
- ...mapActions(['sendMessage']),
429
- setSipKeys() {
430
- this.sipKeys = this.videoList.reduce((obj, item) => {
431
- const { username, sipKey, sipName } = item;
432
- const id = getSipUserId({ name: sipName, username: sipKey });
433
- if (id) {
434
- obj[id] = username;
435
- }
436
- return obj;
437
- }, {});
438
- },
439
- /**
440
- * 主动发起视频
441
- */
442
- async handleLaunch() {
443
- if (this.videoMembers.length === 0) {
444
- this.$message.warning('请选择通话人员!');
445
- return;
446
- }
447
- const sip = {};
448
- if (this.validTalkingEnv) {
449
- const res = await this.validTalkingEnv();
450
- if (!res.status) {
451
- return;
452
- }
453
- if (res.sip) {
454
- this.setCurrentSip(res.sip ? Object.freeze(res.sip) : null);
455
- Object.assign(sip, {
456
- sipKey: res.sip.username,
457
- sipName: res.sip.name
458
- });
459
- }
460
- }
461
- let memberIds = this.videoMembers.map(item => item.userId).join(',');
462
- let params = {
463
- ...sip,
464
- assemblyId: this.assemblyId,
465
- userId: this.userInfo?.sysParams?.userId,
466
- sessionId: this.sessionId,
467
- orgId: this.userInfo?.sysParams?.orgId,
468
- memberIds,
469
- mode: this.videoMode
470
- };
471
- fetch.post('/chat/access/videoInvite', qs.stringify(params)).then(({ data }) => {
472
- if (data.result === 'SUCCESS') {
473
- let { recordId } = data.map;
474
- this.setRecordId(recordId);
475
- this.setVideoData(data.map);
476
- // this.appendVideoMessage();
477
- // 江苏省
478
- if (this.uniRTC) {
479
- console.log('this.curScrollItem', this.curScrollItem);
480
- const curScrollItemParams = JSON.parse(this.curScrollItem?.params)
481
- getClientDeviceToken(curScrollItemParams.customerId).then(tokenRes => {
482
- const targetInfo = data.map?.targetList || [];
483
- if (!tokenRes || tokenRes.code != 200) {
484
- return
485
- }
486
- const targetList = [{deviceToken: tokenRes.deviceToken, username: targetInfo[0].username, token: targetInfo[0].token}]
487
- this.checkStatus(targetList);
488
- // this.startCall(targetList);
489
- })
490
- }
491
- } else {
492
- data.resultMsg && this.$message.warning(data.resultMsg);
493
- }
494
- });
495
- },
496
- appendVideoMessage() {
497
- let body = {
498
- content: this.videoMode == 2 ? '视频通话' : '语音通话',
499
- type: this.videoMode == 2 ? 2 : 5
500
- };
501
- this.sendMessage(body);
502
- },
503
- /* 进房 */
504
- async handleJoinRoom() {
505
- this.setVideoStatus(2);
506
- await this.getVideoGroupDetail();
507
- this.meetingTimer = setInterval(() => {
508
- this.meetingTime = this.meetingTime + 1;
509
- }, 1000);
510
- /** this.sdkAppId 为空 没授权,不进入房间 */
511
- if (!this.sdkAppId) {
512
- this.$message.error('1.2.7.14.29');
513
- return;
514
- }
515
- this.$nextTick(() => {
516
- this.createRTC();
517
- });
518
- },
519
- async createRTC(options = {}) {
520
- this.currentVideo && this.currentVideo.stop();
521
- this.rtc && (await this.rtc.leave());
522
- this.screen = options.screen || false;
523
- this.currentVideo = null;
524
- const sip = this.currentSip;
525
- this.username = this.serviceId;
526
- this.sipName = sip?.name;
527
- this.rtc = new RtcClient({
528
- sip,
529
- getPlayContainer: () => this.$el,
530
- userId: this.serviceId,
531
- roomId: this.videoData.roomId,
532
- sdkAppId: this.sdkAppId,
533
- host: this.sdkInfo?.host,
534
- vendor: this.sdkInfo?.vendor,
535
- userSig: this.videoData.token,
536
- videoWindow: this,
537
- openVideo: this.videoData.mode === 2,
538
- message: this.$message,
539
- noVideo: this.noVideo,
540
- noVoice: this.noVoice,
541
- events: this,
542
- playStream: this.playStream,
543
- ...options,
544
- wsUrl: this.sdkInfo?.wsUrl,
545
- turnUrl: this.sdkInfo?.turnUrl,
546
- turnUsername: this.sdkInfo?.turnUsername,
547
- turnCredential: this.sdkInfo?.turnCredential,
548
- videoData: this.videoData
549
- });
550
- },
551
- toggleScreen(flag, options) {
552
- if (!this.rtc) return;
553
- if (this.currentVideo) {
554
- let uid = this.currentVideo.getUserId();
555
- uid = this.sipKeys?.[uid] || uid;
556
- if (uid === this.username) {
557
- this.currentVideo.stop();
558
- this.currentVideo = null;
559
- }
560
- }
561
-
562
- this.screen = flag;
563
- const screen = this.operateList.find(item => item.name === 'screen');
564
- screen && (screen.flag = flag);
565
- if (!flag) {
566
- const openVideo = this.operateList.find(item => item.name === 'video');
567
- openVideo && (openVideo.flag = true);
568
- const voice = this.operateList.find(item => item.name === 'voice');
569
- voice && (voice.flag = true);
570
- }
571
- this.rtc
572
- .toggleScreen(flag, {
573
- userId: this.serviceId,
574
- roomId: this.videoData.roomId,
575
- sdkAppId: this.sdkAppId,
576
- host: this.sdkInfo?.host,
577
- vendor: this.sdkInfo?.vendor,
578
- userSig: this.videoData.token,
579
- videoWindow: this,
580
- openVideo: this.videoData.mode === 2,
581
- message: this.$message,
582
- noVideo: this.noVideo,
583
- noVoice: this.noVoice,
584
- events: this,
585
- ...options
586
- })
587
- .then(res => {
588
- if (res instanceof RtcClient) {
589
- this.rtc = res;
590
- }
591
- });
592
- },
593
- handleScreenSharingStopped() {
594
- if (this.screen) {
595
- this.toggleScreen(false, {
596
- openVideo: true
597
- });
598
- }
599
- },
600
- handleStreamRemoved(evt) {
601
- const id = this.currentVideo && this.currentVideo.getId();
602
- if (id && id === evt.stream.getId()) {
603
- this.currentVideo.stop();
604
- this.currentVideo = null;
605
- }
606
- },
607
- /* 退房 */
608
- handleLeaveRoom() {
609
- this.setShowVideo(false);
610
- this.setRoomId('');
611
- this.setVideoMembers([]);
612
- this.setRecordId('');
613
- this.setVideoMode('');
614
- this.setVideoData({});
615
- clearInterval(this.meetingTimer);
616
- if (this.rtc) {
617
- this.rtc.leave();
618
- this.rtc = null;
619
- this.setMultiVideoShow(false);
620
- this.setShowVideo(false);
621
- } else {
622
- this.setMultiVideoShow(false);
623
- this.setShowVideo(false);
624
- }
625
- },
626
- handleMove(e) {
627
- let currentTarget = e.currentTarget;
628
- let disX = e.clientX - currentTarget.offsetLeft;
629
- let disY = e.clientY - currentTarget.offsetTop;
630
- document.onmousemove = e => {
631
- let left = e.clientX - disX;
632
- let top = e.clientY - disY;
633
- this.positionX = top;
634
- this.positionY = left;
635
- currentTarget.style.left = left + 'px';
636
- currentTarget.style.top = top + 'px';
637
- };
638
- document.onmouseup = () => {
639
- document.onmousemove = null;
640
- document.onmouseup = null;
641
- };
642
- },
643
- handleClose() {
644
- this.handleLeaveMeeting(1);
645
- },
646
- // 切换当前视口显示的用户视频
647
- handleVideoClick(e) {
648
- if (this.videoMode === 1) return;
649
- let id = e.target.getAttribute('id');
650
- if (!id || id === 'remote-video-wrap') return;
651
- console.log(`handleVideoClick ===>`);
652
- let currentVideo;
653
- let username;
654
- const reg = /^video_/; // 匹配 video 容器id
655
- const playerReg = /^player_/; // 匹配 腾讯云video外层容器 id
656
- if (reg.test(id)) {
657
- id = id.slice(6);
658
- username = e.target.parentNode?.getAttribute('id');
659
- if (username && playerReg.test(username)) {
660
- username = e.target.parentNode.parentNode?.getAttribute('id');
661
- }
662
- } else {
663
- let children = e.target.children ? Array.from(e.target.children) : [];
664
- while (children.length) {
665
- const c = children.pop();
666
- const i = c?.getAttribute('id');
667
- if (i && playerReg.test(i)) {
668
- children = c.children ? Array.from(c.children) : [];
669
- continue;
670
- }
671
- if (i && reg.test(i)) {
672
- username = id;
673
- id = i.slice(6);
674
- children.length = 0;
675
- }
676
- }
677
- }
678
- username = username ? username.replace(/^uid_/, '') : username;
679
- const remote = this.rtc.remoteStreams_.find(item => item.id_ === id);
680
- if (username === this.currentItem.username) {
681
- currentVideo = remote || this.rtc.localStream_;
682
- } else {
683
- currentVideo = remote;
684
- }
685
- if (this.currentVideo) {
686
- this.currentVideo.stop();
687
- let userId = this.currentVideo.userId_;
688
- userId = this.sipKeys?.[userId] || userId;
689
- this.playStream(this.currentVideo, userId);
690
- this.currentVideo = null;
691
- }
692
- if (!currentVideo) return;
693
- this.currentVideo = currentVideo;
694
- currentVideo.stop();
695
- this.playStream(currentVideo, 'current-video', false);
696
- },
697
- handleImgClick(item) {
698
- const { currentVideo, currentItem } = this;
699
- if (currentVideo && currentItem.username !== item.username) {
700
- currentVideo.stop();
701
- this.playStream(currentVideo, currentVideo.userId_);
702
- this.currentVideo = null;
703
- }
704
- },
705
- playStream(stream, id, isUserId = true) {
706
- const el = this.$el.querySelector(`#${isUserId ? 'uid_' : ''}${id}`);
707
- el && stream.play(el);
708
- },
709
- handleOperateClick(item) {
710
- if (item.disabled) return;
711
- switch (item.name) {
712
- case 'over':
713
- if (this.isOrganizer) {
714
- this.visible = true;
715
- } else {
716
- this.handleLeaveMeeting(1);
717
- }
718
- break;
719
- case 'add-person':
720
- this.$emit('update:addvisible', true);
721
- this.setAddMemberType(2);
722
- break;
723
- case 'voice':
724
- if (this.sipName) {
725
- this.$message.warning('请在专业设备上静音');
726
- return;
727
- }
728
- item.flag = !item.flag;
729
- if (!item.flag) {
730
- // this.rtc.localStream_.muteAudio();
731
- this.handleVideoManage({ voiceStatus: 1 }, 'voice');
732
- } else {
733
- // this.rtc.localStream_.unmuteAudio();
734
- this.handleVideoManage({ voiceStatus: 0 }, 'voice');
735
- }
736
- break;
737
- case 'video':
738
- if (this.sipName) {
739
- this.$message.warning('专业设备通话无法操作摄像头');
740
- return;
741
- }
742
- if (this.screen) {
743
- this.$message.warning('屏幕共享状态无法操作摄像头');
744
- return;
745
- }
746
- if (!this.rtc?.localStream_) return;
747
- item.flag = !item.flag;
748
- if (!item.flag) {
749
- this.rtc.localStream_.muteVideo();
750
- this.handleVideoManage({ videoStatus: 1 }, 'video');
751
- } else {
752
- this.rtc.localStream_.unmuteVideo();
753
- this.handleVideoManage({ videoStatus: 0 }, 'video');
754
- }
755
- break;
756
- case 'all-voice':
757
- item.flag = !item.flag;
758
- if (!item.flag) {
759
- this.handleVideoManage({ voiceStatus: 1 }, 'all-voice');
760
- } else {
761
- // this.rtc.localStream_.unmuteVideo();
762
- this.handleVideoManage({ voiceStatus: 0 }, 'all-voice');
763
- }
764
- break;
765
- case 'screen': {
766
- const flag = !item.flag;
767
- this.toggleScreen(flag, {
768
- openVideo: !flag,
769
- screen: flag
770
- });
771
- item.flag = flag;
772
- break;
773
- }
774
- }
775
- },
776
- getVideoGroupDetail() {
777
- let params = {
778
- recordId: this.videoData.recordId,
779
- sessionId: this.videoData.sessionId,
780
- orgId: this.userInfo?.sysParams?.orgId,
781
- assemblyId: this.assemblyId
782
- };
783
- return fetch
784
- .get('/chat/access/videoGroupDetail', {
785
- params
786
- })
787
- .then(({ data }) => {
788
- if (data.result === 'SUCCESS') {
789
- this.organizerName = data.map.caller.name;
790
- this.organizer = data.map.caller;
791
- this.isOrganizer = data.map.caller.userId == this.userInfo?.sysParams?.userId;
792
- let result = Array.prototype.concat(data.map.caller || [], data.map.memberList || []);
793
- result.map(item => {
794
- item.statusDesc = videoStatus[item.status];
795
- if (item.userId == this.userInfo?.sysParams?.userId) {
796
- // item.name = "我";
797
- if (item.voiceStatus == 0) {
798
- this.noVoice = true;
799
- }
800
- }
801
- });
802
- this.videoList = result;
803
- if (this.noVideo) {
804
- this.handleVideoManage({ videoStatus: 1 }, 'video');
805
- let video = this.operateList.find(item => item.name === 'video');
806
- video.flag = !video.flag;
807
- }
808
- if (this.noVoice) {
809
- this.handleVideoManage({ voiceStatus: 1 }, 'voice');
810
- let voice = this.operateList.find(item => item.name === 'voice');
811
- voice.flag = !voice.flag;
812
- }
813
- this.setSipKeys();
814
- }
815
- });
816
- },
817
- getPopupContainer() {
818
- return document.getElementById('multi-video');
819
- },
820
- findVideo(username) {
821
- return this.videoList.find(item => item.username === username);
822
- },
823
- handleVideoManage(item, type) {
824
- let status, mode, changeUserId, memberIds;
825
- if (item.userId) {
826
- changeUserId = item.userId;
827
- }
828
- if (type === 'voice') {
829
- status = item.voiceStatus ? 0 : 1;
830
- mode = 1;
831
- }
832
- if (type === 'video') {
833
- status = item.videoStatus ? 0 : 1;
834
- mode = 2;
835
- }
836
- if (type === 'recall') {
837
- mode = 5;
838
- }
839
- if (type === 'remove') {
840
- mode = 4;
841
- }
842
- if (type === 'all-voice') {
843
- status = item.voiceStatus;
844
- mode = 3;
845
- // this.videoList.map(
846
- // item => (item.voiceStatus = item.voiceStatus === 1 ? 0 : 1)
847
- // );
848
- }
849
- let data = {
850
- recordId: this.videoData.recordId,
851
- sessionId: this.videoData.sessionId,
852
- orgId: this.userInfo?.sysParams?.orgId,
853
- assemblyId: this.assemblyId,
854
- userId: this.userInfo?.sysParams?.userId,
855
- changeUserId,
856
- status,
857
- mode,
858
- memberIds
859
- };
860
- fetch.post('/chat/access/videoGroupManage', qs.stringify(data)).then(({ data }) => {
861
- if (data.result === 'SUCCESS') {
862
- console.log('/chat/access/videoGroupManage', 'SUCCESS');
863
- }
864
- });
865
- },
866
- handleLeaveMeeting(status) {
867
- let data = {
868
- recordId: this.videoData.recordId,
869
- sessionId: this.videoData.sessionId,
870
- orgId: this.userInfo?.sysParams?.orgId,
871
- assemblyId: this.assemblyId,
872
- userId: this.userInfo?.sysParams?.userId,
873
- status
874
- };
875
- fetch.post('/chat/access/videoHangUp', qs.stringify(data)).then(({ data }) => {
876
- if (data.result === 'SUCCESS') {
877
- this.handleLeaveRoom();
878
- // 江苏省主动挂断
879
- this.uniRTC && this.hangUp();
880
- }
881
- });
882
- },
883
- async handleAccept(accept) {
884
- if (this.validTalkingEnv) {
885
- const res = await this.validTalkingEnv();
886
- if (!res.status) {
887
- return;
888
- }
889
- this.acceptInvite(accept, res.sip);
890
- } else {
891
- this.acceptInvite(accept);
892
- }
893
- },
894
- acceptInvite(accept, sip) {
895
- sip = sip ? Object.freeze(sip) : null;
896
- const sipInfo = sip
897
- ? {
898
- sipKey: sip.username,
899
- sipName: sip.name
900
- }
901
- : null;
902
- let params = {
903
- ...sipInfo,
904
- assemblyId: this.assemblyId,
905
- orgId: this.userInfo?.sysParams?.orgId,
906
- userId: this.userInfo?.sysParams?.userId,
907
- sessionId: this.videoData.sessionId,
908
- recordId: this.videoData.recordId,
909
- inviteResult: accept
910
- };
911
- fetch.post('/chat/access/videoInviteEnter', qs.stringify(params)).then(({ data }) => {
912
- if (data.result === 'SUCCESS') {
913
- if (accept == 0) {
914
- this.setMultiVideoShow(false);
915
- this.setVideoData({});
916
- // 江苏省拒接
917
- this.uniRTC && this.refuseCall();
918
- return;
919
- }
920
- // 江苏省接听
921
- this.uniRTC && this.acceptCall();
922
- let res = data.obj || data.map;
923
- let { token: userSig, roomId, recordId, caller, mode, type } = res;
924
- this.setCurrentSip(sip);
925
- this.setVideoStatus(2);
926
- this.setVideoData(res);
927
- this.setVideoMode(mode);
928
- this.$nextTick(() => {
929
- this.setRecordId(recordId);
930
- });
931
- } else {
932
- data.resultMsg && this.$message.warning(data.resultMsg);
933
- }
934
- });
935
- },
936
- handleRemoveConfirm(item) {
937
- this.$confirm({
938
- title: `是否移除${item.name}?`,
939
- okText: '确定',
940
- cancelText: '取消',
941
- onOk: () => {
942
- this.handleVideoManage(item, 'remove');
943
- },
944
- onCancel() {}
945
- });
946
- },
947
- registFullEvents() {
948
- let placeholderDom = null;
949
- const fullScreenChange = () => {
950
- const el = this.$el;
951
- if (!el) return;
952
- const status = !placeholderDom;
953
- if (status) {
954
- if (this.fullFlag != 2) return;
955
- const div = document.createElement('div');
956
- div.style = 'display:none';
957
- el.parentNode?.replaceChild(div, el);
958
- document.body.appendChild(el);
959
- placeholderDom = div;
960
- } else {
961
- this.fullFlag = 1;
962
- placeholderDom.parentNode?.replaceChild(el, placeholderDom);
963
- placeholderDom = null;
964
- }
965
- };
966
- document.addEventListener('fullscreenchange', fullScreenChange);
967
- document.addEventListener('webkitfullscreenchange', fullScreenChange);
968
- document.addEventListener('mozfullscreenchange', fullScreenChange);
969
- document.addEventListener('MSFullscreenChange', fullScreenChange);
970
- this.$on('hook:beforeDestroy', () => {
971
- document.removeEventListener('fullscreenchange', fullScreenChange);
972
- document.removeEventListener('webkitfullscreenchange', fullScreenChange);
973
- document.removeEventListener('mozfullscreenchange', fullScreenChange);
974
- document.removeEventListener('MSFullscreenChange', fullScreenChange);
975
- if (placeholderDom) {
976
- placeholderDom.parentNode?.removeChild(placeholderDom);
977
- placeholderDom = null;
978
- this.$el?.parentNode?.removeChild(this.$el);
979
- this.toggleFullScreen(false);
980
- }
981
- });
982
- },
983
- toggleFullScreen(fullScreen) {
984
- const el = fullScreen ? document.body : document;
985
- const fn = fullScreen
986
- ? el.requestFullScreen || el.webkitRequestFullScreen || el.mozRequestFullScreen || el.msRequestFullScreen || el.oRequestFullScreen
987
- : el.cancleFullScreen || el.webkitCancelFullScreen || el.mozCacelFullScreen || el.msCanclFullScreen || el.oCancelFullScreen;
988
- if (fn) {
989
- fn.call(el);
990
- }
991
- },
992
- toFullScreen() {
993
- switch (this.fullFlag) {
994
- case 0:
995
- this.fullFlag++;
996
- break;
997
- case 1:
998
- this.toggleFullScreen(true);
999
- this.fullFlag++;
1000
- break;
1001
- }
1002
- },
1003
- exitFullScreen() {
1004
- switch (this.fullFlag) {
1005
- case 2:
1006
- this.toggleFullScreen(false);
1007
- this.fullFlag--;
1008
- break;
1009
- case 1:
1010
- this.fullFlag--;
1011
- break;
1012
- }
1013
- }
1014
- },
1015
- watch: {
1016
- recordId: {
1017
- handler(val) {
1018
- if (val) {
1019
- this.$nextTick(() => {
1020
- this.handleJoinRoom();
1021
- });
1022
- } else {
1023
- this.handleLeaveRoom();
1024
- }
1025
- }
1026
- },
1027
- /**
1028
- * mode: 0(成员离开或加入)
1029
- */
1030
- videoListChange: {
1031
- handler(item) {
1032
- let { mode, changeMemberList = [{}], status: modeStatus } = item;
1033
- const member = changeMemberList[0];
1034
- let { voiceStatus, videoStatus: vStatus, username, status, name } = member;
1035
- let video = this.findVideo(username);
1036
- let voice = this.operateList.find(item => item.name === 'voice');
1037
- switch (mode) {
1038
- case 0:
1039
- video.status = status;
1040
- video.statusDesc = videoStatus[status];
1041
- video.voiceStatus = voiceStatus;
1042
- if (status == 4 && username != this.username) {
1043
- this.$message.success(name + '已离开!');
1044
- }
1045
- if (status == 3 && username != this.username) {
1046
- video.sipKey = member.sipKey;
1047
- video.sipName = member.sipName;
1048
- this.$message.success(name + '已加入!');
1049
- }
1050
- break;
1051
- case 2:
1052
- video.videoStatus = vStatus;
1053
- break;
1054
- case 1:
1055
- video.voiceStatus = voiceStatus;
1056
- if (video.username == this.username) {
1057
- if (voiceStatus == 1) {
1058
- this.rtc.setMuteAudio(false);
1059
- } else {
1060
- this.rtc.setMuteAudio(true);
1061
- }
1062
- }
1063
- break;
1064
- case 3:
1065
- this.videoList.map(item => {
1066
- if (item.username !== this.organizer?.username) {
1067
- item.voiceStatus = modeStatus == 0 ? 1 : 0;
1068
- }
1069
- });
1070
- if (this.isOrganizer) return;
1071
- if (modeStatus == 0) {
1072
- this.rtc.setMuteAudio(false);
1073
- voice.flag = true;
1074
- } else {
1075
- this.rtc.setMuteAudio(true);
1076
- voice.flag = false;
1077
- }
1078
- // voice.flag = !voice.flag;
1079
- break;
1080
- case 4:
1081
- video.status = status;
1082
- video.statusDesc = videoStatus[status];
1083
- if (username === this.username) {
1084
- this.handleLeaveRoom();
1085
- this.$message.success('你已被管理员移除!');
1086
- } else {
1087
- this.$message.success(name + '已被移除');
1088
- let index = this.videoList.findIndex(item => item.username == username);
1089
- this.videoList.splice(index, 1);
1090
- index = this.videoMembers.findIndex(item => item.username == username);
1091
- this.videoMembers.splice(index, 1);
1092
- }
1093
- break;
1094
- case 5:
1095
- video.status = status;
1096
- video.statusDesc = videoStatus[status];
1097
- break;
1098
- case 6:
1099
- changeMemberList.map(item => {
1100
- item.statusDesc = videoStatus[item.status];
1101
- });
1102
- this.videoList = this.videoList.concat(changeMemberList);
1103
- break;
1104
- }
1105
- this.setSipKeys();
1106
- }
1107
- }
1108
- }
1109
- };
1110
- </script>
1111
-
1112
- <style lang="less" scoped>
1113
- .multi-video {
1114
- position: absolute;
1115
- z-index: 2000;
1116
- width: 1300px;
1117
- height: 800px;
1118
- top: calc(50% - 400px);
1119
- left: calc(50% - 650px);
1120
- background: #252529;
1121
- cursor: pointer;
1122
- .video-view {
1123
- position: relative;
1124
- height: 160px;
1125
- width: 240px;
1126
- background: #121214;
1127
- margin-bottom: 8px;
1128
- }
1129
- #current-video {
1130
- height: 100%;
1131
- }
1132
- &.large {
1133
- left: 0 !important;
1134
- right: 0 !important;
1135
- top: 0 !important;
1136
- bottom: 0 !important;
1137
- width: 100%;
1138
- height: 100%;
1139
- z-index: 1000;
1140
- }
1141
- &.small {
1142
- width: 240px;
1143
- height: 200px;
1144
- .meeting-main {
1145
- padding: 0;
1146
- .right,
1147
- .left .footer {
1148
- display: none;
1149
- }
1150
- .left .current {
1151
- height: 160px;
1152
- }
1153
- }
1154
- .meeting-header {
1155
- justify-content: flex-end;
1156
- .id,
1157
- .title {
1158
- display: none;
1159
- }
1160
- }
1161
- }
1162
- .close {
1163
- position: absolute;
1164
- right: 8px;
1165
- top: 8px;
1166
- }
1167
- .meeting-info {
1168
- display: flex;
1169
- flex-direction: column;
1170
- align-items: center;
1171
- margin-top: 100px;
1172
- .name {
1173
- margin-bottom: 14px;
1174
- font-size: 24px;
1175
- line-height: 33px;
1176
- color: #e1e4eb;
1177
- }
1178
- .desc {
1179
- font-size: 18px;
1180
- line-height: 25px;
1181
- color: #b2b7c2;
1182
- }
1183
- }
1184
- .operate-footer {
1185
- position: absolute;
1186
- bottom: 64px;
1187
- left: 0;
1188
- right: 0;
1189
- display: flex;
1190
- justify-content: space-between;
1191
- padding: 0 360px;
1192
- .item {
1193
- display: flex;
1194
- flex-direction: column;
1195
- align-items: center;
1196
- color: #b2b7c2;
1197
- .text {
1198
- margin-top: 8px;
1199
- font-size: 18px;
1200
- }
1201
- }
1202
- }
1203
- .meeting-header {
1204
- display: flex;
1205
- justify-content: space-between;
1206
- height: 40px;
1207
- background: #37383a;
1208
- color: #e1e4eb;
1209
- line-height: 40px;
1210
- padding-left: 16px;
1211
- font-size: 16px;
1212
- .operate {
1213
- img {
1214
- margin-right: 8px;
1215
- }
1216
- }
1217
- }
1218
- .meeting-main {
1219
- height: calc(100% - 40px);
1220
- display: flex;
1221
- padding: 0 16px;
1222
- background: #37383a;
1223
- .left {
1224
- flex: 1;
1225
- background: #37383a;
1226
- .current {
1227
- position: relative;
1228
- height: calc(100% - 110px);
1229
- background: #252529;
1230
- .name {
1231
- position: absolute;
1232
- font-size: 16px;
1233
- color: #fff;
1234
- line-height: 28px;
1235
- left: 8px;
1236
- bottom: 8px;
1237
- }
1238
- }
1239
- .footer {
1240
- display: flex;
1241
- justify-content: center;
1242
- padding: 16px 0 14px 0;
1243
- .toolbar {
1244
- .btn,
1245
- .text {
1246
- width: 590px;
1247
- }
1248
- .btn {
1249
- display: grid;
1250
- grid-template-columns: repeat(5, 1fr);
1251
- justify-items: center;
1252
- align-items: center;
1253
- height: 40px;
1254
- background: #595a5d;
1255
- border-radius: 20px;
1256
- cursor: pointer;
1257
- }
1258
- .text {
1259
- display: grid;
1260
- grid-template-columns: repeat(5, 1fr);
1261
- justify-items: center;
1262
- align-items: center;
1263
- height: 40px;
1264
- color: #b2b7c2;
1265
- font-size: 16px;
1266
- line-height: 22px;
1267
- }
1268
- }
1269
- }
1270
- }
1271
- .right {
1272
- width: 250px;
1273
- padding-left: 10px;
1274
- overflow-y: scroll;
1275
- overflow-x: hidden;
1276
- &::-webkit-scrollbar {
1277
- width: 0px;
1278
- }
1279
- #local_stream {
1280
- position: relative;
1281
- background: #121214;
1282
- .name {
1283
- position: absolute;
1284
- width: 100%;
1285
- color: #7f7f7f;
1286
- font-size: 60px;
1287
- line-height: 160px;
1288
- text-align: center;
1289
- }
1290
- .ellipsis_operate {
1291
- position: absolute;
1292
- right: 8px;
1293
- top: 8px;
1294
- background: rgba(37, 37, 41, 0.8);
1295
- width: 24px;
1296
- height: 24px;
1297
- padding: 2px;
1298
- z-index: 300;
1299
- }
1300
- }
1301
- > div {
1302
- width: 240px;
1303
- height: 160px;
1304
- margin-bottom: 8px;
1305
- }
1306
- }
1307
- }
1308
- .start-meeting {
1309
- height: 100%;
1310
- display: flex;
1311
- flex-direction: column;
1312
- color: #e1e4eb;
1313
- align-items: center;
1314
- justify-content: space-between;
1315
- padding: 100px 0 66px 0;
1316
- .header {
1317
- font-size: 24px;
1318
- }
1319
- .footer {
1320
- display: flex;
1321
- flex-direction: column;
1322
- align-items: center;
1323
- .add {
1324
- display: flex;
1325
- justify-content: center;
1326
- align-items: center;
1327
- width: 48px;
1328
- height: 48px;
1329
- border-radius: 50%;
1330
- background: #000000;
1331
- }
1332
- .info {
1333
- margin: 16px 0 72px 0;
1334
- font-size: 20px;
1335
- }
1336
- .start {
1337
- display: inline-block;
1338
- width: 320px;
1339
- height: 48px;
1340
- margin-bottom: 24px;
1341
- background: #5585f5;
1342
- font-size: 20px;
1343
- line-height: 48px;
1344
- text-align: center;
1345
- border-radius: 26px;
1346
- }
1347
- .operate {
1348
- display: flex;
1349
- .voice,
1350
- .video {
1351
- display: flex;
1352
- justify-content: center;
1353
- align-items: center;
1354
- width: 100px;
1355
- height: 40px;
1356
- background: #000;
1357
- border-radius: 20px;
1358
- }
1359
- .voice {
1360
- margin-right: 24px;
1361
- }
1362
- }
1363
- }
1364
- }
1365
- .video-view {
1366
- position: relative;
1367
- color: #fff;
1368
- .footer {
1369
- position: absolute;
1370
- bottom: 0;
1371
- width: 100%;
1372
- padding: 8px;
1373
- display: flex;
1374
- justify-content: space-between;
1375
- align-items: center;
1376
- z-index: 3000;
1377
- .info {
1378
- display: flex;
1379
- flex-direction: column;
1380
- align-items: center;
1381
- }
1382
- .voice {
1383
- width: 30px;
1384
- height: 30px;
1385
- border-radius: 50%;
1386
- background: #595a5d;
1387
- display: flex;
1388
- justify-content: center;
1389
- align-items: center;
1390
- }
1391
- }
1392
- .header {
1393
- position: absolute;
1394
- right: 8px;
1395
- top: 8px;
1396
- z-index: 3000;
1397
- }
1398
- .customer-portrait {
1399
- position: absolute;
1400
- left: calc(50% - 40px);
1401
- top: calc(50% - 40px);
1402
- z-index: 2000;
1403
- &.waiting {
1404
- opacity: 0.3;
1405
- }
1406
- }
1407
- }
1408
- /deep/ .ant-popover-inner-content {
1409
- padding: 16px;
1410
- color: rgba(0, 0, 0, 0.65);
1411
- width: 138px;
1412
- background: #252529;
1413
- color: #fff;
1414
- height: 87px;
1415
- display: flex;
1416
- flex-direction: column;
1417
- justify-content: center;
1418
- }
1419
- /deep/ .ant-popover-placement-bottomLeft > .ant-popover-content > .ant-popover-arrow {
1420
- border-color: #252529;
1421
- }
1422
- .waiting {
1423
- opacity: 0.3;
1424
- }
1425
- }
1426
- </style>