@jt-home/mfe-components 1.0.11 → 1.0.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -1,3 +1,3 @@
1
1
  require('./style.css');
2
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),D=require("element-plus/es"),be=require("element-plus"),Ge=require("./JtAttachmentPreview/index.cjs"),Re=2,jt=3;function zt(o){return o.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}function tt(o){if(!o.startsWith("on")||o.length<=Re)return!1;const t=o.charCodeAt(Re);return t<97||t>122}function xt(o){if(o.startsWith("on-"))return o.slice(jt);const[t,n]=o.slice(Re).split(":"),r=zt(t);return n?`${r}:${n}`:r}function ot(o,t=new Set){return Object.fromEntries(Object.entries(o).filter(([n,r])=>!t.has(n)&&tt(n)&&typeof r=="function").map(([n,r])=>[xt(n),r]))}function nt(o,t=new Set){return Object.fromEntries(Object.entries(o).filter(([n])=>!t.has(n)&&!tt(n)))}const At=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(),r=e.computed(()=>{const{icon:l,...i}=t;return{...nt(n),...i}}),a=e.computed(()=>ot(n));return(l,i)=>{const s=D.ElIcon,p=D.ElButton;return e.openBlock(),e.createBlock(p,e.mergeProps({class:"jt-button"},r.value,e.toHandlers(a.value)),{default:e.withCtx(()=>[l.$slots.icon?(e.openBlock(),e.createBlock(s,{key:0,class:"jt-button__icon"},{default:e.withCtx(()=>[e.renderSlot(l.$slots,"icon",{},void 0,!0)]),_:3})):t.icon?(e.openBlock(),e.createBlock(s,{key:1,class:"jt-button__icon"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.icon)))]),_:1})):e.createCommentVNode("",!0),e.renderSlot(l.$slots,"default",{},void 0,!0)]),_:3},16)}}}),Y=(o,t)=>{const n=o.__vccOpts||o;for(const[r,a]of t)n[r]=a;return n},he=Y(At,[["__scopeId","data-v-a8344276"]]),qt={options:()=>[],placeholder:"请选择",clearable:!0,persistent:!0};function Ke(o){return Object.fromEntries(Object.entries(o).filter(([,t])=>t!==void 0))}function Kt(o){const t=Ke(o);return t.props&&(t.props=Ke(t.props)),t}const rt=e.defineComponent({name:"JtCascader",__name:"index",props:e.mergeDefaults({size:{},placeholder:{},disabled:{type:Boolean},clearable:{type:Boolean},clearIcon:{},filterable:{type:Boolean},filterMethod:{type:Function},separator:{},showAllLevels:{type:Boolean},collapseTags:{type:Boolean},maxCollapseTags:{},collapseTagsTooltip:{type:Boolean},maxCollapseTagsTooltipHeight:{},debounce:{},beforeFilter:{type:Function},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:{}},qt),emits:be.cascaderEmits,setup(o,{emit:t}){const n=o,r=e.computed(()=>Kt(n)),a=e.ref(n.modelValue);e.watch(()=>n.modelValue,I=>{a.value=I},{deep:!0});const l=t;function i(I,...P){l(I,...P)}function s(I){a.value=I,i("update:modelValue",I)}function p(I){i("change",I)}function g(I){i("focus",I)}function T(I){i("blur",I)}function f(){i("clear")}function y(I){i("visibleChange",I)}function m(I){i("expandChange",I)}function k(I){i("removeTag",I)}return(I,P)=>{const V=D.ElCascader;return e.openBlock(),e.createBlock(V,e.mergeProps({class:"jt-cascader"},r.value,{"model-value":a.value,"onUpdate:modelValue":s,onChange:p,onFocus:g,onBlur:T,onClear:f,onVisibleChange:y,onExpandChange:m,onRemoveTag:k}),null,16,["model-value"])}}}),Jt=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??(r(t.type)?"开始日期":void 0),endPlaceholder:t.endPlaceholder??(r(t.type)?"结束日期":void 0)}));function r(a){return a?.includes("range")??!1}return(a,l)=>{const i=D.ElDatePicker;return e.openBlock(),e.createBlock(i,e.mergeProps({class:"jt-date-picker"},n.value,{"onUpdate:modelValue":l[0]||(l[0]=s=>a.$emit("update:modelValue",s))}),null,16)}}}),at=Y(Jt,[["__scopeId","data-v-7aa4706e"]]),Ht=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:{...be.inputEmits,enter:()=>!0},setup(o,{emit:t}){const n=o,r=t,a=e.computed(()=>Object.fromEntries(Object.keys(be.inputEmits).map(l=>[l,(...i)=>r(l,...i)])));return(l,i)=>{const s=D.ElInput;return e.openBlock(),e.createBlock(s,e.mergeProps({class:"jt-input"},n,e.toHandlers(a.value),{onKeyup:i[0]||(i[0]=e.withKeys(p=>r("enter"),["enter"]))}),null,16)}}}),Ce=Y(Ht,[["__scopeId","data-v-031428a1"]]),Ut=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:be.selectEmits,setup(o,{emit:t}){const n=o,r=e.computed(()=>{const{options:i,...s}=n;return s}),a=t,l=e.computed(()=>Object.fromEntries(Object.keys(be.selectEmits).map(i=>[i,(...s)=>a(i,...s)])));return(i,s)=>{const p=D.ElOption,g=D.ElSelect;return e.openBlock(),e.createBlock(g,e.mergeProps({class:"jt-select"},r.value,e.toHandlers(l.value)),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.options??[],T=>(e.openBlock(),e.createBlock(p,e.mergeProps({key:T.value,ref_for:!0},T),null,16))),128))]),_:1},16)}}}),lt=Y(Ut,[["__scopeId","data-v-c67cfa84"]]),Wt={class:"jt-form-items"},Me=4,Zt=e.defineComponent({name:"JTFormItems",__name:"JtFormItems",props:{configs:{},formData:{},span:{}},setup(o){const t=o,n={input:Ce,select:lt,cascader:rt,"date-picker":at},r={"remote-select":"select",date:"date-picker",daterange:"date-picker","date-range":"date-picker",dateRange:"date-picker"},a=new Set(["prop","label","itemType","span","options","rules","formItemProps","showSlot","show"]),l=Object.keys(n),i=new Map,s=e.computed(()=>t.configs.filter(u=>u.show!==!1)),p=u=>{const{itemType:v}=u;if(!v)return Ce;if(typeof v!="string")return v;const _=r[v]??v;return l.includes(_)?n[_]:(console.error(`[JtFormItems] 不支持的 itemType: "${v}",支持的类型: ${l.join(", ")}`),Ce)},g=u=>{const v=nt(u,a);return u.itemType==="select"||u.itemType==="remote-select"||u.itemType==="cascader"?{...v,options:u.options}:O(u.itemType)?{...v,type:"daterange"}:v},T=u=>ot(u,a),f=u=>({rules:u.rules,...u.formItemProps}),y=(u,v)=>{t.formData[u]=v};function m(u){return v=>{if(v){i.set(u,v);return}i.delete(u)}}function k(u,v){e.nextTick(()=>{i.get(u)?.validate(v).catch(()=>{})})}const I=u=>Math.min(Math.max(Math.trunc(u||1),1),4),P=e.computed(()=>{const v=s.value.reduce((_,S)=>_+I(t.span||S.span),0)%Me;return v===0?{gridColumn:`1 / span ${Me}`}:{gridColumn:`${v+1} / span ${Me-v}`}}),V=u=>({gridColumn:`span ${I(t.span||u.span)}`});function O(u){return u==="daterange"||u==="date-range"||u==="dateRange"}return(u,v)=>{const _=D.ElFormItem;return e.openBlock(),e.createElementBlock("div",Wt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,S=>(e.openBlock(),e.createBlock(_,e.mergeProps({key:S.prop,ref_for:!0,ref:m(S.prop),class:"jt-form-items__item",style:V(S),label:S.label,prop:S.prop},f(S)),{default:e.withCtx(()=>[S.showSlot?e.renderSlot(u.$slots,S.prop,{key:0},void 0,!0):(e.openBlock(),e.createBlock(e.resolveDynamicComponent(p(S)),e.mergeProps({key:1,"model-value":u.formData[S.prop],ref_for:!0},g(S),e.toHandlers(T(S)),{"onUpdate:modelValue":E=>y(S.prop,E),onChange:()=>k(S.prop,"change"),onBlur:()=>k(S.prop,"blur")}),null,16,["model-value","onUpdate:modelValue","onChange","onBlur"]))]),_:2},1040,["style","label","prop"]))),128)),u.$slots.actions?(e.openBlock(),e.createBlock(_,{key:0,class:"jt-form-items__actions",style:e.normalizeStyle(P.value)},{default:e.withCtx(()=>[e.renderSlot(u.$slots,"actions",{},void 0,!0)]),_:3},8,["style"])):e.createCommentVNode("",!0)])}}}),st=Y(Zt,[["__scopeId","data-v-cb82fcfc"]]);function Yt(){const o=e.ref(!1);function t(){o.value=!0}function n(){o.value=!1}return{searchDisabled:o,searchLoading:t,searchDone:n}}const Qt="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",Xt="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",eo="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",to={class:"jt-filter-bar__btns"},oo=["src"],no=["src"],ro=["src"],ao=e.defineComponent({name:"JtFilterBar",__name:"JtFilterBar",props:{columns:{},option:{default:()=>({})},modelValue:{}},emits:["update:modelValue","search","reset"],setup(o,{expose:t,emit:n}){const r=o,a=n,l=e.ref(),i=e.useSlots(),s=e.ref({}),{searchDisabled:p,searchLoading:g,searchDone:T}=Yt(),f=e.computed(()=>r.option),y=e.ref(f.value.searchCollapsed??!1),m=e.computed(()=>r.columns.filter(B=>B.search===!0)),k=e.computed(()=>Math.max(1,f.value.searchSpan??4)),I=e.computed(()=>Math.max(1,f.value.searchCollapsedRows??1)),P=e.computed(()=>k.value),V=e.computed(()=>Math.max(1,P.value*I.value)),O=e.computed(()=>k.value),u=e.computed(()=>w.value?"264px":"174px"),v=e.computed(()=>Q(f.value.searchLabelWidth??84)),_=e.computed(()=>f.value.searchLabelPosition??"top"),S=e.computed(()=>ae(f.value.searchGutter,14)),E=e.computed(()=>ae(f.value.searchRowGap,14)),C=e.computed(()=>pe(f.value.searchPadding??"18px 4px 0")),w=e.computed(()=>f.value.searchCollapse===!1?!1:j(m.value)>V.value),z=e.computed(()=>{if(!w.value||!y.value)return m.value;let B=0;return m.value.filter(A=>{const W=J(A);return B+W>V.value?!1:(B+=W,!0)})}),te=e.computed(()=>z.value.filter(B=>!!i[`${B.prop}-search`])),K=e.computed(()=>{const[B]=z.value;return!!B&&z.value.length===1&&J(B)<k.value}),ne=e.computed(()=>{const[B]=z.value;return`${Math.min(k.value,B?J(B)+1:1)}`}),fe=e.computed(()=>z.value.map(B=>$(B)));e.watch(()=>f.value.searchCollapsed,B=>{typeof B=="boolean"&&(y.value=B)}),e.watch(()=>r.modelValue,B=>{s.value={...B}},{deep:!0,immediate:!0});function b(B,A){if(p.value)return;const W={...s.value,[B]:A};s.value=W,a("update:modelValue",W)}function $(B){const A=B.searchProps??{};return{...A,prop:B.prop,label:B.searchLabel??B.label,span:J(B),itemType:B.searchType??"input",showSlot:!!i[`${B.prop}-search`],options:A.options??B.searchOptions??B.dicData,placeholder:A.placeholder??B.searchPlaceholder,valueFormat:A.valueFormat??B.searchValueFormat,disabled:p.value||A.disabled===!0,formItemProps:{required:B.searchRequired,class:["jt-filter-bar__item",{"is-required":B.searchRequired}]},onEnter:(...W)=>{F(A.onEnter,...W),G()},"onUpdate:modelValue":W=>{F(A["onUpdate:modelValue"],W),b(B.prop,W)}}}function F(B,...A){if(Array.isArray(B)){B.forEach(W=>F(W,...A));return}typeof B=="function"&&B(...A)}async function G(){if(!p.value){if(l.value)try{await l.value.validate()}catch{return}a("search")}}function L(){p.value||a("reset")}function U(){y.value=!y.value}function J(B){return Math.min(k.value,Math.max(1,B.searchSpan??1))}function j(B){return B.reduce((A,W)=>A+J(W),0)}function Q(B){return typeof B=="number"?`${B}px`:B}function ae(B,A){return typeof B=="number"?B:A}function pe(B){return typeof B=="number"?`${B}px`:B}return t({formRef:l,searchDisabled:p,searchLoading:g,searchDone:T}),(B,A)=>{const W=D.ElForm;return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["jt-filter-bar",[`is-label-${_.value}`,{"is-single-filter":K.value}]]),style:e.normalizeStyle({"--jt-filter-columns":k.value,"--jt-filter-field-columns":O.value,"--jt-filter-btns-width":u.value,"--jt-filter-actions-start":ne.value,"--jt-filter-label-width":v.value,"--jt-filter-column-gap":`${S.value}px`,"--jt-filter-row-gap":`${E.value}px`,"--jt-filter-padding":C.value})},[e.createVNode(W,{ref_key:"formRef",ref:l,class:"jt-filter-bar__form",model:s.value,"label-position":_.value,"label-width":v.value,disabled:e.unref(p),onSubmit:A[0]||(A[0]=e.withModifiers(()=>{},["prevent"]))},{default:e.withCtx(()=>[e.createVNode(e.unref(st),{configs:fe.value,"form-data":s.value},e.createSlots({actions:e.withCtx(()=>[e.createElementVNode("div",to,[e.renderSlot(B.$slots,"search-menu",{search:G,reset:L,disabled:e.unref(p),collapsed:y.value,toggleCollapse:U},()=>[w.value?(e.openBlock(),e.createBlock(e.unref(he),{key:0,class:"jt-filter-bar__btn-collapse",onClick:U},{icon:e.withCtx(()=>[e.createElementVNode("img",{class:e.normalizeClass(["jt-filter-bar__icon-arrow",{"is-collapsed":y.value}]),src:e.unref(Qt),alt:""},null,10,oo)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(y.value?"展 开":"收 起"),1)]),_:1})):e.createCommentVNode("",!0),e.createVNode(e.unref(he),{class:"jt-filter-bar__btn-reset",disabled:e.unref(p),onClick:L},{icon:e.withCtx(()=>[e.createElementVNode("img",{src:e.unref(Xt),alt:""},null,8,no)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(f.value.resetBtnText??"重 置"),1)]),_:1},8,["disabled"]),e.createVNode(e.unref(he),{class:"jt-filter-bar__btn-query",type:"primary",disabled:e.unref(p),onClick:G},{icon:e.withCtx(()=>[e.createElementVNode("img",{src:e.unref(eo),alt:""},null,8,ro)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(f.value.searchBtnText??"查 询"),1)]),_:1},8,["disabled"])],!0)])]),_:2},[e.renderList(te.value,de=>({name:de.prop,fn:e.withCtx(()=>[e.renderSlot(B.$slots,`${de.prop}-search`,{value:s.value[de.prop],column:de,setValue:$e=>b(de.prop,$e),search:G,reset:L,disabled:e.unref(p)},void 0,!0)])}))]),1032,["configs","form-data"])]),_:3},8,["model","label-position","label-width","disabled"])],6)}}}),it=Y(ao,[["__scopeId","data-v-1f6fdc4e"]]),lo={key:1},so={key:2},io={key:3},co=e.defineComponent({name:"JtTable",__name:"JtTable",props:{data:{},columns:{},option:{},tableEvents:{}},setup(o,{expose:t}){const n=o,r=e.useSlots(),a=e.ref(),l=e.computed(()=>n.option??{}),i=e.computed(()=>n.columns.filter(m=>!m.hide));function s(m){return!!r[`${m}-header`]}function p(m){return!!r[`${m}-data`]}function g(m){return{width:m.width,minWidth:m.minWidth,align:m.align,fixed:m.fixed,sortable:m.sortable,showOverflowTooltip:m.showOverflowTooltip,...m.columnOptions}}function T(m){return!f(m.columnOptions?.type)}function f(m){return m==="selection"||m==="index"||m==="expand"}function y(m,k){return m.find(I=>I.value===k)?.label??String(k??"")}return t({tableRef:a}),(m,k)=>{const I=D.ElTableColumn,P=D.ElTable;return e.openBlock(),e.createBlock(P,e.mergeProps({ref_key:"tableRef",ref:a,data:m.data,"row-key":l.value.rowKey??"id",height:l.value.height,"max-height":l.value.maxHeight,"empty-text":l.value.emptyText,class:"jt-table"},l.value.tableProps,e.toHandlers(m.tableEvents)),{default:e.withCtx(()=>[l.value.selection?(e.openBlock(),e.createBlock(I,{key:0,type:"selection",width:"55",align:"center"})):e.createCommentVNode("",!0),l.value.index?(e.openBlock(),e.createBlock(I,{key:1,type:"index",label:l.value.indexLabel??"序号",width:"60",align:"center"},null,8,["label"])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,V=>(e.openBlock(),e.createBlock(I,e.mergeProps({key:V.prop,prop:V.prop,label:V.label,formatter:!p(V.prop)&&!V.dicData?V.formatter:void 0,ref_for:!0},g(V)),e.createSlots({_:2},[s(V.prop)?{name:"header",fn:e.withCtx(O=>[e.renderSlot(m.$slots,`${V.prop}-header`,e.mergeProps({ref_for:!0},O),void 0,!0)]),key:"0"}:void 0,T(V)?{name:"default",fn:e.withCtx(O=>[p(V.prop)?e.renderSlot(m.$slots,`${V.prop}-data`,e.mergeProps({key:0,ref_for:!0},O),void 0,!0):V.dicData?(e.openBlock(),e.createElementBlock("span",lo,e.toDisplayString(y(V.dicData,O.row[V.prop])),1)):V.formatter?(e.openBlock(),e.createElementBlock("span",so,e.toDisplayString(V.formatter(O.row,O.column,O.row[V.prop],O.$index)),1)):(e.openBlock(),e.createElementBlock("span",io,e.toDisplayString(O.row[V.prop]),1))]),key:"1"}:void 0]),1040,["prop","label","formatter"]))),128)),l.value.menu?(e.openBlock(),e.createBlock(I,{key:2,label:l.value.menuLabel??"操作",width:l.value.menuWidth,"min-width":l.value.menuMinWidth,align:l.value.menuAlign??"center",fixed:l.value.menuFixed},{default:e.withCtx(V=>[e.renderSlot(m.$slots,"menu",e.normalizeProps(e.guardReactiveProps(V)),void 0,!0)]),_:3},8,["label","width","min-width","align","fixed"])):e.createCommentVNode("",!0)]),_:3},16,["data","row-key","height","max-height","empty-text"])}}}),ct=Y(co,[["__scopeId","data-v-513fa12d"]]),uo={class:"jt-pagination"},po={class:"jt-pagination__count"},fo=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,r=e.computed(()=>n.option??{}),a=t;function l(i){a("current-change",i),a("page-change",i)}return(i,s)=>{const p=D.ElPagination;return e.openBlock(),e.createElementBlock("div",uo,[e.createVNode(p,{"current-page":i.currentPage,"page-size":i.pageSize,"page-sizes":r.value.pageSizes??[10,20,50,100],total:i.total,layout:r.value.paginationLayout??"sizes, prev, pager, next, jumper","onUpdate:currentPage":s[0]||(s[0]=g=>i.$emit("update:currentPage",g)),"onUpdate:pageSize":s[1]||(s[1]=g=>i.$emit("update:pageSize",g)),onCurrentChange:l,onSizeChange:s[2]||(s[2]=g=>i.$emit("size-change",g))},null,8,["current-page","page-size","page-sizes","total","layout"]),e.createElementVNode("span",po,"共"+e.toDisplayString(i.total)+"条记录",1)])}}}),ut=Y(fo,[["__scopeId","data-v-746af6aa"]]),mo={class:"jt-crud-table"},go={key:1,class:"jt-crud-table__toolbar"},vo=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 r=o,a=n,l=e.useModel(o,"currentPage"),i=e.useModel(o,"pageSize"),s=e.useModel(o,"searchModel"),p=e.useSlots(),g=e.ref(),T=e.ref(),f=e.computed(()=>r.option),y=e.computed(()=>f.value.searchShow!==!1),m=e.computed(()=>f.value.paginationShow!==!1),k=e.computed(()=>r.columns.filter(S=>S.search&&!!p[`${S.prop}-search`])),I=e.computed(()=>r.columns.filter(S=>!S.hide&&!!p[`${S.prop}-header`])),P=e.computed(()=>r.columns.filter(S=>!S.hide&&!!p[`${S.prop}-data`]));function V(){const S={};return r.columns.forEach(E=>{E.search&&(S[E.prop]=void 0)}),S}function O(){a("search",{...s.value})}function u(){s.value=V(),a("reset")}function v(){T.value?.searchLoading()}function _(){T.value?.searchDone()}return t({tableRef:e.computed(()=>g.value?.tableRef),filterBarRef:T,searchLoading:v,searchDone:_}),(S,E)=>{const C=D.ElLoadingDirective;return e.openBlock(),e.createElementBlock("div",mo,[e.renderSlot(S.$slots,"header",{},void 0,!0),y.value?(e.openBlock(),e.createBlock(it,{key:0,ref_key:"filterBarRef",ref:T,modelValue:s.value,"onUpdate:modelValue":E[0]||(E[0]=w=>s.value=w),columns:S.columns,option:f.value,onSearch:O,onReset:u},e.createSlots({_:2},[e.renderList(k.value,w=>({name:`${w.prop}-search`,fn:e.withCtx(z=>[e.renderSlot(S.$slots,`${w.prop}-search`,e.normalizeProps(e.guardReactiveProps(z)),void 0,!0)])}))]),1032,["modelValue","columns","option"])):e.createCommentVNode("",!0),e.unref(p).toolbar?(e.openBlock(),e.createElementBlock("div",go,[e.renderSlot(S.$slots,"toolbar",{},void 0,!0)])):e.createCommentVNode("",!0),e.withDirectives((e.openBlock(),e.createBlock(ct,{ref_key:"jtTableRef",ref:g,data:S.data,columns:S.columns,option:f.value,"table-events":S.tableEvents},e.createSlots({_:2},[e.renderList(I.value,w=>({name:`${w.prop}-header`,fn:e.withCtx(z=>[e.renderSlot(S.$slots,`${w.prop}-header`,e.normalizeProps(e.guardReactiveProps(z)),void 0,!0)])})),e.renderList(P.value,w=>({name:`${w.prop}-data`,fn:e.withCtx(z=>[e.renderSlot(S.$slots,`${w.prop}-data`,e.normalizeProps(e.guardReactiveProps(z)),void 0,!0)])})),f.value.menu?{name:"menu",fn:e.withCtx(w=>[e.renderSlot(S.$slots,"menu",e.normalizeProps(e.guardReactiveProps(w)),void 0,!0)]),key:"0"}:void 0]),1032,["data","columns","option","table-events"])),[[C,f.value.loading]]),m.value?(e.openBlock(),e.createBlock(ut,{key:2,"current-page":l.value,"onUpdate:currentPage":E[1]||(E[1]=w=>l.value=w),"page-size":i.value,"onUpdate:pageSize":E[2]||(E[2]=w=>i.value=w),total:S.total,option:f.value,onPageChange:E[3]||(E[3]=w=>S.$emit("page-change",w)),onSizeChange:E[4]||(E[4]=w=>S.$emit("size-change",w))},null,8,["current-page","page-size","total","option"])):e.createCommentVNode("",!0)])}}}),ho=Y(vo,[["__scopeId","data-v-ad466273"]]),yo={class:"jt-page-header__title"},bo={key:0},So={key:0,class:"jt-page-header__operates"},ko=e.defineComponent({name:"JtPageHeader",__name:"index",props:{type:{default:"section"},title:{},operates:{default:()=>[]}},emits:["operate-click"],setup(o,{emit:t}){const n=o,r=t,a=e.useSlots(),l=e.computed(()=>n.operates.length>0||!!a.operates);function i(s,p){s.onClick?.(s,p),r("operate-click",s,p)}return(s,p)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps({class:["jt-page-header",`jt-page-header--${s.type}`]},s.$attrs),[e.createElementVNode("div",yo,[e.renderSlot(s.$slots,"title",{},()=>[s.title?(e.openBlock(),e.createElementBlock("span",bo,e.toDisplayString(s.title),1)):e.createCommentVNode("",!0)],!0)]),l.value?(e.openBlock(),e.createElementBlock("div",So,[e.renderSlot(s.$slots,"operates",{operates:s.operates},()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.operates,g=>(e.openBlock(),e.createBlock(e.unref(he),e.mergeProps({key:g.key??g.label,ref_for:!0},g.buttonProps,{type:g.type,disabled:g.disabled,loading:g.loading,plain:g.plain,text:g.text,link:g.link,icon:g.icon,onClick:T=>i(g,T)}),{default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(g.label),1)]),_:2},1040,["type","disabled","loading","plain","text","link","icon","onClick"]))),128))],!0)])):e.createCommentVNode("",!0)],16))}}),wo=Y(ko,[["__scopeId","data-v-9e6bb356"]]);function dt(o=null){return{scheme:null,node:null,topNodes:[],treeNodes:[],activeNode:null,activeSection:null,sections:[],sectionMap:{},raw:o}}function Le(o){const t=bt(o),n=yt(t),r=Po(t).flatMap(a=>ht(a,n));return{...dt(o),scheme:n,topNodes:r,treeNodes:r}}function De(o,t,n){return o.map(r=>r.key===t||r.tagId===t||r.id===t?{...r,children:n,loaded:!0}:{...r,children:De(r.children,t,n)})}function pt(o,t={},n=null){const r=bt(o),a=yt(r,t),l=Co(r,t,n),i=Object.fromEntries(l.map(s=>[s.key,s]));return{scheme:a,node:n,topNodes:[],treeNodes:[],activeNode:n,activeSection:l[0]??null,sections:l,sectionMap:i,raw:o}}function ft(o){return o.multRow||o.htmlDisplay==="T"?"table":"form"}function mt(o,t={}){const n=o.renderType==="table"?o.rows.map(Oe):[Oe(o.model)],r=x(o.operationInfo),a=x(r.editInfoSet),l=x(a.params),i=x(r.queryInfoSet),s=x(i.params);return{...t,infSchmId:t.infSchmId??q(o.raw.infSchmId),emplid:t.emplid??q(o.raw.emplid),tagId:R(o.tagId||l.tagId||s.tagId||t.tagId||o.requestTagId),infSetId:t.infSetId??o.infSetId,setId:t.setId??o.setId,infSetValues:n,section:o}}function Io(o){const t=o;return!!(t&&typeof t=="object"&&typeof t.key=="string"&&typeof t.tagId=="string")}function gt(o){const t=St(o);return(Array.isArray(t)?t:Se(x(t),["options","list","records","data"])).map(r=>{const a=x(r),l=a.fieldvalue??a.fieldValue;return{id:a.id,code:a.code??l??a.value??a.id,label:R(a.label??a.name??a.descr??a.descrshort??a.text??l??a.value??a.code),name:q(a.name),value:a.value??l??a.code??a.id??a.label??a.name,raw:r}})}function Co(o,t,n){const r=Se(o,["sections","sets","list"]);return r.length>0?r.map(a=>Je(a,t,n,r.length===1)):o.infSetMark||o.infSetFields||o.fields?[Je(o,t,n,!0)]:[]}function Je(o,t,n,r){const a=x(o),l=Bo(a.infSetMark??a),i=_o(a.infSetFields??a.fields??[]),s=Vo(a.infSetValues??a.rows??a.data,i),p=s[0]?Oe(s[0]):vt(i),g=x(a.tag),T=R(a.tagId??a.infTagId??g.tagId??g.infTagId??l.raw.tagId??l.raw.infTagId),f=R(t.tagId??n?.tagId),y=R(n?.key),m=r?t.infSetId??n?.infSetId:void 0,k=r?t.setId:void 0,I=r?n?.code:void 0,P=l.setId||R(a.setId),V=R(a.infSetId)||P||R(m),O=P||R(k??V),u=l.code||R(a.code??I??O),v=O||u||V||T,_={key:v,id:v,setId:O,code:u,tagId:T,requestTagId:f||void 0,ownerNodeKey:y||void 0,infSetId:V,title:l.name||R(a.name??n?.tagName??v),renderType:ft(l),mark:l,fields:i,model:p,rows:s,operationInfo:Ve(t.operationInfo??a.operationInfo),raw:a};return _.renderType==="form"&&s.length===0&&(_.rows=[{...p,__rowKey:`${v}-0`}]),_}function Bo(o){const t=x(o),n=R(t.htmlDisplay||"F");return{name:R(t.name??t.title),parentName:q(t.parentName),value:q(t.value),type:q(t.type),code:R(t.code),setId:R(t.setId??t.id??t.key),htmlDisplay:n,multRow:oe(t.multRow),isRequired:oe(t.isRequired),raw:t}}function _o(o){return(Array.isArray(o)?o:[]).map((n,r)=>Eo(n,r))}function Eo(o,t){const n=x(o),r=R(n.code??n.fieldCode??n.prop??n.key??`field_${t}`),a=R(n.label??n.name??n.tagName??r);return{id:R(n.id??n.key??n.prop??r),key:R(n.key??n.prop??r),code:r,label:a,value:n.value??n.defaultValue??"",type:Mo(n),fieldType:q(n.fieldType),frontInputType:q(n.frontInputType),renderType:Fo(n),required:oe(n.required??n.isRequired),readonly:oe(n.readonly??n.disabled),visible:n.visible===void 0?oe(n.visibled??!0):oe(n.visible),htmlDisplay:oe(n.htmlDisplay),multRow:oe(n.multRow),isRequired:oe(n.isRequired),disabled:n.disabled===void 0?void 0:oe(n.disabled),span:Ct(n.span??n.colSpan),width:Ue(n.width),minWidth:Ue(n.minWidth),placeholder:q(n.placeholder),options:gt(n.options),interface:kt(n.interface??n.interfaceField),cascadeClearFields:He(n.cascadeClearFields),cascadeDependFields:He(n.cascadeDependFields),props:Ro(n),formItemProps:wt(n.formItemProps),raw:n}}function Vo(o,t){if(Array.isArray(o)&&o.some(a=>{const l=x(a);return t.some(i=>l[i.code]!==void 0||l[i.key]!==void 0)}))return o.map((a,l)=>({...x(a),__rowKey:R(x(a).__rowKey??x(a).key??l)}));const n=vt(t);return Object.keys(n).length?[{...n,__rowKey:"0"}]:[]}function vt(o){return o.reduce((t,n)=>(t[n.code||n.key]=n.value,t),{})}function ht(o,t,n=""){const r=x(o),a=Se(r,["children","list","tags"]).flatMap(i=>ht(i,t,R(r.tagId??r.id??r.key))),l=$o(r.infSetList);return a.length===0&&l.length>0?l.map((i,s)=>To(r,i,t,n,s)):[No(r,t,n,a)]}function No(o,t,n,r){const a=R(o.tagId??o.id??o.key),l=R(o.tagName??o.name??o.label??a);return{key:R(o.key??a),id:a,tagId:a,tagName:l,label:l,tagLevel:q(o.tagLevel??o.level)??null,level:It(o.tagLevel??o.level),parentTagId:q(o.parentTagId??o.parentId??n),parentId:q(o.parentTagId??o.parentId??n)??null,infSchmId:q(o.infSchmId??t?.infSchmId),schemeId:R(o.infSchmId??t?.infSchmId),infSetId:q(o.infSetId??o.setId),setId:q(o.setId),code:q(o.code),children:r,infSetList:[],operationInfo:Ve(o.operationInfo),loaded:r.length>0,raw:o}}function To(o,t,n,r,a){const l=R(o.tagId??o.id??o.key),i=R(o.tagName??o.name??o.label??l),s=t.infSetId||R(t.setId),p=t.setId||s,g=s||`${l}-${a}`;return{key:g,id:g,tagId:l,tagName:i,label:i,tagLevel:q(o.tagLevel??o.level)??null,level:It(o.tagLevel??o.level),parentTagId:q(o.parentTagId??o.parentId??r),parentId:q(o.parentTagId??o.parentId??r)??null,infSchmId:q(o.infSchmId??n?.infSchmId),schemeId:R(o.infSchmId??n?.infSchmId),infSetId:s,setId:p,code:q(o.code??s),children:[],infSetList:[t],operationInfo:Ve(o.operationInfo),loaded:!0,raw:{...o,infSetId:s,setId:p,infSetList:[t.raw]}}}function yt(o,t={}){const n=x(o.globalInfoSchmMark??o.scheme??o),r=R(n.infSchmId??t.infSchmId),a=R(n.emplid??t.emplid);return!r&&!a&&Object.keys(n).length===0?null:{infSchmId:r,emplid:a,id:r,mark:R(n.globalInfoSchmMark??o.globalInfoSchmMark),config:Array.isArray(o.globalInfoSchmConfig)?"":R(n.globalInfoSchmConfig??o.globalInfoSchmConfig),raw:n}}function Po(o){if(Array.isArray(o.globalInfoSchmConfig))return o.globalInfoSchmConfig;const t=x(o.globalInfoSchmConfig),n=Se(t,["children","tree","list","tags"]);return n.length?n:Se(o,["children","tree","list","tags","records"])}function $o(o){return Array.isArray(o)?o.map(t=>{const n=x(t);return{infSetId:R(n.infSetId??n.setId??n.id),setId:q(n.setId),operationInfo:Ve(n.operationInfo),raw:n}}):[]}function bt(o){return x(St(o))}function St(o){const t=x(o);return t.data??t.result??o}function Se(o,t){for(const n of t){const r=o[n];if(Array.isArray(r))return r}return[]}function Oe(o){const t={...o};return delete t.__rowKey,delete t.fields,t}function kt(o){const t=x(o);if(!(!t.method&&!t.url&&!t.params))return{...t,method:q(t.method),url:q(t.url),params:wt(t.params)}}function Ve(o){const t=x(o);if(Object.keys(t).length!==0)return Object.fromEntries(Object.entries(t).map(([n,r])=>[n,kt(r)??r]))}function He(o){if(!Array.isArray(o))return;const t=o.map(n=>R(n)).filter(Boolean);return t.length?t:void 0}function Fo(o){if(oe(o.htmlDisplay))return"html";if(oe(o.multRow))return"multi-row";const t=R(o.renderType).toLowerCase();return t==="code"||t==="empty"?t:"text"}function Mo(o){const t=R(o.fieldType??o.type??o.frontInputType??o.renderType).toLowerCase();return t.includes("date")?"date":t.includes("select")||t.includes("enum")||t.includes("radio")||t.includes("checkbox")?"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 wt(o){const t=x(o);return Object.keys(t).length?t:void 0}function Ro(o){const t={...x(o.props)};return o.multiple!==void 0&&(t.multiple=oe(o.multiple)),Object.keys(t).length?t:void 0}function Ue(o){return typeof o=="string"||typeof o=="number"?o:void 0}function x(o){return o&&typeof o=="object"&&!Array.isArray(o)?o:{}}function R(o){return o==null?"":String(o).trim()}function q(o){return R(o)||void 0}function It(o){const t=Ct(o);return t===void 0?null:t}function Ct(o){if(o==null||o==="")return;const t=Number(o);return Number.isFinite(t)?t:void 0}function oe(o){return typeof o=="string"?["true","1","y","yes","t","是"].includes(o.toLowerCase()):!!o}const ue=o=>o.key||o.code,re=o=>o.key||o.setId,Lo=o=>String(o??"").trim(),we=o=>Array.from(new Set(o.map(Lo).filter(Boolean))),ge=o=>!!(o&&typeof o=="object"&&"children"in o),ke=o=>we([o?.key,o?.id,o?.setId,o?.infSetId,o?.tagId,o?.code,...(o?.infSetList??[]).map(t=>t.infSetId),...(o?.infSetList??[]).map(t=>t.setId)]),Oo=o=>we([o.key,o.id,o.setId,o.infSetId,o.tagId,o.code]);function Bt(o,t,n){const r=Oo(o),a=we([n,...ke(t)]);return a.length===0?!1:a.some(l=>r.includes(l))}function Go(o,t,n){return we([n,...ke(t)]).length===0?o:o.filter(a=>Bt(a,t,n))}function Do(o,t,n={}){const r=Object.keys(n).length>0?n:o.model,a=typeof t=="string"?t:ue(t),l=typeof t=="string"?o.fields.find(s=>ue(s)===a||s.code===a):t,i=(l?.cascadeDependFields??[]).some(s=>{const p=r[s];return p==null||p===""});return{fieldKey:a,currentField:l,sourceModel:r,sourceRow:o.renderType==="table"?r:void 0,missingDependField:i}}function jo(o){return!!(o&&(o.cascadeDependFields??[]).length===0&&(o.options??[]).length>0)}function zo(o){return gt(o)}const le=o=>o&&typeof o=="object"&&!Array.isArray(o)?o:{},Be=o=>{const t=le(o);return!!(t.url||t.method||t.params)};function xo(o){const t=le(o.operationInfo).openTag;return Be(t)?t:void 0}function Ao(o,t,n){const r=le(o?.operationInfo).queryInfoSet;if(Be(r))return r;const a=t?.infSetList.find(i=>i.infSetId===n),l=le(a?.operationInfo).queryInfoSet;return Be(l)?l:void 0}function qo(o){const t=le(o.operationInfo).editInfoSet;return Be(t)?t:void 0}async function Ko(o){const t=o.params===void 0?void 0:le(o.params);return!o.formatter||o.requestSource!=="inner"?t:o.formatter({operation:o.operation,interfaceOperation:o.field?.interface,type:o.type,requestSource:o.requestSource,tagId:o.tagId,model:{...le(o.section?.model),...le(o.model)},row:o.row,section:o.section,field:o.field,node:o.node,viewModel:o.viewModel,sections:o.sections,activeNode:o.activeNode,activeSection:o.activeSection,params:t})}async function Jo(o){if(!o.service.requestOperation)throw new Error("[GlobalInfo] service.requestOperation is required for operationInfo");const t=o.operation.params===void 0?void 0:le(o.operation.params),n=o.context?.params===void 0?t:le(o.context.params),r=await Ko({formatter:o.formatter,params:n,operation:o.operation,type:o.context?.type,requestSource:o.context?.requestSource,tagId:o.context?.tagId,section:o.context?.section,field:o.context?.field,model:o.context?.model,row:o.context?.row,node:o.context?.node,viewModel:o.viewModel,sections:o.sections,activeNode:o.activeNode,activeSection:o.activeSection});return o.service.requestOperation({...o.operation,params:r},o.context?{...o.context,params:r}:o.context)}function ye(o={}){return{loading:!1,saving:!1,error:null,loaded:!1,editing:!1,...o}}function Ho(o){const t={...o.currentMap},n={...o.currentAliasMap},r=[...o.currentOrder],a={...o.currentStatusMap},l=Go(o.nextViewModel.sections,o.node,o.targetKey),i=we([o.targetKey,...ke(o.node)]).length>0,s=l.find(p=>Bt(p,o.node,o.targetKey))??(i?null:o.nextViewModel.activeSection??l[0]??o.activeSection??null);return l.forEach(p=>{const g=re(p);t[g]=p,r.includes(g)||r.push(g),a[g]=ye({...a[g],loaded:!0,loading:!1,error:null,editing:o.editingSectionKeys.includes(g)})}),o.targetKey&&s?n[o.targetKey]=re(s):o.targetKey&&(n[o.targetKey]=""),o.targetKey&&(a[o.targetKey]=ye({...a[o.targetKey],loaded:!0,loading:!1,error:null,editing:!!(s&&o.editingSectionKeys.includes(re(s)))})),{sectionMap:t,sectionAliasMap:n,sectionOrder:r,sectionStatusMap:a,matchedSection:s,targetSections:l}}const ve=o=>new Error(`[GlobalInfo] ${o}`),_t=o=>{const t=e.ref(!1),n=e.ref(!1),r=e.ref(!1),a=e.shallowRef(null),l=e.shallowRef([]),i=e.shallowRef(null),s=e.shallowRef(null),p=e.shallowRef(null),g=e.shallowRef({}),T=e.shallowRef({}),f=e.ref([]),y=e.shallowRef({}),m=e.ref([]),k=e.computed(()=>{const c=f.value.map(h=>g.value[h]).filter(h=>!!h),d=Object.entries(g.value).filter(([h])=>!f.value.includes(h)).map(([,h])=>h);return[...c,...d]}),I=e.computed(()=>({loading:t.value,detailLoading:n.value,saving:r.value,editingSectionKeys:m.value,sectionMap:g.value,sectionStatusMap:Object.fromEntries(Object.entries(y.value).map(([c,d])=>[c,{...d,editing:m.value.includes(T.value[c]??c)}])),error:a.value})),P=()=>({adaptScene:o.adaptScene,emplid:o.emplid}),V=c=>({...P(),infSchmId:c.infSchmId,tagId:c.tagId,tagLevel:c.tagLevel,parentTagId:c.parentTagId}),O=(c=s.value,d=p.value)=>({...P(),infSchmId:c?.infSchmId,tagId:c?.tagId,infSetId:d?.infSetId??c?.infSetId,setId:d?.setId??c?.setId}),u=async(c,d)=>Jo({service:o.service,formatter:o.formatOperationParams,operation:c,context:d,viewModel:i.value,sections:k.value,activeNode:s.value,activeSection:p.value}),v=(c,d)=>{if(!d)return c[0]??null;for(const h of c){if(ke(h).includes(d))return h;const N=v(h.children,d);if(N)return N}return null},_=(c=p.value)=>{if(c)return typeof c=="string"?c:ge(c)?C(c):re(c)},S=(c=p.value)=>{const d=_(c);if(!d)return null;const h=T.value[d]??d;return g.value[h]??null},E=(c=p.value)=>{const d=_(c);if(d)return T.value[d]??d},C=(c=p.value)=>{if(c)return typeof c=="string"?c:ge(c)?c.setId??c.infSetId??c.key:re(c)},w=(c=p.value)=>{if(ge(c))return c;if(typeof c=="string"){const d=v(l.value,c);if(d)return d;const h=S(c);return h?.ownerNodeKey?v(l.value,h.ownerNodeKey)??s.value:h||s.value&&ke(s.value).includes(c)?s.value:null}return c?.ownerNodeKey?v(l.value,c.ownerNodeKey)??s.value:s.value},z=(c=p.value)=>!c||ge(c)?null:S(c),te=(c=p.value)=>{const d=C(c);if(!d)return ye();const h=T.value[d]??d;return ye({...y.value[d],...y.value[h],editing:m.value.includes(h)})},K=(c,d)=>{const h=C(c);h&&(y.value={...y.value,[h]:ye({...y.value[h],...d,editing:m.value.includes(h)})})},ne=(c=i.value?.raw??null,d=s.value)=>{const h=k.value,N=p.value&&h.find(M=>re(M)===re(p.value))?p.value:null;i.value={scheme:i.value?.scheme??null,node:d,topNodes:l.value,treeNodes:l.value,activeNode:d,activeSection:N,sections:h,sectionMap:g.value,raw:c},p.value=N},fe=(c,d=s.value,h)=>{const N=Ho({currentMap:g.value,currentAliasMap:T.value,currentOrder:f.value,currentStatusMap:y.value,editingSectionKeys:m.value,nextViewModel:c,node:d,targetKey:h,activeSection:p.value});return g.value=N.sectionMap,T.value=N.sectionAliasMap,f.value=N.sectionOrder,y.value=N.sectionStatusMap,i.value={...c,scheme:c.scheme??i.value?.scheme??null,topNodes:l.value,treeNodes:l.value,activeNode:d,activeSection:N.matchedSection,sections:N.targetSections,sectionMap:g.value},p.value=N.matchedSection,N.matchedSection},b=(c,d)=>{const h=E(c),N=h?g.value[h]:null;if(!h||!N)return;const M=d(N);g.value={...g.value,[h]:M},p.value=re(p.value??M)===h?M:p.value,ne()},$=async(c=p.value??s.value)=>{const d=z(c),h=w(c)??s.value,N=C(c);if(!h)return null;if(!o.service.requestOperation)throw ve("service.requestOperation is required");n.value=!0,a.value=null,K(N??h,{loading:!0,error:null});try{const M=d?[{infSetId:d.infSetId,setId:d.setId,operationInfo:d.operationInfo,raw:d.raw}]:h.infSetList;if(M.length===0)throw ve("node.infSetList is required");const Z=await Promise.all(M.map(async H=>{const X=Ao(d,h,H.infSetId),se={...O(h,d),infSetId:H.infSetId,setId:H.setId,operationInfo:H.operationInfo};if(X){const Fe=await u(X,{type:"queryInfoSet",requestSource:"inner",tagId:d?.requestTagId??d?.tagId??h.tagId,node:h,section:d,params:se});return pt(Fe,se,h)}throw ve("infoSet.operationInfo.queryInfoSet is required")})),ee={...Z[0],sections:Z.flatMap(H=>H.sections),sectionMap:Object.fromEntries(Z.flatMap(H=>H.sections).map(H=>[H.key,H]))};return fe(ee,h,N)}catch(M){throw a.value=M,K(N??h,{loading:!1,error:M}),M}finally{n.value=!1,K(N??h,{loading:!1})}},F=(c=p.value)=>$(c),G=(c=p.value)=>{if(!c)return null;if(!ge(c)&&typeof c!="string")return S(c);const d=C(c);return d?g.value[T.value[d]??d]??null:null},L=async(c=s.value)=>c?(await $(c),i.value):(i.value=null,p.value=null,g.value={},T.value={},f.value=[],y.value={},null),U=async c=>{const d=xo(c);if(!d)return c.children;const h=V(c),N=await u(d,{type:"openTag",requestSource:"sidebar",tagId:c.tagId,node:c,params:h});return Le(N).treeNodes},J=async c=>{if(c.loaded)return c.children;const d=await U(c);return d.length>0&&(l.value=De(l.value,c.key,d)),d},j=async c=>{const d=typeof c=="string"?v(l.value,c):c;return d?(s.value=d,p.value=null,m.value=[],await J(d),ne(i.value?.raw,d),d):null},Q=async()=>{const c=o.service.templateTree;if(!c)throw ve("service.templateTree is required");t.value=!0,a.value=null;try{const d=await c(P()),h=Le(d),N=await Promise.all(h.treeNodes.map(async Z=>{const ee=await U(Z);return{...Z,children:ee,loaded:ee.length>0||Z.loaded}}));l.value=N,p.value=null,g.value={},T.value={},f.value=[],y.value={},m.value=[];const M=v(N,o.initialActiveNodeKey)??v(N);return s.value=M,i.value={...h,treeNodes:N,activeNode:M,sectionMap:g.value,sections:k.value},l.value}catch(d){throw a.value=d,d}finally{t.value=!1}},ae=async()=>{const c=_();await F(p.value??s.value);const d=k.value.find(h=>re(h)===c);return d&&(p.value=d),ne(),i.value},pe=(c=p.value)=>{const d=E(c);return!!(d&&m.value.includes(d))},B=(c=p.value)=>{const d=E(c);!d||pe(d)||(m.value=[...m.value,d],K(d,{editing:!0}))},A=(c=p.value)=>{const d=E(c);d&&(m.value=m.value.filter(h=>h!==d),K(d,{editing:!1}))},W=(c,d,h)=>{const N=typeof d=="string"?d:ue(d);b(c,M=>{const ee=(typeof d=="string"?M.fields.find(X=>ue(X)===N||X.code===N):d)?.cascadeClearFields??[],H={...M.model,[N]:h};return ee.forEach(X=>{H[X]=""}),{...M,model:H,rows:M.renderType==="form"?[{...M.rows[0],...H}]:M.rows,fields:M.fields.map(X=>{const se=ue(X);return se===N||X.code===N?{...X,value:h}:ee.includes(se)||ee.includes(X.code)?{...X,value:""}:X})}})},de=async(c,d,h={})=>{const N=S(c);if(!N)return[];const{fieldKey:M,currentField:Z,sourceModel:ee,sourceRow:H,missingDependField:X}=Do(N,d,h),se=Z?.interface;if(!Z||!se)return Z?.options??[];if(jo(Z))return Z.options??[];if(X)return b(N,me=>({...me,fields:me.fields.map(ie=>ue(ie)===M||ie.code===M?{...ie,options:[]}:ie)})),[];const Fe=await u({...se},{type:"fieldOptions",requestSource:"inner",tagId:N.requestTagId??N.tagId,node:w(N),section:N,field:Z,params:le(se.params),model:ee,row:H}),qe=zo(Fe);return b(N,me=>({...me,fields:me.fields.map(ie=>ue(ie)===M||ie.code===M?{...ie,options:qe}:ie)})),qe},$e=(c,d)=>{if(Array.isArray(d)){Ie(c,d);return}b(c,h=>({...h,model:d,rows:h.renderType==="form"?[{...h.rows[0],...d}]:h.rows,fields:h.fields.map(N=>({...N,value:d[ue(N)]}))}))},Ie=(c,d)=>{b(c,h=>({...h,rows:d,data:d}))},Dt={loadTree:Q,selectNode:j,loadDetail:L,reloadActiveSection:ae,loadSection:$,reloadSection:F,getSection:G,getSectionStatus:te,startEdit:B,cancelEdit:A,updateField:W,loadFieldOptions:de,updateModel:$e,updateTableRows:Ie,saveRow:(c,d={},h=-1)=>{const M=[...S(c)?.rows??[]];M.splice(h>=0?h:M.length,h>=0?1:0,d),Ie(c,M)},deleteRow:(c,d)=>{const h=S(c),N=typeof d=="string"?Number(d):d,M=(h?.rows??[]).filter((Z,ee)=>ee!==N);Ie(c,M)},saveSection:async(c=p.value)=>{const d=_(c),h=S(c);if(!h)return null;const N=qo(h);if(!N)throw ve("section.operationInfo.editInfoSet is required");r.value=!0,a.value=null,d&&d!==re(h)&&K(d,{saving:!0,error:null}),K(h,{saving:!0,error:null});try{const{tagId:M,...Z}=O(s.value,h),ee=mt(h,Z),H=await u(N,{type:"editInfoSet",requestSource:"inner",tagId:h.requestTagId??h.tagId,node:s.value,section:h,params:ee,model:h.model});return A(h),await F(h),H}catch(M){throw a.value=M,d&&d!==re(h)&&K(d,{saving:!1,error:M}),K(h,{saving:!1,error:M}),M}finally{r.value=!1,d&&d!==re(h)&&K(d,{saving:!1}),K(h,{saving:!1})}},isEditing:pe};return e.watch(()=>o.emplid,()=>{(o.autoLoad??!0)&&Q()}),e.onMounted(()=>{(o.autoLoad??!0)&&Q()}),{viewModel:i,nodes:l,sections:k,sectionMap:g,sectionStatusMap:y,activeNode:s,activeSection:p,state:I,actions:Dt}},Uo=e.defineComponent({name:"GlobalInfoProvider",__name:"GlobalInfoProvider",props:{service:{},adaptScene:{},emplid:{},autoLoad:{type:Boolean,default:!0},initialActiveNodeKey:{},renderConfig:{},formatOperationParams:{}},setup(o){const t=o,n=_t(t),{viewModel:r,nodes:a,sections:l,activeNode:i,activeSection:s,state:p,actions:g}=n;return(T,f)=>e.renderSlot(T.$slots,"default",e.normalizeProps(e.guardReactiveProps({viewModel:e.unref(r),nodes:e.unref(a),sections:e.unref(l),activeNode:e.unref(i),activeSection:e.unref(s),state:e.unref(p),actions:e.unref(g),renderConfig:t.renderConfig})))}}),Wo="data:image/svg+xml,%3csvg%20width='12'%20height='12'%20viewBox='0%200%2012%2012'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M0.437665%2012C0.316763%2011.9845%200.205604%2011.9251%200.125029%2011.8329C0.0444551%2011.7407%200%2011.622%200%2011.499C0%2011.3761%200.0444551%2011.2574%200.125029%2011.1652C0.205604%2011.0729%200.316763%2011.0135%200.437665%2010.998H11.5623C11.6832%2011.0135%2011.7944%2011.0729%2011.875%2011.1652C11.9555%2011.2574%2012%2011.3761%2012%2011.499C12%2011.622%2011.9555%2011.7407%2011.875%2011.8329C11.7944%2011.9251%2011.6832%2011.9845%2011.5623%2012H0.437665ZM9.59963%200.233088L10.72%201.36329C10.868%201.51347%2010.9511%201.71663%2010.9511%201.92839C10.9511%202.14015%2010.868%202.34331%2010.72%202.49349L3.61614%209.6354C3.54189%209.70969%203.45384%209.76846%203.35702%209.80835C3.26021%209.84824%203.15654%209.86846%203.05196%209.86785H1.57397C1.4686%209.86785%201.36754%209.82562%201.29303%209.75046C1.21852%209.6753%201.17666%209.57336%201.17666%209.46707V7.93609C1.17606%207.8306%201.1961%207.72602%201.23564%207.62836C1.27519%207.5307%201.33345%207.44188%201.4071%207.36698L8.47921%200.233088C8.62809%200.0837965%208.82949%200%209.03942%200C9.24935%200%209.45074%200.0837965%209.59963%200.233088ZM2.16993%208.01624V8.8659H3.01223L9.88569%201.9324L9.04339%201.07473L2.16993%208.01624Z'%20fill='%23E60000'/%3e%3c/svg%3e";function je(o){return Ye(o.type||o.fieldType||o.frontInputType)||Ye(o.renderType)||"text"}function ze(o){return Qe(o.type||o.fieldType||o.frontInputType)||Qe(o.renderType)||"text"}function ce(o){if(o==null)return!0;if(typeof o=="string")return o.trim()==="";if(Array.isArray(o))return o.length===0||o.every(t=>ce(t));if(o instanceof Date)return Number.isNaN(o.getTime());if(typeof File<"u"&&o instanceof File)return o.name.trim()==="";if(typeof o=="object"){const t=Object.entries(o).filter(([n])=>!n.startsWith("__"));return t.length===0||t.every(([,n])=>ce(n))}return!1}function Et(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 Vt(o,t,n="-"){const r=ze(o);return r==="empty"||ce(t)?n:Et(t)?(console.error("[globalInfo] field value render failed",t),n):r==="select"?on(o,t,n):r==="switch"?Nt(t)?"是":"否":r==="file"?nn(t,n):r==="multi-row"?rn(t,n):String(t)}function Ne(o,t){return Array.isArray(t)?t:Pe(o)?typeof t=="string"?t.split(",").map(n=>n.trim()).filter(Boolean):ce(t)?[]:[t]:[t]}function Zo(o,t){return Pe(o)?Ne(o,t):t}function Yo(o,t){return Pe(o)?Array.isArray(t)?t.map(n=>String(n??"").trim()).filter(Boolean).join(","):t??"":t}function Nt(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 Te(o,t,n,r={}){const a=Qo(r);return o.filter(l=>l.visible?!Xo(l,t,n,a,r.rows):!1)}function We(o){return Tt(o).some(n=>["序号","index","idx","seq","seqno","serial","order","rownum","row_no"].includes(n))}function Ze(o){return Tt(o).includes("seqno")}function Ye(o){const t=String(o??"").toLowerCase();return t==="upload"||t==="attachment"?"file":t==="radio"||t==="checkbox"?"select":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 Qe(o){const t=String(o??"").toLowerCase();return t==="upload"||t==="attachment"?"file":t==="radio"||t==="checkbox"?"select":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 Qo(o){return o.rows?.length?o.rows:[o.values??{}]}function Xo(o,t,n,r,a){const l=n?.hiddenRule;return l?r.some(i=>{try{const s=i[o.code];return l({field:o,section:t,values:i,allValues:i,value:s,currentValue:s,rows:a})}catch(s){return console.error("[globalInfo] hidden rule failed",s),!1}}):!1}function Tt(o){return en([o.id,o.key,o.code,o.name,o.label,o.prop])}function en(o){return Array.from(new Set(o.map(t=>tn(t)).filter(Boolean)))}function tn(o){return String(o??"").trim().toLowerCase()}function on(o,t,n){const r=Pe(o);if(Array.isArray(t)||r){const a=Ne(o,t).map(i=>Xe(o,i)||String(i??"").trim()).filter(Boolean),l=r?",":"、";return a.length>0?a.join(l):n}return Xe(o,t)||String(t).trim()||n}function Pe(o){return!!o.props?.multiple&&(je(o)==="select"||ze(o)==="select")}function Xe(o,t){return o.options?.find(r=>r.value===t||String(r.value)===String(t))?.label??""}function nn(o,t){if(Array.isArray(o)){const n=o.map(r=>et(r)).filter(Boolean);return n.length>0?n.join("、"):t}return et(o)||t}function et(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 rn(o,t){return Array.isArray(o)?o.map(r=>Et(r)?(console.error("[globalInfo] multi-row field item render failed",r),""):ce(r)?"":r&&typeof r=="object"?JSON.stringify(r):String(r).trim()).filter(Boolean).join(`
3
- `)||t:String(o).trim()||t}const an=["disabled","accept","multiple"],ln={key:0,class:"global-info-field-control__file-text"},sn={key:1,class:"global-info-field-control__file-upload"},cn=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,r=t,a=["textarea","html","code","multi-row"],l=e.computed(()=>je(n.field)),i=e.computed(()=>n.disabled||n.field.disabled||n.field.readonly),s=e.computed(()=>n.modelValue===void 0||n.modelValue===null?"":String(n.modelValue)),p=e.computed(()=>{if(n.modelValue===void 0||n.modelValue===null||n.modelValue==="")return;const v=typeof n.modelValue=="number"?n.modelValue:Number(n.modelValue);return Number.isFinite(v)?v:void 0}),g=e.computed(()=>Zo(n.field,n.modelValue)),T=e.computed(()=>{const v=n.field.props?.activeValue??n.field.props?.["active-value"],_=n.field.props?.inactiveValue??n.field.props?.["inactive-value"];return v!==void 0||_!==void 0?n.modelValue??_??!1:Nt(n.modelValue)}),f=e.computed(()=>l.value==="code"?5:3),y=e.computed(()=>l.value==="file"&&!ce(n.modelValue)),m=e.computed(()=>Vt(n.field,n.modelValue,"请选择文件")),k=e.computed(()=>n.field.placeholder?n.field.placeholder:l.value==="select"?"请选择":l.value==="date"?"请选择日期":l.value==="file"?"请选择文件":"请输入");function I(v){r("update:modelValue",V(v))}function P(v){r("change",V(v))}function V(v){return l.value==="select"?Yo(n.field,v):v}function O(v){v&&r("loadOptions")}function u(v){const _=v.target,S=Array.from(_.files??[]),E=n.field.props?.multiple?S:S[0]??null;I(E),P(E)}return(v,_)=>{const S=D.ElOption,E=D.ElSelect,C=D.ElDatePicker,w=D.ElInputNumber,z=D.ElSwitch,te=D.ElInput;return l.value==="select"?(e.openBlock(),e.createBlock(E,e.mergeProps({key:0,class:"global-info-field-control"},v.field.props,{"model-value":g.value,placeholder:k.value,disabled:i.value,clearable:"",onVisibleChange:O,"onUpdate:modelValue":I,onChange:P}),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(v.field.options||[],K=>(e.openBlock(),e.createBlock(S,{key:String(K.value),label:K.label,value:K.value},null,8,["label","value"]))),128))]),_:1},16,["model-value","placeholder","disabled"])):l.value==="date"?(e.openBlock(),e.createBlock(C,e.mergeProps({key:1,class:"global-info-field-control"},v.field.props,{"model-value":v.modelValue,placeholder:k.value,disabled:i.value,type:"date","value-format":"YYYY-MM-DD","onUpdate:modelValue":I,onChange:P}),null,16,["model-value","placeholder","disabled"])):l.value==="number"?(e.openBlock(),e.createBlock(w,e.mergeProps({key:2,class:"global-info-field-control"},v.field.props,{"model-value":p.value,placeholder:k.value,disabled:i.value,"controls-position":"right","onUpdate:modelValue":I,onChange:P}),null,16,["model-value","placeholder","disabled"])):l.value==="switch"?(e.openBlock(),e.createBlock(z,e.mergeProps({key:3,class:"global-info-field-control global-info-field-control--switch"},v.field.props,{"model-value":T.value,disabled:i.value,"onUpdate:modelValue":I,onChange:P}),null,16,["model-value","disabled"])):l.value==="file"?(e.openBlock(),e.createElementBlock("label",{key:4,class:e.normalizeClass(["global-info-field-control global-info-field-control--file",{"is-disabled":i.value,"is-empty":!y.value,"is-filled":y.value}])},[e.createElementVNode("input",{class:"global-info-field-control__file-input",type:"file",disabled:i.value,accept:String(v.field.props?.accept??""),multiple:!!v.field.props?.multiple,onChange:u},null,40,an),y.value?(e.openBlock(),e.createElementBlock("span",ln,e.toDisplayString(m.value),1)):(e.openBlock(),e.createElementBlock("span",sn,"上 传"))],2)):l.value==="empty"?(e.openBlock(),e.createBlock(te,{key:5,class:"global-info-field-control","model-value":"",disabled:"",placeholder:"-"})):(e.openBlock(),e.createBlock(te,e.mergeProps({key:6,class:["global-info-field-control",{"global-info-field-control--code":l.value==="code"}]},v.field.props,{"model-value":s.value,placeholder:k.value,disabled:i.value,type:a.includes(l.value)?"textarea":"text",rows:a.includes(l.value)?f.value:void 0,"onUpdate:modelValue":I,onChange:P}),null,16,["class","model-value","placeholder","disabled","type","rows"]))}}}),xe=Y(cn,[["__scopeId","data-v-cc5c8aa9"]]),un=["innerHTML"],dn={key:1,class:"global-info-field-value global-info-field-value--code"},pn=e.defineComponent({name:"GlobalInfoFieldValue",__name:"GlobalInfoFieldValue",props:{field:{},value:{},emptyText:{default:"-"}},setup(o){const t=o,n=e.computed(()=>ze(t.field)),r=e.computed(()=>n.value==="empty"||ce(t.value)),a=e.computed(()=>Vt(t.field,t.value,t.emptyText));return(l,i)=>n.value==="html"&&!r.value?(e.openBlock(),e.createElementBlock("span",{key:0,class:"global-info-field-value global-info-field-value--html",innerHTML:a.value},null,8,un)):n.value==="code"&&!r.value?(e.openBlock(),e.createElementBlock("pre",dn,e.toDisplayString(a.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"&&!r.value}])},e.toDisplayString(a.value),3))}}),Ae=Y(pn,[["__scopeId","data-v-08b37e58"]]);function _e(o){return je(o)==="select"&&!!o.interface}function Ee(o,t,n={},r=""){const a=t.key||t.id||t.code,l=(t.cascadeDependFields??[]).map(i=>`${i}:${String(n[i]??"")}`).join("|");return[o,r,a,l].join("::")}function Pt(o,t,n){return Array.isArray(o.options)&&o.options.length>0?t===n?!0:!t&&(o.cascadeDependFields??[]).length===0:!1}const fn={class:"global-info-form-renderer__label"},mn={key:0,class:"global-info-form-renderer__required"},gn=e.defineComponent({name:"GlobalInfoFormRenderer",__name:"GlobalInfoFormRenderer",props:{section:{},node:{},editing:{type:Boolean},state:{},actions:{},model:{},onUpdateModel:{type:Function},renderConfig:{}},setup(o){const t=o,n=e.useSlots(),r=e.computed(()=>t.model??t.section.model),a=new Map,l=e.computed(()=>Te(t.section.fields,t.section,t.renderConfig,{values:r.value}));function i(u,v){const _={...r.value,[u.code]:v};(u.cascadeClearFields??[]).forEach(S=>{_[S]=""}),t.onUpdateModel?.(_),t.onUpdateModel||t.actions.updateField(t.section,u,v),s(u,v,_)}function s(u,v,_){const S=t.renderConfig?.onFieldBusinessChange;if(S)try{const E=p(u,v),C={field:u,value:v,section:t.section,model:_,values:_,node:t.node,activeNode:t.node,sections:g(),sectionValues:T(t.section,_),actions:t.actions,selectedOption:E[0],selectedOptions:E};Promise.resolve(S(C)).catch(w=>{console.error("[GlobalInfoFormRenderer] field business change failed",w)})}catch(E){console.error("[GlobalInfoFormRenderer] field business change failed",E)}}function p(u,v){const _=Ne(u,v);return(u.options??[]).filter(S=>_.some(E=>S.value===E||String(S.value)===String(E)))}function g(){return Object.values(t.state.sectionMap)}function T(u,v){const S=g().flatMap(E=>{const C=E.key===u.key?v:E.renderType==="table"?E.rows:E.model;return[E.key,E.id,E.setId,E.infSetId,E.code].filter(Boolean).map(w=>[String(w),C])});return Object.fromEntries(S)}async function f(u){try{await t.actions.loadFieldOptions(t.section,u,r.value)}catch(v){console.error("[GlobalInfoFormRenderer] load field options failed",v)}}async function y(){for(const u of l.value){const v=r.value[u.code];if(!V(u,v))continue;const _=Ee(t.section.key,u,r.value),S=P(u),E=a.get(S);if(Pt(u,E,_)){a.set(S,_);continue}E!==_&&(a.set(S,_),await f(u))}}e.watch(()=>t.section.key,()=>{a.clear()}),e.watch(()=>t.editing,()=>{y()},{immediate:!0}),e.watch(()=>l.value.filter(u=>_e(u)).map(u=>Ee(t.section.key,u,r.value)).join("||"),()=>{y()});function m(u){const v=r.value[u.code];return{field:u,section:t.section,sectionView:t.section,node:t.node,editing:t.editing,modelValue:v,value:v,state:t.state,actions:t.actions,updateModelValue:_=>i(u,_)}}function k(u){const v=String(u.id||u.key||u.code||"").trim(),_=v?`field-${v}`:"";if(_&&n[_])return _;const S=_.toLowerCase();return S!==_&&n[S]?S:""}function I(u){return u.span?Math.min(Math.max(u.span,1),24):6}function P(u){return u.key||u.id||u.code}function V(u,v){return _e(u)?t.editing?!0:!ce(v):!1}function O(u){return u.required||u.isRequired}return(u,v)=>{const _=D.ElFormItem,S=D.ElCol,E=D.ElRow,C=D.ElForm;return e.openBlock(),e.createBlock(C,{class:"global-info-form-renderer",model:r.value,"label-position":"top"},{default:e.withCtx(()=>[e.createVNode(E,{gutter:24},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,w=>(e.openBlock(),e.createBlock(S,{key:P(w),span:I(w)},{default:e.withCtx(()=>[e.createVNode(_,e.mergeProps({prop:w.code,ref_for:!0},w.formItemProps),{label:e.withCtx(()=>[e.createElementVNode("span",fn,[O(w)?(e.openBlock(),e.createElementBlock("span",mn,"*")):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(w.label),1)])]),default:e.withCtx(()=>[k(w)?e.renderSlot(u.$slots,k(w),e.mergeProps({key:0,ref_for:!0},m(w)),void 0,!0):u.editing&&!w.readonly?(e.openBlock(),e.createBlock(xe,{key:1,field:w,"model-value":r.value[w.code],section:u.section,onLoadOptions:()=>f(w),"onUpdate:modelValue":z=>i(w,z)},null,8,["field","model-value","section","onLoadOptions","onUpdate:modelValue"])):(e.openBlock(),e.createBlock(Ae,{key:2,field:w,value:r.value[w.code],section:u.section},null,8,["field","value","section"]))]),_:2},1040,["prop"])]),_:2},1032,["span"]))),128))]),_:3})]),_:3},8,["model"])}}}),$t=Y(gn,[["__scopeId","data-v-b049423d"]]),Ft=e.defineComponent({name:"GlobalInfoDeleteConfirm",__name:"GlobalInfoDeleteConfirm",props:{title:{default:"确认删除吗?"},confirmText:{default:"确认"},cancelText:{default:"取消"}},emits:["confirm","cancel"],setup(o){return(t,n)=>{const r=D.ElPopconfirm;return e.openBlock(),e.createBlock(r,{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]=a=>t.$emit("confirm")),onCancel:n[1]||(n[1]=a=>t.$emit("cancel"))},{reference:e.withCtx(()=>[e.renderSlot(t.$slots,"default")]),_:3},8,["title","confirm-button-text","cancel-button-text"])}}}),vn={class:"global-info-table-renderer__table-scroll"},hn={class:"global-info-table-renderer__header"},yn={key:0,class:"global-info-table-renderer__required"},bn=e.defineComponent({name:"GlobalInfoTableRenderer",__name:"GlobalInfoTableRenderer",props:{section:{},node:{},editing:{type:Boolean},state:{},actions:{},showAdd:{type:Boolean,default:!0},showDelete:{type:Boolean,default:!0},renderConfig:{}},setup(o){const t=o,n=e.useSlots(),r=e.computed(()=>t.section.fields.some(b=>Ze(b))),a=e.computed(()=>r.value),l=e.computed(()=>t.renderConfig?.sequenceLabel??"序号"),i=e.computed(()=>t.renderConfig?.sequenceWidth??56),s=e.computed(()=>{const b=t.renderConfig?.sequenceStart;return typeof b=="number"&&Number.isFinite(b)?b:1}),p=e.computed(()=>{const b=Te(t.section.fields,t.section,t.renderConfig,{rows:t.section.rows,values:t.section.model});return a.value?b.filter($=>!z($)):b}),g=new Map;function T(b){t.actions.deleteRow(t.section,b)}function f(b,$,F,G){const L=t.section.rows.slice(),U=F.cascadeClearFields??[],J={...b,__rowKey:ne(b),[F.code]:G};U.forEach(j=>{J[j]=""}),L[$]={...J},t.actions.updateTableRows(t.section,L),y(F,G,J,$,L)}function y(b,$,F,G,L){const U=t.renderConfig?.onFieldBusinessChange;if(U)try{const J=m(b,$),j={...t.section.model,...F},Q={field:b,value:$,section:t.section,model:j,values:j,row:F,rowIndex:G,rows:L,node:t.node,activeNode:t.node,sections:k(),sectionValues:I(t.section,L),actions:t.actions,selectedOption:J[0],selectedOptions:J};Promise.resolve(U(Q)).catch(ae=>{console.error("[GlobalInfoTableRenderer] field business change failed",ae)})}catch(J){console.error("[GlobalInfoTableRenderer] field business change failed",J)}}function m(b,$){const F=Ne(b,$);return(b.options??[]).filter(G=>F.some(L=>G.value===L||String(G.value)===String(L)))}function k(){return Object.values(t.state.sectionMap)}function I(b,$){const G=k().flatMap(L=>{const U=L.key===b.key?$:L.renderType==="table"?L.rows:L.model;return[L.key,L.id,L.setId,L.infSetId,L.code].filter(Boolean).map(J=>[String(J),U])});return Object.fromEntries(G)}async function P(b,$){try{await t.actions.loadFieldOptions(t.section,b,$)}catch(F){console.error("[GlobalInfoTableRenderer] load field options failed",F)}}async function V(){for(const b of t.section.rows){const $=ne(b);for(const F of p.value){const G=b[F.code];if(!_(F,G))continue;const L=Ee(t.section.key,F,b,$),U=`${$}:${C(F)}`,J=g.get(U);if(Pt(F,J,L)){g.set(U,L);continue}J!==L&&(g.set(U,L),await P(F,b))}}}function O(b,$,F){const G=$[b.code];return{field:b,section:t.section,sectionView:t.section,node:t.node,row:$,rowIndex:F,editing:t.editing,modelValue:G,value:G,state:t.state,actions:t.actions,updateModelValue:L=>f($,F,b,L)}}function u(b){const $=String(b.id||b.key||b.code||"").trim(),F=$?`field-${$}`:"";if(F&&n[F])return F;const G=F.toLowerCase();return G!==F&&n[G]?G:""}function v(b){return!b.readonly&&!b.disabled}function _(b,$){return _e(b)?t.editing?!0:!ce($):!1}function S(b){return b.width??(We(b)?56:void 0)}function E(b){if(!b.width)return b.minWidth??(We(b)?56:void 0)}function C(b){return b.key||b.id||b.code}function w(b){return s.value+b}function z(b){return Ze(b)}let te=0;const K=new WeakMap;function ne(b){const $=b.__rowKey??b.key??b.id??b.setId??b.infSetId;if($!=null&&$!=="")return String($);const F=b,G=K.get(F);if(G)return G;te+=1;const L=`local-${te}`;return K.set(F,L),L}function fe(b){return b.required||b.isRequired}return e.watch(()=>t.section.key,()=>{g.clear()}),e.watch(()=>t.editing,()=>{V()},{immediate:!0}),e.watch(()=>t.section.rows.flatMap(b=>p.value.filter($=>_e($)).map($=>Ee(t.section.key,$,b,ne(b)))).join("||"),()=>{V()}),(b,$)=>{const F=D.ElTableColumn,G=e.resolveComponent("Delete"),L=D.ElIcon,U=D.ElButton,J=D.ElTable;return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["global-info-table-renderer",{"global-info-table-renderer--editing":b.editing}])},[e.createElementVNode("div",vn,[e.createVNode(J,{class:"global-info-table-renderer__table",data:b.section.rows,fit:!0,"table-layout":"auto","row-key":ne},{default:e.withCtx(()=>[a.value?(e.openBlock(),e.createBlock(F,{key:0,type:"index",label:l.value,width:i.value,index:w},null,8,["label","width"])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p.value,j=>(e.openBlock(),e.createBlock(F,{key:C(j),prop:j.code,label:j.label,width:S(j),"min-width":E(j)},{header:e.withCtx(()=>[e.createElementVNode("span",hn,[fe(j)?(e.openBlock(),e.createElementBlock("span",yn,"*")):e.createCommentVNode("",!0),e.createElementVNode("span",null,e.toDisplayString(j.label),1)])]),default:e.withCtx(({row:Q,$index:ae})=>[u(j)?e.renderSlot(b.$slots,u(j),e.mergeProps({key:0,ref_for:!0},O(j,Q,ae)),void 0,!0):b.editing&&v(j)?(e.openBlock(),e.createBlock(xe,{key:1,field:j,"model-value":Q[j.code],section:b.section,row:Q,"row-index":ae,onLoadOptions:()=>P(j,Q),"onUpdate:modelValue":pe=>f(Q,ae,j,pe)},null,8,["field","model-value","section","row","row-index","onLoadOptions","onUpdate:modelValue"])):(e.openBlock(),e.createBlock(Ae,{key:2,field:j,value:Q[j.code],section:b.section,row:Q,"row-index":ae},null,8,["field","value","section","row","row-index"]))]),_:2},1032,["prop","label","width","min-width"]))),128)),b.editing?(e.openBlock(),e.createBlock(F,{key:1,label:"操作",width:"104",fixed:"right"},{default:e.withCtx(({$index:j})=>[b.showDelete?(e.openBlock(),e.createBlock(Ft,{key:0,onConfirm:Q=>T(j)},{default:e.withCtx(()=>[e.createVNode(U,{class:"global-info-table-renderer__delete",link:"",type:"danger"},{default:e.withCtx(()=>[e.createVNode(L,{class:"global-info-table-renderer__delete-icon"},{default:e.withCtx(()=>[e.createVNode(G)]),_:1}),$[0]||($[0]=e.createTextVNode(" 删除 "))]),_:1})]),_:2},1032,["onConfirm"])):e.createCommentVNode("",!0)]),_:1})):e.createCommentVNode("",!0)]),_:3},8,["data"])])],2)}}}),Mt=Y(bn,[["__scopeId","data-v-5a2ec852"]]),Rt=e.defineComponent({name:"GlobalInfoAutoRenderer",__name:"GlobalInfoAutoRenderer",props:{section:{},node:{},editing:{type:Boolean},state:{},actions:{},renderConfig:{}},setup(o){return(t,n)=>t.section.renderType==="table"?(e.openBlock(),e.createBlock(Mt,{key:0,section:t.section,node:t.node,editing:t.editing,state:t.state,actions:t.actions,"render-config":t.renderConfig},null,8,["section","node","editing","state","actions","render-config"])):(e.openBlock(),e.createBlock($t,{key:1,section:t.section,node:t.node,editing:t.editing,state:t.state,actions:t.actions,"render-config":t.renderConfig},null,8,["section","node","editing","state","actions","render-config"]))}}),Lt=e.defineComponent({name:"GlobalInfoSectionOutlet",__name:"GlobalInfoSectionOutlet",props:{section:{},node:{},editing:{type:Boolean},state:{},actions:{},renderConfig:{}},setup(o){const t=o,n=e.useSlots(),r=e.computed(()=>Te(t.section.fields,t.section,t.renderConfig,{values:t.section.model,rows:t.section.renderType==="table"?t.section.rows:void 0})),a=e.computed(()=>t.editing??t.actions.isEditing(t.section)),l=e.computed(()=>t.section.renderType==="table"&&t.section.rows.length===0||r.value.length===0),i=e.computed(()=>{const g=s(t.section.id||t.section.key),T=p(t.section.renderType);return[g,T,"default"].find(f=>!!(f&&n[f]))??""});function s(g){const T=String(g??"").trim();return T?`section-${T}`:""}function p(g){return g==="form"||g==="table"?g:""}return(g,T)=>i.value?e.renderSlot(g.$slots,i.value,{key:0,section:g.section,sectionView:g.section,node:g.node,editing:a.value,isEmpty:l.value,empty:l.value,fields:r.value,renderConfig:g.renderConfig,state:g.state,actions:g.actions}):(e.openBlock(),e.createBlock(Rt,{key:1,section:g.section,node:g.node,editing:a.value,state:g.state,actions:g.actions,"render-config":g.renderConfig},null,8,["section","node","editing","state","actions","render-config"]))}}),Sn=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 r=e.ref(!1);e.watch(()=>o.boundaryKey,()=>{r.value=!1}),e.onErrorCaptured(l=>(a(l),!1));function a(l){r.value=!0,console.error(`[GlobalInfoSlotErrorBoundary] ${o.label||"section"} slot render failed`,l),t("error",l)}return()=>{if(r.value)return n.fallback?.()??null;try{return n.default?.()??null}catch(l){return a(l),n.fallback?.()??null}}}}),kn={class:"global-info-section-block"},wn={key:0,class:"global-info-section-block__header"},In={class:"global-info-section-block__title-wrap"},Cn={class:"global-info-section-block__title"},Bn={key:0,class:"global-info-section-block__actions"},_n=["src"],En={class:"global-info-section-block__body"},Vn=e.defineComponent({name:"GlobalInfoSectionBlock",__name:"GlobalInfoSectionBlock",props:{node:{},state:{},actions:{},hideHeader:{type:Boolean},renderConfig:{},onEdit:{type:Function},onCancel:{type:Function},onSave:{type:Function}},setup(o){const t=o,n=e.useSlots(),r=e.ref(!1),a=e.ref(null),l=e.ref(null),i=e.computed(()=>!!t.hideHeader),s=e.computed(()=>t.actions.getSectionStatus(t.node)),p=e.computed(()=>t.actions.getSection(t.node)??l.value),g=e.computed(()=>{const C=p.value;return C?Te(C.fields,C,t.renderConfig,{values:C.model,rows:C.renderType==="table"?C.rows:void 0}):[]}),T=e.computed(()=>p.value?.title||t.node.tagName||t.node.label||"-"),f=e.computed(()=>!!(p.value&&t.actions.isEditing(p.value))),y=e.computed(()=>p.value?.renderType==="table"),m=e.computed(()=>r.value||s.value.loading),k=e.computed(()=>V(a.value||s.value.error)),I=e.computed(()=>{const C=p.value;return C?C.renderType==="table"&&C.rows.length===0||g.value.length===0:!0}),P=e.computed(()=>({node:t.node,section:p.value,sectionView:p.value,fields:g.value,renderConfig:t.renderConfig,title:T.value,editing:f.value,loading:m.value,error:a.value||s.value.error,errorMessage:k.value,isEmpty:I.value,empty:I.value,sectionStatus:s.value,state:t.state,actions:t.actions,reload:E,handleEdit:O,handleCancel:u,handleAddTableRow:v,handleSave:_}));function V(C){return C?C instanceof Error?C.message:String(C):""}async function O(){const C=p.value;C&&(await t.onEdit?.(C,t.node),t.onEdit||t.actions.startEdit(C))}async function u(){const C=p.value;C&&(await t.onCancel?.(C,t.node),t.onCancel||t.actions.cancelEdit(C))}function v(){const C=p.value;if(!C)return;const w=C.fields.reduce((z,te)=>(z[te.code]=te.value??"",z),{__rowKey:`new-${Date.now()}`});t.actions.saveRow(C,w,-1)}async function _(){const C=p.value;if(C)try{if(t.onSave){await t.onSave(C,t.node);return}await t.actions.saveSection(C)}catch(w){a.value=w,console.error("[GlobalInfoSectionBlock] save section failed",w)}}function S(C){a.value=C}async function E(){r.value=!0,a.value=null,l.value=null;try{l.value=await t.actions.loadSection(t.node)}catch(C){a.value=C,console.error("[GlobalInfoSectionBlock] load section failed",C)}finally{r.value=!1}}return e.onMounted(()=>{E()}),e.watch(()=>t.node.key,()=>{E()}),(C,w)=>{const z=D.ElButton;return e.openBlock(),e.createElementBlock("section",kn,[i.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("header",wn,[e.renderSlot(C.$slots,"header",e.normalizeProps(e.guardReactiveProps(P.value)),()=>[e.createElementVNode("div",In,[w[0]||(w[0]=e.createElementVNode("span",{class:"global-info-section-block__marker"},null,-1)),e.createElementVNode("h3",Cn,e.toDisplayString(T.value),1)]),e.renderSlot(C.$slots,"actions",e.normalizeProps(e.guardReactiveProps(P.value)),()=>[p.value?(e.openBlock(),e.createElementBlock("div",Bn,[f.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createVNode(z,{class:"global-info-section-block__cancel",disabled:s.value.saving,onClick:u},{default:e.withCtx(()=>w[2]||(w[2]=[e.createTextVNode(" 取消 ")])),_:1},8,["disabled"]),y.value?(e.openBlock(),e.createBlock(z,{key:0,class:"global-info-section-block__add",disabled:s.value.saving,onClick:v},{default:e.withCtx(()=>w[3]||(w[3]=[e.createTextVNode(" 新增 ")])),_:1},8,["disabled"])):e.createCommentVNode("",!0),e.createVNode(z,{class:"global-info-section-block__confirm",loading:s.value.saving,onClick:_},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(y.value?"确认":"保存"),1)]),_:1},8,["loading"])],64)):(e.openBlock(),e.createBlock(z,{key:0,class:"global-info-section-block__edit",disabled:s.value.saving||m.value,onClick:O},{default:e.withCtx(()=>[e.createElementVNode("img",{class:"global-info-section-block__edit-icon",src:e.unref(Wo),alt:""},null,8,_n),w[1]||(w[1]=e.createElementVNode("span",null,"编辑",-1))]),_:1},8,["disabled"]))])):e.createCommentVNode("",!0)],!0)],!0)])),e.createElementVNode("div",En,[m.value?e.renderSlot(C.$slots,"loading",e.normalizeProps(e.mergeProps({key:0},P.value)),()=>[w[4]||(w[4]=e.createElementVNode("div",{class:"global-info-section-block__status"},"加载中...",-1))],!0):!p.value||I.value?e.renderSlot(C.$slots,"empty",e.normalizeProps(e.mergeProps({key:1},P.value)),()=>[w[5]||(w[5]=e.createElementVNode("div",{class:"global-info-section-block__status"},"暂无数据",-1))],!0):(e.openBlock(),e.createBlock(Sn,{key:2,"boundary-key":C.node.key,label:T.value,onError:S},{fallback:e.withCtx(()=>[e.renderSlot(C.$slots,"empty",e.normalizeProps(e.guardReactiveProps(P.value)),()=>[w[6]||(w[6]=e.createElementVNode("div",{class:"global-info-section-block__status"},"暂无数据",-1))],!0)]),default:e.withCtx(()=>[e.createVNode(Lt,{section:p.value,node:C.node,editing:f.value,state:C.state,actions:C.actions,"render-config":C.renderConfig},e.createSlots({_:2},[e.renderList(e.unref(n),(te,K)=>({name:K,fn:e.withCtx(ne=>[e.renderSlot(C.$slots,K,e.normalizeProps(e.guardReactiveProps({...P.value,...ne})),void 0,!0)])}))]),1032,["section","node","editing","state","actions","render-config"])]),_:3},8,["boundary-key","label"]))])])}}}),Ot=Y(Vn,[["__scopeId","data-v-6c47a274"]]),Nn={class:"global-info-group"},Tn={class:"global-info-group__header"},Pn={class:"global-info-group__title"},$n={class:"global-info-group__body"},Fn=["id"],Mn=e.defineComponent({name:"GlobalInfoGroup",__name:"GlobalInfoGroup",props:{group:{},children:{},state:{},actions:{},index:{},renderConfig:{}},setup(o){const t=o,n=e.useSlots(),r=e.computed(()=>t.group.tagName||t.group.label||"-"),a=e.computed(()=>t.children.length<=1);function l(f,y){const m=t.actions.getSection(f);return{node:f,group:t.group,sectionNode:f,section:m,sectionView:m,state:t.state,actions:t.actions,renderConfig:t.renderConfig,index:y,editing:!!(m&&t.actions.isEditing(m)),sectionStatus:t.actions.getSectionStatus(f),isSelfSection:g(f,0)===g(t.group,0),handleEdit:()=>t.actions.startEdit(f),handleCancel:()=>t.actions.cancelEdit(f),handleSave:()=>t.actions.saveSection(f.key)}}function i(f){return s("section",p(f))}function s(f,y){if(!y)return"";const m=`${f}-${y}`;if(n[m])return m;const k=m.toLowerCase();return k!==m&&n[k]?k:""}function p(f){return String(f.id||f.infSetId||f.tagId||f.key||f.code||"").trim()}function g(f,y){return f.key||f.id||f.infSetId||f.tagId||`${y}`}function T(f){return`global-info-section-${g(f,0)}`}return(f,y)=>(e.openBlock(),e.createElementBlock("section",Nn,[e.renderSlot(f.$slots,"header",{group:f.group,children:f.children,state:f.state,actions:f.actions,renderConfig:f.renderConfig,title:r.value,index:f.index,isEmpty:f.children.length===0},()=>[e.createElementVNode("header",Tn,[y[0]||(y[0]=e.createElementVNode("span",{class:"global-info-group__marker"},null,-1)),e.createElementVNode("h2",Pn,e.toDisplayString(r.value),1)])],!0),e.createElementVNode("div",$n,[e.unref(n).default?e.renderSlot(f.$slots,"default",{key:0,group:f.group,children:f.children,state:f.state,actions:f.actions,renderConfig:f.renderConfig,index:f.index,isEmpty:f.children.length===0},void 0,!0):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.children,(m,k)=>(e.openBlock(),e.createElementBlock("div",{id:T(m),key:g(m,k),class:"global-info-group__section"},[i(m)?e.renderSlot(f.$slots,i(m),e.mergeProps({key:0,ref_for:!0},l(m,k)),void 0,!0):e.unref(n).section?e.renderSlot(f.$slots,"section",e.mergeProps({key:1,ref_for:!0},l(m,k)),void 0,!0):(e.openBlock(),e.createBlock(Ot,{key:2,node:m,state:f.state,actions:f.actions,"hide-header":a.value,"render-config":f.renderConfig},e.createSlots({_:2},[e.renderList(e.unref(n),(I,P)=>({name:P,fn:e.withCtx(V=>[e.renderSlot(f.$slots,P,e.mergeProps({ref_for:!0},V),void 0,!0)])}))]),1032,["node","state","actions","hide-header","render-config"]))],8,Fn))),128)),f.children.length===0?e.renderSlot(f.$slots,"empty",{key:0,node:null,group:f.group,sectionNode:null,state:f.state,actions:f.actions,index:-1,renderConfig:f.renderConfig},()=>[y[1]||(y[1]=e.createElementVNode("div",{class:"global-info-group__empty"},"暂无数据",-1))],!0):e.createCommentVNode("",!0)],64))])]))}}),Gt=Y(Mn,[["__scopeId","data-v-c90b8de0"]]),Rn={class:"global-info-sections"},Ln=e.defineComponent({name:"GlobalInfoSections",__name:"GlobalInfoSections",props:{nodes:{},state:{},actions:{},renderConfig:{}},setup(o){const t=o,n=e.useSlots(),r=e.computed(()=>{const y=t.nodes.filter(u=>a(u).length>0),m=t.nodes.filter(u=>a(u).length===0),k=m.filter(u=>l(u)),I=m.filter(u=>!l(u)),P=y.map(u=>({group:u,children:a(u)})),V=k.map(u=>({group:u,children:[u]}));if(P.length===0)return k.length>0?V:f(I);const O=f(I);return[...P,...V,...O]});function a(y){return y.children??[]}function l(y){return!String(y.parentId||y.parentTagId||"").trim()}function i(y){return s("group",p(y))}function s(y,m){if(!m)return"";const k=`${y}-${m}`;if(n[k])return k;const I=k.toLowerCase();return I!==k&&n[I]?I:""}function p(y){return String(y.id||y.tagId||y.key||y.code||"").trim()}function g(y,m){return y.key||y.id||y.tagId||`${m}`}function T(y){const m=y[0],k=m?.raw??{},I=String(k.parentTagName||k.parentName||k.parentLabel||m?.parentId||"信息");return{...m,key:`${m?.parentId||m?.parentTagId||m?.key||"global-info"}-group`,id:String(m?.parentId||m?.parentTagId||m?.id||"global-info-group"),tagId:String(m?.parentTagId||m?.parentId||m?.tagId||"global-info-group"),tagName:I,label:I,children:y}}function f(y){const m=new Map;return y.forEach(k=>{const I=String(k.parentId||k.parentTagId||"global-info-flat"),P=m.get(I)??[];P.push(k),m.set(I,P)}),Array.from(m.values()).map(k=>({group:T(k),children:k}))}return(y,m)=>(e.openBlock(),e.createElementBlock("div",Rn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,(k,I)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:g(k.group,I)},[i(k.group)?e.renderSlot(y.$slots,i(k.group),{key:0,group:k.group,children:k.children,state:y.state,actions:y.actions,renderConfig:y.renderConfig,index:I,isEmpty:k.children.length===0},void 0,!0):e.unref(n).group?e.renderSlot(y.$slots,"group",{key:1,group:k.group,children:k.children,state:y.state,actions:y.actions,renderConfig:y.renderConfig,index:I,isEmpty:k.children.length===0},void 0,!0):(e.openBlock(),e.createBlock(Gt,{key:2,group:k.group,children:k.children,state:y.state,actions:y.actions,"render-config":y.renderConfig,index:I},e.createSlots({_:2},[e.renderList(e.unref(n),(P,V)=>({name:V,fn:e.withCtx(O=>[e.renderSlot(y.$slots,V,e.mergeProps({ref_for:!0},O),void 0,!0)])}))]),1032,["group","children","state","actions","render-config","index"]))],64))),128))]))}}),On=Y(Ln,[["__scopeId","data-v-c0d12f5e"]]);exports.JtAttachmentPreview=Ge.JtAttachmentPreview;exports.JtAttachmentPreviewByParams=Ge.JtAttachmentPreviewByParams;exports.setupJtAttachmentPreview=Ge.setupJtAttachmentPreview;exports.GlobalInfoAutoRenderer=Rt;exports.GlobalInfoDeleteConfirm=Ft;exports.GlobalInfoFieldControl=xe;exports.GlobalInfoFieldValue=Ae;exports.GlobalInfoFormRenderer=$t;exports.GlobalInfoGroup=Gt;exports.GlobalInfoProvider=Uo;exports.GlobalInfoSectionBlock=Ot;exports.GlobalInfoSectionOutlet=Lt;exports.GlobalInfoSections=On;exports.GlobalInfoTableRenderer=Mt;exports.JtButton=he;exports.JtCascader=rt;exports.JtCrudTable=ho;exports.JtDatePicker=at;exports.JtFilterBar=it;exports.JtFormItems=st;exports.JtInput=Ce;exports.JtPageHeader=wo;exports.JtPagination=ut;exports.JtSelect=lt;exports.JtTable=ct;exports.buildGlobalInfoUpdatePayload=mt;exports.createEmptyGlobalInfoViewModel=dt;exports.isGlobalInfoNode=Io;exports.mergeGlobalInfoChildren=De;exports.normalizeGlobalInfoDetail=pt;exports.normalizeGlobalInfoTree=Le;exports.resolveGlobalInfoRenderType=ft;exports.useGlobalInfoController=_t;
2
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),D=require("element-plus/es"),be=require("element-plus"),Ge=require("./JtAttachmentPreview/index.cjs"),Re=2,jt=3;function zt(o){return o.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}function tt(o){if(!o.startsWith("on")||o.length<=Re)return!1;const t=o.charCodeAt(Re);return t<97||t>122}function xt(o){if(o.startsWith("on-"))return o.slice(jt);const[t,n]=o.slice(Re).split(":"),r=zt(t);return n?`${r}:${n}`:r}function ot(o,t=new Set){return Object.fromEntries(Object.entries(o).filter(([n,r])=>!t.has(n)&&tt(n)&&typeof r=="function").map(([n,r])=>[xt(n),r]))}function nt(o,t=new Set){return Object.fromEntries(Object.entries(o).filter(([n])=>!t.has(n)&&!tt(n)))}const At=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(),r=e.computed(()=>{const{icon:l,...i}=t;return{...nt(n),...i}}),a=e.computed(()=>ot(n));return(l,i)=>{const s=D.ElIcon,p=D.ElButton;return e.openBlock(),e.createBlock(p,e.mergeProps({class:"jt-button"},r.value,e.toHandlers(a.value)),{default:e.withCtx(()=>[l.$slots.icon?(e.openBlock(),e.createBlock(s,{key:0,class:"jt-button__icon"},{default:e.withCtx(()=>[e.renderSlot(l.$slots,"icon",{},void 0,!0)]),_:3})):t.icon?(e.openBlock(),e.createBlock(s,{key:1,class:"jt-button__icon"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.icon)))]),_:1})):e.createCommentVNode("",!0),e.renderSlot(l.$slots,"default",{},void 0,!0)]),_:3},16)}}}),Y=(o,t)=>{const n=o.__vccOpts||o;for(const[r,a]of t)n[r]=a;return n},he=Y(At,[["__scopeId","data-v-a8344276"]]),qt={options:()=>[],placeholder:"请选择",clearable:!0,persistent:!0};function Ke(o){return Object.fromEntries(Object.entries(o).filter(([,t])=>t!==void 0))}function Kt(o){const t=Ke(o);return t.props&&(t.props=Ke(t.props)),t}const rt=e.defineComponent({name:"JtCascader",__name:"index",props:e.mergeDefaults({size:{},placeholder:{},disabled:{type:Boolean},clearable:{type:Boolean},clearIcon:{},filterable:{type:Boolean},filterMethod:{type:Function},separator:{},showAllLevels:{type:Boolean},collapseTags:{type:Boolean},maxCollapseTags:{},collapseTagsTooltip:{type:Boolean},maxCollapseTagsTooltipHeight:{},debounce:{},beforeFilter:{type:Function},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:{}},qt),emits:be.cascaderEmits,setup(o,{emit:t}){const n=o,r=e.computed(()=>Kt(n)),a=e.ref(n.modelValue);e.watch(()=>n.modelValue,I=>{a.value=I},{deep:!0});const l=t;function i(I,...P){l(I,...P)}function s(I){a.value=I,i("update:modelValue",I)}function p(I){i("change",I)}function g(I){i("focus",I)}function T(I){i("blur",I)}function f(){i("clear")}function y(I){i("visibleChange",I)}function m(I){i("expandChange",I)}function k(I){i("removeTag",I)}return(I,P)=>{const V=D.ElCascader;return e.openBlock(),e.createBlock(V,e.mergeProps({class:"jt-cascader"},r.value,{"model-value":a.value,"onUpdate:modelValue":s,onChange:p,onFocus:g,onBlur:T,onClear:f,onVisibleChange:y,onExpandChange:m,onRemoveTag:k}),null,16,["model-value"])}}}),Jt=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??(r(t.type)?"开始日期":void 0),endPlaceholder:t.endPlaceholder??(r(t.type)?"结束日期":void 0)}));function r(a){return a?.includes("range")??!1}return(a,l)=>{const i=D.ElDatePicker;return e.openBlock(),e.createBlock(i,e.mergeProps({class:"jt-date-picker"},n.value,{"onUpdate:modelValue":l[0]||(l[0]=s=>a.$emit("update:modelValue",s))}),null,16)}}}),at=Y(Jt,[["__scopeId","data-v-7aa4706e"]]),Ht=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:{...be.inputEmits,enter:()=>!0},setup(o,{emit:t}){const n=o,r=t,a=e.computed(()=>Object.fromEntries(Object.keys(be.inputEmits).map(l=>[l,(...i)=>r(l,...i)])));return(l,i)=>{const s=D.ElInput;return e.openBlock(),e.createBlock(s,e.mergeProps({class:"jt-input"},n,e.toHandlers(a.value),{onKeyup:i[0]||(i[0]=e.withKeys(p=>r("enter"),["enter"]))}),null,16)}}}),Ce=Y(Ht,[["__scopeId","data-v-031428a1"]]),Ut=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:be.selectEmits,setup(o,{emit:t}){const n=o,r=e.computed(()=>{const{options:i,...s}=n;return s}),a=t,l=e.computed(()=>Object.fromEntries(Object.keys(be.selectEmits).map(i=>[i,(...s)=>a(i,...s)])));return(i,s)=>{const p=D.ElOption,g=D.ElSelect;return e.openBlock(),e.createBlock(g,e.mergeProps({class:"jt-select"},r.value,e.toHandlers(l.value)),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.options??[],T=>(e.openBlock(),e.createBlock(p,e.mergeProps({key:T.value,ref_for:!0},T),null,16))),128))]),_:1},16)}}}),lt=Y(Ut,[["__scopeId","data-v-c67cfa84"]]),Wt={class:"jt-form-items"},Me=4,Zt=e.defineComponent({name:"JTFormItems",__name:"JtFormItems",props:{configs:{},formData:{},span:{}},setup(o){const t=o,n={input:Ce,select:lt,cascader:rt,"date-picker":at},r={"remote-select":"select",date:"date-picker",daterange:"date-picker","date-range":"date-picker",dateRange:"date-picker"},a=new Set(["prop","label","itemType","span","options","rules","formItemProps","showSlot","show"]),l=Object.keys(n),i=new Map,s=e.computed(()=>t.configs.filter(u=>u.show!==!1)),p=u=>{const{itemType:v}=u;if(!v)return Ce;if(typeof v!="string")return v;const _=r[v]??v;return l.includes(_)?n[_]:(console.error(`[JtFormItems] 不支持的 itemType: "${v}",支持的类型: ${l.join(", ")}`),Ce)},g=u=>{const v=nt(u,a);return u.itemType==="select"||u.itemType==="remote-select"||u.itemType==="cascader"?{...v,options:u.options}:O(u.itemType)?{...v,type:"daterange"}:v},T=u=>ot(u,a),f=u=>({rules:u.rules,...u.formItemProps}),y=(u,v)=>{t.formData[u]=v};function m(u){return v=>{if(v){i.set(u,v);return}i.delete(u)}}function k(u,v){e.nextTick(()=>{i.get(u)?.validate(v).catch(()=>{})})}const I=u=>Math.min(Math.max(Math.trunc(u||1),1),4),P=e.computed(()=>{const v=s.value.reduce((_,S)=>_+I(t.span||S.span),0)%Me;return v===0?{gridColumn:`1 / span ${Me}`}:{gridColumn:`${v+1} / span ${Me-v}`}}),V=u=>({gridColumn:`span ${I(t.span||u.span)}`});function O(u){return u==="daterange"||u==="date-range"||u==="dateRange"}return(u,v)=>{const _=D.ElFormItem;return e.openBlock(),e.createElementBlock("div",Wt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,S=>(e.openBlock(),e.createBlock(_,e.mergeProps({key:S.prop,ref_for:!0,ref:m(S.prop),class:"jt-form-items__item",style:V(S),label:S.label,prop:S.prop},f(S)),{default:e.withCtx(()=>[S.showSlot?e.renderSlot(u.$slots,S.prop,{key:0},void 0,!0):(e.openBlock(),e.createBlock(e.resolveDynamicComponent(p(S)),e.mergeProps({key:1,"model-value":u.formData[S.prop],ref_for:!0},g(S),e.toHandlers(T(S)),{"onUpdate:modelValue":E=>y(S.prop,E),onChange:()=>k(S.prop,"change"),onBlur:()=>k(S.prop,"blur")}),null,16,["model-value","onUpdate:modelValue","onChange","onBlur"]))]),_:2},1040,["style","label","prop"]))),128)),u.$slots.actions?(e.openBlock(),e.createBlock(_,{key:0,class:"jt-form-items__actions",style:e.normalizeStyle(P.value)},{default:e.withCtx(()=>[e.renderSlot(u.$slots,"actions",{},void 0,!0)]),_:3},8,["style"])):e.createCommentVNode("",!0)])}}}),st=Y(Zt,[["__scopeId","data-v-cb82fcfc"]]);function Yt(){const o=e.ref(!1);function t(){o.value=!0}function n(){o.value=!1}return{searchDisabled:o,searchLoading:t,searchDone:n}}const Qt="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",Xt="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",eo="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",to={class:"jt-filter-bar__btns"},oo=["src"],no=["src"],ro=["src"],ao=e.defineComponent({name:"JtFilterBar",__name:"JtFilterBar",props:{columns:{},option:{default:()=>({})},modelValue:{}},emits:["update:modelValue","search","reset"],setup(o,{expose:t,emit:n}){const r=o,a=n,l=e.ref(),i=e.useSlots(),s=e.ref({}),{searchDisabled:p,searchLoading:g,searchDone:T}=Yt(),f=e.computed(()=>r.option),y=e.ref(f.value.searchCollapsed??!1),m=e.computed(()=>r.columns.filter(B=>B.search===!0)),k=e.computed(()=>Math.max(1,f.value.searchSpan??4)),I=e.computed(()=>Math.max(1,f.value.searchCollapsedRows??1)),P=e.computed(()=>k.value),V=e.computed(()=>Math.max(1,P.value*I.value)),O=e.computed(()=>k.value),u=e.computed(()=>w.value?"264px":"174px"),v=e.computed(()=>Q(f.value.searchLabelWidth??84)),_=e.computed(()=>f.value.searchLabelPosition??"top"),S=e.computed(()=>ae(f.value.searchGutter,14)),E=e.computed(()=>ae(f.value.searchRowGap,14)),C=e.computed(()=>pe(f.value.searchPadding??"18px 4px 0")),w=e.computed(()=>f.value.searchCollapse===!1?!1:j(m.value)>V.value),z=e.computed(()=>{if(!w.value||!y.value)return m.value;let B=0;return m.value.filter(A=>{const W=J(A);return B+W>V.value?!1:(B+=W,!0)})}),te=e.computed(()=>z.value.filter(B=>!!i[`${B.prop}-search`])),K=e.computed(()=>{const[B]=z.value;return!!B&&z.value.length===1&&J(B)<k.value}),ne=e.computed(()=>{const[B]=z.value;return`${Math.min(k.value,B?J(B)+1:1)}`}),fe=e.computed(()=>z.value.map(B=>$(B)));e.watch(()=>f.value.searchCollapsed,B=>{typeof B=="boolean"&&(y.value=B)}),e.watch(()=>r.modelValue,B=>{s.value={...B}},{deep:!0,immediate:!0});function b(B,A){if(p.value)return;const W={...s.value,[B]:A};s.value=W,a("update:modelValue",W)}function $(B){const A=B.searchProps??{};return{...A,prop:B.prop,label:B.searchLabel??B.label,span:J(B),itemType:B.searchType??"input",showSlot:!!i[`${B.prop}-search`],options:A.options??B.searchOptions??B.dicData,placeholder:A.placeholder??B.searchPlaceholder,valueFormat:A.valueFormat??B.searchValueFormat,disabled:p.value||A.disabled===!0,formItemProps:{required:B.searchRequired,class:["jt-filter-bar__item",{"is-required":B.searchRequired}]},onEnter:(...W)=>{F(A.onEnter,...W),G()},"onUpdate:modelValue":W=>{F(A["onUpdate:modelValue"],W),b(B.prop,W)}}}function F(B,...A){if(Array.isArray(B)){B.forEach(W=>F(W,...A));return}typeof B=="function"&&B(...A)}async function G(){if(!p.value){if(l.value)try{await l.value.validate()}catch{return}a("search")}}function L(){p.value||a("reset")}function U(){y.value=!y.value}function J(B){return Math.min(k.value,Math.max(1,B.searchSpan??1))}function j(B){return B.reduce((A,W)=>A+J(W),0)}function Q(B){return typeof B=="number"?`${B}px`:B}function ae(B,A){return typeof B=="number"?B:A}function pe(B){return typeof B=="number"?`${B}px`:B}return t({formRef:l,searchDisabled:p,searchLoading:g,searchDone:T}),(B,A)=>{const W=D.ElForm;return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["jt-filter-bar",[`is-label-${_.value}`,{"is-single-filter":K.value}]]),style:e.normalizeStyle({"--jt-filter-columns":k.value,"--jt-filter-field-columns":O.value,"--jt-filter-btns-width":u.value,"--jt-filter-actions-start":ne.value,"--jt-filter-label-width":v.value,"--jt-filter-column-gap":`${S.value}px`,"--jt-filter-row-gap":`${E.value}px`,"--jt-filter-padding":C.value})},[e.createVNode(W,{ref_key:"formRef",ref:l,class:"jt-filter-bar__form",model:s.value,"label-position":_.value,"label-width":v.value,disabled:e.unref(p),onSubmit:A[0]||(A[0]=e.withModifiers(()=>{},["prevent"]))},{default:e.withCtx(()=>[e.createVNode(e.unref(st),{configs:fe.value,"form-data":s.value},e.createSlots({actions:e.withCtx(()=>[e.createElementVNode("div",to,[e.renderSlot(B.$slots,"search-menu",{search:G,reset:L,disabled:e.unref(p),collapsed:y.value,toggleCollapse:U},()=>[w.value?(e.openBlock(),e.createBlock(e.unref(he),{key:0,class:"jt-filter-bar__btn-collapse",onClick:U},{icon:e.withCtx(()=>[e.createElementVNode("img",{class:e.normalizeClass(["jt-filter-bar__icon-arrow",{"is-collapsed":y.value}]),src:e.unref(Qt),alt:""},null,10,oo)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(y.value?"展 开":"收 起"),1)]),_:1})):e.createCommentVNode("",!0),e.createVNode(e.unref(he),{class:"jt-filter-bar__btn-reset",disabled:e.unref(p),onClick:L},{icon:e.withCtx(()=>[e.createElementVNode("img",{src:e.unref(Xt),alt:""},null,8,no)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(f.value.resetBtnText??"重 置"),1)]),_:1},8,["disabled"]),e.createVNode(e.unref(he),{class:"jt-filter-bar__btn-query",type:"primary",disabled:e.unref(p),onClick:G},{icon:e.withCtx(()=>[e.createElementVNode("img",{src:e.unref(eo),alt:""},null,8,ro)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(f.value.searchBtnText??"查 询"),1)]),_:1},8,["disabled"])],!0)])]),_:2},[e.renderList(te.value,de=>({name:de.prop,fn:e.withCtx(()=>[e.renderSlot(B.$slots,`${de.prop}-search`,{value:s.value[de.prop],column:de,setValue:$e=>b(de.prop,$e),search:G,reset:L,disabled:e.unref(p)},void 0,!0)])}))]),1032,["configs","form-data"])]),_:3},8,["model","label-position","label-width","disabled"])],6)}}}),it=Y(ao,[["__scopeId","data-v-1f6fdc4e"]]),lo={key:1},so={key:2},io={key:3},co=e.defineComponent({name:"JtTable",__name:"JtTable",props:{data:{},columns:{},option:{},tableEvents:{}},setup(o,{expose:t}){const n=o,r=e.useSlots(),a=e.ref(),l=e.computed(()=>n.option??{}),i=e.computed(()=>n.columns.filter(m=>!m.hide));function s(m){return!!r[`${m}-header`]}function p(m){return!!r[`${m}-data`]}function g(m){return{width:m.width,minWidth:m.minWidth,align:m.align,fixed:m.fixed,sortable:m.sortable,showOverflowTooltip:m.showOverflowTooltip,...m.columnOptions}}function T(m){return!f(m.columnOptions?.type)}function f(m){return m==="selection"||m==="index"||m==="expand"}function y(m,k){return m.find(I=>I.value===k)?.label??String(k??"")}return t({tableRef:a}),(m,k)=>{const I=D.ElTableColumn,P=D.ElTable;return e.openBlock(),e.createBlock(P,e.mergeProps({ref_key:"tableRef",ref:a,data:m.data,"row-key":l.value.rowKey??"id",height:l.value.height,"max-height":l.value.maxHeight,"empty-text":l.value.emptyText,class:"jt-table"},l.value.tableProps,e.toHandlers(m.tableEvents)),{default:e.withCtx(()=>[l.value.selection?(e.openBlock(),e.createBlock(I,{key:0,type:"selection",width:"55",align:"center"})):e.createCommentVNode("",!0),l.value.index?(e.openBlock(),e.createBlock(I,{key:1,type:"index",label:l.value.indexLabel??"序号",width:"60",align:"center"},null,8,["label"])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,V=>(e.openBlock(),e.createBlock(I,e.mergeProps({key:V.prop,prop:V.prop,label:V.label,formatter:!p(V.prop)&&!V.dicData?V.formatter:void 0,ref_for:!0},g(V)),e.createSlots({_:2},[s(V.prop)?{name:"header",fn:e.withCtx(O=>[e.renderSlot(m.$slots,`${V.prop}-header`,e.mergeProps({ref_for:!0},O),void 0,!0)]),key:"0"}:void 0,T(V)?{name:"default",fn:e.withCtx(O=>[p(V.prop)?e.renderSlot(m.$slots,`${V.prop}-data`,e.mergeProps({key:0,ref_for:!0},O),void 0,!0):V.dicData?(e.openBlock(),e.createElementBlock("span",lo,e.toDisplayString(y(V.dicData,O.row[V.prop])),1)):V.formatter?(e.openBlock(),e.createElementBlock("span",so,e.toDisplayString(V.formatter(O.row,O.column,O.row[V.prop],O.$index)),1)):(e.openBlock(),e.createElementBlock("span",io,e.toDisplayString(O.row[V.prop]),1))]),key:"1"}:void 0]),1040,["prop","label","formatter"]))),128)),l.value.menu?(e.openBlock(),e.createBlock(I,{key:2,label:l.value.menuLabel??"操作",width:l.value.menuWidth,"min-width":l.value.menuMinWidth,align:l.value.menuAlign??"center",fixed:l.value.menuFixed},{default:e.withCtx(V=>[e.renderSlot(m.$slots,"menu",e.normalizeProps(e.guardReactiveProps(V)),void 0,!0)]),_:3},8,["label","width","min-width","align","fixed"])):e.createCommentVNode("",!0)]),_:3},16,["data","row-key","height","max-height","empty-text"])}}}),ct=Y(co,[["__scopeId","data-v-513fa12d"]]),uo={class:"jt-pagination"},po={class:"jt-pagination__count"},fo=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,r=e.computed(()=>n.option??{}),a=t;function l(i){a("current-change",i),a("page-change",i)}return(i,s)=>{const p=D.ElPagination;return e.openBlock(),e.createElementBlock("div",uo,[e.createVNode(p,{"current-page":i.currentPage,"page-size":i.pageSize,"page-sizes":r.value.pageSizes??[10,20,50,100],total:i.total,layout:r.value.paginationLayout??"sizes, prev, pager, next, jumper","onUpdate:currentPage":s[0]||(s[0]=g=>i.$emit("update:currentPage",g)),"onUpdate:pageSize":s[1]||(s[1]=g=>i.$emit("update:pageSize",g)),onCurrentChange:l,onSizeChange:s[2]||(s[2]=g=>i.$emit("size-change",g))},null,8,["current-page","page-size","page-sizes","total","layout"]),e.createElementVNode("span",po,"共"+e.toDisplayString(i.total)+"条记录",1)])}}}),ut=Y(fo,[["__scopeId","data-v-746af6aa"]]),mo={class:"jt-crud-table"},go={key:1,class:"jt-crud-table__toolbar"},vo=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 r=o,a=n,l=e.useModel(o,"currentPage"),i=e.useModel(o,"pageSize"),s=e.useModel(o,"searchModel"),p=e.useSlots(),g=e.ref(),T=e.ref(),f=e.computed(()=>r.option),y=e.computed(()=>f.value.searchShow!==!1),m=e.computed(()=>f.value.paginationShow!==!1),k=e.computed(()=>r.columns.filter(S=>S.search&&!!p[`${S.prop}-search`])),I=e.computed(()=>r.columns.filter(S=>!S.hide&&!!p[`${S.prop}-header`])),P=e.computed(()=>r.columns.filter(S=>!S.hide&&!!p[`${S.prop}-data`]));function V(){const S={};return r.columns.forEach(E=>{E.search&&(S[E.prop]=void 0)}),S}function O(){a("search",{...s.value})}function u(){s.value=V(),a("reset")}function v(){T.value?.searchLoading()}function _(){T.value?.searchDone()}return t({tableRef:e.computed(()=>g.value?.tableRef),filterBarRef:T,searchLoading:v,searchDone:_}),(S,E)=>{const C=D.ElLoadingDirective;return e.openBlock(),e.createElementBlock("div",mo,[e.renderSlot(S.$slots,"header",{},void 0,!0),y.value?(e.openBlock(),e.createBlock(it,{key:0,ref_key:"filterBarRef",ref:T,modelValue:s.value,"onUpdate:modelValue":E[0]||(E[0]=w=>s.value=w),columns:S.columns,option:f.value,onSearch:O,onReset:u},e.createSlots({_:2},[e.renderList(k.value,w=>({name:`${w.prop}-search`,fn:e.withCtx(z=>[e.renderSlot(S.$slots,`${w.prop}-search`,e.normalizeProps(e.guardReactiveProps(z)),void 0,!0)])}))]),1032,["modelValue","columns","option"])):e.createCommentVNode("",!0),e.unref(p).toolbar?(e.openBlock(),e.createElementBlock("div",go,[e.renderSlot(S.$slots,"toolbar",{},void 0,!0)])):e.createCommentVNode("",!0),e.withDirectives((e.openBlock(),e.createBlock(ct,{ref_key:"jtTableRef",ref:g,data:S.data,columns:S.columns,option:f.value,"table-events":S.tableEvents},e.createSlots({_:2},[e.renderList(I.value,w=>({name:`${w.prop}-header`,fn:e.withCtx(z=>[e.renderSlot(S.$slots,`${w.prop}-header`,e.normalizeProps(e.guardReactiveProps(z)),void 0,!0)])})),e.renderList(P.value,w=>({name:`${w.prop}-data`,fn:e.withCtx(z=>[e.renderSlot(S.$slots,`${w.prop}-data`,e.normalizeProps(e.guardReactiveProps(z)),void 0,!0)])})),f.value.menu?{name:"menu",fn:e.withCtx(w=>[e.renderSlot(S.$slots,"menu",e.normalizeProps(e.guardReactiveProps(w)),void 0,!0)]),key:"0"}:void 0]),1032,["data","columns","option","table-events"])),[[C,f.value.loading]]),m.value?(e.openBlock(),e.createBlock(ut,{key:2,"current-page":l.value,"onUpdate:currentPage":E[1]||(E[1]=w=>l.value=w),"page-size":i.value,"onUpdate:pageSize":E[2]||(E[2]=w=>i.value=w),total:S.total,option:f.value,onPageChange:E[3]||(E[3]=w=>S.$emit("page-change",w)),onSizeChange:E[4]||(E[4]=w=>S.$emit("size-change",w))},null,8,["current-page","page-size","total","option"])):e.createCommentVNode("",!0)])}}}),ho=Y(vo,[["__scopeId","data-v-ad466273"]]),yo={class:"jt-page-header__title"},bo={key:0},So={key:0,class:"jt-page-header__operates"},ko=e.defineComponent({name:"JtPageHeader",__name:"index",props:{type:{default:"section"},title:{},operates:{default:()=>[]}},emits:["operate-click"],setup(o,{emit:t}){const n=o,r=t,a=e.useSlots(),l=e.computed(()=>n.operates.length>0||!!a.operates);function i(s,p){s.onClick?.(s,p),r("operate-click",s,p)}return(s,p)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps({class:["jt-page-header",`jt-page-header--${s.type}`]},s.$attrs),[e.createElementVNode("div",yo,[e.renderSlot(s.$slots,"title",{},()=>[s.title?(e.openBlock(),e.createElementBlock("span",bo,e.toDisplayString(s.title),1)):e.createCommentVNode("",!0)],!0)]),l.value?(e.openBlock(),e.createElementBlock("div",So,[e.renderSlot(s.$slots,"operates",{operates:s.operates},()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.operates,g=>(e.openBlock(),e.createBlock(e.unref(he),e.mergeProps({key:g.key??g.label,ref_for:!0},g.buttonProps,{type:g.type,disabled:g.disabled,loading:g.loading,plain:g.plain,text:g.text,link:g.link,icon:g.icon,onClick:T=>i(g,T)}),{default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(g.label),1)]),_:2},1040,["type","disabled","loading","plain","text","link","icon","onClick"]))),128))],!0)])):e.createCommentVNode("",!0)],16))}}),wo=Y(ko,[["__scopeId","data-v-9e6bb356"]]);function dt(o=null){return{scheme:null,node:null,topNodes:[],treeNodes:[],activeNode:null,activeSection:null,sections:[],sectionMap:{},raw:o}}function Le(o){const t=bt(o),n=yt(t),r=Po(t).flatMap(a=>ht(a,n));return{...dt(o),scheme:n,topNodes:r,treeNodes:r}}function De(o,t,n){return o.map(r=>r.key===t||r.tagId===t||r.id===t?{...r,children:n,loaded:!0}:{...r,children:De(r.children,t,n)})}function pt(o,t={},n=null){const r=bt(o),a=yt(r,t),l=Co(r,t,n),i=Object.fromEntries(l.map(s=>[s.key,s]));return{scheme:a,node:n,topNodes:[],treeNodes:[],activeNode:n,activeSection:l[0]??null,sections:l,sectionMap:i,raw:o}}function ft(o){return o.multRow||o.htmlDisplay==="T"?"table":"form"}function mt(o,t={}){const n=o.renderType==="table"?o.rows.map(Oe):[Oe(o.model)],r=x(o.operationInfo),a=x(r.editInfoSet),l=x(a.params),i=x(r.queryInfoSet),s=x(i.params);return{...t,infSchmId:t.infSchmId??q(o.raw.infSchmId),emplid:t.emplid??q(o.raw.emplid),tagId:R(o.tagId||l.tagId||s.tagId||t.tagId||o.requestTagId),infSetId:t.infSetId??o.infSetId,setId:t.setId??o.setId,infSetValues:n,section:o}}function Io(o){const t=o;return!!(t&&typeof t=="object"&&typeof t.key=="string"&&typeof t.tagId=="string")}function gt(o){const t=St(o);return(Array.isArray(t)?t:Se(x(t),["options","list","records","data"])).map(r=>{const a=x(r),l=a.fieldvalue??a.fieldValue;return{id:a.id,code:a.code??l??a.value??a.id,label:R(a.label??a.name??a.descr??a.descrshort??a.text??l??a.value??a.code),name:q(a.name),value:a.value??l??a.code??a.id??a.label??a.name,raw:r}})}function Co(o,t,n){const r=Se(o,["sections","sets","list"]);return r.length>0?r.map(a=>Je(a,t,n,r.length===1)):o.infSetMark||o.infSetFields||o.fields?[Je(o,t,n,!0)]:[]}function Je(o,t,n,r){const a=x(o),l=Bo(a.infSetMark??a),i=_o(a.infSetFields??a.fields??[]),s=Vo(a.infSetValues??a.rows??a.data,i),p=s[0]?Oe(s[0]):vt(i),g=x(a.tag),T=R(a.tagId??a.infTagId??g.tagId??g.infTagId??l.raw.tagId??l.raw.infTagId),f=R(t.tagId??n?.tagId),y=R(n?.key),m=r?t.infSetId??n?.infSetId:void 0,k=r?t.setId:void 0,I=r?n?.code:void 0,P=l.setId||R(a.setId),V=R(a.infSetId)||P||R(m),O=P||R(k??V),u=l.code||R(a.code??I??O),v=O||u||V||T,_={key:v,id:v,setId:O,code:u,tagId:T,requestTagId:f||void 0,ownerNodeKey:y||void 0,infSetId:V,title:l.name||R(a.name??n?.tagName??v),renderType:ft(l),mark:l,fields:i,model:p,rows:s,operationInfo:Ve(t.operationInfo??a.operationInfo),raw:a};return _.renderType==="form"&&s.length===0&&(_.rows=[{...p,__rowKey:`${v}-0`}]),_}function Bo(o){const t=x(o),n=R(t.htmlDisplay||"F");return{name:R(t.name??t.title),parentName:q(t.parentName),value:q(t.value),type:q(t.type),code:R(t.code),setId:R(t.setId??t.id??t.key),htmlDisplay:n,multRow:oe(t.multRow),isRequired:oe(t.isRequired),raw:t}}function _o(o){return(Array.isArray(o)?o:[]).map((n,r)=>Eo(n,r))}function Eo(o,t){const n=x(o),r=R(n.code??n.fieldCode??n.prop??n.key??`field_${t}`),a=R(n.label??n.name??n.tagName??r);return{id:R(n.id??n.key??n.prop??r),key:R(n.key??n.prop??r),code:r,label:a,value:n.value??n.defaultValue??"",type:Mo(n),fieldType:q(n.fieldType),frontInputType:q(n.frontInputType),renderType:Fo(n),required:oe(n.required??n.isRequired),readonly:oe(n.readonly??n.disabled),visible:n.visible===void 0?oe(n.visibled??!0):oe(n.visible),htmlDisplay:oe(n.htmlDisplay),multRow:oe(n.multRow),isRequired:oe(n.isRequired),disabled:n.disabled===void 0?void 0:oe(n.disabled),span:Ct(n.span??n.colSpan),width:Ue(n.width),minWidth:Ue(n.minWidth),placeholder:q(n.placeholder),options:gt(n.options),interface:kt(n.interface??n.interfaceField),cascadeClearFields:He(n.cascadeClearFields),cascadeDependFields:He(n.cascadeDependFields),props:Ro(n),formItemProps:wt(n.formItemProps),raw:n}}function Vo(o,t){if(Array.isArray(o)&&o.some(a=>{const l=x(a);return t.some(i=>l[i.code]!==void 0||l[i.key]!==void 0)}))return o.map((a,l)=>({...x(a),__rowKey:R(x(a).__rowKey??x(a).key??l)}));const n=vt(t);return Object.keys(n).length?[{...n,__rowKey:"0"}]:[]}function vt(o){return o.reduce((t,n)=>(t[n.code||n.key]=n.value,t),{})}function ht(o,t,n=""){const r=x(o),a=Se(r,["children","list","tags"]).flatMap(i=>ht(i,t,R(r.tagId??r.id??r.key))),l=$o(r.infSetList);return a.length===0&&l.length>0?l.map((i,s)=>To(r,i,t,n,s)):[No(r,t,n,a)]}function No(o,t,n,r){const a=R(o.tagId??o.id??o.key),l=R(o.tagName??o.name??o.label??a);return{key:R(o.key??a),id:a,tagId:a,tagName:l,label:l,tagLevel:q(o.tagLevel??o.level)??null,level:It(o.tagLevel??o.level),parentTagId:q(o.parentTagId??o.parentId??n),parentId:q(o.parentTagId??o.parentId??n)??null,infSchmId:q(o.infSchmId??t?.infSchmId),schemeId:R(o.infSchmId??t?.infSchmId),infSetId:q(o.infSetId??o.setId),setId:q(o.setId),code:q(o.code),children:r,infSetList:[],operationInfo:Ve(o.operationInfo),loaded:r.length>0,raw:o}}function To(o,t,n,r,a){const l=R(o.tagId??o.id??o.key),i=R(o.tagName??o.name??o.label??l),s=t.infSetId||R(t.setId),p=t.setId||s,g=s||`${l}-${a}`;return{key:g,id:g,tagId:l,tagName:i,label:i,tagLevel:q(o.tagLevel??o.level)??null,level:It(o.tagLevel??o.level),parentTagId:q(o.parentTagId??o.parentId??r),parentId:q(o.parentTagId??o.parentId??r)??null,infSchmId:q(o.infSchmId??n?.infSchmId),schemeId:R(o.infSchmId??n?.infSchmId),infSetId:s,setId:p,code:q(o.code??s),children:[],infSetList:[t],operationInfo:Ve(o.operationInfo),loaded:!0,raw:{...o,infSetId:s,setId:p,infSetList:[t.raw]}}}function yt(o,t={}){const n=x(o.globalInfoSchmMark??o.scheme??o),r=R(n.infSchmId??t.infSchmId),a=R(n.emplid??t.emplid);return!r&&!a&&Object.keys(n).length===0?null:{infSchmId:r,emplid:a,id:r,mark:R(n.globalInfoSchmMark??o.globalInfoSchmMark),config:Array.isArray(o.globalInfoSchmConfig)?"":R(n.globalInfoSchmConfig??o.globalInfoSchmConfig),raw:n}}function Po(o){if(Array.isArray(o.globalInfoSchmConfig))return o.globalInfoSchmConfig;const t=x(o.globalInfoSchmConfig),n=Se(t,["children","tree","list","tags"]);return n.length?n:Se(o,["children","tree","list","tags","records"])}function $o(o){return Array.isArray(o)?o.map(t=>{const n=x(t);return{infSetId:R(n.infSetId??n.setId??n.id),setId:q(n.setId),operationInfo:Ve(n.operationInfo),raw:n}}):[]}function bt(o){return x(St(o))}function St(o){const t=x(o);return t.data??t.result??o}function Se(o,t){for(const n of t){const r=o[n];if(Array.isArray(r))return r}return[]}function Oe(o){const t={...o};return delete t.__rowKey,delete t.fields,t}function kt(o){const t=x(o);if(!(!t.method&&!t.url&&!t.params))return{...t,method:q(t.method),url:q(t.url),params:wt(t.params)}}function Ve(o){const t=x(o);if(Object.keys(t).length!==0)return Object.fromEntries(Object.entries(t).map(([n,r])=>[n,kt(r)??r]))}function He(o){if(!Array.isArray(o))return;const t=o.map(n=>R(n)).filter(Boolean);return t.length?t:void 0}function Fo(o){if(oe(o.htmlDisplay))return"html";if(oe(o.multRow))return"multi-row";const t=R(o.renderType).toLowerCase();return t==="code"||t==="empty"?t:"text"}function Mo(o){const t=R(o.fieldType??o.type??o.frontInputType??o.renderType).toLowerCase();return t.includes("date")?"date":t.includes("select")||t.includes("enum")||t.includes("radio")||t.includes("checkbox")?"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 wt(o){const t=x(o);return Object.keys(t).length?t:void 0}function Ro(o){const t={...x(o.props)};return o.multiple!==void 0&&(t.multiple=oe(o.multiple)),Object.keys(t).length?t:void 0}function Ue(o){return typeof o=="string"||typeof o=="number"?o:void 0}function x(o){return o&&typeof o=="object"&&!Array.isArray(o)?o:{}}function R(o){return o==null?"":String(o).trim()}function q(o){return R(o)||void 0}function It(o){const t=Ct(o);return t===void 0?null:t}function Ct(o){if(o==null||o==="")return;const t=Number(o);return Number.isFinite(t)?t:void 0}function oe(o){return typeof o=="string"?["true","1","y","yes","t","是"].includes(o.toLowerCase()):!!o}const ue=o=>o.key||o.code,re=o=>o.key||o.setId,Lo=o=>String(o??"").trim(),we=o=>Array.from(new Set(o.map(Lo).filter(Boolean))),ge=o=>!!(o&&typeof o=="object"&&"children"in o),ke=o=>we([o?.key,o?.id,o?.setId,o?.infSetId,o?.tagId,o?.code,...(o?.infSetList??[]).map(t=>t.infSetId),...(o?.infSetList??[]).map(t=>t.setId)]),Oo=o=>we([o.key,o.id,o.setId,o.infSetId,o.tagId,o.code]);function Bt(o,t,n){const r=Oo(o),a=we([n,...ke(t)]);return a.length===0?!1:a.some(l=>r.includes(l))}function Go(o,t,n){return we([n,...ke(t)]).length===0?o:o.filter(a=>Bt(a,t,n))}function Do(o,t,n={}){const r=Object.keys(n).length>0?n:o.model,a=typeof t=="string"?t:ue(t),l=typeof t=="string"?o.fields.find(s=>ue(s)===a||s.code===a):t,i=(l?.cascadeDependFields??[]).some(s=>{const p=r[s];return p==null||p===""});return{fieldKey:a,currentField:l,sourceModel:r,sourceRow:o.renderType==="table"?r:void 0,missingDependField:i}}function jo(o){return!!(o&&(o.cascadeDependFields??[]).length===0&&(o.options??[]).length>0)}function zo(o){return gt(o)}const le=o=>o&&typeof o=="object"&&!Array.isArray(o)?o:{},Be=o=>{const t=le(o);return!!(t.url||t.method||t.params)};function xo(o){const t=le(o.operationInfo).openTag;return Be(t)?t:void 0}function Ao(o,t,n){const r=le(o?.operationInfo).queryInfoSet;if(Be(r))return r;const a=t?.infSetList.find(i=>i.infSetId===n),l=le(a?.operationInfo).queryInfoSet;return Be(l)?l:void 0}function qo(o){const t=le(o.operationInfo).editInfoSet;return Be(t)?t:void 0}async function Ko(o){const t=o.params===void 0?void 0:le(o.params);return!o.formatter||o.requestSource!=="inner"?t:o.formatter({operation:o.operation,interfaceOperation:o.field?.interface,type:o.type,requestSource:o.requestSource,tagId:o.tagId,model:{...le(o.section?.model),...le(o.model)},row:o.row,section:o.section,field:o.field,node:o.node,viewModel:o.viewModel,sections:o.sections,activeNode:o.activeNode,activeSection:o.activeSection,params:t})}async function Jo(o){if(!o.service.requestOperation)throw new Error("[GlobalInfo] service.requestOperation is required for operationInfo");const t=o.operation.params===void 0?void 0:le(o.operation.params),n=o.context?.params===void 0?t:le(o.context.params),r=await Ko({formatter:o.formatter,params:n,operation:o.operation,type:o.context?.type,requestSource:o.context?.requestSource,tagId:o.context?.tagId,section:o.context?.section,field:o.context?.field,model:o.context?.model,row:o.context?.row,node:o.context?.node,viewModel:o.viewModel,sections:o.sections,activeNode:o.activeNode,activeSection:o.activeSection});return o.service.requestOperation({...o.operation,params:r},o.context?{...o.context,params:r}:o.context)}function ye(o={}){return{loading:!1,saving:!1,error:null,loaded:!1,editing:!1,...o}}function Ho(o){const t={...o.currentMap},n={...o.currentAliasMap},r=[...o.currentOrder],a={...o.currentStatusMap},l=Go(o.nextViewModel.sections,o.node,o.targetKey),i=we([o.targetKey,...ke(o.node)]).length>0,s=l.find(p=>Bt(p,o.node,o.targetKey))??(i?null:o.nextViewModel.activeSection??l[0]??o.activeSection??null);return l.forEach(p=>{const g=re(p);t[g]=p,r.includes(g)||r.push(g),a[g]=ye({...a[g],loaded:!0,loading:!1,error:null,editing:o.editingSectionKeys.includes(g)})}),o.targetKey&&s?n[o.targetKey]=re(s):o.targetKey&&(n[o.targetKey]=""),o.targetKey&&(a[o.targetKey]=ye({...a[o.targetKey],loaded:!0,loading:!1,error:null,editing:!!(s&&o.editingSectionKeys.includes(re(s)))})),{sectionMap:t,sectionAliasMap:n,sectionOrder:r,sectionStatusMap:a,matchedSection:s,targetSections:l}}const ve=o=>new Error(`[GlobalInfo] ${o}`),_t=o=>{const t=e.ref(!1),n=e.ref(!1),r=e.ref(!1),a=e.shallowRef(null),l=e.shallowRef([]),i=e.shallowRef(null),s=e.shallowRef(null),p=e.shallowRef(null),g=e.shallowRef({}),T=e.shallowRef({}),f=e.ref([]),y=e.shallowRef({}),m=e.ref([]),k=e.computed(()=>{const c=f.value.map(h=>g.value[h]).filter(h=>!!h),d=Object.entries(g.value).filter(([h])=>!f.value.includes(h)).map(([,h])=>h);return[...c,...d]}),I=e.computed(()=>({loading:t.value,detailLoading:n.value,saving:r.value,editingSectionKeys:m.value,sectionMap:g.value,sectionStatusMap:Object.fromEntries(Object.entries(y.value).map(([c,d])=>[c,{...d,editing:m.value.includes(T.value[c]??c)}])),error:a.value})),P=()=>({adaptScene:o.adaptScene,emplid:o.emplid}),V=c=>({...P(),infSchmId:c.infSchmId,tagId:c.tagId,tagLevel:c.tagLevel,parentTagId:c.parentTagId}),O=(c=s.value,d=p.value)=>({...P(),infSchmId:c?.infSchmId,tagId:c?.tagId,infSetId:d?.infSetId??c?.infSetId,setId:d?.setId??c?.setId}),u=async(c,d)=>Jo({service:o.service,formatter:o.formatOperationParams,operation:c,context:d,viewModel:i.value,sections:k.value,activeNode:s.value,activeSection:p.value}),v=(c,d)=>{if(!d)return c[0]??null;for(const h of c){if(ke(h).includes(d))return h;const N=v(h.children,d);if(N)return N}return null},_=(c=p.value)=>{if(c)return typeof c=="string"?c:ge(c)?C(c):re(c)},S=(c=p.value)=>{const d=_(c);if(!d)return null;const h=T.value[d]??d;return g.value[h]??null},E=(c=p.value)=>{const d=_(c);if(d)return T.value[d]??d},C=(c=p.value)=>{if(c)return typeof c=="string"?c:ge(c)?c.setId??c.infSetId??c.key:re(c)},w=(c=p.value)=>{if(ge(c))return c;if(typeof c=="string"){const d=v(l.value,c);if(d)return d;const h=S(c);return h?.ownerNodeKey?v(l.value,h.ownerNodeKey)??s.value:h||s.value&&ke(s.value).includes(c)?s.value:null}return c?.ownerNodeKey?v(l.value,c.ownerNodeKey)??s.value:s.value},z=(c=p.value)=>!c||ge(c)?null:S(c),te=(c=p.value)=>{const d=C(c);if(!d)return ye();const h=T.value[d]??d;return ye({...y.value[d],...y.value[h],editing:m.value.includes(h)})},K=(c,d)=>{const h=C(c);h&&(y.value={...y.value,[h]:ye({...y.value[h],...d,editing:m.value.includes(h)})})},ne=(c=i.value?.raw??null,d=s.value)=>{const h=k.value,N=p.value&&h.find(M=>re(M)===re(p.value))?p.value:null;i.value={scheme:i.value?.scheme??null,node:d,topNodes:l.value,treeNodes:l.value,activeNode:d,activeSection:N,sections:h,sectionMap:g.value,raw:c},p.value=N},fe=(c,d=s.value,h)=>{const N=Ho({currentMap:g.value,currentAliasMap:T.value,currentOrder:f.value,currentStatusMap:y.value,editingSectionKeys:m.value,nextViewModel:c,node:d,targetKey:h,activeSection:p.value});return g.value=N.sectionMap,T.value=N.sectionAliasMap,f.value=N.sectionOrder,y.value=N.sectionStatusMap,i.value={...c,scheme:c.scheme??i.value?.scheme??null,topNodes:l.value,treeNodes:l.value,activeNode:d,activeSection:N.matchedSection,sections:N.targetSections,sectionMap:g.value},p.value=N.matchedSection,N.matchedSection},b=(c,d)=>{const h=E(c),N=h?g.value[h]:null;if(!h||!N)return;const M=d(N);g.value={...g.value,[h]:M},p.value=re(p.value??M)===h?M:p.value,ne()},$=async(c=p.value??s.value)=>{const d=z(c),h=w(c)??s.value,N=C(c);if(!h)return null;if(!o.service.requestOperation)throw ve("service.requestOperation is required");n.value=!0,a.value=null,K(N??h,{loading:!0,error:null});try{const M=d?[{infSetId:d.infSetId,setId:d.setId,operationInfo:d.operationInfo,raw:d.raw}]:h.infSetList;if(M.length===0)throw ve("node.infSetList is required");const Z=await Promise.all(M.map(async H=>{const X=Ao(d,h,H.infSetId),se={...O(h,d),infSetId:H.infSetId,setId:H.setId,operationInfo:H.operationInfo};if(X){const Fe=await u(X,{type:"queryInfoSet",requestSource:"inner",tagId:d?.requestTagId??d?.tagId??h.tagId,node:h,section:d,params:se});return pt(Fe,se,h)}throw ve("infoSet.operationInfo.queryInfoSet is required")})),ee={...Z[0],sections:Z.flatMap(H=>H.sections),sectionMap:Object.fromEntries(Z.flatMap(H=>H.sections).map(H=>[H.key,H]))};return fe(ee,h,N)}catch(M){throw a.value=M,K(N??h,{loading:!1,error:M}),M}finally{n.value=!1,K(N??h,{loading:!1})}},F=(c=p.value)=>$(c),G=(c=p.value)=>{if(!c)return null;if(!ge(c)&&typeof c!="string")return S(c);const d=C(c);return d?g.value[T.value[d]??d]??null:null},L=async(c=s.value)=>c?(await $(c),i.value):(i.value=null,p.value=null,g.value={},T.value={},f.value=[],y.value={},null),U=async c=>{const d=xo(c);if(!d)return c.children;const h=V(c),N=await u(d,{type:"openTag",requestSource:"sidebar",tagId:c.tagId,node:c,params:h});return Le(N).treeNodes},J=async c=>{if(c.loaded)return c.children;const d=await U(c);return d.length>0&&(l.value=De(l.value,c.key,d)),d},j=async c=>{const d=typeof c=="string"?v(l.value,c):c;return d?(s.value=d,p.value=null,m.value=[],await J(d),ne(i.value?.raw,d),d):null},Q=async()=>{const c=o.service.templateTree;if(!c)throw ve("service.templateTree is required");t.value=!0,a.value=null;try{const d=await c(P()),h=Le(d),N=await Promise.all(h.treeNodes.map(async Z=>{const ee=await U(Z);return{...Z,children:ee,loaded:ee.length>0||Z.loaded}}));l.value=N,p.value=null,g.value={},T.value={},f.value=[],y.value={},m.value=[];const M=v(N,o.initialActiveNodeKey)??v(N);return s.value=M,i.value={...h,treeNodes:N,activeNode:M,sectionMap:g.value,sections:k.value},l.value}catch(d){throw a.value=d,d}finally{t.value=!1}},ae=async()=>{const c=_();await F(p.value??s.value);const d=k.value.find(h=>re(h)===c);return d&&(p.value=d),ne(),i.value},pe=(c=p.value)=>{const d=E(c);return!!(d&&m.value.includes(d))},B=(c=p.value)=>{const d=E(c);!d||pe(d)||(m.value=[...m.value,d],K(d,{editing:!0}))},A=(c=p.value)=>{const d=E(c);d&&(m.value=m.value.filter(h=>h!==d),K(d,{editing:!1}))},W=(c,d,h)=>{const N=typeof d=="string"?d:ue(d);b(c,M=>{const ee=(typeof d=="string"?M.fields.find(X=>ue(X)===N||X.code===N):d)?.cascadeClearFields??[],H={...M.model,[N]:h};return ee.forEach(X=>{H[X]=""}),{...M,model:H,rows:M.renderType==="form"?[{...M.rows[0],...H}]:M.rows,fields:M.fields.map(X=>{const se=ue(X);return se===N||X.code===N?{...X,value:h}:ee.includes(se)||ee.includes(X.code)?{...X,value:""}:X})}})},de=async(c,d,h={})=>{const N=S(c);if(!N)return[];const{fieldKey:M,currentField:Z,sourceModel:ee,sourceRow:H,missingDependField:X}=Do(N,d,h),se=Z?.interface;if(!Z||!se)return Z?.options??[];if(jo(Z))return Z.options??[];if(X)return b(N,me=>({...me,fields:me.fields.map(ie=>ue(ie)===M||ie.code===M?{...ie,options:[]}:ie)})),[];const Fe=await u({...se},{type:"fieldOptions",requestSource:"inner",tagId:N.requestTagId??N.tagId,node:w(N),section:N,field:Z,params:le(se.params),model:ee,row:H}),qe=zo(Fe);return b(N,me=>({...me,fields:me.fields.map(ie=>ue(ie)===M||ie.code===M?{...ie,options:qe}:ie)})),qe},$e=(c,d)=>{if(Array.isArray(d)){Ie(c,d);return}b(c,h=>({...h,model:d,rows:h.renderType==="form"?[{...h.rows[0],...d}]:h.rows,fields:h.fields.map(N=>({...N,value:d[ue(N)]}))}))},Ie=(c,d)=>{b(c,h=>({...h,rows:d,data:d}))},Dt={loadTree:Q,selectNode:j,loadDetail:L,reloadActiveSection:ae,loadSection:$,reloadSection:F,getSection:G,getSectionStatus:te,startEdit:B,cancelEdit:A,updateField:W,loadFieldOptions:de,updateModel:$e,updateTableRows:Ie,saveRow:(c,d={},h=-1)=>{const M=[...S(c)?.rows??[]];M.splice(h>=0?h:M.length,h>=0?1:0,d),Ie(c,M)},deleteRow:(c,d)=>{const h=S(c),N=typeof d=="string"?Number(d):d,M=(h?.rows??[]).filter((Z,ee)=>ee!==N);Ie(c,M)},saveSection:async(c=p.value)=>{const d=_(c),h=S(c);if(!h)return null;const N=qo(h);if(!N)throw ve("section.operationInfo.editInfoSet is required");r.value=!0,a.value=null,d&&d!==re(h)&&K(d,{saving:!0,error:null}),K(h,{saving:!0,error:null});try{const{tagId:M,...Z}=O(s.value,h),ee=mt(h,Z),H=await u(N,{type:"editInfoSet",requestSource:"inner",tagId:h.requestTagId??h.tagId,node:s.value,section:h,params:ee,model:h.model});return A(h),await F(h),H}catch(M){throw a.value=M,d&&d!==re(h)&&K(d,{saving:!1,error:M}),K(h,{saving:!1,error:M}),M}finally{r.value=!1,d&&d!==re(h)&&K(d,{saving:!1}),K(h,{saving:!1})}},isEditing:pe};return e.watch(()=>o.emplid,()=>{(o.autoLoad??!0)&&Q()}),e.onMounted(()=>{(o.autoLoad??!0)&&Q()}),{viewModel:i,nodes:l,sections:k,sectionMap:g,sectionStatusMap:y,activeNode:s,activeSection:p,state:I,actions:Dt}},Uo=e.defineComponent({name:"GlobalInfoProvider",__name:"GlobalInfoProvider",props:{service:{},adaptScene:{},emplid:{},autoLoad:{type:Boolean,default:!0},initialActiveNodeKey:{},renderConfig:{},formatOperationParams:{}},setup(o){const t=o,n=_t(t),{viewModel:r,nodes:a,sections:l,activeNode:i,activeSection:s,state:p,actions:g}=n;return(T,f)=>e.renderSlot(T.$slots,"default",e.normalizeProps(e.guardReactiveProps({viewModel:e.unref(r),nodes:e.unref(a),sections:e.unref(l),activeNode:e.unref(i),activeSection:e.unref(s),state:e.unref(p),actions:e.unref(g),renderConfig:t.renderConfig})))}});function je(o){return Ye(o.type||o.fieldType||o.frontInputType)||Ye(o.renderType)||"text"}function ze(o){return Qe(o.type||o.fieldType||o.frontInputType)||Qe(o.renderType)||"text"}function ce(o){if(o==null)return!0;if(typeof o=="string")return o.trim()==="";if(Array.isArray(o))return o.length===0||o.every(t=>ce(t));if(o instanceof Date)return Number.isNaN(o.getTime());if(typeof File<"u"&&o instanceof File)return o.name.trim()==="";if(typeof o=="object"){const t=Object.entries(o).filter(([n])=>!n.startsWith("__"));return t.length===0||t.every(([,n])=>ce(n))}return!1}function Et(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 Vt(o,t,n="-"){const r=ze(o);return r==="empty"||ce(t)?n:Et(t)?(console.error("[globalInfo] field value render failed",t),n):r==="select"?tn(o,t,n):r==="switch"?Nt(t)?"是":"否":r==="file"?on(t,n):r==="multi-row"?nn(t,n):String(t)}function Ne(o,t){return Array.isArray(t)?t:Pe(o)?typeof t=="string"?t.split(",").map(n=>n.trim()).filter(Boolean):ce(t)?[]:[t]:[t]}function Wo(o,t){return Pe(o)?Ne(o,t):t}function Zo(o,t){return Pe(o)?Array.isArray(t)?t.map(n=>String(n??"").trim()).filter(Boolean).join(","):t??"":t}function Nt(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 Te(o,t,n,r={}){const a=Yo(r);return o.filter(l=>l.visible?!Qo(l,t,n,a,r.rows):!1)}function We(o){return Tt(o).some(n=>["序号","index","idx","seq","seqno","serial","order","rownum","row_no"].includes(n))}function Ze(o){return Tt(o).includes("seqno")}function Ye(o){const t=String(o??"").toLowerCase();return t==="upload"||t==="attachment"?"file":t==="radio"||t==="checkbox"?"select":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 Qe(o){const t=String(o??"").toLowerCase();return t==="upload"||t==="attachment"?"file":t==="radio"||t==="checkbox"?"select":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 Yo(o){return o.rows?.length?o.rows:[o.values??{}]}function Qo(o,t,n,r,a){const l=n?.hiddenRule;return l?r.some(i=>{try{const s=i[o.code];return l({field:o,section:t,values:i,allValues:i,value:s,currentValue:s,rows:a})}catch(s){return console.error("[globalInfo] hidden rule failed",s),!1}}):!1}function Tt(o){return Xo([o.id,o.key,o.code,o.name,o.label,o.prop])}function Xo(o){return Array.from(new Set(o.map(t=>en(t)).filter(Boolean)))}function en(o){return String(o??"").trim().toLowerCase()}function tn(o,t,n){const r=Pe(o);if(Array.isArray(t)||r){const a=Ne(o,t).map(i=>Xe(o,i)||String(i??"").trim()).filter(Boolean),l=r?",":"、";return a.length>0?a.join(l):n}return Xe(o,t)||String(t).trim()||n}function Pe(o){return!!o.props?.multiple&&(je(o)==="select"||ze(o)==="select")}function Xe(o,t){return o.options?.find(r=>r.value===t||String(r.value)===String(t))?.label??""}function on(o,t){if(Array.isArray(o)){const n=o.map(r=>et(r)).filter(Boolean);return n.length>0?n.join("、"):t}return et(o)||t}function et(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 nn(o,t){return Array.isArray(o)?o.map(r=>Et(r)?(console.error("[globalInfo] multi-row field item render failed",r),""):ce(r)?"":r&&typeof r=="object"?JSON.stringify(r):String(r).trim()).filter(Boolean).join(`
3
+ `)||t:String(o).trim()||t}const rn=["disabled","accept","multiple"],an={key:0,class:"global-info-field-control__file-text"},ln={key:1,class:"global-info-field-control__file-upload"},sn=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,r=t,a=["textarea","html","code","multi-row"],l=e.computed(()=>je(n.field)),i=e.computed(()=>n.disabled||n.field.disabled||n.field.readonly),s=e.computed(()=>n.modelValue===void 0||n.modelValue===null?"":String(n.modelValue)),p=e.computed(()=>{if(n.modelValue===void 0||n.modelValue===null||n.modelValue==="")return;const v=typeof n.modelValue=="number"?n.modelValue:Number(n.modelValue);return Number.isFinite(v)?v:void 0}),g=e.computed(()=>Wo(n.field,n.modelValue)),T=e.computed(()=>{const v=n.field.props?.activeValue??n.field.props?.["active-value"],_=n.field.props?.inactiveValue??n.field.props?.["inactive-value"];return v!==void 0||_!==void 0?n.modelValue??_??!1:Nt(n.modelValue)}),f=e.computed(()=>l.value==="code"?5:3),y=e.computed(()=>l.value==="file"&&!ce(n.modelValue)),m=e.computed(()=>Vt(n.field,n.modelValue,"请选择文件")),k=e.computed(()=>n.field.placeholder?n.field.placeholder:l.value==="select"?"请选择":l.value==="date"?"请选择日期":l.value==="file"?"请选择文件":"请输入");function I(v){r("update:modelValue",V(v))}function P(v){r("change",V(v))}function V(v){return l.value==="select"?Zo(n.field,v):v}function O(v){v&&r("loadOptions")}function u(v){const _=v.target,S=Array.from(_.files??[]),E=n.field.props?.multiple?S:S[0]??null;I(E),P(E)}return(v,_)=>{const S=D.ElOption,E=D.ElSelect,C=D.ElDatePicker,w=D.ElInputNumber,z=D.ElSwitch,te=D.ElInput;return l.value==="select"?(e.openBlock(),e.createBlock(E,e.mergeProps({key:0,class:"global-info-field-control"},v.field.props,{"model-value":g.value,placeholder:k.value,disabled:i.value,clearable:"",onVisibleChange:O,"onUpdate:modelValue":I,onChange:P}),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(v.field.options||[],K=>(e.openBlock(),e.createBlock(S,{key:String(K.value),label:K.label,value:K.value},null,8,["label","value"]))),128))]),_:1},16,["model-value","placeholder","disabled"])):l.value==="date"?(e.openBlock(),e.createBlock(C,e.mergeProps({key:1,class:"global-info-field-control"},v.field.props,{"model-value":v.modelValue,placeholder:k.value,disabled:i.value,type:"date","value-format":"YYYY-MM-DD","onUpdate:modelValue":I,onChange:P}),null,16,["model-value","placeholder","disabled"])):l.value==="number"?(e.openBlock(),e.createBlock(w,e.mergeProps({key:2,class:"global-info-field-control"},v.field.props,{"model-value":p.value,placeholder:k.value,disabled:i.value,"controls-position":"right","onUpdate:modelValue":I,onChange:P}),null,16,["model-value","placeholder","disabled"])):l.value==="switch"?(e.openBlock(),e.createBlock(z,e.mergeProps({key:3,class:"global-info-field-control global-info-field-control--switch"},v.field.props,{"model-value":T.value,disabled:i.value,"onUpdate:modelValue":I,onChange:P}),null,16,["model-value","disabled"])):l.value==="file"?(e.openBlock(),e.createElementBlock("label",{key:4,class:e.normalizeClass(["global-info-field-control global-info-field-control--file",{"is-disabled":i.value,"is-empty":!y.value,"is-filled":y.value}])},[e.createElementVNode("input",{class:"global-info-field-control__file-input",type:"file",disabled:i.value,accept:String(v.field.props?.accept??""),multiple:!!v.field.props?.multiple,onChange:u},null,40,rn),y.value?(e.openBlock(),e.createElementBlock("span",an,e.toDisplayString(m.value),1)):(e.openBlock(),e.createElementBlock("span",ln,"上 传"))],2)):l.value==="empty"?(e.openBlock(),e.createBlock(te,{key:5,class:"global-info-field-control","model-value":"",disabled:"",placeholder:"-"})):(e.openBlock(),e.createBlock(te,e.mergeProps({key:6,class:["global-info-field-control",{"global-info-field-control--code":l.value==="code"}]},v.field.props,{"model-value":s.value,placeholder:k.value,disabled:i.value,type:a.includes(l.value)?"textarea":"text",rows:a.includes(l.value)?f.value:void 0,"onUpdate:modelValue":I,onChange:P}),null,16,["class","model-value","placeholder","disabled","type","rows"]))}}}),xe=Y(sn,[["__scopeId","data-v-cc5c8aa9"]]),cn=["innerHTML"],un={key:1,class:"global-info-field-value global-info-field-value--code"},dn=e.defineComponent({name:"GlobalInfoFieldValue",__name:"GlobalInfoFieldValue",props:{field:{},value:{},emptyText:{default:"-"}},setup(o){const t=o,n=e.computed(()=>ze(t.field)),r=e.computed(()=>n.value==="empty"||ce(t.value)),a=e.computed(()=>Vt(t.field,t.value,t.emptyText));return(l,i)=>n.value==="html"&&!r.value?(e.openBlock(),e.createElementBlock("span",{key:0,class:"global-info-field-value global-info-field-value--html",innerHTML:a.value},null,8,cn)):n.value==="code"&&!r.value?(e.openBlock(),e.createElementBlock("pre",un,e.toDisplayString(a.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"&&!r.value}])},e.toDisplayString(a.value),3))}}),Ae=Y(dn,[["__scopeId","data-v-08b37e58"]]);function _e(o){return je(o)==="select"&&!!o.interface}function Ee(o,t,n={},r=""){const a=t.key||t.id||t.code,l=(t.cascadeDependFields??[]).map(i=>`${i}:${String(n[i]??"")}`).join("|");return[o,r,a,l].join("::")}function Pt(o,t,n){return Array.isArray(o.options)&&o.options.length>0?t===n?!0:!t&&(o.cascadeDependFields??[]).length===0:!1}const pn={class:"global-info-form-renderer__label"},fn={key:0,class:"global-info-form-renderer__required"},mn=e.defineComponent({name:"GlobalInfoFormRenderer",__name:"GlobalInfoFormRenderer",props:{section:{},node:{},editing:{type:Boolean},state:{},actions:{},model:{},onUpdateModel:{type:Function},renderConfig:{}},setup(o){const t=o,n=e.useSlots(),r=e.computed(()=>t.model??t.section.model),a=new Map,l=e.computed(()=>Te(t.section.fields,t.section,t.renderConfig,{values:r.value}));function i(u,v){const _={...r.value,[u.code]:v};(u.cascadeClearFields??[]).forEach(S=>{_[S]=""}),t.onUpdateModel?.(_),t.onUpdateModel||t.actions.updateField(t.section,u,v),s(u,v,_)}function s(u,v,_){const S=t.renderConfig?.onFieldBusinessChange;if(S)try{const E=p(u,v),C={field:u,value:v,section:t.section,model:_,values:_,node:t.node,activeNode:t.node,sections:g(),sectionValues:T(t.section,_),actions:t.actions,selectedOption:E[0],selectedOptions:E};Promise.resolve(S(C)).catch(w=>{console.error("[GlobalInfoFormRenderer] field business change failed",w)})}catch(E){console.error("[GlobalInfoFormRenderer] field business change failed",E)}}function p(u,v){const _=Ne(u,v);return(u.options??[]).filter(S=>_.some(E=>S.value===E||String(S.value)===String(E)))}function g(){return Object.values(t.state.sectionMap)}function T(u,v){const S=g().flatMap(E=>{const C=E.key===u.key?v:E.renderType==="table"?E.rows:E.model;return[E.key,E.id,E.setId,E.infSetId,E.code].filter(Boolean).map(w=>[String(w),C])});return Object.fromEntries(S)}async function f(u){try{await t.actions.loadFieldOptions(t.section,u,r.value)}catch(v){console.error("[GlobalInfoFormRenderer] load field options failed",v)}}async function y(){for(const u of l.value){const v=r.value[u.code];if(!V(u,v))continue;const _=Ee(t.section.key,u,r.value),S=P(u),E=a.get(S);if(Pt(u,E,_)){a.set(S,_);continue}E!==_&&(a.set(S,_),await f(u))}}e.watch(()=>t.section.key,()=>{a.clear()}),e.watch(()=>t.editing,()=>{y()},{immediate:!0}),e.watch(()=>l.value.filter(u=>_e(u)).map(u=>Ee(t.section.key,u,r.value)).join("||"),()=>{y()});function m(u){const v=r.value[u.code];return{field:u,section:t.section,sectionView:t.section,node:t.node,editing:t.editing,modelValue:v,value:v,state:t.state,actions:t.actions,updateModelValue:_=>i(u,_)}}function k(u){const v=String(u.id||u.key||u.code||"").trim(),_=v?`field-${v}`:"";if(_&&n[_])return _;const S=_.toLowerCase();return S!==_&&n[S]?S:""}function I(u){return u.span?Math.min(Math.max(u.span,1),24):6}function P(u){return u.key||u.id||u.code}function V(u,v){return _e(u)?t.editing?!0:!ce(v):!1}function O(u){return u.required||u.isRequired}return(u,v)=>{const _=D.ElFormItem,S=D.ElCol,E=D.ElRow,C=D.ElForm;return e.openBlock(),e.createBlock(C,{class:"global-info-form-renderer",model:r.value,"label-position":"top"},{default:e.withCtx(()=>[e.createVNode(E,{gutter:24},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,w=>(e.openBlock(),e.createBlock(S,{key:P(w),span:I(w)},{default:e.withCtx(()=>[e.createVNode(_,e.mergeProps({prop:w.code,ref_for:!0},w.formItemProps),{label:e.withCtx(()=>[e.createElementVNode("span",pn,[O(w)?(e.openBlock(),e.createElementBlock("span",fn,"*")):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(w.label),1)])]),default:e.withCtx(()=>[k(w)?e.renderSlot(u.$slots,k(w),e.mergeProps({key:0,ref_for:!0},m(w)),void 0,!0):u.editing&&!w.readonly?(e.openBlock(),e.createBlock(xe,{key:1,field:w,"model-value":r.value[w.code],section:u.section,onLoadOptions:()=>f(w),"onUpdate:modelValue":z=>i(w,z)},null,8,["field","model-value","section","onLoadOptions","onUpdate:modelValue"])):(e.openBlock(),e.createBlock(Ae,{key:2,field:w,value:r.value[w.code],section:u.section},null,8,["field","value","section"]))]),_:2},1040,["prop"])]),_:2},1032,["span"]))),128))]),_:3})]),_:3},8,["model"])}}}),$t=Y(mn,[["__scopeId","data-v-b049423d"]]),Ft=e.defineComponent({name:"GlobalInfoDeleteConfirm",__name:"GlobalInfoDeleteConfirm",props:{title:{default:"确认删除吗?"},confirmText:{default:"确认"},cancelText:{default:"取消"}},emits:["confirm","cancel"],setup(o){return(t,n)=>{const r=D.ElPopconfirm;return e.openBlock(),e.createBlock(r,{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]=a=>t.$emit("confirm")),onCancel:n[1]||(n[1]=a=>t.$emit("cancel"))},{reference:e.withCtx(()=>[e.renderSlot(t.$slots,"default")]),_:3},8,["title","confirm-button-text","cancel-button-text"])}}}),gn={class:"global-info-table-renderer__table-scroll"},vn={class:"global-info-table-renderer__header"},hn={key:0,class:"global-info-table-renderer__required"},yn=e.defineComponent({name:"GlobalInfoTableRenderer",__name:"GlobalInfoTableRenderer",props:{section:{},node:{},editing:{type:Boolean},state:{},actions:{},showAdd:{type:Boolean,default:!0},showDelete:{type:Boolean,default:!0},renderConfig:{}},setup(o){const t=o,n=e.useSlots(),r=e.computed(()=>t.section.fields.some(b=>Ze(b))),a=e.computed(()=>r.value),l=e.computed(()=>t.renderConfig?.sequenceLabel??"序号"),i=e.computed(()=>t.renderConfig?.sequenceWidth??56),s=e.computed(()=>{const b=t.renderConfig?.sequenceStart;return typeof b=="number"&&Number.isFinite(b)?b:1}),p=e.computed(()=>{const b=Te(t.section.fields,t.section,t.renderConfig,{rows:t.section.rows,values:t.section.model});return a.value?b.filter($=>!z($)):b}),g=new Map;function T(b){t.actions.deleteRow(t.section,b)}function f(b,$,F,G){const L=t.section.rows.slice(),U=F.cascadeClearFields??[],J={...b,__rowKey:ne(b),[F.code]:G};U.forEach(j=>{J[j]=""}),L[$]={...J},t.actions.updateTableRows(t.section,L),y(F,G,J,$,L)}function y(b,$,F,G,L){const U=t.renderConfig?.onFieldBusinessChange;if(U)try{const J=m(b,$),j={...t.section.model,...F},Q={field:b,value:$,section:t.section,model:j,values:j,row:F,rowIndex:G,rows:L,node:t.node,activeNode:t.node,sections:k(),sectionValues:I(t.section,L),actions:t.actions,selectedOption:J[0],selectedOptions:J};Promise.resolve(U(Q)).catch(ae=>{console.error("[GlobalInfoTableRenderer] field business change failed",ae)})}catch(J){console.error("[GlobalInfoTableRenderer] field business change failed",J)}}function m(b,$){const F=Ne(b,$);return(b.options??[]).filter(G=>F.some(L=>G.value===L||String(G.value)===String(L)))}function k(){return Object.values(t.state.sectionMap)}function I(b,$){const G=k().flatMap(L=>{const U=L.key===b.key?$:L.renderType==="table"?L.rows:L.model;return[L.key,L.id,L.setId,L.infSetId,L.code].filter(Boolean).map(J=>[String(J),U])});return Object.fromEntries(G)}async function P(b,$){try{await t.actions.loadFieldOptions(t.section,b,$)}catch(F){console.error("[GlobalInfoTableRenderer] load field options failed",F)}}async function V(){for(const b of t.section.rows){const $=ne(b);for(const F of p.value){const G=b[F.code];if(!_(F,G))continue;const L=Ee(t.section.key,F,b,$),U=`${$}:${C(F)}`,J=g.get(U);if(Pt(F,J,L)){g.set(U,L);continue}J!==L&&(g.set(U,L),await P(F,b))}}}function O(b,$,F){const G=$[b.code];return{field:b,section:t.section,sectionView:t.section,node:t.node,row:$,rowIndex:F,editing:t.editing,modelValue:G,value:G,state:t.state,actions:t.actions,updateModelValue:L=>f($,F,b,L)}}function u(b){const $=String(b.id||b.key||b.code||"").trim(),F=$?`field-${$}`:"";if(F&&n[F])return F;const G=F.toLowerCase();return G!==F&&n[G]?G:""}function v(b){return!b.readonly&&!b.disabled}function _(b,$){return _e(b)?t.editing?!0:!ce($):!1}function S(b){return b.width??(We(b)?56:void 0)}function E(b){if(!b.width)return b.minWidth??(We(b)?56:void 0)}function C(b){return b.key||b.id||b.code}function w(b){return s.value+b}function z(b){return Ze(b)}let te=0;const K=new WeakMap;function ne(b){const $=b.__rowKey??b.key??b.id??b.setId??b.infSetId;if($!=null&&$!=="")return String($);const F=b,G=K.get(F);if(G)return G;te+=1;const L=`local-${te}`;return K.set(F,L),L}function fe(b){return b.required||b.isRequired}return e.watch(()=>t.section.key,()=>{g.clear()}),e.watch(()=>t.editing,()=>{V()},{immediate:!0}),e.watch(()=>t.section.rows.flatMap(b=>p.value.filter($=>_e($)).map($=>Ee(t.section.key,$,b,ne(b)))).join("||"),()=>{V()}),(b,$)=>{const F=D.ElTableColumn,G=e.resolveComponent("Delete"),L=D.ElIcon,U=D.ElButton,J=D.ElTable;return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["global-info-table-renderer",{"global-info-table-renderer--editing":b.editing}])},[e.createElementVNode("div",gn,[e.createVNode(J,{class:"global-info-table-renderer__table",data:b.section.rows,fit:!0,"table-layout":"auto","row-key":ne},{default:e.withCtx(()=>[a.value?(e.openBlock(),e.createBlock(F,{key:0,type:"index",label:l.value,width:i.value,index:w},null,8,["label","width"])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p.value,j=>(e.openBlock(),e.createBlock(F,{key:C(j),prop:j.code,label:j.label,width:S(j),"min-width":E(j)},{header:e.withCtx(()=>[e.createElementVNode("span",vn,[fe(j)?(e.openBlock(),e.createElementBlock("span",hn,"*")):e.createCommentVNode("",!0),e.createElementVNode("span",null,e.toDisplayString(j.label),1)])]),default:e.withCtx(({row:Q,$index:ae})=>[u(j)?e.renderSlot(b.$slots,u(j),e.mergeProps({key:0,ref_for:!0},O(j,Q,ae)),void 0,!0):b.editing&&v(j)?(e.openBlock(),e.createBlock(xe,{key:1,field:j,"model-value":Q[j.code],section:b.section,row:Q,"row-index":ae,onLoadOptions:()=>P(j,Q),"onUpdate:modelValue":pe=>f(Q,ae,j,pe)},null,8,["field","model-value","section","row","row-index","onLoadOptions","onUpdate:modelValue"])):(e.openBlock(),e.createBlock(Ae,{key:2,field:j,value:Q[j.code],section:b.section,row:Q,"row-index":ae},null,8,["field","value","section","row","row-index"]))]),_:2},1032,["prop","label","width","min-width"]))),128)),b.editing?(e.openBlock(),e.createBlock(F,{key:1,label:"操作",width:"104",fixed:"right"},{default:e.withCtx(({$index:j})=>[b.showDelete?(e.openBlock(),e.createBlock(Ft,{key:0,onConfirm:Q=>T(j)},{default:e.withCtx(()=>[e.createVNode(U,{class:"global-info-table-renderer__delete",link:"",type:"danger"},{default:e.withCtx(()=>[e.createVNode(L,{class:"global-info-table-renderer__delete-icon"},{default:e.withCtx(()=>[e.createVNode(G)]),_:1}),$[0]||($[0]=e.createTextVNode(" 删除 "))]),_:1})]),_:2},1032,["onConfirm"])):e.createCommentVNode("",!0)]),_:1})):e.createCommentVNode("",!0)]),_:3},8,["data"])])],2)}}}),Mt=Y(yn,[["__scopeId","data-v-5a2ec852"]]),Rt=e.defineComponent({name:"GlobalInfoAutoRenderer",__name:"GlobalInfoAutoRenderer",props:{section:{},node:{},editing:{type:Boolean},state:{},actions:{},renderConfig:{}},setup(o){return(t,n)=>t.section.renderType==="table"?(e.openBlock(),e.createBlock(Mt,{key:0,section:t.section,node:t.node,editing:t.editing,state:t.state,actions:t.actions,"render-config":t.renderConfig},null,8,["section","node","editing","state","actions","render-config"])):(e.openBlock(),e.createBlock($t,{key:1,section:t.section,node:t.node,editing:t.editing,state:t.state,actions:t.actions,"render-config":t.renderConfig},null,8,["section","node","editing","state","actions","render-config"]))}}),Lt=e.defineComponent({name:"GlobalInfoSectionOutlet",__name:"GlobalInfoSectionOutlet",props:{section:{},node:{},editing:{type:Boolean},state:{},actions:{},renderConfig:{}},setup(o){const t=o,n=e.useSlots(),r=e.computed(()=>Te(t.section.fields,t.section,t.renderConfig,{values:t.section.model,rows:t.section.renderType==="table"?t.section.rows:void 0})),a=e.computed(()=>t.editing??t.actions.isEditing(t.section)),l=e.computed(()=>t.section.renderType==="table"&&t.section.rows.length===0||r.value.length===0),i=e.computed(()=>{const g=s(t.section.id||t.section.key),T=p(t.section.renderType);return[g,T,"default"].find(f=>!!(f&&n[f]))??""});function s(g){const T=String(g??"").trim();return T?`section-${T}`:""}function p(g){return g==="form"||g==="table"?g:""}return(g,T)=>i.value?e.renderSlot(g.$slots,i.value,{key:0,section:g.section,sectionView:g.section,node:g.node,editing:a.value,isEmpty:l.value,empty:l.value,fields:r.value,renderConfig:g.renderConfig,state:g.state,actions:g.actions}):(e.openBlock(),e.createBlock(Rt,{key:1,section:g.section,node:g.node,editing:a.value,state:g.state,actions:g.actions,"render-config":g.renderConfig},null,8,["section","node","editing","state","actions","render-config"]))}}),bn=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 r=e.ref(!1);e.watch(()=>o.boundaryKey,()=>{r.value=!1}),e.onErrorCaptured(l=>(a(l),!1));function a(l){r.value=!0,console.error(`[GlobalInfoSlotErrorBoundary] ${o.label||"section"} slot render failed`,l),t("error",l)}return()=>{if(r.value)return n.fallback?.()??null;try{return n.default?.()??null}catch(l){return a(l),n.fallback?.()??null}}}}),Sn={class:"global-info-section-block"},kn={key:0,class:"global-info-section-block__header"},wn={class:"global-info-section-block__title-wrap"},In={class:"global-info-section-block__title"},Cn={key:0,class:"global-info-section-block__actions"},Bn={class:"global-info-section-block__body"},_n=e.defineComponent({name:"GlobalInfoSectionBlock",__name:"GlobalInfoSectionBlock",props:{node:{},state:{},actions:{},hideHeader:{type:Boolean},renderConfig:{},onEdit:{type:Function},onCancel:{type:Function},onSave:{type:Function}},setup(o){const t=o,n=e.useSlots(),r=e.ref(!1),a=e.ref(null),l=e.ref(null),i=e.computed(()=>!!t.hideHeader),s=e.computed(()=>t.actions.getSectionStatus(t.node)),p=e.computed(()=>t.actions.getSection(t.node)??l.value),g=e.computed(()=>{const C=p.value;return C?Te(C.fields,C,t.renderConfig,{values:C.model,rows:C.renderType==="table"?C.rows:void 0}):[]}),T=e.computed(()=>p.value?.title||t.node.tagName||t.node.label||"-"),f=e.computed(()=>!!(p.value&&t.actions.isEditing(p.value))),y=e.computed(()=>p.value?.renderType==="table"),m=e.computed(()=>r.value||s.value.loading),k=e.computed(()=>V(a.value||s.value.error)),I=e.computed(()=>{const C=p.value;return C?C.renderType==="table"&&C.rows.length===0||g.value.length===0:!0}),P=e.computed(()=>({node:t.node,section:p.value,sectionView:p.value,fields:g.value,renderConfig:t.renderConfig,title:T.value,editing:f.value,loading:m.value,error:a.value||s.value.error,errorMessage:k.value,isEmpty:I.value,empty:I.value,sectionStatus:s.value,state:t.state,actions:t.actions,reload:E,handleEdit:O,handleCancel:u,handleAddTableRow:v,handleSave:_}));function V(C){return C?C instanceof Error?C.message:String(C):""}async function O(){const C=p.value;C&&(await t.onEdit?.(C,t.node),t.onEdit||t.actions.startEdit(C))}async function u(){const C=p.value;C&&(await t.onCancel?.(C,t.node),t.onCancel||t.actions.cancelEdit(C))}function v(){const C=p.value;if(!C)return;const w=C.fields.reduce((z,te)=>(z[te.code]=te.value??"",z),{__rowKey:`new-${Date.now()}`});t.actions.saveRow(C,w,-1)}async function _(){const C=p.value;if(C)try{if(t.onSave){await t.onSave(C,t.node);return}await t.actions.saveSection(C)}catch(w){a.value=w,console.error("[GlobalInfoSectionBlock] save section failed",w)}}function S(C){a.value=C}async function E(){r.value=!0,a.value=null,l.value=null;try{l.value=await t.actions.loadSection(t.node)}catch(C){a.value=C,console.error("[GlobalInfoSectionBlock] load section failed",C)}finally{r.value=!1}}return e.onMounted(()=>{E()}),e.watch(()=>t.node.key,()=>{E()}),(C,w)=>{const z=D.ElButton;return e.openBlock(),e.createElementBlock("section",Sn,[i.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("header",kn,[e.renderSlot(C.$slots,"header",e.normalizeProps(e.guardReactiveProps(P.value)),()=>[e.createElementVNode("div",wn,[w[0]||(w[0]=e.createElementVNode("span",{class:"global-info-section-block__marker"},null,-1)),e.createElementVNode("h3",In,e.toDisplayString(T.value),1)]),e.renderSlot(C.$slots,"actions",e.normalizeProps(e.guardReactiveProps(P.value)),()=>[p.value?(e.openBlock(),e.createElementBlock("div",Cn,[f.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createVNode(z,{class:"global-info-section-block__cancel",disabled:s.value.saving,onClick:u},{default:e.withCtx(()=>w[2]||(w[2]=[e.createTextVNode(" 取消 ")])),_:1},8,["disabled"]),y.value?(e.openBlock(),e.createBlock(z,{key:0,class:"global-info-section-block__add",disabled:s.value.saving,onClick:v},{default:e.withCtx(()=>w[3]||(w[3]=[e.createTextVNode(" 新增 ")])),_:1},8,["disabled"])):e.createCommentVNode("",!0),e.createVNode(z,{class:"global-info-section-block__confirm",loading:s.value.saving,onClick:_},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(y.value?"确认":"保存"),1)]),_:1},8,["loading"])],64)):(e.openBlock(),e.createBlock(z,{key:0,class:"global-info-section-block__edit",disabled:s.value.saving||m.value,onClick:O},{default:e.withCtx(()=>w[1]||(w[1]=[e.createElementVNode("svg",{class:"global-info-section-block__edit-icon",viewBox:"0 0 12 12","aria-hidden":"true",focusable:"false"},[e.createElementVNode("path",{d:"M0.437665 12C0.316763 11.9845 0.205604 11.9251 0.125029 11.8329C0.0444551 11.7407 0 11.622 0 11.499C0 11.3761 0.0444551 11.2574 0.125029 11.1652C0.205604 11.0729 0.316763 11.0135 0.437665 10.998H11.5623C11.6832 11.0135 11.7944 11.0729 11.875 11.1652C11.9555 11.2574 12 11.3761 12 11.499C12 11.622 11.9555 11.7407 11.875 11.8329C11.7944 11.9251 11.6832 11.9845 11.5623 12H0.437665ZM9.59963 0.233088L10.72 1.36329C10.868 1.51347 10.9511 1.71663 10.9511 1.92839C10.9511 2.14015 10.868 2.34331 10.72 2.49349L3.61614 9.6354C3.54189 9.70969 3.45384 9.76846 3.35702 9.80835C3.26021 9.84824 3.15654 9.86846 3.05196 9.86785H1.57397C1.4686 9.86785 1.36754 9.82562 1.29303 9.75046C1.21852 9.6753 1.17666 9.57336 1.17666 9.46707V7.93609C1.17606 7.8306 1.1961 7.72602 1.23564 7.62836C1.27519 7.5307 1.33345 7.44188 1.4071 7.36698L8.47921 0.233088C8.62809 0.0837965 8.82949 0 9.03942 0C9.24935 0 9.45074 0.0837965 9.59963 0.233088ZM2.16993 8.01624V8.8659H3.01223L9.88569 1.9324L9.04339 1.07473L2.16993 8.01624Z",fill:"currentColor"})],-1),e.createElementVNode("span",null,"编辑",-1)])),_:1},8,["disabled"]))])):e.createCommentVNode("",!0)],!0)],!0)])),e.createElementVNode("div",Bn,[m.value?e.renderSlot(C.$slots,"loading",e.normalizeProps(e.mergeProps({key:0},P.value)),()=>[w[4]||(w[4]=e.createElementVNode("div",{class:"global-info-section-block__status"},"加载中...",-1))],!0):!p.value||I.value?e.renderSlot(C.$slots,"empty",e.normalizeProps(e.mergeProps({key:1},P.value)),()=>[w[5]||(w[5]=e.createElementVNode("div",{class:"global-info-section-block__status"},"暂无数据",-1))],!0):(e.openBlock(),e.createBlock(bn,{key:2,"boundary-key":C.node.key,label:T.value,onError:S},{fallback:e.withCtx(()=>[e.renderSlot(C.$slots,"empty",e.normalizeProps(e.guardReactiveProps(P.value)),()=>[w[6]||(w[6]=e.createElementVNode("div",{class:"global-info-section-block__status"},"暂无数据",-1))],!0)]),default:e.withCtx(()=>[e.createVNode(Lt,{section:p.value,node:C.node,editing:f.value,state:C.state,actions:C.actions,"render-config":C.renderConfig},e.createSlots({_:2},[e.renderList(e.unref(n),(te,K)=>({name:K,fn:e.withCtx(ne=>[e.renderSlot(C.$slots,K,e.normalizeProps(e.guardReactiveProps({...P.value,...ne})),void 0,!0)])}))]),1032,["section","node","editing","state","actions","render-config"])]),_:3},8,["boundary-key","label"]))])])}}}),Ot=Y(_n,[["__scopeId","data-v-77980d16"]]),En={class:"global-info-group"},Vn={class:"global-info-group__header"},Nn={class:"global-info-group__title"},Tn={class:"global-info-group__body"},Pn=["id"],$n=e.defineComponent({name:"GlobalInfoGroup",__name:"GlobalInfoGroup",props:{group:{},children:{},state:{},actions:{},index:{},renderConfig:{}},setup(o){const t=o,n=e.useSlots(),r=e.computed(()=>t.group.tagName||t.group.label||"-"),a=e.computed(()=>t.children.length<=1);function l(f,y){const m=t.actions.getSection(f);return{node:f,group:t.group,sectionNode:f,section:m,sectionView:m,state:t.state,actions:t.actions,renderConfig:t.renderConfig,index:y,editing:!!(m&&t.actions.isEditing(m)),sectionStatus:t.actions.getSectionStatus(f),isSelfSection:g(f,0)===g(t.group,0),handleEdit:()=>t.actions.startEdit(f),handleCancel:()=>t.actions.cancelEdit(f),handleSave:()=>t.actions.saveSection(f.key)}}function i(f){return s("section",p(f))}function s(f,y){if(!y)return"";const m=`${f}-${y}`;if(n[m])return m;const k=m.toLowerCase();return k!==m&&n[k]?k:""}function p(f){return String(f.id||f.infSetId||f.tagId||f.key||f.code||"").trim()}function g(f,y){return f.key||f.id||f.infSetId||f.tagId||`${y}`}function T(f){return`global-info-section-${g(f,0)}`}return(f,y)=>(e.openBlock(),e.createElementBlock("section",En,[e.renderSlot(f.$slots,"header",{group:f.group,children:f.children,state:f.state,actions:f.actions,renderConfig:f.renderConfig,title:r.value,index:f.index,isEmpty:f.children.length===0},()=>[e.createElementVNode("header",Vn,[y[0]||(y[0]=e.createElementVNode("span",{class:"global-info-group__marker"},null,-1)),e.createElementVNode("h2",Nn,e.toDisplayString(r.value),1)])],!0),e.createElementVNode("div",Tn,[e.unref(n).default?e.renderSlot(f.$slots,"default",{key:0,group:f.group,children:f.children,state:f.state,actions:f.actions,renderConfig:f.renderConfig,index:f.index,isEmpty:f.children.length===0},void 0,!0):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.children,(m,k)=>(e.openBlock(),e.createElementBlock("div",{id:T(m),key:g(m,k),class:"global-info-group__section"},[i(m)?e.renderSlot(f.$slots,i(m),e.mergeProps({key:0,ref_for:!0},l(m,k)),void 0,!0):e.unref(n).section?e.renderSlot(f.$slots,"section",e.mergeProps({key:1,ref_for:!0},l(m,k)),void 0,!0):(e.openBlock(),e.createBlock(Ot,{key:2,node:m,state:f.state,actions:f.actions,"hide-header":a.value,"render-config":f.renderConfig},e.createSlots({_:2},[e.renderList(e.unref(n),(I,P)=>({name:P,fn:e.withCtx(V=>[e.renderSlot(f.$slots,P,e.mergeProps({ref_for:!0},V),void 0,!0)])}))]),1032,["node","state","actions","hide-header","render-config"]))],8,Pn))),128)),f.children.length===0?e.renderSlot(f.$slots,"empty",{key:0,node:null,group:f.group,sectionNode:null,state:f.state,actions:f.actions,index:-1,renderConfig:f.renderConfig},()=>[y[1]||(y[1]=e.createElementVNode("div",{class:"global-info-group__empty"},"暂无数据",-1))],!0):e.createCommentVNode("",!0)],64))])]))}}),Gt=Y($n,[["__scopeId","data-v-c90b8de0"]]),Fn={class:"global-info-sections"},Mn=e.defineComponent({name:"GlobalInfoSections",__name:"GlobalInfoSections",props:{nodes:{},state:{},actions:{},renderConfig:{}},setup(o){const t=o,n=e.useSlots(),r=e.computed(()=>{const y=t.nodes.filter(u=>a(u).length>0),m=t.nodes.filter(u=>a(u).length===0),k=m.filter(u=>l(u)),I=m.filter(u=>!l(u)),P=y.map(u=>({group:u,children:a(u)})),V=k.map(u=>({group:u,children:[u]}));if(P.length===0)return k.length>0?V:f(I);const O=f(I);return[...P,...V,...O]});function a(y){return y.children??[]}function l(y){return!String(y.parentId||y.parentTagId||"").trim()}function i(y){return s("group",p(y))}function s(y,m){if(!m)return"";const k=`${y}-${m}`;if(n[k])return k;const I=k.toLowerCase();return I!==k&&n[I]?I:""}function p(y){return String(y.id||y.tagId||y.key||y.code||"").trim()}function g(y,m){return y.key||y.id||y.tagId||`${m}`}function T(y){const m=y[0],k=m?.raw??{},I=String(k.parentTagName||k.parentName||k.parentLabel||m?.parentId||"信息");return{...m,key:`${m?.parentId||m?.parentTagId||m?.key||"global-info"}-group`,id:String(m?.parentId||m?.parentTagId||m?.id||"global-info-group"),tagId:String(m?.parentTagId||m?.parentId||m?.tagId||"global-info-group"),tagName:I,label:I,children:y}}function f(y){const m=new Map;return y.forEach(k=>{const I=String(k.parentId||k.parentTagId||"global-info-flat"),P=m.get(I)??[];P.push(k),m.set(I,P)}),Array.from(m.values()).map(k=>({group:T(k),children:k}))}return(y,m)=>(e.openBlock(),e.createElementBlock("div",Fn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,(k,I)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:g(k.group,I)},[i(k.group)?e.renderSlot(y.$slots,i(k.group),{key:0,group:k.group,children:k.children,state:y.state,actions:y.actions,renderConfig:y.renderConfig,index:I,isEmpty:k.children.length===0},void 0,!0):e.unref(n).group?e.renderSlot(y.$slots,"group",{key:1,group:k.group,children:k.children,state:y.state,actions:y.actions,renderConfig:y.renderConfig,index:I,isEmpty:k.children.length===0},void 0,!0):(e.openBlock(),e.createBlock(Gt,{key:2,group:k.group,children:k.children,state:y.state,actions:y.actions,"render-config":y.renderConfig,index:I},e.createSlots({_:2},[e.renderList(e.unref(n),(P,V)=>({name:V,fn:e.withCtx(O=>[e.renderSlot(y.$slots,V,e.mergeProps({ref_for:!0},O),void 0,!0)])}))]),1032,["group","children","state","actions","render-config","index"]))],64))),128))]))}}),Rn=Y(Mn,[["__scopeId","data-v-c0d12f5e"]]);exports.JtAttachmentPreview=Ge.JtAttachmentPreview;exports.JtAttachmentPreviewByParams=Ge.JtAttachmentPreviewByParams;exports.setupJtAttachmentPreview=Ge.setupJtAttachmentPreview;exports.GlobalInfoAutoRenderer=Rt;exports.GlobalInfoDeleteConfirm=Ft;exports.GlobalInfoFieldControl=xe;exports.GlobalInfoFieldValue=Ae;exports.GlobalInfoFormRenderer=$t;exports.GlobalInfoGroup=Gt;exports.GlobalInfoProvider=Uo;exports.GlobalInfoSectionBlock=Ot;exports.GlobalInfoSectionOutlet=Lt;exports.GlobalInfoSections=Rn;exports.GlobalInfoTableRenderer=Mt;exports.JtButton=he;exports.JtCascader=rt;exports.JtCrudTable=ho;exports.JtDatePicker=at;exports.JtFilterBar=it;exports.JtFormItems=st;exports.JtInput=Ce;exports.JtPageHeader=wo;exports.JtPagination=ut;exports.JtSelect=lt;exports.JtTable=ct;exports.buildGlobalInfoUpdatePayload=mt;exports.createEmptyGlobalInfoViewModel=dt;exports.isGlobalInfoNode=Io;exports.mergeGlobalInfoChildren=De;exports.normalizeGlobalInfoDetail=pt;exports.normalizeGlobalInfoTree=Le;exports.resolveGlobalInfoRenderType=ft;exports.useGlobalInfoController=_t;