cnhis-design-vue 3.2.6-beta.4 → 3.2.6-beta.7
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 +87 -87
- package/es/components/bpmn-workflow/src/BpmnWorkflow.d.ts +0 -0
- package/es/components/bpmn-workflow/types/BpmnViewer.d.ts +1 -0
- package/es/components/bpmn-workflow/types/ModelingModule.d.ts +1 -0
- package/es/components/bpmn-workflow/types/MoveCanvasModule.d.ts +1 -0
- package/es/components/button-print/src/components/NewPrintComponent.vue2.js +1 -1
- package/es/components/button-print/src/utils/print.js +1 -1
- package/es/components/callback/src/components/render/popupMaps.d.ts +0 -2
- package/es/components/classification/src/components/table-modal/index.vue.d.ts +0 -3
- package/es/components/default-page/index.d.ts +11 -3
- package/es/components/default-page/src/constants/index.d.ts +1 -0
- package/es/components/default-page/src/constants/index.js +1 -1
- package/es/components/default-page/src/index.vue.d.ts +11 -3
- package/es/components/default-page/src/index.vue2.js +1 -1
- package/es/components/default-page/style/index.css +1 -1
- package/es/components/fabric-chart/src/hooks/temperature/useOther.js +1 -1
- package/es/components/field-set/src/FieldColor.vue.d.ts +1 -1
- package/es/components/field-set/src/FieldFilter.vue.d.ts +1 -1
- package/es/components/field-set/src/FieldSet.vue.d.ts +2 -2
- package/es/components/field-set/src/components/Row.vue.d.ts +1 -1
- package/es/components/form-config/index.d.ts +0 -4
- package/es/components/form-config/src/FormConfig.vue.d.ts +0 -4
- package/es/components/form-config/src/components/FormConfigCreator.vue.d.ts +0 -2
- package/es/components/form-config/src/components/FormConfigEdit.vue.d.ts +0 -2
- package/es/components/form-render/index.d.ts +0 -2
- package/es/components/form-render/index.js +1 -1
- package/es/components/form-render/src/FormRender.vue.d.ts +0 -2
- package/es/components/form-render/src/FormRender.vue2.js +1 -1
- package/es/components/form-render/src/FormRenderWrapper.vue.d.ts +0 -2
- package/es/components/form-render/src/components/renderer/searchCascade.js +1 -1
- package/es/components/form-render/src/components/renderer/select.js +1 -1
- package/es/components/form-render/src/hooks/index.d.ts +0 -1
- package/es/components/form-render/src/hooks/index.js +1 -1
- package/es/components/form-render/src/hooks/useFieldListAdaptor.js +1 -1
- package/es/components/form-render/src/hooks/usePresetScope.d.ts +1 -0
- package/es/components/form-render/src/hooks/usePresetScope.js +1 -1
- package/es/components/iho-chat/src/components/ChatFooter.vue2.js +1 -1
- package/es/components/iho-chat/src/components/ChatHeader.vue2.js +1 -1
- package/es/components/iho-chat/src/components/ChatMain.vue2.js +1 -1
- package/es/components/index.css +1 -1
- package/es/components/index.js +1 -1
- package/es/components/info-header/index.d.ts +0 -4
- package/es/components/info-header/src/InfoHeader.vue.d.ts +0 -4
- package/es/components/info-header/src/components/infoDescription/index.vue.d.ts +0 -2
- package/es/components/info-header/src/components/patientInfo/index.vue.d.ts +0 -2
- package/es/components/scale-view/index.d.ts +3 -1
- package/es/components/scale-view/src/ScaleView.vue.d.ts +3 -1
- package/es/components/scale-view/src/ScaleView.vue2.js +1 -1
- package/es/components/scale-view/src/hooks/scaleview-computed.d.ts +3 -1
- package/es/components/scale-view/src/hooks/scaleview-computed.js +1 -1
- package/es/components/select-label/src/LabelFormContent.vue2.js +1 -1
- package/es/components/shortcut-setter/index.d.ts +0 -2
- package/es/components/shortcut-setter/src/ShortcutSetter.vue.d.ts +0 -2
- package/es/env.d.ts +25 -25
- package/es/shared/assets/img/defaultCover/10review_successful.png.js +1 -1
- package/es/shared/assets/img/defaultCover/11review_fail.png.js +1 -1
- package/es/shared/assets/img/defaultCover/12no_setting.png.js +1 -1
- package/es/shared/assets/img/defaultCover/13no_menu_setting.png.js +1 -1
- package/es/shared/assets/img/defaultCover/14no_call_setting.png.js +1 -1
- package/es/shared/assets/img/defaultCover/15no_use_tag.png.js +1 -1
- package/es/shared/assets/img/defaultCover/16no_table_data.png.js +1 -1
- package/es/shared/assets/img/defaultCover/1location.png.js +1 -1
- package/es/shared/assets/img/defaultCover/2notfound.png.js +1 -1
- package/es/shared/assets/img/defaultCover/3loading.png.js +1 -1
- package/es/shared/assets/img/defaultCover/4no_permission.png.js +1 -1
- package/es/shared/assets/img/defaultCover/5no_data.png.js +1 -1
- package/es/shared/assets/img/defaultCover/6no_network.png.js +1 -1
- package/es/shared/assets/img/defaultCover/7no_doctor.png.js +1 -1
- package/es/shared/assets/img/defaultCover/8system_error.png.js +1 -1
- package/es/shared/assets/img/defaultCover/9system_upgrade.png.js +1 -1
- package/es/shared/assets/img/failure.png.js +1 -1
- package/es/shared/assets/img/no-permission.png.js +1 -1
- package/es/shared/assets/img/nodata.png.js +1 -1
- package/es/shared/assets/img/notfound.png.js +1 -1
- package/es/shared/assets/img/qr.png.js +1 -1
- package/es/shared/assets/img/success.png.js +1 -1
- package/es/shared/assets/img/table_style_2.png.js +1 -1
- package/es/shared/assets/img/video.png.js +1 -1
- package/es/shared/assets/img/video_default_cover.png.js +1 -1
- package/es/shared/assets/img/xb_big.png.js +1 -1
- package/es/shared/assets/img/xb_small.png.js +1 -1
- package/es/shared/components/VueDraggable/src/vuedraggable.d.ts +86 -0
- package/es/shared/package.json.js +1 -1
- package/es/shared/utils/fabricjs/index.d.ts +6823 -0
- package/es/shared/utils/tapable/index.d.ts +139 -0
- package/package.json +2 -2
- package/es/components/form-render/src/hooks/useAutoHidden.d.ts +0 -4
- package/es/components/form-render/src/hooks/useAutoHidden.js +0 -1
@@ -846,13 +846,11 @@ declare const FormConfig: SFCWithInstall<import("vue").DefineComponent<{
|
|
846
846
|
afterRequest(fieldKey: string, res?: any, payload?: import("../../shared/types").AnyObject | undefined): import("../../shared/types").AnyObject[] | Promise<import("../../shared/types").AnyObject[]>;
|
847
847
|
afterOptionInit(fieldKey: string, options: import("../../shared/types").AnyObject[], payload?: import("../../shared/types").AnyObject | undefined): void;
|
848
848
|
}>>[T_2]>>;
|
849
|
-
triggerAutoHidden: (field: import("@formily/core").GeneralField, includeLinebar?: boolean) => Promise<void>;
|
850
849
|
observeFormGraph: Record<string, import("@formily/core").GeneralField>;
|
851
850
|
setGraph: (field: import("@formily/core").GeneralField) => void;
|
852
851
|
removeGraph: (field: import("@formily/core").GeneralField) => void;
|
853
852
|
lowCodeEventTrigger: (field: import("@formily/core").GeneralField) => void;
|
854
853
|
emitFormChange: import("vue").Ref<boolean>;
|
855
|
-
isReady: boolean;
|
856
854
|
formModel: import("@formily/core").Form<{
|
857
855
|
[x: string]: any;
|
858
856
|
}>;
|
@@ -2859,13 +2857,11 @@ declare const FormConfig: SFCWithInstall<import("vue").DefineComponent<{
|
|
2859
2857
|
afterRequest(fieldKey: string, res?: any, payload?: import("../../shared/types").AnyObject | undefined): import("../../shared/types").AnyObject[] | Promise<import("../../shared/types").AnyObject[]>;
|
2860
2858
|
afterOptionInit(fieldKey: string, options: import("../../shared/types").AnyObject[], payload?: import("../../shared/types").AnyObject | undefined): void;
|
2861
2859
|
}>>[T_2]>>;
|
2862
|
-
triggerAutoHidden: (field: import("@formily/core").GeneralField, includeLinebar?: boolean) => Promise<void>;
|
2863
2860
|
observeFormGraph: Record<string, import("@formily/core").GeneralField>;
|
2864
2861
|
setGraph: (field: import("@formily/core").GeneralField) => void;
|
2865
2862
|
removeGraph: (field: import("@formily/core").GeneralField) => void;
|
2866
2863
|
lowCodeEventTrigger: (field: import("@formily/core").GeneralField) => void;
|
2867
2864
|
emitFormChange: import("vue").Ref<boolean>;
|
2868
|
-
isReady: boolean;
|
2869
2865
|
formModel: import("@formily/core").Form<{
|
2870
2866
|
[x: string]: any;
|
2871
2867
|
}>;
|
@@ -849,13 +849,11 @@ declare const _default: import("vue").DefineComponent<{
|
|
849
849
|
afterRequest(fieldKey: string, res?: any, payload?: import("../../../shared/types").AnyObject | undefined): import("../../../shared/types").AnyObject[] | Promise<import("../../../shared/types").AnyObject[]>;
|
850
850
|
afterOptionInit(fieldKey: string, options: import("../../../shared/types").AnyObject[], payload?: import("../../../shared/types").AnyObject | undefined): void;
|
851
851
|
}>>[T_2]>>;
|
852
|
-
triggerAutoHidden: (field: import("@formily/core").GeneralField, includeLinebar?: boolean) => Promise<void>;
|
853
852
|
observeFormGraph: Record<string, import("@formily/core").GeneralField>;
|
854
853
|
setGraph: (field: import("@formily/core").GeneralField) => void;
|
855
854
|
removeGraph: (field: import("@formily/core").GeneralField) => void;
|
856
855
|
lowCodeEventTrigger: (field: import("@formily/core").GeneralField) => void;
|
857
856
|
emitFormChange: Ref<boolean>;
|
858
|
-
isReady: boolean;
|
859
857
|
formModel: import("@formily/core").Form<{
|
860
858
|
[x: string]: any;
|
861
859
|
}>;
|
@@ -2862,13 +2860,11 @@ declare const _default: import("vue").DefineComponent<{
|
|
2862
2860
|
afterRequest(fieldKey: string, res?: any, payload?: import("../../../shared/types").AnyObject | undefined): import("../../../shared/types").AnyObject[] | Promise<import("../../../shared/types").AnyObject[]>;
|
2863
2861
|
afterOptionInit(fieldKey: string, options: import("../../../shared/types").AnyObject[], payload?: import("../../../shared/types").AnyObject | undefined): void;
|
2864
2862
|
}>>[T_2]>>;
|
2865
|
-
triggerAutoHidden: (field: import("@formily/core").GeneralField, includeLinebar?: boolean) => Promise<void>;
|
2866
2863
|
observeFormGraph: Record<string, import("@formily/core").GeneralField>;
|
2867
2864
|
setGraph: (field: import("@formily/core").GeneralField) => void;
|
2868
2865
|
removeGraph: (field: import("@formily/core").GeneralField) => void;
|
2869
2866
|
lowCodeEventTrigger: (field: import("@formily/core").GeneralField) => void;
|
2870
2867
|
emitFormChange: Ref<boolean>;
|
2871
|
-
isReady: boolean;
|
2872
2868
|
formModel: import("@formily/core").Form<{
|
2873
2869
|
[x: string]: any;
|
2874
2870
|
}>;
|
@@ -458,13 +458,11 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
458
458
|
afterRequest(fieldKey: string, res?: any, payload?: AnyObject | undefined): AnyObject[] | Promise<AnyObject[]>;
|
459
459
|
afterOptionInit(fieldKey: string, options: AnyObject[], payload?: AnyObject | undefined): void;
|
460
460
|
}>>[T_2]>>;
|
461
|
-
triggerAutoHidden: (field: import("@formily/core").GeneralField, includeLinebar?: boolean) => Promise<void>;
|
462
461
|
observeFormGraph: Record<string, import("@formily/core").GeneralField>;
|
463
462
|
setGraph: (field: import("@formily/core").GeneralField) => void;
|
464
463
|
removeGraph: (field: import("@formily/core").GeneralField) => void;
|
465
464
|
lowCodeEventTrigger: (field: import("@formily/core").GeneralField) => void;
|
466
465
|
emitFormChange: import("vue").Ref<boolean>;
|
467
|
-
isReady: boolean;
|
468
466
|
formModel: import("@formily/core").Form<{
|
469
467
|
[x: string]: any;
|
470
468
|
}>;
|
@@ -1367,13 +1367,11 @@ declare const _default: import("vue").DefineComponent<{
|
|
1367
1367
|
afterRequest(fieldKey: string, res?: any, payload?: import("../../../../shared/types").AnyObject | undefined): import("../../../../shared/types").AnyObject[] | Promise<import("../../../../shared/types").AnyObject[]>;
|
1368
1368
|
afterOptionInit(fieldKey: string, options: import("../../../../shared/types").AnyObject[], payload?: import("../../../../shared/types").AnyObject | undefined): void;
|
1369
1369
|
}>>[T]>>;
|
1370
|
-
triggerAutoHidden: (field: import("@formily/core").GeneralField, includeLinebar?: boolean) => Promise<void>;
|
1371
1370
|
observeFormGraph: Record<string, import("@formily/core").GeneralField>;
|
1372
1371
|
setGraph: (field: import("@formily/core").GeneralField) => void;
|
1373
1372
|
removeGraph: (field: import("@formily/core").GeneralField) => void;
|
1374
1373
|
lowCodeEventTrigger: (field: import("@formily/core").GeneralField) => void;
|
1375
1374
|
emitFormChange: import("vue").Ref<boolean>;
|
1376
|
-
isReady: boolean;
|
1377
1375
|
formModel: import("@formily/core").Form<{
|
1378
1376
|
[x: string]: any;
|
1379
1377
|
}>;
|
@@ -446,13 +446,11 @@ declare const FormRender: SFCWithInstall<import("vue").DefineComponent<{}, {
|
|
446
446
|
afterRequest(fieldKey: string, res?: any, payload?: import("../../shared/types").AnyObject | undefined): import("../../shared/types").AnyObject[] | Promise<import("../../shared/types").AnyObject[]>;
|
447
447
|
afterOptionInit(fieldKey: string, options: import("../../shared/types").AnyObject[], payload?: import("../../shared/types").AnyObject | undefined): void;
|
448
448
|
}>>[T]>>;
|
449
|
-
triggerAutoHidden: (field: import("@formily/core").GeneralField, includeLinebar?: boolean) => Promise<void>;
|
450
449
|
observeFormGraph: Record<string, import("@formily/core").GeneralField>;
|
451
450
|
setGraph: (field: import("@formily/core").GeneralField) => void;
|
452
451
|
removeGraph: (field: import("@formily/core").GeneralField) => void;
|
453
452
|
lowCodeEventTrigger: (field: import("@formily/core").GeneralField) => void;
|
454
453
|
emitFormChange: import("vue").Ref<boolean>;
|
455
|
-
isReady: boolean;
|
456
454
|
formModel: import("@formily/core").Form<{
|
457
455
|
[x: string]: any;
|
458
456
|
}>;
|
@@ -1 +1 @@
|
|
1
|
-
import{COMPONENT_NAMESPACE as e}from"../../shared/global/variable.js";import{safeComponentRegister as o}from"../../shared/utils/index.js";import s from"./src/FormRenderWrapper.vue.js";export{useAnchor}from"./src/hooks/useAnchor.js";export{
|
1
|
+
import{COMPONENT_NAMESPACE as e}from"../../shared/global/variable.js";import{safeComponentRegister as o}from"../../shared/utils/index.js";import s from"./src/FormRenderWrapper.vue.js";export{useAnchor}from"./src/hooks/useAnchor.js";export{BusinessCollector,useBusinessBinding}from"./src/hooks/useBusinessBinding.js";export{ContextCollector,useChangeContext}from"./src/hooks/useChangeContext.js";export{useCommonInjection,useSelectOptionProps}from"./src/hooks/useCommonInjection.js";export{useCommonLog}from"./src/hooks/useCommonLog.js";export{useComplexOptions,useComplexOptionsSpan}from"./src/hooks/useComplexOptions.js";export{useFieldListAdaptor}from"./src/hooks/useFieldListAdaptor.js";export{useFieldNormalize}from"./src/hooks/useFieldNormalize.js";export{useFieldVisitor}from"./src/hooks/useFieldVisitor.js";export{useFormContext}from"./src/hooks/useFormContext.js";export{useFormDomEvent,useFormExposeEvent}from"./src/hooks/useFormEvent.js";export{useFormField}from"./src/hooks/useFormField.js";export{useFormGraph}from"./src/hooks/useFormGraph.js";export{FormItemDepsCollector,useFormItemDeps}from"./src/hooks/useFormItemDeps.js";export{useFormRenderLifeCycle}from"./src/hooks/useFormRenderLifeCycle.js";export{useAutographOptions,useRecommendOptions,useUrlConfigOptions}from"./src/hooks/useFormRenderOptions.js";export{useFormValidator,validateMessageLocale}from"./src/hooks/useFormValidator.js";export{useLowCodeEvent}from"./src/hooks/useLowCodeEvent.js";export{useLowCodeReactions}from"./src/hooks/useLowCodeReactions.js";export{useNuiThemeOverrides}from"./src/hooks/useNuiThemeOverrides.js";export{useOperationalForm}from"./src/hooks/useOperationalForm.js";export{usePresetScope}from"./src/hooks/usePresetScope.js";export{useWordbookSetting,wordbookSettingHandler}from"./src/hooks/useWordbookSetting.js";export{useNewLowCodeReactions}from"./src/hooks/useNewLowCodeReactions.js";export{useSelectedSetting}from"./src/hooks/useSelectedSetting.js";export{FieldListFilter,combineExtendKey,createInputSlot,createSlot,editorUnescape,findItemByValCondition,formRenderLog,getAbsoluteKey,injectOrProvide,isNestedFieldType,isNestedType,mergeDeepProperties,parseEnhanceText,parseNumberFromMaybeString,renderDescOption,replace2Any,splitExtendKey,validateMessageParser}from"./src/utils/index.js";export{businessDateParser,isIdCard,isMobile,parseAge2Birthday,parseAgeFromContext,parseBirthday,parseIdCard,transformDateFormat}from"./src/utils/business.js";export{findNextWidget,queryDecoratorByAddress,queryDecoratorByFieldKey,queryInput}from"./src/utils/dom.js";export{assignClearBindVisited,assignUpdateValue,assignValueBindKey,createFieldAddressId,createLinebarId,createObjSchema,createVisitedSetter,dotEscape,fieldKeyEscape,getParentLinebar,traverseDependKey,traverseSchema}from"./src/utils/schema.js";const r=s;r.install=function(s){o(s,r,e+"FormRender")};export{r as default};
|
@@ -441,13 +441,11 @@ declare const _default: import("vue").DefineComponent<{
|
|
441
441
|
afterRequest(fieldKey: string, res?: any, payload?: AnyObject | undefined): AnyObject[] | Promise<AnyObject[]>;
|
442
442
|
afterOptionInit(fieldKey: string, options: AnyObject[], payload?: AnyObject | undefined): void;
|
443
443
|
}>>[T]>>;
|
444
|
-
triggerAutoHidden: (field: import("@formily/core").GeneralField, includeLinebar?: boolean) => Promise<void>;
|
445
444
|
observeFormGraph: Record<string, import("@formily/core").GeneralField>;
|
446
445
|
setGraph: (field: import("@formily/core").GeneralField) => void;
|
447
446
|
removeGraph: (field: import("@formily/core").GeneralField) => void;
|
448
447
|
lowCodeEventTrigger: (field: import("@formily/core").GeneralField) => void;
|
449
448
|
emitFormChange: import("vue").Ref<boolean>;
|
450
|
-
isReady: boolean;
|
451
449
|
formModel: import("@formily/core").Form<{
|
452
450
|
[x: string]: any;
|
453
451
|
}>;
|
@@ -1 +1 @@
|
|
1
|
-
import{defineComponent as e,ref as o,provide as t,computed as r,nextTick as a,onUnmounted as s,openBlock as
|
1
|
+
import{defineComponent as e,ref as o,provide as t,computed as r,nextTick as a,onUnmounted as s,openBlock as l,createBlock as i,unref as n,mergeProps as m,withCtx as p,createElementBlock as d,createVNode as u,isRef as c,Fragment as f,renderList as h,createCommentVNode as y,createElementVNode as g,normalizeStyle as b,toDisplayString as v,renderSlot as j}from"vue";import{useTheme as k}from"../../../shared/hooks/useTheme.js";import{useElementSize as F}from"@vueuse/core";import"date-fns";import{isNumber as C,cloneDeep as S}from"lodash-es";import"@vue/shared";import"../../../shared/utils/index.js";import"@vueuse/shared";import"../../../shared/hooks/selectHooks/useSearchContent.js";import"@vicons/ionicons5";import{NForm as w,NTabs as x,NTabPane as B,NConfigProvider as L}from"naive-ui";import{useVersion as R}from"../../../shared/hooks/useVersion.js";import{createForm as H,onFormMount as A,onFieldValueChange as O,onFieldMount as I,onFieldUnmount as V,onFieldReact as N}from"@formily/core";import{Path as _}from"@formily/path";import{FormProvider as D,FormConsumer as T}from"@formily/vue";import{InjectionFormColumnWidth as W,InjectionFormLifeCycleCaller as U,InjectionFormGraph as E}from"./constants/index.js";import{createObjSchema as q}from"./utils/schema.js";import{useAnchor as G}from"./hooks/useAnchor.js";import"../index.js";import{useComplexOptionsSpan as M}from"./hooks/useComplexOptions.js";import{useFieldListAdaptor as P}from"./hooks/useFieldListAdaptor.js";import"../../../shared/utils/tapable/SyncHook.js";import"../../../shared/utils/tapable/SyncBailHook.js";import"../../../shared/utils/tapable/SyncWaterfallHook.js";import"../../../shared/utils/tapable/SyncLoopHook.js";import"../../../shared/utils/tapable/AsyncParallelHook.js";import"../../../shared/utils/tapable/AsyncParallelBailHook.js";import"../../../shared/utils/tapable/AsyncSeriesHook.js";import"../../../shared/utils/tapable/AsyncSeriesBailHook.js";import"../../../shared/utils/tapable/AsyncSeriesLoopHook.js";import"../../../shared/utils/tapable/AsyncSeriesWaterfallHook.js";import{useFieldVisitor as K}from"./hooks/useFieldVisitor.js";import{useFormContext as z}from"./hooks/useFormContext.js";import{useFormDomEvent as J,useFormExposeEvent as $}from"./hooks/useFormEvent.js";import{useFormGraph as Q}from"./hooks/useFormGraph.js";import{useFormRenderLifeCycle as X}from"./hooks/useFormRenderLifeCycle.js";import{validateMessageLocale as Y}from"./hooks/useFormValidator.js";import{useLowCodeEvent as Z}from"./hooks/useLowCodeEvent.js";import{useLowCodeReactions as ee}from"./hooks/useLowCodeReactions.js";import{useNuiThemeOverrides as oe}from"./hooks/useNuiThemeOverrides.js";import{useOperationalForm as te}from"./hooks/useOperationalForm.js";import{useWordbookSetting as re}from"./hooks/useWordbookSetting.js";import{useNewLowCodeReactions as ae}from"./hooks/useNewLowCodeReactions.js";const se={key:0,style:{height:"54px"}},le={style:{"white-space":"pre"}};var ie=e({__name:"FormRender",props:{fieldList:{type:Array},initialData:{type:Object,default:()=>({})},fieldVisitor:{type:Object},column:{type:Number,default:24},maxHeight:{type:[Number,String],default:""},anchor:{type:Boolean,default:!1},parallelism:{type:Number,default:3},businessFormatter:{type:Function},schema:{type:Object},components:{type:Object,default:()=>({})},scope:{type:Object,default:()=>({})},annotation:{type:Object},annotationShortcuts:{type:Array},consumer:{type:Boolean,default:!1},uuid:{type:String},lifeCycle:{type:Object},requestInstance:{type:Object},enterToNextWidget:{type:[Boolean,Function],default:!0},autoExpand:Boolean,lowCodeReactions:{type:Array},newLowCodeReactions:{type:Array},operationalForm:{type:Array},dateOperationalForm:{type:Object},operationalFormInit:{type:Boolean,default:!0},linebarAutoHidden:{type:Boolean},bordered:{type:[Boolean,String],default:!0},labelPlacementOverwrite:Boolean,outBordered:{type:Boolean,default:!1},uniqueCacheData:{type:Boolean,default:!1},forceClearable:Boolean,wordSplitFilter:{type:Boolean,default:!0},selectMode:Boolean,selectedFields:{type:Array},linebarDirection:{type:String,default:"vertical"},linebarTextDirection:{type:String,default:"horizontal"},linebarWidth:{type:[Number,String],default:120},autoWidth:{type:[Boolean,Number],default:!1},incrementalRender:{type:Boolean,default:!1}},emits:["formChange","annotationChange","scroll","update:selectedFields","linebarChange","ready"],setup(e,{expose:ie,emit:ne}){const me=e,pe=k(),{nuiThemeOverrides:de}=oe();Y();const ue=o(),{width:ce}=F(ue);t(W,r((()=>ce.value?(ce.value-16*(me.column-1))/24:0)));const fe=r((()=>C(me.maxHeight)?me.maxHeight+"px":me.maxHeight)),{SchemaField:he,businessCollector:ye,formItemDepsCollector:ge,changeContextCollector:be,formUUID:ve}=z(me,ne),{anchorBarRef:je,currentAnchor:ke,updateAnchorList:Fe,anchorIdList:Ce,onScroll:Se}=G(me,ne,ue,ge),{callLifeCycle:we}=X(me);t(U,we),we("onSetup");const{observeFormGraph:xe,setGraph:Be,removeGraph:Le}=Q();t(E,xe);const{lowCodeEventTrigger:Re}=Z(),He=o(!0),Ae=H({initialValues:me.initialData,effects(e){const o={};A((()=>{Object.assign(o,S(e.values))})),O("*",(t=>{const r=_.getIn(o,t.path);_.setIn(o,t.path,t.value);const a=t.props.name.toString();ye.trigger(e,a),ge.trigger(t.path),He.value&&ne("formChange",{fieldInstance:t,fieldKey:a,oldValue:r,fieldName:t.title,value:t.value,context:be.getContext(a,t.value)}),Re(t),Oe(a),Ie(a),Ve.trigger(a),Ne.trigger(a,t.value)})),I("*",Be),I("*",(e=>{const o=e.props.name.toString();Oe(o),Ie(o),me.operationalFormInit&&Ve.trigger(o)})),V("*",Le),me.anchor&&N("*",Fe)}}),{lowCodeReactionsHandler:Oe}=ee(r((()=>me.lowCodeReactions)),Ae),{newLowCodeReactionsHandler:Ie}=ae(r((()=>me.newLowCodeReactions)),Ae),Ve=te(me,Ae),Ne=re().create(Ae,be),{schemaAdaptor:_e}=P(ye,me.lifeCycle);let De=me.fieldList||[],Te=[];const We=r((()=>{let e=!1;const o=me.schema?me.schema:me.fieldList?(De!==me.fieldList&&0!==De.length||(e=!0),De=K().traverse(S(me.fieldList),me.fieldVisitor),q(_e(De,me))):q({});return me.incrementalRender&&e&&(Te=[],Object.values(o.properties).forEach((e=>{var o;"visible"===e["x-display"]&&"LINEBAR"===e["x-component"]&&!1!==(null==(o=e["x-component-props"])?void 0:o.show)&&(Te.push(e),e["x-component-props"].show=!1)})),Ue()),o}));function Ue(){Te.length&&setTimeout((()=>{const e=Te.shift();e&&(ge.trigger(_.parse(e.name),!0),Ae.setFieldState(e.name,(e=>{e.componentProps.show=!0})),Te.length?Ue():a().then((()=>{ne("ready")})))}),300)}const{onKeydown:Ee}=J({formModel:Ae,formRenderRef:ue,props:me,formUUID:ve}),{clearSpan:qe}=M();s((()=>qe(ve)));const Ge=$({formModel:Ae,formRenderRef:ue,formItemDepsCollector:ge,businessCollector:ye,wordbookSettingHandler:Ne,operationalFormHandler:Ve,getFieldList:()=>De,formUUID:ve,changeContextCollector:be,emitFormChange:He});return ie({formModel:Ae,validate:(e="*",o={})=>Ge.validate(e,o),getFormValues:(e=!0)=>Ge.getFormValues(e),setFormValues:async(e,o={})=>Ge.setFormValues(e,o),setFieldState(e,o){Ge.setFieldState(e,o)},resetFields(e="*"){Ge.resetFields(e)},queryWidget:async e=>Ge.queryWidget(e),getFieldList:()=>De,applySelectedSetting:e=>Ge.applySelectedSetting(e),async reload(){console.error("reload function is abstract,it should be overwrite!")},getTextFormValues:()=>Ge.getTextFormValues()}),(o,t)=>(l(),i(n(w),m({class:["form-render",{"form-render--out-border":e.outBordered}],"require-mark-placement":"left",style:n(pe)},n(R)(),{uuid:n(ve)}),{default:p((()=>[e.anchor?(l(),d("section",se,[u(n(x),{value:n(ke),"onUpdate:value":t[0]||(t[0]=e=>c(ke)?ke.value=e:null),type:"line",ref_key:"anchorBarRef",ref:je},{default:p((()=>[(l(!0),d(f,null,h(n(Ce),(e=>(l(),i(n(B),{name:e.name,tab:e.title,key:e.name},null,8,["name","tab"])))),128))])),_:1},8,["value"])])):y("v-if",!0),u(n(L),{"theme-overrides":n(de)},{default:p((()=>[g("section",{class:"form-render__wrapper",style:b({"--column":e.column,"--form-height":n(fe)}),ref_key:"formRenderRef",ref:ue,onScroll:t[1]||(t[1]=(...e)=>n(Se)&&n(Se)(...e)),onKeydownCapture:t[2]||(t[2]=(...e)=>n(Ee)&&n(Ee)(...e))},[u(n(D),{form:n(Ae)},{default:p((()=>[u(n(he),{schema:n(We)},null,8,["schema"]),e.consumer?(l(),i(n(T),{key:0},{default:p((({form:e})=>[g("div",le,v(JSON.stringify(e.values,null,2)),1)])),_:1})):y("v-if",!0),j(o.$slots,"default")])),_:3},8,["form"])],36)])),_:3},8,["theme-overrides"])])),_:3},16,["class","style","uuid"]))}});export{ie as default};
|
@@ -444,13 +444,11 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
444
444
|
afterRequest(fieldKey: string, res?: any, payload?: import("../../../shared/types").AnyObject | undefined): import("../../../shared/types").AnyObject[] | Promise<import("../../../shared/types").AnyObject[]>;
|
445
445
|
afterOptionInit(fieldKey: string, options: import("../../../shared/types").AnyObject[], payload?: import("../../../shared/types").AnyObject | undefined): void;
|
446
446
|
}>>[T]>>;
|
447
|
-
triggerAutoHidden: (field: import("@formily/core").GeneralField, includeLinebar?: boolean) => Promise<void>;
|
448
447
|
observeFormGraph: Record<string, import("@formily/core").GeneralField>;
|
449
448
|
setGraph: (field: import("@formily/core").GeneralField) => void;
|
450
449
|
removeGraph: (field: import("@formily/core").GeneralField) => void;
|
451
450
|
lowCodeEventTrigger: (field: import("@formily/core").GeneralField) => void;
|
452
451
|
emitFormChange: import("vue").Ref<boolean>;
|
453
|
-
isReady: boolean;
|
454
452
|
formModel: import("@formily/core").Form<{
|
455
453
|
[x: string]: any;
|
456
454
|
}>;
|
@@ -1 +1 @@
|
|
1
|
-
import{defineComponent as e,ref as t,computed as a,inject as l,watch as o,createVNode as r,nextTick as n}from"vue";import{connect as u,mapProps as i}from"@formily/vue";import{isEqual as s,isArray as c,isString as p}from"lodash-es";import{NCascader as d}from"naive-ui";import"../../../index.js";import{useCommonInjection as v}from"../../hooks/useCommonInjection.js";import{InjectionChangeContextCollector as m,InjectionAsyncQueue as f,InjectionFormUUID as y}from"../../constants/index.js";import"@formily/path";import"@vueuse/core";import"../../../../../shared/utils/index.js";import"@formily/core";import"@vicons/ionicons5";import"@vue/shared";import"date-fns";import{assignUpdateValue as h,createVisitedSetter as k,traverseDependKey as j}from"../../utils/schema.js";import"
|
1
|
+
import{defineComponent as e,ref as t,computed as a,inject as l,watch as o,createVNode as r,nextTick as n}from"vue";import{connect as u,mapProps as i}from"@formily/vue";import{isEqual as s,isArray as c,isString as p}from"lodash-es";import{NCascader as d}from"naive-ui";import"../../../index.js";import{useCommonInjection as v}from"../../hooks/useCommonInjection.js";import{InjectionChangeContextCollector as m,InjectionAsyncQueue as f,InjectionFormUUID as y}from"../../constants/index.js";import"@formily/path";import"@vueuse/core";import"../../../../../shared/utils/index.js";import"@formily/core";import"@vicons/ionicons5";import"@vue/shared";import"date-fns";import{assignUpdateValue as h,createVisitedSetter as k,traverseDependKey as j}from"../../utils/schema.js";import"../../hooks/useComplexOptions.js";import"../../../../../shared/utils/tapable/SyncHook.js";import"../../../../../shared/utils/tapable/SyncBailHook.js";import"../../../../../shared/utils/tapable/SyncWaterfallHook.js";import"../../../../../shared/utils/tapable/SyncLoopHook.js";import"../../../../../shared/utils/tapable/AsyncParallelHook.js";import"../../../../../shared/utils/tapable/AsyncParallelBailHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesBailHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesLoopHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesWaterfallHook.js";import"@vueuse/shared";import"../../../../../shared/hooks/selectHooks/useSearchContent.js";import"./index.js";import{useFormField as g}from"../../hooks/useFormField.js";import"@formily/reactive";import"../../hooks/useFormValidator.js";const b=u(e({name:"FormCascader",props:{options:{type:Array,default:()=>[]},depth:{type:[Number,String]},urlConfig:{type:Object},lazyRequest:{type:Boolean,default:!0},requestCache:{type:Boolean,default:!0},onFocus:{type:Function},filterable:{type:Boolean,default:!1},checkStrategy:{type:String,default:"child"},labelField:{type:String,default:"text"},valueField:{type:String,default:"value"},onChange:{},value:{}},emits:["update:value"],setup(e,{slots:u,emit:i}){const h=t(),{field:b,title:C,fieldKey:S}=g(),F=t(1),w=t(!0);const A=a((()=>{var t,a,l;return null!=(l=null!=(a=null==(t=e.urlConfig)?void 0:t.nameKey)?a:e.labelField)?l:"text"})),H=a((()=>{var t,a,l;return null!=(l=null!=(a=null==(t=e.urlConfig)?void 0:t.valueKey)?a:e.valueField)?l:"value"}));l(m).setContext(S.value,(()=>({labelField:A.value,valueField:H.value})));const x=a((()=>{try{const t=Array.isArray(e.value)?e.value:JSON.parse(e.value||"");if(!Array.isArray(t)||!t.length)return null;const a=t.map((e=>e[H.value])).slice(-1).join(""),l=t.map((e=>e[A.value])).join(" / ");return a||l}catch(e){return null}}));function q(e,t,a){i("update:value",c(a)?a.map((function(e){return{...e,label:e[A.value],children:void 0,parent:void 0,mergeItemValue:void 0}})):null)}const K=l(f);async function V(t){e.filterable?await async function(){if(!e.urlConfig||h.value&&e.requestCache)return;const t=await K.addAsync({...e.urlConfig,params:{lvlnr:"1"},key:C.value,cache:e.requestCache,payload:{field:b.value,labelKey:A.value,valueKey:H.value}});function a(e,t,o){const r=[...o,...l(e)],n={[A.value]:e[A.value],[H.value]:e[H.value],depth:t+1,isLeaf:!0,keyword:e.keyword,mergeItemValue:r};return c(e.children)&&(n.children=e.children.map((e=>a(e,t+1,r))),n.isLeaf=!e.children.length),F.value=Math.max(F.value,t+1),n}function l(e){let t=[];if(p(e[A.value])&&(t=[...t,e[A.value]]),p(e.keyword)&&e.keyword.length>0){const a=e.keyword.split(",");t=[...t,...a]}return t}h.value=t.map((e=>a(e,0,[])))}():await async function(t){if(o(e,t))return;const a=await K.addAsync(r(s(t),i(e),C.value,t));if(!a.length&&t)return t.isLeaf=!0,q(0,0,n(t)),void(z.value=!1);const l=a.map((e=>u(e,s(t))));function o(e,t){return!i(e)||!t&&h.value&&e.requestCache||s(t)>=s(e)-1}function r(t,a,l,o){const r={lvlnr:t+1+""};return o&&a.dependKey&&j(a.dependKey,((e,t)=>{r[t]=o[e]})),{params:r,...a,key:l,cache:e.requestCache}}function n(e){let t=e;const a=[e];for(;t.parent;)a.unshift(t.parent),t=t.parent;return a}function u(a,l){return{[A.value]:a[A.value],[H.value]:a[H.value],depth:l+1,parent:t,isLeaf:l+2>=s(e)}}function i(e){return e.urlConfig}function s(e){var t;return null!=(t=null==e?void 0:e.depth)?t:-1}t?t.children=l:h.value=l}(t),await L()}const B=`form-render__cascade--menu-${l(y)}`;async function L(){await n();const e=document.querySelector(`.${B} .v-vl`);e&&e.dispatchEvent(new CustomEvent("scroll"))}function I(t,a){if(!t||!a)return!1;const{mergeItemValue:l}=a;return!(e.checkStrategy.includes("child")&&a.depth<F.value)&&(l.length>0&&l.some((e=>e.includes(t.trim()))))}const{injectValueValidate:E,injectValueWatchFromEmpty:O,injectValueBindKey:W}=v();O((()=>e.value),V),E((()=>e.value)),o((()=>e.urlConfig),(async(t,a)=>{s(t,a)||(h.value=null,w.value?e.lazyRequest||(V(),w.value=!w.value):await V())}),{immediate:!0});const z=t(!1);function N(e){z.value=!!e,e&&V()}const P=a((()=>h.value||e.options||[])),R=a((()=>!e.filterable)),U=W(x);return()=>r(d,{key:U.value,remote:R.value,filterable:e.filterable,"menu-props":{class:B,onClick:L},"check-strategy":e.checkStrategy,show:!!z.value,"onUpdate:show":N,value:x.value,filter:I,"onUpdate:value":q,labelField:A.value,valueField:H.value,options:P.value,onLoad:V,onFocus:k(b)},u)}}),i({dataSource:"options"},h));export{b as SEARCH_CASCADER};
|
@@ -1 +1 @@
|
|
1
|
-
import{defineComponent as e,computed as o,inject as t,useAttrs as l,ref as a,createVNode as r,mergeProps as s,toRaw as n}from"vue";import{arrayed as u}from"../../../../../shared/utils/index.js";import{NSelect as i}from"naive-ui";import"@vueuse/core";import"date-fns";import{cloneDeep as p,isArray as m,isObject as d,omit as c,xor as v}from"lodash-es";import"@vue/shared";import{useSelectAllowModify as y}from"../../../../../shared/hooks/selectHooks/useSelectAllowModify.js";import"../../../../../shared/hooks/selectHooks/useSearchContent.js";import{useSelectRenders as f}from"../../../../../shared/hooks/selectHooks/useSelectRenders.js";import{connect as h,mapProps as b}from"@formily/vue";import{useCommonInjection as j,useSelectOptionProps as S}from"../../hooks/useCommonInjection.js";import{useComplexOptions as k,useComplexOptionsSpan as g}from"../../hooks/useComplexOptions.js";import{InjectionChangeContextCollector as C,InjectionFormUUID as F}from"../../constants/index.js";import"@formily/path";import"@formily/core";import"@vicons/ionicons5";import{assignUpdateValue as B,assignClearBindVisited as w,createVisitedSetter as A}from"../../utils/schema.js";import"
|
1
|
+
import{defineComponent as e,computed as o,inject as t,useAttrs as l,ref as a,createVNode as r,mergeProps as s,toRaw as n}from"vue";import{arrayed as u}from"../../../../../shared/utils/index.js";import{NSelect as i}from"naive-ui";import"@vueuse/core";import"date-fns";import{cloneDeep as p,isArray as m,isObject as d,omit as c,xor as v}from"lodash-es";import"@vue/shared";import{useSelectAllowModify as y}from"../../../../../shared/hooks/selectHooks/useSelectAllowModify.js";import"../../../../../shared/hooks/selectHooks/useSearchContent.js";import{useSelectRenders as f}from"../../../../../shared/hooks/selectHooks/useSelectRenders.js";import{connect as h,mapProps as b}from"@formily/vue";import{useCommonInjection as j,useSelectOptionProps as S}from"../../hooks/useCommonInjection.js";import{useComplexOptions as k,useComplexOptionsSpan as g}from"../../hooks/useComplexOptions.js";import{InjectionChangeContextCollector as C,InjectionFormUUID as F}from"../../constants/index.js";import"@formily/path";import"@formily/core";import"@vicons/ionicons5";import{assignUpdateValue as B,assignClearBindVisited as w,createVisitedSetter as A}from"../../utils/schema.js";import"../../../index.js";import"../../../../../shared/utils/tapable/SyncHook.js";import"../../../../../shared/utils/tapable/SyncBailHook.js";import"../../../../../shared/utils/tapable/SyncWaterfallHook.js";import"../../../../../shared/utils/tapable/SyncLoopHook.js";import"../../../../../shared/utils/tapable/AsyncParallelHook.js";import"../../../../../shared/utils/tapable/AsyncParallelBailHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesBailHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesLoopHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesWaterfallHook.js";import"./index.js";import"@vueuse/shared";import{useFormField as H}from"../../hooks/useFormField.js";import"@formily/reactive";import{useUrlConfigOptions as O,useAutographOptions as K,useRecommendOptions as R}from"../../hooks/useFormRenderOptions.js";import"../../hooks/useFormValidator.js";const x=h(e({name:"FormSelect",props:{value:{type:[String,Array,Number]},lazyRequest:{type:Boolean,default:!0},requestCache:{type:Boolean,default:!0},options:{type:Array,default:()=>[]},onChange:{},labelField:{type:String,default:"text"},valueField:{type:String,default:"value"},showField:{type:String},allowCreate:Boolean,shouldSave:Boolean,allowModify:Boolean,showCustomValue:Boolean,cursorPlacement:{type:String,default:"end"},urlConfig:{type:Object},autograph:{type:String},wordbook:{type:Object},recommend:{type:Boolean,default:!1},commonList:{type:Array},recentList:{type:Array},getRecommendInfo:{type:Function},commonNum:{type:Number,default:10},recentNum:{type:Number,default:10},recommendCache:{type:Boolean,default:!1},useLoading:{type:Boolean,default:!0},multiple:{type:Boolean},deletable:{type:Boolean,default:!0},selectAll:{type:Boolean},searchByValue:{type:Boolean},wordSplitFilter:{}},emits:["update:value","postRecommend"],setup(e,{slots:h,emit:b}){const B=o({get:()=>e.value,async set(e){b("update:value",e),D(e)}}),{labelKey:w,valueKey:x,showKey:V,fetchData:L,searchContent:P,fullOptions:_,filterOptions:N,remoteOptions:I,loading:W}=e.urlConfig?O(e,B):K(e,B),{modifyEvent:q,modifyAbleRef:E,getOptionsWithCreated:z}=y(e,{searchContent:P,labelKey:w,valueKey:x,valueRef:B,fullOptions:_}),{renderComplexOption:M,hasComplexOption:T}=k(e,B),{getRecommend:U,postRecommend:D,sortedOptions:G}=R(e,N,b,w,x),{field:J,fieldKey:Q}=H();t(C).setContext(Q.value,(e=>({currentOption:p(function(e){const o=z(_.value);return m(e)?function(e){const t=o.reduce(((e,o)=>(e[o[x.value]]=o,e)),{});return e.map((e=>t[e]))}(e):(t=e,o.find((e=>e[x.value]===t)));var t}(e)),labelField:w.value,valueField:x.value})));const X=async e=>(P.value=e,Promise.allSettled([L(e),U(e)])),{injectValueValidate:Y,injectValueWatchFromEmpty:Z,injectValueBindKey:$}=j();Z(B,(()=>e.lazyRequest&&X())),Y(B);const ee=$(B),{menuProps:oe,nodeProps:te}=S(),{renderTag:le,renderLabel:ae,renderSelectAll:re,titleRef:se}=f(e,{labelKey:w,valueKey:x,valueRef:B,showKey:V,searchContent:P}),ne=o((()=>z(E.value?_.value:G.value))),ue=l(),ie=o((()=>{if(e.allowCreate||e.showCustomValue)return B.value;const o=e.multiple&&m(B.value);return _.value.find((e=>o?B.value.includes(e[x.value]):e[x.value]===B.value))?B.value:null})),pe=a(!1);async function me(e){e&&await X(),pe.value=e}async function de(e,o){await q.updateValue(e,o),I.value&&o&&u(o).forEach((e=>{if(!d(e))return;const o=e;o.created&&o.shouldSave&&I.value.push(c(n(o),["created","shouldSave"]))}))}const ce=t(F),{getSpan:ve}=g(),ye=A(J,q.focus);function fe(o){if(!e.multiple)return;const t=o?ne.value.map((e=>e[x.value])):[];v(t,e.value).length&&(B.value=t)}function he(o){let t=h;return e.multiple&&e.selectAll&&(t={action:()=>re(fe),...h}),r(i,s({title:se.value,key:ee.value,multiple:e.multiple,remote:!0,filterable:!0,loading:W.value,value:ie.value,onUpdateValue:de,"menu-props":oe,"node-props":te,labelField:w.value,valueField:x.value,options:ne.value,onSearch:X,show:pe.value,"onUpdate:show":me,onFocus:ye,onBlur:q.blur,renderLabel:ae,renderTag:le},o,ue),t)}return()=>{var e,o;if(!T.value)return he();const t=null!=(o=null==(e=J.value.decoratorProps)?void 0:e.span)?o:6,l=ve(ce,J.value.address);return r("section",{class:"form-render__selectChildField",style:{"--column":l+t}},[he({class:"form-render__selectChildFieldItem",style:{"--form-item-column":t}}),_.value.map((e=>M({option:e,value:B.value,valueKey:x.value,labelKey:w.value,childFieldStrategy:"checked",renderLabel:!1,attrs:{class:"form-render__selectChildFieldItem",style:{"--form-item-column":l}}})))])}}}),b({dataSource:"options"},B,w));export{x as SELECT};
|
@@ -1 +1 @@
|
|
1
|
-
export{useAnchor}from"./useAnchor.js";export{
|
1
|
+
export{useAnchor}from"./useAnchor.js";export{BusinessCollector,useBusinessBinding}from"./useBusinessBinding.js";export{ContextCollector,useChangeContext}from"./useChangeContext.js";export{useCommonInjection,useSelectOptionProps}from"./useCommonInjection.js";export{useCommonLog}from"./useCommonLog.js";export{useComplexOptions,useComplexOptionsSpan}from"./useComplexOptions.js";export{useFieldListAdaptor}from"./useFieldListAdaptor.js";export{useFieldNormalize}from"./useFieldNormalize.js";export{useFieldVisitor}from"./useFieldVisitor.js";export{useFormContext}from"./useFormContext.js";export{useFormDomEvent,useFormExposeEvent}from"./useFormEvent.js";export{useFormField}from"./useFormField.js";export{useFormGraph}from"./useFormGraph.js";export{FormItemDepsCollector,useFormItemDeps}from"./useFormItemDeps.js";export{useFormRenderLifeCycle}from"./useFormRenderLifeCycle.js";export{useAutographOptions,useRecommendOptions,useUrlConfigOptions}from"./useFormRenderOptions.js";export{useFormValidator,validateMessageLocale}from"./useFormValidator.js";export{useLowCodeEvent}from"./useLowCodeEvent.js";export{useLowCodeReactions}from"./useLowCodeReactions.js";export{useNuiThemeOverrides}from"./useNuiThemeOverrides.js";export{useOperationalForm}from"./useOperationalForm.js";export{usePresetScope}from"./usePresetScope.js";export{useWordbookSetting,wordbookSettingHandler}from"./useWordbookSetting.js";export{useNewLowCodeReactions}from"./useNewLowCodeReactions.js";export{useSelectedSetting}from"./useSelectedSetting.js";
|
@@ -1 +1 @@
|
|
1
|
-
import{arrayed as e,deepOmit as o}from"../../../../shared/utils/index.js";import{cloneDeep as t,pick as
|
1
|
+
import{arrayed as e,deepOmit as o}from"../../../../shared/utils/index.js";import{cloneDeep as t,castArray as n,pick as i}from"lodash-es";import"../../index.js";import{parseNumberFromMaybeString as r,formRenderLog as l}from"../utils/index.js";import{useFieldNormalize as s}from"./useFieldNormalize.js";import{fieldKeyEscape as a,createLinebarId as p}from"../utils/schema.js";import{useFormValidator as c}from"./useFormValidator.js";import{transformDateFormat as d}from"../utils/business.js";function m(e,o){Object.assign(e["x-component-props"],{...i(o,["wordbook","autograph"])})}function u(e,o){Object.assign(e["x-component-props"],{...i(o,["urlConfig","wordbook"])})}function f(e){return"1"===e||!0===e}function x(x,_){const{createValidatorSchema:h}=c(),b=e=>{var o;const t={name:e.val_key,type:null!=(o=e.fieldType)?o:"string",title:e.alias||e.name,"x-component":e.html_type,default:e.default_val,"x-component-props":{placeholder:e.placeholder,clearable:"0"===e.is_empty,...e.componentProps||{}},"x-content":e.slots,"x-display":"0"===e.is_show?"hidden":"visible","x-pattern":"0"===e.is_edit?"disabled":"editable","x-compile-omitted":["title","x-component-props","x-decorator-props"]};e.reactions&&(t["x-reactions"]=e.reactions),e.noDecorator||Object.assign(t,{"x-decorator":"FORM_ITEM","x-decorator-props":{fieldItem:e,beforeSetValue:null==_?void 0:_.beforeSetValue,span:2*(e.elem_width||3),showLabel:"1"!==e.hide_title,remark:e.remark,propertyKey:e.val_key,annotation:e.annotation,...e.decoratorProps||{}}});const n=h(e);return n&&(t["x-validator"]=n),"0"===e.is_null&&(t.required=!0),t},v=e=>{var o,t,n,l,s,a,p,c,d,x,_,h,v,g;const y=b(e);e.urlConfig?u(y,e):e.autograph&&m(y,e);const w=!!e.__multiple,C=f(null!=(t=null==(o=e.componentProps)?void 0:o.allowModify)?t:e.allowModify),O=f(null!=(l=null==(n=e.componentProps)?void 0:n.selectAll)?l:e.selectAll),A=f(null!=(a=null==(s=e.componentProps)?void 0:s.shouldSave)?a:e.save_free_entry),E=f(null!=(c=null==(p=e.componentProps)?void 0:p.allowCreate)?c:e.free_entry),j=null!=(x=null==(d=e.componentProps)?void 0:d.showField)?x:e.show_key,k=null!=(h=null==(_=e.componentProps)?void 0:_.options)?h:e.option,N=null!=(g=r(e.multi_select_value))?g:null==(v=e.componentProps)?void 0:v.maxTagCount;return Object.assign(y["x-component-props"],{multiple:w,options:k,allowModify:C,allowCreate:E||C,shouldSave:A,showField:j,maxTagCount:N,selectAll:O,...i(e,["lazyRequest","requestCache"])}),w&&(y.type="array"),y},g=e=>{var o,t;const n=b(e),i=null!=(t=null==(o=e.componentProps)?void 0:o.selectAll)?t:e.selectAll;return Object.assign(n["x-component-props"],{options:e.option,childFieldStrategy:e.childFieldStrategy,childWidthMode:e.childWidthMode,vertical:e.__vertical,selectAll:"1"===i||!0===i}),e.urlConfig?u(n,e):e.autograph&&m(n,e),n},y=e=>{const t=b(e);return Object.assign(t["x-component-props"],{fieldItem:o(e,["reactions"])}),t},w=e=>({name:e.val_key,type:"void",title:e.alias||e.name,"x-component":"LINEBAR","x-display":"visible","x-component-props":{linebarTextDirection:e.linebarTextDirection,linebarDirection:e.linebarDirection,linebarWidth:e.linebarWidth,disabled:"1"===e.is_not_fold,id:p(e.val_key),show:"0"!==e.is_show,remark:e.remark},"x-content":e.slots}),C=new Map([["LINEBAR",w],["LINE_BREAKS",e=>({name:e.val_key,type:"void",title:e.alias||e.name,"x-component":"LINE_BREAKS","x-component-props":{border:e.lineBreaksBorder},"x-display":"0"===e.is_show?"hidden":"visible"})],["INPUT",e=>{const o=b(e);return Object.assign(o["x-component-props"],{...i(e,["prefix","suffix"])}),o}],["TEXTAREA",e=>{const o=b(e);return Object.assign(o["x-component-props"],{rows:e.initialize_high||3}),o}],["INPUT_NUMBER",e=>{const o=b(e),{decimal_length:t,validate:n,allowSlash:i}=e;return!0!==i&&"1"!==i||(o["x-component"]="INPUT_NUMBER_SLASH",o.type="string"),Object.assign(o["x-component-props"],{precision:r(null!=t?t:null==n?void 0:n.decimal_length),whiteList:e.whiteList,prefix:e.prefix,suffix:e.suffix}),o}],["SELECT",v],["REMOTE_SEARCH",v],["DATE",e=>{const o=b(e);return Object.assign(o["x-component-props"],{valueFormat:e.date_format,type:d(e.date_format),validate:e.validate}),o}],["TIME",e=>{const o=b(e);return Object.assign(o["x-component-props"],{format:e.date_format,type:d(e.date_format),validate:e.validate}),o}],["LEVEL_SEARCH_CASCADER",e=>{const o=b(e);return Object.assign(o["x-component-props"],{...i(e,["wordbook","lazyRequest","autograph"])}),"1"===e.is_allow_check_mid&&e.allow_check_mid_level&&(o["x-component-props"].checkAbleLevel=+e.allow_check_mid_level),o}],["SEARCH_CASCADER",e=>{var o;const t=b(e);return Object.assign(t["x-component-props"],{urlConfig:e.urlConfig,depth:null==(o=e.wordbook)?void 0:o.level_num,options:e.option}),t}],["COMBINATION",e=>{const o=b(e);return o.type="array","table"===e.displayMode?o["x-component"]="TABLE_COMBINATION":!1!==e.jsonCombination&&(o["x-component"]="JSON_COMBINATION"),Object.assign(o["x-decorator-props"],{showLabel:!1,showFeedback:!1}),Object.assign(o["x-component-props"],{title:e.alias||e.name,maxGroupNum:e.maxGroupNum,minGroupNum:e.minGroupNum,showLabel:"1"!==e.hide_title,properties:e.children||[],combinationItemDeletable:e.combinationItemDeletable}),o}],["RADIO",g],["CHECKBOX",g],["SWITCH",e=>{const o=b(e);return Object.assign(o["x-component-props"],{openDescription:e.open,closeDescription:e.close,showMode:e.show_mode}),o}],["SLIDER",e=>{const o=b(e);return Object.assign(o["x-component-props"],{step:r(e.step_length),max:r(e.max_length),min:r(e.min_length),option:e.option}),o}],["COMPLEX",e=>{const o=b(e);Array.isArray(e.properties)&&l("COMPLEX控件的properties属性已经废弃, 请使用children作为替代, 在之后的版本中properties属性将不再支持");const t=Array.isArray(e.properties||e.children)?k(e.properties||e.children):{};return o.type=e.fieldType||"void",o.properties=t,Object.assign(o["x-decorator-props"],{showFeedback:!1}),Object.assign(o["x-component-props"],i(e,["wrapperStyle","display"])),o}]]),O=e=>{if(e.suffixConfig)return A(e);return(C.get(e.html_type)||y)(e)},A=o=>{if(!o.suffixConfig&&!o.prefixConfig)return O(o);const t=o.suffixConfig?e(o.suffixConfig):[],n=[...(o.prefixConfig?e(o.prefixConfig):[]).map((e=>({elem_width:o.elem_width,...e,hide_title:"1",is_show:"1"}))),{...o,is_show:"1",hide_title:"1",suffixConfig:void 0,prefixConfig:void 0},...t.map((e=>({elem_width:o.elem_width,...e,hide_title:"1",is_show:"1"})))],i=b(o),r=n.reduce(((e,o)=>e+2*(o.elem_width||3)),0);return Object.assign(i,{type:"void",name:a(n),title:o.alias||o.name,"x-component":"INPUT_GROUP","x-component-props":{span:r},"x-decorator-props":{...i["x-decorator-props"],showFeedback:!1,suffixFields:n.map((e=>e.val_key))},properties:k(n)}),i},{FieldNormalizeWaterfallHook:E,FieldListNormalizeWaterfallHook:j}=s();function k(o,i={column:9999}){let r=null;const l=j.call(t(o),i).reduce(((e,o,n)=>{var l;const a=null==(l=(o=E.call(o,i)).validate)?void 0:l.obj_type;return a&&x&&x.collect(a,t(o)),"LINEBAR"===o.html_type?(e[p(o)]=s(w(o),n),r=e[p(o)].properties={}):r?r[p(o)]=s(O(o),n):(r=null,e[p(o)]=s(O(o),n)),e}),{});return i.linebarAutoHidden&&Object.values(l).forEach((e=>{if("LINEBAR"!==e["x-component"])return;e["x-reactions"]?e["x-reactions"]=n(e["x-reactions"]):e["x-reactions"]=[];const o=Object.keys(e.properties||{}).map((o=>`${e.name}.${o}#selfDisplay`));e["x-reactions"].push({dependencies:o,fulfill:{state:{visible:"{{hasVisible($deps)}}"}}})})),l;function s(e,o){return e["x-index"]=o,e["x-decorator-props"]={_index:o,...e["x-decorator-props"]},e}function p(o){return o.suffixConfig?a([o,...e(o.suffixConfig)]):o.val_key}}return{schemaAdaptor:k}}export{x as useFieldListAdaptor};
|
@@ -1 +1 @@
|
|
1
|
-
import{isString as i}from"lodash-es";import"vue";import"../../../../shared/utils/index.js";import"@formily/core";import"@formily/path";import"@vicons/ionicons5";import"@vue/shared";import"@vueuse/core";import"naive-ui";import{isIdCard as
|
1
|
+
import{isString as i,isEmpty as o}from"lodash-es";import"vue";import"../../../../shared/utils/index.js";import"@formily/core";import"@formily/path";import"@vicons/ionicons5";import"@vue/shared";import"@vueuse/core";import"naive-ui";import{isIdCard as s,isMobile as r}from"../utils/business.js";function e(){return{isIdCard:o=>i(o)&&s(o),isMobile:o=>i(o)&&r(o),isEmail:o=>i(o)&&/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/.test(o),isNumber:o=>i(o)&&/\d+/.test(o),hasVisible:i=>!o(i)&&i.some((i=>!i||"visible"===i))}}export{e as usePresetScope};
|
@@ -1 +1 @@
|
|
1
|
-
import{defineComponent as e,ref as t,watch as n,withDirectives as
|
1
|
+
import{defineComponent as e,ref as t,watch as n,withDirectives as i,openBlock as o,createElementBlock as s,normalizeStyle as a,unref as r,createElementVNode as l,toDisplayString as c,createVNode as u,createCommentVNode as d,withCtx as f,Fragment as m,renderList as p,createBlock as g,createTextVNode as v,vShow as y}from"vue";import{NIcon as h,NPopover as M,NButton as k,NTooltip as E,NUpload as C,NUploadTrigger as b}from"naive-ui";import{format as T}from"date-fns";import{useState as x}from"../hooks/useState.js";import{useSession as I}from"../hooks/useSession.js";import{emojis as w}from"../utils/emoji.js";import{MESSAGE_TYPE as _}from"../constants/index.js";import{uploadFileApi as S}from"../api/index.js";import{CloseCircleOutline as z}from"@vicons/ionicons5";import{cloneDeep as A}from"lodash-es";import{simplifyMessage as O}from"../utils/index.js";const R={key:0,class:"reference-content-box"},j={class:"reference-content"},D=["innerHTML"],L={class:"tool-box"},q=l("i",{class:"chat--iconfont chat--icon-face"},null,-1),F={class:"emoji-box"},H=l("span",null,"默认表情",-1),K={class:"list-box"},N=["src"],V=l("i",{class:"chat--iconfont chat--icon-good"},null,-1),G=l("i",{class:"chat--iconfont chat--icon-image"},null,-1),U=l("i",{class:"chat--iconfont chat--icon-folder"},null,-1),J={class:"btn-box"},B=l("span",{class:"tip"},"Enter 发送, Shift + Enter 换行",-1);var P=e({__name:"ChatFooter",props:{showAv:{type:Boolean,default:!1}},setup(e){const P=e,X=t(),Y=t(""),{state:Q,stompClient:W}=x(),{setCurrentSessionItem:Z}=I(Q),$=t(!1),ee=t(!1);function te(e){["Enter"].includes(e.key)&&(function(e){return e.altKey||e.ctrlKey||e.metaKey||e.shiftKey}(e)||(e.preventDefault(),oe()))}function ne(){var e,t;Y.value=(null==(t=null==(e=X.value)?void 0:e.innerText)?void 0:t.trim())||""}async function ie(e,t){const{file:n,name:i}=e.file,o=new FormData;o.append("sender",Q.userInfo.id),o.append("file",n);const s=await S(o);if(!s)return console.log("上传失败");se({chatMessageType:t,msg:t===_.FILE?i:s,url:s})}function oe(){if(!(Y.value.length>2e3))return Y.value?void se({msg:Y.value}):console.log("请输入内容");console.log("请控制在2000字以内")}async function se(e){const{chatMessageType:t=_.TEXT,msg:n,url:i}=e,o={msg:n,chatMessageType:t};t===_.FILE&&(o.fileUrl=i),[_.TEXT,_.BLEND].includes(t)&&(X.value.innerHTML="",Y.value=""),Q.currentReferenceMsg&&(o.referenceContent=A(Q.currentReferenceMsg),Q.currentReferenceMsg=null);const s=T(new Date,"yyyy-MM-dd HH:mm:ss");Q.currentMsg={content:o,sender:Q.userInfo.id,senderName:Q.userInfo.name,senderAvatar:Q.userInfo.avatar,id:"",sendTime:s,sending:!0,fail:!1},[_.AUDIO,_.VIDEO].includes(t)||(Q.isAppendMsg=!0),Z({lastMessageSendTime:s,lastMessage:o,sortTime:s});try{W.value.send("/app/chat/send",{},JSON.stringify({chatType:"SINGLE",content:o,receiver:Q.currentSessionItem.receiver})),Q.currentMsg={...Q.currentMsg,fail:!1}}catch(e){Q.currentMsg={...Q.currentMsg,fail:!0}}finally{Q.currentMsg={...Q.currentMsg,sending:!1}}}return t(""),n((()=>Q.currentReferenceMsg),(e=>{var t;e&&(null==(t=X.value)||t.focus())})),n((()=>P.showAv),(e=>{e&&(ee.value=!0)})),(e,t)=>i((o(),s("section",{class:"chat-footer",style:a({cursor:r(Q).id?"default":"not-allowed"})},[r(Q).currentReferenceMsg?(o(),s("div",R,[l("div",j,[l("span",null,c(r(Q).currentReferenceMsg.senderName)+":",1),l("pre",{innerHTML:r(O)(r(Q).currentReferenceMsg.content)},null,8,D)]),u(r(h),{component:r(z),onClick:t[0]||(t[0]=()=>r(Q).currentReferenceMsg=null)},null,8,["component"])])):d("v-if",!0),l("div",L,[u(r(M),{show:$.value,"onUpdate:show":t[1]||(t[1]=e=>$.value=e),placement:"top",trigger:"click","show-arrow":!1,"display-directive":"show",delay:0},{trigger:f((()=>[u(r(k),{quaternary:"",size:"tiny"},{icon:f((()=>[q])),_:1})])),default:f((()=>[l("div",F,[d(' <span>最近使用</span>\n\t\t\t\t\t<div class="list-box">\n\t\t\t\t\t\t<template v-for="(img, index) in images" :key="index">\n\t\t\t\t\t\t\t<i>\n\t\t\t\t\t\t\t\t<img :src="img" />\n\t\t\t\t\t\t\t</i>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</div> '),H,l("div",K,[(o(!0),s(m,null,p(r(w).default,(([e,t])=>(o(),g(r(E),{key:e,"show-arrow":!1,trigger:"hover"},{trigger:f((()=>[u(r(k),{quaternary:"",size:"tiny",onClick:()=>function(e){$.value=!1,se({chatMessageType:_.EMOJI,msg:e})}(e)},{icon:f((()=>[l("img",{src:t},null,8,N)])),_:2},1032,["onClick"])])),default:f((()=>[v(" "+c(e),1)])),_:2},1024)))),128))])])])),_:1},8,["show"]),u(r(k),{quaternary:"",size:"tiny",onClick:t[2]||(t[2]=()=>se({chatMessageType:r(_).EMOJI,msg:0}))},{icon:f((()=>[V])),_:1}),u(r(C),{abstract:"",multiple:"",accept:"image/*",onChange:t[3]||(t[3]=e=>ie(e,r(_).IMAGE))},{default:f((()=>[u(r(b),{abstract:""},{default:f((({handleClick:e})=>[u(r(k),{quaternary:"",size:"tiny",onClick:e},{icon:f((()=>[G])),_:2},1032,["onClick"])])),_:1})])),_:1}),u(r(C),{abstract:"",multiple:"",accept:"video/*,.pdf,.doc.docx,,.zip,.xlsx,.txt",onChange:t[4]||(t[4]=e=>ie(e,r(_).FILE))},{default:f((()=>[u(r(b),{abstract:""},{default:f((({handleClick:e})=>[u(r(k),{quaternary:"",size:"tiny",onClick:e},{icon:f((()=>[U])),_:2},1032,["onClick"])])),_:1})])),_:1}),d(' <n-button quaternary size="tiny" @click="() => handleCall(MESSAGE_TYPE.AUDIO)">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<n-icon size="18" :component="CallOutline" />\n\t\t\t\t</template>\n\t\t\t</n-button>\n\t\t\t<n-button quaternary size="tiny" @click="() => handleCall(MESSAGE_TYPE.VIDEO)">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<n-icon size="20" :component="VideocamOutline" />\n\t\t\t\t</template>\n\t\t\t</n-button> ')]),i(l("div",{ref_key:"inputRef",ref:X,class:"input-box",contenteditable:"",onKeydown:te,onInput:ne},null,544),[[y,r(Q).id]]),l("div",J,[B,u(r(k),{type:"primary",round:"",disabled:!Y.value,onClick:oe},{default:f((()=>[v("发送")])),_:1},8,["disabled"])]),d(' <Video v-model:show="showVideo" :call-mode="callMode" /> ')],4)),[[y,r(Q).id]])}});export{P as default};
|
@@ -1 +1 @@
|
|
1
|
-
import{defineComponent as e,ref as t,openBlock as a,createElementBlock as i,Fragment as o,unref as s,createElementVNode as n,createVNode as c,withCtx as l,toDisplayString as r,createCommentVNode as u}from"vue";import{NAvatar as h,NButton as v}from"naive-ui";import{useState as f}from"../hooks/useState.js";import m from"./PersonProfile.vue.js";import d from"./ChatSet.vue.js";import p from"./ChatFile.vue.js";import w from"./ChatRecord.vue.js";const y={key:0,class:"chat-header box-shadow"},C={class:"chat-header__left"},_={class:"name"},k={class:"chat-header__right"},g=n("i",{class:"chat--iconfont chat--icon-image"},null,-1),S=n("i",{class:"chat--iconfont chat--icon-folder"},null,-1),b=n("i",{class:"chat--iconfont chat--icon-list-search"},null,-1),j=n("i",{class:"chat--iconfont chat--icon-set"},null,-1);var z=e({__name:"ChatHeader",setup(e){const{state:z}=f(),q=t(!1),I=t(!1),U=t("image"),x=t(!1);function F(e){U.value=e,I.value=!0}return(e,t)=>(a(),i(o,null,[s(z).id?(a(),i("section",y,[n("div",C,[c(m,{"user-id":s(z).currentSessionItem.receiver},{trigger:l((()=>[c(s(h),{round:"",size:30,src:s(z).currentSessionItem.avatar},null,8,["src"])])),_:1},8,["user-id"]),n("span",_,r(s(z).currentSessionItem.name),1)]),n("div",k,[c(s(v),{quaternary:"",size:"tiny",onClick:t[0]||(t[0]=()=>F("image"))},{icon:l((()=>[g])),_:1}),c(s(v),{quaternary:"",size:"tiny",onClick:t[1]||(t[1]=()=>F("file"))},{icon:l((()=>[S])),_:1}),c(s(v),{quaternary:"",size:"tiny",onClick:t[2]||(t[2]=()=>x.value=!0)},{icon:l((()=>[b])),_:1}),c(s(v),{quaternary:"",size:"tiny",onClick:t[3]||(t[3]=()=>q.value=!0)},{icon:l((()=>[j])),_:1}),u(' <i class="chat--iconfont chat--icon-folder" @click="() => handleOpenChatFile(\'file\')" />\
|
1
|
+
import{defineComponent as e,ref as t,openBlock as a,createElementBlock as i,Fragment as o,unref as s,createElementVNode as n,createVNode as c,withCtx as l,toDisplayString as r,createCommentVNode as u}from"vue";import{NAvatar as h,NButton as v}from"naive-ui";import{useState as f}from"../hooks/useState.js";import m from"./PersonProfile.vue.js";import d from"./ChatSet.vue.js";import p from"./ChatFile.vue.js";import w from"./ChatRecord.vue.js";const y={key:0,class:"chat-header box-shadow"},C={class:"chat-header__left"},_={class:"name"},k={class:"chat-header__right"},g=n("i",{class:"chat--iconfont chat--icon-image"},null,-1),S=n("i",{class:"chat--iconfont chat--icon-folder"},null,-1),b=n("i",{class:"chat--iconfont chat--icon-list-search"},null,-1),j=n("i",{class:"chat--iconfont chat--icon-set"},null,-1);var z=e({__name:"ChatHeader",setup(e){const{state:z}=f(),q=t(!1),I=t(!1),U=t("image"),x=t(!1);function F(e){U.value=e,I.value=!0}return(e,t)=>(a(),i(o,null,[s(z).id?(a(),i("section",y,[n("div",C,[c(m,{"user-id":s(z).currentSessionItem.receiver},{trigger:l((()=>[c(s(h),{round:"",size:30,src:s(z).currentSessionItem.avatar},null,8,["src"])])),_:1},8,["user-id"]),n("span",_,r(s(z).currentSessionItem.name),1)]),n("div",k,[c(s(v),{quaternary:"",size:"tiny",onClick:t[0]||(t[0]=()=>F("image"))},{icon:l((()=>[g])),_:1}),c(s(v),{quaternary:"",size:"tiny",onClick:t[1]||(t[1]=()=>F("file"))},{icon:l((()=>[S])),_:1}),c(s(v),{quaternary:"",size:"tiny",onClick:t[2]||(t[2]=()=>x.value=!0)},{icon:l((()=>[b])),_:1}),c(s(v),{quaternary:"",size:"tiny",onClick:t[3]||(t[3]=()=>q.value=!0)},{icon:l((()=>[j])),_:1}),u(' <i class="chat--iconfont chat--icon-folder" @click="() => handleOpenChatFile(\'file\')" />\n\t\t\t<i class="chat--iconfont chat--icon-list-search" @click="showChatRecord = true" />\n\t\t\t<i class="chat--iconfont chat--icon-set" @click="showChatSet = true" /> ')])])):u("v-if",!0),c(d,{show:q.value,"onUpdate:show":t[4]||(t[4]=e=>q.value=e)},null,8,["show"]),c(p,{show:I.value,"onUpdate:show":t[5]||(t[5]=e=>I.value=e),type:U.value,visible:I.value},null,8,["show","type","visible"]),c(w,{show:x.value,"onUpdate:show":t[6]||(t[6]=e=>x.value=e),visible:x.value},null,8,["show","visible"])],64))}});export{z as default};
|
@@ -1 +1 @@
|
|
1
|
-
import{defineComponent as e,ref as t,watch as n,openBlock as s,createElementBlock as i,normalizeClass as o,unref as r,createVNode as a,withCtx as c,Fragment as l,renderList as m,toDisplayString as u,createCommentVNode as d,createBlock as p,withModifiers as f,createElementVNode as v}from"vue";import{NImageGroup as y,NAvatar as g,NImage as T,NButtonGroup as M,NButton as h,NIcon as k}from"naive-ui";import{format as _}from"date-fns";import{getHistoryRecordApi as E,readMessageApi as S}from"../api/index.js";import{useState as L}from"../hooks/useState.js";import{useSession as I}from"../hooks/useSession.js";import{first as j,last as C,isNumber as A}from"lodash-es";import H from"./PersonProfile.vue.js";import b from"./MessageTemplate.vue.js";import{emojis as w}from"../utils/emoji.js";import x from"./ContextMenu.js";import{formatTime as z,simplifyMessage as N,downloadFile as O}from"../utils/index.js";import{MESSAGE_TYPE as P}from"../constants/index.js";import{useScrollLoading as q}from"../hooks/useScrollLoading.js";import{ChatbubbleEllipsesOutline as D,EllipsisHorizontal as R}from"@vicons/ionicons5";const G={key:0,class:"time"},U={key:2,class:"message-box"},J=["data-time"],K={key:0,class:"reference-content"},F=["innerHTML"],X=["innerHTML"],B=["src"],Q=["href","onClick"],V=v("i",{class:"chat--iconfont chat--icon-face"},null,-1);var W=e({__name:"ChatMain",setup(e){const W=t(),{state:Y,setMsgList:Z}=L(),{setCurrentSessionItem:$}=I(Y),ee=t(!1),te={page:0,hasMore:!0,lastSendTime:_(new Date,"yyyy-MM-dd HH:mm:ss")};async function ne(){try{if(!te.hasMore)return;te.page++;const e=await E({sessionKey:Y.currentSessionItem.sessionKey,page:te.page,lastSendTime:te.lastSendTime});if(!Array.isArray(e)||0===e.length)return te.hasMore=!1,console.log("接口返回不是一个数组,或者没有更多消息了");const t=j(e).id;te.lastSendTime=C(e).sendTime,Z(te.page>1?[...e,...Y.msgList]:e),1===te.page&&Y.currentSessionItem.unreadNum&&(await S({chatType:"SINGLE",messageIdSet:[t],receiver:Y.userInfo.id,sender:Y.currentSessionItem.receiver}),$({unreadNum:0}))}catch(e){console.log(e)}}function se(e){const{chatMessageType:t,messageTemplate:n}=e.content;return t!==P.TEMPLATE||!!n}function ie(e,t){var n,s;const{chatMessageType:i,messageTemplate:o}=e.content;if(i===P.TEMPLATE)return"system"===t?2==(null==(n=null==o?void 0:o.setting)?void 0:n.style.id):2!=(null==(s=null==o?void 0:o.setting)?void 0:s.style.id)}function oe(e){var t,n;const{chatMessageType:s,messageTemplate:i}=e;return s===P.TEMPLATE&&3==(null==(n=null==(t=null==i?void 0:i.setting)?void 0:t.style)?void 0:n.id)}function re(e,t){var n;const s=A(e.sendTime)?e.sendTime:Date.parse(e.sendTime),i=null==(n=Y.msgList[t-1])?void 0:n.sendTime;return s-(0===t?0:A(i)?i:Date.parse(i))>3e5}return q(W,(()=>{ne()}),"top"),n((()=>Y.id),(e=>{e&&(Object.assign(te,{page:0,hasMore:!0,lastSendTime:_(new Date,"yyyy-MM-dd HH:mm:ss")}),ne())}),{immediate:!0}),n((()=>Y.isAppendMsg),(e=>{e&&(Z([...Y.msgList,Y.currentMsg]),Y.isAppendMsg=!1,async function(){var e,t,n;const s=null!=(t=null==(e=W.value)?void 0:e.scrollHeight)?t:0;null==(n=W.value)||n.scrollTo({top:s,behavior:"auto"})}())}),{immediate:!0}),(e,t)=>(s(),i("div",{class:o(["chat-main",{"home-bg":!r(Y).id}]),ref_key:"chatMainRef",ref:W},[a(r(y),{"show-toolbar-tooltip":""},{default:c((()=>[(s(!0),i(l,null,m(r(Y).msgList,((e,n)=>(s(),i(l,{key:n},[se(e)?(s(),i("div",{key:0,class:o(["message-item",{"message-item--mine":e.sender==r(Y).userInfo.id}])},[re(e,n)?(s(),i("p",G,u(r(z)(e.sendTime).recordTime),1)):d("v-if",!0),ie(e,"system")?(s(),p(b,{key:1,data:e},null,8,["data"])):(s(),i("div",U,[a(H,{"user-id":e.sender},{trigger:c((()=>[a(r(g),{round:"",size:38,src:e.senderAvatar},null,8,["src"])])),_:2},1032,["user-id"]),e.content?(s(),i("div",{key:0,class:o(["content",{emoji:e.content.chatMessageType===r(P).EMOJI,template:e.content.chatMessageType===r(P).TEMPLATE,"template--3":oe(e.content)}]),"data-time":e.__time,onContextmenu:t[0]||(t[0]=f((e=>ee.value=!0),["prevent"]))},[e.content.chatMessageType===r(P).TEXT?(s(),i(l,{key:0},[e.content.referenceContent?(s(),i("div",K,[v("span",null,u(e.content.referenceContent.senderName)+":",1),v("pre",{innerHTML:r(N)(e.content.referenceContent.content)},null,8,F)])):d("v-if",!0),v("pre",{innerHTML:e.__content},null,8,X)],64)):d("v-if",!0),e.content.chatMessageType===r(P).EMOJI?(s(),i("img",{key:1,src:r(w).findEmoji(e.__content)},null,8,B)):d("v-if",!0),ie(e,"template")?(s(),p(b,{key:2,data:e},null,8,["data"])):d("v-if",!0),e.content.chatMessageType===r(P).IMAGE?(s(),p(r(T),{key:3,width:"240",src:e.__content},null,8,["src"])):d("v-if",!0),e.content.chatMessageType===r(P).FILE?(s(),i("a",{key:4,href:e.content.fileUrl,onClick:f((()=>r(O)(e.content.fileUrl,e.__content)),["prevent"])},u(e.__content),9,Q)):d("v-if",!0),d(' <div class="quick-menu">\
|
1
|
+
import{defineComponent as e,ref as t,watch as n,openBlock as s,createElementBlock as i,normalizeClass as o,unref as r,createVNode as a,withCtx as c,Fragment as l,renderList as m,toDisplayString as u,createCommentVNode as d,createBlock as p,withModifiers as f,createElementVNode as v}from"vue";import{NImageGroup as y,NAvatar as g,NImage as T,NButtonGroup as M,NButton as h,NIcon as k}from"naive-ui";import{format as _}from"date-fns";import{getHistoryRecordApi as E,readMessageApi as S}from"../api/index.js";import{useState as L}from"../hooks/useState.js";import{useSession as I}from"../hooks/useSession.js";import{first as j,last as C,isNumber as A}from"lodash-es";import H from"./PersonProfile.vue.js";import b from"./MessageTemplate.vue.js";import{emojis as w}from"../utils/emoji.js";import x from"./ContextMenu.js";import{formatTime as z,simplifyMessage as N,downloadFile as O}from"../utils/index.js";import{MESSAGE_TYPE as P}from"../constants/index.js";import{useScrollLoading as q}from"../hooks/useScrollLoading.js";import{ChatbubbleEllipsesOutline as D,EllipsisHorizontal as R}from"@vicons/ionicons5";const G={key:0,class:"time"},U={key:2,class:"message-box"},J=["data-time"],K={key:0,class:"reference-content"},F=["innerHTML"],X=["innerHTML"],B=["src"],Q=["href","onClick"],V=v("i",{class:"chat--iconfont chat--icon-face"},null,-1);var W=e({__name:"ChatMain",setup(e){const W=t(),{state:Y,setMsgList:Z}=L(),{setCurrentSessionItem:$}=I(Y),ee=t(!1),te={page:0,hasMore:!0,lastSendTime:_(new Date,"yyyy-MM-dd HH:mm:ss")};async function ne(){try{if(!te.hasMore)return;te.page++;const e=await E({sessionKey:Y.currentSessionItem.sessionKey,page:te.page,lastSendTime:te.lastSendTime});if(!Array.isArray(e)||0===e.length)return te.hasMore=!1,console.log("接口返回不是一个数组,或者没有更多消息了");const t=j(e).id;te.lastSendTime=C(e).sendTime,Z(te.page>1?[...e,...Y.msgList]:e),1===te.page&&Y.currentSessionItem.unreadNum&&(await S({chatType:"SINGLE",messageIdSet:[t],receiver:Y.userInfo.id,sender:Y.currentSessionItem.receiver}),$({unreadNum:0}))}catch(e){console.log(e)}}function se(e){const{chatMessageType:t,messageTemplate:n}=e.content;return t!==P.TEMPLATE||!!n}function ie(e,t){var n,s;const{chatMessageType:i,messageTemplate:o}=e.content;if(i===P.TEMPLATE)return"system"===t?2==(null==(n=null==o?void 0:o.setting)?void 0:n.style.id):2!=(null==(s=null==o?void 0:o.setting)?void 0:s.style.id)}function oe(e){var t,n;const{chatMessageType:s,messageTemplate:i}=e;return s===P.TEMPLATE&&3==(null==(n=null==(t=null==i?void 0:i.setting)?void 0:t.style)?void 0:n.id)}function re(e,t){var n;const s=A(e.sendTime)?e.sendTime:Date.parse(e.sendTime),i=null==(n=Y.msgList[t-1])?void 0:n.sendTime;return s-(0===t?0:A(i)?i:Date.parse(i))>3e5}return q(W,(()=>{ne()}),"top"),n((()=>Y.id),(e=>{e&&(Object.assign(te,{page:0,hasMore:!0,lastSendTime:_(new Date,"yyyy-MM-dd HH:mm:ss")}),ne())}),{immediate:!0}),n((()=>Y.isAppendMsg),(e=>{e&&(Z([...Y.msgList,Y.currentMsg]),Y.isAppendMsg=!1,async function(){var e,t,n;const s=null!=(t=null==(e=W.value)?void 0:e.scrollHeight)?t:0;null==(n=W.value)||n.scrollTo({top:s,behavior:"auto"})}())}),{immediate:!0}),(e,t)=>(s(),i("div",{class:o(["chat-main",{"home-bg":!r(Y).id}]),ref_key:"chatMainRef",ref:W},[a(r(y),{"show-toolbar-tooltip":""},{default:c((()=>[(s(!0),i(l,null,m(r(Y).msgList,((e,n)=>(s(),i(l,{key:n},[se(e)?(s(),i("div",{key:0,class:o(["message-item",{"message-item--mine":e.sender==r(Y).userInfo.id}])},[re(e,n)?(s(),i("p",G,u(r(z)(e.sendTime).recordTime),1)):d("v-if",!0),ie(e,"system")?(s(),p(b,{key:1,data:e},null,8,["data"])):(s(),i("div",U,[a(H,{"user-id":e.sender},{trigger:c((()=>[a(r(g),{round:"",size:38,src:e.senderAvatar},null,8,["src"])])),_:2},1032,["user-id"]),e.content?(s(),i("div",{key:0,class:o(["content",{emoji:e.content.chatMessageType===r(P).EMOJI,template:e.content.chatMessageType===r(P).TEMPLATE,"template--3":oe(e.content)}]),"data-time":e.__time,onContextmenu:t[0]||(t[0]=f((e=>ee.value=!0),["prevent"]))},[e.content.chatMessageType===r(P).TEXT?(s(),i(l,{key:0},[e.content.referenceContent?(s(),i("div",K,[v("span",null,u(e.content.referenceContent.senderName)+":",1),v("pre",{innerHTML:r(N)(e.content.referenceContent.content)},null,8,F)])):d("v-if",!0),v("pre",{innerHTML:e.__content},null,8,X)],64)):d("v-if",!0),e.content.chatMessageType===r(P).EMOJI?(s(),i("img",{key:1,src:r(w).findEmoji(e.__content)},null,8,B)):d("v-if",!0),ie(e,"template")?(s(),p(b,{key:2,data:e},null,8,["data"])):d("v-if",!0),e.content.chatMessageType===r(P).IMAGE?(s(),p(r(T),{key:3,width:"240",src:e.__content},null,8,["src"])):d("v-if",!0),e.content.chatMessageType===r(P).FILE?(s(),i("a",{key:4,href:e.content.fileUrl,onClick:f((()=>r(O)(e.content.fileUrl,e.__content)),["prevent"])},u(e.__content),9,Q)):d("v-if",!0),d(' <div class="quick-menu">\n\t\t\t\t\t\t\t\t\t<n-icon :component="AddCircleOutline" />\n\t\t\t\t\t\t\t\t\t<n-icon :component="ChatbubbleEllipsesOutline" @click="() => setReferenceMsg(item)" />\n\t\t\t\t\t\t\t\t\t<n-icon :component="EllipsisHorizontal" />\n\t\t\t\t\t\t\t\t</div> '),a(r(M),{class:"quick-menu"},{default:c((()=>[a(r(h),{quaternary:"",size:"tiny"},{icon:c((()=>[V])),_:1}),a(r(h),{quaternary:"",size:"tiny",onClick:()=>{return t=e,Y.currentReferenceMsg=t,void Object.assign(Y.currentReferenceMsg,{chatType:"SINGLE",receiver:Y.currentSessionItem.receiver,receiverAvatar:Y.currentSessionItem.avatar,receiverName:Y.currentSessionItem.name});var t}},{icon:c((()=>[a(r(k),{size:"17",component:r(D)},null,8,["component"])])),_:2},1032,["onClick"]),a(r(h),{quaternary:"",size:"tiny"},{icon:c((()=>[a(r(k),{component:r(R)},null,8,["component"])])),_:1})])),_:2},1024)],42,J)):d("v-if",!0)]))],2)):d("v-if",!0)],64)))),128))])),_:1}),a(r(x),{show:ee.value,"onUpdate:show":t[1]||(t[1]=e=>ee.value=e)},null,8,["show"])],2))}});export{W as default};
|