cnhis-design-vue 3.1.53-beta.1 → 3.1.53-beta.2

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 (107) 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/ButtonPrint.vue.d.ts +3 -1
  6. package/es/components/button-print/src/utils/dialog.d.ts +2 -2
  7. package/es/components/button-print/src/utils/print.d.ts +14 -13
  8. package/es/components/button-print/src/utils/print.js +1 -1
  9. package/es/components/callback/src/components/render/popupMaps.d.ts +44 -5
  10. package/es/components/card-reader-sdk/src/types/index.d.ts +3 -3
  11. package/es/components/date-picker/src/DatePicker.vue2.js +1 -1
  12. package/es/components/form-config/index.d.ts +24 -24
  13. package/es/components/form-config/src/FormConfig.vue.d.ts +25 -25
  14. package/es/components/form-config/src/FormConfig.vue2.js +1 -1
  15. package/es/components/form-config/src/components/FormConfigCreator.vue.d.ts +5 -5
  16. package/es/components/form-config/src/components/FormConfigEdit.vue.d.ts +11 -11
  17. package/es/components/form-config/src/components/FormConfigEventSetting.vue2.js +1 -1
  18. package/es/components/form-render/index.d.ts +5 -5
  19. package/es/components/form-render/index.js +1 -1
  20. package/es/components/form-render/src/FormRender.vue.d.ts +6 -6
  21. package/es/components/form-render/src/FormRender.vue2.js +1 -1
  22. package/es/components/form-render/src/FormRenderWrapper.vue.d.ts +6 -6
  23. package/es/components/form-render/src/components/renderer/inputNumber.d.ts +5 -5
  24. package/es/components/form-render/src/components/renderer/levelSearchCascader/index.d.ts +2 -4
  25. package/es/components/form-render/src/components/renderer/levelSearchCascader/index.js +1 -1
  26. package/es/components/form-render/src/components/renderer/searchCascade.d.ts +3 -3
  27. package/es/components/form-render/src/components/renderer/select.d.ts +3 -3
  28. package/es/components/form-render/src/components/renderer/select.js +1 -1
  29. package/es/components/form-render/src/constants/index.d.ts +3 -2
  30. package/es/components/form-render/src/hooks/index.d.ts +0 -2
  31. package/es/components/form-render/src/hooks/index.js +1 -1
  32. package/es/components/form-render/src/hooks/useAnchor.d.ts +3 -3
  33. package/es/components/form-render/src/hooks/useCommonInjection.d.ts +2 -2
  34. package/es/components/form-render/src/hooks/useFieldNormalize.d.ts +2 -2
  35. package/es/components/form-render/src/hooks/useFormContext.d.ts +3 -3
  36. package/es/components/form-render/src/hooks/useFormContext.js +1 -1
  37. package/es/components/form-render/src/hooks/useFormItemDeps.d.ts +3 -3
  38. package/es/components/form-render/src/hooks/useFormRenderOptions.d.ts +5 -4
  39. package/es/components/form-render/src/hooks/useFormRenderOptions.js +1 -1
  40. package/es/components/form-render/src/types/fieldItem.d.ts +3 -2
  41. package/es/components/form-render/src/types/index.d.ts +2 -13
  42. package/es/components/form-render/src/utils/index.d.ts +1 -2
  43. package/es/components/form-render/src/utils/index.js +1 -1
  44. package/es/components/form-render/src/utils/schema.d.ts +2 -2
  45. package/es/components/guide/src/renderer.js +1 -1
  46. package/es/components/iho-table/index.d.ts +39 -0
  47. package/es/components/iho-table/src/IhoTable.vue.d.ts +40 -0
  48. package/es/components/iho-table/src/IhoTable.vue2.js +1 -1
  49. package/es/components/iho-table/src/constants/index.d.ts +4 -1
  50. package/es/components/iho-table/src/constants/index.js +1 -1
  51. package/es/components/iho-table/src/hooks/tapHooks/useEventHooks.d.ts +2 -2
  52. package/es/components/iho-table/src/hooks/tapHooks/useExposeHooks.d.ts +2 -2
  53. package/es/components/iho-table/src/plugins/defaultConfigPlugin/index.js +1 -1
  54. package/es/components/iho-table/src/plugins/index.js +1 -1
  55. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/dateRendererPlugin/editDate.vue.d.ts +2 -2
  56. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/hooks/useAutoFocus.js +1 -1
  57. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/levelSearchCascadePlugin/index.d.ts +1 -0
  58. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/levelSearchCascadePlugin/index.js +1 -0
  59. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/levelSearchCascadePlugin/levelSearchCascade.vue.d.ts +552 -0
  60. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/levelSearchCascadePlugin/levelSearchCascade.vue.js +1 -0
  61. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/levelSearchCascadePlugin/levelSearchCascade.vue2.js +1 -0
  62. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/selectRendererPlugin/index.js +1 -1
  63. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/separateRendererPlugin/editSeparate.vue.d.ts +2 -2
  64. package/es/components/iho-table/src/types/index.d.ts +5 -2
  65. package/es/components/iho-table/src/types/pluginType.d.ts +3 -3
  66. package/es/components/index.d.ts +1 -0
  67. package/es/components/index.js +1 -1
  68. package/es/components/info-header/index.d.ts +27 -27
  69. package/es/components/info-header/src/InfoHeader.vue.d.ts +28 -28
  70. package/es/components/info-header/src/components/infoDescription/DescriptionItem.vue.d.ts +5 -5
  71. package/es/components/info-header/src/components/infoDescription/DescriptionList.vue.d.ts +6 -6
  72. package/es/components/info-header/src/components/infoDescription/index.vue.d.ts +12 -12
  73. package/es/components/info-header/src/components/patientInfo/index.vue.d.ts +5 -5
  74. package/es/components/keyboard/src/Keyboard.vue2.js +1 -1
  75. package/es/components/search-cascader/index.d.ts +23 -3
  76. package/es/components/search-cascader/src/SearchCascader.vue.d.ts +24 -4
  77. package/es/components/search-cascader/src/SearchCascader.vue2.js +1 -1
  78. package/es/components/search-cascader/src/components/ClearIcon.vue.js +1 -0
  79. package/es/components/shortcut-setter/index.d.ts +8 -8
  80. package/es/components/shortcut-setter/src/ShortcutSetter.vue.d.ts +9 -9
  81. package/es/components/steps-wheel/src/StepsWheel.vue2.js +1 -1
  82. package/es/components/time-picker/src/TimePicker.vue2.js +1 -1
  83. package/es/shared/components/InputNumberSlash/InputNumberSlash.d.ts +4 -4
  84. package/es/shared/components/SlotRender/SlotRender.d.ts +5 -5
  85. package/es/shared/hooks/index.d.ts +2 -0
  86. package/es/shared/hooks/index.js +1 -1
  87. package/es/shared/hooks/{useAsyncQueue.d.ts → useAsyncQueue/index.d.ts} +7 -15
  88. package/es/shared/hooks/useAsyncQueue/index.js +1 -0
  89. package/es/shared/hooks/useAsyncQueue/types.d.ts +20 -0
  90. package/es/shared/hooks/useAsyncQueue/types.js +1 -0
  91. package/es/shared/hooks/useDateTime.d.ts +2 -2
  92. package/es/shared/hooks/useFormRequest/index.d.ts +24 -0
  93. package/es/shared/hooks/useFormRequest/index.js +1 -0
  94. package/es/shared/hooks/useFormRequest/types.d.ts +39 -0
  95. package/es/shared/hooks/useFormRequest/types.js +1 -0
  96. package/es/shared/hooks/useLevelSearchCascader.d.ts +31 -0
  97. package/es/shared/hooks/useLevelSearchCascader.js +1 -0
  98. package/es/shared/package.json.js +1 -1
  99. package/es/shared/types/index.d.ts +1 -1
  100. package/package.json +2 -2
  101. package/es/components/form-render/src/components/renderer/levelSearchCascader/utils.d.ts +0 -23
  102. package/es/components/form-render/src/components/renderer/levelSearchCascader/utils.js +0 -1
  103. package/es/components/form-render/src/hooks/useFormAsyncQueue.d.ts +0 -16
  104. package/es/components/form-render/src/hooks/useFormAsyncQueue.js +0 -1
  105. package/es/components/form-render/src/hooks/useFormRequest.d.ts +0 -26
  106. package/es/components/form-render/src/hooks/useFormRequest.js +0 -1
  107. package/es/shared/hooks/useAsyncQueue.js +0 -1
