cnhis-design-vue 3.3.1-beta.18 → 3.3.1-beta.19

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 (94) hide show
  1. package/README.md +87 -87
  2. package/es/components/ai-chat/index.d.ts +58 -20
  3. package/es/components/ai-chat/src/Index.vue.d.ts +58 -20
  4. package/es/components/ai-chat/src/Index.vue2.js +1 -1
  5. package/es/components/ai-chat/src/api/index.d.ts +2 -0
  6. package/es/components/ai-chat/src/api/index.js +1 -1
  7. package/es/components/ai-chat/src/components/ChatAudio.vue.d.ts +5 -3
  8. package/es/components/ai-chat/src/components/ChatAudio.vue2.js +1 -1
  9. package/es/components/ai-chat/src/components/ChatBI.vue.d.ts +2 -2
  10. package/es/components/ai-chat/src/components/ChatBI.vue2.js +1 -1
  11. package/es/components/ai-chat/src/components/ChatCard.js +1 -1
  12. package/es/components/ai-chat/src/components/ChatFooter.vue.d.ts +19 -17
  13. package/es/components/ai-chat/src/components/ChatFooter.vue2.js +1 -1
  14. package/es/components/ai-chat/src/components/ChatMain.js +1 -1
  15. package/es/components/ai-chat/src/components/ChatMainDefault.js +1 -1
  16. package/es/components/ai-chat/src/components/ChatPatient.vue.d.ts +2 -2
  17. package/es/components/ai-chat/src/components/ChatPatient.vue2.js +1 -1
  18. package/es/components/ai-chat/src/components/ChatPrompt.vue.d.ts +2 -2
  19. package/es/components/ai-chat/src/components/ChatPrompt.vue2.js +1 -1
  20. package/es/components/ai-chat/src/components/ChatRight.vue.d.ts +3 -2
  21. package/es/components/ai-chat/src/components/ChatRight.vue2.js +1 -1
  22. package/es/components/ai-chat/src/components/card/JsonCard.js +1 -1
  23. package/es/components/ai-chat/src/hooks/index.d.ts +2 -0
  24. package/es/components/ai-chat/src/hooks/index.js +1 -0
  25. package/es/components/ai-chat/src/hooks/useData.d.ts +47 -0
  26. package/es/components/ai-chat/src/hooks/useData.js +1 -0
  27. package/es/components/ai-chat/src/hooks/useWebsocket.d.ts +2 -1
  28. package/es/components/ai-chat/src/hooks/useWebsocket.js +1 -1
  29. package/es/components/ai-chat/src/types/index.d.ts +1 -3
  30. package/es/components/ai-chat/src/types/index.js +1 -1
  31. package/es/components/bpmn-workflow/src/BpmnWorkflow.d.ts +0 -0
  32. package/es/components/bpmn-workflow/types/BpmnViewer.d.ts +1 -0
  33. package/es/components/bpmn-workflow/types/ModelingModule.d.ts +1 -0
  34. package/es/components/bpmn-workflow/types/MoveCanvasModule.d.ts +1 -0
  35. package/es/components/card-render/src/components/index.d.ts +23 -23
  36. package/es/components/classification/src/components/table-modal/index.vue.d.ts +0 -3
  37. package/es/components/field-set/src/FieldColor.vue.d.ts +1 -1
  38. package/es/components/field-set/src/FieldFilter.vue.d.ts +1 -1
  39. package/es/components/field-set/src/FieldSet.vue.d.ts +1 -1
  40. package/es/components/field-set/src/components/table-row.vue.d.ts +1 -1
  41. package/es/components/form-render/src/hooks/useBusinessBinding.js +1 -1
  42. package/es/components/iho-chat/index.d.ts +61 -0
  43. package/es/components/iho-chat/src/Index.vue.d.ts +61 -0
  44. package/es/components/iho-chat/src/components/ChatAdd.vue.d.ts +1 -0
  45. package/es/components/iho-chat/src/components/ChatAdd.vue2.js +1 -1
  46. package/es/components/iho-chat/src/components/ChatFile.vue.d.ts +1 -0
  47. package/es/components/iho-chat/src/components/ChatFooter.vue.d.ts +1 -0
  48. package/es/components/iho-chat/src/components/ChatHeader.vue.d.ts +57 -0
  49. package/es/components/iho-chat/src/components/ChatMain.vue.d.ts +1 -0
  50. package/es/components/iho-chat/src/components/ChatRecord.vue.d.ts +54 -0
  51. package/es/components/iho-chat/src/components/ChatRecord.vue2.js +1 -1
  52. package/es/components/iho-chat/src/components/ChatSet.vue.d.ts +1 -0
  53. package/es/components/iho-chat/src/components/MultipleVideo.vue.d.ts +1 -0
  54. package/es/components/iho-chat/src/components/PersonProfile.vue2.js +1 -1
  55. package/es/components/iho-table/src/plugins/filterRenderPlugin/index.js +1 -1
  56. package/es/components/scale-view/src/ScaleView.vue2.js +1 -1
  57. package/es/env.d.ts +25 -25
  58. package/es/shared/assets/img/ai__avatar.png.js +1 -1
  59. package/es/shared/assets/img/defaultCover/10review_successful.png.js +1 -1
  60. package/es/shared/assets/img/defaultCover/11review_fail.png.js +1 -1
  61. package/es/shared/assets/img/defaultCover/12no_setting.png.js +1 -1
  62. package/es/shared/assets/img/defaultCover/13no_menu_setting.png.js +1 -1
  63. package/es/shared/assets/img/defaultCover/14no_call_setting.png.js +1 -1
  64. package/es/shared/assets/img/defaultCover/15no_use_tag.png.js +1 -1
  65. package/es/shared/assets/img/defaultCover/16no_table_data.png.js +1 -1
  66. package/es/shared/assets/img/defaultCover/1location.png.js +1 -1
  67. package/es/shared/assets/img/defaultCover/2notfound.png.js +1 -1
  68. package/es/shared/assets/img/defaultCover/3loading.png.js +1 -1
  69. package/es/shared/assets/img/defaultCover/4no_permission.png.js +1 -1
  70. package/es/shared/assets/img/defaultCover/5no_data.png.js +1 -1
  71. package/es/shared/assets/img/defaultCover/6no_network.png.js +1 -1
  72. package/es/shared/assets/img/defaultCover/7no_doctor.png.js +1 -1
  73. package/es/shared/assets/img/defaultCover/8system_error.png.js +1 -1
  74. package/es/shared/assets/img/defaultCover/9system_upgrade.png.js +1 -1
  75. package/es/shared/assets/img/failure.png.js +1 -1
  76. package/es/shared/assets/img/file-emr.png.js +1 -1
  77. package/es/shared/assets/img/file.png.js +1 -1
  78. package/es/shared/assets/img/logo.png.js +1 -1
  79. package/es/shared/assets/img/no-permission.png.js +1 -1
  80. package/es/shared/assets/img/nodata.png.js +1 -1
  81. package/es/shared/assets/img/notfound.png.js +1 -1
  82. package/es/shared/assets/img/qr.png.js +1 -1
  83. package/es/shared/assets/img/success.png.js +1 -1
  84. package/es/shared/assets/img/table_style_2.png.js +1 -1
  85. package/es/shared/assets/img/use.png.js +1 -1
  86. package/es/shared/assets/img/video.png.js +1 -1
  87. package/es/shared/assets/img/video_default_cover.png.js +1 -1
  88. package/es/shared/assets/img/xb_big.png.js +1 -1
  89. package/es/shared/assets/img/xb_small.png.js +1 -1
  90. package/es/shared/components/VueDraggable/src/vuedraggable.d.ts +86 -0
  91. package/es/shared/package.json.js +1 -1
  92. package/es/shared/utils/fabricjs/index.d.ts +6823 -0
  93. package/es/shared/utils/tapable/index.d.ts +139 -0
  94. package/package.json +3 -2
@@ -534,9 +534,9 @@ declare const _default: import("vue").DefineComponent<{
534
534
  }>;
535
535
  developMode: boolean;
536
536
  draggable: boolean;
537
+ isHighlightRow: boolean;
537
538
  idx: number;
538
539
  isHighlight: boolean;
539
- isHighlightRow: boolean;
540
540
  isFieldSet: boolean;
541
541
  fieldDescribeMode: "column" | "tooltip";
542
542
  hideExpressionOption: AnyObject[];
@@ -563,9 +563,9 @@ declare const _default: import("vue").DefineComponent<{
563
563
  }>;
564
564
  developMode: boolean;
565
565
  draggable: boolean;
566
+ isHighlightRow: boolean;
566
567
  idx: number;
567
568
  isHighlight: boolean;
568
- isHighlightRow: boolean;
569
569
  isFieldSet: boolean;
570
570
  fieldDescribeMode: "column" | "tooltip";
571
571
  hideExpressionOption: AnyObject[];
@@ -722,9 +722,9 @@ declare const _default: import("vue").DefineComponent<{
722
722
  }>;
723
723
  developMode: boolean;
724
724
  draggable: boolean;
725
+ isHighlightRow: boolean;
725
726
  idx: number;
726
727
  isHighlight: boolean;
727
- isHighlightRow: boolean;
728
728
  isFieldSet: boolean;
729
729
  fieldDescribeMode: "column" | "tooltip";
730
730
  hideExpressionOption: AnyObject[];
@@ -383,9 +383,9 @@ declare const _default: import("vue").DefineComponent<{
383
383
  }>;
384
384
  developMode: boolean;
385
385
  draggable: boolean;
386
+ isHighlightRow: boolean;
386
387
  idx: number;
387
388
  isHighlight: boolean;
388
- isHighlightRow: boolean;
389
389
  isFieldSet: boolean;
390
390
  fieldDescribeMode: "column" | "tooltip";
391
391
  hideExpressionOption: AnyObject[];
