cnhis-design-vue 3.3.3-release.7 → 3.3.3-release.8

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.
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
+ ```
@@ -143,7 +143,7 @@ declare const AudioSdk: SFCWithInstall<import("vue").DefineComponent<{
143
143
  type: import("vue").PropType<import("../../shared/types").AnyFn>;
144
144
  };
145
145
  recorderStatus: {
146
- type: import("vue").PropType<"" | "stop" | "fail" | "recording" | "pause" | "ws_close">;
146
+ type: StringConstructor;
147
147
  default: string;
148
148
  };
149
149
  }, {
@@ -185,7 +185,7 @@ declare const AudioSdk: SFCWithInstall<import("vue").DefineComponent<{
185
185
  type: import("vue").PropType<import("../../shared/types").AnyFn>;
186
186
  };
187
187
  recorderStatus: {
188
- type: import("vue").PropType<"" | "stop" | "fail" | "recording" | "pause" | "ws_close">;
188
+ type: StringConstructor;
189
189
  default: string;
190
190
  };
191
191
  }>> & {
@@ -203,7 +203,7 @@ declare const AudioSdk: SFCWithInstall<import("vue").DefineComponent<{
203
203
  data: string;
204
204
  }>;
205
205
  wsConnected: import("vue").Ref<boolean>;
206
- recorderStatus: import("vue").Ref<"" | "stop" | "fail" | "recording" | "pause" | "ws_close">;
206
+ recorderStatus: import("vue").Ref<string>;
207
207
  audioChartRef: import("vue").Ref<HTMLDivElement | undefined>;
208
208
  audioChartSamllRef: import("vue").Ref<HTMLDivElement | undefined>;
209
209
  contentScrollRef: import("vue").Ref<HTMLDivElement | undefined>;
@@ -319,7 +319,7 @@ declare const AudioSdk: SFCWithInstall<import("vue").DefineComponent<{
319
319
  type: import("vue").PropType<import("../../shared/types").AnyFn>;
320
320
  };
321
321
  recorderStatus: {
322
- type: import("vue").PropType<"" | "stop" | "fail" | "recording" | "pause" | "ws_close">;
322
+ type: StringConstructor;
323
323
  default: string;
324
324
  };
325
325
  }>> & {
@@ -339,7 +339,7 @@ declare const AudioSdk: SFCWithInstall<import("vue").DefineComponent<{
339
339
  showBtn: boolean;
340
340
  wsConnected: boolean;
341
341
  fromSdk: boolean;
342
- recorderStatus: "" | "stop" | "fail" | "recording" | "pause" | "ws_close";
342
+ recorderStatus: string;
343
343
  }>;
344
344
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("close" | "success" | "fail" | "recordingHeightChange")[], "close" | "success" | "fail" | "recordingHeightChange", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
345
345
  timed: {
@@ -141,7 +141,7 @@ declare const _default: import("vue").DefineComponent<{
141
141
  type: PropType<import("../../../shared/types").AnyFn>;
142
142
  };
143
143
  recorderStatus: {
144
- type: PropType<"" | "stop" | "fail" | "recording" | "pause" | "ws_close">;
144
+ type: StringConstructor;
145
145
  default: string;
146
146
  };
147
147
  }, {
@@ -183,7 +183,7 @@ declare const _default: import("vue").DefineComponent<{
183
183
  type: PropType<import("../../../shared/types").AnyFn>;
184
184
  };
185
185
  recorderStatus: {
186
- type: PropType<"" | "stop" | "fail" | "recording" | "pause" | "ws_close">;
186
+ type: StringConstructor;
187
187
  default: string;
188
188
  };
189
189
  }>> & {
@@ -201,7 +201,7 @@ declare const _default: import("vue").DefineComponent<{
201
201
  data: string;
202
202
  }>;
203
203
  wsConnected: import("vue").Ref<boolean>;
204
- recorderStatus: import("vue").Ref<"" | "stop" | "fail" | "recording" | "pause" | "ws_close">;
204
+ recorderStatus: import("vue").Ref<string>;
205
205
  audioChartRef: import("vue").Ref<HTMLDivElement | undefined>;
206
206
  audioChartSamllRef: import("vue").Ref<HTMLDivElement | undefined>;
207
207
  contentScrollRef: import("vue").Ref<HTMLDivElement | undefined>;
@@ -317,7 +317,7 @@ declare const _default: import("vue").DefineComponent<{
317
317
  type: PropType<import("../../../shared/types").AnyFn>;
318
318
  };
319
319
  recorderStatus: {
320
- type: PropType<"" | "stop" | "fail" | "recording" | "pause" | "ws_close">;
320
+ type: StringConstructor;
321
321
  default: string;
322
322
  };
323
323
  }>> & {
@@ -337,7 +337,7 @@ declare const _default: import("vue").DefineComponent<{
337
337
  showBtn: boolean;
338
338
  wsConnected: boolean;
339
339
  fromSdk: boolean;
340
- recorderStatus: "" | "stop" | "fail" | "recording" | "pause" | "ws_close";
340
+ recorderStatus: string;
341
341
  }>;
342
342
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("close" | "success" | "fail" | "recordingHeightChange")[], "close" | "success" | "fail" | "recordingHeightChange", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
343
343
  timed: {
@@ -141,7 +141,10 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
141
141
  taskId: 1,
142
142
  audioText: props.textPrefix + audioText,
143
143
  intentionCode: props.intentionCode,
144
- configs: props.configs || {}
144
+ configs: props.configs || {},
145
+ ...props.appCode ? {
146
+ appCode: props.appCode
147
+ } : {}
145
148
  }, {
146
149
  headers: {
147
150
  Authorization: `bearer ${props.token}`
@@ -50,7 +50,7 @@ declare const _default: import("vue").DefineComponent<{
50
50
  type: import("vue").PropType<import("../../../../shared/types").AnyFn>;
51
51
  };
52
52
  recorderStatus: {
53
- type: import("vue").PropType<"" | "stop" | "fail" | "recording" | "pause" | "ws_close">;
53
+ type: StringConstructor;
54
54
  default: string;
55
55
  };
56
56
  }, {
@@ -92,7 +92,7 @@ declare const _default: import("vue").DefineComponent<{
92
92
  type: import("vue").PropType<import("../../../../shared/types").AnyFn>;
93
93
  };
94
94
  recorderStatus: {
95
- type: import("vue").PropType<"" | "stop" | "fail" | "recording" | "pause" | "ws_close">;
95
+ type: StringConstructor;
96
96
  default: string;
97
97
  };
98
98
  }>> & {
@@ -110,7 +110,7 @@ declare const _default: import("vue").DefineComponent<{
110
110
  data: string;
111
111
  }>;
112
112
  wsConnected: import("vue").Ref<boolean>;
113
- recorderStatus: import("vue").Ref<"" | "stop" | "fail" | "recording" | "pause" | "ws_close">;
113
+ recorderStatus: import("vue").Ref<string>;
114
114
  audioChartRef: import("vue").Ref<HTMLDivElement | undefined>;
115
115
  audioChartSamllRef: import("vue").Ref<HTMLDivElement | undefined>;
116
116
  contentScrollRef: import("vue").Ref<HTMLDivElement | undefined>;
@@ -226,7 +226,7 @@ declare const _default: import("vue").DefineComponent<{
226
226
  type: import("vue").PropType<import("../../../../shared/types").AnyFn>;
227
227
  };
228
228
  recorderStatus: {
229
- type: import("vue").PropType<"" | "stop" | "fail" | "recording" | "pause" | "ws_close">;
229
+ type: StringConstructor;
230
230
  default: string;
231
231
  };
232
232
  }>> & {
@@ -246,7 +246,7 @@ declare const _default: import("vue").DefineComponent<{
246
246
  showBtn: boolean;
247
247
  wsConnected: boolean;
248
248
  fromSdk: boolean;
249
- recorderStatus: "" | "stop" | "fail" | "recording" | "pause" | "ws_close";
249
+ recorderStatus: string;
250
250
  }>;
251
251
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
252
252
  content: {
@@ -38,7 +38,7 @@ declare const _default: import("vue").DefineComponent<{
38
38
  type: PropType<AnyFn>;
39
39
  };
40
40
  recorderStatus: {
41
- type: PropType<"" | "stop" | "fail" | "recording" | "pause" | "ws_close">;
41
+ type: StringConstructor;
42
42
  default: string;
43
43
  };
44
44
  }, {
@@ -80,7 +80,7 @@ declare const _default: import("vue").DefineComponent<{
80
80
  type: PropType<AnyFn>;
81
81
  };
82
82
  recorderStatus: {
83
- type: PropType<"" | "stop" | "fail" | "recording" | "pause" | "ws_close">;
83
+ type: StringConstructor;
84
84
  default: string;
85
85
  };
86
86
  }>> & {
@@ -98,7 +98,7 @@ declare const _default: import("vue").DefineComponent<{
98
98
  data: string;
99
99
  }>;
100
100
  wsConnected: import("vue").Ref<boolean>;
101
- recorderStatus: import("vue").Ref<"" | "stop" | "fail" | "recording" | "pause" | "ws_close">;
101
+ recorderStatus: import("vue").Ref<string>;
102
102
  audioChartRef: import("vue").Ref<HTMLDivElement | undefined>;
103
103
  audioChartSamllRef: import("vue").Ref<HTMLDivElement | undefined>;
104
104
  contentScrollRef: import("vue").Ref<HTMLDivElement | undefined>;
@@ -214,7 +214,7 @@ declare const _default: import("vue").DefineComponent<{
214
214
  type: PropType<AnyFn>;
215
215
  };
216
216
  recorderStatus: {
217
- type: PropType<"" | "stop" | "fail" | "recording" | "pause" | "ws_close">;
217
+ type: StringConstructor;
218
218
  default: string;
219
219
  };
220
220
  }>> & {
@@ -234,6 +234,6 @@ declare const _default: import("vue").DefineComponent<{
234
234
  showBtn: boolean;
235
235
  wsConnected: boolean;
236
236
  fromSdk: boolean;
237
- recorderStatus: "" | "stop" | "fail" | "recording" | "pause" | "ws_close";
237
+ recorderStatus: string;
238
238
  }>;
239
239
  export default _default;
@@ -175,6 +175,9 @@ declare const _default: import("vue").DefineComponent<{
175
175
  modelValue: unknown[];
176
176
  componentData: Record<string, any>;
177
177
  } & {
178
+ /**
179
+ * 改变弹窗大小
180
+ */
178
181
  itemKey?: string | Function | undefined;
179
182
  }>, {
180
183
  move: Function;
@@ -49,6 +49,7 @@ declare const _default: import("vue").DefineComponent<{
49
49
  isHeadCheckHide?: boolean | undefined;
50
50
  isShow?: boolean | undefined;
51
51
  contentRender?: ((column: AnyObject, row: AnyObject) => import("vue").VNodeChild) | undefined;
52
+ titleRender?: ((column: AnyObject) => import("vue").VNodeChild) | undefined;
52
53
  hide?: boolean | undefined;
53
54
  positionField?: string | undefined;
54
55
  }[]>;
@@ -63,6 +64,7 @@ declare const _default: import("vue").DefineComponent<{
63
64
  isHeadCheckHide?: boolean | undefined;
64
65
  isShow?: boolean | undefined;
65
66
  contentRender?: ((column: AnyObject, row: AnyObject) => import("vue").VNodeChild) | undefined;
67
+ titleRender?: ((column: AnyObject) => import("vue").VNodeChild) | undefined;
66
68
  hide?: boolean | undefined;
67
69
  positionField?: string | undefined;
68
70
  }[];
@@ -534,12 +536,12 @@ declare const _default: import("vue").DefineComponent<{
534
536
  }>;
535
537
  developMode: boolean;
536
538
  draggable: boolean;
539
+ fieldDescribeMode: "column" | "tooltip";
540
+ isFieldSet: boolean;
541
+ hideExpressionOption: AnyObject[];
537
542
  idx: number;
538
543
  isHighlight: boolean;
539
544
  isHighlightRow: boolean;
540
- isFieldSet: boolean;
541
- fieldDescribeMode: "column" | "tooltip";
542
- hideExpressionOption: AnyObject[];
543
545
  }>;
544
546
  EditDialog: import("vue").DefineComponent<{
545
547
  visible: {
@@ -45,6 +45,7 @@ declare const _default: import("vue").DefineComponent<{
45
45
  isHeadCheckHide?: boolean | undefined;
46
46
  isShow?: boolean | undefined;
47
47
  contentRender?: ((column: AnyObject, row: AnyObject) => import("vue").VNodeChild) | undefined;
48
+ titleRender?: ((column: AnyObject) => import("vue").VNodeChild) | undefined;
48
49
  hide?: boolean | undefined;
49
50
  positionField?: string | undefined;
50
51
  }[]>;
@@ -72,6 +73,7 @@ declare const _default: import("vue").DefineComponent<{
72
73
  isHeadCheckHide?: boolean | undefined;
73
74
  isShow?: boolean | undefined;
74
75
  contentRender?: ((column: AnyObject, row: AnyObject) => import("vue").VNodeChild) | undefined;
76
+ titleRender?: ((column: AnyObject) => import("vue").VNodeChild) | undefined;
75
77
  hide?: boolean | undefined;
76
78
  positionField?: string | undefined;
77
79
  }[];
@@ -563,12 +565,12 @@ declare const _default: import("vue").DefineComponent<{
563
565
  }>;
564
566
  developMode: boolean;
565
567
  draggable: boolean;
568
+ fieldDescribeMode: "column" | "tooltip";
569
+ isFieldSet: boolean;
570
+ hideExpressionOption: AnyObject[];
566
571
  idx: number;
567
572
  isHighlight: boolean;
568
573
  isHighlightRow: boolean;
569
- isFieldSet: boolean;
570
- fieldDescribeMode: "column" | "tooltip";
571
- hideExpressionOption: AnyObject[];
572
574
  }>;
573
575
  setStyle: typeof setStyle;
574
576
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("close" | "save" | "reset")[], "close" | "save" | "reset", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
@@ -229,6 +229,7 @@ declare const _default: import("vue").DefineComponent<{
229
229
  isHeadCheckHide?: boolean | undefined;
230
230
  isShow?: boolean | undefined;
231
231
  contentRender?: ((column: AnyObject, row: AnyObject) => VNodeChild) | undefined;
232
+ titleRender?: ((column: AnyObject) => VNodeChild) | undefined;
232
233
  hide?: boolean | undefined;
233
234
  positionField?: string | undefined;
234
235
  }[]>;
@@ -247,6 +248,7 @@ declare const _default: import("vue").DefineComponent<{
247
248
  isHeadCheckHide?: boolean | undefined;
248
249
  isShow?: boolean | undefined;
249
250
  contentRender?: ((column: AnyObject, row: AnyObject) => VNodeChild) | undefined;
251
+ titleRender?: ((column: AnyObject) => VNodeChild) | undefined;
250
252
  hide?: boolean | undefined;
251
253
  positionField?: string | undefined;
252
254
  }[];
@@ -754,17 +756,18 @@ declare const _default: import("vue").DefineComponent<{
754
756
  }>;
755
757
  developMode: boolean;
756
758
  draggable: boolean;
759
+ fieldDescribeMode: "column" | "tooltip";
760
+ isFieldSet: boolean;
761
+ hideExpressionOption: AnyObject[];
757
762
  idx: number;
758
763
  isHighlight: boolean;
759
764
  isHighlightRow: boolean;
760
- isFieldSet: boolean;
761
- fieldDescribeMode: "column" | "tooltip";
762
- hideExpressionOption: AnyObject[];
763
765
  }>;
764
766
  isArray: {
765
767
  (value?: any): value is any[];
766
768
  <T>(value?: any): value is any[];
767
769
  };
770
+ isFunction: (value: any) => value is (...args: any[]) => any;
768
771
  setStyle: typeof setStyle;
769
772
  isDraggableItem: typeof isDraggableItem;
770
773
  HelpCircleSharp: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
@@ -898,9 +901,9 @@ declare const _default: import("vue").DefineComponent<{
898
901
  showSeq: boolean;
899
902
  developMode: boolean;
900
903
  footerFlag: boolean;
901
- fieldDescribeMode: "column" | "tooltip";
902
904
  customColumns: FieldSetColumnItem[];
903
905
  showSortPriority: boolean;
904
906
  showHeadFilter: boolean;
907
+ fieldDescribeMode: "column" | "tooltip";
905
908
  }>;
906
909
  export default _default;
@@ -1,8 +1,8 @@
1
- import { createElementVNode, defineComponent, ref, computed, reactive, toRef, watch, openBlock, createElementBlock, createBlock, unref, withKeys, withModifiers, createCommentVNode, Fragment, renderList, normalizeStyle, withCtx, createTextVNode, toDisplayString, createVNode, normalizeClass, mergeProps, renderSlot } from 'vue';
1
+ import { createElementVNode, defineComponent, ref, computed, reactive, toRef, watch, openBlock, createElementBlock, createBlock, unref, withKeys, withModifiers, createCommentVNode, Fragment, renderList, normalizeStyle, withCtx, createTextVNode, toDisplayString, resolveDynamicComponent, createVNode, normalizeClass, mergeProps, renderSlot } from 'vue';
2
2
  import { NInput, NCheckbox, NTooltip, NIcon, NSelect, NPopconfirm, NButton } from 'naive-ui';
3
3
  import draggableComponent from '../../../shared/components/VueDraggable/src/vuedraggable.js';
4
4
  import Row from './components/table-row.vue.js';
5
- import { isArray, cloneDeep, isString, omit } from 'lodash-es';
5
+ import { isFunction, isArray, cloneDeep, isString, omit } from 'lodash-es';
6
6
  import { isDisable, setStyle, isDraggableItem, isDraggable, getGroupTree } from './utils/index.js';
7
7
  import { uuidGenerator } from '../../../shared/utils/index.js';
8
8
  import { HelpCircleSharp } from '@vicons/ionicons5';
@@ -652,10 +652,12 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
652
652
  }, {
653
653
  default: withCtx(() => [createTextVNode(toDisplayString(column.title), 1)]),
654
654
  _: 2
655
- }, 1032, ["checked", "onUpdate:checked", "disabled"])) : (openBlock(), createElementBlock(Fragment, {
655
+ }, 1032, ["checked", "onUpdate:checked", "disabled"])) : unref(isFunction)(column.titleRender) ? (openBlock(), createBlock(resolveDynamicComponent(() => column.titleRender(column)), {
656
656
  key: 1
657
+ })) : (openBlock(), createElementBlock(Fragment, {
658
+ key: 2
657
659
  }, [createTextVNode(toDisplayString(getTitle(column)), 1)], 64)), column.field === "sortPriority" ? (openBlock(), createBlock(unref(NTooltip), {
658
- key: 2,
660
+ key: 3,
659
661
  trigger: "hover"
660
662
  }, {
661
663
  trigger: withCtx(() => [createVNode(unref(NIcon), {
@@ -383,11 +383,11 @@ declare const _default: import("vue").DefineComponent<{
383
383
  }>;
384
384
  developMode: boolean;
385
385
  draggable: boolean;
386
+ fieldDescribeMode: "column" | "tooltip";
387
+ isFieldSet: boolean;
388
+ hideExpressionOption: AnyObject[];
386
389
  idx: number;
387
390
  isHighlight: boolean;
388
391
  isHighlightRow: boolean;
389
- isFieldSet: boolean;
390
- fieldDescribeMode: "column" | "tooltip";
391
- hideExpressionOption: AnyObject[];
392
392
  }>;
393
393
  export default _default;
@@ -28,6 +28,7 @@ export type FieldSetColumnItem = {
28
28
  isHeadCheckHide?: boolean;
29
29
  isShow?: boolean;
30
30
  contentRender?: (column: AnyObject, row: AnyObject) => VNodeChild;
31
+ titleRender?: (column: AnyObject) => VNodeChild;
31
32
  hide?: boolean;
32
33
  positionField?: string;
33
34
  [key: string]: any;
@@ -2281,6 +2281,7 @@ declare const IhoChat: SFCWithInstall<import("vue").DefineComponent<{
2281
2281
  HappyOutline: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
2282
2282
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
2283
2283
  ChatFooter: import("vue").DefineComponent<{}, {
2284
+ SPACE_PLACEHOLDER: string;
2284
2285
  inputRef: import("vue").Ref<HTMLDivElement | undefined>;
2285
2286
  state: {
2286
2287
  orgId: string | number;
@@ -2338,9 +2339,11 @@ declare const IhoChat: SFCWithInstall<import("vue").DefineComponent<{
2338
2339
  isWrap: (event: KeyboardEvent) => boolean;
2339
2340
  handleInput: () => void;
2340
2341
  selectEmoji: (name: string) => void;
2342
+ insertSpace: () => void;
2341
2343
  doUpdateFile: (file: File) => Promise<string>;
2342
2344
  fileChange: (options: import("./src/types").FileOptions, chatMessageType: import("./src/constants").MESSAGE_TYPE) => Promise<void>;
2343
2345
  handleMsgSend: () => Promise<void>;
2346
+ removeSpace: () => void;
2344
2347
  doSendMessage: (contentInfo: import("../../shared/types").AnyObject) => Promise<void>;
2345
2348
  clearInput: () => void;
2346
2349
  handleRelay: ({ checkedIds, remark }: {
@@ -2282,6 +2282,7 @@ declare const _default: import("vue").DefineComponent<{
2282
2282
  HappyOutline: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
2283
2283
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
2284
2284
  ChatFooter: import("vue").DefineComponent<{}, {
2285
+ SPACE_PLACEHOLDER: string;
2285
2286
  inputRef: import("vue").Ref<HTMLDivElement | undefined>;
2286
2287
  state: {
2287
2288
  orgId: string | number;
@@ -2339,9 +2340,11 @@ declare const _default: import("vue").DefineComponent<{
2339
2340
  isWrap: (event: KeyboardEvent) => boolean;
2340
2341
  handleInput: () => void;
2341
2342
  selectEmoji: (name: string) => void;
2343
+ insertSpace: () => void;
2342
2344
  doUpdateFile: (file: File) => Promise<string>;
2343
2345
  fileChange: (options: import("./types").FileOptions, chatMessageType: import("./constants").MESSAGE_TYPE) => Promise<void>;
2344
2346
  handleMsgSend: () => Promise<void>;
2347
+ removeSpace: () => void;
2345
2348
  doSendMessage: (contentInfo: AnyObject) => Promise<void>;
2346
2349
  clearInput: () => void;
2347
2350
  handleRelay: ({ checkedIds, remark }: {
@@ -4,6 +4,7 @@ import { MESSAGE_TYPE } from '../constants';
4
4
  import { simplifyMessage } from '../utils';
5
5
  import { FileOptions } from '../types';
6
6
  declare const _default: import("vue").DefineComponent<{}, {
7
+ SPACE_PLACEHOLDER: string;
7
8
  inputRef: Ref<HTMLDivElement | undefined>;
8
9
  state: {
9
10
  orgId: string | number;
@@ -61,9 +62,11 @@ declare const _default: import("vue").DefineComponent<{}, {
61
62
  isWrap: (event: KeyboardEvent) => boolean;
62
63
  handleInput: () => void;
63
64
  selectEmoji: (name: string) => void;
65
+ insertSpace: () => void;
64
66
  doUpdateFile: (file: File) => Promise<string>;
65
67
  fileChange: (options: FileOptions, chatMessageType: MESSAGE_TYPE) => Promise<void>;
66
68
  handleMsgSend: () => Promise<void>;
69
+ removeSpace: () => void;
67
70
  doSendMessage: (contentInfo: AnyObject) => Promise<void>;
68
71
  clearInput: () => void;
69
72
  handleRelay: ({ checkedIds, remark }: {
@@ -1,4 +1,4 @@
1
- import { createElementVNode, defineComponent, ref, computed, watch, withDirectives, openBlock, createElementBlock, normalizeStyle, unref, createVNode, withCtx, Fragment, toDisplayString, createCommentVNode, renderList, createBlock, createTextVNode, mergeProps, renderSlot, vShow } from 'vue';
1
+ import { createElementVNode, defineComponent, ref, computed, onMounted, watch, withDirectives, openBlock, createElementBlock, normalizeStyle, unref, createVNode, withCtx, Fragment, toDisplayString, createCommentVNode, renderList, createBlock, createTextVNode, mergeProps, renderSlot, vShow } from 'vue';
2
2
  import { NButton, NIcon, NTooltip, NPopover, NUpload, NUploadTrigger } from 'naive-ui';
3
3
  import ChatAdd from './ChatAdd.vue.js';
4
4
  import { useData } from '../hooks/useData.js';
@@ -92,6 +92,7 @@ const _hoisted_24 = /* @__PURE__ */ createElementVNode("span", {
92
92
  var _sfc_main = /* @__PURE__ */ defineComponent({
93
93
  __name: "ChatFooter",
94
94
  setup(__props) {
95
+ const SPACE_PLACEHOLDER = '<span style="display: inline-block;width: 1px;user-select: none;" data-space="true"></span>';
95
96
  const inputRef = ref();
96
97
  const {
97
98
  state,
@@ -109,7 +110,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
109
110
  defaultValue: [state.userInfo]
110
111
  };
111
112
  });
112
- const sendBtnDisabled = computed(() => !content.value.replace(/(&nbsp;|\s|<br>)+/g, ""));
113
+ const sendBtnDisabled = computed(() => !content.value.replace(/(&nbsp;|\s|<br>|<span[^>]*data-space="true"[^>]*>[\s\S]*?<\/span>)+/g, ""));
113
114
  const isForwardDisabled = computed(() => !state.msgList.some((msgItem) => msgItem.checked));
114
115
  const callBtnDisabled = computed(() => state.showVideo || state.showMultipleVideo);
115
116
  function handleCall(chatMessageType, checkedIds = []) {
@@ -154,15 +155,29 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
154
155
  }
155
156
  function handleInput() {
156
157
  var _a;
158
+ if (!inputRef.value)
159
+ return;
157
160
  content.value = ((_a = inputRef.value) == null ? void 0 : _a.innerHTML) || "";
161
+ insertSpace();
158
162
  }
159
163
  function selectEmoji(name) {
160
164
  var _a;
161
165
  commonEmoticons.value.unshift(name);
162
166
  commonEmoticons.value = uniq(commonEmoticons.value).slice(0, 26);
167
+ if (!inputRef.value)
168
+ return;
163
169
  (_a = inputRef.value) == null ? void 0 : _a.focus();
170
+ insertSpace();
164
171
  document.execCommand("insertHTML", false, `<img data-msg=${name} data-type=${MESSAGE_TYPE.EMOJI} class="emoji--min" src=${emojis.findEmoji(name)} />`);
165
172
  }
173
+ function insertSpace() {
174
+ if (!inputRef.value)
175
+ return;
176
+ if (!inputRef.value.innerHTML || inputRef.value.innerHTML === "<br>") {
177
+ Array.from(inputRef.value.childNodes).forEach((child) => child.remove());
178
+ document.execCommand("insertHTML", false, SPACE_PLACEHOLDER);
179
+ }
180
+ }
166
181
  async function doUpdateFile(file) {
167
182
  const formData = new FormData();
168
183
  formData.append("sender", state.userInfo.id);
@@ -191,13 +206,14 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
191
206
  });
192
207
  }
193
208
  async function handleMsgSend() {
209
+ if (sendBtnDisabled.value)
210
+ return console.log("\u8BF7\u8F93\u5165\u5185\u5BB9");
211
+ removeSpace();
194
212
  const {
195
213
  innerHTML = "",
196
214
  innerText = "",
197
215
  outerText = ""
198
216
  } = inputRef.value || {};
199
- if (sendBtnDisabled.value)
200
- return console.log("\u8BF7\u8F93\u5165\u5185\u5BB9");
201
217
  let chatMessageType = MESSAGE_TYPE.TEXT;
202
218
  let msg = "";
203
219
  if (innerHTML) {
@@ -259,6 +275,12 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
259
275
  origin: "btn"
260
276
  });
261
277
  }
278
+ function removeSpace() {
279
+ if (!inputRef.value)
280
+ return;
281
+ const spaceHolders = inputRef.value.querySelectorAll('[data-space="true"]');
282
+ spaceHolders.forEach((space) => space.remove());
283
+ }
262
284
  async function doSendMessage(contentInfo) {
263
285
  const {
264
286
  chatMessageType = MESSAGE_TYPE.TEXT,
@@ -288,7 +310,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
288
310
  }
289
311
  function clearInput() {
290
312
  if (inputRef.value) {
291
- inputRef.value.innerHTML = "";
313
+ inputRef.value.innerHTML = SPACE_PLACEHOLDER;
292
314
  }
293
315
  content.value = "";
294
316
  }
@@ -323,6 +345,11 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
323
345
  });
324
346
  state.isForward = false;
325
347
  }
348
+ onMounted(() => {
349
+ if (inputRef.value) {
350
+ inputRef.value.innerHTML = SPACE_PLACEHOLDER;
351
+ }
352
+ });
326
353
  watch(() => [state.currentReferenceMsg, state.currentReEditMsg], ([currentReferenceMsg, currentReEditMsg]) => {
327
354
  var _a;
328
355
  if (currentReferenceMsg || currentReEditMsg) {
@@ -225,7 +225,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
225
225
  round: "",
226
226
  size: 100,
227
227
  onClickCapture: _cache[0] || (_cache[0] = ($event) => showLargeAvatar.value = true)
228
- }, null, 8, ["src"]), createCommentVNode(' <n-upload abstract accept="image/*" @change="onChange">\n <n-upload-trigger #="{ handleClick }" abstract>\n <n-button\n circle\n secondary\n class="edit-avatar"\n v-show="userDetail.id === state.userInfo.id"\n @click="handleClick"\n >\n <template #icon>\n <n-icon size="16" color="#666666" :component="Camera" />\n </template>\n </n-button>\n </n-upload-trigger>\n </n-upload> '), createElementVNode("div", _hoisted_4, [createElementVNode("h4", null, [createElementVNode("label", _hoisted_5, toDisplayString(userDetail.name), 1), withDirectives(createElementVNode("label", {
228
+ }, null, 8, ["src"]), createCommentVNode(' <n-upload abstract accept="image/*" @change="onChange">\r\n <n-upload-trigger #="{ handleClick }" abstract>\r\n <n-button\r\n circle\r\n secondary\r\n class="edit-avatar"\r\n v-show="userDetail.id === state.userInfo.id"\r\n @click="handleClick"\r\n >\r\n <template #icon>\r\n <n-icon size="16" color="#666666" :component="Camera" />\r\n </template>\r\n </n-button>\r\n </n-upload-trigger>\r\n </n-upload> '), createElementVNode("div", _hoisted_4, [createElementVNode("h4", null, [createElementVNode("label", _hoisted_5, toDisplayString(userDetail.name), 1), withDirectives(createElementVNode("label", {
229
229
  class: normalizeClass(["iho-chatRole", unref(isDoctorRole)(userDetail.roleInfo) ? "isDoctor" : ""])
230
230
  }, toDisplayString(unref(getRoleName)(userDetail.roleInfo)), 3), [[vShow, unref(getRoleName)(userDetail.roleInfo)]])]), createElementVNode("p", null, toDisplayString(userDetail.orgName), 1)]), createVNode(unref(NButton), {
231
231
  strong: "",
@@ -65,6 +65,7 @@ function useDraggable(target, options = {}) {
65
65
  topRightElement();
66
66
  }
67
67
  };
68
+ const clamp = (val, min, max) => Math.max(min, Math.min(val, max));
68
69
  const onMouseDown = (e) => {
69
70
  var _a;
70
71
  if (!target.value)
@@ -87,12 +88,20 @@ function useDraggable(target, options = {}) {
87
88
  };
88
89
  const onMouseMove = (e) => {
89
90
  var _a;
90
- if (!isDragging.value)
91
+ if (!isDragging.value || !target.value)
91
92
  return;
92
93
  const dx = e.clientX - startMousePos.value.x;
93
94
  const dy = e.clientY - startMousePos.value.y;
94
- x.value = startPos.value.x + dx;
95
- y.value = startPos.value.y + dy;
95
+ const {
96
+ width,
97
+ height
98
+ } = target.value.getBoundingClientRect();
99
+ const minX = 0;
100
+ const minY = 0;
101
+ const maxX = window.innerWidth - width;
102
+ const maxY = window.innerHeight - height;
103
+ x.value = clamp(startPos.value.x + dx, minX, maxX);
104
+ y.value = clamp(startPos.value.y + dy, minY, maxY);
96
105
  updatePosition();
97
106
  (_a = options.onDrag) == null ? void 0 : _a.call(options, {
98
107
  x: x.value,
package/es/env.d.ts CHANGED
@@ -1,25 +1,25 @@
1
- /// <reference types="vite/client" />
2
-
3
- interface ImportMetaEnv {
4
- readonly VITE_APP_TYPE: string;
5
- // 更多环境变量...
6
- }
7
-
8
- interface ImportMeta {
9
- readonly env: ImportMetaEnv;
10
- }
11
-
12
- declare module '*.vue' {
13
- // @ts-ignore
14
- import type { App, defineComponent } from 'vue';
15
- // // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/ban-types
16
- // // const component: DefineComponent<{}, {}, any>
17
- const component: ReturnType<typeof defineComponent> & {
18
- install(app: App): void;
19
- };
20
- // @ts-ignore
21
- export default component;
22
- }
23
-
24
- declare module '*.js';
25
-
1
+ /// <reference types="vite/client" />
2
+
3
+ interface ImportMetaEnv {
4
+ readonly VITE_APP_TYPE: string;
5
+ // 更多环境变量...
6
+ }
7
+
8
+ interface ImportMeta {
9
+ readonly env: ImportMetaEnv;
10
+ }
11
+
12
+ declare module '*.vue' {
13
+ // @ts-ignore
14
+ import type { App, defineComponent } from 'vue';
15
+ // // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/ban-types
16
+ // // const component: DefineComponent<{}, {}, any>
17
+ const component: ReturnType<typeof defineComponent> & {
18
+ install(app: App): void;
19
+ };
20
+ // @ts-ignore
21
+ export default component;
22
+ }
23
+
24
+ declare module '*.js';
25
+
@@ -1,5 +1,5 @@
1
1
  var name = "@cnhis-design-vue/shared";
2
- var version = "3.3.3-release.7";
2
+ var version = "3.3.3-release.8";
3
3
  var main = "index.ts";
4
4
  var peerDependencies = {
5
5
  "naive-ui": "^2.30.0",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cnhis-design-vue",
3
- "version": "3.3.3-release.7",
3
+ "version": "3.3.3-release.8",
4
4
  "license": "ISC",
5
5
  "module": "./es/components/index.js",
6
6
  "main": "./es/components/index.js",
@@ -73,5 +73,5 @@
73
73
  "iOS 7",
74
74
  "last 3 iOS versions"
75
75
  ],
76
- "gitHead": "3ba2f47c4d7fbdc7c7fa2a9a0183f57902b8e59a"
76
+ "gitHead": "1c27f8a457305e58e69469ef213671114ea1dbde"
77
77
  }