@web-utils/component 4.0.15 → 5.0.0-beta01

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 (307) hide show
  1. package/address-input/index.mjs +76 -76
  2. package/affix/index.mjs +71 -78
  3. package/aside-menu/index.mjs +20 -31
  4. package/avatar/index.mjs +94 -82
  5. package/awesome-button/index.mjs +54 -71
  6. package/capsule-tab/index.mjs +27 -32
  7. package/card/index.mjs +86 -71
  8. package/carousel/index.mjs +45 -34
  9. package/chat/index.mjs +440 -276
  10. package/chunk-file-uploader/index.mjs +2 -445
  11. package/chunk-file-uploader/style.css +1 -1
  12. package/chunks/ChunkFileUploader.C3EA0e5t.mjs +114 -0
  13. package/chunks/EditableTree.C_IJBL5b.mjs +648 -0
  14. package/chunks/ElementBaseInfo.DyuFR6fE.mjs +209 -0
  15. package/chunks/ElementDialog.C0IjriTW.mjs +681 -0
  16. package/chunks/ElementForm.ButuYDPA.mjs +627 -0
  17. package/chunks/ElementListeners.Dg3e_dmp.mjs +656 -0
  18. package/chunks/ElementMultiInstance.Dmi79FqA.mjs +290 -0
  19. package/chunks/ElementOtherConfig.C2AddGTp.mjs +51 -0
  20. package/chunks/ElementProperties.CfV8UF7L.mjs +196 -0
  21. package/chunks/ElementTaskConfig.Bn7ycGGn.mjs +446 -0
  22. package/chunks/FlowCondition.C6PdqOAW.mjs +194 -0
  23. package/chunks/FlowDesigner.uJYFfKpR.mjs +5101 -0
  24. package/chunks/FormBlock.BEENc22F.mjs +117 -0
  25. package/chunks/FormCascader.CaM-oEhv.mjs +1226 -0
  26. package/chunks/FormInputTime.Bg3UIP8H.mjs +1773 -0
  27. package/chunks/FormItem.H9OOvNzT.mjs +90 -0
  28. package/chunks/FormItemGroup.D9eRy-cZ.mjs +147 -0
  29. package/chunks/FormSelect.CanodoAI.mjs +1472 -0
  30. package/chunks/FormSwitch.DTqdaFjv.mjs +296 -0
  31. package/chunks/FormTemp.DiI5EfgK.mjs +139 -0
  32. package/chunks/FyCurd.DMj1dMK9.mjs +2622 -0
  33. package/chunks/FyForm.vgR8ujEF.mjs +904 -0
  34. package/chunks/FyFormDesign.DEWT6LsX.mjs +5600 -0
  35. package/chunks/FyUEditor.D_rEYfll.mjs +221 -0
  36. package/chunks/FyUpload.B2QKfTxF.mjs +504 -0
  37. package/chunks/Keyboard.ItiRy7Gb.mjs +379 -0
  38. package/chunks/MonacoEditor.Bd5Kui-Y.mjs +301 -0
  39. package/chunks/PageableTable.Bujb0NUx.mjs +658 -0
  40. package/chunks/RecordVideo.B35_dLty.mjs +116 -0
  41. package/chunks/SignalAndMessage.CYVzlFuL.mjs +198 -0
  42. package/chunks/SplitPane.Dw96M0Yf.mjs +219 -0
  43. package/chunks/TableColumn.DJYkznbJ.mjs +180 -0
  44. package/chunks/TableView.DyIdIxAg.mjs +484 -0
  45. package/chunks/Toolbar.DHuXJAoG.mjs +219 -0
  46. package/chunks/UserTaskListeners.Bp-2qkHs.mjs +599 -0
  47. package/chunks/VueCron.GfjodnyM.mjs +1766 -0
  48. package/chunks/VueTreeSelect.9Ywl-I8e.mjs +1872 -0
  49. package/chunks/_plugin-vue_export-helper.7vrlOII_.mjs +8 -0
  50. package/chunks/checkbox.emIuFmnt.mjs +437 -0
  51. package/chunks/confirmable-mixin.BBil7dto.mjs +1646 -0
  52. package/chunks/core.DJv6Qrae.mjs +51 -0
  53. package/chunks/dataformat.Bfr4nOcA.mjs +144 -0
  54. package/chunks/dic.DgDfnovD.mjs +116 -0
  55. package/chunks/dictionary.5eKjWeAp.mjs +19 -0
  56. package/chunks/dictionary.DxZxP0ej.mjs +87 -0
  57. package/chunks/event.B4iwtUNO.mjs +4 -0
  58. package/chunks/event.eJ-c1Z3a.mjs +224 -0
  59. package/chunks/focus-trap.DT4GnqQI.mjs +211 -0
  60. package/chunks/form-input.D25eDRMq.mjs +34 -0
  61. package/chunks/form-item.CgmUuw_n.mjs +714 -0
  62. package/chunks/form-pick.Axem0gOO.mjs +7 -0
  63. package/chunks/form-validate.B1KPCHqN.mjs +11 -0
  64. package/chunks/icon.CbS8-322.mjs +259 -0
  65. package/chunks/init.DwpukyOB.mjs +115 -0
  66. package/chunks/input.PejnqwSH.mjs +547 -0
  67. package/chunks/install.yLcn5MLL.mjs +84 -0
  68. package/chunks/message.BCmee5N0.mjs +400 -0
  69. package/chunks/overlay.DubSnqma.mjs +122 -0
  70. package/chunks/packages.BGjydzjm.mjs +56 -0
  71. package/chunks/permission.DgEVNWlh.mjs +16 -0
  72. package/chunks/photo-swipe.BB0SJZg9.mjs +55 -0
  73. package/chunks/radio.BotKXqJr.mjs +274 -0
  74. package/chunks/scroll.CzORc5Zk.mjs +28 -0
  75. package/chunks/scrollbar.CAmrlKi9.mjs +345 -0
  76. package/chunks/slot.C6Ozd2e7.mjs +25 -0
  77. package/chunks/style.BmlGmjpO.mjs +325 -0
  78. package/chunks/sub-table-plus-props.B_lLth3j.mjs +28 -0
  79. package/chunks/tab-mixin.u0EZpx3j.mjs +70 -0
  80. package/chunks/tag.DPi-PLbb.mjs +141 -0
  81. package/chunks/teleport._VGEzK4d.mjs +22 -0
  82. package/chunks/tooltip.D50x7Rva.mjs +1926 -0
  83. package/chunks/typescript.DiWBU4nj.mjs +4 -0
  84. package/chunks/use-aria.BW7nWOl1.mjs +17 -0
  85. package/chunks/use-composition.mUaomyno.mjs +47 -0
  86. package/chunks/use-deprecated.BfDSbZS9.mjs +12 -0
  87. package/chunks/use-empty-values.Dy_r78F6.mjs +263 -0
  88. package/chunks/use-form-item.wsRjehHp.mjs +47 -0
  89. package/chunks/use-global-config.C9hs-O_x.mjs +56 -0
  90. package/chunks/use-id.CFO5NeoV.mjs +15 -0
  91. package/chunks/use-size.DxrwTUwf.mjs +18 -0
  92. package/chunks/util.B3sjVZoZ.mjs +103 -0
  93. package/chunks/util.g-WQEec9.mjs +223 -0
  94. package/chunks/utilSelf.ZED4DmCU.mjs +46 -0
  95. package/chunks/utils.Cs2fYBrT.mjs +60 -0
  96. package/chunks/utils.DsGhtCIO.mjs +14 -0
  97. package/chunks/validator.C4-z_t9p.mjs +5 -0
  98. package/chunks/vnode.D_SioRnx.mjs +14 -0
  99. package/code-mirror-editor/index.mjs +89 -88
  100. package/comment/index.mjs +62 -57
  101. package/configComponents.mjs +40 -50
  102. package/confirm-button/index.mjs +34 -46
  103. package/confirmable/index.mjs +7 -17
  104. package/context-menu/index.mjs +195 -174
  105. package/count-up/index.mjs +97 -105
  106. package/custom-scrollbar/index.mjs +91 -98
  107. package/data-box/index.mjs +64 -47
  108. package/data-card/index.mjs +60 -49
  109. package/data-card-text/index.mjs +63 -51
  110. package/data-display/index.mjs +71 -53
  111. package/data-icons/index.mjs +70 -53
  112. package/data-imgtext/index.mjs +67 -46
  113. package/data-operatext/index.mjs +51 -42
  114. package/data-panel/index.mjs +57 -47
  115. package/data-pay/index.mjs +105 -52
  116. package/data-price/index.mjs +48 -42
  117. package/data-progress/index.mjs +67 -48
  118. package/data-rotate/index.mjs +61 -47
  119. package/data-table-picker/index.mjs +119 -74
  120. package/data-tabs/index.mjs +67 -47
  121. package/dialog-form/index.mjs +139 -89
  122. package/dynamic-table/index.mjs +166 -114
  123. package/e-charts/index.mjs +174 -200
  124. package/easy-popup/index.mjs +91 -102
  125. package/editable-progress/index.mjs +112 -85
  126. package/editable-tree/index.mjs +2 -485
  127. package/element-dialog/index.mjs +2 -307
  128. package/element-listeners/style.css +1 -0
  129. package/element-multi-instance/style.css +1 -0
  130. package/ellipsis/index.mjs +124 -148
  131. package/empty-view/index.mjs +48 -65
  132. package/error-view/index.mjs +39 -51
  133. package/flex-column/index.mjs +32 -51
  134. package/flex-item/index.mjs +54 -64
  135. package/flex-row/index.mjs +32 -39
  136. package/flex-scroller/index.mjs +29 -30
  137. package/flow/index.mjs +240 -248
  138. package/flow-designer/index.mjs +2 -5983
  139. package/flow-designer/style.css +1 -1
  140. package/flow-node/index.mjs +56 -64
  141. package/flow-viewer/index.mjs +159 -157
  142. package/form-block/index.mjs +2 -149
  143. package/form-button/index.mjs +35 -47
  144. package/form-card/index.mjs +14 -25
  145. package/form-cascader/index.mjs +2 -116
  146. package/form-checkbox/index.mjs +89 -71
  147. package/form-checkbox-group/index.mjs +161 -116
  148. package/form-date-picker/index.mjs +155 -144
  149. package/form-holder/index.mjs +137 -110
  150. package/form-input/index.mjs +113 -87
  151. package/form-input-cron-expression/index.mjs +97 -79
  152. package/form-input-email/index.mjs +64 -52
  153. package/form-input-id-card/index.mjs +72 -55
  154. package/form-input-phone-number/index.mjs +71 -57
  155. package/form-input-tag/index.mjs +88 -62
  156. package/form-input-time/index.mjs +2 -74
  157. package/form-item/index.mjs +2 -5
  158. package/form-item-config-provider/index.mjs +46 -60
  159. package/form-item-group/index.mjs +2 -160
  160. package/form-radio-group/index.mjs +161 -122
  161. package/form-select/index.mjs +2 -181
  162. package/form-switch/index.mjs +2 -55
  163. package/form-table/index.mjs +131 -85
  164. package/form-table-plus/index.mjs +164 -109
  165. package/form-textarea/index.mjs +90 -57
  166. package/form-tree-select/index.mjs +89 -72
  167. package/form-tree-select-multiple/index.mjs +92 -78
  168. package/form-view/index.mjs +275 -211
  169. package/fy-array/index.mjs +121 -74
  170. package/fy-article/index.mjs +73 -60
  171. package/fy-cascader/index.mjs +113 -91
  172. package/fy-checkbox/index.mjs +96 -66
  173. package/fy-code/index.mjs +48 -50
  174. package/fy-curd/index.mjs +2 -1903
  175. package/fy-date/index.mjs +76 -42
  176. package/fy-draggable/index.mjs +322 -318
  177. package/fy-dynamic/index.mjs +259 -227
  178. package/fy-empty/index.mjs +35 -36
  179. package/fy-form/index.mjs +2 -17
  180. package/fy-form-design/index.mjs +2 -2890
  181. package/fy-form-design/style.css +1 -1
  182. package/fy-from/crud/zh.d.ts +6 -6
  183. package/fy-input/index.mjs +117 -99
  184. package/fy-input-color/index.mjs +77 -56
  185. package/fy-input-icon/index.mjs +129 -85
  186. package/fy-input-map/index.mjs +242 -186
  187. package/fy-input-number/index.mjs +74 -50
  188. package/fy-input-table/index.mjs +160 -109
  189. package/fy-input-tree/index.mjs +259 -182
  190. package/fy-progress/index.mjs +36 -40
  191. package/fy-radio/index.mjs +53 -38
  192. package/fy-rate/index.mjs +86 -71
  193. package/fy-select/index.mjs +223 -140
  194. package/fy-slider/index.mjs +68 -44
  195. package/fy-switch/index.mjs +67 -42
  196. package/fy-tabs/index.mjs +46 -48
  197. package/fy-time/index.mjs +81 -53
  198. package/fy-title/index.mjs +18 -27
  199. package/fy-tree/index.mjs +382 -292
  200. package/fy-u-editor/index.mjs +2 -357
  201. package/fy-upload/index.mjs +2 -423
  202. package/guide-steps/index.mjs +72 -73
  203. package/helper-function.d.ts +2 -30
  204. package/helper-function.mjs +41 -67
  205. package/highlight-j-s/index.mjs +50 -59
  206. package/icon-card/index.mjs +34 -36
  207. package/icon-temp/index.mjs +27 -27
  208. package/iframe-window/index.mjs +39 -33
  209. package/image-cropper/index.mjs +171 -75
  210. package/image-preview/index.mjs +187 -118
  211. package/image-viewer/index.mjs +69 -66
  212. package/index.d.ts +3 -9
  213. package/index.mjs +173 -488
  214. package/input-number-range/index.mjs +78 -59
  215. package/j-s-x-component/index.mjs +13 -15
  216. package/keyboard/index.mjs +2 -369
  217. package/license/index.mjs +106 -115
  218. package/loading-view/index.mjs +39 -51
  219. package/login/index.mjs +252 -125
  220. package/monaco-editor/index.mjs +2 -7
  221. package/name-avatar/index.mjs +61 -53
  222. package/nav-bar/index.mjs +33 -31
  223. package/not-implement/index.mjs +10 -22
  224. package/notice/index.mjs +100 -94
  225. package/package.json +3 -3
  226. package/page/index.mjs +18 -25
  227. package/page-header/index.mjs +27 -33
  228. package/page-index/index.mjs +121 -100
  229. package/page-index-top/index.mjs +79 -79
  230. package/page-skeleton/index.mjs +48 -45
  231. package/page-skeleton-new/index.mjs +79 -50
  232. package/pageable-table/index.mjs +2 -522
  233. package/pageable-view/index.mjs +279 -275
  234. package/photo-swipe/index.d.ts +4 -0
  235. package/photo-swipe/index.mjs +33 -36
  236. package/picker-table-view/index.mjs +224 -126
  237. package/present-view/index.mjs +266 -200
  238. package/queue/index.mjs +45 -53
  239. package/record-video/index.mjs +2 -134
  240. package/resize-observer/index.mjs +43 -46
  241. package/search/index.mjs +116 -109
  242. package/sign/index.mjs +103 -110
  243. package/sign-panel/index.mjs +182 -141
  244. package/skeleton/index.mjs +51 -54
  245. package/skeleton-panel/index.mjs +33 -38
  246. package/split-pane/index.mjs +3 -197
  247. package/stateful/index.mjs +69 -73
  248. package/static-pageable-table/index.mjs +72 -66
  249. package/sub-table/index.mjs +508 -219
  250. package/sub-table-plus/index.mjs +592 -19
  251. package/swiper/index.mjs +128 -121
  252. package/tab/index.mjs +117 -119
  253. package/tab-item/index.mjs +48 -56
  254. package/table-column/index.mjs +2 -5
  255. package/table-view/index.mjs +3 -334
  256. package/tabs-view/index.mjs +109 -106
  257. package/tag-render/index.mjs +79 -69
  258. package/text-ellipsis/index.mjs +94 -78
  259. package/toolbar/index.mjs +2 -255
  260. package/toolbar-button/index.mjs +145 -121
  261. package/verify/index.mjs +58 -64
  262. package/vue-cron/index.mjs +2 -1188
  263. package/vue-qr-code/index.mjs +30 -54
  264. package/vue-quill-editor/index.mjs +123 -99
  265. package/vue-tags-input/index.mjs +348 -431
  266. package/vue-tree-select/index.mjs +2 -2627
  267. package/vue-video-player/index.mjs +135 -136
  268. package/watermark/index.mjs +46 -74
  269. package/web-types.json +197 -975
  270. package/x-input-tag/index.mjs +144 -109
  271. package/chunks/ElementTaskConfig.AvBOzAni.mjs +0 -325
  272. package/chunks/FormItem.Bhsy_O2B.mjs +0 -372
  273. package/chunks/FyForm.DriwCJ7b.mjs +0 -765
  274. package/chunks/MonacoEditor.D31t4FTy.mjs +0 -327
  275. package/chunks/SignalAndMessage.BpjOoKhK.mjs +0 -92
  276. package/chunks/SubTablePlus.BH0IIv3X.mjs +0 -270
  277. package/chunks/TableColumn.BzivvXMF.mjs +0 -337
  278. package/chunks/_plugin-vue2_normalizer.CeySl7Fu.mjs +0 -10
  279. package/chunks/confirmable-mixin.BFZb6pcK.mjs +0 -86
  280. package/chunks/dataformat.DJoNBlmI.mjs +0 -154
  281. package/chunks/dic.BinnDitI.mjs +0 -128
  282. package/chunks/dictionary.DqiP9x2m.mjs +0 -25
  283. package/chunks/event.DSlcqYHL.mjs +0 -236
  284. package/chunks/form-input.BtS_J5a2.mjs +0 -31
  285. package/chunks/form-pick.BFTIVn_i.mjs +0 -11
  286. package/chunks/form-validate.CVarNHKX.mjs +0 -12
  287. package/chunks/helper.BiMLcEEk.mjs +0 -41
  288. package/chunks/index.BmYCjxZQ.mjs +0 -47
  289. package/chunks/index.CIfe3UB3.mjs +0 -16
  290. package/chunks/index.Cn7aq-Et.mjs +0 -184
  291. package/chunks/init.xOlFpTyZ.mjs +0 -122
  292. package/chunks/packages.ByyangTp.mjs +0 -58
  293. package/chunks/permission.CO31YIkD.mjs +0 -16
  294. package/chunks/slot.DXIbhGat.mjs +0 -27
  295. package/chunks/tab-mixin.BNK6dxLN.mjs +0 -81
  296. package/chunks/util.DI42t5GU.mjs +0 -241
  297. package/color-picker/index.mjs +0 -157
  298. package/egd-collapse/index.mjs +0 -62
  299. package/egd-collapse-item/index.mjs +0 -72
  300. package/form-input-number/index.mjs +0 -70
  301. package/form-input-number/style.css +0 -1
  302. package/input-number/index.mjs +0 -233
  303. package/input-number/style.css +0 -1
  304. package/keep-view-alive/index.mjs +0 -117
  305. package/search-popover/index.mjs +0 -118
  306. package/search-popover/style.css +0 -1
  307. /package/{base.css → utils/style.css} +0 -0
