cnhis-design-vue 3.1.53-hotfix.0 → 3.1.53-release.1

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 (130) hide show
  1. package/es/components/annotation-edit/src/AnnotationEdit.js +1 -1
  2. package/es/components/big-table/src/components/edit-form/edit-separate.vue.d.ts +4 -4
  3. package/es/components/big-table/src/hooks/useEdit.d.ts +4 -4
  4. package/es/components/big-table/src/hooks/useSeparateRow.d.ts +4 -4
  5. package/es/components/button-print/src/utils/dialog.d.ts +2 -2
  6. package/es/components/button-print/src/utils/print.d.ts +14 -13
  7. package/es/components/button-print/src/utils/print.js +1 -1
  8. package/es/components/callback/src/components/render/popupMaps.d.ts +69 -6
  9. package/es/components/card-reader-sdk/src/types/index.d.ts +3 -3
  10. package/es/components/date-picker/src/DatePicker.vue2.js +1 -1
  11. package/es/components/fabric-chart/src/hooks/temperature/useLeft.js +1 -1
  12. package/es/components/form-config/index.d.ts +98 -26
  13. package/es/components/form-config/src/FormConfig.vue.d.ts +99 -27
  14. package/es/components/form-config/src/FormConfig.vue2.js +1 -1
  15. package/es/components/form-config/src/components/FormConfigCreator.vue.d.ts +30 -6
  16. package/es/components/form-config/src/components/FormConfigEdit.vue.d.ts +48 -12
  17. package/es/components/form-config/src/components/FormConfigEventSetting.vue2.js +1 -1
  18. package/es/components/form-render/index.d.ts +30 -6
  19. package/es/components/form-render/index.js +1 -1
  20. package/es/components/form-render/src/FormRender.vue.d.ts +31 -7
  21. package/es/components/form-render/src/FormRender.vue2.js +1 -1
  22. package/es/components/form-render/src/FormRenderWrapper.vue.d.ts +31 -7
  23. package/es/components/form-render/src/components/renderer/combination.js +1 -1
  24. package/es/components/form-render/src/components/renderer/index.js +1 -1
  25. package/es/components/form-render/src/components/renderer/inputNumber.d.ts +5 -5
  26. package/es/components/form-render/src/components/renderer/{levelSearchCascader.d.ts → levelSearchCascader/index.d.ts} +3 -5
  27. package/es/components/form-render/src/components/renderer/levelSearchCascader/index.js +1 -0
  28. package/es/components/form-render/src/components/renderer/searchCascade.d.ts +3 -3
  29. package/es/components/form-render/src/components/renderer/searchCascade.js +1 -1
  30. package/es/components/form-render/src/components/renderer/select.d.ts +4 -4
  31. package/es/components/form-render/src/components/renderer/select.js +1 -1
  32. package/es/components/form-render/src/constants/index.d.ts +3 -2
  33. package/es/components/form-render/src/hooks/index.d.ts +0 -2
  34. package/es/components/form-render/src/hooks/index.js +1 -1
  35. package/es/components/form-render/src/hooks/useAnchor.d.ts +3 -3
  36. package/es/components/form-render/src/hooks/useCommonInjection.d.ts +2 -2
  37. package/es/components/form-render/src/hooks/useFieldListAdaptor.d.ts +2 -2
  38. package/es/components/form-render/src/hooks/useFieldListAdaptor.js +1 -1
  39. package/es/components/form-render/src/hooks/useFieldNormalize.d.ts +10 -2
  40. package/es/components/form-render/src/hooks/useFormContext.d.ts +3 -3
  41. package/es/components/form-render/src/hooks/useFormContext.js +1 -1
  42. package/es/components/form-render/src/hooks/useFormItemDeps.d.ts +3 -3
  43. package/es/components/form-render/src/hooks/useFormRenderLifeCycle.d.ts +9 -1
  44. package/es/components/form-render/src/hooks/useFormRenderOptions.d.ts +5 -5
  45. package/es/components/form-render/src/hooks/useFormRenderOptions.js +1 -1
  46. package/es/components/form-render/src/types/fieldItem.d.ts +4 -26
  47. package/es/components/form-render/src/types/index.d.ts +7 -14
  48. package/es/components/form-render/src/utils/index.d.ts +1 -2
  49. package/es/components/form-render/src/utils/index.js +1 -1
  50. package/es/components/form-render/src/utils/schema.d.ts +2 -2
  51. package/es/components/form-render/src/utils/schema.js +1 -1
  52. package/es/components/guide/src/renderer.js +1 -1
  53. package/es/components/iho-table/index.d.ts +39 -0
  54. package/es/components/iho-table/src/IhoTable.vue.d.ts +40 -0
  55. package/es/components/iho-table/src/IhoTable.vue2.js +1 -1
  56. package/es/components/iho-table/src/constants/index.d.ts +4 -1
  57. package/es/components/iho-table/src/constants/index.js +1 -1
  58. package/es/components/iho-table/src/hooks/tapHooks/useEventHooks.d.ts +2 -2
  59. package/es/components/iho-table/src/hooks/tapHooks/useExposeHooks.d.ts +2 -2
  60. package/es/components/iho-table/src/plugins/defaultValuePlugin.js +1 -1
  61. package/es/components/iho-table/src/plugins/index.js +1 -1
  62. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/dateRendererPlugin/editDate.vue.d.ts +2 -2
  63. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/hooks/useAutoFocus.js +1 -1
  64. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/levelSearchCascadePlugin/index.d.ts +1 -0
  65. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/levelSearchCascadePlugin/index.js +1 -0
  66. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/levelSearchCascadePlugin/levelSearchCascade.vue.d.ts +552 -0
  67. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/levelSearchCascadePlugin/levelSearchCascade.vue.js +1 -0
  68. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/levelSearchCascadePlugin/levelSearchCascade.vue2.js +1 -0
  69. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/selectRendererPlugin/editSelect.d.ts +4 -1
  70. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/selectRendererPlugin/editSelect.js +1 -1
  71. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/selectRendererPlugin/index.js +1 -1
  72. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/separateRendererPlugin/editSeparate.vue.d.ts +2 -2
  73. package/es/components/iho-table/src/plugins/wordbookSettingPlugin.d.ts +1 -0
  74. package/es/components/iho-table/src/plugins/wordbookSettingPlugin.js +1 -0
  75. package/es/components/iho-table/src/types/index.d.ts +7 -2
  76. package/es/components/iho-table/src/types/pluginType.d.ts +3 -3
  77. package/es/components/iho-table/style/index.css +1 -1
  78. package/es/components/index.css +1 -1
  79. package/es/components/index.d.ts +1 -0
  80. package/es/components/index.js +1 -1
  81. package/es/components/info-header/index.d.ts +97 -29
  82. package/es/components/info-header/src/InfoHeader.vue.d.ts +98 -30
  83. package/es/components/info-header/src/components/infoDescription/DescriptionItem.vue.d.ts +9 -5
  84. package/es/components/info-header/src/components/infoDescription/DescriptionList.vue.d.ts +10 -6
  85. package/es/components/info-header/src/components/infoDescription/index.vue.d.ts +41 -13
  86. package/es/components/info-header/src/components/patientInfo/index.vue.d.ts +30 -6
  87. package/es/components/keyboard/src/Keyboard.vue2.js +1 -1
  88. package/es/components/search-cascader/index.d.ts +23 -3
  89. package/es/components/search-cascader/src/SearchCascader.vue.d.ts +24 -4
  90. package/es/components/search-cascader/src/SearchCascader.vue2.js +1 -1
  91. package/es/components/search-cascader/src/components/ClearIcon.vue.js +1 -0
  92. package/es/components/shortcut-setter/index.d.ts +33 -9
  93. package/es/components/shortcut-setter/src/ShortcutSetter.vue.d.ts +34 -10
  94. package/es/components/steps-wheel/src/StepsWheel.vue2.js +1 -1
  95. package/es/components/time-picker/src/TimePicker.vue2.js +1 -1
  96. package/es/shared/components/InputNumberSlash/InputNumberSlash.d.ts +4 -4
  97. package/es/shared/components/SlotRender/SlotRender.d.ts +5 -5
  98. package/es/shared/hooks/index.d.ts +3 -0
  99. package/es/shared/hooks/index.js +1 -1
  100. package/es/shared/hooks/selectHooks/index.d.ts +4 -0
  101. package/es/shared/hooks/selectHooks/index.js +1 -0
  102. package/es/shared/hooks/selectHooks/useOptionFiltered.d.ts +10 -0
  103. package/es/shared/hooks/selectHooks/useOptionFiltered.js +1 -0
  104. package/es/shared/hooks/selectHooks/useSearchContent.d.ts +6 -0
  105. package/es/shared/hooks/selectHooks/useSearchContent.js +1 -0
  106. package/es/shared/hooks/selectHooks/useSelectAllowModify.d.ts +23 -0
  107. package/es/shared/hooks/selectHooks/useSelectAllowModify.js +1 -0
  108. package/es/shared/hooks/selectHooks/useSelectRenders.d.ts +19 -0
  109. package/es/shared/hooks/selectHooks/useSelectRenders.js +1 -0
  110. package/es/shared/hooks/{useAsyncQueue.d.ts → useAsyncQueue/index.d.ts} +7 -15
  111. package/es/shared/hooks/useAsyncQueue/index.js +1 -0
  112. package/es/shared/hooks/useAsyncQueue/types.d.ts +20 -0
  113. package/es/shared/hooks/useAsyncQueue/types.js +1 -0
  114. package/es/shared/hooks/useDateTime.d.ts +2 -2
  115. package/es/shared/hooks/useFormRequest/index.d.ts +24 -0
  116. package/es/shared/hooks/useFormRequest/index.js +1 -0
  117. package/es/shared/hooks/useFormRequest/types.d.ts +39 -0
  118. package/es/shared/hooks/useFormRequest/types.js +1 -0
  119. package/es/shared/hooks/useLevelSearchCascader.d.ts +31 -0
  120. package/es/shared/hooks/useLevelSearchCascader.js +1 -0
  121. package/es/shared/package.json.js +1 -1
  122. package/es/shared/types/business.d.ts +24 -0
  123. package/es/shared/types/index.d.ts +1 -1
  124. package/package.json +2 -2
  125. package/es/components/form-render/src/components/renderer/levelSearchCascader.js +0 -1
  126. package/es/components/form-render/src/hooks/useFormAsyncQueue.d.ts +0 -16
  127. package/es/components/form-render/src/hooks/useFormAsyncQueue.js +0 -1
  128. package/es/components/form-render/src/hooks/useFormRequest.d.ts +0 -26
  129. package/es/components/form-render/src/hooks/useFormRequest.js +0 -1
  130. package/es/shared/hooks/useAsyncQueue.js +0 -1
