@jt-home/mfe-components 1.0.12 → 1.0.14
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 +2 -2
- package/dist/index.mjs +2580 -1919
- package/dist/style.css +1 -1
- package/dist/types/components/globalInfo/controller/controllerRequests.d.ts +1 -0
- package/dist/types/components/globalInfo/model/fieldUtils.d.ts +4 -2
- package/dist/types/components/globalInfo/model/types.d.ts +11 -2
- package/dist/types/components/globalInfo/renderers/GlobalInfoFieldControl.vue.d.ts +3 -3
- package/dist/types/components/globalInfo/renderers/optionPreload.d.ts +7 -3
- package/package.json +20 -15
- package/readme.md +16 -3
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})))}});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;
|
|
2
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),W=require("element-plus/es"),_e=require("element-plus"),Je=require("./JtAttachmentPreview/index.cjs"),qe=2,an=3;function ln(n){return n.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}function ft(n){if(!n.startsWith("on")||n.length<=qe)return!1;const t=n.charCodeAt(qe);return t<97||t>122}function sn(n){if(n.startsWith("on-"))return n.slice(an);const[t,o]=n.slice(qe).split(":"),r=ln(t);return o?`${r}:${o}`:r}function pt(n,t=new Set){return Object.fromEntries(Object.entries(n).filter(([o,r])=>!t.has(o)&&ft(o)&&typeof r=="function").map(([o,r])=>[sn(o),r]))}function mt(n,t=new Set){return Object.fromEntries(Object.entries(n).filter(([o])=>!t.has(o)&&!ft(o)))}const cn=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(n){const t=n,o=e.useAttrs(),r=e.computed(()=>{const{icon:l,...c}=t;return{...mt(o),...c}}),a=e.computed(()=>pt(o));return(l,c)=>{const i=W.ElIcon,u=W.ElButton;return e.openBlock(),e.createBlock(u,e.mergeProps({class:"jt-button"},r.value,e.toHandlers(a.value)),{default:e.withCtx(()=>[l.$slots.icon?(e.openBlock(),e.createBlock(i,{key:0,class:"jt-button__icon"},{default:e.withCtx(()=>[e.renderSlot(l.$slots,"icon",{},void 0,!0)]),_:3})):t.icon?(e.openBlock(),e.createBlock(i,{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)}}}),le=(n,t)=>{const o=n.__vccOpts||n;for(const[r,a]of t)o[r]=a;return o},Ce=le(cn,[["__scopeId","data-v-a8344276"]]),un={options:()=>[],placeholder:"请选择",clearable:!0,persistent:!0};function nt(n){return Object.fromEntries(Object.entries(n).filter(([,t])=>t!==void 0))}function dn(n){const t=nt(n);return t.props&&(t.props=nt(t.props)),t}const ht=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:{}},un),emits:_e.cascaderEmits,setup(n,{emit:t}){const o=n,r=e.computed(()=>dn(o)),a=e.ref(o.modelValue);e.watch(()=>o.modelValue,g=>{a.value=g},{deep:!0});const l=t;function c(g,...I){l(g,...I)}function i(g){a.value=g,c("update:modelValue",g)}function u(g){c("change",g)}function p(g){c("focus",g)}function P(g){c("blur",g)}function m(){c("clear")}function S(g){c("visibleChange",g)}function f(g){c("expandChange",g)}function C(g){c("removeTag",g)}return(g,I)=>{const B=W.ElCascader;return e.openBlock(),e.createBlock(B,e.mergeProps({class:"jt-cascader"},r.value,{"model-value":a.value,"onUpdate:modelValue":i,onChange:u,onFocus:p,onBlur:P,onClear:m,onVisibleChange:S,onExpandChange:f,onRemoveTag:C}),null,16,["model-value"])}}}),fn=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(n){const t=n,o=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 c=W.ElDatePicker;return e.openBlock(),e.createBlock(c,e.mergeProps({class:"jt-date-picker"},o.value,{"onUpdate:modelValue":l[0]||(l[0]=i=>a.$emit("update:modelValue",i))}),null,16)}}}),vt=le(fn,[["__scopeId","data-v-7aa4706e"]]),pn=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:{..._e.inputEmits,enter:()=>!0},setup(n,{emit:t}){const o=n,r=t,a=e.computed(()=>Object.fromEntries(Object.keys(_e.inputEmits).map(l=>[l,(...c)=>r(l,...c)])));return(l,c)=>{const i=W.ElInput;return e.openBlock(),e.createBlock(i,e.mergeProps({class:"jt-input"},o,e.toHandlers(a.value),{onKeyup:c[0]||(c[0]=e.withKeys(u=>r("enter"),["enter"]))}),null,16)}}}),Ve=le(pn,[["__scopeId","data-v-031428a1"]]),mn=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:_e.selectEmits,setup(n,{emit:t}){const o=n,r=e.computed(()=>{const{options:c,...i}=o;return i}),a=t,l=e.computed(()=>Object.fromEntries(Object.keys(_e.selectEmits).map(c=>[c,(...i)=>a(c,...i)])));return(c,i)=>{const u=W.ElOption,p=W.ElSelect;return e.openBlock(),e.createBlock(p,e.mergeProps({class:"jt-select"},r.value,e.toHandlers(l.value)),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.options??[],P=>(e.openBlock(),e.createBlock(u,e.mergeProps({key:P.value,ref_for:!0},P),null,16))),128))]),_:1},16)}}}),gt=le(mn,[["__scopeId","data-v-c67cfa84"]]),hn={class:"jt-form-items"},Ge=4,vn=e.defineComponent({name:"JTFormItems",__name:"JtFormItems",props:{configs:{},formData:{},span:{}},setup(n){const t=n,o={input:Ve,select:gt,cascader:ht,"date-picker":vt},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(o),c=new Map,i=e.computed(()=>t.configs.filter(b=>b.show!==!1)),u=b=>{const{itemType:h}=b;if(!h)return Ve;if(typeof h!="string")return h;const T=r[h]??h;return l.includes(T)?o[T]:(console.error(`[JtFormItems] 不支持的 itemType: "${h}",支持的类型: ${l.join(", ")}`),Ve)},p=b=>{const h=mt(b,a);return b.itemType==="select"||b.itemType==="remote-select"||b.itemType==="cascader"?{...h,options:b.options}:N(b.itemType)?{...h,type:"daterange"}:h},P=b=>pt(b,a),m=b=>({rules:b.rules,...b.formItemProps}),S=(b,h)=>{t.formData[b]=h};function f(b){return h=>{if(h){c.set(b,h);return}c.delete(b)}}function C(b,h){e.nextTick(()=>{c.get(b)?.validate(h).catch(()=>{})})}const g=b=>Math.min(Math.max(Math.trunc(b||1),1),4),I=e.computed(()=>{const h=i.value.reduce((T,w)=>T+g(t.span||w.span),0)%Ge;return h===0?{gridColumn:`1 / span ${Ge}`}:{gridColumn:`${h+1} / span ${Ge-h}`}}),B=b=>({gridColumn:`span ${g(t.span||b.span)}`});function N(b){return b==="daterange"||b==="date-range"||b==="dateRange"}return(b,h)=>{const T=W.ElFormItem;return e.openBlock(),e.createElementBlock("div",hn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,w=>(e.openBlock(),e.createBlock(T,e.mergeProps({key:w.prop,ref_for:!0,ref:f(w.prop),class:"jt-form-items__item",style:B(w),label:w.label,prop:w.prop},m(w)),{default:e.withCtx(()=>[w.showSlot?e.renderSlot(b.$slots,w.prop,{key:0},void 0,!0):(e.openBlock(),e.createBlock(e.resolveDynamicComponent(u(w)),e.mergeProps({key:1,"model-value":b.formData[w.prop],ref_for:!0},p(w),e.toHandlers(P(w)),{"onUpdate:modelValue":O=>S(w.prop,O),onChange:()=>C(w.prop,"change"),onBlur:()=>C(w.prop,"blur")}),null,16,["model-value","onUpdate:modelValue","onChange","onBlur"]))]),_:2},1040,["style","label","prop"]))),128)),b.$slots.actions?(e.openBlock(),e.createBlock(T,{key:0,class:"jt-form-items__actions",style:e.normalizeStyle(I.value)},{default:e.withCtx(()=>[e.renderSlot(b.$slots,"actions",{},void 0,!0)]),_:3},8,["style"])):e.createCommentVNode("",!0)])}}}),yt=le(vn,[["__scopeId","data-v-cb82fcfc"]]);function gn(){const n=e.ref(!1);function t(){n.value=!0}function o(){n.value=!1}return{searchDisabled:n,searchLoading:t,searchDone:o}}const yn="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",bn="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",Sn="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",wn={class:"jt-filter-bar__btns"},kn=["src"],In=["src"],Cn=["src"],Bn=e.defineComponent({name:"JtFilterBar",__name:"JtFilterBar",props:{columns:{},option:{default:()=>({})},modelValue:{}},emits:["update:modelValue","search","reset"],setup(n,{expose:t,emit:o}){const r=n,a=o,l=e.ref(),c=e.useSlots(),i=e.ref({}),{searchDisabled:u,searchLoading:p,searchDone:P}=gn(),m=e.computed(()=>r.option),S=e.ref(m.value.searchCollapsed??!1),f=e.computed(()=>r.columns.filter(L=>L.search===!0)),C=e.computed(()=>Math.max(1,m.value.searchSpan??4)),g=e.computed(()=>Math.max(1,m.value.searchCollapsedRows??1)),I=e.computed(()=>C.value),B=e.computed(()=>Math.max(1,I.value*g.value)),N=e.computed(()=>C.value),b=e.computed(()=>M.value?"264px":"174px"),h=e.computed(()=>A(m.value.searchLabelWidth??84)),T=e.computed(()=>m.value.searchLabelPosition??"top"),w=e.computed(()=>Y(m.value.searchGutter,14)),O=e.computed(()=>Y(m.value.searchRowGap,14)),d=e.computed(()=>J(m.value.searchPadding??"18px 4px 0")),M=e.computed(()=>m.value.searchCollapse===!1?!1:G(f.value)>B.value),E=e.computed(()=>{if(!M.value||!S.value)return f.value;let L=0;return f.value.filter(U=>{const Q=x(U);return L+Q>B.value?!1:(L+=Q,!0)})}),R=e.computed(()=>E.value.filter(L=>!!c[`${L.prop}-search`])),q=e.computed(()=>{const[L]=E.value;return!!L&&E.value.length===1&&x(L)<C.value}),Z=e.computed(()=>{const[L]=E.value;return`${Math.min(C.value,L?x(L)+1:1)}`}),z=e.computed(()=>E.value.map(L=>s(L)));e.watch(()=>m.value.searchCollapsed,L=>{typeof L=="boolean"&&(S.value=L)}),e.watch(()=>r.modelValue,L=>{i.value={...L}},{deep:!0,immediate:!0});function V(L,U){if(u.value)return;const Q={...i.value,[L]:U};i.value=Q,a("update:modelValue",Q)}function s(L){const U=L.searchProps??{};return{...U,prop:L.prop,label:L.searchLabel??L.label,span:x(L),itemType:L.searchType??"input",showSlot:!!c[`${L.prop}-search`],options:U.options??L.searchOptions??L.dicData,placeholder:U.placeholder??L.searchPlaceholder,valueFormat:U.valueFormat??L.searchValueFormat,disabled:u.value||U.disabled===!0,formItemProps:{required:L.searchRequired,class:["jt-filter-bar__item",{"is-required":L.searchRequired}]},onEnter:(...Q)=>{_(U.onEnter,...Q),k()},"onUpdate:modelValue":Q=>{_(U["onUpdate:modelValue"],Q),V(L.prop,Q)}}}function _(L,...U){if(Array.isArray(L)){L.forEach(Q=>_(Q,...U));return}typeof L=="function"&&L(...U)}async function k(){if(!u.value){if(l.value)try{await l.value.validate()}catch{return}a("search")}}function D(){u.value||a("reset")}function F(){S.value=!S.value}function x(L){return Math.min(C.value,Math.max(1,L.searchSpan??1))}function G(L){return L.reduce((U,Q)=>U+x(Q),0)}function A(L){return typeof L=="number"?`${L}px`:L}function Y(L,U){return typeof L=="number"?L:U}function J(L){return typeof L=="number"?`${L}px`:L}return t({formRef:l,searchDisabled:u,searchLoading:p,searchDone:P}),(L,U)=>{const Q=W.ElForm;return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["jt-filter-bar",[`is-label-${T.value}`,{"is-single-filter":q.value}]]),style:e.normalizeStyle({"--jt-filter-columns":C.value,"--jt-filter-field-columns":N.value,"--jt-filter-btns-width":b.value,"--jt-filter-actions-start":Z.value,"--jt-filter-label-width":h.value,"--jt-filter-column-gap":`${w.value}px`,"--jt-filter-row-gap":`${O.value}px`,"--jt-filter-padding":d.value})},[e.createVNode(Q,{ref_key:"formRef",ref:l,class:"jt-filter-bar__form",model:i.value,"label-position":T.value,"label-width":h.value,disabled:e.unref(u),onSubmit:U[0]||(U[0]=e.withModifiers(()=>{},["prevent"]))},{default:e.withCtx(()=>[e.createVNode(e.unref(yt),{configs:z.value,"form-data":i.value},e.createSlots({actions:e.withCtx(()=>[e.createElementVNode("div",wn,[e.renderSlot(L.$slots,"search-menu",{search:k,reset:D,disabled:e.unref(u),collapsed:S.value,toggleCollapse:F},()=>[M.value?(e.openBlock(),e.createBlock(e.unref(Ce),{key:0,class:"jt-filter-bar__btn-collapse",onClick:F},{icon:e.withCtx(()=>[e.createElementVNode("img",{class:e.normalizeClass(["jt-filter-bar__icon-arrow",{"is-collapsed":S.value}]),src:e.unref(yn),alt:""},null,10,kn)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(S.value?"展 开":"收 起"),1)]),_:1})):e.createCommentVNode("",!0),e.createVNode(e.unref(Ce),{class:"jt-filter-bar__btn-reset",disabled:e.unref(u),onClick:D},{icon:e.withCtx(()=>[e.createElementVNode("img",{src:e.unref(bn),alt:""},null,8,In)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(m.value.resetBtnText??"重 置"),1)]),_:1},8,["disabled"]),e.createVNode(e.unref(Ce),{class:"jt-filter-bar__btn-query",type:"primary",disabled:e.unref(u),onClick:k},{icon:e.withCtx(()=>[e.createElementVNode("img",{src:e.unref(Sn),alt:""},null,8,Cn)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(m.value.searchBtnText??"查 询"),1)]),_:1},8,["disabled"])],!0)])]),_:2},[e.renderList(R.value,oe=>({name:oe.prop,fn:e.withCtx(()=>[e.renderSlot(L.$slots,`${oe.prop}-search`,{value:i.value[oe.prop],column:oe,setValue:ne=>V(oe.prop,ne),search:k,reset:D,disabled:e.unref(u)},void 0,!0)])}))]),1032,["configs","form-data"])]),_:3},8,["model","label-position","label-width","disabled"])],6)}}}),bt=le(Bn,[["__scopeId","data-v-1f6fdc4e"]]),_n={key:1},$n={key:2},Mn={key:3},Tn=e.defineComponent({name:"JtTable",__name:"JtTable",props:{data:{},columns:{},option:{},tableEvents:{}},setup(n,{expose:t}){const o=n,r=e.useSlots(),a=e.ref(),l=e.computed(()=>o.option??{}),c=e.computed(()=>o.columns.filter(f=>!f.hide));function i(f){return!!r[`${f}-header`]}function u(f){return!!r[`${f}-data`]}function p(f){return{width:f.width,minWidth:f.minWidth,align:f.align,fixed:f.fixed,sortable:f.sortable,showOverflowTooltip:f.showOverflowTooltip,...f.columnOptions}}function P(f){return!m(f.columnOptions?.type)}function m(f){return f==="selection"||f==="index"||f==="expand"}function S(f,C){return f.find(g=>g.value===C)?.label??String(C??"")}return t({tableRef:a}),(f,C)=>{const g=W.ElTableColumn,I=W.ElTable;return e.openBlock(),e.createBlock(I,e.mergeProps({ref_key:"tableRef",ref:a,data:f.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(f.tableEvents)),{default:e.withCtx(()=>[l.value.selection?(e.openBlock(),e.createBlock(g,{key:0,type:"selection",width:"55",align:"center"})):e.createCommentVNode("",!0),l.value.index?(e.openBlock(),e.createBlock(g,{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(c.value,B=>(e.openBlock(),e.createBlock(g,e.mergeProps({key:B.prop,prop:B.prop,label:B.label,formatter:!u(B.prop)&&!B.dicData?B.formatter:void 0,ref_for:!0},p(B)),e.createSlots({_:2},[i(B.prop)?{name:"header",fn:e.withCtx(N=>[e.renderSlot(f.$slots,`${B.prop}-header`,e.mergeProps({ref_for:!0},N),void 0,!0)]),key:"0"}:void 0,P(B)?{name:"default",fn:e.withCtx(N=>[u(B.prop)?e.renderSlot(f.$slots,`${B.prop}-data`,e.mergeProps({key:0,ref_for:!0},N),void 0,!0):B.dicData?(e.openBlock(),e.createElementBlock("span",_n,e.toDisplayString(S(B.dicData,N.row[B.prop])),1)):B.formatter?(e.openBlock(),e.createElementBlock("span",$n,e.toDisplayString(B.formatter(N.row,N.column,N.row[B.prop],N.$index)),1)):(e.openBlock(),e.createElementBlock("span",Mn,e.toDisplayString(N.row[B.prop]),1))]),key:"1"}:void 0]),1040,["prop","label","formatter"]))),128)),l.value.menu?(e.openBlock(),e.createBlock(g,{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(B=>[e.renderSlot(f.$slots,"menu",e.normalizeProps(e.guardReactiveProps(B)),void 0,!0)]),_:3},8,["label","width","min-width","align","fixed"])):e.createCommentVNode("",!0)]),_:3},16,["data","row-key","height","max-height","empty-text"])}}}),St=le(Tn,[["__scopeId","data-v-513fa12d"]]),En={class:"jt-pagination"},Vn={class:"jt-pagination__count"},Dn=e.defineComponent({name:"JtPagination",__name:"JtPagination",props:{currentPage:{},pageSize:{},total:{},option:{}},emits:["update:currentPage","update:pageSize","current-change","page-change","size-change"],setup(n,{emit:t}){const o=n,r=e.computed(()=>o.option??{}),a=t;function l(c){a("current-change",c),a("page-change",c)}return(c,i)=>{const u=W.ElPagination;return e.openBlock(),e.createElementBlock("div",En,[e.createVNode(u,{"current-page":c.currentPage,"page-size":c.pageSize,"page-sizes":r.value.pageSizes??[10,20,50,100],total:c.total,layout:r.value.paginationLayout??"sizes, prev, pager, next, jumper","onUpdate:currentPage":i[0]||(i[0]=p=>c.$emit("update:currentPage",p)),"onUpdate:pageSize":i[1]||(i[1]=p=>c.$emit("update:pageSize",p)),onCurrentChange:l,onSizeChange:i[2]||(i[2]=p=>c.$emit("size-change",p))},null,8,["current-page","page-size","page-sizes","total","layout"]),e.createElementVNode("span",Vn,"共"+e.toDisplayString(c.total)+"条记录",1)])}}}),wt=le(Dn,[["__scopeId","data-v-c6e8a4b5"]]),Fn={class:"jt-crud-table"},Nn={key:1,class:"jt-crud-table__toolbar"},Pn=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(n,{expose:t,emit:o}){const r=n,a=o,l=e.useModel(n,"currentPage"),c=e.useModel(n,"pageSize"),i=e.useModel(n,"searchModel"),u=e.useSlots(),p=e.ref(),P=e.ref(),m=e.computed(()=>r.option),S=e.computed(()=>m.value.searchShow!==!1),f=e.computed(()=>m.value.paginationShow!==!1),C=e.computed(()=>r.columns.filter(w=>w.search&&!!u[`${w.prop}-search`])),g=e.computed(()=>r.columns.filter(w=>!w.hide&&!!u[`${w.prop}-header`])),I=e.computed(()=>r.columns.filter(w=>!w.hide&&!!u[`${w.prop}-data`]));function B(){const w={};return r.columns.forEach(O=>{O.search&&(w[O.prop]=void 0)}),w}function N(){a("search",{...i.value})}function b(){i.value=B(),a("reset")}function h(){P.value?.searchLoading()}function T(){P.value?.searchDone()}return t({tableRef:e.computed(()=>p.value?.tableRef),filterBarRef:P,searchLoading:h,searchDone:T}),(w,O)=>{const d=W.ElLoadingDirective;return e.openBlock(),e.createElementBlock("div",Fn,[e.renderSlot(w.$slots,"header",{},void 0,!0),S.value?(e.openBlock(),e.createBlock(bt,{key:0,ref_key:"filterBarRef",ref:P,modelValue:i.value,"onUpdate:modelValue":O[0]||(O[0]=M=>i.value=M),columns:w.columns,option:m.value,onSearch:N,onReset:b},e.createSlots({_:2},[e.renderList(C.value,M=>({name:`${M.prop}-search`,fn:e.withCtx(E=>[e.renderSlot(w.$slots,`${M.prop}-search`,e.normalizeProps(e.guardReactiveProps(E)),void 0,!0)])}))]),1032,["modelValue","columns","option"])):e.createCommentVNode("",!0),e.unref(u).toolbar?(e.openBlock(),e.createElementBlock("div",Nn,[e.renderSlot(w.$slots,"toolbar",{},void 0,!0)])):e.createCommentVNode("",!0),e.withDirectives((e.openBlock(),e.createBlock(St,{ref_key:"jtTableRef",ref:p,data:w.data,columns:w.columns,option:m.value,"table-events":w.tableEvents},e.createSlots({_:2},[e.renderList(g.value,M=>({name:`${M.prop}-header`,fn:e.withCtx(E=>[e.renderSlot(w.$slots,`${M.prop}-header`,e.normalizeProps(e.guardReactiveProps(E)),void 0,!0)])})),e.renderList(I.value,M=>({name:`${M.prop}-data`,fn:e.withCtx(E=>[e.renderSlot(w.$slots,`${M.prop}-data`,e.normalizeProps(e.guardReactiveProps(E)),void 0,!0)])})),m.value.menu?{name:"menu",fn:e.withCtx(M=>[e.renderSlot(w.$slots,"menu",e.normalizeProps(e.guardReactiveProps(M)),void 0,!0)]),key:"0"}:void 0]),1032,["data","columns","option","table-events"])),[[d,m.value.loading]]),f.value?(e.openBlock(),e.createBlock(wt,{key:2,"current-page":l.value,"onUpdate:currentPage":O[1]||(O[1]=M=>l.value=M),"page-size":c.value,"onUpdate:pageSize":O[2]||(O[2]=M=>c.value=M),total:w.total,option:m.value,onPageChange:O[3]||(O[3]=M=>w.$emit("page-change",M)),onSizeChange:O[4]||(O[4]=M=>w.$emit("size-change",M))},null,8,["current-page","page-size","total","option"])):e.createCommentVNode("",!0)])}}}),On=le(Pn,[["__scopeId","data-v-ad466273"]]),Ln={class:"jt-page-header__title"},xn={key:0},zn={key:0,class:"jt-page-header__operates"},Rn=e.defineComponent({name:"JtPageHeader",__name:"index",props:{type:{default:"section"},title:{},operates:{default:()=>[]}},emits:["operate-click"],setup(n,{emit:t}){const o=n,r=t,a=e.useSlots(),l=e.computed(()=>o.operates.length>0||!!a.operates);function c(i,u){i.onClick?.(i,u),r("operate-click",i,u)}return(i,u)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps({class:["jt-page-header",`jt-page-header--${i.type}`]},i.$attrs),[e.createElementVNode("div",Ln,[e.renderSlot(i.$slots,"title",{},()=>[i.title?(e.openBlock(),e.createElementBlock("span",xn,e.toDisplayString(i.title),1)):e.createCommentVNode("",!0)],!0)]),l.value?(e.openBlock(),e.createElementBlock("div",zn,[e.renderSlot(i.$slots,"operates",{operates:i.operates},()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.operates,p=>(e.openBlock(),e.createBlock(e.unref(Ce),e.mergeProps({key:p.key??p.label,ref_for:!0},p.buttonProps,{type:p.type,disabled:p.disabled,loading:p.loading,plain:p.plain,text:p.text,link:p.link,icon:p.icon,onClick:P=>c(p,P)}),{default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(p.label),1)]),_:2},1040,["type","disabled","loading","plain","text","link","icon","onClick"]))),128))],!0)])):e.createCommentVNode("",!0)],16))}}),An=le(Rn,[["__scopeId","data-v-9e6bb356"]]),Ke=/\$\{([^}]+)\}/g;function be(n){if(!n)return[];const t=new Set;return(n.cascadeDependFields??[]).forEach(o=>{const r=String(o??"").trim();r&&t.add(r)}),jn(n.interface).forEach(o=>t.add(o)),[...t]}function jn(n){if(!n||typeof n!="object")return[];const t=n.params;if(!t||typeof t!="object"||Array.isArray(t))return[];const o=new Set;return Ye(t,o),[...o]}function Ye(n,t){if(typeof n=="string"){Ke.lastIndex=0;let o=Ke.exec(n);for(;o!==null;){const r=String(o[1]??"").trim();r&&t.add(r),o=Ke.exec(n)}return}if(Array.isArray(n)){n.forEach(o=>Ye(o,t));return}!n||typeof n!="object"||Object.values(n).forEach(o=>Ye(o,t))}function Te(n){return at(n.type||n.fieldType||n.frontInputType)||at(n.renderType)||"text"}function We(n){return lt(n.type||n.fieldType||n.frontInputType)||lt(n.renderType)||"text"}function fe(n){if(n==null)return!0;if(typeof n=="string")return n.trim()==="";if(Array.isArray(n))return n.length===0||n.every(t=>fe(t));if(n instanceof Date)return Number.isNaN(n.getTime());if(typeof File<"u"&&n instanceof File)return n.name.trim()==="";if(typeof n=="object"){const t=Object.entries(n).filter(([o])=>!o.startsWith("__"));return t.length===0||t.every(([,o])=>fe(o))}return!1}function kt(n){if(n instanceof Error)return!0;if(!n||typeof n!="object")return!1;const t=n;return typeof t.message=="string"&&(typeof t.stack=="string"||t.name==="Error")}function It(n,t,o="-"){const r=We(n);return r==="empty"||fe(t)?o:kt(t)?(console.error("[globalInfo] field value render failed",t),o):r==="select"?Jn(n,t,o):r==="switch"?Ct(t)?"是":"否":r==="file"?Wn(t,o):r==="multi-row"?Zn(t,o):String(t)}function Pe(n,t){return Array.isArray(t)?t:Le(n)?typeof t=="string"?t.split(",").map(o=>o.trim()).filter(Boolean):fe(t)?[]:[t]:[t]}function Gn(n,t){return Le(n)?Pe(n,t):t}function Kn(n,t){return!Le(n)||!Array.isArray(t)?fe(t)?"":t:t.map(o=>String(o??"").trim()).filter(Boolean).join(",")}function Ct(n){if(typeof n=="boolean")return n;if(typeof n=="number")return n!==0;const t=String(n??"").trim().toLowerCase();return["true","1","y","yes","t","是"].includes(t)}function Oe(n,t,o,r={}){const a=qn(r);return n.filter(l=>l.visible?!Yn(l,t,o,a,r.rows):!1)}function ot(n){return Bt(n).some(o=>["序号","index","idx","seq","seqno","serial","order","rownum","row_no"].includes(o))}function rt(n){return Bt(n).includes("seqno")}function at(n){const t=String(n??"").toLowerCase();return t==="upload"||t==="attachment"?"file":t==="radio"||t==="checkbox"?"select":t==="text"||t==="textarea"||t==="select"||t==="select_remote"||t==="date"||t==="number"||t==="switch"||t==="file"||t==="html"||t==="code"||t==="multi-row"||t==="empty"?t:""}function lt(n){const t=String(n??"").toLowerCase();return t==="upload"||t==="attachment"?"file":t==="radio"||t==="checkbox"||t==="select_remote"?"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 qn(n){return n.rows?.length?n.rows:[n.values??{}]}function Yn(n,t,o,r,a){const l=o?.hiddenRule;return l?r.some(c=>{try{const i=c[n.code];return l({field:n,section:t,values:c,allValues:c,value:i,currentValue:i,rows:a})}catch(i){return console.error("[globalInfo] hidden rule failed",i),!1}}):!1}function Bt(n){return Hn([n.id,n.key,n.code,n.name,n.label,n.prop])}function Hn(n){return Array.from(new Set(n.map(t=>Un(t)).filter(Boolean)))}function Un(n){return String(n??"").trim().toLowerCase()}function Jn(n,t,o){const r=Le(n);if(Array.isArray(t)||r){const a=Pe(n,t).map(c=>st(n,c)||String(c??"").trim()).filter(Boolean),l=r?",":"、";return a.length>0?a.join(l):o}return st(n,t)||String(t).trim()||o}function Le(n){return!!n.props?.multiple&&(Te(n)==="select"||We(n)==="select")}function st(n,t){return n.options?.find(r=>r.value===t||String(r.value)===String(t))?.label??""}function Wn(n,t){if(Array.isArray(n)){const o=n.map(r=>it(r)).filter(Boolean);return o.length>0?o.join("、"):t}return it(n)||t}function it(n){if(typeof File<"u"&&n instanceof File)return n.name;if(n&&typeof n=="object"){const t=n;return String(t.name??t.fileName??t.filename??t.url??"").trim()}return String(n??"").trim()}function Zn(n,t){return Array.isArray(n)?n.map(r=>kt(r)?(console.error("[globalInfo] multi-row field item render failed",r),""):fe(r)?"":r&&typeof r=="object"?JSON.stringify(r):String(r).trim()).filter(Boolean).join(`
|
|
3
|
+
`)||t:String(n).trim()||t}function _t(n=null){return{scheme:null,node:null,topNodes:[],treeNodes:[],activeNode:null,activeSection:null,sections:[],sectionMap:{},raw:n}}function He(n){const t=Nt(n),o=Ft(t),r=lo(t).flatMap(a=>Dt(a,o));return{..._t(n),scheme:o,topNodes:r,treeNodes:r}}function Ze(n,t,o){return n.map(r=>r.key===t||r.tagId===t||r.id===t?{...r,children:o,loaded:!0}:{...r,children:Ze(r.children,t,o)})}function $t(n,t={},o=null){const r=Nt(n),a=Ft(r,t),l=Xn(r,t,o),c=Object.fromEntries(l.map(i=>[i.key,i]));return{scheme:a,node:o,topNodes:[],treeNodes:[],activeNode:o,activeSection:l[0]??null,sections:l,sectionMap:c,raw:n}}function Mt(n){return n.multRow||n.htmlDisplay==="T"?"table":"form"}function Tt(n,t={}){const o=n.renderType==="table"?n.rows.map(Ue):[Ue(n.model)],r=X(n.operationInfo),a=X(r.editInfoSet),l=X(a.params),c=X(r.queryInfoSet),i=X(c.params);return{...t,infSchmId:t.infSchmId??te(n.raw.infSchmId),emplid:t.emplid??te(n.raw.emplid),tagId:H(n.tagId||l.tagId||i.tagId||t.tagId||n.requestTagId),infSetId:t.infSetId??n.infSetId,setId:t.setId??n.setId,infSetValues:o,section:n}}function Qn(n){const t=n;return!!(t&&typeof t=="object"&&typeof t.key=="string"&&typeof t.tagId=="string")}function Et(n){const t=Pt(n);return(Array.isArray(t)?t:$e(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:H(a.label??a.name??a.descr??a.descrshort??a.text??l??a.value??a.code),name:te(a.name),value:a.value??l??a.code??a.id??a.label??a.name,raw:r}})}function Xn(n,t,o){const r=$e(n,["sections","sets","list"]);return r.length>0?r.map(a=>ct(a,t,o,r.length===1)):n.infSetMark||n.infSetFields||n.fields?[ct(n,t,o,!0)]:[]}function ct(n,t,o,r){const a=X(n),l=eo(a.infSetMark??a),c=to(a.infSetFields??a.fields??[]),i=oo(a.infSetValues??a.rows??a.data,c),u=i[0]?Ue(i[0]):Vt(c),p=X(a.tag),P=H(a.tagId??a.infTagId??p.tagId??p.infTagId??l.raw.tagId??l.raw.infTagId),m=H(t.tagId??o?.tagId),S=H(o?.key),f=r?t.infSetId??o?.infSetId:void 0,C=r?t.setId:void 0,g=r?o?.code:void 0,I=l.setId||H(a.setId),B=H(a.infSetId)||I||H(f),N=I||H(C??B),b=l.code||H(a.code??g??N),h=N||b||B||P,T={key:h,id:h,setId:N,code:b,tagId:P,requestTagId:m||void 0,ownerNodeKey:S||void 0,infSetId:B,title:l.name||H(a.name??o?.tagName??h),renderType:Mt(l),mark:l,fields:c,model:u,rows:i,operationInfo:xe(t.operationInfo??a.operationInfo),raw:a};return T.renderType==="form"&&i.length===0&&(T.rows=[{...u,__rowKey:`${h}-0`}]),T}function eo(n){const t=X(n),o=H(t.htmlDisplay||"F");return{name:H(t.name??t.title),parentName:te(t.parentName),value:te(t.value),type:te(t.type),code:H(t.code),setId:H(t.setId??t.id??t.key),htmlDisplay:o,multRow:ce(t.multRow),isRequired:ce(t.isRequired),raw:t}}function to(n){return(Array.isArray(n)?n:[]).map((o,r)=>no(o,r))}function no(n,t){const o=X(n),r=H(o.code??o.fieldCode??o.prop??o.key??`field_${t}`),a=H(o.label??o.name??o.tagName??r),l=Ot(o.interface??o.interfaceField),c=ut(o.cascadeDependFields);return{id:H(o.id??o.key??o.prop??r),key:H(o.key??o.prop??r),code:r,label:a,value:o.value??o.defaultValue??"",type:co(o),fieldType:te(o.fieldType),frontInputType:te(o.frontInputType),renderType:io(o),required:ce(o.required??o.isRequired),readonly:ce(o.readonly??o.disabled),visible:o.visible===void 0?ce(o.visibled??!0):ce(o.visible),htmlDisplay:ce(o.htmlDisplay),multRow:ce(o.multRow),isRequired:ce(o.isRequired),disabled:o.disabled===void 0?void 0:ce(o.disabled),span:zt(o.span??o.colSpan),width:dt(o.width),minWidth:dt(o.minWidth),placeholder:te(o.placeholder),options:Et(o.options),interface:l,cascadeClearFields:ut(o.cascadeClearFields),cascadeDependFields:be({cascadeDependFields:c,interface:l}),props:uo(o),formItemProps:Lt(o.formItemProps),raw:o}}function oo(n,t){if(Array.isArray(n)&&n.some(a=>{const l=X(a);return t.some(c=>l[c.code]!==void 0||l[c.key]!==void 0)}))return n.map((a,l)=>({...X(a),__rowKey:H(X(a).__rowKey??X(a).key??l)}));const o=Vt(t);return Object.keys(o).length?[{...o,__rowKey:"0"}]:[]}function Vt(n){return n.reduce((t,o)=>(t[o.code||o.key]=o.value,t),{})}function Dt(n,t,o=""){const r=X(n),a=$e(r,["children","list","tags"]).flatMap(c=>Dt(c,t,H(r.tagId??r.id??r.key))),l=so(r.infSetList);return a.length===0&&l.length>0?l.map((c,i)=>ao(r,c,t,o,i)):[ro(r,t,o,a)]}function ro(n,t,o,r){const a=H(n.tagId??n.id??n.key),l=H(n.tagName??n.name??n.label??a);return{key:H(n.key??a),id:a,tagId:a,tagName:l,label:l,tagLevel:te(n.tagLevel??n.level)??null,level:xt(n.tagLevel??n.level),parentTagId:te(n.parentTagId??n.parentId??o),parentId:te(n.parentTagId??n.parentId??o)??null,infSchmId:te(n.infSchmId??t?.infSchmId),schemeId:H(n.infSchmId??t?.infSchmId),infSetId:te(n.infSetId??n.setId),setId:te(n.setId),code:te(n.code),children:r,infSetList:[],operationInfo:xe(n.operationInfo),loaded:r.length>0,raw:n}}function ao(n,t,o,r,a){const l=H(n.tagId??n.id??n.key),c=H(n.tagName??n.name??n.label??l),i=t.infSetId||H(t.setId),u=t.setId||i,p=i||`${l}-${a}`;return{key:p,id:p,tagId:l,tagName:c,label:c,tagLevel:te(n.tagLevel??n.level)??null,level:xt(n.tagLevel??n.level),parentTagId:te(n.parentTagId??n.parentId??r),parentId:te(n.parentTagId??n.parentId??r)??null,infSchmId:te(n.infSchmId??o?.infSchmId),schemeId:H(n.infSchmId??o?.infSchmId),infSetId:i,setId:u,code:te(n.code??i),children:[],infSetList:[t],operationInfo:xe(n.operationInfo),loaded:!0,raw:{...n,infSetId:i,setId:u,infSetList:[t.raw]}}}function Ft(n,t={}){const o=X(n.globalInfoSchmMark??n.scheme??n),r=H(o.infSchmId??t.infSchmId),a=H(o.emplid??t.emplid);return!r&&!a&&Object.keys(o).length===0?null:{infSchmId:r,emplid:a,id:r,mark:H(o.globalInfoSchmMark??n.globalInfoSchmMark),config:Array.isArray(n.globalInfoSchmConfig)?"":H(o.globalInfoSchmConfig??n.globalInfoSchmConfig),raw:o}}function lo(n){if(Array.isArray(n.globalInfoSchmConfig))return n.globalInfoSchmConfig;const t=X(n.globalInfoSchmConfig),o=$e(t,["children","tree","list","tags"]);return o.length?o:$e(n,["children","tree","list","tags","records"])}function so(n){return Array.isArray(n)?n.map(t=>{const o=X(t);return{infSetId:H(o.infSetId??o.setId??o.id),setId:te(o.setId),operationInfo:xe(o.operationInfo),raw:o}}):[]}function Nt(n){return X(Pt(n))}function Pt(n){const t=X(n);return t.data??t.result??n}function $e(n,t){for(const o of t){const r=n[o];if(Array.isArray(r))return r}return[]}function Ue(n){const t={...n};return delete t.__rowKey,delete t.fields,t}function Ot(n){const t=X(n);if(!(!t.method&&!t.url&&!t.params))return{...t,method:te(t.method),url:te(t.url),params:Lt(t.params)}}function xe(n){const t=X(n);if(Object.keys(t).length!==0)return Object.fromEntries(Object.entries(t).map(([o,r])=>[o,Ot(r)??r]))}function ut(n){if(!Array.isArray(n))return;const t=n.map(o=>H(o)).filter(Boolean);return t.length?t:void 0}function io(n){if(ce(n.htmlDisplay))return"html";if(ce(n.multRow))return"multi-row";const t=H(n.renderType).toLowerCase();return t==="code"||t==="empty"?t:"text"}function co(n){const t=H(n.fieldType??n.type??n.frontInputType??n.renderType).toLowerCase();return t==="dtpicker"||t.includes("date")?"date":t==="select_remote"?"select_remote":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 Lt(n){const t=X(n);return Object.keys(t).length?t:void 0}function uo(n){const t={...X(n.props)};return n.multiple!==void 0&&(t.multiple=ce(n.multiple)),Object.keys(t).length?t:void 0}function dt(n){return typeof n=="string"||typeof n=="number"?n:void 0}function X(n){return n&&typeof n=="object"&&!Array.isArray(n)?n:{}}function H(n){return n==null?"":String(n).trim()}function te(n){return H(n)||void 0}function xt(n){const t=zt(n);return t===void 0?null:t}function zt(n){if(n==null||n==="")return;const t=Number(n);return Number.isFinite(t)?t:void 0}function ce(n){return typeof n=="string"?["true","1","y","yes","t","是"].includes(n.toLowerCase()):!!n}const ve=n=>n.key||n.code,ue=n=>n.key||n.setId,fo=n=>String(n??"").trim(),Ee=n=>Array.from(new Set(n.map(fo).filter(Boolean))),ke=n=>!!(n&&typeof n=="object"&&"children"in n),Me=n=>Ee([n?.key,n?.id,n?.setId,n?.infSetId,n?.tagId,n?.code,...(n?.infSetList??[]).map(t=>t.infSetId),...(n?.infSetList??[]).map(t=>t.setId)]),po=n=>Ee([n.key,n.id,n.setId,n.infSetId,n.tagId,n.code]);function Rt(n,t,o){const r=po(n),a=Ee([o,...Me(t)]);return a.length===0?!1:a.some(l=>r.includes(l))}function mo(n,t,o){return Ee([o,...Me(t)]).length===0?n:n.filter(a=>Rt(a,t,o))}function ho(n,t,o={}){const r=Object.keys(o).length>0?o:n.model,a=typeof t=="string"?t:ve(t),l=typeof t=="string"?n.fields.find(u=>ve(u)===a||u.code===a):t,i=be(l).some(u=>{if(u==="searchText"&&Object.prototype.hasOwnProperty.call(r,u)||u!=="searchText"&&!go(n,u))return!1;const p=r[u];return p==null||p===""});return{fieldKey:a,currentField:l,sourceModel:r,sourceRow:n.renderType==="table"?r:void 0,missingDependField:i}}function vo(n){return!!(n&&n.type!=="select_remote"&&be(n).length===0&&(n.options??[]).length>0)}function go(n,t){return n.fields.some(o=>o.code===t||o.key===t||o.id===t||ve(o)===t)}function yo(n){return Et(n)}const de=n=>n&&typeof n=="object"&&!Array.isArray(n)?n:{},De=n=>{const t=de(n);return!!(t.url||t.method||t.params)};function bo(n){const t=de(n.operationInfo).openTag;return De(t)?t:void 0}function So(n,t,o){const r=de(n?.operationInfo).queryInfoSet;if(De(r))return r;const a=t?.infSetList.find(c=>c.infSetId===o),l=de(a?.operationInfo).queryInfoSet;return De(l)?l:void 0}function wo(n){const t=de(n.operationInfo).editInfoSet;return De(t)?t:void 0}async function ko(n){const t=n.params===void 0?void 0:de(n.params);return!n.formatter||n.requestSource!=="inner"?t:n.formatter({operation:n.operation,interfaceOperation:n.field?.interface,type:n.type,requestSource:n.requestSource,tagId:n.tagId,model:{...de(n.section?.model),...de(n.model)},row:n.row,section:n.section,field:n.field,node:n.node,viewModel:n.viewModel,sections:n.sections,activeNode:n.activeNode,activeSection:n.activeSection,searchText:n.searchText,params:t})}async function Io(n){if(!n.service.requestOperation)throw new Error("[GlobalInfo] service.requestOperation is required for operationInfo");const t=n.operation.params===void 0?void 0:de(n.operation.params),o=n.context?.params===void 0?t:de(n.context.params),r=await ko({formatter:n.formatter,params:o,operation:n.operation,type:n.context?.type,requestSource:n.context?.requestSource,tagId:n.context?.tagId,section:n.context?.section,field:n.context?.field,model:n.context?.model,row:n.context?.row,node:n.context?.node,viewModel:n.viewModel,sections:n.sections,activeNode:n.activeNode,activeSection:n.activeSection,searchText:n.context?.searchText});return n.service.requestOperation({...n.operation,params:r},n.context?{...n.context,params:r}:n.context)}function Be(n={}){return{loading:!1,saving:!1,error:null,loaded:!1,editing:!1,...n}}function Co(n){const t={...n.currentMap},o={...n.currentAliasMap},r=[...n.currentOrder],a={...n.currentStatusMap},l=mo(n.nextViewModel.sections,n.node,n.targetKey),c=Ee([n.targetKey,...Me(n.node)]).length>0,i=l.find(u=>Rt(u,n.node,n.targetKey))??(c?null:n.nextViewModel.activeSection??l[0]??n.activeSection??null);return l.forEach(u=>{const p=ue(u);t[p]=u,r.includes(p)||r.push(p),a[p]=Be({...a[p],loaded:!0,loading:!1,error:null,editing:n.editingSectionKeys.includes(p)})}),n.targetKey&&i?o[n.targetKey]=ue(i):n.targetKey&&(o[n.targetKey]=""),n.targetKey&&(a[n.targetKey]=Be({...a[n.targetKey],loaded:!0,loading:!1,error:null,editing:!!(i&&n.editingSectionKeys.includes(ue(i)))})),{sectionMap:t,sectionAliasMap:o,sectionOrder:r,sectionStatusMap:a,matchedSection:i,targetSections:l}}const Ie=n=>new Error(`[GlobalInfo] ${n}`),At=n=>{const t=e.ref(!1),o=e.ref(!1),r=e.ref(!1),a=e.shallowRef(null),l=e.shallowRef([]),c=e.shallowRef(null),i=e.shallowRef(null),u=e.shallowRef(null),p=e.shallowRef({}),P=e.shallowRef({}),m=e.ref([]),S=e.shallowRef({}),f=e.ref([]),C=e.computed(()=>{const v=m.value.map($=>p.value[$]).filter($=>!!$),y=Object.entries(p.value).filter(([$])=>!m.value.includes($)).map(([,$])=>$);return[...v,...y]}),g=e.computed(()=>({loading:t.value,detailLoading:o.value,saving:r.value,editingSectionKeys:f.value,sectionMap:p.value,sectionStatusMap:Object.fromEntries(Object.entries(S.value).map(([v,y])=>[v,{...y,editing:f.value.includes(P.value[v]??v)}])),error:a.value})),I=()=>({adaptScene:n.adaptScene,emplid:n.emplid}),B=v=>({...I(),infSchmId:v.infSchmId,tagId:v.tagId,tagLevel:v.tagLevel,parentTagId:v.parentTagId}),N=(v=i.value,y=u.value)=>({...I(),infSchmId:v?.infSchmId,tagId:v?.tagId,infSetId:y?.infSetId??v?.infSetId,setId:y?.setId??v?.setId}),b=async(v,y)=>Io({service:n.service,formatter:n.formatOperationParams,operation:v,context:y,viewModel:c.value,sections:C.value,activeNode:i.value,activeSection:u.value}),h=(v,y)=>{if(!y)return v[0]??null;for(const $ of v){if(Me($).includes(y))return $;const j=h($.children,y);if(j)return j}return null},T=(v=u.value)=>{if(v)return typeof v=="string"?v:ke(v)?d(v):ue(v)},w=(v=u.value)=>{const y=T(v);if(!y)return null;const $=P.value[y]??y;return p.value[$]??null},O=(v=u.value)=>{const y=T(v);if(y)return P.value[y]??y},d=(v=u.value)=>{if(v)return typeof v=="string"?v:ke(v)?v.setId??v.infSetId??v.key:ue(v)},M=(v=u.value)=>{if(ke(v))return v;if(typeof v=="string"){const y=h(l.value,v);if(y)return y;const $=w(v);return $?.ownerNodeKey?h(l.value,$.ownerNodeKey)??i.value:$||i.value&&Me(i.value).includes(v)?i.value:null}return v?.ownerNodeKey?h(l.value,v.ownerNodeKey)??i.value:i.value},E=(v=u.value)=>!v||ke(v)?null:w(v),R=(v=u.value)=>{const y=d(v);if(!y)return Be();const $=P.value[y]??y;return Be({...S.value[y],...S.value[$],editing:f.value.includes($)})},q=(v,y)=>{const $=d(v);$&&(S.value={...S.value,[$]:Be({...S.value[$],...y,editing:f.value.includes($)})})},Z=(v=c.value?.raw??null,y=i.value)=>{const $=C.value,j=u.value&&$.find(K=>ue(K)===ue(u.value))?u.value:null;c.value={scheme:c.value?.scheme??null,node:y,topNodes:l.value,treeNodes:l.value,activeNode:y,activeSection:j,sections:$,sectionMap:p.value,raw:v},u.value=j},z=(v,y=i.value,$)=>{const j=Co({currentMap:p.value,currentAliasMap:P.value,currentOrder:m.value,currentStatusMap:S.value,editingSectionKeys:f.value,nextViewModel:v,node:y,targetKey:$,activeSection:u.value});return p.value=j.sectionMap,P.value=j.sectionAliasMap,m.value=j.sectionOrder,S.value=j.sectionStatusMap,c.value={...v,scheme:v.scheme??c.value?.scheme??null,topNodes:l.value,treeNodes:l.value,activeNode:y,activeSection:j.matchedSection,sections:j.targetSections,sectionMap:p.value},u.value=j.matchedSection,j.matchedSection},V=(v,y)=>{const $=O(v),j=$?p.value[$]:null;if(!$||!j)return;const K=y(j);p.value={...p.value,[$]:K},u.value=ue(u.value??K)===$?K:u.value,Z()},s=async(v=u.value??i.value)=>{const y=E(v),$=M(v)??i.value,j=d(v);if(!$)return null;if(!n.service.requestOperation)throw Ie("service.requestOperation is required");o.value=!0,a.value=null,q(j??$,{loading:!0,error:null});try{const K=y?[{infSetId:y.infSetId,setId:y.setId,operationInfo:y.operationInfo,raw:y.raw}]:$.infSetList;if(K.length===0)throw Ie("node.infSetList is required");const ie=await Promise.all(K.map(async ee=>{const se=So(y,$,ee.infSetId),ge={...N($,y),infSetId:ee.infSetId,setId:ee.setId,operationInfo:ee.operationInfo};if(se){const Ae=await b(se,{type:"queryInfoSet",requestSource:"inner",tagId:y?.requestTagId??y?.tagId??$.tagId,node:$,section:y,params:ge});return $t(Ae,ge,$)}throw Ie("infoSet.operationInfo.queryInfoSet is required")})),ae={...ie[0],sections:ie.flatMap(ee=>ee.sections),sectionMap:Object.fromEntries(ie.flatMap(ee=>ee.sections).map(ee=>[ee.key,ee]))};return z(ae,$,j)}catch(K){throw a.value=K,q(j??$,{loading:!1,error:K}),K}finally{o.value=!1,q(j??$,{loading:!1})}},_=(v=u.value)=>s(v),k=(v=u.value)=>{if(!v)return null;if(!ke(v)&&typeof v!="string")return w(v);const y=d(v);return y?p.value[P.value[y]??y]??null:null},D=async(v=i.value)=>v?(await s(v),c.value):(c.value=null,u.value=null,p.value={},P.value={},m.value=[],S.value={},null),F=async v=>{const y=bo(v);if(!y)return v.children;const $=B(v),j=await b(y,{type:"openTag",requestSource:"sidebar",tagId:v.tagId,node:v,params:$});return He(j).treeNodes},x=async v=>{if(v.loaded)return v.children;const y=await F(v);return y.length>0&&(l.value=Ze(l.value,v.key,y)),y},G=async v=>{const y=typeof v=="string"?h(l.value,v):v;return y?(i.value=y,u.value=null,f.value=[],await x(y),Z(c.value?.raw,y),y):null},A=async()=>{const v=n.service.templateTree;if(!v)throw Ie("service.templateTree is required");t.value=!0,a.value=null;try{const y=await v(I()),$=He(y),j=await Promise.all($.treeNodes.map(async ie=>{const ae=await F(ie);return{...ie,children:ae,loaded:ae.length>0||ie.loaded}}));l.value=j,u.value=null,p.value={},P.value={},m.value=[],S.value={},f.value=[];const K=h(j,n.initialActiveNodeKey)??h(j);return i.value=K,c.value={...$,treeNodes:j,activeNode:K,sectionMap:p.value,sections:C.value},l.value}catch(y){throw a.value=y,y}finally{t.value=!1}},Y=async()=>{const v=T();await _(u.value??i.value);const y=C.value.find($=>ue($)===v);return y&&(u.value=y),Z(),c.value},J=(v=u.value)=>{const y=O(v);return!!(y&&f.value.includes(y))},L=(v=u.value)=>{const y=O(v);!y||J(y)||(f.value=[...f.value,y],q(y,{editing:!0}))},U=(v=u.value)=>{const y=O(v);y&&(f.value=f.value.filter($=>$!==y),q(y,{editing:!1}))},Q=(v,y,$)=>{const j=typeof y=="string"?y:ve(y);V(v,K=>{const ae=(typeof y=="string"?K.fields.find(se=>ve(se)===j||se.code===j):y)?.cascadeClearFields??[],ee={...K.model,[j]:$};return ae.forEach(se=>{ee[se]=""}),{...K,model:ee,rows:K.renderType==="form"?[{...K.rows[0],...ee}]:K.rows,fields:K.fields.map(se=>{const ge=ve(se);return ge===j||se.code===j?{...se,value:$}:ae.includes(ge)||ae.includes(se.code)?{...se,value:""}:se})}})},oe=async(v,y,$={},j={})=>{const K=w(v);if(!K)return[];const ie={...$,...j.searchText!==void 0?{searchText:j.searchText}:{}},{fieldKey:ae,currentField:ee,sourceModel:se,sourceRow:ge,missingDependField:Ae}=ho(K,y,ie),je=ee?.interface;if(!ee||!je)return ee?.options??[];if(vo(ee))return ee.options??[];if(Ae)return V(K,we=>({...we,fields:we.fields.map(he=>ve(he)===ae||he.code===ae?{...he,options:[]}:he)})),[];const rn=await b({...je},{type:"fieldOptions",requestSource:"inner",tagId:K.requestTagId??K.tagId,node:M(K),section:K,field:ee,params:de(je.params),model:se,row:ge,searchText:j.searchText}),tt=yo(rn);return V(K,we=>({...we,fields:we.fields.map(he=>ve(he)===ae||he.code===ae?{...he,options:tt}:he)})),tt},ne=(v,y)=>{if(Array.isArray(y)){re(v,y);return}V(v,$=>({...$,model:y,rows:$.renderType==="form"?[{...$.rows[0],...y}]:$.rows,fields:$.fields.map(j=>({...j,value:y[ve(j)]}))}))},re=(v,y)=>{V(v,$=>({...$,rows:y,data:y}))},ye={loadTree:A,selectNode:G,loadDetail:D,reloadActiveSection:Y,loadSection:s,reloadSection:_,getSection:k,getSectionStatus:R,startEdit:L,cancelEdit:U,updateField:Q,loadFieldOptions:oe,updateModel:ne,updateTableRows:re,saveRow:(v,y={},$=-1)=>{const K=[...w(v)?.rows??[]];K.splice($>=0?$:K.length,$>=0?1:0,y),re(v,K)},deleteRow:(v,y)=>{const $=w(v),j=typeof y=="string"?Number(y):y,K=($?.rows??[]).filter((ie,ae)=>ae!==j);re(v,K)},saveSection:async(v=u.value)=>{const y=T(v),$=w(v);if(!$)return null;const j=wo($);if(!j)throw Ie("section.operationInfo.editInfoSet is required");r.value=!0,a.value=null,y&&y!==ue($)&&q(y,{saving:!0,error:null}),q($,{saving:!0,error:null});try{const{tagId:K,...ie}=N(i.value,$),ae=Tt($,ie),ee=await b(j,{type:"editInfoSet",requestSource:"inner",tagId:$.requestTagId??$.tagId,node:i.value,section:$,params:ae,model:$.model});return U($),await _($),ee}catch(K){throw a.value=K,y&&y!==ue($)&&q(y,{saving:!1,error:K}),q($,{saving:!1,error:K}),K}finally{r.value=!1,y&&y!==ue($)&&q(y,{saving:!1}),q($,{saving:!1})}},isEditing:J};return e.watch(()=>n.emplid,()=>{(n.autoLoad??!0)&&A()}),e.onMounted(()=>{(n.autoLoad??!0)&&A()}),{viewModel:c,nodes:l,sections:C,sectionMap:p,sectionStatusMap:S,activeNode:i,activeSection:u,state:g,actions:ye}},Bo=e.defineComponent({name:"GlobalInfoProvider",__name:"GlobalInfoProvider",props:{service:{},adaptScene:{},emplid:{},autoLoad:{type:Boolean,default:!0},initialActiveNodeKey:{},renderConfig:{},formatOperationParams:{}},setup(n){const t=n,o=At(t),{viewModel:r,nodes:a,sections:l,activeNode:c,activeSection:i,state:u,actions:p}=o;return(P,m)=>e.renderSlot(P.$slots,"default",e.normalizeProps(e.guardReactiveProps({viewModel:e.unref(r),nodes:e.unref(a),sections:e.unref(l),activeNode:e.unref(c),activeSection:e.unref(i),state:e.unref(u),actions:e.unref(p),renderConfig:t.renderConfig})))}});function jt(n,t){t=t||(()=>"default-use-queue-sync");const o=new Map;async function r(...a){const l=t(...a),c=Symbol("single");return o.set(l,c),new Promise((i,u)=>{n(...a).then(p=>{o.get(l)===c&&i(p)}).catch(p=>{o.get(l)===c&&u(p)})})}return r.bind(n)}var ze=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Re(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var Gt={exports:{}};(function(n,t){(function(o,r){n.exports=r()})(ze,function(){var o=1e3,r=6e4,a=36e5,l="millisecond",c="second",i="minute",u="hour",p="day",P="week",m="month",S="quarter",f="year",C="date",g="Invalid Date",I=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,B=/\[([^\]]+)]|YYYY|YY|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,N={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(z){var V=["th","st","nd","rd"],s=z%100;return"["+z+(V[(s-20)%10]||V[s]||V[0])+"]"}},b=function(z,V,s){var _=String(z);return!_||_.length>=V?z:""+Array(V+1-_.length).join(s)+z},h={s:b,z:function(z){var V=-z.utcOffset(),s=Math.abs(V),_=Math.floor(s/60),k=s%60;return(V<=0?"+":"-")+b(_,2,"0")+":"+b(k,2,"0")},m:function z(V,s){if(V.date()<s.date())return-z(s,V);var _=12*(s.year()-V.year())+(s.month()-V.month()),k=V.clone().add(_,m),D=s-k<0,F=V.clone().add(_+(D?-1:1),m);return+(-(_+(s-k)/(D?k-F:F-k))||0)},a:function(z){return z<0?Math.ceil(z)||0:Math.floor(z)},p:function(z){return{M:m,y:f,w:P,d:p,D:C,h:u,m:i,s:c,ms:l,Q:S}[z]||String(z||"").toLowerCase().replace(/s$/,"")},u:function(z){return z===void 0}},T="en",w={};w[T]=N;var O="$isDayjsObject",d=function(z){return z instanceof q||!(!z||!z[O])},M=function z(V,s,_){var k;if(!V)return T;if(typeof V=="string"){var D=V.toLowerCase();w[D]&&(k=D),s&&(w[D]=s,k=D);var F=V.split("-");if(!k&&F.length>1)return z(F[0])}else{var x=V.name;w[x]=V,k=x}return!_&&k&&(T=k),k||!_&&T},E=function(z,V){if(d(z))return z.clone();var s=typeof V=="object"?V:{};return s.date=z,s.args=arguments,new q(s)},R=h;R.l=M,R.i=d,R.w=function(z,V){return E(z,{locale:V.$L,utc:V.$u,x:V.$x,$offset:V.$offset})};var q=function(){function z(s){this.$L=M(s.locale,null,!0),this.parse(s),this.$x=this.$x||s.x||{},this[O]=!0}var V=z.prototype;return V.parse=function(s){this.$d=function(_){var k=_.date,D=_.utc;if(k===null)return new Date(NaN);if(R.u(k))return new Date;if(k instanceof Date)return new Date(k);if(typeof k=="string"&&!/Z$/i.test(k)){var F=k.match(I);if(F){var x=F[2]-1||0,G=(F[7]||"0").substring(0,3);return D?new Date(Date.UTC(F[1],x,F[3]||1,F[4]||0,F[5]||0,F[6]||0,G)):new Date(F[1],x,F[3]||1,F[4]||0,F[5]||0,F[6]||0,G)}}return new Date(k)}(s),this.init()},V.init=function(){var s=this.$d;this.$y=s.getFullYear(),this.$M=s.getMonth(),this.$D=s.getDate(),this.$W=s.getDay(),this.$H=s.getHours(),this.$m=s.getMinutes(),this.$s=s.getSeconds(),this.$ms=s.getMilliseconds()},V.$utils=function(){return R},V.isValid=function(){return this.$d.toString()!==g},V.isSame=function(s,_){var k=E(s);return this.startOf(_)<=k&&k<=this.endOf(_)},V.isAfter=function(s,_){return E(s)<this.startOf(_)},V.isBefore=function(s,_){return this.endOf(_)<E(s)},V.$g=function(s,_,k){return R.u(s)?this[_]:this.set(k,s)},V.unix=function(){return Math.floor(this.valueOf()/1e3)},V.valueOf=function(){return this.$d.getTime()},V.startOf=function(s,_){var k=this,D=!!R.u(_)||_,F=R.p(s),x=function(oe,ne){var re=R.w(k.$u?Date.UTC(k.$y,ne,oe):new Date(k.$y,ne,oe),k);return D?re:re.endOf(p)},G=function(oe,ne){return R.w(k.toDate()[oe].apply(k.toDate("s"),(D?[0,0,0,0]:[23,59,59,999]).slice(ne)),k)},A=this.$W,Y=this.$M,J=this.$D,L="set"+(this.$u?"UTC":"");switch(F){case f:return D?x(1,0):x(31,11);case m:return D?x(1,Y):x(0,Y+1);case P:var U=this.$locale().weekStart||0,Q=(A<U?A+7:A)-U;return x(D?J-Q:J+(6-Q),Y);case p:case C:return G(L+"Hours",0);case u:return G(L+"Minutes",1);case i:return G(L+"Seconds",2);case c:return G(L+"Milliseconds",3);default:return this.clone()}},V.endOf=function(s){return this.startOf(s,!1)},V.$set=function(s,_){var k,D=R.p(s),F="set"+(this.$u?"UTC":""),x=(k={},k[p]=F+"Date",k[C]=F+"Date",k[m]=F+"Month",k[f]=F+"FullYear",k[u]=F+"Hours",k[i]=F+"Minutes",k[c]=F+"Seconds",k[l]=F+"Milliseconds",k)[D],G=D===p?this.$D+(_-this.$W):_;if(D===m||D===f){var A=this.clone().set(C,1);A.$d[x](G),A.init(),this.$d=A.set(C,Math.min(this.$D,A.daysInMonth())).$d}else x&&this.$d[x](G);return this.init(),this},V.set=function(s,_){return this.clone().$set(s,_)},V.get=function(s){return this[R.p(s)]()},V.add=function(s,_){var k,D=this;s=Number(s);var F=R.p(_),x=function(Y){var J=E(D);return R.w(J.date(J.date()+Math.round(Y*s)),D)};if(F===m)return this.set(m,this.$M+s);if(F===f)return this.set(f,this.$y+s);if(F===p)return x(1);if(F===P)return x(7);var G=(k={},k[i]=r,k[u]=a,k[c]=o,k)[F]||1,A=this.$d.getTime()+s*G;return R.w(A,this)},V.subtract=function(s,_){return this.add(-1*s,_)},V.format=function(s){var _=this,k=this.$locale();if(!this.isValid())return k.invalidDate||g;var D=s||"YYYY-MM-DDTHH:mm:ssZ",F=R.z(this),x=this.$H,G=this.$m,A=this.$M,Y=k.weekdays,J=k.months,L=k.meridiem,U=function(ne,re,pe,me){return ne&&(ne[re]||ne(_,D))||pe[re].slice(0,me)},Q=function(ne){return R.s(x%12||12,ne,"0")},oe=L||function(ne,re,pe){var me=ne<12?"AM":"PM";return pe?me.toLowerCase():me};return D.replace(B,function(ne,re){return re||function(pe){switch(pe){case"YY":return String(_.$y).slice(-2);case"YYYY":return R.s(_.$y,4,"0");case"M":return A+1;case"MM":return R.s(A+1,2,"0");case"MMM":return U(k.monthsShort,A,J,3);case"MMMM":return U(J,A);case"D":return _.$D;case"DD":return R.s(_.$D,2,"0");case"d":return String(_.$W);case"dd":return U(k.weekdaysMin,_.$W,Y,2);case"ddd":return U(k.weekdaysShort,_.$W,Y,3);case"dddd":return Y[_.$W];case"H":return String(x);case"HH":return R.s(x,2,"0");case"h":return Q(1);case"hh":return Q(2);case"a":return oe(x,G,!0);case"A":return oe(x,G,!1);case"m":return String(G);case"mm":return R.s(G,2,"0");case"s":return String(_.$s);case"ss":return R.s(_.$s,2,"0");case"SSS":return R.s(_.$ms,3,"0");case"Z":return F}return null}(ne)||F.replace(":","")})},V.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},V.diff=function(s,_,k){var D,F=this,x=R.p(_),G=E(s),A=(G.utcOffset()-this.utcOffset())*r,Y=this-G,J=function(){return R.m(F,G)};switch(x){case f:D=J()/12;break;case m:D=J();break;case S:D=J()/3;break;case P:D=(Y-A)/6048e5;break;case p:D=(Y-A)/864e5;break;case u:D=Y/a;break;case i:D=Y/r;break;case c:D=Y/o;break;default:D=Y}return k?D:R.a(D)},V.daysInMonth=function(){return this.endOf(m).$D},V.$locale=function(){return w[this.$L]},V.locale=function(s,_){if(!s)return this.$L;var k=this.clone(),D=M(s,_,!0);return D&&(k.$L=D),k},V.clone=function(){return R.w(this.$d,this)},V.toDate=function(){return new Date(this.valueOf())},V.toJSON=function(){return this.isValid()?this.toISOString():null},V.toISOString=function(){return this.$d.toISOString()},V.toString=function(){return this.$d.toUTCString()},z}(),Z=q.prototype;return E.prototype=Z,[["$ms",l],["$s",c],["$m",i],["$H",u],["$W",p],["$M",m],["$y",f],["$D",C]].forEach(function(z){Z[z[1]]=function(V){return this.$g(V,z[0],z[1])}}),E.extend=function(z,V){return z.$i||(z(V,q,E),z.$i=!0),E},E.locale=M,E.isDayjs=d,E.unix=function(z){return E(1e3*z)},E.en=w[T],E.Ls=w,E.p={},E})})(Gt);var _o=Gt.exports;const Qe=Re(_o);var Kt={exports:{}};(function(n,t){(function(o,r){n.exports=r()})(ze,function(){var o={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},r=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,a=/\d/,l=/\d\d/,c=/\d\d?/,i=/\d*[^-_:/,()\s\d]+/,u={},p=function(I){return(I=+I)+(I>68?1900:2e3)},P=function(I){return function(B){this[I]=+B}},m=[/[+-]\d\d:?(\d\d)?|Z/,function(I){(this.zone||(this.zone={})).offset=function(B){if(!B||B==="Z")return 0;var N=B.match(/([+-]|\d\d)/g),b=60*N[1]+(+N[2]||0);return b===0?0:N[0]==="+"?-b:b}(I)}],S=function(I){var B=u[I];return B&&(B.indexOf?B:B.s.concat(B.f))},f=function(I,B){var N,b=u.meridiem;if(b){for(var h=1;h<=24;h+=1)if(I.indexOf(b(h,0,B))>-1){N=h>12;break}}else N=I===(B?"pm":"PM");return N},C={A:[i,function(I){this.afternoon=f(I,!1)}],a:[i,function(I){this.afternoon=f(I,!0)}],Q:[a,function(I){this.month=3*(I-1)+1}],S:[a,function(I){this.milliseconds=100*+I}],SS:[l,function(I){this.milliseconds=10*+I}],SSS:[/\d{3}/,function(I){this.milliseconds=+I}],s:[c,P("seconds")],ss:[c,P("seconds")],m:[c,P("minutes")],mm:[c,P("minutes")],H:[c,P("hours")],h:[c,P("hours")],HH:[c,P("hours")],hh:[c,P("hours")],D:[c,P("day")],DD:[l,P("day")],Do:[i,function(I){var B=u.ordinal,N=I.match(/\d+/);if(this.day=N[0],B)for(var b=1;b<=31;b+=1)B(b).replace(/\[|\]/g,"")===I&&(this.day=b)}],w:[c,P("week")],ww:[l,P("week")],M:[c,P("month")],MM:[l,P("month")],MMM:[i,function(I){var B=S("months"),N=(S("monthsShort")||B.map(function(b){return b.slice(0,3)})).indexOf(I)+1;if(N<1)throw new Error;this.month=N%12||N}],MMMM:[i,function(I){var B=S("months").indexOf(I)+1;if(B<1)throw new Error;this.month=B%12||B}],Y:[/[+-]?\d+/,P("year")],YY:[l,function(I){this.year=p(I)}],YYYY:[/\d{4}/,P("year")],Z:m,ZZ:m};function g(I){var B,N;B=I,N=u&&u.formats;for(var b=(I=B.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(E,R,q){var Z=q&&q.toUpperCase();return R||N[q]||o[q]||N[Z].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(z,V,s){return V||s.slice(1)})})).match(r),h=b.length,T=0;T<h;T+=1){var w=b[T],O=C[w],d=O&&O[0],M=O&&O[1];b[T]=M?{regex:d,parser:M}:w.replace(/^\[|\]$/g,"")}return function(E){for(var R={},q=0,Z=0;q<h;q+=1){var z=b[q];if(typeof z=="string")Z+=z.length;else{var V=z.regex,s=z.parser,_=E.slice(Z),k=V.exec(_)[0];s.call(R,k),E=E.replace(k,"")}}return function(D){var F=D.afternoon;if(F!==void 0){var x=D.hours;F?x<12&&(D.hours+=12):x===12&&(D.hours=0),delete D.afternoon}}(R),R}}return function(I,B,N){N.p.customParseFormat=!0,I&&I.parseTwoDigitYear&&(p=I.parseTwoDigitYear);var b=B.prototype,h=b.parse;b.parse=function(T){var w=T.date,O=T.utc,d=T.args;this.$u=O;var M=d[1];if(typeof M=="string"){var E=d[2]===!0,R=d[3]===!0,q=E||R,Z=d[2];R&&(Z=d[2]),u=this.$locale(),!E&&Z&&(u=N.Ls[Z]),this.$d=function(_,k,D,F){try{if(["x","X"].indexOf(k)>-1)return new Date((k==="X"?1e3:1)*_);var x=g(k)(_),G=x.year,A=x.month,Y=x.day,J=x.hours,L=x.minutes,U=x.seconds,Q=x.milliseconds,oe=x.zone,ne=x.week,re=new Date,pe=Y||(G||A?1:re.getDate()),me=G||re.getFullYear(),Se=0;G&&!A||(Se=A>0?A-1:re.getMonth());var ye,v=J||0,y=L||0,$=U||0,j=Q||0;return oe?new Date(Date.UTC(me,Se,pe,v,y,$,j+60*oe.offset*1e3)):D?new Date(Date.UTC(me,Se,pe,v,y,$,j)):(ye=new Date(me,Se,pe,v,y,$,j),ne&&(ye=F(ye).week(ne).toDate()),ye)}catch{return new Date("")}}(w,M,O,N),this.init(),Z&&Z!==!0&&(this.$L=this.locale(Z).$L),q&&w!=this.format(M)&&(this.$d=new Date("")),u={}}else if(M instanceof Array)for(var z=M.length,V=1;V<=z;V+=1){d[1]=M[V-1];var s=N.apply(this,d);if(s.isValid()){this.$d=s.$d,this.$L=s.$L,this.init();break}V===z&&(this.$d=new Date(""))}else h.call(this,T)}}})})(Kt);var $o=Kt.exports;const Mo=Re($o);var qt={exports:{}};(function(n,t){(function(o,r){n.exports=r()})(ze,function(){var o={year:0,month:1,day:2,hour:3,minute:4,second:5},r={};return function(a,l,c){var i,u=function(S,f,C){C===void 0&&(C={});var g=new Date(S),I=function(B,N){N===void 0&&(N={});var b=N.timeZoneName||"short",h=B+"|"+b,T=r[h];return T||(T=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:B,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",timeZoneName:b}),r[h]=T),T}(f,C);return I.formatToParts(g)},p=function(S,f){for(var C=u(S,f),g=[],I=0;I<C.length;I+=1){var B=C[I],N=B.type,b=B.value,h=o[N];h>=0&&(g[h]=parseInt(b,10))}var T=g[3],w=T===24?0:T,O=g[0]+"-"+g[1]+"-"+g[2]+" "+w+":"+g[4]+":"+g[5]+":000",d=+S;return(c.utc(O).valueOf()-(d-=d%1e3))/6e4},P=l.prototype;P.tz=function(S,f){S===void 0&&(S=i);var C,g=this.utcOffset(),I=this.toDate(),B=I.toLocaleString("en-US",{timeZone:S}),N=Math.round((I-new Date(B))/1e3/60),b=15*-Math.round(I.getTimezoneOffset()/15)-N;if(!Number(b))C=this.utcOffset(0,f);else if(C=c(B,{locale:this.$L}).$set("millisecond",this.$ms).utcOffset(b,!0),f){var h=C.utcOffset();C=C.add(g-h,"minute")}return C.$x.$timezone=S,C},P.offsetName=function(S){var f=this.$x.$timezone||c.tz.guess(),C=u(this.valueOf(),f,{timeZoneName:S}).find(function(g){return g.type.toLowerCase()==="timezonename"});return C&&C.value};var m=P.startOf;P.startOf=function(S,f){if(!this.$x||!this.$x.$timezone)return m.call(this,S,f);var C=c(this.format("YYYY-MM-DD HH:mm:ss:SSS"),{locale:this.$L});return m.call(C,S,f).tz(this.$x.$timezone,!0)},c.tz=function(S,f,C){var g=C&&f,I=C||f||i,B=p(+c(),I);if(typeof S!="string")return c(S).tz(I);var N=function(w,O,d){var M=w-60*O*1e3,E=p(M,d);if(O===E)return[M,O];var R=p(M-=60*(E-O)*1e3,d);return E===R?[M,E]:[w-60*Math.min(E,R)*1e3,Math.max(E,R)]}(c.utc(S,g).valueOf(),B,I),b=N[0],h=N[1],T=c(b).utcOffset(h);return T.$x.$timezone=I,T},c.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},c.tz.setDefault=function(S){i=S}}})})(qt);var To=qt.exports;const Eo=Re(To);var Yt={exports:{}};(function(n,t){(function(o,r){n.exports=r()})(ze,function(){var o="minute",r=/[+-]\d\d(?::?\d\d)?/g,a=/([+-]|\d\d)/g;return function(l,c,i){var u=c.prototype;i.utc=function(g){var I={date:g,utc:!0,args:arguments};return new c(I)},u.utc=function(g){var I=i(this.toDate(),{locale:this.$L,utc:!0});return g?I.add(this.utcOffset(),o):I},u.local=function(){return i(this.toDate(),{locale:this.$L,utc:!1})};var p=u.parse;u.parse=function(g){g.utc&&(this.$u=!0),this.$utils().u(g.$offset)||(this.$offset=g.$offset),p.call(this,g)};var P=u.init;u.init=function(){if(this.$u){var g=this.$d;this.$y=g.getUTCFullYear(),this.$M=g.getUTCMonth(),this.$D=g.getUTCDate(),this.$W=g.getUTCDay(),this.$H=g.getUTCHours(),this.$m=g.getUTCMinutes(),this.$s=g.getUTCSeconds(),this.$ms=g.getUTCMilliseconds()}else P.call(this)};var m=u.utcOffset;u.utcOffset=function(g,I){var B=this.$utils().u;if(B(g))return this.$u?0:B(this.$offset)?m.call(this):this.$offset;if(typeof g=="string"&&(g=function(T){T===void 0&&(T="");var w=T.match(r);if(!w)return null;var O=(""+w[0]).match(a)||["-",0,0],d=O[0],M=60*+O[1]+ +O[2];return M===0?0:d==="+"?M:-M}(g),g===null))return this;var N=Math.abs(g)<=16?60*g:g;if(N===0)return this.utc(I);var b=this.clone();if(I)return b.$offset=N,b.$u=!1,b;var h=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();return(b=this.local().add(N+h,o)).$offset=N,b.$x.$localOffset=h,b};var S=u.format;u.format=function(g){var I=g||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return S.call(this,I)},u.valueOf=function(){var g=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*g},u.isUTC=function(){return!!this.$u},u.toISOString=function(){return this.toDate().toISOString()},u.toString=function(){return this.toDate().toUTCString()};var f=u.toDate;u.toDate=function(g){return g==="s"&&this.$offset?i(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():f.call(this)};var C=u.diff;u.diff=function(g,I,B){if(g&&this.$u===g.$u)return C.call(this,g,I,B);var N=this.local(),b=i(g).local();return C.call(N,b,I,B)}}})})(Yt);var Vo=Yt.exports;const Do=Re(Vo);Qe.extend(Do);Qe.extend(Eo);Qe.extend(Mo);const Fo=["disabled","accept","multiple"],No={key:0,class:"global-info-field-control__file-text"},Po={key:1,class:"global-info-field-control__file-upload"},Oo=e.defineComponent({name:"GlobalInfoFieldControl",__name:"GlobalInfoFieldControl",props:{field:{},modelValue:{},disabled:{type:Boolean,default:!1}},emits:["update:modelValue","change","loadOptions"],setup(n,{emit:t}){const o=n,r=t,a=["textarea","html","code","multi-row"],l=e.computed(()=>Te(o.field)),c=e.computed(()=>l.value==="select_remote"),i=e.computed(()=>o.disabled||o.field.disabled||o.field.readonly),u=e.computed(()=>!!o.field.props?.multiple),p=e.computed(()=>o.modelValue===void 0||o.modelValue===null?"":String(o.modelValue)),P=e.computed(()=>{if(o.modelValue===void 0||o.modelValue===null||o.modelValue==="")return;const d=typeof o.modelValue=="number"?o.modelValue:Number(o.modelValue);return Number.isFinite(d)?d:void 0}),m=e.computed(()=>Gn(o.field,o.modelValue)),S=e.computed(()=>{const d=o.field.props?.activeValue??o.field.props?.["active-value"],M=o.field.props?.inactiveValue??o.field.props?.["inactive-value"];return d!==void 0||M!==void 0?o.modelValue??M??!1:Ct(o.modelValue)}),f=e.computed(()=>l.value==="code"?5:3),C=e.computed(()=>l.value==="file"&&!fe(o.modelValue)),g=e.computed(()=>It(o.field,o.modelValue,"请选择文件")),I=e.computed(()=>o.field.placeholder?o.field.placeholder:l.value==="select_remote"?"请输入关键词":l.value==="select"?"请选择":l.value==="date"?"请选择日期":l.value==="file"?"请选择文件":"请输入");let B;function N(d){r("update:modelValue",h(d))}function b(d){r("change",h(d))}function h(d){return l.value==="select"||l.value==="select_remote"?Kn(o.field,d):d}function T(d){d&&r("loadOptions",c.value?{searchText:""}:void 0)}function w(d){c.value&&(B&&clearTimeout(B),B=setTimeout(()=>{r("loadOptions",{searchText:d})},300))}e.onBeforeUnmount(()=>{B&&clearTimeout(B)});function O(d){const M=d.target,E=Array.from(M.files??[]),R=o.field.props?.multiple?E:E[0]??null;N(R),b(R)}return(d,M)=>{const E=W.ElOption,R=W.ElSelect,q=W.ElDatePicker,Z=W.ElInputNumber,z=W.ElSwitch,V=W.ElInput;return l.value==="select"||l.value==="select_remote"?(e.openBlock(),e.createBlock(R,e.mergeProps({key:0,class:"global-info-field-control"},d.field.props,{"model-value":m.value,placeholder:I.value,disabled:i.value,"collapse-tags":u.value,"collapse-tags-tooltip":u.value,"max-collapse-tags":1,filterable:c.value||!!d.field.props?.filterable,remote:c.value||!!d.field.props?.remote,"remote-method":c.value?w:d.field.props?.remoteMethod,clearable:"",onVisibleChange:T,"onUpdate:modelValue":N,onChange:b}),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.field.options||[],s=>(e.openBlock(),e.createBlock(E,{key:String(s.value),label:s.label,value:s.value},null,8,["label","value"]))),128))]),_:1},16,["model-value","placeholder","disabled","collapse-tags","collapse-tags-tooltip","filterable","remote","remote-method"])):l.value==="date"?(e.openBlock(),e.createBlock(q,e.mergeProps({key:1,class:"global-info-field-control"},d.field.props,{"model-value":d.modelValue,placeholder:I.value,disabled:i.value,type:"date","value-format":"YYYY-MM-DD","onUpdate:modelValue":N,onChange:b}),null,16,["model-value","placeholder","disabled"])):l.value==="number"?(e.openBlock(),e.createBlock(Z,e.mergeProps({key:2,class:"global-info-field-control"},d.field.props,{"model-value":P.value,placeholder:I.value,disabled:i.value,"controls-position":"right","onUpdate:modelValue":N,onChange:b}),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"},d.field.props,{"model-value":S.value,disabled:i.value,"onUpdate:modelValue":N,onChange:b}),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":!C.value,"is-filled":C.value}])},[e.createElementVNode("input",{class:"global-info-field-control__file-input",type:"file",disabled:i.value,accept:String(d.field.props?.accept??""),multiple:!!d.field.props?.multiple,onChange:O},null,40,Fo),C.value?(e.openBlock(),e.createElementBlock("span",No,e.toDisplayString(g.value),1)):(e.openBlock(),e.createElementBlock("span",Po,"上 传"))],2)):l.value==="empty"?(e.openBlock(),e.createBlock(V,{key:5,class:"global-info-field-control","model-value":"",disabled:"",placeholder:"-"})):(e.openBlock(),e.createBlock(V,e.mergeProps({key:6,class:["global-info-field-control",{"global-info-field-control--code":l.value==="code"}]},d.field.props,{"model-value":p.value,placeholder:I.value,disabled:i.value,type:a.includes(l.value)?"textarea":"text",rows:a.includes(l.value)?f.value:void 0,"onUpdate:modelValue":N,onChange:b}),null,16,["class","model-value","placeholder","disabled","type","rows"]))}}}),Xe=le(Oo,[["__scopeId","data-v-c963995b"]]),Lo=["innerHTML"],xo={key:1,class:"global-info-field-value global-info-field-value--code"},zo=e.defineComponent({name:"GlobalInfoFieldValue",__name:"GlobalInfoFieldValue",props:{field:{},value:{},emptyText:{default:"-"}},setup(n){const t=n,o=e.computed(()=>We(t.field)),r=e.computed(()=>o.value==="empty"||fe(t.value)),a=e.computed(()=>It(t.field,t.value,t.emptyText));return(l,c)=>o.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,Lo)):o.value==="code"&&!r.value?(e.openBlock(),e.createElementBlock("pre",xo,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":o.value==="multi-row","global-info-field-value--file":o.value==="file"&&!r.value}])},e.toDisplayString(a.value),3))}}),et=le(zo,[["__scopeId","data-v-08b37e58"]]);function Ro(n){const t=Te(n);return(t==="select"||t==="select_remote")&&!!n.interface}function Fe(n,t,o={},r=""){const a=t.key||t.id||t.code,c=be(t).map(i=>`${i}:${String(o[i]??"")}`).join("|");return[n,r,a,c].join("::")}function Ne(n,t,o){return Array.isArray(n.options)&&n.options.length>0?t===o?!0:!t&&be(n).length===0:!1}function Ht(n={}){return Object.prototype.hasOwnProperty.call(n,"searchText")}function Ut(n,t){const o=new Set([t.key,t.id,t.code].map(r=>String(r??"").trim()).filter(Boolean));return o.size===0?!1:be(n).some(r=>o.has(r))}function Jt(n,t,o){const r=Te(n);return Ro(n)?o?!0:!fe(t):!1}function Wt(n,t){return Te(n)!=="select_remote"?{}:{searchText:t==null?"":String(t)}}const Ao={class:"global-info-form-renderer__label"},jo={key:0,class:"global-info-form-renderer__required"},Go=e.defineComponent({name:"GlobalInfoFormRenderer",__name:"GlobalInfoFormRenderer",props:{section:{},node:{},editing:{type:Boolean},state:{},actions:{},model:{},onUpdateModel:{type:Function},renderConfig:{}},setup(n){const t=n,o=e.useSlots(),r=e.computed(()=>t.model??t.section.model),a=new Map,l=e.computed(()=>Oe(t.section.fields,t.section,t.renderConfig,{values:r.value})),c=jt(async(h,T,w)=>t.actions.loadFieldOptions(t.section,h,T,w),h=>`${t.section.key}:${B(h)}`);function i(h,T){const w={...r.value,[h.code]:T};(h.cascadeClearFields??[]).forEach(O=>{w[O]=""}),t.onUpdateModel?.(w),t.onUpdateModel||t.actions.updateField(t.section,h,T),u(h,T,w),f(w,h)}function u(h,T,w){const O=t.renderConfig?.onFieldBusinessChange;if(O)try{const d=p(h,T),M={field:h,value:T,section:t.section,model:w,values:w,node:t.node,activeNode:t.node,sections:P(),sectionValues:m(t.section,w),actions:t.actions,selectedOption:d[0],selectedOptions:d};Promise.resolve(O(M)).catch(E=>{console.error("[GlobalInfoFormRenderer] field business change failed",E)})}catch(d){console.error("[GlobalInfoFormRenderer] field business change failed",d)}}function p(h,T){const w=Pe(h,T);return(h.options??[]).filter(O=>w.some(d=>O.value===d||String(O.value)===String(d)))}function P(){return Object.values(t.state.sectionMap)}function m(h,T){const O=P().flatMap(d=>{const M=d.key===h.key?T:d.renderType==="table"?d.rows:d.model;return[d.key,d.id,d.setId,d.infSetId,d.code].filter(Boolean).map(E=>[String(E),M])});return Object.fromEntries(O)}async function S(h,T={},w=r.value){const O=w,d=B(h),M=Fe(t.section.key,h,O),E=a.get(d);if(!Ht(T)&&Ne(h,E,M)){a.set(d,M);return}try{if(T.searchText!==void 0){await c(h,O,T);return}await t.actions.loadFieldOptions(t.section,h,O,T),a.set(d,M)}catch(q){console.error("[GlobalInfoFormRenderer] load field options failed",q)}}async function f(h=r.value,T){for(const w of l.value){if(T&&!Ut(w,T))continue;const O=h[w.code];if(!N(w,O))continue;const d=Fe(t.section.key,w,h),M=B(w),E=a.get(M);if(Ne(w,E,d)){a.set(M,d);continue}E!==d&&await S(w,Wt(w,O),h)}}e.watch(()=>t.section.key,()=>{a.clear()}),e.watch(()=>t.editing,()=>{f()},{immediate:!0});function C(h){const T=r.value[h.code];return{field:h,section:t.section,sectionView:t.section,node:t.node,editing:t.editing,modelValue:T,value:T,state:t.state,actions:t.actions,updateModelValue:w=>i(h,w)}}function g(h){const T=String(h.id||h.key||h.code||"").trim(),w=T?`field-${T}`:"";if(w&&o[w])return w;const O=w.toLowerCase();return O!==w&&o[O]?O:""}function I(h){return h.span?Math.min(Math.max(h.span,1),24):6}function B(h){return h.key||h.id||h.code}function N(h,T){return Jt(h,T,t.editing)}function b(h){return h.required||h.isRequired}return(h,T)=>{const w=W.ElFormItem,O=W.ElCol,d=W.ElRow,M=W.ElForm;return e.openBlock(),e.createBlock(M,{class:"global-info-form-renderer",model:r.value,"label-position":"top"},{default:e.withCtx(()=>[e.createVNode(d,{gutter:24},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,E=>(e.openBlock(),e.createBlock(O,{key:B(E),span:I(E)},{default:e.withCtx(()=>[e.createVNode(w,e.mergeProps({prop:E.code,ref_for:!0},E.formItemProps),{label:e.withCtx(()=>[e.createElementVNode("span",Ao,[b(E)?(e.openBlock(),e.createElementBlock("span",jo,"*")):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(E.label),1)])]),default:e.withCtx(()=>[g(E)?e.renderSlot(h.$slots,g(E),e.mergeProps({key:0,ref_for:!0},C(E)),void 0,!0):h.editing&&!E.readonly?(e.openBlock(),e.createBlock(Xe,{key:1,field:E,"model-value":r.value[E.code],section:h.section,onLoadOptions:R=>S(E,R),"onUpdate:modelValue":R=>i(E,R)},null,8,["field","model-value","section","onLoadOptions","onUpdate:modelValue"])):(e.openBlock(),e.createBlock(et,{key:2,field:E,value:r.value[E.code],section:h.section},null,8,["field","value","section"]))]),_:2},1040,["prop"])]),_:2},1032,["span"]))),128))]),_:3})]),_:3},8,["model"])}}}),Zt=le(Go,[["__scopeId","data-v-f49cc422"]]),Qt=e.defineComponent({name:"GlobalInfoDeleteConfirm",__name:"GlobalInfoDeleteConfirm",props:{title:{default:"确认删除吗?"},confirmText:{default:"确认"},cancelText:{default:"取消"}},emits:["confirm","cancel"],setup(n){return(t,o)=>{const r=W.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:o[0]||(o[0]=a=>t.$emit("confirm")),onCancel:o[1]||(o[1]=a=>t.$emit("cancel"))},{reference:e.withCtx(()=>[e.renderSlot(t.$slots,"default")]),_:3},8,["title","confirm-button-text","cancel-button-text"])}}}),Ko={class:"global-info-table-renderer__table-scroll"},qo={class:"global-info-table-renderer__header"},Yo={key:0,class:"global-info-table-renderer__required"},Ho=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(n){const t=n,o=e.useSlots(),r=e.computed(()=>t.section.fields.some(s=>rt(s))),a=e.computed(()=>r.value),l=e.computed(()=>t.renderConfig?.sequenceLabel??"序号"),c=e.computed(()=>t.renderConfig?.sequenceWidth??56),i=e.computed(()=>{const s=t.renderConfig?.sequenceStart;return typeof s=="number"&&Number.isFinite(s)?s:1}),u=e.computed(()=>{const s=Oe(t.section.fields,t.section,t.renderConfig,{rows:t.section.rows,values:t.section.model});return a.value?s.filter(_=>!R(_)):s}),p=new Map,P=jt(async(s,_,k)=>t.actions.loadFieldOptions(t.section,s,_,k),(s,_)=>`${t.section.key}:${z(_)}:${M(s)}`);function m(s){t.actions.deleteRow(t.section,s)}function S(s,_,k,D){const F=t.section.rows.slice(),x=k.cascadeClearFields??[],G={...s,__rowKey:z(s),[k.code]:D};x.forEach(A=>{G[A]=""}),F[_]={...G},t.actions.updateTableRows(t.section,F),f(k,D,G,_,F),N(k,G)}function f(s,_,k,D,F){const x=t.renderConfig?.onFieldBusinessChange;if(x)try{const G=C(s,_),A={...t.section.model,...k},Y={field:s,value:_,section:t.section,model:A,values:A,row:k,rowIndex:D,rows:F,node:t.node,activeNode:t.node,sections:g(),sectionValues:I(t.section,F),actions:t.actions,selectedOption:G[0],selectedOptions:G};Promise.resolve(x(Y)).catch(J=>{console.error("[GlobalInfoTableRenderer] field business change failed",J)})}catch(G){console.error("[GlobalInfoTableRenderer] field business change failed",G)}}function C(s,_){const k=Pe(s,_);return(s.options??[]).filter(D=>k.some(F=>D.value===F||String(D.value)===String(F)))}function g(){return Object.values(t.state.sectionMap)}function I(s,_){const D=g().flatMap(F=>{const x=F.key===s.key?_:F.renderType==="table"?F.rows:F.model;return[F.key,F.id,F.setId,F.infSetId,F.code].filter(Boolean).map(G=>[String(G),x])});return Object.fromEntries(D)}async function B(s,_,k={},D=_){const F=z(D),x=`${F}:${M(s)}`,G=Fe(t.section.key,s,D,F),A=p.get(x);if(!Ht(k)&&Ne(s,A,G)){p.set(x,G);return}try{if(k.searchText!==void 0){await P(s,D,k);return}await t.actions.loadFieldOptions(t.section,s,D,k),p.set(x,G)}catch(J){console.error("[GlobalInfoTableRenderer] load field options failed",J)}}async function N(s,_){const k=_?[_]:t.section.rows;for(const D of k){const F=z(D);for(const x of u.value){if(s&&!Ut(x,s))continue;const G=D[x.code];if(!w(x,G))continue;const A=Fe(t.section.key,x,D,F),Y=`${F}:${M(x)}`,J=p.get(Y);if(Ne(x,J,A)){p.set(Y,A);continue}J!==A&&await B(x,D,Wt(x,G))}}}function b(s,_,k){const D=_[s.code];return{field:s,section:t.section,sectionView:t.section,node:t.node,row:_,rowIndex:k,editing:t.editing,modelValue:D,value:D,state:t.state,actions:t.actions,updateModelValue:F=>S(_,k,s,F)}}function h(s){const _=String(s.id||s.key||s.code||"").trim(),k=_?`field-${_}`:"";if(k&&o[k])return k;const D=k.toLowerCase();return D!==k&&o[D]?D:""}function T(s){return!s.readonly&&!s.disabled}function w(s,_){return Jt(s,_,t.editing)}function O(s){return s.width??(ot(s)?56:void 0)}function d(s){if(!s.width)return s.minWidth??(ot(s)?56:void 0)}function M(s){return s.key||s.id||s.code}function E(s){return i.value+s}function R(s){return rt(s)}let q=0;const Z=new WeakMap;function z(s){const _=s.__rowKey??s.key??s.id??s.setId??s.infSetId;if(_!=null&&_!=="")return String(_);const k=s,D=Z.get(k);if(D)return D;q+=1;const F=`local-${q}`;return Z.set(k,F),F}function V(s){return s.required||s.isRequired}return e.watch(()=>t.section.key,()=>{p.clear()}),e.watch(()=>t.editing,()=>{N()},{immediate:!0}),(s,_)=>{const k=W.ElTableColumn,D=e.resolveComponent("Delete"),F=W.ElIcon,x=W.ElButton,G=W.ElTable;return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["global-info-table-renderer",{"global-info-table-renderer--editing":s.editing}])},[e.createElementVNode("div",Ko,[e.createVNode(G,{class:"global-info-table-renderer__table",data:s.section.rows,fit:!0,"table-layout":"auto","row-key":z},{default:e.withCtx(()=>[a.value?(e.openBlock(),e.createBlock(k,{key:0,type:"index",label:l.value,width:c.value,index:E},null,8,["label","width"])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.value,A=>(e.openBlock(),e.createBlock(k,{key:M(A),prop:A.code,label:A.label,width:O(A),"min-width":d(A)},{header:e.withCtx(()=>[e.createElementVNode("span",qo,[V(A)?(e.openBlock(),e.createElementBlock("span",Yo,"*")):e.createCommentVNode("",!0),e.createElementVNode("span",null,e.toDisplayString(A.label),1)])]),default:e.withCtx(({row:Y,$index:J})=>[h(A)?e.renderSlot(s.$slots,h(A),e.mergeProps({key:0,ref_for:!0},b(A,Y,J)),void 0,!0):s.editing&&T(A)?(e.openBlock(),e.createBlock(Xe,{key:1,field:A,"model-value":Y[A.code],section:s.section,row:Y,"row-index":J,onLoadOptions:L=>B(A,Y,L),"onUpdate:modelValue":L=>S(Y,J,A,L)},null,8,["field","model-value","section","row","row-index","onLoadOptions","onUpdate:modelValue"])):(e.openBlock(),e.createBlock(et,{key:2,field:A,value:Y[A.code],section:s.section,row:Y,"row-index":J},null,8,["field","value","section","row","row-index"]))]),_:2},1032,["prop","label","width","min-width"]))),128)),s.editing?(e.openBlock(),e.createBlock(k,{key:1,label:"操作",width:"104",fixed:"right"},{default:e.withCtx(({$index:A})=>[s.showDelete?(e.openBlock(),e.createBlock(Qt,{key:0,onConfirm:Y=>m(A)},{default:e.withCtx(()=>[e.createVNode(x,{class:"global-info-table-renderer__delete",link:"",type:"danger"},{default:e.withCtx(()=>[e.createVNode(F,{class:"global-info-table-renderer__delete-icon"},{default:e.withCtx(()=>[e.createVNode(D)]),_:1}),_[0]||(_[0]=e.createTextVNode(" 删除 "))]),_:1})]),_:2},1032,["onConfirm"])):e.createCommentVNode("",!0)]),_:1})):e.createCommentVNode("",!0)]),_:3},8,["data"])])],2)}}}),Xt=le(Ho,[["__scopeId","data-v-23432790"]]),en=e.defineComponent({name:"GlobalInfoAutoRenderer",__name:"GlobalInfoAutoRenderer",props:{section:{},node:{},editing:{type:Boolean},state:{},actions:{},renderConfig:{}},setup(n){return(t,o)=>t.section.renderType==="table"?(e.openBlock(),e.createBlock(Xt,{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(Zt,{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"]))}}),tn=e.defineComponent({name:"GlobalInfoSectionOutlet",__name:"GlobalInfoSectionOutlet",props:{section:{},node:{},editing:{type:Boolean},state:{},actions:{},renderConfig:{}},setup(n){const t=n,o=e.useSlots(),r=e.computed(()=>Oe(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),c=e.computed(()=>{const p=i(t.section.id||t.section.key),P=u(t.section.renderType);return[p,P,"default"].find(m=>!!(m&&o[m]))??""});function i(p){const P=String(p??"").trim();return P?`section-${P}`:""}function u(p){return p==="form"||p==="table"?p:""}return(p,P)=>c.value?e.renderSlot(p.$slots,c.value,{key:0,section:p.section,sectionView:p.section,node:p.node,editing:a.value,isEmpty:l.value,empty:l.value,fields:r.value,renderConfig:p.renderConfig,state:p.state,actions:p.actions}):(e.openBlock(),e.createBlock(en,{key:1,section:p.section,node:p.node,editing:a.value,state:p.state,actions:p.actions,"render-config":p.renderConfig},null,8,["section","node","editing","state","actions","render-config"]))}}),Uo=e.defineComponent({name:"GlobalInfoSlotErrorBoundary",props:{boundaryKey:{type:[String,Number],default:""},label:{type:String,default:""}},emits:{error:n=>!0},setup(n,{emit:t,slots:o}){const r=e.ref(!1);e.watch(()=>n.boundaryKey,()=>{r.value=!1}),e.onErrorCaptured(l=>(a(l),!1));function a(l){r.value=!0,console.error(`[GlobalInfoSlotErrorBoundary] ${n.label||"section"} slot render failed`,l),t("error",l)}return()=>{if(r.value)return o.fallback?.()??null;try{return o.default?.()??null}catch(l){return a(l),o.fallback?.()??null}}}}),Jo={class:"global-info-section-block"},Wo={key:0,class:"global-info-section-block__header"},Zo={class:"global-info-section-block__title-wrap"},Qo={class:"global-info-section-block__title"},Xo={key:0,class:"global-info-section-block__actions"},er={class:"global-info-section-block__body"},tr=e.defineComponent({name:"GlobalInfoSectionBlock",__name:"GlobalInfoSectionBlock",props:{node:{},state:{},actions:{},hideHeader:{type:Boolean},renderConfig:{},onEdit:{type:Function},onCancel:{type:Function},onSave:{type:Function}},setup(n){const t=n,o=e.useSlots(),r=e.ref(!1),a=e.ref(null),l=e.ref(null),c=e.computed(()=>!!t.hideHeader),i=e.computed(()=>t.actions.getSectionStatus(t.node)),u=e.computed(()=>t.actions.getSection(t.node)??l.value),p=e.computed(()=>{const d=u.value;return d?Oe(d.fields,d,t.renderConfig,{values:d.model,rows:d.renderType==="table"?d.rows:void 0}):[]}),P=e.computed(()=>u.value?.title||t.node.tagName||t.node.label||"-"),m=e.computed(()=>!!(u.value&&t.actions.isEditing(u.value))),S=e.computed(()=>u.value?.renderType==="table"),f=e.computed(()=>r.value||i.value.loading),C=e.computed(()=>B(a.value||i.value.error)),g=e.computed(()=>{const d=u.value;return d?d.renderType==="table"&&d.rows.length===0||p.value.length===0:!0}),I=e.computed(()=>({node:t.node,section:u.value,sectionView:u.value,fields:p.value,renderConfig:t.renderConfig,title:P.value,editing:m.value,loading:f.value,error:a.value||i.value.error,errorMessage:C.value,isEmpty:g.value,empty:g.value,sectionStatus:i.value,state:t.state,actions:t.actions,reload:O,handleEdit:N,handleCancel:b,handleAddTableRow:h,handleSave:T}));function B(d){return d?d instanceof Error?d.message:String(d):""}async function N(){const d=u.value;d&&(await t.onEdit?.(d,t.node),t.onEdit||t.actions.startEdit(d))}async function b(){const d=u.value;d&&(await t.onCancel?.(d,t.node),t.onCancel||t.actions.cancelEdit(d))}function h(){const d=u.value;if(!d)return;const M=d.fields.reduce((E,R)=>(E[R.code]=R.value??"",E),{__rowKey:`new-${Date.now()}`});t.actions.saveRow(d,M,-1)}async function T(){const d=u.value;if(d)try{if(t.onSave){await t.onSave(d,t.node);return}await t.actions.saveSection(d)}catch(M){a.value=M,console.error("[GlobalInfoSectionBlock] save section failed",M)}}function w(d){a.value=d}async function O(){r.value=!0,a.value=null,l.value=null;try{l.value=await t.actions.loadSection(t.node)}catch(d){a.value=d,console.error("[GlobalInfoSectionBlock] load section failed",d)}finally{r.value=!1}}return e.onMounted(()=>{O()}),e.watch(()=>t.node.key,()=>{O()}),(d,M)=>{const E=W.ElButton;return e.openBlock(),e.createElementBlock("section",Jo,[c.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("header",Wo,[e.renderSlot(d.$slots,"header",e.normalizeProps(e.guardReactiveProps(I.value)),()=>[e.createElementVNode("div",Zo,[M[0]||(M[0]=e.createElementVNode("span",{class:"global-info-section-block__marker"},null,-1)),e.createElementVNode("h3",Qo,e.toDisplayString(P.value),1)]),e.renderSlot(d.$slots,"actions",e.normalizeProps(e.guardReactiveProps(I.value)),()=>[u.value?(e.openBlock(),e.createElementBlock("div",Xo,[m.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createVNode(E,{class:"global-info-section-block__cancel",disabled:i.value.saving,onClick:b},{default:e.withCtx(()=>M[2]||(M[2]=[e.createTextVNode(" 取消 ")])),_:1},8,["disabled"]),S.value?(e.openBlock(),e.createBlock(E,{key:0,class:"global-info-section-block__add",disabled:i.value.saving,onClick:h},{default:e.withCtx(()=>M[3]||(M[3]=[e.createTextVNode(" 新增 ")])),_:1},8,["disabled"])):e.createCommentVNode("",!0),e.createVNode(E,{class:"global-info-section-block__confirm",loading:i.value.saving,onClick:T},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(S.value?"确认":"保存"),1)]),_:1},8,["loading"])],64)):(e.openBlock(),e.createBlock(E,{key:0,class:"global-info-section-block__edit",disabled:i.value.saving||f.value,onClick:N},{default:e.withCtx(()=>M[1]||(M[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",er,[f.value?e.renderSlot(d.$slots,"loading",e.normalizeProps(e.mergeProps({key:0},I.value)),()=>[M[4]||(M[4]=e.createElementVNode("div",{class:"global-info-section-block__status"},"加载中...",-1))],!0):!u.value||g.value?e.renderSlot(d.$slots,"empty",e.normalizeProps(e.mergeProps({key:1},I.value)),()=>[M[5]||(M[5]=e.createElementVNode("div",{class:"global-info-section-block__status"},"暂无数据",-1))],!0):(e.openBlock(),e.createBlock(Uo,{key:2,"boundary-key":d.node.key,label:P.value,onError:w},{fallback:e.withCtx(()=>[e.renderSlot(d.$slots,"empty",e.normalizeProps(e.guardReactiveProps(I.value)),()=>[M[6]||(M[6]=e.createElementVNode("div",{class:"global-info-section-block__status"},"暂无数据",-1))],!0)]),default:e.withCtx(()=>[e.createVNode(tn,{section:u.value,node:d.node,editing:m.value,state:d.state,actions:d.actions,"render-config":d.renderConfig},e.createSlots({_:2},[e.renderList(e.unref(o),(R,q)=>({name:q,fn:e.withCtx(Z=>[e.renderSlot(d.$slots,q,e.normalizeProps(e.guardReactiveProps({...I.value,...Z})),void 0,!0)])}))]),1032,["section","node","editing","state","actions","render-config"])]),_:3},8,["boundary-key","label"]))])])}}}),nn=le(tr,[["__scopeId","data-v-77980d16"]]),nr={class:"global-info-group"},or={class:"global-info-group__header"},rr={class:"global-info-group__title"},ar={class:"global-info-group__body"},lr=["id"],sr=e.defineComponent({name:"GlobalInfoGroup",__name:"GlobalInfoGroup",props:{group:{},children:{},state:{},actions:{},index:{},renderConfig:{}},setup(n){const t=n,o=e.useSlots(),r=e.computed(()=>t.group.tagName||t.group.label||"-"),a=e.computed(()=>t.children.length<=1);function l(m,S){const f=t.actions.getSection(m);return{node:m,group:t.group,sectionNode:m,section:f,sectionView:f,state:t.state,actions:t.actions,renderConfig:t.renderConfig,index:S,editing:!!(f&&t.actions.isEditing(f)),sectionStatus:t.actions.getSectionStatus(m),isSelfSection:p(m,0)===p(t.group,0),handleEdit:()=>t.actions.startEdit(m),handleCancel:()=>t.actions.cancelEdit(m),handleSave:()=>t.actions.saveSection(m.key)}}function c(m){return i("section",u(m))}function i(m,S){if(!S)return"";const f=`${m}-${S}`;if(o[f])return f;const C=f.toLowerCase();return C!==f&&o[C]?C:""}function u(m){return String(m.id||m.infSetId||m.tagId||m.key||m.code||"").trim()}function p(m,S){return m.key||m.id||m.infSetId||m.tagId||`${S}`}function P(m){return`global-info-section-${p(m,0)}`}return(m,S)=>(e.openBlock(),e.createElementBlock("section",nr,[e.renderSlot(m.$slots,"header",{group:m.group,children:m.children,state:m.state,actions:m.actions,renderConfig:m.renderConfig,title:r.value,index:m.index,isEmpty:m.children.length===0},()=>[e.createElementVNode("header",or,[S[0]||(S[0]=e.createElementVNode("span",{class:"global-info-group__marker"},null,-1)),e.createElementVNode("h2",rr,e.toDisplayString(r.value),1)])],!0),e.createElementVNode("div",ar,[e.unref(o).default?e.renderSlot(m.$slots,"default",{key:0,group:m.group,children:m.children,state:m.state,actions:m.actions,renderConfig:m.renderConfig,index:m.index,isEmpty:m.children.length===0},void 0,!0):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.children,(f,C)=>(e.openBlock(),e.createElementBlock("div",{id:P(f),key:p(f,C),class:"global-info-group__section"},[c(f)?e.renderSlot(m.$slots,c(f),e.mergeProps({key:0,ref_for:!0},l(f,C)),void 0,!0):e.unref(o).section?e.renderSlot(m.$slots,"section",e.mergeProps({key:1,ref_for:!0},l(f,C)),void 0,!0):(e.openBlock(),e.createBlock(nn,{key:2,node:f,state:m.state,actions:m.actions,"hide-header":a.value,"render-config":m.renderConfig},e.createSlots({_:2},[e.renderList(e.unref(o),(g,I)=>({name:I,fn:e.withCtx(B=>[e.renderSlot(m.$slots,I,e.mergeProps({ref_for:!0},B),void 0,!0)])}))]),1032,["node","state","actions","hide-header","render-config"]))],8,lr))),128)),m.children.length===0?e.renderSlot(m.$slots,"empty",{key:0,node:null,group:m.group,sectionNode:null,state:m.state,actions:m.actions,index:-1,renderConfig:m.renderConfig},()=>[S[1]||(S[1]=e.createElementVNode("div",{class:"global-info-group__empty"},"暂无数据",-1))],!0):e.createCommentVNode("",!0)],64))])]))}}),on=le(sr,[["__scopeId","data-v-c90b8de0"]]),ir={class:"global-info-sections"},cr=e.defineComponent({name:"GlobalInfoSections",__name:"GlobalInfoSections",props:{nodes:{},state:{},actions:{},renderConfig:{}},setup(n){const t=n,o=e.useSlots(),r=e.computed(()=>{const S=t.nodes.filter(b=>a(b).length>0),f=t.nodes.filter(b=>a(b).length===0),C=f.filter(b=>l(b)),g=f.filter(b=>!l(b)),I=S.map(b=>({group:b,children:a(b)})),B=C.map(b=>({group:b,children:[b]}));if(I.length===0)return C.length>0?B:m(g);const N=m(g);return[...I,...B,...N]});function a(S){return S.children??[]}function l(S){return!String(S.parentId||S.parentTagId||"").trim()}function c(S){return i("group",u(S))}function i(S,f){if(!f)return"";const C=`${S}-${f}`;if(o[C])return C;const g=C.toLowerCase();return g!==C&&o[g]?g:""}function u(S){return String(S.id||S.tagId||S.key||S.code||"").trim()}function p(S,f){return S.key||S.id||S.tagId||`${f}`}function P(S){const f=S[0],C=f?.raw??{},g=String(C.parentTagName||C.parentName||C.parentLabel||f?.parentId||"信息");return{...f,key:`${f?.parentId||f?.parentTagId||f?.key||"global-info"}-group`,id:String(f?.parentId||f?.parentTagId||f?.id||"global-info-group"),tagId:String(f?.parentTagId||f?.parentId||f?.tagId||"global-info-group"),tagName:g,label:g,children:S}}function m(S){const f=new Map;return S.forEach(C=>{const g=String(C.parentId||C.parentTagId||"global-info-flat"),I=f.get(g)??[];I.push(C),f.set(g,I)}),Array.from(f.values()).map(C=>({group:P(C),children:C}))}return(S,f)=>(e.openBlock(),e.createElementBlock("div",ir,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,(C,g)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:p(C.group,g)},[c(C.group)?e.renderSlot(S.$slots,c(C.group),{key:0,group:C.group,children:C.children,state:S.state,actions:S.actions,renderConfig:S.renderConfig,index:g,isEmpty:C.children.length===0},void 0,!0):e.unref(o).group?e.renderSlot(S.$slots,"group",{key:1,group:C.group,children:C.children,state:S.state,actions:S.actions,renderConfig:S.renderConfig,index:g,isEmpty:C.children.length===0},void 0,!0):(e.openBlock(),e.createBlock(on,{key:2,group:C.group,children:C.children,state:S.state,actions:S.actions,"render-config":S.renderConfig,index:g},e.createSlots({_:2},[e.renderList(e.unref(o),(I,B)=>({name:B,fn:e.withCtx(N=>[e.renderSlot(S.$slots,B,e.mergeProps({ref_for:!0},N),void 0,!0)])}))]),1032,["group","children","state","actions","render-config","index"]))],64))),128))]))}}),ur=le(cr,[["__scopeId","data-v-c0d12f5e"]]);exports.JtAttachmentPreview=Je.JtAttachmentPreview;exports.JtAttachmentPreviewByParams=Je.JtAttachmentPreviewByParams;exports.setupJtAttachmentPreview=Je.setupJtAttachmentPreview;exports.GlobalInfoAutoRenderer=en;exports.GlobalInfoDeleteConfirm=Qt;exports.GlobalInfoFieldControl=Xe;exports.GlobalInfoFieldValue=et;exports.GlobalInfoFormRenderer=Zt;exports.GlobalInfoGroup=on;exports.GlobalInfoProvider=Bo;exports.GlobalInfoSectionBlock=nn;exports.GlobalInfoSectionOutlet=tn;exports.GlobalInfoSections=ur;exports.GlobalInfoTableRenderer=Xt;exports.JtButton=Ce;exports.JtCascader=ht;exports.JtCrudTable=On;exports.JtDatePicker=vt;exports.JtFilterBar=bt;exports.JtFormItems=yt;exports.JtInput=Ve;exports.JtPageHeader=An;exports.JtPagination=wt;exports.JtSelect=gt;exports.JtTable=St;exports.buildGlobalInfoUpdatePayload=Tt;exports.createEmptyGlobalInfoViewModel=_t;exports.isGlobalInfoNode=Qn;exports.mergeGlobalInfoChildren=Ze;exports.normalizeGlobalInfoDetail=$t;exports.normalizeGlobalInfoTree=He;exports.resolveGlobalInfoRenderType=Mt;exports.useGlobalInfoController=At;
|