cnhis-design-vue 0.2.64-beta → 0.3.2-beta

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