mirror of
https://gitee.com/vben/vben-app.git
synced 2026-10-06 14:13:09 +08:00
2 lines
7.5 KiB
JavaScript
2 lines
7.5 KiB
JavaScript
var s=(S,$,a)=>new Promise((E,g)=>{var p=t=>{try{b(a.next(t))}catch(C){g(C)}},T=t=>{try{b(a.throw(t))}catch(C){g(C)}},b=t=>t.done?E(t.value):Promise.resolve(t.value).then(p,T);b((a=a.apply(S,$)).next())});import{t as h,aa as pe,aT as ce,v as ue,a8 as fe,ai as me,ae as ge,aE as _e,af as ye,aG as he,aX as ve,am as we,aU as be,aV as Ce,aW as ke,ab as xe,E as R,_ as De}from"./bootstrap-Dvp__AlY.js";import{m as Ee}from"./edit-DOYUCpv5.js";import{a7 as Ne,T as U,a0 as Ve,X,a9 as Se,a1 as $e,b8 as Te,aN as v,aw as w,aO as l,ax as u,x as n,aP as Ae,aK as Ue,at as D,aR as i,au as V,aq as f}from"../jse/index-index-D97IFaZ_.js";const Be={class:"card-header"},Me={class:"tree-h-flex"},qe={class:"tree-h-left"},Ie={class:"tree-h-right"},Le={style:{"margin-bottom":"88px","font-family":"'Courier New', Helvetica, Arial, sans-serif"}},Re={class:"dialog-footer"},Xe=Ne({__name:"EditTree",props:{url:{type:String,required:!0},tip:{type:String,default:"分类",required:!1},type:{type:Number,default:1,required:!1}},emits:["node-click"],setup(S,{emit:$}){const a=S,E=$,g=U(""),p=U(),T={children:"children",label:"name"};Ve(g,o=>{p.value.filter(o)});const b=(o,e)=>o?e.name.includes(o):!0,t=X({data:[],optionCardX:"",optionCardY:"",optionCardShow:!1,optionData:[],show:!1,form:{},type:"add",url:""}),C=o=>s(null,null,function*(){if(o==="expandAll")for(let e=0;e<p.value.store._getAllNodes().length;e++)p.value.store._getAllNodes()[e].expanded=!0;else if(o==="collapseAll")for(let e=0;e<p.value.store._getAllNodes().length;e++)p.value.store._getAllNodes()[e].expanded=!1;else o==="refresh"?yield I():o==="rootNode"?E("node-click",{id:"",name:""}):o==="addCate"&&(yield A({}))}),B=(o,e)=>{if(e.id===o.pid)return e.children===null&&(e.children=[]),e.children.push(o),!0;if(e.children){for(const r of e.children)if(B(o,r))return!0}return!1},M=(o,e)=>{if(e.id===o.id)return e.name=o.name,e.notes=o.notes,!0;if(e.children){for(const r of e.children)if(M(o,r))return!0}return!1};let m={};const F=o=>{t.optionCardShow=!1,m={id:o.id,name:o.name},E("node-click",{id:o.id,name:o.name})},O=(o,e,r,_)=>{t.optionCardShow=!1,t.optionCardX=o.x,t.optionCardY=o.y,t.optionData=e,t.optionCardShow=!0,document.addEventListener("click",q)},q=()=>{t.optionCardShow=!1,document.removeEventListener("click",q)};Se(()=>s(null,null,function*(){yield I()}));const I=()=>s(null,null,function*(){t.data=yield h.get(`${a.url}/tree`)}),Y=(o,e)=>{console.log("DragStart")},z=(o,e,r)=>{console.log("DragEnter")},P=(o,e,r)=>{console.log("DragLeave")},G=(o,e,r)=>{console.log("DragOver")},H=(o,e,r,_)=>s(null,null,function*(){console.log("DragEnd")}),K=(o,e,r,_)=>s(null,null,function*(){yield h.post(`${a.url}/move`,{type:r,draid:o.data.id,droid:e.data.id}),console.log("handleDrop")}),W=(o,e,r)=>!(a.type===0&&r==="inner"),j=o=>!0,J=()=>s(null,null,function*(){yield A({pid:m.id})}),Q=()=>s(null,null,function*(){yield A({id:m.id})}),Z=()=>s(null,null,function*(){xe.confirm("确认要删除吗?","警告",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(()=>s(null,null,function*(){yield h.delete(`${a.url}/${m.id}`),p.value.remove(m)})).catch(()=>R.info("已取消删除"))}),L=X({}),{form:c}=$e(t),k=U(),A=o=>s(null,null,function*(){var e;o&&o.id?(t.form=yield h.get(`${a.url}/info/${o.id}`),t.type="edit",(t.form.pid===0||t.form.pid==="0")&&delete t.form.pid):(t.type="add",t.form={avtag:!0,children:[]},o.pid&&(t.form.pid=o.pid)),L.cates=yield o!=null&&o.id?h.get(`${a.url}/tree?id=${o==null?void 0:o.id}`):h.get(`${a.url}/tree`),t.show=!0,(e=k==null?void 0:k.value)==null||e.clearValidate()}),ee=()=>s(null,null,function*(){if(!t.form.name){R.warning("分类名称必须填写");return}t.url=a.url;const o={};if(o.id=yield Ee({formRef:k.value,state:t}),o.id&&(o.name=t.form.name,o.notes=t.form.notes,o.pid=t.form.pid,o.children=t.form.children),t.show=!1,t.type==="add"){if(o.pid===0||o.pid===null||o.pid===void 0)t.data.push(o);else for(const e of t.data)if(B(o,e))break}else if(t.type==="edit"){for(const e of t.data)if(M(o,e))break;m.name=o.name,m.notes=o.notes}});return(o,e)=>{const r=ye,_=Te("MoreFilled"),oe=we,y=fe,x=Ce,te=be,ae=ke,le=ce,ne=_e,N=ge,re=he,de=me,se=ve,ie=pe;return w(),v(ie,{class:"box-card",style:{height:"100%"},"body-style":"height: 100%;overflow: auto","body-class":"thin-scrollbar"},{header:l(()=>[u("div",Be,[u("div",Me,[u("div",qe,[u("div",null,[n(r,{"prefix-icon":"Search",modelValue:g.value,"onUpdate:modelValue":e[0]||(e[0]=d=>g.value=d),placeholder:`${a.tip} 可拖拽可右键`},null,8,["modelValue","placeholder"])])]),u("div",Ie,[u("div",null,[n(ae,{onCommand:C},{dropdown:l(()=>[n(te,null,{default:l(()=>[n(x,{command:"addCate"},{default:l(()=>[i("新增"+V(a.tip),1)]),_:1}),a.type===1?(w(),v(x,{key:0,command:"expandAll"},{default:l(()=>[...e[7]||(e[7]=[i("全部展开",-1)])]),_:1})):D("",!0),a.type===1?(w(),v(x,{key:1,command:"collapseAll"},{default:l(()=>[...e[8]||(e[8]=[i("全部折叠",-1)])]),_:1})):D("",!0),n(x,{command:"rootNode"},{default:l(()=>[...e[9]||(e[9]=[i("根目录",-1)])]),_:1}),n(x,{command:"refresh"},{default:l(()=>[...e[10]||(e[10]=[i("刷新",-1)])]),_:1})]),_:1})]),default:l(()=>[n(y,{style:{"margin-left":"8px",width:"34px"}},{default:l(()=>[n(oe,{class:"el-icon--center"},{default:l(()=>[n(_)]),_:1})]),_:1})]),_:1})])])])])]),default:l(()=>[u("div",Le,[n(le,{"highlight-current":"",onNodeContextmenu:O,"node-key":"id",ref_key:"treeRef",ref:p,class:"filter-tree",data:t.data,props:T,"filter-node-method":b,onNodeClick:F,draggable:"","allow-drop":W,"allow-drag":j,onNodeDragStart:Y,onNodeDragEnter:z,onNodeDragLeave:P,onNodeDragOver:G,onNodeDragEnd:H,onNodeDrop:K},null,8,["data"]),Ae(u("div",{class:"op-group",style:Ue({"z-index":9999,width:"100px",position:"fixed",left:`${t.optionCardX}px`,top:`${t.optionCardY}px`}),id:"option-button-group"},[a.type===1?(w(),v(y,{key:0,class:"option-card-button",onClick:J,style:{"border-bottom":"0"}},{default:l(()=>[i(" 新增"+V(a.tip),1)]),_:1})):D("",!0),n(y,{class:"option-card-button",onClick:Q,style:{"border-bottom":"0"}},{default:l(()=>[i(" 修改"+V(a.tip),1)]),_:1}),n(y,{class:"option-card-button",onClick:Z},{default:l(()=>[i("删除"+V(a.tip),1)]),_:1})],4),[[ue,t.optionCardShow]]),n(se,{modelValue:t.show,"onUpdate:modelValue":e[6]||(e[6]=d=>t.show=d),title:`${a.tip}编辑`,draggable:"",width:"500px"},{footer:l(()=>[u("span",Re,[n(y,{type:"primary",onClick:ee},{default:l(()=>[...e[11]||(e[11]=[i("保 存",-1)])]),_:1}),n(y,{onClick:e[5]||(e[5]=d=>t.show=!1)},{default:l(()=>[...e[12]||(e[12]=[i("取 消",-1)])]),_:1})])]),default:l(()=>[n(de,{ref_key:"formRef",ref:k,model:f(c),"label-width":"120px"},{default:l(()=>[a.type===1?(w(),v(N,{key:0,label:"上级分类"},{default:l(()=>[n(ne,{modelValue:f(c).pid,"onUpdate:modelValue":e[1]||(e[1]=d=>f(c).pid=d),data:L.cates,props:{value:"id",label:"name"},"value-key":"id",placeholder:"选择上级分类","check-strictly":""},null,8,["modelValue","data"])]),_:1})):D("",!0),n(N,{label:"分类名称",prop:"name",rules:[{required:!0,message:"分类名称不能为空"}]},{default:l(()=>[n(r,{modelValue:f(c).name,"onUpdate:modelValue":e[2]||(e[2]=d=>f(c).name=d)},null,8,["modelValue"])]),_:1}),a.type===1?(w(),v(N,{key:1,label:"是否可用",prop:"avtag",style:{width:"50%"}},{default:l(()=>[n(re,{modelValue:f(c).avtag,"onUpdate:modelValue":e[3]||(e[3]=d=>f(c).avtag=d)},null,8,["modelValue"])]),_:1})):D("",!0),n(N,{label:"备注:",prop:"notes"},{default:l(()=>[n(r,{type:"textarea",rows:4,modelValue:f(c).notes,"onUpdate:modelValue":e[4]||(e[4]=d=>f(c).notes=d)},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])])]),_:1})}}}),Pe=De(Xe,[["__scopeId","data-v-87871277"]]);export{Pe as E};
|