数通互联化工云平台
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

1 lines
10 KiB

import{d as xe,r as f,G as we,f as m,q as _,e,b as l,F,ah as be,ai as $e,ac as Ee,z as C,a as v,H as a,g as Z,a7 as k,aj as Fe,ab as De,ak as Me,a8 as Ne,a9 as Be,aa as Ge,al as Te,am as Pe,an as Ue,ao as Ae,ap as Re,n as Se,t as O,a4 as qe,$ as ee,c as ze,ae as re,aq as He,_ as je}from"./index-e450010e.js";/* empty css */import"./el-dropdown-menu-4ed993c7.js";const Le={class:"common-layout"},Oe={class:"header-btn"},Je={class:"sidebar-upper"},Ke={class:"sidebar-lower"},Qe={class:"sidebar-menu"},We=["onClick"],Xe={key:0},Ye={key:0,class:"menu-item-child"},Ze=["onClick"],el={key:1,class:"menu-item-child"},ll={class:"dialog-footer"},nl={class:"dialog-footer"},ol={class:"dialog-footer"},tl={class:"dialog-footer"},al=xe({__name:"createpage",setup(dl){function le(t,o){const d=[];let s=0;for(const p of t){const S={...p,parentId:o,order:s++};if(p.type==="group"){const u=t.filter(b=>b.parentId===p.id);S.children=le(u,p.id)}d.push(S)}return d}const r=f(le([{id:1,name:"分组A",type:"group",expanded:!0},{id:2,name:"表单1",type:"form",parentId:1},{id:3,name:"分组B",type:"group",parentId:1,expanded:!0},{id:4,name:"表单2",type:"form",parentId:3}])),D=f(""),h=f(!1),y=f(!1),M=f(!1),N=f(!1),I=f(""),V=f(""),x=f("");let B=null,J="";const w=f(void 0),G=f(null),T=f(void 0),P=f(void 0);we(()=>{D.value=localStorage.getItem("appName")||"未命名应用"});const ne=()=>{localStorage.setItem("appName",D.value)},ie=()=>{h.value=!0},ce=()=>{if(!I.value.trim()){k.error("表单名称不能为空");return}const t={id:r.value.length+1,name:I.value,type:"form",parentId:T.value};if(T.value!==void 0){const o=r.value.find(d=>d.id===T.value);o&&o.children&&o.children.push(t)}else r.value.push(t);k.success("新建成功"),h.value=!1,I.value=""},pe=()=>{y.value=!0},_e=()=>{if(!V.value.trim()){k.error("分组名称不能为空");return}const t={id:r.value.length+1,name:V.value,type:"group",parentId:P.value};if(P.value!==void 0){const o=r.value.find(d=>d.id===P.value);o&&o.children&&o.children.push(t)}else r.value.push(t);y.value=!1,V.value=""},oe=t=>{h.value=!0,T.value=t.id},te=t=>{y.value=!0,P.value=t.id},U=t=>{t.children&&t.children.length>0&&t.type==="group"&&t.parentId===w.value?re.confirm(`确定要删除分组 "${t.name}" 及其所有子分组和表单吗?`,"警告",{confirmButtonText:"确定删除",cancelButtonText:"取消",type:"warning"}).then(()=>{ae(t)}).catch(()=>{}):re.confirm(`确定要删除 ${t.type==="group"?"分组":"表单"} "${t.name}" 吗?`,"警告",{confirmButtonText:"确定删除",cancelButtonText:"取消",type:"warning"}).then(()=>{fe(t)}).catch(()=>{})},ae=t=>{for(const d of t.children??[]){d.children&&ae(d);const s=r.value.findIndex(p=>p.id===d.id);s!==-1&&r.value.splice(s,1)}const o=r.value.findIndex(d=>d.id===t.id);o!==-1&&r.value.splice(o,1)},fe=t=>{const o=r.value.findIndex(d=>d.id===t.id);if(o!==-1&&r.value.splice(o,1),t.parentId!==void 0){const d=r.value.find(s=>s.id===t.parentId);if(d&&d.children){const s=d.children.findIndex(p=>p.id===t.id);s!==-1&&d.children.splice(s,1)}}},A=t=>{B=t,J=t.name,N.value=!0},K=()=>{B=null,J="",N.value=!1},ve=()=>{K(),x.value=J},me=()=>{if(!x.value.trim()){k.error("名称不能为空");return}B&&(B.name=x.value,k.success("重命名成功")),K()},R=t=>{G.value=t.id,M.value=!0},Q=()=>{G.value=null,M.value=!1},Ce=()=>{Q()},ke=()=>{if(!w.value){k.error("请选择目标分组");return}const t=r.value.findIndex(p=>p.id===G.value);if(t===-1){k.error("移动失败,找不到待移动的项");return}r.value[t];const o=r.value.find(p=>p.id===w.value);if(!o||o.type!=="group"){k.error("移动失败,找不到目标分组");return}const d=r.value.splice(t,1)[0];d.parentId=o.id,o.children||(o.children=[]);const s=o.children.findIndex(p=>p.id>d.id);o.children.splice(s>=0?s:o.children.length,0,d),k.success("移动成功"),Q()},de=t=>{t.expanded=!t.expanded};return(t,o)=>{const d=Fe,s=De,p=be,S=C("Plus"),u=Me,b=C("DocumentAdd"),i=Ne,W=C("FolderAdd"),$=Be,E=Ge,ue=C("Folder"),q=C("MoreFilled"),z=C("Delete"),H=C("EditPen"),j=C("FolderRemove"),se=C("Document"),ge=Te,he=Pe,ye=$e,X=Ue,Y=Ae,L=Ee,Ie=He,Ve=Re;return v(),m(F,null,[_("div",Le,[e(p,null,{default:l(()=>[_("div",null,[e(d,{modelValue:D.value,"onUpdate:modelValue":o[0]||(o[0]=n=>D.value=n),class:"header-input",clearable:"",placeholder:"未命名应用",onClear:ne,onBlur:ne},null,8,["modelValue"])]),_("div",Oe,[e(s,{type:"primary"},{default:l(()=>[a("编辑表单")]),_:1})])]),_:1}),e(ye,null,{default:l(()=>[e(ge,null,{default:l(()=>[_("div",Je,[e(d,{placeholder:"搜索",class:"search-input"}),e(E,{trigger:"click"},{dropdown:l(()=>[e($,null,{default:l(()=>[e(i,{onClick:o[1]||(o[1]=()=>ie())},{default:l(()=>[e(u,null,{default:l(()=>[e(b)]),_:1}),a("新建表单")]),_:1}),e(i,{onClick:o[2]||(o[2]=()=>pe())},{default:l(()=>[e(u,null,{default:l(()=>[e(W)]),_:1}),a("新建分组")]),_:1})]),_:1})]),default:l(()=>[e(s,{type:"primary",plain:"",class:"add-btn"},{default:l(()=>[e(u,null,{default:l(()=>[e(S)]),_:1})]),_:1})]),_:1})]),_("div",Ke,[_("ul",Qe,[(v(!0),m(F,null,Z(r.value,n=>(v(),m(F,null,[n.type==="group"?(v(),m("li",{key:n.id},[_("div",{class:Se(["menu-item",{"is-collapsed":!n.expanded}]),onClick:c=>de(n)},[_("span",null,[e(u,null,{default:l(()=>[e(ue)]),_:1}),a(O(n.name),1)]),e(E,{trigger:"click",placement:"bottom-end"},{dropdown:l(()=>[e($,null,{default:l(()=>[e(i,{onClick:c=>oe(n)},{default:l(()=>[e(u,null,{default:l(()=>[e(b)]),_:1}),a("新建子表单")]),_:2},1032,["onClick"]),e(i,{onClick:c=>te(n)},{default:l(()=>[e(u,null,{default:l(()=>[e(W)]),_:1}),a("新建子分组")]),_:2},1032,["onClick"]),e(i,{onClick:c=>U(n)},{default:l(()=>[e(u,null,{default:l(()=>[e(z)]),_:1}),a("删除")]),_:2},1032,["onClick"]),e(i,{onClick:c=>A(n)},{default:l(()=>[e(u,null,{default:l(()=>[e(H)]),_:1}),a("修改名称")]),_:2},1032,["onClick"]),e(i,{onClick:c=>R(n)},{default:l(()=>[e(u,null,{default:l(()=>[e(j)]),_:1}),a("移动到")]),_:2},1032,["onClick"])]),_:2},1024)]),default:l(()=>[e(u,null,{default:l(()=>[e(q)]),_:1})]),_:2},1024)],10,We),e(qe,{name:"expand-collapse"},{default:l(()=>[n.children&&n.expanded?(v(),m("ul",Xe,[(v(!0),m(F,null,Z(n.children,c=>(v(),m("li",{key:c.id},[c.type==="group"?(v(),m("div",Ye,[_("span",{onClick:g=>de(c)},[e(u,null,{default:l(()=>[e(ue)]),_:1}),a(O(c.name),1)],8,Ze),e(E,{trigger:"click",placement:"bottom-end"},{dropdown:l(()=>[e($,null,{default:l(()=>[e(i,{onClick:g=>oe(n)},{default:l(()=>[e(u,null,{default:l(()=>[e(b)]),_:1}),a("新建子表单")]),_:2},1032,["onClick"]),e(i,{onClick:g=>te(n)},{default:l(()=>[e(u,null,{default:l(()=>[e(W)]),_:1}),a("新建子分组")]),_:2},1032,["onClick"]),e(i,{onClick:g=>U(n)},{default:l(()=>[e(u,null,{default:l(()=>[e(z)]),_:1}),a("删除")]),_:2},1032,["onClick"]),e(i,{onClick:g=>A(n)},{default:l(()=>[e(u,null,{default:l(()=>[e(H)]),_:1}),a("修改名称")]),_:2},1032,["onClick"]),e(i,{onClick:g=>R(n)},{default:l(()=>[e(u,null,{default:l(()=>[e(j)]),_:1}),a("移动到")]),_:2},1032,["onClick"])]),_:2},1024)]),default:l(()=>[e(u,null,{default:l(()=>[e(q)]),_:1})]),_:2},1024)])):c.type==="form"?(v(),m("div",el,[_("span",null,[e(u,null,{default:l(()=>[e(se)]),_:1}),a(O(c.name),1)]),e(E,{trigger:"click",placement:"bottom-end"},{dropdown:l(()=>[e($,null,{default:l(()=>[e(i,{onClick:g=>U(n)},{default:l(()=>[e(u,null,{default:l(()=>[e(z)]),_:1}),a("删除")]),_:2},1032,["onClick"]),e(i,{onClick:g=>A(n)},{default:l(()=>[e(u,null,{default:l(()=>[e(H)]),_:1}),a("修改名称")]),_:2},1032,["onClick"]),e(i,{onClick:g=>R(n)},{default:l(()=>[e(u,null,{default:l(()=>[e(j)]),_:1}),a("移动到")]),_:2},1032,["onClick"])]),_:2},1024)]),default:l(()=>[e(u,null,{default:l(()=>[e(q)]),_:1})]),_:2},1024)])):ee("",!0)]))),128))])):ee("",!0)]),_:2},1024)])):n.type==="form"?(v(),m("li",{key:n.id,class:"menu-item"},[_("span",null,[e(u,null,{default:l(()=>[e(se)]),_:1}),a(O(n.name),1)]),e(E,{trigger:"click",placement:"bottom-end"},{dropdown:l(()=>[e($,null,{default:l(()=>[e(i,{onClick:c=>U(n)},{default:l(()=>[e(u,null,{default:l(()=>[e(z)]),_:1}),a("删除")]),_:2},1032,["onClick"]),e(i,{onClick:c=>A(n)},{default:l(()=>[e(u,null,{default:l(()=>[e(H)]),_:1}),a("修改名称")]),_:2},1032,["onClick"]),e(i,{onClick:c=>R(n)},{default:l(()=>[e(u,null,{default:l(()=>[e(j)]),_:1}),a("移动到")]),_:2},1032,["onClick"])]),_:2},1024)]),default:l(()=>[e(u,null,{default:l(()=>[e(q)]),_:1})]),_:2},1024)])):ee("",!0)],64))),256))])])]),_:1}),e(he,null,{default:l(()=>[a(" 表单预览 ")]),_:1})]),_:1})]),e(L,{modelValue:h.value,"onUpdate:modelValue":o[5]||(o[5]=n=>h.value=n),title:"新建表单"},{default:l(()=>[e(Y,{"label-width":"80px"},{default:l(()=>[e(X,{label:"表单名称"},{default:l(()=>[e(d,{modelValue:I.value,"onUpdate:modelValue":o[3]||(o[3]=n=>I.value=n)},null,8,["modelValue"])]),_:1})]),_:1}),_("div",ll,[e(s,{onClick:o[4]||(o[4]=n=>h.value=!1)},{default:l(()=>[a("取消")]),_:1}),e(s,{type:"primary",onClick:ce},{default:l(()=>[a("保存")]),_:1})])]),_:1},8,["modelValue"]),e(L,{modelValue:y.value,"onUpdate:modelValue":o[8]||(o[8]=n=>y.value=n),title:"新建分组"},{default:l(()=>[e(Y,{"label-width":"80px"},{default:l(()=>[e(X,{label:"分组名称"},{default:l(()=>[e(d,{modelValue:V.value,"onUpdate:modelValue":o[6]||(o[6]=n=>V.value=n)},null,8,["modelValue"])]),_:1})]),_:1}),_("div",nl,[e(s,{onClick:o[7]||(o[7]=n=>y.value=!1)},{default:l(()=>[a("取消")]),_:1}),e(s,{type:"primary",onClick:_e},{default:l(()=>[a("保存")]),_:1})])]),_:1},8,["modelValue"]),e(L,{modelValue:N.value,"onUpdate:modelValue":o[10]||(o[10]=n=>N.value=n),title:"修改名称",onClose:K},{default:l(()=>[e(Y,{"label-width":"80px"},{default:l(()=>[e(X,{label:"名称"},{default:l(()=>[e(d,{modelValue:x.value,"onUpdate:modelValue":o[9]||(o[9]=n=>x.value=n)},null,8,["modelValue"])]),_:1})]),_:1}),_("div",ol,[e(s,{onClick:ve},{default:l(()=>[a("取消")]),_:1}),e(s,{type:"primary",onClick:me},{default:l(()=>[a("保存")]),_:1})])]),_:1},8,["modelValue"]),e(L,{modelValue:M.value,"onUpdate:modelValue":o[12]||(o[12]=n=>M.value=n),title:"移动分组",onClose:Q},{default:l(()=>[e(Ve,{modelValue:w.value,"onUpdate:modelValue":o[11]||(o[11]=n=>w.value=n),placeholder:"选择目标分组"},{default:l(()=>[(v(!0),m(F,null,Z(r.value.filter(n=>n.type==="group"&&n.id!==G.value),(n,c)=>(v(),ze(Ie,{key:c,label:n.name,value:n.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),_("div",tl,[e(s,{onClick:Ce},{default:l(()=>[a("取消")]),_:1}),e(s,{type:"primary",onClick:ke},{default:l(()=>[a("保存")]),_:1})])]),_:1},8,["modelValue"])],64)}}});const cl=je(al,[["__scopeId","data-v-3fb30349"]]);export{cl as default};