@jt-home/mfe-components 1.0.9 → 1.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -1,3 +1,3 @@
1
1
  require('./style.css');
2
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),G=require("element-plus/es"),Pe=require("./JtAttachmentPreview/index.cjs"),ue=require("element-plus"),Ee=2,Ft=3;function Mt(o){return o.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}function qe(o){if(!o.startsWith("on")||o.length<=Ee)return!1;const t=o.charCodeAt(Ee);return t<97||t>122}function Rt(o){if(o.startsWith("on-"))return o.slice(Ft);const[t,n]=o.slice(Ee).split(":"),l=Mt(t);return n?`${l}:${n}`:l}function Ke(o,t=new Set){return Object.fromEntries(Object.entries(o).filter(([n,l])=>!t.has(n)&&qe(n)&&typeof l=="function").map(([n,l])=>[Rt(n),l]))}function He(o,t=new Set){return Object.fromEntries(Object.entries(o).filter(([n])=>!t.has(n)&&!qe(n)))}const Lt=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(),l=e.computed(()=>{const{icon:s,...g}=t;return{...He(n),...g}}),a=e.computed(()=>Ke(n));return(s,g)=>{const f=G.ElIcon,u=G.ElButton;return e.openBlock(),e.createBlock(u,e.mergeProps({class:"jt-button"},l.value,e.toHandlers(a.value)),{default:e.withCtx(()=>[s.$slots.icon?(e.openBlock(),e.createBlock(f,{key:0,class:"jt-button__icon"},{default:e.withCtx(()=>[e.renderSlot(s.$slots,"icon",{},void 0,!0)]),_:3})):t.icon?(e.openBlock(),e.createBlock(f,{key:1,class:"jt-button__icon"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.icon)))]),_:1})):e.createCommentVNode("",!0),e.renderSlot(s.$slots,"default",{},void 0,!0)]),_:3},16)}}}),J=(o,t)=>{const n=o.__vccOpts||o;for(const[l,a]of t)n[l]=a;return n},ve=J(Lt,[["__scopeId","data-v-fbcdce34"]]),Gt=e.defineComponent({name:"JtCascader",__name:"index",props:{size:{},placeholder:{default:"请选择"},disabled:{type:Boolean},clearable:{type:Boolean,default:!0},clearIcon:{},filterable:{type:Boolean},filterMethod:{},separator:{},showAllLevels:{type:Boolean},collapseTags:{type:Boolean},maxCollapseTags:{},collapseTagsTooltip:{type:Boolean},maxCollapseTagsTooltipHeight:{},debounce:{},beforeFilter:{},placement:{},fallbackPlacements:{},popperClass:{},popperStyle:{type:[Boolean,null,String,Object,Array]},teleported:{type:Boolean},effect:{},tagType:{},tagEffect:{},validateEvent:{type:Boolean},persistent:{type:Boolean},showCheckedStrategy:{},checkOnClickNode:{type:Boolean},showPrefix:{type:Boolean},fitInputWidth:{type:[Boolean,Number]},modelValue:{},props:{},virtualScroll:{type:Boolean},itemSize:{},height:{},emptyValues:{},valueOnClear:{type:[String,Number,Boolean,Function,null]},options:{default:()=>[]}},emits:ue.cascaderEmits,setup(o,{emit:t}){const n=o,l=t,a=e.computed(()=>Object.fromEntries(Object.keys(ue.cascaderEmits).map(s=>[s,(...g)=>l(s,...g)])));return(s,g)=>{const f=G.ElCascader;return e.openBlock(),e.createBlock(f,e.mergeProps({class:"jt-cascader"},n,e.toHandlers(a.value)),null,16)}}}),Ue=J(Gt,[["__scopeId","data-v-9164edeb"]]),Dt=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??(l(t.type)?"开始日期":void 0),endPlaceholder:t.endPlaceholder??(l(t.type)?"结束日期":void 0)}));function l(a){return a?.includes("range")??!1}return(a,s)=>{const g=G.ElDatePicker;return e.openBlock(),e.createBlock(g,e.mergeProps({class:"jt-date-picker"},n.value,{"onUpdate:modelValue":s[0]||(s[0]=f=>a.$emit("update:modelValue",f))}),null,16)}}}),We=J(Dt,[["__scopeId","data-v-2aaf2264"]]),zt=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:{...ue.inputEmits,enter:()=>!0},setup(o,{emit:t}){const n=o,l=t,a=e.computed(()=>Object.fromEntries(Object.keys(ue.inputEmits).map(s=>[s,(...g)=>l(s,...g)])));return(s,g)=>{const f=G.ElInput;return e.openBlock(),e.createBlock(f,e.mergeProps({class:"jt-input"},n,e.toHandlers(a.value),{onKeyup:g[0]||(g[0]=e.withKeys(u=>l("enter"),["enter"]))}),null,16)}}}),Se=J(zt,[["__scopeId","data-v-c4e9cb3f"]]),jt=e.defineComponent({name:"JtSelect",__name:"index",props:{options:{},ariaLabel:{},emptyValues:{},valueOnClear:{},name:{},id:{},modelValue:{},autocomplete:{},automaticDropdown:{type:Boolean},size:{},effect:{},disabled:{type:Boolean},clearable:{type:Boolean,default:!0},filterable:{type:Boolean,default:!0},allowCreate:{type:Boolean},loading:{type:Boolean},popperClass:{},popperStyle:{},popperOptions:{},remote:{type:Boolean},debounce:{},loadingText:{},noMatchText:{},noDataText:{},remoteMethod:{},filterMethod:{},multiple:{type:Boolean},multipleLimit:{},placeholder:{default:"请选择"},defaultFirstOption:{type:Boolean},reserveKeyword:{type:Boolean},valueKey:{},collapseTags:{type:Boolean},collapseTagsTooltip:{type:Boolean},tagTooltip:{},maxCollapseTags:{},teleported:{type:Boolean},persistent:{type:Boolean},clearIcon:{},fitInputWidth:{type:Boolean},suffixIcon:{},tagType:{},tagEffect:{},validateEvent:{type:Boolean},remoteShowSuffix:{type:Boolean},showArrow:{type:Boolean},offset:{},placement:{},fallbackPlacements:{},tabindex:{},appendTo:{},props:{}},emits:ue.selectEmits,setup(o,{emit:t}){const n=o,l=e.computed(()=>{const{options:g,...f}=n;return f}),a=t,s=e.computed(()=>Object.fromEntries(Object.keys(ue.selectEmits).map(g=>[g,(...f)=>a(g,...f)])));return(g,f)=>{const u=G.ElOption,b=G.ElSelect;return e.openBlock(),e.createBlock(b,e.mergeProps({class:"jt-select"},l.value,e.toHandlers(s.value)),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(g.options??[],V=>(e.openBlock(),e.createBlock(u,e.mergeProps({key:V.value,ref_for:!0},V),null,16))),128))]),_:1},16)}}}),Ye=J(jt,[["__scopeId","data-v-abce8e44"]]),xt={class:"jt-form-items"},Ce=4,At=e.defineComponent({name:"JTFormItems",__name:"JtFormItems",props:{configs:{},formData:{},span:{}},setup(o){const t=o,n={input:Se,select:Ye,cascader:Ue,"date-picker":We},l={"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"]),s=Object.keys(n),g=new Map,f=e.computed(()=>t.configs.filter(h=>h.show!==!1)),u=h=>{const{itemType:S}=h;if(!S)return Se;if(typeof S!="string")return S;const P=l[S]??S;return s.includes(P)?n[P]:(console.error(`[JtFormItems] 不支持的 itemType: "${S}",支持的类型: ${s.join(", ")}`),Se)},b=h=>{const S=He(h,a);return h.itemType==="select"||h.itemType==="remote-select"||h.itemType==="cascader"?{...S,options:h.options}:c(h.itemType)?{...S,type:"daterange"}:S},V=h=>Ke(h,a),v=h=>({rules:h.rules,...h.formItemProps}),p=(h,S)=>{t.formData[h]=S};function d(h){return S=>{if(S){g.set(h,S);return}g.delete(h)}}function y(h,S){e.nextTick(()=>{g.get(h)?.validate(S).catch(()=>{})})}const I=h=>Math.min(Math.max(Math.trunc(h||1),1),4),F=e.computed(()=>{const S=f.value.reduce((P,w)=>P+I(t.span||w.span),0)%Ce;return S===0?{gridColumn:`1 / span ${Ce}`}:{gridColumn:`${S+1} / span ${Ce-S}`}}),E=h=>({gridColumn:`span ${I(t.span||h.span)}`});function c(h){return h==="daterange"||h==="date-range"||h==="dateRange"}return(h,S)=>{const P=G.ElFormItem;return e.openBlock(),e.createElementBlock("div",xt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.value,w=>(e.openBlock(),e.createBlock(P,e.mergeProps({key:w.prop,ref_for:!0,ref:d(w.prop),class:"jt-form-items__item",style:E(w),label:w.label,prop:w.prop},v(w)),{default:e.withCtx(()=>[w.showSlot?e.renderSlot(h.$slots,w.prop,{key:0},void 0,!0):(e.openBlock(),e.createBlock(e.resolveDynamicComponent(u(w)),e.mergeProps({key:1,"model-value":h.formData[w.prop],ref_for:!0},b(w),e.toHandlers(V(w)),{"onUpdate:modelValue":k=>p(w.prop,k),onChange:()=>y(w.prop,"change"),onBlur:()=>y(w.prop,"blur")}),null,16,["model-value","onUpdate:modelValue","onChange","onBlur"]))]),_:2},1040,["style","label","prop"]))),128)),h.$slots.actions?(e.openBlock(),e.createBlock(P,{key:0,class:"jt-form-items__actions",style:e.normalizeStyle(F.value)},{default:e.withCtx(()=>[e.renderSlot(h.$slots,"actions",{},void 0,!0)]),_:3},8,["style"])):e.createCommentVNode("",!0)])}}}),Ze=J(At,[["__scopeId","data-v-002c0b17"]]);function Ot(){const o=e.ref(!1);function t(){o.value=!0}function n(){o.value=!1}return{searchDisabled:o,searchLoading:t,searchDone:n}}const Jt="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",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%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",Kt="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",Ht={class:"jt-filter-bar__btns"},Ut=["src"],Wt=["src"],Yt=["src"],Zt=e.defineComponent({name:"JtFilterBar",__name:"JtFilterBar",props:{columns:{},option:{default:()=>({})},modelValue:{}},emits:["update:modelValue","search","reset"],setup(o,{expose:t,emit:n}){const l=o,a=n,s=e.ref(),g=e.useSlots(),f=e.ref({}),{searchDisabled:u,searchLoading:b,searchDone:V}=Ot(),v=e.computed(()=>l.option),p=e.ref(v.value.searchCollapsed??!1),d=e.computed(()=>l.columns.filter(B=>B.search===!0)),y=e.computed(()=>Math.max(1,v.value.searchSpan??4)),I=e.computed(()=>Math.max(1,v.value.searchCollapsedRows??1)),F=e.computed(()=>Math.max(1,y.value-1)),E=e.computed(()=>Math.max(1,F.value*I.value)),c=e.computed(()=>ne(v.value.searchLabelWidth??84)),h=e.computed(()=>v.value.searchLabelPosition??"top"),S=e.computed(()=>se(v.value.searchGutter,14)),P=e.computed(()=>se(v.value.searchRowGap,14)),w=e.computed(()=>pe(v.value.searchPadding??"18px 4px 0")),k=e.computed(()=>v.value.searchCollapse===!1?!1:Ie(d.value)>E.value),N=e.computed(()=>{if(!k.value||!p.value)return d.value;let B=0;return d.value.filter(z=>{const A=oe(z);return B+A>E.value?!1:(B+=A,!0)})}),_=e.computed(()=>N.value.filter(B=>!!g[`${B.prop}-search`])),R=e.computed(()=>N.value.map(B=>Z(B)));e.watch(()=>v.value.searchCollapsed,B=>{typeof B=="boolean"&&(p.value=B)}),e.watch(()=>l.modelValue,B=>{f.value={...B}},{deep:!0,immediate:!0});function K(B,z){if(u.value)return;const A={...f.value,[B]:z};f.value=A,a("update:modelValue",A)}function Z(B){const z=B.searchProps??{};return{...z,prop:B.prop,label:B.searchLabel??B.label,span:oe(B),itemType:B.searchType??"input",showSlot:!!g[`${B.prop}-search`],options:z.options??B.searchOptions??B.dicData,placeholder:z.placeholder??B.searchPlaceholder,valueFormat:z.valueFormat??B.searchValueFormat,disabled:u.value||z.disabled===!0,formItemProps:{required:B.searchRequired,class:["jt-filter-bar__item",{"is-required":B.searchRequired}]},onEnter:(...A)=>{ae(z.onEnter,...A),re()},"onUpdate:modelValue":A=>{ae(z["onUpdate:modelValue"],A),K(B.prop,A)}}}function ae(B,...z){if(Array.isArray(B)){B.forEach(A=>ae(A,...z));return}typeof B=="function"&&B(...z)}async function re(){if(!u.value){if(s.value)try{await s.value.validate()}catch{return}a("search")}}function de(){u.value||a("reset")}function H(){p.value=!p.value}function oe(B){return Math.min(y.value,Math.max(1,B.searchSpan??1))}function Ie(B){return B.reduce((z,A)=>z+oe(A),0)}function ne(B){return typeof B=="number"?`${B}px`:B}function se(B,z){return typeof B=="number"?B:z}function pe(B){return typeof B=="number"?`${B}px`:B}return t({formRef:s,searchDisabled:u,searchLoading:b,searchDone:V}),(B,z)=>{const A=G.ElForm;return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["jt-filter-bar",`is-label-${h.value}`]),style:e.normalizeStyle({"--jt-filter-columns":y.value,"--jt-filter-label-width":c.value,"--jt-filter-column-gap":`${S.value}px`,"--jt-filter-row-gap":`${P.value}px`,"--jt-filter-padding":w.value})},[e.createVNode(A,{ref_key:"formRef",ref:s,class:"jt-filter-bar__form",model:f.value,"label-position":h.value,"label-width":c.value,disabled:e.unref(u),onSubmit:z[0]||(z[0]=e.withModifiers(()=>{},["prevent"]))},{default:e.withCtx(()=>[e.createVNode(e.unref(Ze),{configs:R.value,"form-data":f.value},e.createSlots({actions:e.withCtx(()=>[e.createElementVNode("div",Ht,[e.renderSlot(B.$slots,"search-menu",{search:re,reset:de,disabled:e.unref(u),collapsed:p.value,toggleCollapse:H},()=>[k.value?(e.openBlock(),e.createBlock(e.unref(ve),{key:0,class:"jt-filter-bar__btn-collapse",onClick:H},{icon:e.withCtx(()=>[e.createElementVNode("img",{class:e.normalizeClass(["jt-filter-bar__icon-arrow",{"is-collapsed":p.value}]),src:e.unref(Jt),alt:""},null,10,Ut)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(p.value?"展 开":"收 起"),1)]),_:1})):e.createCommentVNode("",!0),e.createVNode(e.unref(ve),{class:"jt-filter-bar__btn-reset",disabled:e.unref(u),onClick:de},{icon:e.withCtx(()=>[e.createElementVNode("img",{src:e.unref(qt),alt:""},null,8,Wt)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(v.value.resetBtnText??"重 置"),1)]),_:1},8,["disabled"]),e.createVNode(e.unref(ve),{class:"jt-filter-bar__btn-query",type:"primary",disabled:e.unref(u),onClick:re},{icon:e.withCtx(()=>[e.createElementVNode("img",{src:e.unref(Kt),alt:""},null,8,Yt)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(v.value.searchBtnText??"查 询"),1)]),_:1},8,["disabled"])],!0)])]),_:2},[e.renderList(_.value,le=>({name:le.prop,fn:e.withCtx(()=>[e.renderSlot(B.$slots,`${le.prop}-search`,{value:f.value[le.prop],column:le,setValue:_e=>K(le.prop,_e),search:re,reset:de,disabled:e.unref(u)},void 0,!0)])}))]),1032,["configs","form-data"])]),_:3},8,["model","label-position","label-width","disabled"])],6)}}}),Qe=J(Zt,[["__scopeId","data-v-94909b80"]]),Qt={key:1},Xt={key:2},eo={key:3},to=e.defineComponent({name:"JtTable",__name:"JtTable",props:{data:{},columns:{},option:{},tableEvents:{}},setup(o,{expose:t}){const n=o,l=e.useSlots(),a=e.ref(),s=e.computed(()=>n.option??{}),g=e.computed(()=>n.columns.filter(d=>!d.hide));function f(d){return!!l[`${d}-header`]}function u(d){return!!l[`${d}-data`]}function b(d){return{width:d.width,minWidth:d.minWidth,align:d.align,fixed:d.fixed,sortable:d.sortable,showOverflowTooltip:d.showOverflowTooltip,...d.columnOptions}}function V(d){return!v(d.columnOptions?.type)}function v(d){return d==="selection"||d==="index"||d==="expand"}function p(d,y){return d.find(I=>I.value===y)?.label??String(y??"")}return t({tableRef:a}),(d,y)=>{const I=G.ElTableColumn,F=G.ElTable;return e.openBlock(),e.createBlock(F,e.mergeProps({ref_key:"tableRef",ref:a,data:d.data,"row-key":s.value.rowKey??"id",height:s.value.height,"max-height":s.value.maxHeight,"empty-text":s.value.emptyText,class:"jt-table"},s.value.tableProps,e.toHandlers(d.tableEvents)),{default:e.withCtx(()=>[s.value.selection?(e.openBlock(),e.createBlock(I,{key:0,type:"selection",width:"55",align:"center"})):e.createCommentVNode("",!0),s.value.index?(e.openBlock(),e.createBlock(I,{key:1,type:"index",label:s.value.indexLabel??"序号",width:"60",align:"center"},null,8,["label"])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(g.value,E=>(e.openBlock(),e.createBlock(I,e.mergeProps({key:E.prop,prop:E.prop,label:E.label,formatter:!u(E.prop)&&!E.dicData?E.formatter:void 0,ref_for:!0},b(E)),e.createSlots({_:2},[f(E.prop)?{name:"header",fn:e.withCtx(c=>[e.renderSlot(d.$slots,`${E.prop}-header`,e.mergeProps({ref_for:!0},c),void 0,!0)]),key:"0"}:void 0,V(E)?{name:"default",fn:e.withCtx(c=>[u(E.prop)?e.renderSlot(d.$slots,`${E.prop}-data`,e.mergeProps({key:0,ref_for:!0},c),void 0,!0):E.dicData?(e.openBlock(),e.createElementBlock("span",Qt,e.toDisplayString(p(E.dicData,c.row[E.prop])),1)):E.formatter?(e.openBlock(),e.createElementBlock("span",Xt,e.toDisplayString(E.formatter(c.row,c.column,c.row[E.prop],c.$index)),1)):(e.openBlock(),e.createElementBlock("span",eo,e.toDisplayString(c.row[E.prop]),1))]),key:"1"}:void 0]),1040,["prop","label","formatter"]))),128)),s.value.menu?(e.openBlock(),e.createBlock(I,{key:2,label:s.value.menuLabel??"操作",width:s.value.menuWidth,"min-width":s.value.menuMinWidth,align:s.value.menuAlign??"center",fixed:s.value.menuFixed},{default:e.withCtx(E=>[e.renderSlot(d.$slots,"menu",e.normalizeProps(e.guardReactiveProps(E)),void 0,!0)]),_:3},8,["label","width","min-width","align","fixed"])):e.createCommentVNode("",!0)]),_:3},16,["data","row-key","height","max-height","empty-text"])}}}),Xe=J(to,[["__scopeId","data-v-2f881a67"]]),oo={class:"jt-pagination"},no={class:"jt-pagination__count"},lo=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,l=e.computed(()=>n.option??{}),a=t;function s(g){a("current-change",g),a("page-change",g)}return(g,f)=>{const u=G.ElPagination;return e.openBlock(),e.createElementBlock("div",oo,[e.createVNode(u,{"current-page":g.currentPage,"page-size":g.pageSize,"page-sizes":l.value.pageSizes??[10,20,50,100],total:g.total,layout:l.value.paginationLayout??"sizes, prev, pager, next, jumper","onUpdate:currentPage":f[0]||(f[0]=b=>g.$emit("update:currentPage",b)),"onUpdate:pageSize":f[1]||(f[1]=b=>g.$emit("update:pageSize",b)),onCurrentChange:s,onSizeChange:f[2]||(f[2]=b=>g.$emit("size-change",b))},null,8,["current-page","page-size","page-sizes","total","layout"]),e.createElementVNode("span",no,"共"+e.toDisplayString(g.total)+"条记录",1)])}}}),et=J(lo,[["__scopeId","data-v-19ef6db6"]]),ao={class:"jt-crud-table"},ro={key:1,class:"jt-crud-table__toolbar"},so=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 l=o,a=n,s=e.useModel(o,"currentPage"),g=e.useModel(o,"pageSize"),f=e.useModel(o,"searchModel"),u=e.useSlots(),b=e.ref(),V=e.ref(),v=e.computed(()=>l.option),p=e.computed(()=>v.value.searchShow!==!1),d=e.computed(()=>v.value.paginationShow!==!1),y=e.computed(()=>l.columns.filter(w=>w.search&&!!u[`${w.prop}-search`])),I=e.computed(()=>l.columns.filter(w=>!w.hide&&!!u[`${w.prop}-header`])),F=e.computed(()=>l.columns.filter(w=>!w.hide&&!!u[`${w.prop}-data`]));function E(){const w={};return l.columns.forEach(k=>{k.search&&(w[k.prop]=void 0)}),w}function c(){a("search",{...f.value})}function h(){f.value=E(),a("reset")}function S(){V.value?.searchLoading()}function P(){V.value?.searchDone()}return t({tableRef:e.computed(()=>b.value?.tableRef),filterBarRef:V,searchLoading:S,searchDone:P}),(w,k)=>{const N=G.ElLoadingDirective;return e.openBlock(),e.createElementBlock("div",ao,[e.renderSlot(w.$slots,"header",{},void 0,!0),p.value?(e.openBlock(),e.createBlock(Qe,{key:0,ref_key:"filterBarRef",ref:V,modelValue:f.value,"onUpdate:modelValue":k[0]||(k[0]=_=>f.value=_),columns:w.columns,option:v.value,onSearch:c,onReset:h},e.createSlots({_:2},[e.renderList(y.value,_=>({name:`${_.prop}-search`,fn:e.withCtx(R=>[e.renderSlot(w.$slots,`${_.prop}-search`,e.normalizeProps(e.guardReactiveProps(R)),void 0,!0)])}))]),1032,["modelValue","columns","option"])):e.createCommentVNode("",!0),e.unref(u).toolbar?(e.openBlock(),e.createElementBlock("div",ro,[e.renderSlot(w.$slots,"toolbar",{},void 0,!0)])):e.createCommentVNode("",!0),e.withDirectives((e.openBlock(),e.createBlock(Xe,{ref_key:"jtTableRef",ref:b,data:w.data,columns:w.columns,option:v.value,"table-events":w.tableEvents},e.createSlots({_:2},[e.renderList(I.value,_=>({name:`${_.prop}-header`,fn:e.withCtx(R=>[e.renderSlot(w.$slots,`${_.prop}-header`,e.normalizeProps(e.guardReactiveProps(R)),void 0,!0)])})),e.renderList(F.value,_=>({name:`${_.prop}-data`,fn:e.withCtx(R=>[e.renderSlot(w.$slots,`${_.prop}-data`,e.normalizeProps(e.guardReactiveProps(R)),void 0,!0)])})),v.value.menu?{name:"menu",fn:e.withCtx(_=>[e.renderSlot(w.$slots,"menu",e.normalizeProps(e.guardReactiveProps(_)),void 0,!0)]),key:"0"}:void 0]),1032,["data","columns","option","table-events"])),[[N,v.value.loading]]),d.value?(e.openBlock(),e.createBlock(et,{key:2,"current-page":s.value,"onUpdate:currentPage":k[1]||(k[1]=_=>s.value=_),"page-size":g.value,"onUpdate:pageSize":k[2]||(k[2]=_=>g.value=_),total:w.total,option:v.value,onPageChange:k[3]||(k[3]=_=>w.$emit("page-change",_)),onSizeChange:k[4]||(k[4]=_=>w.$emit("size-change",_))},null,8,["current-page","page-size","total","option"])):e.createCommentVNode("",!0)])}}}),io=J(so,[["__scopeId","data-v-6df082c6"]]),co={class:"jt-page-header__title"},uo={key:0},po={key:0,class:"jt-page-header__operates"},fo=e.defineComponent({name:"JtPageHeader",__name:"index",props:{type:{default:"section"},title:{},operates:{default:()=>[]}},emits:["operate-click"],setup(o,{emit:t}){const n=o,l=t,a=e.useSlots(),s=e.computed(()=>n.operates.length>0||!!a.operates);function g(f,u){f.onClick?.(f,u),l("operate-click",f,u)}return(f,u)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps({class:["jt-page-header",`jt-page-header--${f.type}`]},f.$attrs),[e.createElementVNode("div",co,[e.renderSlot(f.$slots,"title",{},()=>[f.title?(e.openBlock(),e.createElementBlock("span",uo,e.toDisplayString(f.title),1)):e.createCommentVNode("",!0)],!0)]),s.value?(e.openBlock(),e.createElementBlock("div",po,[e.renderSlot(f.$slots,"operates",{operates:f.operates},()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.operates,b=>(e.openBlock(),e.createBlock(e.unref(ve),e.mergeProps({key:b.key??b.label,ref_for:!0},b.buttonProps,{type:b.type,disabled:b.disabled,loading:b.loading,plain:b.plain,text:b.text,link:b.link,icon:b.icon,onClick:V=>g(b,V)}),{default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(b.label),1)]),_:2},1040,["type","disabled","loading","plain","text","link","icon","onClick"]))),128))],!0)])):e.createCommentVNode("",!0)],16))}}),mo=J(fo,[["__scopeId","data-v-9fe9e823"]]);function tt(o=null){return{scheme:null,node:null,topNodes:[],treeNodes:[],activeNode:null,activeSection:null,sections:[],sectionMap:{},raw:o}}function Ve(o){const t=ct(o),n=it(t),l=Io(t).flatMap(a=>st(a,n));return{...tt(o),scheme:n,topNodes:l,treeNodes:l}}function Te(o,t,n){return o.map(l=>l.key===t||l.tagId===t||l.id===t?{...l,children:n,loaded:!0}:{...l,children:Te(l.children,t,n)})}function ot(o,t={},n=null){const l=ct(o),a=it(l,t),s=go(l,t,n),g=Object.fromEntries(s.map(f=>[f.key,f]));return{scheme:a,node:n,topNodes:[],treeNodes:[],activeNode:n,activeSection:s[0]??null,sections:s,sectionMap:g,raw:o}}function nt(o){return o.multRow||o.htmlDisplay==="T"?"table":"form"}function lt(o,t={}){return{...t,infSchmId:t.infSchmId??j(o.raw.infSchmId),emplid:t.emplid??j(o.raw.emplid),tagId:t.tagId??o.requestTagId??o.tagId,infSetId:t.infSetId??o.infSetId,setId:t.setId??o.setId,infSetFields:o.renderType==="table"?o.rows.map($e):[$e(o.model)],section:o}}function vo(o){const t=o;return!!(t&&typeof t=="object"&&typeof t.key=="string"&&typeof t.tagId=="string")}function at(o){const t=ut(o);return(Array.isArray(t)?t:he(O(t),["options","list","records","data"])).map(l=>{const a=O(l);return{id:a.id,code:a.code,label:T(a.label??a.name??a.descr??a.text??a.value??a.code),name:j(a.name),value:a.value??a.code??a.id??a.label??a.name,raw:l}})}function go(o,t,n){const l=he(o,["sections","sets","list"]);return l.length>0?l.map(a=>De(a,t,n,l.length===1)):o.infSetMark||o.infSetFields||o.fields?[De(o,t,n,!0)]:[]}function De(o,t,n,l){const a=O(o),s=ho(a.infSetMark??a),g=yo(a.infSetFields??a.fields??[]),f=ko(a.infSetValues??a.rows??a.data,g),u=f[0]?$e(f[0]):rt(g),b=O(a.tag),V=T(a.tagId??a.infTagId??b.tagId),v=T(t.tagId??n?.tagId),p=T(n?.key),d=l?t.infSetId??n?.infSetId:void 0,y=l?t.setId:void 0,I=l?n?.code:void 0,F=s.setId||T(a.setId),E=T(a.infSetId)||F||T(d),c=F||T(y??E),h=s.code||T(a.code??I??c),S=c||h||E||V,P={key:S,id:S,setId:c,code:h,tagId:V,requestTagId:v||void 0,ownerNodeKey:p||void 0,infSetId:E,title:s.name||T(a.name??n?.tagName??S),renderType:nt(s),mark:s,fields:g,model:u,rows:f,operationInfo:we(t.operationInfo??a.operationInfo),raw:a};return P.renderType==="form"&&f.length===0&&(P.rows=[{...u,__rowKey:`${S}-0`}]),P}function ho(o){const t=O(o),n=T(t.htmlDisplay||"F");return{name:T(t.name??t.title),parentName:j(t.parentName),value:j(t.value),type:j(t.type),code:T(t.code),setId:T(t.setId??t.id??t.key),htmlDisplay:n,multRow:Y(t.multRow),isRequired:Y(t.isRequired),raw:t}}function yo(o){return(Array.isArray(o)?o:[]).map((n,l)=>bo(n,l))}function bo(o,t){const n=O(o),l=T(n.code??n.fieldCode??n.prop??n.key??`field_${t}`),a=T(n.label??n.name??n.tagName??l);return{id:T(n.id??n.key??n.prop??l),key:T(n.key??n.prop??l),code:l,label:a,value:n.value??n.defaultValue??"",type:Co(n),fieldType:j(n.fieldType),renderType:Bo(n),required:Y(n.required??n.isRequired),readonly:Y(n.readonly??n.disabled),visible:n.visible===void 0?Y(n.visibled??!0):Y(n.visible),htmlDisplay:Y(n.htmlDisplay),multRow:Y(n.multRow),isRequired:Y(n.isRequired),disabled:n.disabled===void 0?void 0:Y(n.disabled),span:ft(n.span??n.colSpan),width:je(n.width),minWidth:je(n.minWidth),placeholder:j(n.placeholder),options:at(n.options),interface:dt(n.interface),cascadeClearFields:ze(n.cascadeClearFields),cascadeDependFields:ze(n.cascadeDependFields),props:Ne(n.props),formItemProps:Ne(n.formItemProps),raw:n}}function ko(o,t){if(Array.isArray(o)&&o.some(a=>{const s=O(a);return t.some(g=>s[g.code]!==void 0||s[g.key]!==void 0)}))return o.map((a,s)=>({...O(a),__rowKey:T(O(a).__rowKey??O(a).key??s)}));const n=rt(t);return Object.keys(n).length?[{...n,__rowKey:"0"}]:[]}function rt(o){return o.reduce((t,n)=>(t[n.code||n.key]=n.value,t),{})}function st(o,t,n=""){const l=O(o),a=he(l,["children","list","tags"]).flatMap(g=>st(g,t,T(l.tagId??l.id??l.key))),s=_o(l.infSetList);return a.length===0&&s.length>0?s.map((g,f)=>wo(l,g,t,n,f)):[So(l,t,n,a)]}function So(o,t,n,l){const a=T(o.tagId??o.id??o.key),s=T(o.tagName??o.name??o.label??a);return{key:T(o.key??a),id:a,tagId:a,tagName:s,label:s,tagLevel:j(o.tagLevel??o.level)??null,level:pt(o.tagLevel??o.level),parentTagId:j(o.parentTagId??o.parentId??n),parentId:j(o.parentTagId??o.parentId??n)??null,infSchmId:j(o.infSchmId??t?.infSchmId),schemeId:T(o.infSchmId??t?.infSchmId),infSetId:j(o.infSetId??o.setId),setId:j(o.setId),code:j(o.code),children:l,infSetList:[],operationInfo:we(o.operationInfo),loaded:l.length>0,raw:o}}function wo(o,t,n,l,a){const s=T(o.tagId??o.id??o.key),g=T(o.tagName??o.name??o.label??s),f=t.infSetId||T(t.setId),u=t.setId||f,b=f||`${s}-${a}`;return{key:b,id:b,tagId:s,tagName:g,label:g,tagLevel:j(o.tagLevel??o.level)??null,level:pt(o.tagLevel??o.level),parentTagId:j(o.parentTagId??o.parentId??l),parentId:j(o.parentTagId??o.parentId??l)??null,infSchmId:j(o.infSchmId??n?.infSchmId),schemeId:T(o.infSchmId??n?.infSchmId),infSetId:f,setId:u,code:j(o.code??f),children:[],infSetList:[t],operationInfo:we(o.operationInfo),loaded:!0,raw:{...o,infSetId:f,setId:u,infSetList:[t.raw]}}}function it(o,t={}){const n=O(o.globalInfoSchmMark??o.scheme??o),l=T(n.infSchmId??t.infSchmId),a=T(n.emplid??t.emplid);return!l&&!a&&Object.keys(n).length===0?null:{infSchmId:l,emplid:a,id:l,mark:T(n.globalInfoSchmMark??o.globalInfoSchmMark),config:Array.isArray(o.globalInfoSchmConfig)?"":T(n.globalInfoSchmConfig??o.globalInfoSchmConfig),raw:n}}function Io(o){if(Array.isArray(o.globalInfoSchmConfig))return o.globalInfoSchmConfig;const t=O(o.globalInfoSchmConfig),n=he(t,["children","tree","list","tags"]);return n.length?n:he(o,["children","tree","list","tags","records"])}function _o(o){return Array.isArray(o)?o.map(t=>{const n=O(t);return{infSetId:T(n.infSetId??n.setId??n.id),setId:j(n.setId),operationInfo:we(n.operationInfo),raw:n}}):[]}function ct(o){return O(ut(o))}function ut(o){const t=O(o);return t.data??t.result??o}function he(o,t){for(const n of t){const l=o[n];if(Array.isArray(l))return l}return[]}function $e(o){const t={...o};return delete t.__rowKey,delete t.fields,t}function dt(o){const t=O(o);if(!(!t.method&&!t.url&&!t.params))return{...t,method:j(t.method),url:j(t.url),params:Ne(t.params)}}function we(o){const t=O(o);if(Object.keys(t).length!==0)return Object.fromEntries(Object.entries(t).map(([n,l])=>[n,dt(l)??l]))}function ze(o){if(!Array.isArray(o))return;const t=o.map(n=>T(n)).filter(Boolean);return t.length?t:void 0}function Bo(o){if(Y(o.htmlDisplay))return"html";if(Y(o.multRow))return"multi-row";const t=T(o.renderType).toLowerCase();return t==="code"||t==="empty"?t:"text"}function Co(o){const t=T(o.fieldType??o.type??o.renderType).toLowerCase();return t.includes("date")?"date":t.includes("select")||t.includes("enum")?"select":t.includes("number")||t.includes("int")?"number":t.includes("bool")||t.includes("switch")?"switch":t.includes("file")||t.includes("upload")||t.includes("attachment")?"file":t.includes("textarea")||t.includes("text_area")?"textarea":"text"}function Ne(o){const t=O(o);return Object.keys(t).length?t:void 0}function je(o){return typeof o=="string"||typeof o=="number"?o:void 0}function O(o){return o&&typeof o=="object"&&!Array.isArray(o)?o:{}}function T(o){return o==null?"":String(o).trim()}function j(o){return T(o)||void 0}function pt(o){const t=ft(o);return t===void 0?null:t}function ft(o){if(o==null||o==="")return;const t=Number(o);return Number.isFinite(t)?t:void 0}function Y(o){return typeof o=="string"?["true","1","y","yes","t","是"].includes(o.toLowerCase()):!!o}const te=o=>o.key||o.code,W=o=>o.key||o.setId,ie=o=>new Error(`[GlobalInfo] ${o}`),ce=o=>o&&typeof o=="object"&&!Array.isArray(o)?o:{},ke=o=>{const t=ce(o);return!!(t.url||t.method||t.params)},Eo=o=>String(o??"").trim(),ye=o=>Array.from(new Set(o.map(Eo).filter(Boolean))),ge=o=>ye([o?.key,o?.id,o?.setId,o?.infSetId,o?.tagId,o?.code,...(o?.infSetList??[]).map(t=>t.infSetId),...(o?.infSetList??[]).map(t=>t.setId)]),Vo=o=>ye([o.key,o.id,o.setId,o.infSetId,o.tagId,o.code]),fe=(o={})=>({loading:!1,saving:!1,error:null,loaded:!1,editing:!1,...o}),me=o=>!!(o&&typeof o=="object"&&"children"in o),mt=(o,t,n)=>{const l=Vo(o),a=ye([n,...ge(t)]);return a.length===0?!1:a.some(s=>l.includes(s))},$o=(o,t,n)=>ye([n,...ge(t)]).length===0?o:o.filter(a=>mt(a,t,n)),vt=o=>{const t=e.ref(!1),n=e.ref(!1),l=e.ref(!1),a=e.shallowRef(null),s=e.shallowRef([]),g=e.shallowRef(null),f=e.shallowRef(null),u=e.shallowRef(null),b=e.shallowRef({}),V=e.shallowRef({}),v=e.ref([]),p=e.shallowRef({}),d=e.ref([]),y=e.computed(()=>{const i=v.value.map(m=>b.value[m]).filter(m=>!!m),r=Object.entries(b.value).filter(([m])=>!v.value.includes(m)).map(([,m])=>m);return[...i,...r]}),I=e.computed(()=>({loading:t.value,detailLoading:n.value,saving:l.value,editingSectionKeys:d.value,sectionMap:b.value,sectionStatusMap:Object.fromEntries(Object.entries(p.value).map(([i,r])=>[i,{...r,editing:d.value.includes(V.value[i]??i)}])),error:a.value})),F=()=>({adaptScene:o.adaptScene,emplid:o.emplid}),E=i=>({...F(),infSchmId:i.infSchmId,tagId:i.tagId,tagLevel:i.tagLevel,parentTagId:i.parentTagId}),c=(i=f.value,r=u.value)=>({...F(),infSchmId:i?.infSchmId,tagId:i?.tagId,infSetId:r?.infSetId??i?.infSetId,setId:r?.setId??i?.setId}),h=async(i,r)=>{if(!o.service.requestOperation)throw ie("service.requestOperation is required for operationInfo");return o.service.requestOperation(i,r)},S=(i,r={},m)=>{const C=ce(i.params),$=m?.cascadeDependFields??[];let L=0;return Object.fromEntries(Object.entries(C).map(([M,D])=>{if(D!=="")return[M,D];if(r[M]!==void 0)return[M,r[M]];const x=$[L];return L+=1,[M,x?r[x]??"":D]}))},P=i=>{const m=ce(i.operationInfo).openTag;return ke(m)?m:void 0},w=(i,r,m)=>{const C=ce(i?.operationInfo).queryInfoSet;if(ke(C))return C;const $=r?.infSetList.find(M=>M.infSetId===m),L=ce($?.operationInfo).queryInfoSet;return ke(L)?L:void 0},k=i=>{const r=ce(i.operationInfo).editInfoSet;return ke(r)?r:void 0},N=(i,r)=>{if(!r)return i[0]??null;for(const m of i){if(ge(m).includes(r))return m;const C=N(m.children,r);if(C)return C}return null},_=(i=u.value)=>{if(i)return typeof i=="string"?i:me(i)?Z(i):W(i)},R=(i=u.value)=>{const r=_(i);if(!r)return null;const m=V.value[r]??r;return b.value[m]??null},K=(i=u.value)=>{const r=_(i);if(r)return V.value[r]??r},Z=(i=u.value)=>{if(i)return typeof i=="string"?i:me(i)?i.setId??i.infSetId??i.key:W(i)},ae=(i=u.value)=>{if(me(i))return i;if(typeof i=="string"){const r=N(s.value,i);if(r)return r;const m=R(i);return m?.ownerNodeKey?N(s.value,m.ownerNodeKey)??f.value:m||f.value&&ge(f.value).includes(i)?f.value:null}return i?.ownerNodeKey?N(s.value,i.ownerNodeKey)??f.value:f.value},re=(i=u.value)=>!i||me(i)?null:R(i),de=(i=u.value)=>{const r=Z(i);if(!r)return fe();const m=V.value[r]??r;return fe({...p.value[r],...p.value[m],editing:d.value.includes(m)})},H=(i,r)=>{const m=Z(i);m&&(p.value={...p.value,[m]:fe({...p.value[m],...r,editing:d.value.includes(m)})})},oe=(i=g.value?.raw??null,r=f.value)=>{const m=y.value,C=u.value&&m.find($=>W($)===W(u.value))?u.value:null;g.value={scheme:g.value?.scheme??null,node:r,topNodes:s.value,treeNodes:s.value,activeNode:r,activeSection:C,sections:m,sectionMap:b.value,raw:i},u.value=C},Ie=(i,r=f.value,m)=>{const C={...b.value},$={...V.value},L=[...v.value],M={...p.value},D=$o(i.sections,r,m),x=ye([m,...ge(r)]).length>0,q=D.find(ee=>mt(ee,r,m))??(x?null:i.activeSection??D[0]??u.value??null);return D.forEach(ee=>{const X=W(ee);C[X]=ee,L.includes(X)||L.push(X),M[X]=fe({...M[X],loaded:!0,loading:!1,error:null,editing:d.value.includes(X)})}),m&&q?$[m]=W(q):m&&($[m]=""),m&&(M[m]=fe({...M[m],loaded:!0,loading:!1,error:null,editing:!!(q&&d.value.includes(W(q)))})),b.value=C,V.value=$,v.value=L,p.value=M,g.value={...i,scheme:i.scheme??g.value?.scheme??null,topNodes:s.value,treeNodes:s.value,activeNode:r,activeSection:q,sections:D,sectionMap:b.value},u.value=q,q},ne=(i,r)=>{const m=K(i),C=m?b.value[m]:null;if(!m||!C)return;const $=r(C);b.value={...b.value,[m]:$},u.value=W(u.value??$)===m?$:u.value,oe()},se=async(i=u.value??f.value)=>{const r=re(i),m=ae(i)??f.value,C=Z(i);if(!m)return null;if(!o.service.requestOperation)throw ie("service.requestOperation is required");n.value=!0,a.value=null,H(C??m,{loading:!0,error:null});try{const $=r?[{infSetId:r.infSetId,setId:r.setId,operationInfo:r.operationInfo,raw:r.raw}]:m.infSetList;if($.length===0)throw ie("node.infSetList is required");const L=await Promise.all($.map(async D=>{const x=w(r,m,D.infSetId),q={...c(m,r),infSetId:D.infSetId,setId:D.setId,operationInfo:D.operationInfo};if(x){const ee=await h(x,{type:"queryInfoSet",node:m,section:r,params:q});return ot(ee,q,m)}throw ie("infoSet.operationInfo.queryInfoSet is required")})),M={...L[0],sections:L.flatMap(D=>D.sections),sectionMap:Object.fromEntries(L.flatMap(D=>D.sections).map(D=>[D.key,D]))};return Ie(M,m,C)}catch($){throw a.value=$,H(C??m,{loading:!1,error:$}),$}finally{n.value=!1,H(C??m,{loading:!1})}},pe=(i=u.value)=>se(i),B=(i=u.value)=>{if(!i)return null;if(!me(i)&&typeof i!="string")return R(i);const r=Z(i);return r?b.value[V.value[r]??r]??null:null},z=async(i=f.value)=>i?(await se(i),g.value):(g.value=null,u.value=null,b.value={},V.value={},v.value=[],p.value={},null),A=async i=>{const r=P(i);if(!r)return i.children;const m=E(i),C=await h(r,{type:"openTag",node:i,params:m});return Ve(C).treeNodes},le=async i=>{if(i.loaded)return i.children;const r=await A(i);return r.length>0&&(s.value=Te(s.value,i.key,r)),r},_e=async i=>{const r=typeof i=="string"?N(s.value,i):i;return r?(f.value=r,u.value=null,d.value=[],await le(r),oe(g.value?.raw,r),r):null},Be=async()=>{const i=o.service.templateTree;if(!i)throw ie("service.templateTree is required");t.value=!0,a.value=null;try{const r=await i(F()),m=Ve(r),C=await Promise.all(m.treeNodes.map(async L=>{const M=await A(L);return{...L,children:M,loaded:M.length>0||L.loaded}}));s.value=C,u.value=null,b.value={},V.value={},v.value=[],p.value={},d.value=[];const $=N(C,o.initialActiveNodeKey)??N(C);return f.value=$,g.value={...m,treeNodes:C,activeNode:$,sectionMap:b.value,sections:y.value},s.value}catch(r){throw a.value=r,r}finally{t.value=!1}},Et=async()=>{const i=_();await pe(u.value??f.value);const r=y.value.find(m=>W(m)===i);return r&&(u.value=r),oe(),g.value},Le=(i=u.value)=>{const r=K(i);return!!(r&&d.value.includes(r))},Vt=(i=u.value)=>{const r=K(i);!r||Le(r)||(d.value=[...d.value,r],H(r,{editing:!0}))},Ge=(i=u.value)=>{const r=K(i);r&&(d.value=d.value.filter(m=>m!==r),H(r,{editing:!1}))},$t=(i,r,m)=>{const C=typeof r=="string"?r:te(r);ne(i,$=>{const M=(typeof r=="string"?$.fields.find(x=>te(x)===C||x.code===C):r)?.cascadeClearFields??[],D={...$.model,[C]:m};return M.forEach(x=>{D[x]=""}),{...$,model:D,rows:$.renderType==="form"?[{...$.rows[0],...D}]:$.rows,fields:$.fields.map(x=>{const q=te(x);return q===C||x.code===C?{...x,value:m}:M.includes(q)||M.includes(x.code)?{...x,value:""}:x})}})},Nt=async(i,r,m={})=>{const C=R(i);if(!C)return[];const $=Object.keys(m).length>0?m:C.model,L=typeof r=="string"?r:te(r),M=typeof r=="string"?C.fields.find(Q=>te(Q)===L||Q.code===L):r,D=M?.interface;if(!M||!D)return M?.options??[];if((M.cascadeDependFields??[]).some(Q=>{const U=$[Q];return U==null||U===""}))return ne(C,Q=>({...Q,fields:Q.fields.map(U=>te(U)===L||U.code===L?{...U,options:[]}:U)})),[];const q=S(D,$,M),ee=await h({...D,params:q},{type:"fieldOptions",node:ae(C),section:C,field:M,params:q}),X=at(ee);return ne(C,Q=>({...Q,fields:Q.fields.map(U=>te(U)===L||U.code===L?{...U,options:X}:U)})),X},Pt=(i,r)=>{if(Array.isArray(r)){be(i,r);return}ne(i,m=>({...m,model:r,rows:m.renderType==="form"?[{...m.rows[0],...r}]:m.rows,fields:m.fields.map(C=>({...C,value:r[te(C)]}))}))},be=(i,r)=>{ne(i,m=>({...m,rows:r,data:r}))},Tt={loadTree:Be,selectNode:_e,loadDetail:z,reloadActiveSection:Et,loadSection:se,reloadSection:pe,getSection:B,getSectionStatus:de,startEdit:Vt,cancelEdit:Ge,updateField:$t,loadFieldOptions:Nt,updateModel:Pt,updateTableRows:be,saveRow:(i,r={},m=-1)=>{const $=[...R(i)?.rows??[]];$.splice(m>=0?m:$.length,m>=0?1:0,r),be(i,$)},deleteRow:(i,r)=>{const m=R(i),C=typeof r=="string"?Number(r):r,$=(m?.rows??[]).filter((L,M)=>M!==C);be(i,$)},saveSection:async(i=u.value)=>{const r=_(i),m=R(i);if(!m)return null;const C=k(m);if(!C)throw ie("section.operationInfo.editInfoSet is required");l.value=!0,a.value=null,r&&r!==W(m)&&H(r,{saving:!0,error:null}),H(m,{saving:!0,error:null});try{const $=c(f.value,m),L=lt(m,$),M=await h({...C,params:{...S(C,m.model),...L}},{type:"editInfoSet",node:f.value,section:m,params:L});return Ge(m),await pe(m),M}catch($){throw a.value=$,r&&r!==W(m)&&H(r,{saving:!1,error:$}),H(m,{saving:!1,error:$}),$}finally{l.value=!1,r&&r!==W(m)&&H(r,{saving:!1}),H(m,{saving:!1})}},isEditing:Le};return e.watch(()=>o.emplid,()=>{(o.autoLoad??!0)&&Be()}),e.onMounted(()=>{(o.autoLoad??!0)&&Be()}),{viewModel:g,nodes:s,sections:y,sectionMap:b,sectionStatusMap:p,activeNode:f,activeSection:u,state:I,actions:Tt}},No=e.defineComponent({name:"GlobalInfoProvider",__name:"GlobalInfoProvider",props:{service:{},adaptScene:{},emplid:{},autoLoad:{type:Boolean,default:!0},initialActiveNodeKey:{}},setup(o){const n=vt(o),{viewModel:l,nodes:a,sections:s,activeNode:g,activeSection:f,state:u,actions:b}=n;return(V,v)=>e.renderSlot(V.$slots,"default",e.normalizeProps(e.guardReactiveProps({viewModel:e.unref(l),nodes:e.unref(a),sections:e.unref(s),activeNode:e.unref(g),activeSection:e.unref(f),state:e.unref(u),actions:e.unref(b)})))}});function Po(o){return xe(o.type||o.fieldType)||xe(o.renderType)||"text"}function gt(o){return Ae(o.type||o.fieldType)||Ae(o.renderType)||"text"}function Fe(o){return o==null||o===""||Array.isArray(o)&&o.length===0}function ht(o){if(o instanceof Error)return!0;if(!o||typeof o!="object")return!1;const t=o;return typeof t.message=="string"&&(typeof t.stack=="string"||t.name==="Error")}function yt(o,t,n="-"){const l=gt(o);return l==="empty"||Fe(t)?n:ht(t)?(console.error("[globalInfo] field value render failed",t),n):l==="select"?To(o,t,n):l==="switch"?bt(t)?"是":"否":l==="file"?Fo(t,n):l==="multi-row"?Mo(t):String(t)}function bt(o){if(typeof o=="boolean")return o;if(typeof o=="number")return o!==0;const t=String(o??"").trim().toLowerCase();return["true","1","y","yes","t","是"].includes(t)}function xe(o){const t=String(o??"").toLowerCase();return t==="upload"||t==="attachment"?"file":t==="text"||t==="textarea"||t==="select"||t==="date"||t==="number"||t==="switch"||t==="file"||t==="html"||t==="code"||t==="multi-row"||t==="empty"?t:""}function Ae(o){const t=String(o??"").toLowerCase();return t==="upload"||t==="attachment"?"file":t==="select"||t==="switch"||t==="file"||t==="html"||t==="code"||t==="multi-row"||t==="empty"?t:t==="textarea"||t==="date"||t==="number"||t==="text"?"text":""}function To(o,t,n){if(Array.isArray(t)){const l=t.map(a=>Oe(o,a)||String(a??"").trim()).filter(Boolean);return l.length>0?l.join("、"):n}return Oe(o,t)||String(t)}function Oe(o,t){return o.options?.find(l=>l.value===t||String(l.value)===String(t))?.label??""}function Fo(o,t){if(Array.isArray(o)){const n=o.map(l=>Je(l)).filter(Boolean);return n.length>0?n.join("、"):t}return Je(o)||t}function Je(o){if(typeof File<"u"&&o instanceof File)return o.name;if(o&&typeof o=="object"){const t=o;return String(t.name??t.fileName??t.filename??t.url??"").trim()}return String(o??"").trim()}function Mo(o){return Array.isArray(o)?o.map(t=>ht(t)?(console.error("[globalInfo] multi-row field item render failed",t),""):t&&typeof t=="object"?JSON.stringify(t):String(t)).filter(Boolean).join(`
3
- `):String(o)}const Ro=["disabled","accept","multiple"],Lo={key:0,class:"global-info-field-control__file-text"},Go={key:1,class:"global-info-field-control__file-upload"},Do=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,l=t,a=["textarea","html","code","multi-row"],s=e.computed(()=>Po(n.field)),g=e.computed(()=>n.disabled||n.field.disabled||n.field.readonly),f=e.computed(()=>n.modelValue===void 0||n.modelValue===null?"":String(n.modelValue)),u=e.computed(()=>{if(n.modelValue===void 0||n.modelValue===null||n.modelValue==="")return;const c=typeof n.modelValue=="number"?n.modelValue:Number(n.modelValue);return Number.isFinite(c)?c:void 0}),b=e.computed(()=>{const c=n.field.props?.activeValue??n.field.props?.["active-value"],h=n.field.props?.inactiveValue??n.field.props?.["inactive-value"];return c!==void 0||h!==void 0?n.modelValue??h??!1:bt(n.modelValue)}),V=e.computed(()=>s.value==="code"?5:3),v=e.computed(()=>s.value==="file"&&!Fe(n.modelValue)),p=e.computed(()=>yt(n.field,n.modelValue,"请选择文件")),d=e.computed(()=>n.field.placeholder?n.field.placeholder:s.value==="select"?"请选择":s.value==="date"?"请选择日期":s.value==="file"?"请选择文件":"请输入");function y(c){l("update:modelValue",c)}function I(c){l("change",c)}function F(c){c&&l("loadOptions")}function E(c){const h=c.target,S=Array.from(h.files??[]),P=n.field.props?.multiple?S:S[0]??null;y(P),I(P)}return(c,h)=>{const S=G.ElOption,P=G.ElSelect,w=G.ElDatePicker,k=G.ElInputNumber,N=G.ElSwitch,_=G.ElInput;return s.value==="select"?(e.openBlock(),e.createBlock(P,e.mergeProps({key:0,class:"global-info-field-control"},c.field.props,{"model-value":c.modelValue,placeholder:d.value,disabled:g.value,clearable:"",onVisibleChange:F,"onUpdate:modelValue":y,onChange:I}),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.field.options||[],R=>(e.openBlock(),e.createBlock(S,{key:String(R.value),label:R.label,value:R.value},null,8,["label","value"]))),128))]),_:1},16,["model-value","placeholder","disabled"])):s.value==="date"?(e.openBlock(),e.createBlock(w,e.mergeProps({key:1,class:"global-info-field-control"},c.field.props,{"model-value":c.modelValue,placeholder:d.value,disabled:g.value,type:"date","value-format":"YYYY-MM-DD","onUpdate:modelValue":y,onChange:I}),null,16,["model-value","placeholder","disabled"])):s.value==="number"?(e.openBlock(),e.createBlock(k,e.mergeProps({key:2,class:"global-info-field-control"},c.field.props,{"model-value":u.value,placeholder:d.value,disabled:g.value,"controls-position":"right","onUpdate:modelValue":y,onChange:I}),null,16,["model-value","placeholder","disabled"])):s.value==="switch"?(e.openBlock(),e.createBlock(N,e.mergeProps({key:3,class:"global-info-field-control global-info-field-control--switch"},c.field.props,{"model-value":b.value,disabled:g.value,"onUpdate:modelValue":y,onChange:I}),null,16,["model-value","disabled"])):s.value==="file"?(e.openBlock(),e.createElementBlock("label",{key:4,class:e.normalizeClass(["global-info-field-control global-info-field-control--file",{"is-disabled":g.value,"is-empty":!v.value,"is-filled":v.value}])},[e.createElementVNode("input",{class:"global-info-field-control__file-input",type:"file",disabled:g.value,accept:String(c.field.props?.accept??""),multiple:!!c.field.props?.multiple,onChange:E},null,40,Ro),v.value?(e.openBlock(),e.createElementBlock("span",Lo,e.toDisplayString(p.value),1)):(e.openBlock(),e.createElementBlock("span",Go,"上 传"))],2)):s.value==="empty"?(e.openBlock(),e.createBlock(_,{key:5,class:"global-info-field-control","model-value":"",disabled:"",placeholder:"-"})):(e.openBlock(),e.createBlock(_,e.mergeProps({key:6,class:["global-info-field-control",{"global-info-field-control--code":s.value==="code"}]},c.field.props,{"model-value":f.value,placeholder:d.value,disabled:g.value,type:a.includes(s.value)?"textarea":"text",rows:a.includes(s.value)?V.value:void 0,"onUpdate:modelValue":y,onChange:I}),null,16,["class","model-value","placeholder","disabled","type","rows"]))}}}),Me=J(Do,[["__scopeId","data-v-ba86a0ae"]]),zo=["innerHTML"],jo={key:1,class:"global-info-field-value global-info-field-value--code"},xo=e.defineComponent({name:"GlobalInfoFieldValue",__name:"GlobalInfoFieldValue",props:{field:{},value:{},emptyText:{default:"-"}},setup(o){const t=o,n=e.computed(()=>gt(t.field)),l=e.computed(()=>n.value==="empty"||Fe(t.value)),a=e.computed(()=>yt(t.field,t.value,t.emptyText));return(s,g)=>n.value==="html"&&!l.value?(e.openBlock(),e.createElementBlock("span",{key:0,class:"global-info-field-value global-info-field-value--html",innerHTML:a.value},null,8,zo)):n.value==="code"&&!l.value?(e.openBlock(),e.createElementBlock("pre",jo,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"&&!l.value}])},e.toDisplayString(a.value),3))}}),Re=J(xo,[["__scopeId","data-v-aa0d493d"]]),Ao={class:"global-info-form-renderer__label"},Oo={key:0,class:"global-info-form-renderer__required"},Jo=e.defineComponent({name:"GlobalInfoFormRenderer",__name:"GlobalInfoFormRenderer",props:{section:{},node:{},editing:{type:Boolean},state:{},actions:{},model:{},onUpdateModel:{type:Function}},setup(o){const t=o,n=e.useSlots(),l=e.computed(()=>t.section.fields.filter(p=>p.visible)),a=e.computed(()=>t.model??t.section.model);function s(p,d){const y={...a.value,[p.code]:d};(p.cascadeClearFields??[]).forEach(I=>{y[I]=""}),t.onUpdateModel?.(y),t.onUpdateModel||t.actions.updateField(t.section,p,d)}async function g(p){try{await t.actions.loadFieldOptions(t.section,p,a.value)}catch(d){console.error("[GlobalInfoFormRenderer] load field options failed",d)}}function f(p){const d=a.value[p.code];return{field:p,section:t.section,sectionView:t.section,node:t.node,editing:t.editing,modelValue:d,value:d,state:t.state,actions:t.actions,updateModelValue:y=>s(p,y)}}function u(p){const d=String(p.id||p.key||p.code||"").trim(),y=d?`field-${d}`:"";if(y&&n[y])return y;const I=y.toLowerCase();return I!==y&&n[I]?I:""}function b(p){return p.span?Math.min(Math.max(p.span,1),24):6}function V(p){return p.key||p.id||p.code}function v(p){return p.required||p.isRequired}return(p,d)=>{const y=G.ElFormItem,I=G.ElCol,F=G.ElRow,E=G.ElForm;return e.openBlock(),e.createBlock(E,{class:"global-info-form-renderer",model:a.value,"label-position":"top"},{default:e.withCtx(()=>[e.createVNode(F,{gutter:24},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,c=>(e.openBlock(),e.createBlock(I,{key:V(c),span:b(c)},{default:e.withCtx(()=>[e.createVNode(y,e.mergeProps({prop:c.code,ref_for:!0},c.formItemProps),{label:e.withCtx(()=>[e.createElementVNode("span",Ao,[v(c)?(e.openBlock(),e.createElementBlock("span",Oo,"*")):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(c.label),1)])]),default:e.withCtx(()=>[u(c)?e.renderSlot(p.$slots,u(c),e.mergeProps({key:0,ref_for:!0},f(c)),void 0,!0):p.editing&&!c.readonly?(e.openBlock(),e.createBlock(Me,{key:1,field:c,"model-value":a.value[c.code],section:p.section,onLoadOptions:()=>g(c),"onUpdate:modelValue":h=>s(c,h)},null,8,["field","model-value","section","onLoadOptions","onUpdate:modelValue"])):(e.openBlock(),e.createBlock(Re,{key:2,field:c,value:a.value[c.code],section:p.section},null,8,["field","value","section"]))]),_:2},1040,["prop"])]),_:2},1032,["span"]))),128))]),_:3})]),_:3},8,["model"])}}}),kt=J(Jo,[["__scopeId","data-v-9dcd2ba9"]]),St=e.defineComponent({name:"GlobalInfoDeleteConfirm",__name:"GlobalInfoDeleteConfirm",props:{title:{default:"确认删除吗?"},confirmText:{default:"确认"},cancelText:{default:"取消"}},emits:["confirm","cancel"],setup(o){return(t,n)=>{const l=G.ElPopconfirm;return e.openBlock(),e.createBlock(l,{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"])}}}),qo={class:"global-info-table-renderer"},Ko={class:"global-info-table-renderer__table-scroll"},Ho={class:"global-info-table-renderer__header"},Uo={key:0,class:"global-info-table-renderer__required"},Wo=e.defineComponent({name:"GlobalInfoTableRenderer",__name:"GlobalInfoTableRenderer",props:{section:{},node:{},editing:{type:Boolean},state:{},actions:{},showAdd:{type:Boolean,default:!0},showDelete:{type:Boolean,default:!0}},setup(o){const t=o,n=e.useSlots(),l=e.computed(()=>t.section.fields.filter(c=>c.visible));function a(c){t.actions.deleteRow(t.section,c)}function s(c,h,S,P){const w=t.section.rows.slice(),k=S.cascadeClearFields??[],N={...c,__rowKey:F(c),[S.code]:P};k.forEach(_=>{N[_]=""}),w[h]={...N},t.actions.updateTableRows(t.section,w)}async function g(c,h){try{await t.actions.loadFieldOptions(t.section,c,h)}catch(S){console.error("[GlobalInfoTableRenderer] load field options failed",S)}}function f(c,h,S){const P=h[c.code];return{field:c,section:t.section,sectionView:t.section,node:t.node,row:h,rowIndex:S,editing:t.editing,modelValue:P,value:P,state:t.state,actions:t.actions,updateModelValue:w=>s(h,S,c,w)}}function u(c){const h=String(c.id||c.key||c.code||"").trim(),S=h?`field-${h}`:"";if(S&&n[S])return S;const P=S.toLowerCase();return P!==S&&n[P]?P:""}function b(c){return!c.readonly&&!c.disabled}function V(c){return c.width??(d(c)?56:void 0)}function v(c){if(!c.width)return c.minWidth??(d(c)?56:void 0)}function p(c){return c.key||c.id||c.code}function d(c){return[c.label,c.name,c.code,c.key,c.id].map(S=>String(S??"").trim().toLowerCase()).some(S=>["序号","index","idx","seq","serial","order","rownum","row_no"].includes(S))}let y=0;const I=new WeakMap;function F(c){const h=c.__rowKey??c.key??c.id??c.setId??c.infSetId;if(h!=null&&h!=="")return String(h);const S=c,P=I.get(S);if(P)return P;y+=1;const w=`local-${y}`;return I.set(S,w),w}function E(c){return c.required||c.isRequired}return(c,h)=>{const S=G.ElTableColumn,P=e.resolveComponent("Delete"),w=G.ElIcon,k=G.ElButton,N=G.ElTable;return e.openBlock(),e.createElementBlock("div",qo,[e.createElementVNode("div",Ko,[e.createVNode(N,{class:"global-info-table-renderer__table",data:c.section.rows,"row-key":F},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,_=>(e.openBlock(),e.createBlock(S,{key:p(_),prop:_.code,label:_.label,width:V(_),"min-width":v(_)},{header:e.withCtx(()=>[e.createElementVNode("span",Ho,[E(_)?(e.openBlock(),e.createElementBlock("span",Uo,"*")):e.createCommentVNode("",!0),e.createElementVNode("span",null,e.toDisplayString(_.label),1)])]),default:e.withCtx(({row:R,$index:K})=>[u(_)?e.renderSlot(c.$slots,u(_),e.mergeProps({key:0,ref_for:!0},f(_,R,K)),void 0,!0):c.editing&&b(_)?(e.openBlock(),e.createBlock(Me,{key:1,field:_,"model-value":R[_.code],section:c.section,row:R,"row-index":K,onLoadOptions:()=>g(_,R),"onUpdate:modelValue":Z=>s(R,K,_,Z)},null,8,["field","model-value","section","row","row-index","onLoadOptions","onUpdate:modelValue"])):(e.openBlock(),e.createBlock(Re,{key:2,field:_,value:R[_.code],section:c.section,row:R,"row-index":K},null,8,["field","value","section","row","row-index"]))]),_:2},1032,["prop","label","width","min-width"]))),128)),c.editing?(e.openBlock(),e.createBlock(S,{key:0,label:"操作",width:"104",fixed:"right"},{default:e.withCtx(({$index:_})=>[c.showDelete?(e.openBlock(),e.createBlock(St,{key:0,onConfirm:R=>a(_)},{default:e.withCtx(()=>[e.createVNode(k,{class:"global-info-table-renderer__delete",link:"",type:"danger"},{default:e.withCtx(()=>[e.createVNode(w,{class:"global-info-table-renderer__delete-icon"},{default:e.withCtx(()=>[e.createVNode(P)]),_:1}),h[0]||(h[0]=e.createTextVNode(" 删除 "))]),_:1})]),_:2},1032,["onConfirm"])):e.createCommentVNode("",!0)]),_:1})):e.createCommentVNode("",!0)]),_:3},8,["data"])])])}}}),wt=J(Wo,[["__scopeId","data-v-2fa29438"]]),It=e.defineComponent({name:"GlobalInfoAutoRenderer",__name:"GlobalInfoAutoRenderer",props:{section:{},node:{},editing:{type:Boolean},state:{},actions:{}},setup(o){return(t,n)=>t.section.renderType==="table"?(e.openBlock(),e.createBlock(wt,{key:0,section:t.section,node:t.node,editing:t.editing,state:t.state,actions:t.actions},null,8,["section","node","editing","state","actions"])):(e.openBlock(),e.createBlock(kt,{key:1,section:t.section,node:t.node,editing:t.editing,state:t.state,actions:t.actions},null,8,["section","node","editing","state","actions"]))}}),_t=e.defineComponent({name:"GlobalInfoSectionOutlet",__name:"GlobalInfoSectionOutlet",props:{section:{},node:{},editing:{type:Boolean},state:{},actions:{}},setup(o){const t=o,n=e.useSlots(),l=e.computed(()=>t.editing??t.actions.isEditing(t.section)),a=e.computed(()=>t.section.renderType==="table"?t.section.rows.length===0:t.section.fields.length===0),s=e.computed(()=>{const u=g(t.section.id||t.section.key),b=f(t.section.renderType);return[u,b,"default"].find(V=>!!(V&&n[V]))??""});function g(u){const b=String(u??"").trim();return b?`section-${b}`:""}function f(u){return u==="form"||u==="table"?u:""}return(u,b)=>s.value?e.renderSlot(u.$slots,s.value,{key:0,section:u.section,sectionView:u.section,node:u.node,editing:l.value,isEmpty:a.value,empty:a.value,fields:u.section.fields,state:u.state,actions:u.actions}):(e.openBlock(),e.createBlock(It,{key:1,section:u.section,node:u.node,editing:l.value,state:u.state,actions:u.actions},null,8,["section","node","editing","state","actions"]))}}),Yo=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 l=e.ref(!1);e.watch(()=>o.boundaryKey,()=>{l.value=!1}),e.onErrorCaptured(s=>(a(s),!1));function a(s){l.value=!0,console.error(`[GlobalInfoSlotErrorBoundary] ${o.label||"section"} slot render failed`,s),t("error",s)}return()=>{if(l.value)return n.fallback?.()??null;try{return n.default?.()??null}catch(s){return a(s),n.fallback?.()??null}}}}),Zo={class:"global-info-section-block"},Qo={key:0,class:"global-info-section-block__header"},Xo={class:"global-info-section-block__title-wrap"},en={class:"global-info-section-block__title"},tn={key:0,class:"global-info-section-block__actions"},on={class:"global-info-section-block__body"},nn=e.defineComponent({name:"GlobalInfoSectionBlock",__name:"GlobalInfoSectionBlock",props:{node:{},state:{},actions:{},hideHeader:{type:Boolean},onEdit:{type:Function},onCancel:{type:Function},onSave:{type:Function}},setup(o){const t=o,n=e.useSlots(),l=e.ref(!1),a=e.ref(null),s=e.ref(null),g=e.computed(()=>!!t.hideHeader),f=e.computed(()=>t.actions.getSectionStatus(t.node)),u=e.computed(()=>t.actions.getSection(t.node)??s.value),b=e.computed(()=>u.value?.title||t.node.tagName||t.node.label||"-"),V=e.computed(()=>!!(u.value&&t.actions.isEditing(u.value))),v=e.computed(()=>u.value?.renderType==="table"),p=e.computed(()=>l.value||f.value.loading),d=e.computed(()=>F(a.value||f.value.error)),y=e.computed(()=>{const k=u.value;return k?k.renderType==="table"?k.rows.length===0:k.fields.length===0:!0}),I=e.computed(()=>({node:t.node,section:u.value,sectionView:u.value,fields:u.value?.fields??[],title:b.value,editing:V.value,loading:p.value,error:a.value||f.value.error,errorMessage:d.value,isEmpty:y.value,empty:y.value,sectionStatus:f.value,state:t.state,actions:t.actions,reload:w,handleEdit:E,handleCancel:c,handleAddTableRow:h,handleSave:S}));function F(k){return k?k instanceof Error?k.message:String(k):""}async function E(){const k=u.value;k&&(await t.onEdit?.(k,t.node),t.onEdit||t.actions.startEdit(k))}async function c(){const k=u.value;k&&(await t.onCancel?.(k,t.node),t.onCancel||t.actions.cancelEdit(k))}function h(){const k=u.value;if(!k)return;const N=k.fields.reduce((_,R)=>(_[R.code]=R.value??"",_),{__rowKey:`new-${Date.now()}`});t.actions.saveRow(k,N,-1)}async function S(){const k=u.value;if(k)try{if(t.onSave){await t.onSave(k,t.node);return}await t.actions.saveSection(k)}catch(N){a.value=N,console.error("[GlobalInfoSectionBlock] save section failed",N)}}function P(k){a.value=k}async function w(){l.value=!0,a.value=null,s.value=null;try{s.value=await t.actions.loadSection(t.node)}catch(k){a.value=k,console.error("[GlobalInfoSectionBlock] load section failed",k)}finally{l.value=!1}}return e.onMounted(()=>{w()}),e.watch(()=>t.node.key,()=>{w()}),(k,N)=>{const _=G.ElButton;return e.openBlock(),e.createElementBlock("section",Zo,[g.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("header",Qo,[e.renderSlot(k.$slots,"header",e.normalizeProps(e.guardReactiveProps(I.value)),()=>[e.createElementVNode("div",Xo,[N[0]||(N[0]=e.createElementVNode("span",{class:"global-info-section-block__marker"},null,-1)),e.createElementVNode("h3",en,e.toDisplayString(b.value),1)]),e.renderSlot(k.$slots,"actions",e.normalizeProps(e.guardReactiveProps(I.value)),()=>[u.value?(e.openBlock(),e.createElementBlock("div",tn,[V.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createVNode(_,{class:"global-info-section-block__cancel",link:"",disabled:f.value.saving,onClick:c},{default:e.withCtx(()=>N[2]||(N[2]=[e.createTextVNode(" 取消 ")])),_:1},8,["disabled"]),v.value?(e.openBlock(),e.createBlock(_,{key:0,class:"global-info-section-block__add",link:"",disabled:f.value.saving,onClick:h},{default:e.withCtx(()=>N[3]||(N[3]=[e.createTextVNode(" 新增 ")])),_:1},8,["disabled"])):e.createCommentVNode("",!0),e.createVNode(_,{class:"global-info-section-block__confirm",link:"",type:"primary",loading:f.value.saving,onClick:S},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(v.value?"确认":"保存"),1)]),_:1},8,["loading"])],64)):(e.openBlock(),e.createBlock(_,{key:0,class:"global-info-section-block__edit",link:"",type:"primary",disabled:f.value.saving||p.value,onClick:E},{default:e.withCtx(()=>N[1]||(N[1]=[e.createTextVNode(" 编辑 ")])),_:1},8,["disabled"]))])):e.createCommentVNode("",!0)],!0)],!0)])),e.createElementVNode("div",on,[p.value?e.renderSlot(k.$slots,"loading",e.normalizeProps(e.mergeProps({key:0},I.value)),()=>[N[4]||(N[4]=e.createElementVNode("div",{class:"global-info-section-block__status"},"加载中...",-1))],!0):!u.value||y.value||d.value?e.renderSlot(k.$slots,"empty",e.normalizeProps(e.mergeProps({key:1},I.value)),()=>[N[5]||(N[5]=e.createElementVNode("div",{class:"global-info-section-block__status"},"暂无数据",-1))],!0):(e.openBlock(),e.createBlock(Yo,{key:2,"boundary-key":k.node.key,label:b.value,onError:P},{fallback:e.withCtx(()=>[e.renderSlot(k.$slots,"empty",e.normalizeProps(e.guardReactiveProps(I.value)),()=>[N[6]||(N[6]=e.createElementVNode("div",{class:"global-info-section-block__status"},"暂无数据",-1))],!0)]),default:e.withCtx(()=>[e.createVNode(_t,{section:u.value,node:k.node,editing:V.value,state:k.state,actions:k.actions},e.createSlots({_:2},[e.renderList(e.unref(n),(R,K)=>({name:K,fn:e.withCtx(Z=>[e.renderSlot(k.$slots,K,e.normalizeProps(e.guardReactiveProps({...I.value,...Z})),void 0,!0)])}))]),1032,["section","node","editing","state","actions"])]),_:3},8,["boundary-key","label"]))])])}}}),Bt=J(nn,[["__scopeId","data-v-0d8ae722"]]),ln={class:"global-info-group"},an={class:"global-info-group__header"},rn={class:"global-info-group__title"},sn={class:"global-info-group__body"},cn=["id"],un=e.defineComponent({name:"GlobalInfoGroup",__name:"GlobalInfoGroup",props:{group:{},children:{},state:{},actions:{},index:{}},setup(o){const t=o,n=e.useSlots(),l=e.computed(()=>t.group.tagName||t.group.label||"-"),a=e.computed(()=>t.children.length<=1);function s(v,p){const d=t.actions.getSection(v);return{node:v,group:t.group,sectionNode:v,section:d,sectionView:d,state:t.state,actions:t.actions,index:p,editing:!!(d&&t.actions.isEditing(d)),sectionStatus:t.actions.getSectionStatus(v),isSelfSection:b(v,0)===b(t.group,0),handleEdit:()=>t.actions.startEdit(v),handleCancel:()=>t.actions.cancelEdit(v),handleSave:()=>t.actions.saveSection(v.key)}}function g(v){return f("section",u(v))}function f(v,p){if(!p)return"";const d=`${v}-${p}`;if(n[d])return d;const y=d.toLowerCase();return y!==d&&n[y]?y:""}function u(v){return String(v.id||v.infSetId||v.tagId||v.key||v.code||"").trim()}function b(v,p){return v.key||v.id||v.infSetId||v.tagId||`${p}`}function V(v){return`global-info-section-${b(v,0)}`}return(v,p)=>(e.openBlock(),e.createElementBlock("section",ln,[e.renderSlot(v.$slots,"header",{group:v.group,children:v.children,state:v.state,actions:v.actions,title:l.value,index:v.index,isEmpty:v.children.length===0},()=>[e.createElementVNode("header",an,[p[0]||(p[0]=e.createElementVNode("span",{class:"global-info-group__marker"},null,-1)),e.createElementVNode("h2",rn,e.toDisplayString(l.value),1)])],!0),e.createElementVNode("div",sn,[e.unref(n).default?e.renderSlot(v.$slots,"default",{key:0,group:v.group,children:v.children,state:v.state,actions:v.actions,index:v.index,isEmpty:v.children.length===0},void 0,!0):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(v.children,(d,y)=>(e.openBlock(),e.createElementBlock("div",{id:V(d),key:b(d,y),class:"global-info-group__section"},[g(d)?e.renderSlot(v.$slots,g(d),e.mergeProps({key:0,ref_for:!0},s(d,y)),void 0,!0):e.unref(n).section?e.renderSlot(v.$slots,"section",e.mergeProps({key:1,ref_for:!0},s(d,y)),void 0,!0):(e.openBlock(),e.createBlock(Bt,{key:2,node:d,state:v.state,actions:v.actions,"hide-header":a.value},e.createSlots({_:2},[e.renderList(e.unref(n),(I,F)=>({name:F,fn:e.withCtx(E=>[e.renderSlot(v.$slots,F,e.mergeProps({ref_for:!0},E),void 0,!0)])}))]),1032,["node","state","actions","hide-header"]))],8,cn))),128)),v.children.length===0?e.renderSlot(v.$slots,"empty",{key:0,node:null,group:v.group,sectionNode:null,state:v.state,actions:v.actions,index:-1},()=>[p[1]||(p[1]=e.createElementVNode("div",{class:"global-info-group__empty"},"暂无数据",-1))],!0):e.createCommentVNode("",!0)],64))])]))}}),Ct=J(un,[["__scopeId","data-v-778e227f"]]),dn={class:"global-info-sections"},pn=e.defineComponent({name:"GlobalInfoSections",__name:"GlobalInfoSections",props:{nodes:{},state:{},actions:{}},setup(o){const t=o,n=e.useSlots(),l=e.computed(()=>{const p=t.nodes.filter(h=>a(h).length>0),d=t.nodes.filter(h=>a(h).length===0),y=d.filter(h=>s(h)),I=d.filter(h=>!s(h)),F=p.map(h=>({group:h,children:a(h)})),E=y.map(h=>({group:h,children:[h]}));if(F.length===0)return y.length>0?E:v(I);const c=v(I);return[...F,...E,...c]});function a(p){return p.children??[]}function s(p){return!String(p.parentId||p.parentTagId||"").trim()}function g(p){return f("group",u(p))}function f(p,d){if(!d)return"";const y=`${p}-${d}`;if(n[y])return y;const I=y.toLowerCase();return I!==y&&n[I]?I:""}function u(p){return String(p.id||p.tagId||p.key||p.code||"").trim()}function b(p,d){return p.key||p.id||p.tagId||`${d}`}function V(p){const d=p[0],y=d?.raw??{},I=String(y.parentTagName||y.parentName||y.parentLabel||d?.parentId||"信息");return{...d,key:`${d?.parentId||d?.parentTagId||d?.key||"global-info"}-group`,id:String(d?.parentId||d?.parentTagId||d?.id||"global-info-group"),tagId:String(d?.parentTagId||d?.parentId||d?.tagId||"global-info-group"),tagName:I,label:I,children:p}}function v(p){const d=new Map;return p.forEach(y=>{const I=String(y.parentId||y.parentTagId||"global-info-flat"),F=d.get(I)??[];F.push(y),d.set(I,F)}),Array.from(d.values()).map(y=>({group:V(y),children:y}))}return(p,d)=>(e.openBlock(),e.createElementBlock("div",dn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,(y,I)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:b(y.group,I)},[g(y.group)?e.renderSlot(p.$slots,g(y.group),{key:0,group:y.group,children:y.children,state:p.state,actions:p.actions,index:I,isEmpty:y.children.length===0},void 0,!0):e.unref(n).group?e.renderSlot(p.$slots,"group",{key:1,group:y.group,children:y.children,state:p.state,actions:p.actions,index:I,isEmpty:y.children.length===0},void 0,!0):(e.openBlock(),e.createBlock(Ct,{key:2,group:y.group,children:y.children,state:p.state,actions:p.actions,index:I},e.createSlots({_:2},[e.renderList(e.unref(n),(F,E)=>({name:E,fn:e.withCtx(c=>[e.renderSlot(p.$slots,E,e.mergeProps({ref_for:!0},c),void 0,!0)])}))]),1032,["group","children","state","actions","index"]))],64))),128))]))}}),fn=J(pn,[["__scopeId","data-v-f15cf0fb"]]);exports.JtAttachmentPreview=Pe.JtAttachmentPreview;exports.JtAttachmentPreviewByParams=Pe.JtAttachmentPreviewByParams;exports.setupJtAttachmentPreview=Pe.setupJtAttachmentPreview;exports.GlobalInfoAutoRenderer=It;exports.GlobalInfoDeleteConfirm=St;exports.GlobalInfoFieldControl=Me;exports.GlobalInfoFieldValue=Re;exports.GlobalInfoFormRenderer=kt;exports.GlobalInfoGroup=Ct;exports.GlobalInfoProvider=No;exports.GlobalInfoSectionBlock=Bt;exports.GlobalInfoSectionOutlet=_t;exports.GlobalInfoSections=fn;exports.GlobalInfoTableRenderer=wt;exports.JtButton=ve;exports.JtCascader=Ue;exports.JtCrudTable=io;exports.JtDatePicker=We;exports.JtFilterBar=Qe;exports.JtFormItems=Ze;exports.JtInput=Se;exports.JtPageHeader=mo;exports.JtPagination=et;exports.JtSelect=Ye;exports.JtTable=Xe;exports.buildGlobalInfoUpdatePayload=lt;exports.createEmptyGlobalInfoViewModel=tt;exports.isGlobalInfoNode=vo;exports.mergeGlobalInfoChildren=Te;exports.normalizeGlobalInfoDetail=ot;exports.normalizeGlobalInfoTree=Ve;exports.resolveGlobalInfoRenderType=nt;exports.useGlobalInfoController=vt;
2
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),G=require("element-plus/es"),Pe=require("./JtAttachmentPreview/index.cjs"),ue=require("element-plus"),Ee=2,Ft=3;function Mt(o){return o.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}function qe(o){if(!o.startsWith("on")||o.length<=Ee)return!1;const t=o.charCodeAt(Ee);return t<97||t>122}function Rt(o){if(o.startsWith("on-"))return o.slice(Ft);const[t,n]=o.slice(Ee).split(":"),l=Mt(t);return n?`${l}:${n}`:l}function Ke(o,t=new Set){return Object.fromEntries(Object.entries(o).filter(([n,l])=>!t.has(n)&&qe(n)&&typeof l=="function").map(([n,l])=>[Rt(n),l]))}function He(o,t=new Set){return Object.fromEntries(Object.entries(o).filter(([n])=>!t.has(n)&&!qe(n)))}const Lt=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(),l=e.computed(()=>{const{icon:s,...g}=t;return{...He(n),...g}}),a=e.computed(()=>Ke(n));return(s,g)=>{const f=G.ElIcon,u=G.ElButton;return e.openBlock(),e.createBlock(u,e.mergeProps({class:"jt-button"},l.value,e.toHandlers(a.value)),{default:e.withCtx(()=>[s.$slots.icon?(e.openBlock(),e.createBlock(f,{key:0,class:"jt-button__icon"},{default:e.withCtx(()=>[e.renderSlot(s.$slots,"icon",{},void 0,!0)]),_:3})):t.icon?(e.openBlock(),e.createBlock(f,{key:1,class:"jt-button__icon"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.icon)))]),_:1})):e.createCommentVNode("",!0),e.renderSlot(s.$slots,"default",{},void 0,!0)]),_:3},16)}}}),J=(o,t)=>{const n=o.__vccOpts||o;for(const[l,a]of t)n[l]=a;return n},ve=J(Lt,[["__scopeId","data-v-a8344276"]]),Gt=e.defineComponent({name:"JtCascader",__name:"index",props:{size:{},placeholder:{default:"请选择"},disabled:{type:Boolean},clearable:{type:Boolean,default:!0},clearIcon:{},filterable:{type:Boolean},filterMethod:{},separator:{},showAllLevels:{type:Boolean},collapseTags:{type:Boolean},maxCollapseTags:{},collapseTagsTooltip:{type:Boolean},maxCollapseTagsTooltipHeight:{},debounce:{},beforeFilter:{},placement:{},fallbackPlacements:{},popperClass:{},popperStyle:{type:[Boolean,null,String,Object,Array]},teleported:{type:Boolean},effect:{},tagType:{},tagEffect:{},validateEvent:{type:Boolean},persistent:{type:Boolean},showCheckedStrategy:{},checkOnClickNode:{type:Boolean},showPrefix:{type:Boolean},fitInputWidth:{type:[Boolean,Number]},modelValue:{},props:{},virtualScroll:{type:Boolean},itemSize:{},height:{},emptyValues:{},valueOnClear:{type:[String,Number,Boolean,Function,null]},options:{default:()=>[]}},emits:ue.cascaderEmits,setup(o,{emit:t}){const n=o,l=t,a=e.computed(()=>Object.fromEntries(Object.keys(ue.cascaderEmits).map(s=>[s,(...g)=>l(s,...g)])));return(s,g)=>{const f=G.ElCascader;return e.openBlock(),e.createBlock(f,e.mergeProps({class:"jt-cascader"},n,e.toHandlers(a.value)),null,16)}}}),Ue=J(Gt,[["__scopeId","data-v-4c43f27e"]]),Dt=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??(l(t.type)?"开始日期":void 0),endPlaceholder:t.endPlaceholder??(l(t.type)?"结束日期":void 0)}));function l(a){return a?.includes("range")??!1}return(a,s)=>{const g=G.ElDatePicker;return e.openBlock(),e.createBlock(g,e.mergeProps({class:"jt-date-picker"},n.value,{"onUpdate:modelValue":s[0]||(s[0]=f=>a.$emit("update:modelValue",f))}),null,16)}}}),We=J(Dt,[["__scopeId","data-v-7aa4706e"]]),zt=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:{...ue.inputEmits,enter:()=>!0},setup(o,{emit:t}){const n=o,l=t,a=e.computed(()=>Object.fromEntries(Object.keys(ue.inputEmits).map(s=>[s,(...g)=>l(s,...g)])));return(s,g)=>{const f=G.ElInput;return e.openBlock(),e.createBlock(f,e.mergeProps({class:"jt-input"},n,e.toHandlers(a.value),{onKeyup:g[0]||(g[0]=e.withKeys(u=>l("enter"),["enter"]))}),null,16)}}}),Se=J(zt,[["__scopeId","data-v-031428a1"]]),jt=e.defineComponent({name:"JtSelect",__name:"index",props:{options:{},ariaLabel:{},emptyValues:{},valueOnClear:{},name:{},id:{},modelValue:{},autocomplete:{},automaticDropdown:{type:Boolean},size:{},effect:{},disabled:{type:Boolean},clearable:{type:Boolean,default:!0},filterable:{type:Boolean,default:!0},allowCreate:{type:Boolean},loading:{type:Boolean},popperClass:{},popperStyle:{},popperOptions:{},remote:{type:Boolean},debounce:{},loadingText:{},noMatchText:{},noDataText:{},remoteMethod:{},filterMethod:{},multiple:{type:Boolean},multipleLimit:{},placeholder:{default:"请选择"},defaultFirstOption:{type:Boolean},reserveKeyword:{type:Boolean},valueKey:{},collapseTags:{type:Boolean},collapseTagsTooltip:{type:Boolean},tagTooltip:{},maxCollapseTags:{},teleported:{type:Boolean},persistent:{type:Boolean},clearIcon:{},fitInputWidth:{type:Boolean},suffixIcon:{},tagType:{},tagEffect:{},validateEvent:{type:Boolean},remoteShowSuffix:{type:Boolean},showArrow:{type:Boolean},offset:{},placement:{},fallbackPlacements:{},tabindex:{},appendTo:{},props:{}},emits:ue.selectEmits,setup(o,{emit:t}){const n=o,l=e.computed(()=>{const{options:g,...f}=n;return f}),a=t,s=e.computed(()=>Object.fromEntries(Object.keys(ue.selectEmits).map(g=>[g,(...f)=>a(g,...f)])));return(g,f)=>{const u=G.ElOption,b=G.ElSelect;return e.openBlock(),e.createBlock(b,e.mergeProps({class:"jt-select"},l.value,e.toHandlers(s.value)),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(g.options??[],V=>(e.openBlock(),e.createBlock(u,e.mergeProps({key:V.value,ref_for:!0},V),null,16))),128))]),_:1},16)}}}),Ye=J(jt,[["__scopeId","data-v-c67cfa84"]]),xt={class:"jt-form-items"},Ce=4,At=e.defineComponent({name:"JTFormItems",__name:"JtFormItems",props:{configs:{},formData:{},span:{}},setup(o){const t=o,n={input:Se,select:Ye,cascader:Ue,"date-picker":We},l={"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"]),s=Object.keys(n),g=new Map,f=e.computed(()=>t.configs.filter(h=>h.show!==!1)),u=h=>{const{itemType:S}=h;if(!S)return Se;if(typeof S!="string")return S;const P=l[S]??S;return s.includes(P)?n[P]:(console.error(`[JtFormItems] 不支持的 itemType: "${S}",支持的类型: ${s.join(", ")}`),Se)},b=h=>{const S=He(h,a);return h.itemType==="select"||h.itemType==="remote-select"||h.itemType==="cascader"?{...S,options:h.options}:c(h.itemType)?{...S,type:"daterange"}:S},V=h=>Ke(h,a),v=h=>({rules:h.rules,...h.formItemProps}),p=(h,S)=>{t.formData[h]=S};function d(h){return S=>{if(S){g.set(h,S);return}g.delete(h)}}function y(h,S){e.nextTick(()=>{g.get(h)?.validate(S).catch(()=>{})})}const I=h=>Math.min(Math.max(Math.trunc(h||1),1),4),F=e.computed(()=>{const S=f.value.reduce((P,w)=>P+I(t.span||w.span),0)%Ce;return S===0?{gridColumn:`1 / span ${Ce}`}:{gridColumn:`${S+1} / span ${Ce-S}`}}),E=h=>({gridColumn:`span ${I(t.span||h.span)}`});function c(h){return h==="daterange"||h==="date-range"||h==="dateRange"}return(h,S)=>{const P=G.ElFormItem;return e.openBlock(),e.createElementBlock("div",xt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.value,w=>(e.openBlock(),e.createBlock(P,e.mergeProps({key:w.prop,ref_for:!0,ref:d(w.prop),class:"jt-form-items__item",style:E(w),label:w.label,prop:w.prop},v(w)),{default:e.withCtx(()=>[w.showSlot?e.renderSlot(h.$slots,w.prop,{key:0},void 0,!0):(e.openBlock(),e.createBlock(e.resolveDynamicComponent(u(w)),e.mergeProps({key:1,"model-value":h.formData[w.prop],ref_for:!0},b(w),e.toHandlers(V(w)),{"onUpdate:modelValue":k=>p(w.prop,k),onChange:()=>y(w.prop,"change"),onBlur:()=>y(w.prop,"blur")}),null,16,["model-value","onUpdate:modelValue","onChange","onBlur"]))]),_:2},1040,["style","label","prop"]))),128)),h.$slots.actions?(e.openBlock(),e.createBlock(P,{key:0,class:"jt-form-items__actions",style:e.normalizeStyle(F.value)},{default:e.withCtx(()=>[e.renderSlot(h.$slots,"actions",{},void 0,!0)]),_:3},8,["style"])):e.createCommentVNode("",!0)])}}}),Ze=J(At,[["__scopeId","data-v-d7aa2097"]]);function Ot(){const o=e.ref(!1);function t(){o.value=!0}function n(){o.value=!1}return{searchDisabled:o,searchLoading:t,searchDone:n}}const Jt="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",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%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",Kt="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",Ht={class:"jt-filter-bar__btns"},Ut=["src"],Wt=["src"],Yt=["src"],Zt=e.defineComponent({name:"JtFilterBar",__name:"JtFilterBar",props:{columns:{},option:{default:()=>({})},modelValue:{}},emits:["update:modelValue","search","reset"],setup(o,{expose:t,emit:n}){const l=o,a=n,s=e.ref(),g=e.useSlots(),f=e.ref({}),{searchDisabled:u,searchLoading:b,searchDone:V}=Ot(),v=e.computed(()=>l.option),p=e.ref(v.value.searchCollapsed??!1),d=e.computed(()=>l.columns.filter(B=>B.search===!0)),y=e.computed(()=>Math.max(1,v.value.searchSpan??4)),I=e.computed(()=>Math.max(1,v.value.searchCollapsedRows??1)),F=e.computed(()=>Math.max(1,y.value-1)),E=e.computed(()=>Math.max(1,F.value*I.value)),c=e.computed(()=>ne(v.value.searchLabelWidth??84)),h=e.computed(()=>v.value.searchLabelPosition??"top"),S=e.computed(()=>se(v.value.searchGutter,14)),P=e.computed(()=>se(v.value.searchRowGap,14)),w=e.computed(()=>pe(v.value.searchPadding??"18px 4px 0")),k=e.computed(()=>v.value.searchCollapse===!1?!1:Ie(d.value)>E.value),N=e.computed(()=>{if(!k.value||!p.value)return d.value;let B=0;return d.value.filter(z=>{const A=oe(z);return B+A>E.value?!1:(B+=A,!0)})}),_=e.computed(()=>N.value.filter(B=>!!g[`${B.prop}-search`])),R=e.computed(()=>N.value.map(B=>Z(B)));e.watch(()=>v.value.searchCollapsed,B=>{typeof B=="boolean"&&(p.value=B)}),e.watch(()=>l.modelValue,B=>{f.value={...B}},{deep:!0,immediate:!0});function K(B,z){if(u.value)return;const A={...f.value,[B]:z};f.value=A,a("update:modelValue",A)}function Z(B){const z=B.searchProps??{};return{...z,prop:B.prop,label:B.searchLabel??B.label,span:oe(B),itemType:B.searchType??"input",showSlot:!!g[`${B.prop}-search`],options:z.options??B.searchOptions??B.dicData,placeholder:z.placeholder??B.searchPlaceholder,valueFormat:z.valueFormat??B.searchValueFormat,disabled:u.value||z.disabled===!0,formItemProps:{required:B.searchRequired,class:["jt-filter-bar__item",{"is-required":B.searchRequired}]},onEnter:(...A)=>{ae(z.onEnter,...A),re()},"onUpdate:modelValue":A=>{ae(z["onUpdate:modelValue"],A),K(B.prop,A)}}}function ae(B,...z){if(Array.isArray(B)){B.forEach(A=>ae(A,...z));return}typeof B=="function"&&B(...z)}async function re(){if(!u.value){if(s.value)try{await s.value.validate()}catch{return}a("search")}}function de(){u.value||a("reset")}function H(){p.value=!p.value}function oe(B){return Math.min(y.value,Math.max(1,B.searchSpan??1))}function Ie(B){return B.reduce((z,A)=>z+oe(A),0)}function ne(B){return typeof B=="number"?`${B}px`:B}function se(B,z){return typeof B=="number"?B:z}function pe(B){return typeof B=="number"?`${B}px`:B}return t({formRef:s,searchDisabled:u,searchLoading:b,searchDone:V}),(B,z)=>{const A=G.ElForm;return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["jt-filter-bar",`is-label-${h.value}`]),style:e.normalizeStyle({"--jt-filter-columns":y.value,"--jt-filter-label-width":c.value,"--jt-filter-column-gap":`${S.value}px`,"--jt-filter-row-gap":`${P.value}px`,"--jt-filter-padding":w.value})},[e.createVNode(A,{ref_key:"formRef",ref:s,class:"jt-filter-bar__form",model:f.value,"label-position":h.value,"label-width":c.value,disabled:e.unref(u),onSubmit:z[0]||(z[0]=e.withModifiers(()=>{},["prevent"]))},{default:e.withCtx(()=>[e.createVNode(e.unref(Ze),{configs:R.value,"form-data":f.value},e.createSlots({actions:e.withCtx(()=>[e.createElementVNode("div",Ht,[e.renderSlot(B.$slots,"search-menu",{search:re,reset:de,disabled:e.unref(u),collapsed:p.value,toggleCollapse:H},()=>[k.value?(e.openBlock(),e.createBlock(e.unref(ve),{key:0,class:"jt-filter-bar__btn-collapse",onClick:H},{icon:e.withCtx(()=>[e.createElementVNode("img",{class:e.normalizeClass(["jt-filter-bar__icon-arrow",{"is-collapsed":p.value}]),src:e.unref(Jt),alt:""},null,10,Ut)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(p.value?"展 开":"收 起"),1)]),_:1})):e.createCommentVNode("",!0),e.createVNode(e.unref(ve),{class:"jt-filter-bar__btn-reset",disabled:e.unref(u),onClick:de},{icon:e.withCtx(()=>[e.createElementVNode("img",{src:e.unref(qt),alt:""},null,8,Wt)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(v.value.resetBtnText??"重 置"),1)]),_:1},8,["disabled"]),e.createVNode(e.unref(ve),{class:"jt-filter-bar__btn-query",type:"primary",disabled:e.unref(u),onClick:re},{icon:e.withCtx(()=>[e.createElementVNode("img",{src:e.unref(Kt),alt:""},null,8,Yt)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(v.value.searchBtnText??"查 询"),1)]),_:1},8,["disabled"])],!0)])]),_:2},[e.renderList(_.value,le=>({name:le.prop,fn:e.withCtx(()=>[e.renderSlot(B.$slots,`${le.prop}-search`,{value:f.value[le.prop],column:le,setValue:_e=>K(le.prop,_e),search:re,reset:de,disabled:e.unref(u)},void 0,!0)])}))]),1032,["configs","form-data"])]),_:3},8,["model","label-position","label-width","disabled"])],6)}}}),Qe=J(Zt,[["__scopeId","data-v-a6a4f467"]]),Qt={key:1},Xt={key:2},eo={key:3},to=e.defineComponent({name:"JtTable",__name:"JtTable",props:{data:{},columns:{},option:{},tableEvents:{}},setup(o,{expose:t}){const n=o,l=e.useSlots(),a=e.ref(),s=e.computed(()=>n.option??{}),g=e.computed(()=>n.columns.filter(d=>!d.hide));function f(d){return!!l[`${d}-header`]}function u(d){return!!l[`${d}-data`]}function b(d){return{width:d.width,minWidth:d.minWidth,align:d.align,fixed:d.fixed,sortable:d.sortable,showOverflowTooltip:d.showOverflowTooltip,...d.columnOptions}}function V(d){return!v(d.columnOptions?.type)}function v(d){return d==="selection"||d==="index"||d==="expand"}function p(d,y){return d.find(I=>I.value===y)?.label??String(y??"")}return t({tableRef:a}),(d,y)=>{const I=G.ElTableColumn,F=G.ElTable;return e.openBlock(),e.createBlock(F,e.mergeProps({ref_key:"tableRef",ref:a,data:d.data,"row-key":s.value.rowKey??"id",height:s.value.height,"max-height":s.value.maxHeight,"empty-text":s.value.emptyText,class:"jt-table"},s.value.tableProps,e.toHandlers(d.tableEvents)),{default:e.withCtx(()=>[s.value.selection?(e.openBlock(),e.createBlock(I,{key:0,type:"selection",width:"55",align:"center"})):e.createCommentVNode("",!0),s.value.index?(e.openBlock(),e.createBlock(I,{key:1,type:"index",label:s.value.indexLabel??"序号",width:"60",align:"center"},null,8,["label"])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(g.value,E=>(e.openBlock(),e.createBlock(I,e.mergeProps({key:E.prop,prop:E.prop,label:E.label,formatter:!u(E.prop)&&!E.dicData?E.formatter:void 0,ref_for:!0},b(E)),e.createSlots({_:2},[f(E.prop)?{name:"header",fn:e.withCtx(c=>[e.renderSlot(d.$slots,`${E.prop}-header`,e.mergeProps({ref_for:!0},c),void 0,!0)]),key:"0"}:void 0,V(E)?{name:"default",fn:e.withCtx(c=>[u(E.prop)?e.renderSlot(d.$slots,`${E.prop}-data`,e.mergeProps({key:0,ref_for:!0},c),void 0,!0):E.dicData?(e.openBlock(),e.createElementBlock("span",Qt,e.toDisplayString(p(E.dicData,c.row[E.prop])),1)):E.formatter?(e.openBlock(),e.createElementBlock("span",Xt,e.toDisplayString(E.formatter(c.row,c.column,c.row[E.prop],c.$index)),1)):(e.openBlock(),e.createElementBlock("span",eo,e.toDisplayString(c.row[E.prop]),1))]),key:"1"}:void 0]),1040,["prop","label","formatter"]))),128)),s.value.menu?(e.openBlock(),e.createBlock(I,{key:2,label:s.value.menuLabel??"操作",width:s.value.menuWidth,"min-width":s.value.menuMinWidth,align:s.value.menuAlign??"center",fixed:s.value.menuFixed},{default:e.withCtx(E=>[e.renderSlot(d.$slots,"menu",e.normalizeProps(e.guardReactiveProps(E)),void 0,!0)]),_:3},8,["label","width","min-width","align","fixed"])):e.createCommentVNode("",!0)]),_:3},16,["data","row-key","height","max-height","empty-text"])}}}),Xe=J(to,[["__scopeId","data-v-513fa12d"]]),oo={class:"jt-pagination"},no={class:"jt-pagination__count"},lo=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,l=e.computed(()=>n.option??{}),a=t;function s(g){a("current-change",g),a("page-change",g)}return(g,f)=>{const u=G.ElPagination;return e.openBlock(),e.createElementBlock("div",oo,[e.createVNode(u,{"current-page":g.currentPage,"page-size":g.pageSize,"page-sizes":l.value.pageSizes??[10,20,50,100],total:g.total,layout:l.value.paginationLayout??"sizes, prev, pager, next, jumper","onUpdate:currentPage":f[0]||(f[0]=b=>g.$emit("update:currentPage",b)),"onUpdate:pageSize":f[1]||(f[1]=b=>g.$emit("update:pageSize",b)),onCurrentChange:s,onSizeChange:f[2]||(f[2]=b=>g.$emit("size-change",b))},null,8,["current-page","page-size","page-sizes","total","layout"]),e.createElementVNode("span",no,"共"+e.toDisplayString(g.total)+"条记录",1)])}}}),et=J(lo,[["__scopeId","data-v-746af6aa"]]),ao={class:"jt-crud-table"},ro={key:1,class:"jt-crud-table__toolbar"},so=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 l=o,a=n,s=e.useModel(o,"currentPage"),g=e.useModel(o,"pageSize"),f=e.useModel(o,"searchModel"),u=e.useSlots(),b=e.ref(),V=e.ref(),v=e.computed(()=>l.option),p=e.computed(()=>v.value.searchShow!==!1),d=e.computed(()=>v.value.paginationShow!==!1),y=e.computed(()=>l.columns.filter(w=>w.search&&!!u[`${w.prop}-search`])),I=e.computed(()=>l.columns.filter(w=>!w.hide&&!!u[`${w.prop}-header`])),F=e.computed(()=>l.columns.filter(w=>!w.hide&&!!u[`${w.prop}-data`]));function E(){const w={};return l.columns.forEach(k=>{k.search&&(w[k.prop]=void 0)}),w}function c(){a("search",{...f.value})}function h(){f.value=E(),a("reset")}function S(){V.value?.searchLoading()}function P(){V.value?.searchDone()}return t({tableRef:e.computed(()=>b.value?.tableRef),filterBarRef:V,searchLoading:S,searchDone:P}),(w,k)=>{const N=G.ElLoadingDirective;return e.openBlock(),e.createElementBlock("div",ao,[e.renderSlot(w.$slots,"header",{},void 0,!0),p.value?(e.openBlock(),e.createBlock(Qe,{key:0,ref_key:"filterBarRef",ref:V,modelValue:f.value,"onUpdate:modelValue":k[0]||(k[0]=_=>f.value=_),columns:w.columns,option:v.value,onSearch:c,onReset:h},e.createSlots({_:2},[e.renderList(y.value,_=>({name:`${_.prop}-search`,fn:e.withCtx(R=>[e.renderSlot(w.$slots,`${_.prop}-search`,e.normalizeProps(e.guardReactiveProps(R)),void 0,!0)])}))]),1032,["modelValue","columns","option"])):e.createCommentVNode("",!0),e.unref(u).toolbar?(e.openBlock(),e.createElementBlock("div",ro,[e.renderSlot(w.$slots,"toolbar",{},void 0,!0)])):e.createCommentVNode("",!0),e.withDirectives((e.openBlock(),e.createBlock(Xe,{ref_key:"jtTableRef",ref:b,data:w.data,columns:w.columns,option:v.value,"table-events":w.tableEvents},e.createSlots({_:2},[e.renderList(I.value,_=>({name:`${_.prop}-header`,fn:e.withCtx(R=>[e.renderSlot(w.$slots,`${_.prop}-header`,e.normalizeProps(e.guardReactiveProps(R)),void 0,!0)])})),e.renderList(F.value,_=>({name:`${_.prop}-data`,fn:e.withCtx(R=>[e.renderSlot(w.$slots,`${_.prop}-data`,e.normalizeProps(e.guardReactiveProps(R)),void 0,!0)])})),v.value.menu?{name:"menu",fn:e.withCtx(_=>[e.renderSlot(w.$slots,"menu",e.normalizeProps(e.guardReactiveProps(_)),void 0,!0)]),key:"0"}:void 0]),1032,["data","columns","option","table-events"])),[[N,v.value.loading]]),d.value?(e.openBlock(),e.createBlock(et,{key:2,"current-page":s.value,"onUpdate:currentPage":k[1]||(k[1]=_=>s.value=_),"page-size":g.value,"onUpdate:pageSize":k[2]||(k[2]=_=>g.value=_),total:w.total,option:v.value,onPageChange:k[3]||(k[3]=_=>w.$emit("page-change",_)),onSizeChange:k[4]||(k[4]=_=>w.$emit("size-change",_))},null,8,["current-page","page-size","total","option"])):e.createCommentVNode("",!0)])}}}),io=J(so,[["__scopeId","data-v-ad466273"]]),co={class:"jt-page-header__title"},uo={key:0},po={key:0,class:"jt-page-header__operates"},fo=e.defineComponent({name:"JtPageHeader",__name:"index",props:{type:{default:"section"},title:{},operates:{default:()=>[]}},emits:["operate-click"],setup(o,{emit:t}){const n=o,l=t,a=e.useSlots(),s=e.computed(()=>n.operates.length>0||!!a.operates);function g(f,u){f.onClick?.(f,u),l("operate-click",f,u)}return(f,u)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps({class:["jt-page-header",`jt-page-header--${f.type}`]},f.$attrs),[e.createElementVNode("div",co,[e.renderSlot(f.$slots,"title",{},()=>[f.title?(e.openBlock(),e.createElementBlock("span",uo,e.toDisplayString(f.title),1)):e.createCommentVNode("",!0)],!0)]),s.value?(e.openBlock(),e.createElementBlock("div",po,[e.renderSlot(f.$slots,"operates",{operates:f.operates},()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.operates,b=>(e.openBlock(),e.createBlock(e.unref(ve),e.mergeProps({key:b.key??b.label,ref_for:!0},b.buttonProps,{type:b.type,disabled:b.disabled,loading:b.loading,plain:b.plain,text:b.text,link:b.link,icon:b.icon,onClick:V=>g(b,V)}),{default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(b.label),1)]),_:2},1040,["type","disabled","loading","plain","text","link","icon","onClick"]))),128))],!0)])):e.createCommentVNode("",!0)],16))}}),mo=J(fo,[["__scopeId","data-v-9e6bb356"]]);function tt(o=null){return{scheme:null,node:null,topNodes:[],treeNodes:[],activeNode:null,activeSection:null,sections:[],sectionMap:{},raw:o}}function Ve(o){const t=ct(o),n=it(t),l=Io(t).flatMap(a=>st(a,n));return{...tt(o),scheme:n,topNodes:l,treeNodes:l}}function Te(o,t,n){return o.map(l=>l.key===t||l.tagId===t||l.id===t?{...l,children:n,loaded:!0}:{...l,children:Te(l.children,t,n)})}function ot(o,t={},n=null){const l=ct(o),a=it(l,t),s=go(l,t,n),g=Object.fromEntries(s.map(f=>[f.key,f]));return{scheme:a,node:n,topNodes:[],treeNodes:[],activeNode:n,activeSection:s[0]??null,sections:s,sectionMap:g,raw:o}}function nt(o){return o.multRow||o.htmlDisplay==="T"?"table":"form"}function lt(o,t={}){return{...t,infSchmId:t.infSchmId??j(o.raw.infSchmId),emplid:t.emplid??j(o.raw.emplid),tagId:t.tagId??o.requestTagId??o.tagId,infSetId:t.infSetId??o.infSetId,setId:t.setId??o.setId,infSetFields:o.renderType==="table"?o.rows.map($e):[$e(o.model)],section:o}}function vo(o){const t=o;return!!(t&&typeof t=="object"&&typeof t.key=="string"&&typeof t.tagId=="string")}function at(o){const t=ut(o);return(Array.isArray(t)?t:he(O(t),["options","list","records","data"])).map(l=>{const a=O(l);return{id:a.id,code:a.code,label:T(a.label??a.name??a.descr??a.text??a.value??a.code),name:j(a.name),value:a.value??a.code??a.id??a.label??a.name,raw:l}})}function go(o,t,n){const l=he(o,["sections","sets","list"]);return l.length>0?l.map(a=>De(a,t,n,l.length===1)):o.infSetMark||o.infSetFields||o.fields?[De(o,t,n,!0)]:[]}function De(o,t,n,l){const a=O(o),s=ho(a.infSetMark??a),g=yo(a.infSetFields??a.fields??[]),f=ko(a.infSetValues??a.rows??a.data,g),u=f[0]?$e(f[0]):rt(g),b=O(a.tag),V=T(a.tagId??a.infTagId??b.tagId),v=T(t.tagId??n?.tagId),p=T(n?.key),d=l?t.infSetId??n?.infSetId:void 0,y=l?t.setId:void 0,I=l?n?.code:void 0,F=s.setId||T(a.setId),E=T(a.infSetId)||F||T(d),c=F||T(y??E),h=s.code||T(a.code??I??c),S=c||h||E||V,P={key:S,id:S,setId:c,code:h,tagId:V,requestTagId:v||void 0,ownerNodeKey:p||void 0,infSetId:E,title:s.name||T(a.name??n?.tagName??S),renderType:nt(s),mark:s,fields:g,model:u,rows:f,operationInfo:we(t.operationInfo??a.operationInfo),raw:a};return P.renderType==="form"&&f.length===0&&(P.rows=[{...u,__rowKey:`${S}-0`}]),P}function ho(o){const t=O(o),n=T(t.htmlDisplay||"F");return{name:T(t.name??t.title),parentName:j(t.parentName),value:j(t.value),type:j(t.type),code:T(t.code),setId:T(t.setId??t.id??t.key),htmlDisplay:n,multRow:Y(t.multRow),isRequired:Y(t.isRequired),raw:t}}function yo(o){return(Array.isArray(o)?o:[]).map((n,l)=>bo(n,l))}function bo(o,t){const n=O(o),l=T(n.code??n.fieldCode??n.prop??n.key??`field_${t}`),a=T(n.label??n.name??n.tagName??l);return{id:T(n.id??n.key??n.prop??l),key:T(n.key??n.prop??l),code:l,label:a,value:n.value??n.defaultValue??"",type:Co(n),fieldType:j(n.fieldType),renderType:Bo(n),required:Y(n.required??n.isRequired),readonly:Y(n.readonly??n.disabled),visible:n.visible===void 0?Y(n.visibled??!0):Y(n.visible),htmlDisplay:Y(n.htmlDisplay),multRow:Y(n.multRow),isRequired:Y(n.isRequired),disabled:n.disabled===void 0?void 0:Y(n.disabled),span:ft(n.span??n.colSpan),width:je(n.width),minWidth:je(n.minWidth),placeholder:j(n.placeholder),options:at(n.options),interface:dt(n.interface),cascadeClearFields:ze(n.cascadeClearFields),cascadeDependFields:ze(n.cascadeDependFields),props:Ne(n.props),formItemProps:Ne(n.formItemProps),raw:n}}function ko(o,t){if(Array.isArray(o)&&o.some(a=>{const s=O(a);return t.some(g=>s[g.code]!==void 0||s[g.key]!==void 0)}))return o.map((a,s)=>({...O(a),__rowKey:T(O(a).__rowKey??O(a).key??s)}));const n=rt(t);return Object.keys(n).length?[{...n,__rowKey:"0"}]:[]}function rt(o){return o.reduce((t,n)=>(t[n.code||n.key]=n.value,t),{})}function st(o,t,n=""){const l=O(o),a=he(l,["children","list","tags"]).flatMap(g=>st(g,t,T(l.tagId??l.id??l.key))),s=_o(l.infSetList);return a.length===0&&s.length>0?s.map((g,f)=>wo(l,g,t,n,f)):[So(l,t,n,a)]}function So(o,t,n,l){const a=T(o.tagId??o.id??o.key),s=T(o.tagName??o.name??o.label??a);return{key:T(o.key??a),id:a,tagId:a,tagName:s,label:s,tagLevel:j(o.tagLevel??o.level)??null,level:pt(o.tagLevel??o.level),parentTagId:j(o.parentTagId??o.parentId??n),parentId:j(o.parentTagId??o.parentId??n)??null,infSchmId:j(o.infSchmId??t?.infSchmId),schemeId:T(o.infSchmId??t?.infSchmId),infSetId:j(o.infSetId??o.setId),setId:j(o.setId),code:j(o.code),children:l,infSetList:[],operationInfo:we(o.operationInfo),loaded:l.length>0,raw:o}}function wo(o,t,n,l,a){const s=T(o.tagId??o.id??o.key),g=T(o.tagName??o.name??o.label??s),f=t.infSetId||T(t.setId),u=t.setId||f,b=f||`${s}-${a}`;return{key:b,id:b,tagId:s,tagName:g,label:g,tagLevel:j(o.tagLevel??o.level)??null,level:pt(o.tagLevel??o.level),parentTagId:j(o.parentTagId??o.parentId??l),parentId:j(o.parentTagId??o.parentId??l)??null,infSchmId:j(o.infSchmId??n?.infSchmId),schemeId:T(o.infSchmId??n?.infSchmId),infSetId:f,setId:u,code:j(o.code??f),children:[],infSetList:[t],operationInfo:we(o.operationInfo),loaded:!0,raw:{...o,infSetId:f,setId:u,infSetList:[t.raw]}}}function it(o,t={}){const n=O(o.globalInfoSchmMark??o.scheme??o),l=T(n.infSchmId??t.infSchmId),a=T(n.emplid??t.emplid);return!l&&!a&&Object.keys(n).length===0?null:{infSchmId:l,emplid:a,id:l,mark:T(n.globalInfoSchmMark??o.globalInfoSchmMark),config:Array.isArray(o.globalInfoSchmConfig)?"":T(n.globalInfoSchmConfig??o.globalInfoSchmConfig),raw:n}}function Io(o){if(Array.isArray(o.globalInfoSchmConfig))return o.globalInfoSchmConfig;const t=O(o.globalInfoSchmConfig),n=he(t,["children","tree","list","tags"]);return n.length?n:he(o,["children","tree","list","tags","records"])}function _o(o){return Array.isArray(o)?o.map(t=>{const n=O(t);return{infSetId:T(n.infSetId??n.setId??n.id),setId:j(n.setId),operationInfo:we(n.operationInfo),raw:n}}):[]}function ct(o){return O(ut(o))}function ut(o){const t=O(o);return t.data??t.result??o}function he(o,t){for(const n of t){const l=o[n];if(Array.isArray(l))return l}return[]}function $e(o){const t={...o};return delete t.__rowKey,delete t.fields,t}function dt(o){const t=O(o);if(!(!t.method&&!t.url&&!t.params))return{...t,method:j(t.method),url:j(t.url),params:Ne(t.params)}}function we(o){const t=O(o);if(Object.keys(t).length!==0)return Object.fromEntries(Object.entries(t).map(([n,l])=>[n,dt(l)??l]))}function ze(o){if(!Array.isArray(o))return;const t=o.map(n=>T(n)).filter(Boolean);return t.length?t:void 0}function Bo(o){if(Y(o.htmlDisplay))return"html";if(Y(o.multRow))return"multi-row";const t=T(o.renderType).toLowerCase();return t==="code"||t==="empty"?t:"text"}function Co(o){const t=T(o.fieldType??o.type??o.renderType).toLowerCase();return t.includes("date")?"date":t.includes("select")||t.includes("enum")?"select":t.includes("number")||t.includes("int")?"number":t.includes("bool")||t.includes("switch")?"switch":t.includes("file")||t.includes("upload")||t.includes("attachment")?"file":t.includes("textarea")||t.includes("text_area")?"textarea":"text"}function Ne(o){const t=O(o);return Object.keys(t).length?t:void 0}function je(o){return typeof o=="string"||typeof o=="number"?o:void 0}function O(o){return o&&typeof o=="object"&&!Array.isArray(o)?o:{}}function T(o){return o==null?"":String(o).trim()}function j(o){return T(o)||void 0}function pt(o){const t=ft(o);return t===void 0?null:t}function ft(o){if(o==null||o==="")return;const t=Number(o);return Number.isFinite(t)?t:void 0}function Y(o){return typeof o=="string"?["true","1","y","yes","t","是"].includes(o.toLowerCase()):!!o}const te=o=>o.key||o.code,W=o=>o.key||o.setId,ie=o=>new Error(`[GlobalInfo] ${o}`),ce=o=>o&&typeof o=="object"&&!Array.isArray(o)?o:{},ke=o=>{const t=ce(o);return!!(t.url||t.method||t.params)},Eo=o=>String(o??"").trim(),ye=o=>Array.from(new Set(o.map(Eo).filter(Boolean))),ge=o=>ye([o?.key,o?.id,o?.setId,o?.infSetId,o?.tagId,o?.code,...(o?.infSetList??[]).map(t=>t.infSetId),...(o?.infSetList??[]).map(t=>t.setId)]),Vo=o=>ye([o.key,o.id,o.setId,o.infSetId,o.tagId,o.code]),fe=(o={})=>({loading:!1,saving:!1,error:null,loaded:!1,editing:!1,...o}),me=o=>!!(o&&typeof o=="object"&&"children"in o),mt=(o,t,n)=>{const l=Vo(o),a=ye([n,...ge(t)]);return a.length===0?!1:a.some(s=>l.includes(s))},$o=(o,t,n)=>ye([n,...ge(t)]).length===0?o:o.filter(a=>mt(a,t,n)),vt=o=>{const t=e.ref(!1),n=e.ref(!1),l=e.ref(!1),a=e.shallowRef(null),s=e.shallowRef([]),g=e.shallowRef(null),f=e.shallowRef(null),u=e.shallowRef(null),b=e.shallowRef({}),V=e.shallowRef({}),v=e.ref([]),p=e.shallowRef({}),d=e.ref([]),y=e.computed(()=>{const i=v.value.map(m=>b.value[m]).filter(m=>!!m),r=Object.entries(b.value).filter(([m])=>!v.value.includes(m)).map(([,m])=>m);return[...i,...r]}),I=e.computed(()=>({loading:t.value,detailLoading:n.value,saving:l.value,editingSectionKeys:d.value,sectionMap:b.value,sectionStatusMap:Object.fromEntries(Object.entries(p.value).map(([i,r])=>[i,{...r,editing:d.value.includes(V.value[i]??i)}])),error:a.value})),F=()=>({adaptScene:o.adaptScene,emplid:o.emplid}),E=i=>({...F(),infSchmId:i.infSchmId,tagId:i.tagId,tagLevel:i.tagLevel,parentTagId:i.parentTagId}),c=(i=f.value,r=u.value)=>({...F(),infSchmId:i?.infSchmId,tagId:i?.tagId,infSetId:r?.infSetId??i?.infSetId,setId:r?.setId??i?.setId}),h=async(i,r)=>{if(!o.service.requestOperation)throw ie("service.requestOperation is required for operationInfo");return o.service.requestOperation(i,r)},S=(i,r={},m)=>{const C=ce(i.params),$=m?.cascadeDependFields??[];let L=0;return Object.fromEntries(Object.entries(C).map(([M,D])=>{if(D!=="")return[M,D];if(r[M]!==void 0)return[M,r[M]];const x=$[L];return L+=1,[M,x?r[x]??"":D]}))},P=i=>{const m=ce(i.operationInfo).openTag;return ke(m)?m:void 0},w=(i,r,m)=>{const C=ce(i?.operationInfo).queryInfoSet;if(ke(C))return C;const $=r?.infSetList.find(M=>M.infSetId===m),L=ce($?.operationInfo).queryInfoSet;return ke(L)?L:void 0},k=i=>{const r=ce(i.operationInfo).editInfoSet;return ke(r)?r:void 0},N=(i,r)=>{if(!r)return i[0]??null;for(const m of i){if(ge(m).includes(r))return m;const C=N(m.children,r);if(C)return C}return null},_=(i=u.value)=>{if(i)return typeof i=="string"?i:me(i)?Z(i):W(i)},R=(i=u.value)=>{const r=_(i);if(!r)return null;const m=V.value[r]??r;return b.value[m]??null},K=(i=u.value)=>{const r=_(i);if(r)return V.value[r]??r},Z=(i=u.value)=>{if(i)return typeof i=="string"?i:me(i)?i.setId??i.infSetId??i.key:W(i)},ae=(i=u.value)=>{if(me(i))return i;if(typeof i=="string"){const r=N(s.value,i);if(r)return r;const m=R(i);return m?.ownerNodeKey?N(s.value,m.ownerNodeKey)??f.value:m||f.value&&ge(f.value).includes(i)?f.value:null}return i?.ownerNodeKey?N(s.value,i.ownerNodeKey)??f.value:f.value},re=(i=u.value)=>!i||me(i)?null:R(i),de=(i=u.value)=>{const r=Z(i);if(!r)return fe();const m=V.value[r]??r;return fe({...p.value[r],...p.value[m],editing:d.value.includes(m)})},H=(i,r)=>{const m=Z(i);m&&(p.value={...p.value,[m]:fe({...p.value[m],...r,editing:d.value.includes(m)})})},oe=(i=g.value?.raw??null,r=f.value)=>{const m=y.value,C=u.value&&m.find($=>W($)===W(u.value))?u.value:null;g.value={scheme:g.value?.scheme??null,node:r,topNodes:s.value,treeNodes:s.value,activeNode:r,activeSection:C,sections:m,sectionMap:b.value,raw:i},u.value=C},Ie=(i,r=f.value,m)=>{const C={...b.value},$={...V.value},L=[...v.value],M={...p.value},D=$o(i.sections,r,m),x=ye([m,...ge(r)]).length>0,q=D.find(ee=>mt(ee,r,m))??(x?null:i.activeSection??D[0]??u.value??null);return D.forEach(ee=>{const X=W(ee);C[X]=ee,L.includes(X)||L.push(X),M[X]=fe({...M[X],loaded:!0,loading:!1,error:null,editing:d.value.includes(X)})}),m&&q?$[m]=W(q):m&&($[m]=""),m&&(M[m]=fe({...M[m],loaded:!0,loading:!1,error:null,editing:!!(q&&d.value.includes(W(q)))})),b.value=C,V.value=$,v.value=L,p.value=M,g.value={...i,scheme:i.scheme??g.value?.scheme??null,topNodes:s.value,treeNodes:s.value,activeNode:r,activeSection:q,sections:D,sectionMap:b.value},u.value=q,q},ne=(i,r)=>{const m=K(i),C=m?b.value[m]:null;if(!m||!C)return;const $=r(C);b.value={...b.value,[m]:$},u.value=W(u.value??$)===m?$:u.value,oe()},se=async(i=u.value??f.value)=>{const r=re(i),m=ae(i)??f.value,C=Z(i);if(!m)return null;if(!o.service.requestOperation)throw ie("service.requestOperation is required");n.value=!0,a.value=null,H(C??m,{loading:!0,error:null});try{const $=r?[{infSetId:r.infSetId,setId:r.setId,operationInfo:r.operationInfo,raw:r.raw}]:m.infSetList;if($.length===0)throw ie("node.infSetList is required");const L=await Promise.all($.map(async D=>{const x=w(r,m,D.infSetId),q={...c(m,r),infSetId:D.infSetId,setId:D.setId,operationInfo:D.operationInfo};if(x){const ee=await h(x,{type:"queryInfoSet",node:m,section:r,params:q});return ot(ee,q,m)}throw ie("infoSet.operationInfo.queryInfoSet is required")})),M={...L[0],sections:L.flatMap(D=>D.sections),sectionMap:Object.fromEntries(L.flatMap(D=>D.sections).map(D=>[D.key,D]))};return Ie(M,m,C)}catch($){throw a.value=$,H(C??m,{loading:!1,error:$}),$}finally{n.value=!1,H(C??m,{loading:!1})}},pe=(i=u.value)=>se(i),B=(i=u.value)=>{if(!i)return null;if(!me(i)&&typeof i!="string")return R(i);const r=Z(i);return r?b.value[V.value[r]??r]??null:null},z=async(i=f.value)=>i?(await se(i),g.value):(g.value=null,u.value=null,b.value={},V.value={},v.value=[],p.value={},null),A=async i=>{const r=P(i);if(!r)return i.children;const m=E(i),C=await h(r,{type:"openTag",node:i,params:m});return Ve(C).treeNodes},le=async i=>{if(i.loaded)return i.children;const r=await A(i);return r.length>0&&(s.value=Te(s.value,i.key,r)),r},_e=async i=>{const r=typeof i=="string"?N(s.value,i):i;return r?(f.value=r,u.value=null,d.value=[],await le(r),oe(g.value?.raw,r),r):null},Be=async()=>{const i=o.service.templateTree;if(!i)throw ie("service.templateTree is required");t.value=!0,a.value=null;try{const r=await i(F()),m=Ve(r),C=await Promise.all(m.treeNodes.map(async L=>{const M=await A(L);return{...L,children:M,loaded:M.length>0||L.loaded}}));s.value=C,u.value=null,b.value={},V.value={},v.value=[],p.value={},d.value=[];const $=N(C,o.initialActiveNodeKey)??N(C);return f.value=$,g.value={...m,treeNodes:C,activeNode:$,sectionMap:b.value,sections:y.value},s.value}catch(r){throw a.value=r,r}finally{t.value=!1}},Et=async()=>{const i=_();await pe(u.value??f.value);const r=y.value.find(m=>W(m)===i);return r&&(u.value=r),oe(),g.value},Le=(i=u.value)=>{const r=K(i);return!!(r&&d.value.includes(r))},Vt=(i=u.value)=>{const r=K(i);!r||Le(r)||(d.value=[...d.value,r],H(r,{editing:!0}))},Ge=(i=u.value)=>{const r=K(i);r&&(d.value=d.value.filter(m=>m!==r),H(r,{editing:!1}))},$t=(i,r,m)=>{const C=typeof r=="string"?r:te(r);ne(i,$=>{const M=(typeof r=="string"?$.fields.find(x=>te(x)===C||x.code===C):r)?.cascadeClearFields??[],D={...$.model,[C]:m};return M.forEach(x=>{D[x]=""}),{...$,model:D,rows:$.renderType==="form"?[{...$.rows[0],...D}]:$.rows,fields:$.fields.map(x=>{const q=te(x);return q===C||x.code===C?{...x,value:m}:M.includes(q)||M.includes(x.code)?{...x,value:""}:x})}})},Nt=async(i,r,m={})=>{const C=R(i);if(!C)return[];const $=Object.keys(m).length>0?m:C.model,L=typeof r=="string"?r:te(r),M=typeof r=="string"?C.fields.find(Q=>te(Q)===L||Q.code===L):r,D=M?.interface;if(!M||!D)return M?.options??[];if((M.cascadeDependFields??[]).some(Q=>{const U=$[Q];return U==null||U===""}))return ne(C,Q=>({...Q,fields:Q.fields.map(U=>te(U)===L||U.code===L?{...U,options:[]}:U)})),[];const q=S(D,$,M),ee=await h({...D,params:q},{type:"fieldOptions",node:ae(C),section:C,field:M,params:q}),X=at(ee);return ne(C,Q=>({...Q,fields:Q.fields.map(U=>te(U)===L||U.code===L?{...U,options:X}:U)})),X},Pt=(i,r)=>{if(Array.isArray(r)){be(i,r);return}ne(i,m=>({...m,model:r,rows:m.renderType==="form"?[{...m.rows[0],...r}]:m.rows,fields:m.fields.map(C=>({...C,value:r[te(C)]}))}))},be=(i,r)=>{ne(i,m=>({...m,rows:r,data:r}))},Tt={loadTree:Be,selectNode:_e,loadDetail:z,reloadActiveSection:Et,loadSection:se,reloadSection:pe,getSection:B,getSectionStatus:de,startEdit:Vt,cancelEdit:Ge,updateField:$t,loadFieldOptions:Nt,updateModel:Pt,updateTableRows:be,saveRow:(i,r={},m=-1)=>{const $=[...R(i)?.rows??[]];$.splice(m>=0?m:$.length,m>=0?1:0,r),be(i,$)},deleteRow:(i,r)=>{const m=R(i),C=typeof r=="string"?Number(r):r,$=(m?.rows??[]).filter((L,M)=>M!==C);be(i,$)},saveSection:async(i=u.value)=>{const r=_(i),m=R(i);if(!m)return null;const C=k(m);if(!C)throw ie("section.operationInfo.editInfoSet is required");l.value=!0,a.value=null,r&&r!==W(m)&&H(r,{saving:!0,error:null}),H(m,{saving:!0,error:null});try{const $=c(f.value,m),L=lt(m,$),M=await h({...C,params:{...S(C,m.model),...L}},{type:"editInfoSet",node:f.value,section:m,params:L});return Ge(m),await pe(m),M}catch($){throw a.value=$,r&&r!==W(m)&&H(r,{saving:!1,error:$}),H(m,{saving:!1,error:$}),$}finally{l.value=!1,r&&r!==W(m)&&H(r,{saving:!1}),H(m,{saving:!1})}},isEditing:Le};return e.watch(()=>o.emplid,()=>{(o.autoLoad??!0)&&Be()}),e.onMounted(()=>{(o.autoLoad??!0)&&Be()}),{viewModel:g,nodes:s,sections:y,sectionMap:b,sectionStatusMap:p,activeNode:f,activeSection:u,state:I,actions:Tt}},No=e.defineComponent({name:"GlobalInfoProvider",__name:"GlobalInfoProvider",props:{service:{},adaptScene:{},emplid:{},autoLoad:{type:Boolean,default:!0},initialActiveNodeKey:{}},setup(o){const n=vt(o),{viewModel:l,nodes:a,sections:s,activeNode:g,activeSection:f,state:u,actions:b}=n;return(V,v)=>e.renderSlot(V.$slots,"default",e.normalizeProps(e.guardReactiveProps({viewModel:e.unref(l),nodes:e.unref(a),sections:e.unref(s),activeNode:e.unref(g),activeSection:e.unref(f),state:e.unref(u),actions:e.unref(b)})))}});function Po(o){return xe(o.type||o.fieldType)||xe(o.renderType)||"text"}function gt(o){return Ae(o.type||o.fieldType)||Ae(o.renderType)||"text"}function Fe(o){return o==null||o===""||Array.isArray(o)&&o.length===0}function ht(o){if(o instanceof Error)return!0;if(!o||typeof o!="object")return!1;const t=o;return typeof t.message=="string"&&(typeof t.stack=="string"||t.name==="Error")}function yt(o,t,n="-"){const l=gt(o);return l==="empty"||Fe(t)?n:ht(t)?(console.error("[globalInfo] field value render failed",t),n):l==="select"?To(o,t,n):l==="switch"?bt(t)?"是":"否":l==="file"?Fo(t,n):l==="multi-row"?Mo(t):String(t)}function bt(o){if(typeof o=="boolean")return o;if(typeof o=="number")return o!==0;const t=String(o??"").trim().toLowerCase();return["true","1","y","yes","t","是"].includes(t)}function xe(o){const t=String(o??"").toLowerCase();return t==="upload"||t==="attachment"?"file":t==="text"||t==="textarea"||t==="select"||t==="date"||t==="number"||t==="switch"||t==="file"||t==="html"||t==="code"||t==="multi-row"||t==="empty"?t:""}function Ae(o){const t=String(o??"").toLowerCase();return t==="upload"||t==="attachment"?"file":t==="select"||t==="switch"||t==="file"||t==="html"||t==="code"||t==="multi-row"||t==="empty"?t:t==="textarea"||t==="date"||t==="number"||t==="text"?"text":""}function To(o,t,n){if(Array.isArray(t)){const l=t.map(a=>Oe(o,a)||String(a??"").trim()).filter(Boolean);return l.length>0?l.join("、"):n}return Oe(o,t)||String(t)}function Oe(o,t){return o.options?.find(l=>l.value===t||String(l.value)===String(t))?.label??""}function Fo(o,t){if(Array.isArray(o)){const n=o.map(l=>Je(l)).filter(Boolean);return n.length>0?n.join("、"):t}return Je(o)||t}function Je(o){if(typeof File<"u"&&o instanceof File)return o.name;if(o&&typeof o=="object"){const t=o;return String(t.name??t.fileName??t.filename??t.url??"").trim()}return String(o??"").trim()}function Mo(o){return Array.isArray(o)?o.map(t=>ht(t)?(console.error("[globalInfo] multi-row field item render failed",t),""):t&&typeof t=="object"?JSON.stringify(t):String(t)).filter(Boolean).join(`
3
+ `):String(o)}const Ro=["disabled","accept","multiple"],Lo={key:0,class:"global-info-field-control__file-text"},Go={key:1,class:"global-info-field-control__file-upload"},Do=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,l=t,a=["textarea","html","code","multi-row"],s=e.computed(()=>Po(n.field)),g=e.computed(()=>n.disabled||n.field.disabled||n.field.readonly),f=e.computed(()=>n.modelValue===void 0||n.modelValue===null?"":String(n.modelValue)),u=e.computed(()=>{if(n.modelValue===void 0||n.modelValue===null||n.modelValue==="")return;const c=typeof n.modelValue=="number"?n.modelValue:Number(n.modelValue);return Number.isFinite(c)?c:void 0}),b=e.computed(()=>{const c=n.field.props?.activeValue??n.field.props?.["active-value"],h=n.field.props?.inactiveValue??n.field.props?.["inactive-value"];return c!==void 0||h!==void 0?n.modelValue??h??!1:bt(n.modelValue)}),V=e.computed(()=>s.value==="code"?5:3),v=e.computed(()=>s.value==="file"&&!Fe(n.modelValue)),p=e.computed(()=>yt(n.field,n.modelValue,"请选择文件")),d=e.computed(()=>n.field.placeholder?n.field.placeholder:s.value==="select"?"请选择":s.value==="date"?"请选择日期":s.value==="file"?"请选择文件":"请输入");function y(c){l("update:modelValue",c)}function I(c){l("change",c)}function F(c){c&&l("loadOptions")}function E(c){const h=c.target,S=Array.from(h.files??[]),P=n.field.props?.multiple?S:S[0]??null;y(P),I(P)}return(c,h)=>{const S=G.ElOption,P=G.ElSelect,w=G.ElDatePicker,k=G.ElInputNumber,N=G.ElSwitch,_=G.ElInput;return s.value==="select"?(e.openBlock(),e.createBlock(P,e.mergeProps({key:0,class:"global-info-field-control"},c.field.props,{"model-value":c.modelValue,placeholder:d.value,disabled:g.value,clearable:"",onVisibleChange:F,"onUpdate:modelValue":y,onChange:I}),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.field.options||[],R=>(e.openBlock(),e.createBlock(S,{key:String(R.value),label:R.label,value:R.value},null,8,["label","value"]))),128))]),_:1},16,["model-value","placeholder","disabled"])):s.value==="date"?(e.openBlock(),e.createBlock(w,e.mergeProps({key:1,class:"global-info-field-control"},c.field.props,{"model-value":c.modelValue,placeholder:d.value,disabled:g.value,type:"date","value-format":"YYYY-MM-DD","onUpdate:modelValue":y,onChange:I}),null,16,["model-value","placeholder","disabled"])):s.value==="number"?(e.openBlock(),e.createBlock(k,e.mergeProps({key:2,class:"global-info-field-control"},c.field.props,{"model-value":u.value,placeholder:d.value,disabled:g.value,"controls-position":"right","onUpdate:modelValue":y,onChange:I}),null,16,["model-value","placeholder","disabled"])):s.value==="switch"?(e.openBlock(),e.createBlock(N,e.mergeProps({key:3,class:"global-info-field-control global-info-field-control--switch"},c.field.props,{"model-value":b.value,disabled:g.value,"onUpdate:modelValue":y,onChange:I}),null,16,["model-value","disabled"])):s.value==="file"?(e.openBlock(),e.createElementBlock("label",{key:4,class:e.normalizeClass(["global-info-field-control global-info-field-control--file",{"is-disabled":g.value,"is-empty":!v.value,"is-filled":v.value}])},[e.createElementVNode("input",{class:"global-info-field-control__file-input",type:"file",disabled:g.value,accept:String(c.field.props?.accept??""),multiple:!!c.field.props?.multiple,onChange:E},null,40,Ro),v.value?(e.openBlock(),e.createElementBlock("span",Lo,e.toDisplayString(p.value),1)):(e.openBlock(),e.createElementBlock("span",Go,"上 传"))],2)):s.value==="empty"?(e.openBlock(),e.createBlock(_,{key:5,class:"global-info-field-control","model-value":"",disabled:"",placeholder:"-"})):(e.openBlock(),e.createBlock(_,e.mergeProps({key:6,class:["global-info-field-control",{"global-info-field-control--code":s.value==="code"}]},c.field.props,{"model-value":f.value,placeholder:d.value,disabled:g.value,type:a.includes(s.value)?"textarea":"text",rows:a.includes(s.value)?V.value:void 0,"onUpdate:modelValue":y,onChange:I}),null,16,["class","model-value","placeholder","disabled","type","rows"]))}}}),Me=J(Do,[["__scopeId","data-v-7f04d1b2"]]),zo=["innerHTML"],jo={key:1,class:"global-info-field-value global-info-field-value--code"},xo=e.defineComponent({name:"GlobalInfoFieldValue",__name:"GlobalInfoFieldValue",props:{field:{},value:{},emptyText:{default:"-"}},setup(o){const t=o,n=e.computed(()=>gt(t.field)),l=e.computed(()=>n.value==="empty"||Fe(t.value)),a=e.computed(()=>yt(t.field,t.value,t.emptyText));return(s,g)=>n.value==="html"&&!l.value?(e.openBlock(),e.createElementBlock("span",{key:0,class:"global-info-field-value global-info-field-value--html",innerHTML:a.value},null,8,zo)):n.value==="code"&&!l.value?(e.openBlock(),e.createElementBlock("pre",jo,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"&&!l.value}])},e.toDisplayString(a.value),3))}}),Re=J(xo,[["__scopeId","data-v-08b37e58"]]),Ao={class:"global-info-form-renderer__label"},Oo={key:0,class:"global-info-form-renderer__required"},Jo=e.defineComponent({name:"GlobalInfoFormRenderer",__name:"GlobalInfoFormRenderer",props:{section:{},node:{},editing:{type:Boolean},state:{},actions:{},model:{},onUpdateModel:{type:Function}},setup(o){const t=o,n=e.useSlots(),l=e.computed(()=>t.section.fields.filter(p=>p.visible)),a=e.computed(()=>t.model??t.section.model);function s(p,d){const y={...a.value,[p.code]:d};(p.cascadeClearFields??[]).forEach(I=>{y[I]=""}),t.onUpdateModel?.(y),t.onUpdateModel||t.actions.updateField(t.section,p,d)}async function g(p){try{await t.actions.loadFieldOptions(t.section,p,a.value)}catch(d){console.error("[GlobalInfoFormRenderer] load field options failed",d)}}function f(p){const d=a.value[p.code];return{field:p,section:t.section,sectionView:t.section,node:t.node,editing:t.editing,modelValue:d,value:d,state:t.state,actions:t.actions,updateModelValue:y=>s(p,y)}}function u(p){const d=String(p.id||p.key||p.code||"").trim(),y=d?`field-${d}`:"";if(y&&n[y])return y;const I=y.toLowerCase();return I!==y&&n[I]?I:""}function b(p){return p.span?Math.min(Math.max(p.span,1),24):6}function V(p){return p.key||p.id||p.code}function v(p){return p.required||p.isRequired}return(p,d)=>{const y=G.ElFormItem,I=G.ElCol,F=G.ElRow,E=G.ElForm;return e.openBlock(),e.createBlock(E,{class:"global-info-form-renderer",model:a.value,"label-position":"top"},{default:e.withCtx(()=>[e.createVNode(F,{gutter:24},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,c=>(e.openBlock(),e.createBlock(I,{key:V(c),span:b(c)},{default:e.withCtx(()=>[e.createVNode(y,e.mergeProps({prop:c.code,ref_for:!0},c.formItemProps),{label:e.withCtx(()=>[e.createElementVNode("span",Ao,[v(c)?(e.openBlock(),e.createElementBlock("span",Oo,"*")):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(c.label),1)])]),default:e.withCtx(()=>[u(c)?e.renderSlot(p.$slots,u(c),e.mergeProps({key:0,ref_for:!0},f(c)),void 0,!0):p.editing&&!c.readonly?(e.openBlock(),e.createBlock(Me,{key:1,field:c,"model-value":a.value[c.code],section:p.section,onLoadOptions:()=>g(c),"onUpdate:modelValue":h=>s(c,h)},null,8,["field","model-value","section","onLoadOptions","onUpdate:modelValue"])):(e.openBlock(),e.createBlock(Re,{key:2,field:c,value:a.value[c.code],section:p.section},null,8,["field","value","section"]))]),_:2},1040,["prop"])]),_:2},1032,["span"]))),128))]),_:3})]),_:3},8,["model"])}}}),kt=J(Jo,[["__scopeId","data-v-3c8d26e1"]]),St=e.defineComponent({name:"GlobalInfoDeleteConfirm",__name:"GlobalInfoDeleteConfirm",props:{title:{default:"确认删除吗?"},confirmText:{default:"确认"},cancelText:{default:"取消"}},emits:["confirm","cancel"],setup(o){return(t,n)=>{const l=G.ElPopconfirm;return e.openBlock(),e.createBlock(l,{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"])}}}),qo={class:"global-info-table-renderer"},Ko={class:"global-info-table-renderer__table-scroll"},Ho={class:"global-info-table-renderer__header"},Uo={key:0,class:"global-info-table-renderer__required"},Wo=e.defineComponent({name:"GlobalInfoTableRenderer",__name:"GlobalInfoTableRenderer",props:{section:{},node:{},editing:{type:Boolean},state:{},actions:{},showAdd:{type:Boolean,default:!0},showDelete:{type:Boolean,default:!0}},setup(o){const t=o,n=e.useSlots(),l=e.computed(()=>t.section.fields.filter(c=>c.visible));function a(c){t.actions.deleteRow(t.section,c)}function s(c,h,S,P){const w=t.section.rows.slice(),k=S.cascadeClearFields??[],N={...c,__rowKey:F(c),[S.code]:P};k.forEach(_=>{N[_]=""}),w[h]={...N},t.actions.updateTableRows(t.section,w)}async function g(c,h){try{await t.actions.loadFieldOptions(t.section,c,h)}catch(S){console.error("[GlobalInfoTableRenderer] load field options failed",S)}}function f(c,h,S){const P=h[c.code];return{field:c,section:t.section,sectionView:t.section,node:t.node,row:h,rowIndex:S,editing:t.editing,modelValue:P,value:P,state:t.state,actions:t.actions,updateModelValue:w=>s(h,S,c,w)}}function u(c){const h=String(c.id||c.key||c.code||"").trim(),S=h?`field-${h}`:"";if(S&&n[S])return S;const P=S.toLowerCase();return P!==S&&n[P]?P:""}function b(c){return!c.readonly&&!c.disabled}function V(c){return c.width??(d(c)?56:void 0)}function v(c){if(!c.width)return c.minWidth??(d(c)?56:void 0)}function p(c){return c.key||c.id||c.code}function d(c){return[c.label,c.name,c.code,c.key,c.id].map(S=>String(S??"").trim().toLowerCase()).some(S=>["序号","index","idx","seq","serial","order","rownum","row_no"].includes(S))}let y=0;const I=new WeakMap;function F(c){const h=c.__rowKey??c.key??c.id??c.setId??c.infSetId;if(h!=null&&h!=="")return String(h);const S=c,P=I.get(S);if(P)return P;y+=1;const w=`local-${y}`;return I.set(S,w),w}function E(c){return c.required||c.isRequired}return(c,h)=>{const S=G.ElTableColumn,P=e.resolveComponent("Delete"),w=G.ElIcon,k=G.ElButton,N=G.ElTable;return e.openBlock(),e.createElementBlock("div",qo,[e.createElementVNode("div",Ko,[e.createVNode(N,{class:"global-info-table-renderer__table",data:c.section.rows,"row-key":F},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,_=>(e.openBlock(),e.createBlock(S,{key:p(_),prop:_.code,label:_.label,width:V(_),"min-width":v(_)},{header:e.withCtx(()=>[e.createElementVNode("span",Ho,[E(_)?(e.openBlock(),e.createElementBlock("span",Uo,"*")):e.createCommentVNode("",!0),e.createElementVNode("span",null,e.toDisplayString(_.label),1)])]),default:e.withCtx(({row:R,$index:K})=>[u(_)?e.renderSlot(c.$slots,u(_),e.mergeProps({key:0,ref_for:!0},f(_,R,K)),void 0,!0):c.editing&&b(_)?(e.openBlock(),e.createBlock(Me,{key:1,field:_,"model-value":R[_.code],section:c.section,row:R,"row-index":K,onLoadOptions:()=>g(_,R),"onUpdate:modelValue":Z=>s(R,K,_,Z)},null,8,["field","model-value","section","row","row-index","onLoadOptions","onUpdate:modelValue"])):(e.openBlock(),e.createBlock(Re,{key:2,field:_,value:R[_.code],section:c.section,row:R,"row-index":K},null,8,["field","value","section","row","row-index"]))]),_:2},1032,["prop","label","width","min-width"]))),128)),c.editing?(e.openBlock(),e.createBlock(S,{key:0,label:"操作",width:"104",fixed:"right"},{default:e.withCtx(({$index:_})=>[c.showDelete?(e.openBlock(),e.createBlock(St,{key:0,onConfirm:R=>a(_)},{default:e.withCtx(()=>[e.createVNode(k,{class:"global-info-table-renderer__delete",link:"",type:"danger"},{default:e.withCtx(()=>[e.createVNode(w,{class:"global-info-table-renderer__delete-icon"},{default:e.withCtx(()=>[e.createVNode(P)]),_:1}),h[0]||(h[0]=e.createTextVNode(" 删除 "))]),_:1})]),_:2},1032,["onConfirm"])):e.createCommentVNode("",!0)]),_:1})):e.createCommentVNode("",!0)]),_:3},8,["data"])])])}}}),wt=J(Wo,[["__scopeId","data-v-d05669dd"]]),It=e.defineComponent({name:"GlobalInfoAutoRenderer",__name:"GlobalInfoAutoRenderer",props:{section:{},node:{},editing:{type:Boolean},state:{},actions:{}},setup(o){return(t,n)=>t.section.renderType==="table"?(e.openBlock(),e.createBlock(wt,{key:0,section:t.section,node:t.node,editing:t.editing,state:t.state,actions:t.actions},null,8,["section","node","editing","state","actions"])):(e.openBlock(),e.createBlock(kt,{key:1,section:t.section,node:t.node,editing:t.editing,state:t.state,actions:t.actions},null,8,["section","node","editing","state","actions"]))}}),_t=e.defineComponent({name:"GlobalInfoSectionOutlet",__name:"GlobalInfoSectionOutlet",props:{section:{},node:{},editing:{type:Boolean},state:{},actions:{}},setup(o){const t=o,n=e.useSlots(),l=e.computed(()=>t.editing??t.actions.isEditing(t.section)),a=e.computed(()=>t.section.renderType==="table"?t.section.rows.length===0:t.section.fields.length===0),s=e.computed(()=>{const u=g(t.section.id||t.section.key),b=f(t.section.renderType);return[u,b,"default"].find(V=>!!(V&&n[V]))??""});function g(u){const b=String(u??"").trim();return b?`section-${b}`:""}function f(u){return u==="form"||u==="table"?u:""}return(u,b)=>s.value?e.renderSlot(u.$slots,s.value,{key:0,section:u.section,sectionView:u.section,node:u.node,editing:l.value,isEmpty:a.value,empty:a.value,fields:u.section.fields,state:u.state,actions:u.actions}):(e.openBlock(),e.createBlock(It,{key:1,section:u.section,node:u.node,editing:l.value,state:u.state,actions:u.actions},null,8,["section","node","editing","state","actions"]))}}),Yo=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 l=e.ref(!1);e.watch(()=>o.boundaryKey,()=>{l.value=!1}),e.onErrorCaptured(s=>(a(s),!1));function a(s){l.value=!0,console.error(`[GlobalInfoSlotErrorBoundary] ${o.label||"section"} slot render failed`,s),t("error",s)}return()=>{if(l.value)return n.fallback?.()??null;try{return n.default?.()??null}catch(s){return a(s),n.fallback?.()??null}}}}),Zo={class:"global-info-section-block"},Qo={key:0,class:"global-info-section-block__header"},Xo={class:"global-info-section-block__title-wrap"},en={class:"global-info-section-block__title"},tn={key:0,class:"global-info-section-block__actions"},on={class:"global-info-section-block__body"},nn=e.defineComponent({name:"GlobalInfoSectionBlock",__name:"GlobalInfoSectionBlock",props:{node:{},state:{},actions:{},hideHeader:{type:Boolean},onEdit:{type:Function},onCancel:{type:Function},onSave:{type:Function}},setup(o){const t=o,n=e.useSlots(),l=e.ref(!1),a=e.ref(null),s=e.ref(null),g=e.computed(()=>!!t.hideHeader),f=e.computed(()=>t.actions.getSectionStatus(t.node)),u=e.computed(()=>t.actions.getSection(t.node)??s.value),b=e.computed(()=>u.value?.title||t.node.tagName||t.node.label||"-"),V=e.computed(()=>!!(u.value&&t.actions.isEditing(u.value))),v=e.computed(()=>u.value?.renderType==="table"),p=e.computed(()=>l.value||f.value.loading),d=e.computed(()=>F(a.value||f.value.error)),y=e.computed(()=>{const k=u.value;return k?k.renderType==="table"?k.rows.length===0:k.fields.length===0:!0}),I=e.computed(()=>({node:t.node,section:u.value,sectionView:u.value,fields:u.value?.fields??[],title:b.value,editing:V.value,loading:p.value,error:a.value||f.value.error,errorMessage:d.value,isEmpty:y.value,empty:y.value,sectionStatus:f.value,state:t.state,actions:t.actions,reload:w,handleEdit:E,handleCancel:c,handleAddTableRow:h,handleSave:S}));function F(k){return k?k instanceof Error?k.message:String(k):""}async function E(){const k=u.value;k&&(await t.onEdit?.(k,t.node),t.onEdit||t.actions.startEdit(k))}async function c(){const k=u.value;k&&(await t.onCancel?.(k,t.node),t.onCancel||t.actions.cancelEdit(k))}function h(){const k=u.value;if(!k)return;const N=k.fields.reduce((_,R)=>(_[R.code]=R.value??"",_),{__rowKey:`new-${Date.now()}`});t.actions.saveRow(k,N,-1)}async function S(){const k=u.value;if(k)try{if(t.onSave){await t.onSave(k,t.node);return}await t.actions.saveSection(k)}catch(N){a.value=N,console.error("[GlobalInfoSectionBlock] save section failed",N)}}function P(k){a.value=k}async function w(){l.value=!0,a.value=null,s.value=null;try{s.value=await t.actions.loadSection(t.node)}catch(k){a.value=k,console.error("[GlobalInfoSectionBlock] load section failed",k)}finally{l.value=!1}}return e.onMounted(()=>{w()}),e.watch(()=>t.node.key,()=>{w()}),(k,N)=>{const _=G.ElButton;return e.openBlock(),e.createElementBlock("section",Zo,[g.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("header",Qo,[e.renderSlot(k.$slots,"header",e.normalizeProps(e.guardReactiveProps(I.value)),()=>[e.createElementVNode("div",Xo,[N[0]||(N[0]=e.createElementVNode("span",{class:"global-info-section-block__marker"},null,-1)),e.createElementVNode("h3",en,e.toDisplayString(b.value),1)]),e.renderSlot(k.$slots,"actions",e.normalizeProps(e.guardReactiveProps(I.value)),()=>[u.value?(e.openBlock(),e.createElementBlock("div",tn,[V.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createVNode(_,{class:"global-info-section-block__cancel",link:"",disabled:f.value.saving,onClick:c},{default:e.withCtx(()=>N[2]||(N[2]=[e.createTextVNode(" 取消 ")])),_:1},8,["disabled"]),v.value?(e.openBlock(),e.createBlock(_,{key:0,class:"global-info-section-block__add",link:"",disabled:f.value.saving,onClick:h},{default:e.withCtx(()=>N[3]||(N[3]=[e.createTextVNode(" 新增 ")])),_:1},8,["disabled"])):e.createCommentVNode("",!0),e.createVNode(_,{class:"global-info-section-block__confirm",link:"",type:"primary",loading:f.value.saving,onClick:S},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(v.value?"确认":"保存"),1)]),_:1},8,["loading"])],64)):(e.openBlock(),e.createBlock(_,{key:0,class:"global-info-section-block__edit",link:"",type:"primary",disabled:f.value.saving||p.value,onClick:E},{default:e.withCtx(()=>N[1]||(N[1]=[e.createTextVNode(" 编辑 ")])),_:1},8,["disabled"]))])):e.createCommentVNode("",!0)],!0)],!0)])),e.createElementVNode("div",on,[p.value?e.renderSlot(k.$slots,"loading",e.normalizeProps(e.mergeProps({key:0},I.value)),()=>[N[4]||(N[4]=e.createElementVNode("div",{class:"global-info-section-block__status"},"加载中...",-1))],!0):!u.value||y.value||d.value?e.renderSlot(k.$slots,"empty",e.normalizeProps(e.mergeProps({key:1},I.value)),()=>[N[5]||(N[5]=e.createElementVNode("div",{class:"global-info-section-block__status"},"暂无数据",-1))],!0):(e.openBlock(),e.createBlock(Yo,{key:2,"boundary-key":k.node.key,label:b.value,onError:P},{fallback:e.withCtx(()=>[e.renderSlot(k.$slots,"empty",e.normalizeProps(e.guardReactiveProps(I.value)),()=>[N[6]||(N[6]=e.createElementVNode("div",{class:"global-info-section-block__status"},"暂无数据",-1))],!0)]),default:e.withCtx(()=>[e.createVNode(_t,{section:u.value,node:k.node,editing:V.value,state:k.state,actions:k.actions},e.createSlots({_:2},[e.renderList(e.unref(n),(R,K)=>({name:K,fn:e.withCtx(Z=>[e.renderSlot(k.$slots,K,e.normalizeProps(e.guardReactiveProps({...I.value,...Z})),void 0,!0)])}))]),1032,["section","node","editing","state","actions"])]),_:3},8,["boundary-key","label"]))])])}}}),Bt=J(nn,[["__scopeId","data-v-07953e28"]]),ln={class:"global-info-group"},an={class:"global-info-group__header"},rn={class:"global-info-group__title"},sn={class:"global-info-group__body"},cn=["id"],un=e.defineComponent({name:"GlobalInfoGroup",__name:"GlobalInfoGroup",props:{group:{},children:{},state:{},actions:{},index:{}},setup(o){const t=o,n=e.useSlots(),l=e.computed(()=>t.group.tagName||t.group.label||"-"),a=e.computed(()=>t.children.length<=1);function s(v,p){const d=t.actions.getSection(v);return{node:v,group:t.group,sectionNode:v,section:d,sectionView:d,state:t.state,actions:t.actions,index:p,editing:!!(d&&t.actions.isEditing(d)),sectionStatus:t.actions.getSectionStatus(v),isSelfSection:b(v,0)===b(t.group,0),handleEdit:()=>t.actions.startEdit(v),handleCancel:()=>t.actions.cancelEdit(v),handleSave:()=>t.actions.saveSection(v.key)}}function g(v){return f("section",u(v))}function f(v,p){if(!p)return"";const d=`${v}-${p}`;if(n[d])return d;const y=d.toLowerCase();return y!==d&&n[y]?y:""}function u(v){return String(v.id||v.infSetId||v.tagId||v.key||v.code||"").trim()}function b(v,p){return v.key||v.id||v.infSetId||v.tagId||`${p}`}function V(v){return`global-info-section-${b(v,0)}`}return(v,p)=>(e.openBlock(),e.createElementBlock("section",ln,[e.renderSlot(v.$slots,"header",{group:v.group,children:v.children,state:v.state,actions:v.actions,title:l.value,index:v.index,isEmpty:v.children.length===0},()=>[e.createElementVNode("header",an,[p[0]||(p[0]=e.createElementVNode("span",{class:"global-info-group__marker"},null,-1)),e.createElementVNode("h2",rn,e.toDisplayString(l.value),1)])],!0),e.createElementVNode("div",sn,[e.unref(n).default?e.renderSlot(v.$slots,"default",{key:0,group:v.group,children:v.children,state:v.state,actions:v.actions,index:v.index,isEmpty:v.children.length===0},void 0,!0):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(v.children,(d,y)=>(e.openBlock(),e.createElementBlock("div",{id:V(d),key:b(d,y),class:"global-info-group__section"},[g(d)?e.renderSlot(v.$slots,g(d),e.mergeProps({key:0,ref_for:!0},s(d,y)),void 0,!0):e.unref(n).section?e.renderSlot(v.$slots,"section",e.mergeProps({key:1,ref_for:!0},s(d,y)),void 0,!0):(e.openBlock(),e.createBlock(Bt,{key:2,node:d,state:v.state,actions:v.actions,"hide-header":a.value},e.createSlots({_:2},[e.renderList(e.unref(n),(I,F)=>({name:F,fn:e.withCtx(E=>[e.renderSlot(v.$slots,F,e.mergeProps({ref_for:!0},E),void 0,!0)])}))]),1032,["node","state","actions","hide-header"]))],8,cn))),128)),v.children.length===0?e.renderSlot(v.$slots,"empty",{key:0,node:null,group:v.group,sectionNode:null,state:v.state,actions:v.actions,index:-1},()=>[p[1]||(p[1]=e.createElementVNode("div",{class:"global-info-group__empty"},"暂无数据",-1))],!0):e.createCommentVNode("",!0)],64))])]))}}),Ct=J(un,[["__scopeId","data-v-7bca662c"]]),dn={class:"global-info-sections"},pn=e.defineComponent({name:"GlobalInfoSections",__name:"GlobalInfoSections",props:{nodes:{},state:{},actions:{}},setup(o){const t=o,n=e.useSlots(),l=e.computed(()=>{const p=t.nodes.filter(h=>a(h).length>0),d=t.nodes.filter(h=>a(h).length===0),y=d.filter(h=>s(h)),I=d.filter(h=>!s(h)),F=p.map(h=>({group:h,children:a(h)})),E=y.map(h=>({group:h,children:[h]}));if(F.length===0)return y.length>0?E:v(I);const c=v(I);return[...F,...E,...c]});function a(p){return p.children??[]}function s(p){return!String(p.parentId||p.parentTagId||"").trim()}function g(p){return f("group",u(p))}function f(p,d){if(!d)return"";const y=`${p}-${d}`;if(n[y])return y;const I=y.toLowerCase();return I!==y&&n[I]?I:""}function u(p){return String(p.id||p.tagId||p.key||p.code||"").trim()}function b(p,d){return p.key||p.id||p.tagId||`${d}`}function V(p){const d=p[0],y=d?.raw??{},I=String(y.parentTagName||y.parentName||y.parentLabel||d?.parentId||"信息");return{...d,key:`${d?.parentId||d?.parentTagId||d?.key||"global-info"}-group`,id:String(d?.parentId||d?.parentTagId||d?.id||"global-info-group"),tagId:String(d?.parentTagId||d?.parentId||d?.tagId||"global-info-group"),tagName:I,label:I,children:p}}function v(p){const d=new Map;return p.forEach(y=>{const I=String(y.parentId||y.parentTagId||"global-info-flat"),F=d.get(I)??[];F.push(y),d.set(I,F)}),Array.from(d.values()).map(y=>({group:V(y),children:y}))}return(p,d)=>(e.openBlock(),e.createElementBlock("div",dn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,(y,I)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:b(y.group,I)},[g(y.group)?e.renderSlot(p.$slots,g(y.group),{key:0,group:y.group,children:y.children,state:p.state,actions:p.actions,index:I,isEmpty:y.children.length===0},void 0,!0):e.unref(n).group?e.renderSlot(p.$slots,"group",{key:1,group:y.group,children:y.children,state:p.state,actions:p.actions,index:I,isEmpty:y.children.length===0},void 0,!0):(e.openBlock(),e.createBlock(Ct,{key:2,group:y.group,children:y.children,state:p.state,actions:p.actions,index:I},e.createSlots({_:2},[e.renderList(e.unref(n),(F,E)=>({name:E,fn:e.withCtx(c=>[e.renderSlot(p.$slots,E,e.mergeProps({ref_for:!0},c),void 0,!0)])}))]),1032,["group","children","state","actions","index"]))],64))),128))]))}}),fn=J(pn,[["__scopeId","data-v-33354916"]]);exports.JtAttachmentPreview=Pe.JtAttachmentPreview;exports.JtAttachmentPreviewByParams=Pe.JtAttachmentPreviewByParams;exports.setupJtAttachmentPreview=Pe.setupJtAttachmentPreview;exports.GlobalInfoAutoRenderer=It;exports.GlobalInfoDeleteConfirm=St;exports.GlobalInfoFieldControl=Me;exports.GlobalInfoFieldValue=Re;exports.GlobalInfoFormRenderer=kt;exports.GlobalInfoGroup=Ct;exports.GlobalInfoProvider=No;exports.GlobalInfoSectionBlock=Bt;exports.GlobalInfoSectionOutlet=_t;exports.GlobalInfoSections=fn;exports.GlobalInfoTableRenderer=wt;exports.JtButton=ve;exports.JtCascader=Ue;exports.JtCrudTable=io;exports.JtDatePicker=We;exports.JtFilterBar=Qe;exports.JtFormItems=Ze;exports.JtInput=Se;exports.JtPageHeader=mo;exports.JtPagination=et;exports.JtSelect=Ye;exports.JtTable=Xe;exports.buildGlobalInfoUpdatePayload=lt;exports.createEmptyGlobalInfoViewModel=tt;exports.isGlobalInfoNode=vo;exports.mergeGlobalInfoChildren=Te;exports.normalizeGlobalInfoDetail=ot;exports.normalizeGlobalInfoTree=Ve;exports.resolveGlobalInfoRenderType=nt;exports.useGlobalInfoController=vt;
package/dist/index.mjs CHANGED
@@ -93,7 +93,7 @@ const yn = /* @__PURE__ */ x({
93
93
  for (const [o, a] of e)
94
94
  n[o] = a;
95
95
  return n;
96
- }, ze = /* @__PURE__ */ X(yn, [["__scopeId", "data-v-fbcdce34"]]), bn = /* @__PURE__ */ x({
96
+ }, ze = /* @__PURE__ */ X(yn, [["__scopeId", "data-v-a8344276"]]), bn = /* @__PURE__ */ x({
97
97
  name: "JtCascader",
98
98
  __name: "index",
99
99
  props: {
@@ -148,7 +148,7 @@ const yn = /* @__PURE__ */ x({
148
148
  return y(), V(p, K({ class: "jt-cascader" }, n, Fe(a.value)), null, 16);
149
149
  };
150
150
  }
151
- }), Sn = /* @__PURE__ */ X(bn, [["__scopeId", "data-v-9164edeb"]]), _n = /* @__PURE__ */ x({
151
+ }), Sn = /* @__PURE__ */ X(bn, [["__scopeId", "data-v-4c43f27e"]]), _n = /* @__PURE__ */ x({
152
152
  name: "JtDatePicker",
153
153
  __name: "index",
154
154
  props: {
@@ -216,7 +216,7 @@ const yn = /* @__PURE__ */ x({
216
216
  }), null, 16);
217
217
  };
218
218
  }
219
- }), In = /* @__PURE__ */ X(_n, [["__scopeId", "data-v-2aaf2264"]]), wn = /* @__PURE__ */ x({
219
+ }), In = /* @__PURE__ */ X(_n, [["__scopeId", "data-v-7aa4706e"]]), wn = /* @__PURE__ */ x({
220
220
  name: "JtInput",
221
221
  __name: "index",
222
222
  props: {
@@ -272,7 +272,7 @@ const yn = /* @__PURE__ */ x({
272
272
  }), null, 16);
273
273
  };
274
274
  }
275
- }), xe = /* @__PURE__ */ X(wn, [["__scopeId", "data-v-c4e9cb3f"]]), kn = /* @__PURE__ */ x({
275
+ }), xe = /* @__PURE__ */ X(wn, [["__scopeId", "data-v-031428a1"]]), kn = /* @__PURE__ */ x({
276
276
  name: "JtSelect",
277
277
  __name: "index",
278
278
  props: {
@@ -353,7 +353,7 @@ const yn = /* @__PURE__ */ x({
353
353
  }, 16);
354
354
  };
355
355
  }
356
- }), Cn = /* @__PURE__ */ X(kn, [["__scopeId", "data-v-abce8e44"]]), $n = { class: "jt-form-items" }, We = 4, Tn = /* @__PURE__ */ x({
356
+ }), Cn = /* @__PURE__ */ X(kn, [["__scopeId", "data-v-c67cfa84"]]), $n = { class: "jt-form-items" }, We = 4, Tn = /* @__PURE__ */ x({
357
357
  name: "JTFormItems",
358
358
  __name: "JtFormItems",
359
359
  props: {
@@ -465,7 +465,7 @@ const yn = /* @__PURE__ */ x({
465
465
  ]);
466
466
  };
467
467
  }
468
- }), Bn = /* @__PURE__ */ X(Tn, [["__scopeId", "data-v-002c0b17"]]);
468
+ }), Bn = /* @__PURE__ */ X(Tn, [["__scopeId", "data-v-d7aa2097"]]);
469
469
  function En() {
470
470
  const t = ne(!1);
471
471
  function e() {
@@ -715,7 +715,7 @@ const Fn = "data:image/svg+xml,%3csvg%20width='14'%20height='14'%20viewBox='0%20
715
715
  ], 6);
716
716
  };
717
717
  }
718
- }), Gn = /* @__PURE__ */ X(jn, [["__scopeId", "data-v-94909b80"]]), On = { key: 1 }, An = { key: 2 }, zn = { key: 3 }, Dn = /* @__PURE__ */ x({
718
+ }), Gn = /* @__PURE__ */ X(jn, [["__scopeId", "data-v-a6a4f467"]]), On = { key: 1 }, An = { key: 2 }, zn = { key: 3 }, Dn = /* @__PURE__ */ x({
719
719
  name: "JtTable",
720
720
  __name: "JtTable",
721
721
  props: {
@@ -821,7 +821,7 @@ const Fn = "data:image/svg+xml,%3csvg%20width='14'%20height='14'%20viewBox='0%20
821
821
  }, 16, ["data", "row-key", "height", "max-height", "empty-text"]);
822
822
  };
823
823
  }
824
- }), Kn = /* @__PURE__ */ X(Dn, [["__scopeId", "data-v-2f881a67"]]), qn = { class: "jt-pagination" }, Jn = { class: "jt-pagination__count" }, Un = /* @__PURE__ */ x({
824
+ }), Kn = /* @__PURE__ */ X(Dn, [["__scopeId", "data-v-513fa12d"]]), qn = { class: "jt-pagination" }, Jn = { class: "jt-pagination__count" }, Un = /* @__PURE__ */ x({
825
825
  name: "JtPagination",
826
826
  __name: "JtPagination",
827
827
  props: {
@@ -854,7 +854,7 @@ const Fn = "data:image/svg+xml,%3csvg%20width='14'%20height='14'%20viewBox='0%20
854
854
  ]);
855
855
  };
856
856
  }
857
- }), Hn = /* @__PURE__ */ X(Un, [["__scopeId", "data-v-19ef6db6"]]), xn = { class: "jt-crud-table" }, Wn = {
857
+ }), Hn = /* @__PURE__ */ X(Un, [["__scopeId", "data-v-746af6aa"]]), xn = { class: "jt-crud-table" }, Wn = {
858
858
  key: 1,
859
859
  class: "jt-crud-table__toolbar"
860
860
  }, Yn = /* @__PURE__ */ x({
@@ -979,7 +979,7 @@ const Fn = "data:image/svg+xml,%3csvg%20width='14'%20height='14'%20viewBox='0%20
979
979
  ]);
980
980
  };
981
981
  }
982
- }), va = /* @__PURE__ */ X(Yn, [["__scopeId", "data-v-6df082c6"]]), Zn = { class: "jt-page-header__title" }, Qn = { key: 0 }, Xn = {
982
+ }), va = /* @__PURE__ */ X(Yn, [["__scopeId", "data-v-ad466273"]]), Zn = { class: "jt-page-header__title" }, Qn = { key: 0 }, Xn = {
983
983
  key: 0,
984
984
  class: "jt-page-header__operates"
985
985
  }, eo = /* @__PURE__ */ x({
@@ -1028,7 +1028,7 @@ const Fn = "data:image/svg+xml,%3csvg%20width='14'%20height='14'%20viewBox='0%20
1028
1028
  ])) : Q("", !0)
1029
1029
  ], 16));
1030
1030
  }
1031
- }), ga = /* @__PURE__ */ X(eo, [["__scopeId", "data-v-9fe9e823"]]);
1031
+ }), ga = /* @__PURE__ */ X(eo, [["__scopeId", "data-v-9e6bb356"]]);
1032
1032
  function to(t = null) {
1033
1033
  return {
1034
1034
  scheme: null,
@@ -2106,7 +2106,7 @@ const Co = ["disabled", "accept", "multiple"], $o = {
2106
2106
  }), null, 16, ["class", "model-value", "placeholder", "disabled", "type", "rows"]));
2107
2107
  };
2108
2108
  }
2109
- }), Jt = /* @__PURE__ */ X(Bo, [["__scopeId", "data-v-ba86a0ae"]]), Eo = ["innerHTML"], Fo = {
2109
+ }), Jt = /* @__PURE__ */ X(Bo, [["__scopeId", "data-v-7f04d1b2"]]), Eo = ["innerHTML"], Fo = {
2110
2110
  key: 1,
2111
2111
  class: "global-info-field-value global-info-field-value--code"
2112
2112
  }, Mo = /* @__PURE__ */ x({
@@ -2131,7 +2131,7 @@ const Co = ["disabled", "accept", "multiple"], $o = {
2131
2131
  }])
2132
2132
  }, ee(a.value), 3));
2133
2133
  }
2134
- }), Ut = /* @__PURE__ */ X(Mo, [["__scopeId", "data-v-aa0d493d"]]), Vo = { class: "global-info-form-renderer__label" }, Po = {
2134
+ }), Ut = /* @__PURE__ */ X(Mo, [["__scopeId", "data-v-08b37e58"]]), Vo = { class: "global-info-form-renderer__label" }, Po = {
2135
2135
  key: 0,
2136
2136
  class: "global-info-form-renderer__required"
2137
2137
  }, No = /* @__PURE__ */ x({
@@ -2247,7 +2247,7 @@ const Co = ["disabled", "accept", "multiple"], $o = {
2247
2247
  }, 8, ["model"]);
2248
2248
  };
2249
2249
  }
2250
- }), Lo = /* @__PURE__ */ X(No, [["__scopeId", "data-v-9dcd2ba9"]]), Ro = /* @__PURE__ */ x({
2250
+ }), Lo = /* @__PURE__ */ X(No, [["__scopeId", "data-v-3c8d26e1"]]), Ro = /* @__PURE__ */ x({
2251
2251
  name: "GlobalInfoDeleteConfirm",
2252
2252
  __name: "GlobalInfoDeleteConfirm",
2253
2253
  props: {
@@ -2455,7 +2455,7 @@ const Co = ["disabled", "accept", "multiple"], $o = {
2455
2455
  ]);
2456
2456
  };
2457
2457
  }
2458
- }), Do = /* @__PURE__ */ X(zo, [["__scopeId", "data-v-2fa29438"]]), Ko = /* @__PURE__ */ x({
2458
+ }), Do = /* @__PURE__ */ X(zo, [["__scopeId", "data-v-d05669dd"]]), Ko = /* @__PURE__ */ x({
2459
2459
  name: "GlobalInfoAutoRenderer",
2460
2460
  __name: "GlobalInfoAutoRenderer",
2461
2461
  props: {
@@ -2759,7 +2759,7 @@ const Co = ["disabled", "accept", "multiple"], $o = {
2759
2759
  ]);
2760
2760
  };
2761
2761
  }
2762
- }), Xo = /* @__PURE__ */ X(Qo, [["__scopeId", "data-v-0d8ae722"]]), ea = { class: "global-info-group" }, ta = { class: "global-info-group__header" }, na = { class: "global-info-group__title" }, oa = { class: "global-info-group__body" }, aa = ["id"], la = /* @__PURE__ */ x({
2762
+ }), Xo = /* @__PURE__ */ X(Qo, [["__scopeId", "data-v-07953e28"]]), ea = { class: "global-info-group" }, ta = { class: "global-info-group__header" }, na = { class: "global-info-group__title" }, oa = { class: "global-info-group__body" }, aa = ["id"], la = /* @__PURE__ */ x({
2763
2763
  name: "GlobalInfoGroup",
2764
2764
  __name: "GlobalInfoGroup",
2765
2765
  props: {
@@ -2875,7 +2875,7 @@ const Co = ["disabled", "accept", "multiple"], $o = {
2875
2875
  ])
2876
2876
  ]));
2877
2877
  }
2878
- }), ra = /* @__PURE__ */ X(la, [["__scopeId", "data-v-778e227f"]]), sa = { class: "global-info-sections" }, ia = /* @__PURE__ */ x({
2878
+ }), ra = /* @__PURE__ */ X(la, [["__scopeId", "data-v-7bca662c"]]), sa = { class: "global-info-sections" }, ia = /* @__PURE__ */ x({
2879
2879
  name: "GlobalInfoSections",
2880
2880
  __name: "GlobalInfoSections",
2881
2881
  props: {
@@ -2973,7 +2973,7 @@ const Co = ["disabled", "accept", "multiple"], $o = {
2973
2973
  ], 64))), 128))
2974
2974
  ]));
2975
2975
  }
2976
- }), ba = /* @__PURE__ */ X(ia, [["__scopeId", "data-v-f15cf0fb"]]);
2976
+ }), ba = /* @__PURE__ */ X(ia, [["__scopeId", "data-v-33354916"]]);
2977
2977
  export {
2978
2978
  Ko as GlobalInfoAutoRenderer,
2979
2979
  Ro as GlobalInfoDeleteConfirm,