/*! Build based on gin-vue-admin Time : 1757946830000 */ import{_ as e,C as a,a as l,U as t,g as s,b as n,d as o,e as i,c as u,f as d,i as r}from"./QR-code.BexEuyTh.js";import{C as c}from"./index.DPTPLkd0.js";import{a as p,g as m,ag as v,ab as g,c as f,o as h,b as w,f as y,w as k,n as I,C as b,i as x,d as _,h as C,v as D,G as V,E as O,k as U,ah as j}from"./index.DlqNVRUO.js";import{_ as E}from"./warningBar.DQ1jV9hi.js";import"./image.GvU-S7BA.js";import"./vue-cropper.es.DpMT2N2c.js";const S=(e,a)=>{var l=new Image;l.setAttribute("crossOrigin","anonymous"),l.onload=function(){var e=document.createElement("canvas");e.width=l.width,e.height=l.height,e.getContext("2d").drawImage(l,0,0,l.width,l.height);var t=e.toDataURL("image/png"),s=document.createElement("a"),n=new MouseEvent("click");s.download=a||"photo",s.href=t,s.dispatchEvent(n)},l.src=e},z={class:"flex gap-4 p-2"},B={class:"flex-none w-64 bg-white text-slate-700 dark:text-slate-400 dark:bg-slate-900 rounded p-4"},T={class:"flex-1 bg-white text-slate-700 dark:text-slate-400 dark:bg-slate-900"},M={class:"gva-table-box mt-0 mb-0"},P={class:"gva-btn-list gap-3"},A=["onClick"],L={class:"gva-pagination"},R=Object.assign({name:"Upload"},{__name:"upload",setup(R){const F=p(!1),q=p("/api"),G=p(""),H=p(""),J=p(1),K=p(0),N=p(10),Q=p({keyword:null,classId:0}),W=p([]),X=e=>{N.value=e,$()},Y=e=>{J.value=e,$()},Z=()=>{Q.value.classId=0,J.value=1,$()},$=async()=>{const e=await s({page:J.value,pageSize:N.value,...Q.value});0===e.code&&(W.value=e.data.list,K.value=e.data.total,J.value=e.data.page,N.value=e.data.pageSize)};$();const ee=()=>{U.prompt("格式:文件名|链接或者仅链接。","导入",{confirmButtonText:"确定",cancelButtonText:"取消",inputType:"textarea",inputPlaceholder:"我的图片|https://my-oss.com/my.png\nhttps://my-oss.com/my_1.png",inputPattern:/\S/,inputErrorMessage:"不能为空"}).then(async({value:e})=>{let a=e.split("\n"),l=[];a.forEach(e=>{let a,t,s=e.trim().split("|");if(s.length>1)t=s[0].trim(),a=s[1];else{a=s[0].trim();let e=a.substring(a.lastIndexOf("/")+1);t=e.substring(0,e.lastIndexOf("."))}a&&l.push({name:t,url:a,classId:Q.value.classId,tag:a.substring(a.lastIndexOf(".")+1),key:j()})});0===(await r(l)).code&&(O({type:"success",message:"导入成功!"}),await $())}).catch(()=>{O({type:"info",message:"取消导入"})})},ae=()=>{Q.value.keyword=null,J.value=1,$()},le={children:"children",label:"name",value:"ID"},te=p([]),se=async()=>{const e=await n();let a={name:"全部分类",ID:0,pid:0,children:[]};0===e.code&&(te.value=e.data||[],te.value.unshift(a))},ne=e=>{Q.value.keyword=null,Q.value.classId=e.ID,J.value=1,$()},oe=p(!1),ie=p({ID:0,pid:0,name:""}),ue=p(null),de=p({name:[{required:!0,message:"请输入分类名称",trigger:"blur"},{max:20,message:"最多20位字符",trigger:"blur"}]}),re=async()=>{ue.value.validate(async e=>{if(e){0===(await d(ie.value)).code&&(O({type:"success",message:"操作成功"}),await se(),ce())}})},ce=()=>{oe.value=!1,ie.value={ID:0,pid:0,name:""}};return se(),(s,n)=>{const d=m("MoreFilled"),r=m("el-icon"),p=m("Plus"),j=m("el-dropdown-item"),R=m("el-dropdown-menu"),pe=m("el-dropdown"),me=m("el-tree"),ve=m("el-scrollbar"),ge=m("el-button"),fe=m("el-input"),he=m("el-table-column"),we=m("el-tag"),ye=m("el-table"),ke=m("el-pagination"),Ie=m("el-tree-select"),be=m("el-form-item"),xe=m("el-form"),_e=m("el-dialog"),Ce=v("loading");return g((h(),f("div",null,[w("div",z,[w("div",B,[y(ve,{style:{height:"calc(100vh - 300px)"}},{default:k(()=>[y(me,{data:te.value,"node-key":"id",props:le,onNodeClick:ne,"default-expand-all":""},{default:k(({node:e,data:a})=>[w("div",{class:I(["w-36",Q.value.classId===a.ID?"text-blue-500 font-bold":""])},b(a.name),3),y(pe,null,{dropdown:k(()=>[y(R,null,{default:k(()=>[y(j,{onClick:e=>{return l=a,oe.value=!0,ie.value.ID=0,void(ie.value.pid=l.ID);var l}},{default:k(()=>[...n[4]||(n[4]=[C("添加分类",-1)])]),_:1},8,["onClick"]),a.ID>0?(h(),x(j,{key:0,onClick:e=>{return l=a,ie.value={ID:l.ID,pid:l.pid,name:l.name},void(oe.value=!0);var l}},{default:k(()=>[...n[5]||(n[5]=[C("编辑分类",-1)])]),_:1},8,["onClick"])):_("",!0),a.ID>0?(h(),x(j,{key:1,onClick:e=>(async e=>{0===(await o({id:e})).code&&(O.success({type:"success",message:"删除成功"}),await se())})(a.ID)},{default:k(()=>[...n[6]||(n[6]=[C("删除分类",-1)])]),_:1},8,["onClick"])):_("",!0)]),_:2},1024)]),default:k(()=>[a.ID>0?(h(),x(r,{key:0,class:"ml-3 text-right"},{default:k(()=>[y(d)]),_:1})):(h(),x(r,{key:1,class:"ml-3 text-right mt-1"},{default:k(()=>[y(p)]),_:1}))]),_:2},1024)]),_:1},8,["data"])]),_:1})]),w("div",T,[w("div",M,[y(E,{title:"点击“文件名”可以编辑;选择的类别即是上传的类别。"}),w("div",P,[y(e,{"image-common":H.value,classId:Q.value.classId,onOnSuccess:ae},null,8,["image-common","classId"]),y(a,{classId:Q.value.classId,onOnSuccess:ae},null,8,["classId"]),y(l,{classId:Q.value.classId,onOnSuccess:ae},null,8,["classId"]),y(t,{"image-url":G.value,"file-size":512,"max-w-h":1080,classId:Q.value.classId,onOnSuccess:ae},null,8,["image-url","classId"]),y(ge,{type:"primary",icon:"upload",onClick:ee},{default:k(()=>[...n[7]||(n[7]=[C(" 导入URL ",-1)])]),_:1}),y(fe,{modelValue:Q.value.keyword,"onUpdate:modelValue":n[0]||(n[0]=e=>Q.value.keyword=e),class:"w-72",placeholder:"请输入文件名或备注"},null,8,["modelValue"]),y(ge,{type:"primary",icon:"search",onClick:Z},{default:k(()=>[...n[8]||(n[8]=[C("查询 ",-1)])]),_:1})]),y(ye,{data:W.value},{default:k(()=>[y(he,{align:"left",label:"预览",width:"100"},{default:k(e=>[y(c,{"pic-type":"file","pic-src":e.row.url,preview:""},null,8,["pic-src"])]),_:1}),y(he,{align:"left",label:"日期",prop:"UpdatedAt",width:"180"},{default:k(e=>[w("div",null,b(D(V)(e.row.UpdatedAt)),1)]),_:1}),y(he,{align:"left",label:"文件名/备注",prop:"name",width:"180"},{default:k(e=>[w("div",{class:"cursor-pointer",onClick:a=>(async e=>{U.prompt("请输入文件名或者备注","编辑",{confirmButtonText:"确定",cancelButtonText:"取消",inputPattern:/\S/,inputErrorMessage:"不能为空",inputValue:e.name}).then(async({value:a})=>{e.name=a,0===(await i(e)).code&&(O({type:"success",message:"编辑成功!"}),await $())}).catch(()=>{O({type:"info",message:"取消修改"})})})(e.row)},b(e.row.name),9,A)]),_:1}),y(he,{align:"left",label:"链接",prop:"url","min-width":"300"}),y(he,{align:"left",label:"标签",prop:"tag",width:"100"},{default:k(e=>{var a;return[y(we,{type:"jpg"===(null==(a=e.row.tag)?void 0:a.toLowerCase())?"info":"success","disable-transitions":""},{default:k(()=>[C(b(e.row.tag),1)]),_:2},1032,["type"])]}),_:1}),y(he,{align:"left",label:"操作",width:"160"},{default:k(e=>[y(ge,{icon:"download",type:"primary",link:"",onClick:a=>{var l;(l=e.row).url.indexOf("http://")>-1||l.url.indexOf("https://")>-1?S(l.url,l.name):S(q.value+"/"+l.url,l.name)}},{default:k(()=>[...n[9]||(n[9]=[C("下载 ",-1)])]),_:1},8,["onClick"]),y(ge,{icon:"delete",type:"primary",link:"",onClick:a=>(async e=>{U.confirm("此操作将永久删除文件, 是否继续?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(async()=>{0===(await u(e)).code&&(O({type:"success",message:"删除成功!"}),1===W.value.length&&J.value>1&&J.value--,await $())}).catch(()=>{O({type:"info",message:"已取消删除"})})})(e.row)},{default:k(()=>[...n[10]||(n[10]=[C("删除 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"]),w("div",L,[y(ke,{"current-page":J.value,"page-size":N.value,"page-sizes":[10,30,50,100],style:{float:"right",padding:"20px"},total:K.value,layout:"total, sizes, prev, pager, next, jumper",onCurrentChange:Y,onSizeChange:X},null,8,["current-page","page-size","total"])])])])]),y(_e,{modelValue:oe.value,"onUpdate:modelValue":n[3]||(n[3]=e=>oe.value=e),onClose:ce,width:"520",title:(0===ie.value.ID?"添加":"编辑")+"分类",draggable:""},{footer:k(()=>[y(ge,{onClick:ce},{default:k(()=>[...n[11]||(n[11]=[C("取消",-1)])]),_:1}),y(ge,{type:"primary",onClick:re},{default:k(()=>[...n[12]||(n[12]=[C("确定",-1)])]),_:1})]),default:k(()=>[y(xe,{ref_key:"categoryForm",ref:ue,rules:de.value,model:ie.value,"label-width":"80px"},{default:k(()=>[y(be,{label:"上级分类"},{default:k(()=>[y(Ie,{modelValue:ie.value.pid,"onUpdate:modelValue":n[1]||(n[1]=e=>ie.value.pid=e),data:te.value,"check-strictly":"",props:le,"render-after-expand":!1,style:{width:"240px"}},null,8,["modelValue","data"])]),_:1}),y(be,{label:"分类名称",prop:"name"},{default:k(()=>[y(fe,{modelValue:ie.value.name,"onUpdate:modelValue":n[2]||(n[2]=e=>ie.value.name=e),modelModifiers:{trim:!0},placeholder:"分类名称"},null,8,["modelValue"])]),_:1})]),_:1},8,["rules","model"])]),_:1},8,["modelValue","title"])])),[[Ce,F.value,void 0,{fullscreen:!0,lock:!0}]])}}});export{R as default};