cnhis-design-vue 3.2.4-beta.5 → 3.2.4-beta.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (225) hide show
  1. package/README.md +87 -87
  2. package/es/components/biunique-chat/index.d.ts +2 -0
  3. package/es/components/biunique-chat/src/Index.vue.d.ts +2 -0
  4. package/es/components/biunique-chat/src/components/ChatFooter.vue2.js +1 -1
  5. package/es/components/biunique-chat/src/components/ChatHeader.vue2.js +1 -1
  6. package/es/components/biunique-chat/src/components/ChatSearch.vue.d.ts +2 -0
  7. package/es/components/biunique-chat/src/components/ChatSearch.vue2.js +1 -1
  8. package/es/components/biunique-chat/src/components/ChatSet.vue2.js +1 -1
  9. package/es/components/biunique-chat/src/components/MessageTemplate.vue2.js +1 -1
  10. package/es/components/biunique-chat/src/components/SiderList.vue2.js +1 -1
  11. package/es/components/biunique-chat/style/index.css +1 -1
  12. package/es/components/bpmn-workflow/src/BpmnWorkflow.d.ts +0 -0
  13. package/es/components/bpmn-workflow/types/BpmnViewer.d.ts +1 -0
  14. package/es/components/bpmn-workflow/types/ModelingModule.d.ts +1 -0
  15. package/es/components/bpmn-workflow/types/MoveCanvasModule.d.ts +1 -0
  16. package/es/components/classification/src/components/table-modal/index.vue.d.ts +0 -3
  17. package/es/components/classification/src/index.vue.d.ts +3 -3
  18. package/es/components/form-config/index.d.ts +7 -0
  19. package/es/components/form-config/src/FormConfig.vue.d.ts +7 -0
  20. package/es/components/form-config/src/components/FormConfigEdit.vue.d.ts +3 -0
  21. package/es/components/form-render/src/components/renderer/formItem.js +1 -1
  22. package/es/components/form-render/src/types/fieldItem.d.ts +1 -0
  23. package/es/components/index.css +1 -1
  24. package/es/components/scale-view/src/ScaleView.vue2.js +1 -1
  25. package/es/components/search-cascader/src/SearchCascader.vue2.js +1 -1
  26. package/es/components/select-label/src/LabelFormContent.vue2.js +1 -1
  27. package/es/components/select-person/src/SearchMultiple.vue.d.ts +0 -6
  28. package/es/components/shortcut-setter/index.d.ts +1 -0
  29. package/es/components/shortcut-setter/src/ShortcutSetter.vue.d.ts +1 -0
  30. package/es/env.d.ts +25 -25
  31. package/es/shared/assets/img/defaultCover/10review_successful.png.js +1 -1
  32. package/es/shared/assets/img/defaultCover/11review_fail.png.js +1 -1
  33. package/es/shared/assets/img/defaultCover/12no_setting.png.js +1 -1
  34. package/es/shared/assets/img/defaultCover/1location.png.js +1 -1
  35. package/es/shared/assets/img/defaultCover/2notfound.png.js +1 -1
  36. package/es/shared/assets/img/defaultCover/3loading.png.js +1 -1
  37. package/es/shared/assets/img/defaultCover/4no_permission.png.js +1 -1
  38. package/es/shared/assets/img/defaultCover/5no_data.png.js +1 -1
  39. package/es/shared/assets/img/defaultCover/6no_network.png.js +1 -1
  40. package/es/shared/assets/img/defaultCover/7no_doctor.png.js +1 -1
  41. package/es/shared/assets/img/defaultCover/8system_error.png.js +1 -1
  42. package/es/shared/assets/img/defaultCover/9system_upgrade.png.js +1 -1
  43. package/es/shared/assets/img/emoji/emotion_001.png.js +1 -1
  44. package/es/shared/assets/img/emoji/emotion_002.png.js +1 -1
  45. package/es/shared/assets/img/emoji/emotion_003.png.js +1 -1
  46. package/es/shared/assets/img/emoji/emotion_004.png.js +1 -1
  47. package/es/shared/assets/img/emoji/emotion_005.png.js +1 -1
  48. package/es/shared/assets/img/emoji/emotion_006.png.js +1 -1
  49. package/es/shared/assets/img/emoji/emotion_007.png.js +1 -1
  50. package/es/shared/assets/img/emoji/emotion_008.png.js +1 -1
  51. package/es/shared/assets/img/emoji/emotion_009.png.js +1 -1
  52. package/es/shared/assets/img/emoji/emotion_010.png.js +1 -1
  53. package/es/shared/assets/img/emoji/emotion_011.png.js +1 -1
  54. package/es/shared/assets/img/emoji/emotion_012.png.js +1 -1
  55. package/es/shared/assets/img/emoji/emotion_013.png.js +1 -1
  56. package/es/shared/assets/img/emoji/emotion_014.png.js +1 -1
  57. package/es/shared/assets/img/emoji/emotion_015.png.js +1 -1
  58. package/es/shared/assets/img/emoji/emotion_016.png.js +1 -1
  59. package/es/shared/assets/img/emoji/emotion_017.png.js +1 -1
  60. package/es/shared/assets/img/emoji/emotion_018.png.js +1 -1
  61. package/es/shared/assets/img/emoji/emotion_019.png.js +1 -1
  62. package/es/shared/assets/img/emoji/emotion_020.png.js +1 -1
  63. package/es/shared/assets/img/emoji/emotion_021.png.js +1 -1
  64. package/es/shared/assets/img/emoji/emotion_022.png.js +1 -1
  65. package/es/shared/assets/img/emoji/emotion_023.png.js +1 -1
  66. package/es/shared/assets/img/emoji/emotion_024.png.js +1 -1
  67. package/es/shared/assets/img/emoji/emotion_025.png.js +1 -1
  68. package/es/shared/assets/img/emoji/emotion_026.png.js +1 -1
  69. package/es/shared/assets/img/emoji/emotion_027.png.js +1 -1
  70. package/es/shared/assets/img/emoji/emotion_028.png.js +1 -1
  71. package/es/shared/assets/img/emoji/emotion_029.png.js +1 -1
  72. package/es/shared/assets/img/emoji/emotion_030.png.js +1 -1
  73. package/es/shared/assets/img/emoji/emotion_031.png.js +1 -1
  74. package/es/shared/assets/img/emoji/emotion_032.png.js +1 -1
  75. package/es/shared/assets/img/emoji/emotion_033.png.js +1 -1
  76. package/es/shared/assets/img/emoji/emotion_034.png.js +1 -1
  77. package/es/shared/assets/img/emoji/emotion_035.png.js +1 -1
  78. package/es/shared/assets/img/emoji/emotion_036.png.js +1 -1
  79. package/es/shared/assets/img/emoji/emotion_037.png.js +1 -1
  80. package/es/shared/assets/img/emoji/emotion_038.png.js +1 -1
  81. package/es/shared/assets/img/emoji/emotion_039.png.js +1 -1
  82. package/es/shared/assets/img/emoji/emotion_040.png.js +1 -1
  83. package/es/shared/assets/img/emoji/emotion_041.png.js +1 -1
  84. package/es/shared/assets/img/emoji/emotion_042.png.js +1 -1
  85. package/es/shared/assets/img/emoji/emotion_043.png.js +1 -1
  86. package/es/shared/assets/img/emoji/emotion_044.png.js +1 -1
  87. package/es/shared/assets/img/emoji/emotion_045.png.js +1 -1
  88. package/es/shared/assets/img/emoji/emotion_046.png.js +1 -1
  89. package/es/shared/assets/img/emoji/emotion_047.png.js +1 -1
  90. package/es/shared/assets/img/emoji/emotion_048.png.js +1 -1
  91. package/es/shared/assets/img/emoji/emotion_049.png.js +1 -1
  92. package/es/shared/assets/img/emoji/emotion_050.png.js +1 -1
  93. package/es/shared/assets/img/emoji/emotion_051.png.js +1 -1
  94. package/es/shared/assets/img/emoji/emotion_052.png.js +1 -1
  95. package/es/shared/assets/img/emoji/emotion_053.png.js +1 -1
  96. package/es/shared/assets/img/emoji/emotion_054.png.js +1 -1
  97. package/es/shared/assets/img/emoji/emotion_055.png.js +1 -1
  98. package/es/shared/assets/img/emoji/emotion_056.png.js +1 -1
  99. package/es/shared/assets/img/emoji/emotion_057.png.js +1 -1
  100. package/es/shared/assets/img/emoji/emotion_058.png.js +1 -1
  101. package/es/shared/assets/img/emoji/emotion_059.png.js +1 -1
  102. package/es/shared/assets/img/emoji/emotion_060.png.js +1 -1
  103. package/es/shared/assets/img/emoji/emotion_061.png.js +1 -1
  104. package/es/shared/assets/img/emoji/emotion_062.png.js +1 -1
  105. package/es/shared/assets/img/emoji/emotion_063.png.js +1 -1
  106. package/es/shared/assets/img/emoji/emotion_064.png.js +1 -1
  107. package/es/shared/assets/img/emoji/emotion_065.png.js +1 -1
  108. package/es/shared/assets/img/emoji/emotion_066.png.js +1 -1
  109. package/es/shared/assets/img/emoji/emotion_067.png.js +1 -1
  110. package/es/shared/assets/img/emoji/emotion_068.png.js +1 -1
  111. package/es/shared/assets/img/emoji/emotion_069.png.js +1 -1
  112. package/es/shared/assets/img/emoji/emotion_070.png.js +1 -1
  113. package/es/shared/assets/img/emoji/emotion_071.png.js +1 -1
  114. package/es/shared/assets/img/emoji/emotion_072.png.js +1 -1
  115. package/es/shared/assets/img/emoji/emotion_073.png.js +1 -1
  116. package/es/shared/assets/img/emoji/emotion_074.png.js +1 -1
  117. package/es/shared/assets/img/emoji/emotion_075.png.js +1 -1
  118. package/es/shared/assets/img/emoji/emotion_076.png.js +1 -1
  119. package/es/shared/assets/img/emoji/emotion_077.png.js +1 -1
  120. package/es/shared/assets/img/emoji/emotion_078.png.js +1 -1
  121. package/es/shared/assets/img/emoji/emotion_079.png.js +1 -1
  122. package/es/shared/assets/img/emoji/emotion_080.png.js +1 -1
  123. package/es/shared/assets/img/emoji/emotion_081.png.js +1 -1
  124. package/es/shared/assets/img/emoji/emotion_082.png.js +1 -1
  125. package/es/shared/assets/img/emoji/emotion_083.png.js +1 -1
  126. package/es/shared/assets/img/emoji/emotion_084.png.js +1 -1
  127. package/es/shared/assets/img/emoji/emotion_085.png.js +1 -1
  128. package/es/shared/assets/img/emoji/emotion_086.png.js +1 -1
  129. package/es/shared/assets/img/emoji/emotion_087.png.js +1 -1
  130. package/es/shared/assets/img/emoji/emotion_088.png.js +1 -1
  131. package/es/shared/assets/img/emoji/emotion_089.png.js +1 -1
  132. package/es/shared/assets/img/emoji/emotion_090.png.js +1 -1
  133. package/es/shared/assets/img/emoji/emotion_091.png.js +1 -1
  134. package/es/shared/assets/img/emoji/emotion_092.png.js +1 -1
  135. package/es/shared/assets/img/emoji/emotion_093.png.js +1 -1
  136. package/es/shared/assets/img/emoji/emotion_094.png.js +1 -1
  137. package/es/shared/assets/img/emoji/emotion_095.png.js +1 -1
  138. package/es/shared/assets/img/emoji/emotion_096.png.js +1 -1
  139. package/es/shared/assets/img/emoji/emotion_097.png.js +1 -1
  140. package/es/shared/assets/img/emoji/emotion_098.png.js +1 -1
  141. package/es/shared/assets/img/emoji/emotion_099.png.js +1 -1
  142. package/es/shared/assets/img/emoji/emotion_100.png.js +1 -1
  143. package/es/shared/assets/img/emoji/emotion_101.png.js +1 -1
  144. package/es/shared/assets/img/emoji/emotion_102.png.js +1 -1
  145. package/es/shared/assets/img/emoji/emotion_103.png.js +1 -1
  146. package/es/shared/assets/img/emoji/emotion_104.png.js +1 -1
  147. package/es/shared/assets/img/emoji/emotion_105.png.js +1 -1
  148. package/es/shared/assets/img/emoji/emotion_106.png.js +1 -1
  149. package/es/shared/assets/img/emoji/emotion_107.png.js +1 -1
  150. package/es/shared/assets/img/emoji/emotion_108.png.js +1 -1
  151. package/es/shared/assets/img/emoji/emotion_109.png.js +1 -1
  152. package/es/shared/assets/img/emoji/emotion_110.png.js +1 -1
  153. package/es/shared/assets/img/emoji/emotion_111.png.js +1 -1
  154. package/es/shared/assets/img/emoji/emotion_112.png.js +1 -1
  155. package/es/shared/assets/img/emoji/emotion_113.png.js +1 -1
  156. package/es/shared/assets/img/emoji/emotion_114.png.js +1 -1
  157. package/es/shared/assets/img/emoji/emotion_115.png.js +1 -1
  158. package/es/shared/assets/img/emoji/emotion_116.png.js +1 -1
  159. package/es/shared/assets/img/emoji/emotion_117.png.js +1 -1
  160. package/es/shared/assets/img/emoji/emotion_118.png.js +1 -1
  161. package/es/shared/assets/img/emoji/emotion_119.png.js +1 -1
  162. package/es/shared/assets/img/emoji/emotion_120.png.js +1 -1
  163. package/es/shared/assets/img/emoji/emotion_121.png.js +1 -1
  164. package/es/shared/assets/img/emoji/emotion_122.png.js +1 -1
  165. package/es/shared/assets/img/emoji/emotion_123.png.js +1 -1
  166. package/es/shared/assets/img/emoji/emotion_124.png.js +1 -1
  167. package/es/shared/assets/img/emoji/emotion_125.png.js +1 -1
  168. package/es/shared/assets/img/emoji/emotion_126.png.js +1 -1
  169. package/es/shared/assets/img/emoji/emotion_127.png.js +1 -1
  170. package/es/shared/assets/img/emoji/emotion_128.png.js +1 -1
  171. package/es/shared/assets/img/emoji/emotion_129.png.js +1 -1
  172. package/es/shared/assets/img/emoji/emotion_130.png.js +1 -1
  173. package/es/shared/assets/img/emoji/emotion_131.png.js +1 -1
  174. package/es/shared/assets/img/emoji/emotion_132.png.js +1 -1
  175. package/es/shared/assets/img/emoji/emotion_133.png.js +1 -1
  176. package/es/shared/assets/img/emoji/emotion_134.png.js +1 -1
  177. package/es/shared/assets/img/emoji/emotion_135.png.js +1 -1
  178. package/es/shared/assets/img/emoji/emotion_136.png.js +1 -1
  179. package/es/shared/assets/img/emoji/emotion_137.png.js +1 -1
  180. package/es/shared/assets/img/emoji/emotion_138.png.js +1 -1
  181. package/es/shared/assets/img/emoji/emotion_139.png.js +1 -1
  182. package/es/shared/assets/img/emoji/emotion_140.png.js +1 -1
  183. package/es/shared/assets/img/emoji/emotion_141.png.js +1 -1
  184. package/es/shared/assets/img/emoji/emotion_142.png.js +1 -1
  185. package/es/shared/assets/img/emoji/emotion_143.png.js +1 -1
  186. package/es/shared/assets/img/emoji/emotion_144.png.js +1 -1
  187. package/es/shared/assets/img/emoji/emotion_145.png.js +1 -1
  188. package/es/shared/assets/img/emoji/emotion_146.png.js +1 -1
  189. package/es/shared/assets/img/emoji/emotion_147.png.js +1 -1
  190. package/es/shared/assets/img/emoji/emotion_148.png.js +1 -1
  191. package/es/shared/assets/img/emoji/emotion_149.png.js +1 -1
  192. package/es/shared/assets/img/emoji/emotion_150.png.js +1 -1
  193. package/es/shared/assets/img/emoji/emotion_151.png.js +1 -1
  194. package/es/shared/assets/img/emoji/emotion_152.png.js +1 -1
  195. package/es/shared/assets/img/emoji/emotion_153.png.js +1 -1
  196. package/es/shared/assets/img/emoji/emotion_154.png.js +1 -1
  197. package/es/shared/assets/img/emoji/emotion_155.png.js +1 -1
  198. package/es/shared/assets/img/emoji/emotion_156.png.js +1 -1
  199. package/es/shared/assets/img/emoji/emotion_157.png.js +1 -1
  200. package/es/shared/assets/img/emoji/emotion_158.png.js +1 -1
  201. package/es/shared/assets/img/emoji/emotion_159.png.js +1 -1
  202. package/es/shared/assets/img/emoji/emotion_160.png.js +1 -1
  203. package/es/shared/assets/img/emoji/emotion_161.png.js +1 -1
  204. package/es/shared/assets/img/emoji/emotion_162.png.js +1 -1
  205. package/es/shared/assets/img/emoji/emotion_163.png.js +1 -1
  206. package/es/shared/assets/img/emoji/emotion_164.png.js +1 -1
  207. package/es/shared/assets/img/emoji/emotion_165.png.js +1 -1
  208. package/es/shared/assets/img/emoji/emotion_166.png.js +1 -1
  209. package/es/shared/assets/img/emoji/emotion_167.png.js +1 -1
  210. package/es/shared/assets/img/failure.png.js +1 -1
  211. package/es/shared/assets/img/no-permission.png.js +1 -1
  212. package/es/shared/assets/img/nodata.png.js +1 -1
  213. package/es/shared/assets/img/notfound.png.js +1 -1
  214. package/es/shared/assets/img/qr.png.js +1 -1
  215. package/es/shared/assets/img/success.png.js +1 -1
  216. package/es/shared/assets/img/table_style_2.png.js +1 -1
  217. package/es/shared/assets/img/video.png.js +1 -1
  218. package/es/shared/assets/img/video_default_cover.png.js +1 -1
  219. package/es/shared/assets/img/xb_big.png.js +1 -1
  220. package/es/shared/assets/img/xb_small.png.js +1 -1
  221. package/es/shared/components/VueDraggable/src/vuedraggable.d.ts +86 -0
  222. package/es/shared/package.json.js +1 -1
  223. package/es/shared/utils/fabricjs/index.d.ts +6823 -0
  224. package/es/shared/utils/tapable/index.d.ts +139 -0
  225. package/package.json +2 -2
