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