@jt-home/mfe-components 1.0.0

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 (53) hide show
  1. package/dist/index.cjs +2 -0
  2. package/dist/index.mjs +3029 -0
  3. package/dist/style.css +1 -0
  4. package/dist/types/components/JtButton/index.d.ts +1 -0
  5. package/dist/types/components/JtButton/index.vue.d.ts +21 -0
  6. package/dist/types/components/JtPageHeader/index.d.ts +2 -0
  7. package/dist/types/components/JtPageHeader/index.vue.d.ts +25 -0
  8. package/dist/types/components/JtPageHeader/types.d.ts +31 -0
  9. package/dist/types/components/JtPagination/index.d.ts +2 -0
  10. package/dist/types/components/JtPagination/index.vue.d.ts +22 -0
  11. package/dist/types/components/JtPagination/types.d.ts +16 -0
  12. package/dist/types/components/form/JtFormItems.vue.d.ts +16 -0
  13. package/dist/types/components/form/index.d.ts +4 -0
  14. package/dist/types/components/form/item/JtCascader/index.d.ts +1 -0
  15. package/dist/types/components/form/item/JtCascader/index.vue.d.ts +29 -0
  16. package/dist/types/components/form/item/JtDatePicker/index.d.ts +1 -0
  17. package/dist/types/components/form/item/JtDatePicker/index.vue.d.ts +9 -0
  18. package/dist/types/components/form/item/JtInput/index.d.ts +1 -0
  19. package/dist/types/components/form/item/JtInput/index.vue.d.ts +35 -0
  20. package/dist/types/components/form/item/JtSelect/index.d.ts +2 -0
  21. package/dist/types/components/form/item/JtSelect/index.vue.d.ts +34 -0
  22. package/dist/types/components/form/item/JtSelect/types.d.ts +6 -0
  23. package/dist/types/components/form/item/index.d.ts +5 -0
  24. package/dist/types/components/form/types.d.ts +71 -0
  25. package/dist/types/components/globalInfo/components/GlobalInfoGroup.vue.d.ts +105 -0
  26. package/dist/types/components/globalInfo/components/GlobalInfoProvider.vue.d.ts +22 -0
  27. package/dist/types/components/globalInfo/components/GlobalInfoSectionBlock.vue.d.ts +165 -0
  28. package/dist/types/components/globalInfo/components/GlobalInfoSectionOutlet.vue.d.ts +31 -0
  29. package/dist/types/components/globalInfo/components/GlobalInfoSections.vue.d.ts +59 -0
  30. package/dist/types/components/globalInfo/components/GlobalInfoSlotErrorBoundary.vue.d.ts +36 -0
  31. package/dist/types/components/globalInfo/controller/useGlobalInfoController.d.ts +19 -0
  32. package/dist/types/components/globalInfo/index.d.ts +14 -0
  33. package/dist/types/components/globalInfo/model/adapter.d.ts +9 -0
  34. package/dist/types/components/globalInfo/model/fieldUtils.d.ts +11 -0
  35. package/dist/types/components/globalInfo/model/types.d.ts +558 -0
  36. package/dist/types/components/globalInfo/renderers/GlobalInfoAutoRenderer.vue.d.ts +11 -0
  37. package/dist/types/components/globalInfo/renderers/GlobalInfoDeleteConfirm.vue.d.ts +28 -0
  38. package/dist/types/components/globalInfo/renderers/GlobalInfoFieldControl.vue.d.ts +19 -0
  39. package/dist/types/components/globalInfo/renderers/GlobalInfoFieldValue.vue.d.ts +11 -0
  40. package/dist/types/components/globalInfo/renderers/GlobalInfoFormRenderer.vue.d.ts +34 -0
  41. package/dist/types/components/globalInfo/renderers/GlobalInfoTableRenderer.vue.d.ts +39 -0
  42. package/dist/types/components/index.d.ts +11 -0
  43. package/dist/types/components/table/JtCrudTable.vue.d.ts +288 -0
  44. package/dist/types/components/table/JtFilterBar.vue.d.ts +65 -0
  45. package/dist/types/components/table/JtPagination.vue.d.ts +22 -0
  46. package/dist/types/components/table/JtTable.vue.d.ts +27 -0
  47. package/dist/types/components/table/index.d.ts +5 -0
  48. package/dist/types/components/table/types.d.ts +134 -0
  49. package/dist/types/components/table/useSearchDisabled.d.ts +12 -0
  50. package/dist/types/main.d.ts +3 -0
  51. package/dist/types/utils/componentAttrs.d.ts +14 -0
  52. package/package.json +77 -0
  53. package/readme.md +671 -0