@@ -0,0 +1,39 @@
1
+ import { AsyncQueue } from '../../../../es/shared/hooks';
2
+ import { AnyObject, AnyFn } from '../../../../es/shared/types';
3
+ export declare namespace FormRequestDefine {
4
+ type RequestType = 'post' | 'get' | 'patch' | 'delete' | 'put';
5
+ interface AsyncQueueItem {
6
+ key: any;
7
+ cache?: boolean;
8
+ url: string;
9
+ method?: RequestType;
10
+ params?: AnyObject;
11
+ payload?: AnyObject;
12
+ }
13
+ type FormAsyncQueue = AsyncQueue<AsyncQueueItem, any, AnyObject[]>;
14
+ type RequestInstance = Record<string, AnyFn>;
15
+ type SearchInfo = {
16
+ method: RequestType;
17
+ url: string;
18
+ primaryKeyUrl?: string;
19
+ };
20
+ type RecommendIds = Partial<Record<'businessId' | 'componentId' | 'deptId' | 'userId', string>>;
21
+ type RecommendInfo = {
22
+ getRecommendIds(): RecommendIds;
23
+ url: Record<'get' | 'post' | 'delete', string>;
24
+ };
25
+ type SearchResult = {
26
+ result: 'SUCCESS' | 'ERROR';
27
+ map: {
28
+ rows: AnyObject[];
29
+ };
30
+ };
31
+ type SelectResult = {
32
+ success: boolean;
33
+ data: AnyObject[];
34
+ };
35
+ type RecommendResult = {
36
+ result: 'SUCCESS' | 'ERROR';
37
+ obj: Partial<Record<'commonly' | 'recently', AnyObject[]>>;
38
+ };
39
+ }
@@ -0,0 +1,31 @@
1
+ import { FormRequestDefine } from '../../../es/shared/hooks';
2
+ import { AnyObject, FormWordbook, AnyFn } from '../../../es/shared/types';
3
+ import { MaybeRef } from '@vueuse/core';
4
+ import { Ref } from 'vue';
5
+ export declare function useLevelSearchCascader(props: Partial<{
6
+ options: AnyObject[];
7
+ lazyRequest: boolean;
8
+ requestCache: boolean;
9
+ value: string | AnyObject[];
10
+ }> & {
11
+ autograph: string;
12
+ wordbook: FormWordbook;
13
+ labelField: string;
14
+ valueField: string;
15
+ }, emit: AnyFn, { asyncQueue, fieldKey, getRequestPayload }: {
16
+ asyncQueue: FormRequestDefine.FormAsyncQueue;
17
+ fieldKey: MaybeRef<string>;
18
+ getRequestPayload?: () => any;
19
+ }): {
20
+ valueRef: import("vue").WritableComputedRef<string | AnyObject[] | undefined>;
21
+ labelKey: import("vue").ComputedRef<string>;
22
+ valueKey: import("vue").ComputedRef<string>;
23
+ optionsRef: Ref<AnyObject[]>;
24
+ showRef: Ref<boolean>;
25
+ fetchData: (node?: AnyObject, keyword?: string, updateValueWhenNoChild?: boolean) => Promise<void | AnyObject>;
26
+ menuWidth: Ref<number>;
27
+ searchCascaderRef: Ref<{
28
+ getWidth: () => number;
29
+ setCursor: (option?: AnyObject) => void;
30
+ } | undefined>;
31
+ };
@@ -0,0 +1 @@
1
+ import"../utils/index.js";import{isEqual as e,noop as r,isString as t,isNumber as n,isEmpty as o,isFunction as a,cloneDeep as i,omit as l,isArray as u}from"lodash-es";import"naive-ui";import{computed as s,ref as c,watch as d,unref as v}from"vue";import"@vueuse/core";import"date-fns";import{useFormRequest as p}from"./useFormRequest/index.js";import"@vueuse/shared";import"./selectHooks/useSearchContent.js";import"@vicons/ionicons5";function h(h,y,{asyncQueue:f,fieldKey:m,getRequestPayload:k=r}){const g=s({get:()=>h.value,set(r){e(r,h.value)||y("update:value",r)}}),w=c(!1),b=c([]),O=s((()=>{var e,r,t;return null!=(t=null==(r=null==(e=h.wordbook)?void 0:e.show_key)?void 0:r[0])?t:h.labelField})),_=s((()=>{var e,r;return null!=(r=null==(e=h.wordbook)?void 0:e.value_key)?r:h.valueField})),L=s((()=>{var e,r;return null==(r=null==(e=h.wordbook)?void 0:e.render_key)?void 0:r[0]})),j=s((()=>{var e;return(null==(e=h.wordbook)?void 0:e.level_num)||1/0})),C=function(e,r,t){return{transformListToChildren(e){if(!e.length)return[];const r=[(e=i(e))[0]];let t=e[0];for(let r=1;r<e.length;r++){const n=e[r];n&&(t.children=[n],n.parent=t,t=n)}return[e,r]},getNodeDepth(e){let r=1,t=e.parent;for(;t;)r++,t=t.parent;return r},enrichChildOption(e,r,t){return{...e,parent:r,isLeaf:this.getNodeDepth(r)+1>=t}},enrichKeywordOption:(e,n)=>(e.__keyword=!!n,e.isLeaf=!!n,n&&t.value&&e[t.value]&&(e[r.value]=e[t.value]),e),sortOptionWithIdList:(r,t)=>t.map((t=>r.find((r=>r[e.value]===t)))),generateOptionWithIdList(r,t,n){let o=r[0];return{options:t.reduce(((e,t,i)=>{const l=a(r,t);return 0===i?(o=l,[l]):(Object.assign(l,{parent:o,isLeaf:i+1>=n}),o.children=[l],o=l,e)}),[]),lastOption:o};function a(r,t){return r.find((r=>r[e.value]===t))}},parseLinkFromString2List:e=>e.split("_").filter((e=>e)),isClickNodeCheckbox:e=>e&&!e.__keyword&&e.isLeaf,createConfigObject:(r,t,n)=>t?r.conObj||[]:n?[{con:"EQ",is_compare_field:!1,field_key:r.level_key,value:n[e.value]}]:r.conObjFirstLevel||[],createOptionValue(e){const r=[];let t=e;for(;t;)r.unshift(l(t,["parent","isLeaf","__keyword","children"])),t=t.parent;return r},shouldInitOptionList:(r,t,n)=>u(r)&&!o(r)&&r.every((r=>r[e.value]))&&!t&&!n}}(_,O,L),{getSearchRequestInfo:K}=p(),I=c(150),R=c();async function x(e,r,i=!0){var l,u;if(I.value=r&&(null==(l=R.value)?void 0:l.getWidth())||150,C.shouldInitOptionList(g.value,e,r)){const[e,r]=C.transformListToChildren(g.value),t=e[Math.max(0,e.length-2)];if(g.value.length>1){b.value=r;const t=e[Math.max(0,e.length-2)];return await x(t,void 0,!1),t}if(null==(u=b.value)?void 0:u.length)return t}try{return C.isClickNodeCheckbox(e)?s(e):e?e.__keyword?async function(){var r;if(!t(e.id_link))return Promise.reject();const a=C.parseLinkFromString2List(e.id_link);n(j.value)&&j.value!==1/0&&a.splice(j.value);const i=await async function(e){if(!K().primaryKeyUrl)return[];try{return await f.addAsync(r(h.wordbook,h.autograph,e,v(m)))}catch(e){t(e)&&console.error(e)}function r(e,r,t,n){const o=K();return{key:n,params:{autograph:r,tableId:e.id,primaryKeyValue:t.join(","),page:1},...o,url:o.primaryKeyUrl,cache:h.requestCache,payload:{field:{},labelKey:O.value,valueKey:_.value}}}}(a);if(!i)return Promise.reject();const{lastOption:l,options:u}=C.generateOptionWithIdList(i,a,j.value);if(u.length<j.value&&(await x(l),o(l.children)))return g.value=C.sortOptionWithIdList(i,a),w.value=!1,Promise.reject();return b.value=u,null==(r=R.value)||r.setCursor(l),l}():async function(){const r=await f.addAsync(c(h.wordbook,h.autograph,e,v(m)));if(!r.length)return i?s(e):Promise.reject();e.children=r.map((r=>C.enrichChildOption(r,e,j.value)))}():async function(){var t;const n=await f.addAsync(c(h.wordbook,h.autograph,e,v(m)));b.value=n.map((e=>C.enrichKeywordOption(e,r))),r&&(null==(t=R.value)||t.setCursor(b.value[0]))}()}catch(e){t(e)&&console.error(e)}function s(e){return g.value=C.createOptionValue(e),w.value=!1,Promise.reject()}function c(e,n,o,i){const l={autograph:()=>n,wordbookId:"id",wordbookType:"type",fieldKeys:()=>e.search_key?JSON.stringify(e.search_key):void 0,conObj:()=>JSON.stringify(C.createConfigObject(e,r,o)),primaryKey:"primary_key",levelKey:"level_key",keyword:()=>r,page:()=>1},u=Object.entries(l).reduce(((r,[n,o])=>(r[n]=t(o)?e[o]:a(o)?o():void 0,r)),{});return{...K(),params:u,key:i,cache:h.requestCache,payload:{...k(),labelKey:O.value,valueKey:_.value}}}}return d((()=>h.wordbook),((r,t)=>{e(r,t)||(b.value=[],r&&(g.value||!h.lazyRequest)&&x())}),{immediate:!0}),{valueRef:g,labelKey:O,valueKey:_,optionsRef:b,showRef:w,fetchData:x,menuWidth:I,searchCascaderRef:R}}export{h as useLevelSearchCascader};
@@ -1 +1 @@
1
- var e="@cnhis-design-vue/shared",i="3.1.53-hotfix.0",s="index.ts",n={"naive-ui":"^2.30.0",vue:"^3.2.0"},o={"@vicons/ionicons5":"^0.12.0","lodash-es":"^4.17.21",moment:"^2.29.1","video.js":"^7.19.2","videojs-contrib-hls":"^5.15.0",viewerjs:"^1.10.5","xe-utils":"^3.5.4"},d={name:e,version:"3.1.53-hotfix.0",private:!0,main:"index.ts",peerDependencies:n,dependencies:o};export{d as default,o as dependencies,s as main,e as name,n as peerDependencies,i as version};
1
+ var e="@cnhis-design-vue/shared",s="3.1.53-release.1",i="index.ts",n={"naive-ui":"^2.30.0",vue:"^3.2.0"},a={"@vicons/ionicons5":"^0.12.0","lodash-es":"^4.17.21",moment:"^2.29.1","video.js":"^7.19.2","videojs-contrib-hls":"^5.15.0",viewerjs:"^1.10.5","xe-utils":"^3.5.4"},d={name:e,version:"3.1.53-release.1",private:!0,main:"index.ts",peerDependencies:n,dependencies:a};export{d as default,a as dependencies,i as main,e as name,n as peerDependencies,s as version};
@@ -1,3 +1,4 @@
1
+ import { AnyObject } from '../../../es/shared/types/index';
1
2
  export declare type LOW_CODE_VALUE_RELATION = 'EQ' | 'NEQ' | 'CL' | 'NC' | 'NULL' | 'NOT_NULL' | 'BIG' | 'BIGEQ' | 'LESS' | 'LESSEQ';
