@jt-home/mfe-components 1.0.3 → 1.0.5
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 +2428 -1680
- package/dist/pdf-BmBuG7of.js +18058 -0
- package/dist/pdf-Da0bm_Ya.cjs +55 -0
- package/dist/pdf.worker.min-4PI-nNLo.js +4 -0
- package/dist/pdf.worker.min-BAJUPwg6.cjs +1 -0
- package/dist/style.css +1 -1
- package/dist/types/components/JtAttachmentPreview/index.d.ts +10 -0
- package/dist/types/components/JtAttachmentPreview/types.d.ts +45 -0
- package/dist/types/components/globalInfo/renderers/GlobalInfoDeleteConfirm.vue.d.ts +2 -2
- package/dist/types/components/index.d.ts +2 -0
- package/dist/types/main.d.ts +2 -2
- package/package.json +8 -4
- package/readme.md +77 -77
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 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;
|
|
2
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),D=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");const Z=require("element-plus");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");require("element-plus/theme-chalk/el-loading.css");require("element-plus/theme-chalk/el-pagination.css");const Te=2,Ht=3;function Wt(t){return t.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}function Ze(t){if(!t.startsWith("on")||t.length<=Te)return!1;const n=t.charCodeAt(Te);return n<97||n>122}function Qt(t){if(t.startsWith("on-"))return t.slice(Ht);const[n,o]=t.slice(Te).split(":"),r=Wt(n);return o?`${r}:${o}`:r}function Xe(t,n=new Set){return Object.fromEntries(Object.entries(t).filter(([o,r])=>!n.has(o)&&Ze(o)&&typeof r=="function").map(([o,r])=>[Qt(o),r]))}function et(t,n=new Set){return Object.fromEntries(Object.entries(t).filter(([o])=>!n.has(o)&&!Ze(o)))}const Zt=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(t){const n=t,o=e.useAttrs(),r=e.computed(()=>{const{icon:l,...f}=n;return{...et(o),...f}}),a=e.computed(()=>Xe(o));return(l,f)=>{const u=D.ElIcon,d=D.ElButton;return e.openBlock(),e.createBlock(d,e.mergeProps({class:"jt-button"},r.value,e.toHandlers(a.value)),{default:e.withCtx(()=>[l.$slots.icon?(e.openBlock(),e.createBlock(u,{key:0,class:"jt-button__icon"},{default:e.withCtx(()=>[e.renderSlot(l.$slots,"icon",{},void 0,!0)]),_:3})):n.icon?(e.openBlock(),e.createBlock(u,{key:1,class:"jt-button__icon"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.icon)))]),_:1})):e.createCommentVNode("",!0),e.renderSlot(l.$slots,"default",{},void 0,!0)]),_:3},16)}}}),J=(t,n)=>{const o=t.__vccOpts||t;for(const[r,a]of n)o[r]=a;return o},he=J(Zt,[["__scopeId","data-v-fbcdce34"]]),Xt=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:Z.cascaderEmits,setup(t,{emit:n}){const o=t,r=n,a=e.computed(()=>Object.fromEntries(Object.keys(Z.cascaderEmits).map(l=>[l,(...f)=>r(l,...f)])));return(l,f)=>{const u=D.ElCascader;return e.openBlock(),e.createBlock(u,e.mergeProps({class:"jt-cascader"},o,e.toHandlers(a.value)),null,16)}}}),tt=J(Xt,[["__scopeId","data-v-9164edeb"]]),en=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(t){const n=t,o=e.computed(()=>({...n,startPlaceholder:n.startPlaceholder??(r(n.type)?"开始日期":void 0),endPlaceholder:n.endPlaceholder??(r(n.type)?"结束日期":void 0)}));function r(a){return a?.includes("range")??!1}return(a,l)=>{const f=D.ElDatePicker;return e.openBlock(),e.createBlock(f,e.mergeProps({class:"jt-date-picker"},o.value,{"onUpdate:modelValue":l[0]||(l[0]=u=>a.$emit("update:modelValue",u))}),null,16)}}}),nt=J(en,[["__scopeId","data-v-2aaf2264"]]),tn=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:{...Z.inputEmits,enter:()=>!0},setup(t,{emit:n}){const o=t,r=n,a=e.computed(()=>Object.fromEntries(Object.keys(Z.inputEmits).map(l=>[l,(...f)=>r(l,...f)])));return(l,f)=>{const u=D.ElInput;return e.openBlock(),e.createBlock(u,e.mergeProps({class:"jt-input"},o,e.toHandlers(a.value),{onKeyup:f[0]||(f[0]=e.withKeys(d=>r("enter"),["enter"]))}),null,16)}}}),_e=J(tn,[["__scopeId","data-v-c4e9cb3f"]]),nn=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:Z.selectEmits,setup(t,{emit:n}){const o=t,r=e.computed(()=>{const{options:f,...u}=o;return u}),a=n,l=e.computed(()=>Object.fromEntries(Object.keys(Z.selectEmits).map(f=>[f,(...u)=>a(f,...u)])));return(f,u)=>{const d=D.ElOption,w=D.ElSelect;return e.openBlock(),e.createBlock(w,e.mergeProps({class:"jt-select"},r.value,e.toHandlers(l.value)),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.options??[],B=>(e.openBlock(),e.createBlock(d,e.mergeProps({key:B.value,ref_for:!0},B),null,16))),128))]),_:1},16)}}}),ot=J(nn,[["__scopeId","data-v-abce8e44"]]),on={class:"jt-form-items"},Ne=4,an=e.defineComponent({name:"JTFormItems",__name:"JtFormItems",props:{configs:{},formData:{},span:{}},setup(t){const n=t,o={input:_e,select:ot,cascader:tt,"date-picker":nt},r={"remote-select":"select",date:"date-picker",daterange:"date-picker","date-range":"date-picker",dateRange:"date-picker"},a=new Set(["prop","label","itemType","span","options","rules","formItemProps","showSlot","show"]),l=Object.keys(o),f=new Map,u=e.computed(()=>n.configs.filter(y=>y.show!==!1)),d=y=>{const{itemType:S}=y;if(!S)return _e;if(typeof S!="string")return S;const A=r[S]??S;return l.includes(A)?o[A]:(console.error(`[JtFormItems] 不支持的 itemType: "${S}",支持的类型: ${l.join(", ")}`),_e)},w=y=>{const S=et(y,a);return y.itemType==="select"||y.itemType==="remote-select"||y.itemType==="cascader"?{...S,options:y.options}:m(y.itemType)?{...S,type:"daterange"}:S},B=y=>Xe(y,a),i=y=>({rules:y.rules,...y.formItemProps}),p=(y,S)=>{n.formData[y]=S};function v(y){return S=>{if(S){f.set(y,S);return}f.delete(y)}}function b(y,S){e.nextTick(()=>{f.get(y)?.validate(S).catch(()=>{})})}const g=y=>Math.min(Math.max(Math.trunc(y||1),1),4),I=e.computed(()=>{const S=u.value.reduce((A,_)=>A+g(n.span||_.span),0)%Ne;return S===0?{gridColumn:`1 / span ${Ne}`}:{gridColumn:`${S+1} / span ${Ne-S}`}}),T=y=>({gridColumn:`span ${g(n.span||y.span)}`});function m(y){return y==="daterange"||y==="date-range"||y==="dateRange"}return(y,S)=>{const A=D.ElFormItem;return e.openBlock(),e.createElementBlock("div",on,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.value,_=>(e.openBlock(),e.createBlock(A,e.mergeProps({key:_.prop,ref_for:!0,ref:v(_.prop),class:"jt-form-items__item",style:T(_),label:_.label,prop:_.prop},i(_)),{default:e.withCtx(()=>[_.showSlot?e.renderSlot(y.$slots,_.prop,{key:0},void 0,!0):(e.openBlock(),e.createBlock(e.resolveDynamicComponent(d(_)),e.mergeProps({key:1,"model-value":y.formData[_.prop],ref_for:!0},w(_),e.toHandlers(B(_)),{"onUpdate:modelValue":k=>p(_.prop,k),onChange:()=>b(_.prop,"change"),onBlur:()=>b(_.prop,"blur")}),null,16,["model-value","onUpdate:modelValue","onChange","onBlur"]))]),_:2},1040,["style","label","prop"]))),128)),y.$slots.actions?(e.openBlock(),e.createBlock(A,{key:0,class:"jt-form-items__actions",style:e.normalizeStyle(I.value)},{default:e.withCtx(()=>[e.renderSlot(y.$slots,"actions",{},void 0,!0)]),_:3},8,["style"])):e.createCommentVNode("",!0)])}}}),at=J(an,[["__scopeId","data-v-002c0b17"]]);function rn(){const t=e.ref(!1);function n(){t.value=!0}function o(){t.value=!1}return{searchDisabled:t,searchLoading:n,searchDone:o}}const ln="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",sn="data:image/svg+xml,%3csvg%20width='14'%20height='14'%20viewBox='0%200%2014%2014'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='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",cn="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",un={class:"jt-filter-bar__btns"},dn=["src"],pn=["src"],mn=["src"],fn=e.defineComponent({name:"JtFilterBar",__name:"JtFilterBar",props:{columns:{},option:{default:()=>({})},modelValue:{}},emits:["update:modelValue","search","reset"],setup(t,{expose:n,emit:o}){const r=t,a=o,l=e.ref(),f=e.useSlots(),u=e.ref({}),{searchDisabled:d,searchLoading:w,searchDone:B}=rn(),i=e.computed(()=>r.option),p=e.ref(i.value.searchCollapsed??!1),v=e.computed(()=>r.columns.filter(P=>P.search===!0)),b=e.computed(()=>Math.max(1,i.value.searchSpan??4)),g=e.computed(()=>Math.max(1,i.value.searchCollapsedRows??1)),I=e.computed(()=>Math.max(1,b.value-1)),T=e.computed(()=>Math.max(1,I.value*g.value)),m=e.computed(()=>re(i.value.searchLabelWidth??84)),y=e.computed(()=>i.value.searchLabelPosition??"top"),S=e.computed(()=>ce(i.value.searchGutter,14)),A=e.computed(()=>ce(i.value.searchRowGap,14)),_=e.computed(()=>me(i.value.searchPadding??"18px 4px 0")),k=e.computed(()=>i.value.searchCollapse===!1?!1:Ce(v.value)>T.value),j=e.computed(()=>{if(!k.value||!p.value)return v.value;let P=0;return v.value.filter(F=>{const O=ae(F);return P+O>T.value?!1:(P+=O,!0)})}),C=e.computed(()=>j.value.filter(P=>!!f[`${P.prop}-search`])),E=e.computed(()=>j.value.map(P=>U(P)));e.watch(()=>i.value.searchCollapsed,P=>{typeof P=="boolean"&&(p.value=P)}),e.watch(()=>r.modelValue,P=>{u.value={...P}},{deep:!0,immediate:!0});function z(P,F){if(d.value)return;const O={...u.value,[P]:F};u.value=O,a("update:modelValue",O)}function U(P){const F=P.searchProps??{};return{...F,prop:P.prop,label:P.searchLabel??P.label,span:ae(P),itemType:P.searchType??"input",showSlot:!!f[`${P.prop}-search`],options:F.options??P.searchOptions??P.dicData,placeholder:F.placeholder??P.searchPlaceholder,valueFormat:F.valueFormat??P.searchValueFormat,disabled:d.value||F.disabled===!0,formItemProps:{required:P.searchRequired,class:["jt-filter-bar__item",{"is-required":P.searchRequired}]},onEnter:(...O)=>{ie(F.onEnter,...O),se()},"onUpdate:modelValue":O=>{ie(F["onUpdate:modelValue"],O),z(P.prop,O)}}}function ie(P,...F){if(Array.isArray(P)){P.forEach(O=>ie(O,...F));return}typeof P=="function"&&P(...F)}async function se(){if(!d.value){if(l.value)try{await l.value.validate()}catch{return}a("search")}}function pe(){d.value||a("reset")}function Y(){p.value=!p.value}function ae(P){return Math.min(b.value,Math.max(1,P.searchSpan??1))}function Ce(P){return P.reduce((F,O)=>F+ae(O),0)}function re(P){return typeof P=="number"?`${P}px`:P}function ce(P,F){return typeof P=="number"?P:F}function me(P){return typeof P=="number"?`${P}px`:P}return n({formRef:l,searchDisabled:d,searchLoading:w,searchDone:B}),(P,F)=>{const O=D.ElForm;return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["jt-filter-bar",`is-label-${y.value}`]),style:e.normalizeStyle({"--jt-filter-columns":b.value,"--jt-filter-label-width":m.value,"--jt-filter-column-gap":`${S.value}px`,"--jt-filter-row-gap":`${A.value}px`,"--jt-filter-padding":_.value})},[e.createVNode(O,{ref_key:"formRef",ref:l,class:"jt-filter-bar__form",model:u.value,"label-position":y.value,"label-width":m.value,disabled:e.unref(d),onSubmit:F[0]||(F[0]=e.withModifiers(()=>{},["prevent"]))},{default:e.withCtx(()=>[e.createVNode(e.unref(at),{configs:E.value,"form-data":u.value},e.createSlots({actions:e.withCtx(()=>[e.createElementVNode("div",un,[e.renderSlot(P.$slots,"search-menu",{search:se,reset:pe,disabled:e.unref(d),collapsed:p.value,toggleCollapse:Y},()=>[k.value?(e.openBlock(),e.createBlock(e.unref(he),{key:0,class:"jt-filter-bar__btn-collapse",onClick:Y},{icon:e.withCtx(()=>[e.createElementVNode("img",{class:e.normalizeClass(["jt-filter-bar__icon-arrow",{"is-collapsed":p.value}]),src:e.unref(ln),alt:""},null,10,dn)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(p.value?"展 开":"收 起"),1)]),_:1})):e.createCommentVNode("",!0),e.createVNode(e.unref(he),{class:"jt-filter-bar__btn-reset",disabled:e.unref(d),onClick:pe},{icon:e.withCtx(()=>[e.createElementVNode("img",{src:e.unref(sn),alt:""},null,8,pn)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(i.value.resetBtnText??"重 置"),1)]),_:1},8,["disabled"]),e.createVNode(e.unref(he),{class:"jt-filter-bar__btn-query",type:"primary",disabled:e.unref(d),onClick:se},{icon:e.withCtx(()=>[e.createElementVNode("img",{src:e.unref(cn),alt:""},null,8,mn)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(i.value.searchBtnText??"查 询"),1)]),_:1},8,["disabled"])],!0)])]),_:2},[e.renderList(C.value,le=>({name:le.prop,fn:e.withCtx(()=>[e.renderSlot(P.$slots,`${le.prop}-search`,{value:u.value[le.prop],column:le,setValue:Ee=>z(le.prop,Ee),search:se,reset:pe,disabled:e.unref(d)},void 0,!0)])}))]),1032,["configs","form-data"])]),_:3},8,["model","label-position","label-width","disabled"])],6)}}}),rt=J(fn,[["__scopeId","data-v-94909b80"]]),vn={key:1},gn={key:2},hn={key:3},yn=e.defineComponent({name:"JtTable",__name:"JtTable",props:{data:{},columns:{},option:{},tableEvents:{}},setup(t,{expose:n}){const o=t,r=e.useSlots(),a=e.ref(),l=e.computed(()=>o.option??{}),f=e.computed(()=>o.columns.filter(i=>!i.hide));function u(i){return!!r[`${i}-header`]}function d(i){return!!r[`${i}-data`]}function w(i){return{width:i.width,minWidth:i.minWidth,align:i.align,fixed:i.fixed,sortable:i.sortable,showOverflowTooltip:i.showOverflowTooltip,...i.columnOptions}}function B(i,p){return i.find(v=>v.value===p)?.label??String(p??"")}return n({tableRef:a}),(i,p)=>{const v=D.ElTableColumn,b=D.ElTable;return e.openBlock(),e.createBlock(b,e.mergeProps({ref_key:"tableRef",ref:a,data:i.data,"row-key":l.value.rowKey??"id",height:l.value.height,"max-height":l.value.maxHeight,"empty-text":l.value.emptyText,class:"jt-table"},l.value.tableProps,e.toHandlers(i.tableEvents)),{default:e.withCtx(()=>[l.value.selection?(e.openBlock(),e.createBlock(v,{key:0,type:"selection",width:"55",align:"center"})):e.createCommentVNode("",!0),l.value.index?(e.openBlock(),e.createBlock(v,{key:1,type:"index",label:l.value.indexLabel??"序号",width:"60",align:"center"},null,8,["label"])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.value,g=>(e.openBlock(),e.createBlock(v,e.mergeProps({key:g.prop,prop:g.prop,label:g.label,formatter:!d(g.prop)&&!g.dicData?g.formatter:void 0,ref_for:!0},w(g)),e.createSlots({default:e.withCtx(I=>[d(g.prop)?e.renderSlot(i.$slots,`${g.prop}-data`,e.mergeProps({key:0,ref_for:!0},I),void 0,!0):g.dicData?(e.openBlock(),e.createElementBlock("span",vn,e.toDisplayString(B(g.dicData,I.row[g.prop])),1)):g.formatter?(e.openBlock(),e.createElementBlock("span",gn,e.toDisplayString(g.formatter(I.row,I.column,I.row[g.prop],I.$index)),1)):(e.openBlock(),e.createElementBlock("span",hn,e.toDisplayString(I.row[g.prop]),1))]),_:2},[u(g.prop)?{name:"header",fn:e.withCtx(I=>[e.renderSlot(i.$slots,`${g.prop}-header`,e.mergeProps({ref_for:!0},I),void 0,!0)]),key:"0"}:void 0]),1040,["prop","label","formatter"]))),128)),l.value.menu?(e.openBlock(),e.createBlock(v,{key:2,label:l.value.menuLabel??"操作",width:l.value.menuWidth,"min-width":l.value.menuMinWidth,align:l.value.menuAlign??"center",fixed:l.value.menuFixed},{default:e.withCtx(g=>[e.renderSlot(i.$slots,"menu",e.normalizeProps(e.guardReactiveProps(g)),void 0,!0)]),_:3},8,["label","width","min-width","align","fixed"])):e.createCommentVNode("",!0)]),_:3},16,["data","row-key","height","max-height","empty-text"])}}}),lt=J(yn,[["__scopeId","data-v-4804a967"]]),bn={class:"jt-pagination"},wn={class:"jt-pagination__count"},kn=e.defineComponent({name:"JtPagination",__name:"JtPagination",props:{currentPage:{},pageSize:{},total:{},option:{}},emits:["update:currentPage","update:pageSize","current-change","page-change","size-change"],setup(t,{emit:n}){const o=t,r=e.computed(()=>o.option??{}),a=n;function l(f){a("current-change",f),a("page-change",f)}return(f,u)=>{const d=D.ElPagination;return e.openBlock(),e.createElementBlock("div",bn,[e.createVNode(d,{"current-page":f.currentPage,"page-size":f.pageSize,"page-sizes":r.value.pageSizes??[10,20,50,100],total:f.total,layout:r.value.paginationLayout??"sizes, prev, pager, next, jumper","onUpdate:currentPage":u[0]||(u[0]=w=>f.$emit("update:currentPage",w)),"onUpdate:pageSize":u[1]||(u[1]=w=>f.$emit("update:pageSize",w)),onCurrentChange:l,onSizeChange:u[2]||(u[2]=w=>f.$emit("size-change",w))},null,8,["current-page","page-size","page-sizes","total","layout"]),e.createElementVNode("span",wn,"共"+e.toDisplayString(f.total)+"条记录",1)])}}}),Sn=J(kn,[["__scopeId","data-v-19ef6db6"]]),_n={class:"jt-crud-table"},Bn={key:1,class:"jt-crud-table__toolbar"},In=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(t,{expose:n,emit:o}){const r=t,a=o,l=e.useModel(t,"currentPage"),f=e.useModel(t,"pageSize"),u=e.useModel(t,"searchModel"),d=e.useSlots(),w=e.ref(),B=e.ref(),i=e.computed(()=>r.option),p=e.computed(()=>i.value.searchShow!==!1),v=e.computed(()=>i.value.paginationShow!==!1),b=e.computed(()=>r.columns.filter(_=>_.search&&!!d[`${_.prop}-search`])),g=e.computed(()=>r.columns.filter(_=>!_.hide&&!!d[`${_.prop}-header`])),I=e.computed(()=>r.columns.filter(_=>!_.hide&&!!d[`${_.prop}-data`]));function T(){const _={};return r.columns.forEach(k=>{k.search&&(_[k.prop]=void 0)}),_}function m(){a("search",{...u.value})}function y(){u.value=T(),a("reset")}function S(){B.value?.searchLoading()}function A(){B.value?.searchDone()}return n({tableRef:e.computed(()=>w.value?.tableRef),filterBarRef:B,searchLoading:S,searchDone:A}),(_,k)=>{const j=D.ElLoadingDirective;return e.openBlock(),e.createElementBlock("div",_n,[e.renderSlot(_.$slots,"header",{},void 0,!0),p.value?(e.openBlock(),e.createBlock(rt,{key:0,ref_key:"filterBarRef",ref:B,modelValue:u.value,"onUpdate:modelValue":k[0]||(k[0]=C=>u.value=C),columns:_.columns,option:i.value,onSearch:m,onReset:y},e.createSlots({_:2},[e.renderList(b.value,C=>({name:`${C.prop}-search`,fn:e.withCtx(E=>[e.renderSlot(_.$slots,`${C.prop}-search`,e.normalizeProps(e.guardReactiveProps(E)),void 0,!0)])}))]),1032,["modelValue","columns","option"])):e.createCommentVNode("",!0),e.unref(d).toolbar?(e.openBlock(),e.createElementBlock("div",Bn,[e.renderSlot(_.$slots,"toolbar",{},void 0,!0)])):e.createCommentVNode("",!0),e.withDirectives((e.openBlock(),e.createBlock(lt,{ref_key:"jtTableRef",ref:w,data:_.data,columns:_.columns,option:i.value,"table-events":_.tableEvents},e.createSlots({_:2},[e.renderList(g.value,C=>({name:`${C.prop}-header`,fn:e.withCtx(E=>[e.renderSlot(_.$slots,`${C.prop}-header`,e.normalizeProps(e.guardReactiveProps(E)),void 0,!0)])})),e.renderList(I.value,C=>({name:`${C.prop}-data`,fn:e.withCtx(E=>[e.renderSlot(_.$slots,`${C.prop}-data`,e.normalizeProps(e.guardReactiveProps(E)),void 0,!0)])})),i.value.menu?{name:"menu",fn:e.withCtx(C=>[e.renderSlot(_.$slots,"menu",e.normalizeProps(e.guardReactiveProps(C)),void 0,!0)]),key:"0"}:void 0]),1032,["data","columns","option","table-events"])),[[j,i.value.loading]]),v.value?(e.openBlock(),e.createBlock(Sn,{key:2,"current-page":l.value,"onUpdate:currentPage":k[1]||(k[1]=C=>l.value=C),"page-size":f.value,"onUpdate:pageSize":k[2]||(k[2]=C=>f.value=C),total:_.total,option:i.value,onPageChange:k[3]||(k[3]=C=>_.$emit("page-change",C)),onSizeChange:k[4]||(k[4]=C=>_.$emit("size-change",C))},null,8,["current-page","page-size","total","option"])):e.createCommentVNode("",!0)])}}}),Cn=J(In,[["__scopeId","data-v-6df082c6"]]),En={class:"jt-pagination"},Pn={key:0,class:"jt-pagination__count"},Nn=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(Z.paginationEmits,["update:currentPage","update:pageSize"]),setup(t,{emit:n}){const o=e.useModel(t,"currentPage"),r=e.useModel(t,"pageSize"),a=t,l=e.useAttrs(),f=n,u=e.computed(()=>({...l,...a})),d=e.computed(()=>Object.fromEntries(Object.keys(Z.paginationEmits).filter(B=>!B.startsWith("update:")).map(B=>[B,(...i)=>f(B,...i)]))),w=e.computed(()=>!(a.hideOnSinglePage&&a.total<=r.value));return(B,i)=>{const p=D.ElPagination;return e.openBlock(),e.createElementBlock("div",En,[e.createVNode(p,e.mergeProps({"current-page":o.value,"onUpdate:currentPage":i[0]||(i[0]=v=>o.value=v),"page-size":r.value,"onUpdate:pageSize":i[1]||(i[1]=v=>r.value=v)},u.value,e.toHandlers(d.value)),null,16,["current-page","page-size"]),w.value?(e.openBlock(),e.createElementBlock("span",Pn,"共"+e.toDisplayString(B.total)+"条记录",1)):e.createCommentVNode("",!0)])}}}),An=J(Nn,[["__scopeId","data-v-72da666d"]]);/*! Element Plus Icons Vue v2.3.2 */var Vn=e.defineComponent({name:"Download",__name:"download",setup(t){return(n,o)=>(e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[e.createElementVNode("path",{fill:"currentColor",d:"M160 832h704a32 32 0 1 1 0 64H160a32 32 0 1 1 0-64m384-253.696 236.288-236.352 45.248 45.248L508.8 704 192 387.2l45.248-45.248L480 584.704V128h64z"})]))}}),Tn=Vn,jn=e.defineComponent({name:"RefreshLeft",__name:"refresh-left",setup(t){return(n,o)=>(e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[e.createElementVNode("path",{fill:"currentColor",d:"M289.088 296.704h92.992a32 32 0 0 1 0 64H232.96a32 32 0 0 1-32-32V179.712a32 32 0 0 1 64 0v50.56a384 384 0 0 1 643.84 282.88 384 384 0 0 1-383.936 384 384 384 0 0 1-384-384h64a320 320 0 1 0 640 0 320 320 0 0 0-555.712-216.448z"})]))}}),Mn=jn,Ln=e.defineComponent({name:"ZoomIn",__name:"zoom-in",setup(t){return(n,o)=>(e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[e.createElementVNode("path",{fill:"currentColor",d:"m795.904 750.72 124.992 124.928a32 32 0 0 1-45.248 45.248L750.656 795.904a416 416 0 1 1 45.248-45.248zM480 832a352 352 0 1 0 0-704 352 352 0 0 0 0 704m-32-384v-96a32 32 0 0 1 64 0v96h96a32 32 0 0 1 0 64h-96v96a32 32 0 0 1-64 0v-96h-96a32 32 0 0 1 0-64z"})]))}}),Dn=Ln,xn=e.defineComponent({name:"ZoomOut",__name:"zoom-out",setup(t){return(n,o)=>(e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[e.createElementVNode("path",{fill:"currentColor",d:"m795.904 750.72 124.992 124.928a32 32 0 0 1-45.248 45.248L750.656 795.904a416 416 0 1 1 45.248-45.248zM480 832a352 352 0 1 0 0-704 352 352 0 0 0 0 704M352 448h256a32 32 0 0 1 0 64H352a32 32 0 0 1 0-64"})]))}}),$n=xn;const Fn="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAANgAAADYCAMAAAC+/t3fAAAAaVBMVEUAAABWapNVapKeqsLJztx3hKnGzN2yu8////9XapWcqMGps8lXapVYa5RWaZWps8lfcJjS1+KjrsVXapWapr////9sfaKrtMrV2uWBj7B4iKqWob1wgaXr7fOBj6/Ax9dhc5yhq8OKl7Wba+6tAAAAE3RSTlMAgGDuDyVLoYDe2XuXRb68cy6e4BCQEAAAAyZJREFUeNrt29tyokAUheGOQjIoeMhuCQ4e0Pd/yCE1STU4mGq7bXqzZ/23ufoqYblTqkIIIYQQQggNlM42Lzctf5nMD22bKQYVOQ30sTPt6dEO74mKXLoiCgDTi1RFbUMUBhZXluQUDKbnWxWtjMLB2pYqUjmFg8WUzSg0TL+rCKVZeJheRJj9DYWHRRnHbBSYnr+qcSsoKCyeLKcfK/emc2UqH4LFGMcVWVftTC4w/TbmhGQjwvR6RBmNAbMYx4nD7k/I1GF3ZZOH3RtHAbDhcZQAG5SJgOn1Vt0mAzYwIUJgvjJ/2OVo2pcmcoQZWehxpBGue5sJEQTryyTBeuMoCtadEFmwjkwYzIyjNJief02IONj3OAqE/ZVJhJnZj3RS1c4nld04ijiC/5EJhbUyobBWJhT2OY5CYa1MKKyVCYXpdSIUphdbobB2HIXCWplQmJGFhZUn07kyNaFgbUsx1/1tb1Jh+i1hDmu0Y+uEN4xqV9ki5Q27atfmKWtYqd1lW84wqj1kr5xhB+3RkjGMrl4yxrCm9pG984V5ytZJINjpY7hmLNki5XjdP0fGFkZ0qL1kfGEt7erzgsYY1lYefrtWsIZ5NAMMMBNg9gEGmD3sejbVnRpyjAvs5rr3DzDAAOsEmH2AAQZYJ8Ds4wJrSlN1NE3+CDYJu+5NgNkHGGCAdQLMPsAAA0zuEQyYbYABBlgnwOwDDDDAOvVhl5NJ1Fu1O6lHMGA/xQl2rPodpcBq6gfYYIABBpgJsAdiBDvX/cTAxF4egNkEWGDY5Q5s8v9onoZdR3KNC4yOg7AzOccFNvi36POJIy4wqgZgF/KIC6yporuCwNrq/nNW7ckzLjCi/bO//MEF9mCAAQYYYDwCDDAmAQYYkwADjEmAAcYkwABjEmCAMQkwwJgEGGBMAgwwJgEGGJMAA4xJgAHGJMD+B1hGE6hwgK1oAqUOsJz4lymHCuJfrpTM9SicYC/EvUw5lRD3Psde4lP29YSJG8bse+ulvZZ5uFTCV5YZl6hpXKXKs5TlL22jnlCaM7uHV7NEPam02LwwaVYkCiGEEEIIITTUH1Fqd5V0WMtQAAAAAElFTkSuQmCC",Rn="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAANgAAADYCAMAAAC+/t3fAAAAdVBMVEUAAAD/XgD/XQD/z7f/omz/r4H/h0v/0Lf/omz/XwP/XgD/XgD/XQD/tIv/pnH/zK7/XgD/XAD/rH7/XQD/XgD/nmb/////fjL/ciD/dib/6+D/9e//ml//aBD/18D/r4D/w6D/hkD/uJD/pHD/kE//4c//zbBB3kudAAAAFHRSTlMAgGAP7q8hPNo33pe+mH9Z73BZULJO58YAAAW3SURBVHja7NZJDsJADERREzoTYZa94P4XJQhaZOgoWViYLvnf4C1cMnme53me53mel6gqbjvVCvqD2u7K2j3KPRnXHpn1e0hTkWk3jinDbGX7jmPqMAk1mXXgmD6s70xGdRzTh1nKCh6nD5OSDKoOPEkfJs2m2c9iEEewreOYx3IMYBbj2HIqfZiEO62UyyQOYBbjeOSV9GByWpmQbE5sCpPyhzJOpA9bH8fMYcvjmDtMwoWSZQ9bGkcAWHocEWDJcYSASTOfEAxYYhxBYHMZCmw2+zCw6TgCwcbjiAQbyaBgw9nHgg0mBAz2laHBJHzGEQ4WJwQQ9pYhwqSsiSBh0tSgMAk1KEzCBRTWy0Bhr28fFNbPPijsyY297DYIA1EYlnpJ20WyqA7G8QVi4uT9H7Go0oDDkrHEkf+Vt58ijyfMskZhs6xR2PygNQqbH7RGYbOsUdj8oDUK67pLq7Du3CpsHvvksNjtlnHDEPbKvk/csNzt7eNEDbPdftkXMwxBIfvlgcUcQu5R1HeKLiSwNJj/3N1iKatkDLB4M0suQYpBIzsTwB6mLFSSfb4fDZvMS95Wkn2fjoVZs2nAwTLU6Wa2Jaxdg0p2JMybbSPKrlnzoB0HS8LxTk4PbLLXfm8/h8HuwknrFImo1tthsHHVZDlaKGKByezwxXzMUMQGc8UcCVDEApsKmGsJNhawoSVYkDvWGiwVM35oaXhEgfUrLEERC2yZGHfAL0ZNLDCZ90/EpjaPZafyMckJqlhgdlkWZfIPUMUCgxOPfCKYoIsFNplNd+higaUtLEEXCwx+A4M2Ftj46npAGwvMvsImaGOBYTBlGepYYNmUWahjgcHXvmIssLH2FWOBRV/5FWOBFT+ZR5VYYNFIT1SJBYabwBzqxAKbaq/ALDBnJB9RIxJY3+ZKBUxN/m35o9buclyFYSgAb8ICK78OhO5/ibfS3JkAdksn5OHMeS5Sv0Jty+QZN3q8B4EV9UrzZlBg0lBjFosoMHeCuUj3AgILjTSmMqLAHk00pk2DwHjS8Uz9QYGF5hnzN0OB7cYpdfKoKyCw1sRCGVJAUGCyW+MsI/o0CKyVDiGiNKA0gsDkMG+w38sCdQQF5o7Vok63ZRiwcEbkKxlHehcUmFPLDrFkXEOW5L4/vaWlMtnBgBVdA+N2kOW6yuYnIymQDgosGSt7dtOHcZXOAYHta30L+09luteBwMR+xzJ/KNO9DgTG+wVwh0xt61BgojZTTdb1MILA+NViikO68tiXgsDE6sMcxNsEv4Ra+Jm5rOKsQwYgMJ7OzTmWxb2r7jK3izdc2OmGxTX56871WMsciTg8YGGHG/ZUKcS2BI7y9/5j7SsnrXJLjW0otqIbBQisvG5NEiLRxYSl6w4KzE1m3FLonPCG5ugnCLBoN6qUmXQ0Ta/5MWAx+wuVjv1L+K/xHgNmspxSqbAuMcL0DAaMxRopCn2UWPJj+3/NJutXiYGAWaxUI/0qkbndKQhYXJTK50j9wYDF7Me+LQKBVWc2of5gwNis1kzdAYGt3nIJdQcDFpM9DTF1BgQ2u1fja2dAYMHbLqHOgMDCsW352w8iCKweWDHffhBBYOyba2Nabz+IKDB3eFk+36+IILDQXPlQRnpdKLC0d+W9sjMoMN8kJY04woEC+6kbJY05dIMC86OPSaHA0ugREQWWR7tQYP/atZcUBmEoCsNHA4FEBxHvyKJQ7P7X2EGdlHbiNYNjON8OfvIkZP2Zi9tqV7CE2V77TyxL2PdkXJ52GUuYvZbKL1IsYcfr9GPbq2WxhJ2gMIUpTGEcFKYwEgpTGAmFKYyEwhRGQmEKI+EJy3YDCeeNdgOesMH4ZTgk4zfAoxi9GR6dsctwCfRD1sNnNm7HCmtuY8wRH42dZSXCL/CW5QQcmtoax4iLIuOglQkVpIHrPlzGPqCSNE8diT4FiIiIiIjIP2/v9e/hKQXqEwAAAABJRU5ErkJggg==",zn=new Set(["jpg","jpeg","png","gif","webp","bmp","svg","avif","ico"]),Gn=new Set(["mp4","webm","ogg","ogv","mov","m4v"]),On=new Set(["mp3","wav","ogg","oga","m4a","aac","flac"]),qn=new Set(["html","htm","txt","json","xml","csv","md","log"]),Jn=new Set(["doc","docx","xls","xlsx","ppt","pptx","zip","rar","7z"]);let te=null,Ae=null,Be=null;async function Kn(){return Ae||(Ae=Promise.all([Promise.resolve().then(()=>require("./pdf-Da0bm_Ya.cjs")),Promise.resolve().then(()=>require("./pdf.worker.min-BAJUPwg6.cjs"))]).then(([t,n])=>(t.GlobalWorkerOptions.workerSrc=n.default,t))),Ae}function Un(t){return typeof t=="string"?{url:t}:t}function it(t){const[n]=t.split(/[?#]/);return n??""}function xe(t,n){if(n?.trim())return n.trim();const o=it(t).split("/").filter(Boolean).pop();if(!o)return"附件预览";try{return decodeURIComponent(o)}catch{return o}}function st(t){return it(t).match(/\.([a-z0-9]+)$/i)?.[1]?.toLowerCase()??""}function $e(t){const n=t.toLowerCase().split(";")[0]?.trim()??"";return n.startsWith("image/")?"image":n==="application/pdf"?"pdf":n.startsWith("video/")?"video":n.startsWith("audio/")?"audio":n.startsWith("text/")?"iframe":"unknown"}function ct(t){if(!t.url.trim())return"empty";if(t.mode&&t.mode!=="auto")return t.mode;if(t.mimeType){const o=$e(t.mimeType);if(o!=="unknown")return o}const n=st(t.url);return zn.has(n)?"image":n==="pdf"?"pdf":Gn.has(n)?"video":On.has(n)?"audio":qn.has(n)?"iframe":Jn.has(n)?"unsupported":"unknown"}async function Yn(t){try{const o=(await fetch(t,{method:"HEAD"})).headers.get("content-type")??"";return $e(o)}catch{return"unknown"}}async function ut(t){const n=await fetch(t);if(!n.ok)throw new Error(`fetch failed: ${n.status}`);return n.blob()}function Hn(t,n){const o=st(n);return o==="doc"||o==="docx"?"W":o==="xls"||o==="xlsx"?"X":o==="ppt"||o==="pptx"?"P":o==="zip"||o==="rar"||o==="7z"?"ZIP":t==="pdf"?"PDF":"FILE"}function dt(t,n,o){return e.h("button",{class:o,type:"button",onClick:()=>{mt(t,n)}},[e.h(Z.ElIcon,{class:"jt-attachment-preview-service__download-icon"},()=>e.h(Tn)),e.h("span",{class:"jt-attachment-preview-service__download-text"},"下载")])}function Ve(t){return t==="image"||t==="pdf"}function pt(t){return e.h("div",{class:"jt-attachment-preview-service__preview-fallback"},[e.h("img",{class:"jt-attachment-preview-service__preview-fallback-icon",src:t.icon,alt:""}),e.h("div",{class:"jt-attachment-preview-service__unsupported-text"},"暂不支持预览此类型的文件"),e.h("div",{class:"jt-attachment-preview-service__file-name",title:t.name},t.name)])}function je(t,n){const o=document.createElement("a");o.href=t,o.download=n,o.style.display="none",document.body.appendChild(o),o.click(),o.remove()}async function mt(t,n){try{const o=await ut(t),r=URL.createObjectURL(o);je(r,n),URL.revokeObjectURL(r)}catch{je(t,n)}}const Wn=e.defineComponent({name:"JtAttachmentPreviewPdfCanvas",props:{url:{type:String,required:!0},name:{type:String,required:!0},downloadName:{type:String,required:!0},downloadable:{type:Boolean,required:!0}},emits:{previewLoad:t=>t instanceof Event,previewError:t=>t instanceof Event},setup(t,{emit:n}){const o=e.ref("loading"),r=e.ref([]),a=e.ref([]),l=new Map,f=e.ref("");let u=null,d=[],w=0;async function B(g,I){if(!I)return null;const T=typeof I=="string"?await g.getDestination(I):I;return!Array.isArray(T)||!T[0]?null:await g.getPageIndex(T[0])+1}async function i(g,I,T=0){if(!I?.length)return[];const m=[];for(const y of I){const S=await B(g,y.dest);m.push({title:y.title||"未命名标题",pageNumber:S,level:T});const A=await i(g,y.items,T+1);m.push(...A)}return m}function p(){w+=1;for(const g of d)g.cancel();d=[],u?.destroy(),u=null,l.clear()}async function v(){p();const g=w;o.value="loading",f.value="",r.value=[],a.value=[];try{const I=await Kn();if(g!==w)return;u=I.getDocument({url:t.url});const T=await u.promise;if(g!==w)return;r.value=Array.from({length:T.numPages},(S,A)=>A+1),a.value=await i(T,await T.getOutline()),await e.nextTick();const m=l.values().next().value,y=Math.max((m?.parentElement?.clientWidth??800)-32,320);for(const S of r.value){if(g!==w)return;const A=await T.getPage(S),_=l.get(S),k=_?.getContext("2d");if(!_||!k)continue;const j=A.getViewport({scale:1}),C=Math.min(y/j.width,2),E=A.getViewport({scale:C}),z=window.devicePixelRatio||1;_.width=Math.floor(E.width*z),_.height=Math.floor(E.height*z),_.style.width=`${Math.floor(E.width)}px`,_.style.height=`${Math.floor(E.height)}px`,k.setTransform(z,0,0,z,0,0);const U=A.render({canvas:_,canvasContext:k,viewport:E});d.push(U),await U.promise}if(g!==w)return;o.value="ready",n("previewLoad",new Event("load"))}catch(I){if(g!==w)return;o.value="error",f.value=I instanceof Error?I.message:"PDF 加载失败",n("previewError",new Event("error"))}}e.watch(()=>t.url,v,{immediate:!0}),e.onBeforeUnmount(p);function b(g){if(!g)return;l.get(g)?.scrollIntoView({behavior:"smooth",block:"start"})}return()=>e.h("div",{class:"jt-attachment-preview-service__pdf-viewer"},[o.value==="loading"?e.h("div",{class:"jt-attachment-preview-service__pdf-state"},"PDF 加载中..."):null,o.value==="error"?e.h("div",{class:"jt-attachment-preview-service__pdf-state"},[pt({icon:Rn,name:t.name})]):null,null,null,e.h("div",{class:["jt-attachment-preview-service__pdf-layout",o.value!=="ready"?"jt-attachment-preview-service__pdf-layout--hidden":""]},[a.value.length?e.h("aside",{class:"jt-attachment-preview-service__pdf-outline"},[e.h("div",{class:"jt-attachment-preview-service__pdf-outline-title"},"目录"),e.h("div",{class:"jt-attachment-preview-service__pdf-outline-list"},a.value.map((g,I)=>e.h("button",{key:`${g.title}-${I}`,class:"jt-attachment-preview-service__pdf-outline-item",style:{paddingLeft:`${12+g.level*14}px`},type:"button",disabled:!g.pageNumber,title:g.title,onClick:()=>b(g.pageNumber)},g.title)))]):null,e.h("div",{class:"jt-attachment-preview-service__pdf-pages"},r.value.map(g=>e.h("canvas",{key:g,ref:I=>{I instanceof HTMLCanvasElement&&l.set(g,I)},class:"jt-attachment-preview-service__pdf-page"})))])])}}),Qn=e.defineComponent({name:"JtAttachmentPreviewImageTransform",props:{url:{type:String,required:!0},name:{type:String,required:!0},downloadName:{type:String,required:!0},downloadable:{type:Boolean,required:!0},fit:{type:String,default:"contain"}},emits:{previewLoad:t=>t instanceof Event,previewError:t=>t instanceof Event},setup(t,{emit:n}){const o=e.ref(null),r=e.ref("ready"),a=e.ref(1),l=e.ref(!1);let f=0,u=0,d=0,w=0,B=0,i=0,p=0;const v=e.computed(()=>({"--jt-attachment-preview-service-image-fit":t.fit,transform:`translate(${f}px, ${u}px) scale(${a.value})`}));function b(){o.value&&(o.value.style.transform=`translate(${f}px, ${u}px) scale(${a.value})`)}function g(){p||(p=window.requestAnimationFrame(()=>{p=0,b()}))}function I(E){a.value=Math.min(Math.max(Number(E.toFixed(2)),.2),5),a.value<=1&&(f=0,u=0),b()}function T(){I(a.value+.2)}function m(){const E=Math.max(Number((a.value-.2).toFixed(2)),.2);a.value=E,E<=1&&(f=0,u=0),b()}function y(){f=0,u=0,I(1)}function S(E){r.value="ready",n("previewLoad",E)}function A(E){r.value="error",n("previewError",E)}function _(E){a.value<=1||(E.preventDefault(),l.value=!0,d=E.clientX,w=E.clientY,B=f,i=u,window.addEventListener("pointermove",k),window.addEventListener("pointerup",j,{once:!0}))}function k(E){l.value&&(f=B+E.clientX-d,u=i+E.clientY-w,g())}function j(){l.value=!1,window.removeEventListener("pointermove",k)}function C(E){E.preventDefault(),I(a.value+(E.deltaY<0?.1:-.1))}return e.onMounted(b),e.watch(()=>t.url,()=>{r.value="ready",y()}),e.onBeforeUnmount(()=>{window.removeEventListener("pointermove",k),p&&window.cancelAnimationFrame(p)}),()=>e.h("div",{class:"jt-attachment-preview-service__image-viewer"},r.value==="error"?pt({icon:Fn,name:t.name}):[e.h("img",{ref:o,class:["jt-attachment-preview-service__media","jt-attachment-preview-service__image",a.value>1?"jt-attachment-preview-service__image--draggable":"",l.value?"jt-attachment-preview-service__image--dragging":""],src:t.url,alt:t.name,style:v.value,onLoad:S,onError:A,onPointerdown:_,onWheel:C,onDragstart:E=>E.preventDefault(),draggable:!1}),e.h("div",{class:"jt-attachment-preview-service__image-toolbar"},[e.h("button",{class:"jt-attachment-preview-service__image-tool",type:"button",title:"缩小",onClick:m},[e.h(Z.ElIcon,()=>e.h($n))]),e.h("span",{class:"jt-attachment-preview-service__image-scale"},`${Math.round(a.value*100)}%`),e.h("button",{class:"jt-attachment-preview-service__image-tool",type:"button",title:"放大",onClick:T},[e.h(Z.ElIcon,()=>e.h(Dn))]),e.h("button",{class:"jt-attachment-preview-service__image-tool",type:"button",title:"复位",onClick:y},[e.h(Z.ElIcon,()=>e.h(Mn))])])])}}),Zn=e.defineComponent({name:"JtAttachmentPreviewService",props:{options:{type:Object,required:!0},onDestroy:{type:Function,required:!0}},setup(t){const n=e.computed(()=>xe(t.options.url,t.options.name)),o=e.computed(()=>t.options.downloadName||n.value),r=e.computed(()=>ct(t.options)),a=e.computed(()=>Hn(r.value,t.options.url)),l=e.computed(()=>({zIndex:t.options.zIndex??3e3,"--jt-attachment-preview-service-image-fit":t.options.fit??"contain"}));function f(){t.options.onClose?.(),t.onDestroy()}function u(B){B.key==="Escape"&&t.options.closeOnPressEscape!==!1&&f()}function d(B){t.options.onLoad?.(B)}function w(B){t.options.onError?.(B)}return e.onMounted(()=>{document.addEventListener("keydown",u),document.body.classList.add("jt-attachment-preview-service-lock")}),e.onBeforeUnmount(()=>{document.removeEventListener("keydown",u),document.body.classList.remove("jt-attachment-preview-service-lock")}),()=>{const B=t.options.downloadable===!1?[]:[dt(t.options.url,o.value,"jt-attachment-preview-service__top-download")];return e.h("div",{class:"jt-attachment-preview-service",style:l.value},[e.h("div",{class:"jt-attachment-preview-service__modal"},[e.h("div",{class:"jt-attachment-preview-service__header"},[e.h("div",{class:"jt-attachment-preview-service__filename",title:n.value},n.value),e.h("div",{class:"jt-attachment-preview-service__header-actions"},[...B,e.h("button",{class:"jt-attachment-preview-service__close",type:"button","aria-label":"关闭",onClick:f},"×")])]),e.h("div",{class:"jt-attachment-preview-service__body"},[Xn({type:r.value,url:t.options.url,name:n.value,downloadName:o.value,sandbox:t.options.sandbox,iconText:a.value,downloadable:t.options.downloadable!==!1,onLoad:d,onError:w})])])])}}}),ge=e.defineComponent({name:"JtAttachmentPreviewDetectingService",props:{options:{type:Object,required:!0},onDestroy:{type:Function,required:!0},title:{type:String,default:"正在识别文件类型"},desc:{type:String,default:"请稍候,识别完成后将自动预览或下载"},spinning:{type:Boolean,default:!0}},setup(t){const n=e.computed(()=>xe(t.options.url,t.options.name)),o=e.computed(()=>({zIndex:t.options.zIndex??3e3}));function r(){t.options.onClose?.(),t.onDestroy()}function a(l){l.key==="Escape"&&t.options.closeOnPressEscape!==!1&&r()}return e.onMounted(()=>{document.addEventListener("keydown",a),document.body.classList.add("jt-attachment-preview-service-lock")}),e.onBeforeUnmount(()=>{document.removeEventListener("keydown",a),document.body.classList.remove("jt-attachment-preview-service-lock")}),()=>e.h("div",{class:"jt-attachment-preview-service",style:o.value},[e.h("div",{class:"jt-attachment-preview-service__modal"},[e.h("div",{class:"jt-attachment-preview-service__header"},[e.h("div",{class:"jt-attachment-preview-service__filename",title:n.value},n.value),e.h("div",{class:"jt-attachment-preview-service__header-actions"},[e.h("button",{class:"jt-attachment-preview-service__close",type:"button","aria-label":"关闭",onClick:r},"×")])]),e.h("div",{class:"jt-attachment-preview-service__body"},[e.h("div",{class:"jt-attachment-preview-service__detecting"},[t.spinning?e.h("span",{class:"jt-attachment-preview-service__detecting-spinner"}):null,e.h("span",{class:"jt-attachment-preview-service__detecting-title"},t.title),e.h("span",{class:"jt-attachment-preview-service__detecting-desc"},t.desc)])])])])}});function Xn(t){return t.type==="empty"?e.h("div",{class:"jt-attachment-preview-service__empty"},"暂无附件"):t.type==="image"?e.h(Qn,{url:t.url,name:t.name,downloadName:t.downloadName,downloadable:t.downloadable,onPreviewLoad:t.onLoad,onPreviewError:t.onError}):t.type==="video"?e.h("video",{class:"jt-attachment-preview-service__media",src:t.url,controls:!0,onLoadeddata:t.onLoad,onError:t.onError}):t.type==="audio"?e.h("audio",{class:"jt-attachment-preview-service__audio",src:t.url,controls:!0,onLoadeddata:t.onLoad,onError:t.onError}):t.type==="pdf"?e.h(Wn,{url:t.url,name:t.name,downloadName:t.downloadName,downloadable:t.downloadable,onPreviewLoad:t.onLoad,onPreviewError:t.onError}):t.type==="iframe"?e.h("iframe",{class:"jt-attachment-preview-service__iframe",src:t.url,title:t.name,sandbox:t.sandbox||void 0,onLoad:t.onLoad}):e.h("div",{class:"jt-attachment-preview-service__unsupported"},[e.h("div",{class:"jt-attachment-preview-service__file-card"},[e.h("div",{class:"jt-attachment-preview-service__file-icon"},t.iconText),e.h("div",{class:"jt-attachment-preview-service__unsupported-text"},"暂不支持预览此类型的文件")]),e.h("div",{class:"jt-attachment-preview-service__file-name",title:t.name},t.name),t.downloadable?dt(t.url,t.downloadName,"jt-attachment-preview-service__primary-download"):null])}function ft(t){if(typeof document>"u")return{close:()=>{}};te?.close();const n=Un(t),o=n.downloadName||xe(n.url,n.name);let r=!1,a=null,l=null;const f=()=>{r=!0,a&&(e.render(null,a),a.remove(),a=null),l&&(URL.revokeObjectURL(l),l=null),te?.close===f&&(te=null)};function u(){r||(a||(a=document.createElement("div"),document.body.appendChild(a)),e.render(e.h(Zn,{options:n,onDestroy:f}),a))}function d(){r||(a||(a=document.createElement("div"),document.body.appendChild(a)),e.render(e.h(ge,{options:n,onDestroy:f}),a))}function w(){a&&(e.render(null,a),a.remove(),a=null)}function B(){r||mt(n.url,o)}function i(v){if(r)return;const b=URL.createObjectURL(v);je(b,o),URL.revokeObjectURL(b)}const p=ct(n);return Ve(p)?u():p==="unknown"?(d(),Yn(n.url).then(async v=>{if(!r){if(Ve(v)){n.mode=v,u();return}try{const b=await ut(n.url),g=$e(b.type);if(Ve(g)){l=URL.createObjectURL(b),n.url=l,n.mode=g,u();return}w(),i(b)}catch{w(),B()}}})):B(),te={close:f},te}function vt(t){Be=t}function gt(t){if(typeof document>"u")return{close:()=>{}};te?.close();let n=!1,o=document.createElement("div");document.body.appendChild(o);const r=()=>{n=!0,o&&(e.render(null,o),o.remove(),o=null),te?.close===r&&(te=null)},a={close:r};return te=a,Be?(e.render(e.h(ge,{options:{url:"",name:"附件预览"},title:"正在获取文件信息",desc:"请稍候,获取完成后将自动预览或下载",spinning:!0,onDestroy:r}),o),Be.request(t).then(l=>{if(n)return;const f=Be?.mapResponse(l,t);if(!f?.url){e.render(e.h(ge,{options:{url:"",name:"附件预览"},title:"文件信息缺少 URL",desc:"请检查 mapResponse 是否返回了 url 字段",spinning:!1,onDestroy:r}),o);return}ft(f)}).catch(l=>{if(n)return;const f=l instanceof Error?l.message:"接口请求失败";e.render(e.h(ge,{options:{url:"",name:"附件预览"},title:"文件信息获取失败",desc:f,spinning:!1,onDestroy:r}),o)}),a):(e.render(e.h(ge,{options:{url:"",name:"附件预览"},title:"附件预览未初始化",desc:"请先调用 setupJtAttachmentPreview 注册请求配置",spinning:!1,onDestroy:r}),o),a)}const eo=Object.assign(ft,{openByParams:gt,setup:vt}),to={class:"jt-page-header__title"},no={key:0},oo={key:0,class:"jt-page-header__operates"},ao=e.defineComponent({name:"JtPageHeader",__name:"index",props:{type:{default:"section"},title:{},operates:{default:()=>[]}},emits:["operate-click"],setup(t,{emit:n}){const o=t,r=n,a=e.useSlots(),l=e.computed(()=>o.operates.length>0||!!a.operates);function f(u,d){u.onClick?.(u,d),r("operate-click",u,d)}return(u,d)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps({class:["jt-page-header",`jt-page-header--${u.type}`]},u.$attrs),[e.createElementVNode("div",to,[e.renderSlot(u.$slots,"title",{},()=>[u.title?(e.openBlock(),e.createElementBlock("span",no,e.toDisplayString(u.title),1)):e.createCommentVNode("",!0)],!0)]),l.value?(e.openBlock(),e.createElementBlock("div",oo,[e.renderSlot(u.$slots,"operates",{operates:u.operates},()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.operates,w=>(e.openBlock(),e.createBlock(e.unref(he),e.mergeProps({key:w.key??w.label,ref_for:!0},w.buttonProps,{type:w.type,disabled:w.disabled,loading:w.loading,plain:w.plain,text:w.text,link:w.link,icon:w.icon,onClick:B=>f(w,B)}),{default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(w.label),1)]),_:2},1040,["type","disabled","loading","plain","text","link","icon","onClick"]))),128))],!0)])):e.createCommentVNode("",!0)],16))}}),ro=J(ao,[["__scopeId","data-v-0a93ea2c"]]);function ht(t=null){return{scheme:null,node:null,topNodes:[],treeNodes:[],activeNode:null,activeSection:null,sections:[],sectionMap:{},raw:t}}function Me(t){const n=It(t),o=Bt(n),r=vo(n).flatMap(a=>_t(a,o));return{...ht(t),scheme:o,topNodes:r,treeNodes:r}}function Fe(t,n,o){return t.map(r=>r.key===n||r.tagId===n||r.id===n?{...r,children:o,loaded:!0}:{...r,children:Fe(r.children,n,o)})}function yt(t,n={},o=null){const r=It(t),a=Bt(r,n),l=io(r,n,o),f=Object.fromEntries(l.map(u=>[u.key,u]));return{scheme:a,node:o,topNodes:[],treeNodes:[],activeNode:o,activeSection:l[0]??null,sections:l,sectionMap:f,raw:t}}function bt(t){return t.multRow||t.htmlDisplay==="T"?"table":"form"}function wt(t,n={}){return{...n,infSchmId:n.infSchmId??R(t.raw.infSchmId),emplid:n.emplid??R(t.raw.emplid),tagId:n.tagId??t.requestTagId??t.tagId,infSetId:n.infSetId??t.infSetId,setId:n.setId??t.setId,infSetFields:t.renderType==="table"?t.rows.map(Le):[Le(t.model)],section:t}}function lo(t){const n=t;return!!(n&&typeof n=="object"&&typeof n.key=="string"&&typeof n.tagId=="string")}function kt(t){const n=Ct(t);return(Array.isArray(n)?n:be(q(n),["options","list","records","data"])).map(r=>{const a=q(r);return{id:a.id,code:a.code,label:M(a.label??a.name??a.descr??a.text??a.value??a.code),name:R(a.name),value:a.value??a.code??a.id??a.label??a.name,raw:r}})}function io(t,n,o){const r=be(t,["sections","sets","list"]);return r.length>0?r.map(a=>Je(a,n,o,r.length===1)):t.infSetMark||t.infSetFields||t.fields?[Je(t,n,o,!0)]:[]}function Je(t,n,o,r){const a=q(t),l=so(a.infSetMark??a),f=co(a.infSetFields??a.fields??[]),u=po(a.infSetValues??a.rows??a.data,f),d=u[0]?Le(u[0]):St(f),w=q(a.tag),B=M(a.tagId??a.infTagId??w.tagId),i=M(n.tagId??o?.tagId),p=M(o?.key),v=r?n.infSetId??o?.infSetId:void 0,b=r?n.setId:void 0,g=r?o?.code:void 0,I=l.setId||M(a.setId),T=M(a.infSetId)||I||M(v),m=I||M(b??T),y=l.code||M(a.code??g??m),S=m||y||T||B,A={key:S,id:S,setId:m,code:y,tagId:B,requestTagId:i||void 0,ownerNodeKey:p||void 0,infSetId:T,title:l.name||M(a.name??o?.tagName??S),renderType:bt(l),mark:l,fields:f,model:d,rows:u,operationInfo:Ie(n.operationInfo??a.operationInfo),raw:a};return A.renderType==="form"&&u.length===0&&(A.rows=[{...d,__rowKey:`${S}-0`}]),A}function so(t){const n=q(t),o=M(n.htmlDisplay||"F");return{name:M(n.name??n.title),parentName:R(n.parentName),value:R(n.value),type:R(n.type),code:M(n.code),setId:M(n.setId??n.id??n.key),htmlDisplay:o,multRow:Q(n.multRow),isRequired:Q(n.isRequired),raw:n}}function co(t){return(Array.isArray(t)?t:[]).map((o,r)=>uo(o,r))}function uo(t,n){const o=q(t),r=M(o.code??o.fieldCode??o.prop??o.key??`field_${n}`),a=M(o.label??o.name??o.tagName??r);return{id:M(o.id??o.key??o.prop??r),key:M(o.key??o.prop??r),code:r,label:a,value:o.value??o.defaultValue??"",type:yo(o),fieldType:R(o.fieldType),renderType:ho(o),required:Q(o.required??o.isRequired),readonly:Q(o.readonly??o.disabled),visible:o.visible===void 0?Q(o.visibled??!0):Q(o.visible),htmlDisplay:Q(o.htmlDisplay),multRow:Q(o.multRow),isRequired:Q(o.isRequired),disabled:o.disabled===void 0?void 0:Q(o.disabled),span:Nt(o.span??o.colSpan),width:Ue(o.width),minWidth:Ue(o.minWidth),placeholder:R(o.placeholder),options:kt(o.options),interface:Et(o.interface),cascadeClearFields:Ke(o.cascadeClearFields),cascadeDependFields:Ke(o.cascadeDependFields),props:De(o.props),formItemProps:De(o.formItemProps),raw:o}}function po(t,n){if(Array.isArray(t)&&t.some(a=>{const l=q(a);return n.some(f=>l[f.code]!==void 0||l[f.key]!==void 0)}))return t.map((a,l)=>({...q(a),__rowKey:M(q(a).__rowKey??q(a).key??l)}));const o=St(n);return Object.keys(o).length?[{...o,__rowKey:"0"}]:[]}function St(t){return t.reduce((n,o)=>(n[o.code||o.key]=o.value,n),{})}function _t(t,n,o=""){const r=q(t),a=be(r,["children","list","tags"]).flatMap(f=>_t(f,n,M(r.tagId??r.id??r.key))),l=go(r.infSetList);return a.length===0&&l.length>0?l.map((f,u)=>fo(r,f,n,o,u)):[mo(r,n,o,a)]}function mo(t,n,o,r){const a=M(t.tagId??t.id??t.key),l=M(t.tagName??t.name??t.label??a);return{key:M(t.key??a),id:a,tagId:a,tagName:l,label:l,tagLevel:R(t.tagLevel??t.level)??null,level:Pt(t.tagLevel??t.level),parentTagId:R(t.parentTagId??t.parentId??o),parentId:R(t.parentTagId??t.parentId??o)??null,infSchmId:R(t.infSchmId??n?.infSchmId),schemeId:M(t.infSchmId??n?.infSchmId),infSetId:R(t.infSetId??t.setId),setId:R(t.setId),code:R(t.code),children:r,infSetList:[],operationInfo:Ie(t.operationInfo),loaded:r.length>0,raw:t}}function fo(t,n,o,r,a){const l=M(t.tagId??t.id??t.key),f=M(t.tagName??t.name??t.label??l),u=n.infSetId||M(n.setId),d=n.setId||u,w=u||`${l}-${a}`;return{key:w,id:w,tagId:l,tagName:f,label:f,tagLevel:R(t.tagLevel??t.level)??null,level:Pt(t.tagLevel??t.level),parentTagId:R(t.parentTagId??t.parentId??r),parentId:R(t.parentTagId??t.parentId??r)??null,infSchmId:R(t.infSchmId??o?.infSchmId),schemeId:M(t.infSchmId??o?.infSchmId),infSetId:u,setId:d,code:R(t.code??u),children:[],infSetList:[n],operationInfo:Ie(t.operationInfo),loaded:!0,raw:{...t,infSetId:u,setId:d,infSetList:[n.raw]}}}function Bt(t,n={}){const o=q(t.globalInfoSchmMark??t.scheme??t),r=M(o.infSchmId??n.infSchmId),a=M(o.emplid??n.emplid);return!r&&!a&&Object.keys(o).length===0?null:{infSchmId:r,emplid:a,id:r,mark:M(o.globalInfoSchmMark??t.globalInfoSchmMark),config:Array.isArray(t.globalInfoSchmConfig)?"":M(o.globalInfoSchmConfig??t.globalInfoSchmConfig),raw:o}}function vo(t){if(Array.isArray(t.globalInfoSchmConfig))return t.globalInfoSchmConfig;const n=q(t.globalInfoSchmConfig),o=be(n,["children","tree","list","tags"]);return o.length?o:be(t,["children","tree","list","tags","records"])}function go(t){return Array.isArray(t)?t.map(n=>{const o=q(n);return{infSetId:M(o.infSetId??o.setId??o.id),setId:R(o.setId),operationInfo:Ie(o.operationInfo),raw:o}}):[]}function It(t){return q(Ct(t))}function Ct(t){const n=q(t);return n.data??n.result??t}function be(t,n){for(const o of n){const r=t[o];if(Array.isArray(r))return r}return[]}function Le(t){const n={...t};return delete n.__rowKey,delete n.fields,n}function Et(t){const n=q(t);if(!(!n.method&&!n.url&&!n.params))return{...n,method:R(n.method),url:R(n.url),params:De(n.params)}}function Ie(t){const n=q(t);if(Object.keys(n).length!==0)return Object.fromEntries(Object.entries(n).map(([o,r])=>[o,Et(r)??r]))}function Ke(t){if(!Array.isArray(t))return;const n=t.map(o=>M(o)).filter(Boolean);return n.length?n:void 0}function ho(t){if(Q(t.htmlDisplay))return"html";if(Q(t.multRow))return"multi-row";const n=M(t.renderType).toLowerCase();return n==="code"||n==="empty"?n:"text"}function yo(t){const n=M(t.fieldType??t.type??t.renderType).toLowerCase();return n.includes("date")?"date":n.includes("select")||n.includes("enum")?"select":n.includes("number")||n.includes("int")?"number":n.includes("bool")||n.includes("switch")?"switch":n.includes("file")||n.includes("upload")||n.includes("attachment")?"file":n.includes("textarea")||n.includes("text_area")?"textarea":"text"}function De(t){const n=q(t);return Object.keys(n).length?n:void 0}function Ue(t){return typeof t=="string"||typeof t=="number"?t:void 0}function q(t){return t&&typeof t=="object"&&!Array.isArray(t)?t:{}}function M(t){return t==null?"":String(t).trim()}function R(t){return M(t)||void 0}function Pt(t){const n=Nt(t);return n===void 0?null:n}function Nt(t){if(t==null||t==="")return;const n=Number(t);return Number.isFinite(n)?n:void 0}function Q(t){return typeof t=="string"?["true","1","y","yes","t","是"].includes(t.toLowerCase()):!!t}const oe=t=>t.key||t.code,W=t=>t.key||t.setId,ue=t=>new Error(`[GlobalInfo] ${t}`),de=t=>t&&typeof t=="object"&&!Array.isArray(t)?t:{},Se=t=>{const n=de(t);return!!(n.url||n.method||n.params)},bo=t=>String(t??"").trim(),we=t=>Array.from(new Set(t.map(bo).filter(Boolean))),ye=t=>we([t?.key,t?.id,t?.setId,t?.infSetId,t?.tagId,t?.code,...(t?.infSetList??[]).map(n=>n.infSetId),...(t?.infSetList??[]).map(n=>n.setId)]),wo=t=>we([t.key,t.id,t.setId,t.infSetId,t.tagId,t.code]),fe=(t={})=>({loading:!1,saving:!1,error:null,loaded:!1,editing:!1,...t}),ve=t=>!!(t&&typeof t=="object"&&"children"in t),At=(t,n,o)=>{const r=wo(t),a=we([o,...ye(n)]);return a.length===0?!1:a.some(l=>r.includes(l))},ko=(t,n,o)=>we([o,...ye(n)]).length===0?t:t.filter(a=>At(a,n,o)),Vt=t=>{const n=e.ref(!1),o=e.ref(!1),r=e.ref(!1),a=e.shallowRef(null),l=e.shallowRef([]),f=e.shallowRef(null),u=e.shallowRef(null),d=e.shallowRef(null),w=e.shallowRef({}),B=e.shallowRef({}),i=e.ref([]),p=e.shallowRef({}),v=e.ref([]),b=e.computed(()=>{const c=i.value.map(h=>w.value[h]).filter(h=>!!h),s=Object.entries(w.value).filter(([h])=>!i.value.includes(h)).map(([,h])=>h);return[...c,...s]}),g=e.computed(()=>({loading:n.value,detailLoading:o.value,saving:r.value,editingSectionKeys:v.value,sectionMap:w.value,sectionStatusMap:Object.fromEntries(Object.entries(p.value).map(([c,s])=>[c,{...s,editing:v.value.includes(B.value[c]??c)}])),error:a.value})),I=()=>({adaptScene:t.adaptScene,emplid:t.emplid}),T=c=>({...I(),infSchmId:c.infSchmId,tagId:c.tagId,tagLevel:c.tagLevel,parentTagId:c.parentTagId}),m=(c=u.value,s=d.value)=>({...I(),infSchmId:c?.infSchmId,tagId:c?.tagId,infSetId:s?.infSetId??c?.infSetId,setId:s?.setId??c?.setId}),y=async(c,s)=>{if(!t.service.requestOperation)throw ue("service.requestOperation is required for operationInfo");return t.service.requestOperation(c,s)},S=(c,s={},h)=>{const N=de(c.params),V=h?.cascadeDependFields??[];let x=0;return Object.fromEntries(Object.entries(N).map(([L,$])=>{if($!=="")return[L,$];if(s[L]!==void 0)return[L,s[L]];const G=V[x];return x+=1,[L,G?s[G]??"":$]}))},A=c=>{const h=de(c.operationInfo).openTag;return Se(h)?h:void 0},_=(c,s,h)=>{const N=de(c?.operationInfo).queryInfoSet;if(Se(N))return N;const V=s?.infSetList.find(L=>L.infSetId===h),x=de(V?.operationInfo).queryInfoSet;return Se(x)?x:void 0},k=c=>{const s=de(c.operationInfo).editInfoSet;return Se(s)?s:void 0},j=(c,s)=>{if(!s)return c[0]??null;for(const h of c){if(ye(h).includes(s))return h;const N=j(h.children,s);if(N)return N}return null},C=(c=d.value)=>{if(c)return typeof c=="string"?c:ve(c)?U(c):W(c)},E=(c=d.value)=>{const s=C(c);if(!s)return null;const h=B.value[s]??s;return w.value[h]??null},z=(c=d.value)=>{const s=C(c);if(s)return B.value[s]??s},U=(c=d.value)=>{if(c)return typeof c=="string"?c:ve(c)?c.setId??c.infSetId??c.key:W(c)},ie=(c=d.value)=>{if(ve(c))return c;if(typeof c=="string"){const s=j(l.value,c);if(s)return s;const h=E(c);return h?.ownerNodeKey?j(l.value,h.ownerNodeKey)??u.value:h||u.value&&ye(u.value).includes(c)?u.value:null}return c?.ownerNodeKey?j(l.value,c.ownerNodeKey)??u.value:u.value},se=(c=d.value)=>!c||ve(c)?null:E(c),pe=(c=d.value)=>{const s=U(c);if(!s)return fe();const h=B.value[s]??s;return fe({...p.value[s],...p.value[h],editing:v.value.includes(h)})},Y=(c,s)=>{const h=U(c);h&&(p.value={...p.value,[h]:fe({...p.value[h],...s,editing:v.value.includes(h)})})},ae=(c=f.value?.raw??null,s=u.value)=>{const h=b.value,N=d.value&&h.find(V=>W(V)===W(d.value))?d.value:null;f.value={scheme:f.value?.scheme??null,node:s,topNodes:l.value,treeNodes:l.value,activeNode:s,activeSection:N,sections:h,sectionMap:w.value,raw:c},d.value=N},Ce=(c,s=u.value,h)=>{const N={...w.value},V={...B.value},x=[...i.value],L={...p.value},$=ko(c.sections,s,h),G=we([h,...ye(s)]).length>0,K=$.find(ne=>At(ne,s,h))??(G?null:c.activeSection??$[0]??d.value??null);return $.forEach(ne=>{const ee=W(ne);N[ee]=ne,x.includes(ee)||x.push(ee),L[ee]=fe({...L[ee],loaded:!0,loading:!1,error:null,editing:v.value.includes(ee)})}),h&&K?V[h]=W(K):h&&(V[h]=""),h&&(L[h]=fe({...L[h],loaded:!0,loading:!1,error:null,editing:!!(K&&v.value.includes(W(K)))})),w.value=N,B.value=V,i.value=x,p.value=L,f.value={...c,scheme:c.scheme??f.value?.scheme??null,topNodes:l.value,treeNodes:l.value,activeNode:s,activeSection:K,sections:$,sectionMap:w.value},d.value=K,K},re=(c,s)=>{const h=z(c),N=h?w.value[h]:null;if(!h||!N)return;const V=s(N);w.value={...w.value,[h]:V},d.value=W(d.value??V)===h?V:d.value,ae()},ce=async(c=d.value??u.value)=>{const s=se(c),h=ie(c)??u.value,N=U(c);if(!h)return null;if(!t.service.requestOperation)throw ue("service.requestOperation is required");o.value=!0,a.value=null,Y(N??h,{loading:!0,error:null});try{const V=s?[{infSetId:s.infSetId,setId:s.setId,operationInfo:s.operationInfo,raw:s.raw}]:h.infSetList;if(V.length===0)throw ue("node.infSetList is required");const x=await Promise.all(V.map(async $=>{const G=_(s,h,$.infSetId),K={...m(h,s),infSetId:$.infSetId,setId:$.setId,operationInfo:$.operationInfo};if(G){const ne=await y(G,{type:"queryInfoSet",node:h,section:s,params:K});return yt(ne,K,h)}throw ue("infoSet.operationInfo.queryInfoSet is required")})),L={...x[0],sections:x.flatMap($=>$.sections),sectionMap:Object.fromEntries(x.flatMap($=>$.sections).map($=>[$.key,$]))};return Ce(L,h,N)}catch(V){throw a.value=V,Y(N??h,{loading:!1,error:V}),V}finally{o.value=!1,Y(N??h,{loading:!1})}},me=(c=d.value)=>ce(c),P=(c=d.value)=>{if(!c)return null;if(!ve(c)&&typeof c!="string")return E(c);const s=U(c);return s?w.value[B.value[s]??s]??null:null},F=async(c=u.value)=>c?(await ce(c),f.value):(f.value=null,d.value=null,w.value={},B.value={},i.value=[],p.value={},null),O=async c=>{const s=A(c);if(!s)return c.children;const h=T(c),N=await y(s,{type:"openTag",node:c,params:h});return Me(N).treeNodes},le=async c=>{if(c.loaded)return c.children;const s=await O(c);return s.length>0&&(l.value=Fe(l.value,c.key,s)),s},Ee=async c=>{const s=typeof c=="string"?j(l.value,c):c;return s?(u.value=s,d.value=null,v.value=[],await le(s),ae(f.value?.raw,s),s):null},Pe=async()=>{const c=t.service.templateTree;if(!c)throw ue("service.templateTree is required");n.value=!0,a.value=null;try{const s=await c(I()),h=Me(s),N=await Promise.all(h.treeNodes.map(async x=>{const L=await O(x);return{...x,children:L,loaded:L.length>0||x.loaded}}));l.value=N,d.value=null,w.value={},B.value={},i.value=[],p.value={},v.value=[];const V=j(N,t.initialActiveNodeKey)??j(N);return u.value=V,f.value={...h,treeNodes:N,activeNode:V,sectionMap:w.value,sections:b.value},l.value}catch(s){throw a.value=s,s}finally{n.value=!1}},Ot=async()=>{const c=C();await me(d.value??u.value);const s=b.value.find(h=>W(h)===c);return s&&(d.value=s),ae(),f.value},Oe=(c=d.value)=>{const s=z(c);return!!(s&&v.value.includes(s))},qt=(c=d.value)=>{const s=z(c);!s||Oe(s)||(v.value=[...v.value,s],Y(s,{editing:!0}))},qe=(c=d.value)=>{const s=z(c);s&&(v.value=v.value.filter(h=>h!==s),Y(s,{editing:!1}))},Jt=(c,s,h)=>{const N=typeof s=="string"?s:oe(s);re(c,V=>{const L=(typeof s=="string"?V.fields.find(G=>oe(G)===N||G.code===N):s)?.cascadeClearFields??[],$={...V.model,[N]:h};return L.forEach(G=>{$[G]=""}),{...V,model:$,rows:V.renderType==="form"?[{...V.rows[0],...$}]:V.rows,fields:V.fields.map(G=>{const K=oe(G);return K===N||G.code===N?{...G,value:h}:L.includes(K)||L.includes(G.code)?{...G,value:""}:G})}})},Kt=async(c,s,h={})=>{const N=E(c);if(!N)return[];const V=Object.keys(h).length>0?h:N.model,x=typeof s=="string"?s:oe(s),L=typeof s=="string"?N.fields.find(X=>oe(X)===x||X.code===x):s,$=L?.interface;if(!L||!$)return L?.options??[];if((L.cascadeDependFields??[]).some(X=>{const H=V[X];return H==null||H===""}))return re(N,X=>({...X,fields:X.fields.map(H=>oe(H)===x||H.code===x?{...H,options:[]}:H)})),[];const K=S($,V,L),ne=await y({...$,params:K},{type:"fieldOptions",node:ie(N),section:N,field:L,params:K}),ee=kt(ne);return re(N,X=>({...X,fields:X.fields.map(H=>oe(H)===x||H.code===x?{...H,options:ee}:H)})),ee},Ut=(c,s)=>{if(Array.isArray(s)){ke(c,s);return}re(c,h=>({...h,model:s,rows:h.renderType==="form"?[{...h.rows[0],...s}]:h.rows,fields:h.fields.map(N=>({...N,value:s[oe(N)]}))}))},ke=(c,s)=>{re(c,h=>({...h,rows:s,data:s}))},Yt={loadTree:Pe,selectNode:Ee,loadDetail:F,reloadActiveSection:Ot,loadSection:ce,reloadSection:me,getSection:P,getSectionStatus:pe,startEdit:qt,cancelEdit:qe,updateField:Jt,loadFieldOptions:Kt,updateModel:Ut,updateTableRows:ke,saveRow:(c,s={},h=-1)=>{const V=[...E(c)?.rows??[]];V.splice(h>=0?h:V.length,h>=0?1:0,s),ke(c,V)},deleteRow:(c,s)=>{const h=E(c),N=typeof s=="string"?Number(s):s,V=(h?.rows??[]).filter((x,L)=>L!==N);ke(c,V)},saveSection:async(c=d.value)=>{const s=C(c),h=E(c);if(!h)return null;const N=k(h);if(!N)throw ue("section.operationInfo.editInfoSet is required");r.value=!0,a.value=null,s&&s!==W(h)&&Y(s,{saving:!0,error:null}),Y(h,{saving:!0,error:null});try{const V=m(u.value,h),x=wt(h,V),L=await y({...N,params:{...S(N,h.model),...x}},{type:"editInfoSet",node:u.value,section:h,params:x});return qe(h),await me(h),L}catch(V){throw a.value=V,s&&s!==W(h)&&Y(s,{saving:!1,error:V}),Y(h,{saving:!1,error:V}),V}finally{r.value=!1,s&&s!==W(h)&&Y(s,{saving:!1}),Y(h,{saving:!1})}},isEditing:Oe};return e.watch(()=>t.emplid,()=>{(t.autoLoad??!0)&&Pe()}),e.onMounted(()=>{(t.autoLoad??!0)&&Pe()}),{viewModel:f,nodes:l,sections:b,sectionMap:w,sectionStatusMap:p,activeNode:u,activeSection:d,state:g,actions:Yt}},So=e.defineComponent({name:"GlobalInfoProvider",__name:"GlobalInfoProvider",props:{service:{},adaptScene:{},emplid:{},autoLoad:{type:Boolean,default:!0},initialActiveNodeKey:{}},setup(t){const o=Vt(t),{viewModel:r,nodes:a,sections:l,activeNode:f,activeSection:u,state:d,actions:w}=o;return(B,i)=>e.renderSlot(B.$slots,"default",e.normalizeProps(e.guardReactiveProps({viewModel:e.unref(r),nodes:e.unref(a),sections:e.unref(l),activeNode:e.unref(f),activeSection:e.unref(u),state:e.unref(d),actions:e.unref(w)})))}});function _o(t){return Ye(t.type||t.fieldType)||Ye(t.renderType)||"text"}function Tt(t){return He(t.type||t.fieldType)||He(t.renderType)||"text"}function Re(t){return t==null||t===""||Array.isArray(t)&&t.length===0}function jt(t){if(t instanceof Error)return!0;if(!t||typeof t!="object")return!1;const n=t;return typeof n.message=="string"&&(typeof n.stack=="string"||n.name==="Error")}function Mt(t,n,o="-"){const r=Tt(t);return r==="empty"||Re(n)?o:jt(n)?(console.error("[globalInfo] field value render failed",n),o):r==="select"?Bo(t,n,o):r==="switch"?Lt(n)?"是":"否":r==="file"?Io(n,o):r==="multi-row"?Co(n):String(n)}function Lt(t){if(typeof t=="boolean")return t;if(typeof t=="number")return t!==0;const n=String(t??"").trim().toLowerCase();return["true","1","y","yes","t","是"].includes(n)}function Ye(t){const n=String(t??"").toLowerCase();return n==="upload"||n==="attachment"?"file":n==="text"||n==="textarea"||n==="select"||n==="date"||n==="number"||n==="switch"||n==="file"||n==="html"||n==="code"||n==="multi-row"||n==="empty"?n:""}function He(t){const n=String(t??"").toLowerCase();return n==="upload"||n==="attachment"?"file":n==="select"||n==="switch"||n==="file"||n==="html"||n==="code"||n==="multi-row"||n==="empty"?n:n==="textarea"||n==="date"||n==="number"||n==="text"?"text":""}function Bo(t,n,o){if(Array.isArray(n)){const r=n.map(a=>We(t,a)||String(a??"").trim()).filter(Boolean);return r.length>0?r.join("、"):o}return We(t,n)||String(n)}function We(t,n){return t.options?.find(r=>r.value===n||String(r.value)===String(n))?.label??""}function Io(t,n){if(Array.isArray(t)){const o=t.map(r=>Qe(r)).filter(Boolean);return o.length>0?o.join("、"):n}return Qe(t)||n}function Qe(t){if(typeof File<"u"&&t instanceof File)return t.name;if(t&&typeof t=="object"){const n=t;return String(n.name??n.fileName??n.filename??n.url??"").trim()}return String(t??"").trim()}function Co(t){return Array.isArray(t)?t.map(n=>jt(n)?(console.error("[globalInfo] multi-row field item render failed",n),""):n&&typeof n=="object"?JSON.stringify(n):String(n)).filter(Boolean).join(`
|
|
3
|
+
`):String(t)}const Eo=["disabled","accept","multiple"],Po={key:0,class:"global-info-field-control__file-text"},No={key:1,class:"global-info-field-control__file-upload"},Ao=e.defineComponent({name:"GlobalInfoFieldControl",__name:"GlobalInfoFieldControl",props:{field:{},modelValue:{},disabled:{type:Boolean,default:!1}},emits:["update:modelValue","change","loadOptions"],setup(t,{emit:n}){const o=t,r=n,a=["textarea","html","code","multi-row"],l=e.computed(()=>_o(o.field)),f=e.computed(()=>o.disabled||o.field.disabled||o.field.readonly),u=e.computed(()=>o.modelValue===void 0||o.modelValue===null?"":String(o.modelValue)),d=e.computed(()=>{if(o.modelValue===void 0||o.modelValue===null||o.modelValue==="")return;const m=typeof o.modelValue=="number"?o.modelValue:Number(o.modelValue);return Number.isFinite(m)?m:void 0}),w=e.computed(()=>{const m=o.field.props?.activeValue??o.field.props?.["active-value"],y=o.field.props?.inactiveValue??o.field.props?.["inactive-value"];return m!==void 0||y!==void 0?o.modelValue??y??!1:Lt(o.modelValue)}),B=e.computed(()=>l.value==="code"?5:3),i=e.computed(()=>l.value==="file"&&!Re(o.modelValue)),p=e.computed(()=>Mt(o.field,o.modelValue,"请选择文件")),v=e.computed(()=>o.field.placeholder?o.field.placeholder:l.value==="select"?"请选择":l.value==="date"?"请选择日期":l.value==="file"?"请选择文件":"请输入");function b(m){r("update:modelValue",m)}function g(m){r("change",m)}function I(m){m&&r("loadOptions")}function T(m){const y=m.target,S=Array.from(y.files??[]),A=o.field.props?.multiple?S:S[0]??null;b(A),g(A)}return(m,y)=>{const S=D.ElOption,A=D.ElSelect,_=D.ElDatePicker,k=D.ElInputNumber,j=D.ElSwitch,C=D.ElInput;return l.value==="select"?(e.openBlock(),e.createBlock(A,e.mergeProps({key:0,class:"global-info-field-control"},m.field.props,{"model-value":m.modelValue,placeholder:v.value,disabled:f.value,clearable:"",onVisibleChange:I,"onUpdate:modelValue":b,onChange:g}),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.field.options||[],E=>(e.openBlock(),e.createBlock(S,{key:String(E.value),label:E.label,value:E.value},null,8,["label","value"]))),128))]),_:1},16,["model-value","placeholder","disabled"])):l.value==="date"?(e.openBlock(),e.createBlock(_,e.mergeProps({key:1,class:"global-info-field-control"},m.field.props,{"model-value":m.modelValue,placeholder:v.value,disabled:f.value,type:"date","value-format":"YYYY-MM-DD","onUpdate:modelValue":b,onChange:g}),null,16,["model-value","placeholder","disabled"])):l.value==="number"?(e.openBlock(),e.createBlock(k,e.mergeProps({key:2,class:"global-info-field-control"},m.field.props,{"model-value":d.value,placeholder:v.value,disabled:f.value,"controls-position":"right","onUpdate:modelValue":b,onChange:g}),null,16,["model-value","placeholder","disabled"])):l.value==="switch"?(e.openBlock(),e.createBlock(j,e.mergeProps({key:3,class:"global-info-field-control global-info-field-control--switch"},m.field.props,{"model-value":w.value,disabled:f.value,"onUpdate:modelValue":b,onChange:g}),null,16,["model-value","disabled"])):l.value==="file"?(e.openBlock(),e.createElementBlock("label",{key:4,class:e.normalizeClass(["global-info-field-control global-info-field-control--file",{"is-disabled":f.value,"is-empty":!i.value,"is-filled":i.value}])},[e.createElementVNode("input",{class:"global-info-field-control__file-input",type:"file",disabled:f.value,accept:String(m.field.props?.accept??""),multiple:!!m.field.props?.multiple,onChange:T},null,40,Eo),i.value?(e.openBlock(),e.createElementBlock("span",Po,e.toDisplayString(p.value),1)):(e.openBlock(),e.createElementBlock("span",No,"上 传"))],2)):l.value==="empty"?(e.openBlock(),e.createBlock(C,{key:5,class:"global-info-field-control","model-value":"",disabled:"",placeholder:"-"})):(e.openBlock(),e.createBlock(C,e.mergeProps({key:6,class:["global-info-field-control",{"global-info-field-control--code":l.value==="code"}]},m.field.props,{"model-value":u.value,placeholder:v.value,disabled:f.value,type:a.includes(l.value)?"textarea":"text",rows:a.includes(l.value)?B.value:void 0,"onUpdate:modelValue":b,onChange:g}),null,16,["class","model-value","placeholder","disabled","type","rows"]))}}}),ze=J(Ao,[["__scopeId","data-v-ba86a0ae"]]),Vo=["innerHTML"],To={key:1,class:"global-info-field-value global-info-field-value--code"},jo=e.defineComponent({name:"GlobalInfoFieldValue",__name:"GlobalInfoFieldValue",props:{field:{},value:{},emptyText:{default:"-"}},setup(t){const n=t,o=e.computed(()=>Tt(n.field)),r=e.computed(()=>o.value==="empty"||Re(n.value)),a=e.computed(()=>Mt(n.field,n.value,n.emptyText));return(l,f)=>o.value==="html"&&!r.value?(e.openBlock(),e.createElementBlock("span",{key:0,class:"global-info-field-value global-info-field-value--html",innerHTML:a.value},null,8,Vo)):o.value==="code"&&!r.value?(e.openBlock(),e.createElementBlock("pre",To,e.toDisplayString(a.value),1)):(e.openBlock(),e.createElementBlock("span",{key:2,class:e.normalizeClass(["global-info-field-value",{"global-info-field-value--multi-row":o.value==="multi-row","global-info-field-value--file":o.value==="file"&&!r.value}])},e.toDisplayString(a.value),3))}}),Ge=J(jo,[["__scopeId","data-v-aa0d493d"]]),Mo={class:"global-info-form-renderer__label"},Lo={key:0,class:"global-info-form-renderer__required"},Do=e.defineComponent({name:"GlobalInfoFormRenderer",__name:"GlobalInfoFormRenderer",props:{section:{},node:{},editing:{type:Boolean},state:{},actions:{},model:{},onUpdateModel:{type:Function}},setup(t){const n=t,o=e.useSlots(),r=e.computed(()=>n.section.fields.filter(p=>p.visible)),a=e.computed(()=>n.model??n.section.model);function l(p,v){const b={...a.value,[p.code]:v};(p.cascadeClearFields??[]).forEach(g=>{b[g]=""}),n.onUpdateModel?.(b),n.onUpdateModel||n.actions.updateField(n.section,p,v)}async function f(p){try{await n.actions.loadFieldOptions(n.section,p,a.value)}catch(v){console.error("[GlobalInfoFormRenderer] load field options failed",v)}}function u(p){const v=a.value[p.code];return{field:p,section:n.section,sectionView:n.section,node:n.node,editing:n.editing,modelValue:v,value:v,state:n.state,actions:n.actions,updateModelValue:b=>l(p,b)}}function d(p){const v=String(p.id||p.key||p.code||"").trim(),b=v?`field-${v}`:"";if(b&&o[b])return b;const g=b.toLowerCase();return g!==b&&o[g]?g:""}function w(p){return p.span?Math.min(Math.max(p.span,1),24):6}function B(p){return p.key||p.id||p.code}function i(p){return p.required||p.isRequired}return(p,v)=>{const b=D.ElFormItem,g=D.ElCol,I=D.ElRow,T=D.ElForm;return e.openBlock(),e.createBlock(T,{class:"global-info-form-renderer",model:a.value,"label-position":"top"},{default:e.withCtx(()=>[e.createVNode(I,{gutter:24},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,m=>(e.openBlock(),e.createBlock(g,{key:B(m),span:w(m)},{default:e.withCtx(()=>[e.createVNode(b,e.mergeProps({prop:m.code,ref_for:!0},m.formItemProps),{label:e.withCtx(()=>[e.createElementVNode("span",Mo,[i(m)?(e.openBlock(),e.createElementBlock("span",Lo,"*")):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(m.label),1)])]),default:e.withCtx(()=>[d(m)?e.renderSlot(p.$slots,d(m),e.mergeProps({key:0,ref_for:!0},u(m)),void 0,!0):p.editing&&!m.readonly?(e.openBlock(),e.createBlock(ze,{key:1,field:m,"model-value":a.value[m.code],section:p.section,onLoadOptions:()=>f(m),"onUpdate:modelValue":y=>l(m,y)},null,8,["field","model-value","section","onLoadOptions","onUpdate:modelValue"])):(e.openBlock(),e.createBlock(Ge,{key:2,field:m,value:a.value[m.code],section:p.section},null,8,["field","value","section"]))]),_:2},1040,["prop"])]),_:2},1032,["span"]))),128))]),_:3})]),_:3},8,["model"])}}}),Dt=J(Do,[["__scopeId","data-v-9dcd2ba9"]]),xt=e.defineComponent({name:"GlobalInfoDeleteConfirm",__name:"GlobalInfoDeleteConfirm",props:{title:{default:"确认删除吗?"},confirmText:{default:"确认"},cancelText:{default:"取消"}},emits:["confirm","cancel"],setup(t){return(n,o)=>{const r=D.ElPopconfirm;return e.openBlock(),e.createBlock(r,{title:n.title,"confirm-button-text":n.confirmText,"cancel-button-text":n.cancelText,width:"240","popper-class":"global-info-delete-confirm",onConfirm:o[0]||(o[0]=a=>n.$emit("confirm")),onCancel:o[1]||(o[1]=a=>n.$emit("cancel"))},{reference:e.withCtx(()=>[e.renderSlot(n.$slots,"default")]),_:3},8,["title","confirm-button-text","cancel-button-text"])}}}),xo={class:"global-info-table-renderer"},$o={class:"global-info-table-renderer__table-scroll"},Fo={class:"global-info-table-renderer__header"},Ro={key:0,class:"global-info-table-renderer__required"},zo=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(t){const n=t,o=e.useSlots(),r=e.computed(()=>n.section.fields.filter(m=>m.visible));function a(m){n.actions.deleteRow(n.section,m)}function l(m,y,S,A){const _=n.section.rows.slice(),k=S.cascadeClearFields??[],j={...m,__rowKey:I(m),[S.code]:A};k.forEach(C=>{j[C]=""}),_[y]={...j},n.actions.updateTableRows(n.section,_)}async function f(m,y){try{await n.actions.loadFieldOptions(n.section,m,y)}catch(S){console.error("[GlobalInfoTableRenderer] load field options failed",S)}}function u(m,y,S){const A=y[m.code];return{field:m,section:n.section,sectionView:n.section,node:n.node,row:y,rowIndex:S,editing:n.editing,modelValue:A,value:A,state:n.state,actions:n.actions,updateModelValue:_=>l(y,S,m,_)}}function d(m){const y=String(m.id||m.key||m.code||"").trim(),S=y?`field-${y}`:"";if(S&&o[S])return S;const A=S.toLowerCase();return A!==S&&o[A]?A:""}function w(m){return!m.readonly&&!m.disabled}function B(m){return m.width??(v(m)?56:void 0)}function i(m){if(!m.width)return m.minWidth??(v(m)?56:void 0)}function p(m){return m.key||m.id||m.code}function v(m){return[m.label,m.name,m.code,m.key,m.id].map(S=>String(S??"").trim().toLowerCase()).some(S=>["序号","index","idx","seq","serial","order","rownum","row_no"].includes(S))}let b=0;const g=new WeakMap;function I(m){const y=m.__rowKey??m.key??m.id??m.setId??m.infSetId;if(y!=null&&y!=="")return String(y);const S=m,A=g.get(S);if(A)return A;b+=1;const _=`local-${b}`;return g.set(S,_),_}function T(m){return m.required||m.isRequired}return(m,y)=>{const S=D.ElTableColumn,A=e.resolveComponent("Delete"),_=D.ElIcon,k=D.ElButton,j=D.ElTable;return e.openBlock(),e.createElementBlock("div",xo,[e.createElementVNode("div",$o,[e.createVNode(j,{class:"global-info-table-renderer__table",data:m.section.rows,"row-key":I},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,C=>(e.openBlock(),e.createBlock(S,{key:p(C),prop:C.code,label:C.label,width:B(C),"min-width":i(C)},{header:e.withCtx(()=>[e.createElementVNode("span",Fo,[T(C)?(e.openBlock(),e.createElementBlock("span",Ro,"*")):e.createCommentVNode("",!0),e.createElementVNode("span",null,e.toDisplayString(C.label),1)])]),default:e.withCtx(({row:E,$index:z})=>[d(C)?e.renderSlot(m.$slots,d(C),e.mergeProps({key:0,ref_for:!0},u(C,E,z)),void 0,!0):m.editing&&w(C)?(e.openBlock(),e.createBlock(ze,{key:1,field:C,"model-value":E[C.code],section:m.section,row:E,"row-index":z,onLoadOptions:()=>f(C,E),"onUpdate:modelValue":U=>l(E,z,C,U)},null,8,["field","model-value","section","row","row-index","onLoadOptions","onUpdate:modelValue"])):(e.openBlock(),e.createBlock(Ge,{key:2,field:C,value:E[C.code],section:m.section,row:E,"row-index":z},null,8,["field","value","section","row","row-index"]))]),_:2},1032,["prop","label","width","min-width"]))),128)),m.editing?(e.openBlock(),e.createBlock(S,{key:0,label:"操作",width:"104",fixed:"right"},{default:e.withCtx(({$index:C})=>[m.showDelete?(e.openBlock(),e.createBlock(xt,{key:0,onConfirm:E=>a(C)},{default:e.withCtx(()=>[e.createVNode(k,{class:"global-info-table-renderer__delete",link:"",type:"danger"},{default:e.withCtx(()=>[e.createVNode(_,{class:"global-info-table-renderer__delete-icon"},{default:e.withCtx(()=>[e.createVNode(A)]),_:1}),y[0]||(y[0]=e.createTextVNode(" 删除 "))]),_:1})]),_:2},1032,["onConfirm"])):e.createCommentVNode("",!0)]),_:1})):e.createCommentVNode("",!0)]),_:3},8,["data"])])])}}}),$t=J(zo,[["__scopeId","data-v-2fa29438"]]),Ft=e.defineComponent({name:"GlobalInfoAutoRenderer",__name:"GlobalInfoAutoRenderer",props:{section:{},node:{},editing:{type:Boolean},state:{},actions:{}},setup(t){return(n,o)=>n.section.renderType==="table"?(e.openBlock(),e.createBlock($t,{key:0,section:n.section,node:n.node,editing:n.editing,state:n.state,actions:n.actions},null,8,["section","node","editing","state","actions"])):(e.openBlock(),e.createBlock(Dt,{key:1,section:n.section,node:n.node,editing:n.editing,state:n.state,actions:n.actions},null,8,["section","node","editing","state","actions"]))}}),Rt=e.defineComponent({name:"GlobalInfoSectionOutlet",__name:"GlobalInfoSectionOutlet",props:{section:{},node:{},editing:{type:Boolean},state:{},actions:{}},setup(t){const n=t,o=e.useSlots(),r=e.computed(()=>n.editing??n.actions.isEditing(n.section)),a=e.computed(()=>n.section.renderType==="table"?n.section.rows.length===0:n.section.fields.length===0),l=e.computed(()=>{const d=f(n.section.id||n.section.key),w=u(n.section.renderType);return[d,w,"default"].find(B=>!!(B&&o[B]))??""});function f(d){const w=String(d??"").trim();return w?`section-${w}`:""}function u(d){return d==="form"||d==="table"?d:""}return(d,w)=>l.value?e.renderSlot(d.$slots,l.value,{key:0,section:d.section,sectionView:d.section,node:d.node,editing:r.value,isEmpty:a.value,empty:a.value,fields:d.section.fields,state:d.state,actions:d.actions}):(e.openBlock(),e.createBlock(Ft,{key:1,section:d.section,node:d.node,editing:r.value,state:d.state,actions:d.actions},null,8,["section","node","editing","state","actions"]))}}),Go=e.defineComponent({name:"GlobalInfoSlotErrorBoundary",props:{boundaryKey:{type:[String,Number],default:""},label:{type:String,default:""}},emits:{error:t=>!0},setup(t,{emit:n,slots:o}){const r=e.ref(!1);e.watch(()=>t.boundaryKey,()=>{r.value=!1}),e.onErrorCaptured(l=>(a(l),!1));function a(l){r.value=!0,console.error(`[GlobalInfoSlotErrorBoundary] ${t.label||"section"} slot render failed`,l),n("error",l)}return()=>{if(r.value)return o.fallback?.()??null;try{return o.default?.()??null}catch(l){return a(l),o.fallback?.()??null}}}}),Oo={class:"global-info-section-block"},qo={key:0,class:"global-info-section-block__header"},Jo={class:"global-info-section-block__title-wrap"},Ko={class:"global-info-section-block__title"},Uo={key:0,class:"global-info-section-block__actions"},Yo={class:"global-info-section-block__body"},Ho=e.defineComponent({name:"GlobalInfoSectionBlock",__name:"GlobalInfoSectionBlock",props:{node:{},state:{},actions:{},hideHeader:{type:Boolean},onEdit:{type:Function},onCancel:{type:Function},onSave:{type:Function}},setup(t){const n=t,o=e.useSlots(),r=e.ref(!1),a=e.ref(null),l=e.ref(null),f=e.computed(()=>!!n.hideHeader),u=e.computed(()=>n.actions.getSectionStatus(n.node)),d=e.computed(()=>n.actions.getSection(n.node)??l.value),w=e.computed(()=>d.value?.title||n.node.tagName||n.node.label||"-"),B=e.computed(()=>!!(d.value&&n.actions.isEditing(d.value))),i=e.computed(()=>d.value?.renderType==="table"),p=e.computed(()=>r.value||u.value.loading),v=e.computed(()=>I(a.value||u.value.error)),b=e.computed(()=>{const k=d.value;return k?k.renderType==="table"?k.rows.length===0:k.fields.length===0:!0}),g=e.computed(()=>({node:n.node,section:d.value,sectionView:d.value,fields:d.value?.fields??[],title:w.value,editing:B.value,loading:p.value,error:a.value||u.value.error,errorMessage:v.value,isEmpty:b.value,empty:b.value,sectionStatus:u.value,state:n.state,actions:n.actions,reload:_,handleEdit:T,handleCancel:m,handleAddTableRow:y,handleSave:S}));function I(k){return k?k instanceof Error?k.message:String(k):""}async function T(){const k=d.value;k&&(await n.onEdit?.(k,n.node),n.onEdit||n.actions.startEdit(k))}async function m(){const k=d.value;k&&(await n.onCancel?.(k,n.node),n.onCancel||n.actions.cancelEdit(k))}function y(){const k=d.value;if(!k)return;const j=k.fields.reduce((C,E)=>(C[E.code]=E.value??"",C),{__rowKey:`new-${Date.now()}`});n.actions.saveRow(k,j,-1)}async function S(){const k=d.value;if(k)try{if(n.onSave){await n.onSave(k,n.node);return}await n.actions.saveSection(k)}catch(j){a.value=j,console.error("[GlobalInfoSectionBlock] save section failed",j)}}function A(k){a.value=k}async function _(){r.value=!0,a.value=null,l.value=null;try{l.value=await n.actions.loadSection(n.node)}catch(k){a.value=k,console.error("[GlobalInfoSectionBlock] load section failed",k)}finally{r.value=!1}}return e.onMounted(()=>{_()}),e.watch(()=>n.node.key,()=>{_()}),(k,j)=>{const C=D.ElButton;return e.openBlock(),e.createElementBlock("section",Oo,[f.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("header",qo,[e.renderSlot(k.$slots,"header",e.normalizeProps(e.guardReactiveProps(g.value)),()=>[e.createElementVNode("div",Jo,[j[0]||(j[0]=e.createElementVNode("span",{class:"global-info-section-block__marker"},null,-1)),e.createElementVNode("h3",Ko,e.toDisplayString(w.value),1)]),e.renderSlot(k.$slots,"actions",e.normalizeProps(e.guardReactiveProps(g.value)),()=>[d.value?(e.openBlock(),e.createElementBlock("div",Uo,[B.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createVNode(C,{class:"global-info-section-block__cancel",link:"",disabled:u.value.saving,onClick:m},{default:e.withCtx(()=>j[2]||(j[2]=[e.createTextVNode(" 取消 ")])),_:1},8,["disabled"]),i.value?(e.openBlock(),e.createBlock(C,{key:0,class:"global-info-section-block__add",link:"",disabled:u.value.saving,onClick:y},{default:e.withCtx(()=>j[3]||(j[3]=[e.createTextVNode(" 新增 ")])),_:1},8,["disabled"])):e.createCommentVNode("",!0),e.createVNode(C,{class:"global-info-section-block__confirm",link:"",type:"primary",loading:u.value.saving,onClick:S},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.value?"确认":"保存"),1)]),_:1},8,["loading"])],64)):(e.openBlock(),e.createBlock(C,{key:0,class:"global-info-section-block__edit",link:"",type:"primary",disabled:u.value.saving||p.value,onClick:T},{default:e.withCtx(()=>j[1]||(j[1]=[e.createTextVNode(" 编辑 ")])),_:1},8,["disabled"]))])):e.createCommentVNode("",!0)],!0)],!0)])),e.createElementVNode("div",Yo,[p.value?e.renderSlot(k.$slots,"loading",e.normalizeProps(e.mergeProps({key:0},g.value)),()=>[j[4]||(j[4]=e.createElementVNode("div",{class:"global-info-section-block__status"},"加载中...",-1))],!0):!d.value||b.value||v.value?e.renderSlot(k.$slots,"empty",e.normalizeProps(e.mergeProps({key:1},g.value)),()=>[j[5]||(j[5]=e.createElementVNode("div",{class:"global-info-section-block__status"},"暂无数据",-1))],!0):(e.openBlock(),e.createBlock(Go,{key:2,"boundary-key":k.node.key,label:w.value,onError:A},{fallback:e.withCtx(()=>[e.renderSlot(k.$slots,"empty",e.normalizeProps(e.guardReactiveProps(g.value)),()=>[j[6]||(j[6]=e.createElementVNode("div",{class:"global-info-section-block__status"},"暂无数据",-1))],!0)]),default:e.withCtx(()=>[e.createVNode(Rt,{section:d.value,node:k.node,editing:B.value,state:k.state,actions:k.actions},e.createSlots({_:2},[e.renderList(e.unref(o),(E,z)=>({name:z,fn:e.withCtx(U=>[e.renderSlot(k.$slots,z,e.normalizeProps(e.guardReactiveProps({...g.value,...U})),void 0,!0)])}))]),1032,["section","node","editing","state","actions"])]),_:3},8,["boundary-key","label"]))])])}}}),zt=J(Ho,[["__scopeId","data-v-0d8ae722"]]),Wo={class:"global-info-group"},Qo={class:"global-info-group__header"},Zo={class:"global-info-group__title"},Xo={class:"global-info-group__body"},ea=["id"],ta=e.defineComponent({name:"GlobalInfoGroup",__name:"GlobalInfoGroup",props:{group:{},children:{},state:{},actions:{},index:{}},setup(t){const n=t,o=e.useSlots(),r=e.computed(()=>n.group.tagName||n.group.label||"-"),a=e.computed(()=>n.children.length<=1);function l(i,p){const v=n.actions.getSection(i);return{node:i,group:n.group,sectionNode:i,section:v,sectionView:v,state:n.state,actions:n.actions,index:p,editing:!!(v&&n.actions.isEditing(v)),sectionStatus:n.actions.getSectionStatus(i),isSelfSection:w(i,0)===w(n.group,0),handleEdit:()=>n.actions.startEdit(i),handleCancel:()=>n.actions.cancelEdit(i),handleSave:()=>n.actions.saveSection(i.key)}}function f(i){return u("section",d(i))}function u(i,p){if(!p)return"";const v=`${i}-${p}`;if(o[v])return v;const b=v.toLowerCase();return b!==v&&o[b]?b:""}function d(i){return String(i.id||i.infSetId||i.tagId||i.key||i.code||"").trim()}function w(i,p){return i.key||i.id||i.infSetId||i.tagId||`${p}`}function B(i){return`global-info-section-${w(i,0)}`}return(i,p)=>(e.openBlock(),e.createElementBlock("section",Wo,[e.renderSlot(i.$slots,"header",{group:i.group,children:i.children,state:i.state,actions:i.actions,title:r.value,index:i.index,isEmpty:i.children.length===0},()=>[e.createElementVNode("header",Qo,[p[0]||(p[0]=e.createElementVNode("span",{class:"global-info-group__marker"},null,-1)),e.createElementVNode("h2",Zo,e.toDisplayString(r.value),1)])],!0),e.createElementVNode("div",Xo,[e.unref(o).default?e.renderSlot(i.$slots,"default",{key:0,group:i.group,children:i.children,state:i.state,actions:i.actions,index:i.index,isEmpty:i.children.length===0},void 0,!0):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.children,(v,b)=>(e.openBlock(),e.createElementBlock("div",{id:B(v),key:w(v,b),class:"global-info-group__section"},[f(v)?e.renderSlot(i.$slots,f(v),e.mergeProps({key:0,ref_for:!0},l(v,b)),void 0,!0):e.unref(o).section?e.renderSlot(i.$slots,"section",e.mergeProps({key:1,ref_for:!0},l(v,b)),void 0,!0):(e.openBlock(),e.createBlock(zt,{key:2,node:v,state:i.state,actions:i.actions,"hide-header":a.value},e.createSlots({_:2},[e.renderList(e.unref(o),(g,I)=>({name:I,fn:e.withCtx(T=>[e.renderSlot(i.$slots,I,e.mergeProps({ref_for:!0},T),void 0,!0)])}))]),1032,["node","state","actions","hide-header"]))],8,ea))),128)),i.children.length===0?e.renderSlot(i.$slots,"empty",{key:0,node:null,group:i.group,sectionNode:null,state:i.state,actions:i.actions,index:-1},()=>[p[1]||(p[1]=e.createElementVNode("div",{class:"global-info-group__empty"},"暂无数据",-1))],!0):e.createCommentVNode("",!0)],64))])]))}}),Gt=J(ta,[["__scopeId","data-v-778e227f"]]),na={class:"global-info-sections"},oa=e.defineComponent({name:"GlobalInfoSections",__name:"GlobalInfoSections",props:{nodes:{},state:{},actions:{}},setup(t){const n=t,o=e.useSlots(),r=e.computed(()=>{const p=n.nodes.filter(y=>a(y).length>0),v=n.nodes.filter(y=>a(y).length===0),b=v.filter(y=>l(y)),g=v.filter(y=>!l(y)),I=p.map(y=>({group:y,children:a(y)})),T=b.map(y=>({group:y,children:[y]}));if(I.length===0)return b.length>0?T:i(g);const m=i(g);return[...I,...T,...m]});function a(p){return p.children??[]}function l(p){return!String(p.parentId||p.parentTagId||"").trim()}function f(p){return u("group",d(p))}function u(p,v){if(!v)return"";const b=`${p}-${v}`;if(o[b])return b;const g=b.toLowerCase();return g!==b&&o[g]?g:""}function d(p){return String(p.id||p.tagId||p.key||p.code||"").trim()}function w(p,v){return p.key||p.id||p.tagId||`${v}`}function B(p){const v=p[0],b=v?.raw??{},g=String(b.parentTagName||b.parentName||b.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:g,label:g,children:p}}function i(p){const v=new Map;return p.forEach(b=>{const g=String(b.parentId||b.parentTagId||"global-info-flat"),I=v.get(g)??[];I.push(b),v.set(g,I)}),Array.from(v.values()).map(b=>({group:B(b),children:b}))}return(p,v)=>(e.openBlock(),e.createElementBlock("div",na,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,(b,g)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:w(b.group,g)},[f(b.group)?e.renderSlot(p.$slots,f(b.group),{key:0,group:b.group,children:b.children,state:p.state,actions:p.actions,index:g,isEmpty:b.children.length===0},void 0,!0):e.unref(o).group?e.renderSlot(p.$slots,"group",{key:1,group:b.group,children:b.children,state:p.state,actions:p.actions,index:g,isEmpty:b.children.length===0},void 0,!0):(e.openBlock(),e.createBlock(Gt,{key:2,group:b.group,children:b.children,state:p.state,actions:p.actions,index:g},e.createSlots({_:2},[e.renderList(e.unref(o),(I,T)=>({name:T,fn:e.withCtx(m=>[e.renderSlot(p.$slots,T,e.mergeProps({ref_for:!0},m),void 0,!0)])}))]),1032,["group","children","state","actions","index"]))],64))),128))]))}}),aa=J(oa,[["__scopeId","data-v-f15cf0fb"]]);exports.GlobalInfoAutoRenderer=Ft;exports.GlobalInfoDeleteConfirm=xt;exports.GlobalInfoFieldControl=ze;exports.GlobalInfoFieldValue=Ge;exports.GlobalInfoFormRenderer=Dt;exports.GlobalInfoGroup=Gt;exports.GlobalInfoProvider=So;exports.GlobalInfoSectionBlock=zt;exports.GlobalInfoSectionOutlet=Rt;exports.GlobalInfoSections=aa;exports.GlobalInfoTableRenderer=$t;exports.JtAttachmentPreview=eo;exports.JtAttachmentPreviewByParams=gt;exports.JtButton=he;exports.JtCascader=tt;exports.JtCrudTable=Cn;exports.JtDatePicker=nt;exports.JtFilterBar=rt;exports.JtFormItems=at;exports.JtInput=_e;exports.JtPageHeader=ro;exports.JtPagination=An;exports.JtSelect=ot;exports.JtTable=lt;exports.buildGlobalInfoUpdatePayload=wt;exports.createEmptyGlobalInfoViewModel=ht;exports.isGlobalInfoNode=lo;exports.mergeGlobalInfoChildren=Fe;exports.normalizeGlobalInfoDetail=yt;exports.normalizeGlobalInfoTree=Me;exports.resolveGlobalInfoRenderType=bt;exports.setupJtAttachmentPreview=vt;exports.useGlobalInfoController=Vt;
|