form-design-v3 1.0.0 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{CodeEditor-B7PzbdP9.js → CodeEditor-CJeYvarM.js} +1 -2
- package/form-design-v3.css +1 -0
- package/form-design-v3.es.js +13 -0
- package/form-design-v3.umd.cjs +4 -0
- package/index-BNitnTdB.js +3578 -0
- package/index.d.ts +83 -19
- package/package.json +2 -2
- package/CodeEditor-B7PzbdP9.js.map +0 -1
- package/CodeEditor-d-AMHZfA.js +0 -56
- package/CodeEditor-d-AMHZfA.js.map +0 -1
- package/form-designer.css +0 -1
- package/index-DCHlgXXr.js +0 -3033
- package/index-DCHlgXXr.js.map +0 -1
- package/index-oUADtA5r.js +0 -3016
- package/index-oUADtA5r.js.map +0 -1
- package/mt-form-designer.es.js +0 -12
- package/mt-form-designer.es.js.map +0 -1
- package/mt-form-designer.umd.cjs +0 -5
- package/mt-form-designer.umd.cjs.map +0 -1
package/mt-form-designer.es.js
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { D as a, L as r, c as o, a as t, r as d, b as i, s as n, d as p } from "./index-DCHlgXXr.js";
|
|
2
|
-
export {
|
|
3
|
-
a as Designer,
|
|
4
|
-
r as LIFECYCLE_HOOKS,
|
|
5
|
-
o as configureApi,
|
|
6
|
-
t as default,
|
|
7
|
-
d as registerComponent,
|
|
8
|
-
i as renderForm,
|
|
9
|
-
n as setApiModule,
|
|
10
|
-
p as setBaseModule
|
|
11
|
-
};
|
|
12
|
-
//# sourceMappingURL=mt-form-designer.es.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mt-form-designer.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
package/mt-form-designer.umd.cjs
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
(function(w,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/tree/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/tree/style/css","monaco-editor","monaco-editor/language/typescript/monaco.contribution"],e):(w=typeof globalThis<"u"?globalThis:w||self,e(w.MTFormDesigner={},w.Vue,w.Pinia,w.ElementPlus,null,w.LucideVueNext,null,null,w.monaco,w.monaco))})(this,(function(w,e,ie,$,Al,se,Rl,Ul,re,ce){"use strict";function me(t){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const n in t)if(n!=="default"){const d=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(o,n,d.get?d:{enumerable:!0,get:()=>t[n]})}}return o.default=t,Object.freeze(o)}const Y=me(re),q=new Map;function F(t){q.set(t.type,t)}function T(t){return q.get(t)}function pe(){return Array.from(q.values())}function fe(t){const o=T(t);if(!o)throw new Error(`未注册的控件类型: ${t}`);return{...o.createDefaultProps(),id:`${t}_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,7)}`}}const be={class:"fd-label-name"},ge=e.defineComponent({__name:"LabelDesign",props:{node:{}},setup(t){const o=S();return(n,d)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["fd-label-design",{"is-mobile":e.unref(o).device==="mobile"}])},[e.createElementVNode("span",be,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.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))}}),N=(t,o)=>{const n=t.__vccOpts||t;for(const[d,i]of o)n[d]=i;return n},ye=N(ge,[["__scopeId","data-v-b6dcc499"]]),ke={class:"fd-label-name"},he=["data-key"],ue=["href"],_e=N(e.defineComponent({__name:"LabelRender",props:{node:{},value:{},formData:{}},setup(t){const o=t,n=e.computed(()=>!!o.node.bindLink),d=e.computed(()=>{var b;const p=o.node.bindLink?(b=o.formData)==null?void 0:b[o.node.bindLink]:void 0;return p==null?"":String(p)}),i=e.computed(()=>o.value!==void 0&&o.value!==null&&o.value!==""?String(o.value):d.value?d.value:""),a=S(),l=e.ref(!1);let s=null;e.onMounted(()=>{s=window.matchMedia("(max-width: 768px)"),l.value=s.matches,s.addEventListener("change",p=>{l.value=p.matches})}),e.onUnmounted(()=>{s&&s.removeEventListener("change",()=>{})});const m=e.computed(()=>a.device==="mobile"||l.value);return(p,b)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["fd-label-render",{"is-mobile":m.value}])},[e.createElementVNode("span",ke,e.toDisplayString(t.node.label||"标题"),1),e.createElementVNode("span",{class:e.normalizeClass(["fd-label-value",{"fd-label-value--link":n.value}]),"data-key":t.node.bindField,style:e.normalizeStyle(t.node.color?{color:t.node.color}:void 0)},[d.value?(e.openBlock(),e.createElementBlock("a",{key:0,class:"fd-label-link",href:d.value,target:"_blank",rel:"noopener noreferrer"},e.toDisplayString(i.value),9,ue)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(i.value),1)],64))],14,he)],2))}}),[["__scopeId","data-v-7fe92042"]]),Ee={class:"fd-panel"},Ne={class:"fd-panel-item"},Ve=["value"],we={class:"fd-panel-item"},Be={class:"fd-panel-item"},xe={class:"fd-panel-item"},Ce={class:"fd-color-row"},$e=["value"],Se=["value"],Te="#344054",De={type:"label",title:"Label 文本",design:ye,render:_e,panel:N(e.defineComponent({__name:"LabelPanel",props:{node:{},fields:{}},emits:["update"],setup(t,{emit:o}){const n=t,d=o,i=e.computed(()=>n.fields.filter(p=>p.dataType==="link"));function a(p){return p&&/^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/.test(p)?p:Te}function l(p){d("update",{color:p.target.value})}const s=p=>{d("update",{bindField:p??""})},m=p=>{d("update",{bindLink:p??""})};return(p,b)=>(e.openBlock(),e.createElementBlock("div",Ee,[e.createElementVNode("div",Ne,[b[2]||(b[2]=e.createElementVNode("label",null,"标题",-1)),e.createElementVNode("input",{value:t.node.label,onInput:b[0]||(b[0]=h=>d("update",{label:h.target.value}))},null,40,Ve)]),e.createElementVNode("div",we,[b[3]||(b[3]=e.createElementVNode("label",null,"绑定字段",-1)),e.createVNode(e.unref($.ElSelect),{"model-value":t.node.bindField,filterable:"",clearable:"",placeholder:"搜索并选择字段",style:{width:"100%"},"onUpdate:modelValue":s},{default:e.withCtx(()=>[e.createVNode(e.unref($.ElOption),{label:"不绑定",value:""}),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.fields,h=>(e.openBlock(),e.createBlock(e.unref($.ElOption),{key:h.name,label:`${h.label}(${h.name})`,value:h.name},null,8,["label","value"]))),128))]),_:1},8,["model-value"])]),e.createElementVNode("div",Be,[b[4]||(b[4]=e.createElementVNode("label",null,"绑定链接",-1)),e.createVNode(e.unref($.ElSelect),{"model-value":t.node.bindLink,filterable:"",clearable:"",placeholder:"搜索并选择链接字段",style:{width:"100%"},"onUpdate:modelValue":m},{default:e.withCtx(()=>[e.createVNode(e.unref($.ElOption),{label:"不绑定",value:""}),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,h=>(e.openBlock(),e.createBlock(e.unref($.ElOption),{key:h.name,label:`${h.label}(${h.name})`,value:h.name},null,8,["label","value"]))),128))]),_:1},8,["model-value"])]),e.createElementVNode("div",xe,[b[5]||(b[5]=e.createElementVNode("label",null,"字体颜色",-1)),e.createElementVNode("div",Ce,[e.createElementVNode("input",{type:"color",value:a(t.node.color),onInput:l},null,40,$e),e.createElementVNode("input",{type:"text",value:t.node.color,onInput:b[1]||(b[1]=h=>d("update",{color:h.target.value})),placeholder:"默认 #344054"},null,40,Se)])])]))}}),[["__scopeId","data-v-a5d99c1e"]]),isContainer:!1,createDefaultProps:()=>({id:"",type:"label",label:"Label 文本",bindField:"",bindLink:"",color:"#344054"}),serialize:t=>t},j=e.defineComponent({__name:"LucideIcon",props:{name:{},size:{default:18},strokeWidth:{default:2}},setup(t){const o=t,n=e.computed(()=>o.name&&se.icons[o.name]||null);return(d,i)=>n.value?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.value),{key:0,size:t.size,"stroke-width":t.strokeWidth},null,8,["size","stroke-width"])):e.createCommentVNode("",!0)}}),Fe={class:"fd-card-design"},Le={class:"fd-card-head"},Ie={class:"fd-card-title"},Me=["title"],je={class:"fd-card-body"},Pe=N(e.defineComponent({__name:"CardDesign",props:{node:{}},setup(t){const o=t,n=S();function d(){n.setExpanded(o.node.id,!o.node.expanded)}return(i,a)=>(e.openBlock(),e.createElementBlock("div",Fe,[e.createElementVNode("div",Le,[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(j,{name:t.node.icon,size:18},null,8,["name"])],4)):e.createCommentVNode("",!0),e.createElementVNode("span",Ie,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(d,["stop"])},[...a[0]||(a[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,Me)]),e.withDirectives(e.createElementVNode("div",je,[e.renderSlot(i.$slots,"children",{},()=>[a[1]||(a[1]=e.createElementVNode("div",{class:"fd-card-empty"},"拖拽子控件到此处",-1))],!0)],512),[[e.vShow,t.node.expanded]])]))}}),[["__scopeId","data-v-6a46ee95"]]);function H(t,o){if(!t||t==="none")return!1;const n=Number(o);return t==="start"?n===10:t==="not-start"?n!==10:t==="not-approval"?n!==20:!1}const ze={key:0,class:"fd-card-render"},Oe={class:"fd-card-title"},qe={class:"fd-card-body"},Ae=N(e.defineComponent({__name:"CardRender",props:{node:{},formData:{}},setup(t){const o=t,n=e.ref(o.node.expanded);return(d,i)=>{var a;return e.unref(H)(t.node.hiddenMode,(a=t.formData)==null?void 0:a.status)?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",ze,[e.createElementVNode("div",{class:"fd-card-head",onClick:i[0]||(i[0]=l=>n.value=!n.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(j,{name:t.node.icon,size:18},null,8,["name"])],4)):e.createCommentVNode("",!0),e.createElementVNode("span",Oe,e.toDisplayString(t.node.label||"卡片标题"),1),e.createElementVNode("span",{class:e.normalizeClass(["fd-card-arrow",{"is-open":n.value}])},[...i[1]||(i[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",qe,[e.renderSlot(d.$slots,"children",{},void 0,!0)],512),[[e.vShow,n.value]])]))}}}),[["__scopeId","data-v-bc2f6273"]]),Re=["disabled","aria-checked"],M=N(e.defineComponent({__name:"FdSwitch",props:{modelValue:{type:Boolean},disabled:{type:Boolean}},emits:["update:modelValue"],setup(t,{emit:o}){const n=o;return(d,i)=>(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:i[0]||(i[0]=a=>n("update:modelValue",!t.modelValue))},[...i[1]||(i[1]=[e.createElementVNode("span",{class:"fd-switch-dot"},null,-1)])],10,Re))}}),[["__scopeId","data-v-eac909bd"]]),Ue=["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"],Ye={class:"fd-panel"},He={class:"fd-panel-item"},We=["value"],Ge={class:"fd-panel-item"},Je={class:"fd-icon-picker"},Qe={key:1,class:"fd-icon-placeholder"},Ze={class:"fd-icon-grid"},Ke=["title","onClick"],Xe={class:"fd-panel-item"},ve=["value"],et={class:"fd-panel-item fd-panel-item--row"},tt={class:"fd-panel-item"},nt=["value"],ot={class:"fd-panel-item"},lt=["value"],at={type:"card",title:"卡片容器",design:Pe,render:Ae,panel:N(e.defineComponent({__name:"CardPanel",props:{node:{},fields:{}},emits:["update"],setup(t,{emit:o}){const n=o,d=e.ref(!1);function i(a){n("update",{icon:a}),d.value=!1}return(a,l)=>(e.openBlock(),e.createElementBlock("div",Ye,[e.createElementVNode("div",He,[l[8]||(l[8]=e.createElementVNode("label",null,"标题",-1)),e.createElementVNode("input",{value:t.node.label,onInput:l[0]||(l[0]=s=>n("update",{label:s.target.value}))},null,40,We)]),e.createElementVNode("div",Ge,[l[11]||(l[11]=e.createElementVNode("label",null,"图标",-1)),e.createElementVNode("div",Je,[e.createElementVNode("button",{type:"button",class:"fd-icon-trigger",onClick:l[1]||(l[1]=s=>d.value=!d.value)},[t.node.icon?(e.openBlock(),e.createBlock(j,{key:0,name:t.node.icon,size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",Qe,"无图标")),l[9]||(l[9]=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))]),d.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"fd-icon-popover",onClick:l[3]||(l[3]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("div",Ze,[e.createElementVNode("button",{type:"button",class:e.normalizeClass(["fd-icon-option",{active:!t.node.icon}]),title:"无图标",onClick:l[2]||(l[2]=s=>i(""))},[...l[10]||(l[10]=[e.createElementVNode("span",{class:"fd-icon-none"},"无",-1)])],2),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(Ue),s=>(e.openBlock(),e.createElementBlock("button",{key:s,type:"button",class:e.normalizeClass(["fd-icon-option",{active:t.node.icon===s}]),title:s,onClick:m=>i(s)},[e.createVNode(j,{name:s,size:18},null,8,["name"])],10,Ke))),128))])])):e.createCommentVNode("",!0)])]),e.createElementVNode("div",Xe,[l[12]||(l[12]=e.createElementVNode("label",null,"图标底色",-1)),e.createElementVNode("input",{value:t.node.iconBgColor,onInput:l[4]||(l[4]=s=>n("update",{iconBgColor:s.target.value}))},null,40,ve)]),e.createElementVNode("div",et,[l[13]||(l[13]=e.createElementVNode("label",null,"初始展开",-1)),e.createVNode(M,{"model-value":t.node.expanded,"onUpdate:modelValue":l[5]||(l[5]=s=>n("update",{expanded:s}))},null,8,["model-value"])]),e.createElementVNode("div",tt,[l[14]||(l[14]=e.createElementVNode("label",null,"宽度",-1)),e.createElementVNode("input",{value:t.node.width,onInput:l[6]||(l[6]=s=>n("update",{width:s.target.value}))},null,40,nt)]),e.createElementVNode("div",ot,[l[16]||(l[16]=e.createElementVNode("label",null,"是否隐藏",-1)),e.createElementVNode("select",{value:t.node.hiddenMode||"none",onChange:l[7]||(l[7]=s=>n("update",{hiddenMode:s.target.value}))},[...l[15]||(l[15]=[e.createElementVNode("option",{value:"none"},"不隐藏",-1),e.createElementVNode("option",{value:"start"},"发起时隐藏",-1),e.createElementVNode("option",{value:"not-start"},"非发起时隐藏",-1),e.createElementVNode("option",{value:"not-approval"},"非审批时隐藏",-1)])],40,lt)])]))}}),[["__scopeId","data-v-4585a5b8"]]),isContainer:!0,createDefaultProps:()=>({id:"",type:"card",label:"卡片标题",bindField:"",icon:"",iconBgColor:"",expanded:!0,width:"",hiddenMode:"none",children:[]}),serialize:t=>t},dt={class:"fd-slot-design"},it={class:"fd-slot-name"},st={class:"fd-slot-hint"},rt=N(e.defineComponent({__name:"SlotDesign",props:{node:{}},setup(t){return(o,n)=>(e.openBlock(),e.createElementBlock("div",dt,[n[0]||(n[0]=e.createElementVNode("span",{class:"fd-slot-tag"},"插槽",-1)),e.createElementVNode("span",it,e.toDisplayString(t.node.slotName||"未命名插槽"),1),e.createElementVNode("span",st,"宿主注入:"+e.toDisplayString(t.node.slotName),1)]))}}),[["__scopeId","data-v-d3fbc11d"]]),ct={key:0,class:"fd-slot-render"},mt={class:"fd-slot-missing"},pt=N(e.defineComponent({__name:"SlotRender",props:{node:{},mode:{},formId:{},formData:{}},setup(t){return(o,n)=>{var d;return e.unref(H)(t.node.hiddenMode,(d=t.formData)==null?void 0:d.status)?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",ct,[e.renderSlot(o.$slots,t.node.slotName,{node:t.node,formData:t.formData,mode:t.mode,formId:t.formId},()=>[e.createElementVNode("div",mt,"未注入插槽:"+e.toDisplayString(t.node.slotName),1)],!0)]))}}}),[["__scopeId","data-v-10795159"]]),ft={class:"fd-panel"},bt={class:"fd-panel-item"},gt=["value"],yt={class:"fd-panel-item"},kt=["value"],ht={class:"fd-panel-item"},ut=["value"],_t={type:"slot",title:"插槽",design:rt,render:pt,panel:N(e.defineComponent({__name:"SlotPanel",props:{node:{},fields:{}},emits:["update"],setup(t,{emit:o}){const n=o;return(d,i)=>(e.openBlock(),e.createElementBlock("div",ft,[e.createElementVNode("div",bt,[i[3]||(i[3]=e.createElementVNode("label",null,"标题",-1)),e.createElementVNode("input",{value:t.node.label,onInput:i[0]||(i[0]=a=>n("update",{label:a.target.value}))},null,40,gt)]),e.createElementVNode("div",yt,[i[4]||(i[4]=e.createElementVNode("label",null,"插槽名",-1)),e.createElementVNode("input",{value:t.node.slotName,placeholder:"如 header / basic-info",onInput:i[1]||(i[1]=a=>n("update",{slotName:a.target.value}))},null,40,kt)]),e.createElementVNode("div",ht,[i[6]||(i[6]=e.createElementVNode("label",null,"是否隐藏",-1)),e.createElementVNode("select",{value:t.node.hiddenMode||"none",onChange:i[2]||(i[2]=a=>n("update",{hiddenMode:a.target.value}))},[...i[5]||(i[5]=[e.createElementVNode("option",{value:"none"},"不隐藏",-1),e.createElementVNode("option",{value:"start"},"发起时隐藏",-1),e.createElementVNode("option",{value:"not-start"},"非发起时隐藏",-1),e.createElementVNode("option",{value:"not-approval"},"非审批时隐藏",-1)])],40,ut)])]))}}),[["__scopeId","data-v-4c380320"]]),isContainer:!1,createDefaultProps:()=>({id:"",type:"slot",label:"插槽",bindField:"",slotName:"",slotProps:{},hiddenMode:"none"}),serialize:t=>t},Et={class:"fd-st-design"},Nt={key:0,class:"fd-st-table-wrap"},Vt={class:"fd-st-table"},wt={key:0,class:"fd-st-seq"},Bt={key:0,class:"fd-st-seq"},xt={key:1,class:"fd-st-cards"},Ct={class:"fd-st-card"},$t={class:"fd-st-card-label"},St={key:0,class:"fd-st-cards-empty"},Tt=N(e.defineComponent({__name:"SubtableDesign",props:{node:{}},setup(t){const o=t,n=e.computed(()=>o.node.tablestyle!=="cards");return(d,i)=>(e.openBlock(),e.createElementBlock("div",Et,[n.value?(e.openBlock(),e.createElementBlock("div",Nt,[e.createElementVNode("table",Vt,[e.createElementVNode("thead",null,[e.createElementVNode("tr",null,[t.node.secondtableindex==="1"?(e.openBlock(),e.createElementBlock("th",wt,"序号")):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.node.colnums.filter(a=>a.isshow===1),a=>(e.openBlock(),e.createElementBlock("th",{key:a.name,style:e.normalizeStyle({width:a.showwidth||void 0})},e.toDisplayString(a.showname||a.major||a.name),5))),128))])]),e.createElementVNode("tbody",null,[e.createElementVNode("tr",null,[t.node.secondtableindex==="1"?(e.openBlock(),e.createElementBlock("td",Bt,"1")):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.node.colnums.filter(a=>a.isshow===1),a=>(e.openBlock(),e.createElementBlock("td",{key:a.name,class:e.normalizeClass(["fd-st-cell",{"fd-st-cell--link":!!a.bindLink}])},e.toDisplayString(a.name),3))),128))])])])])):(e.openBlock(),e.createElementBlock("div",xt,[e.createElementVNode("div",Ct,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.node.colnums.filter(a=>a.isshow===1),a=>(e.openBlock(),e.createElementBlock("div",{key:a.name,class:"fd-st-card-row"},[e.createElementVNode("span",$t,e.toDisplayString(a.showname||a.major),1),e.createElementVNode("span",{class:e.normalizeClass(["fd-st-card-value",{"fd-st-card-value--link":!!a.bindLink}])},e.toDisplayString(a.name),3)]))),128))]),t.node.colnums.filter(a=>a.isshow===1).length===0?(e.openBlock(),e.createElementBlock("div",St," 暂无列配置 ")):e.createCommentVNode("",!0)]))]))}}),[["__scopeId","data-v-aba8caec"]]),Dt=["subtable-key"],Ft={key:0,class:"fd-st-table-wrap"},Lt={class:"fd-st-table"},It={key:0,class:"fd-st-seq"},Mt=["subtable-val"],jt={key:1,class:"fd-st-op"},Pt={key:0,class:"fd-st-seq"},zt=["rowspan","subtable-val"],Ot=["href"],qt={key:1,class:"fd-st-op"},At=["onClick"],Rt={key:0},Ut=["colspan"],Yt={key:1,class:"fd-st-cards"},Ht={class:"fd-st-card-label"},Wt=["subtable-val"],Gt=["href"],Jt={key:0,class:"fd-st-card-actions"},Qt=["onClick"],Zt={key:0,class:"fd-st-cards-empty"},Kt=N(e.defineComponent({__name:"SubtableRender",props:{node:{},formData:{}},setup(t){const o=t,n=e.computed(()=>o.node.colnums.filter(_=>_.isshow===1)),d=e.computed(()=>o.node.isreadonly==="1"),i=e.computed(()=>{var E;const _=(E=o.formData)==null?void 0:E[o.node.secondtable];return Array.isArray(_)?_:[]}),a=e.computed(()=>!(o.node.nodatahidetable==="1"&&i.value.length===0)),l=e.computed(()=>o.node.tablestyle!=="cards");function s(){if(d.value)return;const _={};n.value.forEach(E=>_[E.name]=""),o.formData&&Array.isArray(o.formData[o.node.secondtable])&&o.formData[o.node.secondtable].push(_)}function m(_){d.value||o.formData&&Array.isArray(o.formData[o.node.secondtable])&&o.formData[o.node.secondtable].splice(_,1)}function p(_,E){const f=_[E];return f==null?"":String(f)}function b(_,E){return _.bindLink?p(E,_.bindLink):""}const h=e.computed(()=>{const _=i.value,E=[],f=[];return n.value.forEach((y,k)=>{E[k]=[],f[k]=[];const B=y.issamecolmerge===1;let u=0;for(let r=0;r<_.length;r++){const c=p(_[r],y.name);B&&c!==""&&r>0&&c===p(_[r-1],y.name)?(f[k][r]=!0,E[k][u]+=1):(f[k][r]=!1,E[k][r]=1,u=r)}}),{spans:E,skipped:f}});function x(_,E){var f;return((f=h.value.skipped[_])==null?void 0:f[E])===!0}function C(_,E){var y;const f=(y=h.value.spans[_])==null?void 0:y[E];return f&&f>1?f:void 0}return(_,E)=>a.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"fd-st-render","subtable-key":t.node.secondtable},[l.value?(e.openBlock(),e.createElementBlock("div",Ft,[e.createElementVNode("table",Lt,[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(n.value,f=>(e.openBlock(),e.createElementBlock("th",{key:f.name,"subtable-val":f.name,style:e.normalizeStyle({width:f.showwidth||void 0,textAlign:f.align||"left"})},e.toDisplayString(f.showname||f.major||f.name),13,Mt))),128)),d.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("th",jt,"操作"))])]),e.createElementVNode("tbody",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,(f,y)=>(e.openBlock(),e.createElementBlock("tr",{key:y},[t.node.secondtableindex==="1"?(e.openBlock(),e.createElementBlock("td",Pt,e.toDisplayString(y+1),1)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value,(k,B)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:k.name},[x(B,y)?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("td",{key:0,rowspan:C(B,y),"subtable-val":k.name,style:e.normalizeStyle({textAlign:k.align||"left",color:k.prospect||void 0,background:k.background||void 0})},[b(k,f)?(e.openBlock(),e.createElementBlock("a",{key:0,class:"fd-st-link",href:b(k,f),target:"_blank",rel:"noopener noreferrer"},e.toDisplayString(p(f,k.name)),9,Ot)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(p(f,k.name)),1)],64))],12,zt))],64))),128)),d.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("td",qt,[e.createElementVNode("button",{class:"fd-btn fd-btn--danger",onClick:k=>m(y)},"删除",8,At)]))]))),128)),i.value.length===0?(e.openBlock(),e.createElementBlock("tr",Rt,[e.createElementVNode("td",{colspan:n.value.length+(t.node.secondtableindex==="1"?1:0)+(d.value?0:1),class:"fd-st-empty"},e.toDisplayString(t.node.nodatatitle==="1"?"暂无数据":""),9,Ut)])):e.createCommentVNode("",!0)])])])):(e.openBlock(),e.createElementBlock("div",Yt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,(f,y)=>(e.openBlock(),e.createElementBlock("div",{key:y,class:"fd-st-card"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value,k=>(e.openBlock(),e.createElementBlock("div",{key:k.name,class:"fd-st-card-row"},[e.createElementVNode("span",Ht,e.toDisplayString(k.showname||k.major||k.name),1),e.createElementVNode("span",{class:"fd-st-card-value","subtable-val":k.name},[b(k,f)?(e.openBlock(),e.createElementBlock("a",{key:0,class:"fd-st-link",href:b(k,f),target:"_blank",rel:"noopener noreferrer"},e.toDisplayString(p(f,k.name)),9,Gt)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(p(f,k.name)),1)],64))],8,Wt)]))),128)),d.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Jt,[e.createElementVNode("button",{class:"fd-btn fd-btn--danger fd-btn--sm",onClick:k=>m(y)},"删除",8,Qt)]))]))),128)),i.value.length===0?(e.openBlock(),e.createElementBlock("div",Zt,e.toDisplayString(t.node.nodatatitle==="1"?"暂无数据":""),1)):e.createCommentVNode("",!0)])),d.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("button",{key:2,class:"fd-btn fd-btn--primary fd-st-add",onClick:s},"新增一行"))],8,Dt)):e.createCommentVNode("",!0)}}),[["__scopeId","data-v-a650847e"]]),Xt={formId:"2743c35b-2138-4214-b736-6d709bd0b463",templateType:"PC",dbtable:"SG_ZL_YYQHTSP",fields:[{name:"contract_no",label:"合同编号",dataType:"string"},{name:"process_subject",label:"流程主题",dataType:"string"},{name:"applicant",label:"申请人",dataType:"string"},{name:"organization",label:"所属组织",dataType:"string"},{name:"applicant_position",label:"申请人职位",dataType:"string"},{name:"apply_time",label:"申请时间",dataType:"date"},{name:"contract_name",label:"合同名称",dataType:"string"},{name:"sign_date",label:"签订日期",dataType:"date"},{name:"merchant_name",label:"商户名称",dataType:"string"},{name:"brand_name",label:"品牌名称",dataType:"string"},{name:"pay_type",label:"支付类型",dataType:"string"},{name:"shop_no",label:"铺位号",dataType:"string"},{name:"shop_type",label:"铺位类型",dataType:"string"},{name:"rent_area",label:"计租面积(㎡)",dataType:"number"},{name:"rent_amount",label:"租金金额",dataType:"money"},{name:"contract_start_date",label:"合同开始日期",dataType:"date"},{name:"contract_end_date",label:"合同结束日期",dataType:"date"},{name:"special_clause",label:"特殊条款",dataType:"string"},{name:"contract_url",label:"合同链接",dataType:"link"},{name:"contract_view",label:"合同查看",dataType:"link"},{name:"business_category",label:"业态分类",dataType:"string"},{name:"e_sign_rate",label:"电签率",dataType:"number"},{name:"notify_email",label:"指定送达邮箱",dataType:"string"},{name:"has_stored_card",label:"是否存在储值卡业务",dataType:"string"},{name:"prev_rent",label:"上手租费",dataType:"string"},{name:"is_lag",label:"是否滞后",dataType:"string"},{name:"is_e_sign",label:"是否电签",dataType:"string"},{name:"contract_text_type",label:"合同文本类型",dataType:"string"},{name:"merchant_detail",label:"查看商户明细",dataType:"link"},{name:"lease_increase_rate",label:"招商递增率",dataType:"number"},{name:"exclusive_clause",label:"排他条款",dataType:"string"},{name:"is_substantial",label:"是否实质性招商",dataType:"string"},{name:"tuning_summary",label:"招调概要",dataType:"string"},{name:"orig_shop",label:"原铺",dataType:"string"},{name:"orig_area",label:"原面积",dataType:"string"},{name:"cur_shop",label:"现铺",dataType:"string"},{name:"cur_area",label:"现面积",dataType:"string"},{name:"orig_brand",label:"原品牌",dataType:"string"},{name:"orig_level",label:"原级次",dataType:"string"},{name:"orig_category",label:"原业态",dataType:"string"},{name:"cur_brand",label:"现品牌",dataType:"string"},{name:"cur_level",label:"现级次",dataType:"string"},{name:"cur_category",label:"现业态",dataType:"string"},{name:"orig_contract_period",label:"原合同周期",dataType:"string"},{name:"cur_contract_period",label:"现合同周期",dataType:"string"},{name:"rent_increase_clause",label:"租金递增",dataType:"string"},{name:"fee_increase_clause",label:"管理费递增",dataType:"string"},{name:"rent_deco_free",label:"租金装修免租",dataType:"string"},{name:"rent_oper_free",label:"租金经营免租",dataType:"string"},{name:"rent_deposit",label:"租金租押方式",dataType:"string"},{name:"fee_deposit",label:"管理费租押方式",dataType:"string"},{name:"rent_billing",label:"租金计费",dataType:"string"},{name:"fee_billing",label:"管理费计费",dataType:"string"},{name:"est_sales",label:"预估销售额",dataType:"string"},{name:"electricity_calc",label:"电费计算方式",dataType:"string"},{name:"electricity_price_type",label:"电价方式",dataType:"string"},{name:"electricity_unit_price",label:"电费单价",dataType:"number"},{name:"peak_price",label:"尖-电价",dataType:"number"},{name:"valley_price",label:"谷-电价",dataType:"number"},{name:"flat_price",label:"平-电价",dataType:"number"},{name:"peak_high_price",label:"峰-电价",dataType:"number"},{name:"deep_valley_price",label:"深谷-电价",dataType:"number"}],widgets:JSON.parse('[{"id":"slot_mv8yu32v_hmt1w","type":"slot","label":"插槽","bindField":"","slotName":"header","slotProps":{}},{"id":"card_mv948xwd_0jvhg","type":"card","label":"基本信息","bindField":"","icon":"FileText","iconBgColor":"","expanded":true,"width":"","children":[{"id":"slot_mv949tn3_7tqic","type":"slot","label":"插槽","bindField":"","slotName":"base-info","slotProps":{}}]},{"id":"card_basic","type":"card","label":"商户信息","bindField":"","icon":"ClipboardList","iconBgColor":"","expanded":true,"width":"","children":[{"id":"grid_mv94fkna_a3hnc","type":"grid","label":"栅栏格","bindField":"","layout":8,"children":[{"id":"label_mv94fm19_vat4d","type":"label","label":"商户名称","bindField":"merchant_name","bindLink":"","gridSpan":8},{"id":"label_mv94gbdj_nvp81","type":"label","label":"品牌名称","bindField":"brand_name","bindLink":"merchant_detail","gridSpan":8},{"id":"label_mv94fymx_chyxm","type":"label","label":"支付类型","bindField":"pay_type","bindLink":"","gridSpan":8},{"id":"label_mv94gdg9_6j0i2","type":"label","label":"铺位号","bindField":"shop_no","bindLink":"","gridSpan":8},{"id":"label_mv94gft8_uldyd","type":"label","label":"铺位类型","bindField":"shop_type","bindLink":"","gridSpan":8},{"id":"label_mv94geqb_8vzuj","type":"label","label":"计租面积(㎡)","bindField":"rent_area","bindLink":"","gridSpan":8},{"id":"label_mv94gm46_0k0ma","type":"label","label":"合同开始日期","bindField":"contract_start_date","bindLink":"","gridSpan":8},{"id":"label_mv94ggzd_levm8","type":"label","label":"合同结束日期","bindField":"contract_end_date","bindLink":"","gridSpan":8},{"id":"label_mv94fqqu_ty2qv","type":"label","label":"特殊条款","bindField":"special_clause","bindLink":"","gridSpan":8},{"id":"label_mv94gon3_3atfb","type":"label","label":"合同查看","bindField":"contract_view","bindLink":"contract_url","gridSpan":24},{"id":"label_mv94gn83_sbqqq","type":"label","label":"业态分类","bindField":"business_category","bindLink":"","gridSpan":8},{"id":"label_mv94fzx4_j4ehr","type":"label","label":"电签率","bindField":"e_sign_rate","bindLink":"","gridSpan":8},{"id":"label_mv94gl3d_d1rk8","type":"label","label":"指定送达邮箱","bindField":"notify_email","bindLink":"","gridSpan":8},{"id":"label_mv94gj3q_pan4s","type":"label","label":"是否存在储值卡业务","bindField":"has_stored_card","bindLink":"","gridSpan":8},{"id":"label_mv94g1eu_of3la","type":"label","label":"上手租费","bindField":"prev_rent","bindLink":"","gridSpan":8},{"id":"label_mv94gs5r_igebr","type":"label","label":"是否滞后","bindField":"is_lag","bindLink":"","gridSpan":8,"color":"#ff3b30"},{"id":"label_mv94gcd4_umma1","type":"label","label":"是否电签","bindField":"is_e_sign","bindLink":"","gridSpan":8},{"id":"label_mv94gk4f_5wrbq","type":"label","label":"合同文本类型","bindField":"contract_text_type","bindLink":"","gridSpan":8},{"id":"label_mv94fnco_ovqct","type":"label","label":"查看商户明细","bindField":"merchant_detail","bindLink":"","gridSpan":8},{"id":"label_mv94foq3_zpe1l","type":"label","label":"招商递增率","bindField":"lease_increase_rate","bindLink":"","gridSpan":8},{"id":"label_mv94fve1_p8lbm","type":"label","label":"排他条款","bindField":"exclusive_clause","bindLink":"","gridSpan":8},{"id":"label_mv94fx1e_grzdz","type":"label","label":"是否实质性招商","bindField":"is_substantial","bindLink":"","gridSpan":8}]}]},{"id":"card_mv8ytz6g_pnv2y","type":"card","label":"招调信息","bindField":"","icon":"Tag","iconBgColor":"","expanded":true,"width":"","children":[{"id":"slot_mv94q6d4_2ddhk","type":"slot","label":"插槽","bindField":"","slotName":"nine-grid","slotProps":{}}]},{"id":"card_mv94pk1g_j5jrt","type":"card","label":"水电费信息","bindField":"","icon":"Receipt","iconBgColor":"","expanded":true,"width":"","children":[{"id":"grid_mv94soxq_e494j","type":"grid","label":"栅栏格","bindField":"","layout":8,"children":[{"id":"label_mv94svdn_2gx31","type":"label","label":"电费计算方式","bindField":"electricity_calc","bindLink":"","gridSpan":8},{"id":"label_mv94t0i4_fwndk","type":"label","label":"电价方式","bindField":"electricity_price_type","bindLink":"","gridSpan":16},{"id":"label_mv94suc8_o298g","type":"label","label":"电费单价","bindField":"electricity_unit_price","bindLink":"","gridSpan":8},{"id":"label_mv94szdk_o9098","type":"label","label":"尖-电价","bindField":"peak_price","bindLink":"","gridSpan":8},{"id":"label_mv94sy7f_htxqt","type":"label","label":"谷-电价","bindField":"valley_price","bindLink":"","gridSpan":8},{"id":"label_mv94st4c_ecb3x","type":"label","label":"平-电价","bindField":"flat_price","bindLink":"","gridSpan":8},{"id":"label_mv94srpm_y47eq","type":"label","label":"峰-电价","bindField":"peak_high_price","bindLink":"","gridSpan":8},{"id":"label_mv94sqc7_6qp3h","type":"label","label":"深谷-电价","bindField":"deep_valley_price","bindLink":"","gridSpan":8}]}]},{"id":"slot_mv96miro_zlbdb","type":"slot","label":"插槽","bindField":"","slotName":"link-btn","slotProps":{}},{"id":"card_sub_quit","type":"card","label":"原合同退租信息","bindField":"","icon":"Store","iconBgColor":"","expanded":true,"width":"","children":[{"id":"sub退租","type":"subtable","label":"原合同退租信息","bindField":"","firsttable":"SG_ZL_YYQHTSP","secondtable":"SG_ZL_YYQHTSPC","primarytablefiled":"ID","secondtableprimarykey":"ID","secondtablerelationfield":"PARENT_ID","tabletype":"subtable","displaytitle":"原合同退租信息","isreadonly":"1","isnull":"0","issave":"0","secondtableindex":"0","nodatahidetable":"0","nodatatitle":"1","fixedcolumn":0,"tablewidth":0,"tableheight":0,"iscompletehide":"0","iscompletehidecode":"","events":[],"colnums":[{"name":"shop_no","isshow":1,"major":"","showname":"铺位号","showwidth":"","background":"","prospect":"","issum":0,"index":1,"align":"","iscompletehide":0,"iscompletehidecode":"","editmode":{"editmode":"text","title":"文本"},"events":[]},{"name":"brand_name","isshow":1,"major":"","showname":"品牌名称","showwidth":"","background":"","prospect":"","issum":0,"index":2,"align":"","iscompletehide":0,"iscompletehidecode":"","editmode":{"editmode":"text","title":"文本"},"events":[]},{"name":"quit_reason","isshow":1,"major":"","showname":"合同退租原因","showwidth":"","background":"","prospect":"","issum":0,"index":3,"align":"","iscompletehide":0,"iscompletehidecode":"","editmode":{"editmode":"text","title":"文本"},"events":[]},{"name":"quit_date","isshow":1,"major":"","showname":"合同退租日期","showwidth":"","background":"","prospect":"","issum":0,"index":4,"align":"","iscompletehide":0,"iscompletehidecode":"","editmode":{"editmode":"text","title":"文本"},"events":[]},{"name":"deduct_amount","isshow":1,"major":"","showname":"合同扣款金额","showwidth":"","background":"","prospect":"","issum":0,"index":5,"align":"","iscompletehide":0,"iscompletehidecode":"","editmode":{"editmode":"text","title":"文本"},"events":[]},{"name":"detail","isshow":1,"major":"","showname":"详情","showwidth":"","background":"","prospect":"","issum":0,"index":6,"align":"","iscompletehide":0,"iscompletehidecode":"","editmode":{"editmode":"text","title":"文本"},"events":[],"bindLink":"detail_url"}],"tablestyle":"table"}]},{"id":"card_mv94urk8_4xj55","type":"card","label":"预算完成情况预测(万元)","bindField":"","icon":"ChartLine","iconBgColor":"","expanded":true,"width":"","children":[{"id":"subtable_mv94vx0w_7zpmc","type":"subtable","label":"子表","bindField":"","firsttable":"","secondtable":"SG_ZL_YYQHTYS","primarytablefiled":"","secondtableprimarykey":"","secondtablerelationfield":"","tabletype":"subtable","displaytitle":"预算完成情况预测","isreadonly":"1","isnull":"0","issave":"0","secondtableindex":"0","nodatahidetable":"0","nodatatitle":"1","fixedcolumn":0,"tablewidth":0,"tableheight":0,"iscompletehide":"0","iscompletehidecode":"","colnums":[{"name":"calibers","isshow":1,"major":"","showname":"测算口径","showwidth":"","background":"","prospect":"","issum":0,"index":1,"align":"","iscompletehide":0,"iscompletehidecode":"","editmode":{"editmode":"text","title":"文本"},"events":[],"issamecolmerge":1},{"name":"fee_item","isshow":1,"major":"","showname":"费项","showwidth":"","background":"","prospect":"","issum":0,"index":2,"align":"","iscompletehide":0,"iscompletehidecode":"","editmode":{"editmode":"text","title":"文本"},"events":[]},{"name":"annual_budget","isshow":1,"major":"","showname":"年度预算(A)","showwidth":"","background":"","prospect":"","issum":0,"index":3,"align":"","iscompletehide":0,"iscompletehidecode":"","editmode":{"editmode":"text","title":"文本"},"events":[]},{"name":"contract_receivable","isshow":1,"major":"","showname":"合同应收(B)","showwidth":"","background":"","prospect":"","issum":0,"index":4,"align":"","iscompletehide":0,"iscompletehidecode":"","editmode":{"editmode":"text","title":"文本"},"events":[]},{"name":"budget_gap","isshow":1,"major":"","showname":"预算缺口(C=B-A)","showwidth":"","background":"","prospect":"","issum":0,"index":5,"align":"","iscompletehide":0,"iscompletehidecode":"","editmode":{"editmode":"text","title":"文本"},"events":[]},{"name":"forecast_income","isshow":1,"major":"","showname":"预测收入(D)","showwidth":"","background":"","prospect":"","issum":0,"index":6,"align":"","iscompletehide":0,"iscompletehidecode":"","editmode":{"editmode":"text","title":"文本"},"events":[]},{"name":"forecast_gap","isshow":1,"major":"","showname":"预测缺口(E=D-A)","showwidth":"","background":"","prospect":"","issum":0,"index":7,"align":"","iscompletehide":0,"iscompletehidecode":"","editmode":{"editmode":"text","title":"文本"},"events":[]},{"name":"light","isshow":1,"major":"","showname":"亮灯提示","showwidth":"","background":"","prospect":"","issum":0,"index":8,"align":"","iscompletehide":0,"iscompletehidecode":"","editmode":{"editmode":"text","title":"文本"},"events":[]}],"events":[]}]},{"id":"card_mv94uthb_9bilg","type":"card","label":"合同列表","bindField":"","icon":"Folder","iconBgColor":"","expanded":true,"width":"","children":[{"id":"slot_mv94y878_xa1i4","type":"slot","label":"插槽","bindField":"","slotName":"ht-list","slotProps":{}}]},{"id":"card_mvasx0tg_tii1g","type":"card","label":"交办记录","bindField":"","icon":"LayoutGrid","iconBgColor":"","expanded":true,"width":"","hiddenMode":"start","children":[{"id":"slot_mvasx3k5_feyrh","type":"slot","label":"插槽","bindField":"","slotName":"assignment-record","slotProps":{},"hiddenMode":"none"}]},{"id":"card_mv96jn84_geyfi","type":"card","label":"附件信息","bindField":"","icon":"Paperclip","iconBgColor":"","expanded":true,"width":"","children":[{"id":"slot_mv96kpam_vfbhy","type":"slot","label":"插槽","bindField":"","slotName":"file-list","slotProps":{}}]},{"id":"card_mv94uuj2_1c3kq","type":"card","label":"AI风险识别与审批意见","bindField":"","icon":"Sparkles","iconBgColor":"","expanded":true,"width":"","children":[{"id":"slot_mv94ywq4_eix4j","type":"slot","label":"插槽","bindField":"","slotName":"ai-approval","slotProps":{}}],"hiddenMode":"not-start"},{"id":"card_mv97t5ic_sps4y","type":"card","label":"发起人意见","bindField":"","icon":"MessageSquareText","iconBgColor":"","expanded":true,"width":"","children":[{"id":"slot_mv97tuvs_18x3d","type":"slot","label":"插槽","bindField":"","slotName":"initiate-opinions","slotProps":{}}],"hiddenMode":"not-start"},{"id":"card_mvaq3igb_xqh7h","type":"card","label":"退回详情","bindField":"","icon":"Lightbulb","iconBgColor":"","expanded":true,"width":"","hiddenMode":"start","children":[{"id":"slot_mvaq4yqc_uq4a4","type":"slot","label":"插槽","bindField":"","slotName":"return-details","slotProps":{},"hiddenMode":"none"}]},{"id":"card_mvan876u_biqq8","type":"card","label":"审批记录","bindField":"","icon":"ShieldCheck","iconBgColor":"","expanded":true,"width":"","hiddenMode":"not-approval","children":[{"id":"slot_mvan8xqf_oi0f5","type":"slot","label":"插槽","bindField":"","slotName":"approval-list","slotProps":{},"hiddenMode":"none"}]},{"id":"card_mvac8wl9_7h9gz","type":"card","label":"审批流程","bindField":"","icon":"Users","iconBgColor":"","expanded":true,"width":"","children":[{"id":"slot_mv9gtox1_mzty4","type":"slot","label":"插槽","bindField":"","slotName":"approval-process","slotProps":{}}],"hiddenMode":"not-start"},{"id":"card_mvanow88_b61rf","type":"card","label":"审批意见","bindField":"","icon":"User","iconBgColor":"","expanded":true,"width":"","hiddenMode":"not-approval","children":[{"id":"slot_mvanp06x_40njy","type":"slot","label":"插槽","bindField":"","slotName":"approval-opinions","slotProps":{},"hiddenMode":"none"}]},{"id":"slot_mv950x2c_zsxtw","type":"slot","label":"插槽","bindField":"","slotName":"footer","slotProps":{}}]'),events:{lifecycle:{},custom:[]}},W=[{name:"SG_ZL_YYQHTSPC",label:"原合同退租信息",fields:[{name:"shop_no",label:"铺位号",dataType:"string"},{name:"brand_name",label:"品牌名称",dataType:"string"},{name:"quit_reason",label:"合同退租原因",dataType:"string"},{name:"quit_date",label:"合同退租日期",dataType:"date"},{name:"deduct_amount",label:"合同扣款金额",dataType:"money"},{name:"detail",label:"详情",dataType:"string"},{name:"detail_url",label:"详情链接",dataType:"link"}]},{name:"SG_ZL_YYQHTYS",label:"预算完成情况预测",fields:[{name:"calibers",label:"测算口径",dataType:"string"},{name:"fee_item",label:"费项",dataType:"string"},{name:"annual_budget",label:"年度预算(A)",dataType:"money"},{name:"contract_receivable",label:"合同应收(B)",dataType:"money"},{name:"budget_gap",label:"预算缺口(C=B-A)",dataType:"money"},{name:"forecast_income",label:"预测收入(D)",dataType:"money"},{name:"forecast_gap",label:"预测缺口(E=D-A)",dataType:"money"},{name:"light",label:"亮灯提示",dataType:"string"}]},{name:"SG_ZL_YYQHTHT",label:"合同列表",fields:[{name:"seq",label:"序号",dataType:"number"},{name:"contract_type",label:"合同类型",dataType:"string"},{name:"contract_name",label:"合同名称",dataType:"string"},{name:"party_a",label:"甲方",dataType:"string"},{name:"party_b",label:"乙方",dataType:"string"},{name:"use_template",label:"使用合同模版",dataType:"string"},{name:"operate",label:"操作",dataType:"string"}]},{name:"SG_ZL_YYQHTJB",label:"交办记录",fields:[{name:"original_approver",label:"原审批人",dataType:"string"},{name:"delegate_to",label:"交办人",dataType:"string"},{name:"delegate_time",label:"交办时间",dataType:"date"},{name:"delegate_opinion",label:"交办意见",dataType:"string"}]},{name:"SG_ZL_YYQHTFJ",label:"附件信息",fields:[{name:"seq",label:"序号",dataType:"number"},{name:"attachment_type",label:"附件类型",dataType:"string"},{name:"file_name",label:"文件名称",dataType:"file"},{name:"upload_user",label:"上传人",dataType:"string"},{name:"upload_time",label:"上传时间",dataType:"date"}]},{name:"SG_ZL_YYQHTTH",label:"退回详情",fields:[{name:"approver",label:"审批人",dataType:"string"},{name:"description",label:"说明",dataType:"string"},{name:"reject_reason",label:"退回原因",dataType:"string"},{name:"reject_time",label:"时间",dataType:"date"}]},{name:"SG_ZL_YYQHTFK",label:"合同付款计划",fields:[{name:"pay_phase",label:"期次",dataType:"string"},{name:"pay_amount",label:"金额",dataType:"money"},{name:"pay_date",label:"计划付款日",dataType:"date"},{name:"pay_status",label:"状态",dataType:"string"}]}],vt=W.map(t=>({name:t.name,label:t.label}));function G(t){return W.find(o=>o.name===t)}function en(t){return t.fields.map((o,n)=>{const d=o.dataType==="file";return{name:o.name,isshow:1,major:"",showname:o.label,showwidth:"",background:"",prospect:"",issum:0,index:n+1,align:"",iscompletehide:0,iscompletehidecode:"",issamecolmerge:0,bindLink:"",editmode:{editmode:d?"files":"text",title:d?"文件":"文本"},events:[]}})}function tn(t){return{...Xt,formId:t}}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"},dn={class:"fd-panel-item"},sn={class:"fd-panel-item"},rn={class:"fd-cols-head"},cn={key:0,class:"fd-cols-empty"},mn={class:"fd-col-card-top"},pn={class:"fd-col-order"},fn={class:"fd-col-meta"},bn={class:"fd-col-title"},gn={class:"fd-col-name-sub"},yn={class:"fd-col-tag"},kn={class:"fd-col-card-bottom"},hn={class:"fd-col-switch"},un={class:"fd-col-actions"},_n=["onClick"],En=["onClick"],Nn={class:"fd-dialog",style:{"max-width":"560px"}},Vn={class:"fd-dialog-head"},wn={class:"fd-dialog-body"},Bn={class:"fd-form-section"},xn={class:"fd-form-grid"},Cn={class:"fd-form-item"},$n=["value"],Sn=["value"],Tn={class:"fd-form-item"},Dn=["value"],Fn={class:"fd-form-item"},Ln=["value"],In={class:"fd-form-item"},Mn=["value"],jn={class:"fd-form-section"},Pn={class:"fd-form-grid"},zn={class:"fd-form-item"},On=["value"],qn={class:"fd-form-item"},An=["value"],Rn={class:"fd-form-item"},Un={class:"fd-color-row"},Yn=["value"],Hn=["value"],Wn={class:"fd-form-item"},Gn={class:"fd-color-row"},Jn=["value"],Qn=["value"],Zn={class:"fd-form-section"},Kn={class:"fd-form-grid"},Xn={class:"fd-form-item"},vn={class:"fd-form-item"},eo=["value"],to=["value"],no=N(e.defineComponent({__name:"SubtablePanel",props:{node:{},fields:{}},emits:["update"],setup(t,{emit:o}){const n=t,d=o;function i(r,c){d("update",{[r]:c})}function a(r){const c=r??"",g=G(c),V={secondtable:c};g&&(V.displaytitle=g.label,V.colnums=en(g)),d("update",V)}const l=e.reactive({open:!1,index:-1,draft:null});function s(r){return JSON.parse(JSON.stringify(r))}function m(r){l.index=r,l.draft=s(n.node.colnums[r]),l.open=!0}function p(){l.open=!1,l.draft=null,l.index=-1}function b(){if(l.draft&&l.index>=0){const r=[...n.node.colnums];r[l.index]=l.draft,d("update",{colnums:r})}p()}function h(r,c){r.isshow=c?1:0,d("update",{colnums:[...n.node.colnums]})}async function x(){const r={name:`col_${Date.now().toString(36)}`,isshow:1,major:"",showname:"新列",showwidth:"",background:"",prospect:"",issum:0,index:n.node.colnums.length+1,align:"",iscompletehide:0,iscompletehidecode:"",issamecolmerge:0,bindLink:"",editmode:{editmode:"text",title:"文本"},events:[]};d("update",{colnums:[...n.node.colnums,r]}),await e.nextTick(),m(n.node.colnums.length-1)}function C(r){const c=n.node.colnums.slice();c.splice(r,1),d("update",{colnums:c})}function _(r){return/^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/.test(r)?r:"#ffffff"}function E(r,c){l.draft&&(l.draft[r]=c.target.value)}const f=e.computed(()=>{var r;return((r=G(n.node.secondtable))==null?void 0:r.fields)??[]}),y=e.computed(()=>f.value.filter(r=>r.dataType==="link"));function k(r){l.draft&&(l.draft.bindLink=r??"")}function B(r){i("tablestyle",r||"table")}function u(r){if(!l.draft)return;const c=r.target.value;l.draft.name=c;const g=f.value.find(V=>V.name===c);if(g){l.draft.showname=g.label;const V=g.dataType==="file";l.draft.editmode.editmode=V?"files":"text",l.draft.editmode.title=V?"文件":"文本"}}return(r,c)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",nn,[e.createElementVNode("div",on,[c[14]||(c[14]=e.createElementVNode("label",null,"选择子表",-1)),e.createVNode(e.unref($.ElSelect),{"model-value":t.node.secondtable,filterable:"",clearable:"",placeholder:"请选择子表",style:{width:"100%"},"onUpdate:modelValue":a},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(vt),g=>(e.openBlock(),e.createBlock(e.unref($.ElOption),{key:g.name,label:`${g.label}(${g.name})`,value:g.name},null,8,["label","value"]))),128))]),_:1},8,["model-value"])]),e.createElementVNode("div",ln,[c[15]||(c[15]=e.createElementVNode("label",null,"只读",-1)),e.createVNode(M,{"model-value":t.node.isreadonly==="1","onUpdate:modelValue":c[0]||(c[0]=g=>i("isreadonly",g?"1":"0"))},null,8,["model-value"])]),e.createElementVNode("div",an,[c[16]||(c[16]=e.createElementVNode("label",null,"序号列",-1)),e.createVNode(M,{"model-value":t.node.secondtableindex==="1","onUpdate:modelValue":c[1]||(c[1]=g=>i("secondtableindex",g?"1":"0"))},null,8,["model-value"])]),e.createElementVNode("div",dn,[c[17]||(c[17]=e.createElementVNode("label",null,"表格样式",-1)),e.createVNode(e.unref($.ElSelect),{"model-value":t.node.tablestyle||"table",style:{width:"100%"},"onUpdate:modelValue":B},{default:e.withCtx(()=>[e.createVNode(e.unref($.ElOption),{label:"表格",value:"table"}),e.createVNode(e.unref($.ElOption),{label:"卡片列表",value:"cards"})]),_:1},8,["model-value"])]),e.createElementVNode("div",sn,[e.createElementVNode("div",rn,[e.createElementVNode("span",null,"列配置("+e.toDisplayString(t.node.colnums.length)+")",1),e.createElementVNode("button",{class:"fd-btn fd-btn--primary fd-btn--sm",onClick:x},"+ 新增列")]),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,(g,V)=>(e.openBlock(),e.createElementBlock("div",{key:g.name,class:"fd-col-card"},[e.createElementVNode("div",mn,[e.createElementVNode("span",pn,e.toDisplayString(V+1),1),e.createElementVNode("div",fn,[e.createElementVNode("span",bn,e.toDisplayString(g.showname||"未命名列"),1),e.createElementVNode("span",gn,e.toDisplayString(g.name),1)]),e.createElementVNode("span",yn,e.toDisplayString(g.bindLink?"链接":"文本"),1)]),e.createElementVNode("div",kn,[e.createElementVNode("label",hn,[c[18]||(c[18]=e.createElementVNode("span",null,"显示",-1)),e.createVNode(M,{"model-value":g.isshow===1,"onUpdate:modelValue":I=>h(g,I)},null,8,["model-value","onUpdate:modelValue"])]),e.createElementVNode("div",un,[e.createElementVNode("button",{class:"fd-btn fd-btn--ghost fd-btn--sm",onClick:I=>m(V)},"设置",8,_n),e.createElementVNode("button",{class:"fd-btn fd-btn--danger fd-btn--sm",onClick:I=>C(V)},"删除",8,En)])])]))),128))])]),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[l.open&&l.draft?(e.openBlock(),e.createElementBlock("div",{key:0,class:"fd-dialog-mask",onClick:e.withModifiers(p,["self"])},[e.createElementVNode("div",Nn,[e.createElementVNode("div",Vn,[e.createElementVNode("span",null,"列设置 · "+e.toDisplayString(l.draft.showname||l.draft.name||"新列"),1),e.createElementVNode("button",{class:"fd-dialog-close",onClick:p,title:"关闭"},"×")]),e.createElementVNode("div",wn,[e.createElementVNode("section",Bn,[c[24]||(c[24]=e.createElementVNode("h5",{class:"fd-form-section-h"},"基本信息",-1)),e.createElementVNode("div",xn,[e.createElementVNode("div",Cn,[c[20]||(c[20]=e.createElementVNode("label",null,"列字段",-1)),e.createElementVNode("select",{value:l.draft.name,onChange:c[2]||(c[2]=g=>u(g))},[c[19]||(c[19]=e.createElementVNode("option",{value:""},"请选择字段",-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.value,g=>(e.openBlock(),e.createElementBlock("option",{key:g.name,value:g.name},e.toDisplayString(g.label)+"("+e.toDisplayString(g.name)+")",9,Sn))),128))],40,$n)]),e.createElementVNode("div",Tn,[c[21]||(c[21]=e.createElementVNode("label",null,"显示标题",-1)),e.createElementVNode("input",{value:l.draft.showname,onInput:c[3]||(c[3]=g=>l.draft.showname=g.target.value),placeholder:"如 姓名"},null,40,Dn)]),e.createElementVNode("div",Fn,[c[22]||(c[22]=e.createElementVNode("label",null,"主表头分组",-1)),e.createElementVNode("input",{value:l.draft.major,onInput:c[4]||(c[4]=g=>l.draft.major=g.target.value),placeholder:"可合并表头分组名"},null,40,Ln)]),e.createElementVNode("div",In,[c[23]||(c[23]=e.createElementVNode("label",null,"列序号",-1)),e.createElementVNode("input",{type:"number",min:"1",value:l.draft.index,onInput:c[5]||(c[5]=g=>l.draft.index=Number(g.target.value))},null,40,Mn)])])]),e.createElementVNode("section",jn,[c[30]||(c[30]=e.createElementVNode("h5",{class:"fd-form-section-h"},"显示与样式",-1)),e.createElementVNode("div",Pn,[e.createElementVNode("div",zn,[c[25]||(c[25]=e.createElementVNode("label",null,"列宽",-1)),e.createElementVNode("input",{value:l.draft.showwidth,onInput:c[6]||(c[6]=g=>l.draft.showwidth=g.target.value),placeholder:"如 120px 或 20%"},null,40,On)]),e.createElementVNode("div",qn,[c[27]||(c[27]=e.createElementVNode("label",null,"对齐方式",-1)),e.createElementVNode("select",{value:l.draft.align,onChange:c[7]||(c[7]=g=>l.draft.align=g.target.value)},[...c[26]||(c[26]=[e.createElementVNode("option",{value:""},"默认(左)",-1),e.createElementVNode("option",{value:"left"},"左对齐",-1),e.createElementVNode("option",{value:"center"},"居中",-1),e.createElementVNode("option",{value:"right"},"右对齐",-1)])],40,An)]),e.createElementVNode("div",Rn,[c[28]||(c[28]=e.createElementVNode("label",null,"背景色",-1)),e.createElementVNode("div",Un,[e.createElementVNode("input",{type:"color",value:_(l.draft.background),onInput:c[8]||(c[8]=g=>E("background",g))},null,40,Yn),e.createElementVNode("input",{value:l.draft.background,onInput:c[9]||(c[9]=g=>l.draft.background=g.target.value),placeholder:"如 #f5f7fa 或空"},null,40,Hn)])]),e.createElementVNode("div",Wn,[c[29]||(c[29]=e.createElementVNode("label",null,"字体色",-1)),e.createElementVNode("div",Gn,[e.createElementVNode("input",{type:"color",value:_(l.draft.prospect),onInput:c[10]||(c[10]=g=>E("prospect",g))},null,40,Jn),e.createElementVNode("input",{value:l.draft.prospect,onInput:c[11]||(c[11]=g=>l.draft.prospect=g.target.value),placeholder:"如 #f5523a 或空"},null,40,Qn)])])])]),e.createElementVNode("section",Zn,[c[34]||(c[34]=e.createElementVNode("h5",{class:"fd-form-section-h"},"编辑模式",-1)),e.createElementVNode("div",Kn,[e.createElementVNode("div",Xn,[c[31]||(c[31]=e.createElementVNode("label",null,"同内容合并",-1)),e.createVNode(M,{"model-value":l.draft.issamecolmerge===1,"onUpdate:modelValue":c[12]||(c[12]=g=>l.draft.issamecolmerge=g?1:0)},null,8,["model-value"])]),e.createElementVNode("div",vn,[c[33]||(c[33]=e.createElementVNode("label",null,"链接",-1)),e.createElementVNode("select",{value:l.draft.bindLink??"",onChange:c[13]||(c[13]=g=>k(g.target.value))},[c[32]||(c[32]=e.createElementVNode("option",{value:""},"不绑定",-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(y.value,g=>(e.openBlock(),e.createElementBlock("option",{key:g.name,value:g.name},e.toDisplayString(g.label)+"("+e.toDisplayString(g.name)+")",9,to))),128))],40,eo)])])])]),e.createElementVNode("div",{class:"fd-dialog-foot"},[e.createElementVNode("button",{class:"fd-btn fd-btn--ghost",onClick:p},"取消"),e.createElementVNode("button",{class:"fd-btn fd-btn--primary",onClick:b},"确定")])])])):e.createCommentVNode("",!0)]))],64))}}),[["__scopeId","data-v-31bf2515"]]);function oo(){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 lo={type:"subtable",title:"子表",design:Tt,render:Kt,panel:no,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:oo(),events:[]}),serialize:t=>t},ao=N(e.defineComponent({__name:"GridDesign",props:{node:{}},setup(t){const o=S();return(n,d)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["fd-grid-design",{"is-mobile":e.unref(o).device==="mobile"}])},[e.renderSlot(n.$slots,"children",{},void 0,!0)],2))}}),[["__scopeId","data-v-25511a77"]]),A=e.defineComponent({__name:"WidgetHost",props:{node:{},mode:{},formMode:{},formData:{},formId:{}},setup(t){const o=t,n=e.computed(()=>T(o.node.type)),d=e.computed(()=>n.value?o.mode==="design"?n.value.design:n.value.render:null),i=a=>a&&o.formData?o.formData[a]:void 0;return(a,l)=>{var m;const s=e.resolveComponent("WidgetHost",!0);return d.value?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(d.value),e.mergeProps({key:0,node:t.node,value:i(t.node.bindField),"form-data":t.formData},t.mode==="render"?{formMode:t.formMode,formId:t.formId}:null),e.createSlots({_:2},[e.renderList(a.$slots,(p,b)=>({name:b,fn:e.withCtx(h=>[e.renderSlot(a.$slots,b,e.normalizeProps(e.guardReactiveProps(h||{})))])})),(m=n.value)!=null&&m.isContainer&&!a.$slots.children?{name:"children",fn:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.node.children,p=>(e.openBlock(),e.createBlock(s,{key:p.id,node:p,mode:t.mode,"form-mode":t.formMode,"form-data":t.formData,"form-id":t.formId},e.createSlots({_:2},[e.renderList(a.$slots,(b,h)=>({name:h,fn:e.withCtx(x=>[e.renderSlot(a.$slots,h,e.mergeProps({ref_for:!0},x||{}))])}))]),1032,["node","mode","form-mode","form-data","form-id"]))),128))]),key:"0"}:void 0]),1040,["node","value","form-data"])):e.createCommentVNode("",!0)}}}),io=24;function J(t,o,n,d,i=!1){if(t.type!=="label"||!n.length)return"";const a=i?1:io,l=E=>Math.min(Math.max(E.gridSpan||d||a,1),a),s=[];let m=0,p=0;for(const E of n){const f=l(E);m+f>a&&(m=0,p++);const y=m===0;m+=f;const k=m>=a;s.push({row:p,rowFirst:y,rowLast:k}),m>=a&&(m=0,p++)}const b=s[o];if(!b)return"";const h=s[s.length-1].row,x=b.row===0,C=b.row===h,_=[];return b.rowFirst&&x&&_.push("is-g-corner-tl"),b.rowLast&&x&&_.push("is-g-corner-tr"),b.rowFirst&&C&&_.push("is-g-corner-bl"),b.rowLast&&C&&_.push("is-g-corner-br"),_.join(" ")}const so=N(e.defineComponent({__name:"GridRender",props:{node:{},formMode:{},formData:{},formId:{}},setup(t){const o=S(),n=e.ref(!1);let d=null;e.onMounted(()=>{d=window.matchMedia("(max-width: 768px)"),n.value=d.matches,d.addEventListener("change",a=>{n.value=a.matches})}),e.onUnmounted(()=>{d&&d.removeEventListener("change",()=>{})});const i=e.computed(()=>o.device==="mobile"||n.value);return(a,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["fd-grid-render",{"is-mobile":i.value}])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.node.children,(s,m)=>(e.openBlock(),e.createElementBlock("div",{key:s.id,class:e.normalizeClass(["fd-grid-cell",e.unref(J)(s,m,t.node.children||[],t.node.layout||24,i.value)]),style:e.normalizeStyle({gridColumn:`span ${s.gridSpan||t.node.layout}`})},[e.createVNode(A,{node:s,mode:"render","form-mode":t.formMode,"form-data":t.formData,"form-id":t.formId},e.createSlots({_:2},[e.renderList(a.$slots,(p,b)=>({name:b,fn:e.withCtx(h=>[e.renderSlot(a.$slots,b,e.mergeProps({ref_for:!0},h||{}),void 0,!0)])}))]),1032,["node","form-mode","form-data","form-id"])],6))),128))],2))}}),[["__scopeId","data-v-417035f9"]]),ro={class:"fd-panel"},co={class:"fd-panel-item"},mo=["value"],po=["value"],fo={class:"fd-panel-item"},bo={type:"grid",title:"栅栏格",design:ao,render:so,panel:N(e.defineComponent({__name:"GridPanel",props:{node:{},fields:{}},emits:["update"],setup(t,{emit:o}){const n=t,d=o,i=[{label:"2列布局",value:24},{label:"4列布局",value:12},{label:"6列布局",value:8},{label:"8列布局",value:6}];function a(){const l=n.node.layout||24,s=(n.node.children??[]).map(m=>({...m,gridSpan:l}));d("update",{children:s})}return(l,s)=>(e.openBlock(),e.createElementBlock("div",ro,[e.createElementVNode("div",co,[s[1]||(s[1]=e.createElementVNode("label",null,"布局",-1)),e.createElementVNode("select",{value:t.node.layout,onChange:s[0]||(s[0]=m=>d("update",{layout:Number(m.target.value)}))},[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(i,m=>e.createElementVNode("option",{key:m.value,value:m.value},e.toDisplayString(m.label),9,po)),64))],40,mo)]),e.createElementVNode("div",fo,[s[2]||(s[2]=e.createElementVNode("label",null,"一键布局",-1)),e.createElementVNode("button",{class:"fd-btn fd-btn--primary fd-btn--sm fd-grid-apply",onClick:a}," 应用到全部子组件(每项占比 "+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=N(e.defineComponent({__name:"TextDesign",props:{node:{}},setup(t){return(o,n)=>(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=N(e.defineComponent({__name:"TextRender",props:{node:{},value:{}},setup(t){const o=t,n=e.computed(()=>{if(!o.node.bindField)return o.node.text;const d=o.value;return d==null?"":String(d)});return(d,i)=>(e.openBlock(),e.createElementBlock("div",{class:"fd-text-render",style:e.normalizeStyle({display:t.node.display})},e.toDisplayString(n.value),5))}}),[["__scopeId","data-v-3ed7b0f0"]]),ko={class:"fd-panel"},ho={class:"fd-panel-item"},uo=["value"],_o={class:"fd-panel-item"},Eo=["value"],No=["value"],Vo={class:"fd-panel-item"},wo=["value"],Bo={type:"text",title:"文本",design:go,render:yo,panel:N(e.defineComponent({__name:"TextPanel",props:{node:{},fields:{}},emits:["update"],setup(t,{emit:o}){const n=o;return(d,i)=>(e.openBlock(),e.createElementBlock("div",ko,[e.createElementVNode("div",ho,[i[3]||(i[3]=e.createElementVNode("label",null,"文本",-1)),e.createElementVNode("textarea",{rows:"4",value:t.node.text,onInput:i[0]||(i[0]=a=>n("update",{text:a.target.value}))},null,40,uo)]),e.createElementVNode("div",_o,[i[5]||(i[5]=e.createElementVNode("label",null,"绑定字段",-1)),e.createElementVNode("select",{value:t.node.bindField,onChange:i[1]||(i[1]=a=>n("update",{bindField:a.target.value}))},[i[4]||(i[4]=e.createElementVNode("option",{value:""},"不绑定",-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.fields,a=>(e.openBlock(),e.createElementBlock("option",{key:a.name,value:a.name},e.toDisplayString(a.label)+"("+e.toDisplayString(a.name)+")",9,No))),128))],40,Eo)]),e.createElementVNode("div",Vo,[i[7]||(i[7]=e.createElementVNode("label",null,"对齐方式",-1)),e.createElementVNode("select",{value:t.node.display,onChange:i[2]||(i[2]=a=>n("update",{display:a.target.value}))},[...i[6]||(i[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 Q=!1;function R(){Q||(Q=!0,F(De),F(at),F(_t),F(lo),F(bo),F(Bo))}R();const L=t=>JSON.parse(JSON.stringify(t));function D(t,o){for(const n of t){if(n.id===o)return n;if(n.children){const d=D(n.children,o);if(d)return d}}return null}function Z(t,o){const n=t.findIndex(d=>d.id===o);if(n>=0)return t.splice(n,1),!0;for(const d of t)if(d.children&&Z(d.children,o))return!0;return!1}const S=ie.defineStore("designer",{state:()=>({formId:"SG_ZL_YYQHTSP",dbtable:"SG_ZL_YYQHTSP",fields:[],widgets:[],selectedId:null,past:[],future:[],draggingId:null,device:"pc",dragOverId:null,dragBefore:!1,dropContainerId:null,selectedForm:!1,events:{lifecycle:{},custom:[]},openedWithParam:!1}),getters:{selectedNode:t=>t.selectedId?D(t.widgets,t.selectedId):null,canUndo:t=>t.past.length>0,canRedo:t=>t.future.length>0,customEventOptions:t=>t.events.custom},actions:{commit(){this.past.push(L(this.widgets)),this.past.length>50&&this.past.shift(),this.future=[]},undo(){const t=this.past.pop();t&&(this.future.push(L(this.widgets)),this.widgets=t,this.selectedId&&!D(this.widgets,this.selectedId)&&(this.selectedId=null))},redo(){const t=this.future.pop();t&&(this.past.push(L(this.widgets)),this.widgets=t)},select(t){this.selectedId=t,this.selectedForm=!1},selectForm(){this.selectedId=null,this.selectedForm=!0},setLifecycleHook(t,o){this.events.lifecycle[t]=o},addCustomEvent(){const t=this.events.custom.length+1;this.events.custom.push({name:`event_${t}`,title:`自定义事件${t}`,handler:""})},updateCustomEvent(t,o){const n=this.events.custom[t];n&&Object.assign(n,o)},removeCustomEvent(t){this.events.custom.splice(t,1)},addWidget(t,o,n){var a;const d=fe(t);this.commit();const i=o?D(this.widgets,o):null;i&&((a=T(i.type))!=null&&a.isContainer)?(i.children=i.children||[],i.type==="grid"&&d.gridSpan==null&&(d.gridSpan=i.layout||24),n==null||n>i.children.length?i.children.push(d):i.children.splice(Math.max(0,n),0,d)):n==null||n>this.widgets.length?this.widgets.push(d):this.widgets.splice(Math.max(0,n),0,d),this.selectedId=d.id},isDescendant(t,o){if(!t.children)return!1;for(const n of t.children)if(n.id===o||this.isDescendant(n,o))return!0;return!1},moveNode(t,o,n){var b;if(t===o)return;const d=D(this.widgets,t);if(!d||o&&this.isDescendant(d,o))return;const i=o?D(this.widgets,o):null,a=h=>{const x=h.findIndex(C=>C.id===t);if(x>=0)return{list:h,index:x};for(const C of h)if(C.children){const _=a(C.children);if(_)return _}return null},l=a(this.widgets);if(!l)return;let s;i&&((b=T(i.type))!=null&&b.isContainer)?(i.children=i.children||[],s=i.children):s=this.widgets,this.commit();let m=n;s===l.list&&l.index<n&&(m=n-1);const[p]=l.list.splice(l.index,1);if(m=Math.max(0,Math.min(m,s.length)),s.splice(m,0,p),i&&i.type==="grid"){const h=i.layout||24;(l.list!==s||p.gridSpan==null)&&(p.gridSpan=h)}else delete p.gridSpan;this.selectedId=p.id},removeWidget(t){this.commit(),Z(this.widgets,t),this.selectedId===t&&(this.selectedId=null)},moveSibling(t,o){const n=s=>{if(s.findIndex(p=>p.id===t)>=0)return s;for(const p of s)if(p.children){const b=n(p.children);if(b)return b}return null},d=n(this.widgets);if(!d)return;const i=d.findIndex(s=>s.id===t),a=i+o;if(a<0||a>=d.length)return;this.commit();const[l]=d.splice(i,1);d.splice(a,0,l)},updateNode(t,o){const n=D(this.widgets,t);n&&(Object.assign(n,o),this.commit())},setDragging(t){this.draggingId=t},setExpanded(t,o){const n=D(this.widgets,t);n&&"expanded"in n&&(n.expanded=o)},dropTo(t){var i;const o=this.draggingId;if(!o||o===t)return;this.commit();const n=a=>{const l=a.findIndex(s=>s.id===o);if(l>=0){const[s]=a.splice(l,1);return s}for(const s of a)if(s.children){const m=n(s.children);if(m)return m}return null},d=n(this.widgets);if(!d){this.draggingId=null;return}if(t){const a=D(this.widgets,t);a&&((i=T(a.type))!=null&&i.isContainer)?(a.children=a.children||[],a.children.push(d)):this.widgets.push(d)}else this.widgets.push(d);this.draggingId=null,this.selectedId=d.id},loadSchema(t){this.formId=t.formId,this.dbtable=t.dbtable,this.fields=t.fields,this.widgets=L(t.widgets),this.events=t.events?L(t.events):{lifecycle:{},custom:[]},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:L(this.events)}},setFields(t){this.fields=t}}}),K={baseModule:"",apiModule:"form-designer"};let P={},z={},X={};function U(t){z={...z,...t}}function xo(t){P.apiModule=t}function Co(t){P.baseModule=t}function $o(){return{baseModule:X.baseModule??P.baseModule??z.baseModule??K.baseModule,apiModule:X.apiModule??P.apiModule??z.apiModule??K.apiModule}}function So(t,o=""){const{baseModule:n,apiModule:d}=$o();return`${n?`/${n}`:""}/api/${d}/${t}${o?`/${o}`:""}`}async function O(t,o){return So("getschema",t),JSON.parse(JSON.stringify(tn(t)))}const v="fd:form:";function ee(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,t=>{const o=Math.random()*16|0;return(t==="x"?o:o&3|8).toString(16)})}function te(t,o){localStorage.setItem(v+t,JSON.stringify(o))}function ne(t){const o=localStorage.getItem(v+t);if(!o)return null;try{return JSON.parse(o)}catch{return null}}const To="fdFireEvent";function oe(t,o={}){if(!(!t||!t.trim()))try{return new Function("ctx",`"use strict";
|
|
2
|
-
${t}`)(o)}catch(n){console.error("[form-designer] 事件处理函数执行失败:",n);return}}function Do(t){if(!(!t||!t.trim()||typeof document>"u"))try{const o=document.createElement("script");o.text=t,document.head.appendChild(o),o.remove()}catch(o){console.error("[form-designer] 自定义方法挂载失败:",o)}}const Fo={class:"fd-renderer"},le=N(e.defineComponent({__name:"Renderer",props:{widgets:{},formMode:{},formData:{},events:{},formId:{}},setup(t,{expose:o}){const n=t,d=e.computed(()=>n.widgets.filter(l=>{var m;const s=(m=T(l.type))==null?void 0:m.visibleModes;return!s||s.length===0?!0:n.formMode?s.includes(n.formMode):!0}));function i(l){var m;const s=(m=n.events)==null?void 0:m.lifecycle[l];oe(s,{formData:n.formData,event:l})}function a(l,s){var p;const m=(p=n.events)==null?void 0:p.custom.find(b=>b.name===l);m&&oe(m.handler,{formData:n.formData,event:l,payload:s})}return e.provide(To,a),e.onMounted(()=>{var l;i("onLoad"),i("onMounted"),Do((l=n.events)==null?void 0:l.lifecycle.custom)}),e.watch(()=>n.formData,()=>i("onValueChange"),{deep:!0}),o({fireEvent:a,runLifecycle:i}),(l,s)=>(e.openBlock(),e.createElementBlock("div",Fo,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value,m=>(e.openBlock(),e.createBlock(A,{key:m.id,node:m,mode:"render","form-mode":t.formMode,"form-data":t.formData,"form-id":t.formId},e.createSlots({_:2},[e.renderList(l.$slots,(p,b)=>({name:b,fn:e.withCtx(h=>[e.renderSlot(l.$slots,b,e.mergeProps({ref_for:!0},h||{}),void 0,!0)])}))]),1032,["node","form-mode","form-data","form-id"]))),128))]))}}),[["__scopeId","data-v-82088c12"]]),Lo={class:"fd-tree"},Io={class:"fd-tree-head"},Mo={key:0,class:"fd-tree-count"},jo={key:0,class:"fd-tree-empty"},Po={class:"fd-tree-name"},zo=["title"],Oo=N(e.defineComponent({__name:"ComponentTree",setup(t){const o=S();function n(l){var b;const s=T(l.type),m=l.label,p=(s==null?void 0:s.title)??l.type;return{id:l.id,label:m?`${p} · ${m}`:p,name:p,sub:m??"",children:(b=l.children)==null?void 0:b.map(n)}}const d=e.computed(()=>o.widgets.map(n)),i=e.computed(()=>{const l=s=>s.reduce((m,p)=>m+1+l(p.children??[]),0);return l(o.widgets)});function a(l){o.select(l.id),e.nextTick(()=>{var s;(s=document.querySelector(".fd-canvas-node.is-selected"))==null||s.scrollIntoView({block:"nearest"})})}return(l,s)=>(e.openBlock(),e.createElementBlock("div",Lo,[e.createElementVNode("div",Io,[s[0]||(s[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)),i.value?(e.openBlock(),e.createElementBlock("span",Mo,e.toDisplayString(i.value),1)):e.createCommentVNode("",!0)]),i.value?(e.openBlock(),e.createBlock(e.unref($.ElTree),{key:1,class:"fd-tree-el",data:d.value,"node-key":"id","current-node-key":e.unref(o).selectedId||"","highlight-current":"","default-expand-all":"","show-line":"","expand-on-click-node":!1,onNodeClick:a},{default:e.withCtx(({data:m})=>[e.createElementVNode("span",Po,e.toDisplayString(m.name),1),m.sub?(e.openBlock(),e.createElementBlock("span",{key:0,class:"fd-tree-sub",title:m.sub},e.toDisplayString(m.sub),9,zo)):e.createCommentVNode("",!0)]),_:1},8,["data","current-node-key"])):(e.openBlock(),e.createElementBlock("div",jo,[...s[1]||(s[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"]]),qo={class:"fd-toolbar"},Ao={class:"fd-toolbar-left flex-align-center"},Ro=["value"],Uo={class:"fd-device"},Yo={key:0,class:"is-active",title:"移动端比例(由 URL 参数 templateType 决定)"},Ho={key:1,class:"is-active",title:"电脑端比例(由 URL 参数 templateType 决定)"},Wo={class:"fd-toolbar-right flex-align-center"},Go=["disabled"],Jo=["disabled"],Qo={class:"fd-dialog fd-dialog--preview"},Zo={class:"fd-dialog-head"},Ko={class:"fd-preview-width"},Xo={class:"fd-dialog-body"},vo={class:"fd-dialog"},el={class:"fd-dialog-head"},tl={class:"fd-dialog-code"},nl={class:"fd-dialog"},ol={class:"fd-dialog-head"},ll={class:"fd-dialog-body"},al=N(e.defineComponent({__name:"Toolbar",setup(t){const o=S(),n=e.ref(!1),d=e.ref(!1),i=e.ref(!1),a=e.ref(!1);function l(){const u=new URLSearchParams(window.location.search).get("templateType")||"";return u==="mobile"||u==="2"}const s=e.ref(l()?375:1200);function m(){const u=Number(s.value);s.value=Math.min(1200,Math.max(270,Number.isFinite(u)?u:1200))}e.watch(()=>o.device,u=>{s.value=u==="mobile"?375:1200});const p=e.ref("");function b(){const u=p.value.trim();if(!u){window.alert("请先粘贴表单 JSON");return}try{o.loadSchema(JSON.parse(u))}catch{window.alert("JSON 解析失败");return}p.value="",a.value=!1}const h=e.computed(()=>JSON.stringify(o.toSchema(),null,2)),x=e.computed(()=>{const u={};o.fields.forEach(c=>{u[c.name]=c.name});const r=(c,g)=>(c.forEach(V=>{var I;V.type==="subtable"&&g.push(V),(I=V.children)!=null&&I.length&&r(V.children,g)}),g);return r(o.widgets,[]).forEach(c=>{if(c.type!=="subtable"||!c.secondtable)return;const g={};(c.colnums??[]).forEach(V=>{g[V.name]=V.name,V.bindLink&&(g[V.bindLink]=V.bindLink)}),u[c.secondtable]=[g]}),u});async function C(){let u=o.formId;!o.openedWithParam&&!u&&(u=ee()),o.formId=u,te(u,o.toSchema()),o.openedWithParam=!0,window.alert(`已保存(本地)
|
|
3
|
-
formId: ${u}`)}function _(){const u=ee();o.formId=u,o.openedWithParam=!0,te(u,o.toSchema()),window.alert(`已另存为新表单(本地)
|
|
4
|
-
formId: ${u}`)}async function E(){const u=ne(o.formId);if(u)o.loadSchema(u);else{const r=await O(o.formId);o.loadSchema(r)}}function f(){window.alert("发布成功(mock)")}const y=e.ref(null),k=e.ref(null);function B(u){var c,g;if(!i.value)return;const r=u.target;(c=y.value)!=null&&c.contains(r)||(g=k.value)!=null&&g.contains(r)||(i.value=!1)}return e.onMounted(()=>document.addEventListener("click",B)),e.onBeforeUnmount(()=>document.removeEventListener("click",B)),(u,r)=>(e.openBlock(),e.createElementBlock("div",qo,[e.createElementVNode("div",Ao,[r[17]||(r[17]=e.createElementVNode("span",{class:"fd-toolbar-title"},"表单设计器",-1)),e.createElementVNode("input",{class:"fd-toolbar-name",value:e.unref(o).formId,onInput:r[0]||(r[0]=c=>e.unref(o).formId=c.target.value)},null,40,Ro),e.createElementVNode("div",Uo,[e.unref(o).device==="mobile"?(e.openBlock(),e.createElementBlock("button",Yo,[...r[15]||(r[15]=[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",Ho,[...r[16]||(r[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:"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",Wo,[e.createElementVNode("button",{class:"fd-tool-btn",onClick:r[1]||(r[1]=c=>n.value=!0)},[...r[18]||(r[18]=[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:r[2]||(r[2]=c=>d.value=!0)},[...r[19]||(r[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("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:r[3]||(r[3]=c=>a.value=!0)},[...r[20]||(r[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("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:E},[...r[21]||(r[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("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:C},[...r[22]||(r[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("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:_},[...r[23]||(r[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("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:f},[...r[24]||(r[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("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)])]),r[28]||(r[28]=e.createElementVNode("span",{class:"fd-toolbar-divider"},null,-1)),e.createElementVNode("button",{class:"fd-tool-btn fd-tool-icon-btn",disabled:!e.unref(o).canUndo,title:"撤销",onClick:r[4]||(r[4]=c=>e.unref(o).undo())},[...r[25]||(r[25]=[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,Go),e.createElementVNode("button",{class:"fd-tool-btn fd-tool-icon-btn",disabled:!e.unref(o).canRedo,title:"重做",onClick:r[5]||(r[5]=c=>e.unref(o).redo())},[...r[26]||(r[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:"15 14 20 9 15 4"}),e.createElementVNode("path",{d:"M4 20v-7a4 4 0 0 1 4-4h12"})],-1)])],8,Jo),e.createElementVNode("button",{ref_key:"treeBtnRef",ref:k,class:"fd-tool-btn",onClick:r[6]||(r[6]=c=>i.value=!i.value)},[...r[27]||(r[27]=[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-2d05aedb><line x1="8" y1="6" x2="21" y2="6" data-v-2d05aedb></line><line x1="8" y1="12" x2="21" y2="12" data-v-2d05aedb></line><line x1="8" y1="18" x2="21" y2="18" data-v-2d05aedb></line><line x1="3" y1="6" x2="3.01" y2="6" data-v-2d05aedb></line><line x1="3" y1="12" x2="3.01" y2="12" data-v-2d05aedb></line><line x1="3" y1="18" x2="3.01" y2="18" data-v-2d05aedb></line></svg> 组件树 ',2)])],512)]),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[n.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"fd-dialog-mask",onClick:r[9]||(r[9]=e.withModifiers(c=>n.value=!1,["self"]))},[e.createElementVNode("div",Qo,[e.createElementVNode("div",Zo,[r[31]||(r[31]=e.createElementVNode("span",null,"预览",-1)),e.createElementVNode("div",Ko,[r[29]||(r[29]=e.createElementVNode("label",{for:"fd-preview-width-input"},"宽度",-1)),e.createVNode(e.unref($.ElInputNumber),{id:"fd-preview-width-input",modelValue:s.value,"onUpdate:modelValue":r[7]||(r[7]=c=>s.value=c),min:270,max:1200,step:10,size:"small","controls-position":"right",onChange:m},null,8,["modelValue"]),r[30]||(r[30]=e.createElementVNode("span",{class:"fd-preview-width-unit"},"px",-1))]),e.createElementVNode("button",{class:"fd-tool-btn",onClick:r[8]||(r[8]=c=>n.value=!1)},"关闭")]),e.createElementVNode("div",Xo,[e.createElementVNode("div",{class:"fd-preview-stage",style:e.normalizeStyle({width:s.value+"px"})},[e.createVNode(le,{widgets:e.unref(o).widgets,"form-data":x.value},null,8,["widgets","form-data"])],4)])])])):e.createCommentVNode("",!0),d.value?(e.openBlock(),e.createElementBlock("div",{key:1,class:"fd-dialog-mask",onClick:r[11]||(r[11]=e.withModifiers(c=>d.value=!1,["self"]))},[e.createElementVNode("div",vo,[e.createElementVNode("div",el,[r[32]||(r[32]=e.createElementVNode("span",null,"JSON Schema",-1)),e.createElementVNode("button",{class:"fd-tool-btn",onClick:r[10]||(r[10]=c=>d.value=!1)},"关闭")]),e.createElementVNode("pre",tl,e.toDisplayString(h.value),1)])])):e.createCommentVNode("",!0),a.value?(e.openBlock(),e.createElementBlock("div",{key:2,class:"fd-dialog-mask",onClick:r[14]||(r[14]=e.withModifiers(c=>a.value=!1,["self"]))},[e.createElementVNode("div",nl,[e.createElementVNode("div",ol,[r[33]||(r[33]=e.createElementVNode("span",null,"导入(粘贴 JSON)",-1)),e.createElementVNode("button",{class:"fd-tool-btn",onClick:r[12]||(r[12]=c=>a.value=!1)},"取消"),e.createElementVNode("button",{class:"fd-tool-btn fd-tool-btn--primary",onClick:b},"确认")]),e.createElementVNode("div",ll,[e.withDirectives(e.createElementVNode("textarea",{"onUpdate:modelValue":r[13]||(r[13]=c=>p.value=c),class:"fd-dialog-import-text",placeholder:"请粘贴表单 JSON(可从「查看代码」复制),确认后将覆盖当前表单"},null,512),[[e.vModelText,p.value]])])])])):e.createCommentVNode("",!0),i.value?(e.openBlock(),e.createElementBlock("div",{key:3,ref_key:"treeDrawerRef",ref:y,class:"fd-tree-drawer"},[e.createVNode(Oo)],512)):e.createCommentVNode("",!0)]))]))}}),[["__scopeId","data-v-2d05aedb"]]),dl={class:"fd-palette"},il={class:"fd-palette-group-title"},sl=["onDragstart","onClick"],rl={class:"fd-palette-icon"},cl=N(e.defineComponent({__name:"WidgetPalette",setup(t){const o=S(),n=pe(),d=[{title:"基础控件",types:["label","text"]},{title:"高级控件",types:["subtable"]},{title:"布局控件",types:["grid","card","slot"]}],i={grid:"▦",card:"▤",slot:"⧉",label:"T",text:"¶",subtable:"☰"};function a(m){return n.find(p=>p.type===m)}function l(m,p){var b;(b=m.dataTransfer)==null||b.setData("application/x-fd-new",p),m.dataTransfer&&(m.dataTransfer.effectAllowed="copy")}function s(m){o.addWidget(m)}return(m,p)=>(e.openBlock(),e.createElementBlock("div",dl,[p[0]||(p[0]=e.createElementVNode("div",{class:"fd-palette-title"},"控件库",-1)),(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(d,b=>e.createElementVNode("div",{key:b.title,class:"fd-palette-group"},[e.createElementVNode("div",il,e.toDisplayString(b.title),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(b.types,h=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:h},[a(h)?(e.openBlock(),e.createElementBlock("div",{key:0,class:"fd-palette-item",draggable:"true",onDragstart:x=>l(x,h),onClick:x=>s(h)},[e.createElementVNode("span",rl,e.toDisplayString(i[h]),1),e.createElementVNode("span",null,e.toDisplayString(a(h).title),1)],40,sl)):e.createCommentVNode("",!0)],64))),128))])),64))]))}}),[["__scopeId","data-v-6a2bab90"]]),ae=[{key:"onLoad",label:"加载完成",desc:"表单数据就绪后触发"},{key:"onMounted",label:"渲染挂载",desc:"渲染完成并挂载到 DOM 后触发"},{key:"onValueChange",label:"值变化",desc:"任意字段值变化时触发"},{key:"custom",label:"自定义方法",desc:"写入的方法将挂载至全局 window,可在其他事件处理中调用"}],ml={class:"fd-form-events"},pl={class:"fd-form-meta"},fl={class:"fd-events-section"},bl={class:"fd-event-head"},gl=["title"],yl={class:"fd-event-key"},kl=["onClick","title"],hl={key:0,class:"fd-event-trigger-text"},ul={key:1,class:"fd-event-trigger-placeholder"},_l={class:"fd-dialog",style:{"max-width":"600px"}},El={class:"fd-dialog-head"},Nl={class:"fd-dialog-body"},Vl=N(e.defineComponent({__name:"FormEventsPanel",setup(t){const o=e.defineAsyncComponent(()=>Promise.resolve().then(()=>ql)),n=S(),d=e.reactive({open:!1,type:"",hookKey:"",index:-1,title:"",draft:""});function i(s){d.open=!0,d.type="lifecycle",d.hookKey=s.key,d.title=`${s.label}(${s.key})`,d.draft=n.events.lifecycle[s.key]??""}function a(){d.type==="lifecycle"&&d.hookKey?n.setLifecycleHook(d.hookKey,d.draft):d.type==="custom"&&d.index>=0&&n.updateCustomEvent(d.index,{handler:d.draft}),d.open=!1}function l(){d.open=!1}return(s,m)=>(e.openBlock(),e.createElementBlock("div",ml,[m[4]||(m[4]=e.createElementVNode("div",{class:"fd-property-title"},"表单属性",-1)),e.createElementVNode("div",pl,[e.createElementVNode("span",null,"表单:"+e.toDisplayString(e.unref(n).formId),1),e.createElementVNode("span",null,"主表:"+e.toDisplayString(e.unref(n).dbtable),1)]),e.createElementVNode("section",fl,[m[2]||(m[2]=e.createElementVNode("h4",{class:"fd-events-h"},"全局事件 · 生命周期",-1)),m[3]||(m[3]=e.createElementVNode("p",{class:"fd-events-tip"},"渲染时绑定至对应钩子函数中执行",-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(ae),p=>(e.openBlock(),e.createElementBlock("div",{key:p.key,class:"fd-event-row"},[e.createElementVNode("div",bl,[e.createElementVNode("label",{title:p.desc},e.toDisplayString(p.label),9,gl),e.createElementVNode("code",yl,e.toDisplayString(p.key),1)]),e.createElementVNode("div",{class:"fd-event-trigger",onClick:b=>i(p),title:e.unref(n).events.lifecycle[p.key]||"点击编写处理函数"},[e.unref(n).events.lifecycle[p.key]?(e.openBlock(),e.createElementBlock("span",hl,e.toDisplayString(e.unref(n).events.lifecycle[p.key]),1)):(e.openBlock(),e.createElementBlock("span",ul,"点击编写")),m[1]||(m[1]=e.createElementVNode("span",{class:"fd-event-trigger-arrow"},"›",-1))],8,kl)]))),128))]),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[d.open?(e.openBlock(),e.createElementBlock("div",{key:0,class:"fd-dialog-mask",onClick:e.withModifiers(l,["self"])},[e.createElementVNode("div",_l,[e.createElementVNode("div",El,[e.createElementVNode("span",null,"编写处理函数 - "+e.toDisplayString(d.title),1),e.createElementVNode("button",{class:"fd-dialog-close",onClick:l,title:"关闭"},"×")]),e.createElementVNode("div",Nl,[e.createVNode(e.unref(o),{modelValue:d.draft,"onUpdate:modelValue":m[0]||(m[0]=p=>d.draft=p),language:"javascript"},null,8,["modelValue"])]),e.createElementVNode("div",{class:"fd-dialog-foot"},[e.createElementVNode("button",{class:"fd-btn fd-btn--primary",onClick:a},"确定")])])])):e.createCommentVNode("",!0)]))]))}}),[["__scopeId","data-v-7e5a3f15"]]),wl={class:"fd-property"},Bl={key:1,class:"fd-property-empty"},xl={key:1,class:"fd-property-item"},Cl=["value"],$l={class:"fd-property-foot"},Sl={class:"fd-property-type"},Tl=N(e.defineComponent({__name:"PropertyPanel",setup(t){const o=S(),n=e.computed(()=>o.selectedNode),d=e.computed(()=>n.value?T(n.value.type):void 0),i=e.computed(()=>{var m;return(m=d.value)==null?void 0:m.panel});function a(m){n.value&&o.updateNode(n.value.id,m)}const l=e.computed(()=>n.value!=null&&n.value.gridSpan!=null);function s(m){if(!n.value)return;const p=Number(m.target.value),b=Math.min(24,Math.max(1,Number.isFinite(p)?Math.round(p):24));o.updateNode(n.value.id,{gridSpan:b})}return(m,p)=>{var b;return e.openBlock(),e.createElementBlock("div",wl,[p[2]||(p[2]=e.createElementVNode("div",{class:"fd-property-title"},"属性",-1)),e.unref(o).selectedForm?(e.openBlock(),e.createBlock(Vl,{key:0})):n.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[i.value?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(i.value),{key:0,node:n.value,fields:e.unref(o).fields,onUpdate:a},null,40,["node","fields"])):e.createCommentVNode("",!0),l.value?(e.openBlock(),e.createElementBlock("div",xl,[p[1]||(p[1]=e.createElementVNode("label",null,"占比",-1)),e.createElementVNode("input",{type:"number",min:"1",max:"24",value:n.value.gridSpan,onChange:s},null,40,Cl)])):e.createCommentVNode("",!0),e.createElementVNode("div",$l,[e.createElementVNode("span",Sl,"类型:"+e.toDisplayString((b=d.value)==null?void 0:b.title),1)])],64)):(e.openBlock(),e.createElementBlock("div",Bl,[...p[0]||(p[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"]]),Dl={key:0,class:"fd-canvas-dropzone"},Fl=N(e.defineComponent({__name:"CanvasNode",props:{node:{},parentId:{},index:{}},setup(t){const o=t,n=S(),d=e.ref(null),i=e.computed(()=>{const f={};return o.node.gridSpan!=null&&(f.gridColumn=`span ${o.node.gridSpan}`),o.node.type==="text"&&(f.display=o.node.display||"inline-block"),Object.keys(f).length?f:void 0}),a=()=>{var f;return(f=T(o.node.type))==null?void 0:f.isContainer};function l(f,y){if(o.node.type!=="grid")return"";const k=o.node.layout||24;return J(f,y,o.node.children||[],k,n.device==="mobile")}function s(f){const y=f.dataTransfer;return!!y&&(y.types.includes("application/x-fd-new")||y.types.includes("application/x-fd-move"))}function m(){n.select(o.node.id)}function p(f){var y;f.stopPropagation(),n.setDragging(o.node.id),(y=f.dataTransfer)==null||y.setData("application/x-fd-move",o.node.id),f.dataTransfer&&(f.dataTransfer.effectAllowed="move")}function b(){n.dragOverId=null,n.dropContainerId=null,n.dragBefore=!1,n.setDragging(null)}function h(f){f.stopPropagation(),b()}function x(){n.dragOverId===o.node.id&&(n.dragOverId=null),n.dropContainerId===o.node.id&&(n.dropContainerId=null)}function C(f){if(s(f))if(f.preventDefault(),f.stopPropagation(),a())n.dragOverId=null,n.dragBefore=!1,n.dropContainerId=o.node.id;else{n.dropContainerId=null,n.dragOverId=o.node.id;const y=d.value;if(y){const k=y.getBoundingClientRect();n.dragBefore=f.clientY-k.top<k.height/2}}}function _(){x()}function E(f){var B,u,r;if(!s(f))return;f.preventDefault(),f.stopPropagation();const y=(B=f.dataTransfer)==null?void 0:B.getData("application/x-fd-new"),k=(u=f.dataTransfer)==null?void 0:u.getData("application/x-fd-move");if(a())y?n.addWidget(y,o.node.id):k&&n.moveNode(k,o.node.id,((r=o.node.children)==null?void 0:r.length)??0);else{const c=n.dragBefore?o.index:o.index+1;y?n.addWidget(y,o.parentId,c):k&&n.moveNode(k,o.parentId,c)}n.dragOverId=null,n.dragBefore=!1,n.dropContainerId=null}return(f,y)=>{const k=e.resolveComponent("CanvasNode",!0);return e.openBlock(),e.createElementBlock("div",{ref_key:"rootEl",ref:d,class:e.normalizeClass(["fd-canvas-node",[`fd-canvas-node--${t.node.type}`,{"is-selected":e.unref(n).selectedId===t.node.id,"drop-before":e.unref(n).dragOverId===t.node.id&&e.unref(n).dragBefore,"drop-target":e.unref(n).dropContainerId===t.node.id,"dragging-source":e.unref(n).draggingId===t.node.id}]]),style:e.normalizeStyle(i.value),draggable:"true",onMousedown:e.withModifiers(m,["stop"]),onClick:y[4]||(y[4]=e.withModifiers(()=>{},["stop"])),onDragstart:p,onDragend:h,onDragover:C,onDragleave:_,onDrop:E},[e.createElementVNode("div",{class:"fd-canvas-node-actions",onMousedown:y[3]||(y[3]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("span",{class:"fd-node-action",title:"上移",onClick:y[0]||(y[0]=e.withModifiers(B=>e.unref(n).moveSibling(t.node.id,-1),["stop"]))},[...y[5]||(y[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:y[1]||(y[1]=e.withModifiers(B=>e.unref(n).moveSibling(t.node.id,1),["stop"]))},[...y[6]||(y[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:y[2]||(y[2]=e.withModifiers(B=>e.unref(n).removeWidget(t.node.id),["stop"]))},[...y[7]||(y[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(A,{node:t.node,mode:"design"},e.createSlots({_:2},[a()&&t.node.children?{name:"children",fn:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.node.children,(B,u)=>(e.openBlock(),e.createBlock(k,{key:B.id,node:B,"parent-id":t.node.id,index:u,class:e.normalizeClass(l(B,u))},null,8,["node","parent-id","index","class"]))),128)),!t.node.children||t.node.children.length===0?(e.openBlock(),e.createElementBlock("div",Dl,"拖拽控件到此容器")):e.createCommentVNode("",!0)]),key:"0"}:void 0]),1032,["node"])],38)}}}),[["__scopeId","data-v-3f3a43d3"]]),Ll={class:"fd-designer"},Il={class:"fd-designer-body"},Ml={class:"fd-designer-left"},jl={key:0,class:"fd-canvas-empty"},Pl={class:"fd-designer-right"},de=N(e.defineComponent({__name:"Designer",props:{formId:{}},setup(t){const o=t,n=S();function d(a){(a==="PC"||a==="App")&&(n.device=a==="App"?"mobile":"pc")}e.onMounted(async()=>{const a=new URLSearchParams(window.location.search).get("templateType")||"";n.device=a==="mobile"||a==="2"?"mobile":"pc";const l=new URLSearchParams(window.location.search).get("formId")||"",s=o.formId||l||"";if(s){const m=ne(s);if(m){const p=await O(s),b={...m,fields:p.fields,dbtable:p.dbtable,templateType:p.templateType??m.templateType};d(b.templateType),n.loadSchema(b)}else{const p=await O(s);d(p.templateType),n.loadSchema(p)}n.openedWithParam=!0}else{const m=await O("");d(m.templateType),n.loadSchema(m),n.openedWithParam=!1,n.formId=""}});function i(a){var m,p;a.preventDefault();const l=(m=a.dataTransfer)==null?void 0:m.getData("application/x-fd-new"),s=(p=a.dataTransfer)==null?void 0:p.getData("application/x-fd-move");l?n.addWidget(l,null,n.widgets.length):s&&n.moveNode(s,null,n.widgets.length)}return(a,l)=>(e.openBlock(),e.createElementBlock("div",Ll,[e.createVNode(al),e.createElementVNode("div",Il,[e.createElementVNode("aside",Ml,[e.createVNode(cl)]),e.createElementVNode("main",{class:"fd-designer-center",onDragover:l[1]||(l[1]=e.withModifiers(()=>{},["prevent"])),onDrop:i},[e.createElementVNode("div",{class:e.normalizeClass(["fd-canvas",{"is-mobile":e.unref(n).device==="mobile","is-selected":e.unref(n).selectedForm}]),onClick:l[0]||(l[0]=s=>e.unref(n).selectForm())},[e.unref(n).widgets.length===0?(e.openBlock(),e.createElementBlock("div",jl,[...l[2]||(l[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(n).widgets,(s,m)=>(e.openBlock(),e.createBlock(Fl,{key:s.id,node:s,"parent-id":null,index:m},null,8,["node","index"]))),128))],2)],32),e.createElementVNode("aside",Pl,[e.createVNode(Tl)])])]))}}),[["__scopeId","data-v-2f9ce87a"]]);function zl(t){R(),(t.apiModule||t.baseModule)&&U({apiModule:t.apiModule,baseModule:t.baseModule});let o=null;const n={render:()=>e.h(le,{widgets:t.widgets,formMode:t.formMode,formData:t.formData,events:t.events,formId:t.formId,ref:i=>{o=i}})},d=e.createApp(n);return d.mount(t.container),{fireEvent:(i,a)=>{var l;return(l=o==null?void 0:o.fireEvent)==null?void 0:l.call(o,i,a)},unmount:()=>d.unmount()}}const Ol={install(t,o={}){R(),(o.apiModule||o.baseModule)&&U({apiModule:o.apiModule,baseModule:o.baseModule}),t.component("FdDesigner",de)}},ql=Object.freeze(Object.defineProperty({__proto__:null,default:N(e.defineComponent({__name:"CodeEditor",props:{modelValue:{default:""},language:{default:"javascript"}},emits:["update:modelValue"],setup(t,{emit:o}){const n=t,d=o,i=e.ref(null);let a=null;return e.onMounted(()=>{i.value&&(ce.javascriptDefaults.setDiagnosticsOptions({noSemanticValidation:!0,noSyntaxValidation:!1}),a=Y.editor.create(i.value,{value:n.modelValue,language:n.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}}),a.onDidChangeModelContent(()=>{d("update:modelValue",(a==null?void 0:a.getValue())??"")}))}),e.watch(()=>n.modelValue,l=>{a&&l!==a.getValue()&&a.setValue(l??"")}),e.watch(()=>n.language,l=>{const s=a==null?void 0:a.getModel();s&&Y.editor.setModelLanguage(s,l)}),e.onBeforeUnmount(()=>{a==null||a.dispose(),a=null}),(l,s)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"container",ref:i,class:"fd-code-editor"},null,512))}}),[["__scopeId","data-v-aeb9c1ee"]])},Symbol.toStringTag,{value:"Module"}));w.Designer=de,w.LIFECYCLE_HOOKS=ae,w.configureApi=U,w.default=Ol,w.registerComponent=F,w.renderForm=zl,w.setApiModule=xo,w.setBaseModule=Co,Object.defineProperties(w,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
|
|
5
|
-
//# sourceMappingURL=mt-form-designer.umd.cjs.map
|