niucloud-admin/niucloud/public/admin/assets/attachment-b0910b84.js
全栈小学生 c665981070 up
2025-05-23 14:56:18 +08:00

2 lines
14 KiB
JavaScript

import{d as Ue,r as O,l as $,ae as W,V as ce,aK as Fe,W as re,af as V,z as S,h as s,c as p,a as r,e as n,u as o,k as i,w as l,n as M,t as u,F as P,S as R,m as h,i as C,B as y,aL as Le,J as de,a7 as Te,ag as ue,a2 as me,D as je,aM as Be,aN as De,aO as Me,a1 as Pe,E as Ne,aP as Re,ao as Je,ap as Ke,C as Ge,av as He,ah as We,_ as Xe,X as qe,aa as Qe,G as Ye,H as Ze,R as et,aJ as tt,L as at,p as lt,g as nt}from"./index-08dd4327.js";/* empty css */import{_ as ot}from"./index.vue_vue_type_script_setup_true_lang-2b567824.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./el-form-item-4ed993c7.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-4ed993c7.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{_ as st}from"./index.vue_vue_type_script_setup_true_lang-c49efe6d.js";import{_ as it}from"./index.vue_vue_type_script_setup_true_lang-6c641cdd.js";import{s as ct,t as rt,u as dt,v as ut,w as mt,x as pt,y as ft,z as _t,A as vt}from"./sys-c2b6ae2b.js";import{_ as ht}from"./_plugin-vue_export-helper-c27b6911.js";/* empty css */const gt=""+new URL("no_attachment-7faa8140.png",import.meta.url).href,yt=d=>(lt("data-v-f07fc523"),d=d(),nt(),d),xt={class:"group-wrap w-[180px] p-[15px] h-full border-r border-color flex flex-col"},wt={class:"group-list flex-1 my-[10px] h-0"},kt=["onClick"],bt={key:0,class:"leading-none operate py-[10px]"},Ct={class:"text-center w-full"},Vt={class:"attachment-list-wrap flex flex-col p-[15px] flex-1 overflow-hidden"},Et={class:"flex"},$t={key:1},It={class:"flex-1 my-[15px] h-0"},At={key:0,class:"flex flex-wrap"},zt=["onClick"],Ot=["src"],St={class:"absolute z-[1] flex items-center justify-center w-full h-full inset-0 bg-black bg-opacity-60"},Ut={class:"file-box-active absolute z-[1] bottom-0 right-0 w-full h-full"},Ft={class:"absolute bottom-[2px] right-[2px] text-white z-[2] leading-none"},Lt={class:"flex items-center"},Tt={class:"truncate my-[10px] cursor-pointer text-base flex-1 text-center"},jt={class:"text-center w-full"},Bt={class:"text-center w-full"},Dt={class:"text-center w-full"},Mt={class:"text-center w-full"},Pt={key:1,class:"flex flex-wrap"},Nt={class:"attachment-wrap w-full rounded cursor-pointer overflow-hidden relative flex items-center justify-center h-[120px]"},Rt=["src","onClick"],Jt={class:"flex items-center"},Kt={class:"truncate my-[10px] cursor-pointer text-base flex-1 text-center"},Gt={key:2,class:"flex absolute top-0 left-0 right-0 bottom-0 items-center justify-center"},Ht={key:0,class:"flex flex-col items-center"},Wt=yt(()=>r("img",{src:gt,class:"max-w-[160px] max-h-[120px] mb-[15px]"},null,-1)),Xt={class:"text-[var(--el-text-color-secondary)] text-[14px]"},qt={class:"flex items-center"},Qt={class:"flex h-full justify-end items-center"},Yt={class:"dialog-footer"},Zt=Ue({__name:"attachment",props:{limit:{type:Number,default:1},type:{type:String,default:"image"},scene:{type:String,default:"select"}},setup(d,{expose:pe}){const m=d,J=O(""),U=O(!1),x=O(!1),f=$({}),k=$([]),I=$({data:[]}),c=$({loading:!0,page:1,total:0,limit:m.scene=="select"?10:20,data:[]});m.scene=="select"?(c.limit=10,m.type=="icon"&&(c.limit=20)):(c.limit=20,m.type=="icon"&&(c.limit=30));const K=$({name:""}),E=$({real_name:"",cate_id:0}),G=ue(()=>{(m.type=="icon"?pt:ft)({type:m.type,...K}).then(e=>{I.data=e.data}).catch(()=>{})});G();const A=ue((a=1)=>{const e=m.type=="icon"?_t:vt;c.loading=!0,c.page=a,e({page:c.page,limit:c.limit,att_type:m.type,...E}).then(_=>{if(c.data=_.data.data,c.total=_.data.total,c.loading=!1,m.scene=="attachment"&&Q(),m.type!="icon")for(let w=0;w<c.data.length;w++)c.data[w].image_list=[],c.data[w].image_list.push(S(_.data.data[w].url))}).catch(()=>{c.loading=!1})});A(),W(()=>E.cate_id,()=>{A()});const fe=a=>{x.value||(x.value=!0,ct({type:m.type,name:a}).then(e=>{x.value=!1,J.value="",G(1)}).catch(()=>{x.value=!1}))},_e=(a,e)=>{x.value||(x.value=!0,rt({id:I.data[e].id,name:a}).then(_=>{x.value=!1,I.data[e].name=a}).catch(()=>{x.value=!1}))},ve=a=>{x.value||(x.value=!0,me.confirm(i("upload.deleteCategoryTips"),i("warning"),{confirmButtonText:i("confirm"),cancelButtonText:i("cancel"),type:"warning"}).then(()=>{dt(I.data[a].id).then(()=>{I.data.splice(a,1),x.value=!1}).catch(()=>{x.value=!1})}))},X=O(null),F=O(null),he=ce(()=>{const a={};return a.token=Fe(),{action:`/adminapi//sys/${m.type}`,multiple:!0,data:{cate_id:E.cate_id},headers:a,onSuccess:(e,_,w)=>{var D;e.code>=1?(A(),(D=X.value)==null||D.handleRemove(_)):F.value==null?F.value=setTimeout(()=>{_.status="fail",ge({message:e.msg,type:"error"}),clearTimeout(F.value),F.value=null},500):(clearTimeout(F.value),F.value=null)}}}),q=new Map,ge=a=>{const e=a.message,_=q.get(e);(!_||Date.now()-_.timestamp>5e3)&&(q.set(e,{timestamp:Date.now()}),re(a))},T=O(!1);W(T,()=>{if(T.value){const a=Object.keys(V(f));c.data.forEach(e=>{a.includes(e.att_id)||(f[e.att_id]=V(e),k.push(e.att_id))})}else Q()});const Q=()=>{const a=Object.keys(V(f));a.length&&(a.forEach(e=>{delete f[e],k.splice(k.indexOf(e),1)}),T.value=!1)},ye=a=>{if(f[a.att_id])delete f[a.att_id],k.splice(k.indexOf(a.att_id),1);else if(m.scene=="select"){const e=Object.keys(V(f)),_=e.length;if(m.limit==1&&_==m.limit)delete f[e[0]],k.splice(k.indexOf(e[0]),1);else if(m.limit&&_>=m.limit){re.info(i("upload.triggerUpperLimit"));return}f[a.att_id]=V(a),k.push(a.att_id)}else f[a.att_id]=V(a),k.push(a.att_id)},xe=a=>{let e=k.indexOf(a);return e==-1?0:e+1},Y=(a=null)=>{const e=a===null?Object.keys(V(f)):[c.data[a].att_id];me.confirm(i("upload.deleteAttachmentTips"),i("warning"),{confirmButtonText:i("confirm"),cancelButtonText:i("cancel"),type:"warning"}).then(()=>{ut({att_ids:e}).then(()=>{A()}).catch(()=>{})})},v=$({cateId:"",loading:!1,visible:!1}),Z=(a=null)=>{const e=a===null?Object.keys(V(f)):[c.data[a].att_id];v.visible=!0,v.cateId=I.data[0].id,v.confirm=()=>{v.loading=!0,mt({cate_id:v.cateId,att_ids:e}).then(()=>{v.visible=!1,v.loading=!1,A()}).catch(()=>{v.loading=!1})}},H=O(!0);W(f,()=>{H.value=Object.keys(V(f)).length==0});const j=$({show:!1,index:0}),we=a=>{j.show=!0,j.index=a},ke=ce(()=>V(c.data).map(a=>S(a.url))),B=$({visible:!1,src:""}),ee=a=>{B.visible=!0,B.src=S(c.data[a].url)};return pe({selectedFile:f,selectedFileIndex:k}),(a,e)=>{const _=je,w=it,D=st,L=Be,te=De,ae=Me,le=Pe,z=Ne,be=Re,N=Je,ne=Ke,oe=Ge,se=He,Ce=We,Ve=Xe,Ee=qe,$e=Qe,Ie=Ye,Ae=Ze,ie=et,ze=tt,Oe=ot,Se=at;return s(),p("div",{class:M(["flex border-t border-b main-wrap border-color w-full",d.scene=="select"?"h-[40vh]":"h-full"])},[r("div",xt,[n(_,{modelValue:K.name,"onUpdate:modelValue":e[0]||(e[0]=t=>K.name=t),class:"m-0",placeholder:o(i)("upload.attachmentCategoryPlaceholder"),clearable:"","prefix-icon":"Search",onInput:e[1]||(e[1]=t=>o(G)())},null,8,["modelValue","placeholder"]),r("div",wt,[n(le,null,{default:l(()=>[r("div",{class:M(["group-item p-[10px] leading-none text-xs rounded cursor-pointer",{active:E.cate_id==0}]),onClick:e[2]||(e[2]=t=>E.cate_id=0)},u(o(i)("selectPlaceholder")),3),(s(!0),p(P,null,R(I.data,(t,g)=>(s(),p("div",{class:M(["group-item px-[10px] text-xs rounded cursor-pointer flex",{active:E.cate_id==t.id}]),key:g},[r("div",{class:"flex-1 leading-none truncate py-[10px]",onClick:b=>E.cate_id=t.id},u(t.name),9,kt),d.scene=="attachment"&&m.type!="icon"?(s(),p("div",bt,[d.scene=="attachment"?(s(),h(ae,{key:0,"hide-on-click":!1},{dropdown:l(()=>[n(te,null,{default:l(()=>[n(L,{class:"text-center"},{default:l(()=>[n(D,{placeholder:o(i)("upload.attachmentCategoryPlaceholder"),onConfirm:b=>_e(b,g),modelValue:t.name,"onUpdate:modelValue":b=>t.name=b},{default:l(()=>[r("span",null,u(o(i)("edit")),1)]),_:2},1032,["placeholder","onConfirm","modelValue","onUpdate:modelValue"])]),_:2},1024),n(L,{onClick:b=>ve(g)},{default:l(()=>[r("div",Ct,u(o(i)("delete")),1)]),_:2},1032,["onClick"])]),_:2},1024)]),default:l(()=>[n(w,{name:"element MoreFilled",class:"cursor-pointer ml-[10px]",size:"14px"}),C(" "+u(t.name)+" ",1)]),_:2},1024)):y("",!0)])):y("",!0)],2))),128))]),_:1})]),m.type!="icon"?(s(),h(D,{key:0,placeholder:o(i)("upload.attachmentCategoryPlaceholder"),onConfirm:fe,modelValue:J.value,"onUpdate:modelValue":e[3]||(e[3]=t=>J.value=t)},{default:l(()=>[n(z,null,{default:l(()=>[C(u(o(i)("upload.addAttachmentCategory")),1)]),_:1})]),_:1},8,["placeholder","modelValue"])):y("",!0)]),r("div",Vt,[n(ne,{gutter:15,class:"h-[32px]"},{default:l(()=>[n(N,{span:10},{default:l(()=>[r("div",Et,[m.type!="icon"?(s(),h(be,Le({key:0},o(he),{ref_key:"uploadRef",ref:X}),{default:l(()=>[n(z,{type:"primary"},{default:l(()=>[C(u(o(i)("upload.upload"+d.type))+" "+u(a.isOpen),1)]),_:1})]),_:1},16)):y("",!0),d.scene=="attachment"&&m.type!="icon"?(s(),p("div",$t,[U.value===!1?(s(),h(z,{key:0,class:"ml-[10px]",type:"primary",onClick:e[4]||(e[4]=t=>U.value=!0)},{default:l(()=>[C(u(o(i)("edit")),1)]),_:1})):(s(),h(z,{key:1,class:"ml-[10px]",type:"primary",onClick:e[5]||(e[5]=t=>U.value=!1)},{default:l(()=>[C(u(o(i)("complete")),1)]),_:1}))])):y("",!0)])]),_:1}),n(N,{span:14,class:"text-right"},{default:l(()=>[n(_,{modelValue:E.real_name,"onUpdate:modelValue":e[6]||(e[6]=t=>E.real_name=t),class:"m-0 !w-[200px]",clearable:"",placeholder:o(i)("upload.placeholder"+d.type+"Name"),"prefix-icon":"Search",onInput:e[7]||(e[7]=t=>o(A)())},null,8,["modelValue","placeholder"])]),_:1})]),_:1}),de((s(),p("div",It,[n(le,null,{default:l(()=>[c.data.length&&(U.value===!0||d.scene!="attachment")?(s(),p("div",At,[(s(!0),p(P,null,R(c.data,(t,g)=>(s(),p("div",{class:M(["attachment-item mr-[10px]",d.scene=="select"?"w-[100px]":"w-[120px]"]),key:g},[r("div",{class:M(["attachment-wrap w-full rounded cursor-pointer overflow-hidden relative flex items-center justify-center",d.scene=="select"?"h-[100px]":"h-[120px]"]),onClick:b=>ye(t)},[d.type=="image"?(s(),h(oe,{key:0,src:o(S)(t.url),fit:"contain"},null,8,["src"])):d.type=="video"?(s(),p("video",{key:1,src:o(S)(t.url)},null,8,Ot)):d.type=="icon"?(s(),h(w,{key:2,name:t.url,size:"24px"},null,8,["name"])):y("",!0),de(r("div",St,[n(w,{name:"element Select",color:"#fff",size:"40px"}),r("div",Ut,[r("span",Ft,u(xe(t.att_id)),1)])],512),[[Te,f[t.att_id]]])],10,zt),r("div",Lt,[n(se,{placement:"top"},{content:l(()=>[C(u(t.real_name),1)]),default:l(()=>[r("div",Tt,u(t.real_name),1)]),_:2},1024),d.scene=="attachment"?(s(),h(ae,{key:0,"hide-on-click":!1,class:"attachment-action hidden"},{dropdown:l(()=>[n(te,null,{default:l(()=>[t.att_type=="image"?(s(),h(L,{key:0,class:"text-center",onClick:b=>we(g)},{default:l(()=>[r("div",jt,u(o(i)("lookOver")),1)]),_:2},1032,["onClick"])):y("",!0),t.att_type=="video"?(s(),h(L,{key:1,class:"text-center",onClick:b=>ee(g)},{default:l(()=>[r("div",Bt,u(o(i)("lookOver")),1)]),_:2},1032,["onClick"])):y("",!0),n(L,{class:"text-center",onClick:b=>Z(g)},{default:l(()=>[r("div",Dt,u(o(i)("upload.move")),1)]),_:2},1032,["onClick"]),n(L,{onClick:b=>Y(g)},{default:l(()=>[r("div",Mt,u(o(i)("delete")),1)]),_:2},1032,["onClick"])]),_:2},1024)]),default:l(()=>[n(w,{name:"element MoreFilled",class:"cursor-pointer ml-[8px]",size:"14px"})]),_:2},1024)):y("",!0)])],2))),128))])):c.data.length&&U.value===!1?(s(),p("div",Pt,[(s(!0),p(P,null,R(c.data,(t,g)=>(s(),p("div",{class:"attachment-item mr-[10px] w-[120px]",key:g},[r("div",Nt,[d.type=="image"?(s(),h(oe,{key:0,src:o(S)(t.url),fit:"contain","preview-src-list":t.image_list},null,8,["src","preview-src-list"])):d.type=="video"?(s(),p("video",{key:1,src:o(S)(t.url),onClick:b=>ee(g)},null,8,Rt)):d.type=="icon"?(s(),h(w,{key:2,name:t.url,size:"24px"},null,8,["name"])):y("",!0)]),r("div",Jt,[n(se,{placement:"top"},{content:l(()=>[C(u(t.real_name),1)]),default:l(()=>[r("div",Kt,u(t.real_name),1)]),_:2},1024)])]))),128))])):(s(),p("div",Gt,[c.loading?y("",!0):(s(),p("div",Ht,[Wt,r("span",Xt,u(d.type=="icon"?o(i)("upload.iconEmpty"):o(i)("upload.attachmentEmpty")),1)]))]))]),_:1})])),[[Se,c.loading]]),n(ne,{gutter:20},{default:l(()=>[d.scene=="attachment"&&U.value===!0?(s(),h(N,{key:0,span:8},{default:l(()=>[r("div",qt,[n(Ce,{modelValue:T.value,"onUpdate:modelValue":e[8]||(e[8]=t=>T.value=t),label:o(i)("selectAll"),size:"large"},null,8,["modelValue","label"]),n(z,{class:"ml-[15px]",disabled:H.value,onClick:e[9]||(e[9]=t=>Y())},{default:l(()=>[C(u(o(i)("delete")),1)]),_:1},8,["disabled"]),n(z,{disabled:H.value,onClick:e[10]||(e[10]=t=>Z())},{default:l(()=>[C(u(o(i)("upload.move")),1)]),_:1},8,["disabled"])])]),_:1})):y("",!0),n(N,{span:24},{default:l(()=>[r("div",Qt,[n(Ve,{"current-page":c.page,"onUpdate:current-page":e[11]||(e[11]=t=>c.page=t),small:!0,"page-size":c.limit,"onUpdate:page-size":e[12]||(e[12]=t=>c.limit=t),"page-sizes":[10,20,30,40,60],layout:"total, sizes, prev, pager, next, jumper",total:c.total,onSizeChange:e[13]||(e[13]=t=>o(A)()),onCurrentChange:o(A)},null,8,["current-page","page-size","total","onCurrentChange"])])]),_:1})]),_:1})]),d.scene=="attachment"?(s(),p(P,{key:0},[n(ie,{modelValue:v.visible,"onUpdate:modelValue":e[17]||(e[17]=t=>v.visible=t),title:o(i)("upload.moveCategory"),width:"350px"},{footer:l(()=>[r("span",Yt,[n(z,{onClick:e[15]||(e[15]=t=>v.visible=!1)},{default:l(()=>[C(u(o(i)("cancel")),1)]),_:1}),n(z,{type:"primary",loading:v.loading,onClick:e[16]||(e[16]=t=>v.confirm())},{default:l(()=>[C(u(o(i)("confirm")),1)]),_:1},8,["loading"])])]),default:l(()=>[n(Ae,{"label-width":"60px"},{default:l(()=>[n(Ie,{label:o(i)("upload.moveTo"),style:{"margin-bottom":"0"}},{default:l(()=>[n($e,{modelValue:v.cateId,"onUpdate:modelValue":e[14]||(e[14]=t=>v.cateId=t),class:"input-width"},{default:l(()=>[(s(!0),p(P,null,R(I.data,(t,g)=>(s(),h(Ee,{label:t.name,value:t.id,key:g},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1},8,["label"])]),_:1})]),_:1},8,["modelValue","title"]),j.show?(s(),h(ze,{key:0,"url-list":o(ke),onClose:e[18]||(e[18]=t=>j.show=!1),"initial-index":j.index,"zoom-rate":1},null,8,["url-list","initial-index"])):y("",!0),n(ie,{modelValue:B.visible,"onUpdate:modelValue":e[19]||(e[19]=t=>B.visible=t),width:"50%","align-center":"","destroy-on-close":!0,"custom-class":"video-preview"},{default:l(()=>[n(Oe,{src:B.src,width:"100%"},null,8,["src"])]),_:1},8,["modelValue"])],64)):y("",!0)],2)}}});const Ia=ht(Zt,[["__scopeId","data-v-f07fc523"]]);export{Ia as default};