@jt-home/mfe-components 1.0.4 → 1.0.6
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/JtAttachmentPreview/index.cjs +1 -0
- package/dist/JtAttachmentPreview/index.mjs +751 -0
- package/dist/JtAttachmentPreview/style.css +1 -0
- package/dist/index.cjs +2 -2
- package/dist/index.mjs +1517 -1866
- package/dist/style.css +1 -1
- package/dist/types/components/JtAttachmentPreview/index.d.ts +9 -3
- package/dist/types/components/JtAttachmentPreview/types.d.ts +13 -1
- package/dist/types/components/index.d.ts +2 -2
- package/dist/types/main.d.ts +2 -2
- package/package.json +9 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.jt-attachment-preview-service-lock{overflow:hidden}.jt-attachment-preview-service{--jt-attachment-preview-service-image-fit: contain;position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:5vh 5vw;background:rgba(0,0,0,.5);color:#333}.jt-attachment-preview-service__modal{display:flex;flex-direction:column;width:90vw;height:90vh;overflow:hidden;border-radius:6px;background:#f7f7f7;box-shadow:0 2px 8px rgba(31,35,41,.08)}.jt-attachment-preview-service__header{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;height:50px;border-bottom:1px solid #f5f5f5;background:#fff}.jt-attachment-preview-service__filename{position:relative;min-width:0;max-width:calc(90vw - 190px);padding-left:29px;overflow:hidden;color:#333;font-size:16px;font-weight:500;line-height:50px;text-overflow:ellipsis;white-space:nowrap;color:#333}.jt-attachment-preview-service__filename::before{content:"";position:absolute;left:20px;top:50%;width:3px;height:10px;border-radius:1px;background:#e60000;transform:translateY(-50%)}.jt-attachment-preview-service__header-actions{display:flex;align-items:center;flex-shrink:0;height:100%}.jt-attachment-preview-service__top-download,.jt-attachment-preview-service__close{display:inline-flex;align-items:center;justify-content:center;height:100%;border:0;background:#fff;color:rgba(0,0,0,.6);text-decoration:none;cursor:pointer}.jt-attachment-preview-service__top-download{gap:4px;min-width:72px;height:36px;padding:0 12px;font-size:16px;line-height:1;vertical-align:top}.jt-attachment-preview-service__close{width:42px;padding:0;font-size:22px;font-weight:400;line-height:1}.jt-attachment-preview-service__top-download:hover,.jt-attachment-preview-service__close:hover{background:#f9f9f9;color:#333}.jt-attachment-preview-service__download-icon{display:flex;align-items:center;justify-content:center;flex:0 0 auto;width:18px;height:18px;font-size:18px;line-height:1;transform:translateY(1px)}.jt-attachment-preview-service__download-icon svg{display:block}.jt-attachment-preview-service__download-text{display:inline-flex;align-items:center;height:18px;line-height:1}.jt-attachment-preview-service__body{position:relative;display:flex;align-items:center;justify-content:center;flex:1;min-height:0;overflow:hidden;background:#f7f7f7}.jt-attachment-preview-service__media,.jt-attachment-preview-service__iframe{display:block;width:100%;height:100%;border:0}.jt-attachment-preview-service__image-viewer{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;overflow:hidden}.jt-attachment-preview-service__image{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:var(--jt-attachment-preview-service-image-fit);transform-origin:center center;transition:transform .16s ease;user-select:none;will-change:transform;-webkit-user-drag:none}.jt-attachment-preview-service__image--draggable{cursor:grab;touch-action:none}.jt-attachment-preview-service__image--dragging{cursor:grabbing;transition:none}.jt-attachment-preview-service__image-toolbar{position:absolute;left:50%;bottom:18px;z-index:2;display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 8px;border-radius:4px;background:rgba(0,0,0,.66);color:#fff;box-shadow:0 2px 8px rgba(31,35,41,.12);transform:translateX(-50%)}.jt-attachment-preview-service__image-tool{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:0;border-radius:4px;background:rgba(0,0,0,0);color:#fff;font-size:16px;line-height:1;cursor:pointer}.jt-attachment-preview-service__image-tool:hover{background:hsla(0,0%,100%,.16)}.jt-attachment-preview-service__image-scale{min-width:42px;color:#fff;font-size:12px;line-height:1;text-align:center}.jt-attachment-preview-service__audio{width:min(520px,100% - 32px)}.jt-attachment-preview-service__pdf-viewer{position:relative;width:100%;height:100%;overflow:hidden;background:#f7f7f7}.jt-attachment-preview-service__pdf-layout{display:flex;width:100%;height:100%;min-height:0}.jt-attachment-preview-service__pdf-layout--hidden{visibility:hidden}.jt-attachment-preview-service__pdf-outline{flex:0 0 220px;width:220px;height:100%;overflow:hidden;border-right:1px solid #f5f5f5;background:#fff}.jt-attachment-preview-service__pdf-outline-title{height:36px;padding:0 12px;border-bottom:1px solid #f5f5f5;color:#333;font-size:13px;font-weight:500;line-height:36px}.jt-attachment-preview-service__pdf-outline-list{height:calc(100% - 36px);overflow:auto;padding:8px 0}.jt-attachment-preview-service__pdf-outline-item{display:block;width:100%;height:32px;padding-right:10px;border:0;background:rgba(0,0,0,0);color:rgba(0,0,0,.6);font-size:12px;line-height:32px;text-align:left;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;cursor:pointer}.jt-attachment-preview-service__pdf-outline-item:hover{background:#f9f9f9;color:#e60000}.jt-attachment-preview-service__pdf-outline-item:disabled{color:rgba(0,0,0,.5);cursor:not-allowed}.jt-attachment-preview-service__pdf-pages{display:flex;flex:1;flex-direction:column;align-items:center;gap:16px;min-width:0;min-height:100%;overflow:auto;padding:20px}.jt-attachment-preview-service__pdf-page{display:block;max-width:100%;background:#fff;box-shadow:0 2px 10px rgba(31,35,41,.14)}.jt-attachment-preview-service__pdf-state{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:16px;color:#333;font-size:12px;text-align:center}.jt-attachment-preview-service__pdf-error{max-width:min(520px,90vw - 48px);color:rgba(0,0,0,.6);font-size:11px;line-height:1.5}.jt-attachment-preview-service__detecting{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#333;text-align:center}.jt-attachment-preview-service__detecting-spinner{width:28px;height:28px;margin-bottom:14px;border:2px solid #d9d9d9;border-top-color:#e60000;border-radius:50%;animation:jt-attachment-preview-service-spin .8s linear infinite}.jt-attachment-preview-service__detecting-title{font-size:12px;font-weight:500}.jt-attachment-preview-service__detecting-desc{margin-top:6px;color:rgba(0,0,0,.6);font-size:10px}@keyframes jt-attachment-preview-service-spin{to{transform:rotate(360deg)}}.jt-attachment-preview-service__pdf-fallback-tip{position:absolute;left:50%;bottom:16px;z-index:2;display:flex;align-items:center;gap:10px;max-width:calc(100% - 32px);padding:8px 12px;border-radius:4px;background:rgba(0,0,0,.72);color:#fff;font-size:12px;transform:translateX(-50%)}.jt-attachment-preview-service__fallback-download{border:0;background:rgba(0,0,0,0);flex-shrink:0;color:#fff;font-size:12px;text-decoration:underline;cursor:pointer}.jt-attachment-preview-service__empty,.jt-attachment-preview-service__unsupported{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;padding:16px;text-align:center}.jt-attachment-preview-service__empty{color:rgba(0,0,0,.6);font-size:14px}.jt-attachment-preview-service__file-card{display:flex;flex-direction:column;align-items:center;justify-content:center;width:auto;max-width:calc(90vw - 48px);min-height:0}.jt-attachment-preview-service__preview-fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;min-height:0}.jt-attachment-preview-service__preview-fallback-icon{display:block;width:72px;height:72px;object-fit:contain}.jt-attachment-preview-service__file-icon{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:44px;padding:0 6px;border-radius:4px;background:#2563eb;color:#fff;font-size:20px;font-weight:600;line-height:1}.jt-attachment-preview-service__unsupported-text{margin-top:12px;color:#333;font-size:16px;color:#333;font-weight:500}.jt-attachment-preview-service__file-name{max-width:min(360px,90vw - 48px);margin-top:6px;overflow:hidden;color:#666;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.jt-attachment-preview-service__primary-download{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:34px;height:22px;margin-top:14px;padding:0 10px;border:0;border-radius:4px;background:#e60000;color:#fff;font-size:12px;text-decoration:none;cursor:pointer}.jt-attachment-preview-service__primary-download:hover{background:#e51e1b}
|
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"),x=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 ee=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-pagination.css");const Ve=2,zt=3;function Dt(t){return t.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}function He(t){if(!t.startsWith("on")||t.length<=Ve)return!1;const o=t.charCodeAt(Ve);return o<97||o>122}function Gt(t){if(t.startsWith("on-"))return t.slice(zt);const[o,n]=t.slice(Ve).split(":"),a=Dt(o);return n?`${a}:${n}`:a}function We(t,o=new Set){return Object.fromEntries(Object.entries(t).filter(([n,a])=>!o.has(n)&&He(n)&&typeof a=="function").map(([n,a])=>[Gt(n),a]))}function Ye(t,o=new Set){return Object.fromEntries(Object.entries(t).filter(([n])=>!o.has(n)&&!He(n)))}const Ot=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 o=t,n=e.useAttrs(),a=e.computed(()=>{const{icon:l,...v}=o;return{...Ye(n),...v}}),r=e.computed(()=>We(n));return(l,v)=>{const f=x.ElIcon,u=x.ElButton;return e.openBlock(),e.createBlock(u,e.mergeProps({class:"jt-button"},a.value,e.toHandlers(r.value)),{default:e.withCtx(()=>[l.$slots.icon?(e.openBlock(),e.createBlock(f,{key:0,class:"jt-button__icon"},{default:e.withCtx(()=>[e.renderSlot(l.$slots,"icon",{},void 0,!0)]),_:3})):o.icon?(e.openBlock(),e.createBlock(f,{key:1,class:"jt-button__icon"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o.icon)))]),_:1})):e.createCommentVNode("",!0),e.renderSlot(l.$slots,"default",{},void 0,!0)]),_:3},16)}}}),A=(t,o)=>{const n=t.__vccOpts||t;for(const[a,r]of o)n[a]=r;return n},ge=A(Ot,[["__scopeId","data-v-fbcdce34"]]),qt=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:ee.cascaderEmits,setup(t,{emit:o}){const n=t,a=o,r=e.computed(()=>Object.fromEntries(Object.keys(ee.cascaderEmits).map(l=>[l,(...v)=>a(l,...v)])));return(l,v)=>{const f=x.ElCascader;return e.openBlock(),e.createBlock(f,e.mergeProps({class:"jt-cascader"},n,e.toHandlers(r.value)),null,16)}}}),Ze=A(qt,[["__scopeId","data-v-9164edeb"]]),At=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 o=t,n=e.computed(()=>({...o,startPlaceholder:o.startPlaceholder??(a(o.type)?"开始日期":void 0),endPlaceholder:o.endPlaceholder??(a(o.type)?"结束日期":void 0)}));function a(r){return r?.includes("range")??!1}return(r,l)=>{const v=x.ElDatePicker;return e.openBlock(),e.createBlock(v,e.mergeProps({class:"jt-date-picker"},n.value,{"onUpdate:modelValue":l[0]||(l[0]=f=>r.$emit("update:modelValue",f))}),null,16)}}}),Qe=A(At,[["__scopeId","data-v-2aaf2264"]]),Jt=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:{...ee.inputEmits,enter:()=>!0},setup(t,{emit:o}){const n=t,a=o,r=e.computed(()=>Object.fromEntries(Object.keys(ee.inputEmits).map(l=>[l,(...v)=>a(l,...v)])));return(l,v)=>{const f=x.ElInput;return e.openBlock(),e.createBlock(f,e.mergeProps({class:"jt-input"},n,e.toHandlers(r.value),{onKeyup:v[0]||(v[0]=e.withKeys(u=>a("enter"),["enter"]))}),null,16)}}}),Se=A(Jt,[["__scopeId","data-v-c4e9cb3f"]]),Kt=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:ee.selectEmits,setup(t,{emit:o}){const n=t,a=e.computed(()=>{const{options:v,...f}=n;return f}),r=o,l=e.computed(()=>Object.fromEntries(Object.keys(ee.selectEmits).map(v=>[v,(...f)=>r(v,...f)])));return(v,f)=>{const u=x.ElOption,b=x.ElSelect;return e.openBlock(),e.createBlock(b,e.mergeProps({class:"jt-select"},a.value,e.toHandlers(l.value)),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(v.options??[],I=>(e.openBlock(),e.createBlock(u,e.mergeProps({key:I.value,ref_for:!0},I),null,16))),128))]),_:1},16)}}}),Xe=A(Kt,[["__scopeId","data-v-abce8e44"]]),Ut={class:"jt-form-items"},Ee=4,Ht=e.defineComponent({name:"JTFormItems",__name:"JtFormItems",props:{configs:{},formData:{},span:{}},setup(t){const o=t,n={input:Se,select:Xe,cascader:Ze,"date-picker":Qe},a={"remote-select":"select",date:"date-picker",daterange:"date-picker","date-range":"date-picker",dateRange:"date-picker"},r=new Set(["prop","label","itemType","span","options","rules","formItemProps","showSlot","show"]),l=Object.keys(n),v=new Map,f=e.computed(()=>o.configs.filter(h=>h.show!==!1)),u=h=>{const{itemType:S}=h;if(!S)return Se;if(typeof S!="string")return S;const $=a[S]??S;return l.includes($)?n[$]:(console.error(`[JtFormItems] 不支持的 itemType: "${S}",支持的类型: ${l.join(", ")}`),Se)},b=h=>{const S=Ye(h,r);return h.itemType==="select"||h.itemType==="remote-select"||h.itemType==="cascader"?{...S,options:h.options}:p(h.itemType)?{...S,type:"daterange"}:S},I=h=>We(h,r),i=h=>({rules:h.rules,...h.formItemProps}),d=(h,S)=>{o.formData[h]=S};function g(h){return S=>{if(S){v.set(h,S);return}v.delete(h)}}function y(h,S){e.nextTick(()=>{v.get(h)?.validate(S).catch(()=>{})})}const w=h=>Math.min(Math.max(Math.trunc(h||1),1),4),V=e.computed(()=>{const S=f.value.reduce(($,_)=>$+w(o.span||_.span),0)%Ee;return S===0?{gridColumn:`1 / span ${Ee}`}:{gridColumn:`${S+1} / span ${Ee-S}`}}),L=h=>({gridColumn:`span ${w(o.span||h.span)}`});function p(h){return h==="daterange"||h==="date-range"||h==="dateRange"}return(h,S)=>{const $=x.ElFormItem;return e.openBlock(),e.createElementBlock("div",Ut,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.value,_=>(e.openBlock(),e.createBlock($,e.mergeProps({key:_.prop,ref_for:!0,ref:g(_.prop),class:"jt-form-items__item",style:L(_),label:_.label,prop:_.prop},i(_)),{default:e.withCtx(()=>[_.showSlot?e.renderSlot(h.$slots,_.prop,{key:0},void 0,!0):(e.openBlock(),e.createBlock(e.resolveDynamicComponent(u(_)),e.mergeProps({key:1,"model-value":h.formData[_.prop],ref_for:!0},b(_),e.toHandlers(I(_)),{"onUpdate:modelValue":k=>d(_.prop,k),onChange:()=>y(_.prop,"change"),onBlur:()=>y(_.prop,"blur")}),null,16,["model-value","onUpdate:modelValue","onChange","onBlur"]))]),_:2},1040,["style","label","prop"]))),128)),h.$slots.actions?(e.openBlock(),e.createBlock($,{key:0,class:"jt-form-items__actions",style:e.normalizeStyle(V.value)},{default:e.withCtx(()=>[e.renderSlot(h.$slots,"actions",{},void 0,!0)]),_:3},8,["style"])):e.createCommentVNode("",!0)])}}}),et=A(Ht,[["__scopeId","data-v-002c0b17"]]);function Wt(){const t=e.ref(!1);function o(){t.value=!0}function n(){t.value=!1}return{searchDisabled:t,searchLoading:o,searchDone:n}}const Yt="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",Zt="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",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='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",Xt={class:"jt-filter-bar__btns"},eo=["src"],to=["src"],oo=["src"],no=e.defineComponent({name:"JtFilterBar",__name:"JtFilterBar",props:{columns:{},option:{default:()=>({})},modelValue:{}},emits:["update:modelValue","search","reset"],setup(t,{expose:o,emit:n}){const a=t,r=n,l=e.ref(),v=e.useSlots(),f=e.ref({}),{searchDisabled:u,searchLoading:b,searchDone:I}=Wt(),i=e.computed(()=>a.option),d=e.ref(i.value.searchCollapsed??!1),g=e.computed(()=>a.columns.filter(C=>C.search===!0)),y=e.computed(()=>Math.max(1,i.value.searchSpan??4)),w=e.computed(()=>Math.max(1,i.value.searchCollapsedRows??1)),V=e.computed(()=>Math.max(1,y.value-1)),L=e.computed(()=>Math.max(1,V.value*w.value)),p=e.computed(()=>ae(i.value.searchLabelWidth??84)),h=e.computed(()=>i.value.searchLabelPosition??"top"),S=e.computed(()=>se(i.value.searchGutter,14)),$=e.computed(()=>se(i.value.searchRowGap,14)),_=e.computed(()=>pe(i.value.searchPadding??"18px 4px 0")),k=e.computed(()=>i.value.searchCollapse===!1?!1:Ie(g.value)>L.value),T=e.computed(()=>{if(!k.value||!d.value)return g.value;let C=0;return g.value.filter(z=>{const O=ne(z);return C+O>L.value?!1:(C+=O,!0)})}),B=e.computed(()=>T.value.filter(C=>!!v[`${C.prop}-search`])),j=e.computed(()=>T.value.map(C=>Z(C)));e.watch(()=>i.value.searchCollapsed,C=>{typeof C=="boolean"&&(d.value=C)}),e.watch(()=>a.modelValue,C=>{f.value={...C}},{deep:!0,immediate:!0});function K(C,z){if(u.value)return;const O={...f.value,[C]:z};f.value=O,r("update:modelValue",O)}function Z(C){const z=C.searchProps??{};return{...z,prop:C.prop,label:C.searchLabel??C.label,span:ne(C),itemType:C.searchType??"input",showSlot:!!v[`${C.prop}-search`],options:z.options??C.searchOptions??C.dicData,placeholder:z.placeholder??C.searchPlaceholder,valueFormat:z.valueFormat??C.searchValueFormat,disabled:u.value||z.disabled===!0,formItemProps:{required:C.searchRequired,class:["jt-filter-bar__item",{"is-required":C.searchRequired}]},onEnter:(...O)=>{le(z.onEnter,...O),ie()},"onUpdate:modelValue":O=>{le(z["onUpdate:modelValue"],O),K(C.prop,O)}}}function le(C,...z){if(Array.isArray(C)){C.forEach(O=>le(O,...z));return}typeof C=="function"&&C(...z)}async function ie(){if(!u.value){if(l.value)try{await l.value.validate()}catch{return}r("search")}}function de(){u.value||r("reset")}function U(){d.value=!d.value}function ne(C){return Math.min(y.value,Math.max(1,C.searchSpan??1))}function Ie(C){return C.reduce((z,O)=>z+ne(O),0)}function ae(C){return typeof C=="number"?`${C}px`:C}function se(C,z){return typeof C=="number"?C:z}function pe(C){return typeof C=="number"?`${C}px`:C}return o({formRef:l,searchDisabled:u,searchLoading:b,searchDone:I}),(C,z)=>{const O=x.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":`${S.value}px`,"--jt-filter-row-gap":`${$.value}px`,"--jt-filter-padding":_.value})},[e.createVNode(O,{ref_key:"formRef",ref:l,class:"jt-filter-bar__form",model:f.value,"label-position":h.value,"label-width":p.value,disabled:e.unref(u),onSubmit:z[0]||(z[0]=e.withModifiers(()=>{},["prevent"]))},{default:e.withCtx(()=>[e.createVNode(e.unref(et),{configs:j.value,"form-data":f.value},e.createSlots({actions:e.withCtx(()=>[e.createElementVNode("div",Xt,[e.renderSlot(C.$slots,"search-menu",{search:ie,reset:de,disabled:e.unref(u),collapsed:d.value,toggleCollapse:U},()=>[k.value?(e.openBlock(),e.createBlock(e.unref(ge),{key:0,class:"jt-filter-bar__btn-collapse",onClick:U},{icon:e.withCtx(()=>[e.createElementVNode("img",{class:e.normalizeClass(["jt-filter-bar__icon-arrow",{"is-collapsed":d.value}]),src:e.unref(Yt),alt:""},null,10,eo)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(d.value?"展 开":"收 起"),1)]),_:1})):e.createCommentVNode("",!0),e.createVNode(e.unref(ge),{class:"jt-filter-bar__btn-reset",disabled:e.unref(u),onClick:de},{icon:e.withCtx(()=>[e.createElementVNode("img",{src:e.unref(Zt),alt:""},null,8,to)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(i.value.resetBtnText??"重 置"),1)]),_:1},8,["disabled"]),e.createVNode(e.unref(ge),{class:"jt-filter-bar__btn-query",type:"primary",disabled:e.unref(u),onClick:ie},{icon:e.withCtx(()=>[e.createElementVNode("img",{src:e.unref(Qt),alt:""},null,8,oo)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(i.value.searchBtnText??"查 询"),1)]),_:1},8,["disabled"])],!0)])]),_:2},[e.renderList(B.value,re=>({name:re.prop,fn:e.withCtx(()=>[e.renderSlot(C.$slots,`${re.prop}-search`,{value:f.value[re.prop],column:re,setValue:Be=>K(re.prop,Be),search:ie,reset:de,disabled:e.unref(u)},void 0,!0)])}))]),1032,["configs","form-data"])]),_:3},8,["model","label-position","label-width","disabled"])],6)}}}),tt=A(no,[["__scopeId","data-v-94909b80"]]),ao={key:1},ro={key:2},lo={key:3},io=e.defineComponent({name:"JtTable",__name:"JtTable",props:{data:{},columns:{},option:{},tableEvents:{}},setup(t,{expose:o}){const n=t,a=e.useSlots(),r=e.ref(),l=e.computed(()=>n.option??{}),v=e.computed(()=>n.columns.filter(i=>!i.hide));function f(i){return!!a[`${i}-header`]}function u(i){return!!a[`${i}-data`]}function b(i){return{width:i.width,minWidth:i.minWidth,align:i.align,fixed:i.fixed,sortable:i.sortable,showOverflowTooltip:i.showOverflowTooltip,...i.columnOptions}}function I(i,d){return i.find(g=>g.value===d)?.label??String(d??"")}return o({tableRef:r}),(i,d)=>{const g=x.ElTableColumn,y=x.ElTable;return e.openBlock(),e.createBlock(y,e.mergeProps({ref_key:"tableRef",ref:r,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(g,{key:0,type:"selection",width:"55",align:"center"})):e.createCommentVNode("",!0),l.value.index?(e.openBlock(),e.createBlock(g,{key:1,type:"index",label:l.value.indexLabel??"序号",width:"60",align:"center"},null,8,["label"])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(v.value,w=>(e.openBlock(),e.createBlock(g,e.mergeProps({key:w.prop,prop:w.prop,label:w.label,formatter:!u(w.prop)&&!w.dicData?w.formatter:void 0,ref_for:!0},b(w)),e.createSlots({default:e.withCtx(V=>[u(w.prop)?e.renderSlot(i.$slots,`${w.prop}-data`,e.mergeProps({key:0,ref_for:!0},V),void 0,!0):w.dicData?(e.openBlock(),e.createElementBlock("span",ao,e.toDisplayString(I(w.dicData,V.row[w.prop])),1)):w.formatter?(e.openBlock(),e.createElementBlock("span",ro,e.toDisplayString(w.formatter(V.row,V.column,V.row[w.prop],V.$index)),1)):(e.openBlock(),e.createElementBlock("span",lo,e.toDisplayString(V.row[w.prop]),1))]),_:2},[f(w.prop)?{name:"header",fn:e.withCtx(V=>[e.renderSlot(i.$slots,`${w.prop}-header`,e.mergeProps({ref_for:!0},V),void 0,!0)]),key:"0"}:void 0]),1040,["prop","label","formatter"]))),128)),l.value.menu?(e.openBlock(),e.createBlock(g,{key:2,label:l.value.menuLabel??"操作",width:l.value.menuWidth,"min-width":l.value.menuMinWidth,align:l.value.menuAlign??"center",fixed:l.value.menuFixed},{default:e.withCtx(w=>[e.renderSlot(i.$slots,"menu",e.normalizeProps(e.guardReactiveProps(w)),void 0,!0)]),_:3},8,["label","width","min-width","align","fixed"])):e.createCommentVNode("",!0)]),_:3},16,["data","row-key","height","max-height","empty-text"])}}}),ot=A(io,[["__scopeId","data-v-4804a967"]]),so={class:"jt-pagination"},co={class:"jt-pagination__count"},uo=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:o}){const n=t,a=e.computed(()=>n.option??{}),r=o;function l(v){r("current-change",v),r("page-change",v)}return(v,f)=>{const u=x.ElPagination;return e.openBlock(),e.createElementBlock("div",so,[e.createVNode(u,{"current-page":v.currentPage,"page-size":v.pageSize,"page-sizes":a.value.pageSizes??[10,20,50,100],total:v.total,layout:a.value.paginationLayout??"sizes, prev, pager, next, jumper","onUpdate:currentPage":f[0]||(f[0]=b=>v.$emit("update:currentPage",b)),"onUpdate:pageSize":f[1]||(f[1]=b=>v.$emit("update:pageSize",b)),onCurrentChange:l,onSizeChange:f[2]||(f[2]=b=>v.$emit("size-change",b))},null,8,["current-page","page-size","page-sizes","total","layout"]),e.createElementVNode("span",co,"共"+e.toDisplayString(v.total)+"条记录",1)])}}}),po=A(uo,[["__scopeId","data-v-19ef6db6"]]),fo={class:"jt-crud-table"},mo={key:1,class:"jt-crud-table__toolbar"},vo=e.defineComponent({name:"JtCrudTable",__name:"JtCrudTable",props:e.mergeModels({columns:{},option:{default:()=>({})},data:{},total:{default:0},tableEvents:{}},{currentPage:{default:1},currentPageModifiers:{},pageSize:{default:20},pageSizeModifiers:{},searchModel:{default:()=>({})},searchModelModifiers:{}}),emits:e.mergeModels(["search","reset","page-change","size-change"],["update:currentPage","update:pageSize","update:searchModel"]),setup(t,{expose:o,emit:n}){const a=t,r=n,l=e.useModel(t,"currentPage"),v=e.useModel(t,"pageSize"),f=e.useModel(t,"searchModel"),u=e.useSlots(),b=e.ref(),I=e.ref(),i=e.computed(()=>a.option),d=e.computed(()=>i.value.searchShow!==!1),g=e.computed(()=>i.value.paginationShow!==!1),y=e.computed(()=>a.columns.filter(_=>_.search&&!!u[`${_.prop}-search`])),w=e.computed(()=>a.columns.filter(_=>!_.hide&&!!u[`${_.prop}-header`])),V=e.computed(()=>a.columns.filter(_=>!_.hide&&!!u[`${_.prop}-data`]));function L(){const _={};return a.columns.forEach(k=>{k.search&&(_[k.prop]=void 0)}),_}function p(){r("search",{...f.value})}function h(){f.value=L(),r("reset")}function S(){I.value?.searchLoading()}function $(){I.value?.searchDone()}return o({tableRef:e.computed(()=>b.value?.tableRef),filterBarRef:I,searchLoading:S,searchDone:$}),(_,k)=>{const T=e.resolveDirective("loading");return e.openBlock(),e.createElementBlock("div",fo,[e.renderSlot(_.$slots,"header",{},void 0,!0),d.value?(e.openBlock(),e.createBlock(tt,{key:0,ref_key:"filterBarRef",ref:I,modelValue:f.value,"onUpdate:modelValue":k[0]||(k[0]=B=>f.value=B),columns:_.columns,option:i.value,onSearch:p,onReset:h},e.createSlots({_:2},[e.renderList(y.value,B=>({name:`${B.prop}-search`,fn:e.withCtx(j=>[e.renderSlot(_.$slots,`${B.prop}-search`,e.normalizeProps(e.guardReactiveProps(j)),void 0,!0)])}))]),1032,["modelValue","columns","option"])):e.createCommentVNode("",!0),e.unref(u).toolbar?(e.openBlock(),e.createElementBlock("div",mo,[e.renderSlot(_.$slots,"toolbar",{},void 0,!0)])):e.createCommentVNode("",!0),e.withDirectives((e.openBlock(),e.createBlock(ot,{ref_key:"jtTableRef",ref:b,data:_.data,columns:_.columns,option:i.value,"table-events":_.tableEvents},e.createSlots({_:2},[e.renderList(w.value,B=>({name:`${B.prop}-header`,fn:e.withCtx(j=>[e.renderSlot(_.$slots,`${B.prop}-header`,e.normalizeProps(e.guardReactiveProps(j)),void 0,!0)])})),e.renderList(V.value,B=>({name:`${B.prop}-data`,fn:e.withCtx(j=>[e.renderSlot(_.$slots,`${B.prop}-data`,e.normalizeProps(e.guardReactiveProps(j)),void 0,!0)])})),i.value.menu?{name:"menu",fn:e.withCtx(B=>[e.renderSlot(_.$slots,"menu",e.normalizeProps(e.guardReactiveProps(B)),void 0,!0)]),key:"0"}:void 0]),1032,["data","columns","option","table-events"])),[[T,i.value.loading]]),g.value?(e.openBlock(),e.createBlock(po,{key:2,"current-page":l.value,"onUpdate:currentPage":k[1]||(k[1]=B=>l.value=B),"page-size":v.value,"onUpdate:pageSize":k[2]||(k[2]=B=>v.value=B),total:_.total,option:i.value,onPageChange:k[3]||(k[3]=B=>_.$emit("page-change",B)),onSizeChange:k[4]||(k[4]=B=>_.$emit("size-change",B))},null,8,["current-page","page-size","total","option"])):e.createCommentVNode("",!0)])}}}),go=A(vo,[["__scopeId","data-v-6df082c6"]]),ho={class:"jt-pagination"},yo={key:0,class:"jt-pagination__count"},bo=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(ee.paginationEmits,["update:currentPage","update:pageSize"]),setup(t,{emit:o}){const n=e.useModel(t,"currentPage"),a=e.useModel(t,"pageSize"),r=t,l=e.useAttrs(),v=o,f=e.computed(()=>({...l,...r})),u=e.computed(()=>Object.fromEntries(Object.keys(ee.paginationEmits).filter(I=>!I.startsWith("update:")).map(I=>[I,(...i)=>v(I,...i)]))),b=e.computed(()=>!(r.hideOnSinglePage&&r.total<=a.value));return(I,i)=>{const d=x.ElPagination;return e.openBlock(),e.createElementBlock("div",ho,[e.createVNode(d,e.mergeProps({"current-page":n.value,"onUpdate:currentPage":i[0]||(i[0]=g=>n.value=g),"page-size":a.value,"onUpdate:pageSize":i[1]||(i[1]=g=>a.value=g)},f.value,e.toHandlers(u.value)),null,16,["current-page","page-size"]),b.value?(e.openBlock(),e.createElementBlock("span",yo,"共"+e.toDisplayString(I.total)+"条记录",1)):e.createCommentVNode("",!0)])}}}),wo=A(bo,[["__scopeId","data-v-72da666d"]]);/*! Element Plus Icons Vue v2.3.2 */var ko=e.defineComponent({name:"Download",__name:"download",setup(t){return(o,n)=>(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"})]))}}),So=ko;const _o=new Set(["jpg","jpeg","png","gif","webp","bmp","svg","avif","ico"]),Io=new Set(["mp4","webm","ogg","ogv","mov","m4v"]),Bo=new Set(["mp3","wav","ogg","oga","m4a","aac","flac"]),Co=new Set(["html","htm","txt","json","xml","csv","md","log"]),Eo=new Set(["doc","docx","xls","xlsx","ppt","pptx","zip","rar","7z"]);let fe=null,Pe=null;async function Po(){return Pe||(Pe=Promise.all([Promise.resolve().then(()=>require("./pdf-Da0bm_Ya.cjs")),Promise.resolve().then(()=>require("./pdf.worker.min-BAJUPwg6.cjs"))]).then(([t,o])=>(t.GlobalWorkerOptions.workerSrc=o.default,t))),Pe}function Vo(t){return typeof t=="string"?{url:t}:t}function nt(t){const[o]=t.split(/[?#]/);return o??""}function at(t,o){if(o?.trim())return o.trim();const n=nt(t).split("/").filter(Boolean).pop();if(!n)return"附件预览";try{return decodeURIComponent(n)}catch{return n}}function rt(t){return nt(t).match(/\.([a-z0-9]+)$/i)?.[1]?.toLowerCase()??""}function lt(t){if(!t.url.trim())return"empty";if(t.mode&&t.mode!=="auto")return t.mode;const o=t.mimeType?.toLowerCase()??"";if(o.startsWith("image/"))return"image";if(o==="application/pdf")return"pdf";if(o.startsWith("video/"))return"video";if(o.startsWith("audio/"))return"audio";if(o.startsWith("text/"))return"iframe";const n=rt(t.url);return _o.has(n)?"image":n==="pdf"?"pdf":Io.has(n)?"video":Bo.has(n)?"audio":Co.has(n)?"iframe":Eo.has(n)?"unsupported":"iframe"}function To(t,o){const n=rt(o);return n==="doc"||n==="docx"?"W":n==="xls"||n==="xlsx"?"X":n==="ppt"||n==="pptx"?"P":n==="zip"||n==="rar"||n==="7z"?"ZIP":t==="pdf"?"PDF":"FILE"}function Le(t,o,n){return e.h("a",{class:n,href:t,download:o},[e.h(ee.ElIcon,{class:"jt-attachment-preview-service__download-icon"},()=>e.h(So)),e.h("span",{class:"jt-attachment-preview-service__download-text"},"下载")])}function $o(t){return t==="image"||t==="pdf"}function De(t,o){const n=document.createElement("a");n.href=t,n.download=o,n.style.display="none",document.body.appendChild(n),n.click(),n.remove()}async function No(t,o){try{const n=await fetch(t);if(!n.ok)throw new Error(`download failed: ${n.status}`);const a=await n.blob(),r=URL.createObjectURL(a);De(r,o),URL.revokeObjectURL(r)}catch{De(t,o)}}const Lo=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:o}){const n=e.ref("loading"),a=e.ref([]),r=new Map,l=e.ref("");let v=null,f=[],u=0;function b(){u+=1;for(const i of f)i.cancel();f=[],v?.destroy(),v=null,r.clear()}async function I(){b();const i=u;n.value="loading",l.value="",a.value=[];try{const d=await Po();if(i!==u)return;v=d.getDocument({url:t.url});const g=await v.promise;if(i!==u)return;a.value=Array.from({length:g.numPages},(V,L)=>L+1),await e.nextTick();const y=r.values().next().value,w=Math.max((y?.parentElement?.clientWidth??800)-32,320);for(const V of a.value){if(i!==u)return;const L=await g.getPage(V),p=r.get(V),h=p?.getContext("2d");if(!p||!h)continue;const S=L.getViewport({scale:1}),$=Math.min(w/S.width,2),_=L.getViewport({scale:$}),k=window.devicePixelRatio||1;p.width=Math.floor(_.width*k),p.height=Math.floor(_.height*k),p.style.width=`${Math.floor(_.width)}px`,p.style.height=`${Math.floor(_.height)}px`,h.setTransform(k,0,0,k,0,0);const T=L.render({canvas:p,canvasContext:h,viewport:_});f.push(T),await T.promise}if(i!==u)return;n.value="ready",o("previewLoad",new Event("load"))}catch(d){if(i!==u)return;n.value="error",l.value=d instanceof Error?d.message:"PDF 加载失败",o("previewError",new Event("error"))}}return e.watch(()=>t.url,I,{immediate:!0}),e.onBeforeUnmount(b),()=>e.h("div",{class:"jt-attachment-preview-service__pdf-viewer"},[n.value==="loading"?e.h("div",{class:"jt-attachment-preview-service__pdf-state"},"PDF 加载中..."):null,n.value==="error"?e.h("div",{class:"jt-attachment-preview-service__pdf-state"},[e.h("div","PDF 预览失败"),e.h("div",{class:"jt-attachment-preview-service__pdf-error"},l.value),t.downloadable?Le(t.url,t.downloadName,"jt-attachment-preview-service__primary-download"):null]):null,null,null,e.h("div",{class:["jt-attachment-preview-service__pdf-pages",n.value!=="ready"?"jt-attachment-preview-service__pdf-pages--hidden":""]},a.value.map(i=>e.h("canvas",{key:i,ref:d=>{d instanceof HTMLCanvasElement&&r.set(i,d)},class:"jt-attachment-preview-service__pdf-page"})))])}}),Fo=e.defineComponent({name:"JtAttachmentPreviewService",props:{options:{type:Object,required:!0},onDestroy:{type:Function,required:!0}},setup(t){const o=e.computed(()=>at(t.options.url,t.options.name)),n=e.computed(()=>t.options.downloadName||o.value),a=e.computed(()=>lt(t.options)),r=e.computed(()=>To(a.value,t.options.url)),l=e.computed(()=>({zIndex:t.options.zIndex??3e3,"--jt-attachment-preview-service-image-fit":t.options.fit??"contain"}));function v(){t.options.onClose?.(),t.onDestroy()}function f(I){I.key==="Escape"&&t.options.closeOnPressEscape!==!1&&v()}function u(I){t.options.onLoad?.(I)}function b(I){t.options.onError?.(I)}return e.onMounted(()=>{document.addEventListener("keydown",f),document.body.classList.add("jt-attachment-preview-service-lock")}),e.onBeforeUnmount(()=>{document.removeEventListener("keydown",f),document.body.classList.remove("jt-attachment-preview-service-lock")}),()=>{const I=t.options.downloadable===!1?[]:[Le(t.options.url,n.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:o.value},o.value),e.h("div",{class:"jt-attachment-preview-service__header-actions"},[...I,e.h("button",{class:"jt-attachment-preview-service__close",type:"button","aria-label":"关闭",onClick:v},"×")])]),e.h("div",{class:"jt-attachment-preview-service__body"},[jo({type:a.value,url:t.options.url,name:o.value,downloadName:n.value,sandbox:t.options.sandbox,iconText:r.value,downloadable:t.options.downloadable!==!1,onLoad:u,onError:b})])])])}}});function jo(t){return t.type==="empty"?e.h("div",{class:"jt-attachment-preview-service__empty"},"暂无附件"):t.type==="image"?e.h("img",{class:"jt-attachment-preview-service__media jt-attachment-preview-service__image",src:t.url,alt:t.name,onLoad:t.onLoad,onError: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(Lo,{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?Le(t.url,t.downloadName,"jt-attachment-preview-service__primary-download"):null])}function Mo(t){if(typeof document>"u")return{close:()=>{}};fe?.close();const o=Vo(t),n=lt(o),a=o.downloadName||at(o.url,o.name);if(!$o(n))return No(o.url,a),{close:()=>{}};const r=document.createElement("div");document.body.appendChild(r);const l=()=>{e.render(null,r),r.remove(),fe?.close===l&&(fe=null)};return e.render(e.h(Fo,{options:o,onDestroy:l}),r),fe={close:l},fe}const xo={class:"jt-page-header__title"},Ro={key:0},zo={key:0,class:"jt-page-header__operates"},Do=e.defineComponent({name:"JtPageHeader",__name:"index",props:{type:{default:"section"},title:{},operates:{default:()=>[]}},emits:["operate-click"],setup(t,{emit:o}){const n=t,a=o,r=e.useSlots(),l=e.computed(()=>n.operates.length>0||!!r.operates);function v(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",xo,[e.renderSlot(f.$slots,"title",{},()=>[f.title?(e.openBlock(),e.createElementBlock("span",Ro,e.toDisplayString(f.title),1)):e.createCommentVNode("",!0)],!0)]),l.value?(e.openBlock(),e.createElementBlock("div",zo,[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(ge),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:I=>v(b,I)}),{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))}}),Go=A(Do,[["__scopeId","data-v-0a93ea2c"]]);function it(t=null){return{scheme:null,node:null,topNodes:[],treeNodes:[],activeNode:null,activeSection:null,sections:[],sectionMap:{},raw:t}}function Te(t){const o=vt(t),n=mt(o),a=Yo(o).flatMap(r=>ft(r,n));return{...it(t),scheme:n,topNodes:a,treeNodes:a}}function Fe(t,o,n){return t.map(a=>a.key===o||a.tagId===o||a.id===o?{...a,children:n,loaded:!0}:{...a,children:Fe(a.children,o,n)})}function st(t,o={},n=null){const a=vt(t),r=mt(a,o),l=qo(a,o,n),v=Object.fromEntries(l.map(f=>[f.key,f]));return{scheme:r,node:n,topNodes:[],treeNodes:[],activeNode:n,activeSection:l[0]??null,sections:l,sectionMap:v,raw:t}}function ct(t){return t.multRow||t.htmlDisplay==="T"?"table":"form"}function ut(t,o={}){return{...o,infSchmId:o.infSchmId??D(t.raw.infSchmId),emplid:o.emplid??D(t.raw.emplid),tagId:o.tagId??t.requestTagId??t.tagId,infSetId:o.infSetId??t.infSetId,setId:o.setId??t.setId,infSetFields:t.renderType==="table"?t.rows.map($e):[$e(t.model)],section:t}}function Oo(t){const o=t;return!!(o&&typeof o=="object"&&typeof o.key=="string"&&typeof o.tagId=="string")}function dt(t){const o=gt(t);return(Array.isArray(o)?o:ye(q(o),["options","list","records","data"])).map(a=>{const r=q(a);return{id:r.id,code:r.code,label:N(r.label??r.name??r.descr??r.text??r.value??r.code),name:D(r.name),value:r.value??r.code??r.id??r.label??r.name,raw:a}})}function qo(t,o,n){const a=ye(t,["sections","sets","list"]);return a.length>0?a.map(r=>Ge(r,o,n,a.length===1)):t.infSetMark||t.infSetFields||t.fields?[Ge(t,o,n,!0)]:[]}function Ge(t,o,n,a){const r=q(t),l=Ao(r.infSetMark??r),v=Jo(r.infSetFields??r.fields??[]),f=Uo(r.infSetValues??r.rows??r.data,v),u=f[0]?$e(f[0]):pt(v),b=q(r.tag),I=N(r.tagId??r.infTagId??b.tagId),i=N(o.tagId??n?.tagId),d=N(n?.key),g=a?o.infSetId??n?.infSetId:void 0,y=a?o.setId:void 0,w=a?n?.code:void 0,V=l.setId||N(r.setId),L=N(r.infSetId)||V||N(g),p=V||N(y??L),h=l.code||N(r.code??w??p),S=p||h||L||I,$={key:S,id:S,setId:p,code:h,tagId:I,requestTagId:i||void 0,ownerNodeKey:d||void 0,infSetId:L,title:l.name||N(r.name??n?.tagName??S),renderType:ct(l),mark:l,fields:v,model:u,rows:f,operationInfo:_e(o.operationInfo??r.operationInfo),raw:r};return $.renderType==="form"&&f.length===0&&($.rows=[{...u,__rowKey:`${S}-0`}]),$}function Ao(t){const o=q(t),n=N(o.htmlDisplay||"F");return{name:N(o.name??o.title),parentName:D(o.parentName),value:D(o.value),type:D(o.type),code:N(o.code),setId:N(o.setId??o.id??o.key),htmlDisplay:n,multRow:Y(o.multRow),isRequired:Y(o.isRequired),raw:o}}function Jo(t){return(Array.isArray(t)?t:[]).map((n,a)=>Ko(n,a))}function Ko(t,o){const n=q(t),a=N(n.code??n.fieldCode??n.prop??n.key??`field_${o}`),r=N(n.label??n.name??n.tagName??a);return{id:N(n.id??n.key??n.prop??a),key:N(n.key??n.prop??a),code:a,label:r,value:n.value??n.defaultValue??"",type:Xo(n),fieldType:D(n.fieldType),renderType:Qo(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:bt(n.span??n.colSpan),width:qe(n.width),minWidth:qe(n.minWidth),placeholder:D(n.placeholder),options:dt(n.options),interface:ht(n.interface),cascadeClearFields:Oe(n.cascadeClearFields),cascadeDependFields:Oe(n.cascadeDependFields),props:Ne(n.props),formItemProps:Ne(n.formItemProps),raw:n}}function Uo(t,o){if(Array.isArray(t)&&t.some(r=>{const l=q(r);return o.some(v=>l[v.code]!==void 0||l[v.key]!==void 0)}))return t.map((r,l)=>({...q(r),__rowKey:N(q(r).__rowKey??q(r).key??l)}));const n=pt(o);return Object.keys(n).length?[{...n,__rowKey:"0"}]:[]}function pt(t){return t.reduce((o,n)=>(o[n.code||n.key]=n.value,o),{})}function ft(t,o,n=""){const a=q(t),r=ye(a,["children","list","tags"]).flatMap(v=>ft(v,o,N(a.tagId??a.id??a.key))),l=Zo(a.infSetList);return r.length===0&&l.length>0?l.map((v,f)=>Wo(a,v,o,n,f)):[Ho(a,o,n,r)]}function Ho(t,o,n,a){const r=N(t.tagId??t.id??t.key),l=N(t.tagName??t.name??t.label??r);return{key:N(t.key??r),id:r,tagId:r,tagName:l,label:l,tagLevel:D(t.tagLevel??t.level)??null,level:yt(t.tagLevel??t.level),parentTagId:D(t.parentTagId??t.parentId??n),parentId:D(t.parentTagId??t.parentId??n)??null,infSchmId:D(t.infSchmId??o?.infSchmId),schemeId:N(t.infSchmId??o?.infSchmId),infSetId:D(t.infSetId??t.setId),setId:D(t.setId),code:D(t.code),children:a,infSetList:[],operationInfo:_e(t.operationInfo),loaded:a.length>0,raw:t}}function Wo(t,o,n,a,r){const l=N(t.tagId??t.id??t.key),v=N(t.tagName??t.name??t.label??l),f=o.infSetId||N(o.setId),u=o.setId||f,b=f||`${l}-${r}`;return{key:b,id:b,tagId:l,tagName:v,label:v,tagLevel:D(t.tagLevel??t.level)??null,level:yt(t.tagLevel??t.level),parentTagId:D(t.parentTagId??t.parentId??a),parentId:D(t.parentTagId??t.parentId??a)??null,infSchmId:D(t.infSchmId??n?.infSchmId),schemeId:N(t.infSchmId??n?.infSchmId),infSetId:f,setId:u,code:D(t.code??f),children:[],infSetList:[o],operationInfo:_e(t.operationInfo),loaded:!0,raw:{...t,infSetId:f,setId:u,infSetList:[o.raw]}}}function mt(t,o={}){const n=q(t.globalInfoSchmMark??t.scheme??t),a=N(n.infSchmId??o.infSchmId),r=N(n.emplid??o.emplid);return!a&&!r&&Object.keys(n).length===0?null:{infSchmId:a,emplid:r,id:a,mark:N(n.globalInfoSchmMark??t.globalInfoSchmMark),config:Array.isArray(t.globalInfoSchmConfig)?"":N(n.globalInfoSchmConfig??t.globalInfoSchmConfig),raw:n}}function Yo(t){if(Array.isArray(t.globalInfoSchmConfig))return t.globalInfoSchmConfig;const o=q(t.globalInfoSchmConfig),n=ye(o,["children","tree","list","tags"]);return n.length?n:ye(t,["children","tree","list","tags","records"])}function Zo(t){return Array.isArray(t)?t.map(o=>{const n=q(o);return{infSetId:N(n.infSetId??n.setId??n.id),setId:D(n.setId),operationInfo:_e(n.operationInfo),raw:n}}):[]}function vt(t){return q(gt(t))}function gt(t){const o=q(t);return o.data??o.result??t}function ye(t,o){for(const n of o){const a=t[n];if(Array.isArray(a))return a}return[]}function $e(t){const o={...t};return delete o.__rowKey,delete o.fields,o}function ht(t){const o=q(t);if(!(!o.method&&!o.url&&!o.params))return{...o,method:D(o.method),url:D(o.url),params:Ne(o.params)}}function _e(t){const o=q(t);if(Object.keys(o).length!==0)return Object.fromEntries(Object.entries(o).map(([n,a])=>[n,ht(a)??a]))}function Oe(t){if(!Array.isArray(t))return;const o=t.map(n=>N(n)).filter(Boolean);return o.length?o:void 0}function Qo(t){if(Y(t.htmlDisplay))return"html";if(Y(t.multRow))return"multi-row";const o=N(t.renderType).toLowerCase();return o==="code"||o==="empty"?o:"text"}function Xo(t){const o=N(t.fieldType??t.type??t.renderType).toLowerCase();return o.includes("date")?"date":o.includes("select")||o.includes("enum")?"select":o.includes("number")||o.includes("int")?"number":o.includes("bool")||o.includes("switch")?"switch":o.includes("file")||o.includes("upload")||o.includes("attachment")?"file":o.includes("textarea")||o.includes("text_area")?"textarea":"text"}function Ne(t){const o=q(t);return Object.keys(o).length?o:void 0}function qe(t){return typeof t=="string"||typeof t=="number"?t:void 0}function q(t){return t&&typeof t=="object"&&!Array.isArray(t)?t:{}}function N(t){return t==null?"":String(t).trim()}function D(t){return N(t)||void 0}function yt(t){const o=bt(t);return o===void 0?null:o}function bt(t){if(t==null||t==="")return;const o=Number(t);return Number.isFinite(o)?o:void 0}function Y(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,ce=t=>new Error(`[GlobalInfo] ${t}`),ue=t=>t&&typeof t=="object"&&!Array.isArray(t)?t:{},ke=t=>{const o=ue(t);return!!(o.url||o.method||o.params)},en=t=>String(t??"").trim(),be=t=>Array.from(new Set(t.map(en).filter(Boolean))),he=t=>be([t?.key,t?.id,t?.setId,t?.infSetId,t?.tagId,t?.code,...(t?.infSetList??[]).map(o=>o.infSetId),...(t?.infSetList??[]).map(o=>o.setId)]),tn=t=>be([t.key,t.id,t.setId,t.infSetId,t.tagId,t.code]),me=(t={})=>({loading:!1,saving:!1,error:null,loaded:!1,editing:!1,...t}),ve=t=>!!(t&&typeof t=="object"&&"children"in t),wt=(t,o,n)=>{const a=tn(t),r=be([n,...he(o)]);return r.length===0?!1:r.some(l=>a.includes(l))},on=(t,o,n)=>be([n,...he(o)]).length===0?t:t.filter(r=>wt(r,o,n)),kt=t=>{const o=e.ref(!1),n=e.ref(!1),a=e.ref(!1),r=e.shallowRef(null),l=e.shallowRef([]),v=e.shallowRef(null),f=e.shallowRef(null),u=e.shallowRef(null),b=e.shallowRef({}),I=e.shallowRef({}),i=e.ref([]),d=e.shallowRef({}),g=e.ref([]),y=e.computed(()=>{const c=i.value.map(m=>b.value[m]).filter(m=>!!m),s=Object.entries(b.value).filter(([m])=>!i.value.includes(m)).map(([,m])=>m);return[...c,...s]}),w=e.computed(()=>({loading:o.value,detailLoading:n.value,saving:a.value,editingSectionKeys:g.value,sectionMap:b.value,sectionStatusMap:Object.fromEntries(Object.entries(d.value).map(([c,s])=>[c,{...s,editing:g.value.includes(I.value[c]??c)}])),error:r.value})),V=()=>({adaptScene:t.adaptScene,emplid:t.emplid}),L=c=>({...V(),infSchmId:c.infSchmId,tagId:c.tagId,tagLevel:c.tagLevel,parentTagId:c.parentTagId}),p=(c=f.value,s=u.value)=>({...V(),infSchmId:c?.infSchmId,tagId:c?.tagId,infSetId:s?.infSetId??c?.infSetId,setId:s?.setId??c?.setId}),h=async(c,s)=>{if(!t.service.requestOperation)throw ce("service.requestOperation is required for operationInfo");return t.service.requestOperation(c,s)},S=(c,s={},m)=>{const E=ue(c.params),P=m?.cascadeDependFields??[];let M=0;return Object.fromEntries(Object.entries(E).map(([F,R])=>{if(R!=="")return[F,R];if(s[F]!==void 0)return[F,s[F]];const G=P[M];return M+=1,[F,G?s[G]??"":R]}))},$=c=>{const m=ue(c.operationInfo).openTag;return ke(m)?m:void 0},_=(c,s,m)=>{const E=ue(c?.operationInfo).queryInfoSet;if(ke(E))return E;const P=s?.infSetList.find(F=>F.infSetId===m),M=ue(P?.operationInfo).queryInfoSet;return ke(M)?M:void 0},k=c=>{const s=ue(c.operationInfo).editInfoSet;return ke(s)?s:void 0},T=(c,s)=>{if(!s)return c[0]??null;for(const m of c){if(he(m).includes(s))return m;const E=T(m.children,s);if(E)return E}return null},B=(c=u.value)=>{if(c)return typeof c=="string"?c:ve(c)?Z(c):W(c)},j=(c=u.value)=>{const s=B(c);if(!s)return null;const m=I.value[s]??s;return b.value[m]??null},K=(c=u.value)=>{const s=B(c);if(s)return I.value[s]??s},Z=(c=u.value)=>{if(c)return typeof c=="string"?c:ve(c)?c.setId??c.infSetId??c.key:W(c)},le=(c=u.value)=>{if(ve(c))return c;if(typeof c=="string"){const s=T(l.value,c);if(s)return s;const m=j(c);return m?.ownerNodeKey?T(l.value,m.ownerNodeKey)??f.value:m||f.value&&he(f.value).includes(c)?f.value:null}return c?.ownerNodeKey?T(l.value,c.ownerNodeKey)??f.value:f.value},ie=(c=u.value)=>!c||ve(c)?null:j(c),de=(c=u.value)=>{const s=Z(c);if(!s)return me();const m=I.value[s]??s;return me({...d.value[s],...d.value[m],editing:g.value.includes(m)})},U=(c,s)=>{const m=Z(c);m&&(d.value={...d.value,[m]:me({...d.value[m],...s,editing:g.value.includes(m)})})},ne=(c=v.value?.raw??null,s=f.value)=>{const m=y.value,E=u.value&&m.find(P=>W(P)===W(u.value))?u.value:null;v.value={scheme:v.value?.scheme??null,node:s,topNodes:l.value,treeNodes:l.value,activeNode:s,activeSection:E,sections:m,sectionMap:b.value,raw:c},u.value=E},Ie=(c,s=f.value,m)=>{const E={...b.value},P={...I.value},M=[...i.value],F={...d.value},R=on(c.sections,s,m),G=be([m,...he(s)]).length>0,J=R.find(te=>wt(te,s,m))??(G?null:c.activeSection??R[0]??u.value??null);return R.forEach(te=>{const X=W(te);E[X]=te,M.includes(X)||M.push(X),F[X]=me({...F[X],loaded:!0,loading:!1,error:null,editing:g.value.includes(X)})}),m&&J?P[m]=W(J):m&&(P[m]=""),m&&(F[m]=me({...F[m],loaded:!0,loading:!1,error:null,editing:!!(J&&g.value.includes(W(J)))})),b.value=E,I.value=P,i.value=M,d.value=F,v.value={...c,scheme:c.scheme??v.value?.scheme??null,topNodes:l.value,treeNodes:l.value,activeNode:s,activeSection:J,sections:R,sectionMap:b.value},u.value=J,J},ae=(c,s)=>{const m=K(c),E=m?b.value[m]:null;if(!m||!E)return;const P=s(E);b.value={...b.value,[m]:P},u.value=W(u.value??P)===m?P:u.value,ne()},se=async(c=u.value??f.value)=>{const s=ie(c),m=le(c)??f.value,E=Z(c);if(!m)return null;if(!t.service.requestOperation)throw ce("service.requestOperation is required");n.value=!0,r.value=null,U(E??m,{loading:!0,error:null});try{const P=s?[{infSetId:s.infSetId,setId:s.setId,operationInfo:s.operationInfo,raw:s.raw}]:m.infSetList;if(P.length===0)throw ce("node.infSetList is required");const M=await Promise.all(P.map(async R=>{const G=_(s,m,R.infSetId),J={...p(m,s),infSetId:R.infSetId,setId:R.setId,operationInfo:R.operationInfo};if(G){const te=await h(G,{type:"queryInfoSet",node:m,section:s,params:J});return st(te,J,m)}throw ce("infoSet.operationInfo.queryInfoSet is required")})),F={...M[0],sections:M.flatMap(R=>R.sections),sectionMap:Object.fromEntries(M.flatMap(R=>R.sections).map(R=>[R.key,R]))};return Ie(F,m,E)}catch(P){throw r.value=P,U(E??m,{loading:!1,error:P}),P}finally{n.value=!1,U(E??m,{loading:!1})}},pe=(c=u.value)=>se(c),C=(c=u.value)=>{if(!c)return null;if(!ve(c)&&typeof c!="string")return j(c);const s=Z(c);return s?b.value[I.value[s]??s]??null:null},z=async(c=f.value)=>c?(await se(c),v.value):(v.value=null,u.value=null,b.value={},I.value={},i.value=[],d.value={},null),O=async c=>{const s=$(c);if(!s)return c.children;const m=L(c),E=await h(s,{type:"openTag",node:c,params:m});return Te(E).treeNodes},re=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},Be=async c=>{const s=typeof c=="string"?T(l.value,c):c;return s?(f.value=s,u.value=null,g.value=[],await re(s),ne(v.value?.raw,s),s):null},Ce=async()=>{const c=t.service.templateTree;if(!c)throw ce("service.templateTree is required");o.value=!0,r.value=null;try{const s=await c(V()),m=Te(s),E=await Promise.all(m.treeNodes.map(async M=>{const F=await O(M);return{...M,children:F,loaded:F.length>0||M.loaded}}));l.value=E,u.value=null,b.value={},I.value={},i.value=[],d.value={},g.value=[];const P=T(E,t.initialActiveNodeKey)??T(E);return f.value=P,v.value={...m,treeNodes:E,activeNode:P,sectionMap:b.value,sections:y.value},l.value}catch(s){throw r.value=s,s}finally{o.value=!1}},Lt=async()=>{const c=B();await pe(u.value??f.value);const s=y.value.find(m=>W(m)===c);return s&&(u.value=s),ne(),v.value},Re=(c=u.value)=>{const s=K(c);return!!(s&&g.value.includes(s))},Ft=(c=u.value)=>{const s=K(c);!s||Re(s)||(g.value=[...g.value,s],U(s,{editing:!0}))},ze=(c=u.value)=>{const s=K(c);s&&(g.value=g.value.filter(m=>m!==s),U(s,{editing:!1}))},jt=(c,s,m)=>{const E=typeof s=="string"?s:oe(s);ae(c,P=>{const F=(typeof s=="string"?P.fields.find(G=>oe(G)===E||G.code===E):s)?.cascadeClearFields??[],R={...P.model,[E]:m};return F.forEach(G=>{R[G]=""}),{...P,model:R,rows:P.renderType==="form"?[{...P.rows[0],...R}]:P.rows,fields:P.fields.map(G=>{const J=oe(G);return J===E||G.code===E?{...G,value:m}:F.includes(J)||F.includes(G.code)?{...G,value:""}:G})}})},Mt=async(c,s,m={})=>{const E=j(c);if(!E)return[];const P=Object.keys(m).length>0?m:E.model,M=typeof s=="string"?s:oe(s),F=typeof s=="string"?E.fields.find(Q=>oe(Q)===M||Q.code===M):s,R=F?.interface;if(!F||!R)return F?.options??[];if((F.cascadeDependFields??[]).some(Q=>{const H=P[Q];return H==null||H===""}))return ae(E,Q=>({...Q,fields:Q.fields.map(H=>oe(H)===M||H.code===M?{...H,options:[]}:H)})),[];const J=S(R,P,F),te=await h({...R,params:J},{type:"fieldOptions",node:le(E),section:E,field:F,params:J}),X=dt(te);return ae(E,Q=>({...Q,fields:Q.fields.map(H=>oe(H)===M||H.code===M?{...H,options:X}:H)})),X},xt=(c,s)=>{if(Array.isArray(s)){we(c,s);return}ae(c,m=>({...m,model:s,rows:m.renderType==="form"?[{...m.rows[0],...s}]:m.rows,fields:m.fields.map(E=>({...E,value:s[oe(E)]}))}))},we=(c,s)=>{ae(c,m=>({...m,rows:s,data:s}))},Rt={loadTree:Ce,selectNode:Be,loadDetail:z,reloadActiveSection:Lt,loadSection:se,reloadSection:pe,getSection:C,getSectionStatus:de,startEdit:Ft,cancelEdit:ze,updateField:jt,loadFieldOptions:Mt,updateModel:xt,updateTableRows:we,saveRow:(c,s={},m=-1)=>{const P=[...j(c)?.rows??[]];P.splice(m>=0?m:P.length,m>=0?1:0,s),we(c,P)},deleteRow:(c,s)=>{const m=j(c),E=typeof s=="string"?Number(s):s,P=(m?.rows??[]).filter((M,F)=>F!==E);we(c,P)},saveSection:async(c=u.value)=>{const s=B(c),m=j(c);if(!m)return null;const E=k(m);if(!E)throw ce("section.operationInfo.editInfoSet is required");a.value=!0,r.value=null,s&&s!==W(m)&&U(s,{saving:!0,error:null}),U(m,{saving:!0,error:null});try{const P=p(f.value,m),M=ut(m,P),F=await h({...E,params:{...S(E,m.model),...M}},{type:"editInfoSet",node:f.value,section:m,params:M});return ze(m),await pe(m),F}catch(P){throw r.value=P,s&&s!==W(m)&&U(s,{saving:!1,error:P}),U(m,{saving:!1,error:P}),P}finally{a.value=!1,s&&s!==W(m)&&U(s,{saving:!1}),U(m,{saving:!1})}},isEditing:Re};return e.watch(()=>t.emplid,()=>{(t.autoLoad??!0)&&Ce()}),e.onMounted(()=>{(t.autoLoad??!0)&&Ce()}),{viewModel:v,nodes:l,sections:y,sectionMap:b,sectionStatusMap:d,activeNode:f,activeSection:u,state:w,actions:Rt}},nn=e.defineComponent({name:"GlobalInfoProvider",__name:"GlobalInfoProvider",props:{service:{},adaptScene:{},emplid:{},autoLoad:{type:Boolean,default:!0},initialActiveNodeKey:{}},setup(t){const n=kt(t),{viewModel:a,nodes:r,sections:l,activeNode:v,activeSection:f,state:u,actions:b}=n;return(I,i)=>e.renderSlot(I.$slots,"default",e.normalizeProps(e.guardReactiveProps({viewModel:e.unref(a),nodes:e.unref(r),sections:e.unref(l),activeNode:e.unref(v),activeSection:e.unref(f),state:e.unref(u),actions:e.unref(b)})))}});function an(t){return Ae(t.type||t.fieldType)||Ae(t.renderType)||"text"}function St(t){return Je(t.type||t.fieldType)||Je(t.renderType)||"text"}function je(t){return t==null||t===""||Array.isArray(t)&&t.length===0}function _t(t){if(t instanceof Error)return!0;if(!t||typeof t!="object")return!1;const o=t;return typeof o.message=="string"&&(typeof o.stack=="string"||o.name==="Error")}function It(t,o,n="-"){const a=St(t);return a==="empty"||je(o)?n:_t(o)?(console.error("[globalInfo] field value render failed",o),n):a==="select"?rn(t,o,n):a==="switch"?Bt(o)?"是":"否":a==="file"?ln(o,n):a==="multi-row"?sn(o):String(o)}function Bt(t){if(typeof t=="boolean")return t;if(typeof t=="number")return t!==0;const o=String(t??"").trim().toLowerCase();return["true","1","y","yes","t","是"].includes(o)}function Ae(t){const o=String(t??"").toLowerCase();return o==="upload"||o==="attachment"?"file":o==="text"||o==="textarea"||o==="select"||o==="date"||o==="number"||o==="switch"||o==="file"||o==="html"||o==="code"||o==="multi-row"||o==="empty"?o:""}function Je(t){const o=String(t??"").toLowerCase();return o==="upload"||o==="attachment"?"file":o==="select"||o==="switch"||o==="file"||o==="html"||o==="code"||o==="multi-row"||o==="empty"?o:o==="textarea"||o==="date"||o==="number"||o==="text"?"text":""}function rn(t,o,n){if(Array.isArray(o)){const a=o.map(r=>Ke(t,r)||String(r??"").trim()).filter(Boolean);return a.length>0?a.join("、"):n}return Ke(t,o)||String(o)}function Ke(t,o){return t.options?.find(a=>a.value===o||String(a.value)===String(o))?.label??""}function ln(t,o){if(Array.isArray(t)){const n=t.map(a=>Ue(a)).filter(Boolean);return n.length>0?n.join("、"):o}return Ue(t)||o}function Ue(t){if(typeof File<"u"&&t instanceof File)return t.name;if(t&&typeof t=="object"){const o=t;return String(o.name??o.fileName??o.filename??o.url??"").trim()}return String(t??"").trim()}function sn(t){return Array.isArray(t)?t.map(o=>_t(o)?(console.error("[globalInfo] multi-row field item render failed",o),""):o&&typeof o=="object"?JSON.stringify(o):String(o)).filter(Boolean).join(`
|
|
3
|
-
`):String(t)}const cn=["disabled","accept","multiple"],un={key:0,class:"global-info-field-control__file-text"},dn={key:1,class:"global-info-field-control__file-upload"},pn=e.defineComponent({name:"GlobalInfoFieldControl",__name:"GlobalInfoFieldControl",props:{field:{},modelValue:{},disabled:{type:Boolean,default:!1}},emits:["update:modelValue","change","loadOptions"],setup(t,{emit:o}){const n=t,a=o,r=["textarea","html","code","multi-row"],l=e.computed(()=>an(n.field)),v=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:Bt(n.modelValue)}),I=e.computed(()=>l.value==="code"?5:3),i=e.computed(()=>l.value==="file"&&!je(n.modelValue)),d=e.computed(()=>It(n.field,n.modelValue,"请选择文件")),g=e.computed(()=>n.field.placeholder?n.field.placeholder:l.value==="select"?"请选择":l.value==="date"?"请选择日期":l.value==="file"?"请选择文件":"请输入");function y(p){a("update:modelValue",p)}function w(p){a("change",p)}function V(p){p&&a("loadOptions")}function L(p){const h=p.target,S=Array.from(h.files??[]),$=n.field.props?.multiple?S:S[0]??null;y($),w($)}return(p,h)=>{const S=x.ElOption,$=x.ElSelect,_=x.ElDatePicker,k=x.ElInputNumber,T=x.ElSwitch,B=x.ElInput;return l.value==="select"?(e.openBlock(),e.createBlock($,e.mergeProps({key:0,class:"global-info-field-control"},p.field.props,{"model-value":p.modelValue,placeholder:g.value,disabled:v.value,clearable:"",onVisibleChange:V,"onUpdate:modelValue":y,onChange:w}),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p.field.options||[],j=>(e.openBlock(),e.createBlock(S,{key:String(j.value),label:j.label,value:j.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"},p.field.props,{"model-value":p.modelValue,placeholder:g.value,disabled:v.value,type:"date","value-format":"YYYY-MM-DD","onUpdate:modelValue":y,onChange:w}),null,16,["model-value","placeholder","disabled"])):l.value==="number"?(e.openBlock(),e.createBlock(k,e.mergeProps({key:2,class:"global-info-field-control"},p.field.props,{"model-value":u.value,placeholder:g.value,disabled:v.value,"controls-position":"right","onUpdate:modelValue":y,onChange:w}),null,16,["model-value","placeholder","disabled"])):l.value==="switch"?(e.openBlock(),e.createBlock(T,e.mergeProps({key:3,class:"global-info-field-control global-info-field-control--switch"},p.field.props,{"model-value":b.value,disabled:v.value,"onUpdate:modelValue":y,onChange:w}),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":v.value,"is-empty":!i.value,"is-filled":i.value}])},[e.createElementVNode("input",{class:"global-info-field-control__file-input",type:"file",disabled:v.value,accept:String(p.field.props?.accept??""),multiple:!!p.field.props?.multiple,onChange:L},null,40,cn),i.value?(e.openBlock(),e.createElementBlock("span",un,e.toDisplayString(d.value),1)):(e.openBlock(),e.createElementBlock("span",dn,"上 传"))],2)):l.value==="empty"?(e.openBlock(),e.createBlock(B,{key:5,class:"global-info-field-control","model-value":"",disabled:"",placeholder:"-"})):(e.openBlock(),e.createBlock(B,e.mergeProps({key:6,class:["global-info-field-control",{"global-info-field-control--code":l.value==="code"}]},p.field.props,{"model-value":f.value,placeholder:g.value,disabled:v.value,type:r.includes(l.value)?"textarea":"text",rows:r.includes(l.value)?I.value:void 0,"onUpdate:modelValue":y,onChange:w}),null,16,["class","model-value","placeholder","disabled","type","rows"]))}}}),Me=A(pn,[["__scopeId","data-v-ba86a0ae"]]),fn=["innerHTML"],mn={key:1,class:"global-info-field-value global-info-field-value--code"},vn=e.defineComponent({name:"GlobalInfoFieldValue",__name:"GlobalInfoFieldValue",props:{field:{},value:{},emptyText:{default:"-"}},setup(t){const o=t,n=e.computed(()=>St(o.field)),a=e.computed(()=>n.value==="empty"||je(o.value)),r=e.computed(()=>It(o.field,o.value,o.emptyText));return(l,v)=>n.value==="html"&&!a.value?(e.openBlock(),e.createElementBlock("span",{key:0,class:"global-info-field-value global-info-field-value--html",innerHTML:r.value},null,8,fn)):n.value==="code"&&!a.value?(e.openBlock(),e.createElementBlock("pre",mn,e.toDisplayString(r.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(r.value),3))}}),xe=A(vn,[["__scopeId","data-v-aa0d493d"]]),gn={class:"global-info-form-renderer__label"},hn={key:0,class:"global-info-form-renderer__required"},yn=e.defineComponent({name:"GlobalInfoFormRenderer",__name:"GlobalInfoFormRenderer",props:{section:{},node:{},editing:{type:Boolean},state:{},actions:{},model:{},onUpdateModel:{type:Function}},setup(t){const o=t,n=e.useSlots(),a=e.computed(()=>o.section.fields.filter(d=>d.visible)),r=e.computed(()=>o.model??o.section.model);function l(d,g){const y={...r.value,[d.code]:g};(d.cascadeClearFields??[]).forEach(w=>{y[w]=""}),o.onUpdateModel?.(y),o.onUpdateModel||o.actions.updateField(o.section,d,g)}async function v(d){try{await o.actions.loadFieldOptions(o.section,d,r.value)}catch(g){console.error("[GlobalInfoFormRenderer] load field options failed",g)}}function f(d){const g=r.value[d.code];return{field:d,section:o.section,sectionView:o.section,node:o.node,editing:o.editing,modelValue:g,value:g,state:o.state,actions:o.actions,updateModelValue:y=>l(d,y)}}function u(d){const g=String(d.id||d.key||d.code||"").trim(),y=g?`field-${g}`:"";if(y&&n[y])return y;const w=y.toLowerCase();return w!==y&&n[w]?w:""}function b(d){return d.span?Math.min(Math.max(d.span,1),24):6}function I(d){return d.key||d.id||d.code}function i(d){return d.required||d.isRequired}return(d,g)=>{const y=x.ElFormItem,w=x.ElCol,V=x.ElRow,L=x.ElForm;return e.openBlock(),e.createBlock(L,{class:"global-info-form-renderer",model:r.value,"label-position":"top"},{default:e.withCtx(()=>[e.createVNode(V,{gutter:24},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.value,p=>(e.openBlock(),e.createBlock(w,{key:I(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",gn,[i(p)?(e.openBlock(),e.createElementBlock("span",hn,"*")):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(Me,{key:1,field:p,"model-value":r.value[p.code],section:d.section,onLoadOptions:()=>v(p),"onUpdate:modelValue":h=>l(p,h)},null,8,["field","model-value","section","onLoadOptions","onUpdate:modelValue"])):(e.openBlock(),e.createBlock(xe,{key:2,field:p,value:r.value[p.code],section:d.section},null,8,["field","value","section"]))]),_:2},1040,["prop"])]),_:2},1032,["span"]))),128))]),_:3})]),_:3},8,["model"])}}}),Ct=A(yn,[["__scopeId","data-v-9dcd2ba9"]]),Et=e.defineComponent({name:"GlobalInfoDeleteConfirm",__name:"GlobalInfoDeleteConfirm",props:{title:{default:"确认删除吗?"},confirmText:{default:"确认"},cancelText:{default:"取消"}},emits:["confirm","cancel"],setup(t){return(o,n)=>{const a=x.ElPopconfirm;return e.openBlock(),e.createBlock(a,{title:o.title,"confirm-button-text":o.confirmText,"cancel-button-text":o.cancelText,width:"240","popper-class":"global-info-delete-confirm",onConfirm:n[0]||(n[0]=r=>o.$emit("confirm")),onCancel:n[1]||(n[1]=r=>o.$emit("cancel"))},{reference:e.withCtx(()=>[e.renderSlot(o.$slots,"default")]),_:3},8,["title","confirm-button-text","cancel-button-text"])}}}),bn={class:"global-info-table-renderer"},wn={class:"global-info-table-renderer__table-scroll"},kn={class:"global-info-table-renderer__header"},Sn={key:0,class:"global-info-table-renderer__required"},_n=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 o=t,n=e.useSlots(),a=e.computed(()=>o.section.fields.filter(p=>p.visible));function r(p){o.actions.deleteRow(o.section,p)}function l(p,h,S,$){const _=o.section.rows.slice(),k=S.cascadeClearFields??[],T={...p,__rowKey:V(p),[S.code]:$};k.forEach(B=>{T[B]=""}),_[h]={...T},o.actions.updateTableRows(o.section,_)}async function v(p,h){try{await o.actions.loadFieldOptions(o.section,p,h)}catch(S){console.error("[GlobalInfoTableRenderer] load field options failed",S)}}function f(p,h,S){const $=h[p.code];return{field:p,section:o.section,sectionView:o.section,node:o.node,row:h,rowIndex:S,editing:o.editing,modelValue:$,value:$,state:o.state,actions:o.actions,updateModelValue:_=>l(h,S,p,_)}}function u(p){const h=String(p.id||p.key||p.code||"").trim(),S=h?`field-${h}`:"";if(S&&n[S])return S;const $=S.toLowerCase();return $!==S&&n[$]?$:""}function b(p){return!p.readonly&&!p.disabled}function I(p){return p.width??(g(p)?56:void 0)}function i(p){if(!p.width)return p.minWidth??(g(p)?56:void 0)}function d(p){return p.key||p.id||p.code}function g(p){return[p.label,p.name,p.code,p.key,p.id].map(S=>String(S??"").trim().toLowerCase()).some(S=>["序号","index","idx","seq","serial","order","rownum","row_no"].includes(S))}let y=0;const w=new WeakMap;function V(p){const h=p.__rowKey??p.key??p.id??p.setId??p.infSetId;if(h!=null&&h!=="")return String(h);const S=p,$=w.get(S);if($)return $;y+=1;const _=`local-${y}`;return w.set(S,_),_}function L(p){return p.required||p.isRequired}return(p,h)=>{const S=x.ElTableColumn,$=e.resolveComponent("Delete"),_=x.ElIcon,k=x.ElButton,T=x.ElTable;return e.openBlock(),e.createElementBlock("div",bn,[e.createElementVNode("div",wn,[e.createVNode(T,{class:"global-info-table-renderer__table",data:p.section.rows,"row-key":V},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.value,B=>(e.openBlock(),e.createBlock(S,{key:d(B),prop:B.code,label:B.label,width:I(B),"min-width":i(B)},{header:e.withCtx(()=>[e.createElementVNode("span",kn,[L(B)?(e.openBlock(),e.createElementBlock("span",Sn,"*")):e.createCommentVNode("",!0),e.createElementVNode("span",null,e.toDisplayString(B.label),1)])]),default:e.withCtx(({row:j,$index:K})=>[u(B)?e.renderSlot(p.$slots,u(B),e.mergeProps({key:0,ref_for:!0},f(B,j,K)),void 0,!0):p.editing&&b(B)?(e.openBlock(),e.createBlock(Me,{key:1,field:B,"model-value":j[B.code],section:p.section,row:j,"row-index":K,onLoadOptions:()=>v(B,j),"onUpdate:modelValue":Z=>l(j,K,B,Z)},null,8,["field","model-value","section","row","row-index","onLoadOptions","onUpdate:modelValue"])):(e.openBlock(),e.createBlock(xe,{key:2,field:B,value:j[B.code],section:p.section,row:j,"row-index":K},null,8,["field","value","section","row","row-index"]))]),_:2},1032,["prop","label","width","min-width"]))),128)),p.editing?(e.openBlock(),e.createBlock(S,{key:0,label:"操作",width:"104",fixed:"right"},{default:e.withCtx(({$index:B})=>[p.showDelete?(e.openBlock(),e.createBlock(Et,{key:0,onConfirm:j=>r(B)},{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($)]),_:1}),h[0]||(h[0]=e.createTextVNode(" 删除 "))]),_:1})]),_:2},1032,["onConfirm"])):e.createCommentVNode("",!0)]),_:1})):e.createCommentVNode("",!0)]),_:3},8,["data"])])])}}}),Pt=A(_n,[["__scopeId","data-v-2fa29438"]]),Vt=e.defineComponent({name:"GlobalInfoAutoRenderer",__name:"GlobalInfoAutoRenderer",props:{section:{},node:{},editing:{type:Boolean},state:{},actions:{}},setup(t){return(o,n)=>o.section.renderType==="table"?(e.openBlock(),e.createBlock(Pt,{key:0,section:o.section,node:o.node,editing:o.editing,state:o.state,actions:o.actions},null,8,["section","node","editing","state","actions"])):(e.openBlock(),e.createBlock(Ct,{key:1,section:o.section,node:o.node,editing:o.editing,state:o.state,actions:o.actions},null,8,["section","node","editing","state","actions"]))}}),Tt=e.defineComponent({name:"GlobalInfoSectionOutlet",__name:"GlobalInfoSectionOutlet",props:{section:{},node:{},editing:{type:Boolean},state:{},actions:{}},setup(t){const o=t,n=e.useSlots(),a=e.computed(()=>o.editing??o.actions.isEditing(o.section)),r=e.computed(()=>o.section.renderType==="table"?o.section.rows.length===0:o.section.fields.length===0),l=e.computed(()=>{const u=v(o.section.id||o.section.key),b=f(o.section.renderType);return[u,b,"default"].find(I=>!!(I&&n[I]))??""});function v(u){const b=String(u??"").trim();return b?`section-${b}`:""}function f(u){return u==="form"||u==="table"?u:""}return(u,b)=>l.value?e.renderSlot(u.$slots,l.value,{key:0,section:u.section,sectionView:u.section,node:u.node,editing:a.value,isEmpty:r.value,empty:r.value,fields:u.section.fields,state:u.state,actions:u.actions}):(e.openBlock(),e.createBlock(Vt,{key:1,section:u.section,node:u.node,editing:a.value,state:u.state,actions:u.actions},null,8,["section","node","editing","state","actions"]))}}),In=e.defineComponent({name:"GlobalInfoSlotErrorBoundary",props:{boundaryKey:{type:[String,Number],default:""},label:{type:String,default:""}},emits:{error:t=>!0},setup(t,{emit:o,slots:n}){const a=e.ref(!1);e.watch(()=>t.boundaryKey,()=>{a.value=!1}),e.onErrorCaptured(l=>(r(l),!1));function r(l){a.value=!0,console.error(`[GlobalInfoSlotErrorBoundary] ${t.label||"section"} slot render failed`,l),o("error",l)}return()=>{if(a.value)return n.fallback?.()??null;try{return n.default?.()??null}catch(l){return r(l),n.fallback?.()??null}}}}),Bn={class:"global-info-section-block"},Cn={key:0,class:"global-info-section-block__header"},En={class:"global-info-section-block__title-wrap"},Pn={class:"global-info-section-block__title"},Vn={key:0,class:"global-info-section-block__actions"},Tn={class:"global-info-section-block__body"},$n=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 o=t,n=e.useSlots(),a=e.ref(!1),r=e.ref(null),l=e.ref(null),v=e.computed(()=>!!o.hideHeader),f=e.computed(()=>o.actions.getSectionStatus(o.node)),u=e.computed(()=>o.actions.getSection(o.node)??l.value),b=e.computed(()=>u.value?.title||o.node.tagName||o.node.label||"-"),I=e.computed(()=>!!(u.value&&o.actions.isEditing(u.value))),i=e.computed(()=>u.value?.renderType==="table"),d=e.computed(()=>a.value||f.value.loading),g=e.computed(()=>V(r.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}),w=e.computed(()=>({node:o.node,section:u.value,sectionView:u.value,fields:u.value?.fields??[],title:b.value,editing:I.value,loading:d.value,error:r.value||f.value.error,errorMessage:g.value,isEmpty:y.value,empty:y.value,sectionStatus:f.value,state:o.state,actions:o.actions,reload:_,handleEdit:L,handleCancel:p,handleAddTableRow:h,handleSave:S}));function V(k){return k?k instanceof Error?k.message:String(k):""}async function L(){const k=u.value;k&&(await o.onEdit?.(k,o.node),o.onEdit||o.actions.startEdit(k))}async function p(){const k=u.value;k&&(await o.onCancel?.(k,o.node),o.onCancel||o.actions.cancelEdit(k))}function h(){const k=u.value;if(!k)return;const T=k.fields.reduce((B,j)=>(B[j.code]=j.value??"",B),{__rowKey:`new-${Date.now()}`});o.actions.saveRow(k,T,-1)}async function S(){const k=u.value;if(k)try{if(o.onSave){await o.onSave(k,o.node);return}await o.actions.saveSection(k)}catch(T){r.value=T,console.error("[GlobalInfoSectionBlock] save section failed",T)}}function $(k){r.value=k}async function _(){a.value=!0,r.value=null,l.value=null;try{l.value=await o.actions.loadSection(o.node)}catch(k){r.value=k,console.error("[GlobalInfoSectionBlock] load section failed",k)}finally{a.value=!1}}return e.onMounted(()=>{_()}),e.watch(()=>o.node.key,()=>{_()}),(k,T)=>{const B=x.ElButton;return e.openBlock(),e.createElementBlock("section",Bn,[v.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("header",Cn,[e.renderSlot(k.$slots,"header",e.normalizeProps(e.guardReactiveProps(w.value)),()=>[e.createElementVNode("div",En,[T[0]||(T[0]=e.createElementVNode("span",{class:"global-info-section-block__marker"},null,-1)),e.createElementVNode("h3",Pn,e.toDisplayString(b.value),1)]),e.renderSlot(k.$slots,"actions",e.normalizeProps(e.guardReactiveProps(w.value)),()=>[u.value?(e.openBlock(),e.createElementBlock("div",Vn,[I.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createVNode(B,{class:"global-info-section-block__cancel",link:"",disabled:f.value.saving,onClick:p},{default:e.withCtx(()=>T[2]||(T[2]=[e.createTextVNode(" 取消 ")])),_:1},8,["disabled"]),i.value?(e.openBlock(),e.createBlock(B,{key:0,class:"global-info-section-block__add",link:"",disabled:f.value.saving,onClick:h},{default:e.withCtx(()=>T[3]||(T[3]=[e.createTextVNode(" 新增 ")])),_:1},8,["disabled"])):e.createCommentVNode("",!0),e.createVNode(B,{class:"global-info-section-block__confirm",link:"",type:"primary",loading:f.value.saving,onClick:S},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.value?"确认":"保存"),1)]),_:1},8,["loading"])],64)):(e.openBlock(),e.createBlock(B,{key:0,class:"global-info-section-block__edit",link:"",type:"primary",disabled:f.value.saving||d.value,onClick:L},{default:e.withCtx(()=>T[1]||(T[1]=[e.createTextVNode(" 编辑 ")])),_:1},8,["disabled"]))])):e.createCommentVNode("",!0)],!0)],!0)])),e.createElementVNode("div",Tn,[d.value?e.renderSlot(k.$slots,"loading",e.normalizeProps(e.mergeProps({key:0},w.value)),()=>[T[4]||(T[4]=e.createElementVNode("div",{class:"global-info-section-block__status"},"加载中...",-1))],!0):!u.value||y.value||g.value?e.renderSlot(k.$slots,"empty",e.normalizeProps(e.mergeProps({key:1},w.value)),()=>[T[5]||(T[5]=e.createElementVNode("div",{class:"global-info-section-block__status"},"暂无数据",-1))],!0):(e.openBlock(),e.createBlock(In,{key:2,"boundary-key":k.node.key,label:b.value,onError:$},{fallback:e.withCtx(()=>[e.renderSlot(k.$slots,"empty",e.normalizeProps(e.guardReactiveProps(w.value)),()=>[T[6]||(T[6]=e.createElementVNode("div",{class:"global-info-section-block__status"},"暂无数据",-1))],!0)]),default:e.withCtx(()=>[e.createVNode(Tt,{section:u.value,node:k.node,editing:I.value,state:k.state,actions:k.actions},e.createSlots({_:2},[e.renderList(e.unref(n),(j,K)=>({name:K,fn:e.withCtx(Z=>[e.renderSlot(k.$slots,K,e.normalizeProps(e.guardReactiveProps({...w.value,...Z})),void 0,!0)])}))]),1032,["section","node","editing","state","actions"])]),_:3},8,["boundary-key","label"]))])])}}}),$t=A($n,[["__scopeId","data-v-0d8ae722"]]),Nn={class:"global-info-group"},Ln={class:"global-info-group__header"},Fn={class:"global-info-group__title"},jn={class:"global-info-group__body"},Mn=["id"],xn=e.defineComponent({name:"GlobalInfoGroup",__name:"GlobalInfoGroup",props:{group:{},children:{},state:{},actions:{},index:{}},setup(t){const o=t,n=e.useSlots(),a=e.computed(()=>o.group.tagName||o.group.label||"-"),r=e.computed(()=>o.children.length<=1);function l(i,d){const g=o.actions.getSection(i);return{node:i,group:o.group,sectionNode:i,section:g,sectionView:g,state:o.state,actions:o.actions,index:d,editing:!!(g&&o.actions.isEditing(g)),sectionStatus:o.actions.getSectionStatus(i),isSelfSection:b(i,0)===b(o.group,0),handleEdit:()=>o.actions.startEdit(i),handleCancel:()=>o.actions.cancelEdit(i),handleSave:()=>o.actions.saveSection(i.key)}}function v(i){return f("section",u(i))}function f(i,d){if(!d)return"";const g=`${i}-${d}`;if(n[g])return g;const y=g.toLowerCase();return y!==g&&n[y]?y:""}function u(i){return String(i.id||i.infSetId||i.tagId||i.key||i.code||"").trim()}function b(i,d){return i.key||i.id||i.infSetId||i.tagId||`${d}`}function I(i){return`global-info-section-${b(i,0)}`}return(i,d)=>(e.openBlock(),e.createElementBlock("section",Nn,[e.renderSlot(i.$slots,"header",{group:i.group,children:i.children,state:i.state,actions:i.actions,title:a.value,index:i.index,isEmpty:i.children.length===0},()=>[e.createElementVNode("header",Ln,[d[0]||(d[0]=e.createElementVNode("span",{class:"global-info-group__marker"},null,-1)),e.createElementVNode("h2",Fn,e.toDisplayString(a.value),1)])],!0),e.createElementVNode("div",jn,[e.unref(n).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,(g,y)=>(e.openBlock(),e.createElementBlock("div",{id:I(g),key:b(g,y),class:"global-info-group__section"},[v(g)?e.renderSlot(i.$slots,v(g),e.mergeProps({key:0,ref_for:!0},l(g,y)),void 0,!0):e.unref(n).section?e.renderSlot(i.$slots,"section",e.mergeProps({key:1,ref_for:!0},l(g,y)),void 0,!0):(e.openBlock(),e.createBlock($t,{key:2,node:g,state:i.state,actions:i.actions,"hide-header":r.value},e.createSlots({_:2},[e.renderList(e.unref(n),(w,V)=>({name:V,fn:e.withCtx(L=>[e.renderSlot(i.$slots,V,e.mergeProps({ref_for:!0},L),void 0,!0)])}))]),1032,["node","state","actions","hide-header"]))],8,Mn))),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},()=>[d[1]||(d[1]=e.createElementVNode("div",{class:"global-info-group__empty"},"暂无数据",-1))],!0):e.createCommentVNode("",!0)],64))])]))}}),Nt=A(xn,[["__scopeId","data-v-778e227f"]]),Rn={class:"global-info-sections"},zn=e.defineComponent({name:"GlobalInfoSections",__name:"GlobalInfoSections",props:{nodes:{},state:{},actions:{}},setup(t){const o=t,n=e.useSlots(),a=e.computed(()=>{const d=o.nodes.filter(h=>r(h).length>0),g=o.nodes.filter(h=>r(h).length===0),y=g.filter(h=>l(h)),w=g.filter(h=>!l(h)),V=d.map(h=>({group:h,children:r(h)})),L=y.map(h=>({group:h,children:[h]}));if(V.length===0)return y.length>0?L:i(w);const p=i(w);return[...V,...L,...p]});function r(d){return d.children??[]}function l(d){return!String(d.parentId||d.parentTagId||"").trim()}function v(d){return f("group",u(d))}function f(d,g){if(!g)return"";const y=`${d}-${g}`;if(n[y])return y;const w=y.toLowerCase();return w!==y&&n[w]?w:""}function u(d){return String(d.id||d.tagId||d.key||d.code||"").trim()}function b(d,g){return d.key||d.id||d.tagId||`${g}`}function I(d){const g=d[0],y=g?.raw??{},w=String(y.parentTagName||y.parentName||y.parentLabel||g?.parentId||"信息");return{...g,key:`${g?.parentId||g?.parentTagId||g?.key||"global-info"}-group`,id:String(g?.parentId||g?.parentTagId||g?.id||"global-info-group"),tagId:String(g?.parentTagId||g?.parentId||g?.tagId||"global-info-group"),tagName:w,label:w,children:d}}function i(d){const g=new Map;return d.forEach(y=>{const w=String(y.parentId||y.parentTagId||"global-info-flat"),V=g.get(w)??[];V.push(y),g.set(w,V)}),Array.from(g.values()).map(y=>({group:I(y),children:y}))}return(d,g)=>(e.openBlock(),e.createElementBlock("div",Rn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.value,(y,w)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:b(y.group,w)},[v(y.group)?e.renderSlot(d.$slots,v(y.group),{key:0,group:y.group,children:y.children,state:d.state,actions:d.actions,index:w,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:w,isEmpty:y.children.length===0},void 0,!0):(e.openBlock(),e.createBlock(Nt,{key:2,group:y.group,children:y.children,state:d.state,actions:d.actions,index:w},e.createSlots({_:2},[e.renderList(e.unref(n),(V,L)=>({name:L,fn:e.withCtx(p=>[e.renderSlot(d.$slots,L,e.mergeProps({ref_for:!0},p),void 0,!0)])}))]),1032,["group","children","state","actions","index"]))],64))),128))]))}}),Dn=A(zn,[["__scopeId","data-v-f15cf0fb"]]);exports.GlobalInfoAutoRenderer=Vt;exports.GlobalInfoDeleteConfirm=Et;exports.GlobalInfoFieldControl=Me;exports.GlobalInfoFieldValue=xe;exports.GlobalInfoFormRenderer=Ct;exports.GlobalInfoGroup=Nt;exports.GlobalInfoProvider=nn;exports.GlobalInfoSectionBlock=$t;exports.GlobalInfoSectionOutlet=Tt;exports.GlobalInfoSections=Dn;exports.GlobalInfoTableRenderer=Pt;exports.JtAttachmentPreview=Mo;exports.JtButton=ge;exports.JtCascader=Ze;exports.JtCrudTable=go;exports.JtDatePicker=Qe;exports.JtFilterBar=tt;exports.JtFormItems=et;exports.JtInput=Se;exports.JtPageHeader=Go;exports.JtPagination=wo;exports.JtSelect=Xe;exports.JtTable=ot;exports.buildGlobalInfoUpdatePayload=ut;exports.createEmptyGlobalInfoViewModel=it;exports.isGlobalInfoNode=Oo;exports.mergeGlobalInfoChildren=Fe;exports.normalizeGlobalInfoDetail=st;exports.normalizeGlobalInfoTree=Te;exports.resolveGlobalInfoRenderType=ct;exports.useGlobalInfoController=kt;
|
|
2
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),R=require("element-plus/es"),Ne=require("./JtAttachmentPreview/index.cjs"),oe=require("element-plus"),Ee=2,Tt=3;function Ft(o){return o.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}function qe(o){if(!o.startsWith("on")||o.length<=Ee)return!1;const t=o.charCodeAt(Ee);return t<97||t>122}function Mt(o){if(o.startsWith("on-"))return o.slice(Tt);const[t,n]=o.slice(Ee).split(":"),a=Ft(t);return n?`${a}:${n}`:a}function Ke(o,t=new Set){return Object.fromEntries(Object.entries(o).filter(([n,a])=>!t.has(n)&&qe(n)&&typeof a=="function").map(([n,a])=>[Mt(n),a]))}function He(o,t=new Set){return Object.fromEntries(Object.entries(o).filter(([n])=>!t.has(n)&&!qe(n)))}const Rt=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{...He(n),...g}}),l=e.computed(()=>Ke(n));return(r,g)=>{const f=R.ElIcon,u=R.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)}}}),J=(o,t)=>{const n=o.__vccOpts||o;for(const[a,l]of t)n[a]=l;return n},ve=J(Rt,[["__scopeId","data-v-fbcdce34"]]),Lt=e.defineComponent({name:"JtCascader",__name:"index",props:{size:{},placeholder:{default:"请选择"},disabled:{type:Boolean},clearable:{type:Boolean,default:!0},clearIcon:{},filterable:{type:Boolean},filterMethod:{},separator:{},showAllLevels:{type:Boolean},collapseTags:{type:Boolean},maxCollapseTags:{},collapseTagsTooltip:{type:Boolean},maxCollapseTagsTooltipHeight:{},debounce:{},beforeFilter:{},placement:{},fallbackPlacements:{},popperClass:{},popperStyle:{type:[Boolean,null,String,Object,Array]},teleported:{type:Boolean},effect:{},tagType:{},tagEffect:{},validateEvent:{type:Boolean},persistent:{type:Boolean},showCheckedStrategy:{},checkOnClickNode:{type:Boolean},showPrefix:{type:Boolean},fitInputWidth:{type:[Boolean,Number]},modelValue:{},props:{},virtualScroll:{type:Boolean},itemSize:{},height:{},emptyValues:{},valueOnClear:{type:[String,Number,Boolean,Function,null]},options:{default:()=>[]}},emits: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=R.ElCascader;return e.openBlock(),e.createBlock(f,e.mergeProps({class:"jt-cascader"},n,e.toHandlers(l.value)),null,16)}}}),Ue=J(Lt,[["__scopeId","data-v-9164edeb"]]),zt=e.defineComponent({name:"JtDatePicker",__name:"index",props:{type:{default:"date"},showNow:{type:Boolean},showConfirm:{type:Boolean},showFooter:{type:Boolean},showWeekNumber:{type:Boolean},ariaLabel:{},emptyValues:{},valueOnClear:{},disabledDate:{},cellClassName:{},shortcuts:{},arrowControl:{type:Boolean},tabindex:{},validateEvent:{type:Boolean},unlinkPanels:{type:Boolean},singlePanel:{type:Boolean},placement:{},fallbackPlacements:{},disabledHours:{},disabledMinutes:{},disabledSeconds:{},automaticDropdown:{type:Boolean},id:{},name:{},popperClass:{},popperStyle:{},format:{},valueFormat:{default:"YYYY-MM-DD"},dateFormat:{},timeFormat:{},clearable:{type:Boolean,default:!0},clearIcon:{},editable:{type:Boolean},saveOnBlur:{type:Boolean},prefixIcon:{},size:{},readonly:{type:Boolean},disabled:{type:Boolean},placeholder:{default:"请选择日期"},popperOptions:{},modelValue:{},rangeSeparator:{},startPlaceholder:{},endPlaceholder:{},defaultValue:{},defaultTime:{},isRange:{type:Boolean}},setup(o){const t=o,n=e.computed(()=>({...t,startPlaceholder:t.startPlaceholder??(a(t.type)?"开始日期":void 0),endPlaceholder:t.endPlaceholder??(a(t.type)?"结束日期":void 0)}));function a(l){return l?.includes("range")??!1}return(l,r)=>{const g=R.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)}}}),We=J(zt,[["__scopeId","data-v-2aaf2264"]]),Gt=e.defineComponent({name:"JtInput",__name:"index",props:{id:{},size:{},disabled:{type:Boolean},modelValue:{},modelModifiers:{},maxlength:{},minlength:{},type:{},resize:{},autosize:{type:[Object,Boolean]},autocomplete:{},formatter:{},parser:{},placeholder:{default:"请输入"},form:{},readonly:{type:Boolean},clearable:{type:Boolean,default:!0},clearIcon:{},showPassword:{type:Boolean},showWordLimit:{type:Boolean},wordLimitPosition:{},suffixIcon:{},prefixIcon:{},containerRole:{},tabindex:{},validateEvent:{type:Boolean},inputStyle:{type:[Boolean,null,String,Object,Array]},autofocus:{type:Boolean},rows:{},ariaLabel:{},inputmode:{},name:{},countGraphemes:{}},emits:{...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=R.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=J(Gt,[["__scopeId","data-v-c4e9cb3f"]]),jt=e.defineComponent({name:"JtSelect",__name:"index",props:{options:{},ariaLabel:{},emptyValues:{},valueOnClear:{},name:{},id:{},modelValue:{},autocomplete:{},automaticDropdown:{type:Boolean},size:{},effect:{},disabled:{type:Boolean},clearable:{type:Boolean,default:!0},filterable:{type:Boolean,default:!0},allowCreate:{type:Boolean},loading:{type:Boolean},popperClass:{},popperStyle:{},popperOptions:{},remote:{type:Boolean},debounce:{},loadingText:{},noMatchText:{},noDataText:{},remoteMethod:{},filterMethod:{},multiple:{type:Boolean},multipleLimit:{},placeholder:{default:"请选择"},defaultFirstOption:{type:Boolean},reserveKeyword:{type:Boolean},valueKey:{},collapseTags:{type:Boolean},collapseTagsTooltip:{type:Boolean},tagTooltip:{},maxCollapseTags:{},teleported:{type:Boolean},persistent:{type:Boolean},clearIcon:{},fitInputWidth:{type:Boolean},suffixIcon:{},tagType:{},tagEffect:{},validateEvent:{type:Boolean},remoteShowSuffix:{type:Boolean},showArrow:{type:Boolean},offset:{},placement:{},fallbackPlacements:{},tabindex:{},appendTo:{},props:{}},emits: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=R.ElOption,b=R.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)}}}),Ye=J(jt,[["__scopeId","data-v-abce8e44"]]),Dt={class:"jt-form-items"},Ce=4,xt=e.defineComponent({name:"JTFormItems",__name:"JtFormItems",props:{configs:{},formData:{},span:{}},setup(o){const t=o,n={input:ke,select:Ye,cascader:Ue,"date-picker":We},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:w}=h;if(!w)return ke;if(typeof w!="string")return w;const N=a[w]??w;return r.includes(N)?n[N]:(console.error(`[JtFormItems] 不支持的 itemType: "${w}",支持的类型: ${r.join(", ")}`),ke)},b=h=>{const w=He(h,l);return h.itemType==="select"||h.itemType==="remote-select"||h.itemType==="cascader"?{...w,options:h.options}:p(h.itemType)?{...w,type:"daterange"}:w},C=h=>Ke(h,l),c=h=>({rules:h.rules,...h.formItemProps}),d=(h,w)=>{t.formData[h]=w};function v(h){return w=>{if(w){g.set(h,w);return}g.delete(h)}}function y(h,w){e.nextTick(()=>{g.get(h)?.validate(w).catch(()=>{})})}const S=h=>Math.min(Math.max(Math.trunc(h||1),1),4),P=e.computed(()=>{const w=f.value.reduce((N,I)=>N+S(t.span||I.span),0)%Ce;return w===0?{gridColumn:`1 / span ${Ce}`}:{gridColumn:`${w+1} / span ${Ce-w}`}}),L=h=>({gridColumn:`span ${S(t.span||h.span)}`});function p(h){return h==="daterange"||h==="date-range"||h==="dateRange"}return(h,w)=>{const N=R.ElFormItem;return e.openBlock(),e.createElementBlock("div",Dt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.value,I=>(e.openBlock(),e.createBlock(N,e.mergeProps({key:I.prop,ref_for:!0,ref:v(I.prop),class:"jt-form-items__item",style:L(I),label:I.label,prop:I.prop},c(I)),{default:e.withCtx(()=>[I.showSlot?e.renderSlot(h.$slots,I.prop,{key:0},void 0,!0):(e.openBlock(),e.createBlock(e.resolveDynamicComponent(u(I)),e.mergeProps({key:1,"model-value":h.formData[I.prop],ref_for:!0},b(I),e.toHandlers(C(I)),{"onUpdate:modelValue":k=>d(I.prop,k),onChange:()=>y(I.prop,"change"),onBlur:()=>y(I.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(P.value)},{default:e.withCtx(()=>[e.renderSlot(h.$slots,"actions",{},void 0,!0)]),_:3},8,["style"])):e.createCommentVNode("",!0)])}}}),Ze=J(xt,[["__scopeId","data-v-002c0b17"]]);function Ot(){const o=e.ref(!1);function t(){o.value=!0}function n(){o.value=!1}return{searchDisabled:o,searchLoading:t,searchDone:n}}const 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%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",Jt="data:image/svg+xml,%3csvg%20width='14'%20height='14'%20viewBox='0%200%2014%2014'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%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",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='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"},Ht=["src"],Ut=["src"],Wt=["src"],Yt=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}=Ot(),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)),P=e.computed(()=>Math.max(1,y.value-1)),L=e.computed(()=>Math.max(1,P.value*S.value)),p=e.computed(()=>ae(c.value.searchLabelWidth??84)),h=e.computed(()=>c.value.searchLabelPosition??"top"),w=e.computed(()=>ie(c.value.searchGutter,14)),N=e.computed(()=>ie(c.value.searchRowGap,14)),I=e.computed(()=>pe(c.value.searchPadding??"18px 4px 0")),k=e.computed(()=>c.value.searchCollapse===!1?!1:Ie(v.value)>L.value),$=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>L.value?!1:(B+=O,!0)})}),_=e.computed(()=>$.value.filter(B=>!!g[`${B.prop}-search`])),M=e.computed(()=>$.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 K(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),K(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 Ie(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=R.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":`${w.value}px`,"--jt-filter-row-gap":`${N.value}px`,"--jt-filter-padding":I.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(Ze),{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(At),alt:""},null,10,Ht)]),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(Jt),alt:""},null,8,Ut)]),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(qt),alt:""},null,8,Wt)]),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=>K(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)}}}),Qe=J(Yt,[["__scopeId","data-v-94909b80"]]),Zt={key:1},Qt={key:2},Xt={key:3},eo=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=R.ElTableColumn,y=R.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(P=>[u(S.prop)?e.renderSlot(c.$slots,`${S.prop}-data`,e.mergeProps({key:0,ref_for:!0},P),void 0,!0):S.dicData?(e.openBlock(),e.createElementBlock("span",Zt,e.toDisplayString(C(S.dicData,P.row[S.prop])),1)):S.formatter?(e.openBlock(),e.createElementBlock("span",Qt,e.toDisplayString(S.formatter(P.row,P.column,P.row[S.prop],P.$index)),1)):(e.openBlock(),e.createElementBlock("span",Xt,e.toDisplayString(P.row[S.prop]),1))]),_:2},[f(S.prop)?{name:"header",fn:e.withCtx(P=>[e.renderSlot(c.$slots,`${S.prop}-header`,e.mergeProps({ref_for:!0},P),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"])}}}),Xe=J(eo,[["__scopeId","data-v-4804a967"]]),to={class:"jt-pagination"},oo={class:"jt-pagination__count"},no=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=R.ElPagination;return e.openBlock(),e.createElementBlock("div",to,[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",oo,"共"+e.toDisplayString(g.total)+"条记录",1)])}}}),ao=J(no,[["__scopeId","data-v-19ef6db6"]]),lo={class:"jt-crud-table"},ro={key:1,class:"jt-crud-table__toolbar"},so=e.defineComponent({name:"JtCrudTable",__name:"JtCrudTable",props:e.mergeModels({columns:{},option:{default:()=>({})},data:{},total:{default:0},tableEvents:{}},{currentPage:{default:1},currentPageModifiers:{},pageSize:{default:20},pageSizeModifiers:{},searchModel:{default:()=>({})},searchModelModifiers:{}}),emits:e.mergeModels(["search","reset","page-change","size-change"],["update:currentPage","update:pageSize","update:searchModel"]),setup(o,{expose:t,emit:n}){const 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(I=>I.search&&!!u[`${I.prop}-search`])),S=e.computed(()=>a.columns.filter(I=>!I.hide&&!!u[`${I.prop}-header`])),P=e.computed(()=>a.columns.filter(I=>!I.hide&&!!u[`${I.prop}-data`]));function L(){const I={};return a.columns.forEach(k=>{k.search&&(I[k.prop]=void 0)}),I}function p(){l("search",{...f.value})}function h(){f.value=L(),l("reset")}function w(){C.value?.searchLoading()}function N(){C.value?.searchDone()}return t({tableRef:e.computed(()=>b.value?.tableRef),filterBarRef:C,searchLoading:w,searchDone:N}),(I,k)=>{const $=R.ElLoadingDirective;return e.openBlock(),e.createElementBlock("div",lo,[e.renderSlot(I.$slots,"header",{},void 0,!0),d.value?(e.openBlock(),e.createBlock(Qe,{key:0,ref_key:"filterBarRef",ref:C,modelValue:f.value,"onUpdate:modelValue":k[0]||(k[0]=_=>f.value=_),columns:I.columns,option:c.value,onSearch:p,onReset:h},e.createSlots({_:2},[e.renderList(y.value,_=>({name:`${_.prop}-search`,fn:e.withCtx(M=>[e.renderSlot(I.$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",ro,[e.renderSlot(I.$slots,"toolbar",{},void 0,!0)])):e.createCommentVNode("",!0),e.withDirectives((e.openBlock(),e.createBlock(Xe,{ref_key:"jtTableRef",ref:b,data:I.data,columns:I.columns,option:c.value,"table-events":I.tableEvents},e.createSlots({_:2},[e.renderList(S.value,_=>({name:`${_.prop}-header`,fn:e.withCtx(M=>[e.renderSlot(I.$slots,`${_.prop}-header`,e.normalizeProps(e.guardReactiveProps(M)),void 0,!0)])})),e.renderList(P.value,_=>({name:`${_.prop}-data`,fn:e.withCtx(M=>[e.renderSlot(I.$slots,`${_.prop}-data`,e.normalizeProps(e.guardReactiveProps(M)),void 0,!0)])})),c.value.menu?{name:"menu",fn:e.withCtx(_=>[e.renderSlot(I.$slots,"menu",e.normalizeProps(e.guardReactiveProps(_)),void 0,!0)]),key:"0"}:void 0]),1032,["data","columns","option","table-events"])),[[$,c.value.loading]]),v.value?(e.openBlock(),e.createBlock(ao,{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:I.total,option:c.value,onPageChange:k[3]||(k[3]=_=>I.$emit("page-change",_)),onSizeChange:k[4]||(k[4]=_=>I.$emit("size-change",_))},null,8,["current-page","page-size","total","option"])):e.createCommentVNode("",!0)])}}}),io=J(so,[["__scopeId","data-v-6df082c6"]]),co={class:"jt-pagination"},uo={key:0,class:"jt-pagination__count"},po=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=R.ElPagination;return e.openBlock(),e.createElementBlock("div",co,[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",uo,"共"+e.toDisplayString(C.total)+"条记录",1)):e.createCommentVNode("",!0)])}}}),fo=J(po,[["__scopeId","data-v-72da666d"]]),mo={class:"jt-page-header__title"},vo={key:0},go={key:0,class:"jt-page-header__operates"},ho=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",mo,[e.renderSlot(f.$slots,"title",{},()=>[f.title?(e.openBlock(),e.createElementBlock("span",vo,e.toDisplayString(f.title),1)):e.createCommentVNode("",!0)],!0)]),r.value?(e.openBlock(),e.createElementBlock("div",go,[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))}}),yo=J(ho,[["__scopeId","data-v-0a93ea2c"]]);function et(o=null){return{scheme:null,node:null,topNodes:[],treeNodes:[],activeNode:null,activeSection:null,sections:[],sectionMap:{},raw:o}}function Ve(o){const t=it(o),n=st(t),a=Eo(t).flatMap(l=>rt(l,n));return{...et(o),scheme:n,topNodes:a,treeNodes:a}}function Te(o,t,n){return o.map(a=>a.key===t||a.tagId===t||a.id===t?{...a,children:n,loaded:!0}:{...a,children:Te(a.children,t,n)})}function tt(o,t={},n=null){const a=it(o),l=st(a,t),r=So(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 ot(o){return o.multRow||o.htmlDisplay==="T"?"table":"form"}function nt(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(Pe):[Pe(o.model)],section:o}}function bo(o){const t=o;return!!(t&&typeof t=="object"&&typeof t.key=="string"&&typeof t.tagId=="string")}function at(o){const t=ct(o);return(Array.isArray(t)?t:he(A(t),["options","list","records","data"])).map(a=>{const l=A(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 So(o,t,n){const a=he(o,["sections","sets","list"]);return a.length>0?a.map(l=>Ge(l,t,n,a.length===1)):o.infSetMark||o.infSetFields||o.fields?[Ge(o,t,n,!0)]:[]}function Ge(o,t,n,a){const l=A(o),r=ko(l.infSetMark??l),g=wo(l.infSetFields??l.fields??[]),f=_o(l.infSetValues??l.rows??l.data,g),u=f[0]?Pe(f[0]):lt(g),b=A(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,P=r.setId||T(l.setId),L=T(l.infSetId)||P||T(v),p=P||T(y??L),h=r.code||T(l.code??S??p),w=p||h||L||C,N={key:w,id:w,setId:p,code:h,tagId:C,requestTagId:c||void 0,ownerNodeKey:d||void 0,infSetId:L,title:r.name||T(l.name??n?.tagName??w),renderType:ot(r),mark:r,fields:g,model:u,rows:f,operationInfo:we(t.operationInfo??l.operationInfo),raw:l};return N.renderType==="form"&&f.length===0&&(N.rows=[{...u,__rowKey:`${w}-0`}]),N}function ko(o){const t=A(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 wo(o){return(Array.isArray(o)?o:[]).map((n,a)=>Io(n,a))}function Io(o,t){const n=A(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:Po(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:pt(n.span??n.colSpan),width:De(n.width),minWidth:De(n.minWidth),placeholder:D(n.placeholder),options:at(n.options),interface:ut(n.interface),cascadeClearFields:je(n.cascadeClearFields),cascadeDependFields:je(n.cascadeDependFields),props:$e(n.props),formItemProps:$e(n.formItemProps),raw:n}}function _o(o,t){if(Array.isArray(o)&&o.some(l=>{const r=A(l);return t.some(g=>r[g.code]!==void 0||r[g.key]!==void 0)}))return o.map((l,r)=>({...A(l),__rowKey:T(A(l).__rowKey??A(l).key??r)}));const n=lt(t);return Object.keys(n).length?[{...n,__rowKey:"0"}]:[]}function lt(o){return o.reduce((t,n)=>(t[n.code||n.key]=n.value,t),{})}function rt(o,t,n=""){const a=A(o),l=he(a,["children","list","tags"]).flatMap(g=>rt(g,t,T(a.tagId??a.id??a.key))),r=Vo(a.infSetList);return l.length===0&&r.length>0?r.map((g,f)=>Co(a,g,t,n,f)):[Bo(a,t,n,l)]}function Bo(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:dt(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:we(o.operationInfo),loaded:a.length>0,raw:o}}function Co(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:dt(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:we(o.operationInfo),loaded:!0,raw:{...o,infSetId:f,setId:u,infSetList:[t.raw]}}}function st(o,t={}){const n=A(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 Eo(o){if(Array.isArray(o.globalInfoSchmConfig))return o.globalInfoSchmConfig;const t=A(o.globalInfoSchmConfig),n=he(t,["children","tree","list","tags"]);return n.length?n:he(o,["children","tree","list","tags","records"])}function Vo(o){return Array.isArray(o)?o.map(t=>{const n=A(t);return{infSetId:T(n.infSetId??n.setId??n.id),setId:D(n.setId),operationInfo:we(n.operationInfo),raw:n}}):[]}function it(o){return A(ct(o))}function ct(o){const t=A(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 Pe(o){const t={...o};return delete t.__rowKey,delete t.fields,t}function ut(o){const t=A(o);if(!(!t.method&&!t.url&&!t.params))return{...t,method:D(t.method),url:D(t.url),params:$e(t.params)}}function we(o){const t=A(o);if(Object.keys(t).length!==0)return Object.fromEntries(Object.entries(t).map(([n,a])=>[n,ut(a)??a]))}function je(o){if(!Array.isArray(o))return;const t=o.map(n=>T(n)).filter(Boolean);return t.length?t:void 0}function Po(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 $e(o){const t=A(o);return Object.keys(t).length?t:void 0}function De(o){return typeof o=="string"||typeof o=="number"?o:void 0}function A(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 dt(o){const t=pt(o);return t===void 0?null:t}function pt(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)},No=o=>String(o??"").trim(),ye=o=>Array.from(new Set(o.map(No).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)]),To=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),ft=(o,t,n)=>{const a=To(o),l=ye([n,...ge(t)]);return l.length===0?!1:l.some(r=>a.includes(r))},Fo=(o,t,n)=>ye([n,...ge(t)]).length===0?o:o.filter(l=>ft(l,t,n)),mt=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})),P=()=>({adaptScene:o.adaptScene,emplid:o.emplid}),L=i=>({...P(),infSchmId:i.infSchmId,tagId:i.tagId,tagLevel:i.tagLevel,parentTagId:i.parentTagId}),p=(i=f.value,s=u.value)=>({...P(),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)},w=(i,s={},m)=>{const E=ue(i.params),V=m?.cascadeDependFields??[];let z=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[z];return z+=1,[F,x?s[x]??"":G]}))},N=i=>{const m=ue(i.operationInfo).openTag;return Se(m)?m:void 0},I=(i,s,m)=>{const E=ue(i?.operationInfo).queryInfoSet;if(Se(E))return E;const V=s?.infSetList.find(F=>F.infSetId===m),z=ue(V?.operationInfo).queryInfoSet;return Se(z)?z:void 0},k=i=>{const s=ue(i.operationInfo).editInfoSet;return Se(s)?s:void 0},$=(i,s)=>{if(!s)return i[0]??null;for(const m of i){if(ge(m).includes(s))return m;const E=$(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},K=(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=$(r.value,i);if(s)return s;const m=M(i);return m?.ownerNodeKey?$(r.value,m.ownerNodeKey)??f.value:m||f.value&&ge(f.value).includes(i)?f.value:null}return i?.ownerNodeKey?$(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},Ie=(i,s=f.value,m)=>{const E={...b.value},V={...C.value},z=[...c.value],F={...d.value},G=Fo(i.sections,s,m),x=ye([m,...ge(s)]).length>0,q=G.find(ee=>ft(ee,s,m))??(x?null:i.activeSection??G[0]??u.value??null);return G.forEach(ee=>{const X=W(ee);E[X]=ee,z.includes(X)||z.push(X),F[X]=fe({...F[X],loaded:!0,loading:!1,error:null,editing:v.value.includes(X)})}),m&&q?V[m]=W(q):m&&(V[m]=""),m&&(F[m]=fe({...F[m],loaded:!0,loading:!1,error:null,editing:!!(q&&v.value.includes(W(q)))})),b.value=E,C.value=V,c.value=z,d.value=F,g.value={...i,scheme:i.scheme??g.value?.scheme??null,topNodes:r.value,treeNodes:r.value,activeNode:s,activeSection:q,sections:G,sectionMap:b.value},u.value=q,q},ae=(i,s)=>{const m=K(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 z=await Promise.all(V.map(async G=>{const x=I(s,m,G.infSetId),q={...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:q});return tt(ee,q,m)}throw ce("infoSet.operationInfo.queryInfoSet is required")})),F={...z[0],sections:z.flatMap(G=>G.sections),sectionMap:Object.fromEntries(z.flatMap(G=>G.sections).map(G=>[G.key,G]))};return Ie(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=L(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=Te(r.value,i.key,s)),s},_e=async i=>{const s=typeof i=="string"?$(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(P()),m=Ve(s),E=await Promise.all(m.treeNodes.map(async z=>{const F=await O(z);return{...z,children:F,loaded:F.length>0||z.loaded}}));r.value=E,u.value=null,b.value={},C.value={},c.value=[],d.value={},v.value=[];const V=$(E,o.initialActiveNodeKey)??$(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}},Ct=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},Le=(i=u.value)=>{const s=K(i);return!!(s&&v.value.includes(s))},Et=(i=u.value)=>{const s=K(i);!s||Le(s)||(v.value=[...v.value,s],H(s,{editing:!0}))},ze=(i=u.value)=>{const s=K(i);s&&(v.value=v.value.filter(m=>m!==s),H(s,{editing:!1}))},Vt=(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 q=te(x);return q===E||x.code===E?{...x,value:m}:F.includes(q)||F.includes(x.code)?{...x,value:""}:x})}})},Pt=async(i,s,m={})=>{const E=M(i);if(!E)return[];const V=Object.keys(m).length>0?m:E.model,z=typeof s=="string"?s:te(s),F=typeof s=="string"?E.fields.find(Q=>te(Q)===z||Q.code===z):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)===z||U.code===z?{...U,options:[]}:U)})),[];const q=w(G,V,F),ee=await h({...G,params:q},{type:"fieldOptions",node:re(E),section:E,field:F,params:q}),X=at(ee);return ae(E,Q=>({...Q,fields:Q.fields.map(U=>te(U)===z||U.code===z?{...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}))},Nt={loadTree:Be,selectNode:_e,loadDetail:j,reloadActiveSection:Ct,loadSection:ie,reloadSection:pe,getSection:B,getSectionStatus:de,startEdit:Et,cancelEdit:ze,updateField:Vt,loadFieldOptions:Pt,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((z,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),z=nt(m,V),F=await h({...E,params:{...w(E,m.model),...z}},{type:"editInfoSet",node:f.value,section:m,params:z});return ze(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:Le};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:Nt}},Mo=e.defineComponent({name:"GlobalInfoProvider",__name:"GlobalInfoProvider",props:{service:{},adaptScene:{},emplid:{},autoLoad:{type:Boolean,default:!0},initialActiveNodeKey:{}},setup(o){const n=mt(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 Ro(o){return xe(o.type||o.fieldType)||xe(o.renderType)||"text"}function vt(o){return Oe(o.type||o.fieldType)||Oe(o.renderType)||"text"}function Fe(o){return o==null||o===""||Array.isArray(o)&&o.length===0}function gt(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 ht(o,t,n="-"){const a=vt(o);return a==="empty"||Fe(t)?n:gt(t)?(console.error("[globalInfo] field value render failed",t),n):a==="select"?Lo(o,t,n):a==="switch"?yt(t)?"是":"否":a==="file"?zo(t,n):a==="multi-row"?Go(t):String(t)}function yt(o){if(typeof o=="boolean")return o;if(typeof o=="number")return o!==0;const t=String(o??"").trim().toLowerCase();return["true","1","y","yes","t","是"].includes(t)}function xe(o){const t=String(o??"").toLowerCase();return t==="upload"||t==="attachment"?"file":t==="text"||t==="textarea"||t==="select"||t==="date"||t==="number"||t==="switch"||t==="file"||t==="html"||t==="code"||t==="multi-row"||t==="empty"?t:""}function Oe(o){const t=String(o??"").toLowerCase();return t==="upload"||t==="attachment"?"file":t==="select"||t==="switch"||t==="file"||t==="html"||t==="code"||t==="multi-row"||t==="empty"?t:t==="textarea"||t==="date"||t==="number"||t==="text"?"text":""}function Lo(o,t,n){if(Array.isArray(t)){const a=t.map(l=>Ae(o,l)||String(l??"").trim()).filter(Boolean);return a.length>0?a.join("、"):n}return Ae(o,t)||String(t)}function Ae(o,t){return o.options?.find(a=>a.value===t||String(a.value)===String(t))?.label??""}function zo(o,t){if(Array.isArray(o)){const n=o.map(a=>Je(a)).filter(Boolean);return n.length>0?n.join("、"):t}return Je(o)||t}function Je(o){if(typeof File<"u"&&o instanceof File)return o.name;if(o&&typeof o=="object"){const t=o;return String(t.name??t.fileName??t.filename??t.url??"").trim()}return String(o??"").trim()}function Go(o){return Array.isArray(o)?o.map(t=>gt(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 jo=["disabled","accept","multiple"],Do={key:0,class:"global-info-field-control__file-text"},xo={key:1,class:"global-info-field-control__file-upload"},Oo=e.defineComponent({name:"GlobalInfoFieldControl",__name:"GlobalInfoFieldControl",props:{field:{},modelValue:{},disabled:{type:Boolean,default:!1}},emits:["update:modelValue","change","loadOptions"],setup(o,{emit:t}){const n=o,a=t,l=["textarea","html","code","multi-row"],r=e.computed(()=>Ro(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:yt(n.modelValue)}),C=e.computed(()=>r.value==="code"?5:3),c=e.computed(()=>r.value==="file"&&!Fe(n.modelValue)),d=e.computed(()=>ht(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){p&&a("loadOptions")}function L(p){const h=p.target,w=Array.from(h.files??[]),N=n.field.props?.multiple?w:w[0]??null;y(N),S(N)}return(p,h)=>{const w=R.ElOption,N=R.ElSelect,I=R.ElDatePicker,k=R.ElInputNumber,$=R.ElSwitch,_=R.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:P,"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(w,{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(I,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($,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:L},null,40,jo),c.value?(e.openBlock(),e.createElementBlock("span",Do,e.toDisplayString(d.value),1)):(e.openBlock(),e.createElementBlock("span",xo,"上 传"))],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"]))}}}),Me=J(Oo,[["__scopeId","data-v-ba86a0ae"]]),Ao=["innerHTML"],Jo={key:1,class:"global-info-field-value global-info-field-value--code"},qo=e.defineComponent({name:"GlobalInfoFieldValue",__name:"GlobalInfoFieldValue",props:{field:{},value:{},emptyText:{default:"-"}},setup(o){const t=o,n=e.computed(()=>vt(t.field)),a=e.computed(()=>n.value==="empty"||Fe(t.value)),l=e.computed(()=>ht(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,Ao)):n.value==="code"&&!a.value?(e.openBlock(),e.createElementBlock("pre",Jo,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))}}),Re=J(qo,[["__scopeId","data-v-aa0d493d"]]),Ko={class:"global-info-form-renderer__label"},Ho={key:0,class:"global-info-form-renderer__required"},Uo=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=R.ElFormItem,S=R.ElCol,P=R.ElRow,L=R.ElForm;return e.openBlock(),e.createBlock(L,{class:"global-info-form-renderer",model:l.value,"label-position":"top"},{default:e.withCtx(()=>[e.createVNode(P,{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",Ho,"*")):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(Me,{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(Re,{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"])}}}),bt=J(Uo,[["__scopeId","data-v-9dcd2ba9"]]),St=e.defineComponent({name:"GlobalInfoDeleteConfirm",__name:"GlobalInfoDeleteConfirm",props:{title:{default:"确认删除吗?"},confirmText:{default:"确认"},cancelText:{default:"取消"}},emits:["confirm","cancel"],setup(o){return(t,n)=>{const a=R.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"])}}}),Wo={class:"global-info-table-renderer"},Yo={class:"global-info-table-renderer__table-scroll"},Zo={class:"global-info-table-renderer__header"},Qo={key:0,class:"global-info-table-renderer__required"},Xo=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,w,N){const I=t.section.rows.slice(),k=w.cascadeClearFields??[],$={...p,__rowKey:P(p),[w.code]:N};k.forEach(_=>{$[_]=""}),I[h]={...$},t.actions.updateTableRows(t.section,I)}async function g(p,h){try{await t.actions.loadFieldOptions(t.section,p,h)}catch(w){console.error("[GlobalInfoTableRenderer] load field options failed",w)}}function f(p,h,w){const N=h[p.code];return{field:p,section:t.section,sectionView:t.section,node:t.node,row:h,rowIndex:w,editing:t.editing,modelValue:N,value:N,state:t.state,actions:t.actions,updateModelValue:I=>r(h,w,p,I)}}function u(p){const h=String(p.id||p.key||p.code||"").trim(),w=h?`field-${h}`:"";if(w&&n[w])return w;const N=w.toLowerCase();return N!==w&&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(w=>String(w??"").trim().toLowerCase()).some(w=>["序号","index","idx","seq","serial","order","rownum","row_no"].includes(w))}let y=0;const S=new WeakMap;function P(p){const h=p.__rowKey??p.key??p.id??p.setId??p.infSetId;if(h!=null&&h!=="")return String(h);const w=p,N=S.get(w);if(N)return N;y+=1;const I=`local-${y}`;return S.set(w,I),I}function L(p){return p.required||p.isRequired}return(p,h)=>{const w=R.ElTableColumn,N=e.resolveComponent("Delete"),I=R.ElIcon,k=R.ElButton,$=R.ElTable;return e.openBlock(),e.createElementBlock("div",Wo,[e.createElementVNode("div",Yo,[e.createVNode($,{class:"global-info-table-renderer__table",data:p.section.rows,"row-key":P},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.value,_=>(e.openBlock(),e.createBlock(w,{key:d(_),prop:_.code,label:_.label,width:C(_),"min-width":c(_)},{header:e.withCtx(()=>[e.createElementVNode("span",Zo,[L(_)?(e.openBlock(),e.createElementBlock("span",Qo,"*")):e.createCommentVNode("",!0),e.createElementVNode("span",null,e.toDisplayString(_.label),1)])]),default:e.withCtx(({row:M,$index:K})=>[u(_)?e.renderSlot(p.$slots,u(_),e.mergeProps({key:0,ref_for:!0},f(_,M,K)),void 0,!0):p.editing&&b(_)?(e.openBlock(),e.createBlock(Me,{key:1,field:_,"model-value":M[_.code],section:p.section,row:M,"row-index":K,onLoadOptions:()=>g(_,M),"onUpdate:modelValue":Z=>r(M,K,_,Z)},null,8,["field","model-value","section","row","row-index","onLoadOptions","onUpdate:modelValue"])):(e.openBlock(),e.createBlock(Re,{key:2,field:_,value:M[_.code],section:p.section,row:M,"row-index":K},null,8,["field","value","section","row","row-index"]))]),_:2},1032,["prop","label","width","min-width"]))),128)),p.editing?(e.openBlock(),e.createBlock(w,{key:0,label:"操作",width:"104",fixed:"right"},{default:e.withCtx(({$index:_})=>[p.showDelete?(e.openBlock(),e.createBlock(St,{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(I,{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"])])])}}}),kt=J(Xo,[["__scopeId","data-v-2fa29438"]]),wt=e.defineComponent({name:"GlobalInfoAutoRenderer",__name:"GlobalInfoAutoRenderer",props:{section:{},node:{},editing:{type:Boolean},state:{},actions:{}},setup(o){return(t,n)=>t.section.renderType==="table"?(e.openBlock(),e.createBlock(kt,{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(bt,{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(wt,{key:1,section:u.section,node:u.node,editing:a.value,state:u.state,actions:u.actions},null,8,["section","node","editing","state","actions"]))}}),en=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}}}}),tn={class:"global-info-section-block"},on={key:0,class:"global-info-section-block__header"},nn={class:"global-info-section-block__title-wrap"},an={class:"global-info-section-block__title"},ln={key:0,class:"global-info-section-block__actions"},rn={class:"global-info-section-block__body"},sn=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(()=>P(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:I,handleEdit:L,handleCancel:p,handleAddTableRow:h,handleSave:w}));function P(k){return k?k instanceof Error?k.message:String(k):""}async function L(){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 $=k.fields.reduce((_,M)=>(_[M.code]=M.value??"",_),{__rowKey:`new-${Date.now()}`});t.actions.saveRow(k,$,-1)}async function w(){const k=u.value;if(k)try{if(t.onSave){await t.onSave(k,t.node);return}await t.actions.saveSection(k)}catch($){l.value=$,console.error("[GlobalInfoSectionBlock] save section failed",$)}}function N(k){l.value=k}async function I(){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(()=>{I()}),e.watch(()=>t.node.key,()=>{I()}),(k,$)=>{const _=R.ElButton;return e.openBlock(),e.createElementBlock("section",tn,[g.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("header",on,[e.renderSlot(k.$slots,"header",e.normalizeProps(e.guardReactiveProps(S.value)),()=>[e.createElementVNode("div",nn,[$[0]||($[0]=e.createElementVNode("span",{class:"global-info-section-block__marker"},null,-1)),e.createElementVNode("h3",an,e.toDisplayString(b.value),1)]),e.renderSlot(k.$slots,"actions",e.normalizeProps(e.guardReactiveProps(S.value)),()=>[u.value?(e.openBlock(),e.createElementBlock("div",ln,[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(()=>$[2]||($[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(()=>$[3]||($[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:w},{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:L},{default:e.withCtx(()=>$[1]||($[1]=[e.createTextVNode(" 编辑 ")])),_:1},8,["disabled"]))])):e.createCommentVNode("",!0)],!0)],!0)])),e.createElementVNode("div",rn,[d.value?e.renderSlot(k.$slots,"loading",e.normalizeProps(e.mergeProps({key:0},S.value)),()=>[$[4]||($[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)),()=>[$[5]||($[5]=e.createElementVNode("div",{class:"global-info-section-block__status"},"暂无数据",-1))],!0):(e.openBlock(),e.createBlock(en,{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)),()=>[$[6]||($[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,K)=>({name:K,fn:e.withCtx(Z=>[e.renderSlot(k.$slots,K,e.normalizeProps(e.guardReactiveProps({...S.value,...Z})),void 0,!0)])}))]),1032,["section","node","editing","state","actions"])]),_:3},8,["boundary-key","label"]))])])}}}),_t=J(sn,[["__scopeId","data-v-0d8ae722"]]),cn={class:"global-info-group"},un={class:"global-info-group__header"},dn={class:"global-info-group__title"},pn={class:"global-info-group__body"},fn=["id"],mn=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",cn,[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",un,[d[0]||(d[0]=e.createElementVNode("span",{class:"global-info-group__marker"},null,-1)),e.createElementVNode("h2",dn,e.toDisplayString(a.value),1)])],!0),e.createElementVNode("div",pn,[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(_t,{key:2,node:v,state:c.state,actions:c.actions,"hide-header":l.value},e.createSlots({_:2},[e.renderList(e.unref(n),(S,P)=>({name:P,fn:e.withCtx(L=>[e.renderSlot(c.$slots,P,e.mergeProps({ref_for:!0},L),void 0,!0)])}))]),1032,["node","state","actions","hide-header"]))],8,fn))),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))])]))}}),Bt=J(mn,[["__scopeId","data-v-778e227f"]]),vn={class:"global-info-sections"},gn=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)),P=d.map(h=>({group:h,children:l(h)})),L=y.map(h=>({group:h,children:[h]}));if(P.length===0)return y.length>0?L:c(S);const p=c(S);return[...P,...L,...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"),P=v.get(S)??[];P.push(y),v.set(S,P)}),Array.from(v.values()).map(y=>({group:C(y),children:y}))}return(d,v)=>(e.openBlock(),e.createElementBlock("div",vn,[(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(Bt,{key:2,group:y.group,children:y.children,state:d.state,actions:d.actions,index:S},e.createSlots({_:2},[e.renderList(e.unref(n),(P,L)=>({name:L,fn:e.withCtx(p=>[e.renderSlot(d.$slots,L,e.mergeProps({ref_for:!0},p),void 0,!0)])}))]),1032,["group","children","state","actions","index"]))],64))),128))]))}}),hn=J(gn,[["__scopeId","data-v-f15cf0fb"]]);exports.JtAttachmentPreview=Ne.JtAttachmentPreview;exports.JtAttachmentPreviewByParams=Ne.JtAttachmentPreviewByParams;exports.setupJtAttachmentPreview=Ne.setupJtAttachmentPreview;exports.GlobalInfoAutoRenderer=wt;exports.GlobalInfoDeleteConfirm=St;exports.GlobalInfoFieldControl=Me;exports.GlobalInfoFieldValue=Re;exports.GlobalInfoFormRenderer=bt;exports.GlobalInfoGroup=Bt;exports.GlobalInfoProvider=Mo;exports.GlobalInfoSectionBlock=_t;exports.GlobalInfoSectionOutlet=It;exports.GlobalInfoSections=hn;exports.GlobalInfoTableRenderer=kt;exports.JtButton=ve;exports.JtCascader=Ue;exports.JtCrudTable=io;exports.JtDatePicker=We;exports.JtFilterBar=Qe;exports.JtFormItems=Ze;exports.JtInput=ke;exports.JtPageHeader=yo;exports.JtPagination=fo;exports.JtSelect=Ye;exports.JtTable=Xe;exports.buildGlobalInfoUpdatePayload=nt;exports.createEmptyGlobalInfoViewModel=et;exports.isGlobalInfoNode=bo;exports.mergeGlobalInfoChildren=Te;exports.normalizeGlobalInfoDetail=tt;exports.normalizeGlobalInfoTree=Ve;exports.resolveGlobalInfoRenderType=ot;exports.useGlobalInfoController=mt;
|