2 lines
11 KiB
JavaScript
2 lines
11 KiB
JavaScript
import{D as ce,B as ge,C as ye,R as ve,i as be,J as ke,m as we,l as Ve,M as Ee,N as xe,v as Ce,S as Re,T as he,L as Ue,U as Se,G as De,I as ze,P as Ae,Q as Te,V as Be,E as w,a as j}from"./element-plus-Bolc0EfP.js";import{w as Ie}from"./@vue/runtime-dom-DDAG46FW.js";import{a as Le,b as q,c as Oe,d as Pe,e as Ne}from"./asset-DtCIcZJF.js";import{_ as Fe}from"./picker-BFSyGoz9.js";import{U as Y}from"./index-8GEGc2Yz.js";import{f as Me,b as je,ak as r,I as k,a as t,aN as l,O as s,J as x,H as V,aP as qe,G as f,F as Ye,ap as $e,A as Ge}from"./@vue/runtime-core-C6bnekPw.js";import{Q as C}from"./@vue/shared-mAAVTE9n.js";import{n as m,r as A}from"./@vue/reactivity-DiY1c2vO.js";import"./@element-plus/icons-vue-B0jSCQ-G.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-CzSP4TPL.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-DWEeyCDR.js";import"./index-BL6dsbzE.js";import"./index.vue_vue_type_script_setup_true_lang-EJPdzUeK.js";import"./index-C5CUkFFb.js";import"./index.vue_vue_type_script_setup_true_lang-Lcfr_gGB.js";import"./file-DA0zt1Rz.js";import"./usePaging-VsbTxSU0.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./cos-js-sdk-v5-DSMN0LUT.js";const Qe={class:"asset-resource-container"},Je={class:"mb-4 flex items-center gap-2"},Ke={key:0,class:"text-sm text-gray-500"},He={key:1},We={class:"mt-4 flex justify-end"},Xe={key:0,class:"w-full"},Ze=["title"],el=Me({__name:"index",setup(et){const R=m(!1),T=m([]),B=m(0),c=m([]),n=A({title:"",dateRange:[]}),u=A({type:"1",page_no:1,page_size:15}),v=m(!1),h=m(!1),U=m(),g=m(!1),S=m(0),I=m([]),i=A({type:1,title:"",file_url:"",cover_url:"",user_ids:[]}),$=(a,e,p)=>{if(Array.isArray(e)){if(!e.length)return p(new Error("请上传资源文件"))}else if(!e)return p(new Error("请输入或上传文件获取链接"));p()},G=Ge(()=>g.value?{title:[{required:!0,message:"请输入标题",trigger:"blur"}]}:{title:[{required:!0,message:"请输入标题",trigger:"blur"}],file_url:[{required:!0,validator:$,trigger:"change"}]}),Q=()=>{const a={...u};return n.title&&(a.title=n.title),n.dateRange&&n.dateRange.length===2&&(a.start_time=n.dateRange[0],a.end_time=n.dateRange[1]),a},_=async()=>{R.value=!0;try{const a=await Le(Q());T.value=a.lists,B.value=a.count,c.value=[]}catch(a){console.error(a)}finally{R.value=!1}},L=async()=>{try{const a=await Ne({page_no:1,page_size:9999});I.value=a.lists}catch(a){console.error(a)}},O=()=>{u.page_no=1,_()},J=()=>{n.title="",n.dateRange=[],u.page_no=1,_()},K=()=>{u.page_no=1,_()},H=()=>{g.value=!1,S.value=0,Object.assign(i,{type:parseInt(u.type),title:"",file_url:"",cover_url:"",user_ids:[]}),L(),v.value=!0},W=a=>{var e;g.value=!0,S.value=a.id,Object.assign(i,{type:a.type,title:a.title,file_url:a.file_url,cover_url:a.cover_url||"",user_ids:((e=a.users)==null?void 0:e.map(p=>p.id))||[]}),L(),v.value=!0},P=a=>{var e,p;i.file_url=((e=a==null?void 0:a.data)==null?void 0:e.uri)||((p=a==null?void 0:a.data)==null?void 0:p.url)||"",w.success("上传成功")},X=async a=>{try{await j.confirm("确定要删除该资源吗?用户将无法再看到。","提示",{type:"warning"}),await q({id:a.id}),w.success("删除成功"),_()}catch{}},Z=a=>{c.value=a.map(e=>Number(e.id)).filter(e=>e>0)},ee=async()=>{if(c.value.length)try{await j.confirm(`确定要删除选中的 ${c.value.length} 个资源吗?用户将无法再看到。`,"提示",{type:"warning"}),await q({id:c.value}),w.success("删除成功"),_()}catch{}},te=async()=>{U.value&&await U.value.validate(async a=>{if(a){h.value=!0;try{g.value?(await Oe({id:S.value,title:i.title,user_ids:i.user_ids}),w.success("编辑成功")):(await Pe(i),w.success("上传分发成功")),v.value=!1,_()}catch(e){console.error(e)}finally{h.value=!1}}})};return je(()=>{_()}),(a,e)=>{const p=ye,y=ge,le=ve,d=be,N=ce,F=ke,D=Ve,ae=we,b=xe,oe=Ce,ie=Re,re=he,se=Ee,ne=Se,z=ze,ue=De,pe=Te,de=Ae,me=Be,_e=Ue;return r(),k("div",Qe,[t(F,{class:"!border-none",shadow:"never"},{default:l(()=>[t(N,{class:"ls-form",model:n,inline:""},{default:l(()=>[t(y,{class:"w-[280px]",label:"标题"},{default:l(()=>[t(p,{placeholder:"请输入标题关键词",modelValue:n.title,"onUpdate:modelValue":e[0]||(e[0]=o=>n.title=o),clearable:"",onKeyup:Ie(O,["enter"])},null,8,["modelValue"])]),_:1}),t(y,{label:"上传时间"},{default:l(()=>[t(le,{modelValue:n.dateRange,"onUpdate:modelValue":e[1]||(e[1]=o=>n.dateRange=o),type:"daterange","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期","value-format":"YYYY-MM-DD",clearable:"",style:{width:"280px"}},null,8,["modelValue"])]),_:1}),t(y,null,{default:l(()=>[t(d,{type:"primary",onClick:O},{default:l(()=>[...e[11]||(e[11]=[s("查询",-1)])]),_:1}),t(d,{onClick:J},{default:l(()=>[...e[12]||(e[12]=[s("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"])]),_:1}),t(F,{class:"!border-none mt-4",shadow:"never"},{default:l(()=>[x("div",Je,[t(d,{type:"primary",onClick:H},{default:l(()=>[...e[13]||(e[13]=[s("上传资源",-1)])]),_:1}),t(d,{type:"danger",disabled:c.value.length===0,onClick:ee},{default:l(()=>[...e[14]||(e[14]=[s(" 批量删除 ",-1)])]),_:1},8,["disabled"]),c.value.length>0?(r(),k("span",Ke,"已选 "+C(c.value.length)+" 条",1)):V("",!0)]),t(ae,{modelValue:u.type,"onUpdate:modelValue":e[2]||(e[2]=o=>u.type=o),onTabChange:K},{default:l(()=>[t(D,{label:"图片",name:"1"}),t(D,{label:"视频",name:"2"}),t(D,{label:"语音",name:"3"})]),_:1},8,["modelValue"]),qe((r(),f(se,{data:T.value,onSelectionChange:Z},{default:l(()=>[t(b,{type:"selection",width:"55"}),t(b,{prop:"title",label:"标题","min-width":"80"}),t(b,{label:"预览",width:"100"},{default:l(({row:o})=>[o.type==1?(r(),f(oe,{key:0,src:o.file_url,style:{width:"50px",height:"50px"},"preview-src-list":[o.file_url],"preview-teleported":""},null,8,["src","preview-src-list"])):(r(),f(ie,{key:1,href:o.file_url,target:"_blank",type:"primary"},{default:l(()=>[...e[15]||(e[15]=[s("点击预览",-1)])]),_:1},8,["href"]))]),_:1}),t(b,{label:"关联账号","min-width":"150","show-overflow-tooltip":""},{default:l(({row:o})=>{var E,M;return[(E=o.users)!=null&&E.length?(r(),k("span",He,C((M=o.users)==null?void 0:M.map(fe=>fe.phone).join(", ")),1)):(r(),f(re,{key:0,type:"info",size:"small"},{default:l(()=>[...e[16]||(e[16]=[s("公开资源",-1)])]),_:1}))]}),_:1}),t(b,{prop:"create_time",label:"上传时间",width:"180"}),t(b,{label:"操作",width:"150",fixed:"right"},{default:l(({row:o})=>[t(d,{type:"primary",link:"",onClick:E=>W(o)},{default:l(()=>[...e[17]||(e[17]=[s("编辑",-1)])]),_:1},8,["onClick"]),t(d,{type:"danger",link:"",onClick:E=>X(o)},{default:l(()=>[...e[18]||(e[18]=[s("删除",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[_e,R.value]]),x("div",We,[t(ne,{"current-page":u.page_no,"onUpdate:currentPage":e[3]||(e[3]=o=>u.page_no=o),"page-size":u.page_size,"onUpdate:pageSize":e[4]||(e[4]=o=>u.page_size=o),total:B.value,layout:"total, sizes, prev, pager, next, jumper",onSizeChange:_,onCurrentChange:_},null,8,["current-page","page-size","total"])])]),_:1}),t(me,{modelValue:v.value,"onUpdate:modelValue":e[10]||(e[10]=o=>v.value=o),title:g.value?"编辑资源":"新增分发资源",width:"600px","destroy-on-close":""},{footer:l(()=>[t(d,{onClick:e[9]||(e[9]=o=>v.value=!1)},{default:l(()=>[...e[26]||(e[26]=[s("取消",-1)])]),_:1}),t(d,{type:"primary",onClick:te,loading:h.value},{default:l(()=>[s(C(g.value?"保存修改":"确定发布"),1)]),_:1},8,["loading"])]),default:l(()=>[t(N,{ref_key:"formRef",ref:U,model:i,rules:G.value,"label-width":"100px"},{default:l(()=>[g.value?V("",!0):(r(),f(y,{key:0,label:"资源类型",prop:"type"},{default:l(()=>[t(ue,{modelValue:i.type,"onUpdate:modelValue":e[5]||(e[5]=o=>i.type=o)},{default:l(()=>[t(z,{label:1},{default:l(()=>[...e[19]||(e[19]=[s("图片",-1)])]),_:1}),t(z,{label:2},{default:l(()=>[...e[20]||(e[20]=[s("视频",-1)])]),_:1}),t(z,{label:3},{default:l(()=>[...e[21]||(e[21]=[s("语音",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})),t(y,{label:"标题",prop:"title"},{default:l(()=>[t(p,{modelValue:i.title,"onUpdate:modelValue":e[6]||(e[6]=o=>i.title=o),placeholder:"请输入资源标题"},null,8,["modelValue"])]),_:1}),g.value?V("",!0):(r(),f(y,{key:1,label:"资源文件",prop:"file_url"},{default:l(()=>[i.type===1?(r(),k("div",Xe,[t(Fe,{modelValue:i.file_url,"onUpdate:modelValue":e[7]||(e[7]=o=>i.file_url=o),limit:9,type:"image"},null,8,["modelValue"]),e[22]||(e[22]=x("div",{style:{"font-size":"12px",color:"#909399","margin-top":"4px"}},"支持批量上传多张图片,一次最多 9 张,每张图片将生成一条独立资源(多张时标题自动追加序号)",-1))])):i.type===2?(r(),f(Y,{key:1,type:"video",direct:"",multiple:!1,limit:1,"show-progress":!0,onSuccess:P},{default:l(()=>[t(d,{type:"primary"},{default:l(()=>[...e[23]||(e[23]=[s("上传视频 (OSS直传)",-1)])]),_:1})]),_:1})):i.type===3?(r(),f(Y,{key:2,type:"voice",direct:"",multiple:!1,limit:1,"show-progress":!0,onSuccess:P},{default:l(()=>[t(d,{type:"primary"},{default:l(()=>[...e[24]||(e[24]=[s("上传语音 (OSS直传)",-1)])]),_:1})]),_:1})):V("",!0),i.file_url&&i.type!==1?(r(),k("div",{key:3,class:"ml-4 text-primary truncate max-w-xs",title:i.file_url}," 已上传: "+C(i.file_url),9,Ze)):V("",!0)]),_:1})),t(y,{label:"关联账号",prop:"user_ids"},{default:l(()=>[t(de,{modelValue:i.user_ids,"onUpdate:modelValue":e[8]||(e[8]=o=>i.user_ids=o),multiple:"",filterable:"",placeholder:"不选择则为公开资源",clearable:"",style:{width:"100%"}},{default:l(()=>[(r(!0),k(Ye,null,$e(I.value,o=>(r(),f(pe,{key:o.id,label:o.phone,value:o.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),e[25]||(e[25]=x("div",{style:{"font-size":"12px",color:"#909399","margin-top":"4px"}},"不选择账号则资源为公开资源,所有人可见",-1))]),_:1})]),_:1},8,["model","rules"])]),_:1},8,["modelValue","title"])])}}});export{el as default};
|