cnhis-design-vue 3.1.42-beta.51 → 3.1.42-beta.53

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 (44) hide show
  1. package/es/components/button-print/index.d.ts +28 -3
  2. package/es/components/button-print/src/ButtonPrint.vue.d.ts +28 -4
  3. package/es/components/button-print/src/ButtonPrint.vue2.js +1 -1
  4. package/es/components/form-config/index.d.ts +10 -0
  5. package/es/components/form-config/src/FormConfig.vue.d.ts +10 -0
  6. package/es/components/form-config/src/components/FormConfigEdit.vue.d.ts +6 -0
  7. package/es/components/form-render/src/components/renderer/date.d.ts +4 -0
  8. package/es/components/form-render/src/components/renderer/date.js +1 -1
  9. package/es/components/form-render/src/components/renderer/searchCascade.js +1 -1
  10. package/es/components/form-render/src/hooks/useFieldListAdaptor.js +1 -1
  11. package/es/components/form-render/src/hooks/useFieldNormalize.js +1 -1
  12. package/es/components/form-render/src/types/fieldItem.d.ts +3 -0
  13. package/es/components/iho-table/src/constants/index.d.ts +1 -0
  14. package/es/components/iho-table/src/constants/index.js +1 -1
  15. package/es/components/iho-table/src/hooks/useColumnConfigAdaptor.js +1 -1
  16. package/es/components/iho-table/src/plugins/filterRenderPlugin/index.js +1 -1
  17. package/es/components/iho-table/src/plugins/lowCodeFieldAdaptorPlugin/index.js +1 -1
  18. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/selectRendererPlugin/index.js +1 -1
  19. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/selectRendererPlugin/selectUtils.d.ts +2 -1
  20. package/es/components/iho-table/src/types/index.d.ts +5 -3
  21. package/es/components/iho-table/src/utils/index.d.ts +4 -3
  22. package/es/components/iho-table/src/utils/index.js +1 -1
  23. package/es/components/index.css +1 -1
  24. package/es/components/index.d.ts +1 -0
  25. package/es/components/info-header/style/index.css +1 -1
  26. package/es/components/scale-view/index.d.ts +9 -130
  27. package/es/components/scale-view/src/ScaleView.vue.d.ts +8 -130
  28. package/es/components/scale-view/src/ScaleView.vue.js +1 -1
  29. package/es/components/scale-view/src/components/AnswerParse.vue.d.ts +1 -43
  30. package/es/components/scale-view/src/components/AnswerParse.vue.js +1 -1
  31. package/es/components/scale-view/src/components/EvaluateCountdown.vue.d.ts +0 -42
  32. package/es/components/scale-view/src/components/EvaluateCountdown.vue.js +1 -1
  33. package/es/components/scale-view/src/components/formitem/r-sign.js +1 -1
  34. package/es/components/scale-view/src/components/formitem/standard-modal.d.ts +4 -4
  35. package/es/components/scale-view/src/components/formitem/standard-modal.js +1 -1
  36. package/es/components/scale-view/src/hooks/scaleview-submit.d.ts +5 -1
  37. package/es/components/scale-view/src/hooks/scaleview-submit.js +1 -1
  38. package/es/components/scale-view/src/types/index.d.ts +7 -0
  39. package/es/components/scale-view/src/types/index.js +1 -0
  40. package/es/components/scale-view/style/index.css +1 -1
  41. package/es/components/scale-view/style/scale-view-iconfont.ttf +0 -0
  42. package/es/components/shortcut-setter/index.d.ts +2 -0
  43. package/es/components/shortcut-setter/src/ShortcutSetter.vue.d.ts +2 -0
  44. package/package.json +2 -2
@@ -68,6 +68,13 @@ declare const ButtonPrint: SFCWithInstall<import("vue").DefineComponent<{
68
68
  type: BooleanConstructor;
69
69
  default: boolean;
70
70
  };