package/README.md CHANGED
@@ -1,87 +1,87 @@
1
- # 安装
2
-
3
- ```shell
4
- npm i cnhis-design-vue@[版本号]
5
- # or
6
- yarn add cnhis-design-vue@[版本号] #推荐
7
- ```
8
-
9
- ## 1.全局引入
10
-
11
- ```typescript
12
- // main.ts
13
- import { createApp } from 'vue';
14
- import App from './App.vue';
15
- import 'cnhis-design-vue/es/packages/index.css';
16
- import cui from 'cnhis-design-vue';
17
-
18
- const app = createApp(App);
19
- app.use(cui).mount('#app');
20
- ```
21
-
22
- ## 2. 按需引入
23
-
24
- 组件现在支持了自动按需引入, 但是样式文件需要额外的处理
25
-
26
- ### 2.1 样式处理方式1 (按需引入样式)
27
-
28
- ```shell
29
- # 安装自动导入样式的插件
30
- npm i -d vite-plugin-style-import
31
- ```
32
-
33
- ```typescript
34
- // vite.config.ts
35
- import { defineConfig } from 'vite';
36
- import { createStyleImportPlugin } from 'vite-plugin-style-import';
37
-
38
- export default defineConfig({
39
- plugins: [
40
- // ...otherPlugins
41
- createStyleImportPlugin({
42
- libs: [
43
- {
44
- libraryName: 'cnhis-design-vue',
45
- esModule: true,
46
- ensureStyleFile: true,
47
- resolveStyle: name => {
48
- return `cnhis-design-vue/es/components/${ name.slice(2) }/style/index.css`;
49
- }
50
- }
51
- ]
52
- })
53
- ]
54
- });
55
- ```
56
-
57
- ### 2.2 样式处理方式2 (全局引入样式)
58
-
59
- ```typescript
60
- // main.ts
61
- import 'cnhis-design-vue/es/components/index.css';
62
- ```
63
-
64
- ## 3.FAQ
65
-
66
- ### 3.1 项目打包后样式丢失
67
-
68
- 处理方法, 将 cnhis-design-vue 从 vendor 包中移除 (没有出现此问题则不需要)
69
-
70
- ```typescript
71
- // vite.config.ts
72
- import { defineConfig } from 'vite';
73
-
74
- export default defineConfig({
75
- build: {
76
- rollupOptions: {
77
- // ..otherOptions
78
- output: {
79
- dir: './dist',
80
- manualChunks: {
81
- 'cnhis-vendor': ['cnhis-design-vue']
82
- }
83
- }
84
- }
85
- }
86
- });
87
- ```
1
+ # 安装
2
+
3
+ ```shell
4
+ npm i cnhis-design-vue@[版本号]
5
+ # or
6
+ yarn add cnhis-design-vue@[版本号] #推荐
7
+ ```
8
+
9
+ ## 1.全局引入
10
+
11
+ ```typescript
12
+ // main.ts
13
+ import { createApp } from 'vue';
14
+ import App from './App.vue';
15
+ import 'cnhis-design-vue/es/packages/index.css';
16
+ import cui from 'cnhis-design-vue';
17
+
18
+ const app = createApp(App);
19
+ app.use(cui).mount('#app');
20
+ ```
21
+
22
+ ## 2. 按需引入
23
+
24
+ 组件现在支持了自动按需引入, 但是样式文件需要额外的处理
25
+
26
+ ### 2.1 样式处理方式1 (按需引入样式)
27
+
28
+ ```shell
29
+ # 安装自动导入样式的插件
30
+ npm i -d vite-plugin-style-import
31
+ ```
32
+
33
+ ```typescript
34
+ // vite.config.ts
35
+ import { defineConfig } from 'vite';
36
+ import { createStyleImportPlugin } from 'vite-plugin-style-import';
37
+
38
+ export default defineConfig({
39
+ plugins: [
40
+ // ...otherPlugins
41
+ createStyleImportPlugin({
42
+ libs: [
43
+ {
44
+ libraryName: 'cnhis-design-vue',
45
+ esModule: true,
46
+ ensureStyleFile: true,
47
+ resolveStyle: name => {
48
+ return `cnhis-design-vue/es/components/${ name.slice(2) }/style/index.css`;
49
+ }
50
+ }
51
+ ]
52
+ })
53
+ ]
54
+ });
55
+ ```
56
+
57
+ ### 2.2 样式处理方式2 (全局引入样式)
58
+
59
+ ```typescript
60
+ // main.ts
61
+ import 'cnhis-design-vue/es/components/index.css';
62
+ ```
63
+
64
+ ## 3.FAQ
65
+
66
+ ### 3.1 项目打包后样式丢失
67
+
68
+ 处理方法, 将 cnhis-design-vue 从 vendor 包中移除 (没有出现此问题则不需要)
69
+
70
+ ```typescript
71
+ // vite.config.ts
72
+ import { defineConfig } from 'vite';
73
+
74
+ export default defineConfig({
75
+ build: {
76
+ rollupOptions: {
77
+ // ..otherOptions
78
+ output: {
79
+ dir: './dist',
80
+ manualChunks: {
81
+ 'cnhis-vendor': ['cnhis-design-vue']
82
+ }
83
+ }
84
+ }
85
+ }
86
+ });
87
+ ```
@@ -1569,12 +1569,14 @@ declare const BiuniqueChat: SFCWithInstall<import("vue").DefineComponent<{
1569
1569
  MESSAGE_TYPE: typeof import("./src/constants").MESSAGE_TYPE;
1570
1570
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
1571
1571
  ChatSearch: import("vue").DefineComponent<{}, {
1572
+ cssVars: import("vue").ComputedRef<import("vue").CSSProperties>;
1572
1573
  inputRef: import("vue").Ref<any>;
1573
1574
  showSearch: import("vue").Ref<boolean>;
1574
1575
  keyword: import("vue").Ref<any>;
1575
1576
  userList: import("vue").Ref<any>;
1576
1577
  state: import("./src/types").IState;
1577
1578
  openSession: (item: import("../../shared/types").AnyObject) => void;
1579
+ handleInput: () => Promise<void>;
1578
1580
  handleSearch: () => Promise<void>;
1579
1581
  addSession: (userId: string) => Promise<void>;
1580
1582
  NPopover: any;
@@ -1572,12 +1572,14 @@ declare const _default: import("vue").DefineComponent<{
1572
1572
  MESSAGE_TYPE: typeof import("./constants").MESSAGE_TYPE;
1573
1573
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
1574
1574
  ChatSearch: import("vue").DefineComponent<{}, {
1575
+ cssVars: import("vue").ComputedRef<import("vue").CSSProperties>;
1575
1576
  inputRef: import("vue").Ref<any>;
1576
1577
  showSearch: import("vue").Ref<boolean>;
1577
1578
  keyword: import("vue").Ref<any>;
1578
1579
  userList: import("vue").Ref<any>;
1579
1580
  state: IState;
1580
1581
  openSession: (item: AnyObject) => void;
1582
+ handleInput: () => Promise<void>;
1581
1583
  handleSearch: () => Promise<void>;
1582
1584
  addSession: (userId: string) => Promise<void>;
1583
1585
  NPopover: any;
@@ -1 +1 @@
1
- import{defineComponent as t,ref as e,withDirectives as n,openBlock as s,createElementBlock as i,normalizeStyle as a,unref as o,createElementVNode as l,createVNode as r,withCtx as c,createCommentVNode as u,Fragment as d,renderList as f,createBlock as p,createTextVNode as m,toDisplayString as g,vShow as h}from"vue";import{NPopover as v,NTooltip as y,NUpload as M,NUploadTrigger as k,NButton as x}from"naive-ui";import{format as C}from"date-fns";import{useState as T}from"../hooks/useState.js";import{useSession as b}from"../hooks/useSession.js";import{images as w,alt as E}from"../utils/emoji.js";import{MESSAGE_TYPE as I}from"../constants/index.js";import{uploadFileApi as _}from"../api/index.js";const S={class:"tool-box"},j=l("span",null,[l("i",{class:"chat--iconfont chat--icon-face"})],-1),L={class:"emoji-box"},F=l("span",null,"默认表情",-1),K={class:"list-box"},D=["onClick"],H=["src"],J=[l("i",{class:"chat--iconfont chat--icon-good"},null,-1)],N=["onClick"],O=[l("i",{class:"chat--iconfont chat--icon-image"},null,-1)],A=["onClick"],G=[l("i",{class:"chat--iconfont chat--icon-folder"},null,-1)],U={class:"btn-box"},X=l("span",{class:"tip"},"Enter 发送, Shift + Enter 换行",-1);var z=t({__name:"ChatFooter",setup(t){const z=e(),B=e(""),{state:R,stompClient:q}=T(),{setCurrentSessionItem:P}=b(R),Q=e(!1);function V(t){["Enter"].includes(t.key)&&(function(t){return t.altKey||t.ctrlKey||t.metaKey||t.shiftKey}(t)||(t.preventDefault(),Z()))}function W(){var t,e;B.value=(null==(e=null==(t=z.value)?void 0:t.innerText)?void 0:e.trim())||""}async function Y(t,e){const{file:n,name:s}=t.file,i=new FormData;i.append("sender",R.userInfo.id),i.append("file",n);const a=await _(i);if(!a)return console.log("上传失败");$({chatMessageType:e,msg:e===I.FILE?s:a,url:a})}function Z(){if(!(B.value.length>2e3))return B.value?void $({msg:B.value}):console.log("请输入内容");console.log("请控制在2000字以内")}async function $(t){const{chatMessageType:e=I.TEXT,msg:n,url:s}=t,i={msg:n,chatMessageType:e};e===I.FILE&&(i.fileUrl=s),[I.TEXT,I.BLEND].includes(e)&&(z.value.innerHTML="",B.value="");const a=C(new Date,"yyyy-MM-dd HH:mm:ss");R.currentMsg={content:i,sender:R.userInfo.id,id:"",sendTime:a,sending:!0,fail:!1},R.isAppendMsg=!0,P({lastMessageSendTime:a,lastMessage:i,sortTime:a});try{q.value.send("/app/chat/send",{},JSON.stringify({chatType:"SINGLE",content:i,receiver:R.currentSessionItem.receiver})),R.currentMsg={...R.currentMsg,fail:!1}}catch(t){R.currentMsg={...R.currentMsg,fail:!0}}finally{R.currentMsg={...R.currentMsg,sending:!1}}}return(t,e)=>n((s(),i("section",{class:"chat-footer",style:a({cursor:o(R).id?"default":"not-allowed"})},[l("div",S,[r(o(v),{show:Q.value,"onUpdate:show":e[0]||(e[0]=t=>Q.value=t),placement:"top",trigger:"click","show-arrow":!1,"display-directive":"show",delay:0},{trigger:c((()=>[j])),default:c((()=>[l("div",L,[u(' <span>最近使用</span>\r\n\t\t\t\t\t<div class="list-box">\r\n\t\t\t\t\t\t<template v-for="(img, index) in images" :key="index">\r\n\t\t\t\t\t\t\t<i>\r\n\t\t\t\t\t\t\t\t<img :src="img" />\r\n\t\t\t\t\t\t\t</i>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</div> '),F,l("div",K,[(s(!0),i(d,null,f(o(w),((t,e)=>(s(),i(d,{key:e},[e>0?(s(),p(o(y),{key:0,"show-arrow":!1,trigger:"hover"},{trigger:c((()=>[l("i",{onClick:()=>function(t){Q.value=!1,$({chatMessageType:I.EMOJI,msg:t})}(e)},[l("img",{src:t},null,8,H)],8,D)])),default:c((()=>[m(" "+g(o(E)[e-1]||"微笑"),1)])),_:2},1024)):u("v-if",!0)],64)))),128))])])])),_:1},8,["show"]),l("span",{onClick:e[1]||(e[1]=()=>$({chatMessageType:o(I).EMOJI,msg:0}))},J),r(o(M),{abstract:"",multiple:"",accept:"image/*",onChange:e[2]||(e[2]=t=>Y(t,o(I).IMAGE))},{default:c((()=>[r(o(k),{abstract:""},{default:c((({handleClick:t})=>[l("span",{onClick:t},O,8,N)])),_:1})])),_:1}),r(o(M),{abstract:"",multiple:"",accept:"video/*,.pdf,.doc.docx,,.zip,.xlsx,.txt",onChange:e[3]||(e[3]=t=>Y(t,o(I).FILE))},{default:c((()=>[r(o(k),{abstract:""},{default:c((({handleClick:t})=>[l("span",{onClick:t},G,8,A)])),_:1})])),_:1})]),n(l("div",{ref_key:"inputRef",ref:z,class:"input-box",contenteditable:"",onKeydown:V,onInput:W},null,544),[[h,o(R).id]]),l("div",U,[X,r(o(x),{type:"primary",round:"",disabled:!B.value,onClick:Z},{default:c((()=>[m("发送")])),_:1},8,["disabled"])])],4)),[[h,o(R).id]])}});export{z as default};
1
+ import{defineComponent as t,ref as e,withDirectives as n,openBlock as s,createElementBlock as i,normalizeStyle as a,unref as o,createElementVNode as l,createVNode as c,withCtx as r,createCommentVNode as u,Fragment as d,renderList as f,createBlock as p,createTextVNode as m,toDisplayString as g,vShow as h}from"vue";import{NPopover as v,NTooltip as y,NUpload as M,NUploadTrigger as k,NButton as x}from"naive-ui";import{format as C}from"date-fns";import{useState as T}from"../hooks/useState.js";import{useSession as b}from"../hooks/useSession.js";import{images as w,alt as E}from"../utils/emoji.js";import{MESSAGE_TYPE as I}from"../constants/index.js";import{uploadFileApi as _}from"../api/index.js";const S={class:"tool-box"},j=l("span",null,[l("i",{class:"chat--iconfont chat--icon-face"})],-1),L={class:"emoji-box"},F=l("span",null,"默认表情",-1),K={class:"list-box"},D=["onClick"],H=["src"],J=[l("i",{class:"chat--iconfont chat--icon-good"},null,-1)],N=["onClick"],O=[l("i",{class:"chat--iconfont chat--icon-image"},null,-1)],A=["onClick"],G=[l("i",{class:"chat--iconfont chat--icon-folder"},null,-1)],U={class:"btn-box"},X=l("span",{class:"tip"},"Enter 发送, Shift + Enter 换行",-1);var z=t({__name:"ChatFooter",setup(t){const z=e(),B=e(""),{state:R,stompClient:q}=T(),{setCurrentSessionItem:P}=b(R),Q=e(!1);function V(t){["Enter"].includes(t.key)&&(function(t){return t.altKey||t.ctrlKey||t.metaKey||t.shiftKey}(t)||(t.preventDefault(),Z()))}function W(){var t,e;B.value=(null==(e=null==(t=z.value)?void 0:t.innerText)?void 0:e.trim())||""}async function Y(t,e){const{file:n,name:s}=t.file,i=new FormData;i.append("sender",R.userInfo.id),i.append("file",n);const a=await _(i);if(!a)return console.log("上传失败");$({chatMessageType:e,msg:e===I.FILE?s:a,url:a})}function Z(){if(!(B.value.length>2e3))return B.value?void $({msg:B.value}):console.log("请输入内容");console.log("请控制在2000字以内")}async function $(t){const{chatMessageType:e=I.TEXT,msg:n,url:s}=t,i={msg:n,chatMessageType:e};e===I.FILE&&(i.fileUrl=s),[I.TEXT,I.BLEND].includes(e)&&(z.value.innerHTML="",B.value="");const a=C(new Date,"yyyy-MM-dd HH:mm:ss");R.currentMsg={content:i,sender:R.userInfo.id,id:"",sendTime:a,sending:!0,fail:!1},R.isAppendMsg=!0,P({lastMessageSendTime:a,lastMessage:i,sortTime:a});try{q.value.send("/app/chat/send",{},JSON.stringify({chatType:"SINGLE",content:i,receiver:R.currentSessionItem.receiver})),R.currentMsg={...R.currentMsg,fail:!1}}catch(t){R.currentMsg={...R.currentMsg,fail:!0}}finally{R.currentMsg={...R.currentMsg,sending:!1}}}return(t,e)=>n((s(),i("section",{class:"chat-footer",style:a({cursor:o(R).id?"default":"not-allowed"})},[l("div",S,[c(o(v),{show:Q.value,"onUpdate:show":e[0]||(e[0]=t=>Q.value=t),placement:"top",trigger:"click","show-arrow":!1,"display-directive":"show",delay:0},{trigger:r((()=>[j])),default:r((()=>[l("div",L,[u(' <span>最近使用</span>\n\t\t\t\t\t<div class="list-box">\n\t\t\t\t\t\t<template v-for="(img, index) in images" :key="index">\n\t\t\t\t\t\t\t<i>\n\t\t\t\t\t\t\t\t<img :src="img" />\n\t\t\t\t\t\t\t</i>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</div> '),F,l("div",K,[(s(!0),i(d,null,f(o(w),((t,e)=>(s(),i(d,{key:e},[e>0?(s(),p(o(y),{key:0,"show-arrow":!1,trigger:"hover"},{trigger:r((()=>[l("i",{onClick:()=>function(t){Q.value=!1,$({chatMessageType:I.EMOJI,msg:t})}(e)},[l("img",{src:t},null,8,H)],8,D)])),default:r((()=>[m(" "+g(o(E)[e-1]||"微笑"),1)])),_:2},1024)):u("v-if",!0)],64)))),128))])])])),_:1},8,["show"]),l("span",{onClick:e[1]||(e[1]=()=>$({chatMessageType:o(I).EMOJI,msg:0}))},J),c(o(M),{abstract:"",multiple:"",accept:"image/*",onChange:e[2]||(e[2]=t=>Y(t,o(I).IMAGE))},{default:r((()=>[c(o(k),{abstract:""},{default:r((({handleClick:t})=>[l("span",{onClick:t},O,8,N)])),_:1})])),_:1}),c(o(M),{abstract:"",multiple:"",accept:"video/*,.pdf,.doc.docx,,.zip,.xlsx,.txt",onChange:e[3]||(e[3]=t=>Y(t,o(I).FILE))},{default:r((()=>[c(o(k),{abstract:""},{default:r((({handleClick:t})=>[l("span",{onClick:t},G,8,A)])),_:1})])),_:1})]),n(l("div",{ref_key:"inputRef",ref:z,class:"input-box",contenteditable:"",onKeydown:V,onInput:W},null,544),[[h,o(R).id]]),l("div",U,[X,c(o(x),{type:"primary",round:"",disabled:!B.value,onClick:Z},{default:r((()=>[m("发送")])),_:1},8,["disabled"])])],4)),[[h,o(R).id]])}});export{z as default};
@@ -1 +1 @@
1
- import{defineComponent as e,ref as a,openBlock as o,createElementBlock as t,Fragment as s,withDirectives as i,createElementVNode as r,createVNode as c,unref as n,withCtx as l,toDisplayString as u,vShow as h}from"vue";import{NAvatar as m}from"naive-ui";import{useState as v}from"../hooks/useState.js";import d from"./PersonProfile.vue.js";import f from"./ChatSet.vue.js";import p from"./ChatFile.vue.js";import w from"./ChatRecord.vue.js";const C={class:"chat-header box-shadow"},_={class:"chat-header__left"},g={class:"name"},j={class:"chat-header__right"};var k=e({__name:"ChatHeader",setup(e){const{state:k}=v(),S=a(!1),I=a(!1),U=a("image"),x=a(!1);function y(e){U.value=e,I.value=!0}return(e,a)=>(o(),t(s,null,[i(r("section",C,[r("div",_,[c(d,{"user-id":n(k).currentSessionItem.receiver},{trigger:l((()=>[c(n(m),{round:"",size:30,src:n(k).currentSessionItem.avatar},null,8,["src"])])),_:1},8,["user-id"]),r("span",g,u(n(k).currentSessionItem.name),1)]),r("div",j,[r("i",{class:"chat--iconfont chat--icon-image",onClick:a[0]||(a[0]=()=>y("image"))}),r("i",{class:"chat--iconfont chat--icon-folder",onClick:a[1]||(a[1]=()=>y("file"))}),r("i",{class:"chat--iconfont chat--icon-list-search",onClick:a[2]||(a[2]=e=>x.value=!0)}),r("i",{class:"chat--iconfont chat--icon-set",onClick:a[3]||(a[3]=e=>S.value=!0)})])],512),[[h,n(k).id]]),c(f,{show:S.value,"onUpdate:show":a[4]||(a[4]=e=>S.value=e)},null,8,["show"]),c(p,{show:I.value,"onUpdate:show":a[5]||(a[5]=e=>I.value=e),type:U.value},null,8,["show","type"]),c(w,{show:x.value,"onUpdate:show":a[6]||(a[6]=e=>x.value=e)},null,8,["show"])],64))}});export{k as default};
1
+ import{defineComponent as e,ref as a,openBlock as o,createElementBlock as t,Fragment as s,unref as i,createElementVNode as r,createVNode as c,withCtx as n,toDisplayString as l,createCommentVNode as u}from"vue";import{NAvatar as h}from"naive-ui";import{useState as m}from"../hooks/useState.js";import v from"./PersonProfile.vue.js";import f from"./ChatSet.vue.js";import d from"./ChatFile.vue.js";import p from"./ChatRecord.vue.js";const w={key:0,class:"chat-header box-shadow"},C={class:"chat-header__left"},_={class:"name"},g={class:"chat-header__right"};var k=e({__name:"ChatHeader",setup(e){const{state:k}=m(),j=a(!1),S=a(!1),y=a("image"),I=a(!1);function U(e){y.value=e,S.value=!0}return(e,a)=>(o(),t(s,null,[i(k).id?(o(),t("section",w,[r("div",C,[c(v,{"user-id":i(k).currentSessionItem.receiver},{trigger:n((()=>[c(i(h),{round:"",size:30,src:i(k).currentSessionItem.avatar},null,8,["src"])])),_:1},8,["user-id"]),r("span",_,l(i(k).currentSessionItem.name),1)]),r("div",g,[r("i",{class:"chat--iconfont chat--icon-image",onClick:a[0]||(a[0]=()=>U("image"))}),r("i",{class:"chat--iconfont chat--icon-folder",onClick:a[1]||(a[1]=()=>U("file"))}),r("i",{class:"chat--iconfont chat--icon-list-search",onClick:a[2]||(a[2]=e=>I.value=!0)}),r("i",{class:"chat--iconfont chat--icon-set",onClick:a[3]||(a[3]=e=>j.value=!0)})])])):u("v-if",!0),c(f,{show:j.value,"onUpdate:show":a[4]||(a[4]=e=>j.value=e)},null,8,["show"]),c(d,{show:S.value,"onUpdate:show":a[5]||(a[5]=e=>S.value=e),type:y.value},null,8,["show","type"]),c(p,{show:I.value,"onUpdate:show":a[6]||(a[6]=e=>I.value=e)},null,8,["show"])],64))}});export{k as default};
@@ -1,10 +1,12 @@
1
1
  declare const _default: import("vue").DefineComponent<{}, {
2
+ cssVars: import("vue").ComputedRef<import("vue").CSSProperties>;
2
3
  inputRef: import("vue").Ref<any>;
3
4
  showSearch: import("vue").Ref<boolean>;
4
5
  keyword: import("vue").Ref<any>;
5
6
  userList: import("vue").Ref<any>;
6
7
  state: import("../types").IState;
7
8
  openSession: (item: import("../../..").AnyObject) => void;
9
+ handleInput: () => Promise<void>;
8
10
  handleSearch: () => Promise<void>;
9
11
  addSession: (userId: string) => Promise<void>;
10
12
  NPopover: any;
@@ -1 +1 @@
1
- import{defineComponent as e,ref as o,watch as a,nextTick as n,openBlock as r,createBlock as s,unref as l,withCtx as t,createVNode as i,createTextVNode as u,createElementVNode as c,withKeys as p,withModifiers as d,createElementBlock as v,Fragment as f,renderList as m,toDisplayString as h}from"vue";import{NPopover as w,NButton as y,NIcon as g,NInput as k,NAvatar as _}from"naive-ui";import{SearchOutline as S}from"@vicons/ionicons5";import{useState as I}from"../hooks/useState.js";import{useSession as j}from"../hooks/useSession.js";import{listUserApi as x,openSessionApi as C}from"../api/index.js";import{isArray as b}from"lodash-es";const z={class:"popover-search"},K={class:"user-list-wrapper"},U=["onClick"],E={class:"user-info"},G=c("span",null,"职务",-1),L=c("span",null,"部门",-1);var N=e({__name:"ChatSearch",setup(e){const N=o(),R=o(!1),T=o(),q=o(),{state:A}=I(),{openSession:B}=j(A);async function D(){const e=await x({orgId:A.orgId,keyword:T.value});b(e)&&(q.value=e)}return a((()=>R.value),(async e=>{var o;e&&(await n(),null==(o=N.value)||o.focus())})),(e,o)=>(r(),s(l(w),{show:R.value,"onUpdate:show":o[1]||(o[1]=e=>R.value=e),placement:"top",trigger:"click","display-directive":"show","show-arrow":!1,delay:0,overlap:""},{trigger:t((()=>[i(l(y),{color:"#d8dce34f",class:"search-trigger-btn"},{icon:t((()=>[i(l(g),{component:l(S),color:"#ffffff80"},null,8,["component"])])),default:t((()=>[u(" 搜索联系人 ")])),_:1})])),default:t((()=>[c("div",z,[i(l(k),{ref_key:"inputRef",ref:N,placeholder:"",size:"small",clearable:"",autofocus:"",round:"",onKeydown:p(d(D,["prevent"]),["enter"]),value:T.value,"onUpdate:value":o[0]||(o[0]=e=>T.value=e)},{prefix:t((()=>[i(l(g),{component:l(S)},null,8,["component"])])),_:1},8,["onKeydown","value"]),c("div",K,[(r(!0),v(f,null,m(q.value,(e=>(r(),v("div",{class:"user-item",key:e.id,onClick:()=>async function(e){R.value=!1;const o=await C({chatType:"SINGLE",receiver:e,sender:A.userInfo.id});B(o)}(e.id)},[i(l(_),{round:"",size:32,src:e.avatar},null,8,["src"]),c("div",E,[c("span",null,h(e.name),1),G,L])],8,U)))),128))])])])),_:1},8,["show"]))}});export{N as default};
1
+ import{defineComponent as e,ref as o,watch as s,nextTick as r,openBlock as a,createBlock as t,unref as n,withCtx as i,createVNode as l,createTextVNode as u,createElementVNode as f,normalizeStyle as c,createElementBlock as p,Fragment as m,renderList as v,toDisplayString as d}from"vue";import{NPopover as h,NButton as k,NIcon as w,NInput as y,NAvatar as g}from"naive-ui";import{SearchOutline as j}from"@vicons/ionicons5";import{useState as I}from"../hooks/useState.js";import{useSession as S}from"../hooks/useSession.js";import{listUserApi as _,openSessionApi as x}from"../api/index.js";import{isArray as C}from"lodash-es";import{useDebounceFn as b}from"@vueuse/core";import{useTheme as z}from"../../../../shared/hooks/useTheme.js";import"date-fns";import"@vue/shared";import"../../../../shared/utils/index.js";import"@vueuse/shared";import"../../../../shared/hooks/selectHooks/useSearchContent.js";const T={class:"user-list-wrapper"},U=["onClick"],D={class:"user-info"},E=f("span",null,"职务",-1),G=f("span",null,"部门",-1);var H=e({__name:"ChatSearch",setup(e){const H=z(),L=o(),M=o(!1),N=o(),R=o(),{state:q}=I(),{openSession:A}=S(q),B=b((async function(){if(!N.value)return void(R.value=[]);const e=await _({orgId:q.orgId,keyword:N.value});if(!C(e))return;R.value=e}),300);return s((()=>M.value),(async e=>{var o;e&&(await r(),null==(o=L.value)||o.focus())})),(e,o)=>(a(),t(n(h),{show:M.value,"onUpdate:show":o[1]||(o[1]=e=>M.value=e),placement:"top",trigger:"click","display-directive":"show","show-arrow":!1,delay:0,overlap:""},{trigger:i((()=>[l(n(k),{color:"#ffffff4D",class:"search-trigger-btn"},{icon:i((()=>[l(n(w),{component:n(j),color:"#ffffff80"},null,8,["component"])])),default:i((()=>[u(" 搜索联系人 ")])),_:1})])),default:i((()=>[f("div",{class:"popover-search",style:c(n(H))},[l(n(y),{ref_key:"inputRef",ref:L,size:"small",clearable:"",autofocus:"",value:N.value,"onUpdate:value":o[0]||(o[0]=e=>N.value=e),valueModifiers:{trim:!0},onInput:n(B)},{prefix:i((()=>[l(n(w),{color:"#ffffff80",component:n(j)},null,8,["component"])])),_:1},8,["value","onInput"]),f("div",T,[(a(!0),p(m,null,v(R.value,(e=>(a(),p("div",{class:"user-item",key:e.id,onClick:()=>async function(e){M.value=!1;const o=await x({chatType:"SINGLE",receiver:e,sender:q.userInfo.id});A(o)}(e.id)},[l(n(g),{round:"",size:32,src:e.avatar},null,8,["src"]),f("div",D,[f("span",null,d(e.name),1),E,G])],8,U)))),128))])],4)])),_:1},8,["show"]))}});export{H as default};
@@ -1 +1 @@
1
- import{defineComponent as e,useAttrs as s,openBlock as o,createBlock as t,unref as n,withCtx as i,createVNode as r,createElementVNode as a,toDisplayString as u}from"vue";import{NDrawer as c,NDrawerContent as l,NAvatar as m,NIcon as p,NSwitch as f}from"naive-ui";import{ChevronForwardOutline as d}from"@vicons/ionicons5";import{useState as v}from"../hooks/useState.js";import{useSession as h}from"../hooks/useSession.js";import g from"./PersonProfile.vue.js";import{toppingSessionApi as S}from"../api/index.js";import{isFunction as _}from"lodash-es";const I={class:"chat-set-wrapper"},w={class:"item user-info"},j={class:"item"},y=a("span",{class:"label"},"置顶聊天",-1);var b=e({__name:"ChatSet",setup(e){const b=s(),{state:k}=v(),{setCurrentSessionItem:C}=h(k);async function U(e){try{await S({sessionKey:k.currentSessionItem.sessionKey,id:k.currentSessionItem.id,topping:e}),C({topping:e})}catch(e){console.log(e)}}function x(){_(b["onUpdate:show"])&&b["onUpdate:show"](!1)}return(e,s)=>(o(),t(n(c),{width:320,"trap-focus":!1,"block-scroll":!1,to:".c-biunique-chat"},{default:i((()=>[r(n(l),{title:"聊天设置"},{default:i((()=>[a("div",I,[r(g,{"user-id":n(k).currentSessionItem.receiver,onClose:x},{trigger:i((()=>[a("div",w,[r(n(m),{round:"",size:40,src:n(k).currentSessionItem.avatar},null,8,["src"]),a("span",null,u(n(k).currentSessionItem.name),1),r(n(p),{size:24,component:n(d),class:"item__right"},null,8,["component"])])])),_:1},8,["user-id"]),a("div",j,[y,r(n(f),{value:n(k).userInfo.topping,"onUpdate:value":[s[0]||(s[0]=e=>n(k).userInfo.topping=e),U],class:"item__right"},null,8,["value"])])])])),_:1})])),_:1}))}});export{b as default};
1
+ import{defineComponent as e,useAttrs as s,openBlock as t,createBlock as o,unref as n,withCtx as i,createVNode as r,createElementVNode as a,toDisplayString as c}from"vue";import{NDrawer as u,NDrawerContent as m,NAvatar as l,NIcon as p,NSwitch as d}from"naive-ui";import{ChevronForwardOutline as f}from"@vicons/ionicons5";import{useState as v}from"../hooks/useState.js";import{useSession as h}from"../hooks/useSession.js";import S from"./PersonProfile.vue.js";import{toppingSessionApi as g}from"../api/index.js";import{isFunction as _}from"lodash-es";const I={class:"chat-set-wrapper"},w={class:"item user-info"},j={class:"item"},y=a("span",{class:"label"},"置顶聊天",-1);var b=e({__name:"ChatSet",setup(e){const b=s(),{state:k}=v(),{setCurrentSessionItem:C}=h(k);async function U(e){try{await g({sessionKey:k.currentSessionItem.sessionKey,id:k.currentSessionItem.id,topping:e}),C({topping:e})}catch(e){console.log(e)}}function x(){_(b["onUpdate:show"])&&b["onUpdate:show"](!1)}return(e,s)=>(t(),o(n(u),{width:320,"trap-focus":!1,"block-scroll":!1,to:".c-biunique-chat"},{default:i((()=>[r(n(m),{title:"聊天设置"},{default:i((()=>[a("div",I,[r(S,{"user-id":n(k).currentSessionItem.receiver,onClose:x},{trigger:i((()=>[a("div",w,[r(n(l),{round:"",size:40,src:n(k).currentSessionItem.avatar},null,8,["src"]),a("span",null,c(n(k).currentSessionItem.name),1),r(n(p),{size:24,component:n(f),class:"item__right"},null,8,["component"])])])),_:1},8,["user-id"]),a("div",j,[y,r(n(d),{value:n(k).currentSessionItem.topping,"onUpdate:value":[s[0]||(s[0]=e=>n(k).currentSessionItem.topping=e),U],class:"item__right"},null,8,["value"])])])])),_:1})])),_:1}))}});export{b as default};
@@ -1 +1 @@
1
- import{defineComponent as e,ref as t,computed as l,openBlock as s,createElementBlock as o,Fragment as n,unref as i,createElementVNode as a,toDisplayString as c,withModifiers as r,createBlock as d,createCommentVNode as m,renderList as u,withCtx as p,createTextVNode as v,normalizeClass as f,createVNode as y}from"vue";import{NIcon as g,NButton as k}from"naive-ui";import{ChevronForwardOutline as _,AlertCircleSharp as h}from"@vicons/ionicons5";import b from"../../../../shared/components/SvgIcon/SvgIcon.vue.js";import{useState as T}from"../hooks/useState.js";const C={class:"default-msg-template__header"},M={class:"title"},S={class:"default-msg-template__body"},E=["src"],H={class:"template-content"},L=["innerHTML"],N={key:0,class:"default-msg-template__btn-group"},w=a("i",{class:"chat--iconfont chat--icon-more"},null,-1),j={key:1,class:"describe-msg-template"},B={class:"describe-msg-template__header"},D={class:"title"},O={class:"txt"},x=a("i",{class:"chat--iconfont chat--icon-more"},null,-1),z={key:2,class:"system-msg-template"},F=["innerHTML"],I=["onClick"];var R=e({__name:"MessageTemplate",props:{data:{type:Object,required:!0}},setup(e){const R=e,q=t(),P=t(!0),{emit:V}=T(),W=l((()=>{if(!q.value)return!1;const{childNodes:e,clientWidth:t}=q.value;let l=0;for(let s=0;s<e.length;s++)if(e[s].nodeType===Node.ELEMENT_NODE){const t=parseFloat(window.getComputedStyle(e[s]).lineHeight);l+=e[s].scrollHeight/t}else if(e[s].nodeType===Node.TEXT_NODE){const o=e[s].nodeValue.trim();if(""!==o){const e=o.split(" "),s=Math.floor(t/parseFloat(window.getComputedStyle(q.value).fontSize));l+=Math.ceil(e.length/s)}}return l>6})),X=l((()=>R.data.content.messageTemplate.setting)),A=l((()=>X.value.serverSetting)),G=l((()=>(A.value.topRightButton||[])[0])),J=l((()=>{const e=(X.value.content||"").split("##").filter((e=>e));return e?e.map((e=>{const t=/\\n|\n|\r/g;return t.test(e)?e.replace(t,"<br>"):e})):[]})),K=l((()=>{var e;return(null==(e=A.value)?void 0:e.toolbar_button)||[]})),Q=l((()=>(A.value.bottomButton||[])[0])),U=l((()=>X.value.dbParamsList)),Y=l((()=>R.data.content.messageTemplateData));function Z(e){V("template-click",e,R.data)}return(e,t)=>(s(),o(n,null,[1==i(X).style.id?(s(),o("div",{key:0,class:"default-msg-template",onClick:t[2]||(t[2]=()=>Z(i(A)))},[a("div",C,[a("span",M,c(i(X).title),1),i(G)?(s(),o("span",{key:0,class:"btn",onClick:t[0]||(t[0]=r((()=>Z(i(G))),["stop"]))},c(i(G).title),1)):i(A).address?(s(),d(i(g),{key:1,component:i(_),color:"#969696"},null,8,["component"])):m("v-if",!0)]),a("div",S,[i(X).style.icon?(s(),d(i(b),{key:0,class:"logo","icon-class":i(X).style.icon},null,8,["icon-class"])):i(X).style.image?(s(),o("img",{key:1,class:"logo",src:i(X).style.image},null,8,E)):m("v-if",!0),a("div",H,[(s(!0),o(n,null,u(i(J),(e=>(s(),o("div",{key:e,innerHTML:e},null,8,L)))),128))])]),i(K)?(s(),o("div",N,[(s(!0),o(n,null,u(i(K),((e,t)=>(s(),d(i(k),{type:"primary",round:"",ghost:"",onClick:r((()=>Z(e)),["stop"]),key:t},{default:p((()=>[v(c(e.title),1)])),_:2},1032,["onClick"])))),128))])):m("v-if",!0),i(Q)?(s(),o("div",{key:1,class:"default-msg-template__footer",onClick:t[1]||(t[1]=r((()=>Z(i(Q))),["stop"]))},[v(c(i(Q).title)+" ",1),w])):m("v-if",!0)])):m("v-if",!0),3==i(X).style.id?(s(),o("div",j,[a("div",B,c(i(X).title),1),a("div",{class:f(["describe-msg-template__body",i(W)&&P.value?"overflow-hidden":""]),ref_key:"describeBodyRef",ref:q},[(s(!0),o(n,null,u(i(U),((e,t)=>(s(),o(n,{key:t},[a("div",D,c(e.desc),1),a("div",O,c(i(Y)[e.p_name]),1)],64)))),128))],2),i(W)?(s(),o("div",{key:0,class:f(["describe-msg-template__footer",P.value?"":"hidden"]),onClick:t[3]||(t[3]=()=>P.value=!1)},[v(" 展开全部 "),x],2)):m("v-if",!0)])):m("v-if",!0),2==i(X).style.id?(s(),o("div",z,[y(i(g),{component:i(h),color:"#ffc200",size:18},null,8,["component"]),a("span",{innerHTML:J.value.join("<br>")},null,8,F),(s(!0),o(n,null,u(i(K),((e,t)=>(s(),o("span",{class:"btn",onClick:()=>Z(e),key:t},c(e.title),9,I)))),128))])):m("v-if",!0)],64))}});export{R as default};
1
+ import{defineComponent as e,ref as t,computed as l,openBlock as s,createElementBlock as n,Fragment as o,unref as a,createElementVNode as i,toDisplayString as c,withModifiers as r,createBlock as d,createCommentVNode as m,renderList as u,withCtx as p,createTextVNode as v,normalizeClass as f,createVNode as g}from"vue";import{NIcon as y,NButton as k}from"naive-ui";import{ChevronForwardOutline as _,AlertCircleSharp as h}from"@vicons/ionicons5";import b from"../../../../shared/components/SvgIcon/SvgIcon.vue.js";import{useState as T}from"../hooks/useState.js";const C={class:"default-msg-template__header"},M={class:"title"},L={class:"default-msg-template__body"},S=["src"],E={class:"template-content"},H=["innerHTML"],N={key:0,class:"default-msg-template__btn-group"},w=i("i",{class:"chat--iconfont chat--icon-more"},null,-1),j={key:1,class:"describe-msg-template"},B={class:"describe-msg-template__header"},D={class:"title"},O={class:"txt"},x=i("i",{class:"chat--iconfont chat--icon-more"},null,-1),z={key:2,class:"system-msg-template"},F=["innerHTML"],I=["onClick"];var P=e({__name:"MessageTemplate",props:{data:{type:Object,required:!0}},setup(e){const P=e,R=t(),q=t(!0),{emit:V}=T(),W=l((()=>{if(!R.value)return!1;const{childNodes:e,clientWidth:t}=R.value;let l=0;for(let s=0;s<e.length;s++)if(e[s].nodeType===Node.ELEMENT_NODE){const t=parseFloat(window.getComputedStyle(e[s]).lineHeight);l+=e[s].scrollHeight/t}else if(e[s].nodeType===Node.TEXT_NODE){const n=e[s].nodeValue.trim();if(""!==n){const e=n.split(" "),s=Math.floor(t/parseFloat(window.getComputedStyle(R.value).fontSize));l+=Math.ceil(e.length/s)}}return l>6})),X=l((()=>P.data.content.messageTemplate.setting)),$=l((()=>X.value.serverSetting)),A=l((()=>($.value.topRightButton||[])[0])),G=l((()=>{const e=(X.value.content||"").split("##").filter((e=>e));if(!e)return[];const{dbParamsList:t}=X.value||{};return e.map((e=>(e||"").replace(/\\n|\n|\r/g,"<br>").replace(/\${(.*?)}/g,((e,l)=>{var s;if(0===(t||[]).length)return"";return(null==(s=t.find((e=>e.p_name===l)))?void 0:s.desc)||""}))))})),J=l((()=>{var e;return(null==(e=$.value)?void 0:e.toolbar_button)||[]})),K=l((()=>($.value.bottomButton||[])[0])),Q=l((()=>X.value.dbParamsList)),U=l((()=>P.data.content.messageTemplateData));function Y(e){V("template-click",e,P.data)}return(e,t)=>(s(),n(o,null,[1==a(X).style.id?(s(),n("div",{key:0,class:"default-msg-template",onClick:t[2]||(t[2]=()=>Y(a($)))},[i("div",C,[i("span",M,c(a(X).title),1),a(A)?(s(),n("span",{key:0,class:"btn",onClick:t[0]||(t[0]=r((()=>Y(a(A))),["stop"]))},c(a(A).title),1)):a($).address?(s(),d(a(y),{key:1,component:a(_),color:"#969696"},null,8,["component"])):m("v-if",!0)]),i("div",L,[a(X).style.icon?(s(),d(a(b),{key:0,class:"logo","icon-class":a(X).style.icon},null,8,["icon-class"])):a(X).style.image?(s(),n("img",{key:1,class:"logo",src:a(X).style.image},null,8,S)):m("v-if",!0),i("div",E,[(s(!0),n(o,null,u(a(G),(e=>(s(),n("div",{key:e,innerHTML:e},null,8,H)))),128))])]),a(J)?(s(),n("div",N,[(s(!0),n(o,null,u(a(J),((e,t)=>(s(),d(a(k),{type:"primary",round:"",ghost:"",onClick:r((()=>Y(e)),["stop"]),key:t},{default:p((()=>[v(c(e.title),1)])),_:2},1032,["onClick"])))),128))])):m("v-if",!0),a(K)?(s(),n("div",{key:1,class:"default-msg-template__footer",onClick:t[1]||(t[1]=r((()=>Y(a(K))),["stop"]))},[v(c(a(K).title)+" ",1),w])):m("v-if",!0)])):m("v-if",!0),3==a(X).style.id?(s(),n("div",j,[i("div",B,c(a(X).title),1),i("div",{class:f(["describe-msg-template__body",a(W)&&q.value?"overflow-hidden":""]),ref_key:"describeBodyRef",ref:R},[(s(!0),n(o,null,u(a(Q),((e,t)=>(s(),n(o,{key:t},[i("div",D,c(e.desc),1),i("div",O,c(a(U)[e.p_name]),1)],64)))),128))],2),a(W)?(s(),n("div",{key:0,class:f(["describe-msg-template__footer",q.value?"":"hidden"]),onClick:t[3]||(t[3]=()=>q.value=!1)},[v(" 展开全部 "),x],2)):m("v-if",!0)])):m("v-if",!0),2==a(X).style.id?(s(),n("div",z,[g(a(y),{component:a(h),color:"#ffc200",size:18},null,8,["component"]),i("span",{innerHTML:G.value.join("<br>")},null,8,F),(s(!0),n(o,null,u(a(J),((e,t)=>(s(),n("span",{class:"btn",onClick:()=>Y(e),key:t},c(e.title),9,I)))),128))])):m("v-if",!0)],64))}});export{P as default};
@@ -1 +1 @@
1
- import{defineComponent as e,ref as s,computed as i,watch as n,withDirectives as a,openBlock as t,createElementBlock as l,normalizeStyle as r,unref as o,createBlock as u,createCommentVNode as d,createElementVNode as v,Fragment as c,renderList as m,withCtx as p,createTextVNode as f,toDisplayString as k,normalizeClass as h,createVNode as y,vShow as S}from"vue";import{NSpin as _,NTag as g,NAvatar as b,NBadge as x}from"naive-ui";import{useState as L}from"../hooks/useState.js";import{useSession as M}from"../hooks/useSession.js";import{vFlexibleResize as C}from"../../../../shared/directive/flexibleResize.js";import{listSort as j,formatTime as T}from"../utils/index.js";const w={class:"sider-list__filter box-shadow"},I=["onClick"],N={class:"avatar-right"},R={class:"name"},z={class:"msg-tip"},H={class:"msg-tip__content"},U=["innerHTML"];var B=e({__name:"SiderList",setup(e){const B="all",E="unread",O=s(300),V=s(),q=s(!1),A=s([{label:"全部",key:B},{label:"未读",key:E}]),D=s("all"),{state:F,emit:G}=L(),{openSession:J,unreadTotal:K,setSessionList:P}=M(F),Q=i((()=>Math.min(Math.max(O.value,240),360))),W=i((()=>j(F.sessionList)));function X(e){!e.id||F.sessionList.map((e=>e.id)).includes(e.id)?F.sessionList.forEach((s=>{s.receiver===e.receiver&&(Object.assign(s,e),e.receiver!==F.currentSessionItem.receiver&&s.unreadNum++)})):P([...F.sessionList,e])}function Y({distance:e}){O.value=O.value+e}function Z(e,s=o(D)){var i;return s===B||(s===E?(null!=(i=e.unreadNum)?i:0)>0:void 0)}return n([()=>F.isChangeSession,()=>F.isUpdateSession],(([e,s])=>{e&&(X(F.currentSessionItem),F.isChangeSession=!1),s&&(X(F.updateSessionItem),F.isUpdateSession=!1)}),{immediate:!0}),n((()=>K.value),(e=>{const s=W.value.filter((e=>Z(e,E)));G("unread-message-update",e,s)})),(e,s)=>a((t(),l("section",{class:"sider-list",style:r({width:o(Q)+"px"})},[q.value?(t(),u(o(_),{key:0,stroke:"#5585f5"})):d("v-if",!0),d(' <n-input v-else placeholder="输入用户名模糊搜索" v-model:value="keyword" @keyup.enter="handleSearch"></n-input> '),v("div",w,[(t(!0),l(c,null,m(A.value,(e=>(t(),u(o(g),{type:D.value===e.key?"info":"default",round:"",bordered:!1,key:e.key,onClick:()=>{return s=e.key,void(D.value=s);var s}},{default:p((()=>[f(k(e.label)+"("+k(o(K))+") ",1)])),_:2},1032,["type","onClick"])))),128))]),v("div",{class:"sider-list__box",ref_key:"listBoxRef",ref:V},[(t(!0),l(c,null,m(o(W),(e=>a((t(),l("div",{key:e.id,onClick:()=>o(J)(e),class:h(["sider-list__box__item",{active:e.id===o(F).id}])},[y(o(b),{round:"",size:"large",src:e.avatar},null,8,["src"]),v("div",N,[v("div",R,[v("h4",null,k(e.name),1),v("span",null,k(o(T)(e.lastMessageSendTime).siderMsgTime),1)]),v("div",z,[v("div",H,[v("div",{innerHTML:e.lastMessageContent},null,8,U)]),y(o(x),{value:e.unreadNum},null,8,["value"])])])],10,I)),[[S,Z(e)]]))),128))],512)],4)),[[o(C),{mode:"VR",onMove:Y}]])}});export{B as default};
1
+ import{defineComponent as e,ref as s,computed as i,watch as t,withDirectives as n,openBlock as a,createElementBlock as l,normalizeStyle as r,unref as o,createBlock as d,createCommentVNode as u,createElementVNode as v,Fragment as c,renderList as m,withCtx as p,createTextVNode as f,toDisplayString as k,normalizeClass as _,createVNode as h,vShow as y}from"vue";import{NSpin as S,NTag as g,NAvatar as b,NBadge as x}from"naive-ui";import{useState as L}from"../hooks/useState.js";import{useSession as M}from"../hooks/useSession.js";import{vFlexibleResize as C}from"../../../../shared/directive/flexibleResize.js";import{listSort as j,formatTime as T}from"../utils/index.js";const w={class:"sider-list__filter box-shadow"},I=["onClick"],N={class:"avatar-right"},R={class:"name"},z={class:"msg-tip"},H={class:"msg-tip__content"},U=["innerHTML"];var B=e({__name:"SiderList",setup(e){const B="all",E="unread",O=s(300),V=s(),q=s(!1),A=s([{label:"全部",key:B},{label:"未读",key:E}]),D=s("all"),{state:F,emit:G}=L(),{openSession:J,unreadTotal:K,setSessionList:P}=M(F),Q=i((()=>Math.min(Math.max(O.value,240),360))),W=i((()=>j(F.sessionList)));function X(e){!e.id||F.sessionList.map((e=>e.id)).includes(e.id)?F.sessionList.forEach((s=>{s.receiver===e.receiver&&(Object.assign(s,e),e.receiver!==F.currentSessionItem.receiver&&s.unreadNum++)})):P([...F.sessionList,e])}function Y({distance:e}){O.value=O.value+e}function Z(e,s=o(D)){var i;return s===B||(s===E?(null!=(i=e.unreadNum)?i:0)>0:void 0)}return t([()=>F.isChangeSession,()=>F.isUpdateSession],(([e,s])=>{e&&(X(F.currentSessionItem),F.isChangeSession=!1),s&&(X(F.updateSessionItem),F.isUpdateSession=!1)}),{immediate:!0}),t((()=>K.value),(e=>{const s=W.value.filter((e=>Z(e,E)));G("unread-message-update",e,s)})),(e,s)=>n((a(),l("section",{class:"sider-list",style:r({width:o(Q)+"px"})},[q.value?(a(),d(o(S),{key:0,stroke:"#5585f5"})):u("v-if",!0),u(' <n-input v-else placeholder="输入用户名模糊搜索" v-model:value="keyword" @keyup.enter="handleSearch"></n-input> '),v("div",w,[(a(!0),l(c,null,m(A.value,(e=>(a(),d(o(g),{type:D.value===e.key?"info":"default",round:"",bordered:!1,key:e.key,onClick:()=>{return s=e.key,void(D.value=s);var s}},{default:p((()=>[f(k(e.label)+"("+k(o(K))+") ",1)])),_:2},1032,["type","onClick"])))),128))]),v("div",{class:"sider-list__box",ref_key:"listBoxRef",ref:V},[(a(!0),l(c,null,m(o(W),(e=>n((a(),l("div",{key:e.id,onClick:()=>o(J)(e),class:_(["sider-list__box__item",{active:e.id===o(F).id},e.topping?"sider-list__box__item--top":""])},[h(o(b),{round:"",size:"large",src:e.avatar},null,8,["src"]),v("div",N,[v("div",R,[v("h4",null,k(e.name),1),v("span",null,k(o(T)(e.lastMessageSendTime).siderMsgTime),1)]),v("div",z,[v("div",H,[v("div",{innerHTML:e.lastMessageContent},null,8,U)]),h(o(x),{value:e.unreadNum},null,8,["value"])])])],10,I)),[[y,Z(e)]]))),128))],512)],4)),[[o(C),{mode:"VR",onMove:Y}]])}});export{B as default};