2
3
  export declare type LOW_CODE_EVENT_TYPE = 'SET_VALUE' | 'REPEAT_VALIDATE' | 'IS_SHOW_FIELD' | 'SQLSAVE' | 'API';
3
4
  export declare type BindEventSettingItem = {
@@ -49,3 +50,26 @@ export declare namespace FormLowCodeReactions {
49
50
  __oppositeTargetField: Config;
50
51
  }>;
51
52
  }
53
+ export declare type FormWordbook = Partial<{
54
+ level_num: number;
55
+ id: string;
56
+ name: string;
57
+ render_key: string[];
58
+ search_key: string[];
59
+ value_key: string;
60
+ queryParams: string[];
61
+ primary_key: string;
62
+ type: string;
63
+ level_key: string;
64
+ link_key: string;
65
+ link_key_split: string;
66
+ show_key: string[] | string;
67
+ conObj: AnyObject[];
68
+ conObjFirstLevel: AnyObject[];
69
+ setting: Partial<{
70
+ cascading: {
71
+ 'form.name': string;
72
+ value: string;
73
+ }[];
74
+ }>;
75
+ }>;
@@ -4,7 +4,7 @@ export declare type SFCWithInstall<T> = T & {
4
4
  install: (app: App, ...options: any[]) => any;
5
5
  };