@@ -1 +1 @@
1
- import{isField as e}from"@formily/core";import{Path as t}from"@formily/path";import{isString as s}from"@vueuse/core";import{format as i}from"date-fns";import{isFunction as r,isNumber as n}from"lodash-es";import{FIELD_BUSINESS_TYPE as l}from"../constants/index.js";import"vue";import"../../../../shared/utils/index.js";import"@vicons/ionicons5";import"@vue/shared";import"naive-ui";import"../components/renderer/text.js";import{isIdCard as a,parseIdCard as o,parseAgeFromContext as u,parseBirthday as h,parseAge2Birthday as y}from"../utils/business.js";class p{constructor(e){this.businessFormatter=e,this.triggerDisabled=!1,this.typeLockMap=new Map,this.typeCollector=new Map,this.fieldNameCollector=new Map,this.changeHandlerMap=new Map([])}formatter(...e){return r(this.businessFormatter)?this.businessFormatter(...e):e[0].value}collect(e,t){this.typeCollector.set(e,t),this.fieldNameCollector.set(t.val_key,e)}getField(e){return this.typeCollector.get(e)}getFieldInstanceByType(e,t){const s=this.getField(t);return s?e.query(s.val_key).take():null}getType(e){return this.fieldNameCollector.get(e)}getValueByField(t,s){const i=t.query(s).take();return e(i)?i.value:null}getValueByType(e,t){const s=this.getField(t);return s?this.getValueByField(e,s.val_key):null}setValueByType(e,i,r,n){const l=this.getField(i);l&&e.setFieldState(l.val_key,(e=>{e.value!==r&&(!this.typeLockMap.get(i)&&this.typeLockMap.set(i,1),this.triggerDisabled&&s(this.triggerDisabled)&&t.parse(this.triggerDisabled).match(l.val_key)||(e.value=this.formatter({value:r,type:i,fieldKey:l.val_key,from:n})))}))}registerChangeBusiness(e,t){return this.changeHandlerMap.set(e,t),this}trigger(e,t,s="change"){var i;if(!0===this.triggerDisabled)return;const r=this.getType(t);if(!r)return;if("change"===s&&this.typeLockMap.get(r))return this.typeLockMap.set(r,0);const n="change"===s?this.changeHandlerMap:null;n&&(null==(i=n.get(r))||i.call(this,e))}}function c(){function e(){var e;const t=this.getField(l.BIRTHDAY);return null!=(e=null==t?void 0:t.date_format)?e:"yyyy-MM-dd HH:mm"}function t(t){const r=this.getValueByType(t,l.ID_CARD);if(!r||!s(r)||!a(r))return;const n=o(r),{age:h,ageUnit:y}=u(n);null!=y&&this.setValueByType(t,l.AGE_UNIT,y,l.ID_CARD),null!=h&&this.setValueByType(t,l.AGE,h,l.ID_CARD),null!=n.sex&&this.setValueByType(t,l.SEX,n.sex,l.ID_CARD),null!=n.birthday&&this.setValueByType(t,l.BIRTHDAY,i(new Date(n.birthday),e.call(this)),l.ID_CARD)}function r(e){const t=this.getValueByType(e,l.BIRTHDAY);if(!s(t))return;const{age:i,ageUnit:r}=u(h(t));this.setValueByType(e,l.AGE_UNIT,r,l.BIRTHDAY),this.setValueByType(e,l.AGE,i,l.BIRTHDAY)}function c(t){return function(i){const r=this.getValueByType(i,l.AGE),a=this.getValueByType(i,l.AGE_UNIT);(s(r)||n(r))&&""!==r&&s(a)&&""!==a&&this.setValueByType(i,l.BIRTHDAY,y(+r,a,e.call(this)),t)}}return{create:function(e){return new p(e).registerChangeBusiness(l.ID_CARD,t).registerChangeBusiness(l.AGE_UNIT,c(l.AGE_UNIT)).registerChangeBusiness(l.AGE,c(l.AGE)).registerChangeBusiness(l.BIRTHDAY,r)}}}export{p as BusinessCollector,c as useBusinessBinding};
1
+ import{isField as e}from"@formily/core";import{Path as t}from"@formily/path";import{format as s}from"date-fns";import{isFunction as i,isString as r,isNumber as n}from"lodash-es";import{FIELD_BUSINESS_TYPE as l}from"../constants/index.js";import"vue";import"../../../../shared/utils/index.js";import"@vicons/ionicons5";import"@vue/shared";import"@vueuse/core";import"naive-ui";import"../components/renderer/text.js";import{isIdCard as a,parseIdCard as o,parseAgeFromContext as u,parseBirthday as h,parseAge2Birthday as y}from"../utils/business.js";class p{constructor(e){this.businessFormatter=e,this.triggerDisabled=!1,this.typeLockMap=new Map,this.typeCollector=new Map,this.fieldNameCollector=new Map,this.changeHandlerMap=new Map([])}formatter(...e){return i(this.businessFormatter)?this.businessFormatter(...e):e[0].value}collect(e,t){this.typeCollector.set(e,t),this.fieldNameCollector.set(t.val_key,e)}getField(e){return this.typeCollector.get(e)}getFieldInstanceByType(e,t){const s=this.getField(t);return s?e.query(s.val_key).take():null}getType(e){return this.fieldNameCollector.get(e)}getValueByField(t,s){const i=t.query(s).take();return e(i)?i.value:null}getValueByType(e,t){const s=this.getField(t);return s?this.getValueByField(e,s.val_key):null}setValueByType(e,s,i,n){const l=this.getField(s);l&&e.setFieldState(l.val_key,(e=>{e.value!==i&&(!this.typeLockMap.get(s)&&this.typeLockMap.set(s,1),this.triggerDisabled&&r(this.triggerDisabled)&&t.parse(this.triggerDisabled).match(l.val_key)||(e.value=this.formatter({value:i,type:s,fieldKey:l.val_key,from:n})))}))}registerChangeBusiness(e,t){return this.changeHandlerMap.set(e,t),this}trigger(e,t,s="change"){var i;if(!0===this.triggerDisabled)return;const r=this.getType(t);if(!r)return;if("change"===s&&this.typeLockMap.get(r))return this.typeLockMap.set(r,0);const n="change"===s?this.changeHandlerMap:null;n&&(null==(i=n.get(r))||i.call(this,e))}}function c(){function e(){var e;const t=this.getField(l.BIRTHDAY);return null!=(e=null==t?void 0:t.date_format)?e:"yyyy-MM-dd HH:mm"}function t(t){const i=this.getValueByType(t,l.ID_CARD);if(!i||!r(i)||!a(i))return;const n=o(i),{age:h,ageUnit:y}=u(n);null!=y&&this.setValueByType(t,l.AGE_UNIT,y,l.ID_CARD),null!=h&&this.setValueByType(t,l.AGE,h,l.ID_CARD),null!=n.sex&&this.setValueByType(t,l.SEX,n.sex,l.ID_CARD),null!=n.birthday&&this.setValueByType(t,l.BIRTHDAY,s(new Date(n.birthday),e.call(this)),l.ID_CARD)}function i(e){const t=this.getValueByType(e,l.BIRTHDAY);if(!r(t))return;const{age:s,ageUnit:i}=u(h(t));this.setValueByType(e,l.AGE_UNIT,i,l.BIRTHDAY),this.setValueByType(e,l.AGE,s,l.BIRTHDAY)}function c(t){return function(s){const i=this.getValueByType(s,l.AGE),a=this.getValueByType(s,l.AGE_UNIT);(r(i)||n(i))&&""!==i&&r(a)&&""!==a&&this.setValueByType(s,l.BIRTHDAY,y(+i,a,e.call(this)),t)}}return{create:function(e){return new p(e).registerChangeBusiness(l.ID_CARD,t).registerChangeBusiness(l.AGE_UNIT,c(l.AGE_UNIT)).registerChangeBusiness(l.AGE,c(l.AGE)).registerChangeBusiness(l.BIRTHDAY,i)}}}export{p as BusinessCollector,c as useBusinessBinding};
@@ -784,6 +784,7 @@ declare const IhoChat: SFCWithInstall<import("vue").DefineComponent<{
784
784
  currentTabKey: import("vue").ComputedRef<any>;
785
785
  showAllCheckbox: import("vue").ComputedRef<boolean>;
786
786
  getOrgList: () => Promise<void>;
787
+ handleSearchInput: () => void;
787
788
  setUserTotal: (tree: import("../../shared/types").AnyObject[]) => void;
788
789
  getDisabled: (id: string | number) => boolean;
789
790
  handleClickCheckbox: (option: import("../../shared/types").AnyObject) => Promise<void>;
@@ -1064,6 +1065,7 @@ declare const IhoChat: SFCWithInstall<import("vue").DefineComponent<{
1064
1065
  currentTabKey: import("vue").ComputedRef<any>;
1065
1066
  showAllCheckbox: import("vue").ComputedRef<boolean>;
1066
1067
  getOrgList: () => Promise<void>;
1068
+ handleSearchInput: () => void;
1067
1069
  setUserTotal: (tree: import("../../shared/types").AnyObject[]) => void;
1068
1070
  getDisabled: (id: string | number) => boolean;
1069
1071
  handleClickCheckbox: (option: import("../../shared/types").AnyObject) => Promise<void>;
@@ -1352,6 +1354,60 @@ declare const IhoChat: SFCWithInstall<import("vue").DefineComponent<{
1352
1354
  default: string[][];
1353
1355
  findEmoji(name: string): any;
1354
1356
  };
1357
+ MessageEvent: import("vue").DefineComponent<{
1358
+ data: {
1359
+ type: import("vue").PropType<import("../../shared/types").AnyObject>;
1360
+ required: true;
1361
+ };
1362
+ }, {
1363
+ props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
1364
+ data: {
1365
+ type: import("vue").PropType<import("../../shared/types").AnyObject>;
1366
+ required: true;
1367
+ };
1368
+ }>> & {}>>;
1369
+ state: {
1370
+ orgId: string | number;
1371
+ currentSessionItem: import("../../shared/types").AnyObject;
1372
+ id: string;
1373
+ userInfo: import("../../shared/types").AnyObject;
1374
+ msgList: import("../../shared/types").AnyObject[];
1375
+ currentMsg: import("../../shared/types").AnyObject;
1376
+ isAppendMsg: boolean;
1377
+ sessionList: import("../../shared/types").AnyObject[];
1378
+ isChangeSession: boolean;
1379
+ updateSessionItem: import("../../shared/types").AnyObject;
1380
+ isUpdateSession: boolean;
1381
+ currentReferenceMsg: import("../../shared/types").AnyObject | null;
1382
+ currentReEditMsg: import("../../shared/types").AnyObject | null;
1383
+ showVideo: boolean;
1384
+ currentAVMsg: import("../../shared/types").AnyObject;
1385
+ currentGroupUser: import("../../shared/types").AnyObject[];
1386
+ showMultipleVideo: boolean;
1387
+ userDetail: {
1388
+ show: boolean;
1389
+ position: {
1390
+ x: number;
1391
+ y: number;
1392
+ };
1393
+ userId: string;
1394
+ info: import("../../shared/types").AnyObject | null;
1395
+ };
1396
+ isForward: boolean;
1397
+ };
1398
+ setUserDetail: (event: MouseEvent, userDetail: import("../../shared/types").AnyObject) => void;
1399
+ inviter: import("vue").Ref<any>;
1400
+ invitee: import("vue").Ref<any[]>;
1401
+ isValidJSON: (str: string) => boolean;
1402
+ getTask: (_id: string | number, arrRes: import("../../shared/types").AnyObject[]) => () => Promise<unknown>;
1403
+ getEventContent: (data: import("../../shared/types").AnyObject) => Promise<void>;
1404
+ NButton: any;
1405
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
1406
+ data: {
1407
+ type: import("vue").PropType<import("../../shared/types").AnyObject>;
1408
+ required: true;
1409
+ };
1410
+ }>>, {}>;
1355
1411
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
1356
1412
  visible: {
1357
1413
  type: BooleanConstructor;
@@ -1488,6 +1544,7 @@ declare const IhoChat: SFCWithInstall<import("vue").DefineComponent<{
1488
1544
  currentTabKey: import("vue").ComputedRef<any>;
1489
1545
  showAllCheckbox: import("vue").ComputedRef<boolean>;
1490
1546
  getOrgList: () => Promise<void>;
1547
+ handleSearchInput: () => void;
1491
1548
  setUserTotal: (tree: import("../../shared/types").AnyObject[]) => void;
1492
1549
  getDisabled: (id: string | number) => boolean;
1493
1550
  handleClickCheckbox: (option: import("../../shared/types").AnyObject) => Promise<void>;
@@ -2067,6 +2124,7 @@ declare const IhoChat: SFCWithInstall<import("vue").DefineComponent<{
2067
2124
  currentTabKey: import("vue").ComputedRef<any>;
2068
2125
  showAllCheckbox: import("vue").ComputedRef<boolean>;
2069
2126
  getOrgList: () => Promise<void>;
2127
+ handleSearchInput: () => void;
2070
2128
  setUserTotal: (tree: import("../../shared/types").AnyObject[]) => void;
2071
2129
  getDisabled: (id: string | number) => boolean;
2072
2130
  handleClickCheckbox: (option: import("../../shared/types").AnyObject) => Promise<void>;
@@ -2345,6 +2403,7 @@ declare const IhoChat: SFCWithInstall<import("vue").DefineComponent<{
2345
2403
  currentTabKey: import("vue").ComputedRef<any>;
2346
2404
  showAllCheckbox: import("vue").ComputedRef<boolean>;
2347
2405
  getOrgList: () => Promise<void>;
2406
+ handleSearchInput: () => void;
2348
2407
  setUserTotal: (tree: import("../../shared/types").AnyObject[]) => void;
2349
2408
  getDisabled: (id: string | number) => boolean;
2350
2409
  handleClickCheckbox: (option: import("../../shared/types").AnyObject) => Promise<void>;
@@ -2684,6 +2743,7 @@ declare const IhoChat: SFCWithInstall<import("vue").DefineComponent<{
2684
2743
  currentTabKey: import("vue").ComputedRef<any>;
2685
2744
  showAllCheckbox: import("vue").ComputedRef<boolean>;
2686
2745
  getOrgList: () => Promise<void>;
2746
+ handleSearchInput: () => void;
2687
2747
  setUserTotal: (tree: import("../../shared/types").AnyObject[]) => void;
2688
2748
  getDisabled: (id: string | number) => boolean;
2689
2749
  handleClickCheckbox: (option: import("../../shared/types").AnyObject) => Promise<void>;
@@ -3053,6 +3113,7 @@ declare const IhoChat: SFCWithInstall<import("vue").DefineComponent<{
3053
3113
  currentTabKey: import("vue").ComputedRef<any>;
3054
3114
  showAllCheckbox: import("vue").ComputedRef<boolean>;
3055
3115
  getOrgList: () => Promise<void>;
3116
+ handleSearchInput: () => void;
3056
3117
  setUserTotal: (tree: import("../../shared/types").AnyObject[]) => void;
3057
3118
  getDisabled: (id: string | number) => boolean;
3058
3119
  handleClickCheckbox: (option: import("../../shared/types").AnyObject) => Promise<void>;
@@ -785,6 +785,7 @@ declare const _default: import("vue").DefineComponent<{
785
785
  currentTabKey: import("vue").ComputedRef<any>;
786
786
  showAllCheckbox: import("vue").ComputedRef<boolean>;
787
787
  getOrgList: () => Promise<void>;
788
+ handleSearchInput: () => void;
788
789
  setUserTotal: (tree: AnyObject[]) => void;
789
790
  getDisabled: (id: string | number) => boolean;
790
791
  handleClickCheckbox: (option: AnyObject) => Promise<void>;
@@ -1065,6 +1066,7 @@ declare const _default: import("vue").DefineComponent<{
1065
1066
  currentTabKey: import("vue").ComputedRef<any>;
1066
1067
  showAllCheckbox: import("vue").ComputedRef<boolean>;
1067
1068
  getOrgList: () => Promise<void>;
1069
+ handleSearchInput: () => void;
1068
1070
  setUserTotal: (tree: AnyObject[]) => void;
1069
1071
  getDisabled: (id: string | number) => boolean;
1070
1072
  handleClickCheckbox: (option: AnyObject) => Promise<void>;
@@ -1353,6 +1355,60 @@ declare const _default: import("vue").DefineComponent<{
1353
1355
  default: string[][];
1354
1356
  findEmoji(name: string): any;
1355
1357
  };
1358
+ MessageEvent: import("vue").DefineComponent<{
1359
+ data: {
1360
+ type: PropType<AnyObject>;
1361
+ required: true;
1362
+ };
1363
+ }, {
1364
+ props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
1365
+ data: {
1366
+ type: PropType<AnyObject>;
1367
+ required: true;
1368
+ };
1369
+ }>> & {}>>;
1370
+ state: {
1371
+ orgId: string | number;
1372
+ currentSessionItem: AnyObject;
1373
+ id: string;
1374
+ userInfo: AnyObject;
1375
+ msgList: AnyObject[];
1376
+ currentMsg: AnyObject;
1377
+ isAppendMsg: boolean;
1378
+ sessionList: AnyObject[];
1379
+ isChangeSession: boolean;
1380
+ updateSessionItem: AnyObject;
1381
+ isUpdateSession: boolean;
1382
+ currentReferenceMsg: AnyObject | null;
1383
+ currentReEditMsg: AnyObject | null;
1384
+ showVideo: boolean;
1385
+ currentAVMsg: AnyObject;
1386
+ currentGroupUser: AnyObject[];
1387
+ showMultipleVideo: boolean;
1388
+ userDetail: {
1389
+ show: boolean;
1390
+ position: {
1391
+ x: number;
1392
+ y: number;
1393
+ };
1394
+ userId: string;
1395
+ info: AnyObject | null;
1396
+ };
1397
+ isForward: boolean;
1398
+ };
1399
+ setUserDetail: (event: MouseEvent, userDetail: AnyObject) => void;
1400
+ inviter: import("vue").Ref<any>;
1401
+ invitee: import("vue").Ref<any[]>;
1402
+ isValidJSON: (str: string) => boolean;
1403
+ getTask: (_id: string | number, arrRes: AnyObject[]) => () => Promise<unknown>;
1404
+ getEventContent: (data: AnyObject) => Promise<void>;
1405
+ NButton: any;
1406
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
1407
+ data: {
1408
+ type: PropType<AnyObject>;
1409
+ required: true;
1410
+ };
1411
+ }>>, {}>;
1356
1412
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
1357
1413
  visible: {
1358
1414
  type: BooleanConstructor;
@@ -1489,6 +1545,7 @@ declare const _default: import("vue").DefineComponent<{
1489
1545
  currentTabKey: import("vue").ComputedRef<any>;
1490
1546
  showAllCheckbox: import("vue").ComputedRef<boolean>;
1491
1547
  getOrgList: () => Promise<void>;
1548
+ handleSearchInput: () => void;
1492
1549
  setUserTotal: (tree: AnyObject[]) => void;
1493
1550
  getDisabled: (id: string | number) => boolean;
1494
1551
  handleClickCheckbox: (option: AnyObject) => Promise<void>;
@@ -2068,6 +2125,7 @@ declare const _default: import("vue").DefineComponent<{
2068
2125
  currentTabKey: import("vue").ComputedRef<any>;
2069
2126
  showAllCheckbox: import("vue").ComputedRef<boolean>;
2070
2127
  getOrgList: () => Promise<void>;
2128
+ handleSearchInput: () => void;
2071
2129
  setUserTotal: (tree: AnyObject[]) => void;
2072
2130
  getDisabled: (id: string | number) => boolean;
2073
2131
  handleClickCheckbox: (option: AnyObject) => Promise<void>;
@@ -2346,6 +2404,7 @@ declare const _default: import("vue").DefineComponent<{
2346
2404
  currentTabKey: import("vue").ComputedRef<any>;
2347
2405
  showAllCheckbox: import("vue").ComputedRef<boolean>;
2348
2406
  getOrgList: () => Promise<void>;
2407
+ handleSearchInput: () => void;
2349
2408
  setUserTotal: (tree: AnyObject[]) => void;
2350
2409
  getDisabled: (id: string | number) => boolean;
2351
2410
  handleClickCheckbox: (option: AnyObject) => Promise<void>;
@@ -2685,6 +2744,7 @@ declare const _default: import("vue").DefineComponent<{
2685
2744
  currentTabKey: import("vue").ComputedRef<any>;
2686
2745
  showAllCheckbox: import("vue").ComputedRef<boolean>;
2687
2746
  getOrgList: () => Promise<void>;
2747
+ handleSearchInput: () => void;
2688
2748
  setUserTotal: (tree: AnyObject[]) => void;
2689
2749
  getDisabled: (id: string | number) => boolean;
2690
2750
  handleClickCheckbox: (option: AnyObject) => Promise<void>;
@@ -3054,6 +3114,7 @@ declare const _default: import("vue").DefineComponent<{
3054
3114
  currentTabKey: import("vue").ComputedRef<any>;
3055
3115
  showAllCheckbox: import("vue").ComputedRef<boolean>;
3056
3116
  getOrgList: () => Promise<void>;
3117
+ handleSearchInput: () => void;
3057
3118
  setUserTotal: (tree: AnyObject[]) => void;
3058
3119
  getDisabled: (id: string | number) => boolean;
3059
3120
  handleClickCheckbox: (option: AnyObject) => Promise<void>;
@@ -130,6 +130,7 @@ declare const _default: import("vue").DefineComponent<{
130
130
  currentTabKey: import("vue").ComputedRef<any>;
131
131
  showAllCheckbox: import("vue").ComputedRef<boolean>;
132
132
  getOrgList: () => Promise<void>;
133
+ handleSearchInput: () => void;
133
134
  setUserTotal: (tree: AnyObject[]) => void;
134
135
  getDisabled: (id: string | number) => boolean;
135
136
  handleClickCheckbox: (option: AnyObject) => Promise<void>;
@@ -1 +1 @@
1
- import{createElementVNode as e,defineComponent as l,ref as a,computed as n,watch as o,openBlock as t,createElementBlock as i,Fragment as r,createVNode as u,unref as s,withCtx as d,createCommentVNode as c,createBlock as v,renderList as p,toDisplayString as f,createTextVNode as g,withDirectives as m,isRef as h,vShow as y,normalizeClass as w,withModifiers as k,renderSlot as b,nextTick as I}from"vue";import{NModal as C,NInput as _,NIcon as x,NSpace as L,NButton as j,NBreadcrumb as S,NBreadcrumbItem as B,NCheckbox as U,NCheckboxGroup as R,NAvatar as E,NTag as N,NTooltip as T}from"naive-ui";import{SearchOutline as z,PersonOutline as A,PeopleOutline as D,ChevronBackOutline as G,ChevronForwardOutline as V,AddOutline as $}from"@vicons/ionicons5";import{useData as M}from"../hooks/useData.js";import"stompjs";import"sockjs-client/dist/sockjs.min.js";import{CHAT_TYPE as O}from"../constants/index.js";import{getOrgUserTreeApi as P,groupUserApi as q,groupLeaveApi as F,groupJoinApi as H,groupCreateApi as J}from"../api/index.js";import{listSort as K,isDoctorRole as Q,getRoleName as W}from"../utils/index.js";import{union as X,unionBy as Y,remove as Z,intersection as ee,last as le,isArray as ae,uniqBy as ne,cloneDeep as oe,trim as te}from"lodash-es";import"trtc-sdk-v5";import{useSearchUserList as ie}from"../hooks/useSearchUserList.js";var re,ue;const se={class:"iho-chat-dialog__content iho-chat-add-wrapper"},de={key:0,class:"input-box"},ce=e("span",null,(null==(re=window.getLanguageByCode)?void 0:re.call(window,"10010.1.34"))||"群名称:",-1),ve={class:"transfer-box"},pe={class:"transfer-box__left"},fe={key:0,class:"nav-wrapper"},ge={key:0,class:"chat--iconfont chat--icon-map-site"},me={style:{"font-size":"12px"}},he={key:1,class:"header"},ye={class:"user-list-box"},we={key:0,class:"org-list"},ke={class:"seach-box"},be={class:"ellipsis"},Ie={key:0,style:{"font-size":"12px",color:"#666","margin-right":"10px","white-space":"nowrap"}},Ce={key:1,class:"no-data"},_e={class:"transfer-box__right"},xe={class:"checked-tag-box"},Le={class:"seach-box"},je={class:"ellipsis"},Se={key:0,class:"input-wrapper"};var Be=l({__name:"ChatAdd",props:{title:{type:String,default:(null==(ue=window.getLanguageByCode)?void 0:ue.call(window,"10010.1.42"))||"添加新成员"},mode:{type:String,default:"select"},options:{type:Array},disabledIds:{type:Array,default:()=>[]},defaultValue:{type:Array,default:()=>[]},disabled:{type:Boolean,default:!1}},emits:["comfirm"],setup(l,{emit:re}){const ue=l;let Be=[];const Ue=[{key:"single",label:"按好友选"},{key:"group",label:"按群聊选"},{key:"org",label:"按架构选"}];let Re=[];const{state:Ee,setCurrentSessionItem:Ne}=M(),Te=a(),ze=a(""),Ae=a(!1),De=a([]),Ge=a(""),Ve=a(""),$e=a([]),Me=a([]),Oe=a(),{userList:Pe,handleInput:qe}=ie({wrapperRef:Te,keywordRef:ze,before:()=>{$e.value.length>0||(Pe.value=Be)}}),Fe=n((()=>"relay"===ue.mode?[]:X(ue.disabledIds,[Ee.userInfo.id]))),He=n((()=>{var e;return(null==(e=Ee.sessionList)?void 0:e.length)?K(Ee.sessionList).map((e=>({id:e.receiver,name:e.name,avatar:e.avatar,chatType:e.chatType,roleInfo:e.roleInfo||""}))):[]})),Je=n((()=>He.value.filter((e=>e.chatType===O.SINGLE)))),Ke=n((()=>He.value.filter((e=>e.chatType===O.GROUP)))),Qe=n((()=>De.value.length?De.value.map((e=>e.id)):[])),We=n((()=>"create"===ue.mode?Qe.value.length<3:Qe.value.length<1)),Xe=n({get:()=>Ye.value.filter((e=>!al(e))).length===Pe.value.filter((e=>!al(e.id))).length,set(e){const l=[];if(Pe.value.forEach((e=>{var a;if(1==e.type&&(null==(a=e.children)?void 0:a.length)){const a=il(e.children||[]).filter((e=>!al(e.id)));l.push(...a)}else al(e.id)||l.push(e)})),e)De.value=Y(De.value,l,"id");else{const e=l.map((e=>e.id));Z(De.value,(l=>e.includes(l.id)))}}}),Ye=n({get(){var e,l,a;return null!=(a=null==(l=null==(e=Pe.value)?void 0:e.filter((e=>{var l;if(1==e.type&&(null==(l=e.children)?void 0:l.length)){const l=il(e.children||[]).map((e=>e.id)).filter((e=>!al(e)));return ee(l,Qe.value).length===l.length}return Qe.value.includes(e.id)})))?void 0:l.map((e=>e.id)))?a:[]},set(e){Pe.value.forEach((l=>{var a;const n=[];1==l.type&&(null==(a=l.children)?void 0:a.length)?n.push(...il(l.children||[]).filter((e=>!al(e.id)))):n.push(l),e.includes(l.id)?De.value=Y(De.value,n,"id"):Z(De.value,(e=>n.some((l=>l.id===e.id))))}))}}),Ze=n((()=>{var e;return $e.value.length>0?null==(e=le($e.value))?void 0:e.key:""})),el=n((()=>!("relay"!==ue.mode&&["group","org"].includes(Ze.value)&&1===$e.value.length)));function ll(e){e.forEach((e=>{var l;1==e.type&&(null==(l=e.children)?void 0:l.length)?(e.total=il(e.children).length,ll(e.children)):2==e.type&&(e.total=0)}))}function al(e){var l,a;return"group"===Ze.value?"relay"!==ue.mode&&(1===$e.value.length||(null==(l=Fe.value)?void 0:l.includes(e))):null==(a=Fe.value)?void 0:a.includes(e)}function nl(){$e.value.length>1?"group"===Ze.value?Pe.value=Ke.value:"org"===Ze.value&&(Pe.value=Re.map((e=>({id:e.orgId,name:e.orgName}))),Me.value=[]):Pe.value=Be,$e.value.pop()}function ol(e,l){const{id:a,children:n=[],type:o}=e;if("breadcrumb"!==l||le(Me.value).id!==a)if(o){const l=Me.value.findIndex((e=>e.id===a));l>-1?Me.value=Me.value.slice(0,l+1):Me.value.push(e),Pe.value=n,I((()=>{const e=Oe.value.$el.getElementsByTagName("ul")[0];e&&e.scrollTo(1e7,0)}))}else{const n=Re.find((e=>e.orgId===a));Me.value=[e],Pe.value=n.userList||[],l||$e.value.push({key:Ze.value,label:n.orgName})}}function tl(e){const{children:l=[]}=e;if(!l.length)return!0;const a=il(l).map((e=>e.id)).filter((e=>!Fe.value.includes(e)));return ee(a,Qe.value).length===a.length}function il(e){const l=[];return e.forEach((e=>{var a;1==e.type&&(null==(a=e.children)?void 0:a.length)?l.push(...il(e.children)):2==e.type&&l.push(e)})),l}async function rl(){const e=s(Qe);switch(ue.mode){case"create":await J({creator:Ee.userInfo.id,memberIdSet:e,name:te(Ge.value),orgId:Ee.orgId});break;case"join":if(await H({groupId:Ee.currentSessionItem.receiver,operator:Ee.userInfo.id,memberIdSet:e}),!Ee.currentSessionItem.defaultName){const e=De.value.map((e=>e.name)).join(",");Ne({name:`${Ee.currentSessionItem.name},${e}`})}Ee.currentGroupUser.push(...Pe.value.filter((l=>e.includes(l.id))));break;case"remove":if(await F({dissolution:!1,groupId:Ee.currentSessionItem.receiver,operator:Ee.userInfo.id,memberIdSet:e}),!Ee.currentSessionItem.defaultName){const e=De.value.map((e=>e.name)).join(","),l=new RegExp(e,"g");Ne({name:Ee.currentSessionItem.name.replace(l,"")})}Z(Ee.currentGroupUser,(l=>e.includes(l.id)));break;default:re("comfirm",{checkedIds:e,checkedOptions:De.value,remark:Ve.value})}Ae.value=!1}return async function(){try{const e=await P();Re=ae(e)?e:[],Re.forEach((e=>ll(e.userList||[])))}catch(e){console.log("error ==>",e)}}(),o((()=>Ae.value),(e=>{if(!e)return;ze.value="",Ge.value="",$e.value=[],Me.value=[];const l="relay"===ue.mode?He.value:Je.value,a=ae(ue.options)&&ue.options.length?ue.options:l;Be=ne(a,"id"),Pe.value=Be,De.value=ae(ue.defaultValue)&&ue.defaultValue.length?oe(ue.defaultValue):[]})),(a,n)=>{var o,I;return t(),i(r,null,[u(s(C),{preset:"dialog",title:l.title,"show-icon":!1,"auto-focus":!1,"trap-focus":!1,class:"iho-chat-dialog",show:Ae.value,"onUpdate:show":n[5]||(n[5]=e=>Ae.value=e),"negative-text":(null==(o=window.getLanguageByCode)?void 0:o.call(window,"10010.1.28"))||"取消","positive-text":(null==(I=window.getLanguageByCode)?void 0:I.call(window,"10010.1.27"))||"确定","display-directive":"show","positive-button-props":{disabled:s(We)},onPositiveClick:rl},{default:d((()=>{var a,o,b,I,C,T,$,M,O;return[e("div",se,["create"===l.mode?(t(),i("div",de,[ce,u(s(_),{clearable:"",placeholder:(null==(a=window.getLanguageByCode)?void 0:a.call(window,"10010.1.35"))||"取个群名称方便后续搜索",value:Ge.value,"onUpdate:value":n[0]||(n[0]=e=>Ge.value=e),valueModifiers:{trim:!0}},null,8,["value"])])):c("v-if",!0),e("div",ve,[e("div",pe,[u(s(_),{placeholder:(null==(o=window.getLanguageByCode)?void 0:o.call(window,"10010.1.36"))||"搜索",clearable:"",value:ze.value,"onUpdate:value":[n[1]||(n[1]=e=>ze.value=e),s(qe)],valueModifiers:{trim:!0}},{prefix:d((()=>[u(s(x),{component:s(z)},null,8,["component"])])),_:1},8,["value","onUpdate:value"]),ze.value||"remove"===l.mode?c("v-if",!0):(t(),i("div",fe,[0===$e.value.length?(t(),v(s(L),{key:0,justify:"space-around","wrap-item":!1},{default:d((()=>[(t(),i(r,null,p(Ue,(l=>u(s(L),{vertical:"",align:"center","wrap-item":!1,key:l.key,onClick:()=>function(e){switch(ze.value="",$e.value=[e],e.key){case"single":Pe.value=Je.value;break;case"group":Pe.value=Ke.value;break;case"org":Pe.value=Re.map((e=>({id:e.orgId,name:e.orgName})))}}(l)},{default:d((()=>[u(s(j),{tertiary:""},{icon:d((()=>["org"===l.key?(t(),i("i",ge)):(t(),v(s(x),{key:1,component:"single"===l.key?s(A):s(D)},null,8,["component"]))])),_:2},1024),e("span",me,f(l.label),1)])),_:2},1032,["onClick"]))),64))])),_:1})):c("v-if",!0),$e.value.length>0?(t(),i("div",he,[u(s(j),{text:"",onClick:nl},{icon:d((()=>[u(s(x),{component:s(G)},null,8,["component"])])),_:1}),e("h4",null,f(null==(b=s(le)($e.value))?void 0:b.label),1)])):c("v-if",!0),$e.value.length>0&&"org"===(null==(I=s(le)($e.value))?void 0:I.key)&&Me.value.length>0?(t(),v(s(S),{key:2,ref_key:"breadcrumbRef",ref:Oe,separator:">"},{default:d((()=>[(t(!0),i(r,null,p(Me.value,(e=>(t(),v(s(B),{key:e.id,onClick:l=>ol(e,"breadcrumb")},{default:d((()=>[g(f(e.name),1)])),_:2},1032,["onClick"])))),128))])),_:1},512)):c("v-if",!0)])),e("div",ye,[s(Pe).length>0?(t(),i(r,{key:0},[m(u(s(U),{label:(null==(C=window.getLanguageByCode)?void 0:C.call(window,"10010.1.37"))||"全选",checked:s(Xe),"onUpdate:checked":n[2]||(n[2]=e=>h(Xe)?Xe.value=e:null)},null,8,["checked"]),[[y,s(el)]]),"org"===s(Ze)&&1===$e.value.length?(t(),i("div",we,[(t(!0),i(r,null,p(s(Pe),(l=>(t(),v(s(L),{"wrap-item":!1,align:"center",justify:"space-between",key:l.Id,onClick:e=>ol(l)},{default:d((()=>[e("span",null,f(l.name),1),u(s(x),{size:"16",component:s(V)},null,8,["component"])])),_:2},1032,["onClick"])))),128))])):(t(),v(s(R),{key:1,ref_key:"listRef",ref:Te,value:s(Ye),"onUpdate:value":n[3]||(n[3]=e=>h(Ye)?Ye.value=e:null)},{default:d((()=>[(t(!0),i(r,null,p(s(Pe),(l=>(t(),v(s(U),{key:l.id,value:l.id,disabled:al(l.id),onClick:()=>async function(e){const l=s(Ze);if(l&&"relay"!==ue.mode&&"group"===l&&1===$e.value.length)try{$e.value.push({key:l,label:e.name});const a=await q({id:e.id});Pe.value=ae(a)?a:[]}catch(e){console.log("error ==>",e)}}(l)},{default:d((()=>[u(s(L),{align:"center","wrap-item":!1,wrap:!1},{default:d((()=>[u(s(E),{src:l.avatar,round:"",size:32},null,8,["src"]),e("div",ke,[e("span",be,f(l.name),1),m(e("label",{class:w(["iho-chatRole",s(Q)(l.roleInfo)?"isDoctor":""])},f(s(W)(l.roleInfo)),3),[[y,s(W)(l.roleInfo)]])]),l.total?(t(),i("span",Ie," ("+f(l.total)+"人) ",1)):c("v-if",!0),1==l.type&&l.children.length>0?(t(),v(s(j),{key:1,type:"primary",text:"",disabled:tl(l),style:{"margin-left":"auto"},onClick:k((e=>ol(l)),["stop"])},{default:d((()=>[g(" 下级 ")])),_:2},1032,["disabled","onClick"])):c("v-if",!0)])),_:2},1024)])),_:2},1032,["value","disabled","onClick"])))),128))])),_:1},8,["value"]))],64)):(t(),i("div",Ce,(null==(T=window.getLanguageByCode)?void 0:T.call(window,"10010.1.38"))||"找不到相关结果"))])]),e("div",_e,[e("span",null,((null==($=window.getLanguageByCode)?void 0:$.call(window,"10010.1.39"))||"已选择")+f(s(Qe).length)+((null==(M=window.getLanguageByCode)?void 0:M.call(window,"10010.1.40"))||"人"),1),e("div",xe,[(t(!0),i(r,null,p(De.value,(a=>(t(),v(s(N),{key:a.id,bordered:!1,closable:"relay"===l.mode||a.id!==s(Ee).userInfo.id,disabled:s(Fe).includes(a.id),onClose:()=>{return e=a.id,void Z(De.value,(l=>l.id===e));var e}},{avatar:d((()=>[u(s(E),{round:"",src:a.avatar},null,8,["src"])])),default:d((()=>[e("div",Le,[e("span",je,f(a.name),1),m(e("label",{class:w(["iho-chatRole",s(Q)(a.roleInfo)?"isDoctor":""])},f(s(W)(a.roleInfo)),3),[[y,s(W)(a.roleInfo)]])])])),_:2},1032,["closable","disabled","onClose"])))),128))]),"relay"===l.mode?(t(),i("div",Se,[u(s(_),{clearable:"",value:Ve.value,"onUpdate:value":n[4]||(n[4]=e=>Ve.value=e),type:"textarea",placeholder:(null==(O=window.getLanguageByCode)?void 0:O.call(window,"10010.1.41"))||"留言",autosize:{minRows:2,maxRows:2}},null,8,["value"])])):c("v-if",!0)])])])]})),_:1},8,["title","show","positive-button-props"]),e("span",{class:w(["btn-wrapper",{disabled:l.disabled}]),onClick:n[6]||(n[6]=e=>Ae.value=!0)},[b(a.$slots,"trigger",{},(()=>[u(s(T),{"show-arrow":!1,placement:"bottom"},{trigger:d((()=>[u(s(j),{color:"#ffffff4D",class:"add-btn"},{icon:d((()=>[u(s(x),{component:s($),color:"#fff"},null,8,["component"])])),_:1})])),default:d((()=>[g(" "+f(l.title),1)])),_:1})]))],2)],64)}}});export{Be as default};
1
+ import{createElementVNode as e,defineComponent as l,ref as a,computed as n,watch as o,openBlock as t,createElementBlock as i,Fragment as r,createVNode as u,unref as s,withCtx as d,createCommentVNode as c,createBlock as v,renderList as p,toDisplayString as f,createTextVNode as g,withDirectives as m,isRef as h,vShow as y,normalizeClass as w,withModifiers as k,renderSlot as b,nextTick as I}from"vue";import{NModal as C,NInput as _,NIcon as x,NSpace as L,NButton as j,NBreadcrumb as S,NBreadcrumbItem as B,NCheckbox as U,NCheckboxGroup as R,NAvatar as E,NTag as N,NTooltip as T}from"naive-ui";import{SearchOutline as z,PersonOutline as A,PeopleOutline as D,ChevronBackOutline as G,ChevronForwardOutline as O,AddOutline as V}from"@vicons/ionicons5";import{useData as $}from"../hooks/useData.js";import"stompjs";import"sockjs-client/dist/sockjs.min.js";import{CHAT_TYPE as M}from"../constants/index.js";import{getOrgUserTreeApi as P,groupUserApi as q,groupLeaveApi as F,groupJoinApi as H,groupCreateApi as J}from"../api/index.js";import{listSort as K,isDoctorRole as Q,getRoleName as W}from"../utils/index.js";import{union as X,unionBy as Y,remove as Z,intersection as ee,last as le,isArray as ae,uniqBy as ne,cloneDeep as oe,trim as te}from"lodash-es";import"trtc-sdk-v5";import{useSearchUserList as ie}from"../hooks/useSearchUserList.js";var re,ue;const se={class:"iho-chat-dialog__content iho-chat-add-wrapper"},de={key:0,class:"input-box"},ce=e("span",null,(null==(re=window.getLanguageByCode)?void 0:re.call(window,"10010.1.34"))||"群名称:",-1),ve={class:"transfer-box"},pe={class:"transfer-box__left"},fe={key:0,class:"nav-wrapper"},ge={key:0,class:"chat--iconfont chat--icon-map-site"},me={style:{"font-size":"12px"}},he={key:1,class:"header"},ye={class:"user-list-box"},we={key:0,class:"org-list"},ke={class:"seach-box"},be={class:"ellipsis"},Ie={key:0,style:{"font-size":"12px",color:"#666","margin-right":"10px","white-space":"nowrap"}},Ce={key:1,class:"no-data"},_e={class:"transfer-box__right"},xe={class:"checked-tag-box"},Le={class:"seach-box"},je={class:"ellipsis"},Se={key:0,class:"input-wrapper"};var Be=l({__name:"ChatAdd",props:{title:{type:String,default:(null==(ue=window.getLanguageByCode)?void 0:ue.call(window,"10010.1.42"))||"添加新成员"},mode:{type:String,default:"select"},options:{type:Array},disabledIds:{type:Array,default:()=>[]},defaultValue:{type:Array,default:()=>[]},disabled:{type:Boolean,default:!1}},emits:["comfirm"],setup(l,{emit:re}){const ue=l;let Be=[];const Ue=[{key:"single",label:"按好友选"},{key:"group",label:"按群聊选"},{key:"org",label:"按架构选"}];let Re=[];const{state:Ee,setCurrentSessionItem:Ne}=$(),Te=a(),ze=a(""),Ae=a(!1),De=a([]),Ge=a(""),Oe=a(""),Ve=a([]),$e=a([]),Me=a(),{userList:Pe,handleInput:qe}=ie({wrapperRef:Te,keywordRef:ze,before:()=>{Ve.value.length>0||(Pe.value=Be)}}),Fe=n((()=>"relay"===ue.mode?[]:X(ue.disabledIds,[Ee.userInfo.id]))),He=n((()=>{var e;return(null==(e=Ee.sessionList)?void 0:e.length)?K(Ee.sessionList).map((e=>({id:e.receiver,name:e.name,avatar:e.avatar,chatType:e.chatType,roleInfo:e.roleInfo||""}))):[]})),Je=n((()=>He.value.filter((e=>e.chatType===M.SINGLE)))),Ke=n((()=>He.value.filter((e=>e.chatType===M.GROUP)))),Qe=n((()=>De.value.length?De.value.map((e=>e.id)):[])),We=n((()=>"create"===ue.mode?Qe.value.length<3:Qe.value.length<1)),Xe=n({get:()=>Ye.value.filter((e=>!nl(e))).length===Pe.value.filter((e=>!nl(e.id))).length,set(e){const l=[];if(Pe.value.forEach((e=>{var a;if(1==e.type&&(null==(a=e.children)?void 0:a.length)){const a=rl(e.children||[]).filter((e=>!nl(e.id)));console.log("users",a.length),l.push(...a)}else nl(e.id)||l.push(e)})),e)De.value=Y(De.value,l,"id");else{const e=l.map((e=>e.id));Z(De.value,(l=>e.includes(l.id)))}}}),Ye=n({get(){var e,l,a;return null!=(a=null==(l=null==(e=Pe.value)?void 0:e.filter((e=>{var l;if(1==e.type&&(null==(l=e.children)?void 0:l.length)){const l=rl(e.children||[]).map((e=>e.id)).filter((e=>!nl(e)));return ee(l,Qe.value).length===l.length}return Qe.value.includes(e.id)})))?void 0:l.map((e=>e.id)))?a:[]},set(e){Pe.value.forEach((l=>{var a;const n=[];1==l.type&&(null==(a=l.children)?void 0:a.length)?n.push(...rl(l.children||[]).filter((e=>!nl(e.id)))):n.push(l),e.includes(l.id)?(console.log("currentUsers>>>>",De.value,n.length),De.value=Y(De.value,n,"id"),console.log("checkedOptions>>>>",De.value)):(console.log("checkedOptions2222>>>>",De.value.length,n.length),Z(De.value,(e=>n.some((l=>l.id===e.id)))))}))}}),Ze=n((()=>{var e;return Ve.value.length>0?null==(e=le(Ve.value))?void 0:e.key:""})),el=n((()=>!("relay"!==ue.mode&&["group","org"].includes(Ze.value)&&1===Ve.value.length)));function ll(){"remove"!=ue.mode?qe():Pe.value=Be.filter((e=>e.name.includes(ze.value.trim())))}function al(e){e.forEach((e=>{var l;1==e.type&&(null==(l=e.children)?void 0:l.length)?(e.total=rl(e.children).length,al(e.children)):2==e.type&&(e.total=0)}))}function nl(e){var l,a;return"group"===Ze.value?"relay"!==ue.mode&&(1===Ve.value.length||(null==(l=Fe.value)?void 0:l.includes(e))):null==(a=Fe.value)?void 0:a.includes(e)}function ol(){Ve.value.length>1?"group"===Ze.value?Pe.value=Ke.value:"org"===Ze.value&&(Pe.value=Re.map((e=>({id:e.orgId,name:e.orgName}))),$e.value=[]):Pe.value=Be,Ve.value.pop()}function tl(e,l){const{id:a,children:n=[],type:o}=e;if("breadcrumb"!==l||le($e.value).id!==a)if(o){const l=$e.value.findIndex((e=>e.id===a));l>-1?$e.value=$e.value.slice(0,l+1):$e.value.push(e),Pe.value=n,I((()=>{const e=Me.value.$el.getElementsByTagName("ul")[0];e&&e.scrollTo(1e7,0)}))}else{const n=Re.find((e=>e.orgId===a));$e.value=[e],Pe.value=n.userList||[],l||Ve.value.push({key:Ze.value,label:n.orgName})}}function il(e){const{children:l=[]}=e;if(!l.length)return!0;const a=rl(l).map((e=>e.id)).filter((e=>!Fe.value.includes(e)));return ee(a,Qe.value).length===a.length}function rl(e){const l=[];return e.forEach((e=>{var a;1==e.type&&(null==(a=e.children)?void 0:a.length)?l.push(...rl(e.children)):2==e.type&&l.push(e)})),l}async function ul(){const e=s(Qe);switch(ue.mode){case"create":await J({creator:Ee.userInfo.id,memberIdSet:e,name:te(Ge.value),orgId:Ee.orgId});break;case"join":if(await H({groupId:Ee.currentSessionItem.receiver,operator:Ee.userInfo.id,memberIdSet:e}),!Ee.currentSessionItem.defaultName){const e=De.value.map((e=>e.name)).join(",");Ne({name:`${Ee.currentSessionItem.name},${e}`})}Ee.currentGroupUser.push(...Pe.value.filter((l=>e.includes(l.id))));break;case"remove":if(await F({dissolution:!1,groupId:Ee.currentSessionItem.receiver,operator:Ee.userInfo.id,memberIdSet:e}),!Ee.currentSessionItem.defaultName){const e=De.value.map((e=>e.name)).join(","),l=new RegExp(e,"g");Ne({name:Ee.currentSessionItem.name.replace(l,"")})}Z(Ee.currentGroupUser,(l=>e.includes(l.id)));break;default:re("comfirm",{checkedIds:e,checkedOptions:De.value,remark:Oe.value})}Ae.value=!1}return async function(){try{const e=await P();Re=ae(e)?e:[],Re.forEach((e=>al(e.userList||[])))}catch(e){console.log("error ==>",e)}}(),o((()=>Ae.value),(e=>{if(!e)return;ze.value="",Ge.value="",Ve.value=[],$e.value=[];const l="relay"===ue.mode?He.value:Je.value,a=ae(ue.options)&&ue.options.length?ue.options:l;Be=ne(a,"id"),Pe.value=Be,De.value=ae(ue.defaultValue)&&ue.defaultValue.length?oe(ue.defaultValue):[]})),(a,n)=>{var o,I;return t(),i(r,null,[u(s(C),{preset:"dialog",title:l.title,"show-icon":!1,"auto-focus":!1,"trap-focus":!1,class:"iho-chat-dialog",show:Ae.value,"onUpdate:show":n[5]||(n[5]=e=>Ae.value=e),"negative-text":(null==(o=window.getLanguageByCode)?void 0:o.call(window,"10010.1.28"))||"取消","positive-text":(null==(I=window.getLanguageByCode)?void 0:I.call(window,"10010.1.27"))||"确定","display-directive":"show","positive-button-props":{disabled:s(We)},onPositiveClick:ul},{default:d((()=>{var a,o,b,I,C,T,V,$,M;return[e("div",se,["create"===l.mode?(t(),i("div",de,[ce,u(s(_),{clearable:"",placeholder:(null==(a=window.getLanguageByCode)?void 0:a.call(window,"10010.1.35"))||"取个群名称方便后续搜索",value:Ge.value,"onUpdate:value":n[0]||(n[0]=e=>Ge.value=e),valueModifiers:{trim:!0}},null,8,["value"])])):c("v-if",!0),e("div",ve,[e("div",pe,[u(s(_),{placeholder:(null==(o=window.getLanguageByCode)?void 0:o.call(window,"10010.1.36"))||"搜索",clearable:"",value:ze.value,"onUpdate:value":[n[1]||(n[1]=e=>ze.value=e),ll],valueModifiers:{trim:!0}},{prefix:d((()=>[u(s(x),{component:s(z)},null,8,["component"])])),_:1},8,["value"]),ze.value||"remove"===l.mode?c("v-if",!0):(t(),i("div",fe,[0===Ve.value.length?(t(),v(s(L),{key:0,justify:"space-around","wrap-item":!1},{default:d((()=>[(t(),i(r,null,p(Ue,(l=>u(s(L),{vertical:"",align:"center","wrap-item":!1,key:l.key,onClick:()=>function(e){switch(ze.value="",Ve.value=[e],e.key){case"single":Pe.value=Je.value;break;case"group":Pe.value=Ke.value;break;case"org":Pe.value=Re.map((e=>({id:e.orgId,name:e.orgName})))}}(l)},{default:d((()=>[u(s(j),{tertiary:""},{icon:d((()=>["org"===l.key?(t(),i("i",ge)):(t(),v(s(x),{key:1,component:"single"===l.key?s(A):s(D)},null,8,["component"]))])),_:2},1024),e("span",me,f(l.label),1)])),_:2},1032,["onClick"]))),64))])),_:1})):c("v-if",!0),Ve.value.length>0?(t(),i("div",he,[u(s(j),{text:"",onClick:ol},{icon:d((()=>[u(s(x),{component:s(G)},null,8,["component"])])),_:1}),e("h4",null,f(null==(b=s(le)(Ve.value))?void 0:b.label),1)])):c("v-if",!0),Ve.value.length>0&&"org"===(null==(I=s(le)(Ve.value))?void 0:I.key)&&$e.value.length>0?(t(),v(s(S),{key:2,ref_key:"breadcrumbRef",ref:Me,separator:">"},{default:d((()=>[(t(!0),i(r,null,p($e.value,(e=>(t(),v(s(B),{key:e.id,onClick:l=>tl(e,"breadcrumb")},{default:d((()=>[g(f(e.name),1)])),_:2},1032,["onClick"])))),128))])),_:1},512)):c("v-if",!0)])),e("div",ye,[s(Pe).length>0?(t(),i(r,{key:0},[m(u(s(U),{label:(null==(C=window.getLanguageByCode)?void 0:C.call(window,"10010.1.37"))||"全选",checked:s(Xe),"onUpdate:checked":n[2]||(n[2]=e=>h(Xe)?Xe.value=e:null)},null,8,["checked"]),[[y,s(el)]]),"org"===s(Ze)&&1===Ve.value.length?(t(),i("div",we,[(t(!0),i(r,null,p(s(Pe),(l=>(t(),v(s(L),{"wrap-item":!1,align:"center",justify:"space-between",key:l.Id,onClick:e=>tl(l)},{default:d((()=>[e("span",null,f(l.name),1),u(s(x),{size:"16",component:s(O)},null,8,["component"])])),_:2},1032,["onClick"])))),128))])):(t(),v(s(R),{key:1,ref_key:"listRef",ref:Te,value:s(Ye),"onUpdate:value":n[3]||(n[3]=e=>h(Ye)?Ye.value=e:null)},{default:d((()=>[(t(!0),i(r,null,p(s(Pe),(l=>(t(),v(s(U),{key:l.id,value:l.id,disabled:nl(l.id),onClick:()=>async function(e){const l=s(Ze);if(l&&"relay"!==ue.mode&&"group"===l&&1===Ve.value.length)try{Ve.value.push({key:l,label:e.name});const a=await q({id:e.id});Pe.value=ae(a)?a:[]}catch(e){console.log("error ==>",e)}}(l)},{default:d((()=>[u(s(L),{align:"center","wrap-item":!1,wrap:!1},{default:d((()=>[u(s(E),{src:l.avatar,round:"",size:32},null,8,["src"]),e("div",ke,[e("span",be,f(l.name),1),m(e("label",{class:w(["iho-chatRole",s(Q)(l.roleInfo)?"isDoctor":""])},f(s(W)(l.roleInfo)),3),[[y,s(W)(l.roleInfo)]])]),l.total?(t(),i("span",Ie," ("+f(l.total)+"人) ",1)):c("v-if",!0),1==l.type&&l.children.length>0?(t(),v(s(j),{key:1,type:"primary",text:"",disabled:il(l),style:{"margin-left":"auto"},onClick:k((e=>tl(l)),["stop"])},{default:d((()=>[g(" 下级 ")])),_:2},1032,["disabled","onClick"])):c("v-if",!0)])),_:2},1024)])),_:2},1032,["value","disabled","onClick"])))),128))])),_:1},8,["value"]))],64)):(t(),i("div",Ce,(null==(T=window.getLanguageByCode)?void 0:T.call(window,"10010.1.38"))||"找不到相关结果"))])]),e("div",_e,[e("span",null,((null==(V=window.getLanguageByCode)?void 0:V.call(window,"10010.1.39"))||"已选择")+f(s(Qe).length)+((null==($=window.getLanguageByCode)?void 0:$.call(window,"10010.1.40"))||"人"),1),e("div",xe,[(t(!0),i(r,null,p(De.value,(a=>(t(),v(s(N),{key:a.id,bordered:!1,closable:"relay"===l.mode||a.id!==s(Ee).userInfo.id,disabled:s(Fe).includes(a.id),onClose:()=>{return e=a.id,void Z(De.value,(l=>l.id===e));var e}},{avatar:d((()=>[u(s(E),{round:"",src:a.avatar},null,8,["src"])])),default:d((()=>[e("div",Le,[e("span",je,f(a.name),1),m(e("label",{class:w(["iho-chatRole",s(Q)(a.roleInfo)?"isDoctor":""])},f(s(W)(a.roleInfo)),3),[[y,s(W)(a.roleInfo)]])])])),_:2},1032,["closable","disabled","onClose"])))),128))]),"relay"===l.mode?(t(),i("div",Se,[u(s(_),{clearable:"",value:Oe.value,"onUpdate:value":n[4]||(n[4]=e=>Oe.value=e),type:"textarea",placeholder:(null==(M=window.getLanguageByCode)?void 0:M.call(window,"10010.1.41"))||"留言",autosize:{minRows:2,maxRows:2}},null,8,["value"])])):c("v-if",!0)])])])]})),_:1},8,["title","show","positive-button-props"]),e("span",{class:w(["btn-wrapper",{disabled:l.disabled}]),onClick:n[6]||(n[6]=e=>Ae.value=!0)},[b(a.$slots,"trigger",{},(()=>[u(s(T),{"show-arrow":!1,placement:"bottom"},{trigger:d((()=>[u(s(j),{color:"#ffffff4D",class:"add-btn"},{icon:d((()=>[u(s(x),{component:s(V),color:"#fff"},null,8,["component"])])),_:1})])),default:d((()=>[g(" "+f(l.title),1)])),_:1})]))],2)],64)}}});export{Be as default};
@@ -214,6 +214,7 @@ declare const _default: import("vue").DefineComponent<{
214
214
  currentTabKey: import("vue").ComputedRef<any>;
215
215
  showAllCheckbox: import("vue").ComputedRef<boolean>;
216
216
  getOrgList: () => Promise<void>;
217
+ handleSearchInput: () => void;
217
218
  setUserTotal: (tree: AnyObject[]) => void;
218
219
  getDisabled: (id: string | number) => boolean;
219
220
  handleClickCheckbox: (option: AnyObject) => Promise<void>;
@@ -205,6 +205,7 @@ declare const _default: import("vue").DefineComponent<{}, {
205
205
  currentTabKey: import("vue").ComputedRef<any>;
206
206
  showAllCheckbox: import("vue").ComputedRef<boolean>;
207
207
  getOrgList: () => Promise<void>;
208
+ handleSearchInput: () => void;
208
209
  setUserTotal: (tree: AnyObject[]) => void;
209
210
  getDisabled: (id: string | number) => boolean;
210
211
  handleClickCheckbox: (option: AnyObject) => Promise<void>;
@@ -252,6 +252,7 @@ declare const _default: import("vue").DefineComponent<{}, {
252
252
  currentTabKey: import("vue").ComputedRef<any>;
253
253
  showAllCheckbox: import("vue").ComputedRef<boolean>;
254
254
  getOrgList: () => Promise<void>;
255
+ handleSearchInput: () => void;
255
256
  setUserTotal: (tree: AnyObject[]) => void;
256
257
  getDisabled: (id: string | number) => boolean;
257
258
  handleClickCheckbox: (option: AnyObject) => Promise<void>;
@@ -532,6 +533,7 @@ declare const _default: import("vue").DefineComponent<{}, {
532
533
  currentTabKey: import("vue").ComputedRef<any>;
533
534
  showAllCheckbox: import("vue").ComputedRef<boolean>;
534
535
  getOrgList: () => Promise<void>;
536
+ handleSearchInput: () => void;
535
537
  setUserTotal: (tree: AnyObject[]) => void;
536
538
  getDisabled: (id: string | number) => boolean;
537
539
  handleClickCheckbox: (option: AnyObject) => Promise<void>;
@@ -820,6 +822,60 @@ declare const _default: import("vue").DefineComponent<{}, {
820
822
  default: string[][];
821
823
  findEmoji(name: string): any;
822
824
  };
825
+ MessageEvent: import("vue").DefineComponent<{
826
+ data: {
827
+ type: import("vue").PropType<AnyObject>;
828
+ required: true;
829
+ };
830
+ }, {
831
+ props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
832
+ data: {
833
+ type: import("vue").PropType<AnyObject>;
834
+ required: true;
835
+ };
836
+ }>> & {}>>;
837
+ state: {
838
+ orgId: string | number;
839
+ currentSessionItem: AnyObject;
840
+ id: string;
841
+ userInfo: AnyObject;
842
+ msgList: AnyObject[];
843
+ currentMsg: AnyObject;
844
+ isAppendMsg: boolean;
845
+ sessionList: AnyObject[];
846
+ isChangeSession: boolean;
847
+ updateSessionItem: AnyObject;
848
+ isUpdateSession: boolean;
849
+ currentReferenceMsg: AnyObject | null;
850
+ currentReEditMsg: AnyObject | null;
851
+ showVideo: boolean;
852
+ currentAVMsg: AnyObject;
853
+ currentGroupUser: AnyObject[];
854
+ showMultipleVideo: boolean;
855
+ userDetail: {
856
+ show: boolean;
857
+ position: {
858
+ x: number;
859
+ y: number;
860
+ };
861
+ userId: string;
862
+ info: AnyObject | null;
863
+ };
864
+ isForward: boolean;
865
+ };
866
+ setUserDetail: (event: MouseEvent, userDetail: AnyObject) => void;
867
+ inviter: import("vue").Ref<any>;
868
+ invitee: import("vue").Ref<any[]>;
869
+ isValidJSON: (str: string) => boolean;
870
+ getTask: (_id: string | number, arrRes: AnyObject[]) => () => Promise<unknown>;
871
+ getEventContent: (data: AnyObject) => Promise<void>;
872
+ NButton: any;
873
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
874
+ data: {
875
+ type: import("vue").PropType<AnyObject>;
876
+ required: true;
877
+ };
878
+ }>>, {}>;
823
879
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
824
880
  visible: {
825
881
  type: BooleanConstructor;
@@ -956,6 +1012,7 @@ declare const _default: import("vue").DefineComponent<{}, {
956
1012
  currentTabKey: import("vue").ComputedRef<any>;
957
1013
  showAllCheckbox: import("vue").ComputedRef<boolean>;
958
1014
  getOrgList: () => Promise<void>;
1015
+ handleSearchInput: () => void;
959
1016
  setUserTotal: (tree: AnyObject[]) => void;
960
1017
  getDisabled: (id: string | number) => boolean;
961
1018
  handleClickCheckbox: (option: AnyObject) => Promise<void>;
@@ -515,6 +515,7 @@ declare const _default: import("vue").DefineComponent<{}, {
515
515
  currentTabKey: import("vue").ComputedRef<any>;
516
516
  showAllCheckbox: import("vue").ComputedRef<boolean>;
517
517
  getOrgList: () => Promise<void>;
518
+ handleSearchInput: () => void;
518
519
  setUserTotal: (tree: AnyObject[]) => void;
519
520
  getDisabled: (id: string | number) => boolean;
520
521
  handleClickCheckbox: (option: AnyObject) => Promise<void>;
@@ -214,6 +214,60 @@ declare const _default: import("vue").DefineComponent<{
214
214
  default: string[][];
215
215
  findEmoji(name: string): any;
216
216
  };
217
+ MessageEvent: import("vue").DefineComponent<{
218
+ data: {
219
+ type: PropType<AnyObject>;
220
+ required: true;
221
+ };
222
+ }, {
223
+ props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
224
+ data: {
225
+ type: PropType<AnyObject>;
226
+ required: true;
227
+ };
228
+ }>> & {}>>;
229
+ state: {
230
+ orgId: string | number;
231
+ currentSessionItem: AnyObject;
232
+ id: string;
233
+ userInfo: AnyObject;
234
+ msgList: AnyObject[];
235
+ currentMsg: AnyObject;
236
+ isAppendMsg: boolean;
237
+ sessionList: AnyObject[];
238
+ isChangeSession: boolean;
239
+ updateSessionItem: AnyObject;
240
+ isUpdateSession: boolean;
241
+ currentReferenceMsg: AnyObject | null;
242
+ currentReEditMsg: AnyObject | null;
243
+ showVideo: boolean;
244
+ currentAVMsg: AnyObject;
245
+ currentGroupUser: AnyObject[];
246
+ showMultipleVideo: boolean;
247
+ userDetail: {
248
+ show: boolean;
249
+ position: {
250
+ x: number;
251
+ y: number;
252
+ };
253
+ userId: string;
254
+ info: AnyObject | null;
255
+ };
256
+ isForward: boolean;
257
+ };
258
+ setUserDetail: (event: MouseEvent, userDetail: AnyObject) => void;
259
+ inviter: import("vue").Ref<any>;
260
+ invitee: import("vue").Ref<any[]>;
261
+ isValidJSON: (str: string) => boolean;
262
+ getTask: (_id: string | number, arrRes: AnyObject[]) => () => Promise<unknown>;
263
+ getEventContent: (data: AnyObject) => Promise<void>;
264
+ NButton: any;
265
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
266
+ data: {
267
+ type: PropType<AnyObject>;
268
+ required: true;
269
+ };
270
+ }>>, {}>;
217
271
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
218
272
  visible: {
219
273
  type: BooleanConstructor;
@@ -1 +1 @@
1
- import{createElementVNode as e,defineComponent as a,ref as l,watch as t,openBlock as s,createBlock as n,unref as r,withCtx as o,createVNode as i,toDisplayString as u,normalizeStyle as d,resolveDynamicComponent as c,createElementBlock as v,Fragment as m,renderList as p,createCommentVNode as f,withDirectives as g,normalizeClass as h,vShow as y,createTextVNode as w}from"vue";import{NModal as _,NAvatar as b,NInputGroup as T,NInput as k,NSelect as M,NPopover as I,NTag as x,NIcon as j}from"naive-ui";import{SearchOutline as C}from"@vicons/ionicons5";import{useData as L}from"../hooks/useData.js";import"stompjs";import"sockjs-client/dist/sockjs.min.js";import{MESSAGE_TYPE as A}from"../constants/index.js";import{searchChatRecordApi as S}from"../api/index.js";import{transformMessage as H,isDoctorRole as D,getRoleName as U,formatTime as B}from"../utils/index.js";import{last as E}from"lodash-es";import"trtc-sdk-v5";import N from"../../../date-picker/index.js";import{useDebounceFn as z}from"@vueuse/core";import{format as O}from"date-fns";import"../../../../shared/utils/index.js";import"@vue/shared";import"@vueuse/shared";import"../../../../shared/hooks/selectHooks/useSearchContent.js";import{useScrollLoading as R}from"../../../../shared/hooks/useScrollLoading.js";import{emojis as G}from"../utils/emoji.js";var $,J;const W={class:"iho-chat-dialog__header"},F=e("span",{class:"left"},(null==($=window.getLanguageByCode)?void 0:$.call(window,"10010.1.65"))||"聊天记录",-1),P={class:"center"},V={class:"chat-record-box"},q={class:"msg-box"},K={class:"name-and-time"},Q={class:"seach-box"},X={class:"ellipsis"},Y={style:{"white-space":"nowrap"}},Z={class:"content"},ee=["src"],ae={class:"file-type"},le={class:"text"},te={class:"name"},se={class:"detail"},ne=["src"],re=["innerHTML"],oe={key:1,class:"no-data"},ie={class:"chat-record-box__filter"},ue=e("span",{class:"filter-title"},(null==(J=window.getLanguageByCode)?void 0:J.call(window,"10010.1.72"))||"添加筛选条件",-1),de={class:"filter-item"},ce=e("span",{class:"label"},"成员:",-1),ve={class:"filter-item"},me=e("span",{class:"label"},"日期:",-1),pe={class:"time-target"},fe={class:"time-target__item"},ge=e("span",null,"开始:",-1),he={class:"tip"},ye={class:"time-target__item"},we=e("span",null,"结束:",-1),_e={class:"tip"};var be=a({__name:"ChatRecord",props:{visible:{type:Boolean}},setup(a){const $=a,J={color:"#fff",textColor:"#666"},{state:be,cssVars:Te}=L(),ke=l(),Me=l([]),Ie=l(),xe=l([]),je=l(),Ce=l(),Le=z(Be,500),Ae={page:0,hasMore:!0,lastSendTime:O(new Date,"yyyy-MM-dd HH:mm:ss")};function Se(e,a){try{const l=JSON.parse(e);return l?l[a]:""}catch(a){return e||""}}function He(e){const{size:a,sendTime:l,senderName:t}=e;return`${O(new Date(l),"yyyy/MM/dd HH:mm")} ${t}`}function De(e){const a=e.lastIndexOf(".");if(console.log("dotIndex",a),-1!==a){return e.charAt(a+1).toUpperCase()}return"?"}async function Ue(){var e;try{if(!Ae.hasMore)return;Ae.page++;const a=await S({orgId:be.orgId,keyword:Ie.value,endTime:ze(),startTime:je.value?je.value+" 00:00:00":"",lastSendTime:Ae.lastSendTime,memberIdSet:xe.value,page:Ae.page,recordType:"ALL",receiver:be.currentSessionItem.receiver,userId:be.userInfo.id});Array.isArray(a)&&0!==a.length&&Array.isArray(a[0].recordList)||(Ae.hasMore=!1);let l=a||[];Array.isArray(a)&&a.length>0&&(l=a[0].recordList.filter((e=>"WITHDRAWN"!==e.status))),Ae.lastSendTime=null==(e=E(l))?void 0:e.sendTime,l.forEach((e=>{var a,l,t;let s="";if(e.content.chatMessageType===A.TEMPLATE)s=null==(t=null==(l=null==(a=e.content)?void 0:a.messageTemplate)?void 0:l.setting)?void 0:t.title;else s=H(e.content);e.__content=s})),Me.value=Ae.page>1?Me.value.concat(l):l}catch(e){}}function Be(){Object.assign(Ae,{page:0,hasMore:!0,lastSendTime:ze()||O(new Date,"yyyy-MM-dd HH:mm:ss")}),Ue()}function Ee(e){return!!Ce.value&&e>Date.parse(`${Ce.value} 23:59:59`)}function Ne(e){return!!je.value&&e<Date.parse(je.value)}function ze(){return Ce.value?Ce.value+" 23:59:59":""}function Oe(e){switch(e){case"member":xe.value=[];break;case"start":je.value=null;break;case"end":Ce.value=null}}function Re(e){return i(m,null,[i("div",{style:"display: flex;align-items: center"},[i(b,{src:e.avatar,round:!0,size:"small"},null),i("span",{style:"margin-left: 10px"},[e.name])])])}return R(ke,(()=>{Ue()})),t([()=>xe.value,()=>je.value,()=>Ce.value],(()=>{$.visible&&Be()}),{deep:!0}),t((()=>$.visible),(e=>{e?Be():(Ie.value="",Ce.value=null,je.value=null,xe.value=[],Me.value=[])})),(a,l)=>(s(),n(r(_),{preset:"dialog",title:"","show-icon":!1,"auto-focus":!1,class:"iho-chat-dialog"},{header:o((()=>[e("div",W,[F,e("div",P,[i(r(b),{round:"",size:30,src:r(be).currentSessionItem.avatar},null,8,["src"]),e("span",null,u(r(be).currentSessionItem.name),1)])])])),default:o((()=>[e("div",{class:"iho-chat-dialog__content iho-chat-record-wrapper",style:d(r(Te))},[i(r(T),null,{default:o((()=>{var e;return[(s(),n(c((()=>[i(j,{component:C,size:18,color:"#6666"},null),xe.value.length>0?i(x,{closable:!0,bordered:!1,color:J,onClose:()=>Oe("member")},{default:()=>{var e,a;return[w("成员:")," ",xe.value.length>1?xe.value.length+((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.40"))||"人"):null==(a=be.currentGroupUser.find((e=>e.id===xe.value[0])))?void 0:a.name]}}):null,je.value?i(x,{closable:!0,bordered:!1,color:J,onClose:()=>Oe("start")},{default:()=>[w("起始时间: "),je.value]}):null,Ce.value?i(x,{closable:!0,bordered:!1,color:J,onClose:()=>Oe("end")},{default:()=>[w("结束时间: "),Ce.value]}):null])))),i(r(k),{placeholder:(null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.36"))||"搜索",value:Ie.value,"onUpdate:value":l[0]||(l[0]=e=>Ie.value=e),valueModifiers:{trim:!0},onInput:r(Le)},null,8,["value","onInput"])]})),_:1}),e("div",V,[e("div",{class:"chat-record-box__content",ref_key:"recordRef",ref:ke},[Me.value.length>0?(s(!0),v(m,{key:0},p(Me.value,(a=>(s(),v("div",{class:"content-item",key:a.id},[i(r(b),{round:"",size:38,src:a.senderAvatar},null,8,["src"]),e("div",q,[e("div",K,[f(" <span>{{ item.senderName }}</span> "),e("div",Q,[e("span",X,u(a.senderName),1),g(e("label",{class:h(["iho-chatRole",r(D)(a.roleInfo)?"isDoctor":""])},u(r(U)(a.roleInfo)),3),[[y,r(U)(a.roleInfo)]])]),e("span",Y,u(r(B)(a.sendTime).recordTime),1)]),e("div",Z,[a.content.chatMessageType===r(A).IMAGE?(s(),v("img",{key:0,src:Se(a.__content,"fileUrl")},null,8,ee)):a.content.chatMessageType===r(A).FILE?(s(),v(m,{key:1},[e("span",ae,u(De(a.__content)),1),e("div",le,[e("span",te,u(Se(a.__content,"fileName")),1),e("span",se,u(He(a)),1)])],64)):a.content.chatMessageType===r(A).EMOJI?(s(),v("img",{key:2,class:"emoji",src:r(G).findEmoji(a.__content)},null,8,ne)):(s(),v("p",{key:3,innerHTML:a.__content},null,8,re))])])])))),128)):(s(),v("div",oe,"没有找到相关记录"))],512),e("div",ie,[ue,e("div",de,[ce,i(r(M),{value:xe.value,"onUpdate:value":l[1]||(l[1]=e=>xe.value=e),multiple:"","max-tag-count":1,"render-label":Re,options:r(be).currentGroupUser,"value-field":"id"},null,8,["value","options"])]),e("div",ve,[me,e("div",pe,[i(r(I),{trigger:"click","show-arrow":!1},{trigger:o((()=>{var a;return[e("div",fe,[ge,g(i(r(x),{bordered:!1,color:J,closable:"",onClose:l[2]||(l[2]=()=>Oe("start"))},{default:o((()=>[w(u(je.value),1)])),_:1},512),[[y,je.value]]),g(e("span",he,(null==(a=window.getLanguageByCode)?void 0:a.call(window,"10010.1.76"))||"点击选择",512),[[y,!je.value]])])]})),default:o((()=>[i(r(N),{"formatted-value":je.value,"onUpdate:formatted-value":l[3]||(l[3]=e=>je.value=e),type:"date",panel:"",clearable:"","is-date-disabled":Ee},null,8,["formatted-value"])])),_:1}),i(r(I),{trigger:"click","show-arrow":!1},{trigger:o((()=>{var a;return[e("div",ye,[we,g(i(r(x),{bordered:!1,color:J,closable:"",onClose:l[4]||(l[4]=()=>Oe("end"))},{default:o((()=>[w(u(Ce.value),1)])),_:1},512),[[y,Ce.value]]),g(e("span",_e,(null==(a=window.getLanguageByCode)?void 0:a.call(window,"10010.1.76"))||"点击选择",512),[[y,!Ce.value]])])]})),default:o((()=>[i(r(N),{"formatted-value":Ce.value,"onUpdate:formatted-value":l[5]||(l[5]=e=>Ce.value=e),type:"date",panel:"",clearable:"","is-date-disabled":Ne},null,8,["formatted-value"])])),_:1})])])])])],4)])),_:1}))}});export{be as default};
1
+ import{createElementVNode as e,defineComponent as a,ref as l,watch as t,openBlock as s,createBlock as n,unref as r,withCtx as o,createVNode as i,toDisplayString as u,normalizeStyle as d,resolveDynamicComponent as c,createElementBlock as v,Fragment as m,renderList as p,createCommentVNode as f,withDirectives as g,normalizeClass as h,vShow as y,createTextVNode as w}from"vue";import{NModal as _,NAvatar as b,NInputGroup as T,NInput as k,NSelect as M,NPopover as I,NTag as j,NIcon as x}from"naive-ui";import{SearchOutline as C}from"@vicons/ionicons5";import{useData as L}from"../hooks/useData.js";import"stompjs";import"sockjs-client/dist/sockjs.min.js";import{MESSAGE_TYPE as A}from"../constants/index.js";import{searchChatRecordApi as S}from"../api/index.js";import{transformMessage as E,isDoctorRole as H,getRoleName as D,formatTime as U}from"../utils/index.js";import{last as B}from"lodash-es";import"trtc-sdk-v5";import N from"../../../date-picker/index.js";import{useDebounceFn as z}from"@vueuse/core";import{format as O}from"date-fns";import"../../../../shared/utils/index.js";import"@vue/shared";import"@vueuse/shared";import"../../../../shared/hooks/selectHooks/useSearchContent.js";import{useScrollLoading as R}from"../../../../shared/hooks/useScrollLoading.js";import{emojis as G}from"../utils/emoji.js";import $ from"./MessageEvent.vue.js";var J,V;const W={class:"iho-chat-dialog__header"},F=e("span",{class:"left"},(null==(J=window.getLanguageByCode)?void 0:J.call(window,"10010.1.65"))||"聊天记录",-1),P={class:"center"},q={class:"chat-record-box"},K={class:"msg-box"},Q={class:"name-and-time"},X={class:"seach-box"},Y={class:"ellipsis"},Z={style:{"white-space":"nowrap"}},ee={class:"content"},ae=["src"],le={class:"file-type"},te={class:"text"},se={class:"name"},ne={class:"detail"},re=["src"],oe=["innerHTML"],ie={key:1,class:"no-data"},ue={class:"chat-record-box__filter"},de=e("span",{class:"filter-title"},(null==(V=window.getLanguageByCode)?void 0:V.call(window,"10010.1.72"))||"添加筛选条件",-1),ce={class:"filter-item"},ve=e("span",{class:"label"},"成员:",-1),me={class:"filter-item"},pe=e("span",{class:"label"},"日期:",-1),fe={class:"time-target"},ge={class:"time-target__item"},he=e("span",null,"开始:",-1),ye={class:"tip"},we={class:"time-target__item"},_e=e("span",null,"结束:",-1),be={class:"tip"};var Te=a({__name:"ChatRecord",props:{visible:{type:Boolean}},setup(a){const J=a,V={color:"#fff",textColor:"#666"},{state:Te,cssVars:ke}=L(),Me=l(),Ie=l([]),je=l(),xe=l([]),Ce=l(),Le=l(),Ae=z(Be,500),Se={page:0,hasMore:!0,lastSendTime:O(new Date,"yyyy-MM-dd HH:mm:ss")};function Ee(e,a){try{const l=JSON.parse(e);return l?l[a]:""}catch(a){return e||""}}function He(e){const{size:a,sendTime:l,senderName:t}=e;return`${O(new Date(l),"yyyy/MM/dd HH:mm")} ${t}`}function De(e){const a=e.lastIndexOf(".");if(console.log("dotIndex",a),-1!==a){return e.charAt(a+1).toUpperCase()}return"?"}async function Ue(){var e;try{if(!Se.hasMore)return;Se.page++;const a=await S({orgId:Te.orgId,keyword:je.value,endTime:Oe(),startTime:Ce.value?Ce.value+" 00:00:00":"",lastSendTime:Se.lastSendTime,memberIdSet:xe.value,page:Se.page,recordType:"ALL",receiver:Te.currentSessionItem.receiver,userId:Te.userInfo.id});Array.isArray(a)&&0!==a.length&&Array.isArray(a[0].recordList)||(Se.hasMore=!1);let l=a||[];Array.isArray(a)&&a.length>0&&(l=a[0].recordList.filter((e=>"WITHDRAWN"!==e.status))),Se.lastSendTime=null==(e=B(l))?void 0:e.sendTime,l.forEach((e=>{var a,l,t;let s="";if(e.content.chatMessageType===A.TEMPLATE)s=null==(t=null==(l=null==(a=e.content)?void 0:a.messageTemplate)?void 0:l.setting)?void 0:t.title;else s=E(e.content);e.__content=s})),Ie.value=Se.page>1?Ie.value.concat(l):l}catch(e){}}function Be(){Object.assign(Se,{page:0,hasMore:!0,lastSendTime:Oe()||O(new Date,"yyyy-MM-dd HH:mm:ss")}),Ue()}function Ne(e){return!!Le.value&&e>Date.parse(`${Le.value} 23:59:59`)}function ze(e){return!!Ce.value&&e<Date.parse(Ce.value)}function Oe(){return Le.value?Le.value+" 23:59:59":""}function Re(e){switch(e){case"member":xe.value=[];break;case"start":Ce.value=null;break;case"end":Le.value=null}}function Ge(e){return i(m,null,[i("div",{style:"display: flex;align-items: center"},[i(b,{src:e.avatar,round:!0,size:"small"},null),i("span",{style:"margin-left: 10px"},[e.name])])])}return R(Me,(()=>{Ue()})),t([()=>xe.value,()=>Ce.value,()=>Le.value],(()=>{J.visible&&Be()}),{deep:!0}),t((()=>J.visible),(e=>{e?Be():(je.value="",Le.value=null,Ce.value=null,xe.value=[],Ie.value=[])})),(a,l)=>(s(),n(r(_),{preset:"dialog",title:"","show-icon":!1,"auto-focus":!1,class:"iho-chat-dialog"},{header:o((()=>[e("div",W,[F,e("div",P,[i(r(b),{round:"",size:30,src:r(Te).currentSessionItem.avatar},null,8,["src"]),e("span",null,u(r(Te).currentSessionItem.name),1)])])])),default:o((()=>[e("div",{class:"iho-chat-dialog__content iho-chat-record-wrapper",style:d(r(ke))},[i(r(T),null,{default:o((()=>{var e;return[(s(),n(c((()=>[i(x,{component:C,size:18,color:"#6666"},null),xe.value.length>0?i(j,{closable:!0,bordered:!1,color:V,onClose:()=>Re("member")},{default:()=>{var e,a;return[w("成员:")," ",xe.value.length>1?xe.value.length+((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.40"))||"人"):null==(a=Te.currentGroupUser.find((e=>e.id===xe.value[0])))?void 0:a.name]}}):null,Ce.value?i(j,{closable:!0,bordered:!1,color:V,onClose:()=>Re("start")},{default:()=>[w("起始时间: "),Ce.value]}):null,Le.value?i(j,{closable:!0,bordered:!1,color:V,onClose:()=>Re("end")},{default:()=>[w("结束时间: "),Le.value]}):null])))),i(r(k),{placeholder:(null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.36"))||"搜索",value:je.value,"onUpdate:value":l[0]||(l[0]=e=>je.value=e),valueModifiers:{trim:!0},onInput:r(Ae)},null,8,["value","onInput"])]})),_:1}),e("div",q,[e("div",{class:"chat-record-box__content",ref_key:"recordRef",ref:Me},[Ie.value.length>0?(s(!0),v(m,{key:0},p(Ie.value,(a=>(s(),v("div",{class:"content-item",key:a.id},[i(r(b),{round:"",size:38,src:a.senderAvatar},null,8,["src"]),e("div",K,[e("div",Q,[f(" <span>{{ item.senderName }}</span> "),e("div",X,[e("span",Y,u(a.senderName),1),g(e("label",{class:h(["iho-chatRole",r(H)(a.roleInfo)?"isDoctor":""])},u(r(D)(a.roleInfo)),3),[[y,r(D)(a.roleInfo)]])]),e("span",Z,u(r(U)(a.sendTime).recordTime),1)]),e("div",ee,[a.content.chatMessageType===r(A).IMAGE?(s(),v("img",{key:0,src:Ee(a.__content,"fileUrl")},null,8,ae)):a.content.chatMessageType===r(A).FILE?(s(),v(m,{key:1},[e("span",le,u(De(a.__content)),1),e("div",te,[e("span",se,u(Ee(a.__content,"fileName")),1),e("span",ne,u(He(a)),1)])],64)):a.content.chatMessageType===r(A).EMOJI?(s(),v("img",{key:2,class:"emoji",src:r(G).findEmoji(a.__content)},null,8,re)):a.content.chatMessageType===r(A).EVENT?(s(),n($,{key:3,data:a},null,8,["data"])):(s(),v("p",{key:4,innerHTML:a.__content},null,8,oe))])])])))),128)):(s(),v("div",ie,"没有找到相关记录"))],512),e("div",ue,[de,e("div",ce,[ve,i(r(M),{value:xe.value,"onUpdate:value":l[1]||(l[1]=e=>xe.value=e),multiple:"","max-tag-count":1,"render-label":Ge,options:r(Te).currentGroupUser,"value-field":"id"},null,8,["value","options"])]),e("div",me,[pe,e("div",fe,[i(r(I),{trigger:"click","show-arrow":!1},{trigger:o((()=>{var a;return[e("div",ge,[he,g(i(r(j),{bordered:!1,color:V,closable:"",onClose:l[2]||(l[2]=()=>Re("start"))},{default:o((()=>[w(u(Ce.value),1)])),_:1},512),[[y,Ce.value]]),g(e("span",ye,(null==(a=window.getLanguageByCode)?void 0:a.call(window,"10010.1.76"))||"点击选择",512),[[y,!Ce.value]])])]})),default:o((()=>[i(r(N),{"formatted-value":Ce.value,"onUpdate:formatted-value":l[3]||(l[3]=e=>Ce.value=e),type:"date",panel:"",clearable:"","is-date-disabled":Ne},null,8,["formatted-value"])])),_:1}),i(r(I),{trigger:"click","show-arrow":!1},{trigger:o((()=>{var a;return[e("div",we,[_e,g(i(r(j),{bordered:!1,color:V,closable:"",onClose:l[4]||(l[4]=()=>Re("end"))},{default:o((()=>[w(u(Le.value),1)])),_:1},512),[[y,Le.value]]),g(e("span",be,(null==(a=window.getLanguageByCode)?void 0:a.call(window,"10010.1.76"))||"点击选择",512),[[y,!Le.value]])])]})),default:o((()=>[i(r(N),{"formatted-value":Le.value,"onUpdate:formatted-value":l[5]||(l[5]=e=>Le.value=e),type:"date",panel:"",clearable:"","is-date-disabled":ze},null,8,["formatted-value"])])),_:1})])])])])],4)])),_:1}))}});export{Te as default};
@@ -196,6 +196,7 @@ declare const _default: import("vue").DefineComponent<{}, {
196
196
  currentTabKey: import("vue").ComputedRef<any>;
197
197
  showAllCheckbox: import("vue").ComputedRef<boolean>;
198
198
  getOrgList: () => Promise<void>;
199
+ handleSearchInput: () => void;
199
200
  setUserTotal: (tree: AnyObject[]) => void;
200
201
  getDisabled: (id: string | number) => boolean;
201
202
  handleClickCheckbox: (option: AnyObject) => Promise<void>;