@jt-home/mfe-components 1.0.5 → 1.0.7
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 +2879 -3247
- package/dist/style.css +1 -1
- package/dist/types/components/index.d.ts +0 -2
- package/dist/types/main.d.ts +2 -2
- package/package.json +87 -81
- package/readme.md +8 -60
- package/dist/types/components/JtPagination/index.d.ts +0 -2
- package/dist/types/components/JtPagination/index.vue.d.ts +0 -22
- package/dist/types/components/JtPagination/types.d.ts +0 -16
|
@@ -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"),D=require("element-plus/es");require("element-plus/theme-chalk/base.css");require("element-plus/theme-chalk/el-form.css");require("element-plus/theme-chalk/el-row.css");require("element-plus/theme-chalk/el-col.css");require("element-plus/theme-chalk/el-form-item.css");require("element-plus/theme-chalk/el-input.css");require("element-plus/theme-chalk/el-switch.css");require("element-plus/theme-chalk/el-input-number.css");require("element-plus/theme-chalk/el-popper.css");require("element-plus/theme-chalk/el-scrollbar.css");require("element-plus/theme-chalk/el-button.css");require("element-plus/theme-chalk/el-date-picker-panel.css");require("element-plus/theme-chalk/el-date-picker.css");require("element-plus/theme-chalk/el-tag.css");require("element-plus/theme-chalk/el-option.css");require("element-plus/theme-chalk/el-option-group.css");require("element-plus/theme-chalk/el-select.css");require("element-plus/theme-chalk/el-tooltip.css");require("element-plus/theme-chalk/el-checkbox.css");require("element-plus/theme-chalk/el-table.css");require("element-plus/theme-chalk/el-table-column.css");require("element-plus/theme-chalk/el-popover.css");require("element-plus/theme-chalk/el-popconfirm.css");const Z=require("element-plus");require("element-plus/theme-chalk/el-radio.css");require("element-plus/theme-chalk/el-virtual-list.css");require("element-plus/theme-chalk/el-cascader-panel.css");require("element-plus/theme-chalk/el-cascader.css");require("element-plus/theme-chalk/el-loading.css");require("element-plus/theme-chalk/el-pagination.css");const Te=2,Ht=3;function Wt(t){return t.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}function Ze(t){if(!t.startsWith("on")||t.length<=Te)return!1;const n=t.charCodeAt(Te);return n<97||n>122}function Qt(t){if(t.startsWith("on-"))return t.slice(Ht);const[n,o]=t.slice(Te).split(":"),r=Wt(n);return o?`${r}:${o}`:r}function Xe(t,n=new Set){return Object.fromEntries(Object.entries(t).filter(([o,r])=>!n.has(o)&&Ze(o)&&typeof r=="function").map(([o,r])=>[Qt(o),r]))}function et(t,n=new Set){return Object.fromEntries(Object.entries(t).filter(([o])=>!n.has(o)&&!Ze(o)))}const Zt=e.defineComponent({name:"JtButton",__name:"index",props:{size:{},disabled:{type:Boolean},type:{},icon:{},nativeType:{},loading:{type:Boolean},loadingIcon:{},plain:{type:Boolean},text:{type:Boolean},link:{type:Boolean},bg:{type:Boolean},autofocus:{type:Boolean},round:{type:Boolean},circle:{type:Boolean},dashed:{type:Boolean},color:{},dark:{type:Boolean},autoInsertSpace:{type:Boolean},tag:{}},setup(t){const n=t,o=e.useAttrs(),r=e.computed(()=>{const{icon:l,...f}=n;return{...et(o),...f}}),a=e.computed(()=>Xe(o));return(l,f)=>{const u=D.ElIcon,d=D.ElButton;return e.openBlock(),e.createBlock(d,e.mergeProps({class:"jt-button"},r.value,e.toHandlers(a.value)),{default:e.withCtx(()=>[l.$slots.icon?(e.openBlock(),e.createBlock(u,{key:0,class:"jt-button__icon"},{default:e.withCtx(()=>[e.renderSlot(l.$slots,"icon",{},void 0,!0)]),_:3})):n.icon?(e.openBlock(),e.createBlock(u,{key:1,class:"jt-button__icon"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.icon)))]),_:1})):e.createCommentVNode("",!0),e.renderSlot(l.$slots,"default",{},void 0,!0)]),_:3},16)}}}),J=(t,n)=>{const o=t.__vccOpts||t;for(const[r,a]of n)o[r]=a;return o},he=J(Zt,[["__scopeId","data-v-fbcdce34"]]),Xt=e.defineComponent({name:"JtCascader",__name:"index",props:{size:{},placeholder:{default:"请选择"},disabled:{type:Boolean},clearable:{type:Boolean,default:!0},clearIcon:{},filterable:{type:Boolean},filterMethod:{},separator:{},showAllLevels:{type:Boolean},collapseTags:{type:Boolean},maxCollapseTags:{},collapseTagsTooltip:{type:Boolean},maxCollapseTagsTooltipHeight:{},debounce:{},beforeFilter:{},placement:{},fallbackPlacements:{},popperClass:{},popperStyle:{type:[Boolean,null,String,Object,Array]},teleported:{type:Boolean},effect:{},tagType:{},tagEffect:{},validateEvent:{type:Boolean},persistent:{type:Boolean},showCheckedStrategy:{},checkOnClickNode:{type:Boolean},showPrefix:{type:Boolean},fitInputWidth:{type:[Boolean,Number]},modelValue:{},props:{},virtualScroll:{type:Boolean},itemSize:{},height:{},emptyValues:{},valueOnClear:{type:[String,Number,Boolean,Function,null]},options:{default:()=>[]}},emits:Z.cascaderEmits,setup(t,{emit:n}){const o=t,r=n,a=e.computed(()=>Object.fromEntries(Object.keys(Z.cascaderEmits).map(l=>[l,(...f)=>r(l,...f)])));return(l,f)=>{const u=D.ElCascader;return e.openBlock(),e.createBlock(u,e.mergeProps({class:"jt-cascader"},o,e.toHandlers(a.value)),null,16)}}}),tt=J(Xt,[["__scopeId","data-v-9164edeb"]]),en=e.defineComponent({name:"JtDatePicker",__name:"index",props:{type:{default:"date"},showNow:{type:Boolean},showConfirm:{type:Boolean},showFooter:{type:Boolean},showWeekNumber:{type:Boolean},ariaLabel:{},emptyValues:{},valueOnClear:{},disabledDate:{},cellClassName:{},shortcuts:{},arrowControl:{type:Boolean},tabindex:{},validateEvent:{type:Boolean},unlinkPanels:{type:Boolean},singlePanel:{type:Boolean},placement:{},fallbackPlacements:{},disabledHours:{},disabledMinutes:{},disabledSeconds:{},automaticDropdown:{type:Boolean},id:{},name:{},popperClass:{},popperStyle:{},format:{},valueFormat:{default:"YYYY-MM-DD"},dateFormat:{},timeFormat:{},clearable:{type:Boolean,default:!0},clearIcon:{},editable:{type:Boolean},saveOnBlur:{type:Boolean},prefixIcon:{},size:{},readonly:{type:Boolean},disabled:{type:Boolean},placeholder:{default:"请选择日期"},popperOptions:{},modelValue:{},rangeSeparator:{},startPlaceholder:{},endPlaceholder:{},defaultValue:{},defaultTime:{},isRange:{type:Boolean}},setup(t){const n=t,o=e.computed(()=>({...n,startPlaceholder:n.startPlaceholder??(r(n.type)?"开始日期":void 0),endPlaceholder:n.endPlaceholder??(r(n.type)?"结束日期":void 0)}));function r(a){return a?.includes("range")??!1}return(a,l)=>{const f=D.ElDatePicker;return e.openBlock(),e.createBlock(f,e.mergeProps({class:"jt-date-picker"},o.value,{"onUpdate:modelValue":l[0]||(l[0]=u=>a.$emit("update:modelValue",u))}),null,16)}}}),nt=J(en,[["__scopeId","data-v-2aaf2264"]]),tn=e.defineComponent({name:"JtInput",__name:"index",props:{id:{},size:{},disabled:{type:Boolean},modelValue:{},modelModifiers:{},maxlength:{},minlength:{},type:{},resize:{},autosize:{type:[Object,Boolean]},autocomplete:{},formatter:{},parser:{},placeholder:{default:"请输入"},form:{},readonly:{type:Boolean},clearable:{type:Boolean,default:!0},clearIcon:{},showPassword:{type:Boolean},showWordLimit:{type:Boolean},wordLimitPosition:{},suffixIcon:{},prefixIcon:{},containerRole:{},tabindex:{},validateEvent:{type:Boolean},inputStyle:{type:[Boolean,null,String,Object,Array]},autofocus:{type:Boolean},rows:{},ariaLabel:{},inputmode:{},name:{},countGraphemes:{}},emits:{...Z.inputEmits,enter:()=>!0},setup(t,{emit:n}){const o=t,r=n,a=e.computed(()=>Object.fromEntries(Object.keys(Z.inputEmits).map(l=>[l,(...f)=>r(l,...f)])));return(l,f)=>{const u=D.ElInput;return e.openBlock(),e.createBlock(u,e.mergeProps({class:"jt-input"},o,e.toHandlers(a.value),{onKeyup:f[0]||(f[0]=e.withKeys(d=>r("enter"),["enter"]))}),null,16)}}}),_e=J(tn,[["__scopeId","data-v-c4e9cb3f"]]),nn=e.defineComponent({name:"JtSelect",__name:"index",props:{options:{},ariaLabel:{},emptyValues:{},valueOnClear:{},name:{},id:{},modelValue:{},autocomplete:{},automaticDropdown:{type:Boolean},size:{},effect:{},disabled:{type:Boolean},clearable:{type:Boolean,default:!0},filterable:{type:Boolean,default:!0},allowCreate:{type:Boolean},loading:{type:Boolean},popperClass:{},popperStyle:{},popperOptions:{},remote:{type:Boolean},debounce:{},loadingText:{},noMatchText:{},noDataText:{},remoteMethod:{},filterMethod:{},multiple:{type:Boolean},multipleLimit:{},placeholder:{default:"请选择"},defaultFirstOption:{type:Boolean},reserveKeyword:{type:Boolean},valueKey:{},collapseTags:{type:Boolean},collapseTagsTooltip:{type:Boolean},tagTooltip:{},maxCollapseTags:{},teleported:{type:Boolean},persistent:{type:Boolean},clearIcon:{},fitInputWidth:{type:Boolean},suffixIcon:{},tagType:{},tagEffect:{},validateEvent:{type:Boolean},remoteShowSuffix:{type:Boolean},showArrow:{type:Boolean},offset:{},placement:{},fallbackPlacements:{},tabindex:{},appendTo:{},props:{}},emits:Z.selectEmits,setup(t,{emit:n}){const o=t,r=e.computed(()=>{const{options:f,...u}=o;return u}),a=n,l=e.computed(()=>Object.fromEntries(Object.keys(Z.selectEmits).map(f=>[f,(...u)=>a(f,...u)])));return(f,u)=>{const d=D.ElOption,w=D.ElSelect;return e.openBlock(),e.createBlock(w,e.mergeProps({class:"jt-select"},r.value,e.toHandlers(l.value)),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.options??[],B=>(e.openBlock(),e.createBlock(d,e.mergeProps({key:B.value,ref_for:!0},B),null,16))),128))]),_:1},16)}}}),ot=J(nn,[["__scopeId","data-v-abce8e44"]]),on={class:"jt-form-items"},Ne=4,an=e.defineComponent({name:"JTFormItems",__name:"JtFormItems",props:{configs:{},formData:{},span:{}},setup(t){const n=t,o={input:_e,select:ot,cascader:tt,"date-picker":nt},r={"remote-select":"select",date:"date-picker",daterange:"date-picker","date-range":"date-picker",dateRange:"date-picker"},a=new Set(["prop","label","itemType","span","options","rules","formItemProps","showSlot","show"]),l=Object.keys(o),f=new Map,u=e.computed(()=>n.configs.filter(y=>y.show!==!1)),d=y=>{const{itemType:S}=y;if(!S)return _e;if(typeof S!="string")return S;const A=r[S]??S;return l.includes(A)?o[A]:(console.error(`[JtFormItems] 不支持的 itemType: "${S}",支持的类型: ${l.join(", ")}`),_e)},w=y=>{const S=et(y,a);return y.itemType==="select"||y.itemType==="remote-select"||y.itemType==="cascader"?{...S,options:y.options}:m(y.itemType)?{...S,type:"daterange"}:S},B=y=>Xe(y,a),i=y=>({rules:y.rules,...y.formItemProps}),p=(y,S)=>{n.formData[y]=S};function v(y){return S=>{if(S){f.set(y,S);return}f.delete(y)}}function b(y,S){e.nextTick(()=>{f.get(y)?.validate(S).catch(()=>{})})}const g=y=>Math.min(Math.max(Math.trunc(y||1),1),4),I=e.computed(()=>{const S=u.value.reduce((A,_)=>A+g(n.span||_.span),0)%Ne;return S===0?{gridColumn:`1 / span ${Ne}`}:{gridColumn:`${S+1} / span ${Ne-S}`}}),T=y=>({gridColumn:`span ${g(n.span||y.span)}`});function m(y){return y==="daterange"||y==="date-range"||y==="dateRange"}return(y,S)=>{const A=D.ElFormItem;return e.openBlock(),e.createElementBlock("div",on,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.value,_=>(e.openBlock(),e.createBlock(A,e.mergeProps({key:_.prop,ref_for:!0,ref:v(_.prop),class:"jt-form-items__item",style:T(_),label:_.label,prop:_.prop},i(_)),{default:e.withCtx(()=>[_.showSlot?e.renderSlot(y.$slots,_.prop,{key:0},void 0,!0):(e.openBlock(),e.createBlock(e.resolveDynamicComponent(d(_)),e.mergeProps({key:1,"model-value":y.formData[_.prop],ref_for:!0},w(_),e.toHandlers(B(_)),{"onUpdate:modelValue":k=>p(_.prop,k),onChange:()=>b(_.prop,"change"),onBlur:()=>b(_.prop,"blur")}),null,16,["model-value","onUpdate:modelValue","onChange","onBlur"]))]),_:2},1040,["style","label","prop"]))),128)),y.$slots.actions?(e.openBlock(),e.createBlock(A,{key:0,class:"jt-form-items__actions",style:e.normalizeStyle(I.value)},{default:e.withCtx(()=>[e.renderSlot(y.$slots,"actions",{},void 0,!0)]),_:3},8,["style"])):e.createCommentVNode("",!0)])}}}),at=J(an,[["__scopeId","data-v-002c0b17"]]);function rn(){const t=e.ref(!1);function n(){t.value=!0}function o(){t.value=!1}return{searchDisabled:t,searchLoading:n,searchDone:o}}const ln="data:image/svg+xml,%3csvg%20width='14'%20height='14'%20viewBox='0%200%2014%2014'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20x='0.5'%20y='-0.5'%20width='11'%20height='11'%20rx='5.5'%20transform='matrix(1%200%200%20-1%201%2012)'%20stroke='%23999999'/%3e%3cpath%20d='M10%208.16064L7%205.16064L4%208.16064'%20stroke='%23999999'/%3e%3c/svg%3e",sn="data:image/svg+xml,%3csvg%20width='14'%20height='14'%20viewBox='0%200%2014%2014'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M2.375%207.00017C2.375%207.27631%202.59886%207.50017%202.875%207.50017C3.15114%207.50017%203.375%207.27631%203.375%207.00017H2.875H2.375ZM2.875%207.00017H3.375C3.375%204.46334%205.41801%202.41406%207.93713%202.41406V1.91406V1.41406C4.86127%201.41406%202.375%203.91551%202.375%207.00017H2.875ZM7.93713%201.91406V2.41406C10.4563%202.41406%2012.4993%204.46334%2012.4993%207.00017H12.9993H13.4993C13.4993%203.91551%2011.013%201.41406%207.93713%201.41406V1.91406ZM12.9993%207.00017H12.4993C12.4993%209.537%2010.4563%2011.5863%207.93713%2011.5863V12.0863V12.5863C11.013%2012.5863%2013.4993%2010.0848%2013.4993%207.00017H12.9993ZM7.93713%2012.0863V11.5863C6.68975%2011.5863%205.55663%2011.0806%204.72892%2010.2635L4.37765%2010.6193L4.02638%2010.9752C5.0317%2011.9676%206.41366%2012.5863%207.93713%2012.5863V12.0863Z'%20fill='%23999999'/%3e%3cpath%20d='M4.75131%206.0102L2.88631%207.88403L1%205.99414'%20stroke='%23999999'%20stroke-miterlimit='10'/%3e%3c/svg%3e",cn="data:image/svg+xml,%3csvg%20width='14'%20height='14'%20viewBox='0%200%2014%2014'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M6.60938%2012.1099C9.64694%2012.1099%2012.1094%209.64743%2012.1094%206.60986C12.1094%203.5723%209.64694%201.10986%206.60938%201.10986C3.57181%201.10986%201.10938%203.5723%201.10938%206.60986C1.10938%209.64743%203.57181%2012.1099%206.60938%2012.1099Z'%20stroke='white'%20stroke-miterlimit='10'/%3e%3cpath%20d='M12.4993%2012.5002L10.2832%2010.3301'%20stroke='white'%20stroke-miterlimit='10'/%3e%3c/svg%3e",un={class:"jt-filter-bar__btns"},dn=["src"],pn=["src"],mn=["src"],fn=e.defineComponent({name:"JtFilterBar",__name:"JtFilterBar",props:{columns:{},option:{default:()=>({})},modelValue:{}},emits:["update:modelValue","search","reset"],setup(t,{expose:n,emit:o}){const r=t,a=o,l=e.ref(),f=e.useSlots(),u=e.ref({}),{searchDisabled:d,searchLoading:w,searchDone:B}=rn(),i=e.computed(()=>r.option),p=e.ref(i.value.searchCollapsed??!1),v=e.computed(()=>r.columns.filter(P=>P.search===!0)),b=e.computed(()=>Math.max(1,i.value.searchSpan??4)),g=e.computed(()=>Math.max(1,i.value.searchCollapsedRows??1)),I=e.computed(()=>Math.max(1,b.value-1)),T=e.computed(()=>Math.max(1,I.value*g.value)),m=e.computed(()=>re(i.value.searchLabelWidth??84)),y=e.computed(()=>i.value.searchLabelPosition??"top"),S=e.computed(()=>ce(i.value.searchGutter,14)),A=e.computed(()=>ce(i.value.searchRowGap,14)),_=e.computed(()=>me(i.value.searchPadding??"18px 4px 0")),k=e.computed(()=>i.value.searchCollapse===!1?!1:Ce(v.value)>T.value),j=e.computed(()=>{if(!k.value||!p.value)return v.value;let P=0;return v.value.filter(F=>{const O=ae(F);return P+O>T.value?!1:(P+=O,!0)})}),C=e.computed(()=>j.value.filter(P=>!!f[`${P.prop}-search`])),E=e.computed(()=>j.value.map(P=>U(P)));e.watch(()=>i.value.searchCollapsed,P=>{typeof P=="boolean"&&(p.value=P)}),e.watch(()=>r.modelValue,P=>{u.value={...P}},{deep:!0,immediate:!0});function z(P,F){if(d.value)return;const O={...u.value,[P]:F};u.value=O,a("update:modelValue",O)}function U(P){const F=P.searchProps??{};return{...F,prop:P.prop,label:P.searchLabel??P.label,span:ae(P),itemType:P.searchType??"input",showSlot:!!f[`${P.prop}-search`],options:F.options??P.searchOptions??P.dicData,placeholder:F.placeholder??P.searchPlaceholder,valueFormat:F.valueFormat??P.searchValueFormat,disabled:d.value||F.disabled===!0,formItemProps:{required:P.searchRequired,class:["jt-filter-bar__item",{"is-required":P.searchRequired}]},onEnter:(...O)=>{ie(F.onEnter,...O),se()},"onUpdate:modelValue":O=>{ie(F["onUpdate:modelValue"],O),z(P.prop,O)}}}function ie(P,...F){if(Array.isArray(P)){P.forEach(O=>ie(O,...F));return}typeof P=="function"&&P(...F)}async function se(){if(!d.value){if(l.value)try{await l.value.validate()}catch{return}a("search")}}function pe(){d.value||a("reset")}function Y(){p.value=!p.value}function ae(P){return Math.min(b.value,Math.max(1,P.searchSpan??1))}function Ce(P){return P.reduce((F,O)=>F+ae(O),0)}function re(P){return typeof P=="number"?`${P}px`:P}function ce(P,F){return typeof P=="number"?P:F}function me(P){return typeof P=="number"?`${P}px`:P}return n({formRef:l,searchDisabled:d,searchLoading:w,searchDone:B}),(P,F)=>{const O=D.ElForm;return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["jt-filter-bar",`is-label-${y.value}`]),style:e.normalizeStyle({"--jt-filter-columns":b.value,"--jt-filter-label-width":m.value,"--jt-filter-column-gap":`${S.value}px`,"--jt-filter-row-gap":`${A.value}px`,"--jt-filter-padding":_.value})},[e.createVNode(O,{ref_key:"formRef",ref:l,class:"jt-filter-bar__form",model:u.value,"label-position":y.value,"label-width":m.value,disabled:e.unref(d),onSubmit:F[0]||(F[0]=e.withModifiers(()=>{},["prevent"]))},{default:e.withCtx(()=>[e.createVNode(e.unref(at),{configs:E.value,"form-data":u.value},e.createSlots({actions:e.withCtx(()=>[e.createElementVNode("div",un,[e.renderSlot(P.$slots,"search-menu",{search:se,reset:pe,disabled:e.unref(d),collapsed:p.value,toggleCollapse:Y},()=>[k.value?(e.openBlock(),e.createBlock(e.unref(he),{key:0,class:"jt-filter-bar__btn-collapse",onClick:Y},{icon:e.withCtx(()=>[e.createElementVNode("img",{class:e.normalizeClass(["jt-filter-bar__icon-arrow",{"is-collapsed":p.value}]),src:e.unref(ln),alt:""},null,10,dn)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(p.value?"展 开":"收 起"),1)]),_:1})):e.createCommentVNode("",!0),e.createVNode(e.unref(he),{class:"jt-filter-bar__btn-reset",disabled:e.unref(d),onClick:pe},{icon:e.withCtx(()=>[e.createElementVNode("img",{src:e.unref(sn),alt:""},null,8,pn)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(i.value.resetBtnText??"重 置"),1)]),_:1},8,["disabled"]),e.createVNode(e.unref(he),{class:"jt-filter-bar__btn-query",type:"primary",disabled:e.unref(d),onClick:se},{icon:e.withCtx(()=>[e.createElementVNode("img",{src:e.unref(cn),alt:""},null,8,mn)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(i.value.searchBtnText??"查 询"),1)]),_:1},8,["disabled"])],!0)])]),_:2},[e.renderList(C.value,le=>({name:le.prop,fn:e.withCtx(()=>[e.renderSlot(P.$slots,`${le.prop}-search`,{value:u.value[le.prop],column:le,setValue:Ee=>z(le.prop,Ee),search:se,reset:pe,disabled:e.unref(d)},void 0,!0)])}))]),1032,["configs","form-data"])]),_:3},8,["model","label-position","label-width","disabled"])],6)}}}),rt=J(fn,[["__scopeId","data-v-94909b80"]]),vn={key:1},gn={key:2},hn={key:3},yn=e.defineComponent({name:"JtTable",__name:"JtTable",props:{data:{},columns:{},option:{},tableEvents:{}},setup(t,{expose:n}){const o=t,r=e.useSlots(),a=e.ref(),l=e.computed(()=>o.option??{}),f=e.computed(()=>o.columns.filter(i=>!i.hide));function u(i){return!!r[`${i}-header`]}function d(i){return!!r[`${i}-data`]}function w(i){return{width:i.width,minWidth:i.minWidth,align:i.align,fixed:i.fixed,sortable:i.sortable,showOverflowTooltip:i.showOverflowTooltip,...i.columnOptions}}function B(i,p){return i.find(v=>v.value===p)?.label??String(p??"")}return n({tableRef:a}),(i,p)=>{const v=D.ElTableColumn,b=D.ElTable;return e.openBlock(),e.createBlock(b,e.mergeProps({ref_key:"tableRef",ref:a,data:i.data,"row-key":l.value.rowKey??"id",height:l.value.height,"max-height":l.value.maxHeight,"empty-text":l.value.emptyText,class:"jt-table"},l.value.tableProps,e.toHandlers(i.tableEvents)),{default:e.withCtx(()=>[l.value.selection?(e.openBlock(),e.createBlock(v,{key:0,type:"selection",width:"55",align:"center"})):e.createCommentVNode("",!0),l.value.index?(e.openBlock(),e.createBlock(v,{key:1,type:"index",label:l.value.indexLabel??"序号",width:"60",align:"center"},null,8,["label"])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.value,g=>(e.openBlock(),e.createBlock(v,e.mergeProps({key:g.prop,prop:g.prop,label:g.label,formatter:!d(g.prop)&&!g.dicData?g.formatter:void 0,ref_for:!0},w(g)),e.createSlots({default:e.withCtx(I=>[d(g.prop)?e.renderSlot(i.$slots,`${g.prop}-data`,e.mergeProps({key:0,ref_for:!0},I),void 0,!0):g.dicData?(e.openBlock(),e.createElementBlock("span",vn,e.toDisplayString(B(g.dicData,I.row[g.prop])),1)):g.formatter?(e.openBlock(),e.createElementBlock("span",gn,e.toDisplayString(g.formatter(I.row,I.column,I.row[g.prop],I.$index)),1)):(e.openBlock(),e.createElementBlock("span",hn,e.toDisplayString(I.row[g.prop]),1))]),_:2},[u(g.prop)?{name:"header",fn:e.withCtx(I=>[e.renderSlot(i.$slots,`${g.prop}-header`,e.mergeProps({ref_for:!0},I),void 0,!0)]),key:"0"}:void 0]),1040,["prop","label","formatter"]))),128)),l.value.menu?(e.openBlock(),e.createBlock(v,{key:2,label:l.value.menuLabel??"操作",width:l.value.menuWidth,"min-width":l.value.menuMinWidth,align:l.value.menuAlign??"center",fixed:l.value.menuFixed},{default:e.withCtx(g=>[e.renderSlot(i.$slots,"menu",e.normalizeProps(e.guardReactiveProps(g)),void 0,!0)]),_:3},8,["label","width","min-width","align","fixed"])):e.createCommentVNode("",!0)]),_:3},16,["data","row-key","height","max-height","empty-text"])}}}),lt=J(yn,[["__scopeId","data-v-4804a967"]]),bn={class:"jt-pagination"},wn={class:"jt-pagination__count"},kn=e.defineComponent({name:"JtPagination",__name:"JtPagination",props:{currentPage:{},pageSize:{},total:{},option:{}},emits:["update:currentPage","update:pageSize","current-change","page-change","size-change"],setup(t,{emit:n}){const o=t,r=e.computed(()=>o.option??{}),a=n;function l(f){a("current-change",f),a("page-change",f)}return(f,u)=>{const d=D.ElPagination;return e.openBlock(),e.createElementBlock("div",bn,[e.createVNode(d,{"current-page":f.currentPage,"page-size":f.pageSize,"page-sizes":r.value.pageSizes??[10,20,50,100],total:f.total,layout:r.value.paginationLayout??"sizes, prev, pager, next, jumper","onUpdate:currentPage":u[0]||(u[0]=w=>f.$emit("update:currentPage",w)),"onUpdate:pageSize":u[1]||(u[1]=w=>f.$emit("update:pageSize",w)),onCurrentChange:l,onSizeChange:u[2]||(u[2]=w=>f.$emit("size-change",w))},null,8,["current-page","page-size","page-sizes","total","layout"]),e.createElementVNode("span",wn,"共"+e.toDisplayString(f.total)+"条记录",1)])}}}),Sn=J(kn,[["__scopeId","data-v-19ef6db6"]]),_n={class:"jt-crud-table"},Bn={key:1,class:"jt-crud-table__toolbar"},In=e.defineComponent({name:"JtCrudTable",__name:"JtCrudTable",props:e.mergeModels({columns:{},option:{default:()=>({})},data:{},total:{default:0},tableEvents:{}},{currentPage:{default:1},currentPageModifiers:{},pageSize:{default:20},pageSizeModifiers:{},searchModel:{default:()=>({})},searchModelModifiers:{}}),emits:e.mergeModels(["search","reset","page-change","size-change"],["update:currentPage","update:pageSize","update:searchModel"]),setup(t,{expose:n,emit:o}){const r=t,a=o,l=e.useModel(t,"currentPage"),f=e.useModel(t,"pageSize"),u=e.useModel(t,"searchModel"),d=e.useSlots(),w=e.ref(),B=e.ref(),i=e.computed(()=>r.option),p=e.computed(()=>i.value.searchShow!==!1),v=e.computed(()=>i.value.paginationShow!==!1),b=e.computed(()=>r.columns.filter(_=>_.search&&!!d[`${_.prop}-search`])),g=e.computed(()=>r.columns.filter(_=>!_.hide&&!!d[`${_.prop}-header`])),I=e.computed(()=>r.columns.filter(_=>!_.hide&&!!d[`${_.prop}-data`]));function T(){const _={};return r.columns.forEach(k=>{k.search&&(_[k.prop]=void 0)}),_}function m(){a("search",{...u.value})}function y(){u.value=T(),a("reset")}function S(){B.value?.searchLoading()}function A(){B.value?.searchDone()}return n({tableRef:e.computed(()=>w.value?.tableRef),filterBarRef:B,searchLoading:S,searchDone:A}),(_,k)=>{const j=D.ElLoadingDirective;return e.openBlock(),e.createElementBlock("div",_n,[e.renderSlot(_.$slots,"header",{},void 0,!0),p.value?(e.openBlock(),e.createBlock(rt,{key:0,ref_key:"filterBarRef",ref:B,modelValue:u.value,"onUpdate:modelValue":k[0]||(k[0]=C=>u.value=C),columns:_.columns,option:i.value,onSearch:m,onReset:y},e.createSlots({_:2},[e.renderList(b.value,C=>({name:`${C.prop}-search`,fn:e.withCtx(E=>[e.renderSlot(_.$slots,`${C.prop}-search`,e.normalizeProps(e.guardReactiveProps(E)),void 0,!0)])}))]),1032,["modelValue","columns","option"])):e.createCommentVNode("",!0),e.unref(d).toolbar?(e.openBlock(),e.createElementBlock("div",Bn,[e.renderSlot(_.$slots,"toolbar",{},void 0,!0)])):e.createCommentVNode("",!0),e.withDirectives((e.openBlock(),e.createBlock(lt,{ref_key:"jtTableRef",ref:w,data:_.data,columns:_.columns,option:i.value,"table-events":_.tableEvents},e.createSlots({_:2},[e.renderList(g.value,C=>({name:`${C.prop}-header`,fn:e.withCtx(E=>[e.renderSlot(_.$slots,`${C.prop}-header`,e.normalizeProps(e.guardReactiveProps(E)),void 0,!0)])})),e.renderList(I.value,C=>({name:`${C.prop}-data`,fn:e.withCtx(E=>[e.renderSlot(_.$slots,`${C.prop}-data`,e.normalizeProps(e.guardReactiveProps(E)),void 0,!0)])})),i.value.menu?{name:"menu",fn:e.withCtx(C=>[e.renderSlot(_.$slots,"menu",e.normalizeProps(e.guardReactiveProps(C)),void 0,!0)]),key:"0"}:void 0]),1032,["data","columns","option","table-events"])),[[j,i.value.loading]]),v.value?(e.openBlock(),e.createBlock(Sn,{key:2,"current-page":l.value,"onUpdate:currentPage":k[1]||(k[1]=C=>l.value=C),"page-size":f.value,"onUpdate:pageSize":k[2]||(k[2]=C=>f.value=C),total:_.total,option:i.value,onPageChange:k[3]||(k[3]=C=>_.$emit("page-change",C)),onSizeChange:k[4]||(k[4]=C=>_.$emit("size-change",C))},null,8,["current-page","page-size","total","option"])):e.createCommentVNode("",!0)])}}}),Cn=J(In,[["__scopeId","data-v-6df082c6"]]),En={class:"jt-pagination"},Pn={key:0,class:"jt-pagination__count"},Nn=e.defineComponent({name:"JtPagination",inheritAttrs:!1,__name:"index",props:e.mergeModels({defaultPageSize:{},total:{default:0},pageCount:{},pagerCount:{},defaultCurrentPage:{},layout:{default:"prev, pager, next, jumper"},pageSizes:{default:()=>[10,20,50,100]},popperClass:{},popperStyle:{},prevText:{},prevIcon:{},nextText:{},nextIcon:{},teleported:{type:Boolean},small:{type:Boolean},size:{},background:{type:Boolean},disabled:{type:Boolean},hideOnSinglePage:{type:Boolean,default:!1},appendSizeTo:{}},{currentPage:{default:1},currentPageModifiers:{},pageSize:{default:20},pageSizeModifiers:{}}),emits:e.mergeModels(Z.paginationEmits,["update:currentPage","update:pageSize"]),setup(t,{emit:n}){const o=e.useModel(t,"currentPage"),r=e.useModel(t,"pageSize"),a=t,l=e.useAttrs(),f=n,u=e.computed(()=>({...l,...a})),d=e.computed(()=>Object.fromEntries(Object.keys(Z.paginationEmits).filter(B=>!B.startsWith("update:")).map(B=>[B,(...i)=>f(B,...i)]))),w=e.computed(()=>!(a.hideOnSinglePage&&a.total<=r.value));return(B,i)=>{const p=D.ElPagination;return e.openBlock(),e.createElementBlock("div",En,[e.createVNode(p,e.mergeProps({"current-page":o.value,"onUpdate:currentPage":i[0]||(i[0]=v=>o.value=v),"page-size":r.value,"onUpdate:pageSize":i[1]||(i[1]=v=>r.value=v)},u.value,e.toHandlers(d.value)),null,16,["current-page","page-size"]),w.value?(e.openBlock(),e.createElementBlock("span",Pn,"共"+e.toDisplayString(B.total)+"条记录",1)):e.createCommentVNode("",!0)])}}}),An=J(Nn,[["__scopeId","data-v-72da666d"]]);/*! Element Plus Icons Vue v2.3.2 */var Vn=e.defineComponent({name:"Download",__name:"download",setup(t){return(n,o)=>(e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[e.createElementVNode("path",{fill:"currentColor",d:"M160 832h704a32 32 0 1 1 0 64H160a32 32 0 1 1 0-64m384-253.696 236.288-236.352 45.248 45.248L508.8 704 192 387.2l45.248-45.248L480 584.704V128h64z"})]))}}),Tn=Vn,jn=e.defineComponent({name:"RefreshLeft",__name:"refresh-left",setup(t){return(n,o)=>(e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[e.createElementVNode("path",{fill:"currentColor",d:"M289.088 296.704h92.992a32 32 0 0 1 0 64H232.96a32 32 0 0 1-32-32V179.712a32 32 0 0 1 64 0v50.56a384 384 0 0 1 643.84 282.88 384 384 0 0 1-383.936 384 384 384 0 0 1-384-384h64a320 320 0 1 0 640 0 320 320 0 0 0-555.712-216.448z"})]))}}),Mn=jn,Ln=e.defineComponent({name:"ZoomIn",__name:"zoom-in",setup(t){return(n,o)=>(e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[e.createElementVNode("path",{fill:"currentColor",d:"m795.904 750.72 124.992 124.928a32 32 0 0 1-45.248 45.248L750.656 795.904a416 416 0 1 1 45.248-45.248zM480 832a352 352 0 1 0 0-704 352 352 0 0 0 0 704m-32-384v-96a32 32 0 0 1 64 0v96h96a32 32 0 0 1 0 64h-96v96a32 32 0 0 1-64 0v-96h-96a32 32 0 0 1 0-64z"})]))}}),Dn=Ln,xn=e.defineComponent({name:"ZoomOut",__name:"zoom-out",setup(t){return(n,o)=>(e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[e.createElementVNode("path",{fill:"currentColor",d:"m795.904 750.72 124.992 124.928a32 32 0 0 1-45.248 45.248L750.656 795.904a416 416 0 1 1 45.248-45.248zM480 832a352 352 0 1 0 0-704 352 352 0 0 0 0 704M352 448h256a32 32 0 0 1 0 64H352a32 32 0 0 1 0-64"})]))}}),$n=xn;const Fn="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAANgAAADYCAMAAAC+/t3fAAAAaVBMVEUAAABWapNVapKeqsLJztx3hKnGzN2yu8////9XapWcqMGps8lXapVYa5RWaZWps8lfcJjS1+KjrsVXapWapr////9sfaKrtMrV2uWBj7B4iKqWob1wgaXr7fOBj6/Ax9dhc5yhq8OKl7Wba+6tAAAAE3RSTlMAgGDuDyVLoYDe2XuXRb68cy6e4BCQEAAAAyZJREFUeNrt29tyokAUheGOQjIoeMhuCQ4e0Pd/yCE1STU4mGq7bXqzZ/23ufoqYblTqkIIIYQQQggNlM42Lzctf5nMD22bKQYVOQ30sTPt6dEO74mKXLoiCgDTi1RFbUMUBhZXluQUDKbnWxWtjMLB2pYqUjmFg8WUzSg0TL+rCKVZeJheRJj9DYWHRRnHbBSYnr+qcSsoKCyeLKcfK/emc2UqH4LFGMcVWVftTC4w/TbmhGQjwvR6RBmNAbMYx4nD7k/I1GF3ZZOH3RtHAbDhcZQAG5SJgOn1Vt0mAzYwIUJgvjJ/2OVo2pcmcoQZWehxpBGue5sJEQTryyTBeuMoCtadEFmwjkwYzIyjNJief02IONj3OAqE/ZVJhJnZj3RS1c4nld04ijiC/5EJhbUyobBWJhT2OY5CYa1MKKyVCYXpdSIUphdbobB2HIXCWplQmJGFhZUn07kyNaFgbUsx1/1tb1Jh+i1hDmu0Y+uEN4xqV9ki5Q27atfmKWtYqd1lW84wqj1kr5xhB+3RkjGMrl4yxrCm9pG984V5ytZJINjpY7hmLNki5XjdP0fGFkZ0qL1kfGEt7erzgsYY1lYefrtWsIZ5NAMMMBNg9gEGmD3sejbVnRpyjAvs5rr3DzDAAOsEmH2AAQZYJ8Ds4wJrSlN1NE3+CDYJu+5NgNkHGGCAdQLMPsAAA0zuEQyYbYABBlgnwOwDDDDAOvVhl5NJ1Fu1O6lHMGA/xQl2rPodpcBq6gfYYIABBpgJsAdiBDvX/cTAxF4egNkEWGDY5Q5s8v9onoZdR3KNC4yOg7AzOccFNvi36POJIy4wqgZgF/KIC6yporuCwNrq/nNW7ckzLjCi/bO//MEF9mCAAQYYYDwCDDAmAQYYkwADjEmAAcYkwABjEmCAMQkwwJgEGGBMAgwwJgEGGJMAA4xJgAHGJMD+B1hGE6hwgK1oAqUOsJz4lymHCuJfrpTM9SicYC/EvUw5lRD3Psde4lP29YSJG8bse+ulvZZ5uFTCV5YZl6hpXKXKs5TlL22jnlCaM7uHV7NEPam02LwwaVYkCiGEEEIIITTUH1Fqd5V0WMtQAAAAAElFTkSuQmCC",Rn="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAANgAAADYCAMAAAC+/t3fAAAAdVBMVEUAAAD/XgD/XQD/z7f/omz/r4H/h0v/0Lf/omz/XwP/XgD/XgD/XQD/tIv/pnH/zK7/XgD/XAD/rH7/XQD/XgD/nmb/////fjL/ciD/dib/6+D/9e//ml//aBD/18D/r4D/w6D/hkD/uJD/pHD/kE//4c//zbBB3kudAAAAFHRSTlMAgGAP7q8hPNo33pe+mH9Z73BZULJO58YAAAW3SURBVHja7NZJDsJADERREzoTYZa94P4XJQhaZOgoWViYLvnf4C1cMnme53me53mel6gqbjvVCvqD2u7K2j3KPRnXHpn1e0hTkWk3jinDbGX7jmPqMAk1mXXgmD6s70xGdRzTh1nKCh6nD5OSDKoOPEkfJs2m2c9iEEewreOYx3IMYBbj2HIqfZiEO62UyyQOYBbjeOSV9GByWpmQbE5sCpPyhzJOpA9bH8fMYcvjmDtMwoWSZQ9bGkcAWHocEWDJcYSASTOfEAxYYhxBYHMZCmw2+zCw6TgCwcbjiAQbyaBgw9nHgg0mBAz2laHBJHzGEQ4WJwQQ9pYhwqSsiSBh0tSgMAk1KEzCBRTWy0Bhr28fFNbPPijsyY297DYIA1EYlnpJ20WyqA7G8QVi4uT9H7Go0oDDkrHEkf+Vt58ijyfMskZhs6xR2PygNQqbH7RGYbOsUdj8oDUK67pLq7Du3CpsHvvksNjtlnHDEPbKvk/csNzt7eNEDbPdftkXMwxBIfvlgcUcQu5R1HeKLiSwNJj/3N1iKatkDLB4M0suQYpBIzsTwB6mLFSSfb4fDZvMS95Wkn2fjoVZs2nAwTLU6Wa2Jaxdg0p2JMybbSPKrlnzoB0HS8LxTk4PbLLXfm8/h8HuwknrFImo1tthsHHVZDlaKGKByezwxXzMUMQGc8UcCVDEApsKmGsJNhawoSVYkDvWGiwVM35oaXhEgfUrLEERC2yZGHfAL0ZNLDCZ90/EpjaPZafyMckJqlhgdlkWZfIPUMUCgxOPfCKYoIsFNplNd+higaUtLEEXCwx+A4M2Ftj46npAGwvMvsImaGOBYTBlGepYYNmUWahjgcHXvmIssLH2FWOBRV/5FWOBFT+ZR5VYYNFIT1SJBYabwBzqxAKbaq/ALDBnJB9RIxJY3+ZKBUxN/m35o9buclyFYSgAb8ICK78OhO5/ibfS3JkAdksn5OHMeS5Sv0Jty+QZN3q8B4EV9UrzZlBg0lBjFosoMHeCuUj3AgILjTSmMqLAHk00pk2DwHjS8Uz9QYGF5hnzN0OB7cYpdfKoKyCw1sRCGVJAUGCyW+MsI/o0CKyVDiGiNKA0gsDkMG+w38sCdQQF5o7Vok63ZRiwcEbkKxlHehcUmFPLDrFkXEOW5L4/vaWlMtnBgBVdA+N2kOW6yuYnIymQDgosGSt7dtOHcZXOAYHta30L+09luteBwMR+xzJ/KNO9DgTG+wVwh0xt61BgojZTTdb1MILA+NViikO68tiXgsDE6sMcxNsEv4Ra+Jm5rOKsQwYgMJ7OzTmWxb2r7jK3izdc2OmGxTX56871WMsciTg8YGGHG/ZUKcS2BI7y9/5j7SsnrXJLjW0otqIbBQisvG5NEiLRxYSl6w4KzE1m3FLonPCG5ugnCLBoN6qUmXQ0Ta/5MWAx+wuVjv1L+K/xHgNmspxSqbAuMcL0DAaMxRopCn2UWPJj+3/NJutXiYGAWaxUI/0qkbndKQhYXJTK50j9wYDF7Me+LQKBVWc2of5gwNis1kzdAYGt3nIJdQcDFpM9DTF1BgQ2u1fja2dAYMHbLqHOgMDCsW352w8iCKweWDHffhBBYOyba2Nabz+IKDB3eFk+36+IILDQXPlQRnpdKLC0d+W9sjMoMN8kJY04woEC+6kbJY05dIMC86OPSaHA0ugREQWWR7tQYP/atZcUBmEoCsNHA4FEBxHvyKJQ7P7X2EGdlHbiNYNjON8OfvIkZP2Zi9tqV7CE2V77TyxL2PdkXJ52GUuYvZbKL1IsYcfr9GPbq2WxhJ2gMIUpTGEcFKYwEgpTGAmFKYyEwhRGQmEKI+EJy3YDCeeNdgOesMH4ZTgk4zfAoxi9GR6dsctwCfRD1sNnNm7HCmtuY8wRH42dZSXCL/CW5QQcmtoax4iLIuOglQkVpIHrPlzGPqCSNE8diT4FiIiIiIjIP2/v9e/hKQXqEwAAAABJRU5ErkJggg==",zn=new Set(["jpg","jpeg","png","gif","webp","bmp","svg","avif","ico"]),Gn=new Set(["mp4","webm","ogg","ogv","mov","m4v"]),On=new Set(["mp3","wav","ogg","oga","m4a","aac","flac"]),qn=new Set(["html","htm","txt","json","xml","csv","md","log"]),Jn=new Set(["doc","docx","xls","xlsx","ppt","pptx","zip","rar","7z"]);let te=null,Ae=null,Be=null;async function Kn(){return Ae||(Ae=Promise.all([Promise.resolve().then(()=>require("./pdf-Da0bm_Ya.cjs")),Promise.resolve().then(()=>require("./pdf.worker.min-BAJUPwg6.cjs"))]).then(([t,n])=>(t.GlobalWorkerOptions.workerSrc=n.default,t))),Ae}function Un(t){return typeof t=="string"?{url:t}:t}function it(t){const[n]=t.split(/[?#]/);return n??""}function xe(t,n){if(n?.trim())return n.trim();const o=it(t).split("/").filter(Boolean).pop();if(!o)return"附件预览";try{return decodeURIComponent(o)}catch{return o}}function st(t){return it(t).match(/\.([a-z0-9]+)$/i)?.[1]?.toLowerCase()??""}function $e(t){const n=t.toLowerCase().split(";")[0]?.trim()??"";return n.startsWith("image/")?"image":n==="application/pdf"?"pdf":n.startsWith("video/")?"video":n.startsWith("audio/")?"audio":n.startsWith("text/")?"iframe":"unknown"}function ct(t){if(!t.url.trim())return"empty";if(t.mode&&t.mode!=="auto")return t.mode;if(t.mimeType){const o=$e(t.mimeType);if(o!=="unknown")return o}const n=st(t.url);return zn.has(n)?"image":n==="pdf"?"pdf":Gn.has(n)?"video":On.has(n)?"audio":qn.has(n)?"iframe":Jn.has(n)?"unsupported":"unknown"}async function Yn(t){try{const o=(await fetch(t,{method:"HEAD"})).headers.get("content-type")??"";return $e(o)}catch{return"unknown"}}async function ut(t){const n=await fetch(t);if(!n.ok)throw new Error(`fetch failed: ${n.status}`);return n.blob()}function Hn(t,n){const o=st(n);return o==="doc"||o==="docx"?"W":o==="xls"||o==="xlsx"?"X":o==="ppt"||o==="pptx"?"P":o==="zip"||o==="rar"||o==="7z"?"ZIP":t==="pdf"?"PDF":"FILE"}function dt(t,n,o){return e.h("button",{class:o,type:"button",onClick:()=>{mt(t,n)}},[e.h(Z.ElIcon,{class:"jt-attachment-preview-service__download-icon"},()=>e.h(Tn)),e.h("span",{class:"jt-attachment-preview-service__download-text"},"下载")])}function Ve(t){return t==="image"||t==="pdf"}function pt(t){return e.h("div",{class:"jt-attachment-preview-service__preview-fallback"},[e.h("img",{class:"jt-attachment-preview-service__preview-fallback-icon",src:t.icon,alt:""}),e.h("div",{class:"jt-attachment-preview-service__unsupported-text"},"暂不支持预览此类型的文件"),e.h("div",{class:"jt-attachment-preview-service__file-name",title:t.name},t.name)])}function je(t,n){const o=document.createElement("a");o.href=t,o.download=n,o.style.display="none",document.body.appendChild(o),o.click(),o.remove()}async function mt(t,n){try{const o=await ut(t),r=URL.createObjectURL(o);je(r,n),URL.revokeObjectURL(r)}catch{je(t,n)}}const Wn=e.defineComponent({name:"JtAttachmentPreviewPdfCanvas",props:{url:{type:String,required:!0},name:{type:String,required:!0},downloadName:{type:String,required:!0},downloadable:{type:Boolean,required:!0}},emits:{previewLoad:t=>t instanceof Event,previewError:t=>t instanceof Event},setup(t,{emit:n}){const o=e.ref("loading"),r=e.ref([]),a=e.ref([]),l=new Map,f=e.ref("");let u=null,d=[],w=0;async function B(g,I){if(!I)return null;const T=typeof I=="string"?await g.getDestination(I):I;return!Array.isArray(T)||!T[0]?null:await g.getPageIndex(T[0])+1}async function i(g,I,T=0){if(!I?.length)return[];const m=[];for(const y of I){const S=await B(g,y.dest);m.push({title:y.title||"未命名标题",pageNumber:S,level:T});const A=await i(g,y.items,T+1);m.push(...A)}return m}function p(){w+=1;for(const g of d)g.cancel();d=[],u?.destroy(),u=null,l.clear()}async function v(){p();const g=w;o.value="loading",f.value="",r.value=[],a.value=[];try{const I=await Kn();if(g!==w)return;u=I.getDocument({url:t.url});const T=await u.promise;if(g!==w)return;r.value=Array.from({length:T.numPages},(S,A)=>A+1),a.value=await i(T,await T.getOutline()),await e.nextTick();const m=l.values().next().value,y=Math.max((m?.parentElement?.clientWidth??800)-32,320);for(const S of r.value){if(g!==w)return;const A=await T.getPage(S),_=l.get(S),k=_?.getContext("2d");if(!_||!k)continue;const j=A.getViewport({scale:1}),C=Math.min(y/j.width,2),E=A.getViewport({scale:C}),z=window.devicePixelRatio||1;_.width=Math.floor(E.width*z),_.height=Math.floor(E.height*z),_.style.width=`${Math.floor(E.width)}px`,_.style.height=`${Math.floor(E.height)}px`,k.setTransform(z,0,0,z,0,0);const U=A.render({canvas:_,canvasContext:k,viewport:E});d.push(U),await U.promise}if(g!==w)return;o.value="ready",n("previewLoad",new Event("load"))}catch(I){if(g!==w)return;o.value="error",f.value=I instanceof Error?I.message:"PDF 加载失败",n("previewError",new Event("error"))}}e.watch(()=>t.url,v,{immediate:!0}),e.onBeforeUnmount(p);function b(g){if(!g)return;l.get(g)?.scrollIntoView({behavior:"smooth",block:"start"})}return()=>e.h("div",{class:"jt-attachment-preview-service__pdf-viewer"},[o.value==="loading"?e.h("div",{class:"jt-attachment-preview-service__pdf-state"},"PDF 加载中..."):null,o.value==="error"?e.h("div",{class:"jt-attachment-preview-service__pdf-state"},[pt({icon:Rn,name:t.name})]):null,null,null,e.h("div",{class:["jt-attachment-preview-service__pdf-layout",o.value!=="ready"?"jt-attachment-preview-service__pdf-layout--hidden":""]},[a.value.length?e.h("aside",{class:"jt-attachment-preview-service__pdf-outline"},[e.h("div",{class:"jt-attachment-preview-service__pdf-outline-title"},"目录"),e.h("div",{class:"jt-attachment-preview-service__pdf-outline-list"},a.value.map((g,I)=>e.h("button",{key:`${g.title}-${I}`,class:"jt-attachment-preview-service__pdf-outline-item",style:{paddingLeft:`${12+g.level*14}px`},type:"button",disabled:!g.pageNumber,title:g.title,onClick:()=>b(g.pageNumber)},g.title)))]):null,e.h("div",{class:"jt-attachment-preview-service__pdf-pages"},r.value.map(g=>e.h("canvas",{key:g,ref:I=>{I instanceof HTMLCanvasElement&&l.set(g,I)},class:"jt-attachment-preview-service__pdf-page"})))])])}}),Qn=e.defineComponent({name:"JtAttachmentPreviewImageTransform",props:{url:{type:String,required:!0},name:{type:String,required:!0},downloadName:{type:String,required:!0},downloadable:{type:Boolean,required:!0},fit:{type:String,default:"contain"}},emits:{previewLoad:t=>t instanceof Event,previewError:t=>t instanceof Event},setup(t,{emit:n}){const o=e.ref(null),r=e.ref("ready"),a=e.ref(1),l=e.ref(!1);let f=0,u=0,d=0,w=0,B=0,i=0,p=0;const v=e.computed(()=>({"--jt-attachment-preview-service-image-fit":t.fit,transform:`translate(${f}px, ${u}px) scale(${a.value})`}));function b(){o.value&&(o.value.style.transform=`translate(${f}px, ${u}px) scale(${a.value})`)}function g(){p||(p=window.requestAnimationFrame(()=>{p=0,b()}))}function I(E){a.value=Math.min(Math.max(Number(E.toFixed(2)),.2),5),a.value<=1&&(f=0,u=0),b()}function T(){I(a.value+.2)}function m(){const E=Math.max(Number((a.value-.2).toFixed(2)),.2);a.value=E,E<=1&&(f=0,u=0),b()}function y(){f=0,u=0,I(1)}function S(E){r.value="ready",n("previewLoad",E)}function A(E){r.value="error",n("previewError",E)}function _(E){a.value<=1||(E.preventDefault(),l.value=!0,d=E.clientX,w=E.clientY,B=f,i=u,window.addEventListener("pointermove",k),window.addEventListener("pointerup",j,{once:!0}))}function k(E){l.value&&(f=B+E.clientX-d,u=i+E.clientY-w,g())}function j(){l.value=!1,window.removeEventListener("pointermove",k)}function C(E){E.preventDefault(),I(a.value+(E.deltaY<0?.1:-.1))}return e.onMounted(b),e.watch(()=>t.url,()=>{r.value="ready",y()}),e.onBeforeUnmount(()=>{window.removeEventListener("pointermove",k),p&&window.cancelAnimationFrame(p)}),()=>e.h("div",{class:"jt-attachment-preview-service__image-viewer"},r.value==="error"?pt({icon:Fn,name:t.name}):[e.h("img",{ref:o,class:["jt-attachment-preview-service__media","jt-attachment-preview-service__image",a.value>1?"jt-attachment-preview-service__image--draggable":"",l.value?"jt-attachment-preview-service__image--dragging":""],src:t.url,alt:t.name,style:v.value,onLoad:S,onError:A,onPointerdown:_,onWheel:C,onDragstart:E=>E.preventDefault(),draggable:!1}),e.h("div",{class:"jt-attachment-preview-service__image-toolbar"},[e.h("button",{class:"jt-attachment-preview-service__image-tool",type:"button",title:"缩小",onClick:m},[e.h(Z.ElIcon,()=>e.h($n))]),e.h("span",{class:"jt-attachment-preview-service__image-scale"},`${Math.round(a.value*100)}%`),e.h("button",{class:"jt-attachment-preview-service__image-tool",type:"button",title:"放大",onClick:T},[e.h(Z.ElIcon,()=>e.h(Dn))]),e.h("button",{class:"jt-attachment-preview-service__image-tool",type:"button",title:"复位",onClick:y},[e.h(Z.ElIcon,()=>e.h(Mn))])])])}}),Zn=e.defineComponent({name:"JtAttachmentPreviewService",props:{options:{type:Object,required:!0},onDestroy:{type:Function,required:!0}},setup(t){const n=e.computed(()=>xe(t.options.url,t.options.name)),o=e.computed(()=>t.options.downloadName||n.value),r=e.computed(()=>ct(t.options)),a=e.computed(()=>Hn(r.value,t.options.url)),l=e.computed(()=>({zIndex:t.options.zIndex??3e3,"--jt-attachment-preview-service-image-fit":t.options.fit??"contain"}));function f(){t.options.onClose?.(),t.onDestroy()}function u(B){B.key==="Escape"&&t.options.closeOnPressEscape!==!1&&f()}function d(B){t.options.onLoad?.(B)}function w(B){t.options.onError?.(B)}return e.onMounted(()=>{document.addEventListener("keydown",u),document.body.classList.add("jt-attachment-preview-service-lock")}),e.onBeforeUnmount(()=>{document.removeEventListener("keydown",u),document.body.classList.remove("jt-attachment-preview-service-lock")}),()=>{const B=t.options.downloadable===!1?[]:[dt(t.options.url,o.value,"jt-attachment-preview-service__top-download")];return e.h("div",{class:"jt-attachment-preview-service",style:l.value},[e.h("div",{class:"jt-attachment-preview-service__modal"},[e.h("div",{class:"jt-attachment-preview-service__header"},[e.h("div",{class:"jt-attachment-preview-service__filename",title:n.value},n.value),e.h("div",{class:"jt-attachment-preview-service__header-actions"},[...B,e.h("button",{class:"jt-attachment-preview-service__close",type:"button","aria-label":"关闭",onClick:f},"×")])]),e.h("div",{class:"jt-attachment-preview-service__body"},[Xn({type:r.value,url:t.options.url,name:n.value,downloadName:o.value,sandbox:t.options.sandbox,iconText:a.value,downloadable:t.options.downloadable!==!1,onLoad:d,onError:w})])])])}}}),ge=e.defineComponent({name:"JtAttachmentPreviewDetectingService",props:{options:{type:Object,required:!0},onDestroy:{type:Function,required:!0},title:{type:String,default:"正在识别文件类型"},desc:{type:String,default:"请稍候,识别完成后将自动预览或下载"},spinning:{type:Boolean,default:!0}},setup(t){const n=e.computed(()=>xe(t.options.url,t.options.name)),o=e.computed(()=>({zIndex:t.options.zIndex??3e3}));function r(){t.options.onClose?.(),t.onDestroy()}function a(l){l.key==="Escape"&&t.options.closeOnPressEscape!==!1&&r()}return e.onMounted(()=>{document.addEventListener("keydown",a),document.body.classList.add("jt-attachment-preview-service-lock")}),e.onBeforeUnmount(()=>{document.removeEventListener("keydown",a),document.body.classList.remove("jt-attachment-preview-service-lock")}),()=>e.h("div",{class:"jt-attachment-preview-service",style:o.value},[e.h("div",{class:"jt-attachment-preview-service__modal"},[e.h("div",{class:"jt-attachment-preview-service__header"},[e.h("div",{class:"jt-attachment-preview-service__filename",title:n.value},n.value),e.h("div",{class:"jt-attachment-preview-service__header-actions"},[e.h("button",{class:"jt-attachment-preview-service__close",type:"button","aria-label":"关闭",onClick:r},"×")])]),e.h("div",{class:"jt-attachment-preview-service__body"},[e.h("div",{class:"jt-attachment-preview-service__detecting"},[t.spinning?e.h("span",{class:"jt-attachment-preview-service__detecting-spinner"}):null,e.h("span",{class:"jt-attachment-preview-service__detecting-title"},t.title),e.h("span",{class:"jt-attachment-preview-service__detecting-desc"},t.desc)])])])])}});function Xn(t){return t.type==="empty"?e.h("div",{class:"jt-attachment-preview-service__empty"},"暂无附件"):t.type==="image"?e.h(Qn,{url:t.url,name:t.name,downloadName:t.downloadName,downloadable:t.downloadable,onPreviewLoad:t.onLoad,onPreviewError:t.onError}):t.type==="video"?e.h("video",{class:"jt-attachment-preview-service__media",src:t.url,controls:!0,onLoadeddata:t.onLoad,onError:t.onError}):t.type==="audio"?e.h("audio",{class:"jt-attachment-preview-service__audio",src:t.url,controls:!0,onLoadeddata:t.onLoad,onError:t.onError}):t.type==="pdf"?e.h(Wn,{url:t.url,name:t.name,downloadName:t.downloadName,downloadable:t.downloadable,onPreviewLoad:t.onLoad,onPreviewError:t.onError}):t.type==="iframe"?e.h("iframe",{class:"jt-attachment-preview-service__iframe",src:t.url,title:t.name,sandbox:t.sandbox||void 0,onLoad:t.onLoad}):e.h("div",{class:"jt-attachment-preview-service__unsupported"},[e.h("div",{class:"jt-attachment-preview-service__file-card"},[e.h("div",{class:"jt-attachment-preview-service__file-icon"},t.iconText),e.h("div",{class:"jt-attachment-preview-service__unsupported-text"},"暂不支持预览此类型的文件")]),e.h("div",{class:"jt-attachment-preview-service__file-name",title:t.name},t.name),t.downloadable?dt(t.url,t.downloadName,"jt-attachment-preview-service__primary-download"):null])}function ft(t){if(typeof document>"u")return{close:()=>{}};te?.close();const n=Un(t),o=n.downloadName||xe(n.url,n.name);let r=!1,a=null,l=null;const f=()=>{r=!0,a&&(e.render(null,a),a.remove(),a=null),l&&(URL.revokeObjectURL(l),l=null),te?.close===f&&(te=null)};function u(){r||(a||(a=document.createElement("div"),document.body.appendChild(a)),e.render(e.h(Zn,{options:n,onDestroy:f}),a))}function d(){r||(a||(a=document.createElement("div"),document.body.appendChild(a)),e.render(e.h(ge,{options:n,onDestroy:f}),a))}function w(){a&&(e.render(null,a),a.remove(),a=null)}function B(){r||mt(n.url,o)}function i(v){if(r)return;const b=URL.createObjectURL(v);je(b,o),URL.revokeObjectURL(b)}const p=ct(n);return Ve(p)?u():p==="unknown"?(d(),Yn(n.url).then(async v=>{if(!r){if(Ve(v)){n.mode=v,u();return}try{const b=await ut(n.url),g=$e(b.type);if(Ve(g)){l=URL.createObjectURL(b),n.url=l,n.mode=g,u();return}w(),i(b)}catch{w(),B()}}})):B(),te={close:f},te}function vt(t){Be=t}function gt(t){if(typeof document>"u")return{close:()=>{}};te?.close();let n=!1,o=document.createElement("div");document.body.appendChild(o);const r=()=>{n=!0,o&&(e.render(null,o),o.remove(),o=null),te?.close===r&&(te=null)},a={close:r};return te=a,Be?(e.render(e.h(ge,{options:{url:"",name:"附件预览"},title:"正在获取文件信息",desc:"请稍候,获取完成后将自动预览或下载",spinning:!0,onDestroy:r}),o),Be.request(t).then(l=>{if(n)return;const f=Be?.mapResponse(l,t);if(!f?.url){e.render(e.h(ge,{options:{url:"",name:"附件预览"},title:"文件信息缺少 URL",desc:"请检查 mapResponse 是否返回了 url 字段",spinning:!1,onDestroy:r}),o);return}ft(f)}).catch(l=>{if(n)return;const f=l instanceof Error?l.message:"接口请求失败";e.render(e.h(ge,{options:{url:"",name:"附件预览"},title:"文件信息获取失败",desc:f,spinning:!1,onDestroy:r}),o)}),a):(e.render(e.h(ge,{options:{url:"",name:"附件预览"},title:"附件预览未初始化",desc:"请先调用 setupJtAttachmentPreview 注册请求配置",spinning:!1,onDestroy:r}),o),a)}const eo=Object.assign(ft,{openByParams:gt,setup:vt}),to={class:"jt-page-header__title"},no={key:0},oo={key:0,class:"jt-page-header__operates"},ao=e.defineComponent({name:"JtPageHeader",__name:"index",props:{type:{default:"section"},title:{},operates:{default:()=>[]}},emits:["operate-click"],setup(t,{emit:n}){const o=t,r=n,a=e.useSlots(),l=e.computed(()=>o.operates.length>0||!!a.operates);function f(u,d){u.onClick?.(u,d),r("operate-click",u,d)}return(u,d)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps({class:["jt-page-header",`jt-page-header--${u.type}`]},u.$attrs),[e.createElementVNode("div",to,[e.renderSlot(u.$slots,"title",{},()=>[u.title?(e.openBlock(),e.createElementBlock("span",no,e.toDisplayString(u.title),1)):e.createCommentVNode("",!0)],!0)]),l.value?(e.openBlock(),e.createElementBlock("div",oo,[e.renderSlot(u.$slots,"operates",{operates:u.operates},()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.operates,w=>(e.openBlock(),e.createBlock(e.unref(he),e.mergeProps({key:w.key??w.label,ref_for:!0},w.buttonProps,{type:w.type,disabled:w.disabled,loading:w.loading,plain:w.plain,text:w.text,link:w.link,icon:w.icon,onClick:B=>f(w,B)}),{default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(w.label),1)]),_:2},1040,["type","disabled","loading","plain","text","link","icon","onClick"]))),128))],!0)])):e.createCommentVNode("",!0)],16))}}),ro=J(ao,[["__scopeId","data-v-0a93ea2c"]]);function ht(t=null){return{scheme:null,node:null,topNodes:[],treeNodes:[],activeNode:null,activeSection:null,sections:[],sectionMap:{},raw:t}}function Me(t){const n=It(t),o=Bt(n),r=vo(n).flatMap(a=>_t(a,o));return{...ht(t),scheme:o,topNodes:r,treeNodes:r}}function Fe(t,n,o){return t.map(r=>r.key===n||r.tagId===n||r.id===n?{...r,children:o,loaded:!0}:{...r,children:Fe(r.children,n,o)})}function yt(t,n={},o=null){const r=It(t),a=Bt(r,n),l=io(r,n,o),f=Object.fromEntries(l.map(u=>[u.key,u]));return{scheme:a,node:o,topNodes:[],treeNodes:[],activeNode:o,activeSection:l[0]??null,sections:l,sectionMap:f,raw:t}}function bt(t){return t.multRow||t.htmlDisplay==="T"?"table":"form"}function wt(t,n={}){return{...n,infSchmId:n.infSchmId??R(t.raw.infSchmId),emplid:n.emplid??R(t.raw.emplid),tagId:n.tagId??t.requestTagId??t.tagId,infSetId:n.infSetId??t.infSetId,setId:n.setId??t.setId,infSetFields:t.renderType==="table"?t.rows.map(Le):[Le(t.model)],section:t}}function lo(t){const n=t;return!!(n&&typeof n=="object"&&typeof n.key=="string"&&typeof n.tagId=="string")}function kt(t){const n=Ct(t);return(Array.isArray(n)?n:be(q(n),["options","list","records","data"])).map(r=>{const a=q(r);return{id:a.id,code:a.code,label:M(a.label??a.name??a.descr??a.text??a.value??a.code),name:R(a.name),value:a.value??a.code??a.id??a.label??a.name,raw:r}})}function io(t,n,o){const r=be(t,["sections","sets","list"]);return r.length>0?r.map(a=>Je(a,n,o,r.length===1)):t.infSetMark||t.infSetFields||t.fields?[Je(t,n,o,!0)]:[]}function Je(t,n,o,r){const a=q(t),l=so(a.infSetMark??a),f=co(a.infSetFields??a.fields??[]),u=po(a.infSetValues??a.rows??a.data,f),d=u[0]?Le(u[0]):St(f),w=q(a.tag),B=M(a.tagId??a.infTagId??w.tagId),i=M(n.tagId??o?.tagId),p=M(o?.key),v=r?n.infSetId??o?.infSetId:void 0,b=r?n.setId:void 0,g=r?o?.code:void 0,I=l.setId||M(a.setId),T=M(a.infSetId)||I||M(v),m=I||M(b??T),y=l.code||M(a.code??g??m),S=m||y||T||B,A={key:S,id:S,setId:m,code:y,tagId:B,requestTagId:i||void 0,ownerNodeKey:p||void 0,infSetId:T,title:l.name||M(a.name??o?.tagName??S),renderType:bt(l),mark:l,fields:f,model:d,rows:u,operationInfo:Ie(n.operationInfo??a.operationInfo),raw:a};return A.renderType==="form"&&u.length===0&&(A.rows=[{...d,__rowKey:`${S}-0`}]),A}function so(t){const n=q(t),o=M(n.htmlDisplay||"F");return{name:M(n.name??n.title),parentName:R(n.parentName),value:R(n.value),type:R(n.type),code:M(n.code),setId:M(n.setId??n.id??n.key),htmlDisplay:o,multRow:Q(n.multRow),isRequired:Q(n.isRequired),raw:n}}function co(t){return(Array.isArray(t)?t:[]).map((o,r)=>uo(o,r))}function uo(t,n){const o=q(t),r=M(o.code??o.fieldCode??o.prop??o.key??`field_${n}`),a=M(o.label??o.name??o.tagName??r);return{id:M(o.id??o.key??o.prop??r),key:M(o.key??o.prop??r),code:r,label:a,value:o.value??o.defaultValue??"",type:yo(o),fieldType:R(o.fieldType),renderType:ho(o),required:Q(o.required??o.isRequired),readonly:Q(o.readonly??o.disabled),visible:o.visible===void 0?Q(o.visibled??!0):Q(o.visible),htmlDisplay:Q(o.htmlDisplay),multRow:Q(o.multRow),isRequired:Q(o.isRequired),disabled:o.disabled===void 0?void 0:Q(o.disabled),span:Nt(o.span??o.colSpan),width:Ue(o.width),minWidth:Ue(o.minWidth),placeholder:R(o.placeholder),options:kt(o.options),interface:Et(o.interface),cascadeClearFields:Ke(o.cascadeClearFields),cascadeDependFields:Ke(o.cascadeDependFields),props:De(o.props),formItemProps:De(o.formItemProps),raw:o}}function po(t,n){if(Array.isArray(t)&&t.some(a=>{const l=q(a);return n.some(f=>l[f.code]!==void 0||l[f.key]!==void 0)}))return t.map((a,l)=>({...q(a),__rowKey:M(q(a).__rowKey??q(a).key??l)}));const o=St(n);return Object.keys(o).length?[{...o,__rowKey:"0"}]:[]}function St(t){return t.reduce((n,o)=>(n[o.code||o.key]=o.value,n),{})}function _t(t,n,o=""){const r=q(t),a=be(r,["children","list","tags"]).flatMap(f=>_t(f,n,M(r.tagId??r.id??r.key))),l=go(r.infSetList);return a.length===0&&l.length>0?l.map((f,u)=>fo(r,f,n,o,u)):[mo(r,n,o,a)]}function mo(t,n,o,r){const a=M(t.tagId??t.id??t.key),l=M(t.tagName??t.name??t.label??a);return{key:M(t.key??a),id:a,tagId:a,tagName:l,label:l,tagLevel:R(t.tagLevel??t.level)??null,level:Pt(t.tagLevel??t.level),parentTagId:R(t.parentTagId??t.parentId??o),parentId:R(t.parentTagId??t.parentId??o)??null,infSchmId:R(t.infSchmId??n?.infSchmId),schemeId:M(t.infSchmId??n?.infSchmId),infSetId:R(t.infSetId??t.setId),setId:R(t.setId),code:R(t.code),children:r,infSetList:[],operationInfo:Ie(t.operationInfo),loaded:r.length>0,raw:t}}function fo(t,n,o,r,a){const l=M(t.tagId??t.id??t.key),f=M(t.tagName??t.name??t.label??l),u=n.infSetId||M(n.setId),d=n.setId||u,w=u||`${l}-${a}`;return{key:w,id:w,tagId:l,tagName:f,label:f,tagLevel:R(t.tagLevel??t.level)??null,level:Pt(t.tagLevel??t.level),parentTagId:R(t.parentTagId??t.parentId??r),parentId:R(t.parentTagId??t.parentId??r)??null,infSchmId:R(t.infSchmId??o?.infSchmId),schemeId:M(t.infSchmId??o?.infSchmId),infSetId:u,setId:d,code:R(t.code??u),children:[],infSetList:[n],operationInfo:Ie(t.operationInfo),loaded:!0,raw:{...t,infSetId:u,setId:d,infSetList:[n.raw]}}}function Bt(t,n={}){const o=q(t.globalInfoSchmMark??t.scheme??t),r=M(o.infSchmId??n.infSchmId),a=M(o.emplid??n.emplid);return!r&&!a&&Object.keys(o).length===0?null:{infSchmId:r,emplid:a,id:r,mark:M(o.globalInfoSchmMark??t.globalInfoSchmMark),config:Array.isArray(t.globalInfoSchmConfig)?"":M(o.globalInfoSchmConfig??t.globalInfoSchmConfig),raw:o}}function vo(t){if(Array.isArray(t.globalInfoSchmConfig))return t.globalInfoSchmConfig;const n=q(t.globalInfoSchmConfig),o=be(n,["children","tree","list","tags"]);return o.length?o:be(t,["children","tree","list","tags","records"])}function go(t){return Array.isArray(t)?t.map(n=>{const o=q(n);return{infSetId:M(o.infSetId??o.setId??o.id),setId:R(o.setId),operationInfo:Ie(o.operationInfo),raw:o}}):[]}function It(t){return q(Ct(t))}function Ct(t){const n=q(t);return n.data??n.result??t}function be(t,n){for(const o of n){const r=t[o];if(Array.isArray(r))return r}return[]}function Le(t){const n={...t};return delete n.__rowKey,delete n.fields,n}function Et(t){const n=q(t);if(!(!n.method&&!n.url&&!n.params))return{...n,method:R(n.method),url:R(n.url),params:De(n.params)}}function Ie(t){const n=q(t);if(Object.keys(n).length!==0)return Object.fromEntries(Object.entries(n).map(([o,r])=>[o,Et(r)??r]))}function Ke(t){if(!Array.isArray(t))return;const n=t.map(o=>M(o)).filter(Boolean);return n.length?n:void 0}function ho(t){if(Q(t.htmlDisplay))return"html";if(Q(t.multRow))return"multi-row";const n=M(t.renderType).toLowerCase();return n==="code"||n==="empty"?n:"text"}function yo(t){const n=M(t.fieldType??t.type??t.renderType).toLowerCase();return n.includes("date")?"date":n.includes("select")||n.includes("enum")?"select":n.includes("number")||n.includes("int")?"number":n.includes("bool")||n.includes("switch")?"switch":n.includes("file")||n.includes("upload")||n.includes("attachment")?"file":n.includes("textarea")||n.includes("text_area")?"textarea":"text"}function De(t){const n=q(t);return Object.keys(n).length?n:void 0}function Ue(t){return typeof t=="string"||typeof t=="number"?t:void 0}function q(t){return t&&typeof t=="object"&&!Array.isArray(t)?t:{}}function M(t){return t==null?"":String(t).trim()}function R(t){return M(t)||void 0}function Pt(t){const n=Nt(t);return n===void 0?null:n}function Nt(t){if(t==null||t==="")return;const n=Number(t);return Number.isFinite(n)?n:void 0}function Q(t){return typeof t=="string"?["true","1","y","yes","t","是"].includes(t.toLowerCase()):!!t}const oe=t=>t.key||t.code,W=t=>t.key||t.setId,ue=t=>new Error(`[GlobalInfo] ${t}`),de=t=>t&&typeof t=="object"&&!Array.isArray(t)?t:{},Se=t=>{const n=de(t);return!!(n.url||n.method||n.params)},bo=t=>String(t??"").trim(),we=t=>Array.from(new Set(t.map(bo).filter(Boolean))),ye=t=>we([t?.key,t?.id,t?.setId,t?.infSetId,t?.tagId,t?.code,...(t?.infSetList??[]).map(n=>n.infSetId),...(t?.infSetList??[]).map(n=>n.setId)]),wo=t=>we([t.key,t.id,t.setId,t.infSetId,t.tagId,t.code]),fe=(t={})=>({loading:!1,saving:!1,error:null,loaded:!1,editing:!1,...t}),ve=t=>!!(t&&typeof t=="object"&&"children"in t),At=(t,n,o)=>{const r=wo(t),a=we([o,...ye(n)]);return a.length===0?!1:a.some(l=>r.includes(l))},ko=(t,n,o)=>we([o,...ye(n)]).length===0?t:t.filter(a=>At(a,n,o)),Vt=t=>{const n=e.ref(!1),o=e.ref(!1),r=e.ref(!1),a=e.shallowRef(null),l=e.shallowRef([]),f=e.shallowRef(null),u=e.shallowRef(null),d=e.shallowRef(null),w=e.shallowRef({}),B=e.shallowRef({}),i=e.ref([]),p=e.shallowRef({}),v=e.ref([]),b=e.computed(()=>{const c=i.value.map(h=>w.value[h]).filter(h=>!!h),s=Object.entries(w.value).filter(([h])=>!i.value.includes(h)).map(([,h])=>h);return[...c,...s]}),g=e.computed(()=>({loading:n.value,detailLoading:o.value,saving:r.value,editingSectionKeys:v.value,sectionMap:w.value,sectionStatusMap:Object.fromEntries(Object.entries(p.value).map(([c,s])=>[c,{...s,editing:v.value.includes(B.value[c]??c)}])),error:a.value})),I=()=>({adaptScene:t.adaptScene,emplid:t.emplid}),T=c=>({...I(),infSchmId:c.infSchmId,tagId:c.tagId,tagLevel:c.tagLevel,parentTagId:c.parentTagId}),m=(c=u.value,s=d.value)=>({...I(),infSchmId:c?.infSchmId,tagId:c?.tagId,infSetId:s?.infSetId??c?.infSetId,setId:s?.setId??c?.setId}),y=async(c,s)=>{if(!t.service.requestOperation)throw ue("service.requestOperation is required for operationInfo");return t.service.requestOperation(c,s)},S=(c,s={},h)=>{const N=de(c.params),V=h?.cascadeDependFields??[];let x=0;return Object.fromEntries(Object.entries(N).map(([L,$])=>{if($!=="")return[L,$];if(s[L]!==void 0)return[L,s[L]];const G=V[x];return x+=1,[L,G?s[G]??"":$]}))},A=c=>{const h=de(c.operationInfo).openTag;return Se(h)?h:void 0},_=(c,s,h)=>{const N=de(c?.operationInfo).queryInfoSet;if(Se(N))return N;const V=s?.infSetList.find(L=>L.infSetId===h),x=de(V?.operationInfo).queryInfoSet;return Se(x)?x:void 0},k=c=>{const s=de(c.operationInfo).editInfoSet;return Se(s)?s:void 0},j=(c,s)=>{if(!s)return c[0]??null;for(const h of c){if(ye(h).includes(s))return h;const N=j(h.children,s);if(N)return N}return null},C=(c=d.value)=>{if(c)return typeof c=="string"?c:ve(c)?U(c):W(c)},E=(c=d.value)=>{const s=C(c);if(!s)return null;const h=B.value[s]??s;return w.value[h]??null},z=(c=d.value)=>{const s=C(c);if(s)return B.value[s]??s},U=(c=d.value)=>{if(c)return typeof c=="string"?c:ve(c)?c.setId??c.infSetId??c.key:W(c)},ie=(c=d.value)=>{if(ve(c))return c;if(typeof c=="string"){const s=j(l.value,c);if(s)return s;const h=E(c);return h?.ownerNodeKey?j(l.value,h.ownerNodeKey)??u.value:h||u.value&&ye(u.value).includes(c)?u.value:null}return c?.ownerNodeKey?j(l.value,c.ownerNodeKey)??u.value:u.value},se=(c=d.value)=>!c||ve(c)?null:E(c),pe=(c=d.value)=>{const s=U(c);if(!s)return fe();const h=B.value[s]??s;return fe({...p.value[s],...p.value[h],editing:v.value.includes(h)})},Y=(c,s)=>{const h=U(c);h&&(p.value={...p.value,[h]:fe({...p.value[h],...s,editing:v.value.includes(h)})})},ae=(c=f.value?.raw??null,s=u.value)=>{const h=b.value,N=d.value&&h.find(V=>W(V)===W(d.value))?d.value:null;f.value={scheme:f.value?.scheme??null,node:s,topNodes:l.value,treeNodes:l.value,activeNode:s,activeSection:N,sections:h,sectionMap:w.value,raw:c},d.value=N},Ce=(c,s=u.value,h)=>{const N={...w.value},V={...B.value},x=[...i.value],L={...p.value},$=ko(c.sections,s,h),G=we([h,...ye(s)]).length>0,K=$.find(ne=>At(ne,s,h))??(G?null:c.activeSection??$[0]??d.value??null);return $.forEach(ne=>{const ee=W(ne);N[ee]=ne,x.includes(ee)||x.push(ee),L[ee]=fe({...L[ee],loaded:!0,loading:!1,error:null,editing:v.value.includes(ee)})}),h&&K?V[h]=W(K):h&&(V[h]=""),h&&(L[h]=fe({...L[h],loaded:!0,loading:!1,error:null,editing:!!(K&&v.value.includes(W(K)))})),w.value=N,B.value=V,i.value=x,p.value=L,f.value={...c,scheme:c.scheme??f.value?.scheme??null,topNodes:l.value,treeNodes:l.value,activeNode:s,activeSection:K,sections:$,sectionMap:w.value},d.value=K,K},re=(c,s)=>{const h=z(c),N=h?w.value[h]:null;if(!h||!N)return;const V=s(N);w.value={...w.value,[h]:V},d.value=W(d.value??V)===h?V:d.value,ae()},ce=async(c=d.value??u.value)=>{const s=se(c),h=ie(c)??u.value,N=U(c);if(!h)return null;if(!t.service.requestOperation)throw ue("service.requestOperation is required");o.value=!0,a.value=null,Y(N??h,{loading:!0,error:null});try{const V=s?[{infSetId:s.infSetId,setId:s.setId,operationInfo:s.operationInfo,raw:s.raw}]:h.infSetList;if(V.length===0)throw ue("node.infSetList is required");const x=await Promise.all(V.map(async $=>{const G=_(s,h,$.infSetId),K={...m(h,s),infSetId:$.infSetId,setId:$.setId,operationInfo:$.operationInfo};if(G){const ne=await y(G,{type:"queryInfoSet",node:h,section:s,params:K});return yt(ne,K,h)}throw ue("infoSet.operationInfo.queryInfoSet is required")})),L={...x[0],sections:x.flatMap($=>$.sections),sectionMap:Object.fromEntries(x.flatMap($=>$.sections).map($=>[$.key,$]))};return Ce(L,h,N)}catch(V){throw a.value=V,Y(N??h,{loading:!1,error:V}),V}finally{o.value=!1,Y(N??h,{loading:!1})}},me=(c=d.value)=>ce(c),P=(c=d.value)=>{if(!c)return null;if(!ve(c)&&typeof c!="string")return E(c);const s=U(c);return s?w.value[B.value[s]??s]??null:null},F=async(c=u.value)=>c?(await ce(c),f.value):(f.value=null,d.value=null,w.value={},B.value={},i.value=[],p.value={},null),O=async c=>{const s=A(c);if(!s)return c.children;const h=T(c),N=await y(s,{type:"openTag",node:c,params:h});return Me(N).treeNodes},le=async c=>{if(c.loaded)return c.children;const s=await O(c);return s.length>0&&(l.value=Fe(l.value,c.key,s)),s},Ee=async c=>{const s=typeof c=="string"?j(l.value,c):c;return s?(u.value=s,d.value=null,v.value=[],await le(s),ae(f.value?.raw,s),s):null},Pe=async()=>{const c=t.service.templateTree;if(!c)throw ue("service.templateTree is required");n.value=!0,a.value=null;try{const s=await c(I()),h=Me(s),N=await Promise.all(h.treeNodes.map(async x=>{const L=await O(x);return{...x,children:L,loaded:L.length>0||x.loaded}}));l.value=N,d.value=null,w.value={},B.value={},i.value=[],p.value={},v.value=[];const V=j(N,t.initialActiveNodeKey)??j(N);return u.value=V,f.value={...h,treeNodes:N,activeNode:V,sectionMap:w.value,sections:b.value},l.value}catch(s){throw a.value=s,s}finally{n.value=!1}},Ot=async()=>{const c=C();await me(d.value??u.value);const s=b.value.find(h=>W(h)===c);return s&&(d.value=s),ae(),f.value},Oe=(c=d.value)=>{const s=z(c);return!!(s&&v.value.includes(s))},qt=(c=d.value)=>{const s=z(c);!s||Oe(s)||(v.value=[...v.value,s],Y(s,{editing:!0}))},qe=(c=d.value)=>{const s=z(c);s&&(v.value=v.value.filter(h=>h!==s),Y(s,{editing:!1}))},Jt=(c,s,h)=>{const N=typeof s=="string"?s:oe(s);re(c,V=>{const L=(typeof s=="string"?V.fields.find(G=>oe(G)===N||G.code===N):s)?.cascadeClearFields??[],$={...V.model,[N]:h};return L.forEach(G=>{$[G]=""}),{...V,model:$,rows:V.renderType==="form"?[{...V.rows[0],...$}]:V.rows,fields:V.fields.map(G=>{const K=oe(G);return K===N||G.code===N?{...G,value:h}:L.includes(K)||L.includes(G.code)?{...G,value:""}:G})}})},Kt=async(c,s,h={})=>{const N=E(c);if(!N)return[];const V=Object.keys(h).length>0?h:N.model,x=typeof s=="string"?s:oe(s),L=typeof s=="string"?N.fields.find(X=>oe(X)===x||X.code===x):s,$=L?.interface;if(!L||!$)return L?.options??[];if((L.cascadeDependFields??[]).some(X=>{const H=V[X];return H==null||H===""}))return re(N,X=>({...X,fields:X.fields.map(H=>oe(H)===x||H.code===x?{...H,options:[]}:H)})),[];const K=S($,V,L),ne=await y({...$,params:K},{type:"fieldOptions",node:ie(N),section:N,field:L,params:K}),ee=kt(ne);return re(N,X=>({...X,fields:X.fields.map(H=>oe(H)===x||H.code===x?{...H,options:ee}:H)})),ee},Ut=(c,s)=>{if(Array.isArray(s)){ke(c,s);return}re(c,h=>({...h,model:s,rows:h.renderType==="form"?[{...h.rows[0],...s}]:h.rows,fields:h.fields.map(N=>({...N,value:s[oe(N)]}))}))},ke=(c,s)=>{re(c,h=>({...h,rows:s,data:s}))},Yt={loadTree:Pe,selectNode:Ee,loadDetail:F,reloadActiveSection:Ot,loadSection:ce,reloadSection:me,getSection:P,getSectionStatus:pe,startEdit:qt,cancelEdit:qe,updateField:Jt,loadFieldOptions:Kt,updateModel:Ut,updateTableRows:ke,saveRow:(c,s={},h=-1)=>{const V=[...E(c)?.rows??[]];V.splice(h>=0?h:V.length,h>=0?1:0,s),ke(c,V)},deleteRow:(c,s)=>{const h=E(c),N=typeof s=="string"?Number(s):s,V=(h?.rows??[]).filter((x,L)=>L!==N);ke(c,V)},saveSection:async(c=d.value)=>{const s=C(c),h=E(c);if(!h)return null;const N=k(h);if(!N)throw ue("section.operationInfo.editInfoSet is required");r.value=!0,a.value=null,s&&s!==W(h)&&Y(s,{saving:!0,error:null}),Y(h,{saving:!0,error:null});try{const V=m(u.value,h),x=wt(h,V),L=await y({...N,params:{...S(N,h.model),...x}},{type:"editInfoSet",node:u.value,section:h,params:x});return qe(h),await me(h),L}catch(V){throw a.value=V,s&&s!==W(h)&&Y(s,{saving:!1,error:V}),Y(h,{saving:!1,error:V}),V}finally{r.value=!1,s&&s!==W(h)&&Y(s,{saving:!1}),Y(h,{saving:!1})}},isEditing:Oe};return e.watch(()=>t.emplid,()=>{(t.autoLoad??!0)&&Pe()}),e.onMounted(()=>{(t.autoLoad??!0)&&Pe()}),{viewModel:f,nodes:l,sections:b,sectionMap:w,sectionStatusMap:p,activeNode:u,activeSection:d,state:g,actions:Yt}},So=e.defineComponent({name:"GlobalInfoProvider",__name:"GlobalInfoProvider",props:{service:{},adaptScene:{},emplid:{},autoLoad:{type:Boolean,default:!0},initialActiveNodeKey:{}},setup(t){const o=Vt(t),{viewModel:r,nodes:a,sections:l,activeNode:f,activeSection:u,state:d,actions:w}=o;return(B,i)=>e.renderSlot(B.$slots,"default",e.normalizeProps(e.guardReactiveProps({viewModel:e.unref(r),nodes:e.unref(a),sections:e.unref(l),activeNode:e.unref(f),activeSection:e.unref(u),state:e.unref(d),actions:e.unref(w)})))}});function _o(t){return Ye(t.type||t.fieldType)||Ye(t.renderType)||"text"}function Tt(t){return He(t.type||t.fieldType)||He(t.renderType)||"text"}function Re(t){return t==null||t===""||Array.isArray(t)&&t.length===0}function jt(t){if(t instanceof Error)return!0;if(!t||typeof t!="object")return!1;const n=t;return typeof n.message=="string"&&(typeof n.stack=="string"||n.name==="Error")}function Mt(t,n,o="-"){const r=Tt(t);return r==="empty"||Re(n)?o:jt(n)?(console.error("[globalInfo] field value render failed",n),o):r==="select"?Bo(t,n,o):r==="switch"?Lt(n)?"是":"否":r==="file"?Io(n,o):r==="multi-row"?Co(n):String(n)}function Lt(t){if(typeof t=="boolean")return t;if(typeof t=="number")return t!==0;const n=String(t??"").trim().toLowerCase();return["true","1","y","yes","t","是"].includes(n)}function Ye(t){const n=String(t??"").toLowerCase();return n==="upload"||n==="attachment"?"file":n==="text"||n==="textarea"||n==="select"||n==="date"||n==="number"||n==="switch"||n==="file"||n==="html"||n==="code"||n==="multi-row"||n==="empty"?n:""}function He(t){const n=String(t??"").toLowerCase();return n==="upload"||n==="attachment"?"file":n==="select"||n==="switch"||n==="file"||n==="html"||n==="code"||n==="multi-row"||n==="empty"?n:n==="textarea"||n==="date"||n==="number"||n==="text"?"text":""}function Bo(t,n,o){if(Array.isArray(n)){const r=n.map(a=>We(t,a)||String(a??"").trim()).filter(Boolean);return r.length>0?r.join("、"):o}return We(t,n)||String(n)}function We(t,n){return t.options?.find(r=>r.value===n||String(r.value)===String(n))?.label??""}function Io(t,n){if(Array.isArray(t)){const o=t.map(r=>Qe(r)).filter(Boolean);return o.length>0?o.join("、"):n}return Qe(t)||n}function Qe(t){if(typeof File<"u"&&t instanceof File)return t.name;if(t&&typeof t=="object"){const n=t;return String(n.name??n.fileName??n.filename??n.url??"").trim()}return String(t??"").trim()}function Co(t){return Array.isArray(t)?t.map(n=>jt(n)?(console.error("[globalInfo] multi-row field item render failed",n),""):n&&typeof n=="object"?JSON.stringify(n):String(n)).filter(Boolean).join(`
|
|
3
|
-
`):String(t)}const Eo=["disabled","accept","multiple"],Po={key:0,class:"global-info-field-control__file-text"},No={key:1,class:"global-info-field-control__file-upload"},Ao=e.defineComponent({name:"GlobalInfoFieldControl",__name:"GlobalInfoFieldControl",props:{field:{},modelValue:{},disabled:{type:Boolean,default:!1}},emits:["update:modelValue","change","loadOptions"],setup(t,{emit:n}){const o=t,r=n,a=["textarea","html","code","multi-row"],l=e.computed(()=>_o(o.field)),f=e.computed(()=>o.disabled||o.field.disabled||o.field.readonly),u=e.computed(()=>o.modelValue===void 0||o.modelValue===null?"":String(o.modelValue)),d=e.computed(()=>{if(o.modelValue===void 0||o.modelValue===null||o.modelValue==="")return;const m=typeof o.modelValue=="number"?o.modelValue:Number(o.modelValue);return Number.isFinite(m)?m:void 0}),w=e.computed(()=>{const m=o.field.props?.activeValue??o.field.props?.["active-value"],y=o.field.props?.inactiveValue??o.field.props?.["inactive-value"];return m!==void 0||y!==void 0?o.modelValue??y??!1:Lt(o.modelValue)}),B=e.computed(()=>l.value==="code"?5:3),i=e.computed(()=>l.value==="file"&&!Re(o.modelValue)),p=e.computed(()=>Mt(o.field,o.modelValue,"请选择文件")),v=e.computed(()=>o.field.placeholder?o.field.placeholder:l.value==="select"?"请选择":l.value==="date"?"请选择日期":l.value==="file"?"请选择文件":"请输入");function b(m){r("update:modelValue",m)}function g(m){r("change",m)}function I(m){m&&r("loadOptions")}function T(m){const y=m.target,S=Array.from(y.files??[]),A=o.field.props?.multiple?S:S[0]??null;b(A),g(A)}return(m,y)=>{const S=D.ElOption,A=D.ElSelect,_=D.ElDatePicker,k=D.ElInputNumber,j=D.ElSwitch,C=D.ElInput;return l.value==="select"?(e.openBlock(),e.createBlock(A,e.mergeProps({key:0,class:"global-info-field-control"},m.field.props,{"model-value":m.modelValue,placeholder:v.value,disabled:f.value,clearable:"",onVisibleChange:I,"onUpdate:modelValue":b,onChange:g}),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.field.options||[],E=>(e.openBlock(),e.createBlock(S,{key:String(E.value),label:E.label,value:E.value},null,8,["label","value"]))),128))]),_:1},16,["model-value","placeholder","disabled"])):l.value==="date"?(e.openBlock(),e.createBlock(_,e.mergeProps({key:1,class:"global-info-field-control"},m.field.props,{"model-value":m.modelValue,placeholder:v.value,disabled:f.value,type:"date","value-format":"YYYY-MM-DD","onUpdate:modelValue":b,onChange:g}),null,16,["model-value","placeholder","disabled"])):l.value==="number"?(e.openBlock(),e.createBlock(k,e.mergeProps({key:2,class:"global-info-field-control"},m.field.props,{"model-value":d.value,placeholder:v.value,disabled:f.value,"controls-position":"right","onUpdate:modelValue":b,onChange:g}),null,16,["model-value","placeholder","disabled"])):l.value==="switch"?(e.openBlock(),e.createBlock(j,e.mergeProps({key:3,class:"global-info-field-control global-info-field-control--switch"},m.field.props,{"model-value":w.value,disabled:f.value,"onUpdate:modelValue":b,onChange:g}),null,16,["model-value","disabled"])):l.value==="file"?(e.openBlock(),e.createElementBlock("label",{key:4,class:e.normalizeClass(["global-info-field-control global-info-field-control--file",{"is-disabled":f.value,"is-empty":!i.value,"is-filled":i.value}])},[e.createElementVNode("input",{class:"global-info-field-control__file-input",type:"file",disabled:f.value,accept:String(m.field.props?.accept??""),multiple:!!m.field.props?.multiple,onChange:T},null,40,Eo),i.value?(e.openBlock(),e.createElementBlock("span",Po,e.toDisplayString(p.value),1)):(e.openBlock(),e.createElementBlock("span",No,"上 传"))],2)):l.value==="empty"?(e.openBlock(),e.createBlock(C,{key:5,class:"global-info-field-control","model-value":"",disabled:"",placeholder:"-"})):(e.openBlock(),e.createBlock(C,e.mergeProps({key:6,class:["global-info-field-control",{"global-info-field-control--code":l.value==="code"}]},m.field.props,{"model-value":u.value,placeholder:v.value,disabled:f.value,type:a.includes(l.value)?"textarea":"text",rows:a.includes(l.value)?B.value:void 0,"onUpdate:modelValue":b,onChange:g}),null,16,["class","model-value","placeholder","disabled","type","rows"]))}}}),ze=J(Ao,[["__scopeId","data-v-ba86a0ae"]]),Vo=["innerHTML"],To={key:1,class:"global-info-field-value global-info-field-value--code"},jo=e.defineComponent({name:"GlobalInfoFieldValue",__name:"GlobalInfoFieldValue",props:{field:{},value:{},emptyText:{default:"-"}},setup(t){const n=t,o=e.computed(()=>Tt(n.field)),r=e.computed(()=>o.value==="empty"||Re(n.value)),a=e.computed(()=>Mt(n.field,n.value,n.emptyText));return(l,f)=>o.value==="html"&&!r.value?(e.openBlock(),e.createElementBlock("span",{key:0,class:"global-info-field-value global-info-field-value--html",innerHTML:a.value},null,8,Vo)):o.value==="code"&&!r.value?(e.openBlock(),e.createElementBlock("pre",To,e.toDisplayString(a.value),1)):(e.openBlock(),e.createElementBlock("span",{key:2,class:e.normalizeClass(["global-info-field-value",{"global-info-field-value--multi-row":o.value==="multi-row","global-info-field-value--file":o.value==="file"&&!r.value}])},e.toDisplayString(a.value),3))}}),Ge=J(jo,[["__scopeId","data-v-aa0d493d"]]),Mo={class:"global-info-form-renderer__label"},Lo={key:0,class:"global-info-form-renderer__required"},Do=e.defineComponent({name:"GlobalInfoFormRenderer",__name:"GlobalInfoFormRenderer",props:{section:{},node:{},editing:{type:Boolean},state:{},actions:{},model:{},onUpdateModel:{type:Function}},setup(t){const n=t,o=e.useSlots(),r=e.computed(()=>n.section.fields.filter(p=>p.visible)),a=e.computed(()=>n.model??n.section.model);function l(p,v){const b={...a.value,[p.code]:v};(p.cascadeClearFields??[]).forEach(g=>{b[g]=""}),n.onUpdateModel?.(b),n.onUpdateModel||n.actions.updateField(n.section,p,v)}async function f(p){try{await n.actions.loadFieldOptions(n.section,p,a.value)}catch(v){console.error("[GlobalInfoFormRenderer] load field options failed",v)}}function u(p){const v=a.value[p.code];return{field:p,section:n.section,sectionView:n.section,node:n.node,editing:n.editing,modelValue:v,value:v,state:n.state,actions:n.actions,updateModelValue:b=>l(p,b)}}function d(p){const v=String(p.id||p.key||p.code||"").trim(),b=v?`field-${v}`:"";if(b&&o[b])return b;const g=b.toLowerCase();return g!==b&&o[g]?g:""}function w(p){return p.span?Math.min(Math.max(p.span,1),24):6}function B(p){return p.key||p.id||p.code}function i(p){return p.required||p.isRequired}return(p,v)=>{const b=D.ElFormItem,g=D.ElCol,I=D.ElRow,T=D.ElForm;return e.openBlock(),e.createBlock(T,{class:"global-info-form-renderer",model:a.value,"label-position":"top"},{default:e.withCtx(()=>[e.createVNode(I,{gutter:24},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,m=>(e.openBlock(),e.createBlock(g,{key:B(m),span:w(m)},{default:e.withCtx(()=>[e.createVNode(b,e.mergeProps({prop:m.code,ref_for:!0},m.formItemProps),{label:e.withCtx(()=>[e.createElementVNode("span",Mo,[i(m)?(e.openBlock(),e.createElementBlock("span",Lo,"*")):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(m.label),1)])]),default:e.withCtx(()=>[d(m)?e.renderSlot(p.$slots,d(m),e.mergeProps({key:0,ref_for:!0},u(m)),void 0,!0):p.editing&&!m.readonly?(e.openBlock(),e.createBlock(ze,{key:1,field:m,"model-value":a.value[m.code],section:p.section,onLoadOptions:()=>f(m),"onUpdate:modelValue":y=>l(m,y)},null,8,["field","model-value","section","onLoadOptions","onUpdate:modelValue"])):(e.openBlock(),e.createBlock(Ge,{key:2,field:m,value:a.value[m.code],section:p.section},null,8,["field","value","section"]))]),_:2},1040,["prop"])]),_:2},1032,["span"]))),128))]),_:3})]),_:3},8,["model"])}}}),Dt=J(Do,[["__scopeId","data-v-9dcd2ba9"]]),xt=e.defineComponent({name:"GlobalInfoDeleteConfirm",__name:"GlobalInfoDeleteConfirm",props:{title:{default:"确认删除吗?"},confirmText:{default:"确认"},cancelText:{default:"取消"}},emits:["confirm","cancel"],setup(t){return(n,o)=>{const r=D.ElPopconfirm;return e.openBlock(),e.createBlock(r,{title:n.title,"confirm-button-text":n.confirmText,"cancel-button-text":n.cancelText,width:"240","popper-class":"global-info-delete-confirm",onConfirm:o[0]||(o[0]=a=>n.$emit("confirm")),onCancel:o[1]||(o[1]=a=>n.$emit("cancel"))},{reference:e.withCtx(()=>[e.renderSlot(n.$slots,"default")]),_:3},8,["title","confirm-button-text","cancel-button-text"])}}}),xo={class:"global-info-table-renderer"},$o={class:"global-info-table-renderer__table-scroll"},Fo={class:"global-info-table-renderer__header"},Ro={key:0,class:"global-info-table-renderer__required"},zo=e.defineComponent({name:"GlobalInfoTableRenderer",__name:"GlobalInfoTableRenderer",props:{section:{},node:{},editing:{type:Boolean},state:{},actions:{},showAdd:{type:Boolean,default:!0},showDelete:{type:Boolean,default:!0}},setup(t){const n=t,o=e.useSlots(),r=e.computed(()=>n.section.fields.filter(m=>m.visible));function a(m){n.actions.deleteRow(n.section,m)}function l(m,y,S,A){const _=n.section.rows.slice(),k=S.cascadeClearFields??[],j={...m,__rowKey:I(m),[S.code]:A};k.forEach(C=>{j[C]=""}),_[y]={...j},n.actions.updateTableRows(n.section,_)}async function f(m,y){try{await n.actions.loadFieldOptions(n.section,m,y)}catch(S){console.error("[GlobalInfoTableRenderer] load field options failed",S)}}function u(m,y,S){const A=y[m.code];return{field:m,section:n.section,sectionView:n.section,node:n.node,row:y,rowIndex:S,editing:n.editing,modelValue:A,value:A,state:n.state,actions:n.actions,updateModelValue:_=>l(y,S,m,_)}}function d(m){const y=String(m.id||m.key||m.code||"").trim(),S=y?`field-${y}`:"";if(S&&o[S])return S;const A=S.toLowerCase();return A!==S&&o[A]?A:""}function w(m){return!m.readonly&&!m.disabled}function B(m){return m.width??(v(m)?56:void 0)}function i(m){if(!m.width)return m.minWidth??(v(m)?56:void 0)}function p(m){return m.key||m.id||m.code}function v(m){return[m.label,m.name,m.code,m.key,m.id].map(S=>String(S??"").trim().toLowerCase()).some(S=>["序号","index","idx","seq","serial","order","rownum","row_no"].includes(S))}let b=0;const g=new WeakMap;function I(m){const y=m.__rowKey??m.key??m.id??m.setId??m.infSetId;if(y!=null&&y!=="")return String(y);const S=m,A=g.get(S);if(A)return A;b+=1;const _=`local-${b}`;return g.set(S,_),_}function T(m){return m.required||m.isRequired}return(m,y)=>{const S=D.ElTableColumn,A=e.resolveComponent("Delete"),_=D.ElIcon,k=D.ElButton,j=D.ElTable;return e.openBlock(),e.createElementBlock("div",xo,[e.createElementVNode("div",$o,[e.createVNode(j,{class:"global-info-table-renderer__table",data:m.section.rows,"row-key":I},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,C=>(e.openBlock(),e.createBlock(S,{key:p(C),prop:C.code,label:C.label,width:B(C),"min-width":i(C)},{header:e.withCtx(()=>[e.createElementVNode("span",Fo,[T(C)?(e.openBlock(),e.createElementBlock("span",Ro,"*")):e.createCommentVNode("",!0),e.createElementVNode("span",null,e.toDisplayString(C.label),1)])]),default:e.withCtx(({row:E,$index:z})=>[d(C)?e.renderSlot(m.$slots,d(C),e.mergeProps({key:0,ref_for:!0},u(C,E,z)),void 0,!0):m.editing&&w(C)?(e.openBlock(),e.createBlock(ze,{key:1,field:C,"model-value":E[C.code],section:m.section,row:E,"row-index":z,onLoadOptions:()=>f(C,E),"onUpdate:modelValue":U=>l(E,z,C,U)},null,8,["field","model-value","section","row","row-index","onLoadOptions","onUpdate:modelValue"])):(e.openBlock(),e.createBlock(Ge,{key:2,field:C,value:E[C.code],section:m.section,row:E,"row-index":z},null,8,["field","value","section","row","row-index"]))]),_:2},1032,["prop","label","width","min-width"]))),128)),m.editing?(e.openBlock(),e.createBlock(S,{key:0,label:"操作",width:"104",fixed:"right"},{default:e.withCtx(({$index:C})=>[m.showDelete?(e.openBlock(),e.createBlock(xt,{key:0,onConfirm:E=>a(C)},{default:e.withCtx(()=>[e.createVNode(k,{class:"global-info-table-renderer__delete",link:"",type:"danger"},{default:e.withCtx(()=>[e.createVNode(_,{class:"global-info-table-renderer__delete-icon"},{default:e.withCtx(()=>[e.createVNode(A)]),_:1}),y[0]||(y[0]=e.createTextVNode(" 删除 "))]),_:1})]),_:2},1032,["onConfirm"])):e.createCommentVNode("",!0)]),_:1})):e.createCommentVNode("",!0)]),_:3},8,["data"])])])}}}),$t=J(zo,[["__scopeId","data-v-2fa29438"]]),Ft=e.defineComponent({name:"GlobalInfoAutoRenderer",__name:"GlobalInfoAutoRenderer",props:{section:{},node:{},editing:{type:Boolean},state:{},actions:{}},setup(t){return(n,o)=>n.section.renderType==="table"?(e.openBlock(),e.createBlock($t,{key:0,section:n.section,node:n.node,editing:n.editing,state:n.state,actions:n.actions},null,8,["section","node","editing","state","actions"])):(e.openBlock(),e.createBlock(Dt,{key:1,section:n.section,node:n.node,editing:n.editing,state:n.state,actions:n.actions},null,8,["section","node","editing","state","actions"]))}}),Rt=e.defineComponent({name:"GlobalInfoSectionOutlet",__name:"GlobalInfoSectionOutlet",props:{section:{},node:{},editing:{type:Boolean},state:{},actions:{}},setup(t){const n=t,o=e.useSlots(),r=e.computed(()=>n.editing??n.actions.isEditing(n.section)),a=e.computed(()=>n.section.renderType==="table"?n.section.rows.length===0:n.section.fields.length===0),l=e.computed(()=>{const d=f(n.section.id||n.section.key),w=u(n.section.renderType);return[d,w,"default"].find(B=>!!(B&&o[B]))??""});function f(d){const w=String(d??"").trim();return w?`section-${w}`:""}function u(d){return d==="form"||d==="table"?d:""}return(d,w)=>l.value?e.renderSlot(d.$slots,l.value,{key:0,section:d.section,sectionView:d.section,node:d.node,editing:r.value,isEmpty:a.value,empty:a.value,fields:d.section.fields,state:d.state,actions:d.actions}):(e.openBlock(),e.createBlock(Ft,{key:1,section:d.section,node:d.node,editing:r.value,state:d.state,actions:d.actions},null,8,["section","node","editing","state","actions"]))}}),Go=e.defineComponent({name:"GlobalInfoSlotErrorBoundary",props:{boundaryKey:{type:[String,Number],default:""},label:{type:String,default:""}},emits:{error:t=>!0},setup(t,{emit:n,slots:o}){const r=e.ref(!1);e.watch(()=>t.boundaryKey,()=>{r.value=!1}),e.onErrorCaptured(l=>(a(l),!1));function a(l){r.value=!0,console.error(`[GlobalInfoSlotErrorBoundary] ${t.label||"section"} slot render failed`,l),n("error",l)}return()=>{if(r.value)return o.fallback?.()??null;try{return o.default?.()??null}catch(l){return a(l),o.fallback?.()??null}}}}),Oo={class:"global-info-section-block"},qo={key:0,class:"global-info-section-block__header"},Jo={class:"global-info-section-block__title-wrap"},Ko={class:"global-info-section-block__title"},Uo={key:0,class:"global-info-section-block__actions"},Yo={class:"global-info-section-block__body"},Ho=e.defineComponent({name:"GlobalInfoSectionBlock",__name:"GlobalInfoSectionBlock",props:{node:{},state:{},actions:{},hideHeader:{type:Boolean},onEdit:{type:Function},onCancel:{type:Function},onSave:{type:Function}},setup(t){const n=t,o=e.useSlots(),r=e.ref(!1),a=e.ref(null),l=e.ref(null),f=e.computed(()=>!!n.hideHeader),u=e.computed(()=>n.actions.getSectionStatus(n.node)),d=e.computed(()=>n.actions.getSection(n.node)??l.value),w=e.computed(()=>d.value?.title||n.node.tagName||n.node.label||"-"),B=e.computed(()=>!!(d.value&&n.actions.isEditing(d.value))),i=e.computed(()=>d.value?.renderType==="table"),p=e.computed(()=>r.value||u.value.loading),v=e.computed(()=>I(a.value||u.value.error)),b=e.computed(()=>{const k=d.value;return k?k.renderType==="table"?k.rows.length===0:k.fields.length===0:!0}),g=e.computed(()=>({node:n.node,section:d.value,sectionView:d.value,fields:d.value?.fields??[],title:w.value,editing:B.value,loading:p.value,error:a.value||u.value.error,errorMessage:v.value,isEmpty:b.value,empty:b.value,sectionStatus:u.value,state:n.state,actions:n.actions,reload:_,handleEdit:T,handleCancel:m,handleAddTableRow:y,handleSave:S}));function I(k){return k?k instanceof Error?k.message:String(k):""}async function T(){const k=d.value;k&&(await n.onEdit?.(k,n.node),n.onEdit||n.actions.startEdit(k))}async function m(){const k=d.value;k&&(await n.onCancel?.(k,n.node),n.onCancel||n.actions.cancelEdit(k))}function y(){const k=d.value;if(!k)return;const j=k.fields.reduce((C,E)=>(C[E.code]=E.value??"",C),{__rowKey:`new-${Date.now()}`});n.actions.saveRow(k,j,-1)}async function S(){const k=d.value;if(k)try{if(n.onSave){await n.onSave(k,n.node);return}await n.actions.saveSection(k)}catch(j){a.value=j,console.error("[GlobalInfoSectionBlock] save section failed",j)}}function A(k){a.value=k}async function _(){r.value=!0,a.value=null,l.value=null;try{l.value=await n.actions.loadSection(n.node)}catch(k){a.value=k,console.error("[GlobalInfoSectionBlock] load section failed",k)}finally{r.value=!1}}return e.onMounted(()=>{_()}),e.watch(()=>n.node.key,()=>{_()}),(k,j)=>{const C=D.ElButton;return e.openBlock(),e.createElementBlock("section",Oo,[f.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("header",qo,[e.renderSlot(k.$slots,"header",e.normalizeProps(e.guardReactiveProps(g.value)),()=>[e.createElementVNode("div",Jo,[j[0]||(j[0]=e.createElementVNode("span",{class:"global-info-section-block__marker"},null,-1)),e.createElementVNode("h3",Ko,e.toDisplayString(w.value),1)]),e.renderSlot(k.$slots,"actions",e.normalizeProps(e.guardReactiveProps(g.value)),()=>[d.value?(e.openBlock(),e.createElementBlock("div",Uo,[B.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createVNode(C,{class:"global-info-section-block__cancel",link:"",disabled:u.value.saving,onClick:m},{default:e.withCtx(()=>j[2]||(j[2]=[e.createTextVNode(" 取消 ")])),_:1},8,["disabled"]),i.value?(e.openBlock(),e.createBlock(C,{key:0,class:"global-info-section-block__add",link:"",disabled:u.value.saving,onClick:y},{default:e.withCtx(()=>j[3]||(j[3]=[e.createTextVNode(" 新增 ")])),_:1},8,["disabled"])):e.createCommentVNode("",!0),e.createVNode(C,{class:"global-info-section-block__confirm",link:"",type:"primary",loading:u.value.saving,onClick:S},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.value?"确认":"保存"),1)]),_:1},8,["loading"])],64)):(e.openBlock(),e.createBlock(C,{key:0,class:"global-info-section-block__edit",link:"",type:"primary",disabled:u.value.saving||p.value,onClick:T},{default:e.withCtx(()=>j[1]||(j[1]=[e.createTextVNode(" 编辑 ")])),_:1},8,["disabled"]))])):e.createCommentVNode("",!0)],!0)],!0)])),e.createElementVNode("div",Yo,[p.value?e.renderSlot(k.$slots,"loading",e.normalizeProps(e.mergeProps({key:0},g.value)),()=>[j[4]||(j[4]=e.createElementVNode("div",{class:"global-info-section-block__status"},"加载中...",-1))],!0):!d.value||b.value||v.value?e.renderSlot(k.$slots,"empty",e.normalizeProps(e.mergeProps({key:1},g.value)),()=>[j[5]||(j[5]=e.createElementVNode("div",{class:"global-info-section-block__status"},"暂无数据",-1))],!0):(e.openBlock(),e.createBlock(Go,{key:2,"boundary-key":k.node.key,label:w.value,onError:A},{fallback:e.withCtx(()=>[e.renderSlot(k.$slots,"empty",e.normalizeProps(e.guardReactiveProps(g.value)),()=>[j[6]||(j[6]=e.createElementVNode("div",{class:"global-info-section-block__status"},"暂无数据",-1))],!0)]),default:e.withCtx(()=>[e.createVNode(Rt,{section:d.value,node:k.node,editing:B.value,state:k.state,actions:k.actions},e.createSlots({_:2},[e.renderList(e.unref(o),(E,z)=>({name:z,fn:e.withCtx(U=>[e.renderSlot(k.$slots,z,e.normalizeProps(e.guardReactiveProps({...g.value,...U})),void 0,!0)])}))]),1032,["section","node","editing","state","actions"])]),_:3},8,["boundary-key","label"]))])])}}}),zt=J(Ho,[["__scopeId","data-v-0d8ae722"]]),Wo={class:"global-info-group"},Qo={class:"global-info-group__header"},Zo={class:"global-info-group__title"},Xo={class:"global-info-group__body"},ea=["id"],ta=e.defineComponent({name:"GlobalInfoGroup",__name:"GlobalInfoGroup",props:{group:{},children:{},state:{},actions:{},index:{}},setup(t){const n=t,o=e.useSlots(),r=e.computed(()=>n.group.tagName||n.group.label||"-"),a=e.computed(()=>n.children.length<=1);function l(i,p){const v=n.actions.getSection(i);return{node:i,group:n.group,sectionNode:i,section:v,sectionView:v,state:n.state,actions:n.actions,index:p,editing:!!(v&&n.actions.isEditing(v)),sectionStatus:n.actions.getSectionStatus(i),isSelfSection:w(i,0)===w(n.group,0),handleEdit:()=>n.actions.startEdit(i),handleCancel:()=>n.actions.cancelEdit(i),handleSave:()=>n.actions.saveSection(i.key)}}function f(i){return u("section",d(i))}function u(i,p){if(!p)return"";const v=`${i}-${p}`;if(o[v])return v;const b=v.toLowerCase();return b!==v&&o[b]?b:""}function d(i){return String(i.id||i.infSetId||i.tagId||i.key||i.code||"").trim()}function w(i,p){return i.key||i.id||i.infSetId||i.tagId||`${p}`}function B(i){return`global-info-section-${w(i,0)}`}return(i,p)=>(e.openBlock(),e.createElementBlock("section",Wo,[e.renderSlot(i.$slots,"header",{group:i.group,children:i.children,state:i.state,actions:i.actions,title:r.value,index:i.index,isEmpty:i.children.length===0},()=>[e.createElementVNode("header",Qo,[p[0]||(p[0]=e.createElementVNode("span",{class:"global-info-group__marker"},null,-1)),e.createElementVNode("h2",Zo,e.toDisplayString(r.value),1)])],!0),e.createElementVNode("div",Xo,[e.unref(o).default?e.renderSlot(i.$slots,"default",{key:0,group:i.group,children:i.children,state:i.state,actions:i.actions,index:i.index,isEmpty:i.children.length===0},void 0,!0):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.children,(v,b)=>(e.openBlock(),e.createElementBlock("div",{id:B(v),key:w(v,b),class:"global-info-group__section"},[f(v)?e.renderSlot(i.$slots,f(v),e.mergeProps({key:0,ref_for:!0},l(v,b)),void 0,!0):e.unref(o).section?e.renderSlot(i.$slots,"section",e.mergeProps({key:1,ref_for:!0},l(v,b)),void 0,!0):(e.openBlock(),e.createBlock(zt,{key:2,node:v,state:i.state,actions:i.actions,"hide-header":a.value},e.createSlots({_:2},[e.renderList(e.unref(o),(g,I)=>({name:I,fn:e.withCtx(T=>[e.renderSlot(i.$slots,I,e.mergeProps({ref_for:!0},T),void 0,!0)])}))]),1032,["node","state","actions","hide-header"]))],8,ea))),128)),i.children.length===0?e.renderSlot(i.$slots,"empty",{key:0,node:null,group:i.group,sectionNode:null,state:i.state,actions:i.actions,index:-1},()=>[p[1]||(p[1]=e.createElementVNode("div",{class:"global-info-group__empty"},"暂无数据",-1))],!0):e.createCommentVNode("",!0)],64))])]))}}),Gt=J(ta,[["__scopeId","data-v-778e227f"]]),na={class:"global-info-sections"},oa=e.defineComponent({name:"GlobalInfoSections",__name:"GlobalInfoSections",props:{nodes:{},state:{},actions:{}},setup(t){const n=t,o=e.useSlots(),r=e.computed(()=>{const p=n.nodes.filter(y=>a(y).length>0),v=n.nodes.filter(y=>a(y).length===0),b=v.filter(y=>l(y)),g=v.filter(y=>!l(y)),I=p.map(y=>({group:y,children:a(y)})),T=b.map(y=>({group:y,children:[y]}));if(I.length===0)return b.length>0?T:i(g);const m=i(g);return[...I,...T,...m]});function a(p){return p.children??[]}function l(p){return!String(p.parentId||p.parentTagId||"").trim()}function f(p){return u("group",d(p))}function u(p,v){if(!v)return"";const b=`${p}-${v}`;if(o[b])return b;const g=b.toLowerCase();return g!==b&&o[g]?g:""}function d(p){return String(p.id||p.tagId||p.key||p.code||"").trim()}function w(p,v){return p.key||p.id||p.tagId||`${v}`}function B(p){const v=p[0],b=v?.raw??{},g=String(b.parentTagName||b.parentName||b.parentLabel||v?.parentId||"信息");return{...v,key:`${v?.parentId||v?.parentTagId||v?.key||"global-info"}-group`,id:String(v?.parentId||v?.parentTagId||v?.id||"global-info-group"),tagId:String(v?.parentTagId||v?.parentId||v?.tagId||"global-info-group"),tagName:g,label:g,children:p}}function i(p){const v=new Map;return p.forEach(b=>{const g=String(b.parentId||b.parentTagId||"global-info-flat"),I=v.get(g)??[];I.push(b),v.set(g,I)}),Array.from(v.values()).map(b=>({group:B(b),children:b}))}return(p,v)=>(e.openBlock(),e.createElementBlock("div",na,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,(b,g)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:w(b.group,g)},[f(b.group)?e.renderSlot(p.$slots,f(b.group),{key:0,group:b.group,children:b.children,state:p.state,actions:p.actions,index:g,isEmpty:b.children.length===0},void 0,!0):e.unref(o).group?e.renderSlot(p.$slots,"group",{key:1,group:b.group,children:b.children,state:p.state,actions:p.actions,index:g,isEmpty:b.children.length===0},void 0,!0):(e.openBlock(),e.createBlock(Gt,{key:2,group:b.group,children:b.children,state:p.state,actions:p.actions,index:g},e.createSlots({_:2},[e.renderList(e.unref(o),(I,T)=>({name:T,fn:e.withCtx(m=>[e.renderSlot(p.$slots,T,e.mergeProps({ref_for:!0},m),void 0,!0)])}))]),1032,["group","children","state","actions","index"]))],64))),128))]))}}),aa=J(oa,[["__scopeId","data-v-f15cf0fb"]]);exports.GlobalInfoAutoRenderer=Ft;exports.GlobalInfoDeleteConfirm=xt;exports.GlobalInfoFieldControl=ze;exports.GlobalInfoFieldValue=Ge;exports.GlobalInfoFormRenderer=Dt;exports.GlobalInfoGroup=Gt;exports.GlobalInfoProvider=So;exports.GlobalInfoSectionBlock=zt;exports.GlobalInfoSectionOutlet=Rt;exports.GlobalInfoSections=aa;exports.GlobalInfoTableRenderer=$t;exports.JtAttachmentPreview=eo;exports.JtAttachmentPreviewByParams=gt;exports.JtButton=he;exports.JtCascader=tt;exports.JtCrudTable=Cn;exports.JtDatePicker=nt;exports.JtFilterBar=rt;exports.JtFormItems=at;exports.JtInput=_e;exports.JtPageHeader=ro;exports.JtPagination=An;exports.JtSelect=ot;exports.JtTable=lt;exports.buildGlobalInfoUpdatePayload=wt;exports.createEmptyGlobalInfoViewModel=ht;exports.isGlobalInfoNode=lo;exports.mergeGlobalInfoChildren=Fe;exports.normalizeGlobalInfoDetail=yt;exports.normalizeGlobalInfoTree=Me;exports.resolveGlobalInfoRenderType=bt;exports.setupJtAttachmentPreview=vt;exports.useGlobalInfoController=Vt;
|
|
2
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),P=require("element-plus/es"),xe=require("./JtAttachmentPreview/index.cjs"),ce=require("element-plus"),Ce=2,jt=3;function Pt(o){return o.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}function ze(o){if(!o.startsWith("on")||o.length<=Ce)return!1;const r=o.charCodeAt(Ce);return r<97||r>122}function Tt(o){if(o.startsWith("on-"))return o.slice(jt);const[r,n]=o.slice(Ce).split(":"),t=Pt(r);return n?`${t}:${n}`:t}function Ke(o,r=new Set){return Object.fromEntries(Object.entries(o).filter(([n,t])=>!r.has(n)&&ze(n)&&typeof t=="function").map(([n,t])=>[Tt(n),t]))}function Ue(o,r=new Set){return Object.fromEntries(Object.entries(o).filter(([n])=>!r.has(n)&&!ze(n)))}const Ft=e.defineComponent({name:"JtButton",__name:"index",props:{size:{type:null,required:!1},disabled:{type:Boolean,required:!1},type:{type:null,required:!1},icon:{type:String,required:!1},nativeType:{type:null,required:!1},loading:{type:Boolean,required:!1},loadingIcon:{type:null,required:!1},plain:{type:Boolean,required:!1},text:{type:Boolean,required:!1},link:{type:Boolean,required:!1},bg:{type:Boolean,required:!1},autofocus:{type:Boolean,required:!1},round:{type:Boolean,required:!1},circle:{type:Boolean,required:!1},dashed:{type:Boolean,required:!1},color:{type:String,required:!1},dark:{type:Boolean,required:!1},autoInsertSpace:{type:Boolean,required:!1},tag:{type:null,required:!1}},setup(o,{expose:r}){r();const n=o,t=e.useAttrs(),a=e.computed(()=>{const{icon:l,...s}=n;return{...Ue(t),...s}}),u=e.computed(()=>Ke(t)),i={props:n,attrs:t,buttonProps:a,buttonEvents:u};return Object.defineProperty(i,"__isScriptSetup",{enumerable:!1,value:!0}),i}}),G=(o,r)=>{const n=o.__vccOpts||o;for(const[t,a]of r)n[t]=a;return n};function Ot(o,r,n,t,a,u){const i=P.ElIcon,l=P.ElButton;return e.openBlock(),e.createBlock(l,e.mergeProps({class:"jt-button"},t.buttonProps,e.toHandlers(t.buttonEvents)),{default:e.withCtx(()=>[o.$slots.icon?(e.openBlock(),e.createBlock(i,{key:0,class:"jt-button__icon"},{default:e.withCtx(()=>[e.renderSlot(o.$slots,"icon",{},void 0,!0)]),_:3})):t.props.icon?(e.openBlock(),e.createBlock(i,{key:1,class:"jt-button__icon"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.props.icon)))]),_:1})):e.createCommentVNode("v-if",!0),e.renderSlot(o.$slots,"default",{},void 0,!0)]),_:3},16)}const Ne=G(Ft,[["render",Ot],["__scopeId","data-v-fb1ad093"],["__file","C:/Users/seven.lu/Desktop/JT-Express/yl-jhrcn-jhrfront-mfe-components/src/components/JtButton/index.vue"]]),Dt=e.defineComponent({name:"JtCascader",__name:"index",props:{size:{type:null,required:!1},placeholder:{type:String,required:!1,default:"请选择"},disabled:{type:Boolean,required:!1},clearable:{type:Boolean,required:!1,default:!0},clearIcon:{type:null,required:!1},filterable:{type:Boolean,required:!1},filterMethod:{type:Function,required:!1},separator:{type:String,required:!1},showAllLevels:{type:Boolean,required:!1},collapseTags:{type:Boolean,required:!1},maxCollapseTags:{type:Number,required:!1},collapseTagsTooltip:{type:Boolean,required:!1},maxCollapseTagsTooltipHeight:{type:[String,Number],required:!1},debounce:{type:Number,required:!1},beforeFilter:{type:Function,required:!1},placement:{type:String,required:!1},fallbackPlacements:{type:Array,required:!1},popperClass:{type:[String,Object,Array],required:!1},popperStyle:{type:[Boolean,null,String,Object,Array],required:!1,skipCheck:!0},teleported:{type:Boolean,required:!1},effect:{type:null,required:!1},tagType:{type:String,required:!1},tagEffect:{type:String,required:!1},validateEvent:{type:Boolean,required:!1},persistent:{type:Boolean,required:!1},showCheckedStrategy:{type:String,required:!1},checkOnClickNode:{type:Boolean,required:!1},showPrefix:{type:Boolean,required:!1},fitInputWidth:{type:[Boolean,Number],required:!1},modelValue:{type:[String,Number,Object,Array,null],required:!1},props:{type:Object,required:!1},virtualScroll:{type:Boolean,required:!1},itemSize:{type:Number,required:!1},height:{type:Number,required:!1},emptyValues:{type:Array,required:!1},valueOnClear:{type:[String,Number,Boolean,Function,null],required:!1},options:{type:Array,required:!1,default:()=>[]}},emits:ce.cascaderEmits,setup(o,{expose:r,emit:n}){r();const t=o,a=n,u=e.computed(()=>Object.fromEntries(Object.keys(ce.cascaderEmits).map(l=>[l,(...s)=>a(l,...s)]))),i={props:t,emitCascaderEvent:a,cascaderEvents:u};return Object.defineProperty(i,"__isScriptSetup",{enumerable:!1,value:!0}),i}});function Rt(o,r,n,t,a,u){const i=P.ElCascader;return e.openBlock(),e.createBlock(i,e.mergeProps({class:"jt-cascader"},t.props,e.toHandlers(t.cascaderEvents)),null,16)}const He=G(Dt,[["render",Rt],["__scopeId","data-v-04314919"],["__file","C:/Users/seven.lu/Desktop/JT-Express/yl-jhrcn-jhrfront-mfe-components/src/components/form/item/JtCascader/index.vue"]]),Gt=e.defineComponent({name:"JtDatePicker",__name:"index",props:{type:{type:null,required:!1,default:"date"},showNow:{type:Boolean,required:!1},showConfirm:{type:Boolean,required:!1},showFooter:{type:Boolean,required:!1},showWeekNumber:{type:Boolean,required:!1},ariaLabel:{type:String,required:!1},emptyValues:{type:Array,required:!1},valueOnClear:{type:null,required:!1},disabledDate:{type:null,required:!1},cellClassName:{type:null,required:!1},shortcuts:{type:Array,required:!1},arrowControl:{type:Boolean,required:!1},tabindex:{type:null,required:!1},validateEvent:{type:Boolean,required:!1},unlinkPanels:{type:Boolean,required:!1},singlePanel:{type:Boolean,required:!1},placement:{type:null,required:!1},fallbackPlacements:{type:null,required:!1},disabledHours:{type:null,required:!1},disabledMinutes:{type:null,required:!1},disabledSeconds:{type:null,required:!1},automaticDropdown:{type:Boolean,required:!1},id:{type:null,required:!1},name:{type:null,required:!1},popperClass:{type:null,required:!1},popperStyle:{type:null,required:!1},format:{type:String,required:!1},valueFormat:{type:String,required:!1,default:"YYYY-MM-DD"},dateFormat:{type:String,required:!1},timeFormat:{type:String,required:!1},clearable:{type:Boolean,required:!1,default:!0},clearIcon:{type:null,required:!1},editable:{type:Boolean,required:!1},saveOnBlur:{type:Boolean,required:!1},prefixIcon:{type:null,required:!1},size:{type:String,required:!1},readonly:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},placeholder:{type:String,required:!1,default:"请选择日期"},popperOptions:{type:null,required:!1},modelValue:{type:null,required:!1},rangeSeparator:{type:String,required:!1},startPlaceholder:{type:String,required:!1},endPlaceholder:{type:String,required:!1},defaultValue:{type:null,required:!1},defaultTime:{type:null,required:!1},isRange:{type:Boolean,required:!1}},setup(o,{expose:r}){r();const n=o,t=e.computed(()=>({...n,startPlaceholder:n.startPlaceholder??(a(n.type)?"开始日期":void 0),endPlaceholder:n.endPlaceholder??(a(n.type)?"结束日期":void 0)}));function a(i){return i?.includes("range")??!1}const u={props:n,datePickerProps:t,isRangeType:a};return Object.defineProperty(u,"__isScriptSetup",{enumerable:!1,value:!0}),u}});function Mt(o,r,n,t,a,u){const i=P.ElDatePicker;return e.openBlock(),e.createBlock(i,e.mergeProps({class:"jt-date-picker"},t.datePickerProps,{"onUpdate:modelValue":r[0]||(r[0]=l=>o.$emit("update:modelValue",l))}),null,16)}const We=G(Gt,[["render",Mt],["__scopeId","data-v-b02a89a7"],["__file","C:/Users/seven.lu/Desktop/JT-Express/yl-jhrcn-jhrfront-mfe-components/src/components/form/item/JtDatePicker/index.vue"]]),Lt=e.defineComponent({name:"JtInput",__name:"index",props:{id:{type:String,required:!1},size:{type:null,required:!1},disabled:{type:Boolean,required:!1},modelValue:{type:null,required:!1},modelModifiers:{type:Object,required:!1},maxlength:{type:[String,Number],required:!1},minlength:{type:[String,Number],required:!1},type:{type:String,required:!1},resize:{type:String,required:!1},autosize:{type:[Object,Boolean],required:!1},autocomplete:{type:String,required:!1},formatter:{type:Function,required:!1},parser:{type:Function,required:!1},placeholder:{type:String,required:!1,default:"请输入"},form:{type:String,required:!1},readonly:{type:Boolean,required:!1},clearable:{type:Boolean,required:!1,default:!0},clearIcon:{type:null,required:!1},showPassword:{type:Boolean,required:!1},showWordLimit:{type:Boolean,required:!1},wordLimitPosition:{type:String,required:!1},suffixIcon:{type:null,required:!1},prefixIcon:{type:null,required:!1},containerRole:{type:String,required:!1},tabindex:{type:[String,Number],required:!1},validateEvent:{type:Boolean,required:!1},inputStyle:{type:[Boolean,null,String,Object,Array],required:!1,skipCheck:!0},autofocus:{type:Boolean,required:!1},rows:{type:Number,required:!1},ariaLabel:{type:String,required:!1},inputmode:{type:null,required:!1},name:{type:String,required:!1},countGraphemes:{type:Function,required:!1}},emits:{...ce.inputEmits,enter:()=>!0},setup(o,{expose:r,emit:n}){r();const t=o,a=n,u=e.computed(()=>Object.fromEntries(Object.keys(ce.inputEmits).map(l=>[l,(...s)=>a(l,...s)]))),i={props:t,emitInputEvent:a,inputEvents:u};return Object.defineProperty(i,"__isScriptSetup",{enumerable:!1,value:!0}),i}});function At(o,r,n,t,a,u){const i=P.ElInput;return e.openBlock(),e.createBlock(i,e.mergeProps({class:"jt-input"},t.props,e.toHandlers(t.inputEvents),{onKeyup:r[0]||(r[0]=e.withKeys(l=>t.emitInputEvent("enter"),["enter"]))}),null,16)}const Se=G(Lt,[["render",At],["__scopeId","data-v-cbdadda6"],["__file","C:/Users/seven.lu/Desktop/JT-Express/yl-jhrcn-jhrfront-mfe-components/src/components/form/item/JtInput/index.vue"]]),Jt=e.defineComponent({name:"JtSelect",__name:"index",props:{options:{type:Array,required:!1},ariaLabel:{type:String,required:!1},emptyValues:{type:Array,required:!1},valueOnClear:{type:null,required:!1},name:{type:String,required:!1},id:{type:String,required:!1},modelValue:{type:null,required:!1},autocomplete:{type:String,required:!1},automaticDropdown:{type:Boolean,required:!1},size:{type:String,required:!1},effect:{type:null,required:!1},disabled:{type:Boolean,required:!1},clearable:{type:Boolean,required:!1,default:!0},filterable:{type:Boolean,required:!1,default:!0},allowCreate:{type:Boolean,required:!1},loading:{type:Boolean,required:!1},popperClass:{type:String,required:!1},popperStyle:{type:null,required:!1},popperOptions:{type:null,required:!1},remote:{type:Boolean,required:!1},debounce:{type:Number,required:!1},loadingText:{type:String,required:!1},noMatchText:{type:String,required:!1},noDataText:{type:String,required:!1},remoteMethod:{type:null,required:!1},filterMethod:{type:null,required:!1},multiple:{type:Boolean,required:!1},multipleLimit:{type:Number,required:!1},placeholder:{type:null,required:!1,default:"请选择"},defaultFirstOption:{type:Boolean,required:!1},reserveKeyword:{type:Boolean,required:!1},valueKey:{type:String,required:!1},collapseTags:{type:Boolean,required:!1},collapseTagsTooltip:{type:Boolean,required:!1},tagTooltip:{type:null,required:!1},maxCollapseTags:{type:Number,required:!1},teleported:{type:Boolean,required:!1},persistent:{type:Boolean,required:!1},clearIcon:{type:null,required:!1},fitInputWidth:{type:Boolean,required:!1},suffixIcon:{type:null,required:!1},tagType:{type:String,required:!1},tagEffect:{type:String,required:!1},validateEvent:{type:Boolean,required:!1},remoteShowSuffix:{type:Boolean,required:!1},showArrow:{type:Boolean,required:!1},offset:{type:Number,required:!1},placement:{type:null,required:!1},fallbackPlacements:{type:null,required:!1},tabindex:{type:null,required:!1},appendTo:{type:null,required:!1},props:{type:null,required:!1}},emits:ce.selectEmits,setup(o,{expose:r,emit:n}){r();const t=o,a=e.computed(()=>{const{options:s,...m}=t;return m}),u=n,i=e.computed(()=>Object.fromEntries(Object.keys(ce.selectEmits).map(s=>[s,(...m)=>u(s,...m)]))),l={props:t,selectProps:a,emitSelectEvent:u,selectEvents:i};return Object.defineProperty(l,"__isScriptSetup",{enumerable:!1,value:!0}),l}});function zt(o,r,n,t,a,u){const i=P.ElOption,l=P.ElSelect;return e.openBlock(),e.createBlock(l,e.mergeProps({class:"jt-select"},t.selectProps,e.toHandlers(t.selectEvents)),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.options??[],s=>(e.openBlock(),e.createBlock(i,e.mergeProps({key:s.value,ref_for:!0},s),null,16))),128))]),_:1},16)}const Ye=G(Jt,[["render",zt],["__scopeId","data-v-974489c0"],["__file","C:/Users/seven.lu/Desktop/JT-Express/yl-jhrcn-jhrfront-mfe-components/src/components/form/item/JtSelect/index.vue"]]),be=4,Kt=e.defineComponent({name:"JTFormItems",__name:"JtFormItems",props:{configs:{type:Array,required:!0},formData:{type:Object,required:!0},span:{type:Number,required:!1}},setup(o,{expose:r}){r();const n=o,t={input:Se,select:Ye,cascader:He,"date-picker":We},a={"remote-select":"select",date:"date-picker",daterange:"date-picker","date-range":"date-picker",dateRange:"date-picker"},u=new Set(["prop","label","itemType","span","options","rules","formItemProps","showSlot","show"]),i=Object.keys(t),l=new Map,s=e.computed(()=>n.configs.filter(g=>g.show!==!1)),m=g=>{const{itemType:I}=g;if(!I)return Se;if(typeof I!="string")return I;const E=a[I]??I;return i.includes(E)?t[E]:(console.error(`[JtFormItems] 不支持的 itemType: "${I}",支持的类型: ${i.join(", ")}`),Se)},v=g=>{const I=Ue(g,u);return g.itemType==="select"||g.itemType==="remote-select"||g.itemType==="cascader"?{...I,options:g.options}:O(g.itemType)?{...I,type:"daterange"}:I},h=g=>Ke(g,u),k=g=>({rules:g.rules,...g.formItemProps}),b=(g,I)=>{n.formData[g]=I};function p(g){return I=>{if(I){l.set(g,I);return}l.delete(g)}}function _(g,I){e.nextTick(()=>{l.get(g)?.validate(I).catch(()=>{})})}const S=g=>Math.min(Math.max(Math.trunc(g||1),1),4),q=e.computed(()=>{const I=s.value.reduce((E,F)=>E+S(n.span||F.span),0)%be;return I===0?{gridColumn:`1 / span ${be}`}:{gridColumn:`${I+1} / span ${be-I}`}}),D=g=>({gridColumn:`span ${S(n.span||g.span)}`});function O(g){return g==="daterange"||g==="date-range"||g==="dateRange"}const y={props:n,componentMap:t,compatibleItemTypeMap:a,internalKeys:u,supportedTypes:i,formItemRefs:l,visibleConfigs:s,resolveItemComponent:m,getComponentProps:v,getComponentEvents:h,getFormItemProps:k,updateField:b,setFormItemRef:p,validateField:_,normalizeSpan:S,formColumns:be,actionsStyle:q,getItemStyle:D,isDateRangeType:O};return Object.defineProperty(y,"__isScriptSetup",{enumerable:!1,value:!0}),y}}),Ut={class:"jt-form-items"};function Ht(o,r,n,t,a,u){const i=P.ElFormItem;return e.openBlock(),e.createElementBlock("div",Ut,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.visibleConfigs,l=>(e.openBlock(),e.createBlock(i,e.mergeProps({key:l.prop,ref_for:!0,ref:t.setFormItemRef(l.prop),class:"jt-form-items__item",style:t.getItemStyle(l),label:l.label,prop:l.prop},t.getFormItemProps(l)),{default:e.withCtx(()=>[l.showSlot?e.renderSlot(o.$slots,l.prop,{key:0},void 0,!0):(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.resolveItemComponent(l)),e.mergeProps({key:1,"model-value":n.formData[l.prop],ref_for:!0},t.getComponentProps(l),e.toHandlers(t.getComponentEvents(l)),{"onUpdate:modelValue":s=>t.updateField(l.prop,s),onChange:()=>t.validateField(l.prop,"change"),onBlur:()=>t.validateField(l.prop,"blur")}),null,16,["model-value","onUpdate:modelValue","onChange","onBlur"]))]),_:2},1040,["style","label","prop"]))),128)),o.$slots.actions?(e.openBlock(),e.createBlock(i,{key:0,class:"jt-form-items__actions",style:e.normalizeStyle(t.actionsStyle)},{default:e.withCtx(()=>[e.renderSlot(o.$slots,"actions",{},void 0,!0)]),_:3},8,["style"])):e.createCommentVNode("v-if",!0)])}const Ze=G(Kt,[["render",Ht],["__scopeId","data-v-34dd1869"],["__file","C:/Users/seven.lu/Desktop/JT-Express/yl-jhrcn-jhrfront-mfe-components/src/components/form/JtFormItems.vue"]]);function Wt(){const o=e.ref(!1);function r(){o.value=!0}function n(){o.value=!1}return{searchDisabled:o,searchLoading:r,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=e.defineComponent({name:"JtFilterBar",__name:"JtFilterBar",props:{columns:{type:Array,required:!0},option:{type:Object,required:!1,default:()=>({})},modelValue:{type:Object,required:!0}},emits:["update:modelValue","search","reset"],setup(o,{expose:r,emit:n}){const t=o,a=n,u=e.ref(),i=e.useSlots(),l=e.ref({}),{searchDisabled:s,searchLoading:m,searchDone:v}=Wt(),h=e.computed(()=>t.option),k=e.ref(h.value.searchCollapsed??!1),b=e.computed(()=>t.columns.filter(w=>w.search===!0)),p=e.computed(()=>Math.max(1,h.value.searchSpan??4)),_=e.computed(()=>Math.max(1,h.value.searchCollapsedRows??1)),S=e.computed(()=>Math.max(1,p.value-1)),q=e.computed(()=>Math.max(1,S.value*_.value)),D=e.computed(()=>te(h.value.searchLabelWidth??84)),O=e.computed(()=>h.value.searchLabelPosition??"top"),y=e.computed(()=>le(h.value.searchGutter,14)),g=e.computed(()=>le(h.value.searchRowGap,14)),I=e.computed(()=>ae(h.value.searchPadding??"18px 4px 0")),E=e.computed(()=>h.value.searchCollapse===!1?!1:ge(b.value)>q.value),F=e.computed(()=>{if(!E.value||!k.value)return b.value;let w=0;return b.value.filter(M=>{const z=ee(M);return w+z>q.value?!1:(w+=z,!0)})}),x=e.computed(()=>F.value.filter(w=>!!i[`${w.prop}-search`])),J=e.computed(()=>F.value.map(w=>Q(w)));e.watch(()=>h.value.searchCollapsed,w=>{typeof w=="boolean"&&(k.value=w)}),e.watch(()=>t.modelValue,w=>{l.value={...w}},{deep:!0,immediate:!0});function W(w,M){if(s.value)return;const z={...l.value,[w]:M};l.value=z,a("update:modelValue",z)}function Q(w){const M=w.searchProps??{};return{...M,prop:w.prop,label:w.searchLabel??w.label,span:ee(w),itemType:w.searchType??"input",showSlot:!!i[`${w.prop}-search`],options:M.options??w.searchOptions??w.dicData,placeholder:M.placeholder??w.searchPlaceholder,valueFormat:M.valueFormat??w.searchValueFormat,disabled:s.value||M.disabled===!0,formItemProps:{required:w.searchRequired,class:["jt-filter-bar__item",{"is-required":w.searchRequired}]},onEnter:(...z)=>{re(M.onEnter,...z),ye()},"onUpdate:modelValue":z=>{re(M["onUpdate:modelValue"],z),W(w.prop,z)}}}function re(w,...M){if(Array.isArray(w)){w.forEach(z=>re(z,...M));return}typeof w=="function"&&w(...M)}async function ye(){if(!s.value){if(u.value)try{await u.value.validate()}catch{return}a("search")}}function Ie(){s.value||a("reset")}function U(){k.value=!k.value}function ee(w){return Math.min(p.value,Math.max(1,w.searchSpan??1))}function ge(w){return w.reduce((M,z)=>M+ee(z),0)}function te(w){return typeof w=="number"?`${w}px`:w}function le(w,M){return typeof w=="number"?w:M}function ae(w){return typeof w=="number"?`${w}px`:w}r({formRef:u,searchDisabled:s,searchLoading:m,searchDone:v});const ve={props:t,emit:a,formRef:u,slots:i,filterModel:l,searchDisabled:s,searchLoading:m,searchDone:v,resolvedOptions:h,collapsed:k,searchableColumns:b,formColumns:p,collapsedRows:_,collapsedColumns:S,collapsedSpanLimit:q,labelWidth:D,labelPosition:O,columnGap:y,rowGap:g,filterPadding:I,collapseEnabled:E,visibleSearchColumns:F,slottedSearchColumns:x,searchFormConfigs:J,onFieldChange:W,createSearchFormConfig:Q,callEventHandler:re,handleSearch:ye,handleReset:Ie,toggleCollapsed:U,getColumnSpan:ee,getTotalSpan:ge,formatSize:te,normalizeGap:le,formatPadding:ae,get JtButton(){return Ne},get JtFormItems(){return Ze},get circleArrowIcon(){return Yt},get resetIcon(){return Zt},get searchIcon(){return Qt}};return Object.defineProperty(ve,"__isScriptSetup",{enumerable:!1,value:!0}),ve}}),$t={class:"jt-filter-bar__btns"},eo=["src"],to=["src"],oo=["src"];function no(o,r,n,t,a,u){const i=P.ElForm;return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["jt-filter-bar",`is-label-${t.labelPosition}`]),style:e.normalizeStyle({"--jt-filter-columns":t.formColumns,"--jt-filter-label-width":t.labelWidth,"--jt-filter-column-gap":`${t.columnGap}px`,"--jt-filter-row-gap":`${t.rowGap}px`,"--jt-filter-padding":t.filterPadding})},[e.createVNode(i,{ref:"formRef",class:"jt-filter-bar__form",model:t.filterModel,"label-position":t.labelPosition,"label-width":t.labelWidth,disabled:t.searchDisabled,onSubmit:r[0]||(r[0]=e.withModifiers(()=>{},["prevent"]))},{default:e.withCtx(()=>[e.createVNode(t.JtFormItems,{configs:t.searchFormConfigs,"form-data":t.filterModel},e.createSlots({actions:e.withCtx(()=>[e.createElementVNode("div",$t,[e.renderSlot(o.$slots,"search-menu",{search:t.handleSearch,reset:t.handleReset,disabled:t.searchDisabled,collapsed:t.collapsed,toggleCollapse:t.toggleCollapsed},()=>[t.collapseEnabled?(e.openBlock(),e.createBlock(t.JtButton,{key:0,class:"jt-filter-bar__btn-collapse",onClick:t.toggleCollapsed},{icon:e.withCtx(()=>[e.createElementVNode("img",{class:e.normalizeClass(["jt-filter-bar__icon-arrow",{"is-collapsed":t.collapsed}]),src:t.circleArrowIcon,alt:""},null,10,eo)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(t.collapsed?"展 开":"收 起"),1)]),_:1})):e.createCommentVNode("v-if",!0),e.createVNode(t.JtButton,{class:"jt-filter-bar__btn-reset",disabled:t.searchDisabled,onClick:t.handleReset},{icon:e.withCtx(()=>[e.createElementVNode("img",{src:t.resetIcon,alt:""},null,8,to)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(t.resolvedOptions.resetBtnText??"重 置"),1)]),_:1},8,["disabled"]),e.createVNode(t.JtButton,{class:"jt-filter-bar__btn-query",type:"primary",disabled:t.searchDisabled,onClick:t.handleSearch},{icon:e.withCtx(()=>[e.createElementVNode("img",{src:t.searchIcon,alt:""},null,8,oo)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(t.resolvedOptions.searchBtnText??"查 询"),1)]),_:1},8,["disabled"])],!0)])]),_:2},[e.renderList(t.slottedSearchColumns,l=>({name:l.prop,fn:e.withCtx(()=>[e.renderSlot(o.$slots,`${l.prop}-search`,{value:t.filterModel[l.prop],column:l,setValue:s=>t.onFieldChange(l.prop,s),search:t.handleSearch,reset:t.handleReset,disabled:t.searchDisabled},void 0,!0)])}))]),1032,["configs","form-data"])]),_:3},8,["model","label-position","label-width","disabled"])],6)}const Qe=G(Xt,[["render",no],["__scopeId","data-v-728c0ffb"],["__file","C:/Users/seven.lu/Desktop/JT-Express/yl-jhrcn-jhrfront-mfe-components/src/components/table/JtFilterBar.vue"]]),ro=e.defineComponent({name:"JtTable",__name:"JtTable",props:{data:{type:Array,required:!0},columns:{type:Array,required:!0},option:{type:Object,required:!1},tableEvents:{type:Object,required:!1}},setup(o,{expose:r}){const n=o,t=e.useSlots(),a=e.ref(),u=e.computed(()=>n.option??{}),i=e.computed(()=>n.columns.filter(p=>!p.hide));function l(p){return!!t[`${p}-header`]}function s(p){return!!t[`${p}-data`]}function m(p){return{width:p.width,minWidth:p.minWidth,align:p.align,fixed:p.fixed,sortable:p.sortable,showOverflowTooltip:p.showOverflowTooltip,...p.columnOptions}}function v(p){return!h(p.columnOptions?.type)}function h(p){return p==="selection"||p==="index"||p==="expand"}function k(p,_){return p.find(S=>S.value===_)?.label??String(_??"")}r({tableRef:a});const b={props:n,slots:t,tableRef:a,resolvedOptions:u,visibleColumns:i,hasHeaderSlot:l,hasDataSlot:s,getColumnOptions:m,canRenderDefaultSlot:v,isNativeColumnType:h,mapDicLabel:k};return Object.defineProperty(b,"__isScriptSetup",{enumerable:!1,value:!0}),b}});function lo(o,r,n,t,a,u){const i=P.ElTableColumn,l=P.ElTable;return e.openBlock(),e.createBlock(l,e.mergeProps({ref:"tableRef",data:n.data,"row-key":t.resolvedOptions.rowKey??"id",height:t.resolvedOptions.height,"max-height":t.resolvedOptions.maxHeight,"empty-text":t.resolvedOptions.emptyText,class:"jt-table"},t.resolvedOptions.tableProps,e.toHandlers(n.tableEvents)),{default:e.withCtx(()=>[e.createCommentVNode(" 多选列 "),t.resolvedOptions.selection?(e.openBlock(),e.createBlock(i,{key:0,type:"selection",width:"55",align:"center"})):e.createCommentVNode("v-if",!0),e.createCommentVNode(" 序号列 "),t.resolvedOptions.index?(e.openBlock(),e.createBlock(i,{key:1,type:"index",label:t.resolvedOptions.indexLabel??"序号",width:"60",align:"center"},null,8,["label"])):e.createCommentVNode("v-if",!0),e.createCommentVNode(" 数据列 "),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.visibleColumns,s=>(e.openBlock(),e.createBlock(i,e.mergeProps({key:s.prop,prop:s.prop,label:s.label,formatter:!t.hasDataSlot(s.prop)&&!s.dicData?s.formatter:void 0,ref_for:!0},t.getColumnOptions(s)),e.createSlots({_:2},[t.hasHeaderSlot(s.prop)?{name:"header",fn:e.withCtx(m=>[e.renderSlot(o.$slots,`${s.prop}-header`,e.mergeProps({ref_for:!0},m),void 0,!0)]),key:"0"}:void 0,t.canRenderDefaultSlot(s)?{name:"default",fn:e.withCtx(m=>[e.createCommentVNode(" 优先使用自定义插槽 "),t.hasDataSlot(s.prop)?e.renderSlot(o.$slots,`${s.prop}-data`,e.mergeProps({key:0,ref_for:!0},m),void 0,!0):s.dicData?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createCommentVNode(" 字典映射 "),e.createElementVNode("span",null,e.toDisplayString(t.mapDicLabel(s.dicData,m.row[s.prop])),1)],2112)):s.formatter?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[e.createCommentVNode(" formatter "),e.createElementVNode("span",null,e.toDisplayString(s.formatter(m.row,m.column,m.row[s.prop],m.$index)),1)],2112)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:3},[e.createCommentVNode(" 默认文本 "),e.createElementVNode("span",null,e.toDisplayString(m.row[s.prop]),1)],2112))]),key:"1"}:void 0]),1040,["prop","label","formatter"]))),128)),e.createCommentVNode(" 操作列 "),t.resolvedOptions.menu?(e.openBlock(),e.createBlock(i,{key:2,label:t.resolvedOptions.menuLabel??"操作",width:t.resolvedOptions.menuWidth,"min-width":t.resolvedOptions.menuMinWidth,align:t.resolvedOptions.menuAlign??"center",fixed:t.resolvedOptions.menuFixed},{default:e.withCtx(s=>[e.renderSlot(o.$slots,"menu",e.normalizeProps(e.guardReactiveProps(s)),void 0,!0)]),_:3},8,["label","width","min-width","align","fixed"])):e.createCommentVNode("v-if",!0)]),_:3},16,["data","row-key","height","max-height","empty-text"])}const Xe=G(ro,[["render",lo],["__scopeId","data-v-a5da37f4"],["__file","C:/Users/seven.lu/Desktop/JT-Express/yl-jhrcn-jhrfront-mfe-components/src/components/table/JtTable.vue"]]),ao=e.defineComponent({name:"JtPagination",__name:"JtPagination",props:{currentPage:{type:Number,required:!0},pageSize:{type:Number,required:!0},total:{type:Number,required:!0},option:{type:Object,required:!1}},emits:["update:currentPage","update:pageSize","current-change","page-change","size-change"],setup(o,{expose:r,emit:n}){r();const t=o,a=e.computed(()=>t.option??{}),u=n;function i(s){u("current-change",s),u("page-change",s)}const l={props:t,resolvedOptions:a,emit:u,handleCurrentChange:i};return Object.defineProperty(l,"__isScriptSetup",{enumerable:!1,value:!0}),l}}),io={class:"jt-pagination"},so={class:"jt-pagination__count"};function co(o,r,n,t,a,u){const i=P.ElPagination;return e.openBlock(),e.createElementBlock("div",io,[e.createVNode(i,{"current-page":n.currentPage,"page-size":n.pageSize,"page-sizes":t.resolvedOptions.pageSizes??[10,20,50,100],total:n.total,layout:t.resolvedOptions.paginationLayout??"sizes, prev, pager, next, jumper","onUpdate:currentPage":r[0]||(r[0]=l=>o.$emit("update:currentPage",l)),"onUpdate:pageSize":r[1]||(r[1]=l=>o.$emit("update:pageSize",l)),onCurrentChange:t.handleCurrentChange,onSizeChange:r[2]||(r[2]=l=>o.$emit("size-change",l))},null,8,["current-page","page-size","page-sizes","total","layout"]),e.createElementVNode("span",so,"共"+e.toDisplayString(n.total)+"条记录",1)])}const uo=G(ao,[["render",co],["__scopeId","data-v-0f25e0f2"],["__file","C:/Users/seven.lu/Desktop/JT-Express/yl-jhrcn-jhrfront-mfe-components/src/components/table/JtPagination.vue"]]),fo=e.defineComponent({name:"JtCrudTable",__name:"JtCrudTable",props:e.mergeModels({columns:{type:Array,required:!0},option:{type:Object,required:!1,default:()=>({})},data:{type:Array,required:!0},total:{type:Number,required:!1,default:0},tableEvents:{type:Object,required:!1}},{currentPage:{type:Number,default:1},currentPageModifiers:{},pageSize:{type:Number,default:20},pageSizeModifiers:{},searchModel:{type:Object,default:()=>({})},searchModelModifiers:{}}),emits:e.mergeModels(["search","reset","page-change","size-change"],["update:currentPage","update:pageSize","update:searchModel"]),setup(o,{expose:r,emit:n}){const t=o,a=n,u=e.useModel(o,"currentPage"),i=e.useModel(o,"pageSize"),l=e.useModel(o,"searchModel"),s=e.useSlots(),m=e.ref(),v=e.ref(),h=e.computed(()=>t.option),k=e.computed(()=>h.value.searchShow!==!1),b=e.computed(()=>h.value.paginationShow!==!1),p=e.computed(()=>t.columns.filter(E=>E.search&&!!s[`${E.prop}-search`])),_=e.computed(()=>t.columns.filter(E=>!E.hide&&!!s[`${E.prop}-header`])),S=e.computed(()=>t.columns.filter(E=>!E.hide&&!!s[`${E.prop}-data`]));function q(){const E={};return t.columns.forEach(F=>{F.search&&(E[F.prop]=void 0)}),E}function D(){a("search",{...l.value})}function O(){l.value=q(),a("reset")}function y(){v.value?.searchLoading()}function g(){v.value?.searchDone()}r({tableRef:e.computed(()=>m.value?.tableRef),filterBarRef:v,searchLoading:y,searchDone:g});const I={props:t,emit:a,currentPage:u,pageSize:i,searchModel:l,slots:s,jtTableRef:m,filterBarRef:v,resolvedOptions:h,searchShow:k,paginationShow:b,searchSlotColumns:p,headerSlotColumns:_,dataSlotColumns:S,getInitialSearchForm:q,onSearch:D,onReset:O,searchLoading:y,searchDone:g,JtFilterBar:Qe,JtTable:Xe,JtPagination:uo};return Object.defineProperty(I,"__isScriptSetup",{enumerable:!1,value:!0}),I}}),po={class:"jt-crud-table"},mo={key:1,class:"jt-crud-table__toolbar"};function yo(o,r,n,t,a,u){const i=P.ElLoadingDirective;return e.openBlock(),e.createElementBlock("div",po,[e.createCommentVNode(" 顶部插槽:表头区域 "),e.renderSlot(o.$slots,"header",{},void 0,!0),e.createCommentVNode(" 筛选条 "),t.searchShow?(e.openBlock(),e.createBlock(t.JtFilterBar,{key:0,ref:"filterBarRef",modelValue:t.searchModel,"onUpdate:modelValue":r[0]||(r[0]=l=>t.searchModel=l),columns:n.columns,option:t.resolvedOptions,onSearch:t.onSearch,onReset:t.onReset},e.createSlots({_:2},[e.renderList(t.searchSlotColumns,l=>({name:`${l.prop}-search`,fn:e.withCtx(s=>[e.renderSlot(o.$slots,`${l.prop}-search`,e.normalizeProps(e.guardReactiveProps(s)),void 0,!0)])}))]),1032,["modelValue","columns","option"])):e.createCommentVNode("v-if",!0),e.createCommentVNode(" 表格与筛选之间的插槽 "),t.slots.toolbar?(e.openBlock(),e.createElementBlock("div",mo,[e.renderSlot(o.$slots,"toolbar",{},void 0,!0)])):e.createCommentVNode("v-if",!0),e.createCommentVNode(" 表格 "),e.withDirectives((e.openBlock(),e.createBlock(t.JtTable,{ref:"jtTableRef",data:n.data,columns:n.columns,option:t.resolvedOptions,"table-events":n.tableEvents},e.createSlots({_:2},[e.renderList(t.headerSlotColumns,l=>({name:`${l.prop}-header`,fn:e.withCtx(s=>[e.renderSlot(o.$slots,`${l.prop}-header`,e.normalizeProps(e.guardReactiveProps(s)),void 0,!0)])})),e.renderList(t.dataSlotColumns,l=>({name:`${l.prop}-data`,fn:e.withCtx(s=>[e.renderSlot(o.$slots,`${l.prop}-data`,e.normalizeProps(e.guardReactiveProps(s)),void 0,!0)])})),t.resolvedOptions.menu?{name:"menu",fn:e.withCtx(l=>[e.renderSlot(o.$slots,"menu",e.normalizeProps(e.guardReactiveProps(l)),void 0,!0)]),key:"0"}:void 0]),1032,["data","columns","option","table-events"])),[[i,t.resolvedOptions.loading]]),e.createCommentVNode(" 分页 "),t.paginationShow?(e.openBlock(),e.createBlock(t.JtPagination,{key:2,"current-page":t.currentPage,"onUpdate:currentPage":r[1]||(r[1]=l=>t.currentPage=l),"page-size":t.pageSize,"onUpdate:pageSize":r[2]||(r[2]=l=>t.pageSize=l),total:n.total,option:t.resolvedOptions,onPageChange:r[3]||(r[3]=l=>o.$emit("page-change",l)),onSizeChange:r[4]||(r[4]=l=>o.$emit("size-change",l))},null,8,["current-page","page-size","total","option"])):e.createCommentVNode("v-if",!0)])}const go=G(fo,[["render",yo],["__scopeId","data-v-fb176520"],["__file","C:/Users/seven.lu/Desktop/JT-Express/yl-jhrcn-jhrfront-mfe-components/src/components/table/JtCrudTable.vue"]]),vo=e.defineComponent({name:"JtPageHeader",__name:"index",props:{type:{type:String,required:!1,default:"section"},title:{type:String,required:!1},operates:{type:Array,required:!1,default:()=>[]}},emits:["operate-click"],setup(o,{expose:r,emit:n}){r();const t=o,a=n,u=e.useSlots(),i=e.computed(()=>t.operates.length>0||!!u.operates);function l(m,v){m.onClick?.(m,v),a("operate-click",m,v)}const s={props:t,emit:a,slots:u,hasOperates:i,handleOperateClick:l,get JtButton(){return Ne}};return Object.defineProperty(s,"__isScriptSetup",{enumerable:!1,value:!0}),s}}),ho={class:"jt-page-header__title"},bo={key:0},_o={key:0,class:"jt-page-header__operates"};function So(o,r,n,t,a,u){return e.openBlock(),e.createElementBlock("div",e.mergeProps({class:["jt-page-header",`jt-page-header--${n.type}`]},o.$attrs),[e.createElementVNode("div",ho,[e.renderSlot(o.$slots,"title",{},()=>[n.title?(e.openBlock(),e.createElementBlock("span",bo,e.toDisplayString(n.title),1)):e.createCommentVNode("v-if",!0)],!0)]),t.hasOperates?(e.openBlock(),e.createElementBlock("div",_o,[e.renderSlot(o.$slots,"operates",{operates:n.operates},()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.operates,i=>(e.openBlock(),e.createBlock(t.JtButton,e.mergeProps({key:i.key??i.label,ref_for:!0},i.buttonProps,{type:i.type,disabled:i.disabled,loading:i.loading,plain:i.plain,text:i.text,link:i.link,icon:i.icon,onClick:l=>t.handleOperateClick(i,l)}),{default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(i.label),1)]),_:2},1040,["type","disabled","loading","plain","text","link","icon","onClick"]))),128))],!0)])):e.createCommentVNode("v-if",!0)],16)}const ko=G(vo,[["render",So],["__scopeId","data-v-15f58225"],["__file","C:/Users/seven.lu/Desktop/JT-Express/yl-jhrcn-jhrfront-mfe-components/src/components/JtPageHeader/index.vue"]]);function $e(o=null){return{scheme:null,node:null,topNodes:[],treeNodes:[],activeNode:null,activeSection:null,sections:[],sectionMap:{},raw:o}}function Be(o){const r=it(o),n=at(r),t=Vo(r).flatMap(a=>lt(a,n));return{...$e(o),scheme:n,topNodes:t,treeNodes:t}}function Ve(o,r,n){return o.map(t=>t.key===r||t.tagId===r||t.id===r?{...t,children:n,loaded:!0}:{...t,children:Ve(t.children,r,n)})}function et(o,r={},n=null){const t=it(o),a=at(t,r),u=wo(t,r,n),i=Object.fromEntries(u.map(l=>[l.key,l]));return{scheme:a,node:n,topNodes:[],treeNodes:[],activeNode:n,activeSection:u[0]??null,sections:u,sectionMap:i,raw:o}}function tt(o){return o.multRow||o.htmlDisplay==="T"?"table":"form"}function ot(o,r={}){return{...r,infSchmId:r.infSchmId??R(o.raw.infSchmId),emplid:r.emplid??R(o.raw.emplid),tagId:r.tagId??o.requestTagId??o.tagId,infSetId:r.infSetId??o.infSetId,setId:r.setId??o.setId,infSetFields:o.renderType==="table"?o.rows.map(qe):[qe(o.model)],section:o}}function Io(o){const r=o;return!!(r&&typeof r=="object"&&typeof r.key=="string"&&typeof r.tagId=="string")}function nt(o){const r=st(o);return(Array.isArray(r)?r:pe(A(r),["options","list","records","data"])).map(t=>{const a=A(t);return{id:a.id,code:a.code,label:N(a.label??a.name??a.descr??a.text??a.value??a.code),name:R(a.name),value:a.value??a.code??a.id??a.label??a.name,raw:t}})}function wo(o,r,n){const t=pe(o,["sections","sets","list"]);return t.length>0?t.map(a=>De(a,r,n,t.length===1)):o.infSetMark||o.infSetFields||o.fields?[De(o,r,n,!0)]:[]}function De(o,r,n,t){const a=A(o),u=Co(a.infSetMark??a),i=Bo(a.infSetFields??a.fields??[]),l=Eo(a.infSetValues??a.rows??a.data,i),s=l[0]?qe(l[0]):rt(i),m=A(a.tag),v=N(a.tagId??a.infTagId??m.tagId),h=N(r.tagId??n?.tagId),k=N(n?.key),b=t?r.infSetId??n?.infSetId:void 0,p=t?r.setId:void 0,_=t?n?.code:void 0,S=u.setId||N(a.setId),q=N(a.infSetId)||S||N(b),D=S||N(p??q),O=u.code||N(a.code??_??D),y=D||O||q||v,g={key:y,id:y,setId:D,code:O,tagId:v,requestTagId:h||void 0,ownerNodeKey:k||void 0,infSetId:q,title:u.name||N(a.name??n?.tagName??y),renderType:tt(u),mark:u,fields:i,model:s,rows:l,operationInfo:ke(r.operationInfo??a.operationInfo),raw:a};return g.renderType==="form"&&l.length===0&&(g.rows=[{...s,__rowKey:`${y}-0`}]),g}function Co(o){const r=A(o),n=N(r.htmlDisplay||"F");return{name:N(r.name??r.title),parentName:R(r.parentName),value:R(r.value),type:R(r.type),code:N(r.code),setId:N(r.setId??r.id??r.key),htmlDisplay:n,multRow:Z(r.multRow),isRequired:Z(r.isRequired),raw:r}}function Bo(o){return(Array.isArray(o)?o:[]).map((n,t)=>qo(n,t))}function qo(o,r){const n=A(o),t=N(n.code??n.fieldCode??n.prop??n.key??`field_${r}`),a=N(n.label??n.name??n.tagName??t);return{id:N(n.id??n.key??n.prop??t),key:N(n.key??n.prop??t),code:t,label:a,value:n.value??n.defaultValue??"",type:To(n),fieldType:R(n.fieldType),renderType:Po(n),required:Z(n.required??n.isRequired),readonly:Z(n.readonly??n.disabled),visible:n.visible===void 0?Z(n.visibled??!0):Z(n.visible),htmlDisplay:Z(n.htmlDisplay),multRow:Z(n.multRow),isRequired:Z(n.isRequired),disabled:n.disabled===void 0?void 0:Z(n.disabled),span:ut(n.span??n.colSpan),width:Ge(n.width),minWidth:Ge(n.minWidth),placeholder:R(n.placeholder),options:nt(n.options),interface:ct(n.interface),cascadeClearFields:Re(n.cascadeClearFields),cascadeDependFields:Re(n.cascadeDependFields),props:Ee(n.props),formItemProps:Ee(n.formItemProps),raw:n}}function Eo(o,r){if(Array.isArray(o)&&o.some(a=>{const u=A(a);return r.some(i=>u[i.code]!==void 0||u[i.key]!==void 0)}))return o.map((a,u)=>({...A(a),__rowKey:N(A(a).__rowKey??A(a).key??u)}));const n=rt(r);return Object.keys(n).length?[{...n,__rowKey:"0"}]:[]}function rt(o){return o.reduce((r,n)=>(r[n.code||n.key]=n.value,r),{})}function lt(o,r,n=""){const t=A(o),a=pe(t,["children","list","tags"]).flatMap(i=>lt(i,r,N(t.tagId??t.id??t.key))),u=jo(t.infSetList);return a.length===0&&u.length>0?u.map((i,l)=>No(t,i,r,n,l)):[xo(t,r,n,a)]}function xo(o,r,n,t){const a=N(o.tagId??o.id??o.key),u=N(o.tagName??o.name??o.label??a);return{key:N(o.key??a),id:a,tagId:a,tagName:u,label:u,tagLevel:R(o.tagLevel??o.level)??null,level:dt(o.tagLevel??o.level),parentTagId:R(o.parentTagId??o.parentId??n),parentId:R(o.parentTagId??o.parentId??n)??null,infSchmId:R(o.infSchmId??r?.infSchmId),schemeId:N(o.infSchmId??r?.infSchmId),infSetId:R(o.infSetId??o.setId),setId:R(o.setId),code:R(o.code),children:t,infSetList:[],operationInfo:ke(o.operationInfo),loaded:t.length>0,raw:o}}function No(o,r,n,t,a){const u=N(o.tagId??o.id??o.key),i=N(o.tagName??o.name??o.label??u),l=r.infSetId||N(r.setId),s=r.setId||l,m=l||`${u}-${a}`;return{key:m,id:m,tagId:u,tagName:i,label:i,tagLevel:R(o.tagLevel??o.level)??null,level:dt(o.tagLevel??o.level),parentTagId:R(o.parentTagId??o.parentId??t),parentId:R(o.parentTagId??o.parentId??t)??null,infSchmId:R(o.infSchmId??n?.infSchmId),schemeId:N(o.infSchmId??n?.infSchmId),infSetId:l,setId:s,code:R(o.code??l),children:[],infSetList:[r],operationInfo:ke(o.operationInfo),loaded:!0,raw:{...o,infSetId:l,setId:s,infSetList:[r.raw]}}}function at(o,r={}){const n=A(o.globalInfoSchmMark??o.scheme??o),t=N(n.infSchmId??r.infSchmId),a=N(n.emplid??r.emplid);return!t&&!a&&Object.keys(n).length===0?null:{infSchmId:t,emplid:a,id:t,mark:N(n.globalInfoSchmMark??o.globalInfoSchmMark),config:Array.isArray(o.globalInfoSchmConfig)?"":N(n.globalInfoSchmConfig??o.globalInfoSchmConfig),raw:n}}function Vo(o){if(Array.isArray(o.globalInfoSchmConfig))return o.globalInfoSchmConfig;const r=A(o.globalInfoSchmConfig),n=pe(r,["children","tree","list","tags"]);return n.length?n:pe(o,["children","tree","list","tags","records"])}function jo(o){return Array.isArray(o)?o.map(r=>{const n=A(r);return{infSetId:N(n.infSetId??n.setId??n.id),setId:R(n.setId),operationInfo:ke(n.operationInfo),raw:n}}):[]}function it(o){return A(st(o))}function st(o){const r=A(o);return r.data??r.result??o}function pe(o,r){for(const n of r){const t=o[n];if(Array.isArray(t))return t}return[]}function qe(o){const r={...o};return delete r.__rowKey,delete r.fields,r}function ct(o){const r=A(o);if(!(!r.method&&!r.url&&!r.params))return{...r,method:R(r.method),url:R(r.url),params:Ee(r.params)}}function ke(o){const r=A(o);if(Object.keys(r).length!==0)return Object.fromEntries(Object.entries(r).map(([n,t])=>[n,ct(t)??t]))}function Re(o){if(!Array.isArray(o))return;const r=o.map(n=>N(n)).filter(Boolean);return r.length?r:void 0}function Po(o){if(Z(o.htmlDisplay))return"html";if(Z(o.multRow))return"multi-row";const r=N(o.renderType).toLowerCase();return r==="code"||r==="empty"?r:"text"}function To(o){const r=N(o.fieldType??o.type??o.renderType).toLowerCase();return r.includes("date")?"date":r.includes("select")||r.includes("enum")?"select":r.includes("number")||r.includes("int")?"number":r.includes("bool")||r.includes("switch")?"switch":r.includes("file")||r.includes("upload")||r.includes("attachment")?"file":r.includes("textarea")||r.includes("text_area")?"textarea":"text"}function Ee(o){const r=A(o);return Object.keys(r).length?r:void 0}function Ge(o){return typeof o=="string"||typeof o=="number"?o:void 0}function A(o){return o&&typeof o=="object"&&!Array.isArray(o)?o:{}}function N(o){return o==null?"":String(o).trim()}function R(o){return N(o)||void 0}function dt(o){const r=ut(o);return r===void 0?null:r}function ut(o){if(o==null||o==="")return;const r=Number(o);return Number.isFinite(r)?r:void 0}function Z(o){return typeof o=="string"?["true","1","y","yes","t","是"].includes(o.toLowerCase()):!!o}const ne=o=>o.key||o.code,Y=o=>o.key||o.setId,ie=o=>new Error(`[GlobalInfo] ${o}`),se=o=>o&&typeof o=="object"&&!Array.isArray(o)?o:{},_e=o=>{const r=se(o);return!!(r.url||r.method||r.params)},Fo=o=>String(o??"").trim(),me=o=>Array.from(new Set(o.map(Fo).filter(Boolean))),fe=o=>me([o?.key,o?.id,o?.setId,o?.infSetId,o?.tagId,o?.code,...(o?.infSetList??[]).map(r=>r.infSetId),...(o?.infSetList??[]).map(r=>r.setId)]),Oo=o=>me([o.key,o.id,o.setId,o.infSetId,o.tagId,o.code]),de=(o={})=>({loading:!1,saving:!1,error:null,loaded:!1,editing:!1,...o}),ue=o=>!!(o&&typeof o=="object"&&"children"in o),ft=(o,r,n)=>{const t=Oo(o),a=me([n,...fe(r)]);return a.length===0?!1:a.some(u=>t.includes(u))},Do=(o,r,n)=>me([n,...fe(r)]).length===0?o:o.filter(a=>ft(a,r,n)),pt=o=>{const r=e.ref(!1),n=e.ref(!1),t=e.ref(!1),a=e.shallowRef(null),u=e.shallowRef([]),i=e.shallowRef(null),l=e.shallowRef(null),s=e.shallowRef(null),m=e.shallowRef({}),v=e.shallowRef({}),h=e.ref([]),k=e.shallowRef({}),b=e.ref([]),p=e.computed(()=>{const d=h.value.map(f=>m.value[f]).filter(f=>!!f),c=Object.entries(m.value).filter(([f])=>!h.value.includes(f)).map(([,f])=>f);return[...d,...c]}),_=e.computed(()=>({loading:r.value,detailLoading:n.value,saving:t.value,editingSectionKeys:b.value,sectionMap:m.value,sectionStatusMap:Object.fromEntries(Object.entries(k.value).map(([d,c])=>[d,{...c,editing:b.value.includes(v.value[d]??d)}])),error:a.value})),S=()=>({adaptScene:o.adaptScene,emplid:o.emplid}),q=d=>({...S(),infSchmId:d.infSchmId,tagId:d.tagId,tagLevel:d.tagLevel,parentTagId:d.parentTagId}),D=(d=l.value,c=s.value)=>({...S(),infSchmId:d?.infSchmId,tagId:d?.tagId,infSetId:c?.infSetId??d?.infSetId,setId:c?.setId??d?.setId}),O=async(d,c)=>{if(!o.service.requestOperation)throw ie("service.requestOperation is required for operationInfo");return o.service.requestOperation(d,c)},y=(d,c={},f)=>{const C=se(d.params),B=f?.cascadeDependFields??[];let j=0;return Object.fromEntries(Object.entries(C).map(([V,T])=>{if(T!=="")return[V,T];if(c[V]!==void 0)return[V,c[V]];const L=B[j];return j+=1,[V,L?c[L]??"":T]}))},g=d=>{const f=se(d.operationInfo).openTag;return _e(f)?f:void 0},I=(d,c,f)=>{const C=se(d?.operationInfo).queryInfoSet;if(_e(C))return C;const B=c?.infSetList.find(V=>V.infSetId===f),j=se(B?.operationInfo).queryInfoSet;return _e(j)?j:void 0},E=d=>{const c=se(d.operationInfo).editInfoSet;return _e(c)?c:void 0},F=(d,c)=>{if(!c)return d[0]??null;for(const f of d){if(fe(f).includes(c))return f;const C=F(f.children,c);if(C)return C}return null},x=(d=s.value)=>{if(d)return typeof d=="string"?d:ue(d)?Q(d):Y(d)},J=(d=s.value)=>{const c=x(d);if(!c)return null;const f=v.value[c]??c;return m.value[f]??null},W=(d=s.value)=>{const c=x(d);if(c)return v.value[c]??c},Q=(d=s.value)=>{if(d)return typeof d=="string"?d:ue(d)?d.setId??d.infSetId??d.key:Y(d)},re=(d=s.value)=>{if(ue(d))return d;if(typeof d=="string"){const c=F(u.value,d);if(c)return c;const f=J(d);return f?.ownerNodeKey?F(u.value,f.ownerNodeKey)??l.value:f||l.value&&fe(l.value).includes(d)?l.value:null}return d?.ownerNodeKey?F(u.value,d.ownerNodeKey)??l.value:l.value},ye=(d=s.value)=>!d||ue(d)?null:J(d),Ie=(d=s.value)=>{const c=Q(d);if(!c)return de();const f=v.value[c]??c;return de({...k.value[c],...k.value[f],editing:b.value.includes(f)})},U=(d,c)=>{const f=Q(d);f&&(k.value={...k.value,[f]:de({...k.value[f],...c,editing:b.value.includes(f)})})},ee=(d=i.value?.raw??null,c=l.value)=>{const f=p.value,C=s.value&&f.find(B=>Y(B)===Y(s.value))?s.value:null;i.value={scheme:i.value?.scheme??null,node:c,topNodes:u.value,treeNodes:u.value,activeNode:c,activeSection:C,sections:f,sectionMap:m.value,raw:d},s.value=C},ge=(d,c=l.value,f)=>{const C={...m.value},B={...v.value},j=[...h.value],V={...k.value},T=Do(d.sections,c,f),L=me([f,...fe(c)]).length>0,K=T.find(oe=>ft(oe,c,f))??(L?null:d.activeSection??T[0]??s.value??null);return T.forEach(oe=>{const $=Y(oe);C[$]=oe,j.includes($)||j.push($),V[$]=de({...V[$],loaded:!0,loading:!1,error:null,editing:b.value.includes($)})}),f&&K?B[f]=Y(K):f&&(B[f]=""),f&&(V[f]=de({...V[f],loaded:!0,loading:!1,error:null,editing:!!(K&&b.value.includes(Y(K)))})),m.value=C,v.value=B,h.value=j,k.value=V,i.value={...d,scheme:d.scheme??i.value?.scheme??null,topNodes:u.value,treeNodes:u.value,activeNode:c,activeSection:K,sections:T,sectionMap:m.value},s.value=K,K},te=(d,c)=>{const f=W(d),C=f?m.value[f]:null;if(!f||!C)return;const B=c(C);m.value={...m.value,[f]:B},s.value=Y(s.value??B)===f?B:s.value,ee()},le=async(d=s.value??l.value)=>{const c=ye(d),f=re(d)??l.value,C=Q(d);if(!f)return null;if(!o.service.requestOperation)throw ie("service.requestOperation is required");n.value=!0,a.value=null,U(C??f,{loading:!0,error:null});try{const B=c?[{infSetId:c.infSetId,setId:c.setId,operationInfo:c.operationInfo,raw:c.raw}]:f.infSetList;if(B.length===0)throw ie("node.infSetList is required");const j=await Promise.all(B.map(async T=>{const L=I(c,f,T.infSetId),K={...D(f,c),infSetId:T.infSetId,setId:T.setId,operationInfo:T.operationInfo};if(L){const oe=await O(L,{type:"queryInfoSet",node:f,section:c,params:K});return et(oe,K,f)}throw ie("infoSet.operationInfo.queryInfoSet is required")})),V={...j[0],sections:j.flatMap(T=>T.sections),sectionMap:Object.fromEntries(j.flatMap(T=>T.sections).map(T=>[T.key,T]))};return ge(V,f,C)}catch(B){throw a.value=B,U(C??f,{loading:!1,error:B}),B}finally{n.value=!1,U(C??f,{loading:!1})}},ae=(d=s.value)=>le(d),ve=(d=s.value)=>{if(!d)return null;if(!ue(d)&&typeof d!="string")return J(d);const c=Q(d);return c?m.value[v.value[c]??c]??null:null},w=async(d=l.value)=>d?(await le(d),i.value):(i.value=null,s.value=null,m.value={},v.value={},h.value=[],k.value={},null),M=async d=>{const c=g(d);if(!c)return d.children;const f=q(d),C=await O(c,{type:"openTag",node:d,params:f});return Be(C).treeNodes},z=async d=>{if(d.loaded)return d.children;const c=await M(d);return c.length>0&&(u.value=Ve(u.value,d.key,c)),c},Ct=async d=>{const c=typeof d=="string"?F(u.value,d):d;return c?(l.value=c,s.value=null,b.value=[],await z(c),ee(i.value?.raw,c),c):null},we=async()=>{const d=o.service.templateTree;if(!d)throw ie("service.templateTree is required");r.value=!0,a.value=null;try{const c=await d(S()),f=Be(c),C=await Promise.all(f.treeNodes.map(async j=>{const V=await M(j);return{...j,children:V,loaded:V.length>0||j.loaded}}));u.value=C,s.value=null,m.value={},v.value={},h.value=[],k.value={},b.value=[];const B=F(C,o.initialActiveNodeKey)??F(C);return l.value=B,i.value={...f,treeNodes:C,activeNode:B,sectionMap:m.value,sections:p.value},u.value}catch(c){throw a.value=c,c}finally{r.value=!1}},Bt=async()=>{const d=x();await ae(s.value??l.value);const c=p.value.find(f=>Y(f)===d);return c&&(s.value=c),ee(),i.value},Fe=(d=s.value)=>{const c=W(d);return!!(c&&b.value.includes(c))},qt=(d=s.value)=>{const c=W(d);!c||Fe(c)||(b.value=[...b.value,c],U(c,{editing:!0}))},Oe=(d=s.value)=>{const c=W(d);c&&(b.value=b.value.filter(f=>f!==c),U(c,{editing:!1}))},Et=(d,c,f)=>{const C=typeof c=="string"?c:ne(c);te(d,B=>{const V=(typeof c=="string"?B.fields.find(L=>ne(L)===C||L.code===C):c)?.cascadeClearFields??[],T={...B.model,[C]:f};return V.forEach(L=>{T[L]=""}),{...B,model:T,rows:B.renderType==="form"?[{...B.rows[0],...T}]:B.rows,fields:B.fields.map(L=>{const K=ne(L);return K===C||L.code===C?{...L,value:f}:V.includes(K)||V.includes(L.code)?{...L,value:""}:L})}})},xt=async(d,c,f={})=>{const C=J(d);if(!C)return[];const B=Object.keys(f).length>0?f:C.model,j=typeof c=="string"?c:ne(c),V=typeof c=="string"?C.fields.find(X=>ne(X)===j||X.code===j):c,T=V?.interface;if(!V||!T)return V?.options??[];if((V.cascadeDependFields??[]).some(X=>{const H=B[X];return H==null||H===""}))return te(C,X=>({...X,fields:X.fields.map(H=>ne(H)===j||H.code===j?{...H,options:[]}:H)})),[];const K=y(T,B,V),oe=await O({...T,params:K},{type:"fieldOptions",node:re(C),section:C,field:V,params:K}),$=nt(oe);return te(C,X=>({...X,fields:X.fields.map(H=>ne(H)===j||H.code===j?{...H,options:$}:H)})),$},Nt=(d,c)=>{if(Array.isArray(c)){he(d,c);return}te(d,f=>({...f,model:c,rows:f.renderType==="form"?[{...f.rows[0],...c}]:f.rows,fields:f.fields.map(C=>({...C,value:c[ne(C)]}))}))},he=(d,c)=>{te(d,f=>({...f,rows:c,data:c}))},Vt={loadTree:we,selectNode:Ct,loadDetail:w,reloadActiveSection:Bt,loadSection:le,reloadSection:ae,getSection:ve,getSectionStatus:Ie,startEdit:qt,cancelEdit:Oe,updateField:Et,loadFieldOptions:xt,updateModel:Nt,updateTableRows:he,saveRow:(d,c={},f=-1)=>{const B=[...J(d)?.rows??[]];B.splice(f>=0?f:B.length,f>=0?1:0,c),he(d,B)},deleteRow:(d,c)=>{const f=J(d),C=typeof c=="string"?Number(c):c,B=(f?.rows??[]).filter((j,V)=>V!==C);he(d,B)},saveSection:async(d=s.value)=>{const c=x(d),f=J(d);if(!f)return null;const C=E(f);if(!C)throw ie("section.operationInfo.editInfoSet is required");t.value=!0,a.value=null,c&&c!==Y(f)&&U(c,{saving:!0,error:null}),U(f,{saving:!0,error:null});try{const B=D(l.value,f),j=ot(f,B),V=await O({...C,params:{...y(C,f.model),...j}},{type:"editInfoSet",node:l.value,section:f,params:j});return Oe(f),await ae(f),V}catch(B){throw a.value=B,c&&c!==Y(f)&&U(c,{saving:!1,error:B}),U(f,{saving:!1,error:B}),B}finally{t.value=!1,c&&c!==Y(f)&&U(c,{saving:!1}),U(f,{saving:!1})}},isEditing:Fe};return e.watch(()=>o.emplid,()=>{(o.autoLoad??!0)&&we()}),e.onMounted(()=>{(o.autoLoad??!0)&&we()}),{viewModel:i,nodes:u,sections:p,sectionMap:m,sectionStatusMap:k,activeNode:l,activeSection:s,state:_,actions:Vt}},Ro=e.defineComponent({name:"GlobalInfoProvider",__name:"GlobalInfoProvider",props:{service:{type:Object,required:!0},adaptScene:{type:String,required:!1},emplid:{type:[String,Number],required:!1},autoLoad:{type:Boolean,required:!1,default:!0},initialActiveNodeKey:{type:String,required:!1}},setup(o,{expose:r}){r();const n=o,t=pt(n),{viewModel:a,nodes:u,sections:i,activeNode:l,activeSection:s,state:m,actions:v}=t,h={props:n,controller:t,viewModel:a,nodes:u,sections:i,activeNode:l,activeSection:s,state:m,actions:v};return Object.defineProperty(h,"__isScriptSetup",{enumerable:!1,value:!0}),h}});function Go(o,r,n,t,a,u){return e.renderSlot(o.$slots,"default",e.normalizeProps(e.guardReactiveProps({viewModel:t.viewModel,nodes:t.nodes,sections:t.sections,activeNode:t.activeNode,activeSection:t.activeSection,state:t.state,actions:t.actions})))}const Mo=G(Ro,[["render",Go],["__file","C:/Users/seven.lu/Desktop/JT-Express/yl-jhrcn-jhrfront-mfe-components/src/components/globalInfo/components/GlobalInfoProvider.vue"]]);function Lo(o){return Me(o.type||o.fieldType)||Me(o.renderType)||"text"}function mt(o){return Le(o.type||o.fieldType)||Le(o.renderType)||"text"}function je(o){return o==null||o===""||Array.isArray(o)&&o.length===0}function yt(o){if(o instanceof Error)return!0;if(!o||typeof o!="object")return!1;const r=o;return typeof r.message=="string"&&(typeof r.stack=="string"||r.name==="Error")}function gt(o,r,n="-"){const t=mt(o);return t==="empty"||je(r)?n:yt(r)?(console.error("[globalInfo] field value render failed",r),n):t==="select"?Ao(o,r,n):t==="switch"?vt(r)?"是":"否":t==="file"?Jo(r,n):t==="multi-row"?zo(r):String(r)}function vt(o){if(typeof o=="boolean")return o;if(typeof o=="number")return o!==0;const r=String(o??"").trim().toLowerCase();return["true","1","y","yes","t","是"].includes(r)}function Me(o){const r=String(o??"").toLowerCase();return r==="upload"||r==="attachment"?"file":r==="text"||r==="textarea"||r==="select"||r==="date"||r==="number"||r==="switch"||r==="file"||r==="html"||r==="code"||r==="multi-row"||r==="empty"?r:""}function Le(o){const r=String(o??"").toLowerCase();return r==="upload"||r==="attachment"?"file":r==="select"||r==="switch"||r==="file"||r==="html"||r==="code"||r==="multi-row"||r==="empty"?r:r==="textarea"||r==="date"||r==="number"||r==="text"?"text":""}function Ao(o,r,n){if(Array.isArray(r)){const t=r.map(a=>Ae(o,a)||String(a??"").trim()).filter(Boolean);return t.length>0?t.join("、"):n}return Ae(o,r)||String(r)}function Ae(o,r){return o.options?.find(t=>t.value===r||String(t.value)===String(r))?.label??""}function Jo(o,r){if(Array.isArray(o)){const n=o.map(t=>Je(t)).filter(Boolean);return n.length>0?n.join("、"):r}return Je(o)||r}function Je(o){if(typeof File<"u"&&o instanceof File)return o.name;if(o&&typeof o=="object"){const r=o;return String(r.name??r.fileName??r.filename??r.url??"").trim()}return String(o??"").trim()}function zo(o){return Array.isArray(o)?o.map(r=>yt(r)?(console.error("[globalInfo] multi-row field item render failed",r),""):r&&typeof r=="object"?JSON.stringify(r):String(r)).filter(Boolean).join(`
|
|
3
|
+
`):String(o)}const Ko=e.defineComponent({name:"GlobalInfoFieldControl",__name:"GlobalInfoFieldControl",props:{field:{type:Object,required:!0},modelValue:{type:null,required:!1},disabled:{type:Boolean,required:!1,default:!1}},emits:["update:modelValue","change","loadOptions"],setup(o,{expose:r,emit:n}){r();const t=o,a=n,u=["textarea","html","code","multi-row"],i=e.computed(()=>Lo(t.field)),l=e.computed(()=>t.disabled||t.field.disabled||t.field.readonly),s=e.computed(()=>t.modelValue===void 0||t.modelValue===null?"":String(t.modelValue)),m=e.computed(()=>{if(t.modelValue===void 0||t.modelValue===null||t.modelValue==="")return;const y=typeof t.modelValue=="number"?t.modelValue:Number(t.modelValue);return Number.isFinite(y)?y:void 0}),v=e.computed(()=>{const y=t.field.props?.activeValue??t.field.props?.["active-value"],g=t.field.props?.inactiveValue??t.field.props?.["inactive-value"];return y!==void 0||g!==void 0?t.modelValue??g??!1:vt(t.modelValue)}),h=e.computed(()=>i.value==="code"?5:3),k=e.computed(()=>i.value==="file"&&!je(t.modelValue)),b=e.computed(()=>gt(t.field,t.modelValue,"请选择文件")),p=e.computed(()=>t.field.placeholder?t.field.placeholder:i.value==="select"?"请选择":i.value==="date"?"请选择日期":i.value==="file"?"请选择文件":"请输入");function _(y){a("update:modelValue",y)}function S(y){a("change",y)}function q(y){y&&a("loadOptions")}function D(y){const g=y.target,I=Array.from(g.files??[]),E=t.field.props?.multiple?I:I[0]??null;_(E),S(E)}const O={props:t,emit:a,textareaKinds:u,controlKind:i,isDisabled:l,textValue:s,numberValue:m,switchValue:v,textareaRows:h,hasFileValue:k,fileText:b,resolvedPlaceholder:p,handleUpdate:_,handleChange:S,handleSelectVisibleChange:q,handleFileChange:D};return Object.defineProperty(O,"__isScriptSetup",{enumerable:!1,value:!0}),O}}),Uo=["disabled","accept","multiple"],Ho={key:0,class:"global-info-field-control__file-text"},Wo={key:1,class:"global-info-field-control__file-upload"};function Yo(o,r,n,t,a,u){const i=P.ElOption,l=P.ElSelect,s=P.ElDatePicker,m=P.ElInputNumber,v=P.ElSwitch,h=P.ElInput;return t.controlKind==="select"?(e.openBlock(),e.createBlock(l,e.mergeProps({key:0,class:"global-info-field-control"},n.field.props,{"model-value":n.modelValue,placeholder:t.resolvedPlaceholder,disabled:t.isDisabled,clearable:"",onVisibleChange:t.handleSelectVisibleChange,"onUpdate:modelValue":t.handleUpdate,onChange:t.handleChange}),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.field.options||[],k=>(e.openBlock(),e.createBlock(i,{key:String(k.value),label:k.label,value:k.value},null,8,["label","value"]))),128))]),_:1},16,["model-value","placeholder","disabled"])):t.controlKind==="date"?(e.openBlock(),e.createBlock(s,e.mergeProps({key:1,class:"global-info-field-control"},n.field.props,{"model-value":n.modelValue,placeholder:t.resolvedPlaceholder,disabled:t.isDisabled,type:"date","value-format":"YYYY-MM-DD","onUpdate:modelValue":t.handleUpdate,onChange:t.handleChange}),null,16,["model-value","placeholder","disabled"])):t.controlKind==="number"?(e.openBlock(),e.createBlock(m,e.mergeProps({key:2,class:"global-info-field-control"},n.field.props,{"model-value":t.numberValue,placeholder:t.resolvedPlaceholder,disabled:t.isDisabled,"controls-position":"right","onUpdate:modelValue":t.handleUpdate,onChange:t.handleChange}),null,16,["model-value","placeholder","disabled"])):t.controlKind==="switch"?(e.openBlock(),e.createBlock(v,e.mergeProps({key:3,class:"global-info-field-control global-info-field-control--switch"},n.field.props,{"model-value":t.switchValue,disabled:t.isDisabled,"onUpdate:modelValue":t.handleUpdate,onChange:t.handleChange}),null,16,["model-value","disabled"])):t.controlKind==="file"?(e.openBlock(),e.createElementBlock("label",{key:4,class:e.normalizeClass(["global-info-field-control global-info-field-control--file",{"is-disabled":t.isDisabled,"is-empty":!t.hasFileValue,"is-filled":t.hasFileValue}])},[e.createElementVNode("input",{class:"global-info-field-control__file-input",type:"file",disabled:t.isDisabled,accept:String(n.field.props?.accept??""),multiple:!!n.field.props?.multiple,onChange:t.handleFileChange},null,40,Uo),t.hasFileValue?(e.openBlock(),e.createElementBlock("span",Ho,e.toDisplayString(t.fileText),1)):(e.openBlock(),e.createElementBlock("span",Wo,"上 传"))],2)):t.controlKind==="empty"?(e.openBlock(),e.createBlock(h,{key:5,class:"global-info-field-control","model-value":"",disabled:"",placeholder:"-"})):(e.openBlock(),e.createBlock(h,e.mergeProps({key:6,class:["global-info-field-control",{"global-info-field-control--code":t.controlKind==="code"}]},n.field.props,{"model-value":t.textValue,placeholder:t.resolvedPlaceholder,disabled:t.isDisabled,type:t.textareaKinds.includes(t.controlKind)?"textarea":"text",rows:t.textareaKinds.includes(t.controlKind)?t.textareaRows:void 0,"onUpdate:modelValue":t.handleUpdate,onChange:t.handleChange}),null,16,["class","model-value","placeholder","disabled","type","rows"]))}const Pe=G(Ko,[["render",Yo],["__scopeId","data-v-a905ae74"],["__file","C:/Users/seven.lu/Desktop/JT-Express/yl-jhrcn-jhrfront-mfe-components/src/components/globalInfo/renderers/GlobalInfoFieldControl.vue"]]),Zo=e.defineComponent({name:"GlobalInfoFieldValue",__name:"GlobalInfoFieldValue",props:{field:{type:Object,required:!0},value:{type:null,required:!1},emptyText:{type:String,required:!1,default:"-"}},setup(o,{expose:r}){r();const n=o,t=e.computed(()=>mt(n.field)),a=e.computed(()=>t.value==="empty"||je(n.value)),u=e.computed(()=>gt(n.field,n.value,n.emptyText)),i={props:n,displayKind:t,isEmpty:a,displayValue:u};return Object.defineProperty(i,"__isScriptSetup",{enumerable:!1,value:!0}),i}}),Qo=["innerHTML"],Xo={key:1,class:"global-info-field-value global-info-field-value--code"};function $o(o,r,n,t,a,u){return t.displayKind==="html"&&!t.isEmpty?(e.openBlock(),e.createElementBlock("span",{key:0,class:"global-info-field-value global-info-field-value--html",innerHTML:t.displayValue},null,8,Qo)):t.displayKind==="code"&&!t.isEmpty?(e.openBlock(),e.createElementBlock("pre",Xo,e.toDisplayString(t.displayValue),1)):(e.openBlock(),e.createElementBlock("span",{key:2,class:e.normalizeClass(["global-info-field-value",{"global-info-field-value--multi-row":t.displayKind==="multi-row","global-info-field-value--file":t.displayKind==="file"&&!t.isEmpty}])},e.toDisplayString(t.displayValue),3))}const Te=G(Zo,[["render",$o],["__scopeId","data-v-f7ce14aa"],["__file","C:/Users/seven.lu/Desktop/JT-Express/yl-jhrcn-jhrfront-mfe-components/src/components/globalInfo/renderers/GlobalInfoFieldValue.vue"]]),en=e.defineComponent({name:"GlobalInfoFormRenderer",__name:"GlobalInfoFormRenderer",props:{section:{type:Object,required:!0},node:{type:[Object,null],required:!1},editing:{type:Boolean,required:!0},state:{type:Object,required:!0},actions:{type:Object,required:!0},model:{type:Object,required:!1},onUpdateModel:{type:Function,required:!1}},setup(o,{expose:r}){r();const n=o,t=e.useSlots(),a=e.computed(()=>n.section.fields.filter(p=>p.visible)),u=e.computed(()=>n.model??n.section.model);function i(p,_){const S={...u.value,[p.code]:_};(p.cascadeClearFields??[]).forEach(q=>{S[q]=""}),n.onUpdateModel?.(S),n.onUpdateModel||n.actions.updateField(n.section,p,_)}async function l(p){try{await n.actions.loadFieldOptions(n.section,p,u.value)}catch(_){console.error("[GlobalInfoFormRenderer] load field options failed",_)}}function s(p){const _=u.value[p.code];return{field:p,section:n.section,sectionView:n.section,node:n.node,editing:n.editing,modelValue:_,value:_,state:n.state,actions:n.actions,updateModelValue:S=>i(p,S)}}function m(p){const _=String(p.id||p.key||p.code||"").trim(),S=_?`field-${_}`:"";if(S&&t[S])return S;const q=S.toLowerCase();return q!==S&&t[q]?q:""}function v(p){return p.span?Math.min(Math.max(p.span,1),24):6}function h(p){return p.key||p.id||p.code}function k(p){return p.required||p.isRequired}const b={props:n,slots:t,visibleFields:a,localModel:u,handleFieldChange:i,handleLoadFieldOptions:l,getFieldSlotScope:s,getFieldSlotName:m,getFieldSpan:v,getFieldKey:h,isRequired:k,GlobalInfoFieldControl:Pe,GlobalInfoFieldValue:Te};return Object.defineProperty(b,"__isScriptSetup",{enumerable:!1,value:!0}),b}}),tn={class:"global-info-form-renderer__label"},on={key:0,class:"global-info-form-renderer__required"};function nn(o,r,n,t,a,u){const i=P.ElFormItem,l=P.ElCol,s=P.ElRow,m=P.ElForm;return e.openBlock(),e.createBlock(m,{class:"global-info-form-renderer",model:t.localModel,"label-position":"top"},{default:e.withCtx(()=>[e.createVNode(s,{gutter:24},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.visibleFields,v=>(e.openBlock(),e.createBlock(l,{key:t.getFieldKey(v),span:t.getFieldSpan(v)},{default:e.withCtx(()=>[e.createVNode(i,e.mergeProps({prop:v.code,ref_for:!0},v.formItemProps),{label:e.withCtx(()=>[e.createElementVNode("span",tn,[t.isRequired(v)?(e.openBlock(),e.createElementBlock("span",on,"*")):e.createCommentVNode("v-if",!0),e.createTextVNode(" "+e.toDisplayString(v.label),1)])]),default:e.withCtx(()=>[t.getFieldSlotName(v)?e.renderSlot(o.$slots,t.getFieldSlotName(v),e.mergeProps({key:0,ref_for:!0},t.getFieldSlotScope(v)),void 0,!0):n.editing&&!v.readonly?(e.openBlock(),e.createBlock(t.GlobalInfoFieldControl,{key:1,field:v,"model-value":t.localModel[v.code],section:n.section,onLoadOptions:()=>t.handleLoadFieldOptions(v),"onUpdate:modelValue":h=>t.handleFieldChange(v,h)},null,8,["field","model-value","section","onLoadOptions","onUpdate:modelValue"])):(e.openBlock(),e.createBlock(t.GlobalInfoFieldValue,{key:2,field:v,value:t.localModel[v.code],section:n.section},null,8,["field","value","section"]))]),_:2},1040,["prop"])]),_:2},1032,["span"]))),128))]),_:3})]),_:3},8,["model"])}const ht=G(en,[["render",nn],["__scopeId","data-v-0de9b842"],["__file","C:/Users/seven.lu/Desktop/JT-Express/yl-jhrcn-jhrfront-mfe-components/src/components/globalInfo/renderers/GlobalInfoFormRenderer.vue"]]),rn=e.defineComponent({name:"GlobalInfoDeleteConfirm",__name:"GlobalInfoDeleteConfirm",props:{title:{type:String,required:!1,default:"确认删除吗?"},confirmText:{type:String,required:!1,default:"确认"},cancelText:{type:String,required:!1,default:"取消"}},emits:["confirm","cancel"],setup(o,{expose:r}){r();const n={};return Object.defineProperty(n,"__isScriptSetup",{enumerable:!1,value:!0}),n}});function ln(o,r,n,t,a,u){const i=P.ElPopconfirm;return e.openBlock(),e.createBlock(i,{title:n.title,"confirm-button-text":n.confirmText,"cancel-button-text":n.cancelText,width:"240","popper-class":"global-info-delete-confirm",onConfirm:r[0]||(r[0]=l=>o.$emit("confirm")),onCancel:r[1]||(r[1]=l=>o.$emit("cancel"))},{reference:e.withCtx(()=>[e.renderSlot(o.$slots,"default")]),_:3},8,["title","confirm-button-text","cancel-button-text"])}const bt=G(rn,[["render",ln],["__file","C:/Users/seven.lu/Desktop/JT-Express/yl-jhrcn-jhrfront-mfe-components/src/components/globalInfo/renderers/GlobalInfoDeleteConfirm.vue"]]),an=e.defineComponent({name:"GlobalInfoTableRenderer",__name:"GlobalInfoTableRenderer",props:{section:{type:Object,required:!0},node:{type:[Object,null],required:!1},editing:{type:Boolean,required:!0},state:{type:Object,required:!0},actions:{type:Object,required:!0},showAdd:{type:Boolean,required:!1,default:!0},showDelete:{type:Boolean,required:!1,default:!0}},setup(o,{expose:r}){r();const n=o,t=e.useSlots(),a=e.computed(()=>n.section.fields.filter(y=>y.visible));function u(y){n.actions.deleteRow(n.section,y)}function i(y,g,I,E){const F=n.section.rows.slice(),x=I.cascadeClearFields??[],J={...y,__rowKey:q(y),[I.code]:E};x.forEach(W=>{J[W]=""}),F[g]={...J},n.actions.updateTableRows(n.section,F)}async function l(y,g){try{await n.actions.loadFieldOptions(n.section,y,g)}catch(I){console.error("[GlobalInfoTableRenderer] load field options failed",I)}}function s(y,g,I){const E=g[y.code];return{field:y,section:n.section,sectionView:n.section,node:n.node,row:g,rowIndex:I,editing:n.editing,modelValue:E,value:E,state:n.state,actions:n.actions,updateModelValue:F=>i(g,I,y,F)}}function m(y){const g=String(y.id||y.key||y.code||"").trim(),I=g?`field-${g}`:"";if(I&&t[I])return I;const E=I.toLowerCase();return E!==I&&t[E]?E:""}function v(y){return!y.readonly&&!y.disabled}function h(y){return y.width??(p(y)?56:void 0)}function k(y){if(!y.width)return y.minWidth??(p(y)?56:void 0)}function b(y){return y.key||y.id||y.code}function p(y){return[y.label,y.name,y.code,y.key,y.id].map(I=>String(I??"").trim().toLowerCase()).some(I=>["序号","index","idx","seq","serial","order","rownum","row_no"].includes(I))}let _=0;const S=new WeakMap;function q(y){const g=y.__rowKey??y.key??y.id??y.setId??y.infSetId;if(g!=null&&g!=="")return String(g);const I=y,E=S.get(I);if(E)return E;_+=1;const F=`local-${_}`;return S.set(I,F),F}function D(y){return y.required||y.isRequired}const O={props:n,slots:t,visibleFields:a,handleDelete:u,handleCellUpdate:i,handleLoadFieldOptions:l,getFieldSlotScope:s,getFieldSlotName:m,isEditableField:v,getColumnWidth:h,getColumnMinWidth:k,getFieldKey:b,isSequenceField:p,get rowKeySeed(){return _},set rowKeySeed(y){_=y},localRowKeys:S,getRowKey:q,isRequired:D,GlobalInfoDeleteConfirm:bt,GlobalInfoFieldControl:Pe,GlobalInfoFieldValue:Te};return Object.defineProperty(O,"__isScriptSetup",{enumerable:!1,value:!0}),O}}),sn={class:"global-info-table-renderer"},cn={class:"global-info-table-renderer__table-scroll"},dn={class:"global-info-table-renderer__header"},un={key:0,class:"global-info-table-renderer__required"};function fn(o,r,n,t,a,u){const i=P.ElTableColumn,l=e.resolveComponent("Delete"),s=P.ElIcon,m=P.ElButton,v=P.ElTable;return e.openBlock(),e.createElementBlock("div",sn,[e.createElementVNode("div",cn,[e.createVNode(v,{class:"global-info-table-renderer__table",data:n.section.rows,"row-key":t.getRowKey},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.visibleFields,h=>(e.openBlock(),e.createBlock(i,{key:t.getFieldKey(h),prop:h.code,label:h.label,width:t.getColumnWidth(h),"min-width":t.getColumnMinWidth(h)},{header:e.withCtx(()=>[e.createElementVNode("span",dn,[t.isRequired(h)?(e.openBlock(),e.createElementBlock("span",un,"*")):e.createCommentVNode("v-if",!0),e.createElementVNode("span",null,e.toDisplayString(h.label),1)])]),default:e.withCtx(({row:k,$index:b})=>[t.getFieldSlotName(h)?e.renderSlot(o.$slots,t.getFieldSlotName(h),e.mergeProps({key:0,ref_for:!0},t.getFieldSlotScope(h,k,b)),void 0,!0):n.editing&&t.isEditableField(h)?(e.openBlock(),e.createBlock(t.GlobalInfoFieldControl,{key:1,field:h,"model-value":k[h.code],section:n.section,row:k,"row-index":b,onLoadOptions:()=>t.handleLoadFieldOptions(h,k),"onUpdate:modelValue":p=>t.handleCellUpdate(k,b,h,p)},null,8,["field","model-value","section","row","row-index","onLoadOptions","onUpdate:modelValue"])):(e.openBlock(),e.createBlock(t.GlobalInfoFieldValue,{key:2,field:h,value:k[h.code],section:n.section,row:k,"row-index":b},null,8,["field","value","section","row","row-index"]))]),_:2},1032,["prop","label","width","min-width"]))),128)),n.editing?(e.openBlock(),e.createBlock(i,{key:0,label:"操作",width:"104",fixed:"right"},{default:e.withCtx(({$index:h})=>[n.showDelete?(e.openBlock(),e.createBlock(t.GlobalInfoDeleteConfirm,{key:0,onConfirm:k=>t.handleDelete(h)},{default:e.withCtx(()=>[e.createVNode(m,{class:"global-info-table-renderer__delete",link:"",type:"danger"},{default:e.withCtx(()=>[e.createVNode(s,{class:"global-info-table-renderer__delete-icon"},{default:e.withCtx(()=>[e.createVNode(l)]),_:1}),r[0]||(r[0]=e.createTextVNode(" 删除 "))]),_:1})]),_:2},1032,["onConfirm"])):e.createCommentVNode("v-if",!0)]),_:1})):e.createCommentVNode("v-if",!0)]),_:3},8,["data"])])])}const _t=G(an,[["render",fn],["__scopeId","data-v-8f6d6cb2"],["__file","C:/Users/seven.lu/Desktop/JT-Express/yl-jhrcn-jhrfront-mfe-components/src/components/globalInfo/renderers/GlobalInfoTableRenderer.vue"]]),pn=e.defineComponent({name:"GlobalInfoAutoRenderer",__name:"GlobalInfoAutoRenderer",props:{section:{type:Object,required:!0},node:{type:[Object,null],required:!1},editing:{type:Boolean,required:!0},state:{type:Object,required:!0},actions:{type:Object,required:!0}},setup(o,{expose:r}){r();const n={GlobalInfoFormRenderer:ht,GlobalInfoTableRenderer:_t};return Object.defineProperty(n,"__isScriptSetup",{enumerable:!1,value:!0}),n}});function mn(o,r,n,t,a,u){return n.section.renderType==="table"?(e.openBlock(),e.createBlock(t.GlobalInfoTableRenderer,{key:0,section:n.section,node:n.node,editing:n.editing,state:n.state,actions:n.actions},null,8,["section","node","editing","state","actions"])):(e.openBlock(),e.createBlock(t.GlobalInfoFormRenderer,{key:1,section:n.section,node:n.node,editing:n.editing,state:n.state,actions:n.actions},null,8,["section","node","editing","state","actions"]))}const St=G(pn,[["render",mn],["__file","C:/Users/seven.lu/Desktop/JT-Express/yl-jhrcn-jhrfront-mfe-components/src/components/globalInfo/renderers/GlobalInfoAutoRenderer.vue"]]),yn=e.defineComponent({name:"GlobalInfoSectionOutlet",__name:"GlobalInfoSectionOutlet",props:{section:{type:Object,required:!0},node:{type:[Object,null],required:!1},editing:{type:Boolean,required:!1},state:{type:Object,required:!0},actions:{type:Object,required:!0}},setup(o,{expose:r}){r();const n=o,t=e.useSlots(),a=e.computed(()=>n.editing??n.actions.isEditing(n.section)),u=e.computed(()=>n.section.renderType==="table"?n.section.rows.length===0:n.section.fields.length===0),i=e.computed(()=>{const v=l(n.section.id||n.section.key),h=s(n.section.renderType);return[v,h,"default"].find(k=>!!(k&&t[k]))??""});function l(v){const h=String(v??"").trim();return h?`section-${h}`:""}function s(v){return v==="form"||v==="table"?v:""}const m={props:n,slots:t,resolvedEditing:a,isEmpty:u,activeSlotName:i,toSectionSlotName:l,toRenderTypeSlotName:s,GlobalInfoAutoRenderer:St};return Object.defineProperty(m,"__isScriptSetup",{enumerable:!1,value:!0}),m}});function gn(o,r,n,t,a,u){return t.activeSlotName?e.renderSlot(o.$slots,t.activeSlotName,{key:0,section:n.section,sectionView:n.section,node:n.node,editing:t.resolvedEditing,isEmpty:t.isEmpty,empty:t.isEmpty,fields:n.section.fields,state:n.state,actions:n.actions}):(e.openBlock(),e.createBlock(t.GlobalInfoAutoRenderer,{key:1,section:n.section,node:n.node,editing:t.resolvedEditing,state:n.state,actions:n.actions},null,8,["section","node","editing","state","actions"]))}const kt=G(yn,[["render",gn],["__file","C:/Users/seven.lu/Desktop/JT-Express/yl-jhrcn-jhrfront-mfe-components/src/components/globalInfo/components/GlobalInfoSectionOutlet.vue"]]),vn=e.defineComponent({name:"GlobalInfoSlotErrorBoundary",props:{boundaryKey:{type:[String,Number],default:""},label:{type:String,default:""}},emits:{error:o=>!0},setup(o,{emit:r,slots:n}){const t=e.ref(!1);e.watch(()=>o.boundaryKey,()=>{t.value=!1}),e.onErrorCaptured(u=>(a(u),!1));function a(u){t.value=!0,console.error(`[GlobalInfoSlotErrorBoundary] ${o.label||"section"} slot render failed`,u),r("error",u)}return()=>{if(t.value)return n.fallback?.()??null;try{return n.default?.()??null}catch(u){return a(u),n.fallback?.()??null}}}}),hn=G(vn,[["__file","C:/Users/seven.lu/Desktop/JT-Express/yl-jhrcn-jhrfront-mfe-components/src/components/globalInfo/components/GlobalInfoSlotErrorBoundary.vue"]]),bn=e.defineComponent({name:"GlobalInfoSectionBlock",__name:"GlobalInfoSectionBlock",props:{node:{type:Object,required:!0},state:{type:Object,required:!0},actions:{type:Object,required:!0},hideHeader:{type:Boolean,required:!1},onEdit:{type:Function,required:!1},onCancel:{type:Function,required:!1},onSave:{type:Function,required:!1}},setup(o,{expose:r}){r();const n=o,t=e.useSlots(),a=e.ref(!1),u=e.ref(null),i=e.ref(null),l=e.computed(()=>!!n.hideHeader),s=e.computed(()=>n.actions.getSectionStatus(n.node)),m=e.computed(()=>n.actions.getSection(n.node)??i.value),v=e.computed(()=>m.value?.title||n.node.tagName||n.node.label||"-"),h=e.computed(()=>!!(m.value&&n.actions.isEditing(m.value))),k=e.computed(()=>m.value?.renderType==="table"),b=e.computed(()=>a.value||s.value.loading),p=e.computed(()=>q(u.value||s.value.error)),_=e.computed(()=>{const x=m.value;return x?x.renderType==="table"?x.rows.length===0:x.fields.length===0:!0}),S=e.computed(()=>({node:n.node,section:m.value,sectionView:m.value,fields:m.value?.fields??[],title:v.value,editing:h.value,loading:b.value,error:u.value||s.value.error,errorMessage:p.value,isEmpty:_.value,empty:_.value,sectionStatus:s.value,state:n.state,actions:n.actions,reload:E,handleEdit:D,handleCancel:O,handleAddTableRow:y,handleSave:g}));function q(x){return x?x instanceof Error?x.message:String(x):""}async function D(){const x=m.value;x&&(await n.onEdit?.(x,n.node),n.onEdit||n.actions.startEdit(x))}async function O(){const x=m.value;x&&(await n.onCancel?.(x,n.node),n.onCancel||n.actions.cancelEdit(x))}function y(){const x=m.value;if(!x)return;const J=x.fields.reduce((W,Q)=>(W[Q.code]=Q.value??"",W),{__rowKey:`new-${Date.now()}`});n.actions.saveRow(x,J,-1)}async function g(){const x=m.value;if(x)try{if(n.onSave){await n.onSave(x,n.node);return}await n.actions.saveSection(x)}catch(J){u.value=J,console.error("[GlobalInfoSectionBlock] save section failed",J)}}function I(x){u.value=x}async function E(){a.value=!0,u.value=null,i.value=null;try{i.value=await n.actions.loadSection(n.node)}catch(x){u.value=x,console.error("[GlobalInfoSectionBlock] load section failed",x)}finally{a.value=!1}}e.onMounted(()=>{E()}),e.watch(()=>n.node.key,()=>{E()});const F={props:n,slots:t,loading:a,error:u,loadedSection:i,hideHeader:l,sectionStatus:s,currentSection:m,title:v,editing:h,isTableSection:k,isLoading:b,errorMessage:p,isEmpty:_,slotScope:S,formatError:q,handleEdit:D,handleCancel:O,handleAddTableRow:y,handleSave:g,handleSlotError:I,loadSection:E,GlobalInfoSectionOutlet:kt,GlobalInfoSlotErrorBoundary:hn};return Object.defineProperty(F,"__isScriptSetup",{enumerable:!1,value:!0}),F}}),_n={class:"global-info-section-block"},Sn={key:0,class:"global-info-section-block__header"},kn={class:"global-info-section-block__title-wrap"},In={class:"global-info-section-block__title"},wn={key:0,class:"global-info-section-block__actions"},Cn={class:"global-info-section-block__body"};function Bn(o,r,n,t,a,u){const i=P.ElButton;return e.openBlock(),e.createElementBlock("section",_n,[t.hideHeader?e.createCommentVNode("v-if",!0):(e.openBlock(),e.createElementBlock("header",Sn,[e.renderSlot(o.$slots,"header",e.normalizeProps(e.guardReactiveProps(t.slotScope)),()=>[e.createElementVNode("div",kn,[r[0]||(r[0]=e.createElementVNode("span",{class:"global-info-section-block__marker"},null,-1)),e.createElementVNode("h3",In,e.toDisplayString(t.title),1)]),e.renderSlot(o.$slots,"actions",e.normalizeProps(e.guardReactiveProps(t.slotScope)),()=>[t.currentSection?(e.openBlock(),e.createElementBlock("div",wn,[t.editing?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createVNode(i,{class:"global-info-section-block__cancel",link:"",disabled:t.sectionStatus.saving,onClick:t.handleCancel},{default:e.withCtx(()=>r[2]||(r[2]=[e.createTextVNode(" 取消 ")])),_:1},8,["disabled"]),t.isTableSection?(e.openBlock(),e.createBlock(i,{key:0,class:"global-info-section-block__add",link:"",disabled:t.sectionStatus.saving,onClick:t.handleAddTableRow},{default:e.withCtx(()=>r[3]||(r[3]=[e.createTextVNode(" 新增 ")])),_:1},8,["disabled"])):e.createCommentVNode("v-if",!0),e.createVNode(i,{class:"global-info-section-block__confirm",link:"",type:"primary",loading:t.sectionStatus.saving,onClick:t.handleSave},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.isTableSection?"确认":"保存"),1)]),_:1},8,["loading"])],64)):(e.openBlock(),e.createBlock(i,{key:0,class:"global-info-section-block__edit",link:"",type:"primary",disabled:t.sectionStatus.saving||t.isLoading,onClick:t.handleEdit},{default:e.withCtx(()=>r[1]||(r[1]=[e.createTextVNode(" 编辑 ")])),_:1},8,["disabled"]))])):e.createCommentVNode("v-if",!0)],!0)],!0)])),e.createElementVNode("div",Cn,[t.isLoading?e.renderSlot(o.$slots,"loading",e.normalizeProps(e.mergeProps({key:0},t.slotScope)),()=>[r[4]||(r[4]=e.createElementVNode("div",{class:"global-info-section-block__status"},"加载中...",-1))],!0):!t.currentSection||t.isEmpty||t.errorMessage?e.renderSlot(o.$slots,"empty",e.normalizeProps(e.mergeProps({key:1},t.slotScope)),()=>[r[5]||(r[5]=e.createElementVNode("div",{class:"global-info-section-block__status"},"暂无数据",-1))],!0):(e.openBlock(),e.createBlock(t.GlobalInfoSlotErrorBoundary,{key:2,"boundary-key":n.node.key,label:t.title,onError:t.handleSlotError},{fallback:e.withCtx(()=>[e.renderSlot(o.$slots,"empty",e.normalizeProps(e.guardReactiveProps(t.slotScope)),()=>[r[6]||(r[6]=e.createElementVNode("div",{class:"global-info-section-block__status"},"暂无数据",-1))],!0)]),default:e.withCtx(()=>[e.createVNode(t.GlobalInfoSectionOutlet,{section:t.currentSection,node:n.node,editing:t.editing,state:n.state,actions:n.actions},e.createSlots({_:2},[e.renderList(t.slots,(l,s)=>({name:s,fn:e.withCtx(m=>[e.renderSlot(o.$slots,s,e.normalizeProps(e.guardReactiveProps({...t.slotScope,...m})),void 0,!0)])}))]),1032,["section","node","editing","state","actions"])]),_:3},8,["boundary-key","label"]))])])}const It=G(bn,[["render",Bn],["__scopeId","data-v-7e16fe3d"],["__file","C:/Users/seven.lu/Desktop/JT-Express/yl-jhrcn-jhrfront-mfe-components/src/components/globalInfo/components/GlobalInfoSectionBlock.vue"]]),qn=e.defineComponent({name:"GlobalInfoGroup",__name:"GlobalInfoGroup",props:{group:{type:Object,required:!0},children:{type:Array,required:!0},state:{type:Object,required:!0},actions:{type:Object,required:!0},index:{type:Number,required:!1}},setup(o,{expose:r}){r();const n=o,t=e.useSlots(),a=e.computed(()=>n.group.tagName||n.group.label||"-"),u=e.computed(()=>n.children.length<=1);function i(b,p){const _=n.actions.getSection(b);return{node:b,group:n.group,sectionNode:b,section:_,sectionView:_,state:n.state,actions:n.actions,index:p,editing:!!(_&&n.actions.isEditing(_)),sectionStatus:n.actions.getSectionStatus(b),isSelfSection:v(b,0)===v(n.group,0),handleEdit:()=>n.actions.startEdit(b),handleCancel:()=>n.actions.cancelEdit(b),handleSave:()=>n.actions.saveSection(b.key)}}function l(b){return s("section",m(b))}function s(b,p){if(!p)return"";const _=`${b}-${p}`;if(t[_])return _;const S=_.toLowerCase();return S!==_&&t[S]?S:""}function m(b){return String(b.id||b.infSetId||b.tagId||b.key||b.code||"").trim()}function v(b,p){return b.key||b.id||b.infSetId||b.tagId||`${p}`}function h(b){return`global-info-section-${v(b,0)}`}const k={props:n,slotMap:t,groupTitle:a,shouldHideSectionHeader:u,getSectionSlotScope:i,getSectionSlotName:l,findSlotName:s,getNodeIdentity:m,getNodeKey:v,getSectionAnchorId:h,GlobalInfoSectionBlock:It};return Object.defineProperty(k,"__isScriptSetup",{enumerable:!1,value:!0}),k}}),En={class:"global-info-group"},xn={class:"global-info-group__header"},Nn={class:"global-info-group__title"},Vn={class:"global-info-group__body"},jn=["id"];function Pn(o,r,n,t,a,u){return e.openBlock(),e.createElementBlock("section",En,[e.renderSlot(o.$slots,"header",{group:n.group,children:n.children,state:n.state,actions:n.actions,title:t.groupTitle,index:n.index,isEmpty:n.children.length===0},()=>[e.createElementVNode("header",xn,[r[0]||(r[0]=e.createElementVNode("span",{class:"global-info-group__marker"},null,-1)),e.createElementVNode("h2",Nn,e.toDisplayString(t.groupTitle),1)])],!0),e.createElementVNode("div",Vn,[t.slotMap.default?e.renderSlot(o.$slots,"default",{key:0,group:n.group,children:n.children,state:n.state,actions:n.actions,index:n.index,isEmpty:n.children.length===0},void 0,!0):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.children,(i,l)=>(e.openBlock(),e.createElementBlock("div",{id:t.getSectionAnchorId(i),key:t.getNodeKey(i,l),class:"global-info-group__section"},[t.getSectionSlotName(i)?e.renderSlot(o.$slots,t.getSectionSlotName(i),e.mergeProps({key:0,ref_for:!0},t.getSectionSlotScope(i,l)),void 0,!0):t.slotMap.section?e.renderSlot(o.$slots,"section",e.mergeProps({key:1,ref_for:!0},t.getSectionSlotScope(i,l)),void 0,!0):(e.openBlock(),e.createBlock(t.GlobalInfoSectionBlock,{key:2,node:i,state:n.state,actions:n.actions,"hide-header":t.shouldHideSectionHeader},e.createSlots({_:2},[e.renderList(t.slotMap,(s,m)=>({name:m,fn:e.withCtx(v=>[e.renderSlot(o.$slots,m,e.mergeProps({ref_for:!0},v),void 0,!0)])}))]),1032,["node","state","actions","hide-header"]))],8,jn))),128)),n.children.length===0?e.renderSlot(o.$slots,"empty",{key:0,node:null,group:n.group,sectionNode:null,state:n.state,actions:n.actions,index:-1},()=>[r[1]||(r[1]=e.createElementVNode("div",{class:"global-info-group__empty"},"暂无数据",-1))],!0):e.createCommentVNode("v-if",!0)],64))])])}const wt=G(qn,[["render",Pn],["__scopeId","data-v-b6f26a79"],["__file","C:/Users/seven.lu/Desktop/JT-Express/yl-jhrcn-jhrfront-mfe-components/src/components/globalInfo/components/GlobalInfoGroup.vue"]]),Tn=e.defineComponent({name:"GlobalInfoSections",__name:"GlobalInfoSections",props:{nodes:{type:Array,required:!0},state:{type:Object,required:!0},actions:{type:Object,required:!0}},setup(o,{expose:r}){r();const n=o,t=e.useSlots(),a=e.computed(()=>{const p=n.nodes.filter(g=>u(g).length>0),_=n.nodes.filter(g=>u(g).length===0),S=_.filter(g=>i(g)),q=_.filter(g=>!i(g)),D=p.map(g=>({group:g,children:u(g)})),O=S.map(g=>({group:g,children:[g]}));if(D.length===0)return S.length>0?O:k(q);const y=k(q);return[...D,...O,...y]});function u(p){return p.children??[]}function i(p){return!String(p.parentId||p.parentTagId||"").trim()}function l(p){return s("group",m(p))}function s(p,_){if(!_)return"";const S=`${p}-${_}`;if(t[S])return S;const q=S.toLowerCase();return q!==S&&t[q]?q:""}function m(p){return String(p.id||p.tagId||p.key||p.code||"").trim()}function v(p,_){return p.key||p.id||p.tagId||`${_}`}function h(p){const _=p[0],S=_?.raw??{},q=String(S.parentTagName||S.parentName||S.parentLabel||_?.parentId||"信息");return{..._,key:`${_?.parentId||_?.parentTagId||_?.key||"global-info"}-group`,id:String(_?.parentId||_?.parentTagId||_?.id||"global-info-group"),tagId:String(_?.parentTagId||_?.parentId||_?.tagId||"global-info-group"),tagName:q,label:q,children:p}}function k(p){const _=new Map;return p.forEach(S=>{const q=String(S.parentId||S.parentTagId||"global-info-flat"),D=_.get(q)??[];D.push(S),_.set(q,D)}),Array.from(_.values()).map(S=>({group:h(S),children:S}))}const b={props:n,slotMap:t,renderGroups:a,getChildren:u,isRootNode:i,getGroupSlotName:l,findSlotName:s,getNodeIdentity:m,getNodeKey:v,createFlatGroup:h,groupLeavesByParent:k,GlobalInfoGroup:wt};return Object.defineProperty(b,"__isScriptSetup",{enumerable:!1,value:!0}),b}}),Fn={class:"global-info-sections"};function On(o,r,n,t,a,u){return e.openBlock(),e.createElementBlock("div",Fn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.renderGroups,(i,l)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:t.getNodeKey(i.group,l)},[t.getGroupSlotName(i.group)?e.renderSlot(o.$slots,t.getGroupSlotName(i.group),{key:0,group:i.group,children:i.children,state:n.state,actions:n.actions,index:l,isEmpty:i.children.length===0},void 0,!0):t.slotMap.group?e.renderSlot(o.$slots,"group",{key:1,group:i.group,children:i.children,state:n.state,actions:n.actions,index:l,isEmpty:i.children.length===0},void 0,!0):(e.openBlock(),e.createBlock(t.GlobalInfoGroup,{key:2,group:i.group,children:i.children,state:n.state,actions:n.actions,index:l},e.createSlots({_:2},[e.renderList(t.slotMap,(s,m)=>({name:m,fn:e.withCtx(v=>[e.renderSlot(o.$slots,m,e.mergeProps({ref_for:!0},v),void 0,!0)])}))]),1032,["group","children","state","actions","index"]))],64))),128))])}const Dn=G(Tn,[["render",On],["__scopeId","data-v-904289c5"],["__file","C:/Users/seven.lu/Desktop/JT-Express/yl-jhrcn-jhrfront-mfe-components/src/components/globalInfo/components/GlobalInfoSections.vue"]]);exports.JtAttachmentPreview=xe.JtAttachmentPreview;exports.JtAttachmentPreviewByParams=xe.JtAttachmentPreviewByParams;exports.setupJtAttachmentPreview=xe.setupJtAttachmentPreview;exports.GlobalInfoAutoRenderer=St;exports.GlobalInfoDeleteConfirm=bt;exports.GlobalInfoFieldControl=Pe;exports.GlobalInfoFieldValue=Te;exports.GlobalInfoFormRenderer=ht;exports.GlobalInfoGroup=wt;exports.GlobalInfoProvider=Mo;exports.GlobalInfoSectionBlock=It;exports.GlobalInfoSectionOutlet=kt;exports.GlobalInfoSections=Dn;exports.GlobalInfoTableRenderer=_t;exports.JtButton=Ne;exports.JtCascader=He;exports.JtCrudTable=go;exports.JtDatePicker=We;exports.JtFilterBar=Qe;exports.JtFormItems=Ze;exports.JtInput=Se;exports.JtPageHeader=ko;exports.JtSelect=Ye;exports.JtTable=Xe;exports.buildGlobalInfoUpdatePayload=ot;exports.createEmptyGlobalInfoViewModel=$e;exports.isGlobalInfoNode=Io;exports.mergeGlobalInfoChildren=Ve;exports.normalizeGlobalInfoDetail=et;exports.normalizeGlobalInfoTree=Be;exports.resolveGlobalInfoRenderType=tt;exports.useGlobalInfoController=pt;
|