package/chat/index.mjs CHANGED
@@ -1,277 +1,441 @@
1
- import r from "../element-dialog/index.mjs";
2
- import c from "element-ui/lib/input";
3
- import m from "element-ui/lib/form-item";
4
- import f from "element-ui/lib/form";
5
- import l from "element-ui/lib/button";
6
- import p from "element-ui/lib/tooltip";
7
- import d from "element-ui/lib/dropdown-item";
8
- import _ from "element-ui/lib/scrollbar";
9
- import h from "element-ui/lib/popover";
10
- import g from "element-ui/lib/dropdown-menu";
11
- import y from "element-ui/lib/dropdown";
1
+ import { t as e } from "../chunks/_plugin-vue_export-helper.7vrlOII_.mjs";
2
+ import { x as t } from "../chunks/util.g-WQEec9.mjs";
3
+ import { Fragment as n, createBlock as r, createCommentVNode as i, createElementBlock as a, createElementVNode as o, createTextVNode as s, createVNode as c, normalizeClass as l, normalizeStyle as u, openBlock as d, renderList as f, renderSlot as p, resolveComponent as m, toDisplayString as h, vModelText as g, withCtx as _, withDirectives as v, withKeys as y } from "vue";
12
4
  import { formatDate as b } from "@web-utils/integrations/dayjs";