71
+ externalOptionConfig: {
72
+ type: import("vue").PropType<Partial<{
73
+ options: import("../../../es/shared/types").AnyObject[];
74
+ onSelect: (key: string | number, option: import("../../../es/shared/types").AnyObject) => void;
75
+ }>>;
76
+ default: () => {};
77
+ };
71
78
  }, {
72
79
  $message: import("naive-ui").MessageApi;
73
80
  printInstance: import("./src/utils").Print | null;
@@ -138,6 +145,13 @@ declare const ButtonPrint: SFCWithInstall<import("vue").DefineComponent<{
138
145
  type: BooleanConstructor;
139
146
  default: boolean;
140
147
  };
148
+ externalOptionConfig: {
149
+ type: import("vue").PropType<Partial<{
150
+ options: import("../../../es/shared/types").AnyObject[];
151
+ onSelect: (key: string | number, option: import("../../../es/shared/types").AnyObject) => void;
152
+ }>>;
153
+ default: () => {};
154
+ };
141
155
  }>> & {
142
156
  onError?: ((...args: any[]) => any) | undefined;
143
157
  onSuccess?: ((...args: any[]) => any) | undefined;
@@ -159,12 +173,12 @@ declare const ButtonPrint: SFCWithInstall<import("vue").DefineComponent<{
159
173
  watchPrintParamsReformatFn: null;
160
174
  spinTimer: null;
161
175
  };
162
- options: import("naive-ui").MenuOption[];
176
+ options: import("../../../es/shared/types").AnyObject[];
163
177
  currentFormatItem: import("vue").ComputedRef<{} | undefined>;
164
178
  formatTitle: import("vue").ComputedRef<any>;
165
179
  getTemplateIdByFormatId: import("vue").ComputedRef<any>;
166
180
  buttonClick: (origin: string) => Promise<false | undefined>;
167
- renderLabel: (option: import("naive-ui").MenuOption) => JSX.Element;
181
+ renderLabel: (option: import("../../../es/shared/types").AnyObject) => JSX.Element;
168
182
  callLocalServicesSuccessCb: (res: any, type: any) => void;
169
183
  callLocalServicesErrorCb: (res: unknown) => void;
170
184
  prevFnError: () => void;
@@ -174,7 +188,7 @@ declare const ButtonPrint: SFCWithInstall<import("vue").DefineComponent<{
174
188
  handleClickPreview: () => Promise<void>;
175
189
  handleClickPdf: () => Promise<void>;
176
190
  handleClickEdit: () => void;
177
- handleSelect: (key: string) => Promise<void>;
191
+ handleSelect: (key: string, option: import("../../../es/shared/types").AnyObject) => Promise<void>;
178
192
  handleClickOutside: () => void;
179
193
  instantiatePrintSDK: () => false | undefined;
180
194
  getDefaultFormatId: (list: any[], key: string | number) => Promise<any>;
@@ -1893,6 +1907,13 @@ declare const ButtonPrint: SFCWithInstall<import("vue").DefineComponent<{
1893
1907
  type: BooleanConstructor;
1894
1908
  default: boolean;
1895
1909
  };
1910
+ externalOptionConfig: {
1911
+ type: import("vue").PropType<Partial<{
1912
+ options: import("../../../es/shared/types").AnyObject[];
1913
+ onSelect: (key: string | number, option: import("../../../es/shared/types").AnyObject) => void;
1914
+ }>>;
1915
+ default: () => {};
1916
+ };
1896
1917
  }>> & {
1897
1918
  onError?: ((...args: any[]) => any) | undefined;
1898
1919
  onSuccess?: ((...args: any[]) => any) | undefined;
@@ -1913,5 +1934,9 @@ declare const ButtonPrint: SFCWithInstall<import("vue").DefineComponent<{
1913
1934
  printdlgshow: string;
1914
1935
  btnprint: string;
1915
1936
  directPrint: boolean;
1937
+ externalOptionConfig: Partial<{
1938
+ options: import("../../../es/shared/types").AnyObject[];
1939
+ onSelect: (key: string | number, option: import("../../../es/shared/types").AnyObject) => void;
1940
+ }>;
1916
1941
  }>>;
1917
1942
  export default ButtonPrint;
@@ -1,7 +1,6 @@
1
1
  /// <reference types="node" />
2
2
  import { AnyObject } from '../../../../es/shared/types';
3
3
  import { PropType } from 'vue';
4
- import type { DropdownOption } from 'naive-ui';
5
4
  import { Print } from './utils';
6
5
  declare const _default: import("vue").DefineComponent<{
7
6
  printParams: {
@@ -73,6 +72,13 @@ declare const _default: import("vue").DefineComponent<{
73
72
  type: BooleanConstructor;
74
73
  default: boolean;
75
74
  };
75
+ externalOptionConfig: {
76
+ type: PropType<Partial<{
77
+ options: AnyObject[];
78
+ onSelect: (key: string | number, option: AnyObject) => void;
79
+ }>>;
80
+ default: () => {};
81
+ };
76
82
  }, {
77
83
  $message: import("naive-ui").MessageApi;
78
84
  printInstance: Print | null;
@@ -146,6 +152,13 @@ declare const _default: import("vue").DefineComponent<{
146
152
  type: BooleanConstructor;
147
153
  default: boolean;
148
154
  };
155
+ externalOptionConfig: {
156
+ type: PropType<Partial<{
157
+ options: AnyObject[];
158
+ onSelect: (key: string | number, option: AnyObject) => void;
159
+ }>>;
160
+ default: () => {};
161
+ };
149
162
  }>> & {
150
163
  onError?: ((...args: any[]) => any) | undefined;
151
164
  onSuccess?: ((...args: any[]) => any) | undefined;
@@ -167,12 +180,12 @@ declare const _default: import("vue").DefineComponent<{
167
180
  watchPrintParamsReformatFn: null;
168
181
  spinTimer: null;
169
182
  };
170
- options: import("naive-ui").MenuOption[];
183
+ options: AnyObject[];
171
184
  currentFormatItem: import("vue").ComputedRef<{} | undefined>;
172
185
  formatTitle: import("vue").ComputedRef<any>;
173
186
  getTemplateIdByFormatId: import("vue").ComputedRef<any>;
174
187
  buttonClick: (origin: string) => Promise<false | undefined>;
175
- renderLabel: (option: DropdownOption) => JSX.Element;
188
+ renderLabel: (option: AnyObject) => JSX.Element;
176
189
  callLocalServicesSuccessCb: (res: any, type: any) => void;
177
190
  callLocalServicesErrorCb: (res: unknown) => void;
178
191
  prevFnError: () => void;
@@ -182,7 +195,7 @@ declare const _default: import("vue").DefineComponent<{
182
195
  handleClickPreview: () => Promise<void>;
183
196
  handleClickPdf: () => Promise<void>;
184
197
  handleClickEdit: () => void;
185
- handleSelect: (key: string) => Promise<void>;
198
+ handleSelect: (key: string, option: AnyObject) => Promise<void>;
186
199
  handleClickOutside: () => void;
187
200
  instantiatePrintSDK: () => false | undefined;
188
201
  getDefaultFormatId: (list: any[], key: string | number) => Promise<any>;
@@ -1904,6 +1917,13 @@ declare const _default: import("vue").DefineComponent<{
1904
1917
  type: BooleanConstructor;
1905
1918
  default: boolean;
1906
1919
  };
1920
+ externalOptionConfig: {
1921
+ type: PropType<Partial<{
1922
+ options: AnyObject[];
1923
+ onSelect: (key: string | number, option: AnyObject) => void;
1924
+ }>>;
1925
+ default: () => {};
1926
+ };
1907
1927
  }>> & {
1908
1928
  onError?: ((...args: any[]) => any) | undefined;
1909
1929
  onSuccess?: ((...args: any[]) => any) | undefined;
@@ -1924,5 +1944,9 @@ declare const _default: import("vue").DefineComponent<{
1924
1944
  printdlgshow: string;
1925
1945
  btnprint: string;
1926
1946
  directPrint: boolean;
1947
+ externalOptionConfig: Partial<{
1948
+ options: AnyObject[];
1949
+ onSelect: (key: string | number, option: AnyObject) => void;
1950
+ }>;
1927
1951
  }>;
1928
1952
  export default _default;
@@ -1 +1 @@
1
- import{defineComponent as t,reactive as e,computed as r,onMounted as a,onUnmounted as i,watch as n,openBlock as s,createElementBlock as o,Fragment as l,createVNode as m,unref as p,withCtx as d,renderSlot as u,withModifiers as c,createCommentVNode as f,createTextVNode as v,toDisplayString as y,mergeProps as b}from"vue";import{isObject as g}from"@vue/shared";import{useMessage as P,NDropdown as I,NButton as h,NIcon as F}from"naive-ui";import{ChevronDown as w}from"@vicons/ionicons5";import{Print as k}from"./utils/print.js";import{isIReport as T}from"./utils/browserPrint.js";import S from"./components/IdentityVerification.vue.js";import{format as x}from"date-fns";import{savePrivateFormatApi as D,getPrivateFormatApi as j}from"./api.js";var E=t({__name:"ButtonPrint",props:{printParams:{type:Array},params:{default:()=>[],type:Array},btnText:{default:"打印",type:String},printText:{default:"直接打印",type:String},previewText:{default:"打印预览",type:String},pdfLoadText:{default:"下载pdf",type:String},formatEditText:{default:"格式编辑",type:String},prevFn:{default:()=>Promise.resolve(),type:Function},queryPrintFormatByNumber:{default:()=>Promise.resolve({}),type:Function},queryTemplateParams:{default:()=>Promise.resolve({}),type:Function},strategy:{default:"MULTI",type:String},clickPrevFn:{default:()=>Promise.resolve(!0),type:Function},noDataMsg:{default:"请选中需要打印的数据",type:String},token:{type:String},printdlgshow:{default:"0",type:String},btnprint:{type:String,default:"1"},directPrint:{type:Boolean,default:!1}},emits:["success","error","clickoutside"],setup(t,{expose:E,emit:L}){const N=t,M=P();let O;const V={},Y=e({spinning:!1,visible:!1,formatList:[],templateParams:{},printParams:[],currentFormatId:"",identityVerification:{visible:!1},isInited:!1,watchPrintParamsReformatFn:null,spinTimer:null}),U=e([{label:N.printText,key:"printText"},{label:N.previewText,key:"previewText"},{label:N.pdfLoadText,key:"downloadPdf"},{label:N.formatEditText,key:"formatEditText"}]),B=r((()=>{if(!Y.currentFormatId)return{};let t=Y.currentFormatId;return Y.formatList.find((e=>e.id===t))})),C=r((()=>{var t;return(null==(t=B.value)?void 0:t.name)||"格式选择"})),J=r((()=>{let t=Y.formatList.find((t=>t.id===Y.currentFormatId));return null==t?void 0:t.templateId})),A=async t=>{if(N.directPrint){if(Y.spinning)return;return"button"===t?void await nt():rt()}return rt()},R=t=>m("span",{class:{active:t.key===Y.currentFormatId}},[t.label]),q=(t,e)=>{let r={type:e,formatId:Y.currentFormatId,templateId:J.value};L("success",t,r)},_=t=>{L("error",t),g(t)&&"notInstalledApp"===t.type&&M.error(t.message)},z=()=>{L("error",{message:"前置条件执行错误"})},H=(t=0)=>{var e;const r=(null==(e=N.printParams)?void 0:e.length)?N.printParams[t]:Y.printParams[t];return JSON.stringify({...r||{},...N.token?{token:N.token}:{}})},$=()=>{var t,e;let r={},a={};if(null==(t=Y.templateParams.customizeDataset)?void 0:t.length){const t=(null==(e=Object.keys(Y.printParams[0].datasetData||{}))?void 0:e[0])||"",r=JSON.stringify(Y.printParams.map((e=>JSON.parse(e.datasetData[t]))));a={datasetData:{}},a.datasetData[t]=r}else Object.keys(Y.printParams[0]).forEach((t=>{a[t]=[],Y.printParams.forEach((e=>{a[t].push(e[t])})),a[t]=a[t].join(",")}));return r=Object.assign({},JSON.parse(H(0)),a),JSON.stringify(r)},G=()=>{let t=Y.printParams.length;const e=async e=>{try{--t<=0&&q(e,"print")}catch(t){console.log("error",t)}};N.prevFn().catch((()=>(z(),Promise.reject()))).then((()=>{const t={formatId:Y.currentFormatId,templateId:J.value,printdlgshow:N.printdlgshow};if("MULTI"===N.strategy)for(let r=0;r<Y.printParams.length;r++)r>0&&(t.printdlgshow="0"),O.printDirect({...t,params:H(r)},e,_);else O.printDirect({...t,params:$()},(t=>{q(t,"print")}),_)})).finally((()=>{Y.visible=!1}))},K=async t=>{switch(t){case"printText":G();break;case"previewText":(async()=>{N.prevFn().catch((()=>(z(),Promise.reject()))).then((()=>{const t="MULTI"===N.strategy?H():$(),e={formatId:Y.currentFormatId,templateId:J.value,params:t,btnprint:N.btnprint};O.preview(e,(t=>{q(t,"preview")}),_)})).finally((()=>{Y.visible=!1}))})();break;case"formatEditText":N.prevFn().catch((()=>(z(),Promise.reject()))).then((()=>{Y.identityVerification.visible=!0})).finally((()=>{Y.visible=!1}));break;case"downloadPdf":(async()=>{N.prevFn().catch((()=>(z(),Promise.reject()))).then((()=>{const t="MULTI"===N.strategy?H():$(),e={formatId:Y.currentFormatId,templateId:J.value,print:{print:"1",type:"1"},params:t};O.downloadPDF(e,(t=>q(t,"preview")),_)})).finally((()=>{Y.visible=!1}))})();break;default:{Y.currentFormatId=t,Y.visible=!1;const[e]=U,r=Y.formatList.find((e=>e.id===t));e.label=(null==r?void 0:r.name)||e.label,await D({formatForms:[{...r}],name:V.name||r.templateName,number:V.number||r.number,templateId:V.templateId||r.templateId,...V.id?{id:V.id}:{}},{token:N.token});break}}},Q=()=>{Y.visible=!1,L("clickoutside")},W=()=>(Y.isInited=!1,Y.spinning=!1,setTimeout((()=>{Y.visible=!1}),0),!1),X=(t,e,r)=>{const a={};return e.forEach((e=>{let i=((t,e)=>{let r=t.defaultValue||"",a=e;return"NUMBER"===t.type&&(a=Number(e)||0),"DATE"===t.type&&(a=e?x(e,"YYYY-MM-DD"):""),"DATETIME"===t.type&&(a=e?x(e,"YYYY-MM-DD HH:mm:ss"):""),r||a})(e,t[e[r]]);t[e[r]]&&i&&(a[e[r]]=i)})),a},Z=({customizeDataset:t=[],param:e=[]},r=[])=>r.map((r=>{let a={};return t.forEach((t=>{const e=t.dataSetting[0].selectFieldList;a.datasetData={[t.name]:JSON.stringify(X(r,e,"fieldName"))}})),a=Object.assign({},a,X(r,e,"key")),a})),tt=async t=>{var e;if(Y.formatList=t?(t=>{let e=[];return t&&t.forEach((t=>{if(!t.format)return!1;e.push(...t.format.map((e=>Object.assign({},e,{templateName:t.name}))))})),e})(t.obj):[],Y.currentFormatId=await(async(t,e)=>{var r;if(!(null==t?void 0:t.length))return"";const{data:a}=await j({templateId:t[0].templateId},{token:N.token});if("SUCCESS"===a.result){const{formatForms:e=[]}=a.map||{};Object.assign(V,a.map||{});const i=null==(r=null==e?void 0:e[0])?void 0:r.id;if(i&&t.map((t=>t.id)).includes(i))return i}const i=t.find((t=>1==t[e]));return(null==i?void 0:i.id)||t[0].id})(Y.formatList,"defaultFlag"),!Y.currentFormatId)return M.error("获取打印格式失败,请联系管理员!"),W();(()=>{const t=Y.formatList.map((t=>({label:t.name,key:t.id})));U.unshift({label:C.value,key:"format",children:t})})();let r=null==(e=await N.queryTemplateParams())?void 0:e.obj;if(!r||!J.value)return M.error("获取打印模板失败,请联系管理员!"),W();Y.templateParams=r,Y.printParams=Z(Y.templateParams,N.params)},et=async()=>{if(Y.isInited)return!0;Y.isInited=!0,Y.spinning=!0,(()=>{if(O)return!1;O=new k})();const t=await N.queryPrintFormatByNumber();return await tt(t),Y.spinning=!1,!0},rt=async(t=!0)=>{var e;if(await N.clickPrevFn())if(null==(e=N.params)?void 0:e.length){if(!Y.visible){if(!await et())return!1}t&&(Y.visible=!Y.visible)}else M.warning(N.noDataMsg)},at=()=>{Y.watchPrintParamsReformatFn&&Y.watchPrintParamsReformatFn(),Y.isInited?Y.printParams=Z(Y.templateParams,N.params):Y.watchPrintParamsReformatFn=()=>n((()=>Y.isInited),(t=>{if(!t)return!1;at()}))},it=t=>{if(Y.identityVerification.visible=!1,T(Y.currentFormatId))return q(null,"edit");const e={formatId:Y.currentFormatId,templateId:J.value,params:H(),token:t};O.editPrintFormat(e,(t=>{q(t,"edit")}),_)};async function nt(){await rt(!1),G()}return a((()=>{Y.isInited=!1})),i((()=>{null==O||O.destroy()})),n((()=>N.params),(t=>{if(!(null==t?void 0:t.length))return!1;at()}),{deep:!0}),E({directPrint:nt}),(e,r)=>(s(),o(l,null,[m(p(I),{class:"c-dropdown",placement:"bottom-start",trigger:"click",show:Y.visible,onClickoutside:Q,options:U,onSelect:K,"render-label":R},{default:d((()=>[u(e.$slots,"button",{handleClickPrintBtn:rt,printSpinning:Y.spinning,printbtnText:t.btnText,printVisible:Y.visible},(()=>[m(p(h),{class:"dropdown-button",onClick:r[1]||(r[1]=c((()=>A("button")),["stop"]))},{default:d((()=>[f(' <n-spin v-show="state.spinning" size="small"></n-spin> '),v(y(t.btnText)+" ",1),m(p(F),{component:p(w),style:{"margin-left":"5px"},onClick:r[0]||(r[0]=c((()=>A("icon")),["stop"]))},null,8,["component"])])),_:1})]))])),_:3},8,["show","options"]),m(S,b(e.$attrs,{modelValue:Y.identityVerification.visible,"onUpdate:modelValue":r[2]||(r[2]=t=>Y.identityVerification.visible=t),formatId:Y.currentFormatId,templateId:p(J),onSuccess:it}),null,16,["modelValue","formatId","templateId"])],64))}});export{E as default};
1
+ import{defineComponent as t,reactive as e,computed as r,onMounted as a,onUnmounted as n,watch as i,openBlock as o,createElementBlock as s,Fragment as l,createVNode as m,unref as p,withCtx as d,renderSlot as u,withModifiers as c,createTextVNode as f,toDisplayString as v,mergeProps as y}from"vue";import{isObject as b}from"@vue/shared";import{useMessage as g,NDropdown as P,NButton as I,NIcon as h}from"naive-ui";import{ChevronDown as F}from"@vicons/ionicons5";import{Print as w}from"./utils/print.js";import{isIReport as k}from"./utils/browserPrint.js";import T from"./components/IdentityVerification.vue.js";import{format as x}from"date-fns";import{savePrivateFormatApi as S,getPrivateFormatApi as j}from"./api.js";var D=t({__name:"ButtonPrint",props:{printParams:{type:Array},params:{default:()=>[],type:Array},btnText:{default:"打印",type:String},printText:{default:"直接打印",type:String},previewText:{default:"打印预览",type:String},pdfLoadText:{default:"下载pdf",type:String},formatEditText:{default:"格式编辑",type:String},prevFn:{default:()=>Promise.resolve(),type:Function},queryPrintFormatByNumber:{default:()=>Promise.resolve({}),type:Function},queryTemplateParams:{default:()=>Promise.resolve({}),type:Function},strategy:{default:"MULTI",type:String},clickPrevFn:{default:()=>Promise.resolve(!0),type:Function},noDataMsg:{default:"请选中需要打印的数据",type:String},token:{type:String},printdlgshow:{default:"0",type:String},btnprint:{type:String,default:"1"},directPrint:{type:Boolean,default:!1},externalOptionConfig:{type:Object,default:()=>({})}},emits:["success","error","clickoutside"],setup(t,{expose:D,emit:O}){var E;const L=t,N=g();let M;const V={},C=e({spinning:!1,visible:!1,formatList:[],templateParams:{},printParams:[],currentFormatId:"",identityVerification:{visible:!1},isInited:!1,watchPrintParamsReformatFn:null,spinTimer:null}),Y=e([{label:L.printText,key:"printText"},{label:L.previewText,key:"previewText"},{label:L.pdfLoadText,key:"downloadPdf"},{label:L.formatEditText,key:"formatEditText"},...(null==(E=L.externalOptionConfig)?void 0:E.options)||[]]),U=r((()=>{if(!C.currentFormatId)return{};let t=C.currentFormatId;return C.formatList.find((e=>e.id===t))})),B=r((()=>{var t;return(null==(t=U.value)?void 0:t.name)||"格式选择"})),J=r((()=>{let t=C.formatList.find((t=>t.id===C.currentFormatId));return null==t?void 0:t.templateId})),A=async t=>{if(L.directPrint){if(C.spinning)return;return"button"===t?void await it():rt()}return rt()},R=t=>m("span",{class:{active:t.key===C.currentFormatId}},[t.label]),q=(t,e)=>{let r={type:e,formatId:C.currentFormatId,templateId:J.value};O("success",t,r)},_=t=>{O("error",t),b(t)&&"notInstalledApp"===t.type&&N.error(t.message)},z=()=>{O("error",{message:"前置条件执行错误"})},H=(t=0)=>{var e;const r=(null==(e=L.printParams)?void 0:e.length)?L.printParams[t]:C.printParams[t];return JSON.stringify({...r||{},...L.token?{token:L.token}:{}})},$=()=>{var t,e;let r={},a={};if(null==(t=C.templateParams.customizeDataset)?void 0:t.length){const t=(null==(e=Object.keys(C.printParams[0].datasetData||{}))?void 0:e[0])||"",r=JSON.stringify(C.printParams.map((e=>JSON.parse(e.datasetData[t]))));a={datasetData:{}},a.datasetData[t]=r}else Object.keys(C.printParams[0]).forEach((t=>{a[t]=[],C.printParams.forEach((e=>{a[t].push(e[t])})),a[t]=a[t].join(",")}));return r=Object.assign({},JSON.parse(H(0)),a),JSON.stringify(r)},G=()=>{let t=C.printParams.length;const e=async e=>{try{--t<=0&&q(e,"print")}catch(t){console.log("error",t)}};L.prevFn().catch((()=>(z(),Promise.reject()))).then((()=>{const t={formatId:C.currentFormatId,templateId:J.value,printdlgshow:L.printdlgshow};if("MULTI"===L.strategy)for(let r=0;r<C.printParams.length;r++)r>0&&(t.printdlgshow="0"),M.printDirect({...t,params:H(r)},e,_);else M.printDirect({...t,params:$()},(t=>{q(t,"print")}),_)})).finally((()=>{C.visible=!1}))},K=async(t,e)=>{var r,a;switch(t){case"printText":G();break;case"previewText":(async()=>{L.prevFn().catch((()=>(z(),Promise.reject()))).then((()=>{const t="MULTI"===L.strategy?H():$(),e={formatId:C.currentFormatId,templateId:J.value,params:t,btnprint:L.btnprint};M.preview(e,(t=>{q(t,"preview")}),_)})).finally((()=>{C.visible=!1}))})();break;case"formatEditText":L.prevFn().catch((()=>(z(),Promise.reject()))).then((()=>{C.identityVerification.visible=!0})).finally((()=>{C.visible=!1}));break;case"downloadPdf":(async()=>{L.prevFn().catch((()=>(z(),Promise.reject()))).then((()=>{const t="MULTI"===L.strategy?H():$(),e={formatId:C.currentFormatId,templateId:J.value,print:{print:"1",type:"1"},params:t};M.downloadPDF(e,(t=>q(t,"preview")),_)})).finally((()=>{C.visible=!1}))})();break;default:{C.visible=!1;const n=C.formatList.find((e=>e.id===t))||{};if(Object.keys(n).length>0){C.currentFormatId=t;const[e]=Y;e.label=(null==n?void 0:n.name)||e.label,await S({formatForms:[{...n}],name:V.name||n.templateName,number:V.number||n.number,templateId:V.templateId||n.templateId,...V.id?{id:V.id}:{}},{token:L.token})}else null==(a=null==(r=L.externalOptionConfig)?void 0:r.onSelect)||a.call(r,t,e);break}}},Q=()=>{C.visible=!1,O("clickoutside")},W=()=>(C.isInited=!1,C.spinning=!1,setTimeout((()=>{C.visible=!1}),0),!1),X=(t,e,r)=>{const a={};return e.forEach((e=>{let n=((t,e)=>{let r=t.defaultValue||"",a=e;return"NUMBER"===t.type&&(a=Number(e)||0),"DATE"===t.type&&(a=e?x(e,"YYYY-MM-DD"):""),"DATETIME"===t.type&&(a=e?x(e,"YYYY-MM-DD HH:mm:ss"):""),r||a})(e,t[e[r]]);t[e[r]]&&n&&(a[e[r]]=n)})),a},Z=({customizeDataset:t=[],param:e=[]},r=[])=>r.map((r=>{let a={};return t.forEach((t=>{const e=t.dataSetting[0].selectFieldList;a.datasetData={[t.name]:JSON.stringify(X(r,e,"fieldName"))}})),a=Object.assign({},a,X(r,e,"key")),a})),tt=async t=>{var e;if(C.formatList=t?(t=>{let e=[];return t&&t.forEach((t=>{if(!t.format)return!1;e.push(...t.format.map((e=>Object.assign({},e,{templateName:t.name}))))})),e})(t.obj):[],C.currentFormatId=await(async(t,e)=>{var r;if(!(null==t?void 0:t.length))return"";const{data:a}=await j({templateId:t[0].templateId},{token:L.token});if("SUCCESS"===a.result){const{formatForms:e=[]}=a.map||{};Object.assign(V,a.map||{});const n=null==(r=null==e?void 0:e[0])?void 0:r.id;if(n&&t.map((t=>t.id)).includes(n))return n}const n=t.find((t=>1==t[e]));return(null==n?void 0:n.id)||t[0].id})(C.formatList,"defaultFlag"),!C.currentFormatId)return N.error("获取打印格式失败,请联系管理员!"),W();(()=>{const t=C.formatList.map((t=>({label:t.name,key:t.id})));Y.unshift({label:B.value,key:"format",children:t})})();let r=null==(e=await L.queryTemplateParams())?void 0:e.obj;if(!r||!J.value)return N.error("获取打印模板失败,请联系管理员!"),W();C.templateParams=r,C.printParams=Z(C.templateParams,L.params)},et=async()=>{if(C.isInited)return!0;C.isInited=!0,C.spinning=!0,(()=>{if(M)return!1;M=new w})();const t=await L.queryPrintFormatByNumber();return await tt(t),C.spinning=!1,!0},rt=async(t=!0)=>{var e;if(await L.clickPrevFn())if(null==(e=L.params)?void 0:e.length){if(!C.visible){if(!await et())return!1}t&&(C.visible=!C.visible)}else N.warning(L.noDataMsg)},at=()=>{C.watchPrintParamsReformatFn&&C.watchPrintParamsReformatFn(),C.isInited?C.printParams=Z(C.templateParams,L.params):C.watchPrintParamsReformatFn=()=>i((()=>C.isInited),(t=>{if(!t)return!1;at()}))},nt=t=>{if(C.identityVerification.visible=!1,k(C.currentFormatId))return q(null,"edit");const e={formatId:C.currentFormatId,templateId:J.value,params:H(),token:t};M.editPrintFormat(e,(t=>{q(t,"edit")}),_)};async function it(){await rt(!1),G()}return a((()=>{C.isInited=!1})),n((()=>{null==M||M.destroy()})),i((()=>L.params),(t=>{if(!(null==t?void 0:t.length))return!1;at()}),{deep:!0}),D({directPrint:it}),(e,r)=>(o(),s(l,null,[m(p(P),{class:"c-dropdown",placement:"bottom-start",trigger:"click",show:C.visible,onClickoutside:Q,options:Y,onSelect:K,"render-label":R},{default:d((()=>[u(e.$slots,"button",{handleClickPrintBtn:rt,printSpinning:C.spinning,printbtnText:t.btnText,printVisible:C.visible},(()=>[m(p(I),{class:"dropdown-button",onClick:r[1]||(r[1]=c((()=>A("button")),["stop"]))},{default:d((()=>[f(v(t.btnText)+" ",1),m(p(h),{component:p(F),style:{"margin-left":"5px"},onClick:r[0]||(r[0]=c((()=>A("icon")),["stop"]))},null,8,["component"])])),_:1})]))])),_:3},8,["show","options"]),m(T,y(e.$attrs,{modelValue:C.identityVerification.visible,"onUpdate:modelValue":r[2]||(r[2]=t=>C.identityVerification.visible=t),formatId:C.currentFormatId,templateId:p(J),onSuccess:nt}),null,16,["modelValue","formatId","templateId"])],64))}});export{D as default};
@@ -79,6 +79,8 @@ declare const FormConfig: SFCWithInstall<import("vue").DefineComponent<{
79
79
  vali_obj?: string | undefined;
80
80
  max_value?: string | number | undefined;
81
81
  min_value?: string | number | undefined;
82
+ min_date?: string | undefined;
83
+ max_date?: string | undefined;
82
84
  min_length?: string | number | undefined;
83
85
  max_length?: string | number | undefined;
84
86
  decimal_length?: string | number | undefined;
@@ -1772,6 +1774,8 @@ declare const FormConfig: SFCWithInstall<import("vue").DefineComponent<{
1772
1774
  vali_obj?: string | undefined;
1773
1775
  max_value?: string | number | undefined;
1774
1776
  min_value?: string | number | undefined;
1777
+ min_date?: string | undefined;
1778
+ max_date?: string | undefined;
1775
1779
  min_length?: string | number | undefined;
1776
1780
  max_length?: string | number | undefined;
1777
1781
  decimal_length?: string | number | undefined;
@@ -4409,6 +4413,8 @@ declare const FormConfig: SFCWithInstall<import("vue").DefineComponent<{
4409
4413
  vali_obj?: string | undefined;
4410
4414
  max_value?: string | number | undefined;
4411
4415
  min_value?: string | number | undefined;
4416
+ min_date?: string | undefined;
4417
+ max_date?: string | undefined;
4412
4418
  min_length?: string | number | undefined;
4413
4419
  max_length?: string | number | undefined;
4414
4420
  decimal_length?: string | number | undefined;
@@ -6114,6 +6120,8 @@ declare const FormConfig: SFCWithInstall<import("vue").DefineComponent<{
6114
6120
  vali_obj?: string | undefined;
6115
6121
  max_value?: string | number | undefined;
6116
6122
  min_value?: string | number | undefined;
6123
+ min_date?: string | undefined;
6124
+ max_date?: string | undefined;
6117
6125
  min_length?: string | number | undefined;
6118
6126
  max_length?: string | number | undefined;
6119
6127
  decimal_length?: string | number | undefined;
@@ -7791,6 +7799,8 @@ declare const FormConfig: SFCWithInstall<import("vue").DefineComponent<{
7791
7799
  vali_obj?: string | undefined;
7792
7800
  max_value?: string | number | undefined;
7793
7801
  min_value?: string | number | undefined;
7802
+ min_date?: string | undefined;
7803
+ max_date?: string | undefined;
7794
7804
  min_length?: string | number | undefined;
7795
7805
  max_length?: string | number | undefined;
7796
7806
  decimal_length?: string | number | undefined;
@@ -81,6 +81,8 @@ declare const _default: import("vue").DefineComponent<{
81
81
  vali_obj?: string | undefined;
82
82
  max_value?: string | number | undefined;
83
83
  min_value?: string | number | undefined;
84
+ min_date?: string | undefined;
85
+ max_date?: string | undefined;
84
86
  min_length?: string | number | undefined;
85
87
  max_length?: string | number | undefined;
86
88
  decimal_length?: string | number | undefined;
@@ -1774,6 +1776,8 @@ declare const _default: import("vue").DefineComponent<{
1774
1776
  vali_obj?: string | undefined;
1775
1777
  max_value?: string | number | undefined;
1776
1778
  min_value?: string | number | undefined;
1779
+ min_date?: string | undefined;
1780
+ max_date?: string | undefined;
1777
1781
  min_length?: string | number | undefined;
1778
1782
  max_length?: string | number | undefined;
1779
1783
  decimal_length?: string | number | undefined;
@@ -4411,6 +4415,8 @@ declare const _default: import("vue").DefineComponent<{
4411
4415
  vali_obj?: string | undefined;
4412
4416
  max_value?: string | number | undefined;
4413
4417
  min_value?: string | number | undefined;
4418
+ min_date?: string | undefined;
4419
+ max_date?: string | undefined;
4414
4420
  min_length?: string | number | undefined;
4415
4421
  max_length?: string | number | undefined;
4416
4422
  decimal_length?: string | number | undefined;
@@ -6116,6 +6122,8 @@ declare const _default: import("vue").DefineComponent<{
6116
6122
  vali_obj?: string | undefined;
6117
6123
  max_value?: string | number | undefined;
6118
6124
  min_value?: string | number | undefined;
6125
+ min_date?: string | undefined;
6126
+ max_date?: string | undefined;
6119
6127
  min_length?: string | number | undefined;
6120
6128
  max_length?: string | number | undefined;
6121
6129
  decimal_length?: string | number | undefined;
@@ -7793,6 +7801,8 @@ declare const _default: import("vue").DefineComponent<{
7793
7801
  vali_obj?: string | undefined;
7794
7802
  max_value?: string | number | undefined;
7795
7803
  min_value?: string | number | undefined;
7804
+ min_date?: string | undefined;
7805
+ max_date?: string | undefined;
7796
7806
  min_length?: string | number | undefined;
7797
7807
  max_length?: string | number | undefined;
7798
7808
  decimal_length?: string | number | undefined;
@@ -44,6 +44,8 @@ declare const _default: import("vue").DefineComponent<{
44
44
  vali_obj?: string | undefined;
45
45
  max_value?: string | number | undefined;
46
46
  min_value?: string | number | undefined;
47
+ min_date?: string | undefined;
48
+ max_date?: string | undefined;
47
49
  min_length?: string | number | undefined;
48
50
  max_length?: string | number | undefined;
49
51
  decimal_length?: string | number | undefined;
@@ -1749,6 +1751,8 @@ declare const _default: import("vue").DefineComponent<{
1749
1751
  vali_obj?: string | undefined;
1750
1752
  max_value?: string | number | undefined;
1751
1753
  min_value?: string | number | undefined;
1754
+ min_date?: string | undefined;
1755
+ max_date?: string | undefined;
1752
1756
  min_length?: string | number | undefined;
1753
1757
  max_length?: string | number | undefined;
1754
1758
  decimal_length?: string | number | undefined;
@@ -3426,6 +3430,8 @@ declare const _default: import("vue").DefineComponent<{
3426
3430
  vali_obj?: string | undefined;
3427
3431
  max_value?: string | number | undefined;
3428
3432
  min_value?: string | number | undefined;
3433
+ min_date?: string | undefined;
3434
+ max_date?: string | undefined;
3429
3435
  min_length?: string | number | undefined;
3430
3436
  max_length?: string | number | undefined;
3431
3437
  decimal_length?: string | number | undefined;
@@ -11,6 +11,8 @@ export declare const DATE: import("vue").DefineComponent<{
11
11
  vali_obj: string;
12
12
  max_value: string | number;
13
13
  min_value: string | number;
14
+ min_date: string;
15
+ max_date: string;
14
16
  min_length: string | number;
15
17
  max_length: string | number;
16
18
  decimal_length: string | number;
@@ -35,6 +37,8 @@ export declare const DATE: import("vue").DefineComponent<{
35
37
  vali_obj: string;
36
38
  max_value: string | number;
37
39
  min_value: string | number;
40
+ min_date: string;
41
+ max_date: string;
38
42
  min_length: string | number;
39
43
  max_length: string | number;
40
44
  decimal_length: string | number;
@@ -1 +1 @@
1
- import{defineComponent as e,computed as t,watch as r,createVNode as n,mergeProps as a}from"vue";import{generateTimeFormat as u}from"../../../../../shared/utils/index.js";import{connect as o,mapProps as i}from"@formily/vue";import{isObject as l}from"@vueuse/core";import{format as s}from"date-fns";import{useCommonInjection as m}from"../../hooks/useCommonInjection.js";import"../../utils/index.js";import d from"../../../../date-picker/index.js";import{assignUpdateValue as v,assignClearBindVisited as c}from"../../utils/schema.js";const f=o(e({props:{onChange:{},value:{type:String},validate:{type:Object},valueFormat:{type:String,default:"yyyy-MM-dd"}},emits:["update:value"],setup(e,{emit:o}){const{injectValueValidate:i,injectValueBindKey:v}=m();function c(){var t;return"currTime"===(null==(t=e.validate)?void 0:t.min_date)}function f(){var t;return"currTime"===(null==(t=e.validate)?void 0:t.max_date)}function p(e){return c()&&e<Date.now()-864e5||f()&&e>Date.now()}function D(e){const t=new Date(e),r=new Date,n=new Date(t);return n.setHours(0),n.setMinutes(0),n.setSeconds(0),{isHourDisabled:function(e){return!i()&&(c()&&e<u()||f()&&e>u())},isMinuteDisabled:function(e){if(i())return!1;if(a()===u())return c()&&e<o()||f()&&e>o();return c()&&a()<u()||f()&&a()>u()}};function a(){return t.getHours()}function u(){return r.getHours()}function o(){return r.getMinutes()}function i(){return n>r}}i((()=>e.value));const y=t((()=>{const t={};if(l(e.validate)){const{min_date:r,max_date:n}=e.validate;(r||n)&&(t.isDateDisabled=p,t.isTimeDisabled=D)}return t})),j=t((()=>({valueFormat:e.valueFormat,format:e.valueFormat,timePickerProps:{format:u(e.valueFormat)}})));function g(t){return t?s(new Date(t),e.valueFormat):t}r((()=>e.value),(e=>{e&&g(e)!==e&&o("update:value",g(e))}));const w=t({get:()=>g(e.value),set:e=>{o("update:value",e)}}),x=v(w);return()=>n(d,a({key:x.value},y.value,j.value,{"formatted-value":w.value,"onUpdate:formatted-value":e=>w.value=e}),null)}}),i(v,c));export{f as DATE};
1
+ import{defineComponent as e,computed as t,watch as a,createVNode as r,mergeProps as n}from"vue";import{generateTimeFormat as o}from"../../../../../shared/utils/index.js";import{connect as u,mapProps as i}from"@formily/vue";import{isObject as s}from"@vueuse/core";import{format as l}from"date-fns";import m from"../../../../date-picker/index.js";import{useCommonInjection as d}from"../../hooks/useCommonInjection.js";import"../../utils/index.js";import{assignUpdateValue as v,assignClearBindVisited as c}from"../../utils/schema.js";const f=u(e({props:{onChange:{},value:{type:String},validate:{type:Object},valueFormat:{type:String,default:"yyyy-MM-dd"}},emits:["update:value"],setup(e,{emit:u}){const{injectValueValidate:i,injectValueBindKey:v}=d();function c(){var t;return"currTime"===(null==(t=e.validate)?void 0:t.min_date)}function f(){var t;return"currTime"===(null==(t=e.validate)?void 0:t.max_date)}function p(e){return c()&&e<Date.now()-864e5||f()&&e>Date.now()}function D(e){const t=new Date(e),a=new Date,r=new Date(t);r.setHours(0),r.setMinutes(0),r.setSeconds(0);const n=new Date(t);n.setHours(23),n.setMinutes(59),n.setSeconds(59);const o=r>a,u=n<a,i=t.getHours(),s=a.getHours(),l=a.getMinutes();return{isHourDisabled:function(e){return c()&&!o&&e<s||f()&&!u&&e>s},isMinuteDisabled:function(e){if(i===s)return c()&&!o&&e<l||f()&&!u&&e>l;return c()&&!o&&i<s||f()&&!u&&i>s}}}i((()=>e.value));const y=t((()=>{const t={};if(s(e.validate)){const{min_date:a,max_date:r}=e.validate;(a||r)&&(t.isDateDisabled=p,t.isTimeDisabled=D)}return t})),j=t((()=>({valueFormat:e.valueFormat,format:e.valueFormat,timePickerProps:{format:o(e.valueFormat)}})));function g(t){return t?l(new Date(t),e.valueFormat):t}a((()=>e.value),(e=>{e&&g(e)!==e&&u("update:value",g(e))}));const w=t({get:()=>g(e.value),set:e=>{u("update:value",e)}}),x=v(w);return()=>r(m,n({key:x.value},y.value,j.value,{"formatted-value":w.value,"onUpdate:formatted-value":e=>w.value=e}),null)}}),i(v,c));export{f as DATE};
@@ -1 +1 @@
1
- import{defineComponent as e,ref as t,computed as a,inject as l,watch as r,createVNode as o,nextTick as n}from"vue";import{isEqual as i,isArray as u,isString as s}from"lodash-es";import"../../../index.js";import{useCommonInjection as c}from"../../hooks/useCommonInjection.js";import{InjectionAsyncQueue as p,InjectionFormUUID as d}from"../../constants/index.js";import"../../../../../shared/utils/index.js";import"../../utils/index.js";import{useFormField as m}from"../../hooks/useFormField.js";import{NCascader as v}from"naive-ui";import"@vueuse/core";import"date-fns";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"../../hooks/useFormValidator.js";import"@formily/core";import"@formily/reactive";import{connect as f,mapProps as y}from"@formily/vue";import"@vue/shared";import"./index.js";import"../../hooks/useFormRenderOptions.js";import{createVisitedSetter as h,assignUpdateValue as j,traverseDependKey as k}from"../../utils/schema.js";const b=f(e({name:"FormCascader",props:{options:{type:Array,default:()=>[]},depth:{type:[Number,String]},urlConfig:{type:Object},requestCache:{type:Boolean,default:!0},onFocus:{type:Function},filterable:{type:Boolean,default:!1},labelField:{type:String,default:"text"},valueField:{type:String,default:"value"},onChange:{},value:{}},emits:["update:value"],setup(e,{slots:f,emit:y}){const j=t(),{field:b,title:C}=m(),g=a((()=>{var t,a,l;return null!=(l=null!=(a=null==(t=e.urlConfig)?void 0:t.nameKey)?a:e.labelField)?l:"text"})),F=a((()=>{var t,a,l;return null!=(l=null!=(a=null==(t=e.urlConfig)?void 0:t.valueKey)?a:e.valueField)?l:"value"})),S=a((()=>{try{const t=Array.isArray(e.value)?e.value:JSON.parse(e.value||"");return Array.isArray(t)&&t.length?t.map((e=>e[g.value])).join(" / "):null}catch(e){return null}}));function w(e,t,a){y("update:value",u(a)?a.map((function(e){return{...e,label:e[g.value],children:void 0,parent:void 0}})):null)}const A=l(p);async function H(t){e.filterable?await async function(){if(!e.urlConfig||j.value&&e.requestCache)return;const t=await A.addAsync({...e.urlConfig,params:{lvlnr:"1"},key:C.value,cache:e.requestCache});function a(e,t){const l={[g.value]:e[g.value],[F.value]:e[F.value],depth:t+1,isLeaf:!0,keyword:e.keyword};return u(e.children)&&(l.children=e.children.map((e=>a(e,t+1))),l.isLeaf=!e.children.length),l}j.value=t.map((e=>a(e,0)))}():await async function(t){if(r(e,t))return;const a=await A.addAsync(o(s(t),u(e),C.value,t));if(!a.length&&t)return t.isLeaf=!0,w(0,0,n(t)),void(E.value=!1);const l=a.map((e=>i(e,s(t))));function r(e,t){return!u(e)||!t&&j.value&&e.requestCache||s(t)>=s(e)-1}function o(t,a,l,r){const o={lvlnr:t+1+""};return r&&a.dependKey&&k(a.dependKey,((e,t)=>{o[t]=r[e]})),{params:o,...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 i(a,l){return{[g.value]:a[g.value],[F.value]:a[F.value],depth:l+1,parent:t,isLeaf:l+2>=s(e)}}function u(e){return e.urlConfig}function s(e){var t;return null!=(t=null==e?void 0:e.depth)?t:-1}t?t.children=l:j.value=l}(t),await L()}const x=`form-render__cascade--menu-${l(d)}`;async function L(){await n();const e=document.querySelector(`.${x} .v-vl`);e&&e.dispatchEvent(new CustomEvent("scroll"))}function q(e,t){if(!e||!t)return!1;const{keyword:a,[g.value]:l}=t;return s(a)?a.split(",").some((t=>t.includes(e))):!!s(l)&&l.includes(e)}const{injectValueValidate:B,injectValueWatchFromEmpty:K,injectValueBindKey:V}=c();K((()=>e.value),H),B((()=>e.value)),r((()=>e.urlConfig),(async(e,t)=>{i(e,t)||(j.value=null,await H())}));const E=t(!1);function O(e){E.value=!!e,e&&H()}const W=a((()=>j.value||e.options||[])),N=a((()=>!e.filterable)),P=V(S);return()=>o(v,{key:P.value,remote:N.value,filterable:e.filterable,"menu-props":{class:x,onClick:L},checkStrategy:"child",show:!!E.value,"onUpdate:show":O,value:S.value,filter:q,"onUpdate:value":w,labelField:g.value,valueField:F.value,options:W.value,onLoad:H,onFocus:h(b)},f)}}),y({dataSource:"options"},j));export{b as SEARCH_CASCADER};
1
+ import{defineComponent as e,ref as t,computed as a,inject as l,watch as r,createVNode as o,nextTick as n}from"vue";import{isEqual as i,isArray as u,isString as s}from"lodash-es";import"../../../index.js";import{useCommonInjection as c}from"../../hooks/useCommonInjection.js";import{InjectionAsyncQueue as p,InjectionFormUUID as d}from"../../constants/index.js";import"../../../../../shared/utils/index.js";import"../../utils/index.js";import{useFormField as m}from"../../hooks/useFormField.js";import{NCascader as v}from"naive-ui";import"@vueuse/core";import"date-fns";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"../../hooks/useFormValidator.js";import"@formily/core";import"@formily/reactive";import{connect as f,mapProps as y}from"@formily/vue";import"@vue/shared";import"./index.js";import"../../hooks/useFormRenderOptions.js";import{createVisitedSetter as h,assignUpdateValue as j,traverseDependKey as k}from"../../utils/schema.js";const b=f(e({name:"FormCascader",props:{options:{type:Array,default:()=>[]},depth:{type:[Number,String]},urlConfig:{type:Object},requestCache:{type:Boolean,default:!0},onFocus:{type:Function},filterable:{type:Boolean,default:!1},labelField:{type:String,default:"text"},valueField:{type:String,default:"value"},onChange:{},value:{}},emits:["update:value"],setup(e,{slots:f,emit:y}){const j=t(),{field:b,title:C}=m(),g=a((()=>{var t,a,l;return null!=(l=null!=(a=null==(t=e.urlConfig)?void 0:t.nameKey)?a:e.labelField)?l:"text"})),F=a((()=>{var t,a,l;return null!=(l=null!=(a=null==(t=e.urlConfig)?void 0:t.valueKey)?a:e.valueField)?l:"value"})),S=a((()=>{try{const t=Array.isArray(e.value)?e.value:JSON.parse(e.value||"");return Array.isArray(t)&&t.length?t.map((e=>e[F.value])).slice(-1).join(""):null}catch(e){return null}}));function w(e,t,a){y("update:value",u(a)?a.map((function(e){return{...e,label:e[g.value],children:void 0,parent:void 0}})):null)}const A=l(p);async function H(t){e.filterable?await async function(){if(!e.urlConfig||j.value&&e.requestCache)return;const t=await A.addAsync({...e.urlConfig,params:{lvlnr:"1"},key:C.value,cache:e.requestCache});function a(e,t){const l={[g.value]:e[g.value],[F.value]:e[F.value],depth:t+1,isLeaf:!0,keyword:e.keyword};return u(e.children)&&(l.children=e.children.map((e=>a(e,t+1))),l.isLeaf=!e.children.length),l}j.value=t.map((e=>a(e,0)))}():await async function(t){if(r(e,t))return;const a=await A.addAsync(o(s(t),u(e),C.value,t));if(!a.length&&t)return t.isLeaf=!0,w(0,0,n(t)),void(E.value=!1);const l=a.map((e=>i(e,s(t))));function r(e,t){return!u(e)||!t&&j.value&&e.requestCache||s(t)>=s(e)-1}function o(t,a,l,r){const o={lvlnr:t+1+""};return r&&a.dependKey&&k(a.dependKey,((e,t)=>{o[t]=r[e]})),{params:o,...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 i(a,l){return{[g.value]:a[g.value],[F.value]:a[F.value],depth:l+1,parent:t,isLeaf:l+2>=s(e)}}function u(e){return e.urlConfig}function s(e){var t;return null!=(t=null==e?void 0:e.depth)?t:-1}t?t.children=l:j.value=l}(t),await L()}const x=`form-render__cascade--menu-${l(d)}`;async function L(){await n();const e=document.querySelector(`.${x} .v-vl`);e&&e.dispatchEvent(new CustomEvent("scroll"))}function q(e,t){if(!e||!t)return!1;const{keyword:a,[g.value]:l}=t;return s(a)?a.split(",").some((t=>t.includes(e))):!!s(l)&&l.includes(e)}const{injectValueValidate:B,injectValueWatchFromEmpty:K,injectValueBindKey:V}=c();K((()=>e.value),H),B((()=>e.value)),r((()=>e.urlConfig),(async(e,t)=>{i(e,t)||(j.value=null,await H())}));const E=t(!1);function O(e){E.value=!!e,e&&H()}const W=a((()=>j.value||e.options||[])),N=a((()=>!e.filterable)),P=V(S);return()=>o(v,{key:P.value,remote:N.value,filterable:e.filterable,"menu-props":{class:x,onClick:L},checkStrategy:"child",show:!!E.value,"onUpdate:show":O,value:S.value,filter:q,"onUpdate:value":w,labelField:g.value,valueField:F.value,options:W.value,onLoad:H,onFocus:h(b)},f)}}),y({dataSource:"options"},j));export{b as SEARCH_CASCADER};
@@ -1 +1 @@
1
- import{arrayed as e,deepOmit as o}from"../../../../shared/utils/index.js";import{cloneDeep as t,pick as n}from"lodash-es";import"../../index.js";import{parseNumberFromMaybeString as r,formRenderLog as i}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 l}from"./useFormValidator.js";import{transformDateFormat as c}from"../utils/business.js";function m(e,o){Object.assign(e["x-component-props"],{...n(o,["wordbook","autograph"])})}function d(d){const{createValidatorSchema:u}=l(),x=e=>{var t;const n={name:e.val_key,type:null!=(t=e.fieldType)?t:"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"};e.reactions&&(n["x-reactions"]=e.reactions),e.noDecorator||Object.assign(n,{"x-decorator":"FORM_ITEM","x-decorator-props":{fieldItem:o(e,["reactions"]),span:2*(e.elem_width||3),showLabel:"1"!==e.hide_title,remark:e.remark,propertyKey:e.val_key,annotation:e.annotation,...e.decoratorProps||{}}});const r=u(e);return r&&(n["x-validator"]=r),"0"===e.is_null&&(n.required=!0),n},f=e=>{var o;const t=x(e);e.urlConfig?function(e,o){Object.assign(e["x-component-props"],{...n(o,["urlConfig"])})}(t,e):e.autograph&&m(t,e);const i="0"===e.multi_select;return Object.assign(t["x-component-props"],{multiple:i,options:e.option||(null==(o=e.componentProps)?void 0:o.options),allowCreate:"1"===e.free_entry||!!t["x-component-props"].allowCreate,maxTagCount:r(e.multi_select_value),...n(e,["lazyRequest","requestCache"])}),i&&(t.type="array"),t},_=e=>{const o=x(e);return Object.assign(o["x-component-props"],{options:e.option,vertical:e.__vertical}),m(o,e),o},h=e=>{const t=x(e);return Object.assign(t["x-component-props"],{fieldItem:o(e,["reactions"])}),t},g=e=>({name:e.val_key,type:"void",title:e.alias||e.name,"x-component":"LINEBAR","x-display":"visible","x-component-props":{disabled:"1"===e.is_not_fold,id:p(e.val_key),show:"0"!==e.is_show,remark:e.remark}}),y=new Map([["LINEBAR",g],["LINE_BREAKS",e=>({name:e.val_key,type:"void",title:e.alias||e.name,"x-component":"LINE_BREAKS","x-display":"0"===e.is_show?"hidden":"visible"})],["INPUT",e=>{const o=x(e);return Object.assign(o["x-component-props"],{...n(e,["prefix","suffix"])}),o}],["INPUT_NUMBER",e=>{const o=x(e),{decimal_length:t,validate:n}=e;return Object.assign(o["x-component-props"],{precision:null!=t?t:null==n?void 0:n.decimal_length,prefix:e.prefix,suffix:e.suffix}),o}],["SELECT",f],["REMOTE_SEARCH",f],["DATE",e=>{const o=x(e);return Object.assign(o["x-component-props"],{valueFormat:e.date_format,type:c(e.date_format),validate:e.validate}),o}],["LEVEL_SEARCH_CASCADER",e=>{const o=x(e);return Object.assign(o["x-component-props"],{...n(e,["wordbook","lazyRequest","autograph"])}),o}],["SEARCH_CASCADER",e=>{var o;const t=x(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=x(e);return o.type="array",!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,getProperties:()=>e.children||[]}),o}],["RADIO",_],["CHECKBOX",_],["SWITCH",e=>{const o=x(e);return Object.assign(o["x-component-props"],{openDescription:e.open,closeDescription:e.close}),o}],["SLIDER",e=>{const o=x(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=x(e);Array.isArray(e.properties)&&i("COMPLEX控件的properties属性已经废弃, 请使用children作为替代, 在之后的版本中properties属性将不再支持");const t=Array.isArray(e.properties||e.children)?O(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"],n(e,["wrapperStyle","display"])),o}]]),b=e=>{if(e.suffixConfig)return v(e);return(y.get(e.html_type)||h)(e)},v=o=>{if(!o.suffixConfig)return b(o);const t=e(o.suffixConfig),n=[{...o,is_show:"1",hide_title:"1",suffixConfig:void 0}].concat(t.map((e=>({...e,hide_title:"1",is_show:"1"})))),r=x(o);return Object.assign(r,{type:"void",name:a(n),title:o.alias||o.name,"x-component":"INPUT_GROUP","x-component-props":{span:2*(o.elem_width||3)},"x-decorator-props":{...r["x-decorator-props"],showFeedback:!1,suffixFields:n.map((e=>e.val_key))},properties:O(n)}),r},{FieldNormalizeWaterfallHook:C}=s();function O(o){let n=null;return o.reduce(((e,o,s)=>{var a;const p=null==(a=(o=C.call(t(o))).validate)?void 0:a.obj_type;return p&&d&&d.collect(p,t(o)),"LINEBAR"===o.html_type?(e[i(o)]=r(g(o),s),n=e[i(o)].properties={}):n?n[i(o)]=r(b(o),s):(n=null,e[i(o)]=r(b(o),s)),e}),{});function r(e,o){return e["x-index"]=o,e}function i(o){return o.suffixConfig?a([o,...e(o.suffixConfig)]):o.val_key}}return{schemaAdaptor:O}}export{d as useFieldListAdaptor};
1
+ import{arrayed as e,deepOmit as o}from"../../../../shared/utils/index.js";import{cloneDeep as t,pick as n}from"lodash-es";import"../../index.js";import{parseNumberFromMaybeString as r,formRenderLog as i}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 l}from"./useFormValidator.js";import{transformDateFormat as c}from"../utils/business.js";function m(e,o){Object.assign(e["x-component-props"],{...n(o,["wordbook","autograph"])})}function d(d){const{createValidatorSchema:u}=l(),x=e=>{var t;const n={name:e.val_key,type:null!=(t=e.fieldType)?t:"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"};e.reactions&&(n["x-reactions"]=e.reactions),e.noDecorator||Object.assign(n,{"x-decorator":"FORM_ITEM","x-decorator-props":{fieldItem:o(e,["reactions"]),span:2*(e.elem_width||3),showLabel:"1"!==e.hide_title,remark:e.remark,propertyKey:e.val_key,annotation:e.annotation,...e.decoratorProps||{}}});const r=u(e);return r&&(n["x-validator"]=r),"0"===e.is_null&&(n.required=!0),n},f=e=>{var o;const t=x(e);e.urlConfig?function(e,o){Object.assign(e["x-component-props"],{...n(o,["urlConfig"])})}(t,e):e.autograph&&m(t,e);const i=!!e.__multiple;return Object.assign(t["x-component-props"],{multiple:i,options:e.option||(null==(o=e.componentProps)?void 0:o.options),allowCreate:"1"===e.free_entry||!!t["x-component-props"].allowCreate,maxTagCount:r(e.multi_select_value),...n(e,["lazyRequest","requestCache"])}),i&&(t.type="array"),t},_=e=>{const o=x(e);return Object.assign(o["x-component-props"],{options:e.option,vertical:e.__vertical}),m(o,e),o},h=e=>{const t=x(e);return Object.assign(t["x-component-props"],{fieldItem:o(e,["reactions"])}),t},g=e=>({name:e.val_key,type:"void",title:e.alias||e.name,"x-component":"LINEBAR","x-display":"visible","x-component-props":{disabled:"1"===e.is_not_fold,id:p(e.val_key),show:"0"!==e.is_show,remark:e.remark}}),y=new Map([["LINEBAR",g],["LINE_BREAKS",e=>({name:e.val_key,type:"void",title:e.alias||e.name,"x-component":"LINE_BREAKS","x-display":"0"===e.is_show?"hidden":"visible"})],["INPUT",e=>{const o=x(e);return Object.assign(o["x-component-props"],{...n(e,["prefix","suffix"])}),o}],["INPUT_NUMBER",e=>{const o=x(e),{decimal_length:t,validate:n}=e;return Object.assign(o["x-component-props"],{precision:null!=t?t:null==n?void 0:n.decimal_length,prefix:e.prefix,suffix:e.suffix}),o}],["SELECT",f],["REMOTE_SEARCH",f],["DATE",e=>{const o=x(e);return Object.assign(o["x-component-props"],{valueFormat:e.date_format,type:c(e.date_format),validate:e.validate}),o}],["LEVEL_SEARCH_CASCADER",e=>{const o=x(e);return Object.assign(o["x-component-props"],{...n(e,["wordbook","lazyRequest","autograph"])}),o}],["SEARCH_CASCADER",e=>{var o;const t=x(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=x(e);return o.type="array",!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,getProperties:()=>e.children||[]}),o}],["RADIO",_],["CHECKBOX",_],["SWITCH",e=>{const o=x(e);return Object.assign(o["x-component-props"],{openDescription:e.open,closeDescription:e.close}),o}],["SLIDER",e=>{const o=x(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=x(e);Array.isArray(e.properties)&&i("COMPLEX控件的properties属性已经废弃, 请使用children作为替代, 在之后的版本中properties属性将不再支持");const t=Array.isArray(e.properties||e.children)?O(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"],n(e,["wrapperStyle","display"])),o}]]),b=e=>{if(e.suffixConfig)return v(e);return(y.get(e.html_type)||h)(e)},v=o=>{if(!o.suffixConfig)return b(o);const t=e(o.suffixConfig),n=[{...o,is_show:"1",hide_title:"1",suffixConfig:void 0}].concat(t.map((e=>({...e,hide_title:"1",is_show:"1"})))),r=x(o);return Object.assign(r,{type:"void",name:a(n),title:o.alias||o.name,"x-component":"INPUT_GROUP","x-component-props":{span:2*(o.elem_width||3)},"x-decorator-props":{...r["x-decorator-props"],showFeedback:!1,suffixFields:n.map((e=>e.val_key))},properties:O(n)}),r},{FieldNormalizeWaterfallHook:C}=s();function O(o){let n=null;return o.reduce(((e,o,s)=>{var a;const p=null==(a=(o=C.call(t(o))).validate)?void 0:a.obj_type;return p&&d&&d.collect(p,t(o)),"LINEBAR"===o.html_type?(e[i(o)]=r(g(o),s),n=e[i(o)].properties={}):n?n[i(o)]=r(b(o),s):(n=null,e[i(o)]=r(b(o),s)),e}),{});function r(e,o){return e["x-index"]=o,e}function i(o){return o.suffixConfig?a([o,...e(o.suffixConfig)]):o.val_key}}return{schemaAdaptor:O}}export{d as useFieldListAdaptor};
@@ -1 +1 @@
1
- import{arrayed as t}from"../../../../shared/utils/index.js";import"../../../../shared/utils/tapable/SyncHook.js";import"../../../../shared/utils/tapable/SyncBailHook.js";import e from"../../../../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{FIELD_BUSINESS_TYPE as a}from"../constants/index.js";function l(){const l=new e(["fieldItem"]);l.tap("__block",(t=>(["CHECKBOX_BLOCK","RADIO_BLOCK"].includes(t.html_type)&&(t.__vertical=!0),t))),l.tap("__age",(e=>("AGE"===e.html_type&&(e.html_type="INPUT_NUMBER",e.reactions=e.reactions?t(e.reactions):[],e.reactions.push({target:e.val_key_unit,fulfill:{state:{disabled:"{{$self.disabled}}"}}}),e.suffixConfig=[{validate:{obj_type:a.AGE_UNIT},val_key:e.val_key_unit,html_type:"SELECT",option:e.option,urlConfig:e.urlConfig}]),e)));const o=[[["SEARCH","PHONE_TYPE","IDCARD_TYPE","SEARCH_MORE"],"SELECT"],["DIGITAL","INPUT_NUMBER"],["CHECKBOX_BLOCK","CHECKBOX"],["RADIO_BLOCK","RADIO"],[["DATE-INPUT","DATETIME-INPUT"],"DATE"],["SWITCH_COMPONENT","SWITCH"],["SLIDER_COMPONENT","SLIDER"],["LEVEL_SEARCH_CASCADE","LEVEL_SEARCH_CASCADER"],["SEARCH_CASCADE","SEARCH_CASCADER"]];return l.tap("__normalize",(t=>(o.some((([e,a])=>(Array.isArray(e)?e.includes(t.html_type):e===t.html_type)&&(t.html_type=a))),t))),{FieldNormalizeWaterfallHook:l}}export{l as useFieldNormalize};
1
+ import{arrayed as t}from"../../../../shared/utils/index.js";import"../../../../shared/utils/tapable/SyncHook.js";import"../../../../shared/utils/tapable/SyncBailHook.js";import e from"../../../../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{FIELD_BUSINESS_TYPE as l}from"../constants/index.js";function a(){const a=new e(["fieldItem"]);a.tap("__block",(t=>(["CHECKBOX_BLOCK","RADIO_BLOCK"].includes(t.html_type)&&(t.__vertical=!0),t))),a.tap("__age",(e=>("AGE"===e.html_type&&(e.html_type="INPUT_NUMBER",e.reactions=e.reactions?t(e.reactions):[],e.reactions.push({target:e.val_key_unit,fulfill:{state:{disabled:"{{$self.disabled}}"}}}),e.suffixConfig=[{validate:{obj_type:l.AGE_UNIT},val_key:e.val_key_unit,html_type:"SELECT",option:e.option,urlConfig:e.urlConfig}]),e))),a.tap("__multiple_select",(t=>{const{html_type:e,multi_select:l,__multiple:a}=t;return t.__multiple="SEARCH"!==e&&("SEARCH_MORE"===e||("SELECT"===e?"0"===l:a)),t}));const s=[[["SEARCH","PHONE_TYPE","IDCARD_TYPE","SEARCH_MORE"],"SELECT"],["DIGITAL","INPUT_NUMBER"],["CHECKBOX_BLOCK","CHECKBOX"],["RADIO_BLOCK","RADIO"],[["DATE-INPUT","DATETIME-INPUT"],"DATE"],["SWITCH_COMPONENT","SWITCH"],["SLIDER_COMPONENT","SLIDER"],["LEVEL_SEARCH_CASCADE","LEVEL_SEARCH_CASCADER"],["SEARCH_CASCADE","SEARCH_CASCADER"]];return a.tap("__normalize",(t=>(s.some((([e,l])=>(Array.isArray(e)?e.includes(t.html_type):e===t.html_type)&&(t.html_type=l))),t))),{FieldNormalizeWaterfallHook:a}}export{a as useFieldNormalize};
@@ -17,6 +17,8 @@ export declare type ValidateItem = Partial<{
17
17
  vali_obj: ValidateType;
18
18
  max_value: string | number;
19
19
  min_value: string | number;
20
+ min_date: string;
21
+ max_date: string;
20
22
  min_length: string | number;
21
23
  max_length: string | number;
22
24
  decimal_length: string | number;
@@ -145,6 +147,7 @@ export declare type FieldItem = {
145
147
  option: FormOptionItem[];
146
148
  /**
147
149
  * 是否开启多选('0'表示开启, 值是反的)
150
+ * 仅在html_type为SELECT时生效
148
151
  */
149
152
  multi_select: FormCommonState;
150
153
  /**
@@ -47,6 +47,7 @@ export declare enum EDITABLE_WIDGET_TYPE {
47
47
  INPUT = "INPUT",
48
48
  SEPARATE = "SEPARATE",
49
49
  SELECT = "SELECT",
50
+ SELECT_MORE = "SELECT_MORE",
50
51
  DATE = "DATE",
51
52
  TIME = "TIME",
52
53
  NUMBER = "NUMBER"
@@ -1 +1 @@
1
- import{eventListener2EventName as e}from"../utils/index.js";var o=(e=>(e.DEFAULT="DEFAULT",e.PICTURE="PICTURE",e.FILE="FILE",e.MONEY="MONEY",e.HEADPORTRAIT="HEADPORTRAIT",e.LABEL="LABEL",e.TELEPHONE="TELEPHONE",e.BIRTHDAY="BIRTHDAY",e.MULTISELECT="MULTISELECT",e.CASCADE="CASCADE",e.SEARCH_TREE="SEARCH_TREE",e.COLOR="COLOR",e.EVALUATE="EVALUATE",e.MAP="MAP",e.VIDEO="VIDEO",e.SYSTEMFIELDS="SYSTEMFIELDS",e.PERCENTAGE="PERCENTAGE",e.CANDIDATE_COMPONENTS="CANDIDATE_COMPONENTS",e.TASKDATE="TASKDATE",e.AGE="AGE",e.STATUS="STATUS",e.WEBSITE="WEBSITE",e.IDCARD="IDCARD",e.COUNTDOWN="COUNTDOWN",e.DURATION="DURATION",e.COMBINATION="COMBINATION",e.PASSWORD="PASSWORD",e.QR_CODE="QR_CODE",e.CUSTOMER_NAME="CUSTOMER_NAME",e.BANK_CARD="BANK_CARD",e.SEQUENCE="SEQUENCE",e.VARIABLE_HEIGHT="VARIABLE_HEIGHT",e))(o||{});const n=Object.freeze(["onKeydownStart","onKeydown","onKeydownEnd","onPaste","onCopy","onCut","onCurrentChange","onRadioChange","onCheckboxChange","onCheckboxAll","onCheckboxRangeStart","onCheckboxRangeChange","onCheckboxRangeEnd","onCellClick","onCellDblclick","onCellMenu","onCellMouseenter","onCellMouseleave","onHeaderCellClick","onHeaderCellDblclick","onHeaderCellMenu","onFooterCellClick","onFooterCellDblclick","onFooterCellMenu","onSortChange","onFilterChange","onFilterVisible","onResizableChange","onToggleRowExpand","onToggleTreeExpand","onMenuClick","onEditClosed","onEditActived","onEditDisabled","onValidError","onScroll","onCustom","onOpenFnr","onFnrChange","onFnrFind","onFnrFindAll","onFnrReplace","onFnrReplaceAll","onCellAreaCopy","onCellAreaCut","onCellAreaPaste","onCellAreaMerge","onClearCellAreaMerge","onHeaderCellAreaSelection","onCellAreaSelectionStart","onCellAreaSelectionDrag","onCellAreaSelectionEnd","onCellAreaExtensionStart","onCellAreaExtensionDrag","onCellAreaExtensionEnd","onCellAreaArrowsStart","onCellAreaArrowsEnd","onActiveCellChangeStart","onActiveCellChangeEnd"]),E=n.map(e),l=Object.freeze(["firstRowGroup","secondRowGroup","thirdRowGroup","fourthRowGroup","fifthRowGroup","sixthRowGroup","seventhRowGroup","eighthRowGroup","ninthRowGroup","tenthRowGroup"]),C=-1/0,A=1/0;var T=(e=>(e.INPUT="INPUT",e.SEPARATE="SEPARATE",e.SELECT="SELECT",e.DATE="DATE",e.TIME="TIME",e.NUMBER="NUMBER",e))(T||{}),r=(e=>(e[e.NEGATIVE=0]="NEGATIVE",e[e.POSITIVE=1]="POSITIVE",e))(r||{}),t=(e=>(e.NEGATIVE="0",e.POSITIVE="1",e))(t||{}),a=(e=>(e.NOT_TREE="0",e.UNKNOWN="1",e.TRANSFORM_TREE_TYPE="2",e.TRANSFORM_WITH_SPAN_METHOD="3",e))(a||{}),i=(e=>(e[e.left=1]="left",e[e.right=2]="right",e))(i||{});const I=["formChange","settingClick","formClick","keyboard","rowDrag"],S=[...I,...E],R=Symbol("injectionIhoTableConfig"),D=Symbol("injectionIhoTableFieldList"),O=Symbol("InjectionIhoTableEmits"),N=Symbol("InjectionIhoTableAnnotation"),c=Symbol("InjectionIhoTableUUID"),h=Symbol("InjectionIhoTableInstance"),d=Symbol("InjectionIhoTableHandler"),M=Symbol("InjectionIhoTableEventListener");export{T as EDITABLE_WIDGET_TYPE,C as HIGHEST_PRIORITY,i as IHO_TABLE_FIXED_STATUS,r as IHO_TABLE_NUMBER_STATUS,t as IHO_TABLE_STRING_STATUS,a as IHO_TABLE_TREE_TYPE,I as IhoTableCustomEventNameTuple,S as IhoTableEventNameTuple,l as IhoTableRowGroupSequence,N as InjectionIhoTableAnnotation,R as InjectionIhoTableConfig,O as InjectionIhoTableEmits,M as InjectionIhoTableEventListener,D as InjectionIhoTableFieldList,d as InjectionIhoTableHandler,h as InjectionIhoTableInstance,c as InjectionIhoTableUUID,A as LOWEST_PRIORITY,n as VxeEventListenerNameList,E as VxeTableEventNameList,o as WIDGET_TYPE};
1
+ import{eventListener2EventName as e}from"../utils/index.js";var o=(e=>(e.DEFAULT="DEFAULT",e.PICTURE="PICTURE",e.FILE="FILE",e.MONEY="MONEY",e.HEADPORTRAIT="HEADPORTRAIT",e.LABEL="LABEL",e.TELEPHONE="TELEPHONE",e.BIRTHDAY="BIRTHDAY",e.MULTISELECT="MULTISELECT",e.CASCADE="CASCADE",e.SEARCH_TREE="SEARCH_TREE",e.COLOR="COLOR",e.EVALUATE="EVALUATE",e.MAP="MAP",e.VIDEO="VIDEO",e.SYSTEMFIELDS="SYSTEMFIELDS",e.PERCENTAGE="PERCENTAGE",e.CANDIDATE_COMPONENTS="CANDIDATE_COMPONENTS",e.TASKDATE="TASKDATE",e.AGE="AGE",e.STATUS="STATUS",e.WEBSITE="WEBSITE",e.IDCARD="IDCARD",e.COUNTDOWN="COUNTDOWN",e.DURATION="DURATION",e.COMBINATION="COMBINATION",e.PASSWORD="PASSWORD",e.QR_CODE="QR_CODE",e.CUSTOMER_NAME="CUSTOMER_NAME",e.BANK_CARD="BANK_CARD",e.SEQUENCE="SEQUENCE",e.VARIABLE_HEIGHT="VARIABLE_HEIGHT",e))(o||{});const n=Object.freeze(["onKeydownStart","onKeydown","onKeydownEnd","onPaste","onCopy","onCut","onCurrentChange","onRadioChange","onCheckboxChange","onCheckboxAll","onCheckboxRangeStart","onCheckboxRangeChange","onCheckboxRangeEnd","onCellClick","onCellDblclick","onCellMenu","onCellMouseenter","onCellMouseleave","onHeaderCellClick","onHeaderCellDblclick","onHeaderCellMenu","onFooterCellClick","onFooterCellDblclick","onFooterCellMenu","onSortChange","onFilterChange","onFilterVisible","onResizableChange","onToggleRowExpand","onToggleTreeExpand","onMenuClick","onEditClosed","onEditActived","onEditDisabled","onValidError","onScroll","onCustom","onOpenFnr","onFnrChange","onFnrFind","onFnrFindAll","onFnrReplace","onFnrReplaceAll","onCellAreaCopy","onCellAreaCut","onCellAreaPaste","onCellAreaMerge","onClearCellAreaMerge","onHeaderCellAreaSelection","onCellAreaSelectionStart","onCellAreaSelectionDrag","onCellAreaSelectionEnd","onCellAreaExtensionStart","onCellAreaExtensionDrag","onCellAreaExtensionEnd","onCellAreaArrowsStart","onCellAreaArrowsEnd","onActiveCellChangeStart","onActiveCellChangeEnd"]),E=n.map(e),l=Object.freeze(["firstRowGroup","secondRowGroup","thirdRowGroup","fourthRowGroup","fifthRowGroup","sixthRowGroup","seventhRowGroup","eighthRowGroup","ninthRowGroup","tenthRowGroup"]),C=-1/0,A=1/0;var T=(e=>(e.INPUT="INPUT",e.SEPARATE="SEPARATE",e.SELECT="SELECT",e.SELECT_MORE="SELECT_MORE",e.DATE="DATE",e.TIME="TIME",e.NUMBER="NUMBER",e))(T||{}),r=(e=>(e[e.NEGATIVE=0]="NEGATIVE",e[e.POSITIVE=1]="POSITIVE",e))(r||{}),t=(e=>(e.NEGATIVE="0",e.POSITIVE="1",e))(t||{}),a=(e=>(e.NOT_TREE="0",e.UNKNOWN="1",e.TRANSFORM_TREE_TYPE="2",e.TRANSFORM_WITH_SPAN_METHOD="3",e))(a||{}),S=(e=>(e[e.left=1]="left",e[e.right=2]="right",e))(S||{});const i=["formChange","settingClick","formClick","keyboard","rowDrag"],I=[...i,...E],R=Symbol("injectionIhoTableConfig"),O=Symbol("injectionIhoTableFieldList"),D=Symbol("InjectionIhoTableEmits"),N=Symbol("InjectionIhoTableAnnotation"),c=Symbol("InjectionIhoTableUUID"),h=Symbol("InjectionIhoTableInstance"),M=Symbol("InjectionIhoTableHandler"),d=Symbol("InjectionIhoTableEventListener");export{T as EDITABLE_WIDGET_TYPE,C as HIGHEST_PRIORITY,S as IHO_TABLE_FIXED_STATUS,r as IHO_TABLE_NUMBER_STATUS,t as IHO_TABLE_STRING_STATUS,a as IHO_TABLE_TREE_TYPE,i as IhoTableCustomEventNameTuple,I as IhoTableEventNameTuple,l as IhoTableRowGroupSequence,N as InjectionIhoTableAnnotation,R as InjectionIhoTableConfig,D as InjectionIhoTableEmits,d as InjectionIhoTableEventListener,O as InjectionIhoTableFieldList,M as InjectionIhoTableHandler,h as InjectionIhoTableInstance,c as InjectionIhoTableUUID,A as LOWEST_PRIORITY,n as VxeEventListenerNameList,E as VxeTableEventNameList,o as WIDGET_TYPE};
@@ -1 +1 @@
1
- import{cloneDeep as e,isString as t,isFunction as i,pick as n,isArray as a}from"lodash-es";import{isObject as o}from"@vue/shared";const r=Symbol("remove property");function l(){return{formConfigLikeAdaptor:function(l){const s={};return o(l)?{fieldList:function(l){const p=new Map([["NONE",0],["LEFT",1],["RIGHT",2]]),m=new Map([["0",!0],["1",!1]]),u=new Map([["0",0],["1",1]]),d=new Map([...["RADIO","RADIO_BLOCK","CHECKBOX","CHECKBOX_BLOCK","SELECT","SWITCH_COMPONENT"].map((e=>[e,"select"])),...["DATE"].map((e=>[e,"date"])),...["INPUT"].map((e=>[e,"input"])),...["DIGITAL"].map((e=>[e,"number"]))]),c=(e,t)=>{if(!o(e))return;const i={label:e.describe,...e};t.options=a(t.options)?[...t.options,i]:[i]},f=new Map([["multi_select_value",{property:"multiple",valueMap:m}],["is_null",(e,t,i,n)=>{"1"!==e&&"0"===e&&(n[i.val_key]=[{required:!0,message:"必填"}])}],["validate",(e,t)=>{if(!o(e))return;t.componentProps=Object.assign({},t.comonentProps,Object.entries({maxlength:"max_length",minlength:"min_length",max:"max_value",min:"min_value",precision:"decimal_length"}).reduce(((t,[i,n])=>(t[i]=e[n],t)),{}))}],["dateValidate",(e,t)=>{o(e)&&(t.isDateDisabled=(t,i)=>{if(!o(i))return;const{startDate:n,endDate:a}=e;let r=!1;return n&&(r=new Date(i[n]).getTime()>t),a&&(r=r||new Date(i[a]).getTime()<t),r})}],["date_format","valueFormat"],...["open","close"].map((e=>[e,c])),["is_edit",{property:"isEdit",valueMap:u}],["html_type",(e,i,n)=>{var a;t(e)&&(i.formType="DATE"!==e?null!=(a=d.get(e))?a:e:t(n.date_format)&&n.date_format.startsWith("HH:mm")?"time":"date")}],["option",{property:"options",fieldMap:new Map([["text","label"]])}],["alias",(e,t,i)=>{t.title=`${e}${i.suffix?`(${i.suffix})`:""}`}]]),v=new Map([["sum","isSum"],["show","isShow"],["elementId","columnName"],["columnWidth","colWidth"],["fixedWayEnum",{property:"isFixed",valueMap:p}],["multi_select_value",{property:"multiple",valueMap:m}],["setting",{fieldMap:f,assign:!0}]]);return l.map((e=>_(e,s,v)));function _(l,s,p){if(!p)return e(l);const m={};return Object.entries(l).forEach((([e,n])=>{const a=p.get(e);return a?a!==r?t(a)?m[a]=n:i(a)?a(n,m,l,s):void(o(a)&&(a.assign?Object.assign(m,u(n,a)):m[a.property||e]=u(n,a))):void 0:m[e]=n})),m.componentProps=Object.assign({},m.componentProps,n(m,["options","multiple","isDateDisabled"])),m;function u(e,t){var n,r;return!o(t)||i(t)?e:a(e)?e.map((e=>u(e,t))):o(e)?_(e,s,t.fieldMap):null!=(r=null==(n=t.valueMap)?void 0:n.get(e))?r:e}}}(l.fieldList),editRules:s}:{fieldList:[],editRules:s}}}}export{l as useColumnConfigAdaptor};
1
+ import{cloneDeep as e,isString as t,isFunction as n,pick as o,isArray as i,isNumber as a}from"lodash-es";import{isObject as r}from"@vue/shared";const s=Symbol("remove property");function l(){return{formConfigLikeAdaptor:function(l){const p={};return r(l)?{fieldList:function(l){const m=new Map([["NONE",0],["LEFT",1],["RIGHT",2]]),u=new Map([["0",0],["1",1]]),c=new Map([...["RADIO","RADIO_BLOCK","CHECKBOX","CHECKBOX_BLOCK","SELECT","SEARCH","SEARCH_MORE","SWITCH_COMPONENT"].map((e=>[e,"select"])),...["DATE"].map((e=>[e,"date"])),...["INPUT"].map((e=>[e,"input"])),...["DIGITAL"].map((e=>[e,"number"]))]),d=(e,t)=>{if(!r(e))return;const n={label:e.describe,...e};t.options=i(t.options)?[...t.options,n]:[n]},f=(e,n)=>{0!==e&&"0"!==e&&(t(e)||a(e))&&(n.componentProps={maxTagCount:+e,...n.componentProps})},_=new Map([["multi_select_value",f],["is_null",(e,t,n,o)=>{"1"!==e&&"0"===e&&(o[n.val_key]=[{required:!0,message:"必填"}])}],["validate",(e,t)=>{if(!r(e))return;t.componentProps=Object.assign({},t.comonentProps,Object.entries({maxlength:"max_length",minlength:"min_length",max:"max_value",min:"min_value",precision:"decimal_length"}).reduce(((t,[n,o])=>(t[n]=e[o],t)),{}))}],["dateValidate",(e,t)=>{r(e)&&(t.isDateDisabled=(t,n)=>{if(!r(n))return;const{startDate:o,endDate:i}=e;let a=!1;return o&&(a=new Date(n[o]).getTime()>t),i&&(a=a||new Date(n[i]).getTime()<t),a})}],["date_format","valueFormat"],...["open","close"].map((e=>[e,d])),["is_edit",{property:"isEdit",valueMap:u}],["html_type",(e,n,o)=>{var i;if(!t(e))return;if("DATE"===e)return void(n.formType=t(o.date_format)&&o.date_format.startsWith("HH:mm")?"time":"date");n.formType=null!=(i=c.get(e))?i:e;const a="SEARCH"!==e&&("SEARCH_MORE"===e||("SELECT"===e?"0"===o.multi_select:null));a&&(n.componentProps={multiple:a,...n.componentProps})}],["option",{property:"options",fieldMap:new Map([["text","label"]])}],["alias",(e,t,n)=>{t.title=`${e}${n.suffix?`(${n.suffix})`:""}`}]]),g=new Map([["sum","isSum"],["show","isShow"],["elementId","columnName"],["columnWidth","colWidth"],["fixedWayEnum",{property:"isFixed",valueMap:m}],["multi_select_value",f],["setting",{fieldMap:_,assign:!0}]]);return l.map((e=>E(e,p,g)));function E(a,l,p){if(!p)return e(a);const m={};return Object.entries(a).forEach((([e,o])=>{const i=p.get(e);return i?i!==s?t(i)?m[i]=o:n(i)?i(o,m,a,l):void(r(i)&&(i.assign?Object.assign(m,u(o,i)):m[i.property||e]=u(o,i))):void 0:m[e]=o})),m.componentProps=Object.assign({},m.componentProps,o(m,["options","maxTagCount","isDateDisabled"])),m;function u(e,t){var o,a;return!r(t)||n(t)?e:i(e)?e.map((e=>u(e,t))):r(e)?E(e,l,t.fieldMap):null!=(a=null==(o=t.valueMap)?void 0:o.get(e))?a:e}}}(l.fieldList),editRules:p}:{fieldList:[],editRules:p}}}}export{l as useColumnConfigAdaptor};
@@ -1 +1 @@
1
- import{createVNode as e,nextTick as l}from"vue";import{jsonParse as t,traverse as i,arrayed as r}from"../../../../../shared/utils/index.js";import{isObject as n,isArray as o,first as s,isString as u}from"lodash-es";import"../../../index.js";import{IHO_TABLE_NUMBER_STATUS as a}from"../../constants/index.js";import{IhoTableRenderHelper as d,parseRichContent as f,IhoTableUtils as c}from"../../utils/index.js";import p from"./filter.vue.js";import{defineTablePlugin as v}from"../../hooks/useTablePlugin.js";function h(){const h="filterRenderPlugin";return v({name:h,vxe(l){l.renderer.mixin({filterRenderPlugin:{showFilterFooter:!1,renderFilter:(l,t)=>e(p,{payload:t,key:t.column.field},null)}})},apply(e){let p=[];e.fieldHooks.field.tap(h,((e,l,i,{$table:r})=>{var p,v,h,m,g,b,C,R;const k=null==(p=e.editRender)?void 0:p.props;if(!n(k))return e;const y=t(k.fieldSetting||"");if(!d.hasFilter(y))return e;e.editRender={...e.editRender,props:{...null==(v=e.editRender)?void 0:v.props,sortable:e.sortable}},e.filterRender={name:"filterRenderPlugin"};const x=null==(h=r.value)?void 0:h.getColumnByField(e.field),S={};x&&o(x.filters)&&x.filters.forEach((e=>{e&&(S[`${e.label}_${e.value}`]=e.checked)}));let E=null!=(b=null==(g=null==(m=y.mapping)?void 0:m.mappingFiled)?void 0:g.reduce(((e,l)=>{const t=s(l.value);return n(t)&&e.push({label:t.key,value:t.value,data:t.value,checked:!!S[`${t.key}_${t.value}`]}),e}),[]))?b:[];if(function(e){const l=["SEARCH","SELECT","RADIO","CHECKBOX"];return(e.notParticipatingSearch||"")!==a.POSITIVE&&l.includes(c.getCellType(e))&&o(e.options)&&e.options.length}(k)&&(E=null!=(C=k.options)?C:[]),e.filters=E,!e.filterMethod){const l=null==(R=i.treeConfig)?void 0:R.children;e.filterMethod=function({option:e,column:t,row:i}){if(l&&o(i[l])&&i[l].length)return!1;const r=i[t.field];if(!u(r))return!1;if(r===e.label)return!0;const{value:n,change_text:s}=f(r);return s===e.label||n===e.value}}return e.sortable?e.headerClassName=({$table:e,column:l})=>{const t=["iho-table__hideSortIcon"];return e.isSort(l)&&t.push("is--filter-active"),t}:e.headerClassName="iho-table__hideSortIcon",i.filterConfig={iconMatch:"iho-table--iconfont iho-table-icon-filter",iconNone:"iho-table--iconfont iho-table-icon-filter",...i.filterConfig},e})),e.fieldHooks.fieldList.tap(h,(e=>p=e)),e.fieldHooks.fieldEnd.tapPromise(h,(async(e,{$table:t})=>{var r;try{if(await l(),!t.value)return;const o=null!=(r=t.value.getColumns())?r:[],s=[];if(i(p,(e=>{o.find((l=>l.field===e.field))||s.push(e)})),!s.length)return;setTimeout((()=>{var l,i;if(null==(l=e.sortConfig)?void 0:l.multiple){const e=null!=(i=t.value.getColumns())?i:[],l=s.concat(e).reduce(((e,l)=>{var t;const i=null==(t=l.editRender)?void 0:t.props;return n(i)&&m(i.isOrder)&&e.push({field:l.field,order:i.isOrder}),e}),[]);t.value.sort(l)}else s.reverse().some((e=>{var l;const i=null==(l=e.editRender)?void 0:l.props;if(n(i)&&m(i.isOrder))return e&&t.value.sort(e.field,i.isOrder),!0}))}),100)}finally{p=[]}})),e.exposeHooks.expose.tap(h,((e,l,{$table:t})=>(Object.assign(e,{setSort(e,l){t.value&&t.value.sort(e,l)},setFilter(e,l){if(!t.value)return;const i=t.value.getColumnByField(e);if(!i||!o(i.filters))return;const n=r(l);i.filters.forEach((e=>{e.checked=n.includes(e.value)})),t.value.updateData()}}),e)))}})}function m(e){return["asc","desc",null].includes(e)}export{h as filterRenderPlugin};
1
+ import{createVNode as e,nextTick as l}from"vue";import{jsonParse as r,traverse as t,arrayed as i}from"../../../../../shared/utils/index.js";import{isObject as o}from"@vue/shared";import{isArray as n,first as s,isString as u}from"lodash-es";import"../../../index.js";import{IhoTableRenderHelper as a,isCompatibleColumn as d,parseRichContent as f}from"../../utils/index.js";import c from"./filter.vue.js";import{defineTablePlugin as p}from"../../hooks/useTablePlugin.js";function v(){const v="filterRenderPlugin";return p({name:v,vxe(l){l.renderer.mixin({filterRenderPlugin:{showFilterFooter:!1,renderFilter:(l,r)=>e(c,{payload:r,key:r.column.field},null)}})},apply(e){let c=[];e.fieldHooks.field.tap(v,((e,l,t,{$table:i})=>{var c,p,v,h,m,b,g,k;const C=null==(c=e.editRender)?void 0:c.props;if(!o(C))return e;const R=r(C.fieldSetting||"");if(!a.hasFilter(C))return e;e.editRender={...e.editRender,props:{...null==(p=e.editRender)?void 0:p.props,sortable:e.sortable}},e.filterRender={name:"filterRenderPlugin"};const x=null==(v=i.value)?void 0:v.getColumnByField(e.field),y={};x&&n(x.filters)&&x.filters.forEach((e=>{e&&(y[`${e.label}_${e.value}`]=e.checked)}));let F=null!=(b=null==(m=null==(h=R.mapping)?void 0:h.mappingFiled)?void 0:m.reduce(((e,l)=>{const r=s(l.value);return o(r)&&e.push({label:r.key,value:r.value,data:r.value}),e}),[]))?b:[];if(d(C)&&(F=null!=(g=C.options)?g:[]),e.filters=F.reduce(((e,l)=>(o(l)&&e.push({...l,checked:!!y[`${l.label}_${l.value}`]}),e)),[]),!e.filterMethod){const l=null==(k=t.treeConfig)?void 0:k.children;e.filterMethod=function({option:e,column:r,row:t}){if(l&&n(t[l])&&t[l].length)return!1;const i=t[r.field];if(!u(i))return!1;if(i===e.value||i===e.label)return!0;const{value:o,change_text:s}=f(i);return s===e.label||o===e.value}}return e.sortable?e.headerClassName=({$table:e,column:l})=>{const r=["iho-table__hideSortIcon"];return e.isSort(l)&&r.push("is--filter-active"),r}:e.headerClassName="iho-table__hideSortIcon",t.filterConfig={iconMatch:"iho-table--iconfont iho-table-icon-filter",iconNone:"iho-table--iconfont iho-table-icon-filter",...t.filterConfig},e})),e.fieldHooks.fieldList.tap(v,(e=>c=e)),e.fieldHooks.fieldEnd.tapPromise(v,(async(e,{$table:r})=>{var i;try{if(await l(),!r.value)return;const n=null!=(i=r.value.getColumns())?i:[],s=[];if(t(c,(e=>{n.find((l=>l.field===e.field))||s.push(e)})),!s.length)return;setTimeout((()=>{var l,t;if(null==(l=e.sortConfig)?void 0:l.multiple){const e=null!=(t=r.value.getColumns())?t:[],l=s.concat(e).reduce(((e,l)=>{var r;const t=null==(r=l.editRender)?void 0:r.props;return o(t)&&h(t.isOrder)&&e.push({field:l.field,order:t.isOrder}),e}),[]);r.value.sort(l)}else s.reverse().some((e=>{var l;const t=null==(l=e.editRender)?void 0:l.props;if(o(t)&&h(t.isOrder))return e&&r.value.sort(e.field,t.isOrder),!0}))}),100)}finally{c=[]}})),e.exposeHooks.expose.tap(v,((e,l,{$table:r})=>(Object.assign(e,{setSort(e,l){r.value&&r.value.sort(e,l)},setFilter(e,l){if(!r.value)return;const t=r.value.getColumnByField(e);if(!t||!n(t.filters))return;const o=i(l);t.filters.forEach((e=>{e.checked=o.includes(e.value)})),r.value.updateData()}}),e)))}})}function h(e){return["asc","desc",null].includes(e)}export{v as filterRenderPlugin};
@@ -1 +1 @@
1
- import{toRaw as e,h as t,inject as i,createVNode as l}from"vue";import{arrayed as o,widthAppend as s}from"../../../../../shared/utils/index.js";import{isObject as n,isFunction as d,cloneDeep as a,isString as r}from"lodash-es";import{NEllipsis as u}from"naive-ui";import f from"../../../../annotation-edit/index.js";import{HIGHEST_PRIORITY as m,IHO_TABLE_FIXED_STATUS as c,LOWEST_PRIORITY as p,WIDGET_TYPE as h,InjectionIhoTableAnnotation as v,InjectionIhoTableConfig as b}from"../../constants/index.js";import{defineTablePlugin as g}from"../../hooks/useTablePlugin.js";import{IhoTableStatusHelper as R,IhoTableUtils as j,IhoTableRenderHelper as x}from"../../utils/index.js";import{getDefaultValue as P}from"../rendererPlugins/editableWidgets/selectRendererPlugin/selectUtils.js";function S(){const S="lowCodeFieldAdaptorPlugin";return g({name:S,apply(g){g.fieldHooks.field.tap({name:S,stage:m},((m,p,g)=>{const S=m,F={className:S.bold?"iho-table__boldCell":"",field:S.columnName,showOverflow:"tooltip",visible:R.notNegative(S.isShow),minWidth:S.colWidth,sortable:R.isPositive(S.isSort),fixed:c[S.isFixed],...S,title:S.alias||S.title};return function(e,a){const m={default:a.slotFn,header:a.headerSlotFn,edit:a.editSlotFn,footer:a.footerSlotFn,...a.slots};if(d(a.checkEditStatus)){const{default:e}=m;d(e)&&(m.default=i=>a.checkEditStatus(i)?e(i):[t("span",null,P(i.row,i.column.editRender.props))])}const c=m.header;m.header=e=>function(e,t,a){const m=i(v),c=i(b),p=e.column||{},h=n(null==m?void 0:m.value)&&!1!==t.annotation,g=x.isEditableColumn(c.value,p),R=p.sortable||x.hasFilter(t.fieldSetting),j=r(a)?a:d(a)?a(e):null;let P=!1;if(c.value){const e=c.value.editRules&&c.value.editRules[p.field];e&&(P=o(e).some((e=>e.required)))}return l("section",{class:"iho-table__headerWrapper"},[l("section",{style:{width:s(Math.max(0,p.renderWidth-20-(P?14:0)-(h?18:0)-(R?23:0)-(g?22:0)))}},[null!=j?j:l(u,{style:{maxWidth:"100%"}},{default:()=>p.title})]),h?l(f,{modelValue:m.value[p.field],"onUpdate:modelValue":e=>m.value[p.field]=e},null):null])}(e,a,c),e.slots=m}(F,S),function(t,i,l){var o,s;const r=a(e(i));r.componentProps={size:"mini"===l.size?"small":l.size,...r.componentProps},t.editRender={autofocus:"input",name:j.getCellType(i),props:r},t.editRender.enabled=!Reflect.get(h,t.editRender.name),d(null==(o=t.slots)?void 0:o.default)&&(t.editRender.enabled=t.editRender.enabled&&d(null==(s=t.slots)?void 0:s.edit));if(!n(i.settingObj))return;Reflect.has(i.settingObj,"isHide")&&(t.visible=t.visible&&R.notPositive(i.settingObj.isHide))}(F,S,g),F})),g.fieldHooks.field.tap({name:S+"After",stage:p},(e=>(n(e.slots)&&Object.entries(e.slots).forEach((([t,i])=>{null==i&&Reflect.deleteProperty(e.slots,t)})),e)))}})}export{S as lowCodeFieldAdaptorPlugin};
1
+ import{toRaw as e,h as t,inject as l,createVNode as i}from"vue";import{arrayed as o,widthAppend as s}from"../../../../../shared/utils/index.js";import{isObject as n,isFunction as d,cloneDeep as a,isString as r}from"lodash-es";import{NEllipsis as u}from"naive-ui";import f from"../../../../annotation-edit/index.js";import{HIGHEST_PRIORITY as m,IHO_TABLE_FIXED_STATUS as c,LOWEST_PRIORITY as p,WIDGET_TYPE as h,InjectionIhoTableAnnotation as v,InjectionIhoTableConfig as b}from"../../constants/index.js";import{defineTablePlugin as g}from"../../hooks/useTablePlugin.js";import{IhoTableStatusHelper as R,IhoTableUtils as j,IhoTableRenderHelper as x}from"../../utils/index.js";import{getDefaultValue as P}from"../rendererPlugins/editableWidgets/selectRendererPlugin/selectUtils.js";function F(){const F="lowCodeFieldAdaptorPlugin";return g({name:F,apply(g){g.fieldHooks.field.tap({name:F,stage:m},((m,p,g)=>{const F=m,S={className:F.bold?"iho-table__boldCell":"",field:F.columnName,showOverflow:"tooltip",visible:R.notNegative(F.isShow),minWidth:F.colWidth,sortable:R.isPositive(F.isSort),fixed:c[F.isFixed],...F,title:F.alias||F.title};return function(e,a){const m={default:a.slotFn,header:a.headerSlotFn,edit:a.editSlotFn,footer:a.footerSlotFn,...a.slots};if(d(a.checkEditStatus)){const{default:e}=m;d(e)&&(m.default=l=>a.checkEditStatus(l)?e(l):[t("span",null,P(l.row,l.column.editRender.props))])}const c=m.header;m.header=e=>function(e,t,a){const m=l(v),c=l(b),p=e.column||{},h=n(null==m?void 0:m.value)&&!1!==t.annotation,g=x.isEditableColumn(c.value,p),R=p.sortable||x.hasFilter(t),j=r(a)?a:d(a)?a(e):null;let P=!1;if(c.value){const e=c.value.editRules&&c.value.editRules[p.field];e&&(P=o(e).some((e=>e.required)))}return i("section",{class:"iho-table__headerWrapper"},[i("section",{style:{width:s(Math.max(0,p.renderWidth-20-(P?14:0)-(h?18:0)-(R?23:0)-(g?22:0)))}},[null!=j?j:i(u,{style:{maxWidth:"100%"}},{default:()=>p.title})]),h?i(f,{modelValue:m.value[p.field],"onUpdate:modelValue":e=>m.value[p.field]=e},null):null])}(e,a,c),e.slots=m}(S,F),function(t,l,i){var o,s;const r=a(e(l));r.componentProps={size:"mini"===i.size?"small":i.size,...r.componentProps},t.editRender={autofocus:"input",name:j.getCellType(l),props:r},t.editRender.enabled=!Reflect.get(h,t.editRender.name),d(null==(o=t.slots)?void 0:o.default)&&(t.editRender.enabled=t.editRender.enabled&&d(null==(s=t.slots)?void 0:s.edit));if(!n(l.settingObj))return;Reflect.has(l.settingObj,"isHide")&&(t.visible=t.visible&&R.notPositive(l.settingObj.isHide))}(S,F,g),S})),g.fieldHooks.field.tap({name:F+"After",stage:p},(e=>(n(e.slots)&&Object.entries(e.slots).forEach((([t,l])=>{null==l&&Reflect.deleteProperty(e.slots,t)})),e)))}})}export{F as lowCodeFieldAdaptorPlugin};
@@ -1 +1 @@
1
- import{reactive as e,inject as o,createVNode as t,mergeProps as i,onBeforeUnmount as n}from"vue";import"../../../../../index.js";import{EDITABLE_WIDGET_TYPE as l,InjectionIhoTableUUID as r}from"../../../../constants/index.js";import{createIhoTableClearActivedInterceptor as s,IhoTableRenderHelper as d}from"../../../../utils/index.js";import u from"./editSelect.js";import{getDefaultValue as a}from"./selectUtils.js";import{defineTablePlugin as p}from"../../../../hooks/useTablePlugin.js";function f(){const f="selectRendererPlugin",c=e(new Map),m=e(new Map);return p({name:f,vxe(e){e.interceptor.add("event.clearActived",s(l.SELECT,(e=>e.classList.contains("iho-table__selectMenu")))),e.renderer.add(l.SELECT,{renderCell({props:e},{row:i,column:n}){var l;const s=o(r),d=(null==(l=c.get(s).find((e=>e.field===n.field)))?void 0:l.options)||[],u=a(i,e,d);return[t("span",null,[u])]},renderEdit:d.createRenderEdit((({fieldItem:e,emitFormClick:n,row:l,column:s,$rowIndex:d})=>{var a;const p=o(r),f=(null==(a=c.get(p).find((e=>e.field===s.field)))?void 0:a.options)||[];return[t(u,i({queryOptions:e.queryOptions},e.componentProps,{options:f,column:s,row:l,"row-index":d,value:l[s.field],"onUpdate:value":e=>l[s.field]=e,onClick:n}),null)]}))})},apply(e){e.fieldHooks.fieldList.tap(f,((e,{uuid:o})=>(o&&(m.set(o,e),c.set(o,[])),e))),e.fieldHooks.fieldEnd.tapPromise(f,(async({uuid:e},{$table:o})=>{if(!e)return;const t=m.get(e),i=c.get(e);t.forEach((async o=>{var t;if(o.field&&"select"===o.formType){if(i.findIndex((e=>e.field===o.field))>-1)return;let n=o.options||[];if(o.queryOptions)try{const e={keyword:"",column:o,isFullData:!0};n=await(null==(t=o.queryOptions)?void 0:t.call(o,e))}catch(e){console.log(`获取${o.field}_options错误`)}i.push({field:o.field,options:n}),c.set(e,i)}}))})),e.setupHooks.setup.tap(f,(e=>{n((()=>{e.value.uuid&&(m.delete(e.value.uuid),c.delete(e.value.uuid))}))}))}})}export{f as selectRendererPlugin};
1
+ import{reactive as e,inject as t,createVNode as o,mergeProps as i,onBeforeUnmount as n}from"vue";import"../../../../../index.js";import{EDITABLE_WIDGET_TYPE as l,InjectionIhoTableUUID as r}from"../../../../constants/index.js";import{createIhoTableClearActivedInterceptor as s,IhoTableRenderHelper as d,IhoTableUtils as u}from"../../../../utils/index.js";import p from"./editSelect.js";import{getDefaultValue as a}from"./selectUtils.js";import{defineTablePlugin as c}from"../../../../hooks/useTablePlugin.js";function f(){const f="selectRendererPlugin",m=e(new Map),v=e(new Map);return c({name:f,vxe(e){e.interceptor.add("event.clearActived",s(l.SELECT,(e=>e.classList.contains("iho-table__selectMenu")))),e.renderer.add(l.SELECT,{renderCell({props:e},{row:i,column:n}){const l=t(r),s=m.get(l)[n.field]||[];return[o("span",null,[a(i,e,s)])]},renderEdit:d.createRenderEdit((({fieldItem:e,emitFormClick:n,row:l,column:s,$rowIndex:d})=>{const u=t(r),a=m.get(u)[s.field]||[];return[o(p,i({queryOptions:e.queryOptions,options:a},e.componentProps,{column:s,row:l,"row-index":d,value:l[s.field],"onUpdate:value":e=>l[s.field]=e,onClick:n}),null)]}))})},apply(e){e.fieldHooks.fieldList.tap(f,((e,{uuid:t})=>(t&&(v.set(t,e),m.set(t,{})),e))),e.fieldHooks.fieldEnd.tapPromise(f,(async({uuid:e})=>{if(!e)return;const t=v.get(e),o=m.get(e);t.forEach((async e=>{var t,i;const n=null==(t=e.editRender)?void 0:t.props;if(e.field&&n&&"SELECT"===u.getCellType(n)){if(o[e.field])return;let t=n.options||[];if(n.queryOptions)try{const o={column:e,isFullData:!0};t=await(null==(i=n.queryOptions)?void 0:i.call(n,o))}catch(e){console.log(`获取${n.field}_options错误`)}o[e.field]=t}}))})),e.setupHooks.setup.tap(f,(e=>{n((()=>{e.value.uuid&&(v.delete(e.value.uuid),m.delete(e.value.uuid))}))}))}})}export{f as selectRendererPlugin};
@@ -1,2 +1,3 @@
1
+ import { AnyObject } from '../../../../../../../../es/shared/types';
1
2
  import { LowCodeTableFieldItem } from '../../../../../../../../es/components/iho-table/src/types';
2
- export declare function getDefaultValue(row: any, item: LowCodeTableFieldItem | any, options?: never[]): any;
3
+ export declare function getDefaultValue(row: any, item: LowCodeTableFieldItem | any, options?: AnyObject[]): any;
@@ -67,10 +67,11 @@ export declare namespace IhoTableLowCodeField {
67
67
  [K: string]: unknown;
68
68
  }>;
69
69
  type QueryOptions = (payload: {
70
- keyword: string;
71
- row: AnyObject;
70
+ keyword?: string;
71
+ row?: AnyObject;
72
72
  column: VxeTableDefines.ColumnInfo;
73
- rowIndex: number;
73
+ rowIndex?: number;
74
+ isFullData?: boolean;
74
75
  }) => Promise<AnyObject[]>;
75
76
  }
76
77
  export declare type LowCodeTableFieldItem = {
@@ -89,6 +90,7 @@ export declare type LowCodeTableFieldItem = {
89
90
  formType: string;
90
91
  fieldSetting: string;
91
92
  filterCapacity: number;
93
+ notParticipatingSearch: 0 | 1;
92
94
  componentProps: AnyObject;
93
95
  options: {
94
96
  label?: string;