6
6
  export declare type AnyObject = Record<string, any>;
7
- export declare type Func<T extends Array<any> = any[], P = any> = (...args: T) => P;
7
+ export declare type AnyFn<T extends Array<any> = any[], P = any> = (...args: T) => P;
8
8
  export declare type Nullable<T> = T | null | undefined;
9
9
  export declare type UndefinedAble<T> = T | undefined;
10
10
  export declare type ArrayAble<T> = T | T[];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cnhis-design-vue",
3
- "version": "3.1.53-hotfix.0",
3
+ "version": "3.1.53-release.1",
4
4
  "license": "ISC",
5
5
  "module": "./es/components/index.js",
6
6
  "main": "./es/components/index.js",
@@ -63,5 +63,5 @@
63
63
  "iOS 7",
64
64
  "last 3 iOS versions"
65
65
  ],
66
- "gitHead": "a8f7d7cdca3113620c2a7b0dbaf062673dfc51cc"
66
+ "gitHead": "22a8baca2d4172e377c1b412c6247fd3c52b2a58"
67
67
  }
@@ -1 +0,0 @@
1
- import{defineComponent as e,computed as r,ref as a,inject as t,watch as l,createVNode as o}from"vue";import{isEqual as u,isArray as n,isEmpty as i,isString as s,isNumber as v,isFunction as d,omit as c,cloneDeep as p}from"lodash-es";import"../../../index.js";import{InjectionAsyncQueue as f}from"../../constants/index.js";import{useCommonInjection as y}from"../../hooks/useCommonInjection.js";import{formRenderLog as m}from"../../utils/index.js";import{connect as h,mapProps as k}from"@formily/vue";import g from"../../../../search-cascader/index.js";import j from"../../../../../shared/components/no-data/NoData.vue.js";import{assignUpdateValue as w}from"../../utils/schema.js";import{useFormField as _}from"../../hooks/useFormField.js";import{useFormRequest as b}from"../../hooks/useFormRequest.js";const K=h(e({name:"FormSearchCascade",props:{options:{type:Array,default:()=>[]},labelField:{type:String,default:"text"},valueField:{type:String,default:"value"},autograph:{type:String,required:!0},lazyRequest:{type:Boolean,default:!0},requestCache:{type:Boolean,default:!0},wordbook:{type:Object,required:!0},onChange:{},value:{type:[String,Array]}},emits:["update:value"],setup(e,{emit:h}){const k=r({get:()=>e.value,set(r){u(r,e.value)||h("update:value",r)}}),w=a(!1),K=a([]),{field:F,fieldKey:O}=_(),q=r((()=>{var r,a,t;return null!=(t=null==(a=null==(r=e.wordbook)?void 0:r.show_key)?void 0:a[0])?t:e.labelField})),S=r((()=>{var r,a;return null!=(a=null==(r=e.wordbook)?void 0:r.value_key)?a:e.valueField})),x=r((()=>{var r,a;return null==(a=null==(r=e.wordbook)?void 0:r.render_key)?void 0:a[0]})),C=r((()=>{var r;return(null==(r=e.wordbook)?void 0:r.level_num)||1/0})),L=t(f),{getSearchRequestInfo:P}=b(),A=a(150),I=a();async function R(r,a,t=!0){var l,o,u,f;if(A.value=a&&(null==(l=I.value)?void 0:l.getWidth())||150,n(e.value)&&!i(e.value)&&e.value.every((e=>e[S.value]))&&!r&&!a){const r=1===e.value.length,a=null==(o=K.value)?void 0:o.length,[t,l]=function(e){if(!e.length)return[];const r=[(e=p(e))[0]];let a=e[0];for(let r=1;r<e.length;r++){const t=e[r];t&&(a.children=[t],t.parent=a,a=t)}return[e,r]}(e.value),u=t[Math.max(0,t.length-2)];if(!r){K.value=l;const e=t[Math.max(0,t.length-2)];return await R(e,void 0),e}if(a)return u}try{if(r&&!r.__keyword&&r.isLeaf)return y(r);if(!(null==r?void 0:r.__keyword)){const l=await L.addAsync(function(r,t,l,o,u){const n={autograph:()=>t,wordbookId:"id",wordbookType:"type",fieldKeys:()=>r.search_key?JSON.stringify(r.search_key):void 0,conObj:()=>JSON.stringify(function(e,r,a){return r?e.conObj||[]:a?[{con:"EQ",is_compare_field:!1,field_key:e.level_key,value:a[S.value]}]:e.conObjFirstLevel||[]}(r,a,o)),primaryKey:"primary_key",levelKey:"level_key",keyword:()=>a,page:()=>1},i=Object.entries(n).reduce(((e,[a,t])=>(e[a]=s(t)?r[t]:d(t)?t():void 0,e)),{});return{...P(),params:i,key:u,cache:e.requestCache,payload:{field:l,labelKey:q.value,valueKey:S.value}}}(e.wordbook,e.autograph,F.value,r,O.value));if(r){if(!l.length)return t?y(r):Promise.reject();r.children=l.map((e=>function(e,r,a){return{...e,parent:r,isLeaf:h(r)+1>=a}}(e,r,C.value)))}else K.value=l.map((e=>function(e,r){e.__keyword=!!r,e.isLeaf=!!r,r&&(e[q.value]=e[x.value||q.value]||e[q.value]);return e}(e,a))),a&&(null==(u=I.value)||u.setCursor(K.value[0]));return}if(!s(r.id_link))return Promise.reject();const l=r.id_link.split("_").filter((e=>e));v(C.value)&&C.value!==1/0&&l.splice(C.value);const o=await async function(r){if(!P().primaryKeyUrl)return[];try{return await L.addAsync(a(e.wordbook,e.autograph,r,O.value))}catch(e){s(e)&&m(e)}function a(r,a,t,l){const o=P();return{key:l,params:{autograph:a,tableId:r.id,primaryKeyValue:t.join(","),page:1},...o,url:o.primaryKeyUrl,cache:e.requestCache,payload:{field:F.value,labelKey:q.value,valueKey:S.value}}}}(l);if(!o)return Promise.reject();const{lastOption:n,options:c}=function(e,r){let a=e[0];return{options:r.reduce(((r,l,o)=>{const u=t(e,l);return 0===o?(a=u,[u]):(Object.assign(u,{parent:a,isLeaf:o+1>=C.value}),a.children=[u],a=u,r)}),[]),lastOption:a};function t(e,r){return e.find((e=>e[S.value]===r))}}(o,l);return c.length<C.value&&(await R(n),i(n.children))?(k.value=function(e,r){return r.map((r=>e.find((e=>e[S.value]===r))))}(o,l),w.value=!1,Promise.reject()):(K.value=c,null==(f=I.value)||f.setCursor(n),n)}catch(e){s(e)&&m(e)}function y(e){return k.value=function(e){const r=[];let a=e;for(;a;)r.unshift(c(a,["parent","isLeaf","__keyword","children"])),a=a.parent;return r}(e),w.value=!1,Promise.reject()}function h(e){let r=1,a=e.parent;for(;a;)r++,a=a.parent;return r}}function U(){A.value=150}l((()=>e.wordbook),((r,a)=>{u(r,a)||(K.value=[],r&&(k.value||!e.lazyRequest)&&R())}),{immediate:!0});const{injectValueValidate:V,injectValueBindKey:B}=y();V(k);const N=B(k);return()=>o(g,{ref:I,value:k.value,"onUpdate:value":e=>k.value=e,show:w.value,"onUpdate:show":e=>w.value=e,options:K.value,key:N.value,labelKey:q.value,valueKey:S.value,search:R,onFocus:U,menuWidth:A.value},{empty:()=>o(j,null,null)})}}),k({dataSource:"options"},w));export{K as LEVEL_SEARCH_CASCADER};
@@ -1,16 +0,0 @@
1
- import { AsyncQueue } from '../../../../../es/shared/hooks';
2
- import { AnyObject, UndefinedAble } from '../../../../../es/shared/types';
3
- import { ComputedRef } from 'vue';
4
- import { FormAsyncQueueItem } from '../types';
5
- import { RequestInstance } from '../../../../../es/components/form-render';
6
- declare type ProcessorOption = Partial<{
7
- afterRequest(key: string, res?: unknown, payload?: AnyObject): AnyObject[];
8
- beforeRequest(key: string, params?: unknown, payload?: AnyObject): UndefinedAble<AnyObject> | void;
9
- }>;
10
- export declare function useFormAsyncQueue(requestInstance: ComputedRef<UndefinedAble<RequestInstance>>, uniqueData: ComputedRef<boolean>): {
11
- create: (parallelism?: number, option?: ProcessorOption) => AsyncQueue<FormAsyncQueueItem, any, {
12
- label: string;
13
- value: unknown;
14
- }[]>;
15
- };
16
- export {};
@@ -1 +0,0 @@
1
- import{uuidGenerator as e}from"../../../../shared/utils/index.js";import{isFunction as r}from"lodash-es";import"naive-ui";import{unref as t}from"vue";import"@vueuse/core";import"date-fns";import{AsyncQueue as o}from"../../../../shared/hooks/useAsyncQueue.js";import"../../index.js";import{useCommonLog as s}from"./useCommonLog.js";import{useFormRequest as a}from"./useFormRequest.js";function n(n,u){const{getHttpInstance:i}=a();return{create:function(a=3,m){return new o({name:"FormRenderAsyncQueue",uniqueData:u.value,parallelism:a,async processor({key:e,method:o="post",cache:a,params:u,url:p,payload:c},f,l){var d,y;const h=null!=(d=t(n))?d:i();if(!h)return s().invalidHttpInstanceLog(),f(),void l();try{m&&r(m.beforeRequest)&&(u=null!=(y=m.beforeRequest(e,u,c))?y:{});let t=await h[o](p,u);m&&r(m.afterRequest)&&(t=m.afterRequest(e,t,c)),f(void 0,Array.isArray(t)?t:[]),!a&&l()}catch(e){f(new Error(`Request error => ${e}`)),l()}},getKey:({url:r,method:t="post",cache:o,params:s})=>o?r+t+JSON.stringify(s||{}):e()})}}}export{n as useFormAsyncQueue};
@@ -1,26 +0,0 @@
1
- import { Func, Nullable } from '../../../../../es/shared/types';
2
- import { FormRequestType } from '../../../../../es/components/form-render';
3
- export declare type RequestInstance = Record<string, Func>;
4
- declare type SearchRequestInfo = {
5
- method: FormRequestType;
6
- url: string;
7
- primaryKeyUrl?: string;
8
- };
9
- export declare type RecommendIds = Partial<Record<'businessId' | 'componentId' | 'deptId' | 'userId', string>>;
10
- declare type RecommendRequestInfo = {
11
- getRecommendIds(): RecommendIds;
12
- url: Record<'get' | 'post' | 'delete', string>;
13
- };
14
- export declare function useFormRequest(): {
15
- getHttpInstance: () => Nullable<RequestInstance>;
16
- registGlobHttpInstance: (instance: RequestInstance) => void;
17
- registGlobRecommendInfo: (info: Partial<RecommendRequestInfo>) => void;
18
- registGlobSearchInfo: (info: SearchRequestInfo) => void;
19
- getSearchRequestInfo: () => {
20
- method: FormRequestType;
21
- url: string;
22
- primaryKeyUrl?: string | undefined;
23
- };
24
- getRecommendRequestInfo: () => RecommendRequestInfo;
25
- };
26
- export {};
@@ -1 +0,0 @@
1
- import{cloneDeep as e}from"lodash-es";let t=null;const n={method:"post",url:"",primaryKeyUrl:""},o={url:{get:"/fdp-api/fdp/aiRec/search",post:"/fdp-api/fdp/aiRec/sendBehaviorData",delete:"/fdp-api/fdp/aiRec/delete"},getRecommendIds:()=>({})};function r(){return{getHttpInstance:function(){return t},registGlobHttpInstance:function(e){t=e},registGlobRecommendInfo:function(e){Object.assign(o,e)},registGlobSearchInfo:function(e){Object.assign(n,e)},getSearchRequestInfo:function(){return{...n}},getRecommendRequestInfo:function(){return e(o)}}}export{r as useFormRequest};
@@ -1 +0,0 @@
1
- import{cloneDeep as s}from"lodash-es";class e{constructor(s,e,t){this.item=s,this.key=e,this.state=0,this.callback=t}}class t{constructor(s){this._list=s?Array.from(s):[]}enqueue(s){this._list.push(s)}dequeue(){return this._list.shift()}}class i{constructor({name:s,processor:e,getKey:i,parallelism:r,uniqueData:a}){this._queued=new t,this._entries=new Map,this._activeTasks=0,this._processingLock=!1,this._stopped=!1,this.uniqueData=!0,this.name=s,this.processor=e,this.getKey=i,this.parallelism=r||100,this.uniqueData=!!a}add(t,i){if(this._stopped)return i(new Error("Queue was stopped"));const r=this.getKey(t);if(this._entries.has(r)){const e=this._entries.get(r);return void(1===e.state?setTimeout((()=>{i&&i(this.uniqueData?s(e.error):e.error,this.uniqueData?s(e.result):e.result)})):e.callbacks?e.callbacks.push(i):e.callbacks=[i])}const a=new e(t,r,i);this._entries.set(r,a),this._queued.enqueue(a),this._processingLock||(this._processingLock=!0,Promise.resolve().then(this._ensureProcessing.bind(this)))}addAsync(s){return new Promise(((e,t)=>{this.add(s,((s,i)=>{s&&t(s),e(i)}))}))}_ensureProcessing(){for(;this._activeTasks<this.parallelism;){const s=this._queued.dequeue();if(!s)break;this._activeTasks++,s.state=0,this._startProcess(s)}this._processingLock=!1}_startProcess(s){this.processor(s.item,((e,t)=>{e?this._handlerResult(s,e):this._handlerResult(s,e,t)}),(()=>this._entries.delete(s.key)))}_handlerResult(e,t,i){const r=e.callback;e.state=1,e.callback=void 0,e.result=this.uniqueData?s(i):i,e.error=this.uniqueData?s(t):t,this._activeTasks--,r&&r(t,i),e.callbacks&&e.callbacks.forEach((s=>s(t,i))),this._processingLock||(this._processingLock=!0,Promise.resolve().then(this._ensureProcessing.bind(this)))}}export{i as AsyncQueue};