@@ -1,3 +1,5 @@
1
1
  export * from './useTheme';
2
2
  export * from './useDateTime';
3
3
  export * from './useAsyncQueue';
4
+ export * from './useFormRequest';
5
+ export * from './useLevelSearchCascader';
@@ -1 +1 @@
1
- export{useTheme}from"./useTheme.js";export{useDateTime}from"./useDateTime.js";export{AsyncQueue}from"./useAsyncQueue.js";
1
+ export{useTheme}from"./useTheme.js";export{useDateTime}from"./useDateTime.js";export{AsyncQueue,ENTRY_STATE}from"./useAsyncQueue/index.js";export{presetRequestHandler,useFormAsyncQueue,useFormRequest}from"./useFormRequest/index.js";export{useLevelSearchCascader}from"./useLevelSearchCascader.js";
@@ -1,15 +1,8 @@
1
- interface EntryCallback {
2
- (err?: any, result?: any): void;
3
- }
4
- interface Processor<T, R = any> {
5
- (item: T, cb: (err?: any, result?: R) => void, removeCache: () => void): void;
6
- }
7
- interface AsyncQueueOptions<T = any, K = any> {
8
- name: string;
9
- processor: Processor<T>;
10
- parallelism: number;
11
- getKey: (item: T) => K;
12
- uniqueData?: boolean;
1
+ import { AsyncQueueDefine } from './types';
2
+ export * from './types';
3
+ export declare enum ENTRY_STATE {
4
+ PENDING = 0,
5
+ DONE = 1
13
6
  }
14
7
  /**
15
8
  * @constructor 并发控制器
@@ -25,11 +18,10 @@ export declare class AsyncQueue<T = any, K = any, R = any> {
25
18
  private _processingLock;
26
19
  private _stopped;
27
20
  uniqueData: boolean;
28
- constructor({ name, processor, getKey, parallelism, uniqueData }: AsyncQueueOptions<T>);
29
- add(item: T, callback: EntryCallback): void;
21
+ constructor({ name, processor, getKey, parallelism, uniqueData }: AsyncQueueDefine.CreatorOptions<T>);
22
+ add(item: T, callback: AsyncQueueDefine.EntryCallback): void;
30
23
  addAsync(item: T): Promise<R>;
31
24
  private _ensureProcessing;
32
25
  private _startProcess;
33
26
  private _handlerResult;
34
27
  }
35
- export {};
@@ -0,0 +1 @@
1
+ import{cloneDeep as s}from"lodash-es";var e=(s=>(s[s.PENDING=0]="PENDING",s[s.DONE=1]="DONE",s))(e||{});class t{constructor(s,e,t){this.item=s,this.key=e,this.state=0,this.callback=t}}class i{constructor(s){this._list=s?Array.from(s):[]}enqueue(s){this._list.push(s)}dequeue(){return this._list.shift()}}class r{constructor({name:s,processor:e,getKey:t,parallelism:r,uniqueData:a}){this._queued=new i,this._entries=new Map,this._activeTasks=0,this._processingLock=!1,this._stopped=!1,this.uniqueData=!0,this.name=s,this.processor=e,this.getKey=t,this.parallelism=r||100,this.uniqueData=!!a}add(e,i){if(this._stopped)return i(new Error("Queue was stopped"));const r=this.getKey(e);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 t(e,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{r as AsyncQueue,e as ENTRY_STATE};
@@ -0,0 +1,20 @@
1
+ import { AnyObject, UndefinedAble } from '../../../../es/shared/types';
2
+ export declare namespace AsyncQueueDefine {
3
+ interface EntryCallback {
4
+ (err?: any, result?: any): void;
5
+ }
6
+ interface Processor<T, R = any> {
7
+ (item: T, cb: (err?: any, result?: R) => void, removeCache: () => void): void;
8
+ }
9
+ interface CreatorOptions<T = any, K = any> {
10
+ name: string;
11
+ processor: Processor<T>;
12
+ parallelism: number;
13
+ getKey: (item: T) => K;
14
+ uniqueData?: boolean;
15
+ }
16
+ type ProcessorOption = Partial<{
17
+ afterRequest(key: string, res?: unknown, payload?: AnyObject): AnyObject[];
18
+ beforeRequest(key: string, params?: unknown, payload?: AnyObject): UndefinedAble<AnyObject> | void;
19
+ }>;
20
+ }
@@ -1,10 +1,10 @@
1
1
  import { Ref, ComputedRef } from 'vue';
2
- import { AnyObject, Func } from '../../../es/shared/types';
2
+ import { AnyObject, AnyFn } from '../../../es/shared/types';
3
3
  export declare function useDateTime(datePickerRef: Ref<AnyObject | null>, { formatRef, attrs, emit, allowedInvalidValue, isPanel }: {
4
4
  formatRef: ComputedRef<string | [string, string]>;
5
5
  attrs: AnyObject;
6
6
  allowedInvalidValue?: string;
7
- emit?: Func;
7
+ emit?: AnyFn;
8
8
  isPanel?: boolean;
9
9
  }): {
10
10
  handleConfirm: (target: HTMLInputElement) => void;
@@ -0,0 +1,24 @@
1
+ import { FormRequestDefine } from './types';
2
+ import { ComputedRef } from 'vue';
3
+ import { AsyncQueue, AsyncQueueDefine } from '../../../../es/shared/hooks';
4
+ import { AnyObject, Nullable, UndefinedAble } from '../../../../es/shared/types';
5
+ export * from './types';
6
+ export declare function useFormRequest(): {
7
+ getHttpInstance: () => Nullable<FormRequestDefine.RequestInstance>;
8
+ registGlobHttpInstance: (instance: FormRequestDefine.RequestInstance) => void;
9
+ registGlobRecommendInfo: (info: Partial<FormRequestDefine.RecommendInfo>) => void;
10
+ registGlobSearchInfo: (info: FormRequestDefine.SearchInfo) => void;
11
+ getSearchRequestInfo: () => {
12
+ method: FormRequestDefine.RequestType;
13
+ url: string;
14
+ primaryKeyUrl?: string | undefined;
15
+ };
16
+ getRecommendRequestInfo: () => FormRequestDefine.RecommendInfo;
17
+ };
18
+ export declare function useFormAsyncQueue(requestInstance: ComputedRef<UndefinedAble<FormRequestDefine.RequestInstance>>, uniqueData: ComputedRef<boolean>): {
19
+ create: (parallelism?: number, option?: AsyncQueueDefine.ProcessorOption) => AsyncQueue<FormRequestDefine.AsyncQueueItem, any, {
20
+ label: string;
21
+ value: unknown;
22
+ }[]>;
23
+ };
24
+ export declare function presetRequestHandler(res: unknown): AnyObject[];
@@ -0,0 +1 @@
1
+ import{isObject as e}from"@vue/shared";import{uuidGenerator as t}from"../../utils/index.js";import{unref as r}from"vue";import{cloneDeep as n,isFunction as o}from"lodash-es";import"naive-ui";import"@vueuse/core";import"date-fns";import{AsyncQueue as s}from"../useAsyncQueue/index.js";let u=null;const a={method:"post",url:"",primaryKeyUrl:""},c={url:{get:"/fdp-api/fdp/aiRec/search",post:"/fdp-api/fdp/aiRec/sendBehaviorData",delete:"/fdp-api/fdp/aiRec/delete"},getRecommendIds:()=>({})};function i(){return{getHttpInstance:function(){return u},registGlobHttpInstance:function(e){u=e},registGlobRecommendInfo:function(e){Object.assign(c,e)},registGlobSearchInfo:function(e){Object.assign(a,e)},getSearchRequestInfo:function(){return{...a}},getRecommendRequestInfo:function(){return n(c)}}}function f(e,n){const{getHttpInstance:u}=i();return{create:function(a=3,c){return new s({name:"FormRenderAsyncQueue",uniqueData:n.value,parallelism:a,async processor({key:t,method:n="post",cache:s,params:a,url:i,payload:f},l,p){var m,d;const h=null!=(m=r(e))?m:u();if(!h)return console.log("before use http feature, you should regist http instance by useFormRequest.registGlobHttpInstance()"),l(),void p();try{c&&o(c.beforeRequest)&&(a=null!=(d=c.beforeRequest(t,a,f))?d:{});let e=await h[n](i,a);c&&o(c.afterRequest)&&(e=c.afterRequest(t,e,f)),l(void 0,Array.isArray(e)?e:[]),!s&&p()}catch(e){l(new Error(`Request error => ${e}`)),p()}},getKey:({url:e,method:r="post",cache:n,params:o})=>n?e+r+JSON.stringify(o||{}):t()})}}}function l(t){if(!e(t))throw t;return r=t,Reflect.has(r,"map")&&Reflect.has(r,"result")?function(e){const{result:t,map:r}=e;if("SUCCESS"!==t)throw e;return r.rows}(t):function(e){return Reflect.has(e,"result")&&Reflect.has(e,"obj")}(t)?function(t){const{obj:r,result:n}=t;if("SUCCESS"!==n||!e(r))throw t;return Object.entries(r).reduce(((e,[t,r])=>(r.forEach((r=>e.push({...r,type:t}))),e)),[])}(t):function(e){return Reflect.has(e,"data")&&Reflect.has(e,"success")}(t)?function(e){const{data:t,success:r}=e;if(!r)throw e;return t}(t):[];var r}export{l as presetRequestHandler,f as useFormAsyncQueue,i as useFormRequest};
@@ -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 a,isFunction as o,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";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 a=r[0];return{options:t.reduce(((e,t,i)=>{const l=o(r,t);return 0===i?(a=l,[l]):(Object.assign(l,{parent:a,isLeaf:i+1>=n}),a.children=[l],a=l,e)}),[]),lastOption:a};function o(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)&&!a(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 o=C.parseLinkFromString2List(e.id_link);n(j.value)&&j.value!==1/0&&o.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 a=K();return{key:n,params:{autograph:r,tableId:e.id,primaryKeyValue:t.join(","),page:1},...a,url:a.primaryKeyUrl,cache:h.requestCache,payload:{field:{},labelKey:O.value,valueKey:_.value}}}}(o);if(!i)return Promise.reject();const{lastOption:l,options:u}=C.generateOptionWithIdList(i,o,j.value);if(u.length<j.value&&(await x(l),a(l.children)))return g.value=C.sortOptionWithIdList(i,o),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,a,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,a)),primaryKey:"primary_key",levelKey:"level_key",keyword:()=>r,page:()=>1},u=Object.entries(l).reduce(((r,[n,a])=>(r[n]=t(a)?e[a]:o(a)?a():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-beta.1",s="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-beta.1",private:!0,main:"index.ts",peerDependencies:n,dependencies:a};export{d as default,a as dependencies,s as main,e as name,n as peerDependencies,i as version};
1
+ var e="@cnhis-design-vue/shared",i="3.1.53-beta.2",s="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-beta.2",private:!0,main:"index.ts",peerDependencies:n,dependencies:a};export{d as default,a as dependencies,s as main,e as name,n as peerDependencies,i as version};
@@ -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-beta.1",
3
+ "version": "3.1.53-beta.2",
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": "d160efdbb0655ca9fb207e69e5da215fefcb2b21"
66
+ "gitHead": "11fcd653ce02c55ee27cdc01c58e6bcdcdf99d72"
67
67
  }
@@ -1,23 +0,0 @@
1
- import { AnyObject, FormWordbook } from '../../../../../../../es/shared/types';
2
- import { Ref } from 'vue';
3
- export declare function createCascaderUtils(valueKey: Ref<string>, labelKey: Ref<string>, renderKey: Ref<string | undefined>): {
4
- transformListToChildren(list: AnyObject[]): AnyObject[][];
5
- getNodeDepth(node: AnyObject): number;
6
- enrichChildOption(option: AnyObject, parent: AnyObject, depth: number): {
7
- parent: AnyObject;
8
- isLeaf: boolean;
9
- };
10
- enrichKeywordOption(option: AnyObject, keyword?: string): AnyObject;
11
- sortOptionWithIdList(options: AnyObject[], idList: string[]): AnyObject[];
12
- generateOptionWithIdList(options: AnyObject[], idList: string[], depth: number): {
13
- options: AnyObject[];
14
- lastOption: AnyObject;
15
- };
16
- parseLinkFromString2List(linkString: string): string[];
17
- isClickNodeCheckbox(node?: AnyObject): node is {
18
- isLeaf: true;
19
- } & AnyObject;
20
- createConfigObject(wordbook: FormWordbook, keyword?: string, node?: AnyObject): AnyObject[];
21
- createOptionValue(node: AnyObject): AnyObject[];
22
- shouldInitOptionList(value: unknown, node?: AnyObject, keyword?: string): value is any[];
23
- };
@@ -1 +0,0 @@
1
- import{cloneDeep as e,omit as t,isArray as r,isEmpty as n}from"lodash-es";function i(i,o,a){return{transformListToChildren(t){if(!t.length)return[];const r=[(t=e(t))[0]];let n=t[0];for(let e=1;e<t.length;e++){const r=t[e];r&&(n.children=[r],r.parent=n,n=r)}return[t,r]},getNodeDepth(e){let t=1,r=e.parent;for(;r;)t++,r=r.parent;return t},enrichChildOption(e,t,r){return{...e,parent:t,isLeaf:this.getNodeDepth(t)+1>=r}},enrichKeywordOption:(e,t)=>(e.__keyword=!!t,e.isLeaf=!!t,t&&a.value&&e[a.value]&&(e[o.value]=e[a.value]),e),sortOptionWithIdList:(e,t)=>t.map((t=>e.find((e=>e[i.value]===t)))),generateOptionWithIdList(e,t,r){let n=e[0];return{options:t.reduce(((t,o,a)=>{const l=(s=o,e.find((e=>e[i.value]===s)));var s;return 0===a?(n=l,[l]):(Object.assign(l,{parent:n,isLeaf:a+1>=r}),n.children=[l],n=l,t)}),[]),lastOption:n}},parseLinkFromString2List:e=>e.split("_").filter((e=>e)),isClickNodeCheckbox:e=>e&&!e.__keyword&&e.isLeaf,createConfigObject:(e,t,r)=>t?e.conObj||[]:r?[{con:"EQ",is_compare_field:!1,field_key:e.level_key,value:r[i.value]}]:e.conObjFirstLevel||[],createOptionValue(e){const r=[];let n=e;for(;n;)r.unshift(t(n,["parent","isLeaf","__keyword","children"])),n=n.parent;return r},shouldInitOptionList:(e,t,o)=>r(e)&&!n(e)&&e.every((e=>e[i.value]))&&!t&&!o}}export{i as createCascaderUtils};
@@ -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};