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.
2 lines
10 KiB
2 lines
10 KiB
|
4 months ago
|
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
|