13
- import { s as u } from "../chunks/util.DI42t5GU.mjs";
14
- import { n as v } from "../chunks/_plugin-vue2_normalizer.CeySl7Fu.mjs";
15
- const w = {
16
- name: "Chat",
17
- props: {
18
- beforeOpen: Function,
19
- tools: {
20
- type: Object,
21
- default: () => ({
22
- img: !0,
23
- video: !0,
24
- file: !0
25
- })
26
- },
27
- placeholder: {
28
- type: String,
29
- default: "请输入..."
30
- },
31
- width: {
32
- type: [String, Number],
33
- default: "100%"
34
- },
35
- height: {
36
- type: [String, Number],
37
- default: "520px"
38
- },
39
- value: {
40
- type: String
41
- },
42
- notice: {
43
- type: Boolean,
44
- default: !0
45
- },
46
- audio: {
47
- type: Array,
48
- default: () => [
49
- "https://www.helloweba.net/demo/notifysound/notify.ogg",
50
- "https://www.helloweba.net/demo/notifysound/notify.mp3",
51
- "https://www.helloweba.net/demo/notifysound/notify.wav"
52
- ]
53
- },
54
- config: {
55
- type: Object,
56
- default: () => ({})
57
- },
58
- keylist: {
59
- type: Array,
60
- default: () => []
61
- },
62
- list: {
63
- type: Array,
64
- default: () => []
65
- }
66
- },
67
- data() {
68
- return {
69
- upload: {
70
- box: !1,
71
- src: "",
72
- type: "",
73
- title: ""
74
- },
75
- visible: !1,
76
- imgSrc: "",
77
- videoSrc: "",
78
- audioSrc: "",
79
- keys: "",
80
- show: !1
81
- };
82
- },
83
- computed: {
84
- msg: {
85
- get() {
86
- return this.value;
87
- },
88
- set(s) {
89
- this.$emit("input", s), this.$emit("change", s);
90
- }
91
- },
92
- heightStyleName() {
93
- return {
94
- height: u(this.height)
95
- };
96
- },
97
- widthStyleName() {
98
- return {
99
- width: u(this.width)
100
- };
101
- },
102
- msgActive() {
103
- return this.msg.replace(/[\r\n]/g, "");
104
- }
105
- },
106
- methods: {
107
- uploadSubmit() {
108
- this.$refs.form.validate((s) => {
109
- s && (this.upload.box = !1, this.$emit("submit", this.getDetail(this.upload)));
110
- });
111
- },
112
- handleUpload(s) {
113
- this.upload.type = s, this.upload.src = "", s === "img" ? this.upload.title = "图片上传" : s === "video" ? this.upload.title = "视频上传" : s === "file" && (this.upload.title = "文件上传"), this.upload.box = !0;
114
- },
115
- handleClose(s) {
116
- this.imgSrc = void 0, this.videoSrc = void 0, this.audioSrc = void 0, s();
117
- },
118
- addKey() {
119
- this.keys !== "" && (this.$emit("keyadd", this.keys), this.keys = ""), this.visible = !1;
120
- },
121
- sendKey(s) {
122
- this.$emit("keysend", s);
123
- },
124
- getAudio() {
125
- this.$refs.chatAudio.play();
126
- },
127
- getNotification(s) {
128
- const t = this, e = Notification || window.Notification;
129
- if (e) {
130
- let n = function() {
131
- e.requestPermission((a) => {
132
- a === "granted" ? o() : console.log("用户无情残忍的拒绝了你!!!");
133
- });
134
- }, o = function() {
135
- const a = new Notification(t.config.name, {
136
- body: s,
137
- icon: t.config.img
138
- });
139
- a.onshow = function() {
140
- t.getAudio(), setTimeout(() => {
141
- a.close();
142
- }, 2500);
143
- }, a.onclick = function() {
144
- a.close();
145
- };
146
- };
147
- const i = e.permission;
148
- i === "granted" ? o() : i === "denied" ? console.log("用户拒绝了你!!!") : n();
149
- }
150
- },
151
- // mine为'我'的对话
152
- // text为内容
153
- pushMsg(s = {}) {
154
- const t = s.mine === !0, e = s.text || {}, n = {
155
- date: s.date || b(Date.now(), "YYYY-MM-DD HH:mm:ss"),
156
- text: typeof e != "object" ? {
157
- text: e
158
- } : e,
159
- mine: t,
160
- img: t ? this.config.myImg : this.config.img,
161
- name: t ? this.config.myName : this.config.name
162
- };
163
- this.list.push(n), setTimeout(() => {
164
- this.setScroll();
165
- }, 50);
166
- },
167
- setScroll(s) {
168
- this.$nextTick(() => {
169
- this.$refs.main.scrollTop = s || this.$refs.main.scrollHeight;
170
- });
171
- },
172
- // 用户主动发送
173
- handleSend() {
174
- this.msgActive && this.$emit("submit");
175
- },
176
- // 选择列表
177
- handleItemMsg(s) {
178
- this.$emit("submit", s.ask);
179
- },
180
- // 处理排版
181
- handleDetail(s = "") {
182
- const t = s;
183
- return setTimeout(() => {
184
- (this.$refs.content || []).forEach((i) => {
185
- for (let n = 0; n < i.children.length; n++) {
186
- const o = i.children[n];
187
- o.getAttribute("data-flag") !== "0" && (o.setAttribute("data-flag", 0), o.onclick = () => {
188
- this.handleEvent(o.dataset);
189
- }, o.tagName === "IMG" ? (o.className = "web__msg--img", o.src = o.getAttribute("data-src")) : o.tagName === "VIDEO" ? (o.className = "web__msg--video", o.src = o.getAttribute("data-src")) : o.tagName === "AUDIO" ? (o.className = "web__msg--audio", o.controls = "controls", o.src = o.getAttribute("data-src")) : o.tagName === "FILE" ? (o.className = "web__msg--file", o.innerHTML = `<h2>File</h2><span>${o.getAttribute("data-name")}</span>`) : o.tagName === "MAP" && (o.className = "web__msg--file web__msg--map", o.innerHTML = `<h2>Map</h2><span>${o.getAttribute("data-longitude")} , ${o.getAttribute(
190
- "data-latitude"
191
- )}<br />${o.getAttribute("data-address")}</span>`), this.setScroll());
192
- }
193
- });
194
- }, 0), t;
195
- },
196
- getDetail(s = {}) {
197
- const { type: t, src: e, name: i, longitude: n, latitude: o, address: a } = s;
198
- if (t === "img")
199
- return `<img data-type="IMG" data-src="${e}" alt=""/>`;
200
- if (t === "video")
201
- return `<video data-type="VIDEO" data-src="${e}"></video>`;
202
- if (t === "audio")
203
- return `<audio data-type="AUDIO" data-src="${e}"></audio>`;
204
- if (t === "file")
205
- return `<file data-type="FILE" data-name="${i}" data-src="${e}"></file>`;
206
- if (t === "map")
207
- return `<map data-type="MAP" data-src="${e}" data-address="${a} " data-latitude="${o}" data-longitude="${n}"></map>`;
208
- },
209
- // 处理事件
210
- handleEvent(s) {
211
- const t = () => {
212
- s.type === "IMG" ? (this.imgSrc = s.src, this.show = !0) : s.type === "VIDEO" ? (this.videoSrc = s.src, this.show = !0) : s.type === "AUDIO" ? (this.audioSrc = s.src, this.show = !0) : s.type === "FILE" && window.open(s.src);
213
- };
214
- typeof this.beforeOpen == "function" ? this.beforeOpen(s, t) : t();
215
- },
216
- rootSendMsg(s) {
217
- this.pushMsg({
218
- text: s
219
- }), this.notice && this.getNotification(s.text || s);
220
- }
221
- }
222
- };
223
- var x = function() {
224
- var t = this, e = t._self._c;
225
- return e("div", { staticClass: "avue-chat", style: t.heightStyleName, on: { keyup: function(i) {
226
- return !i.type.indexOf("key") && t._k(i.keyCode, "enter", 13, i.key, "Enter") ? null : t.handleSend.apply(null, arguments);
227
- } } }, [e("audio", { ref: "chatAudio" }, [e("source", { attrs: { src: t.audio[0], type: "audio/ogg" } }), e("source", { attrs: { src: t.audio[1], type: "audio/mpeg" } }), e("source", { attrs: { src: t.audio[2], type: "audio/wav" } })]), e("div", { staticClass: "web__logo" }, [e("img", { staticClass: "web__logo-img", attrs: { src: t.config.img, alt: "" } }), e("div", { staticClass: "web__logo-info" }, [e("p", { staticClass: "web__logo-name" }, [t._v(" " + t._s(t.config.name) + " ")]), e("p", { staticClass: "web__logo-dept" }, [t._v(" " + t._s(t.config.dept) + " ")])]), t._t("header")], 2), e("div", { staticClass: "web__content" }, [e("div", { style: t.widthStyleName }, [e("div", { ref: "main", staticClass: "web__main" }, t._l(t.list, function(i, n) {
228
- return e("div", { key: n, staticClass: "web__main-item", class: { "web__main-item--mine": i.mine } }, [e("div", { staticClass: "web__main-user" }, [e("img", { attrs: { src: i.img, alt: "" } }), e("cite", [t._v(" " + t._s(i.name) + " "), e("i", [t._v(t._s(i.date))])])]), e("div", { staticClass: "web__main-text" }, [e("div", { staticClass: "web__main-arrow" }), e("span", { ref: "content", refInFor: !0, domProps: { innerHTML: t._s(t.handleDetail(i.text.text)) } }), i.text.list ? t._e() : e("ul", { staticClass: "web__main-list" }, t._l(i.text.list, function(o, a) {
229
- return e("li", { key: a, on: { click: function($) {
230
- return t.handleItemMsg(o);
231
- } } }, [t._v(" " + t._s(o.text) + " ")]);
232
- }), 0)])]);
233
- }), 0), e("div", { staticClass: "web__footer", style: t.widthStyleName }, [e("div", { staticClass: "web__tools" }, [t.tools.img ? e("i", { staticClass: "el-icon-picture-outline", on: { click: function(i) {
234
- return t.handleUpload("img");
235
- } } }) : t._e(), t.tools.video ? e("i", { staticClass: "el-icon-video-camera", on: { click: function(i) {
236
- return t.handleUpload("video");
237
- } } }) : t._e(), t.tools.file ? e("i", { staticClass: "el-icon-folder-opened", on: { click: function(i) {
238
- return t.handleUpload("file");
239
- } } }) : t._e()]), e("div", { staticClass: "web__msg" }, [e("textarea", { directives: [{ name: "model", rawName: "v-model", value: t.msg, expression: "msg" }], staticClass: "web__msg-input", attrs: { rows: "2", placeholder: t.placeholder }, domProps: { value: t.msg }, on: { input: function(i) {
240
- i.target.composing || (t.msg = i.target.value);
241
- } } }), e("div", { staticClass: "web__msg-menu" }, [e(y, { staticClass: "web__msg-submit", attrs: { "split-button": "", type: "primary", size: "mini", trigger: "click" }, on: { click: t.handleSend }, scopedSlots: t._u([{ key: "dropdown", fn: function() {
242
- return [e(g, [e(d, [e(h, { attrs: { placement: "top", width: "160" }, scopedSlots: t._u([{ key: "reference", fn: function() {
243
- return [e(l, { attrs: { type: "text", icon: "el-icon-plus" } })];
244
- }, proxy: !0 }]), model: { value: t.visible, callback: function(i) {
245
- t.visible = i;
246
- }, expression: "visible" } }, [e(c, { staticStyle: { "margin-bottom": "10px" }, attrs: { size: "mini", rows: 3, "show-word-limit": "", maxlength: "100", placeholder: "请输入快捷回复语", type: "textarea" }, model: { value: t.keys, callback: function(i) {
247
- t.keys = i;
248
- }, expression: "keys" } }), e("div", { staticStyle: { margin: "0", "text-align": "right" } }, [e(l, { attrs: { size: "mini", type: "text" }, on: { click: function(i) {
249
- t.visible = !1;
250
- } } }, [t._v(" 取消 ")]), e(l, { attrs: { type: "primary", size: "mini" }, on: { click: t.addKey } }, [t._v(" 确定 ")])], 1)], 1)], 1), e(_, { staticStyle: { height: "100px" } }, t._l(t.keylist, function(i, n) {
251
- return e(d, { key: n, nativeOn: { click: function(o) {
252
- return t.sendKey(i);
253
- } } }, [e(p, { attrs: { effect: "dark", content: i, placement: "top" } }, [e("span", [t._v(" " + t._s(i.substr(0, 10)) + t._s(i.length > 10 ? "..." : ""))])])], 1);
254
- }), 1)], 1)];
255
- }, proxy: !0 }]) }, [t._v(" 发送 ")])], 1)])])]), t._t("default")], 2), t.upload.box ? e("div", [e(r, { attrs: { title: t.upload.title, "body-padding": !1, visible: t.upload.box, width: "30%" }, on: { "update:visible": function(i) {
256
- return t.$set(t.upload, "box", i);
257
- } }, scopedSlots: t._u([{ key: "footer", fn: function() {
258
- return [e(l, { attrs: { size: "small" }, on: { click: function(i) {
259
- t.upload.box = !1;
260
- } } }, [t._v("取 消")]), e(l, { attrs: { type: "primary", size: "small" }, on: { click: t.uploadSubmit } }, [t._v("确 定")])];
261
- }, proxy: !0 }], null, !1, 99567638) }, [e(f, { ref: "form", attrs: { model: t.upload } }, [e(m, { attrs: { prop: "src", rules: [{ required: !0, message: "地址不能为空" }] } }, [e(c, { staticStyle: { "margin-bottom": "10px" }, attrs: { size: "mini", rows: 4, "show-word-limit": "", maxlength: "100", placeholder: "请输入地址", type: "textarea" }, model: { value: t.upload.src, callback: function(i) {
262
- t.$set(t.upload, "src", i);
263
- }, expression: "upload.src" } })], 1)], 1)], 1)], 1) : t._e(), t.show ? e("div", [e(r, { staticClass: "web__dialog", attrs: { visible: t.show, "body-padding": !1, title: "预览", width: "40%", "before-close": t.handleClose }, on: { "update:visible": function(i) {
264
- t.show = i;
265
- } } }, [t.imgSrc ? e("img", { staticStyle: { width: "100%", "object-fit": "cover" }, attrs: { src: t.imgSrc } }) : t._e(), t.videoSrc ? e("video", { staticStyle: { width: "100%", "object-fit": "cover" }, attrs: { src: t.videoSrc, controls: "controls" } }) : t._e(), t.audioSrc ? e("audio", { staticStyle: { width: "100%", "object-fit": "cover" }, attrs: { src: t.audioSrc, controls: "controls" } }) : t._e()])], 1) : t._e()]);
266
- }, S = [], k = /* @__PURE__ */ v(
267
- w,
268
- x,
269
- S,
270
- !1,
271
- null,
272
- null
273
- );
274
- const H = k.exports;
275
- export {
276
- H as default
277
- };
5
+ //#region src/components/chat/Chat.vue
6
+ var x = {
7
+ name: "Chat",
8
+ props: {
9
+ beforeOpen: Function,
10
+ tools: {
11
+ type: Object,
12
+ default: () => ({
13
+ img: !0,
14
+ video: !0,
15
+ file: !0
16
+ })
17
+ },
18
+ placeholder: {
19
+ type: String,
20
+ default: "请输入..."
21
+ },
22
+ width: {
23
+ type: [String, Number],
24
+ default: "100%"
25
+ },
26
+ height: {
27
+ type: [String, Number],
28
+ default: "520px"
29
+ },
30
+ modelValue: { type: String },
31
+ notice: {
32
+ type: Boolean,
33
+ default: !0
34
+ },
35
+ audio: {
36
+ type: Array,
37
+ default: () => [
38
+ "https://www.helloweba.net/demo/notifysound/notify.ogg",
39
+ "https://www.helloweba.net/demo/notifysound/notify.mp3",
40
+ "https://www.helloweba.net/demo/notifysound/notify.wav"
41
+ ]
42
+ },
43
+ config: {
44
+ type: Object,
45
+ default: () => ({})
46
+ },
47
+ keylist: {
48
+ type: Array,
49
+ default: () => []
50
+ },
51
+ list: {
52
+ type: Array,
53
+ default: () => []
54
+ }
55
+ },
56
+ emits: [
57
+ "update:modelValue",
58
+ "change",
59
+ "submit",
60
+ "keyadd",
61
+ "keysend"
62
+ ],
63
+ data() {
64
+ return {
65
+ upload: {
66
+ box: !1,
67
+ src: "",
68
+ type: "",
69
+ title: ""
70
+ },
71
+ visible: !1,
72
+ imgSrc: "",
73
+ videoSrc: "",
74
+ audioSrc: "",
75
+ keys: "",
76
+ show: !1
77
+ };
78
+ },
79
+ computed: {
80
+ msg: {
81
+ get() {
82
+ return this.modelValue;
83
+ },
84
+ set(e) {
85
+ this.$emit("update:modelValue", e), this.$emit("change", e);
86
+ }
87
+ },
88
+ heightStyleName() {
89
+ return { height: t(this.height) };
90
+ },
91
+ widthStyleName() {
92
+ return { width: t(this.width) };
93
+ },
94
+ msgActive() {
95
+ return this.msg.replace(/[\r\n]/g, "");
96
+ }
97
+ },
98
+ methods: {
99
+ uploadSubmit() {
100
+ this.$refs.form.validate((e) => {
101
+ e && (this.upload.box = !1, this.$emit("submit", this.getDetail(this.upload)));
102
+ });
103
+ },
104
+ handleUpload(e) {
105
+ this.upload.type = e, this.upload.src = "", e === "img" ? this.upload.title = "图片上传" : e === "video" ? this.upload.title = "视频上传" : e === "file" && (this.upload.title = "文件上传"), this.upload.box = !0;
106
+ },
107
+ handleClose(e) {
108
+ this.imgSrc = void 0, this.videoSrc = void 0, this.audioSrc = void 0, e();
109
+ },
110
+ addKey() {
111
+ this.keys !== "" && (this.$emit("keyadd", this.keys), this.keys = ""), this.visible = !1;
112
+ },
113
+ sendKey(e) {
114
+ this.$emit("keysend", e);
115
+ },
116
+ getAudio() {
117
+ this.$refs.chatAudio.play();
118
+ },
119
+ getNotification(e) {
120
+ let t = this, n = Notification || window.Notification;
121
+ if (n) {
122
+ let r = n.permission;
123
+ r === "granted" ? a() : r === "denied" ? console.log("用户拒绝了你!!!") : i();
124
+ function i() {
125
+ n.requestPermission((e) => {
126
+ e === "granted" ? a() : console.log("用户无情残忍的拒绝了你!!!");
127
+ });
128
+ }
129
+ function a() {
130
+ let n = new Notification(t.config.name, {
131
+ body: e,
132
+ icon: t.config.img
133
+ });
134
+ n.onshow = function() {
135
+ t.getAudio(), setTimeout(() => {
136
+ n.close();
137
+ }, 2500);
138
+ }, n.onclick = function() {
139
+ n.close();
140
+ };
141
+ }
142
+ }
143
+ },
144
+ pushMsg(e = {}) {
145
+ let t = e.mine === !0, n = e.text || {}, r = {
146
+ date: e.date || b(Date.now(), "YYYY-MM-DD HH:mm:ss"),
147
+ text: typeof n == "object" ? n : { text: n },
148
+ mine: t,
149
+ img: t ? this.config.myImg : this.config.img,
150
+ name: t ? this.config.myName : this.config.name
151
+ };
152
+ this.list.push(r), setTimeout(() => {
153
+ this.setScroll();
154
+ }, 50);
155
+ },
156
+ setScroll(e) {
157
+ this.$nextTick(() => {
158
+ this.$refs.main.scrollTop = e || this.$refs.main.scrollHeight;
159
+ });
160
+ },
161
+ handleSend() {
162
+ this.msgActive && this.$emit("submit");
163
+ },
164
+ handleItemMsg(e) {
165
+ this.$emit("submit", e.ask);
166
+ },
167
+ handleDetail(e = "") {
168
+ let t = e;
169
+ return setTimeout(() => {
170
+ (this.$refs.content || []).forEach((e) => {
171
+ for (let t = 0; t < e.children.length; t++) {
172
+ let n = e.children[t];
173
+ n.getAttribute("data-flag") !== "0" && (n.setAttribute("data-flag", 0), n.onclick = () => {
174
+ this.handleEvent(n.dataset);
175
+ }, n.tagName === "IMG" ? (n.className = "web__msg--img", n.src = n.getAttribute("data-src")) : n.tagName === "VIDEO" ? (n.className = "web__msg--video", n.src = n.getAttribute("data-src")) : n.tagName === "AUDIO" ? (n.className = "web__msg--audio", n.controls = "controls", n.src = n.getAttribute("data-src")) : n.tagName === "FILE" ? (n.className = "web__msg--file", n.innerHTML = `<h2>File</h2><span>${n.getAttribute("data-name")}</span>`) : n.tagName === "MAP" && (n.className = "web__msg--file web__msg--map", n.innerHTML = `<h2>Map</h2><span>${n.getAttribute("data-longitude")} , ${n.getAttribute("data-latitude")}<br />${n.getAttribute("data-address")}</span>`), this.setScroll());
176
+ }
177
+ });
178
+ }, 0), t;
179
+ },
180
+ getDetail(e = {}) {
181
+ let { type: t, src: n, name: r, longitude: i, latitude: a, address: o } = e;
182
+ if (t === "img") return `<img data-type="IMG" data-src="${n}" alt=""/>`;
183
+ if (t === "video") return `<video data-type="VIDEO" data-src="${n}"></video>`;
184
+ if (t === "audio") return `<audio data-type="AUDIO" data-src="${n}"></audio>`;
185
+ if (t === "file") return `<file data-type="FILE" data-name="${r}" data-src="${n}"></file>`;
186
+ if (t === "map") return `<map data-type="MAP" data-src="${n}" data-address="${o} " data-latitude="${a}" data-longitude="${i}"></map>`;
187
+ },
188
+ handleEvent(e) {
189
+ let t = () => {
190
+ e.type === "IMG" ? (this.imgSrc = e.src, this.show = !0) : e.type === "VIDEO" ? (this.videoSrc = e.src, this.show = !0) : e.type === "AUDIO" ? (this.audioSrc = e.src, this.show = !0) : e.type === "FILE" && window.open(e.src);
191
+ };
192
+ typeof this.beforeOpen == "function" ? this.beforeOpen(e, t) : t();
193
+ },
194
+ rootSendMsg(e) {
195
+ this.pushMsg({ text: e }), this.notice && this.getNotification(e.text || e);
196
+ }
197
+ }
198
+ }, S = { ref: "chatAudio" }, ee = ["src"], te = ["src"], C = ["src"], w = { class: "web__logo" }, T = ["src"], E = { class: "web__logo-info" }, D = { class: "web__logo-name" }, O = { class: "web__logo-dept" }, k = { class: "web__content" }, A = {
199
+ ref: "main",
200
+ class: "web__main"
201
+ }, j = { class: "web__main-user" }, M = ["src"], N = { class: "web__main-text" }, P = ["innerHTML"], F = {
202
+ key: 0,
203
+ class: "web__main-list"
204
+ }, I = ["onClick"], L = { class: "web__tools" }, ne = { class: "web__msg" }, R = ["placeholder"], z = { class: "web__msg-menu" }, B = { style: {
205
+ margin: "0",
206
+ "text-align": "right"
207
+ } }, V = { key: 0 }, H = { key: 1 }, U = ["src"], W = ["src"], G = ["src"];
208
+ function K(e, t, b, x, K, q) {
209
+ let J = m("ElInput"), Y = m("ElButton"), X = m("ElPopover"), Z = m("ElDropdownItem"), Q = m("ElTooltip"), re = m("ElScrollbar"), ie = m("ElDropdownMenu"), ae = m("ElDropdown"), oe = m("ElFormItem"), se = m("ElForm"), $ = m("ElementDialog");
210
+ return d(), a("div", {
211
+ class: "avue-chat",
212
+ style: u(q.heightStyleName),
213
+ onKeyup: t[11] || (t[11] = y((...e) => q.handleSend && q.handleSend(...e), ["enter"]))
214
+ }, [
215
+ o("audio", S, [
216
+ o("source", {
217
+ src: b.audio[0],
218
+ type: "audio/ogg"
219
+ }, null, 8, ee),
220
+ o("source", {
221
+ src: b.audio[1],
222
+ type: "audio/mpeg"
223
+ }, null, 8, te),
224
+ o("source", {
225
+ src: b.audio[2],
226
+ type: "audio/wav"
227
+ }, null, 8, C)
228
+ ], 512),
229
+ o("div", w, [
230
+ o("img", {
231
+ src: b.config.img,
232
+ class: "web__logo-img",
233
+ alt: ""
234
+ }, null, 8, T),
235
+ o("div", E, [o("p", D, h(b.config.name), 1), o("p", O, h(b.config.dept), 1)]),
236
+ p(e.$slots, "header")
237
+ ]),
238
+ o("div", k, [o("div", { style: u(q.widthStyleName) }, [o("div", A, [(d(!0), a(n, null, f(b.list, (e, r) => (d(), a("div", {
239
+ key: r,
240
+ class: l(["web__main-item", { "web__main-item--mine": e.mine }])
241
+ }, [o("div", j, [o("img", {
242
+ src: e.img,
243
+ alt: ""
244
+ }, null, 8, M), o("cite", null, [s(h(e.name) + " ", 1), o("i", null, h(e.date), 1)])]), o("div", N, [
245
+ t[12] || (t[12] = o("div", { class: "web__main-arrow" }, null, -1)),
246
+ o("span", {
247
+ ref_for: !0,
248
+ ref: "content",
249
+ innerHTML: q.handleDetail(e.text.text)
250
+ }, null, 8, P),
251
+ e.text.list ? i("v-if", !0) : (d(), a("ul", F, [(d(!0), a(n, null, f(e.text.list, (e, t) => (d(), a("li", {
252
+ key: t,
253
+ onClick: (t) => q.handleItemMsg(e)
254
+ }, h(e.text), 9, I))), 128))]))
255
+ ])], 2))), 128))], 512), o("div", {
256
+ class: "web__footer",
257
+ style: u(q.widthStyleName)
258
+ }, [o("div", L, [
259
+ b.tools.img ? (d(), a("i", {
260
+ key: 0,
261
+ class: "el-icon-picture-outline",
262
+ onClick: t[0] || (t[0] = (e) => q.handleUpload("img"))
263
+ })) : i("v-if", !0),
264
+ b.tools.video ? (d(), a("i", {
265
+ key: 1,
266
+ class: "el-icon-video-camera",
267
+ onClick: t[1] || (t[1] = (e) => q.handleUpload("video"))
268
+ })) : i("v-if", !0),
269
+ b.tools.file ? (d(), a("i", {
270
+ key: 2,
271
+ class: "el-icon-folder-opened",
272
+ onClick: t[2] || (t[2] = (e) => q.handleUpload("file"))
273
+ })) : i("v-if", !0)
274
+ ]), o("div", ne, [v(o("textarea", {
275
+ "onUpdate:modelValue": t[3] || (t[3] = (e) => q.msg = e),
276
+ rows: "2",
277
+ placeholder: b.placeholder,
278
+ class: "web__msg-input"
279
+ }, null, 8, R), [[g, q.msg]]), o("div", z, [c(ae, {
280
+ "split-button": "",
281
+ class: "web__msg-submit",
282
+ type: "primary",
283
+ size: "mini",
284
+ trigger: "click",
285
+ onClick: q.handleSend
286
+ }, {
287
+ dropdown: _(() => [c(ie, null, {
288
+ default: _(() => [c(Z, null, {
289
+ default: _(() => [c(X, {
290
+ modelValue: K.visible,
291
+ "onUpdate:modelValue": t[6] || (t[6] = (e) => K.visible = e),
292
+ placement: "top",
293
+ width: "160"
294
+ }, {
295
+ reference: _(() => [c(Y, {
296
+ type: "text",
297
+ icon: "el-icon-plus"
298
+ })]),
299
+ default: _(() => [c(J, {
300
+ modelValue: K.keys,
301
+ "onUpdate:modelValue": t[4] || (t[4] = (e) => K.keys = e),
302
+ size: "mini",
303
+ style: { "margin-bottom": "10px" },
304
+ rows: 3,
305
+ "show-word-limit": "",
306
+ maxlength: "100",
307
+ placeholder: "请输入快捷回复语",
308
+ type: "textarea"
309
+ }, null, 8, ["modelValue"]), o("div", B, [c(Y, {
310
+ size: "mini",
311
+ type: "text",
312
+ onClick: t[5] || (t[5] = (e) => K.visible = !1)
313
+ }, {
314
+ default: _(() => [...t[13] || (t[13] = [s(" 取消 ", -1)])]),
315
+ _: 1
316
+ }), c(Y, {
317
+ type: "primary",
318
+ size: "mini",
319
+ onClick: q.addKey
320
+ }, {
321
+ default: _(() => [...t[14] || (t[14] = [s(" 确定 ", -1)])]),
322
+ _: 1
323
+ }, 8, ["onClick"])])]),
324
+ _: 1
325
+ }, 8, ["modelValue"])]),
326
+ _: 1
327
+ }), c(re, { style: { height: "100px" } }, {
328
+ default: _(() => [(d(!0), a(n, null, f(b.keylist, (e, t) => (d(), r(Z, {
329
+ key: t,
330
+ onClick: (t) => q.sendKey(e)
331
+ }, {
332
+ default: _(() => [c(Q, {
333
+ effect: "dark",
334
+ content: e,
335
+ placement: "top"
336
+ }, {
337
+ default: _(() => [o("span", null, h(e.substr(0, 10)) + h(e.length > 10 ? "..." : ""), 1)]),
338
+ _: 2
339
+ }, 1032, ["content"])]),
340
+ _: 2
341
+ }, 1032, ["onClick"]))), 128))]),
342
+ _: 1
343
+ })]),
344
+ _: 1
345
+ })]),
346
+ default: _(() => [t[15] || (t[15] = s(" 发送 ", -1))]),
347
+ _: 1
348
+ }, 8, ["onClick"])])])], 4)], 4), p(e.$slots, "default")]),
349
+ K.upload.box ? (d(), a("div", V, [c($, {
350
+ visible: K.upload.box,
351
+ "onUpdate:visible": t[9] || (t[9] = (e) => K.upload.box = e),
352
+ title: K.upload.title,
353
+ "body-padding": !1,
354
+ width: "30%"
355
+ }, {
356
+ footer: _(() => [c(Y, {
357
+ size: "small",
358
+ onClick: t[8] || (t[8] = (e) => K.upload.box = !1)
359
+ }, {
360
+ default: _(() => [...t[16] || (t[16] = [s("取 消", -1)])]),
361
+ _: 1
362
+ }), c(Y, {
363
+ type: "primary",
364
+ size: "small",
365
+ onClick: q.uploadSubmit
366
+ }, {
367
+ default: _(() => [...t[17] || (t[17] = [s("确 定", -1)])]),
368
+ _: 1
369
+ }, 8, ["onClick"])]),
370
+ default: _(() => [c(se, {
371
+ ref: "form",
372
+ model: K.upload
373
+ }, {
374
+ default: _(() => [c(oe, {
375
+ prop: "src",
376
+ rules: [{
377
+ required: !0,
378
+ message: "地址不能为空"
379
+ }]
380
+ }, {
381
+ default: _(() => [c(J, {
382
+ modelValue: K.upload.src,
383
+ "onUpdate:modelValue": t[7] || (t[7] = (e) => K.upload.src = e),
384
+ size: "mini",
385
+ style: { "margin-bottom": "10px" },
386
+ rows: 4,
387
+ "show-word-limit": "",
388
+ maxlength: "100",
389
+ placeholder: "请输入地址",
390
+ type: "textarea"
391
+ }, null, 8, ["modelValue"])]),
392
+ _: 1
393
+ })]),
394
+ _: 1
395
+ }, 8, ["model"])]),
396
+ _: 1
397
+ }, 8, ["visible", "title"])])) : i("v-if", !0),
398
+ K.show ? (d(), a("div", H, [c($, {
399
+ visible: K.show,
400
+ "onUpdate:visible": t[10] || (t[10] = (e) => K.show = e),
401
+ "body-padding": !1,
402
+ title: "预览",
403
+ width: "40%",
404
+ "before-close": q.handleClose,
405
+ class: "web__dialog"
406
+ }, {
407
+ default: _(() => [
408
+ K.imgSrc ? (d(), a("img", {
409
+ key: 0,
410
+ src: K.imgSrc,
411
+ style: {
412
+ width: "100%",
413
+ "object-fit": "cover"
414
+ }
415
+ }, null, 8, U)) : i("v-if", !0),
416
+ K.videoSrc ? (d(), a("video", {
417
+ key: 1,
418
+ src: K.videoSrc,
419
+ style: {
420
+ width: "100%",
421
+ "object-fit": "cover"
422
+ },
423
+ controls: "controls"
424
+ }, null, 8, W)) : i("v-if", !0),
425
+ K.audioSrc ? (d(), a("audio", {
426
+ key: 2,
427
+ src: K.audioSrc,
428
+ style: {
429
+ width: "100%",
430
+ "object-fit": "cover"
431
+ },
432
+ controls: "controls"
433
+ }, null, 8, G)) : i("v-if", !0)
434
+ ]),
435
+ _: 1
436
+ }, 8, ["visible", "before-close"])])) : i("v-if", !0)
437
+ ], 36);
438
+ }
439
+ var q = /* @__PURE__ */ e(x, [["render", K]]);
440
+ //#endregion
441
+ export { q as default };