form-design-v3 1.0.5 → 1.1.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.
@@ -1,2 +1,2 @@
1
- (function(x,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("pinia"),require("element-plus"),require("element-plus/es/components/select/style/css"),require("lucide-vue-next"),require("element-plus/es/components/input-number/style/css"),require("element-plus/es/components/message/style/css"),require("element-plus/es/components/message-box/style/css"),require("element-plus/es/components/tree/style/css"),require("element-plus/es/components/dialog/style/css"),require("element-plus/es/components/input/style/css"),require("element-plus/es/components/pagination/style/css"),require("element-plus/es/components/button/style/css"),require("element-plus/es/components/empty/style/css"),require("element-plus/es/components/loading/style/css"),require("element-plus/es/components/config-provider/style/css"),require("monaco-editor"),require("monaco-editor/language/typescript/monaco.contribution")):typeof define=="function"&&define.amd?define(["exports","vue","pinia","element-plus","element-plus/es/components/select/style/css","lucide-vue-next","element-plus/es/components/input-number/style/css","element-plus/es/components/message/style/css","element-plus/es/components/message-box/style/css","element-plus/es/components/tree/style/css","element-plus/es/components/dialog/style/css","element-plus/es/components/input/style/css","element-plus/es/components/pagination/style/css","element-plus/es/components/button/style/css","element-plus/es/components/empty/style/css","element-plus/es/components/loading/style/css","element-plus/es/components/config-provider/style/css","monaco-editor","monaco-editor/language/typescript/monaco.contribution"],e):(x=typeof globalThis<"u"?globalThis:x||self,e(x.FormDesignV3={},x.Vue,x.Pinia,x.ElementPlus,null,x.LucideVueNext,null,null,null,null,null,null,null,null,null,null,null,x.monaco,x.monaco))})(this,(function(x,e,ke,w,Na,be,Va,wa,Ba,Ca,$a,xa,_a,Sa,Da,Ia,Ta,ue,he){"use strict";function ye(t){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const o in t)if(o!=="default"){const l=Object.getOwnPropertyDescriptor(t,o);Object.defineProperty(n,o,l.get?l:{enumerable:!0,get:()=>t[o]})}}return n.default=t,Object.freeze(n)}const v=ye(ue),H=new Map;function A(t){H.set(t.type,t)}function M(t){return H.get(t)}function Ee(){return Array.from(H.values())}function Ne(t){const n=M(t);if(!n)throw new Error(`未注册的控件类型: ${t}`);return{...n.createDefaultProps(),id:`${t}_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,7)}`}}const Ve={class:"fd-label-name"},we=e.defineComponent({__name:"LabelDesign",props:{node:{}},setup(t){const n=F();return(o,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["fd-label-design",{"is-mobile":e.unref(n).device==="mobile"}])},[e.createElementVNode("span",Ve,e.toDisplayString(t.node.label||"标题"),1),e.createElementVNode("span",{class:e.normalizeClass(["fd-label-value",{"fd-label-value--link":!!t.node.bindLink}]),style:e.normalizeStyle(!t.node.bindLink&&t.node.color?{color:t.node.color}:void 0)},[t.node.bindLink?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createTextVNode(e.toDisplayString(t.node.bindField||t.node.bindLink),1)],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(t.node.bindField||"未绑定字段"),1)],64))],6)],2))}}),$=(t,n)=>{const o=t.__vccOpts||t;for(const[l,r]of n)o[l]=r;return o},Be=$(we,[["__scopeId","data-v-d8f57508"]]),Ce={class:"fd-label-name"},$e=["data-key"],xe=["href"],_e=$(e.defineComponent({__name:"LabelRender",props:{node:{},value:{},formData:{}},setup(t){const n=t,o=e.computed(()=>!!n.node.bindLink),l=e.computed(()=>{var f;const m=n.node.bindLink?(f=n.formData)==null?void 0:f[n.node.bindLink]:void 0;return m==null?"":String(m)}),r=e.computed(()=>n.value!==void 0&&n.value!==null&&n.value!==""?String(n.value):l.value?l.value:""),s=F(),d=e.ref(!1);let i=null;e.onMounted(()=>{i=window.matchMedia("(max-width: 768px)"),d.value=i.matches,i.addEventListener("change",m=>{d.value=m.matches})}),e.onUnmounted(()=>{i&&i.removeEventListener("change",()=>{})});const a=e.computed(()=>s.device==="mobile"||d.value);return(m,f)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["fd-label-render",{"is-mobile":a.value}])},[e.createElementVNode("span",Ce,e.toDisplayString(t.node.label||"标题"),1),e.createElementVNode("span",{class:e.normalizeClass(["fd-label-value",{"fd-label-value--link":o.value}]),"data-key":t.node.bindField,style:e.normalizeStyle(!o.value&&t.node.color?{color:t.node.color}:void 0)},[l.value?(e.openBlock(),e.createElementBlock("a",{key:0,class:"fd-label-link",href:l.value,target:"_blank",rel:"noopener noreferrer"},e.toDisplayString(r.value),9,xe)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(r.value),1)],64))],14,$e)],2))}}),[["__scopeId","data-v-d521c01f"]]),Se={class:"fd-panel"},De={class:"fd-panel-item"},Ie=["value"],Te={class:"fd-panel-item"},Fe={class:"fd-panel-item"},Le={class:"fd-panel-item"},Me={class:"fd-color-row"},Oe=["value"],ze=["value"],Ue="#344054",je={type:"label",title:"Label 文本",design:Be,render:_e,panel:$(e.defineComponent({__name:"LabelPanel",props:{node:{},fields:{}},emits:["update"],setup(t,{emit:n}){const o=t,l=n;function r(a){return a&&/^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/.test(a)?a:Ue}function s(a){l("update",{color:a.target.value})}const d=a=>{const m=a??"",f=o.fields.find(E=>E.name===m),b={bindField:m,bindLink:(f==null?void 0:f.dataType)==="link"?m:""};f!=null&&f.label&&(b.label=f.label),l("update",b)},i=a=>{l("update",{bindLink:a??""})};return(a,m)=>(e.openBlock(),e.createElementBlock("div",Se,[e.createElementVNode("div",De,[m[2]||(m[2]=e.createElementVNode("label",null,"标题",-1)),e.createElementVNode("input",{value:t.node.label,onInput:m[0]||(m[0]=f=>l("update",{label:f.target.value}))},null,40,Ie)]),e.createElementVNode("div",Te,[m[3]||(m[3]=e.createElementVNode("label",null,"绑定字段",-1)),e.createVNode(e.unref(w.ElSelect),{"model-value":t.node.bindField,filterable:"",clearable:"",placeholder:"搜索并选择字段(链接字段自动作为链接)",style:{width:"100%"},"onUpdate:modelValue":d},{default:e.withCtx(()=>[e.createVNode(e.unref(w.ElOption),{label:"不绑定",value:""}),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.fields,f=>(e.openBlock(),e.createBlock(e.unref(w.ElOption),{key:f.name,label:`${f.label}(${f.name})`,value:f.name},null,8,["label","value"]))),128))]),_:1},8,["model-value"])]),e.createElementVNode("div",Fe,[m[4]||(m[4]=e.createElementVNode("label",null,"链接",-1)),e.createVNode(e.unref(w.ElSelect),{"model-value":t.node.bindLink,filterable:"",clearable:"",placeholder:"选择链接字段(留空=不绑定)",style:{width:"100%"},"onUpdate:modelValue":i},{default:e.withCtx(()=>[e.createVNode(e.unref(w.ElOption),{label:"不绑定",value:""}),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.fields,f=>(e.openBlock(),e.createBlock(e.unref(w.ElOption),{key:f.name,label:`${f.label}(${f.name})`,value:f.name},null,8,["label","value"]))),128))]),_:1},8,["model-value"])]),e.createElementVNode("div",Le,[m[5]||(m[5]=e.createElementVNode("label",null,"字体颜色",-1)),e.createElementVNode("div",Me,[e.createElementVNode("input",{type:"color",value:r(t.node.color),onInput:s},null,40,Oe),e.createElementVNode("input",{type:"text",value:t.node.color,onInput:m[1]||(m[1]=f=>l("update",{color:f.target.value})),placeholder:"默认 #344054"},null,40,ze)])])]))}}),[["__scopeId","data-v-9219c401"]]),isContainer:!1,createDefaultProps:()=>({id:"",type:"label",label:"Label 文本",bindField:"",bindLink:"",color:"#344054"}),serialize:t=>t},q=e.defineComponent({__name:"LucideIcon",props:{name:{},size:{default:18},strokeWidth:{default:2}},setup(t){const n=t,o=e.computed(()=>n.name&&be.icons[n.name]||null);return(l,r)=>o.value?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o.value),{key:0,size:t.size,"stroke-width":t.strokeWidth},null,8,["size","stroke-width"])):e.createCommentVNode("",!0)}}),Ae={class:"fd-card-design"},Pe={class:"fd-card-head"},Re={class:"fd-card-title"},Je=["title"],qe={class:"fd-card-body"},We=$(e.defineComponent({__name:"CardDesign",props:{node:{}},setup(t){const n=t,o=F();function l(){o.setExpanded(n.node.id,!n.node.expanded)}return(r,s)=>(e.openBlock(),e.createElementBlock("div",Ae,[e.createElementVNode("div",Pe,[t.node.icon?(e.openBlock(),e.createElementBlock("span",{key:0,class:"fd-card-icon",style:e.normalizeStyle({background:t.node.iconBgColor||void 0})},[e.createVNode(q,{name:t.node.icon,size:18},null,8,["name"])],4)):e.createCommentVNode("",!0),e.createElementVNode("span",Re,e.toDisplayString(t.node.label||"卡片标题"),1),e.createElementVNode("span",{class:e.normalizeClass(["fd-card-arrow",{"is-open":t.node.expanded}]),title:t.node.expanded?"收起":"展开",onClick:e.withModifiers(l,["stop"])},[...s[0]||(s[0]=[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[e.createElementVNode("polyline",{points:"6 9 12 15 18 9"})],-1)])],10,Je)]),e.withDirectives(e.createElementVNode("div",qe,[e.renderSlot(r.$slots,"children",{},()=>[s[1]||(s[1]=e.createElementVNode("div",{class:"fd-card-empty"},"拖拽子控件到此处",-1))],!0)],512),[[e.vShow,t.node.expanded]])]))}}),[["__scopeId","data-v-6a46ee95"]]);function ee(t,n){if(!t||t==="none")return!1;const o=Number(n);return t==="start"?o===10:t==="not-start"?o!==10:t==="not-approval"?o!==20:!1}const He={key:0,class:"fd-card-render"},Ge={class:"fd-card-title"},Ye={class:"fd-card-body"},Ke=$(e.defineComponent({__name:"CardRender",props:{node:{},formData:{}},setup(t){const n=t,o=e.ref(n.node.expanded);return(l,r)=>{var s;return e.unref(ee)(t.node.hiddenMode,(s=t.formData)==null?void 0:s.status)?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",He,[e.createElementVNode("div",{class:"fd-card-head",onClick:r[0]||(r[0]=d=>o.value=!o.value)},[t.node.icon?(e.openBlock(),e.createElementBlock("span",{key:0,class:"fd-card-icon",style:e.normalizeStyle({background:t.node.iconBgColor||void 0})},[e.createVNode(q,{name:t.node.icon,size:18},null,8,["name"])],4)):e.createCommentVNode("",!0),e.createElementVNode("span",Ge,e.toDisplayString(t.node.label||"卡片标题"),1),e.createElementVNode("span",{class:e.normalizeClass(["fd-card-arrow",{"is-open":o.value}])},[...r[1]||(r[1]=[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[e.createElementVNode("polyline",{points:"6 9 12 15 18 9"})],-1)])],2)]),e.withDirectives(e.createElementVNode("div",Ye,[e.renderSlot(l.$slots,"children",{},void 0,!0)],512),[[e.vShow,o.value]])]))}}}),[["__scopeId","data-v-bc2f6273"]]),Qe=["disabled","aria-checked"],J=$(e.defineComponent({__name:"FdSwitch",props:{modelValue:{type:Boolean},disabled:{type:Boolean}},emits:["update:modelValue"],setup(t,{emit:n}){const o=n;return(l,r)=>(e.openBlock(),e.createElementBlock("button",{type:"button",class:e.normalizeClass(["fd-switch",{"is-on":t.modelValue}]),disabled:t.disabled,role:"switch","aria-checked":t.modelValue,onClick:r[0]||(r[0]=s=>o("update:modelValue",!t.modelValue))},[...r[1]||(r[1]=[e.createElementVNode("span",{class:"fd-switch-dot"},null,-1)])],10,Qe))}}),[["__scopeId","data-v-eac909bd"]]),Xe=["LayoutGrid","PanelTop","Folder","FolderOpen","FileText","ClipboardList","ClipboardCheck","MapPin","Store","Building2","Badge","Tag","CalendarDays","TrendingUp","Clock","Calculator","Receipt","Target","ChartPie","ChartLine","CircleDollarSign","Briefcase","Scale","ShieldCheck","Sparkles","ScanSearch","MessageSquareText","GitBranch","Paperclip","Download","Upload","Network","Printer","CircleCheck","CircleAlert","Info","Bell","Settings","User","Users","Heart","Star","Lightbulb","Award","BookOpen","Coins","Wallet"],Ze={class:"fd-panel"},ve={class:"fd-panel-item"},et=["value"],tt={class:"fd-panel-item"},nt={class:"fd-icon-picker"},ot={key:1,class:"fd-icon-placeholder"},lt={class:"fd-icon-grid"},at=["title","onClick"],st={class:"fd-panel-item"},rt=["value"],dt={class:"fd-panel-item fd-panel-item--row"},it={class:"fd-panel-item"},ct=["value"],mt={type:"card",title:"卡片容器",design:We,render:Ke,panel:$(e.defineComponent({__name:"CardPanel",props:{node:{},fields:{}},emits:["update"],setup(t,{emit:n}){const o=n,l=e.ref(!1);function r(s){o("update",{icon:s}),l.value=!1}return(s,d)=>(e.openBlock(),e.createElementBlock("div",Ze,[e.createElementVNode("div",ve,[d[7]||(d[7]=e.createElementVNode("label",null,"标题",-1)),e.createElementVNode("input",{value:t.node.label,onInput:d[0]||(d[0]=i=>o("update",{label:i.target.value}))},null,40,et)]),e.createElementVNode("div",tt,[d[10]||(d[10]=e.createElementVNode("label",null,"图标",-1)),e.createElementVNode("div",nt,[e.createElementVNode("button",{type:"button",class:"fd-icon-trigger",onClick:d[1]||(d[1]=i=>l.value=!l.value)},[t.node.icon?(e.openBlock(),e.createBlock(q,{key:0,name:t.node.icon,size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",ot,"无图标")),d[8]||(d[8]=e.createElementVNode("svg",{class:"fd-icon-caret",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[e.createElementVNode("polyline",{points:"6 9 12 15 18 9"})],-1))]),l.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"fd-icon-popover",onClick:d[3]||(d[3]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("div",lt,[e.createElementVNode("button",{type:"button",class:e.normalizeClass(["fd-icon-option",{active:!t.node.icon}]),title:"无图标",onClick:d[2]||(d[2]=i=>r(""))},[...d[9]||(d[9]=[e.createElementVNode("span",{class:"fd-icon-none"},"无",-1)])],2),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(Xe),i=>(e.openBlock(),e.createElementBlock("button",{key:i,type:"button",class:e.normalizeClass(["fd-icon-option",{active:t.node.icon===i}]),title:i,onClick:a=>r(i)},[e.createVNode(q,{name:i,size:18},null,8,["name"])],10,at))),128))])])):e.createCommentVNode("",!0)])]),e.createElementVNode("div",st,[d[11]||(d[11]=e.createElementVNode("label",null,"图标底色",-1)),e.createElementVNode("input",{value:t.node.iconBgColor,onInput:d[4]||(d[4]=i=>o("update",{iconBgColor:i.target.value}))},null,40,rt)]),e.createElementVNode("div",dt,[d[12]||(d[12]=e.createElementVNode("label",null,"初始展开",-1)),e.createVNode(J,{"model-value":t.node.expanded,"onUpdate:modelValue":d[5]||(d[5]=i=>o("update",{expanded:i}))},null,8,["model-value"])]),e.createElementVNode("div",it,[d[13]||(d[13]=e.createElementVNode("label",null,"宽度",-1)),e.createElementVNode("input",{value:t.node.width,onInput:d[6]||(d[6]=i=>o("update",{width:i.target.value}))},null,40,ct)])]))}}),[["__scopeId","data-v-d3ccdc07"]]),isContainer:!0,createDefaultProps:()=>({id:"",type:"card",label:"卡片标题",bindField:"",icon:"",iconBgColor:"",expanded:!0,width:"",hiddenMode:"none",children:[]}),serialize:t=>t},ft={class:"fd-slot-design"},pt={class:"fd-slot-hint"},gt=$(e.defineComponent({__name:"SlotDesign",props:{node:{}},setup(t){return(n,o)=>(e.openBlock(),e.createElementBlock("div",ft,[o[0]||(o[0]=e.createElementVNode("span",{class:"fd-slot-tag"},"插槽",-1)),e.withDirectives(e.createElementVNode("span",{class:"fd-slot-name"},e.toDisplayString(t.node.label||"未命名插槽"),513),[[e.vShow,!["","插","插槽"].includes(t.node.label)]]),e.createElementVNode("span",pt,"宿主注入:"+e.toDisplayString(t.node.slotName),1)]))}}),[["__scopeId","data-v-b1a912fb"]]),kt={key:0,class:"fd-slot-render"},bt={class:"fd-slot-missing"},ut=$(e.defineComponent({__name:"SlotRender",props:{node:{},mode:{},formId:{},formData:{}},setup(t){return(n,o)=>{var l;return e.unref(ee)(t.node.hiddenMode,(l=t.formData)==null?void 0:l.status)?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",kt,[e.renderSlot(n.$slots,t.node.slotName,{node:t.node,formData:t.formData,mode:t.mode,formId:t.formId},()=>[e.createElementVNode("div",bt,"未注入插槽:"+e.toDisplayString(t.node.slotName),1)],!0)]))}}}),[["__scopeId","data-v-10795159"]]),ht=["header","base-info","shop-tuning","contract-links","contract-list","handover-records","attachments","ai-risk","initiator-opinion","approval-flow","return-records","approval-records","approval-opinion","related-flows","footer"],W={header:"页面头部","base-info":"基础信息","shop-tuning":"招调信息","contract-links":"查看图纸/缴款计划","contract-list":"合同列表","handover-records":"交办记录",attachments:"附件信息","ai-risk":"AI风险识别","initiator-opinion":"发起人意见","approval-flow":"审批流程","return-records":"退回记录","approval-records":"审批记录","approval-opinion":"审批意见","related-flows":"相关流程",footer:"页面底部"},yt={class:"fd-panel"},Et={class:"fd-panel-item"},Nt=["value"],Vt={class:"fd-panel-item"},te="插槽",wt={type:"slot",title:"插槽",design:gt,render:ut,panel:$(e.defineComponent({__name:"SlotPanel",props:{node:{},fields:{}},emits:["update"],setup(t,{emit:n}){const o=t,l=n,r=F(),s=e.ref([]);function d(f,b){f.forEach(E=>{var _;E.type==="slot"&&E.slotName&&b.add(E.slotName),(_=E.children)!=null&&_.length&&d(E.children,b)})}const i=e.computed(()=>{const f=new Set(ht);return d(r.widgets,f),s.value.forEach(b=>b&&f.add(b)),[...f]}),a=e.computed(()=>o.node.label||W[o.node.slotName||""]||te);function m(f){const b=f??"";b&&!i.value.includes(b)&&s.value.push(b),l("update",{slotName:b,label:W[b]||te})}return(f,b)=>(e.openBlock(),e.createElementBlock("div",yt,[e.createElementVNode("div",Et,[b[1]||(b[1]=e.createElementVNode("label",null,"标题",-1)),e.createElementVNode("input",{value:a.value,onInput:b[0]||(b[0]=E=>l("update",{label:E.target.value}))},null,40,Nt)]),e.createElementVNode("div",Vt,[b[2]||(b[2]=e.createElementVNode("label",null,"插槽名",-1)),e.createVNode(e.unref(w.ElSelect),{"model-value":t.node.slotName,filterable:"","allow-create":"",clearable:"","default-first-option":"",placeholder:"选择已有插槽名,或输入新名称创建",style:{width:"100%"},"onUpdate:modelValue":m},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,E=>(e.openBlock(),e.createBlock(e.unref(w.ElOption),{key:E,label:E,value:E},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(W)[E]?`${e.unref(W)[E]}(${E})`:E),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["model-value"])])]))}}),[["__scopeId","data-v-56e42d3f"]]),isContainer:!1,createDefaultProps:()=>({id:"",type:"slot",label:"插槽",bindField:"",slotName:"",slotProps:{},hiddenMode:"none"}),serialize:t=>t},Bt={class:"fd-st-design"},Ct={key:0,class:"fd-st-table-wrap"},$t={class:"fd-st-table"},xt={key:0,class:"fd-st-seq"},_t={key:0,class:"fd-st-seq"},St={key:1,class:"fd-st-cards"},Dt={class:"fd-st-card"},It={class:"fd-st-card-label"},Tt={key:0,class:"fd-st-cards-empty"},Ft=$(e.defineComponent({__name:"SubtableDesign",props:{node:{}},setup(t){const n=t,o=e.computed(()=>n.node.tablestyle!=="cards");return(l,r)=>(e.openBlock(),e.createElementBlock("div",Bt,[o.value?(e.openBlock(),e.createElementBlock("div",Ct,[e.createElementVNode("table",$t,[e.createElementVNode("thead",null,[e.createElementVNode("tr",null,[t.node.secondtableindex==="1"?(e.openBlock(),e.createElementBlock("th",xt,"序号")):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.node.colnums.filter(s=>s.isshow===1),s=>(e.openBlock(),e.createElementBlock("th",{key:s.name,style:e.normalizeStyle({width:s.showwidth||void 0})},e.toDisplayString(s.showname||s.major||s.name),5))),128))])]),e.createElementVNode("tbody",null,[e.createElementVNode("tr",null,[t.node.secondtableindex==="1"?(e.openBlock(),e.createElementBlock("td",_t,"1")):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.node.colnums.filter(s=>s.isshow===1),s=>(e.openBlock(),e.createElementBlock("td",{key:s.name,class:e.normalizeClass(["fd-st-cell",{"fd-st-cell--link":!!s.bindLink}])},e.toDisplayString(s.name),3))),128))])])])])):(e.openBlock(),e.createElementBlock("div",St,[e.createElementVNode("div",Dt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.node.colnums.filter(s=>s.isshow===1),s=>(e.openBlock(),e.createElementBlock("div",{key:s.name,class:"fd-st-card-row"},[e.createElementVNode("span",It,e.toDisplayString(s.showname||s.major),1),e.createElementVNode("span",{class:e.normalizeClass(["fd-st-card-value",{"fd-st-card-value--link":!!s.bindLink}])},e.toDisplayString(s.name),3)]))),128))]),t.node.colnums.filter(s=>s.isshow===1).length===0?(e.openBlock(),e.createElementBlock("div",Tt," 暂无列配置 ")):e.createCommentVNode("",!0)]))]))}}),[["__scopeId","data-v-aba8caec"]]),Lt=["subtable-key"],Mt={key:0,class:"fd-st-table-wrap"},Ot={class:"fd-st-table"},zt={key:0,class:"fd-st-seq"},Ut=["subtable-val"],jt={key:1,class:"fd-st-op"},At={key:0,class:"fd-st-seq"},Pt=["rowspan","subtable-val"],Rt=["href"],Jt={key:1,class:"fd-st-op"},qt=["onClick"],Wt={key:0},Ht=["colspan"],Gt={key:1,class:"fd-st-cards"},Yt={class:"fd-st-card-label"},Kt=["subtable-val"],Qt=["href"],Xt={key:0,class:"fd-st-card-actions"},Zt=["onClick"],vt={key:0,class:"fd-st-cards-empty"},en=$(e.defineComponent({__name:"SubtableRender",props:{node:{},formData:{}},setup(t){const n=t,o=e.computed(()=>n.node.colnums.filter(N=>N.isshow===1)),l=e.computed(()=>n.node.isreadonly==="1"),r=e.computed(()=>{var C;const N=(C=n.formData)==null?void 0:C[n.node.secondtable];return Array.isArray(N)?N:[]}),s=e.computed(()=>!(n.node.nodatahidetable==="1"&&r.value.length===0)),d=e.computed(()=>n.node.tablestyle!=="cards");function i(){if(l.value)return;const N={};o.value.forEach(C=>N[C.name]=""),n.formData&&Array.isArray(n.formData[n.node.secondtable])&&n.formData[n.node.secondtable].push(N)}function a(N){l.value||n.formData&&Array.isArray(n.formData[n.node.secondtable])&&n.formData[n.node.secondtable].splice(N,1)}function m(N,C){const p=N[C];return p==null?"":String(p)}function f(N,C){return N.bindLink?m(C,N.bindLink):""}const b=e.computed(()=>{const N=r.value,C=[],p=[];return o.value.forEach((k,h)=>{C[h]=[],p[h]=[];const S=k.issamecolmerge===1;let L=0;for(let y=0;y<N.length;y++){const g=m(N[y],k.name);S&&y>0&&g===m(N[y-1],k.name)?(p[h][y]=!0,C[h][L]+=1):(p[h][y]=!1,C[h][y]=1,L=y)}}),{spans:C,skipped:p}});function E(N,C){var p;return((p=b.value.skipped[N])==null?void 0:p[C])===!0}function _(N,C){var k;const p=(k=b.value.spans[N])==null?void 0:k[C];return p&&p>1?p:void 0}return(N,C)=>s.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"fd-st-render","subtable-key":t.node.secondtable},[d.value?(e.openBlock(),e.createElementBlock("div",Mt,[e.createElementVNode("table",Ot,[e.createElementVNode("thead",null,[e.createElementVNode("tr",null,[t.node.secondtableindex==="1"?(e.openBlock(),e.createElementBlock("th",zt,"序号")):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,p=>(e.openBlock(),e.createElementBlock("th",{key:p.name,"subtable-val":p.name,style:e.normalizeStyle({width:p.showwidth||void 0,textAlign:p.align||"left"})},e.toDisplayString(p.showname||p.major||p.name),13,Ut))),128)),l.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("th",jt,"操作"))])]),e.createElementVNode("tbody",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,(p,k)=>(e.openBlock(),e.createElementBlock("tr",{key:k},[t.node.secondtableindex==="1"?(e.openBlock(),e.createElementBlock("td",At,e.toDisplayString(k+1),1)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,(h,S)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:h.name},[E(S,k)?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("td",{key:0,rowspan:_(S,k),"subtable-val":h.name,style:e.normalizeStyle({textAlign:h.align||"left",color:h.prospect||void 0,background:h.background||void 0})},[f(h,p)?(e.openBlock(),e.createElementBlock("a",{key:0,class:"fd-st-link",href:f(h,p),target:"_blank",rel:"noopener noreferrer"},e.toDisplayString(m(p,h.name)),9,Rt)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(m(p,h.name)),1)],64))],12,Pt))],64))),128)),l.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("td",Jt,[e.createElementVNode("button",{class:"fd-btn fd-btn--danger",onClick:h=>a(k)},"删除",8,qt)]))]))),128)),r.value.length===0?(e.openBlock(),e.createElementBlock("tr",Wt,[e.createElementVNode("td",{colspan:o.value.length+(t.node.secondtableindex==="1"?1:0)+(l.value?0:1),class:"fd-st-empty"},e.toDisplayString(t.node.nodatatitle==="1"?"暂无数据":""),9,Ht)])):e.createCommentVNode("",!0)])])])):(e.openBlock(),e.createElementBlock("div",Gt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,(p,k)=>(e.openBlock(),e.createElementBlock("div",{key:k,class:"fd-st-card"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,h=>(e.openBlock(),e.createElementBlock("div",{key:h.name,class:"fd-st-card-row"},[e.createElementVNode("span",Yt,e.toDisplayString(h.showname||h.major||h.name),1),e.createElementVNode("span",{class:"fd-st-card-value","subtable-val":h.name},[f(h,p)?(e.openBlock(),e.createElementBlock("a",{key:0,class:"fd-st-link",href:f(h,p),target:"_blank",rel:"noopener noreferrer"},e.toDisplayString(m(p,h.name)),9,Qt)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(m(p,h.name)),1)],64))],8,Kt)]))),128)),l.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Xt,[e.createElementVNode("button",{class:"fd-btn fd-btn--danger fd-btn--sm",onClick:h=>a(k)},"删除",8,Zt)]))]))),128)),r.value.length===0?(e.openBlock(),e.createElementBlock("div",vt,e.toDisplayString(t.node.nodatatitle==="1"?"暂无数据":""),1)):e.createCommentVNode("",!0)])),l.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("button",{key:2,class:"fd-btn fd-btn--primary fd-st-add",onClick:i},"新增一行"))],8,Lt)):e.createCommentVNode("",!0)}}),[["__scopeId","data-v-684725d9"]]);function tn(t){return t.fields.map((n,o)=>{const l=n.dataType==="file",r=n.dataType==="link";return{name:n.name,isshow:1,major:"",showname:n.label,showwidth:"",background:"",prospect:"",issum:0,index:o+1,align:"",iscompletehide:0,iscompletehidecode:"",issamecolmerge:0,bindLink:r?n.name:"",editmode:{editmode:l?"files":"text",title:l?"文件":"文本"},events:[]}})}const nn={class:"fd-panel"},on={class:"fd-panel-item"},ln={class:"fd-panel-item fd-panel-item--row"},an={class:"fd-panel-item fd-panel-item--row"},sn={class:"fd-panel-item"},rn={class:"fd-panel-item"},dn={class:"fd-cols-head"},cn={key:0,class:"fd-cols-empty"},mn={class:"fd-col-card-top"},fn={class:"fd-col-order"},pn={class:"fd-col-meta"},gn={class:"fd-col-title"},kn={class:"fd-col-name-sub"},bn={class:"fd-col-tag"},un={class:"fd-col-card-bottom"},hn={class:"fd-col-switch"},yn={class:"fd-col-actions"},En=["onClick"],Nn=["onClick"],Vn={class:"fd-dialog",style:{"max-width":"560px"}},wn={class:"fd-dialog-head"},Bn={class:"fd-dialog-body"},Cn={class:"fd-form-section"},$n={class:"fd-form-grid"},xn={class:"fd-form-item"},_n=["value"],Sn=["value"],Dn={class:"fd-form-item"},In=["value"],Tn={class:"fd-form-item"},Fn=["value"],Ln={class:"fd-form-item"},Mn=["value"],On={class:"fd-form-section"},zn={class:"fd-form-grid"},Un={class:"fd-form-item"},jn=["value"],An={class:"fd-form-item"},Pn=["value"],Rn={class:"fd-form-item"},Jn={class:"fd-color-row"},qn=["value"],Wn=["value"],Hn={class:"fd-form-item"},Gn={class:"fd-color-row"},Yn=["value"],Kn=["value"],Qn={class:"fd-form-section"},Xn={class:"fd-form-grid"},Zn={class:"fd-form-item"},vn={class:"fd-form-item"},eo=["value"],to=$(e.defineComponent({__name:"SubtablePanel",props:{node:{},fields:{}},emits:["update"],setup(t,{emit:n}){const o=t,l=n,r=F(),s=e.computed(()=>r.subTables);function d(y,g){l("update",{[y]:g})}function i(y){const g=y??"",u=r.subTables.find(P=>P.name===g),I={secondtable:g};u&&(I.displaytitle=u.label,I.colnums=tn(u)),l("update",I)}const a=e.reactive({open:!1,index:-1,draft:null});function m(y){return JSON.parse(JSON.stringify(y))}function f(y){a.index=y,a.draft=m(o.node.colnums[y]),a.open=!0}function b(){a.open=!1,a.draft=null,a.index=-1}function E(){if(a.draft&&a.index>=0){const y=[...o.node.colnums];y[a.index]=a.draft,l("update",{colnums:y})}b()}function _(y,g){y.isshow=g?1:0,l("update",{colnums:[...o.node.colnums]})}async function N(){const y={name:`col_${Date.now().toString(36)}`,isshow:1,major:"",showname:"新列",showwidth:"",background:"",prospect:"",issum:0,index:o.node.colnums.length+1,align:"",iscompletehide:0,iscompletehidecode:"",issamecolmerge:0,bindLink:"",editmode:{editmode:"text",title:"文本"},events:[]};l("update",{colnums:[...o.node.colnums,y]}),await e.nextTick(),f(o.node.colnums.length-1)}function C(y){const g=o.node.colnums.slice();g.splice(y,1),l("update",{colnums:g})}function p(y){return/^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/.test(y)?y:"#ffffff"}function k(y,g){a.draft&&(a.draft[y]=g.target.value)}const h=e.computed(()=>{var y;return((y=r.subTables.find(g=>g.name===o.node.secondtable))==null?void 0:y.fields)??[]});function S(y){if(!a.draft)return;const g=y.target.value;a.draft.name=g;const u=h.value.find(I=>I.name===g);if(u){a.draft.showname=u.label;const I=u.dataType==="file";a.draft.editmode.editmode=I?"files":"text",a.draft.editmode.title=I?"文件":"文本",a.draft.bindLink=u.dataType==="link"?g:""}}function L(y){d("tablestyle",y||"table")}return(y,g)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",nn,[e.createElementVNode("div",on,[g[13]||(g[13]=e.createElementVNode("label",null,"选择子表",-1)),e.createVNode(e.unref(w.ElSelect),{"model-value":t.node.secondtable,filterable:"",clearable:"",placeholder:"请选择子表",style:{width:"100%"},"onUpdate:modelValue":i},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,u=>(e.openBlock(),e.createBlock(e.unref(w.ElOption),{key:u.name,label:`${u.label}(${u.name})`,value:u.name},null,8,["label","value"]))),128))]),_:1},8,["model-value"])]),e.createElementVNode("div",ln,[g[14]||(g[14]=e.createElementVNode("label",null,"只读",-1)),e.createVNode(J,{"model-value":t.node.isreadonly==="1","onUpdate:modelValue":g[0]||(g[0]=u=>d("isreadonly",u?"1":"0"))},null,8,["model-value"])]),e.createElementVNode("div",an,[g[15]||(g[15]=e.createElementVNode("label",null,"序号列",-1)),e.createVNode(J,{"model-value":t.node.secondtableindex==="1","onUpdate:modelValue":g[1]||(g[1]=u=>d("secondtableindex",u?"1":"0"))},null,8,["model-value"])]),e.createElementVNode("div",sn,[g[16]||(g[16]=e.createElementVNode("label",null,"表格样式",-1)),e.createVNode(e.unref(w.ElSelect),{"model-value":t.node.tablestyle||"table",style:{width:"100%"},"onUpdate:modelValue":L},{default:e.withCtx(()=>[e.createVNode(e.unref(w.ElOption),{label:"表格",value:"table"}),e.createVNode(e.unref(w.ElOption),{label:"卡片列表",value:"cards"})]),_:1},8,["model-value"])]),e.createElementVNode("div",rn,[e.createElementVNode("div",dn,[e.createElementVNode("span",null,"列配置("+e.toDisplayString(t.node.colnums.length)+")",1),e.createElementVNode("button",{class:"fd-btn fd-btn--primary fd-btn--sm",onClick:N},"+ 新增列")]),t.node.colnums.length===0?(e.openBlock(),e.createElementBlock("div",cn," 暂无列,点击「新增列」添加 ")):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.node.colnums,(u,I)=>(e.openBlock(),e.createElementBlock("div",{key:u.name,class:"fd-col-card"},[e.createElementVNode("div",mn,[e.createElementVNode("span",fn,e.toDisplayString(I+1),1),e.createElementVNode("div",pn,[e.createElementVNode("span",gn,e.toDisplayString(u.showname||"未命名列"),1),e.createElementVNode("span",kn,e.toDisplayString(u.name),1)]),e.createElementVNode("span",bn,e.toDisplayString(u.bindLink?"链接":"文本"),1)]),e.createElementVNode("div",un,[e.createElementVNode("label",hn,[g[17]||(g[17]=e.createElementVNode("span",null,"显示",-1)),e.createVNode(J,{"model-value":u.isshow===1,"onUpdate:modelValue":P=>_(u,P)},null,8,["model-value","onUpdate:modelValue"])]),e.createElementVNode("div",yn,[e.createElementVNode("button",{class:"fd-btn fd-btn--ghost fd-btn--sm",onClick:P=>f(I)},"设置",8,En),e.createElementVNode("button",{class:"fd-btn fd-btn--danger fd-btn--sm",onClick:P=>C(I)},"删除",8,Nn)])])]))),128))])]),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[a.open&&a.draft?(e.openBlock(),e.createElementBlock("div",{key:0,class:"fd-dialog-mask",onClick:e.withModifiers(b,["self"])},[e.createElementVNode("div",Vn,[e.createElementVNode("div",wn,[e.createElementVNode("span",null,"列设置 · "+e.toDisplayString(a.draft.showname||a.draft.name||"新列"),1),e.createElementVNode("button",{class:"fd-dialog-close",onClick:b,title:"关闭"},"×")]),e.createElementVNode("div",Bn,[e.createElementVNode("section",Cn,[g[23]||(g[23]=e.createElementVNode("h5",{class:"fd-form-section-h"},"基本信息",-1)),e.createElementVNode("div",$n,[e.createElementVNode("div",xn,[g[19]||(g[19]=e.createElementVNode("label",null,"列字段",-1)),e.createElementVNode("select",{value:a.draft.name,onChange:g[2]||(g[2]=u=>S(u))},[g[18]||(g[18]=e.createElementVNode("option",{value:""},"请选择字段",-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.value,u=>(e.openBlock(),e.createElementBlock("option",{key:u.name,value:u.name},e.toDisplayString(u.label)+"("+e.toDisplayString(u.name)+")",9,Sn))),128))],40,_n)]),e.createElementVNode("div",Dn,[g[20]||(g[20]=e.createElementVNode("label",null,"显示标题",-1)),e.createElementVNode("input",{value:a.draft.showname,onInput:g[3]||(g[3]=u=>a.draft.showname=u.target.value),placeholder:"如 姓名"},null,40,In)]),e.createElementVNode("div",Tn,[g[21]||(g[21]=e.createElementVNode("label",null,"主表头分组",-1)),e.createElementVNode("input",{value:a.draft.major,onInput:g[4]||(g[4]=u=>a.draft.major=u.target.value),placeholder:"可合并表头分组名"},null,40,Fn)]),e.createElementVNode("div",Ln,[g[22]||(g[22]=e.createElementVNode("label",null,"列序号",-1)),e.createElementVNode("input",{type:"number",min:"1",value:a.draft.index,onInput:g[5]||(g[5]=u=>a.draft.index=Number(u.target.value))},null,40,Mn)])])]),e.createElementVNode("section",On,[g[29]||(g[29]=e.createElementVNode("h5",{class:"fd-form-section-h"},"显示与样式",-1)),e.createElementVNode("div",zn,[e.createElementVNode("div",Un,[g[24]||(g[24]=e.createElementVNode("label",null,"列宽",-1)),e.createElementVNode("input",{value:a.draft.showwidth,onInput:g[6]||(g[6]=u=>a.draft.showwidth=u.target.value),placeholder:"如 120px 或 20%"},null,40,jn)]),e.createElementVNode("div",An,[g[26]||(g[26]=e.createElementVNode("label",null,"对齐方式",-1)),e.createElementVNode("select",{value:a.draft.align,onChange:g[7]||(g[7]=u=>a.draft.align=u.target.value)},[...g[25]||(g[25]=[e.createElementVNode("option",{value:""},"默认(左)",-1),e.createElementVNode("option",{value:"left"},"左对齐",-1),e.createElementVNode("option",{value:"center"},"居中",-1),e.createElementVNode("option",{value:"right"},"右对齐",-1)])],40,Pn)]),e.createElementVNode("div",Rn,[g[27]||(g[27]=e.createElementVNode("label",null,"背景色",-1)),e.createElementVNode("div",Jn,[e.createElementVNode("input",{type:"color",value:p(a.draft.background),onInput:g[8]||(g[8]=u=>k("background",u))},null,40,qn),e.createElementVNode("input",{value:a.draft.background,onInput:g[9]||(g[9]=u=>a.draft.background=u.target.value),placeholder:"如 #f5f7fa 或空"},null,40,Wn)])]),e.createElementVNode("div",Hn,[g[28]||(g[28]=e.createElementVNode("label",null,"字体色",-1)),e.createElementVNode("div",Gn,[e.createElementVNode("input",{type:"color",value:p(a.draft.prospect),onInput:g[10]||(g[10]=u=>k("prospect",u))},null,40,Yn),e.createElementVNode("input",{value:a.draft.prospect,onInput:g[11]||(g[11]=u=>a.draft.prospect=u.target.value),placeholder:"如 #f5523a 或空"},null,40,Kn)])])])]),e.createElementVNode("section",Qn,[g[32]||(g[32]=e.createElementVNode("h5",{class:"fd-form-section-h"},"编辑模式",-1)),e.createElementVNode("div",Xn,[e.createElementVNode("div",Zn,[g[30]||(g[30]=e.createElementVNode("label",null,"同内容合并",-1)),e.createVNode(J,{"model-value":a.draft.issamecolmerge===1,"onUpdate:modelValue":g[12]||(g[12]=u=>a.draft.issamecolmerge=u?1:0)},null,8,["model-value"])]),e.createElementVNode("div",vn,[g[31]||(g[31]=e.createElementVNode("label",null,"链接",-1)),e.createElementVNode("input",{value:a.draft.bindLink?`${a.draft.bindLink}(链接字段自动绑定)`:"非链接字段",readonly:""},null,8,eo)])])])]),e.createElementVNode("div",{class:"fd-dialog-foot"},[e.createElementVNode("button",{class:"fd-btn fd-btn--ghost",onClick:b},"取消"),e.createElementVNode("button",{class:"fd-btn fd-btn--primary",onClick:E},"确定")])])])):e.createCommentVNode("",!0)]))],64))}}),[["__scopeId","data-v-e1fd519d"]]);function no(){return[{name:"field1",isshow:1,major:"",showname:"字段一",showwidth:"",background:"",prospect:"",issum:0,index:1,align:"",iscompletehide:0,iscompletehidecode:"",issamecolmerge:0,bindLink:"",editmode:{editmode:"text",title:"文本"},events:[]},{name:"field2",isshow:1,major:"",showname:"字段二",showwidth:"",background:"",prospect:"",issum:0,index:2,align:"",iscompletehide:0,iscompletehidecode:"",issamecolmerge:0,bindLink:"",editmode:{editmode:"text",title:"文本"},events:[]}]}const oo={type:"subtable",title:"子表",design:Ft,render:en,panel:to,isContainer:!1,createDefaultProps:()=>({id:"",type:"subtable",label:"子表",bindField:"",firsttable:"",secondtable:"",primarytablefiled:"",secondtableprimarykey:"",secondtablerelationfield:"",tabletype:"subtable",displaytitle:"",tablestyle:"table",isreadonly:"1",isnull:"0",issave:"0",secondtableindex:"0",nodatahidetable:"0",nodatatitle:"1",fixedcolumn:0,tablewidth:0,tableheight:0,iscompletehide:"0",iscompletehidecode:"",colnums:no(),events:[]}),serialize:t=>t},lo=$(e.defineComponent({__name:"GridDesign",props:{node:{}},setup(t){const n=F();return(o,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["fd-grid-design",{"is-mobile":e.unref(n).device==="mobile"}])},[e.renderSlot(o.$slots,"children",{},void 0,!0)],2))}}),[["__scopeId","data-v-b4d1e09d"]]),G=e.defineComponent({__name:"WidgetHost",props:{node:{},mode:{},formMode:{},formData:{},formId:{}},setup(t){const n=t,o=e.computed(()=>M(n.node.type)),l=e.computed(()=>o.value?n.mode==="design"?o.value.design:o.value.render:null),r=s=>s&&n.formData?n.formData[s]:void 0;return(s,d)=>{var a;const i=e.resolveComponent("WidgetHost",!0);return l.value?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(l.value),e.mergeProps({key:0,node:t.node,value:r(t.node.bindField),"form-data":t.formData},t.mode==="render"?{formMode:t.formMode,formId:t.formId}:null),e.createSlots({_:2},[e.renderList(s.$slots,(m,f)=>({name:f,fn:e.withCtx(b=>[e.renderSlot(s.$slots,f,e.normalizeProps(e.guardReactiveProps(b||{})))])})),(a=o.value)!=null&&a.isContainer&&!s.$slots.children?{name:"children",fn:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.node.children,m=>(e.openBlock(),e.createBlock(i,{key:m.id,node:m,mode:t.mode,"form-mode":t.formMode,"form-data":t.formData,"form-id":t.formId},e.createSlots({_:2},[e.renderList(s.$slots,(f,b)=>({name:b,fn:e.withCtx(E=>[e.renderSlot(s.$slots,b,e.mergeProps({ref_for:!0},E||{}))])}))]),1032,["node","mode","form-mode","form-data","form-id"]))),128))]),key:"0"}:void 0]),1040,["node","value","form-data"])):e.createCommentVNode("",!0)}}}),ao=24;function ne(t,n,o,l,r=!1){if(t.type!=="label"||!o.length)return"";const s=r?1:ao,d=C=>Math.min(Math.max(C.gridSpan||l||s,1),s),i=[];let a=0,m=0;for(const C of o){const p=d(C);a+p>s&&(a=0,m++);const k=a===0;a+=p;const h=a>=s;i.push({row:m,rowFirst:k,rowLast:h}),a>=s&&(a=0,m++)}const f=i[n];if(!f)return"";const b=i[i.length-1].row,E=f.row===0,_=f.row===b,N=[];return f.rowFirst&&E&&N.push("is-g-corner-tl"),f.rowLast&&E&&N.push("is-g-corner-tr"),f.rowFirst&&_&&N.push("is-g-corner-bl"),f.rowLast&&_&&N.push("is-g-corner-br"),N.join(" ")}const so=$(e.defineComponent({__name:"GridRender",props:{node:{},formMode:{},formData:{},formId:{}},setup(t){const n=F(),o=e.ref(!1);let l=null;e.onMounted(()=>{l=window.matchMedia("(max-width: 768px)"),o.value=l.matches,l.addEventListener("change",s=>{o.value=s.matches})}),e.onUnmounted(()=>{l&&l.removeEventListener("change",()=>{})});const r=e.computed(()=>n.device==="mobile"||o.value);return(s,d)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["fd-grid-render",{"is-mobile":r.value}])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.node.children,(i,a)=>(e.openBlock(),e.createElementBlock("div",{key:i.id,class:e.normalizeClass(["fd-grid-cell",e.unref(ne)(i,a,t.node.children||[],t.node.layout||24,r.value)]),style:e.normalizeStyle({gridColumn:`span ${i.gridSpan||t.node.layout}`})},[e.createVNode(G,{node:i,mode:"render","form-mode":t.formMode,"form-data":t.formData,"form-id":t.formId},e.createSlots({_:2},[e.renderList(s.$slots,(m,f)=>({name:f,fn:e.withCtx(b=>[e.renderSlot(s.$slots,f,e.mergeProps({ref_for:!0},b||{}),void 0,!0)])}))]),1032,["node","form-mode","form-data","form-id"])],6))),128))],2))}}),[["__scopeId","data-v-417035f9"]]),ro={class:"fd-panel"},io={class:"fd-panel-item"},co=["value"],mo=["value"],fo={class:"fd-panel-item"},po={type:"grid",title:"栅栏格",design:lo,render:so,panel:$(e.defineComponent({__name:"GridPanel",props:{node:{},fields:{}},emits:["update"],setup(t,{emit:n}){const o=t,l=n,r=[{label:"2列布局",value:24},{label:"4列布局",value:12},{label:"6列布局",value:8},{label:"8列布局",value:6}];function s(){const d=o.node.layout||24,i=(o.node.children??[]).map(a=>({...a,gridSpan:d}));l("update",{children:i})}return(d,i)=>(e.openBlock(),e.createElementBlock("div",ro,[e.createElementVNode("div",io,[i[1]||(i[1]=e.createElementVNode("label",null,"布局",-1)),e.createElementVNode("select",{value:t.node.layout,onChange:i[0]||(i[0]=a=>l("update",{layout:Number(a.target.value)}))},[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(r,a=>e.createElementVNode("option",{key:a.value,value:a.value},e.toDisplayString(a.label),9,mo)),64))],40,co)]),e.createElementVNode("div",fo,[i[2]||(i[2]=e.createElementVNode("label",null,"一键布局",-1)),e.createElementVNode("button",{class:"fd-btn fd-btn--primary fd-btn--sm fd-grid-apply",onClick:s}," 应用到全部子组件(每项占比 "+e.toDisplayString(t.node.layout||24)+"/24) ",1)])]))}}),[["__scopeId","data-v-a333d2ea"]]),isContainer:!0,createDefaultProps:()=>({id:"",type:"grid",label:"栅栏格",bindField:"",layout:8,children:[]}),serialize:t=>t},go=$(e.defineComponent({__name:"TextDesign",props:{node:{}},setup(t){return(n,o)=>(e.openBlock(),e.createElementBlock("div",{class:"fd-text-design",style:e.normalizeStyle({display:t.node.display})},e.toDisplayString(t.node.text||"文本内容"),5))}}),[["__scopeId","data-v-ba382e6c"]]),ko=$(e.defineComponent({__name:"TextRender",props:{node:{},value:{}},setup(t){const n=t,o=e.computed(()=>{if(!n.node.bindField)return n.node.text;const l=n.value;return l==null?"":String(l)});return(l,r)=>(e.openBlock(),e.createElementBlock("div",{class:"fd-text-render",style:e.normalizeStyle({display:t.node.display})},e.toDisplayString(o.value),5))}}),[["__scopeId","data-v-3ed7b0f0"]]),bo={class:"fd-panel"},uo={class:"fd-panel-item"},ho=["value"],yo={class:"fd-panel-item"},Eo=["value"],No=["value"],Vo={class:"fd-panel-item"},wo=["value"],Bo={type:"text",title:"文本",design:go,render:ko,panel:$(e.defineComponent({__name:"TextPanel",props:{node:{},fields:{}},emits:["update"],setup(t,{emit:n}){const o=n;return(l,r)=>(e.openBlock(),e.createElementBlock("div",bo,[e.createElementVNode("div",uo,[r[3]||(r[3]=e.createElementVNode("label",null,"文本",-1)),e.createElementVNode("textarea",{rows:"4",value:t.node.text,onInput:r[0]||(r[0]=s=>o("update",{text:s.target.value}))},null,40,ho)]),e.createElementVNode("div",yo,[r[5]||(r[5]=e.createElementVNode("label",null,"绑定字段",-1)),e.createElementVNode("select",{value:t.node.bindField,onChange:r[1]||(r[1]=s=>o("update",{bindField:s.target.value}))},[r[4]||(r[4]=e.createElementVNode("option",{value:""},"不绑定",-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.fields,s=>(e.openBlock(),e.createElementBlock("option",{key:s.name,value:s.name},e.toDisplayString(s.label)+"("+e.toDisplayString(s.name)+")",9,No))),128))],40,Eo)]),e.createElementVNode("div",Vo,[r[7]||(r[7]=e.createElementVNode("label",null,"对齐方式",-1)),e.createElementVNode("select",{value:t.node.display,onChange:r[2]||(r[2]=s=>o("update",{display:s.target.value}))},[...r[6]||(r[6]=[e.createElementVNode("option",{value:"inline-block"},"对齐",-1),e.createElementVNode("option",{value:"block"},"换行",-1)])],40,wo)])]))}}),[["__scopeId","data-v-3201879c"]]),isContainer:!1,createDefaultProps:()=>({id:"",type:"text",label:"文本",bindField:"",text:"文本内容",display:"inline-block"}),serialize:t=>t};let oe=!1;function Y(){oe||(oe=!0,A(je),A(mt),A(wt),A(oo),A(po),A(Bo))}Y();const Co={baseUrl:"/bpmapi-uat"};let K={},Q={},$o={};const xo="api/formdesigner/v1";function X(t){Q={...Q,...t}}function _o(t){K.baseUrl=t}function So(t){K.baseUrl=t?t.startsWith("/")?t:`/${t}`:""}function Do(t){}function Io(){return{baseUrl:$o.baseUrl??K.baseUrl??Q.baseUrl??Co.baseUrl}}function z(t,n){const{baseUrl:o}=Io(),l=new URLSearchParams;Object.entries(n??{}).forEach(([s,d])=>{d!=null&&d!==""&&l.append(s,d)});const r=l.toString();return`${o}/${xo}/${t}${r?`?${r}`:""}`}class le extends Error{constructor(n,o){super(o),this.status=n,this.name="ApiError"}}function To(t){if(!t)return"";try{const n=JSON.parse(t),o=n.error??n.message??n.title??n.detail;if(typeof o=="string"&&o)return o}catch{}return t}async function U(t,n){const o=await fetch(t,{...n,headers:{"Content-Type":"application/json",...(n==null?void 0:n.headers)??{}}}),l=await o.text();if(!o.ok)throw new le(o.status,To(l)||`请求失败(${o.status})`);if((o.headers.get("content-type")??"").includes("text/plain"))return l;if(!l)return null;try{return JSON.parse(l)}catch{return l}}function Fo(t){if(t==null)return null;if(typeof t!="string")return t;try{return JSON.parse(t)}catch{return null}}function ae(t){return t==null?{success:!1,message:"无响应"}:typeof t=="string"?{success:t.includes("成功"),message:t}:t}async function Lo(t,n){return U(z("opendesigner"),{method:"POST",body:JSON.stringify(t)})}async function Mo(t,n){return U(z("formconfig",{id:t}))}async function Oo(t,n,o){return U(z("fieldbinding/allfields",{dbtable:t,formid:n}))}async function zo(t,n){return ae(await U(z("save"),{method:"POST",body:JSON.stringify(t)}))}async function Uo(t,n){return ae(await U(z("publish"),{method:"POST",body:JSON.stringify(t)}))}async function jo(t,n){return U(z("saveas"),{method:"POST",body:JSON.stringify(t)})}async function Ao(t,n){return U(z("effectcount",{formId:t}))}async function Po(t,n){return U(z("effectprocesses",{id:t.id,processName:t.processName,page:String(t.page??1),pageSize:String(t.pageSize??10)}))}function Ro(t){return{name:t.name,label:t.label,dataType:t.dataType}}function Jo(t){return{name:t.name,label:t.label,dataType:t.dataType||"string"}}function qo(t,n){return(t??[]).filter(o=>o.name&&o.name!==n).map(o=>({name:o.name,label:o.name,fields:(o.fields??[]).map(Jo)}))}function Wo(t){return Fo(t)}function R(t){return t instanceof le||t instanceof Error?t.message:String(t)}const j=t=>JSON.parse(JSON.stringify(t));function O(t,n){for(const o of t){if(o.id===n)return o;if(o.children){const l=O(o.children,n);if(l)return l}}return null}function se(t,n){const o=t.findIndex(l=>l.id===n);if(o>=0)return t.splice(o,1),!0;for(const l of t)if(l.children&&se(l.children,n))return!0;return!1}const F=ke.defineStore("designer",{state:()=>({workFormId:"",originFormId:"",formId:"",formVersion:"",formName:"",dbtable:"",attribute:{},fields:[],subTables:[],widgets:[],selectedId:null,past:[],future:[],draggingId:null,device:"pc",dragOverId:null,dragBefore:!1,dropContainerId:null,selectedForm:!1,events:{lifecycle:{},custom:[]},loading:!1,errorMsg:"",noticeMsg:""}),getters:{selectedNode:t=>t.selectedId?O(t.widgets,t.selectedId):null,canUndo:t=>t.past.length>0,canRedo:t=>t.future.length>0,customEventOptions:t=>t.events.custom,attJson:t=>JSON.stringify({...t.attribute,id:t.attribute.id||t.workFormId})},actions:{commit(){this.past.push(j(this.widgets)),this.past.length>50&&this.past.shift(),this.future=[]},undo(){const t=this.past.pop();t&&(this.future.push(j(this.widgets)),this.widgets=t,this.selectedId&&!O(this.widgets,this.selectedId)&&(this.selectedId=null))},redo(){const t=this.future.pop();t&&(this.past.push(j(this.widgets)),this.widgets=t)},select(t){this.selectedId=t,this.selectedForm=!1},selectForm(){this.selectedId=null,this.selectedForm=!0},setLifecycleHook(t,n){this.events.lifecycle[t]=n},addCustomEvent(){const t=this.events.custom.length+1;this.events.custom.push({name:`event_${t}`,title:`自定义事件${t}`,handler:""})},updateCustomEvent(t,n){const o=this.events.custom[t];o&&Object.assign(o,n)},removeCustomEvent(t){this.events.custom.splice(t,1)},addWidget(t,n,o){var s;const l=Ne(t);this.commit();const r=n?O(this.widgets,n):null;r&&((s=M(r.type))!=null&&s.isContainer)?(r.children=r.children||[],r.type==="grid"&&l.gridSpan==null&&(l.gridSpan=r.layout||24),o==null||o>r.children.length?r.children.push(l):r.children.splice(Math.max(0,o),0,l)):o==null||o>this.widgets.length?this.widgets.push(l):this.widgets.splice(Math.max(0,o),0,l),this.selectedId=l.id},isDescendant(t,n){if(!t.children)return!1;for(const o of t.children)if(o.id===n||this.isDescendant(o,n))return!0;return!1},moveNode(t,n,o){var f;if(t===n)return;const l=O(this.widgets,t);if(!l||n&&this.isDescendant(l,n))return;const r=n?O(this.widgets,n):null,s=b=>{const E=b.findIndex(_=>_.id===t);if(E>=0)return{list:b,index:E};for(const _ of b)if(_.children){const N=s(_.children);if(N)return N}return null},d=s(this.widgets);if(!d)return;let i;r&&((f=M(r.type))!=null&&f.isContainer)?(r.children=r.children||[],i=r.children):i=this.widgets,this.commit();let a=o;i===d.list&&d.index<o&&(a=o-1);const[m]=d.list.splice(d.index,1);if(a=Math.max(0,Math.min(a,i.length)),i.splice(a,0,m),r&&r.type==="grid"){const b=r.layout||24;(d.list!==i||m.gridSpan==null)&&(m.gridSpan=b)}else delete m.gridSpan;this.selectedId=m.id},removeWidget(t){this.commit(),se(this.widgets,t),this.selectedId===t&&(this.selectedId=null)},moveSibling(t,n){const o=i=>{if(i.findIndex(m=>m.id===t)>=0)return i;for(const m of i)if(m.children){const f=o(m.children);if(f)return f}return null},l=o(this.widgets);if(!l)return;const r=l.findIndex(i=>i.id===t),s=r+n;if(s<0||s>=l.length)return;this.commit();const[d]=l.splice(r,1);l.splice(s,0,d)},updateNode(t,n){const o=O(this.widgets,t);o&&(Object.assign(o,n),this.commit())},setDragging(t){this.draggingId=t},setExpanded(t,n){const o=O(this.widgets,t);o&&"expanded"in o&&(o.expanded=n)},dropTo(t){var r;const n=this.draggingId;if(!n||n===t)return;this.commit();const o=s=>{const d=s.findIndex(i=>i.id===n);if(d>=0){const[i]=s.splice(d,1);return i}for(const i of s)if(i.children){const a=o(i.children);if(a)return a}return null},l=o(this.widgets);if(!l){this.draggingId=null;return}if(t){const s=O(this.widgets,t);s&&((r=M(s.type))!=null&&r.isContainer)?(s.children=s.children||[],s.children.push(l)):this.widgets.push(l)}else this.widgets.push(l);this.draggingId=null,this.selectedId=l.id},loadSchema(t){this.formId=t.formId,this.dbtable=t.dbtable,this.fields=t.fields,this.widgets=j(t.widgets),this.events=t.events?j(t.events):{lifecycle:{},custom:[]},this.selectedId=null,this.selectedForm=!1,this.past=[],this.future=[]},importSchema(t){this.widgets=j(t.widgets??[]),this.events=t.events?j(t.events):this.events,this.selectedId=null,this.selectedForm=!1,this.past=[],this.future=[]},toSchema(){return{formId:this.formId,dbtable:this.dbtable,fields:this.fields,widgets:this.widgets,events:j(this.events)}},toSaveJson(){const{formId:t,dbtable:n,widgets:o,events:l}=this.toSchema();return JSON.stringify({formId:t,dbtable:n,widgets:o,events:l})},setFields(t){this.fields=t},setSubTables(t){this.subTables=t},async openForm(t,n="",o=""){this.loading=!0,this.errorMsg="",this.noticeMsg="";try{if(!t){this.errorMsg="缺少表单 ID:请通过 URL 参数 ?id=<GUID> 打开已有表单";return}this.originFormId=t;const l=await Lo({openType:o,id:t,formVersion:n});this.workFormId=l.newFormID,this.formId=l.newFormID;const r=await Mo(l.newFormID);this.attribute=r.attribute??{},this.formName=this.attribute.name??"",this.device=r.templateType==="App"?"mobile":"pc";const s=this.attribute.dbtable||"",d=await Oo(s,l.newFormID);this.dbtable=s||d.dbtable;const i=this.enrichFields((d.fields??[]).map(Ro));this.setFields(i),this.setSubTables(qo(d.subtables,this.dbtable));const a=Wo(r.json);a&&Array.isArray(a.widgets)?this.loadSchema({...a,formId:l.newFormID,templateType:r.templateType,dbtable:this.dbtable,fields:i,widgets:a.widgets,events:a.events??{lifecycle:{},custom:[]}}):(this.noticeMsg="未能解析表单模板(老设计器 HTML 模板或空模板),已加载为空表单:字段与子表可正常绑定,请手动设计后保存",this.loadSchema({formId:l.newFormID,templateType:r.templateType,dbtable:this.dbtable,fields:i,widgets:[],events:{lifecycle:{},custom:[]}}))}catch(l){this.errorMsg=`加载失败:${R(l)}`}finally{this.loading=!1}},enrichFields(t){const n=this.attribute.settings??{},o=l=>l===!0||l==="true"||l==="1";return t.map(l=>{const r=n[l.name];return r?o(r.isdatetime)?{...l,dataType:"date"}:o(r.ismoney)?{...l,dataType:"money"}:l:l})},async save(){this.errorMsg="";try{return await zo({id:this.workFormId,name:this.formName,att:this.attJson,json:this.toSaveJson(),formNature:"1",dataObject:this.attribute.isentity==="0"?JSON.stringify({table:""}):void 0})}catch(t){throw this.errorMsg=`保存失败:${R(t)}`,t}},async saveAs(t,n,o="start"){this.errorMsg="";try{return await jo({id:this.workFormId,name:t,code:n,saveSelect:o})}catch(l){throw this.errorMsg=`另存为失败:${R(l)}`,l}},async publish(t=""){this.errorMsg="";try{return await Uo({id:this.workFormId,name:this.formName,att:this.attJson,json:this.toSaveJson(),text:t})}catch(n){throw this.errorMsg=`发布失败:${R(n)}`,n}},async checkPublish(){this.errorMsg="";try{const t=await Ao(this.originFormId);return{needConfirm:t.result||t.count>0,count:t.count}}catch(t){throw this.errorMsg=`发布检查失败:${R(t)}`,t}}}}),re="fd:form:";function Ho(t,n){localStorage.setItem(re+t,JSON.stringify(n))}function Go(t){const n=localStorage.getItem(re+t);if(!n)return null;try{return JSON.parse(n)}catch{return null}}const Yo="fdFireEvent";function de(t,n={}){if(!(!t||!t.trim()))try{return new Function("ctx",`"use strict";
2
- ${t}`)(n)}catch(o){console.error("[form-designer] 事件处理函数执行失败:",o);return}}function Ko(t){if(!(!t||!t.trim()||typeof document>"u"))try{const n=document.createElement("script");n.text=t,document.head.appendChild(n),n.remove()}catch(n){console.error("[form-designer] 自定义方法挂载失败:",n)}}const Qo={class:"fd-renderer"},Z=$(e.defineComponent({__name:"Renderer",props:{widgets:{},formMode:{},formData:{},events:{},formId:{}},setup(t,{expose:n}){const o=t,l=e.computed(()=>o.widgets.filter(d=>{var a;const i=(a=M(d.type))==null?void 0:a.visibleModes;return!i||i.length===0?!0:o.formMode?i.includes(o.formMode):!0}));function r(d){var a;const i=(a=o.events)==null?void 0:a.lifecycle[d];de(i,{formData:o.formData,event:d})}function s(d,i){var m;const a=(m=o.events)==null?void 0:m.custom.find(f=>f.name===d);a&&de(a.handler,{formData:o.formData,event:d,payload:i})}return e.provide(Yo,s),e.onMounted(()=>{var d;r("onLoad"),r("onMounted"),Ko((d=o.events)==null?void 0:d.lifecycle.custom)}),e.watch(()=>o.formData,()=>r("onValueChange"),{deep:!0}),n({fireEvent:s,runLifecycle:r}),(d,i)=>(e.openBlock(),e.createElementBlock("div",Qo,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,a=>(e.openBlock(),e.createBlock(G,{key:a.id,node:a,mode:"render","form-mode":t.formMode,"form-data":t.formData,"form-id":t.formId},e.createSlots({_:2},[e.renderList(d.$slots,(m,f)=>({name:f,fn:e.withCtx(b=>[e.renderSlot(d.$slots,f,e.mergeProps({ref_for:!0},b||{}),void 0,!0)])}))]),1032,["node","form-mode","form-data","form-id"]))),128))]))}}),[["__scopeId","data-v-82088c12"]]),Xo={class:"fd-tree"},Zo={class:"fd-tree-head"},vo={key:0,class:"fd-tree-count"},el={key:0,class:"fd-tree-empty"},tl={class:"fd-tree-name"},nl=["title"],ol=$(e.defineComponent({__name:"ComponentTree",setup(t){const n=F();function o(d){var f;const i=M(d.type),a=d.label,m=(i==null?void 0:i.title)??d.type;return{id:d.id,label:a?`${m} · ${a}`:m,name:m,sub:a??"",children:(f=d.children)==null?void 0:f.map(o)}}const l=e.computed(()=>n.widgets.map(o)),r=e.computed(()=>{const d=i=>i.reduce((a,m)=>a+1+d(m.children??[]),0);return d(n.widgets)});function s(d){n.select(d.id),e.nextTick(()=>{var i;(i=document.querySelector(".fd-canvas-node.is-selected"))==null||i.scrollIntoView({block:"nearest"})})}return(d,i)=>(e.openBlock(),e.createElementBlock("div",Xo,[e.createElementVNode("div",Zo,[i[0]||(i[0]=e.createStaticVNode('<svg class="fd-tree-head-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" data-v-e38c14ec><rect x="3" y="3" width="7" height="7" rx="1" data-v-e38c14ec></rect><rect x="14" y="3" width="7" height="7" rx="1" data-v-e38c14ec></rect><rect x="3" y="14" width="7" height="7" rx="1" data-v-e38c14ec></rect><rect x="14" y="14" width="7" height="7" rx="1" data-v-e38c14ec></rect></svg><span class="fd-tree-title" data-v-e38c14ec>组件树</span>',2)),r.value?(e.openBlock(),e.createElementBlock("span",vo,e.toDisplayString(r.value),1)):e.createCommentVNode("",!0)]),r.value?(e.openBlock(),e.createBlock(e.unref(w.ElTree),{key:1,class:"fd-tree-el",data:l.value,"node-key":"id","current-node-key":e.unref(n).selectedId||"","highlight-current":"","default-expand-all":"","show-line":"","expand-on-click-node":!1,onNodeClick:s},{default:e.withCtx(({data:a})=>[e.createElementVNode("span",tl,e.toDisplayString(a.name),1),a.sub?(e.openBlock(),e.createElementBlock("span",{key:0,class:"fd-tree-sub",title:a.sub},e.toDisplayString(a.sub),9,nl)):e.createCommentVNode("",!0)]),_:1},8,["data","current-node-key"])):(e.openBlock(),e.createElementBlock("div",el,[...i[1]||(i[1]=[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"},[e.createElementVNode("path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}),e.createElementVNode("polyline",{points:"17 8 12 3 7 8"}),e.createElementVNode("line",{x1:"12",y1:"3",x2:"12",y2:"15"})],-1),e.createElementVNode("span",null,"暂无组件,从左侧拖拽控件到画布",-1)])]))]))}}),[["__scopeId","data-v-e38c14ec"]]);var ll={name:"zh-cn",el:{breadcrumb:{label:"面包屑"},colorpicker:{confirm:"确定",clear:"清空",defaultLabel:"颜色选择器",description:"当前颜色 {color},按 Enter 键选择新颜色",alphaLabel:"选择透明度的值",alphaDescription:"透明度 {alpha}, 当前颜色 {color}",hueLabel:"选择色相值",hueDescription:"色相 {hue}, 当前颜色 {color}",svLabel:"选择饱和度与明度的值",svDescription:"饱和度 {saturation}, 明度 {brightness}, 当前颜色 {color}",predefineDescription:"选择 {value} 作为颜色"},datepicker:{now:"此刻",today:"今天",cancel:"取消",clear:"清空",confirm:"确定",dateTablePrompt:"使用方向键与 Enter 键可选择日期",monthTablePrompt:"使用方向键与 Enter 键可选择月份",quarterTablePrompt:"使用方向键与 Enter 键可选择季度",yearTablePrompt:"使用方向键与 Enter 键可选择年份",selectedDate:"已选日期",selectDate:"选择日期",selectTime:"选择时间",startDate:"开始日期",startTime:"开始时间",endDate:"结束日期",endTime:"结束时间",prevYear:"前一年",nextYear:"后一年",prevMonth:"上个月",nextMonth:"下个月",year:"年",month1:"1 月",month2:"2 月",month3:"3 月",month4:"4 月",month5:"5 月",month6:"6 月",month7:"7 月",month8:"8 月",month9:"9 月",month10:"10 月",month11:"11 月",month12:"12 月",weeks:{sun:"日",mon:"一",tue:"二",wed:"三",thu:"四",fri:"五",sat:"六"},weeksFull:{sun:"星期日",mon:"星期一",tue:"星期二",wed:"星期三",thu:"星期四",fri:"星期五",sat:"星期六"},months:{jan:"一月",feb:"二月",mar:"三月",apr:"四月",may:"五月",jun:"六月",jul:"七月",aug:"八月",sep:"九月",oct:"十月",nov:"十一月",dec:"十二月"}},input:{characters:"{count} / {max} 个字符"},inputNumber:{decrease:"减少数值",increase:"增加数值"},select:{loading:"加载中",noMatch:"无匹配数据",noData:"无数据",placeholder:"请选择"},mention:{loading:"加载中"},dropdown:{toggleDropdown:"切换下拉选项"},cascader:{noMatch:"无匹配数据",loading:"加载中",placeholder:"请选择",noData:"暂无数据"},pagination:{goto:"前往",pagesize:"条/页",total:"共 {total} 条",pageClassifier:"页",page:"页",prev:"上一页",next:"下一页",currentPage:"第 {pager} 页",prevPages:"向前 {pager} 页",nextPages:"向后 {pager} 页",deprecationWarning:"你使用了一些已被废弃的用法,请参考 el-pagination 的官方文档"},dialog:{close:"关闭此对话框"},drawer:{close:"关闭此对话框"},messagebox:{title:"提示",confirm:"确定",cancel:"取消",error:"输入的数据不合法!",close:"关闭此对话框"},upload:{deleteTip:"按 Delete 键可删除",delete:"删除",preview:"查看图片",continue:"继续上传"},slider:{defaultLabel:"滑块介于 {min} 至 {max}",defaultRangeStartLabel:"选择起始值",defaultRangeEndLabel:"选择结束值"},table:{emptyText:"暂无数据",confirmFilter:"筛选",resetFilter:"重置",clearFilter:"全部",sumText:"合计",selectAllLabel:"选择所有行",selectRowLabel:"选择当前行",expandRowLabel:"展开当前行",collapseRowLabel:"收起当前行",sortLabel:"按 {column} 排序",filterLabel:"按 {column} 过滤"},tag:{close:"关闭此标签"},tour:{next:"下一步",previous:"上一步",finish:"结束导览",close:"关闭此对话框"},tree:{emptyText:"暂无数据"},transfer:{noMatch:"无匹配数据",noData:"无数据",titles:["列表 1","列表 2"],filterPlaceholder:"请输入搜索内容",noCheckedFormat:"共 {total} 项",hasCheckedFormat:"已选 {checked}/{total} 项"},image:{error:"加载失败"},pageHeader:{title:"返回"},popconfirm:{confirmButtonText:"确定",cancelButtonText:"取消"},carousel:{leftArrow:"上一张幻灯片",rightArrow:"下一张幻灯片",indicator:"幻灯片切换至索引 {index}"},inputOTP:{groupLabel:"一次性密码输入框",defaultLabel:"请输入第 {index} 位 OTP 字符"}}};const al={class:"fd-publish-tip"},sl={class:"fd-publish-tip-text"},rl={class:"fd-publish-toolbar"},dl={class:"fd-publish-table-wrap"},il={class:"fd-publish-table"},cl=["title"],ml=["href","title"],fl=["title"],pl=["title"],gl={key:1,class:"fd-publish-error"},kl={class:"fd-publish-pager"},bl=$(e.defineComponent({__name:"PublishConfirmDialog",props:{modelValue:{type:Boolean},formId:{},count:{}},emits:["update:modelValue","confirm"],setup(t,{emit:n}){const o=w.ElLoading.directive,l=t,r=n,s=e.ref(!1),d=e.ref(""),i=e.ref(""),a=e.ref(1),m=e.ref(10),f=e.ref(0),b=e.ref([]);async function E(){if(l.formId){s.value=!0,d.value="";try{const C=await Po({id:l.formId,processName:i.value,page:a.value,pageSize:m.value});b.value=C.items??[],f.value=C.total??0}catch(C){b.value=[],f.value=0,d.value=R(C)}finally{s.value=!1}}}e.watch(()=>l.modelValue,C=>{C&&(i.value="",a.value=1,E())}),e.watch(i,()=>{a.value=1,E()}),e.watch(a,()=>E());function _(){r("update:modelValue",!1)}function N(){r("confirm")}return(C,p)=>(e.openBlock(),e.createBlock(e.unref(w.ElConfigProvider),{locale:e.unref(ll)},{default:e.withCtx(()=>[e.createVNode(e.unref(w.ElDialog),{"model-value":t.modelValue,title:"发布确认",width:"70rem","close-on-click-modal":!1,"onUpdate:modelValue":p[3]||(p[3]=k=>r("update:modelValue",k))},{footer:e.withCtx(()=>[e.createVNode(e.unref(w.ElButton),{onClick:_},{default:e.withCtx(()=>[...p[9]||(p[9]=[e.createTextVNode("取消",-1)])]),_:1}),e.createVNode(e.unref(w.ElButton),{type:"primary",disabled:s.value,onClick:N},{default:e.withCtx(()=>[...p[10]||(p[10]=[e.createTextVNode("确认发布",-1)])]),_:1},8,["disabled"])]),default:e.withCtx(()=>[e.createElementVNode("div",al,[p[6]||(p[6]=e.createElementVNode("span",{class:"fd-publish-tip-icon"},"!",-1)),e.createElementVNode("span",sl,[p[4]||(p[4]=e.createTextVNode(" 该表单正在被 ",-1)),e.createElementVNode("b",null,e.toDisplayString(t.count),1),p[5]||(p[5]=e.createTextVNode(" 个流程使用,发布后将影响以下流程,确定发布? ",-1))])]),e.createElementVNode("div",rl,[e.createVNode(e.unref(w.ElInput),{modelValue:i.value,"onUpdate:modelValue":p[0]||(p[0]=k=>i.value=k),placeholder:"输入流程名搜索",clearable:"",class:"fd-publish-search"},null,8,["modelValue"])]),e.withDirectives((e.openBlock(),e.createElementBlock("div",dl,[e.createElementVNode("table",il,[p[7]||(p[7]=e.createElementVNode("colgroup",null,[e.createElementVNode("col",{style:{width:"24%"}}),e.createElementVNode("col",{style:{width:"40%"}}),e.createElementVNode("col",{style:{width:"36%"}})],-1)),p[8]||(p[8]=e.createElementVNode("thead",null,[e.createElementVNode("tr",null,[e.createElementVNode("th",null,"表单名称"),e.createElementVNode("th",null,"流程模板"),e.createElementVNode("th",null,"模板ID")])],-1)),e.createElementVNode("tbody",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(b.value,k=>(e.openBlock(),e.createElementBlock("tr",{key:k.templateId||k.formId},[e.createElementVNode("td",{title:k.formNameCN||k.formCode},e.toDisplayString(k.formNameCN||k.formCode),9,cl),e.createElementVNode("td",null,[k.templateUrl?(e.openBlock(),e.createElementBlock("a",{key:0,class:"fd-publish-link",href:k.templateUrl,target:"_blank",rel:"noopener noreferrer",title:k.templateName},e.toDisplayString(k.templateName),9,ml)):(e.openBlock(),e.createElementBlock("span",{key:1,title:k.templateName},e.toDisplayString(k.templateName),9,fl))]),e.createElementVNode("td",{class:"fd-publish-id",title:k.templateId},e.toDisplayString(k.templateId),9,pl)]))),128))])]),!b.value.length&&!d.value&&!s.value?(e.openBlock(),e.createBlock(e.unref(w.ElEmpty),{key:0,description:"暂无可用流程模板","image-size":60})):e.createCommentVNode("",!0),!b.value.length&&d.value?(e.openBlock(),e.createElementBlock("div",gl,e.toDisplayString(d.value),1)):e.createCommentVNode("",!0)])),[[e.unref(o),s.value]]),e.createElementVNode("div",kl,[e.createVNode(e.unref(w.ElPagination),{"current-page":a.value,"onUpdate:currentPage":p[1]||(p[1]=k=>a.value=k),"page-size":m.value,"onUpdate:pageSize":p[2]||(p[2]=k=>m.value=k),total:f.value,"page-sizes":[10,20,50],layout:"total, sizes, prev, pager, next",background:""},null,8,["current-page","page-size","total"])])]),_:1},8,["model-value"])]),_:1},8,["locale"]))}}),[["__scopeId","data-v-6fdc08dc"]]),ul={class:"fd-toolbar"},hl={class:"fd-toolbar-left flex-align-center"},yl=["value"],El={class:"fd-device"},Nl={key:0,class:"is-active",title:"移动端比例(由 URL 参数 templateType 决定)"},Vl={key:1,class:"is-active",title:"电脑端比例(由 URL 参数 templateType 决定)"},wl={class:"fd-toolbar-right flex-align-center"},Bl=["disabled"],Cl=["disabled"],$l={class:"fd-dialog fd-dialog--preview"},xl={class:"fd-dialog-head"},_l={class:"fd-preview-width"},Sl={class:"fd-dialog-body bg"},Dl={class:"fd-dialog"},Il={class:"fd-dialog-head"},Tl=["value"],Fl={class:"fd-dialog"},Ll={class:"fd-dialog-head"},Ml={class:"fd-dialog-body"},Ol=$(e.defineComponent({__name:"Toolbar",setup(t){const n=F(),o=e.ref(!1),l=e.ref(!1),r=e.ref(!1),s=e.ref(!1);function d(B,c,V){const D=[e.h("p",{style:"margin:0"},c)];return V&&D.push(e.h("p",{style:"margin:8px 0 0"},V)),w.ElMessageBox.alert(e.h("div",D),B,{confirmButtonText:"知道了"})}const i=e.ref(!1),a=e.ref(0);function m(){const B=new URLSearchParams(window.location.search).get("templateType")||"";return B==="mobile"||B==="2"}const f=e.ref(m()?375:1200);function b(){const B=Number(f.value);f.value=Math.min(1200,Math.max(270,Number.isFinite(B)?B:1200))}e.watch(()=>n.device,B=>{f.value=B==="mobile"?375:1200});const E=e.ref("");function _(){const B=E.value.trim();if(!B){w.ElMessage.warning("请先粘贴表单 JSON");return}let c;try{c=JSON.parse(B)}catch{w.ElMessage.error("JSON 解析失败");return}if(!c||!Array.isArray(c.widgets)){w.ElMessage.error("JSON 格式不正确:缺少 widgets 数组");return}n.importSchema(c),E.value="",s.value=!1}const N=e.computed(()=>JSON.stringify({formId:n.formId,dbtable:n.dbtable,widgets:n.widgets,events:n.events},null,2)),C=e.ref("");let p;function k(B){const c=document.createElement("textarea");c.value=B,c.style.position="fixed",c.style.top="-9999px",c.style.opacity="0",document.body.appendChild(c),c.select();let V=!1;try{V=document.execCommand("copy")}catch{V=!1}finally{document.body.removeChild(c)}return V}async function h(){var c;let B=!1;try{(c=navigator.clipboard)!=null&&c.writeText?(await navigator.clipboard.writeText(N.value),B=!0):B=k(N.value)}catch{B=k(N.value)}C.value=B?"已复制":"复制失败",window.clearTimeout(p),p=window.setTimeout(()=>{C.value=""},1500)}const S=e.computed(()=>{const B={};n.fields.forEach(V=>{B[V.name]=V.name});const c=(V,D)=>(V.forEach(T=>{var ge;T.type==="subtable"&&D.push(T),(ge=T.children)!=null&&ge.length&&c(T.children,D)}),D);return c(n.widgets,[]).forEach(V=>{if(V.type!=="subtable"||!V.secondtable)return;const D={};(V.colnums??[]).forEach(T=>{D[T.name]=T.name,T.bindLink&&(D[T.bindLink]=T.bindLink)}),B[V.secondtable]=[D]}),B});async function L(){if(!n.workFormId){w.ElMessage.warning("尚未打开表单,无法保存");return}if(!n.formName.trim()){w.ElMessage.warning("请先填写表单名称(保存必填)");return}try{const B=await n.save();B.success?(Ho(n.formId,n.toSchema()),d("保存成功",B.message,`工作表单 ID:${n.workFormId}`)):w.ElMessage.error(`保存失败:${B.message}`)}catch{w.ElMessage.error(n.errorMsg||"保存失败")}}async function y(){var V,D;if(!n.workFormId){w.ElMessage.warning("尚未打开表单,无法另存为");return}const B=(V=window.prompt("新表单名称",`${n.formName||"表单"} 副本`))==null?void 0:V.trim();if(!B)return;const c=(D=window.prompt("新表单编码(如 SG_ZL_YYQHTSP,_M 结尾为移动端模板)",""))==null?void 0:D.trim();if(c)try{const T=await n.saveAs(B,c);T.success?d("另存为成功",T.message,`新表单 ID:${T.newFormID}`):w.ElMessage.error(`另存为失败:${T.message}`)}catch{w.ElMessage.error(n.errorMsg||"另存为失败")}}function g(){location.reload()}async function u(){if(!n.workFormId){w.ElMessage.warning("尚未打开表单,无法发布");return}if(!n.formName.trim()){w.ElMessage.warning("请先填写表单名称(发布必填)");return}try{const{needConfirm:B,count:c}=await n.checkPublish();if(B){a.value=c,i.value=!0;return}await I()}catch{w.ElMessage.error(n.errorMsg||"发布检查失败")}}async function I(){try{const B=await n.publish();B.success?w.ElMessage.success(B.message):w.ElMessage.error(`发布失败:${B.message}`)}catch{w.ElMessage.error(n.errorMsg||"发布失败")}}async function P(){i.value=!1,await I()}const me=e.ref(null),fe=e.ref(null);function pe(B){var V,D;if(!r.value)return;const c=B.target;(V=me.value)!=null&&V.contains(c)||(D=fe.value)!=null&&D.contains(c)||(r.value=!1)}return e.onMounted(()=>document.addEventListener("click",pe)),e.onBeforeUnmount(()=>{document.removeEventListener("click",pe),window.clearTimeout(p)}),(B,c)=>(e.openBlock(),e.createElementBlock("div",ul,[e.createElementVNode("div",hl,[c[18]||(c[18]=e.createElementVNode("span",{class:"fd-toolbar-title"},"表单设计器",-1)),e.createElementVNode("input",{class:"fd-toolbar-name",value:e.unref(n).formName,placeholder:"表单名称(保存必填)",onInput:c[0]||(c[0]=V=>e.unref(n).formName=V.target.value)},null,40,yl),e.createElementVNode("div",El,[e.unref(n).device==="mobile"?(e.openBlock(),e.createElementBlock("button",Nl,[...c[16]||(c[16]=[e.createElementVNode("svg",{class:"fd-tool-btn-icon",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"},[e.createElementVNode("rect",{x:"5",y:"2",width:"14",height:"20",rx:"2"}),e.createElementVNode("line",{x1:"12",y1:"18",x2:"12.01",y2:"18"})],-1),e.createTextVNode(" 移动端 ",-1)])])):(e.openBlock(),e.createElementBlock("button",Vl,[...c[17]||(c[17]=[e.createElementVNode("svg",{class:"fd-tool-btn-icon",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"},[e.createElementVNode("rect",{x:"2",y:"3",width:"20",height:"14",rx:"2"}),e.createElementVNode("line",{x1:"8",y1:"21",x2:"16",y2:"21"}),e.createElementVNode("line",{x1:"12",y1:"17",x2:"12",y2:"21"})],-1),e.createTextVNode(" 电脑端 ",-1)])]))])]),e.createElementVNode("div",wl,[e.createElementVNode("button",{class:"fd-tool-btn",onClick:c[1]||(c[1]=V=>o.value=!0)},[...c[19]||(c[19]=[e.createElementVNode("svg",{class:"fd-tool-btn-icon",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"},[e.createElementVNode("path",{d:"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"}),e.createElementVNode("circle",{cx:"12",cy:"12",r:"3"})],-1),e.createTextVNode(" 预览 ",-1)])]),e.createElementVNode("button",{class:"fd-tool-btn",onClick:c[2]||(c[2]=V=>l.value=!0)},[...c[20]||(c[20]=[e.createElementVNode("svg",{class:"fd-tool-btn-icon",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"},[e.createElementVNode("polyline",{points:"16 18 22 12 16 6"}),e.createElementVNode("polyline",{points:"8 6 2 12 8 18"})],-1),e.createTextVNode(" 查看代码 ",-1)])]),e.createElementVNode("button",{class:"fd-tool-btn",onClick:c[3]||(c[3]=V=>s.value=!0)},[...c[21]||(c[21]=[e.createElementVNode("svg",{class:"fd-tool-btn-icon",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"},[e.createElementVNode("path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}),e.createElementVNode("polyline",{points:"17 8 12 3 7 8"}),e.createElementVNode("line",{x1:"12",y1:"3",x2:"12",y2:"15"})],-1),e.createTextVNode(" 导入 ",-1)])]),e.createElementVNode("button",{class:"fd-tool-btn",onClick:g},[...c[22]||(c[22]=[e.createElementVNode("svg",{class:"fd-tool-btn-icon",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"},[e.createElementVNode("polyline",{points:"23 4 23 10 17 10"}),e.createElementVNode("path",{d:"M20.49 15a9 9 0 1 1-2.12-9.36L23 10"})],-1),e.createTextVNode(" 加载 ",-1)])]),e.createElementVNode("button",{class:"fd-tool-btn",onClick:L},[...c[23]||(c[23]=[e.createElementVNode("svg",{class:"fd-tool-btn-icon",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"},[e.createElementVNode("path",{d:"M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2z"}),e.createElementVNode("polyline",{points:"17 21 17 13 7 13 7 21"}),e.createElementVNode("polyline",{points:"7 3 7 8 15 8"})],-1),e.createTextVNode(" 保存 ",-1)])]),e.createElementVNode("button",{class:"fd-tool-btn",onClick:y},[...c[24]||(c[24]=[e.createElementVNode("svg",{class:"fd-tool-btn-icon",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"},[e.createElementVNode("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2"}),e.createElementVNode("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})],-1),e.createTextVNode(" 另存为 ",-1)])]),e.createElementVNode("button",{class:"fd-tool-btn fd-tool-btn--primary",onClick:u},[...c[25]||(c[25]=[e.createElementVNode("svg",{class:"fd-tool-btn-icon",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"},[e.createElementVNode("line",{x1:"22",y1:"2",x2:"11",y2:"13"}),e.createElementVNode("polygon",{points:"22 2 15 22 11 13 2 9 22 2"})],-1),e.createTextVNode(" 发布 ",-1)])]),c[29]||(c[29]=e.createElementVNode("span",{class:"fd-toolbar-divider"},null,-1)),e.createElementVNode("button",{class:"fd-tool-btn fd-tool-icon-btn",disabled:!e.unref(n).canUndo,title:"撤销",onClick:c[4]||(c[4]=V=>e.unref(n).undo())},[...c[26]||(c[26]=[e.createElementVNode("svg",{class:"fd-tool-icon",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"},[e.createElementVNode("polyline",{points:"9 14 4 9 9 4"}),e.createElementVNode("path",{d:"M20 20v-7a4 4 0 0 0-4-4H4"})],-1)])],8,Bl),e.createElementVNode("button",{class:"fd-tool-btn fd-tool-icon-btn",disabled:!e.unref(n).canRedo,title:"重做",onClick:c[5]||(c[5]=V=>e.unref(n).redo())},[...c[27]||(c[27]=[e.createElementVNode("svg",{class:"fd-tool-icon",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"},[e.createElementVNode("polyline",{points:"15 14 20 9 15 4"}),e.createElementVNode("path",{d:"M4 20v-7a4 4 0 0 1 4-4h12"})],-1)])],8,Cl),e.createElementVNode("button",{ref_key:"treeBtnRef",ref:fe,class:"fd-tool-btn",onClick:c[6]||(c[6]=V=>r.value=!r.value)},[...c[28]||(c[28]=[e.createStaticVNode('<svg class="fd-tool-btn-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" data-v-da21485c><line x1="8" y1="6" x2="21" y2="6" data-v-da21485c></line><line x1="8" y1="12" x2="21" y2="12" data-v-da21485c></line><line x1="8" y1="18" x2="21" y2="18" data-v-da21485c></line><line x1="3" y1="6" x2="3.01" y2="6" data-v-da21485c></line><line x1="3" y1="12" x2="3.01" y2="12" data-v-da21485c></line><line x1="3" y1="18" x2="3.01" y2="18" data-v-da21485c></line></svg> 组件树 ',2)])],512)]),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[o.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"fd-dialog-mask",onClick:c[9]||(c[9]=e.withModifiers(V=>o.value=!1,["self"]))},[e.createElementVNode("div",$l,[e.createElementVNode("div",xl,[c[32]||(c[32]=e.createElementVNode("span",null,"预览",-1)),e.createElementVNode("div",_l,[c[30]||(c[30]=e.createElementVNode("label",{for:"fd-preview-width-input"},"宽度",-1)),e.createVNode(e.unref(w.ElInputNumber),{id:"fd-preview-width-input",modelValue:f.value,"onUpdate:modelValue":c[7]||(c[7]=V=>f.value=V),min:270,max:1200,step:10,size:"small","controls-position":"right",onChange:b},null,8,["modelValue"]),c[31]||(c[31]=e.createElementVNode("span",{class:"fd-preview-width-unit"},"px",-1))]),e.createElementVNode("button",{class:"fd-tool-btn",onClick:c[8]||(c[8]=V=>o.value=!1)},"关闭")]),e.createElementVNode("div",Sl,[e.createElementVNode("div",{class:"fd-preview-stage",style:e.normalizeStyle({width:f.value+"px"})},[e.createVNode(Z,{widgets:e.unref(n).widgets,"form-data":S.value},null,8,["widgets","form-data"])],4)])])])):e.createCommentVNode("",!0),l.value?(e.openBlock(),e.createElementBlock("div",{key:1,class:"fd-dialog-mask",onClick:c[11]||(c[11]=e.withModifiers(V=>l.value=!1,["self"]))},[e.createElementVNode("div",Dl,[e.createElementVNode("div",Il,[c[34]||(c[34]=e.createElementVNode("span",null,"JSON Schema",-1)),e.createElementVNode("button",{class:"fd-tool-btn",onClick:h},[c[33]||(c[33]=e.createElementVNode("svg",{class:"fd-tool-btn-icon",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"},[e.createElementVNode("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"}),e.createElementVNode("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})],-1)),e.createTextVNode(" "+e.toDisplayString(C.value||"复制JSON"),1)]),e.createElementVNode("button",{class:"fd-tool-btn",onClick:c[10]||(c[10]=V=>l.value=!1)},"关闭")]),e.createElementVNode("textarea",{class:"fd-dialog-code",value:N.value,readonly:""},null,8,Tl)])])):e.createCommentVNode("",!0),s.value?(e.openBlock(),e.createElementBlock("div",{key:2,class:"fd-dialog-mask",onClick:c[14]||(c[14]=e.withModifiers(V=>s.value=!1,["self"]))},[e.createElementVNode("div",Fl,[e.createElementVNode("div",Ll,[c[35]||(c[35]=e.createElementVNode("span",null,"导入(粘贴 JSON)",-1)),e.createElementVNode("button",{class:"fd-tool-btn",onClick:c[12]||(c[12]=V=>s.value=!1)},"取消"),e.createElementVNode("button",{class:"fd-tool-btn fd-tool-btn--primary",onClick:_},"确认")]),e.createElementVNode("div",Ml,[e.withDirectives(e.createElementVNode("textarea",{"onUpdate:modelValue":c[13]||(c[13]=V=>E.value=V),class:"fd-dialog-import-text",placeholder:"请粘贴表单 JSON(可从「查看代码」复制),确认后仅覆盖表单结构,保留业务对象"},null,512),[[e.vModelText,E.value]])])])])):e.createCommentVNode("",!0),r.value?(e.openBlock(),e.createElementBlock("div",{key:3,ref_key:"treeDrawerRef",ref:me,class:"fd-tree-drawer"},[e.createVNode(ol)],512)):e.createCommentVNode("",!0),e.createVNode(bl,{modelValue:i.value,"onUpdate:modelValue":c[15]||(c[15]=V=>i.value=V),"form-id":e.unref(n).originFormId,count:a.value,onConfirm:P},null,8,["modelValue","form-id","count"])]))]))}}),[["__scopeId","data-v-da21485c"]]),zl={class:"fd-palette"},Ul={class:"fd-palette-group-title"},jl=["onDragstart","onClick"],Al={class:"fd-palette-icon"},Pl=$(e.defineComponent({__name:"WidgetPalette",setup(t){const n=F(),o=Ee(),l=[{title:"基础控件",types:["label","text"]},{title:"高级控件",types:["subtable"]},{title:"布局控件",types:["grid","card","slot"]}],r={grid:"▦",card:"▤",slot:"⧉",label:"T",text:"¶",subtable:"☰"};function s(a){return o.find(m=>m.type===a)}function d(a,m){var f;(f=a.dataTransfer)==null||f.setData("application/x-fd-new",m),a.dataTransfer&&(a.dataTransfer.effectAllowed="copy")}function i(a){n.addWidget(a)}return(a,m)=>(e.openBlock(),e.createElementBlock("div",zl,[m[0]||(m[0]=e.createElementVNode("div",{class:"fd-palette-title"},"控件库",-1)),(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(l,f=>e.createElementVNode("div",{key:f.title,class:"fd-palette-group"},[e.createElementVNode("div",Ul,e.toDisplayString(f.title),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.types,b=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:b},[s(b)?(e.openBlock(),e.createElementBlock("div",{key:0,class:"fd-palette-item",draggable:"true",onDragstart:E=>d(E,b),onClick:E=>i(b)},[e.createElementVNode("span",Al,e.toDisplayString(r[b]),1),e.createElementVNode("span",null,e.toDisplayString(s(b).title),1)],40,jl)):e.createCommentVNode("",!0)],64))),128))])),64))]))}}),[["__scopeId","data-v-6a2bab90"]]),ie=[{key:"onLoad",label:"加载完成",desc:"表单数据就绪后触发"},{key:"onMounted",label:"渲染挂载",desc:"渲染完成并挂载到 DOM 后触发"},{key:"onValueChange",label:"值变化",desc:"任意字段值变化时触发"},{key:"custom",label:"自定义方法",desc:"写入的方法将挂载至全局 window,可在其他事件处理中调用"}],Rl={class:"fd-form-events"},Jl={class:"fd-form-meta"},ql={class:"fd-events-section"},Wl={class:"fd-event-head"},Hl=["title"],Gl={class:"fd-event-key"},Yl=["onClick","title"],Kl={key:0,class:"fd-event-trigger-text"},Ql={key:1,class:"fd-event-trigger-placeholder"},Xl={class:"fd-dialog",style:{"max-width":"600px"}},Zl={class:"fd-dialog-head"},vl={class:"fd-dialog-body"},ea=$(e.defineComponent({__name:"FormEventsPanel",setup(t){const n=e.defineAsyncComponent(()=>Promise.resolve().then(()=>Ea)),o=F(),l=e.reactive({open:!1,type:"",hookKey:"",index:-1,title:"",draft:""});function r(i){l.open=!0,l.type="lifecycle",l.hookKey=i.key,l.title=`${i.label}(${i.key})`,l.draft=o.events.lifecycle[i.key]??""}function s(){l.type==="lifecycle"&&l.hookKey?o.setLifecycleHook(l.hookKey,l.draft):l.type==="custom"&&l.index>=0&&o.updateCustomEvent(l.index,{handler:l.draft}),l.open=!1}function d(){l.open=!1}return(i,a)=>(e.openBlock(),e.createElementBlock("div",Rl,[a[4]||(a[4]=e.createElementVNode("div",{class:"fd-property-title"},"表单属性",-1)),e.createElementVNode("div",Jl,[e.createElementVNode("span",null,"表单:"+e.toDisplayString(e.unref(o).formId),1),e.createElementVNode("span",null,"主表:"+e.toDisplayString(e.unref(o).dbtable),1)]),e.createElementVNode("section",ql,[a[2]||(a[2]=e.createElementVNode("h4",{class:"fd-events-h"},"全局事件 · 生命周期",-1)),a[3]||(a[3]=e.createElementVNode("p",{class:"fd-events-tip"},"渲染时绑定至对应钩子函数中执行",-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(ie),m=>(e.openBlock(),e.createElementBlock("div",{key:m.key,class:"fd-event-row"},[e.createElementVNode("div",Wl,[e.createElementVNode("label",{title:m.desc},e.toDisplayString(m.label),9,Hl),e.createElementVNode("code",Gl,e.toDisplayString(m.key),1)]),e.createElementVNode("div",{class:"fd-event-trigger",onClick:f=>r(m),title:e.unref(o).events.lifecycle[m.key]||"点击编写处理函数"},[e.unref(o).events.lifecycle[m.key]?(e.openBlock(),e.createElementBlock("span",Kl,e.toDisplayString(e.unref(o).events.lifecycle[m.key]),1)):(e.openBlock(),e.createElementBlock("span",Ql,"点击编写")),a[1]||(a[1]=e.createElementVNode("span",{class:"fd-event-trigger-arrow"},"›",-1))],8,Yl)]))),128))]),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[l.open?(e.openBlock(),e.createElementBlock("div",{key:0,class:"fd-dialog-mask",onClick:e.withModifiers(d,["self"])},[e.createElementVNode("div",Xl,[e.createElementVNode("div",Zl,[e.createElementVNode("span",null,"编写处理函数 - "+e.toDisplayString(l.title),1),e.createElementVNode("button",{class:"fd-dialog-close",onClick:d,title:"关闭"},"×")]),e.createElementVNode("div",vl,[e.createVNode(e.unref(n),{modelValue:l.draft,"onUpdate:modelValue":a[0]||(a[0]=m=>l.draft=m),language:"javascript"},null,8,["modelValue"])]),e.createElementVNode("div",{class:"fd-dialog-foot"},[e.createElementVNode("button",{class:"fd-btn fd-btn--primary",onClick:s},"确定")])])])):e.createCommentVNode("",!0)]))]))}}),[["__scopeId","data-v-7e5a3f15"]]),ta={class:"fd-property"},na={key:1,class:"fd-property-empty"},oa={key:1,class:"fd-property-item"},la=["value"],aa={class:"fd-property-foot"},sa={class:"fd-property-type"},ra=$(e.defineComponent({__name:"PropertyPanel",setup(t){const n=F(),o=e.computed(()=>n.selectedNode),l=e.computed(()=>o.value?M(o.value.type):void 0),r=e.computed(()=>{var a;return(a=l.value)==null?void 0:a.panel});function s(a){o.value&&n.updateNode(o.value.id,a)}const d=e.computed(()=>o.value!=null&&o.value.gridSpan!=null);function i(a){if(!o.value)return;const m=Number(a.target.value),f=Math.min(24,Math.max(1,Number.isFinite(m)?Math.round(m):24));n.updateNode(o.value.id,{gridSpan:f})}return(a,m)=>{var f;return e.openBlock(),e.createElementBlock("div",ta,[m[2]||(m[2]=e.createElementVNode("div",{class:"fd-property-title"},"属性",-1)),e.unref(n).selectedForm?(e.openBlock(),e.createBlock(ea,{key:0})):o.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[r.value?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(r.value),{key:0,node:o.value,fields:e.unref(n).fields,onUpdate:s},null,40,["node","fields"])):e.createCommentVNode("",!0),d.value?(e.openBlock(),e.createElementBlock("div",oa,[m[1]||(m[1]=e.createElementVNode("label",null,"占比",-1)),e.createElementVNode("input",{type:"number",min:"1",max:"24",value:o.value.gridSpan,onChange:i},null,40,la)])):e.createCommentVNode("",!0),e.createElementVNode("div",aa,[e.createElementVNode("span",sa,"类型:"+e.toDisplayString((f=l.value)==null?void 0:f.title),1)])],64)):(e.openBlock(),e.createElementBlock("div",na,[...m[0]||(m[0]=[e.createElementVNode("span",{class:"fd-property-empty-icon"},"⚙",-1),e.createElementVNode("span",null,[e.createTextVNode("请选择左侧控件"),e.createElementVNode("br"),e.createTextVNode("或点击画板空白处设置表单属性")],-1)])]))])}}}),[["__scopeId","data-v-e89617c7"]]),da={key:0,class:"fd-canvas-dropzone"},ia=$(e.defineComponent({__name:"CanvasNode",props:{node:{},parentId:{},index:{}},setup(t){const n=t,o=F(),l=e.ref(null),r=e.computed(()=>{const p={};return n.node.gridSpan!=null&&(p.gridColumn=`span ${n.node.gridSpan}`),n.node.type==="text"&&(p.display=n.node.display||"inline-block"),Object.keys(p).length?p:void 0}),s=()=>{var p;return(p=M(n.node.type))==null?void 0:p.isContainer};function d(p,k){if(n.node.type!=="grid")return"";const h=n.node.layout||24;return ne(p,k,n.node.children||[],h,o.device==="mobile")}function i(p){const k=p.dataTransfer;return!!k&&(k.types.includes("application/x-fd-new")||k.types.includes("application/x-fd-move"))}function a(){o.select(n.node.id)}function m(p){var k;p.stopPropagation(),o.setDragging(n.node.id),(k=p.dataTransfer)==null||k.setData("application/x-fd-move",n.node.id),p.dataTransfer&&(p.dataTransfer.effectAllowed="move")}function f(){o.dragOverId=null,o.dropContainerId=null,o.dragBefore=!1,o.setDragging(null)}function b(p){p.stopPropagation(),f()}function E(){o.dragOverId===n.node.id&&(o.dragOverId=null),o.dropContainerId===n.node.id&&(o.dropContainerId=null)}function _(p){if(i(p))if(p.preventDefault(),p.stopPropagation(),s())o.dragOverId=null,o.dragBefore=!1,o.dropContainerId=n.node.id;else{o.dropContainerId=null,o.dragOverId=n.node.id;const k=l.value;if(k){const h=k.getBoundingClientRect();o.dragBefore=p.clientY-h.top<h.height/2}}}function N(){E()}function C(p){var S,L,y;if(!i(p))return;p.preventDefault(),p.stopPropagation();const k=(S=p.dataTransfer)==null?void 0:S.getData("application/x-fd-new"),h=(L=p.dataTransfer)==null?void 0:L.getData("application/x-fd-move");if(s())k?o.addWidget(k,n.node.id):h&&o.moveNode(h,n.node.id,((y=n.node.children)==null?void 0:y.length)??0);else{const g=o.dragBefore?n.index:n.index+1;k?o.addWidget(k,n.parentId,g):h&&o.moveNode(h,n.parentId,g)}o.dragOverId=null,o.dragBefore=!1,o.dropContainerId=null}return(p,k)=>{const h=e.resolveComponent("CanvasNode",!0);return e.openBlock(),e.createElementBlock("div",{ref_key:"rootEl",ref:l,class:e.normalizeClass(["fd-canvas-node",[`fd-canvas-node--${t.node.type}`,{"is-selected":e.unref(o).selectedId===t.node.id,"drop-before":e.unref(o).dragOverId===t.node.id&&e.unref(o).dragBefore,"drop-target":e.unref(o).dropContainerId===t.node.id,"dragging-source":e.unref(o).draggingId===t.node.id}]]),style:e.normalizeStyle(r.value),draggable:"true",onMousedown:e.withModifiers(a,["stop"]),onClick:k[4]||(k[4]=e.withModifiers(()=>{},["stop"])),onDragstart:m,onDragend:b,onDragover:_,onDragleave:N,onDrop:C},[e.createElementVNode("div",{class:"fd-canvas-node-actions",onMousedown:k[3]||(k[3]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("span",{class:"fd-node-action",title:"上移",onClick:k[0]||(k[0]=e.withModifiers(S=>e.unref(o).moveSibling(t.node.id,-1),["stop"]))},[...k[5]||(k[5]=[e.createElementVNode("svg",{class:"fd-node-icon",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"},[e.createElementVNode("line",{x1:"12",y1:"20",x2:"12",y2:"5"}),e.createElementVNode("polyline",{points:"6 11 12 5 18 11"})],-1)])]),e.createElementVNode("span",{class:"fd-node-action",title:"下移",onClick:k[1]||(k[1]=e.withModifiers(S=>e.unref(o).moveSibling(t.node.id,1),["stop"]))},[...k[6]||(k[6]=[e.createElementVNode("svg",{class:"fd-node-icon",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"},[e.createElementVNode("line",{x1:"12",y1:"4",x2:"12",y2:"19"}),e.createElementVNode("polyline",{points:"6 13 12 19 18 13"})],-1)])]),e.createElementVNode("span",{class:"fd-node-action delete",title:"删除",onClick:k[2]||(k[2]=e.withModifiers(S=>e.unref(o).removeWidget(t.node.id),["stop"]))},[...k[7]||(k[7]=[e.createStaticVNode('<svg class="fd-node-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" data-v-3f3a43d3><path d="M4 7h16" data-v-3f3a43d3></path><path d="M9 7V5.5a1.5 1.5 0 0 1 1.5-1.5h3A1.5 1.5 0 0 1 15 5.5V7" data-v-3f3a43d3></path><path d="M6.5 7l1 12.5h9l1-12.5" data-v-3f3a43d3></path><line x1="10" y1="11" x2="10" y2="16.5" data-v-3f3a43d3></line><line x1="14" y1="11" x2="14" y2="16.5" data-v-3f3a43d3></line></svg>',1)])])],32),e.createVNode(G,{node:t.node,mode:"design"},e.createSlots({_:2},[s()&&t.node.children?{name:"children",fn:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.node.children,(S,L)=>(e.openBlock(),e.createBlock(h,{key:S.id,node:S,"parent-id":t.node.id,index:L,class:e.normalizeClass(d(S,L))},null,8,["node","parent-id","index","class"]))),128)),!t.node.children||t.node.children.length===0?(e.openBlock(),e.createElementBlock("div",da,"拖拽控件到此容器")):e.createCommentVNode("",!0)]),key:"0"}:void 0]),1032,["node"])],38)}}}),[["__scopeId","data-v-3f3a43d3"]]),ca={class:"fd-designer"},ma={class:"fd-designer-body"},fa={class:"fd-designer-left"},pa={key:0,class:"fd-canvas-notice"},ga={key:1,class:"fd-canvas-state"},ka={key:2,class:"fd-canvas-state fd-canvas-state--error"},ba={key:0,class:"fd-canvas-empty"},ua={class:"fd-designer-right"},ce=$(e.defineComponent({__name:"Designer",props:{formId:{}},setup(t){const n=t,o=F();e.onMounted(async()=>{const r=new URLSearchParams(window.location.search),s=r.get("baseUrl");s&&_o(s);const d=n.formId||r.get("id")||"",i=r.get("formVersion")||r.get("FormVersion")||"",a=r.get("openType")||r.get("OpenType")||"";await o.openForm(d,i,a)});function l(r){var i,a;r.preventDefault();const s=(i=r.dataTransfer)==null?void 0:i.getData("application/x-fd-new"),d=(a=r.dataTransfer)==null?void 0:a.getData("application/x-fd-move");s?o.addWidget(s,null,o.widgets.length):d&&o.moveNode(d,null,o.widgets.length)}return(r,s)=>(e.openBlock(),e.createElementBlock("div",ca,[e.createVNode(Ol),e.createElementVNode("div",ma,[e.createElementVNode("aside",fa,[e.createVNode(Pl)]),e.createElementVNode("main",{class:"fd-designer-center",onDragover:s[1]||(s[1]=e.withModifiers(()=>{},["prevent"])),onDrop:l},[e.unref(o).noticeMsg?(e.openBlock(),e.createElementBlock("div",pa,e.toDisplayString(e.unref(o).noticeMsg),1)):e.createCommentVNode("",!0),e.unref(o).loading?(e.openBlock(),e.createElementBlock("div",ga,"正在加载表单…")):e.unref(o).errorMsg?(e.openBlock(),e.createElementBlock("div",ka,e.toDisplayString(e.unref(o).errorMsg),1)):(e.openBlock(),e.createElementBlock("div",{key:3,class:e.normalizeClass(["fd-canvas",{"is-mobile":e.unref(o).device==="mobile","is-selected":e.unref(o).selectedForm}]),onClick:s[0]||(s[0]=d=>e.unref(o).selectForm())},[e.unref(o).widgets.length===0?(e.openBlock(),e.createElementBlock("div",ba,[...s[2]||(s[2]=[e.createElementVNode("span",{class:"fd-canvas-empty-icon"},"▦",-1),e.createElementVNode("span",null,"从左侧拖拽控件到此处",-1)])])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(o).widgets,(d,i)=>(e.openBlock(),e.createBlock(ia,{key:d.id,node:d,"parent-id":null,index:i},null,8,["node","index"]))),128))],2))],32),e.createElementVNode("aside",ua,[e.createVNode(ra)])])]))}}),[["__scopeId","data-v-86f01272"]]);function ha(t){Y(),t.baseUrl&&X({baseUrl:t.baseUrl});let n=null;const o={render:()=>e.h(Z,{widgets:t.widgets,formMode:t.formMode,formData:t.formData,events:t.events,formId:t.formId,ref:r=>{n=r}})},l=e.createApp(o);return l.mount(t.container),{fireEvent:(r,s)=>{var d;return(d=n==null?void 0:n.fireEvent)==null?void 0:d.call(n,r,s)},unmount:()=>l.unmount()}}const ya={install(t,n={}){Y(),n.baseUrl&&X({baseUrl:n.baseUrl}),t.component("FdDesigner",ce)}},Ea=Object.freeze(Object.defineProperty({__proto__:null,default:$(e.defineComponent({__name:"CodeEditor",props:{modelValue:{default:""},language:{default:"javascript"}},emits:["update:modelValue"],setup(t,{emit:n}){const o=t,l=n,r=e.ref(null);let s=null;return e.onMounted(()=>{r.value&&(he.javascriptDefaults.setDiagnosticsOptions({noSemanticValidation:!0,noSyntaxValidation:!1}),s=v.editor.create(r.value,{value:o.modelValue,language:o.language,theme:"vs-dark",automaticLayout:!0,fontSize:14,tabSize:2,minimap:{enabled:!1},scrollBeyondLastLine:!1,fontFamily:"'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace",scrollbar:{verticalScrollbarSize:8,horizontalScrollbarSize:8}}),s.onDidChangeModelContent(()=>{l("update:modelValue",(s==null?void 0:s.getValue())??"")}))}),e.watch(()=>o.modelValue,d=>{s&&d!==s.getValue()&&s.setValue(d??"")}),e.watch(()=>o.language,d=>{const i=s==null?void 0:s.getModel();i&&v.editor.setModelLanguage(i,d)}),e.onBeforeUnmount(()=>{s==null||s.dispose(),s=null}),(d,i)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"container",ref:r,class:"fd-code-editor"},null,512))}}),[["__scopeId","data-v-aeb9c1ee"]])},Symbol.toStringTag,{value:"Module"}));x.Designer=ce,x.LIFECYCLE_HOOKS=ie,x.Renderer=Z,x.configureApi=X,x.default=ya,x.loadFormFromLocal=Go,x.registerComponent=A,x.renderForm=ha,x.setApiModule=Do,x.setBaseModule=So,Object.defineProperties(x,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
1
+ (function(_,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("pinia"),require("element-plus"),require("element-plus/es/components/select/style/css"),require("lucide-vue-next"),require("element-plus/es/components/input-number/style/css"),require("element-plus/es/components/message/style/css"),require("element-plus/es/components/message-box/style/css"),require("element-plus/es/components/tree/style/css"),require("element-plus/es/components/dialog/style/css"),require("element-plus/es/components/input/style/css"),require("element-plus/es/components/pagination/style/css"),require("element-plus/es/components/button/style/css"),require("element-plus/es/components/empty/style/css"),require("element-plus/es/components/loading/style/css"),require("element-plus/es/components/config-provider/style/css"),require("monaco-editor"),require("monaco-editor/language/typescript/monaco.contribution")):typeof define=="function"&&define.amd?define(["exports","vue","pinia","element-plus","element-plus/es/components/select/style/css","lucide-vue-next","element-plus/es/components/input-number/style/css","element-plus/es/components/message/style/css","element-plus/es/components/message-box/style/css","element-plus/es/components/tree/style/css","element-plus/es/components/dialog/style/css","element-plus/es/components/input/style/css","element-plus/es/components/pagination/style/css","element-plus/es/components/button/style/css","element-plus/es/components/empty/style/css","element-plus/es/components/loading/style/css","element-plus/es/components/config-provider/style/css","monaco-editor","monaco-editor/language/typescript/monaco.contribution"],e):(_=typeof globalThis<"u"?globalThis:_||self,e(_.FormDesignV3={},_.Vue,_.Pinia,_.ElementPlus,null,_.LucideVueNext,null,null,null,null,null,null,null,null,null,null,null,_.monaco,_.monaco))})(this,(function(_,e,ye,w,Sa,Ee,Da,Ia,Ta,La,Fa,Ma,Oa,za,Ua,ja,Aa,Ne,Ve){"use strict";function we(t){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const o in t)if(o!=="default"){const l=Object.getOwnPropertyDescriptor(t,o);Object.defineProperty(n,o,l.get?l:{enumerable:!0,get:()=>t[o]})}}return n.default=t,Object.freeze(n)}const ee=we(Ne),Y=new Map;function A(t){Y.set(t.type,t)}function M(t){return Y.get(t)}function Be(){return Array.from(Y.values())}function Ce(t){const n=M(t);if(!n)throw new Error(`未注册的控件类型: ${t}`);return{...n.createDefaultProps(),id:`${t}_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,7)}`}}const $e={class:"fd-label-name"},_e=e.defineComponent({__name:"LabelDesign",props:{node:{}},setup(t){const n=L();return(o,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["fd-label-design",{"is-mobile":e.unref(n).device==="mobile"}])},[e.createElementVNode("span",$e,e.toDisplayString(t.node.label||"标题"),1),e.createElementVNode("span",{class:e.normalizeClass(["fd-label-value",{"fd-label-value--link":!!t.node.bindLink}]),style:e.normalizeStyle(!t.node.bindLink&&t.node.color?{color:t.node.color}:void 0)},[t.node.bindLink?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createTextVNode(e.toDisplayString(t.node.bindField||t.node.bindLink),1)],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(t.node.bindField||"未绑定字段"),1)],64))],6)],2))}}),$=(t,n)=>{const o=t.__vccOpts||t;for(const[l,r]of n)o[l]=r;return o},xe=$(_e,[["__scopeId","data-v-3b9308ef"]]),Se={class:"fd-label-name"},De=["data-key"],Ie=["href"],Te=$(e.defineComponent({__name:"LabelRender",props:{node:{},value:{},formData:{}},setup(t){const n=t,o=e.computed(()=>!!n.node.bindLink),l=e.computed(()=>{var f;const m=n.node.bindLink?(f=n.formData)==null?void 0:f[n.node.bindLink]:void 0;return m==null?"":String(m)}),r=e.computed(()=>n.value!==void 0&&n.value!==null&&n.value!==""?String(n.value):l.value?l.value:""),s=L(),d=e.ref(!1);let i=null;e.onMounted(()=>{i=window.matchMedia("(max-width: 768px)"),d.value=i.matches,i.addEventListener("change",m=>{d.value=m.matches})}),e.onUnmounted(()=>{i&&i.removeEventListener("change",()=>{})});const a=e.computed(()=>s.device==="mobile"||d.value);return(m,f)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["fd-label-render",{"is-mobile":a.value}])},[e.createElementVNode("span",Se,e.toDisplayString(t.node.label||"标题"),1),e.createElementVNode("span",{class:e.normalizeClass(["fd-label-value",{"fd-label-value--link":o.value}]),"data-key":t.node.bindField,style:e.normalizeStyle(!o.value&&t.node.color?{color:t.node.color}:void 0)},[l.value?(e.openBlock(),e.createElementBlock("a",{key:0,class:"fd-label-link",href:l.value,target:"_blank",rel:"noopener noreferrer"},e.toDisplayString(r.value),9,Ie)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(r.value),1)],64))],14,De)],2))}}),[["__scopeId","data-v-d9af68cc"]]),Le={class:"fd-panel"},Fe={class:"fd-panel-item"},Me=["value"],Oe={class:"fd-panel-item"},ze={class:"fd-panel-item"},Ue={class:"fd-panel-item"},je={class:"fd-color-row"},Ae=["value"],Re=["value"],Pe="#344054",Je={type:"label",title:"Label 文本",design:xe,render:Te,panel:$(e.defineComponent({__name:"LabelPanel",props:{node:{},fields:{}},emits:["update"],setup(t,{emit:n}){const o=t,l=n;function r(a){return a&&/^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/.test(a)?a:Pe}function s(a){l("update",{color:a.target.value})}const d=a=>{const m=a??"",f=o.fields.find(E=>E.name===m),k={bindField:m,bindLink:(f==null?void 0:f.dataType)==="link"?m:""};f!=null&&f.label&&(k.label=f.label),l("update",k)},i=a=>{l("update",{bindLink:a??""})};return(a,m)=>(e.openBlock(),e.createElementBlock("div",Le,[e.createElementVNode("div",Fe,[m[2]||(m[2]=e.createElementVNode("label",null,"标题",-1)),e.createElementVNode("input",{value:t.node.label,onInput:m[0]||(m[0]=f=>l("update",{label:f.target.value}))},null,40,Me)]),e.createElementVNode("div",Oe,[m[3]||(m[3]=e.createElementVNode("label",null,"绑定字段",-1)),e.createVNode(e.unref(w.ElSelect),{"model-value":t.node.bindField,filterable:"",clearable:"",placeholder:"搜索并选择字段(链接字段自动作为链接)",style:{width:"100%"},"onUpdate:modelValue":d},{default:e.withCtx(()=>[e.createVNode(e.unref(w.ElOption),{label:"不绑定",value:""}),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.fields,f=>(e.openBlock(),e.createBlock(e.unref(w.ElOption),{key:f.name,label:`${f.label}(${f.name})`,value:f.name},null,8,["label","value"]))),128))]),_:1},8,["model-value"])]),e.createElementVNode("div",ze,[m[4]||(m[4]=e.createElementVNode("label",null,"链接",-1)),e.createVNode(e.unref(w.ElSelect),{"model-value":t.node.bindLink,filterable:"",clearable:"",placeholder:"选择链接字段(留空=不绑定)",style:{width:"100%"},"onUpdate:modelValue":i},{default:e.withCtx(()=>[e.createVNode(e.unref(w.ElOption),{label:"不绑定",value:""}),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.fields,f=>(e.openBlock(),e.createBlock(e.unref(w.ElOption),{key:f.name,label:`${f.label}(${f.name})`,value:f.name},null,8,["label","value"]))),128))]),_:1},8,["model-value"])]),e.createElementVNode("div",Ue,[m[5]||(m[5]=e.createElementVNode("label",null,"字体颜色",-1)),e.createElementVNode("div",je,[e.createElementVNode("input",{type:"color",value:r(t.node.color),onInput:s},null,40,Ae),e.createElementVNode("input",{type:"text",value:t.node.color,onInput:m[1]||(m[1]=f=>l("update",{color:f.target.value})),placeholder:"默认 #344054"},null,40,Re)])])]))}}),[["__scopeId","data-v-9219c401"]]),isContainer:!1,createDefaultProps:()=>({id:"",type:"label",label:"Label 文本",bindField:"",bindLink:"",color:"#344054"}),serialize:t=>t},H=e.defineComponent({__name:"LucideIcon",props:{name:{},size:{default:18},strokeWidth:{default:2}},setup(t){const n=t,o=e.computed(()=>n.name&&Ee.icons[n.name]||null);return(l,r)=>o.value?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o.value),{key:0,size:t.size,"stroke-width":t.strokeWidth},null,8,["size","stroke-width"])):e.createCommentVNode("",!0)}}),qe={class:"fd-card-design"},We={class:"fd-card-head"},He={class:"fd-card-title"},Ge=["title"],Ye={class:"fd-card-body"},Ke=$(e.defineComponent({__name:"CardDesign",props:{node:{}},setup(t){const n=t,o=L();function l(){o.setExpanded(n.node.id,!n.node.expanded)}return(r,s)=>(e.openBlock(),e.createElementBlock("div",qe,[e.createElementVNode("div",We,[t.node.icon?(e.openBlock(),e.createElementBlock("span",{key:0,class:"fd-card-icon",style:e.normalizeStyle({background:t.node.iconBgColor||void 0})},[e.createVNode(H,{name:t.node.icon,size:18},null,8,["name"])],4)):e.createCommentVNode("",!0),e.createElementVNode("span",He,e.toDisplayString(t.node.label||"卡片标题"),1),e.createElementVNode("span",{class:e.normalizeClass(["fd-card-arrow",{"is-open":t.node.expanded}]),title:t.node.expanded?"收起":"展开",onClick:e.withModifiers(l,["stop"])},[...s[0]||(s[0]=[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[e.createElementVNode("polyline",{points:"6 9 12 15 18 9"})],-1)])],10,Ge)]),e.withDirectives(e.createElementVNode("div",Ye,[e.renderSlot(r.$slots,"children",{},()=>[s[1]||(s[1]=e.createElementVNode("div",{class:"fd-card-empty"},"拖拽子控件到此处",-1))],!0)],512),[[e.vShow,t.node.expanded]])]))}}),[["__scopeId","data-v-6a46ee95"]]);function te(t,n){if(!t||t==="none")return!1;const o=Number(n);return t==="start"?o===10:t==="not-start"?o!==10:t==="not-approval"?o!==20:!1}const Qe={key:0,class:"fd-card-render"},Xe={class:"fd-card-title"},Ze={class:"fd-card-body"},ve=$(e.defineComponent({__name:"CardRender",props:{node:{},formData:{}},setup(t){const n=t,o=e.ref(n.node.expanded);return(l,r)=>{var s;return e.unref(te)(t.node.hiddenMode,(s=t.formData)==null?void 0:s.status)?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Qe,[e.createElementVNode("div",{class:"fd-card-head",onClick:r[0]||(r[0]=d=>o.value=!o.value)},[t.node.icon?(e.openBlock(),e.createElementBlock("span",{key:0,class:"fd-card-icon",style:e.normalizeStyle({background:t.node.iconBgColor||void 0})},[e.createVNode(H,{name:t.node.icon,size:18},null,8,["name"])],4)):e.createCommentVNode("",!0),e.createElementVNode("span",Xe,e.toDisplayString(t.node.label||"卡片标题"),1),e.createElementVNode("span",{class:e.normalizeClass(["fd-card-arrow",{"is-open":o.value}])},[...r[1]||(r[1]=[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[e.createElementVNode("polyline",{points:"6 9 12 15 18 9"})],-1)])],2)]),e.withDirectives(e.createElementVNode("div",Ze,[e.renderSlot(l.$slots,"children",{},void 0,!0)],512),[[e.vShow,o.value]])]))}}}),[["__scopeId","data-v-bc2f6273"]]),et=["disabled","aria-checked"],q=$(e.defineComponent({__name:"FdSwitch",props:{modelValue:{type:Boolean},disabled:{type:Boolean}},emits:["update:modelValue"],setup(t,{emit:n}){const o=n;return(l,r)=>(e.openBlock(),e.createElementBlock("button",{type:"button",class:e.normalizeClass(["fd-switch",{"is-on":t.modelValue}]),disabled:t.disabled,role:"switch","aria-checked":t.modelValue,onClick:r[0]||(r[0]=s=>o("update:modelValue",!t.modelValue))},[...r[1]||(r[1]=[e.createElementVNode("span",{class:"fd-switch-dot"},null,-1)])],10,et))}}),[["__scopeId","data-v-eac909bd"]]),tt=["LayoutGrid","PanelTop","Folder","FolderOpen","FileText","ClipboardList","ClipboardCheck","MapPin","Store","Building2","Badge","Tag","CalendarDays","TrendingUp","Clock","Calculator","Receipt","Target","ChartPie","ChartLine","CircleDollarSign","Briefcase","Scale","ShieldCheck","Sparkles","ScanSearch","MessageSquareText","GitBranch","Paperclip","Download","Upload","Network","Printer","CircleCheck","CircleAlert","Info","Bell","Settings","User","Users","Heart","Star","Lightbulb","Award","BookOpen","Coins","Wallet"],nt={class:"fd-panel"},ot={class:"fd-panel-item"},lt=["value"],at={class:"fd-panel-item"},st={class:"fd-icon-picker"},rt={key:1,class:"fd-icon-placeholder"},dt={class:"fd-icon-grid"},it=["title","onClick"],ct={class:"fd-panel-item"},mt=["value"],ft={class:"fd-panel-item fd-panel-item--row"},pt={class:"fd-panel-item"},gt=["value"],ut={type:"card",title:"卡片容器",design:Ke,render:ve,panel:$(e.defineComponent({__name:"CardPanel",props:{node:{},fields:{}},emits:["update"],setup(t,{emit:n}){const o=n,l=e.ref(!1);function r(s){o("update",{icon:s}),l.value=!1}return(s,d)=>(e.openBlock(),e.createElementBlock("div",nt,[e.createElementVNode("div",ot,[d[7]||(d[7]=e.createElementVNode("label",null,"标题",-1)),e.createElementVNode("input",{value:t.node.label,onInput:d[0]||(d[0]=i=>o("update",{label:i.target.value}))},null,40,lt)]),e.createElementVNode("div",at,[d[10]||(d[10]=e.createElementVNode("label",null,"图标",-1)),e.createElementVNode("div",st,[e.createElementVNode("button",{type:"button",class:"fd-icon-trigger",onClick:d[1]||(d[1]=i=>l.value=!l.value)},[t.node.icon?(e.openBlock(),e.createBlock(H,{key:0,name:t.node.icon,size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",rt,"无图标")),d[8]||(d[8]=e.createElementVNode("svg",{class:"fd-icon-caret",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[e.createElementVNode("polyline",{points:"6 9 12 15 18 9"})],-1))]),l.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"fd-icon-popover",onClick:d[3]||(d[3]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("div",dt,[e.createElementVNode("button",{type:"button",class:e.normalizeClass(["fd-icon-option",{active:!t.node.icon}]),title:"无图标",onClick:d[2]||(d[2]=i=>r(""))},[...d[9]||(d[9]=[e.createElementVNode("span",{class:"fd-icon-none"},"无",-1)])],2),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(tt),i=>(e.openBlock(),e.createElementBlock("button",{key:i,type:"button",class:e.normalizeClass(["fd-icon-option",{active:t.node.icon===i}]),title:i,onClick:a=>r(i)},[e.createVNode(H,{name:i,size:18},null,8,["name"])],10,it))),128))])])):e.createCommentVNode("",!0)])]),e.createElementVNode("div",ct,[d[11]||(d[11]=e.createElementVNode("label",null,"图标底色",-1)),e.createElementVNode("input",{value:t.node.iconBgColor,onInput:d[4]||(d[4]=i=>o("update",{iconBgColor:i.target.value}))},null,40,mt)]),e.createElementVNode("div",ft,[d[12]||(d[12]=e.createElementVNode("label",null,"初始展开",-1)),e.createVNode(q,{"model-value":t.node.expanded,"onUpdate:modelValue":d[5]||(d[5]=i=>o("update",{expanded:i}))},null,8,["model-value"])]),e.createElementVNode("div",pt,[d[13]||(d[13]=e.createElementVNode("label",null,"宽度",-1)),e.createElementVNode("input",{value:t.node.width,onInput:d[6]||(d[6]=i=>o("update",{width:i.target.value}))},null,40,gt)])]))}}),[["__scopeId","data-v-d3ccdc07"]]),isContainer:!0,createDefaultProps:()=>({id:"",type:"card",label:"卡片标题",bindField:"",icon:"",iconBgColor:"",expanded:!0,width:"",hiddenMode:"none",children:[]}),serialize:t=>t},kt={class:"fd-slot-design"},bt={class:"fd-slot-hint"},ht=$(e.defineComponent({__name:"SlotDesign",props:{node:{}},setup(t){return(n,o)=>(e.openBlock(),e.createElementBlock("div",kt,[o[0]||(o[0]=e.createElementVNode("span",{class:"fd-slot-tag"},"插槽",-1)),e.withDirectives(e.createElementVNode("span",{class:"fd-slot-name"},e.toDisplayString(t.node.label||"未命名插槽"),513),[[e.vShow,!["","插","插槽"].includes(t.node.label)]]),e.createElementVNode("span",bt,"宿主注入:"+e.toDisplayString(t.node.slotName),1)]))}}),[["__scopeId","data-v-b1a912fb"]]),yt={key:0,class:"fd-slot-render"},Et={class:"fd-slot-missing"},Nt=$(e.defineComponent({__name:"SlotRender",props:{node:{},mode:{},formId:{},formData:{}},setup(t){return(n,o)=>{var l;return e.unref(te)(t.node.hiddenMode,(l=t.formData)==null?void 0:l.status)?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",yt,[e.renderSlot(n.$slots,t.node.slotName,{node:t.node,formData:t.formData,mode:t.mode,formId:t.formId},()=>[e.createElementVNode("div",Et,"未注入插槽:"+e.toDisplayString(t.node.slotName),1)],!0)]))}}}),[["__scopeId","data-v-10795159"]]),Vt=["header","base-info","shop-tuning","contract-links","contract-list","handover-records","attachments","ai-risk","initiator-opinion","approval-flow","return-records","approval-records","approval-opinion","related-flows","footer"],G={header:"页面头部","base-info":"基础信息","shop-tuning":"招调信息","contract-links":"查看图纸/缴款计划","contract-list":"合同列表","handover-records":"交办记录",attachments:"附件信息","ai-risk":"AI风险识别","initiator-opinion":"发起人意见","approval-flow":"审批流程","return-records":"退回记录","approval-records":"审批记录","approval-opinion":"审批意见","related-flows":"相关流程",footer:"页面底部"},wt={class:"fd-panel"},Bt={class:"fd-panel-item"},Ct=["value"],$t={class:"fd-panel-item"},ne="插槽",_t={type:"slot",title:"插槽",design:ht,render:Nt,panel:$(e.defineComponent({__name:"SlotPanel",props:{node:{},fields:{}},emits:["update"],setup(t,{emit:n}){const o=t,l=n,r=L(),s=e.ref([]);function d(f,k){f.forEach(E=>{var x;E.type==="slot"&&E.slotName&&k.add(E.slotName),(x=E.children)!=null&&x.length&&d(E.children,k)})}const i=e.computed(()=>{const f=new Set(Vt);return d(r.widgets,f),s.value.forEach(k=>k&&f.add(k)),[...f]}),a=e.computed(()=>o.node.label||G[o.node.slotName||""]||ne);function m(f){const k=f??"";k&&!i.value.includes(k)&&s.value.push(k),l("update",{slotName:k,label:G[k]||ne})}return(f,k)=>(e.openBlock(),e.createElementBlock("div",wt,[e.createElementVNode("div",Bt,[k[1]||(k[1]=e.createElementVNode("label",null,"标题",-1)),e.createElementVNode("input",{value:a.value,onInput:k[0]||(k[0]=E=>l("update",{label:E.target.value}))},null,40,Ct)]),e.createElementVNode("div",$t,[k[2]||(k[2]=e.createElementVNode("label",null,"插槽名",-1)),e.createVNode(e.unref(w.ElSelect),{"model-value":t.node.slotName,filterable:"","allow-create":"",clearable:"","default-first-option":"",placeholder:"选择已有插槽名,或输入新名称创建",style:{width:"100%"},"onUpdate:modelValue":m},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,E=>(e.openBlock(),e.createBlock(e.unref(w.ElOption),{key:E,label:E,value:E},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(G)[E]?`${e.unref(G)[E]}(${E})`:E),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["model-value"])])]))}}),[["__scopeId","data-v-56e42d3f"]]),isContainer:!1,createDefaultProps:()=>({id:"",type:"slot",label:"插槽",bindField:"",slotName:"",slotProps:{},hiddenMode:"none"}),serialize:t=>t},xt={class:"fd-st-design"},St={key:0,class:"fd-st-table-wrap"},Dt={class:"fd-st-table"},It={key:0,class:"fd-st-seq"},Tt={key:0,class:"fd-st-seq"},Lt={key:1,class:"fd-st-cards"},Ft={class:"fd-st-card"},Mt={class:"fd-st-card-label"},Ot={key:0,class:"fd-st-cards-empty"},zt=$(e.defineComponent({__name:"SubtableDesign",props:{node:{}},setup(t){const n=t,o=e.computed(()=>n.node.tablestyle!=="cards");return(l,r)=>(e.openBlock(),e.createElementBlock("div",xt,[o.value?(e.openBlock(),e.createElementBlock("div",St,[e.createElementVNode("table",Dt,[e.createElementVNode("thead",null,[e.createElementVNode("tr",null,[t.node.secondtableindex==="1"?(e.openBlock(),e.createElementBlock("th",It,"序号")):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.node.colnums.filter(s=>s.isshow===1),s=>(e.openBlock(),e.createElementBlock("th",{key:s.name,style:e.normalizeStyle({width:s.showwidth||void 0})},e.toDisplayString(s.showname||s.major||s.name),5))),128))])]),e.createElementVNode("tbody",null,[e.createElementVNode("tr",null,[t.node.secondtableindex==="1"?(e.openBlock(),e.createElementBlock("td",Tt,"1")):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.node.colnums.filter(s=>s.isshow===1),s=>(e.openBlock(),e.createElementBlock("td",{key:s.name,class:e.normalizeClass(["fd-st-cell",{"fd-st-cell--link":!!s.bindLink}])},e.toDisplayString(s.name),3))),128))])])])])):(e.openBlock(),e.createElementBlock("div",Lt,[e.createElementVNode("div",Ft,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.node.colnums.filter(s=>s.isshow===1),s=>(e.openBlock(),e.createElementBlock("div",{key:s.name,class:"fd-st-card-row"},[e.createElementVNode("span",Mt,e.toDisplayString(s.showname||s.major),1),e.createElementVNode("span",{class:e.normalizeClass(["fd-st-card-value",{"fd-st-card-value--link":!!s.bindLink}])},e.toDisplayString(s.name),3)]))),128))]),t.node.colnums.filter(s=>s.isshow===1).length===0?(e.openBlock(),e.createElementBlock("div",Ot," 暂无列配置 ")):e.createCommentVNode("",!0)]))]))}}),[["__scopeId","data-v-aba8caec"]]),Ut=["subtable-key"],jt={key:0,class:"fd-st-table-wrap"},At={class:"fd-st-table"},Rt={key:0,class:"fd-st-seq"},Pt=["subtable-val"],Jt={key:1,class:"fd-st-op"},qt={key:0,class:"fd-st-seq"},Wt=["rowspan","subtable-val"],Ht=["href"],Gt={key:1,class:"fd-st-op"},Yt=["onClick"],Kt={key:0},Qt=["colspan"],Xt={key:1,class:"fd-st-cards"},Zt={class:"fd-st-card-label"},vt=["subtable-val"],en=["href"],tn={key:0,class:"fd-st-card-actions"},nn=["onClick"],on={key:0,class:"fd-st-cards-empty"},ln=$(e.defineComponent({__name:"SubtableRender",props:{node:{},formData:{}},setup(t){const n=t,o=e.computed(()=>n.node.colnums.filter(N=>N.isshow===1)),l=e.computed(()=>n.node.isreadonly==="1"),r=e.computed(()=>{var C;const N=(C=n.formData)==null?void 0:C[n.node.secondtable];return Array.isArray(N)?N:[]}),s=e.computed(()=>!(n.node.nodatahidetable==="1"&&r.value.length===0)),d=e.computed(()=>n.node.tablestyle!=="cards");function i(){if(l.value)return;const N={};o.value.forEach(C=>N[C.name]=""),n.formData&&Array.isArray(n.formData[n.node.secondtable])&&n.formData[n.node.secondtable].push(N)}function a(N){l.value||n.formData&&Array.isArray(n.formData[n.node.secondtable])&&n.formData[n.node.secondtable].splice(N,1)}function m(N,C){const p=N[C];return p==null?"":String(p)}function f(N,C){return N.bindLink?m(C,N.bindLink):""}const k=e.computed(()=>{const N=r.value,C=[],p=[];return o.value.forEach((u,h)=>{C[h]=[],p[h]=[];const S=u.issamecolmerge===1;let F=0;for(let y=0;y<N.length;y++){const g=m(N[y],u.name);S&&y>0&&g===m(N[y-1],u.name)?(p[h][y]=!0,C[h][F]+=1):(p[h][y]=!1,C[h][y]=1,F=y)}}),{spans:C,skipped:p}});function E(N,C){var p;return((p=k.value.skipped[N])==null?void 0:p[C])===!0}function x(N,C){var u;const p=(u=k.value.spans[N])==null?void 0:u[C];return p&&p>1?p:void 0}return(N,C)=>s.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"fd-st-render","subtable-key":t.node.secondtable},[d.value?(e.openBlock(),e.createElementBlock("div",jt,[e.createElementVNode("table",At,[e.createElementVNode("thead",null,[e.createElementVNode("tr",null,[t.node.secondtableindex==="1"?(e.openBlock(),e.createElementBlock("th",Rt,"序号")):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,p=>(e.openBlock(),e.createElementBlock("th",{key:p.name,"subtable-val":p.name,style:e.normalizeStyle({width:p.showwidth||void 0,textAlign:p.align||"left"})},e.toDisplayString(p.showname||p.major||p.name),13,Pt))),128)),l.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("th",Jt,"操作"))])]),e.createElementVNode("tbody",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,(p,u)=>(e.openBlock(),e.createElementBlock("tr",{key:u},[t.node.secondtableindex==="1"?(e.openBlock(),e.createElementBlock("td",qt,e.toDisplayString(u+1),1)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,(h,S)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:h.name},[E(S,u)?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("td",{key:0,rowspan:x(S,u),"subtable-val":h.name,style:e.normalizeStyle({textAlign:h.align||"left",color:h.prospect||void 0,background:h.background||void 0})},[f(h,p)?(e.openBlock(),e.createElementBlock("a",{key:0,class:"fd-st-link",href:f(h,p),target:"_blank",rel:"noopener noreferrer"},e.toDisplayString(m(p,h.name)),9,Ht)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(m(p,h.name)),1)],64))],12,Wt))],64))),128)),l.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("td",Gt,[e.createElementVNode("button",{class:"fd-btn fd-btn--danger",onClick:h=>a(u)},"删除",8,Yt)]))]))),128)),r.value.length===0?(e.openBlock(),e.createElementBlock("tr",Kt,[e.createElementVNode("td",{colspan:o.value.length+(t.node.secondtableindex==="1"?1:0)+(l.value?0:1),class:"fd-st-empty"},e.toDisplayString(t.node.nodatatitle==="1"?"暂无数据":""),9,Qt)])):e.createCommentVNode("",!0)])])])):(e.openBlock(),e.createElementBlock("div",Xt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,(p,u)=>(e.openBlock(),e.createElementBlock("div",{key:u,class:"fd-st-card"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,h=>(e.openBlock(),e.createElementBlock("div",{key:h.name,class:"fd-st-card-row"},[e.createElementVNode("span",Zt,e.toDisplayString(h.showname||h.major||h.name),1),e.createElementVNode("span",{class:"fd-st-card-value","subtable-val":h.name},[f(h,p)?(e.openBlock(),e.createElementBlock("a",{key:0,class:"fd-st-link",href:f(h,p),target:"_blank",rel:"noopener noreferrer"},e.toDisplayString(m(p,h.name)),9,en)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(m(p,h.name)),1)],64))],8,vt)]))),128)),l.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",tn,[e.createElementVNode("button",{class:"fd-btn fd-btn--danger fd-btn--sm",onClick:h=>a(u)},"删除",8,nn)]))]))),128)),r.value.length===0?(e.openBlock(),e.createElementBlock("div",on,e.toDisplayString(t.node.nodatatitle==="1"?"暂无数据":""),1)):e.createCommentVNode("",!0)])),l.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("button",{key:2,class:"fd-btn fd-btn--primary fd-st-add",onClick:i},"新增一行"))],8,Ut)):e.createCommentVNode("",!0)}}),[["__scopeId","data-v-0de9f2b9"]]);function an(t){return t.fields.map((n,o)=>{const l=n.dataType==="file",r=n.dataType==="link";return{name:n.name,isshow:1,major:"",showname:n.label,showwidth:"",background:"",prospect:"",issum:0,index:o+1,align:"",iscompletehide:0,iscompletehidecode:"",issamecolmerge:0,bindLink:r?n.name:"",editmode:{editmode:l?"files":"text",title:l?"文件":"文本"},events:[]}})}const sn={class:"fd-panel"},rn={class:"fd-panel-item"},dn={class:"fd-panel-item fd-panel-item--row"},cn={class:"fd-panel-item fd-panel-item--row"},mn={class:"fd-panel-item"},fn={class:"fd-panel-item"},pn={class:"fd-cols-head"},gn={key:0,class:"fd-cols-empty"},un={class:"fd-col-card-top"},kn={class:"fd-col-order"},bn={class:"fd-col-meta"},hn={class:"fd-col-title"},yn={class:"fd-col-name-sub"},En={class:"fd-col-tag"},Nn={class:"fd-col-card-bottom"},Vn={class:"fd-col-switch"},wn={class:"fd-col-actions"},Bn=["onClick"],Cn=["onClick"],$n={class:"fd-dialog",style:{"max-width":"560px"}},_n={class:"fd-dialog-head"},xn={class:"fd-dialog-body"},Sn={class:"fd-form-section"},Dn={class:"fd-form-grid"},In={class:"fd-form-item"},Tn=["value"],Ln=["value"],Fn={class:"fd-form-item"},Mn=["value"],On={class:"fd-form-item"},zn=["value"],Un={class:"fd-form-item"},jn=["value"],An={class:"fd-form-section"},Rn={class:"fd-form-grid"},Pn={class:"fd-form-item"},Jn=["value"],qn={class:"fd-form-item"},Wn=["value"],Hn={class:"fd-form-item"},Gn={class:"fd-color-row"},Yn=["value"],Kn=["value"],Qn={class:"fd-form-item"},Xn={class:"fd-color-row"},Zn=["value"],vn=["value"],eo={class:"fd-form-section"},to={class:"fd-form-grid"},no={class:"fd-form-item"},oo={class:"fd-form-item"},lo=["value"],ao=$(e.defineComponent({__name:"SubtablePanel",props:{node:{},fields:{}},emits:["update"],setup(t,{emit:n}){const o=t,l=n,r=L(),s=e.computed(()=>r.subTables);function d(y,g){l("update",{[y]:g})}function i(y){const g=y??"",b=r.subTables.find(P=>P.name===g),I={secondtable:g};b&&(I.displaytitle=b.label,I.colnums=an(b)),l("update",I)}const a=e.reactive({open:!1,index:-1,draft:null});function m(y){return JSON.parse(JSON.stringify(y))}function f(y){a.index=y,a.draft=m(o.node.colnums[y]),a.open=!0}function k(){a.open=!1,a.draft=null,a.index=-1}function E(){if(a.draft&&a.index>=0){const y=[...o.node.colnums];y[a.index]=a.draft,l("update",{colnums:y})}k()}function x(y,g){y.isshow=g?1:0,l("update",{colnums:[...o.node.colnums]})}async function N(){const y={name:`col_${Date.now().toString(36)}`,isshow:1,major:"",showname:"新列",showwidth:"",background:"",prospect:"",issum:0,index:o.node.colnums.length+1,align:"",iscompletehide:0,iscompletehidecode:"",issamecolmerge:0,bindLink:"",editmode:{editmode:"text",title:"文本"},events:[]};l("update",{colnums:[...o.node.colnums,y]}),await e.nextTick(),f(o.node.colnums.length-1)}function C(y){const g=o.node.colnums.slice();g.splice(y,1),l("update",{colnums:g})}function p(y){return/^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/.test(y)?y:"#ffffff"}function u(y,g){a.draft&&(a.draft[y]=g.target.value)}const h=e.computed(()=>{var y;return((y=r.subTables.find(g=>g.name===o.node.secondtable))==null?void 0:y.fields)??[]});function S(y){if(!a.draft)return;const g=y.target.value;a.draft.name=g;const b=h.value.find(I=>I.name===g);if(b){a.draft.showname=b.label;const I=b.dataType==="file";a.draft.editmode.editmode=I?"files":"text",a.draft.editmode.title=I?"文件":"文本",a.draft.bindLink=b.dataType==="link"?g:""}}function F(y){d("tablestyle",y||"table")}return(y,g)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",sn,[e.createElementVNode("div",rn,[g[13]||(g[13]=e.createElementVNode("label",null,"选择子表",-1)),e.createVNode(e.unref(w.ElSelect),{"model-value":t.node.secondtable,filterable:"",clearable:"",placeholder:"请选择子表",style:{width:"100%"},"onUpdate:modelValue":i},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,b=>(e.openBlock(),e.createBlock(e.unref(w.ElOption),{key:b.name,label:`${b.label}(${b.name})`,value:b.name},null,8,["label","value"]))),128))]),_:1},8,["model-value"])]),e.createElementVNode("div",dn,[g[14]||(g[14]=e.createElementVNode("label",null,"只读",-1)),e.createVNode(q,{"model-value":t.node.isreadonly==="1","onUpdate:modelValue":g[0]||(g[0]=b=>d("isreadonly",b?"1":"0"))},null,8,["model-value"])]),e.createElementVNode("div",cn,[g[15]||(g[15]=e.createElementVNode("label",null,"序号列",-1)),e.createVNode(q,{"model-value":t.node.secondtableindex==="1","onUpdate:modelValue":g[1]||(g[1]=b=>d("secondtableindex",b?"1":"0"))},null,8,["model-value"])]),e.createElementVNode("div",mn,[g[16]||(g[16]=e.createElementVNode("label",null,"表格样式",-1)),e.createVNode(e.unref(w.ElSelect),{"model-value":t.node.tablestyle||"table",style:{width:"100%"},"onUpdate:modelValue":F},{default:e.withCtx(()=>[e.createVNode(e.unref(w.ElOption),{label:"表格",value:"table"}),e.createVNode(e.unref(w.ElOption),{label:"卡片列表",value:"cards"})]),_:1},8,["model-value"])]),e.createElementVNode("div",fn,[e.createElementVNode("div",pn,[e.createElementVNode("span",null,"列配置("+e.toDisplayString(t.node.colnums.length)+")",1),e.createElementVNode("button",{class:"fd-btn fd-btn--primary fd-btn--sm",onClick:N},"+ 新增列")]),t.node.colnums.length===0?(e.openBlock(),e.createElementBlock("div",gn," 暂无列,点击「新增列」添加 ")):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.node.colnums,(b,I)=>(e.openBlock(),e.createElementBlock("div",{key:b.name,class:"fd-col-card"},[e.createElementVNode("div",un,[e.createElementVNode("span",kn,e.toDisplayString(I+1),1),e.createElementVNode("div",bn,[e.createElementVNode("span",hn,e.toDisplayString(b.showname||"未命名列"),1),e.createElementVNode("span",yn,e.toDisplayString(b.name),1)]),e.createElementVNode("span",En,e.toDisplayString(b.bindLink?"链接":"文本"),1)]),e.createElementVNode("div",Nn,[e.createElementVNode("label",Vn,[g[17]||(g[17]=e.createElementVNode("span",null,"显示",-1)),e.createVNode(q,{"model-value":b.isshow===1,"onUpdate:modelValue":P=>x(b,P)},null,8,["model-value","onUpdate:modelValue"])]),e.createElementVNode("div",wn,[e.createElementVNode("button",{class:"fd-btn fd-btn--ghost fd-btn--sm",onClick:P=>f(I)},"设置",8,Bn),e.createElementVNode("button",{class:"fd-btn fd-btn--danger fd-btn--sm",onClick:P=>C(I)},"删除",8,Cn)])])]))),128))])]),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[a.open&&a.draft?(e.openBlock(),e.createElementBlock("div",{key:0,class:"fd-dialog-mask",onClick:e.withModifiers(k,["self"])},[e.createElementVNode("div",$n,[e.createElementVNode("div",_n,[e.createElementVNode("span",null,"列设置 · "+e.toDisplayString(a.draft.showname||a.draft.name||"新列"),1),e.createElementVNode("button",{class:"fd-dialog-close",onClick:k,title:"关闭"},"×")]),e.createElementVNode("div",xn,[e.createElementVNode("section",Sn,[g[23]||(g[23]=e.createElementVNode("h5",{class:"fd-form-section-h"},"基本信息",-1)),e.createElementVNode("div",Dn,[e.createElementVNode("div",In,[g[19]||(g[19]=e.createElementVNode("label",null,"列字段",-1)),e.createElementVNode("select",{value:a.draft.name,onChange:g[2]||(g[2]=b=>S(b))},[g[18]||(g[18]=e.createElementVNode("option",{value:""},"请选择字段",-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.value,b=>(e.openBlock(),e.createElementBlock("option",{key:b.name,value:b.name},e.toDisplayString(b.label)+"("+e.toDisplayString(b.name)+")",9,Ln))),128))],40,Tn)]),e.createElementVNode("div",Fn,[g[20]||(g[20]=e.createElementVNode("label",null,"显示标题",-1)),e.createElementVNode("input",{value:a.draft.showname,onInput:g[3]||(g[3]=b=>a.draft.showname=b.target.value),placeholder:"如 姓名"},null,40,Mn)]),e.createElementVNode("div",On,[g[21]||(g[21]=e.createElementVNode("label",null,"主表头分组",-1)),e.createElementVNode("input",{value:a.draft.major,onInput:g[4]||(g[4]=b=>a.draft.major=b.target.value),placeholder:"可合并表头分组名"},null,40,zn)]),e.createElementVNode("div",Un,[g[22]||(g[22]=e.createElementVNode("label",null,"列序号",-1)),e.createElementVNode("input",{type:"number",min:"1",value:a.draft.index,onInput:g[5]||(g[5]=b=>a.draft.index=Number(b.target.value))},null,40,jn)])])]),e.createElementVNode("section",An,[g[29]||(g[29]=e.createElementVNode("h5",{class:"fd-form-section-h"},"显示与样式",-1)),e.createElementVNode("div",Rn,[e.createElementVNode("div",Pn,[g[24]||(g[24]=e.createElementVNode("label",null,"列宽",-1)),e.createElementVNode("input",{value:a.draft.showwidth,onInput:g[6]||(g[6]=b=>a.draft.showwidth=b.target.value),placeholder:"如 120px 或 20%"},null,40,Jn)]),e.createElementVNode("div",qn,[g[26]||(g[26]=e.createElementVNode("label",null,"对齐方式",-1)),e.createElementVNode("select",{value:a.draft.align,onChange:g[7]||(g[7]=b=>a.draft.align=b.target.value)},[...g[25]||(g[25]=[e.createElementVNode("option",{value:""},"默认(左)",-1),e.createElementVNode("option",{value:"left"},"左对齐",-1),e.createElementVNode("option",{value:"center"},"居中",-1),e.createElementVNode("option",{value:"right"},"右对齐",-1)])],40,Wn)]),e.createElementVNode("div",Hn,[g[27]||(g[27]=e.createElementVNode("label",null,"背景色",-1)),e.createElementVNode("div",Gn,[e.createElementVNode("input",{type:"color",value:p(a.draft.background),onInput:g[8]||(g[8]=b=>u("background",b))},null,40,Yn),e.createElementVNode("input",{value:a.draft.background,onInput:g[9]||(g[9]=b=>a.draft.background=b.target.value),placeholder:"如 #f5f7fa 或空"},null,40,Kn)])]),e.createElementVNode("div",Qn,[g[28]||(g[28]=e.createElementVNode("label",null,"字体色",-1)),e.createElementVNode("div",Xn,[e.createElementVNode("input",{type:"color",value:p(a.draft.prospect),onInput:g[10]||(g[10]=b=>u("prospect",b))},null,40,Zn),e.createElementVNode("input",{value:a.draft.prospect,onInput:g[11]||(g[11]=b=>a.draft.prospect=b.target.value),placeholder:"如 #f5523a 或空"},null,40,vn)])])])]),e.createElementVNode("section",eo,[g[32]||(g[32]=e.createElementVNode("h5",{class:"fd-form-section-h"},"编辑模式",-1)),e.createElementVNode("div",to,[e.createElementVNode("div",no,[g[30]||(g[30]=e.createElementVNode("label",null,"同内容合并",-1)),e.createVNode(q,{"model-value":a.draft.issamecolmerge===1,"onUpdate:modelValue":g[12]||(g[12]=b=>a.draft.issamecolmerge=b?1:0)},null,8,["model-value"])]),e.createElementVNode("div",oo,[g[31]||(g[31]=e.createElementVNode("label",null,"链接",-1)),e.createElementVNode("input",{value:a.draft.bindLink?`${a.draft.bindLink}(链接字段自动绑定)`:"非链接字段",readonly:""},null,8,lo)])])])]),e.createElementVNode("div",{class:"fd-dialog-foot"},[e.createElementVNode("button",{class:"fd-btn fd-btn--ghost",onClick:k},"取消"),e.createElementVNode("button",{class:"fd-btn fd-btn--primary",onClick:E},"确定")])])])):e.createCommentVNode("",!0)]))],64))}}),[["__scopeId","data-v-e1fd519d"]]);function so(){return[{name:"field1",isshow:1,major:"",showname:"字段一",showwidth:"",background:"",prospect:"",issum:0,index:1,align:"",iscompletehide:0,iscompletehidecode:"",issamecolmerge:0,bindLink:"",editmode:{editmode:"text",title:"文本"},events:[]},{name:"field2",isshow:1,major:"",showname:"字段二",showwidth:"",background:"",prospect:"",issum:0,index:2,align:"",iscompletehide:0,iscompletehidecode:"",issamecolmerge:0,bindLink:"",editmode:{editmode:"text",title:"文本"},events:[]}]}const ro={type:"subtable",title:"子表",design:zt,render:ln,panel:ao,isContainer:!1,createDefaultProps:()=>({id:"",type:"subtable",label:"子表",bindField:"",firsttable:"",secondtable:"",primarytablefiled:"",secondtableprimarykey:"",secondtablerelationfield:"",tabletype:"subtable",displaytitle:"",tablestyle:"table",isreadonly:"1",isnull:"0",issave:"0",secondtableindex:"0",nodatahidetable:"0",nodatatitle:"1",fixedcolumn:0,tablewidth:0,tableheight:0,iscompletehide:"0",iscompletehidecode:"",colnums:so(),events:[]}),serialize:t=>t},io=$(e.defineComponent({__name:"GridDesign",props:{node:{}},setup(t){const n=L();return(o,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["fd-grid-design",{"is-mobile":e.unref(n).device==="mobile"}])},[e.renderSlot(o.$slots,"children",{},void 0,!0)],2))}}),[["__scopeId","data-v-b4d1e09d"]]),K=e.defineComponent({__name:"WidgetHost",props:{node:{},mode:{},formMode:{},formData:{},formId:{}},setup(t){const n=t,o=e.computed(()=>M(n.node.type)),l=e.computed(()=>o.value?n.mode==="design"?o.value.design:o.value.render:null),r=s=>s&&n.formData?n.formData[s]:void 0;return(s,d)=>{var a;const i=e.resolveComponent("WidgetHost",!0);return l.value?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(l.value),e.mergeProps({key:0,node:t.node,value:r(t.node.bindField),"form-data":t.formData},t.mode==="render"?{formMode:t.formMode,formId:t.formId}:null),e.createSlots({_:2},[e.renderList(s.$slots,(m,f)=>({name:f,fn:e.withCtx(k=>[e.renderSlot(s.$slots,f,e.normalizeProps(e.guardReactiveProps(k||{})))])})),(a=o.value)!=null&&a.isContainer&&!s.$slots.children?{name:"children",fn:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.node.children,m=>(e.openBlock(),e.createBlock(i,{key:m.id,node:m,mode:t.mode,"form-mode":t.formMode,"form-data":t.formData,"form-id":t.formId},e.createSlots({_:2},[e.renderList(s.$slots,(f,k)=>({name:k,fn:e.withCtx(E=>[e.renderSlot(s.$slots,k,e.mergeProps({ref_for:!0},E||{}))])}))]),1032,["node","mode","form-mode","form-data","form-id"]))),128))]),key:"0"}:void 0]),1040,["node","value","form-data"])):e.createCommentVNode("",!0)}}}),co=24;function oe(t,n,o,l,r=!1){if(t.type!=="label"||!o.length)return"";const s=r?1:co,d=C=>Math.min(Math.max(C.gridSpan||l||s,1),s),i=[];let a=0,m=0;for(const C of o){const p=d(C);a+p>s&&(a=0,m++);const u=a===0;a+=p;const h=a>=s;i.push({row:m,rowFirst:u,rowLast:h}),a>=s&&(a=0,m++)}const f=i[n];if(!f)return"";const k=i[i.length-1].row,E=f.row===0,x=f.row===k,N=[];return f.rowFirst&&E&&N.push("is-g-corner-tl"),f.rowLast&&E&&N.push("is-g-corner-tr"),f.rowFirst&&x&&N.push("is-g-corner-bl"),f.rowLast&&x&&N.push("is-g-corner-br"),N.join(" ")}const mo=$(e.defineComponent({__name:"GridRender",props:{node:{},formMode:{},formData:{},formId:{}},setup(t){const n=L(),o=e.ref(!1);let l=null;e.onMounted(()=>{l=window.matchMedia("(max-width: 768px)"),o.value=l.matches,l.addEventListener("change",s=>{o.value=s.matches})}),e.onUnmounted(()=>{l&&l.removeEventListener("change",()=>{})});const r=e.computed(()=>n.device==="mobile"||o.value);return(s,d)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["fd-grid-render",{"is-mobile":r.value}])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.node.children,(i,a)=>(e.openBlock(),e.createElementBlock("div",{key:i.id,class:e.normalizeClass(["fd-grid-cell",e.unref(oe)(i,a,t.node.children||[],t.node.layout||24,r.value)]),style:e.normalizeStyle({gridColumn:`span ${i.gridSpan||t.node.layout}`})},[e.createVNode(K,{node:i,mode:"render","form-mode":t.formMode,"form-data":t.formData,"form-id":t.formId},e.createSlots({_:2},[e.renderList(s.$slots,(m,f)=>({name:f,fn:e.withCtx(k=>[e.renderSlot(s.$slots,f,e.mergeProps({ref_for:!0},k||{}),void 0,!0)])}))]),1032,["node","form-mode","form-data","form-id"])],6))),128))],2))}}),[["__scopeId","data-v-417035f9"]]),fo={class:"fd-panel"},po={class:"fd-panel-item"},go=["value"],uo=["value"],ko={class:"fd-panel-item"},bo={type:"grid",title:"栅栏格",design:io,render:mo,panel:$(e.defineComponent({__name:"GridPanel",props:{node:{},fields:{}},emits:["update"],setup(t,{emit:n}){const o=t,l=n,r=[{label:"2列布局",value:24},{label:"4列布局",value:12},{label:"6列布局",value:8},{label:"8列布局",value:6}];function s(){const d=o.node.layout||24,i=(o.node.children??[]).map(a=>({...a,gridSpan:d}));l("update",{children:i})}return(d,i)=>(e.openBlock(),e.createElementBlock("div",fo,[e.createElementVNode("div",po,[i[1]||(i[1]=e.createElementVNode("label",null,"布局",-1)),e.createElementVNode("select",{value:t.node.layout,onChange:i[0]||(i[0]=a=>l("update",{layout:Number(a.target.value)}))},[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(r,a=>e.createElementVNode("option",{key:a.value,value:a.value},e.toDisplayString(a.label),9,uo)),64))],40,go)]),e.createElementVNode("div",ko,[i[2]||(i[2]=e.createElementVNode("label",null,"一键布局",-1)),e.createElementVNode("button",{class:"fd-btn fd-btn--primary fd-btn--sm fd-grid-apply",onClick:s}," 应用到全部子组件(每项占比 "+e.toDisplayString(t.node.layout||24)+"/24) ",1)])]))}}),[["__scopeId","data-v-a333d2ea"]]),isContainer:!0,createDefaultProps:()=>({id:"",type:"grid",label:"栅栏格",bindField:"",layout:8,children:[]}),serialize:t=>t},ho=$(e.defineComponent({__name:"TextDesign",props:{node:{}},setup(t){return(n,o)=>(e.openBlock(),e.createElementBlock("div",{class:"fd-text-design",style:e.normalizeStyle({display:t.node.display})},e.toDisplayString(t.node.text||"文本内容"),5))}}),[["__scopeId","data-v-ba382e6c"]]),yo=$(e.defineComponent({__name:"TextRender",props:{node:{},value:{}},setup(t){const n=t,o=e.computed(()=>{if(!n.node.bindField)return n.node.text;const l=n.value;return l==null?"":String(l)});return(l,r)=>(e.openBlock(),e.createElementBlock("div",{class:"fd-text-render",style:e.normalizeStyle({display:t.node.display})},e.toDisplayString(o.value),5))}}),[["__scopeId","data-v-3ed7b0f0"]]),Eo={class:"fd-panel"},No={class:"fd-panel-item"},Vo=["value"],wo={class:"fd-panel-item"},Bo=["value"],Co=["value"],$o={class:"fd-panel-item"},_o=["value"],xo={type:"text",title:"文本",design:ho,render:yo,panel:$(e.defineComponent({__name:"TextPanel",props:{node:{},fields:{}},emits:["update"],setup(t,{emit:n}){const o=n;return(l,r)=>(e.openBlock(),e.createElementBlock("div",Eo,[e.createElementVNode("div",No,[r[3]||(r[3]=e.createElementVNode("label",null,"文本",-1)),e.createElementVNode("textarea",{rows:"4",value:t.node.text,onInput:r[0]||(r[0]=s=>o("update",{text:s.target.value}))},null,40,Vo)]),e.createElementVNode("div",wo,[r[5]||(r[5]=e.createElementVNode("label",null,"绑定字段",-1)),e.createElementVNode("select",{value:t.node.bindField,onChange:r[1]||(r[1]=s=>o("update",{bindField:s.target.value}))},[r[4]||(r[4]=e.createElementVNode("option",{value:""},"不绑定",-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.fields,s=>(e.openBlock(),e.createElementBlock("option",{key:s.name,value:s.name},e.toDisplayString(s.label)+"("+e.toDisplayString(s.name)+")",9,Co))),128))],40,Bo)]),e.createElementVNode("div",$o,[r[7]||(r[7]=e.createElementVNode("label",null,"对齐方式",-1)),e.createElementVNode("select",{value:t.node.display,onChange:r[2]||(r[2]=s=>o("update",{display:s.target.value}))},[...r[6]||(r[6]=[e.createElementVNode("option",{value:"inline-block"},"对齐",-1),e.createElementVNode("option",{value:"block"},"换行",-1)])],40,_o)])]))}}),[["__scopeId","data-v-3201879c"]]),isContainer:!1,createDefaultProps:()=>({id:"",type:"text",label:"文本",bindField:"",text:"文本内容",display:"inline-block"}),serialize:t=>t};let le=!1;function Q(){le||(le=!0,A(Je),A(ut),A(_t),A(ro),A(bo),A(xo))}Q();const So={baseUrl:"/bpmapi-uat"};let R={},W={},X={};const Do="__BPM_LOGIN_SITE__",Io="RetutnUrl";let ae=!1;const To="api/formdesigner/v1";function Z(t){W={...W,...t}}function Lo(t){R.baseUrl=t}function Fo(t){R.baseUrl=t?t.startsWith("/")?t:`/${t}`:""}function Mo(t){}function Oo(t){R.onUnauthorized=t}function zo(t){R.loginSite=t}function se(){const t=X.loginSite??R.loginSite??W.loginSite;if(t)return t;if(typeof window<"u"){const n=window[Do];if(typeof n=="string"&&n)return n}return""}function re(){if(ae)return!1;const t=se();return!t||typeof window>"u"?!1:(ae=!0,window.location.href=`${t}?${Io}=${encodeURIComponent(window.location.href)}`,!0)}function Uo(){const t=X.onUnauthorized??R.onUnauthorized??W.onUnauthorized;if(t){try{t()}catch{}return}re()}function jo(){return{baseUrl:X.baseUrl??R.baseUrl??W.baseUrl??So.baseUrl}}function z(t,n){const{baseUrl:o}=jo(),l=new URLSearchParams;Object.entries(n??{}).forEach(([s,d])=>{d!=null&&d!==""&&l.append(s,d)});const r=l.toString();return`${o}/${To}/${t}${r?`?${r}`:""}`}class de extends Error{constructor(n,o){super(o),this.status=n,this.name="ApiError"}}function Ao(t){if(!t)return"";try{const n=JSON.parse(t),o=n.error??n.message??n.title??n.detail;if(typeof o=="string"&&o)return o}catch{}return t}async function U(t,n){const o=await fetch(t,{...n,headers:{"Content-Type":"application/json",...(n==null?void 0:n.headers)??{}}}),l=await o.text();if(!o.ok)throw o.status===401&&Uo(),new de(o.status,Ao(l)||`请求失败(${o.status})`);if((o.headers.get("content-type")??"").includes("text/plain"))return l;if(!l)return null;try{return JSON.parse(l)}catch{return l}}function Ro(t){if(t==null)return null;if(typeof t!="string")return t;try{return JSON.parse(t)}catch{return null}}function ie(t){return t==null?{success:!1,message:"无响应"}:typeof t=="string"?{success:t.includes("成功"),message:t}:t}async function Po(t,n){return U(z("opendesigner"),{method:"POST",body:JSON.stringify(t)})}async function Jo(t,n){return U(z("formconfig",{id:t}))}async function qo(t,n,o){return U(z("fieldbinding/allfields",{dbtable:t,formid:n}))}async function Wo(t,n){return ie(await U(z("save"),{method:"POST",body:JSON.stringify(t)}))}async function Ho(t,n){return ie(await U(z("publish"),{method:"POST",body:JSON.stringify(t)}))}async function Go(t,n){return U(z("saveas"),{method:"POST",body:JSON.stringify(t)})}async function Yo(t,n){return U(z("effectcount",{formId:t}))}async function Ko(t,n){return U(z("effectprocesses",{id:t.id,processName:t.processName,page:String(t.page??1),pageSize:String(t.pageSize??10)}))}function Qo(t){return{name:t.name,label:t.label,dataType:t.dataType}}function Xo(t){return{name:t.name,label:t.label,dataType:t.dataType||"string"}}function Zo(t,n){return(t??[]).filter(o=>o.name&&o.name!==n).map(o=>({name:o.name,label:o.name,fields:(o.fields??[]).map(Xo)}))}function vo(t){return Ro(t)}function J(t){return t instanceof de||t instanceof Error?t.message:String(t)}const j=t=>JSON.parse(JSON.stringify(t));function O(t,n){for(const o of t){if(o.id===n)return o;if(o.children){const l=O(o.children,n);if(l)return l}}return null}function ce(t,n){const o=t.findIndex(l=>l.id===n);if(o>=0)return t.splice(o,1),!0;for(const l of t)if(l.children&&ce(l.children,n))return!0;return!1}const L=ye.defineStore("designer",{state:()=>({workFormId:"",originFormId:"",formId:"",formVersion:"",formName:"",dbtable:"",attribute:{},fields:[],subTables:[],widgets:[],selectedId:null,past:[],future:[],draggingId:null,device:"pc",dragOverId:null,dragBefore:!1,dropContainerId:null,selectedForm:!1,events:{lifecycle:{},custom:[]},loading:!1,errorMsg:"",noticeMsg:""}),getters:{selectedNode:t=>t.selectedId?O(t.widgets,t.selectedId):null,canUndo:t=>t.past.length>0,canRedo:t=>t.future.length>0,customEventOptions:t=>t.events.custom,attJson:t=>JSON.stringify({...t.attribute,id:t.attribute.id||t.workFormId})},actions:{commit(){this.past.push(j(this.widgets)),this.past.length>50&&this.past.shift(),this.future=[]},undo(){const t=this.past.pop();t&&(this.future.push(j(this.widgets)),this.widgets=t,this.selectedId&&!O(this.widgets,this.selectedId)&&(this.selectedId=null))},redo(){const t=this.future.pop();t&&(this.past.push(j(this.widgets)),this.widgets=t)},select(t){this.selectedId=t,this.selectedForm=!1},selectForm(){this.selectedId=null,this.selectedForm=!0},setLifecycleHook(t,n){this.events.lifecycle[t]=n},addCustomEvent(){const t=this.events.custom.length+1;this.events.custom.push({name:`event_${t}`,title:`自定义事件${t}`,handler:""})},updateCustomEvent(t,n){const o=this.events.custom[t];o&&Object.assign(o,n)},removeCustomEvent(t){this.events.custom.splice(t,1)},addWidget(t,n,o){var s;const l=Ce(t);this.commit();const r=n?O(this.widgets,n):null;r&&((s=M(r.type))!=null&&s.isContainer)?(r.children=r.children||[],r.type==="grid"&&l.gridSpan==null&&(l.gridSpan=r.layout||24),o==null||o>r.children.length?r.children.push(l):r.children.splice(Math.max(0,o),0,l)):o==null||o>this.widgets.length?this.widgets.push(l):this.widgets.splice(Math.max(0,o),0,l),this.selectedId=l.id},isDescendant(t,n){if(!t.children)return!1;for(const o of t.children)if(o.id===n||this.isDescendant(o,n))return!0;return!1},moveNode(t,n,o){var f;if(t===n)return;const l=O(this.widgets,t);if(!l||n&&this.isDescendant(l,n))return;const r=n?O(this.widgets,n):null,s=k=>{const E=k.findIndex(x=>x.id===t);if(E>=0)return{list:k,index:E};for(const x of k)if(x.children){const N=s(x.children);if(N)return N}return null},d=s(this.widgets);if(!d)return;let i;r&&((f=M(r.type))!=null&&f.isContainer)?(r.children=r.children||[],i=r.children):i=this.widgets,this.commit();let a=o;i===d.list&&d.index<o&&(a=o-1);const[m]=d.list.splice(d.index,1);if(a=Math.max(0,Math.min(a,i.length)),i.splice(a,0,m),r&&r.type==="grid"){const k=r.layout||24;(d.list!==i||m.gridSpan==null)&&(m.gridSpan=k)}else delete m.gridSpan;this.selectedId=m.id},removeWidget(t){this.commit(),ce(this.widgets,t),this.selectedId===t&&(this.selectedId=null)},moveSibling(t,n){const o=i=>{if(i.findIndex(m=>m.id===t)>=0)return i;for(const m of i)if(m.children){const f=o(m.children);if(f)return f}return null},l=o(this.widgets);if(!l)return;const r=l.findIndex(i=>i.id===t),s=r+n;if(s<0||s>=l.length)return;this.commit();const[d]=l.splice(r,1);l.splice(s,0,d)},updateNode(t,n){const o=O(this.widgets,t);o&&(Object.assign(o,n),this.commit())},setDragging(t){this.draggingId=t},setExpanded(t,n){const o=O(this.widgets,t);o&&"expanded"in o&&(o.expanded=n)},dropTo(t){var r;const n=this.draggingId;if(!n||n===t)return;this.commit();const o=s=>{const d=s.findIndex(i=>i.id===n);if(d>=0){const[i]=s.splice(d,1);return i}for(const i of s)if(i.children){const a=o(i.children);if(a)return a}return null},l=o(this.widgets);if(!l){this.draggingId=null;return}if(t){const s=O(this.widgets,t);s&&((r=M(s.type))!=null&&r.isContainer)?(s.children=s.children||[],s.children.push(l)):this.widgets.push(l)}else this.widgets.push(l);this.draggingId=null,this.selectedId=l.id},loadSchema(t){this.formId=t.formId,this.dbtable=t.dbtable,this.fields=t.fields,this.widgets=j(t.widgets),this.events=t.events?j(t.events):{lifecycle:{},custom:[]},this.selectedId=null,this.selectedForm=!1,this.past=[],this.future=[]},importSchema(t){this.widgets=j(t.widgets??[]),this.events=t.events?j(t.events):this.events,this.selectedId=null,this.selectedForm=!1,this.past=[],this.future=[]},toSchema(){return{formId:this.formId,dbtable:this.dbtable,fields:this.fields,widgets:this.widgets,events:j(this.events)}},toSaveJson(){const{formId:t,dbtable:n,widgets:o,events:l}=this.toSchema();return JSON.stringify({formId:t,dbtable:n,widgets:o,events:l})},setFields(t){this.fields=t},setSubTables(t){this.subTables=t},async openForm(t,n="",o=""){this.loading=!0,this.errorMsg="",this.noticeMsg="";try{if(!t){this.errorMsg="缺少表单 ID:请通过 URL 参数 ?id=<GUID> 打开已有表单";return}this.originFormId=t;const l=await Po({openType:o,id:t,formVersion:n});this.workFormId=l.newFormID,this.formId=l.newFormID;const r=await Jo(l.newFormID);this.attribute=r.attribute??{},this.formName=this.attribute.name??"",this.device=r.templateType==="App"?"mobile":"pc";const s=this.attribute.dbtable||"",d=await qo(s,l.newFormID);this.dbtable=s||d.dbtable;const i=this.enrichFields((d.fields??[]).map(Qo));this.setFields(i),this.setSubTables(Zo(d.subtables,this.dbtable));const a=vo(r.json);a&&Array.isArray(a.widgets)?this.loadSchema({...a,formId:l.newFormID,templateType:r.templateType,dbtable:this.dbtable,fields:i,widgets:a.widgets,events:a.events??{lifecycle:{},custom:[]}}):(this.noticeMsg="未能解析表单模板(老设计器 HTML 模板或空模板),已加载为空表单:字段与子表可正常绑定,请手动设计后保存",this.loadSchema({formId:l.newFormID,templateType:r.templateType,dbtable:this.dbtable,fields:i,widgets:[],events:{lifecycle:{},custom:[]}}))}catch(l){this.errorMsg=`加载失败:${J(l)}`}finally{this.loading=!1}},enrichFields(t){const n=this.attribute.settings??{},o=l=>l===!0||l==="true"||l==="1";return t.map(l=>{const r=n[l.name];return r?o(r.isdatetime)?{...l,dataType:"date"}:o(r.ismoney)?{...l,dataType:"money"}:l:l})},async save(){this.errorMsg="";try{return await Wo({id:this.workFormId,name:this.formName,att:this.attJson,json:this.toSaveJson(),formNature:"1",dataObject:this.attribute.isentity==="0"?JSON.stringify({table:""}):void 0})}catch(t){throw this.errorMsg=`保存失败:${J(t)}`,t}},async saveAs(t,n,o="start"){this.errorMsg="";try{return await Go({id:this.workFormId,name:t,code:n,saveSelect:o})}catch(l){throw this.errorMsg=`另存为失败:${J(l)}`,l}},async publish(t=""){this.errorMsg="";try{return await Ho({id:this.workFormId,name:this.formName,att:this.attJson,json:this.toSaveJson(),text:t})}catch(n){throw this.errorMsg=`发布失败:${J(n)}`,n}},async checkPublish(){this.errorMsg="";try{const t=await Yo(this.originFormId);return{needConfirm:t.result||t.count>0,count:t.count}}catch(t){throw this.errorMsg=`发布检查失败:${J(t)}`,t}}}}),me="fd:form:";function el(t,n){localStorage.setItem(me+t,JSON.stringify(n))}function tl(t){const n=localStorage.getItem(me+t);if(!n)return null;try{return JSON.parse(n)}catch{return null}}const nl="fdFireEvent";function fe(t,n={}){if(!(!t||!t.trim()))try{return new Function("ctx",`"use strict";
2
+ ${t}`)(n)}catch(o){console.error("[form-designer] 事件处理函数执行失败:",o);return}}function ol(t){if(!(!t||!t.trim()||typeof document>"u"))try{const n=document.createElement("script");n.text=t,document.head.appendChild(n),n.remove()}catch(n){console.error("[form-designer] 自定义方法挂载失败:",n)}}const ll={class:"fd-renderer"},v=$(e.defineComponent({__name:"Renderer",props:{widgets:{},formMode:{},formData:{},events:{},formId:{}},setup(t,{expose:n}){const o=t,l=e.computed(()=>o.widgets.filter(d=>{var a;const i=(a=M(d.type))==null?void 0:a.visibleModes;return!i||i.length===0?!0:o.formMode?i.includes(o.formMode):!0}));function r(d){var a;const i=(a=o.events)==null?void 0:a.lifecycle[d];fe(i,{formData:o.formData,event:d})}function s(d,i){var m;const a=(m=o.events)==null?void 0:m.custom.find(f=>f.name===d);a&&fe(a.handler,{formData:o.formData,event:d,payload:i})}return e.provide(nl,s),e.onMounted(()=>{var d;r("onLoad"),r("onMounted"),ol((d=o.events)==null?void 0:d.lifecycle.custom)}),e.watch(()=>o.formData,()=>r("onValueChange"),{deep:!0}),n({fireEvent:s,runLifecycle:r}),(d,i)=>(e.openBlock(),e.createElementBlock("div",ll,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,a=>(e.openBlock(),e.createBlock(K,{key:a.id,node:a,mode:"render","form-mode":t.formMode,"form-data":t.formData,"form-id":t.formId},e.createSlots({_:2},[e.renderList(d.$slots,(m,f)=>({name:f,fn:e.withCtx(k=>[e.renderSlot(d.$slots,f,e.mergeProps({ref_for:!0},k||{}),void 0,!0)])}))]),1032,["node","form-mode","form-data","form-id"]))),128))]))}}),[["__scopeId","data-v-82088c12"]]),al={class:"fd-tree"},sl={class:"fd-tree-head"},rl={key:0,class:"fd-tree-count"},dl={key:0,class:"fd-tree-empty"},il={class:"fd-tree-name"},cl=["title"],ml=$(e.defineComponent({__name:"ComponentTree",setup(t){const n=L();function o(d){var f;const i=M(d.type),a=d.label,m=(i==null?void 0:i.title)??d.type;return{id:d.id,label:a?`${m} · ${a}`:m,name:m,sub:a??"",children:(f=d.children)==null?void 0:f.map(o)}}const l=e.computed(()=>n.widgets.map(o)),r=e.computed(()=>{const d=i=>i.reduce((a,m)=>a+1+d(m.children??[]),0);return d(n.widgets)});function s(d){n.select(d.id),e.nextTick(()=>{var i;(i=document.querySelector(".fd-canvas-node.is-selected"))==null||i.scrollIntoView({block:"nearest"})})}return(d,i)=>(e.openBlock(),e.createElementBlock("div",al,[e.createElementVNode("div",sl,[i[0]||(i[0]=e.createStaticVNode('<svg class="fd-tree-head-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" data-v-e38c14ec><rect x="3" y="3" width="7" height="7" rx="1" data-v-e38c14ec></rect><rect x="14" y="3" width="7" height="7" rx="1" data-v-e38c14ec></rect><rect x="3" y="14" width="7" height="7" rx="1" data-v-e38c14ec></rect><rect x="14" y="14" width="7" height="7" rx="1" data-v-e38c14ec></rect></svg><span class="fd-tree-title" data-v-e38c14ec>组件树</span>',2)),r.value?(e.openBlock(),e.createElementBlock("span",rl,e.toDisplayString(r.value),1)):e.createCommentVNode("",!0)]),r.value?(e.openBlock(),e.createBlock(e.unref(w.ElTree),{key:1,class:"fd-tree-el",data:l.value,"node-key":"id","current-node-key":e.unref(n).selectedId||"","highlight-current":"","default-expand-all":"","show-line":"","expand-on-click-node":!1,onNodeClick:s},{default:e.withCtx(({data:a})=>[e.createElementVNode("span",il,e.toDisplayString(a.name),1),a.sub?(e.openBlock(),e.createElementBlock("span",{key:0,class:"fd-tree-sub",title:a.sub},e.toDisplayString(a.sub),9,cl)):e.createCommentVNode("",!0)]),_:1},8,["data","current-node-key"])):(e.openBlock(),e.createElementBlock("div",dl,[...i[1]||(i[1]=[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"},[e.createElementVNode("path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}),e.createElementVNode("polyline",{points:"17 8 12 3 7 8"}),e.createElementVNode("line",{x1:"12",y1:"3",x2:"12",y2:"15"})],-1),e.createElementVNode("span",null,"暂无组件,从左侧拖拽控件到画布",-1)])]))]))}}),[["__scopeId","data-v-e38c14ec"]]);var fl={name:"zh-cn",el:{breadcrumb:{label:"面包屑"},colorpicker:{confirm:"确定",clear:"清空",defaultLabel:"颜色选择器",description:"当前颜色 {color},按 Enter 键选择新颜色",alphaLabel:"选择透明度的值",alphaDescription:"透明度 {alpha}, 当前颜色 {color}",hueLabel:"选择色相值",hueDescription:"色相 {hue}, 当前颜色 {color}",svLabel:"选择饱和度与明度的值",svDescription:"饱和度 {saturation}, 明度 {brightness}, 当前颜色 {color}",predefineDescription:"选择 {value} 作为颜色"},datepicker:{now:"此刻",today:"今天",cancel:"取消",clear:"清空",confirm:"确定",dateTablePrompt:"使用方向键与 Enter 键可选择日期",monthTablePrompt:"使用方向键与 Enter 键可选择月份",quarterTablePrompt:"使用方向键与 Enter 键可选择季度",yearTablePrompt:"使用方向键与 Enter 键可选择年份",selectedDate:"已选日期",selectDate:"选择日期",selectTime:"选择时间",startDate:"开始日期",startTime:"开始时间",endDate:"结束日期",endTime:"结束时间",prevYear:"前一年",nextYear:"后一年",prevMonth:"上个月",nextMonth:"下个月",year:"年",month1:"1 月",month2:"2 月",month3:"3 月",month4:"4 月",month5:"5 月",month6:"6 月",month7:"7 月",month8:"8 月",month9:"9 月",month10:"10 月",month11:"11 月",month12:"12 月",weeks:{sun:"日",mon:"一",tue:"二",wed:"三",thu:"四",fri:"五",sat:"六"},weeksFull:{sun:"星期日",mon:"星期一",tue:"星期二",wed:"星期三",thu:"星期四",fri:"星期五",sat:"星期六"},months:{jan:"一月",feb:"二月",mar:"三月",apr:"四月",may:"五月",jun:"六月",jul:"七月",aug:"八月",sep:"九月",oct:"十月",nov:"十一月",dec:"十二月"}},input:{characters:"{count} / {max} 个字符"},inputNumber:{decrease:"减少数值",increase:"增加数值"},select:{loading:"加载中",noMatch:"无匹配数据",noData:"无数据",placeholder:"请选择"},mention:{loading:"加载中"},dropdown:{toggleDropdown:"切换下拉选项"},cascader:{noMatch:"无匹配数据",loading:"加载中",placeholder:"请选择",noData:"暂无数据"},pagination:{goto:"前往",pagesize:"条/页",total:"共 {total} 条",pageClassifier:"页",page:"页",prev:"上一页",next:"下一页",currentPage:"第 {pager} 页",prevPages:"向前 {pager} 页",nextPages:"向后 {pager} 页",deprecationWarning:"你使用了一些已被废弃的用法,请参考 el-pagination 的官方文档"},dialog:{close:"关闭此对话框"},drawer:{close:"关闭此对话框"},messagebox:{title:"提示",confirm:"确定",cancel:"取消",error:"输入的数据不合法!",close:"关闭此对话框"},upload:{deleteTip:"按 Delete 键可删除",delete:"删除",preview:"查看图片",continue:"继续上传"},slider:{defaultLabel:"滑块介于 {min} 至 {max}",defaultRangeStartLabel:"选择起始值",defaultRangeEndLabel:"选择结束值"},table:{emptyText:"暂无数据",confirmFilter:"筛选",resetFilter:"重置",clearFilter:"全部",sumText:"合计",selectAllLabel:"选择所有行",selectRowLabel:"选择当前行",expandRowLabel:"展开当前行",collapseRowLabel:"收起当前行",sortLabel:"按 {column} 排序",filterLabel:"按 {column} 过滤"},tag:{close:"关闭此标签"},tour:{next:"下一步",previous:"上一步",finish:"结束导览",close:"关闭此对话框"},tree:{emptyText:"暂无数据"},transfer:{noMatch:"无匹配数据",noData:"无数据",titles:["列表 1","列表 2"],filterPlaceholder:"请输入搜索内容",noCheckedFormat:"共 {total} 项",hasCheckedFormat:"已选 {checked}/{total} 项"},image:{error:"加载失败"},pageHeader:{title:"返回"},popconfirm:{confirmButtonText:"确定",cancelButtonText:"取消"},carousel:{leftArrow:"上一张幻灯片",rightArrow:"下一张幻灯片",indicator:"幻灯片切换至索引 {index}"},inputOTP:{groupLabel:"一次性密码输入框",defaultLabel:"请输入第 {index} 位 OTP 字符"}}};const pl={class:"fd-publish-tip"},gl={class:"fd-publish-tip-text"},ul={class:"fd-publish-toolbar"},kl={class:"fd-publish-table-wrap"},bl={class:"fd-publish-table"},hl=["title"],yl=["href","title"],El=["title"],Nl=["title"],Vl={key:1,class:"fd-publish-error"},wl={class:"fd-publish-pager"},Bl=$(e.defineComponent({__name:"PublishConfirmDialog",props:{modelValue:{type:Boolean},formId:{},count:{}},emits:["update:modelValue","confirm"],setup(t,{emit:n}){const o=w.ElLoading.directive,l=t,r=n,s=e.ref(!1),d=e.ref(""),i=e.ref(""),a=e.ref(1),m=e.ref(10),f=e.ref(0),k=e.ref([]);async function E(){if(l.formId){s.value=!0,d.value="";try{const C=await Ko({id:l.formId,processName:i.value,page:a.value,pageSize:m.value});k.value=C.items??[],f.value=C.total??0}catch(C){k.value=[],f.value=0,d.value=J(C)}finally{s.value=!1}}}e.watch(()=>l.modelValue,C=>{C&&(i.value="",a.value=1,E())}),e.watch(i,()=>{a.value=1,E()}),e.watch(a,()=>E());function x(){r("update:modelValue",!1)}function N(){r("confirm")}return(C,p)=>(e.openBlock(),e.createBlock(e.unref(w.ElConfigProvider),{locale:e.unref(fl)},{default:e.withCtx(()=>[e.createVNode(e.unref(w.ElDialog),{"model-value":t.modelValue,title:"发布确认",width:"70rem","close-on-click-modal":!1,"onUpdate:modelValue":p[3]||(p[3]=u=>r("update:modelValue",u))},{footer:e.withCtx(()=>[e.createVNode(e.unref(w.ElButton),{onClick:x},{default:e.withCtx(()=>[...p[9]||(p[9]=[e.createTextVNode("取消",-1)])]),_:1}),e.createVNode(e.unref(w.ElButton),{type:"primary",disabled:s.value,onClick:N},{default:e.withCtx(()=>[...p[10]||(p[10]=[e.createTextVNode("确认发布",-1)])]),_:1},8,["disabled"])]),default:e.withCtx(()=>[e.createElementVNode("div",pl,[p[6]||(p[6]=e.createElementVNode("span",{class:"fd-publish-tip-icon"},"!",-1)),e.createElementVNode("span",gl,[p[4]||(p[4]=e.createTextVNode(" 该表单正在被 ",-1)),e.createElementVNode("b",null,e.toDisplayString(t.count),1),p[5]||(p[5]=e.createTextVNode(" 个流程使用,发布后将影响以下流程,确定发布? ",-1))])]),e.createElementVNode("div",ul,[e.createVNode(e.unref(w.ElInput),{modelValue:i.value,"onUpdate:modelValue":p[0]||(p[0]=u=>i.value=u),placeholder:"输入流程名搜索",clearable:"",class:"fd-publish-search"},null,8,["modelValue"])]),e.withDirectives((e.openBlock(),e.createElementBlock("div",kl,[e.createElementVNode("table",bl,[p[7]||(p[7]=e.createElementVNode("colgroup",null,[e.createElementVNode("col",{style:{width:"24%"}}),e.createElementVNode("col",{style:{width:"40%"}}),e.createElementVNode("col",{style:{width:"36%"}})],-1)),p[8]||(p[8]=e.createElementVNode("thead",null,[e.createElementVNode("tr",null,[e.createElementVNode("th",null,"表单名称"),e.createElementVNode("th",null,"流程模板"),e.createElementVNode("th",null,"模板ID")])],-1)),e.createElementVNode("tbody",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(k.value,u=>(e.openBlock(),e.createElementBlock("tr",{key:u.templateId||u.formId},[e.createElementVNode("td",{title:u.formNameCN||u.formCode},e.toDisplayString(u.formNameCN||u.formCode),9,hl),e.createElementVNode("td",null,[u.templateUrl?(e.openBlock(),e.createElementBlock("a",{key:0,class:"fd-publish-link",href:u.templateUrl,target:"_blank",rel:"noopener noreferrer",title:u.templateName},e.toDisplayString(u.templateName),9,yl)):(e.openBlock(),e.createElementBlock("span",{key:1,title:u.templateName},e.toDisplayString(u.templateName),9,El))]),e.createElementVNode("td",{class:"fd-publish-id",title:u.templateId},e.toDisplayString(u.templateId),9,Nl)]))),128))])]),!k.value.length&&!d.value&&!s.value?(e.openBlock(),e.createBlock(e.unref(w.ElEmpty),{key:0,description:"暂无可用流程模板","image-size":60})):e.createCommentVNode("",!0),!k.value.length&&d.value?(e.openBlock(),e.createElementBlock("div",Vl,e.toDisplayString(d.value),1)):e.createCommentVNode("",!0)])),[[e.unref(o),s.value]]),e.createElementVNode("div",wl,[e.createVNode(e.unref(w.ElPagination),{"current-page":a.value,"onUpdate:currentPage":p[1]||(p[1]=u=>a.value=u),"page-size":m.value,"onUpdate:pageSize":p[2]||(p[2]=u=>m.value=u),total:f.value,"page-sizes":[10,20,50],layout:"total, sizes, prev, pager, next",background:""},null,8,["current-page","page-size","total"])])]),_:1},8,["model-value"])]),_:1},8,["locale"]))}}),[["__scopeId","data-v-6fdc08dc"]]),Cl={class:"fd-toolbar"},$l={class:"fd-toolbar-left flex-align-center"},_l=["value"],xl={class:"fd-device"},Sl={key:0,class:"is-active",title:"移动端比例(由 URL 参数 templateType 决定)"},Dl={key:1,class:"is-active",title:"电脑端比例(由 URL 参数 templateType 决定)"},Il={class:"fd-toolbar-right flex-align-center"},Tl=["disabled"],Ll=["disabled"],Fl={class:"fd-dialog fd-dialog--preview"},Ml={class:"fd-dialog-head"},Ol={class:"fd-preview-width"},zl={class:"fd-dialog-body bg"},Ul={class:"fd-dialog"},jl={class:"fd-dialog-head"},Al=["value"],Rl={class:"fd-dialog"},Pl={class:"fd-dialog-head"},Jl={class:"fd-dialog-body"},ql=$(e.defineComponent({__name:"Toolbar",setup(t){const n=L(),o=e.ref(!1),l=e.ref(!1),r=e.ref(!1),s=e.ref(!1);function d(B,c,V){const D=[e.h("p",{style:"margin:0"},c)];return V&&D.push(e.h("p",{style:"margin:8px 0 0"},V)),w.ElMessageBox.alert(e.h("div",D),B,{confirmButtonText:"知道了"})}const i=e.ref(!1),a=e.ref(0);function m(){const B=new URLSearchParams(window.location.search).get("templateType")||"";return B==="mobile"||B==="2"}const f=e.ref(m()?375:1200);function k(){const B=Number(f.value);f.value=Math.min(1200,Math.max(270,Number.isFinite(B)?B:1200))}e.watch(()=>n.device,B=>{f.value=B==="mobile"?375:1200});const E=e.ref("");function x(){const B=E.value.trim();if(!B){w.ElMessage.warning("请先粘贴表单 JSON");return}let c;try{c=JSON.parse(B)}catch{w.ElMessage.error("JSON 解析失败");return}if(!c||!Array.isArray(c.widgets)){w.ElMessage.error("JSON 格式不正确:缺少 widgets 数组");return}n.importSchema(c),E.value="",s.value=!1}const N=e.computed(()=>JSON.stringify({formId:n.formId,dbtable:n.dbtable,widgets:n.widgets,events:n.events},null,2)),C=e.ref("");let p;function u(B){const c=document.createElement("textarea");c.value=B,c.style.position="fixed",c.style.top="-9999px",c.style.opacity="0",document.body.appendChild(c),c.select();let V=!1;try{V=document.execCommand("copy")}catch{V=!1}finally{document.body.removeChild(c)}return V}async function h(){var c;let B=!1;try{(c=navigator.clipboard)!=null&&c.writeText?(await navigator.clipboard.writeText(N.value),B=!0):B=u(N.value)}catch{B=u(N.value)}C.value=B?"已复制":"复制失败",window.clearTimeout(p),p=window.setTimeout(()=>{C.value=""},1500)}const S=e.computed(()=>{const B={};n.fields.forEach(V=>{B[V.name]=V.name});const c=(V,D)=>(V.forEach(T=>{var he;T.type==="subtable"&&D.push(T),(he=T.children)!=null&&he.length&&c(T.children,D)}),D);return c(n.widgets,[]).forEach(V=>{if(V.type!=="subtable"||!V.secondtable)return;const D={};(V.colnums??[]).forEach(T=>{D[T.name]=T.name,T.bindLink&&(D[T.bindLink]=T.bindLink)}),B[V.secondtable]=[D]}),B});async function F(){if(!n.workFormId){w.ElMessage.warning("尚未打开表单,无法保存");return}if(!n.formName.trim()){w.ElMessage.warning("请先填写表单名称(保存必填)");return}try{const B=await n.save();B.success?(el(n.formId,n.toSchema()),d("保存成功",B.message,`工作表单 ID:${n.workFormId}`)):w.ElMessage.error(`保存失败:${B.message}`)}catch{w.ElMessage.error(n.errorMsg||"保存失败")}}async function y(){var V,D;if(!n.workFormId){w.ElMessage.warning("尚未打开表单,无法另存为");return}const B=(V=window.prompt("新表单名称",`${n.formName||"表单"} 副本`))==null?void 0:V.trim();if(!B)return;const c=(D=window.prompt("新表单编码(如 SG_ZL_YYQHTSP,_M 结尾为移动端模板)",""))==null?void 0:D.trim();if(c)try{const T=await n.saveAs(B,c);T.success?d("另存为成功",T.message,`新表单 ID:${T.newFormID}`):w.ElMessage.error(`另存为失败:${T.message}`)}catch{w.ElMessage.error(n.errorMsg||"另存为失败")}}function g(){location.reload()}async function b(){if(!n.workFormId){w.ElMessage.warning("尚未打开表单,无法发布");return}if(!n.formName.trim()){w.ElMessage.warning("请先填写表单名称(发布必填)");return}try{const{needConfirm:B,count:c}=await n.checkPublish();if(B){a.value=c,i.value=!0;return}await I()}catch{w.ElMessage.error(n.errorMsg||"发布检查失败")}}async function I(){try{const B=await n.publish();B.success?w.ElMessage.success(B.message):w.ElMessage.error(`发布失败:${B.message}`)}catch{w.ElMessage.error(n.errorMsg||"发布失败")}}async function P(){i.value=!1,await I()}const ue=e.ref(null),ke=e.ref(null);function be(B){var V,D;if(!r.value)return;const c=B.target;(V=ue.value)!=null&&V.contains(c)||(D=ke.value)!=null&&D.contains(c)||(r.value=!1)}return e.onMounted(()=>document.addEventListener("click",be)),e.onBeforeUnmount(()=>{document.removeEventListener("click",be),window.clearTimeout(p)}),(B,c)=>(e.openBlock(),e.createElementBlock("div",Cl,[e.createElementVNode("div",$l,[c[18]||(c[18]=e.createElementVNode("span",{class:"fd-toolbar-title"},"表单设计器",-1)),e.createElementVNode("input",{class:"fd-toolbar-name",value:e.unref(n).formName,placeholder:"表单名称(保存必填)",onInput:c[0]||(c[0]=V=>e.unref(n).formName=V.target.value)},null,40,_l),e.createElementVNode("div",xl,[e.unref(n).device==="mobile"?(e.openBlock(),e.createElementBlock("button",Sl,[...c[16]||(c[16]=[e.createElementVNode("svg",{class:"fd-tool-btn-icon",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"},[e.createElementVNode("rect",{x:"5",y:"2",width:"14",height:"20",rx:"2"}),e.createElementVNode("line",{x1:"12",y1:"18",x2:"12.01",y2:"18"})],-1),e.createTextVNode(" 移动端 ",-1)])])):(e.openBlock(),e.createElementBlock("button",Dl,[...c[17]||(c[17]=[e.createElementVNode("svg",{class:"fd-tool-btn-icon",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"},[e.createElementVNode("rect",{x:"2",y:"3",width:"20",height:"14",rx:"2"}),e.createElementVNode("line",{x1:"8",y1:"21",x2:"16",y2:"21"}),e.createElementVNode("line",{x1:"12",y1:"17",x2:"12",y2:"21"})],-1),e.createTextVNode(" 电脑端 ",-1)])]))])]),e.createElementVNode("div",Il,[e.createElementVNode("button",{class:"fd-tool-btn",onClick:c[1]||(c[1]=V=>o.value=!0)},[...c[19]||(c[19]=[e.createElementVNode("svg",{class:"fd-tool-btn-icon",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"},[e.createElementVNode("path",{d:"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"}),e.createElementVNode("circle",{cx:"12",cy:"12",r:"3"})],-1),e.createTextVNode(" 预览 ",-1)])]),e.createElementVNode("button",{class:"fd-tool-btn",onClick:c[2]||(c[2]=V=>l.value=!0)},[...c[20]||(c[20]=[e.createElementVNode("svg",{class:"fd-tool-btn-icon",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"},[e.createElementVNode("polyline",{points:"16 18 22 12 16 6"}),e.createElementVNode("polyline",{points:"8 6 2 12 8 18"})],-1),e.createTextVNode(" 查看代码 ",-1)])]),e.createElementVNode("button",{class:"fd-tool-btn",onClick:c[3]||(c[3]=V=>s.value=!0)},[...c[21]||(c[21]=[e.createElementVNode("svg",{class:"fd-tool-btn-icon",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"},[e.createElementVNode("path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}),e.createElementVNode("polyline",{points:"17 8 12 3 7 8"}),e.createElementVNode("line",{x1:"12",y1:"3",x2:"12",y2:"15"})],-1),e.createTextVNode(" 导入 ",-1)])]),e.createElementVNode("button",{class:"fd-tool-btn",onClick:g},[...c[22]||(c[22]=[e.createElementVNode("svg",{class:"fd-tool-btn-icon",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"},[e.createElementVNode("polyline",{points:"23 4 23 10 17 10"}),e.createElementVNode("path",{d:"M20.49 15a9 9 0 1 1-2.12-9.36L23 10"})],-1),e.createTextVNode(" 加载 ",-1)])]),e.createElementVNode("button",{class:"fd-tool-btn",onClick:F},[...c[23]||(c[23]=[e.createElementVNode("svg",{class:"fd-tool-btn-icon",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"},[e.createElementVNode("path",{d:"M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2z"}),e.createElementVNode("polyline",{points:"17 21 17 13 7 13 7 21"}),e.createElementVNode("polyline",{points:"7 3 7 8 15 8"})],-1),e.createTextVNode(" 保存 ",-1)])]),e.createElementVNode("button",{class:"fd-tool-btn",onClick:y},[...c[24]||(c[24]=[e.createElementVNode("svg",{class:"fd-tool-btn-icon",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"},[e.createElementVNode("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2"}),e.createElementVNode("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})],-1),e.createTextVNode(" 另存为 ",-1)])]),e.createElementVNode("button",{class:"fd-tool-btn fd-tool-btn--primary",onClick:b},[...c[25]||(c[25]=[e.createElementVNode("svg",{class:"fd-tool-btn-icon",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"},[e.createElementVNode("line",{x1:"22",y1:"2",x2:"11",y2:"13"}),e.createElementVNode("polygon",{points:"22 2 15 22 11 13 2 9 22 2"})],-1),e.createTextVNode(" 发布 ",-1)])]),c[29]||(c[29]=e.createElementVNode("span",{class:"fd-toolbar-divider"},null,-1)),e.createElementVNode("button",{class:"fd-tool-btn fd-tool-icon-btn",disabled:!e.unref(n).canUndo,title:"撤销",onClick:c[4]||(c[4]=V=>e.unref(n).undo())},[...c[26]||(c[26]=[e.createElementVNode("svg",{class:"fd-tool-icon",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"},[e.createElementVNode("polyline",{points:"9 14 4 9 9 4"}),e.createElementVNode("path",{d:"M20 20v-7a4 4 0 0 0-4-4H4"})],-1)])],8,Tl),e.createElementVNode("button",{class:"fd-tool-btn fd-tool-icon-btn",disabled:!e.unref(n).canRedo,title:"重做",onClick:c[5]||(c[5]=V=>e.unref(n).redo())},[...c[27]||(c[27]=[e.createElementVNode("svg",{class:"fd-tool-icon",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"},[e.createElementVNode("polyline",{points:"15 14 20 9 15 4"}),e.createElementVNode("path",{d:"M4 20v-7a4 4 0 0 1 4-4h12"})],-1)])],8,Ll),e.createElementVNode("button",{ref_key:"treeBtnRef",ref:ke,class:"fd-tool-btn",onClick:c[6]||(c[6]=V=>r.value=!r.value)},[...c[28]||(c[28]=[e.createStaticVNode('<svg class="fd-tool-btn-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" data-v-da21485c><line x1="8" y1="6" x2="21" y2="6" data-v-da21485c></line><line x1="8" y1="12" x2="21" y2="12" data-v-da21485c></line><line x1="8" y1="18" x2="21" y2="18" data-v-da21485c></line><line x1="3" y1="6" x2="3.01" y2="6" data-v-da21485c></line><line x1="3" y1="12" x2="3.01" y2="12" data-v-da21485c></line><line x1="3" y1="18" x2="3.01" y2="18" data-v-da21485c></line></svg> 组件树 ',2)])],512)]),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[o.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"fd-dialog-mask",onClick:c[9]||(c[9]=e.withModifiers(V=>o.value=!1,["self"]))},[e.createElementVNode("div",Fl,[e.createElementVNode("div",Ml,[c[32]||(c[32]=e.createElementVNode("span",null,"预览",-1)),e.createElementVNode("div",Ol,[c[30]||(c[30]=e.createElementVNode("label",{for:"fd-preview-width-input"},"宽度",-1)),e.createVNode(e.unref(w.ElInputNumber),{id:"fd-preview-width-input",modelValue:f.value,"onUpdate:modelValue":c[7]||(c[7]=V=>f.value=V),min:270,max:1200,step:10,size:"small","controls-position":"right",onChange:k},null,8,["modelValue"]),c[31]||(c[31]=e.createElementVNode("span",{class:"fd-preview-width-unit"},"px",-1))]),e.createElementVNode("button",{class:"fd-tool-btn",onClick:c[8]||(c[8]=V=>o.value=!1)},"关闭")]),e.createElementVNode("div",zl,[e.createElementVNode("div",{class:"fd-preview-stage",style:e.normalizeStyle({width:f.value+"px"})},[e.createVNode(v,{widgets:e.unref(n).widgets,"form-data":S.value},null,8,["widgets","form-data"])],4)])])])):e.createCommentVNode("",!0),l.value?(e.openBlock(),e.createElementBlock("div",{key:1,class:"fd-dialog-mask",onClick:c[11]||(c[11]=e.withModifiers(V=>l.value=!1,["self"]))},[e.createElementVNode("div",Ul,[e.createElementVNode("div",jl,[c[34]||(c[34]=e.createElementVNode("span",null,"JSON Schema",-1)),e.createElementVNode("button",{class:"fd-tool-btn",onClick:h},[c[33]||(c[33]=e.createElementVNode("svg",{class:"fd-tool-btn-icon",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"},[e.createElementVNode("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"}),e.createElementVNode("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})],-1)),e.createTextVNode(" "+e.toDisplayString(C.value||"复制JSON"),1)]),e.createElementVNode("button",{class:"fd-tool-btn",onClick:c[10]||(c[10]=V=>l.value=!1)},"关闭")]),e.createElementVNode("textarea",{class:"fd-dialog-code",value:N.value,readonly:""},null,8,Al)])])):e.createCommentVNode("",!0),s.value?(e.openBlock(),e.createElementBlock("div",{key:2,class:"fd-dialog-mask",onClick:c[14]||(c[14]=e.withModifiers(V=>s.value=!1,["self"]))},[e.createElementVNode("div",Rl,[e.createElementVNode("div",Pl,[c[35]||(c[35]=e.createElementVNode("span",null,"导入(粘贴 JSON)",-1)),e.createElementVNode("button",{class:"fd-tool-btn",onClick:c[12]||(c[12]=V=>s.value=!1)},"取消"),e.createElementVNode("button",{class:"fd-tool-btn fd-tool-btn--primary",onClick:x},"确认")]),e.createElementVNode("div",Jl,[e.withDirectives(e.createElementVNode("textarea",{"onUpdate:modelValue":c[13]||(c[13]=V=>E.value=V),class:"fd-dialog-import-text",placeholder:"请粘贴表单 JSON(可从「查看代码」复制),确认后仅覆盖表单结构,保留业务对象"},null,512),[[e.vModelText,E.value]])])])])):e.createCommentVNode("",!0),r.value?(e.openBlock(),e.createElementBlock("div",{key:3,ref_key:"treeDrawerRef",ref:ue,class:"fd-tree-drawer"},[e.createVNode(ml)],512)):e.createCommentVNode("",!0),e.createVNode(Bl,{modelValue:i.value,"onUpdate:modelValue":c[15]||(c[15]=V=>i.value=V),"form-id":e.unref(n).originFormId,count:a.value,onConfirm:P},null,8,["modelValue","form-id","count"])]))]))}}),[["__scopeId","data-v-da21485c"]]),Wl={class:"fd-palette"},Hl={class:"fd-palette-group-title"},Gl=["onDragstart","onClick"],Yl={class:"fd-palette-icon"},Kl=$(e.defineComponent({__name:"WidgetPalette",setup(t){const n=L(),o=Be(),l=[{title:"基础控件",types:["label","text"]},{title:"高级控件",types:["subtable"]},{title:"布局控件",types:["grid","card","slot"]}],r={grid:"▦",card:"▤",slot:"⧉",label:"T",text:"¶",subtable:"☰"};function s(a){return o.find(m=>m.type===a)}function d(a,m){var f;(f=a.dataTransfer)==null||f.setData("application/x-fd-new",m),a.dataTransfer&&(a.dataTransfer.effectAllowed="copy")}function i(a){n.addWidget(a)}return(a,m)=>(e.openBlock(),e.createElementBlock("div",Wl,[m[0]||(m[0]=e.createElementVNode("div",{class:"fd-palette-title"},"控件库",-1)),(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(l,f=>e.createElementVNode("div",{key:f.title,class:"fd-palette-group"},[e.createElementVNode("div",Hl,e.toDisplayString(f.title),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.types,k=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:k},[s(k)?(e.openBlock(),e.createElementBlock("div",{key:0,class:"fd-palette-item",draggable:"true",onDragstart:E=>d(E,k),onClick:E=>i(k)},[e.createElementVNode("span",Yl,e.toDisplayString(r[k]),1),e.createElementVNode("span",null,e.toDisplayString(s(k).title),1)],40,Gl)):e.createCommentVNode("",!0)],64))),128))])),64))]))}}),[["__scopeId","data-v-6a2bab90"]]),pe=[{key:"onLoad",label:"加载完成",desc:"表单数据就绪后触发"},{key:"onMounted",label:"渲染挂载",desc:"渲染完成并挂载到 DOM 后触发"},{key:"onValueChange",label:"值变化",desc:"任意字段值变化时触发"},{key:"custom",label:"自定义方法",desc:"写入的方法将挂载至全局 window,可在其他事件处理中调用"}],Ql={class:"fd-form-events"},Xl={class:"fd-form-meta"},Zl={class:"fd-events-section"},vl={class:"fd-event-head"},ea=["title"],ta={class:"fd-event-key"},na=["onClick","title"],oa={key:0,class:"fd-event-trigger-text"},la={key:1,class:"fd-event-trigger-placeholder"},aa={class:"fd-dialog",style:{"max-width":"600px"}},sa={class:"fd-dialog-head"},ra={class:"fd-dialog-body"},da=$(e.defineComponent({__name:"FormEventsPanel",setup(t){const n=e.defineAsyncComponent(()=>Promise.resolve().then(()=>xa)),o=L(),l=e.reactive({open:!1,type:"",hookKey:"",index:-1,title:"",draft:""});function r(i){l.open=!0,l.type="lifecycle",l.hookKey=i.key,l.title=`${i.label}(${i.key})`,l.draft=o.events.lifecycle[i.key]??""}function s(){l.type==="lifecycle"&&l.hookKey?o.setLifecycleHook(l.hookKey,l.draft):l.type==="custom"&&l.index>=0&&o.updateCustomEvent(l.index,{handler:l.draft}),l.open=!1}function d(){l.open=!1}return(i,a)=>(e.openBlock(),e.createElementBlock("div",Ql,[a[4]||(a[4]=e.createElementVNode("div",{class:"fd-property-title"},"表单属性",-1)),e.createElementVNode("div",Xl,[e.createElementVNode("span",null,"表单:"+e.toDisplayString(e.unref(o).formId),1),e.createElementVNode("span",null,"主表:"+e.toDisplayString(e.unref(o).dbtable),1)]),e.createElementVNode("section",Zl,[a[2]||(a[2]=e.createElementVNode("h4",{class:"fd-events-h"},"全局事件 · 生命周期",-1)),a[3]||(a[3]=e.createElementVNode("p",{class:"fd-events-tip"},"渲染时绑定至对应钩子函数中执行",-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(pe),m=>(e.openBlock(),e.createElementBlock("div",{key:m.key,class:"fd-event-row"},[e.createElementVNode("div",vl,[e.createElementVNode("label",{title:m.desc},e.toDisplayString(m.label),9,ea),e.createElementVNode("code",ta,e.toDisplayString(m.key),1)]),e.createElementVNode("div",{class:"fd-event-trigger",onClick:f=>r(m),title:e.unref(o).events.lifecycle[m.key]||"点击编写处理函数"},[e.unref(o).events.lifecycle[m.key]?(e.openBlock(),e.createElementBlock("span",oa,e.toDisplayString(e.unref(o).events.lifecycle[m.key]),1)):(e.openBlock(),e.createElementBlock("span",la,"点击编写")),a[1]||(a[1]=e.createElementVNode("span",{class:"fd-event-trigger-arrow"},"›",-1))],8,na)]))),128))]),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[l.open?(e.openBlock(),e.createElementBlock("div",{key:0,class:"fd-dialog-mask",onClick:e.withModifiers(d,["self"])},[e.createElementVNode("div",aa,[e.createElementVNode("div",sa,[e.createElementVNode("span",null,"编写处理函数 - "+e.toDisplayString(l.title),1),e.createElementVNode("button",{class:"fd-dialog-close",onClick:d,title:"关闭"},"×")]),e.createElementVNode("div",ra,[e.createVNode(e.unref(n),{modelValue:l.draft,"onUpdate:modelValue":a[0]||(a[0]=m=>l.draft=m),language:"javascript"},null,8,["modelValue"])]),e.createElementVNode("div",{class:"fd-dialog-foot"},[e.createElementVNode("button",{class:"fd-btn fd-btn--primary",onClick:s},"确定")])])])):e.createCommentVNode("",!0)]))]))}}),[["__scopeId","data-v-7e5a3f15"]]),ia={class:"fd-property"},ca={key:1,class:"fd-property-empty"},ma={key:1,class:"fd-property-item"},fa=["value"],pa={class:"fd-property-foot"},ga={class:"fd-property-type"},ua=$(e.defineComponent({__name:"PropertyPanel",setup(t){const n=L(),o=e.computed(()=>n.selectedNode),l=e.computed(()=>o.value?M(o.value.type):void 0),r=e.computed(()=>{var a;return(a=l.value)==null?void 0:a.panel});function s(a){o.value&&n.updateNode(o.value.id,a)}const d=e.computed(()=>o.value!=null&&o.value.gridSpan!=null);function i(a){if(!o.value)return;const m=Number(a.target.value),f=Math.min(24,Math.max(1,Number.isFinite(m)?Math.round(m):24));n.updateNode(o.value.id,{gridSpan:f})}return(a,m)=>{var f;return e.openBlock(),e.createElementBlock("div",ia,[m[2]||(m[2]=e.createElementVNode("div",{class:"fd-property-title"},"属性",-1)),e.unref(n).selectedForm?(e.openBlock(),e.createBlock(da,{key:0})):o.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[r.value?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(r.value),{key:0,node:o.value,fields:e.unref(n).fields,onUpdate:s},null,40,["node","fields"])):e.createCommentVNode("",!0),d.value?(e.openBlock(),e.createElementBlock("div",ma,[m[1]||(m[1]=e.createElementVNode("label",null,"占比",-1)),e.createElementVNode("input",{type:"number",min:"1",max:"24",value:o.value.gridSpan,onChange:i},null,40,fa)])):e.createCommentVNode("",!0),e.createElementVNode("div",pa,[e.createElementVNode("span",ga,"类型:"+e.toDisplayString((f=l.value)==null?void 0:f.title),1)])],64)):(e.openBlock(),e.createElementBlock("div",ca,[...m[0]||(m[0]=[e.createElementVNode("span",{class:"fd-property-empty-icon"},"⚙",-1),e.createElementVNode("span",null,[e.createTextVNode("请选择左侧控件"),e.createElementVNode("br"),e.createTextVNode("或点击画板空白处设置表单属性")],-1)])]))])}}}),[["__scopeId","data-v-e89617c7"]]),ka={key:0,class:"fd-canvas-dropzone"},ba=$(e.defineComponent({__name:"CanvasNode",props:{node:{},parentId:{},index:{}},setup(t){const n=t,o=L(),l=e.ref(null),r=e.computed(()=>{const p={};return n.node.gridSpan!=null&&(p.gridColumn=`span ${n.node.gridSpan}`),n.node.type==="text"&&(p.display=n.node.display||"inline-block"),Object.keys(p).length?p:void 0}),s=()=>{var p;return(p=M(n.node.type))==null?void 0:p.isContainer};function d(p,u){if(n.node.type!=="grid")return"";const h=n.node.layout||24;return oe(p,u,n.node.children||[],h,o.device==="mobile")}function i(p){const u=p.dataTransfer;return!!u&&(u.types.includes("application/x-fd-new")||u.types.includes("application/x-fd-move"))}function a(){o.select(n.node.id)}function m(p){var u;p.stopPropagation(),o.setDragging(n.node.id),(u=p.dataTransfer)==null||u.setData("application/x-fd-move",n.node.id),p.dataTransfer&&(p.dataTransfer.effectAllowed="move")}function f(){o.dragOverId=null,o.dropContainerId=null,o.dragBefore=!1,o.setDragging(null)}function k(p){p.stopPropagation(),f()}function E(){o.dragOverId===n.node.id&&(o.dragOverId=null),o.dropContainerId===n.node.id&&(o.dropContainerId=null)}function x(p){if(i(p))if(p.preventDefault(),p.stopPropagation(),s())o.dragOverId=null,o.dragBefore=!1,o.dropContainerId=n.node.id;else{o.dropContainerId=null,o.dragOverId=n.node.id;const u=l.value;if(u){const h=u.getBoundingClientRect();o.dragBefore=p.clientY-h.top<h.height/2}}}function N(){E()}function C(p){var S,F,y;if(!i(p))return;p.preventDefault(),p.stopPropagation();const u=(S=p.dataTransfer)==null?void 0:S.getData("application/x-fd-new"),h=(F=p.dataTransfer)==null?void 0:F.getData("application/x-fd-move");if(s())u?o.addWidget(u,n.node.id):h&&o.moveNode(h,n.node.id,((y=n.node.children)==null?void 0:y.length)??0);else{const g=o.dragBefore?n.index:n.index+1;u?o.addWidget(u,n.parentId,g):h&&o.moveNode(h,n.parentId,g)}o.dragOverId=null,o.dragBefore=!1,o.dropContainerId=null}return(p,u)=>{const h=e.resolveComponent("CanvasNode",!0);return e.openBlock(),e.createElementBlock("div",{ref_key:"rootEl",ref:l,class:e.normalizeClass(["fd-canvas-node",[`fd-canvas-node--${t.node.type}`,{"is-selected":e.unref(o).selectedId===t.node.id,"drop-before":e.unref(o).dragOverId===t.node.id&&e.unref(o).dragBefore,"drop-target":e.unref(o).dropContainerId===t.node.id,"dragging-source":e.unref(o).draggingId===t.node.id}]]),style:e.normalizeStyle(r.value),draggable:"true",onMousedown:e.withModifiers(a,["stop"]),onClick:u[4]||(u[4]=e.withModifiers(()=>{},["stop"])),onDragstart:m,onDragend:k,onDragover:x,onDragleave:N,onDrop:C},[e.createElementVNode("div",{class:"fd-canvas-node-actions",onMousedown:u[3]||(u[3]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("span",{class:"fd-node-action",title:"上移",onClick:u[0]||(u[0]=e.withModifiers(S=>e.unref(o).moveSibling(t.node.id,-1),["stop"]))},[...u[5]||(u[5]=[e.createElementVNode("svg",{class:"fd-node-icon",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"},[e.createElementVNode("line",{x1:"12",y1:"20",x2:"12",y2:"5"}),e.createElementVNode("polyline",{points:"6 11 12 5 18 11"})],-1)])]),e.createElementVNode("span",{class:"fd-node-action",title:"下移",onClick:u[1]||(u[1]=e.withModifiers(S=>e.unref(o).moveSibling(t.node.id,1),["stop"]))},[...u[6]||(u[6]=[e.createElementVNode("svg",{class:"fd-node-icon",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"},[e.createElementVNode("line",{x1:"12",y1:"4",x2:"12",y2:"19"}),e.createElementVNode("polyline",{points:"6 13 12 19 18 13"})],-1)])]),e.createElementVNode("span",{class:"fd-node-action delete",title:"删除",onClick:u[2]||(u[2]=e.withModifiers(S=>e.unref(o).removeWidget(t.node.id),["stop"]))},[...u[7]||(u[7]=[e.createStaticVNode('<svg class="fd-node-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" data-v-3f3a43d3><path d="M4 7h16" data-v-3f3a43d3></path><path d="M9 7V5.5a1.5 1.5 0 0 1 1.5-1.5h3A1.5 1.5 0 0 1 15 5.5V7" data-v-3f3a43d3></path><path d="M6.5 7l1 12.5h9l1-12.5" data-v-3f3a43d3></path><line x1="10" y1="11" x2="10" y2="16.5" data-v-3f3a43d3></line><line x1="14" y1="11" x2="14" y2="16.5" data-v-3f3a43d3></line></svg>',1)])])],32),e.createVNode(K,{node:t.node,mode:"design"},e.createSlots({_:2},[s()&&t.node.children?{name:"children",fn:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.node.children,(S,F)=>(e.openBlock(),e.createBlock(h,{key:S.id,node:S,"parent-id":t.node.id,index:F,class:e.normalizeClass(d(S,F))},null,8,["node","parent-id","index","class"]))),128)),!t.node.children||t.node.children.length===0?(e.openBlock(),e.createElementBlock("div",ka,"拖拽控件到此容器")):e.createCommentVNode("",!0)]),key:"0"}:void 0]),1032,["node"])],38)}}}),[["__scopeId","data-v-3f3a43d3"]]),ha={class:"fd-designer"},ya={class:"fd-designer-body"},Ea={class:"fd-designer-left"},Na={key:0,class:"fd-canvas-notice"},Va={key:1,class:"fd-canvas-state"},wa={key:2,class:"fd-canvas-state fd-canvas-state--error"},Ba={key:0,class:"fd-canvas-empty"},Ca={class:"fd-designer-right"},ge=$(e.defineComponent({__name:"Designer",props:{formId:{}},setup(t){const n=t,o=L();e.onMounted(async()=>{const r=new URLSearchParams(window.location.search),s=r.get("baseUrl");s&&Lo(s);const d=n.formId||r.get("id")||"",i=r.get("formVersion")||r.get("FormVersion")||"",a=r.get("openType")||r.get("OpenType")||"";await o.openForm(d,i,a)});function l(r){var i,a;r.preventDefault();const s=(i=r.dataTransfer)==null?void 0:i.getData("application/x-fd-new"),d=(a=r.dataTransfer)==null?void 0:a.getData("application/x-fd-move");s?o.addWidget(s,null,o.widgets.length):d&&o.moveNode(d,null,o.widgets.length)}return(r,s)=>(e.openBlock(),e.createElementBlock("div",ha,[e.createVNode(ql),e.createElementVNode("div",ya,[e.createElementVNode("aside",Ea,[e.createVNode(Kl)]),e.createElementVNode("main",{class:"fd-designer-center",onDragover:s[1]||(s[1]=e.withModifiers(()=>{},["prevent"])),onDrop:l},[e.unref(o).noticeMsg?(e.openBlock(),e.createElementBlock("div",Na,e.toDisplayString(e.unref(o).noticeMsg),1)):e.createCommentVNode("",!0),e.unref(o).loading?(e.openBlock(),e.createElementBlock("div",Va,"正在加载表单…")):e.unref(o).errorMsg?(e.openBlock(),e.createElementBlock("div",wa,e.toDisplayString(e.unref(o).errorMsg),1)):(e.openBlock(),e.createElementBlock("div",{key:3,class:e.normalizeClass(["fd-canvas",{"is-mobile":e.unref(o).device==="mobile","is-selected":e.unref(o).selectedForm}]),onClick:s[0]||(s[0]=d=>e.unref(o).selectForm())},[e.unref(o).widgets.length===0?(e.openBlock(),e.createElementBlock("div",Ba,[...s[2]||(s[2]=[e.createElementVNode("span",{class:"fd-canvas-empty-icon"},"▦",-1),e.createElementVNode("span",null,"从左侧拖拽控件到此处",-1)])])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(o).widgets,(d,i)=>(e.openBlock(),e.createBlock(ba,{key:d.id,node:d,"parent-id":null,index:i},null,8,["node","index"]))),128))],2))],32),e.createElementVNode("aside",Ca,[e.createVNode(ua)])])]))}}),[["__scopeId","data-v-86f01272"]]);function $a(t){Q(),t.baseUrl&&Z({baseUrl:t.baseUrl});let n=null;const o={render:()=>e.h(v,{widgets:t.widgets,formMode:t.formMode,formData:t.formData,events:t.events,formId:t.formId,ref:r=>{n=r}})},l=e.createApp(o);return l.mount(t.container),{fireEvent:(r,s)=>{var d;return(d=n==null?void 0:n.fireEvent)==null?void 0:d.call(n,r,s)},unmount:()=>l.unmount()}}const _a={install(t,n={}){Q();const o={};n.baseUrl&&(o.baseUrl=n.baseUrl),n.loginSite&&(o.loginSite=n.loginSite),n.onUnauthorized&&(o.onUnauthorized=n.onUnauthorized),Object.keys(o).length&&Z(o),t.component("FdDesigner",ge)}},xa=Object.freeze(Object.defineProperty({__proto__:null,default:$(e.defineComponent({__name:"CodeEditor",props:{modelValue:{default:""},language:{default:"javascript"}},emits:["update:modelValue"],setup(t,{emit:n}){const o=t,l=n,r=e.ref(null);let s=null;return e.onMounted(()=>{r.value&&(Ve.javascriptDefaults.setDiagnosticsOptions({noSemanticValidation:!0,noSyntaxValidation:!1}),s=ee.editor.create(r.value,{value:o.modelValue,language:o.language,theme:"vs-dark",automaticLayout:!0,fontSize:14,tabSize:2,minimap:{enabled:!1},scrollBeyondLastLine:!1,fontFamily:"'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace",scrollbar:{verticalScrollbarSize:8,horizontalScrollbarSize:8}}),s.onDidChangeModelContent(()=>{l("update:modelValue",(s==null?void 0:s.getValue())??"")}))}),e.watch(()=>o.modelValue,d=>{s&&d!==s.getValue()&&s.setValue(d??"")}),e.watch(()=>o.language,d=>{const i=s==null?void 0:s.getModel();i&&ee.editor.setModelLanguage(i,d)}),e.onBeforeUnmount(()=>{s==null||s.dispose(),s=null}),(d,i)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"container",ref:r,class:"fd-code-editor"},null,512))}}),[["__scopeId","data-v-aeb9c1ee"]])},Symbol.toStringTag,{value:"Module"}));_.Designer=ge,_.LIFECYCLE_HOOKS=pe,_.Renderer=v,_.configureApi=Z,_.default=_a,_.loadFormFromLocal=tl,_.redirectToLogin=re,_.registerComponent=A,_.renderForm=$a,_.resolveLoginSite=se,_.setApiModule=Mo,_.setBaseModule=Fo,_.setLoginSite=zo,_.setUnauthorizedHandler=Oo,Object.defineProperties(_,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));