package/dist/index.cjs ADDED
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),z=require("element-plus/es"),le=require("element-plus");var ee=typeof document<"u"?document.currentScript:null;const Pe=2,Tt=3;function Ft(o){return o.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}function Ue(o){if(!o.startsWith("on")||o.length<=Pe)return!1;const t=o.charCodeAt(Pe);return t<97||t>122}function Rt(o){if(o.startsWith("on-"))return o.slice(Tt);const[t,n]=o.slice(Pe).split(":"),a=Ft(t);return n?`${a}:${n}`:a}function Je(o,t=new Set){return Object.fromEntries(Object.entries(o).filter(([n,a])=>!t.has(n)&&Ue(n)&&typeof a=="function").map(([n,a])=>[Rt(n),a]))}function He(o,t=new Set){return Object.fromEntries(Object.entries(o).filter(([n])=>!t.has(n)&&!Ue(n)))}const Mt=e.defineComponent({name:"JtButton",__name:"index",props:{size:{},disabled:{type:Boolean},type:{},icon:{},nativeType:{},loading:{type:Boolean},loadingIcon:{},plain:{type:Boolean},text:{type:Boolean},link:{type:Boolean},bg:{type:Boolean},autofocus:{type:Boolean},round:{type:Boolean},circle:{type:Boolean},dashed:{type:Boolean},color:{},dark:{type:Boolean},autoInsertSpace:{type:Boolean},tag:{}},setup(o){const t=o,n=e.useAttrs(),a=e.computed(()=>{const{icon:i,...g}=t;return{...He(n),...g}}),l=e.computed(()=>Je(n));return(i,g)=>{const f=z.ElIcon,d=z.ElButton;return e.openBlock(),e.createBlock(d,e.mergeProps({class:"jt-button"},a.value,e.toHandlers(l.value)),{default:e.withCtx(()=>[i.$slots.icon?(e.openBlock(),e.createBlock(f,{key:0,class:"jt-button__icon"},{default:e.withCtx(()=>[e.renderSlot(i.$slots,"icon",{},void 0,!0)]),_:3})):t.icon?(e.openBlock(),e.createBlock(f,{key:1,class:"jt-button__icon"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.icon)))]),_:1})):e.createCommentVNode("",!0),e.renderSlot(i.$slots,"default",{},void 0,!0)]),_:3},16)}}}),q=(o,t)=>{const n=o.__vccOpts||o;for(const[a,l]of t)n[a]=l;return n},me=q(Mt,[["__scopeId","data-v-fbcdce34"]]),Lt=e.defineComponent({name:"JtCascader",__name:"index",props:{size:{},placeholder:{default:"请选择"},disabled:{type:Boolean},clearable:{type:Boolean,default:!0},clearIcon:{},filterable:{type:Boolean},filterMethod:{},separator:{},showAllLevels:{type:Boolean},collapseTags:{type:Boolean},maxCollapseTags:{},collapseTagsTooltip:{type:Boolean},maxCollapseTagsTooltipHeight:{},debounce:{},beforeFilter:{},placement:{},fallbackPlacements:{},popperClass:{},popperStyle:{type:[Boolean,null,String,Object,Array]},teleported:{type:Boolean},effect:{},tagType:{},tagEffect:{},validateEvent:{type:Boolean},persistent:{type:Boolean},showCheckedStrategy:{},checkOnClickNode:{type:Boolean},showPrefix:{type:Boolean},fitInputWidth:{type:[Boolean,Number]},modelValue:{},props:{},virtualScroll:{type:Boolean},itemSize:{},height:{},emptyValues:{},valueOnClear:{type:[String,Number,Boolean,Function,null]},options:{default:()=>[]}},emits:le.cascaderEmits,setup(o,{emit:t}){const n=o,a=t,l=e.computed(()=>Object.fromEntries(Object.keys(le.cascaderEmits).map(i=>[i,(...g)=>a(i,...g)])));return(i,g)=>{const f=z.ElCascader;return e.openBlock(),e.createBlock(f,e.mergeProps({class:"jt-cascader"},n,e.toHandlers(l.value)),null,16)}}}),We=q(Lt,[["__scopeId","data-v-9164edeb"]]),zt=e.defineComponent({name:"JtDatePicker",__name:"index",props:{type:{default:"date"},showNow:{type:Boolean},showConfirm:{type:Boolean},showFooter:{type:Boolean},showWeekNumber:{type:Boolean},ariaLabel:{},emptyValues:{},valueOnClear:{},disabledDate:{},cellClassName:{},shortcuts:{},arrowControl:{type:Boolean},tabindex:{},validateEvent:{type:Boolean},unlinkPanels:{type:Boolean},singlePanel:{type:Boolean},placement:{},fallbackPlacements:{},disabledHours:{},disabledMinutes:{},disabledSeconds:{},automaticDropdown:{type:Boolean},id:{},name:{},popperClass:{},popperStyle:{},format:{},valueFormat:{default:"YYYY-MM-DD"},dateFormat:{},timeFormat:{},clearable:{type:Boolean,default:!0},clearIcon:{},editable:{type:Boolean},saveOnBlur:{type:Boolean},prefixIcon:{},size:{},readonly:{type:Boolean},disabled:{type:Boolean},placeholder:{default:"请选择日期"},popperOptions:{},modelValue:{},rangeSeparator:{},startPlaceholder:{},endPlaceholder:{},defaultValue:{},defaultTime:{},isRange:{type:Boolean}},setup(o){const t=o,n=e.computed(()=>({...t,startPlaceholder:t.startPlaceholder??(a(t.type)?"开始日期":void 0),endPlaceholder:t.endPlaceholder??(a(t.type)?"结束日期":void 0)}));function a(l){return l?.includes("range")??!1}return(l,i)=>{const g=z.ElDatePicker;return e.openBlock(),e.createBlock(g,e.mergeProps({class:"jt-date-picker"},n.value,{"onUpdate:modelValue":i[0]||(i[0]=f=>l.$emit("update:modelValue",f))}),null,16)}}}),Ye=q(zt,[["__scopeId","data-v-2aaf2264"]]),Gt=e.defineComponent({name:"JtInput",__name:"index",props:{id:{},size:{},disabled:{type:Boolean},modelValue:{},modelModifiers:{},maxlength:{},minlength:{},type:{},resize:{},autosize:{type:[Object,Boolean]},autocomplete:{},formatter:{},parser:{},placeholder:{default:"请输入"},form:{},readonly:{type:Boolean},clearable:{type:Boolean,default:!0},clearIcon:{},showPassword:{type:Boolean},showWordLimit:{type:Boolean},wordLimitPosition:{},suffixIcon:{},prefixIcon:{},containerRole:{},tabindex:{},validateEvent:{type:Boolean},inputStyle:{type:[Boolean,null,String,Object,Array]},autofocus:{type:Boolean},rows:{},ariaLabel:{},inputmode:{},name:{},countGraphemes:{}},emits:{...le.inputEmits,enter:()=>!0},setup(o,{emit:t}){const n=o,a=t,l=e.computed(()=>Object.fromEntries(Object.keys(le.inputEmits).map(i=>[i,(...g)=>a(i,...g)])));return(i,g)=>{const f=z.ElInput;return e.openBlock(),e.createBlock(f,e.mergeProps({class:"jt-input"},n,e.toHandlers(l.value),{onKeyup:g[0]||(g[0]=e.withKeys(d=>a("enter"),["enter"]))}),null,16)}}}),Be=q(Gt,[["__scopeId","data-v-c4e9cb3f"]]),jt=e.defineComponent({name:"JtSelect",__name:"index",props:{options:{},ariaLabel:{},emptyValues:{},valueOnClear:{},name:{},id:{},modelValue:{},autocomplete:{},automaticDropdown:{type:Boolean},size:{},effect:{},disabled:{type:Boolean},clearable:{type:Boolean,default:!0},filterable:{type:Boolean,default:!0},allowCreate:{type:Boolean},loading:{type:Boolean},popperClass:{},popperStyle:{},popperOptions:{},remote:{type:Boolean},debounce:{},loadingText:{},noMatchText:{},noDataText:{},remoteMethod:{},filterMethod:{},multiple:{type:Boolean},multipleLimit:{},placeholder:{default:"请选择"},defaultFirstOption:{type:Boolean},reserveKeyword:{type:Boolean},valueKey:{},collapseTags:{type:Boolean},collapseTagsTooltip:{type:Boolean},tagTooltip:{},maxCollapseTags:{},teleported:{type:Boolean},persistent:{type:Boolean},clearIcon:{},fitInputWidth:{type:Boolean},suffixIcon:{},tagType:{},tagEffect:{},validateEvent:{type:Boolean},remoteShowSuffix:{type:Boolean},showArrow:{type:Boolean},offset:{},placement:{},fallbackPlacements:{},tabindex:{},appendTo:{},props:{}},emits:le.selectEmits,setup(o,{emit:t}){const n=o,a=e.computed(()=>{const{options:g,...f}=n;return f}),l=t,i=e.computed(()=>Object.fromEntries(Object.keys(le.selectEmits).map(g=>[g,(...f)=>l(g,...f)])));return(g,f)=>{const d=z.ElOption,b=z.ElSelect;return e.openBlock(),e.createBlock(b,e.mergeProps({class:"jt-select"},a.value,e.toHandlers(i.value)),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(g.options??[],_=>(e.openBlock(),e.createBlock(d,e.mergeProps({key:_.value,ref_for:!0},_),null,16))),128))]),_:1},16)}}}),Ze=q(jt,[["__scopeId","data-v-abce8e44"]]),Dt={class:"jt-form-items"},$e=4,xt=e.defineComponent({name:"JTFormItems",__name:"JtFormItems",props:{configs:{},formData:{},span:{}},setup(o){const t=o,n={input:Be,select:Ze,cascader:We,"date-picker":Ye},a={"remote-select":"select",date:"date-picker",daterange:"date-picker","date-range":"date-picker",dateRange:"date-picker"},l=new Set(["prop","label","itemType","span","options","rules","formItemProps","showSlot","show"]),i=Object.keys(n),g=e.computed(()=>t.configs.filter(S=>S.show!==!1)),f=S=>{const{itemType:E}=S;if(!E)return Be;if(typeof E!="string")return E;const u=a[E]??E;return i.includes(u)?n[u]:(console.error(`[JtFormItems] 不支持的 itemType: "${E}",支持的类型: ${i.join(", ")}`),Be)},d=S=>{const E=He(S,l);return S.itemType==="select"||S.itemType==="remote-select"||S.itemType==="cascader"?{...E,options:S.options}:y(S.itemType)?{...E,type:"daterange"}:E},b=S=>Je(S,l),_=S=>({rules:S.rules,...S.formItemProps}),c=(S,E)=>{t.formData[S]=E},p=S=>Math.min(Math.max(Math.trunc(S||1),1),4),v=e.computed(()=>{const E=g.value.reduce((u,k)=>u+p(t.span||k.span),0)%$e;return E===0?{gridColumn:`1 / span ${$e}`}:{gridColumn:`${E+1} / span ${$e-E}`}}),h=S=>({gridColumn:`span ${p(t.span||S.span)}`});function y(S){return S==="daterange"||S==="date-range"||S==="dateRange"}return(S,E)=>{const u=z.ElFormItem;return e.openBlock(),e.createElementBlock("div",Dt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(g.value,k=>(e.openBlock(),e.createBlock(u,e.mergeProps({key:k.prop,class:"jt-form-items__item",style:h(k),label:k.label,prop:k.prop,ref_for:!0},_(k)),{default:e.withCtx(()=>[k.showSlot?e.renderSlot(S.$slots,k.prop,{key:0},void 0,!0):(e.openBlock(),e.createBlock(e.resolveDynamicComponent(f(k)),e.mergeProps({key:1,"model-value":S.formData[k.prop],ref_for:!0},d(k),e.toHandlers(b(k)),{"onUpdate:modelValue":$=>c(k.prop,$)}),null,16,["model-value","onUpdate:modelValue"]))]),_:2},1040,["style","label","prop"]))),128)),S.$slots.actions?(e.openBlock(),e.createBlock(u,{key:0,class:"jt-form-items__actions",style:e.normalizeStyle(v.value)},{default:e.withCtx(()=>[e.renderSlot(S.$slots,"actions",{},void 0,!0)]),_:3},8,["style"])):e.createCommentVNode("",!0)])}}}),Qe=q(xt,[["__scopeId","data-v-20df934b"]]);function Ot(){const o=e.ref(!1);function t(){o.value=!0}function n(){o.value=!1}return{searchDisabled:o,searchLoading:t,searchDone:n}}const At={class:"jt-filter-bar__btns"},qt=["src"],Kt=["src"],Ut=["src"],Jt=e.defineComponent({name:"JtFilterBar",__name:"JtFilterBar",props:{columns:{},option:{default:()=>({})},modelValue:{}},emits:["update:modelValue","search","reset"],setup(o,{expose:t,emit:n}){const a=new URL("data:image/svg+xml,%3csvg%20width='14'%20height='14'%20viewBox='0%200%2014%2014'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20x='0.5'%20y='-0.5'%20width='11'%20height='11'%20rx='5.5'%20transform='matrix(1%200%200%20-1%201%2012)'%20stroke='%23999999'/%3e%3cpath%20d='M10%208.16064L7%205.16064L4%208.16064'%20stroke='%23999999'/%3e%3c/svg%3e",typeof document>"u"?require("url").pathToFileURL(__filename).href:ee&&ee.tagName.toUpperCase()==="SCRIPT"&&ee.src||new URL("index.cjs",document.baseURI).href).href,l=new URL("data:image/svg+xml,%3csvg%20width='14'%20height='14'%20viewBox='0%200%2014%2014'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M2.375%207.00017C2.375%207.27631%202.59886%207.50017%202.875%207.50017C3.15114%207.50017%203.375%207.27631%203.375%207.00017H2.875H2.375ZM2.875%207.00017H3.375C3.375%204.46334%205.41801%202.41406%207.93713%202.41406V1.91406V1.41406C4.86127%201.41406%202.375%203.91551%202.375%207.00017H2.875ZM7.93713%201.91406V2.41406C10.4563%202.41406%2012.4993%204.46334%2012.4993%207.00017H12.9993H13.4993C13.4993%203.91551%2011.013%201.41406%207.93713%201.41406V1.91406ZM12.9993%207.00017H12.4993C12.4993%209.537%2010.4563%2011.5863%207.93713%2011.5863V12.0863V12.5863C11.013%2012.5863%2013.4993%2010.0848%2013.4993%207.00017H12.9993ZM7.93713%2012.0863V11.5863C6.68975%2011.5863%205.55663%2011.0806%204.72892%2010.2635L4.37765%2010.6193L4.02638%2010.9752C5.0317%2011.9676%206.41366%2012.5863%207.93713%2012.5863V12.0863Z'%20fill='%23999999'/%3e%3cpath%20d='M4.75131%206.0102L2.88631%207.88403L1%205.99414'%20stroke='%23999999'%20stroke-miterlimit='10'/%3e%3c/svg%3e",typeof document>"u"?require("url").pathToFileURL(__filename).href:ee&&ee.tagName.toUpperCase()==="SCRIPT"&&ee.src||new URL("index.cjs",document.baseURI).href).href,i=new URL("data:image/svg+xml,%3csvg%20width='14'%20height='14'%20viewBox='0%200%2014%2014'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M6.60938%2012.1099C9.64694%2012.1099%2012.1094%209.64743%2012.1094%206.60986C12.1094%203.5723%209.64694%201.10986%206.60938%201.10986C3.57181%201.10986%201.10938%203.5723%201.10938%206.60986C1.10938%209.64743%203.57181%2012.1099%206.60938%2012.1099Z'%20stroke='white'%20stroke-miterlimit='10'/%3e%3cpath%20d='M12.4993%2012.5002L10.2832%2010.3301'%20stroke='white'%20stroke-miterlimit='10'/%3e%3c/svg%3e",typeof document>"u"?require("url").pathToFileURL(__filename).href:ee&&ee.tagName.toUpperCase()==="SCRIPT"&&ee.src||new URL("index.cjs",document.baseURI).href).href,g=o,f=n,d=e.ref(),b=e.useSlots(),_=e.ref({}),{searchDisabled:c,searchLoading:p,searchDone:v}=Ot(),h=e.computed(()=>g.option),y=e.ref(h.value.searchCollapsed??!1),S=e.computed(()=>g.columns.filter(B=>B.search===!0)),E=e.computed(()=>Math.max(1,h.value.searchSpan??4)),u=e.computed(()=>Math.max(1,h.value.searchCollapsedRows??1)),k=e.computed(()=>Math.max(1,E.value-1)),$=e.computed(()=>Math.max(1,k.value*u.value)),M=e.computed(()=>Ve(h.value.searchLabelWidth??84)),P=e.computed(()=>h.value.searchLabelPosition??"top"),I=e.computed(()=>Se(h.value.searchGutter,14)),N=e.computed(()=>Se(h.value.searchRowGap,14)),w=e.computed(()=>ke(h.value.searchPadding??"18px 4px 0")),F=e.computed(()=>h.value.searchCollapse===!1?!1:de(S.value)>$.value),U=e.computed(()=>{if(!F.value||!y.value)return S.value;let B=0;return S.value.filter(j=>{const x=re(j);return B+x>$.value?!1:(B+=x,!0)})}),Z=e.computed(()=>U.value.filter(B=>!!b[`${B.prop}-search`])),ye=e.computed(()=>U.value.map(B=>Ee(B)));e.watch(()=>h.value.searchCollapsed,B=>{typeof B=="boolean"&&(y.value=B)}),e.watch(()=>g.modelValue,B=>{_.value={...B}},{deep:!0,immediate:!0});function be(B,j){if(c.value)return;const x={..._.value,[B]:j};_.value=x,f("update:modelValue",x)}function Ee(B){const j=B.searchProps??{};return{...j,prop:B.prop,label:B.searchLabel??B.label,span:re(B),itemType:B.searchType??"input",showSlot:!!b[`${B.prop}-search`],options:j.options??B.searchOptions??B.dicData,placeholder:j.placeholder??B.searchPlaceholder,valueFormat:j.valueFormat??B.searchValueFormat,disabled:c.value||j.disabled===!0,formItemProps:{required:B.searchRequired,class:["jt-filter-bar__item",{"is-required":B.searchRequired}]},onEnter:(...x)=>{J(j.onEnter,...x),te()},"onUpdate:modelValue":x=>{J(j["onUpdate:modelValue"],x),be(B.prop,x)}}}function J(B,...j){if(Array.isArray(B)){B.forEach(x=>J(x,...j));return}typeof B=="function"&&B(...j)}function te(){c.value||f("search")}function ue(){c.value||f("reset")}function oe(){y.value=!y.value}function re(B){return Math.min(E.value,Math.max(1,B.searchSpan??1))}function de(B){return B.reduce((j,x)=>j+re(x),0)}function Ve(B){return typeof B=="number"?`${B}px`:B}function Se(B,j){return typeof B=="number"?B:j}function ke(B){return typeof B=="number"?`${B}px`:B}return t({formRef:d,searchDisabled:c,searchLoading:p,searchDone:v}),(B,j)=>{const x=z.ElForm;return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["jt-filter-bar",`is-label-${P.value}`]),style:e.normalizeStyle({"--jt-filter-columns":E.value,"--jt-filter-label-width":M.value,"--jt-filter-column-gap":`${I.value}px`,"--jt-filter-row-gap":`${N.value}px`,"--jt-filter-padding":w.value})},[e.createVNode(x,{ref_key:"formRef",ref:d,class:"jt-filter-bar__form",model:_.value,"label-position":P.value,"label-width":M.value,disabled:e.unref(c),onSubmit:j[0]||(j[0]=e.withModifiers(()=>{},["prevent"]))},{default:e.withCtx(()=>[e.createVNode(e.unref(Qe),{configs:ye.value,"form-data":_.value},e.createSlots({actions:e.withCtx(()=>[e.createElementVNode("div",At,[e.renderSlot(B.$slots,"search-menu",{search:te,reset:ue,disabled:e.unref(c),collapsed:y.value,toggleCollapse:oe},()=>[F.value?(e.openBlock(),e.createBlock(e.unref(me),{key:0,class:"jt-filter-bar__btn-collapse",onClick:oe},{icon:e.withCtx(()=>[e.createElementVNode("img",{class:e.normalizeClass(["jt-filter-bar__icon-arrow",{"is-collapsed":y.value}]),src:e.unref(a),alt:""},null,10,qt)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(y.value?"展 开":"收 起"),1)]),_:1})):e.createCommentVNode("",!0),e.createVNode(e.unref(me),{class:"jt-filter-bar__btn-reset",disabled:e.unref(c),onClick:ue},{icon:e.withCtx(()=>[e.createElementVNode("img",{src:e.unref(l),alt:""},null,8,Kt)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(h.value.resetBtnText??"重 置"),1)]),_:1},8,["disabled"]),e.createVNode(e.unref(me),{class:"jt-filter-bar__btn-query",type:"primary",disabled:e.unref(c),onClick:te},{icon:e.withCtx(()=>[e.createElementVNode("img",{src:e.unref(i),alt:""},null,8,Ut)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(h.value.searchBtnText??"查 询"),1)]),_:1},8,["disabled"])],!0)])]),_:2},[e.renderList(Z.value,se=>({name:se.prop,fn:e.withCtx(()=>[e.renderSlot(B.$slots,`${se.prop}-search`,{value:_.value[se.prop],column:se,setValue:Ie=>be(se.prop,Ie),search:te,reset:ue,disabled:e.unref(c)},void 0,!0)])}))]),1032,["configs","form-data"])]),_:3},8,["model","label-position","label-width","disabled"])],6)}}}),Xe=q(Jt,[["__scopeId","data-v-ea82d792"]]),Ht={key:1},Wt={key:2},Yt={key:3},Zt=e.defineComponent({name:"JtTable",__name:"JtTable",props:{data:{},columns:{},option:{},tableEvents:{}},setup(o,{expose:t}){const n=o,a=e.useSlots(),l=e.ref(),i=e.computed(()=>n.option??{}),g=e.computed(()=>n.columns.filter(c=>!c.hide));function f(c){return!!a[`${c}-header`]}function d(c){return!!a[`${c}-data`]}function b(c){return{width:c.width,minWidth:c.minWidth,align:c.align,fixed:c.fixed,sortable:c.sortable,showOverflowTooltip:c.showOverflowTooltip,...c.columnOptions}}function _(c,p){return c.find(v=>v.value===p)?.label??String(p??"")}return t({tableRef:l}),(c,p)=>{const v=z.ElTableColumn,h=z.ElTable;return e.openBlock(),e.createBlock(h,e.mergeProps({ref_key:"tableRef",ref:l,data:c.data,"row-key":i.value.rowKey??"id",height:i.value.height,"max-height":i.value.maxHeight,"empty-text":i.value.emptyText,class:"jt-table"},i.value.tableProps,e.toHandlers(c.tableEvents)),{default:e.withCtx(()=>[i.value.selection?(e.openBlock(),e.createBlock(v,{key:0,type:"selection",width:"55",align:"center"})):e.createCommentVNode("",!0),i.value.index?(e.openBlock(),e.createBlock(v,{key:1,type:"index",label:i.value.indexLabel??"序号",width:"60",align:"center"},null,8,["label"])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(g.value,y=>(e.openBlock(),e.createBlock(v,e.mergeProps({key:y.prop,prop:y.prop,label:y.label,formatter:!d(y.prop)&&!y.dicData?y.formatter:void 0,ref_for:!0},b(y)),e.createSlots({default:e.withCtx(S=>[d(y.prop)?e.renderSlot(c.$slots,`${y.prop}-data`,e.mergeProps({key:0,ref_for:!0},S),void 0,!0):y.dicData?(e.openBlock(),e.createElementBlock("span",Ht,e.toDisplayString(_(y.dicData,S.row[y.prop])),1)):y.formatter?(e.openBlock(),e.createElementBlock("span",Wt,e.toDisplayString(y.formatter(S.row,S.column,S.row[y.prop],S.$index)),1)):(e.openBlock(),e.createElementBlock("span",Yt,e.toDisplayString(S.row[y.prop]),1))]),_:2},[f(y.prop)?{name:"header",fn:e.withCtx(S=>[e.renderSlot(c.$slots,`${y.prop}-header`,e.mergeProps({ref_for:!0},S),void 0,!0)]),key:"0"}:void 0]),1040,["prop","label","formatter"]))),128)),i.value.menu?(e.openBlock(),e.createBlock(v,{key:2,label:i.value.menuLabel??"操作",width:i.value.menuWidth,"min-width":i.value.menuMinWidth,align:i.value.menuAlign??"center",fixed:i.value.menuFixed},{default:e.withCtx(y=>[e.renderSlot(c.$slots,"menu",e.normalizeProps(e.guardReactiveProps(y)),void 0,!0)]),_:3},8,["label","width","min-width","align","fixed"])):e.createCommentVNode("",!0)]),_:3},16,["data","row-key","height","max-height","empty-text"])}}}),et=q(Zt,[["__scopeId","data-v-4804a967"]]),Qt={class:"jt-pagination"},Xt={class:"jt-pagination__count"},eo=e.defineComponent({name:"JtPagination",__name:"JtPagination",props:{currentPage:{},pageSize:{},total:{},option:{}},emits:["update:currentPage","update:pageSize","current-change","page-change","size-change"],setup(o,{emit:t}){const n=o,a=e.computed(()=>n.option??{}),l=t;function i(g){l("current-change",g),l("page-change",g)}return(g,f)=>{const d=z.ElPagination;return e.openBlock(),e.createElementBlock("div",Qt,[e.createVNode(d,{"current-page":g.currentPage,"page-size":g.pageSize,"page-sizes":a.value.pageSizes??[10,20,50,100],total:g.total,layout:a.value.paginationLayout??"sizes, prev, pager, next, jumper","onUpdate:currentPage":f[0]||(f[0]=b=>g.$emit("update:currentPage",b)),"onUpdate:pageSize":f[1]||(f[1]=b=>g.$emit("update:pageSize",b)),onCurrentChange:i,onSizeChange:f[2]||(f[2]=b=>g.$emit("size-change",b))},null,8,["current-page","page-size","page-sizes","total","layout"]),e.createElementVNode("span",Xt,"共"+e.toDisplayString(g.total)+"条记录",1)])}}}),to=q(eo,[["__scopeId","data-v-19ef6db6"]]),oo={class:"jt-crud-table"},no={key:1,class:"jt-crud-table__toolbar"},ao=e.defineComponent({name:"JtCrudTable",__name:"JtCrudTable",props:e.mergeModels({columns:{},option:{default:()=>({})},data:{},total:{default:0},tableEvents:{}},{currentPage:{default:1},currentPageModifiers:{},pageSize:{default:20},pageSizeModifiers:{},searchModel:{default:()=>({})},searchModelModifiers:{}}),emits:e.mergeModels(["search","reset","page-change","size-change"],["update:currentPage","update:pageSize","update:searchModel"]),setup(o,{expose:t,emit:n}){const a=o,l=n,i=e.useModel(o,"currentPage"),g=e.useModel(o,"pageSize"),f=e.useModel(o,"searchModel"),d=e.useSlots(),b=e.ref(),_=e.ref(),c=e.computed(()=>a.option),p=e.computed(()=>c.value.searchShow!==!1),v=e.computed(()=>c.value.paginationShow!==!1),h=e.computed(()=>a.columns.filter(P=>P.search&&!!d[`${P.prop}-search`])),y=e.computed(()=>a.columns.filter(P=>!P.hide&&!!d[`${P.prop}-header`])),S=e.computed(()=>a.columns.filter(P=>!P.hide&&!!d[`${P.prop}-data`]));function E(){const P={};return a.columns.forEach(I=>{I.search&&(P[I.prop]=void 0)}),P}function u(){l("search",{...f.value})}function k(){f.value=E(),l("reset")}function $(){_.value?.searchLoading()}function M(){_.value?.searchDone()}return t({tableRef:e.computed(()=>b.value?.tableRef),filterBarRef:_,searchLoading:$,searchDone:M}),(P,I)=>{const N=e.resolveDirective("loading");return e.openBlock(),e.createElementBlock("div",oo,[e.renderSlot(P.$slots,"header",{},void 0,!0),p.value?(e.openBlock(),e.createBlock(Xe,{key:0,ref_key:"filterBarRef",ref:_,modelValue:f.value,"onUpdate:modelValue":I[0]||(I[0]=w=>f.value=w),columns:P.columns,option:c.value,onSearch:u,onReset:k},e.createSlots({_:2},[e.renderList(h.value,w=>({name:`${w.prop}-search`,fn:e.withCtx(F=>[e.renderSlot(P.$slots,`${w.prop}-search`,e.normalizeProps(e.guardReactiveProps(F)),void 0,!0)])}))]),1032,["modelValue","columns","option"])):e.createCommentVNode("",!0),e.unref(d).toolbar?(e.openBlock(),e.createElementBlock("div",no,[e.renderSlot(P.$slots,"toolbar",{},void 0,!0)])):e.createCommentVNode("",!0),e.withDirectives((e.openBlock(),e.createBlock(et,{ref_key:"jtTableRef",ref:b,data:P.data,columns:P.columns,option:c.value,"table-events":P.tableEvents},e.createSlots({_:2},[e.renderList(y.value,w=>({name:`${w.prop}-header`,fn:e.withCtx(F=>[e.renderSlot(P.$slots,`${w.prop}-header`,e.normalizeProps(e.guardReactiveProps(F)),void 0,!0)])})),e.renderList(S.value,w=>({name:`${w.prop}-data`,fn:e.withCtx(F=>[e.renderSlot(P.$slots,`${w.prop}-data`,e.normalizeProps(e.guardReactiveProps(F)),void 0,!0)])})),c.value.menu?{name:"menu",fn:e.withCtx(w=>[e.renderSlot(P.$slots,"menu",e.normalizeProps(e.guardReactiveProps(w)),void 0,!0)]),key:"0"}:void 0]),1032,["data","columns","option","table-events"])),[[N,c.value.loading]]),v.value?(e.openBlock(),e.createBlock(to,{key:2,"current-page":i.value,"onUpdate:currentPage":I[1]||(I[1]=w=>i.value=w),"page-size":g.value,"onUpdate:pageSize":I[2]||(I[2]=w=>g.value=w),total:P.total,option:c.value,onPageChange:I[3]||(I[3]=w=>P.$emit("page-change",w)),onSizeChange:I[4]||(I[4]=w=>P.$emit("size-change",w))},null,8,["current-page","page-size","total","option"])):e.createCommentVNode("",!0)])}}}),lo=q(ao,[["__scopeId","data-v-6df082c6"]]),ro={class:"jt-pagination"},so={key:0,class:"jt-pagination__count"},io=e.defineComponent({name:"JtPagination",inheritAttrs:!1,__name:"index",props:e.mergeModels({defaultPageSize:{},total:{default:0},pageCount:{},pagerCount:{},defaultCurrentPage:{},layout:{default:"prev, pager, next, jumper"},pageSizes:{default:()=>[10,20,50,100]},popperClass:{},popperStyle:{},prevText:{},prevIcon:{},nextText:{},nextIcon:{},teleported:{type:Boolean},small:{type:Boolean},size:{},background:{type:Boolean},disabled:{type:Boolean},hideOnSinglePage:{type:Boolean,default:!1},appendSizeTo:{}},{currentPage:{default:1},currentPageModifiers:{},pageSize:{default:20},pageSizeModifiers:{}}),emits:e.mergeModels(le.paginationEmits,["update:currentPage","update:pageSize"]),setup(o,{emit:t}){const n=e.useModel(o,"currentPage"),a=e.useModel(o,"pageSize"),l=o,i=e.useAttrs(),g=t,f=e.computed(()=>({...i,...l})),d=e.computed(()=>Object.fromEntries(Object.keys(le.paginationEmits).filter(_=>!_.startsWith("update:")).map(_=>[_,(...c)=>g(_,...c)]))),b=e.computed(()=>!(l.hideOnSinglePage&&l.total<=a.value));return(_,c)=>{const p=z.ElPagination;return e.openBlock(),e.createElementBlock("div",ro,[e.createVNode(p,e.mergeProps({"current-page":n.value,"onUpdate:currentPage":c[0]||(c[0]=v=>n.value=v),"page-size":a.value,"onUpdate:pageSize":c[1]||(c[1]=v=>a.value=v)},f.value,e.toHandlers(d.value)),null,16,["current-page","page-size"]),b.value?(e.openBlock(),e.createElementBlock("span",so,"共"+e.toDisplayString(_.total)+"条记录",1)):e.createCommentVNode("",!0)])}}}),co=q(io,[["__scopeId","data-v-72da666d"]]),uo={class:"jt-page-header__title"},po={key:0},fo={key:0,class:"jt-page-header__operates"},mo=e.defineComponent({name:"JtPageHeader",__name:"index",props:{type:{default:"section"},title:{},operates:{default:()=>[]}},emits:["operate-click"],setup(o,{emit:t}){const n=o,a=t,l=e.useSlots(),i=e.computed(()=>n.operates.length>0||!!l.operates);function g(f,d){f.onClick?.(f,d),a("operate-click",f,d)}return(f,d)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps({class:["jt-page-header",`jt-page-header--${f.type}`]},f.$attrs),[e.createElementVNode("div",uo,[e.renderSlot(f.$slots,"title",{},()=>[f.title?(e.openBlock(),e.createElementBlock("span",po,e.toDisplayString(f.title),1)):e.createCommentVNode("",!0)],!0)]),i.value?(e.openBlock(),e.createElementBlock("div",fo,[e.renderSlot(f.$slots,"operates",{operates:f.operates},()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.operates,b=>(e.openBlock(),e.createBlock(e.unref(me),e.mergeProps({key:b.key??b.label,ref_for:!0},b.buttonProps,{type:b.type,disabled:b.disabled,loading:b.loading,plain:b.plain,text:b.text,link:b.link,icon:b.icon,onClick:_=>g(b,_)}),{default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(b.label),1)]),_:2},1040,["type","disabled","loading","plain","text","link","icon","onClick"]))),128))],!0)])):e.createCommentVNode("",!0)],16))}}),vo=q(mo,[["__scopeId","data-v-2f59fb4a"]]);function tt(o=null){return{scheme:null,node:null,topNodes:[],treeNodes:[],activeNode:null,activeSection:null,sections:[],sectionMap:{},raw:o}}function Ne(o){const t=ct(o),n=it(t),a=_o(t).flatMap(l=>st(l,n));return{...tt(o),scheme:n,topNodes:a,treeNodes:a}}function Re(o,t,n){return o.map(a=>a.key===t||a.tagId===t||a.id===t?{...a,children:n,loaded:!0}:{...a,children:Re(a.children,t,n)})}function ot(o,t={},n=null){const a=ct(o),l=it(a,t),i=ho(a,t,n),g=Object.fromEntries(i.map(f=>[f.key,f]));return{scheme:l,node:n,topNodes:[],treeNodes:[],activeNode:n,activeSection:i[0]??null,sections:i,sectionMap:g,raw:o}}function nt(o){return o.multRow||o.htmlDisplay==="T"?"table":"form"}function at(o,t={}){return{...t,infSchmId:t.infSchmId??D(o.raw.infSchmId),emplid:t.emplid??D(o.raw.emplid),tagId:t.tagId??o.requestTagId??o.tagId,infSetId:t.infSetId??o.infSetId,setId:t.setId??o.setId,infSetFields:o.renderType==="table"?o.rows.map(Te):[Te(o.model)],section:o}}function go(o){const t=o;return!!(t&&typeof t=="object"&&typeof t.key=="string"&&typeof t.tagId=="string")}function lt(o){const t=ut(o);return(Array.isArray(t)?t:ge(A(t),["options","list","records","data"])).map(a=>{const l=A(a);return{id:l.id,code:l.code,label:T(l.label??l.name??l.descr??l.text??l.value??l.code),name:D(l.name),value:l.value??l.code??l.id??l.label??l.name,raw:a}})}function ho(o,t,n){const a=ge(o,["sections","sets","list"]);return a.length>0?a.map(l=>je(l,t,n,a.length===1)):o.infSetMark||o.infSetFields||o.fields?[je(o,t,n,!0)]:[]}function je(o,t,n,a){const l=A(o),i=yo(l.infSetMark??l),g=bo(l.infSetFields??l.fields??[]),f=ko(l.infSetValues??l.rows??l.data,g),d=f[0]?Te(f[0]):rt(g),b=A(l.tag),_=T(l.tagId??l.infTagId??b.tagId),c=T(t.tagId??n?.tagId),p=T(n?.key),v=a?t.infSetId??n?.infSetId:void 0,h=a?t.setId:void 0,y=a?n?.code:void 0,S=i.setId||T(l.setId),E=T(l.infSetId)||S||T(v),u=S||T(h??E),k=i.code||T(l.code??y??u),$=u||k||E||_,M={key:$,id:$,setId:u,code:k,tagId:_,requestTagId:c||void 0,ownerNodeKey:p||void 0,infSetId:E,title:i.name||T(l.name??n?.tagName??$),renderType:nt(i),mark:i,fields:g,model:d,rows:f,operationInfo:Ce(t.operationInfo??l.operationInfo),raw:l};return M.renderType==="form"&&f.length===0&&(M.rows=[{...d,__rowKey:`${$}-0`}]),M}function yo(o){const t=A(o),n=T(t.htmlDisplay||"F");return{name:T(t.name??t.title),parentName:D(t.parentName),value:D(t.value),type:D(t.type),code:T(t.code),setId:T(t.setId??t.id??t.key),htmlDisplay:n,multRow:Y(t.multRow),isRequired:Y(t.isRequired),raw:t}}function bo(o){return(Array.isArray(o)?o:[]).map((n,a)=>So(n,a))}function So(o,t){const n=A(o),a=T(n.code??n.fieldCode??n.prop??n.key??`field_${t}`),l=T(n.label??n.name??n.tagName??a);return{id:T(n.id??n.key??n.prop??a),key:T(n.key??n.prop??a),code:a,label:l,value:n.value??n.defaultValue??"",type:Eo(n),fieldType:D(n.fieldType),renderType:Co(n),required:Y(n.required??n.isRequired),readonly:Y(n.readonly??n.disabled),visible:n.visible===void 0?Y(n.visibled??!0):Y(n.visible),htmlDisplay:Y(n.htmlDisplay),multRow:Y(n.multRow),isRequired:Y(n.isRequired),disabled:n.disabled===void 0?void 0:Y(n.disabled),span:ft(n.span??n.colSpan),width:xe(n.width),minWidth:xe(n.minWidth),placeholder:D(n.placeholder),options:lt(n.options),interface:dt(n.interface),cascadeClearFields:De(n.cascadeClearFields),cascadeDependFields:De(n.cascadeDependFields),props:Fe(n.props),formItemProps:Fe(n.formItemProps),raw:n}}function ko(o,t){if(Array.isArray(o)&&o.some(l=>{const i=A(l);return t.some(g=>i[g.code]!==void 0||i[g.key]!==void 0)}))return o.map((l,i)=>({...A(l),__rowKey:T(A(l).__rowKey??A(l).key??i)}));const n=rt(t);return Object.keys(n).length?[{...n,__rowKey:"0"}]:[]}function rt(o){return o.reduce((t,n)=>(t[n.code||n.key]=n.value,t),{})}function st(o,t,n=""){const a=A(o),l=ge(a,["children","list","tags"]).flatMap(g=>st(g,t,T(a.tagId??a.id??a.key))),i=Bo(a.infSetList);return l.length===0&&i.length>0?i.map((g,f)=>wo(a,g,t,n,f)):[Io(a,t,n,l)]}function Io(o,t,n,a){const l=T(o.tagId??o.id??o.key),i=T(o.tagName??o.name??o.label??l);return{key:T(o.key??l),id:l,tagId:l,tagName:i,label:i,tagLevel:D(o.tagLevel??o.level)??null,level:pt(o.tagLevel??o.level),parentTagId:D(o.parentTagId??o.parentId??n),parentId:D(o.parentTagId??o.parentId??n)??null,infSchmId:D(o.infSchmId??t?.infSchmId),schemeId:T(o.infSchmId??t?.infSchmId),infSetId:D(o.infSetId??o.setId),setId:D(o.setId),code:D(o.code),children:a,infSetList:[],operationInfo:Ce(o.operationInfo),loaded:a.length>0,raw:o}}function wo(o,t,n,a,l){const i=T(o.tagId??o.id??o.key),g=T(o.tagName??o.name??o.label??i),f=t.infSetId||T(t.setId),d=t.setId||f,b=f||`${i}-${l}`;return{key:b,id:b,tagId:i,tagName:g,label:g,tagLevel:D(o.tagLevel??o.level)??null,level:pt(o.tagLevel??o.level),parentTagId:D(o.parentTagId??o.parentId??a),parentId:D(o.parentTagId??o.parentId??a)??null,infSchmId:D(o.infSchmId??n?.infSchmId),schemeId:T(o.infSchmId??n?.infSchmId),infSetId:f,setId:d,code:D(o.code??f),children:[],infSetList:[t],operationInfo:Ce(o.operationInfo),loaded:!0,raw:{...o,infSetId:f,setId:d,infSetList:[t.raw]}}}function it(o,t={}){const n=A(o.globalInfoSchmMark??o.scheme??o),a=T(n.infSchmId??t.infSchmId),l=T(n.emplid??t.emplid);return!a&&!l&&Object.keys(n).length===0?null:{infSchmId:a,emplid:l,id:a,mark:T(n.globalInfoSchmMark??o.globalInfoSchmMark),config:Array.isArray(o.globalInfoSchmConfig)?"":T(n.globalInfoSchmConfig??o.globalInfoSchmConfig),raw:n}}function _o(o){if(Array.isArray(o.globalInfoSchmConfig))return o.globalInfoSchmConfig;const t=A(o.globalInfoSchmConfig),n=ge(t,["children","tree","list","tags"]);return n.length?n:ge(o,["children","tree","list","tags","records"])}function Bo(o){return Array.isArray(o)?o.map(t=>{const n=A(t);return{infSetId:T(n.infSetId??n.setId??n.id),setId:D(n.setId),operationInfo:Ce(n.operationInfo),raw:n}}):[]}function ct(o){return A(ut(o))}function ut(o){const t=A(o);return t.data??t.result??o}function ge(o,t){for(const n of t){const a=o[n];if(Array.isArray(a))return a}return[]}function Te(o){const t={...o};return delete t.__rowKey,delete t.fields,t}function dt(o){const t=A(o);if(!(!t.method&&!t.url&&!t.params))return{...t,method:D(t.method),url:D(t.url),params:Fe(t.params)}}function Ce(o){const t=A(o);if(Object.keys(t).length!==0)return Object.fromEntries(Object.entries(t).map(([n,a])=>[n,dt(a)??a]))}function De(o){if(!Array.isArray(o))return;const t=o.map(n=>T(n)).filter(Boolean);return t.length?t:void 0}function Co(o){if(Y(o.htmlDisplay))return"html";if(Y(o.multRow))return"multi-row";const t=T(o.renderType).toLowerCase();return t==="code"||t==="empty"?t:"text"}function Eo(o){const t=T(o.fieldType??o.type??o.renderType).toLowerCase();return t.includes("date")?"date":t.includes("select")||t.includes("enum")?"select":t.includes("number")||t.includes("int")?"number":t.includes("bool")||t.includes("switch")?"switch":t.includes("file")||t.includes("upload")||t.includes("attachment")?"file":t.includes("textarea")||t.includes("text_area")?"textarea":"text"}function Fe(o){const t=A(o);return Object.keys(t).length?t:void 0}function xe(o){return typeof o=="string"||typeof o=="number"?o:void 0}function A(o){return o&&typeof o=="object"&&!Array.isArray(o)?o:{}}function T(o){return o==null?"":String(o).trim()}function D(o){return T(o)||void 0}function pt(o){const t=ft(o);return t===void 0?null:t}function ft(o){if(o==null||o==="")return;const t=Number(o);return Number.isFinite(t)?t:void 0}function Y(o){return typeof o=="string"?["true","1","y","yes","t","是"].includes(o.toLowerCase()):!!o}const ae=o=>o.key||o.code,W=o=>o.key||o.setId,ie=o=>new Error(`[GlobalInfo] ${o}`),ce=o=>o&&typeof o=="object"&&!Array.isArray(o)?o:{},_e=o=>{const t=ce(o);return!!(t.url||t.method||t.params)},Vo=o=>String(o??"").trim(),he=o=>Array.from(new Set(o.map(Vo).filter(Boolean))),ve=o=>he([o?.key,o?.id,o?.setId,o?.infSetId,o?.tagId,o?.code,...(o?.infSetList??[]).map(t=>t.infSetId),...(o?.infSetList??[]).map(t=>t.setId)]),$o=o=>he([o.key,o.id,o.setId,o.infSetId,o.tagId,o.code]),pe=(o={})=>({loading:!1,saving:!1,error:null,loaded:!1,editing:!1,...o}),fe=o=>!!(o&&typeof o=="object"&&"children"in o),mt=(o,t,n)=>{const a=$o(o),l=he([n,...ve(t)]);return l.length===0?!1:l.some(i=>a.includes(i))},Po=(o,t,n)=>he([n,...ve(t)]).length===0?o:o.filter(l=>mt(l,t,n)),vt=o=>{const t=e.ref(!1),n=e.ref(!1),a=e.ref(!1),l=e.shallowRef(null),i=e.shallowRef([]),g=e.shallowRef(null),f=e.shallowRef(null),d=e.shallowRef(null),b=e.shallowRef({}),_=e.shallowRef({}),c=e.ref([]),p=e.shallowRef({}),v=e.ref([]),h=e.computed(()=>{const s=c.value.map(m=>b.value[m]).filter(m=>!!m),r=Object.entries(b.value).filter(([m])=>!c.value.includes(m)).map(([,m])=>m);return[...s,...r]}),y=e.computed(()=>({loading:t.value,detailLoading:n.value,saving:a.value,editingSectionKeys:v.value,sectionMap:b.value,sectionStatusMap:Object.fromEntries(Object.entries(p.value).map(([s,r])=>[s,{...r,editing:v.value.includes(_.value[s]??s)}])),error:l.value})),S=()=>({adaptScene:o.adaptScene,emplid:o.emplid}),E=s=>({...S(),infSchmId:s.infSchmId,tagId:s.tagId,tagLevel:s.tagLevel,parentTagId:s.parentTagId}),u=(s=f.value,r=d.value)=>({...S(),infSchmId:s?.infSchmId,tagId:s?.tagId,infSetId:r?.infSetId??s?.infSetId,setId:r?.setId??s?.setId}),k=async(s,r)=>{if(!o.service.requestOperation)throw ie("service.requestOperation is required for operationInfo");return o.service.requestOperation(s,r)},$=(s,r={},m)=>{const C=ce(s.params),V=m?.cascadeDependFields??[];let L=0;return Object.fromEntries(Object.entries(C).map(([R,G])=>{if(G!=="")return[R,G];if(r[R]!==void 0)return[R,r[R]];const O=V[L];return L+=1,[R,O?r[O]??"":G]}))},M=s=>{const m=ce(s.operationInfo).openTag;return _e(m)?m:void 0},P=(s,r,m)=>{const C=ce(s?.operationInfo).queryInfoSet;if(_e(C))return C;const V=r?.infSetList.find(R=>R.infSetId===m),L=ce(V?.operationInfo).queryInfoSet;return _e(L)?L:void 0},I=s=>{const r=ce(s.operationInfo).editInfoSet;return _e(r)?r:void 0},N=(s,r)=>{if(!r)return s[0]??null;for(const m of s){if(ve(m).includes(r))return m;const C=N(m.children,r);if(C)return C}return null},w=(s=d.value)=>{if(s)return typeof s=="string"?s:fe(s)?Z(s):W(s)},F=(s=d.value)=>{const r=w(s);if(!r)return null;const m=_.value[r]??r;return b.value[m]??null},U=(s=d.value)=>{const r=w(s);if(r)return _.value[r]??r},Z=(s=d.value)=>{if(s)return typeof s=="string"?s:fe(s)?s.setId??s.infSetId??s.key:W(s)},ye=(s=d.value)=>{if(fe(s))return s;if(typeof s=="string"){const r=N(i.value,s);if(r)return r;const m=F(s);return m?.ownerNodeKey?N(i.value,m.ownerNodeKey)??f.value:m||f.value&&ve(f.value).includes(s)?f.value:null}return s?.ownerNodeKey?N(i.value,s.ownerNodeKey)??f.value:f.value},be=(s=d.value)=>!s||fe(s)?null:F(s),Ee=(s=d.value)=>{const r=Z(s);if(!r)return pe();const m=_.value[r]??r;return pe({...p.value[r],...p.value[m],editing:v.value.includes(m)})},J=(s,r)=>{const m=Z(s);m&&(p.value={...p.value,[m]:pe({...p.value[m],...r,editing:v.value.includes(m)})})},te=(s=g.value?.raw??null,r=f.value)=>{const m=h.value,C=d.value&&m.find(V=>W(V)===W(d.value))?d.value:null;g.value={scheme:g.value?.scheme??null,node:r,topNodes:i.value,treeNodes:i.value,activeNode:r,activeSection:C,sections:m,sectionMap:b.value,raw:s},d.value=C},ue=(s,r=f.value,m)=>{const C={...b.value},V={..._.value},L=[...c.value],R={...p.value},G=Po(s.sections,r,m),O=he([m,...ve(r)]).length>0,K=G.find(ne=>mt(ne,r,m))??(O?null:s.activeSection??G[0]??d.value??null);return G.forEach(ne=>{const X=W(ne);C[X]=ne,L.includes(X)||L.push(X),R[X]=pe({...R[X],loaded:!0,loading:!1,error:null,editing:v.value.includes(X)})}),m&&K?V[m]=W(K):m&&(V[m]=""),m&&(R[m]=pe({...R[m],loaded:!0,loading:!1,error:null,editing:!!(K&&v.value.includes(W(K)))})),b.value=C,_.value=V,c.value=L,p.value=R,g.value={...s,scheme:s.scheme??g.value?.scheme??null,topNodes:i.value,treeNodes:i.value,activeNode:r,activeSection:K,sections:G,sectionMap:b.value},d.value=K,K},oe=(s,r)=>{const m=U(s),C=m?b.value[m]:null;if(!m||!C)return;const V=r(C);b.value={...b.value,[m]:V},d.value=W(d.value??V)===m?V:d.value,te()},re=async(s=d.value??f.value)=>{const r=be(s),m=ye(s)??f.value,C=Z(s);if(!m)return null;if(!o.service.requestOperation)throw ie("service.requestOperation is required");n.value=!0,l.value=null,J(C??m,{loading:!0,error:null});try{const V=r?[{infSetId:r.infSetId,setId:r.setId,operationInfo:r.operationInfo,raw:r.raw}]:m.infSetList;if(V.length===0)throw ie("node.infSetList is required");const L=await Promise.all(V.map(async G=>{const O=P(r,m,G.infSetId),K={...u(m,r),infSetId:G.infSetId,setId:G.setId,operationInfo:G.operationInfo};if(O){const ne=await k(O,{type:"queryInfoSet",node:m,section:r,params:K});return ot(ne,K,m)}throw ie("infoSet.operationInfo.queryInfoSet is required")})),R={...L[0],sections:L.flatMap(G=>G.sections),sectionMap:Object.fromEntries(L.flatMap(G=>G.sections).map(G=>[G.key,G]))};return ue(R,m,C)}catch(V){throw l.value=V,J(C??m,{loading:!1,error:V}),V}finally{n.value=!1,J(C??m,{loading:!1})}},de=(s=d.value)=>re(s),Ve=(s=d.value)=>{if(!s)return null;if(!fe(s)&&typeof s!="string")return F(s);const r=Z(s);return r?b.value[_.value[r]??r]??null:null},Se=async(s=f.value)=>s?(await re(s),g.value):(g.value=null,d.value=null,b.value={},_.value={},c.value=[],p.value={},null),ke=async s=>{const r=M(s);if(!r)return s.children;const m=E(s),C=await k(r,{type:"openTag",node:s,params:m});return Ne(C).treeNodes},B=async s=>{if(s.loaded)return s.children;const r=await ke(s);return r.length>0&&(i.value=Re(i.value,s.key,r)),r},j=async s=>{const r=typeof s=="string"?N(i.value,s):s;return r?(f.value=r,d.value=null,v.value=[],await B(r),te(g.value?.raw,r),r):null},x=async()=>{const s=o.service.templateTree;if(!s)throw ie("service.templateTree is required");t.value=!0,l.value=null;try{const r=await s(S()),m=Ne(r),C=await Promise.all(m.treeNodes.map(async L=>{const R=await ke(L);return{...L,children:R,loaded:R.length>0||L.loaded}}));i.value=C,d.value=null,b.value={},_.value={},c.value=[],p.value={},v.value=[];const V=N(C,o.initialActiveNodeKey)??N(C);return f.value=V,g.value={...m,treeNodes:C,activeNode:V,sectionMap:b.value,sections:h.value},i.value}catch(r){throw l.value=r,r}finally{t.value=!1}},se=async()=>{const s=w();await de(d.value??f.value);const r=h.value.find(m=>W(m)===s);return r&&(d.value=r),te(),g.value},Ie=(s=d.value)=>{const r=U(s);return!!(r&&v.value.includes(r))},Et=(s=d.value)=>{const r=U(s);!r||Ie(r)||(v.value=[...v.value,r],J(r,{editing:!0}))},Ge=(s=d.value)=>{const r=U(s);r&&(v.value=v.value.filter(m=>m!==r),J(r,{editing:!1}))},Vt=(s,r,m)=>{const C=typeof r=="string"?r:ae(r);oe(s,V=>{const R=(typeof r=="string"?V.fields.find(O=>ae(O)===C||O.code===C):r)?.cascadeClearFields??[],G={...V.model,[C]:m};return R.forEach(O=>{G[O]=""}),{...V,model:G,rows:V.renderType==="form"?[{...V.rows[0],...G}]:V.rows,fields:V.fields.map(O=>{const K=ae(O);return K===C||O.code===C?{...O,value:m}:R.includes(K)||R.includes(O.code)?{...O,value:""}:O})}})},$t=async(s,r,m={})=>{const C=F(s);if(!C)return[];const V=Object.keys(m).length>0?m:C.model,L=typeof r=="string"?r:ae(r),R=typeof r=="string"?C.fields.find(Q=>ae(Q)===L||Q.code===L):r,G=R?.interface;if(!R||!G)return R?.options??[];if((R.cascadeDependFields??[]).some(Q=>{const H=V[Q];return H==null||H===""}))return oe(C,Q=>({...Q,fields:Q.fields.map(H=>ae(H)===L||H.code===L?{...H,options:[]}:H)})),[];const K=$(G,V,R),ne=await k({...G,params:K},{type:"fieldOptions",node:ye(C),section:C,field:R,params:K}),X=lt(ne);return oe(C,Q=>({...Q,fields:Q.fields.map(H=>ae(H)===L||H.code===L?{...H,options:X}:H)})),X},Pt=(s,r)=>{if(Array.isArray(r)){we(s,r);return}oe(s,m=>({...m,model:r,rows:m.renderType==="form"?[{...m.rows[0],...r}]:m.rows,fields:m.fields.map(C=>({...C,value:r[ae(C)]}))}))},we=(s,r)=>{oe(s,m=>({...m,rows:r,data:r}))},Nt={loadTree:x,selectNode:j,loadDetail:Se,reloadActiveSection:se,loadSection:re,reloadSection:de,getSection:Ve,getSectionStatus:Ee,startEdit:Et,cancelEdit:Ge,updateField:Vt,loadFieldOptions:$t,updateModel:Pt,updateTableRows:we,saveRow:(s,r={},m=-1)=>{const V=[...F(s)?.rows??[]];V.splice(m>=0?m:V.length,m>=0?1:0,r),we(s,V)},deleteRow:(s,r)=>{const m=F(s),C=typeof r=="string"?Number(r):r,V=(m?.rows??[]).filter((L,R)=>R!==C);we(s,V)},saveSection:async(s=d.value)=>{const r=w(s),m=F(s);if(!m)return null;const C=I(m);if(!C)throw ie("section.operationInfo.editInfoSet is required");a.value=!0,l.value=null,r&&r!==W(m)&&J(r,{saving:!0,error:null}),J(m,{saving:!0,error:null});try{const V=u(f.value,m),L=at(m,V),R=await k({...C,params:{...$(C,m.model),...L}},{type:"editInfoSet",node:f.value,section:m,params:L});return Ge(m),await de(m),R}catch(V){throw l.value=V,r&&r!==W(m)&&J(r,{saving:!1,error:V}),J(m,{saving:!1,error:V}),V}finally{a.value=!1,r&&r!==W(m)&&J(r,{saving:!1}),J(m,{saving:!1})}},isEditing:Ie};return e.watch(()=>o.emplid,()=>{(o.autoLoad??!0)&&x()}),e.onMounted(()=>{(o.autoLoad??!0)&&x()}),{viewModel:g,nodes:i,sections:h,sectionMap:b,sectionStatusMap:p,activeNode:f,activeSection:d,state:y,actions:Nt}},No=e.defineComponent({name:"GlobalInfoProvider",__name:"GlobalInfoProvider",props:{service:{},adaptScene:{},emplid:{},autoLoad:{type:Boolean,default:!0},initialActiveNodeKey:{}},setup(o){const n=vt(o),{viewModel:a,nodes:l,sections:i,activeNode:g,activeSection:f,state:d,actions:b}=n;return(_,c)=>e.renderSlot(_.$slots,"default",e.normalizeProps(e.guardReactiveProps({viewModel:e.unref(a),nodes:e.unref(l),sections:e.unref(i),activeNode:e.unref(g),activeSection:e.unref(f),state:e.unref(d),actions:e.unref(b)})))}});function To(o){return Oe(o.type||o.fieldType)||Oe(o.renderType)||"text"}function gt(o){return Ae(o.type||o.fieldType)||Ae(o.renderType)||"text"}function Me(o){return o==null||o===""||Array.isArray(o)&&o.length===0}function ht(o){if(o instanceof Error)return!0;if(!o||typeof o!="object")return!1;const t=o;return typeof t.message=="string"&&(typeof t.stack=="string"||t.name==="Error")}function yt(o,t,n="-"){const a=gt(o);return a==="empty"||Me(t)?n:ht(t)?(console.error("[globalInfo] field value render failed",t),n):a==="select"?Fo(o,t,n):a==="switch"?bt(t)?"是":"否":a==="file"?Ro(t,n):a==="multi-row"?Mo(t):String(t)}function bt(o){if(typeof o=="boolean")return o;if(typeof o=="number")return o!==0;const t=String(o??"").trim().toLowerCase();return["true","1","y","yes","t","是"].includes(t)}function Oe(o){const t=String(o??"").toLowerCase();return t==="upload"||t==="attachment"?"file":t==="text"||t==="textarea"||t==="select"||t==="date"||t==="number"||t==="switch"||t==="file"||t==="html"||t==="code"||t==="multi-row"||t==="empty"?t:""}function Ae(o){const t=String(o??"").toLowerCase();return t==="upload"||t==="attachment"?"file":t==="select"||t==="switch"||t==="file"||t==="html"||t==="code"||t==="multi-row"||t==="empty"?t:t==="textarea"||t==="date"||t==="number"||t==="text"?"text":""}function Fo(o,t,n){if(Array.isArray(t)){const a=t.map(l=>qe(o,l)||String(l??"").trim()).filter(Boolean);return a.length>0?a.join("、"):n}return qe(o,t)||String(t)}function qe(o,t){return o.options?.find(a=>a.value===t||String(a.value)===String(t))?.label??""}function Ro(o,t){if(Array.isArray(o)){const n=o.map(a=>Ke(a)).filter(Boolean);return n.length>0?n.join("、"):t}return Ke(o)||t}function Ke(o){if(typeof File<"u"&&o instanceof File)return o.name;if(o&&typeof o=="object"){const t=o;return String(t.name??t.fileName??t.filename??t.url??"").trim()}return String(o??"").trim()}function Mo(o){return Array.isArray(o)?o.map(t=>ht(t)?(console.error("[globalInfo] multi-row field item render failed",t),""):t&&typeof t=="object"?JSON.stringify(t):String(t)).filter(Boolean).join(`
2
+ `):String(o)}const Lo=["disabled","accept","multiple"],zo={key:0,class:"global-info-field-control__file-text"},Go={key:1,class:"global-info-field-control__file-upload"},jo=e.defineComponent({name:"GlobalInfoFieldControl",__name:"GlobalInfoFieldControl",props:{field:{},modelValue:{},disabled:{type:Boolean,default:!1}},emits:["update:modelValue","change","loadOptions"],setup(o,{emit:t}){const n=o,a=t,l=["textarea","html","code","multi-row"],i=e.computed(()=>To(n.field)),g=e.computed(()=>n.disabled||n.field.disabled||n.field.readonly),f=e.computed(()=>n.modelValue===void 0||n.modelValue===null?"":String(n.modelValue)),d=e.computed(()=>{if(n.modelValue===void 0||n.modelValue===null||n.modelValue==="")return;const u=typeof n.modelValue=="number"?n.modelValue:Number(n.modelValue);return Number.isFinite(u)?u:void 0}),b=e.computed(()=>{const u=n.field.props?.activeValue??n.field.props?.["active-value"],k=n.field.props?.inactiveValue??n.field.props?.["inactive-value"];return u!==void 0||k!==void 0?n.modelValue??k??!1:bt(n.modelValue)}),_=e.computed(()=>i.value==="code"?5:3),c=e.computed(()=>i.value==="file"&&!Me(n.modelValue)),p=e.computed(()=>yt(n.field,n.modelValue,"请选择文件")),v=e.computed(()=>n.field.placeholder?n.field.placeholder:i.value==="select"?"请选择":i.value==="date"?"请选择日期":i.value==="file"?"请选择文件":"请输入");function h(u){a("update:modelValue",u)}function y(u){a("change",u)}function S(u){u&&a("loadOptions")}function E(u){const k=u.target,$=Array.from(k.files??[]),M=n.field.props?.multiple?$:$[0]??null;h(M),y(M)}return(u,k)=>{const $=z.ElOption,M=z.ElSelect,P=z.ElDatePicker,I=z.ElInputNumber,N=z.ElSwitch,w=z.ElInput;return i.value==="select"?(e.openBlock(),e.createBlock(M,e.mergeProps({key:0,class:"global-info-field-control"},u.field.props,{"model-value":u.modelValue,placeholder:v.value,disabled:g.value,clearable:"",onVisibleChange:S,"onUpdate:modelValue":h,onChange:y}),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.field.options||[],F=>(e.openBlock(),e.createBlock($,{key:String(F.value),label:F.label,value:F.value},null,8,["label","value"]))),128))]),_:1},16,["model-value","placeholder","disabled"])):i.value==="date"?(e.openBlock(),e.createBlock(P,e.mergeProps({key:1,class:"global-info-field-control"},u.field.props,{"model-value":u.modelValue,placeholder:v.value,disabled:g.value,type:"date","value-format":"YYYY-MM-DD","onUpdate:modelValue":h,onChange:y}),null,16,["model-value","placeholder","disabled"])):i.value==="number"?(e.openBlock(),e.createBlock(I,e.mergeProps({key:2,class:"global-info-field-control"},u.field.props,{"model-value":d.value,placeholder:v.value,disabled:g.value,"controls-position":"right","onUpdate:modelValue":h,onChange:y}),null,16,["model-value","placeholder","disabled"])):i.value==="switch"?(e.openBlock(),e.createBlock(N,e.mergeProps({key:3,class:"global-info-field-control global-info-field-control--switch"},u.field.props,{"model-value":b.value,disabled:g.value,"onUpdate:modelValue":h,onChange:y}),null,16,["model-value","disabled"])):i.value==="file"?(e.openBlock(),e.createElementBlock("label",{key:4,class:e.normalizeClass(["global-info-field-control global-info-field-control--file",{"is-disabled":g.value,"is-empty":!c.value,"is-filled":c.value}])},[e.createElementVNode("input",{class:"global-info-field-control__file-input",type:"file",disabled:g.value,accept:String(u.field.props?.accept??""),multiple:!!u.field.props?.multiple,onChange:E},null,40,Lo),c.value?(e.openBlock(),e.createElementBlock("span",zo,e.toDisplayString(p.value),1)):(e.openBlock(),e.createElementBlock("span",Go,"上 传"))],2)):i.value==="empty"?(e.openBlock(),e.createBlock(w,{key:5,class:"global-info-field-control","model-value":"",disabled:"",placeholder:"-"})):(e.openBlock(),e.createBlock(w,e.mergeProps({key:6,class:["global-info-field-control",{"global-info-field-control--code":i.value==="code"}]},u.field.props,{"model-value":f.value,placeholder:v.value,disabled:g.value,type:l.includes(i.value)?"textarea":"text",rows:l.includes(i.value)?_.value:void 0,"onUpdate:modelValue":h,onChange:y}),null,16,["class","model-value","placeholder","disabled","type","rows"]))}}}),Le=q(jo,[["__scopeId","data-v-ba86a0ae"]]),Do=["innerHTML"],xo={key:1,class:"global-info-field-value global-info-field-value--code"},Oo=e.defineComponent({name:"GlobalInfoFieldValue",__name:"GlobalInfoFieldValue",props:{field:{},value:{},emptyText:{default:"-"}},setup(o){const t=o,n=e.computed(()=>gt(t.field)),a=e.computed(()=>n.value==="empty"||Me(t.value)),l=e.computed(()=>yt(t.field,t.value,t.emptyText));return(i,g)=>n.value==="html"&&!a.value?(e.openBlock(),e.createElementBlock("span",{key:0,class:"global-info-field-value global-info-field-value--html",innerHTML:l.value},null,8,Do)):n.value==="code"&&!a.value?(e.openBlock(),e.createElementBlock("pre",xo,e.toDisplayString(l.value),1)):(e.openBlock(),e.createElementBlock("span",{key:2,class:e.normalizeClass(["global-info-field-value",{"global-info-field-value--multi-row":n.value==="multi-row","global-info-field-value--file":n.value==="file"&&!a.value}])},e.toDisplayString(l.value),3))}}),ze=q(Oo,[["__scopeId","data-v-aa0d493d"]]),Ao={class:"global-info-form-renderer__label"},qo={key:0,class:"global-info-form-renderer__required"},Ko=e.defineComponent({name:"GlobalInfoFormRenderer",__name:"GlobalInfoFormRenderer",props:{section:{},node:{},editing:{type:Boolean},state:{},actions:{},model:{},onUpdateModel:{type:Function}},setup(o){const t=o,n=e.useSlots(),a=e.computed(()=>t.section.fields.filter(p=>p.visible)),l=e.computed(()=>t.model??t.section.model);function i(p,v){const h={...l.value,[p.code]:v};(p.cascadeClearFields??[]).forEach(y=>{h[y]=""}),t.onUpdateModel?.(h),t.onUpdateModel||t.actions.updateField(t.section,p,v)}async function g(p){try{await t.actions.loadFieldOptions(t.section,p,l.value)}catch(v){console.error("[GlobalInfoFormRenderer] load field options failed",v)}}function f(p){const v=l.value[p.code];return{field:p,section:t.section,sectionView:t.section,node:t.node,editing:t.editing,modelValue:v,value:v,state:t.state,actions:t.actions,updateModelValue:h=>i(p,h)}}function d(p){const v=String(p.id||p.key||p.code||"").trim(),h=v?`field-${v}`:"";if(h&&n[h])return h;const y=h.toLowerCase();return y!==h&&n[y]?y:""}function b(p){return p.span?Math.min(Math.max(p.span,1),24):6}function _(p){return p.key||p.id||p.code}function c(p){return p.required||p.isRequired}return(p,v)=>{const h=z.ElFormItem,y=z.ElCol,S=z.ElRow,E=z.ElForm;return e.openBlock(),e.createBlock(E,{class:"global-info-form-renderer",model:l.value,"label-position":"top"},{default:e.withCtx(()=>[e.createVNode(S,{gutter:24},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.value,u=>(e.openBlock(),e.createBlock(y,{key:_(u),span:b(u)},{default:e.withCtx(()=>[e.createVNode(h,e.mergeProps({prop:u.code,ref_for:!0},u.formItemProps),{label:e.withCtx(()=>[e.createElementVNode("span",Ao,[c(u)?(e.openBlock(),e.createElementBlock("span",qo,"*")):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(u.label),1)])]),default:e.withCtx(()=>[d(u)?e.renderSlot(p.$slots,d(u),e.mergeProps({key:0,ref_for:!0},f(u)),void 0,!0):p.editing&&!u.readonly?(e.openBlock(),e.createBlock(Le,{key:1,field:u,"model-value":l.value[u.code],section:p.section,onLoadOptions:()=>g(u),"onUpdate:modelValue":k=>i(u,k)},null,8,["field","model-value","section","onLoadOptions","onUpdate:modelValue"])):(e.openBlock(),e.createBlock(ze,{key:2,field:u,value:l.value[u.code],section:p.section},null,8,["field","value","section"]))]),_:2},1040,["prop"])]),_:2},1032,["span"]))),128))]),_:3})]),_:3},8,["model"])}}}),St=q(Ko,[["__scopeId","data-v-9dcd2ba9"]]),kt=e.defineComponent({name:"GlobalInfoDeleteConfirm",__name:"GlobalInfoDeleteConfirm",props:{title:{default:"确认删除吗?"},confirmText:{default:"确认"},cancelText:{default:"取消"}},emits:["confirm","cancel"],setup(o){return(t,n)=>{const a=z.ElPopconfirm;return e.openBlock(),e.createBlock(a,{title:t.title,"confirm-button-text":t.confirmText,"cancel-button-text":t.cancelText,width:"240","popper-class":"global-info-delete-confirm",onConfirm:n[0]||(n[0]=l=>t.$emit("confirm")),onCancel:n[1]||(n[1]=l=>t.$emit("cancel"))},{reference:e.withCtx(()=>[e.renderSlot(t.$slots,"default")]),_:3},8,["title","confirm-button-text","cancel-button-text"])}}}),Uo={class:"global-info-table-renderer"},Jo={class:"global-info-table-renderer__table-scroll"},Ho={class:"global-info-table-renderer__header"},Wo={key:0,class:"global-info-table-renderer__required"},Yo=e.defineComponent({name:"GlobalInfoTableRenderer",__name:"GlobalInfoTableRenderer",props:{section:{},node:{},editing:{type:Boolean},state:{},actions:{},showAdd:{type:Boolean,default:!0},showDelete:{type:Boolean,default:!0}},setup(o){const t=o,n=e.useSlots(),a=e.computed(()=>t.section.fields.filter(u=>u.visible));function l(u){t.actions.deleteRow(t.section,u)}function i(u,k,$,M){const P=t.section.rows.slice(),I=$.cascadeClearFields??[],N={...u,__rowKey:S(u),[$.code]:M};I.forEach(w=>{N[w]=""}),P[k]={...N},t.actions.updateTableRows(t.section,P)}async function g(u,k){try{await t.actions.loadFieldOptions(t.section,u,k)}catch($){console.error("[GlobalInfoTableRenderer] load field options failed",$)}}function f(u,k,$){const M=k[u.code];return{field:u,section:t.section,sectionView:t.section,node:t.node,row:k,rowIndex:$,editing:t.editing,modelValue:M,value:M,state:t.state,actions:t.actions,updateModelValue:P=>i(k,$,u,P)}}function d(u){const k=String(u.id||u.key||u.code||"").trim(),$=k?`field-${k}`:"";if($&&n[$])return $;const M=$.toLowerCase();return M!==$&&n[M]?M:""}function b(u){return!u.readonly&&!u.disabled}function _(u){return u.width??(v(u)?56:void 0)}function c(u){if(!u.width)return u.minWidth??(v(u)?56:void 0)}function p(u){return u.key||u.id||u.code}function v(u){return[u.label,u.name,u.code,u.key,u.id].map($=>String($??"").trim().toLowerCase()).some($=>["序号","index","idx","seq","serial","order","rownum","row_no"].includes($))}let h=0;const y=new WeakMap;function S(u){const k=u.__rowKey??u.key??u.id??u.setId??u.infSetId;if(k!=null&&k!=="")return String(k);const $=u,M=y.get($);if(M)return M;h+=1;const P=`local-${h}`;return y.set($,P),P}function E(u){return u.required||u.isRequired}return(u,k)=>{const $=z.ElTableColumn,M=e.resolveComponent("Delete"),P=z.ElIcon,I=z.ElButton,N=z.ElTable;return e.openBlock(),e.createElementBlock("div",Uo,[e.createElementVNode("div",Jo,[e.createVNode(N,{class:"global-info-table-renderer__table",data:u.section.rows,"row-key":S},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.value,w=>(e.openBlock(),e.createBlock($,{key:p(w),prop:w.code,label:w.label,width:_(w),"min-width":c(w)},{header:e.withCtx(()=>[e.createElementVNode("span",Ho,[E(w)?(e.openBlock(),e.createElementBlock("span",Wo,"*")):e.createCommentVNode("",!0),e.createElementVNode("span",null,e.toDisplayString(w.label),1)])]),default:e.withCtx(({row:F,$index:U})=>[d(w)?e.renderSlot(u.$slots,d(w),e.mergeProps({key:0,ref_for:!0},f(w,F,U)),void 0,!0):u.editing&&b(w)?(e.openBlock(),e.createBlock(Le,{key:1,field:w,"model-value":F[w.code],section:u.section,row:F,"row-index":U,onLoadOptions:()=>g(w,F),"onUpdate:modelValue":Z=>i(F,U,w,Z)},null,8,["field","model-value","section","row","row-index","onLoadOptions","onUpdate:modelValue"])):(e.openBlock(),e.createBlock(ze,{key:2,field:w,value:F[w.code],section:u.section,row:F,"row-index":U},null,8,["field","value","section","row","row-index"]))]),_:2},1032,["prop","label","width","min-width"]))),128)),u.editing?(e.openBlock(),e.createBlock($,{key:0,label:"操作",width:"104",fixed:"right"},{default:e.withCtx(({$index:w})=>[u.showDelete?(e.openBlock(),e.createBlock(kt,{key:0,onConfirm:F=>l(w)},{default:e.withCtx(()=>[e.createVNode(I,{class:"global-info-table-renderer__delete",link:"",type:"danger"},{default:e.withCtx(()=>[e.createVNode(P,{class:"global-info-table-renderer__delete-icon"},{default:e.withCtx(()=>[e.createVNode(M)]),_:1}),k[0]||(k[0]=e.createTextVNode(" 删除 "))]),_:1})]),_:2},1032,["onConfirm"])):e.createCommentVNode("",!0)]),_:1})):e.createCommentVNode("",!0)]),_:3},8,["data"])])])}}}),It=q(Yo,[["__scopeId","data-v-2fa29438"]]),wt=e.defineComponent({name:"GlobalInfoAutoRenderer",__name:"GlobalInfoAutoRenderer",props:{section:{},node:{},editing:{type:Boolean},state:{},actions:{}},setup(o){return(t,n)=>t.section.renderType==="table"?(e.openBlock(),e.createBlock(It,{key:0,section:t.section,node:t.node,editing:t.editing,state:t.state,actions:t.actions},null,8,["section","node","editing","state","actions"])):(e.openBlock(),e.createBlock(St,{key:1,section:t.section,node:t.node,editing:t.editing,state:t.state,actions:t.actions},null,8,["section","node","editing","state","actions"]))}}),_t=e.defineComponent({name:"GlobalInfoSectionOutlet",__name:"GlobalInfoSectionOutlet",props:{section:{},node:{},editing:{type:Boolean},state:{},actions:{}},setup(o){const t=o,n=e.useSlots(),a=e.computed(()=>t.editing??t.actions.isEditing(t.section)),l=e.computed(()=>t.section.renderType==="table"?t.section.rows.length===0:t.section.fields.length===0),i=e.computed(()=>{const d=g(t.section.id||t.section.key),b=f(t.section.renderType);return[d,b,"default"].find(_=>!!(_&&n[_]))??""});function g(d){const b=String(d??"").trim();return b?`section-${b}`:""}function f(d){return d==="form"||d==="table"?d:""}return(d,b)=>i.value?e.renderSlot(d.$slots,i.value,{key:0,section:d.section,sectionView:d.section,node:d.node,editing:a.value,isEmpty:l.value,empty:l.value,fields:d.section.fields,state:d.state,actions:d.actions}):(e.openBlock(),e.createBlock(wt,{key:1,section:d.section,node:d.node,editing:a.value,state:d.state,actions:d.actions},null,8,["section","node","editing","state","actions"]))}}),Zo=e.defineComponent({name:"GlobalInfoSlotErrorBoundary",props:{boundaryKey:{type:[String,Number],default:""},label:{type:String,default:""}},emits:{error:o=>!0},setup(o,{emit:t,slots:n}){const a=e.ref(!1);e.watch(()=>o.boundaryKey,()=>{a.value=!1}),e.onErrorCaptured(i=>(l(i),!1));function l(i){a.value=!0,console.error(`[GlobalInfoSlotErrorBoundary] ${o.label||"section"} slot render failed`,i),t("error",i)}return()=>{if(a.value)return n.fallback?.()??null;try{return n.default?.()??null}catch(i){return l(i),n.fallback?.()??null}}}}),Qo={class:"global-info-section-block"},Xo={key:0,class:"global-info-section-block__header"},en={class:"global-info-section-block__title-wrap"},tn={class:"global-info-section-block__title"},on={key:0,class:"global-info-section-block__actions"},nn={class:"global-info-section-block__body"},an=e.defineComponent({name:"GlobalInfoSectionBlock",__name:"GlobalInfoSectionBlock",props:{node:{},state:{},actions:{},hideHeader:{type:Boolean},onEdit:{type:Function},onCancel:{type:Function},onSave:{type:Function}},setup(o){const t=o,n=e.useSlots(),a=e.ref(!1),l=e.ref(null),i=e.ref(null),g=e.computed(()=>!!t.hideHeader),f=e.computed(()=>t.actions.getSectionStatus(t.node)),d=e.computed(()=>t.actions.getSection(t.node)??i.value),b=e.computed(()=>d.value?.title||t.node.tagName||t.node.label||"-"),_=e.computed(()=>!!(d.value&&t.actions.isEditing(d.value))),c=e.computed(()=>d.value?.renderType==="table"),p=e.computed(()=>a.value||f.value.loading),v=e.computed(()=>S(l.value||f.value.error)),h=e.computed(()=>{const I=d.value;return I?I.renderType==="table"?I.rows.length===0:I.fields.length===0:!0}),y=e.computed(()=>({node:t.node,section:d.value,sectionView:d.value,fields:d.value?.fields??[],title:b.value,editing:_.value,loading:p.value,error:l.value||f.value.error,errorMessage:v.value,isEmpty:h.value,empty:h.value,sectionStatus:f.value,state:t.state,actions:t.actions,reload:P,handleEdit:E,handleCancel:u,handleAddTableRow:k,handleSave:$}));function S(I){return I?I instanceof Error?I.message:String(I):""}async function E(){const I=d.value;I&&(await t.onEdit?.(I,t.node),t.onEdit||t.actions.startEdit(I))}async function u(){const I=d.value;I&&(await t.onCancel?.(I,t.node),t.onCancel||t.actions.cancelEdit(I))}function k(){const I=d.value;if(!I)return;const N=I.fields.reduce((w,F)=>(w[F.code]=F.value??"",w),{__rowKey:`new-${Date.now()}`});t.actions.saveRow(I,N,-1)}async function $(){const I=d.value;if(I)try{if(t.onSave){await t.onSave(I,t.node);return}await t.actions.saveSection(I)}catch(N){l.value=N,console.error("[GlobalInfoSectionBlock] save section failed",N)}}function M(I){l.value=I}async function P(){a.value=!0,l.value=null,i.value=null;try{i.value=await t.actions.loadSection(t.node)}catch(I){l.value=I,console.error("[GlobalInfoSectionBlock] load section failed",I)}finally{a.value=!1}}return e.onMounted(()=>{P()}),e.watch(()=>t.node.key,()=>{P()}),(I,N)=>{const w=z.ElButton;return e.openBlock(),e.createElementBlock("section",Qo,[g.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("header",Xo,[e.renderSlot(I.$slots,"header",e.normalizeProps(e.guardReactiveProps(y.value)),()=>[e.createElementVNode("div",en,[N[0]||(N[0]=e.createElementVNode("span",{class:"global-info-section-block__marker"},null,-1)),e.createElementVNode("h3",tn,e.toDisplayString(b.value),1)]),e.renderSlot(I.$slots,"actions",e.normalizeProps(e.guardReactiveProps(y.value)),()=>[d.value?(e.openBlock(),e.createElementBlock("div",on,[_.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createVNode(w,{class:"global-info-section-block__cancel",link:"",disabled:f.value.saving,onClick:u},{default:e.withCtx(()=>N[2]||(N[2]=[e.createTextVNode(" 取消 ")])),_:1},8,["disabled"]),c.value?(e.openBlock(),e.createBlock(w,{key:0,class:"global-info-section-block__add",link:"",disabled:f.value.saving,onClick:k},{default:e.withCtx(()=>N[3]||(N[3]=[e.createTextVNode(" 新增 ")])),_:1},8,["disabled"])):e.createCommentVNode("",!0),e.createVNode(w,{class:"global-info-section-block__confirm",link:"",type:"primary",loading:f.value.saving,onClick:$},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(c.value?"确认":"保存"),1)]),_:1},8,["loading"])],64)):(e.openBlock(),e.createBlock(w,{key:0,class:"global-info-section-block__edit",link:"",type:"primary",disabled:f.value.saving||p.value,onClick:E},{default:e.withCtx(()=>N[1]||(N[1]=[e.createTextVNode(" 编辑 ")])),_:1},8,["disabled"]))])):e.createCommentVNode("",!0)],!0)],!0)])),e.createElementVNode("div",nn,[p.value?e.renderSlot(I.$slots,"loading",e.normalizeProps(e.mergeProps({key:0},y.value)),()=>[N[4]||(N[4]=e.createElementVNode("div",{class:"global-info-section-block__status"},"加载中...",-1))],!0):!d.value||h.value||v.value?e.renderSlot(I.$slots,"empty",e.normalizeProps(e.mergeProps({key:1},y.value)),()=>[N[5]||(N[5]=e.createElementVNode("div",{class:"global-info-section-block__status"},"暂无数据",-1))],!0):(e.openBlock(),e.createBlock(Zo,{key:2,"boundary-key":I.node.key,label:b.value,onError:M},{fallback:e.withCtx(()=>[e.renderSlot(I.$slots,"empty",e.normalizeProps(e.guardReactiveProps(y.value)),()=>[N[6]||(N[6]=e.createElementVNode("div",{class:"global-info-section-block__status"},"暂无数据",-1))],!0)]),default:e.withCtx(()=>[e.createVNode(_t,{section:d.value,node:I.node,editing:_.value,state:I.state,actions:I.actions},e.createSlots({_:2},[e.renderList(e.unref(n),(F,U)=>({name:U,fn:e.withCtx(Z=>[e.renderSlot(I.$slots,U,e.normalizeProps(e.guardReactiveProps({...y.value,...Z})),void 0,!0)])}))]),1032,["section","node","editing","state","actions"])]),_:3},8,["boundary-key","label"]))])])}}}),Bt=q(an,[["__scopeId","data-v-0d8ae722"]]),ln={class:"global-info-group"},rn={class:"global-info-group__header"},sn={class:"global-info-group__title"},cn={class:"global-info-group__body"},un=["id"],dn=e.defineComponent({name:"GlobalInfoGroup",__name:"GlobalInfoGroup",props:{group:{},children:{},state:{},actions:{},index:{}},setup(o){const t=o,n=e.useSlots(),a=e.computed(()=>t.group.tagName||t.group.label||"-"),l=e.computed(()=>t.children.length<=1);function i(c,p){const v=t.actions.getSection(c);return{node:c,group:t.group,sectionNode:c,section:v,sectionView:v,state:t.state,actions:t.actions,index:p,editing:!!(v&&t.actions.isEditing(v)),sectionStatus:t.actions.getSectionStatus(c),isSelfSection:b(c,0)===b(t.group,0),handleEdit:()=>t.actions.startEdit(c),handleCancel:()=>t.actions.cancelEdit(c),handleSave:()=>t.actions.saveSection(c.key)}}function g(c){return f("section",d(c))}function f(c,p){if(!p)return"";const v=`${c}-${p}`;if(n[v])return v;const h=v.toLowerCase();return h!==v&&n[h]?h:""}function d(c){return String(c.id||c.infSetId||c.tagId||c.key||c.code||"").trim()}function b(c,p){return c.key||c.id||c.infSetId||c.tagId||`${p}`}function _(c){return`global-info-section-${b(c,0)}`}return(c,p)=>(e.openBlock(),e.createElementBlock("section",ln,[e.renderSlot(c.$slots,"header",{group:c.group,children:c.children,state:c.state,actions:c.actions,title:a.value,index:c.index,isEmpty:c.children.length===0},()=>[e.createElementVNode("header",rn,[p[0]||(p[0]=e.createElementVNode("span",{class:"global-info-group__marker"},null,-1)),e.createElementVNode("h2",sn,e.toDisplayString(a.value),1)])],!0),e.createElementVNode("div",cn,[e.unref(n).default?e.renderSlot(c.$slots,"default",{key:0,group:c.group,children:c.children,state:c.state,actions:c.actions,index:c.index,isEmpty:c.children.length===0},void 0,!0):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.children,(v,h)=>(e.openBlock(),e.createElementBlock("div",{id:_(v),key:b(v,h),class:"global-info-group__section"},[g(v)?e.renderSlot(c.$slots,g(v),e.mergeProps({key:0,ref_for:!0},i(v,h)),void 0,!0):e.unref(n).section?e.renderSlot(c.$slots,"section",e.mergeProps({key:1,ref_for:!0},i(v,h)),void 0,!0):(e.openBlock(),e.createBlock(Bt,{key:2,node:v,state:c.state,actions:c.actions,"hide-header":l.value},e.createSlots({_:2},[e.renderList(e.unref(n),(y,S)=>({name:S,fn:e.withCtx(E=>[e.renderSlot(c.$slots,S,e.mergeProps({ref_for:!0},E),void 0,!0)])}))]),1032,["node","state","actions","hide-header"]))],8,un))),128)),c.children.length===0?e.renderSlot(c.$slots,"empty",{key:0,node:null,group:c.group,sectionNode:null,state:c.state,actions:c.actions,index:-1},()=>[p[1]||(p[1]=e.createElementVNode("div",{class:"global-info-group__empty"},"暂无数据",-1))],!0):e.createCommentVNode("",!0)],64))])]))}}),Ct=q(dn,[["__scopeId","data-v-778e227f"]]),pn={class:"global-info-sections"},fn=e.defineComponent({name:"GlobalInfoSections",__name:"GlobalInfoSections",props:{nodes:{},state:{},actions:{}},setup(o){const t=o,n=e.useSlots(),a=e.computed(()=>{const p=t.nodes.filter(k=>l(k).length>0),v=t.nodes.filter(k=>l(k).length===0),h=v.filter(k=>i(k)),y=v.filter(k=>!i(k)),S=p.map(k=>({group:k,children:l(k)})),E=h.map(k=>({group:k,children:[k]}));if(S.length===0)return h.length>0?E:c(y);const u=c(y);return[...S,...E,...u]});function l(p){return p.children??[]}function i(p){return!String(p.parentId||p.parentTagId||"").trim()}function g(p){return f("group",d(p))}function f(p,v){if(!v)return"";const h=`${p}-${v}`;if(n[h])return h;const y=h.toLowerCase();return y!==h&&n[y]?y:""}function d(p){return String(p.id||p.tagId||p.key||p.code||"").trim()}function b(p,v){return p.key||p.id||p.tagId||`${v}`}function _(p){const v=p[0],h=v?.raw??{},y=String(h.parentTagName||h.parentName||h.parentLabel||v?.parentId||"信息");return{...v,key:`${v?.parentId||v?.parentTagId||v?.key||"global-info"}-group`,id:String(v?.parentId||v?.parentTagId||v?.id||"global-info-group"),tagId:String(v?.parentTagId||v?.parentId||v?.tagId||"global-info-group"),tagName:y,label:y,children:p}}function c(p){const v=new Map;return p.forEach(h=>{const y=String(h.parentId||h.parentTagId||"global-info-flat"),S=v.get(y)??[];S.push(h),v.set(y,S)}),Array.from(v.values()).map(h=>({group:_(h),children:h}))}return(p,v)=>(e.openBlock(),e.createElementBlock("div",pn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.value,(h,y)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:b(h.group,y)},[g(h.group)?e.renderSlot(p.$slots,g(h.group),{key:0,group:h.group,children:h.children,state:p.state,actions:p.actions,index:y,isEmpty:h.children.length===0},void 0,!0):e.unref(n).group?e.renderSlot(p.$slots,"group",{key:1,group:h.group,children:h.children,state:p.state,actions:p.actions,index:y,isEmpty:h.children.length===0},void 0,!0):(e.openBlock(),e.createBlock(Ct,{key:2,group:h.group,children:h.children,state:p.state,actions:p.actions,index:y},e.createSlots({_:2},[e.renderList(e.unref(n),(S,E)=>({name:E,fn:e.withCtx(u=>[e.renderSlot(p.$slots,E,e.mergeProps({ref_for:!0},u),void 0,!0)])}))]),1032,["group","children","state","actions","index"]))],64))),128))]))}}),mn=q(fn,[["__scopeId","data-v-f15cf0fb"]]);exports.GlobalInfoAutoRenderer=wt;exports.GlobalInfoDeleteConfirm=kt;exports.GlobalInfoFieldControl=Le;exports.GlobalInfoFieldValue=ze;exports.GlobalInfoFormRenderer=St;exports.GlobalInfoGroup=Ct;exports.GlobalInfoProvider=No;exports.GlobalInfoSectionBlock=Bt;exports.GlobalInfoSectionOutlet=_t;exports.GlobalInfoSections=mn;exports.GlobalInfoTableRenderer=It;exports.JtButton=me;exports.JtCascader=We;exports.JtCrudTable=lo;exports.JtDatePicker=Ye;exports.JtFilterBar=Xe;exports.JtFormItems=Qe;exports.JtInput=Be;exports.JtPageHeader=vo;exports.JtPagination=co;exports.JtSelect=Ze;exports.JtTable=et;exports.buildGlobalInfoUpdatePayload=at;exports.createEmptyGlobalInfoViewModel=tt;exports.isGlobalInfoNode=go;exports.mergeGlobalInfoChildren=Re;exports.normalizeGlobalInfoDetail=ot;exports.normalizeGlobalInfoTree=Ne;exports.resolveGlobalInfoRenderType=nt;exports.useGlobalInfoController=vt;