1 line
10 KiB
JavaScript
1 line
10 KiB
JavaScript
"use strict";(self["webpackChunkscui"]=self["webpackChunkscui"]||[]).push([[936],{87840:function(e,l,i){i.r(l),i.d(l,{default:function(){return H}});var t=i(66252);const s=(0,t.Uk)("自定义插槽"),a=(0,t.Uk)("切换multiple"),o=(0,t.Uk)("切换hideUpload");function r(e,l,i,r,n,u){const c=(0,t.up)("el-alert"),d=(0,t.up)("el-button"),p=(0,t.up)("sc-file-select"),m=(0,t.up)("el-card"),f=(0,t.up)("el-col"),g=(0,t.up)("el-row"),h=(0,t.up)("el-main");return(0,t.wg)(),(0,t.j4)(h,null,{default:(0,t.w5)((()=>[(0,t.Wm)(g,{gutter:15},{default:(0,t.w5)((()=>[(0,t.Wm)(f,{lg:18},{default:(0,t.w5)((()=>[(0,t.Wm)(m,{shadow:"never"},{default:(0,t.w5)((()=>[(0,t.Wm)(c,{title:"资源库选择器即将弃用,将不会维护更新,与1.7版本之后将移除此组件",type:"error",style:{"margin-bottom":"20px"}}),(0,t.Wm)(p,{modelValue:n.file,"onUpdate:modelValue":l[0]||(l[0]=e=>n.file=e),multiple:n.multiple,hideUpload:n.hideUpload,max:99,onSubmit:u.submit},{do:(0,t.w5)((()=>[(0,t.Wm)(d,null,{default:(0,t.w5)((()=>[s])),_:1})])),_:1},8,["modelValue","multiple","hideUpload","onSubmit"])])),_:1})])),_:1}),(0,t.Wm)(f,{lg:6},{default:(0,t.w5)((()=>[(0,t.Wm)(m,{shadow:"never",header:"参数和方法"},{default:(0,t.w5)((()=>[(0,t.Wm)(d,{type:"primary",onClick:l[1]||(l[1]=e=>n.multiple=!n.multiple)},{default:(0,t.w5)((()=>[a])),_:1}),(0,t.Wm)(d,{type:"primary",onClick:l[2]||(l[2]=e=>n.hideUpload=!n.hideUpload)},{default:(0,t.w5)((()=>[o])),_:1})])),_:1})])),_:1})])),_:1})])),_:1})}var n=i(3577),u=i(49963);const c=e=>((0,t.dD)("data-v-48ded1ad"),e=e(),(0,t.Cn)(),e),d={class:"sc-file-select"},p={class:"sc-file-select__side"},m={class:"sc-file-select__side-menu"},f={class:"el-tree-node__label"},g={key:0,class:"sc-file-select__side-msg"},h=(0,t.Uk)(" 已选择 "),_=(0,t.Uk)(" / "),y=(0,t.Uk)(" 项 "),w={class:"sc-file-select__files"},k={class:"sc-file-select__top"},v={key:0,class:"upload"},b=(0,t.Uk)("本地上传"),P={class:"tips"},x={class:"keyword"},D={class:"sc-file-select__list"},C={class:"sc-file-select__item__file"},S={class:"sc-file-select__item__upload"},W=["onClick"],U={class:"sc-file-select__item__file"},z={key:0,class:"sc-file-select__item__checkbox"},I={key:1,class:"sc-file-select__item__select"},N=c((()=>(0,t._)("div",{class:"sc-file-select__item__box"},null,-1))),L={key:3,class:"item-file item-file-doc"},O={key:1,class:"sc-icon-file-list-fill",style:{color:"#999"}},j=["title"],q={class:"sc-file-select__pagination"},V={class:"sc-file-select__do"},$=(0,t.Uk)("确 定");function B(e,l,i,s,a,o){const r=(0,t.up)("el-icon-folder"),c=(0,t.up)("el-icon"),B=(0,t.up)("el-tree"),E=(0,t.up)("el-button"),K=(0,t.up)("el-upload"),A=(0,t.up)("el-icon-warning"),F=(0,t.up)("el-input"),Z=(0,t.up)("el-empty"),J=(0,t.up)("el-progress"),M=(0,t.up)("el-image"),R=(0,t.up)("el-icon-check"),H=(0,t.up)("el-scrollbar"),Y=(0,t.up)("el-pagination"),Q=(0,t.Q2)("loading");return(0,t.wg)(),(0,t.iD)("div",d,[(0,t.wy)(((0,t.wg)(),(0,t.iD)("div",p,[(0,t._)("div",m,[(0,t.Wm)(B,{ref:"group",class:"menu",data:a.menu,"node-key":a.treeProps.key,props:a.treeProps,"current-node-key":a.menu.length>0?a.menu[0][a.treeProps.key]:"","highlight-current":"",onNodeClick:o.groupClick},{default:(0,t.w5)((({node:e})=>[(0,t._)("span",f,[(0,t.Wm)(c,{class:"icon"},{default:(0,t.w5)((()=>[(0,t.Wm)(r)])),_:1}),(0,t.Uk)((0,n.toDisplayString)(e.label),1)])])),_:1},8,["data","node-key","props","current-node-key","onNodeClick"])]),i.multiple?((0,t.wg)(),(0,t.iD)("div",g,[h,(0,t._)("b",null,(0,n.toDisplayString)(a.value.length),1),_,(0,t._)("b",null,(0,n.toDisplayString)(i.max),1),y])):(0,t.kq)("",!0)])),[[Q,a.menuLoading]]),(0,t.wy)(((0,t.wg)(),(0,t.iD)("div",w,[(0,t._)("div",k,[i.hideUpload?(0,t.kq)("",!0):((0,t.wg)(),(0,t.iD)("div",v,[(0,t.Wm)(K,{class:"sc-file-select__upload",action:"",multiple:"","show-file-list":!1,accept:a.accept,"on-change":o.uploadChange,"before-upload":o.uploadBefore,"on-progress":o.uploadProcess,"on-success":o.uploadSuccess,"on-error":o.uploadError,"http-request":o.uploadRequest},{default:(0,t.w5)((()=>[(0,t.Wm)(E,{type:"primary",icon:"el-icon-upload"},{default:(0,t.w5)((()=>[b])),_:1})])),_:1},8,["accept","on-change","before-upload","on-progress","on-success","on-error","http-request"]),(0,t._)("span",P,[(0,t.Wm)(c,null,{default:(0,t.w5)((()=>[(0,t.Wm)(A)])),_:1}),(0,t.Uk)("大小不超过"+(0,n.toDisplayString)(i.maxSize)+"MB",1)])])),(0,t._)("div",x,[(0,t.Wm)(F,{modelValue:a.keyword,"onUpdate:modelValue":l[0]||(l[0]=e=>a.keyword=e),"prefix-icon":"el-icon-search",placeholder:"文件名搜索",clearable:"",onKeyup:(0,u.D2)(o.search,["enter"]),onClear:o.search},null,8,["modelValue","onKeyup","onClear"])])]),(0,t._)("div",D,[(0,t.Wm)(H,{ref:"scrollbar"},{default:(0,t.w5)((()=>[0==a.fileList.length&&0==a.data.length?((0,t.wg)(),(0,t.j4)(Z,{key:0,description:"无数据","image-size":80})):(0,t.kq)("",!0),((0,t.wg)(!0),(0,t.iD)(t.HY,null,(0,t.Ko)(a.fileList,((e,l)=>((0,t.wg)(),(0,t.iD)("div",{key:l,class:"sc-file-select__item"},[(0,t._)("div",C,[(0,t._)("div",S,[(0,t.Wm)(J,{type:"circle",percentage:e.progress,width:70},null,8,["percentage"])]),(0,t.Wm)(M,{src:e.tempImg,fit:"contain"},null,8,["src"])]),(0,t._)("p",null,(0,n.toDisplayString)(e.name),1)])))),128)),((0,t.wg)(!0),(0,t.iD)(t.HY,null,(0,t.Ko)(a.data,(e=>((0,t.wg)(),(0,t.iD)("div",{key:e[a.fileProps.key],class:(0,n.normalizeClass)(["sc-file-select__item",{active:a.value.includes(e[a.fileProps.url])}]),onClick:l=>o.select(e)},[(0,t._)("div",U,[i.multiple?((0,t.wg)(),(0,t.iD)("div",z,[(0,t.Wm)(c,null,{default:(0,t.w5)((()=>[(0,t.Wm)(R)])),_:1})])):((0,t.wg)(),(0,t.iD)("div",I,[(0,t.Wm)(c,null,{default:(0,t.w5)((()=>[(0,t.Wm)(R)])),_:1})])),N,o._isImg(e[a.fileProps.url])?((0,t.wg)(),(0,t.j4)(M,{key:2,src:e[a.fileProps.url],fit:"contain",lazy:""},null,8,["src"])):((0,t.wg)(),(0,t.iD)("div",L,[a.files[o._getExt(e[a.fileProps.url])]?((0,t.wg)(),(0,t.iD)("i",{key:0,class:(0,n.normalizeClass)(a.files[o._getExt(e[a.fileProps.url])].icon),style:(0,n.normalizeStyle)({color:a.files[o._getExt(e[a.fileProps.url])].color})},null,6)):((0,t.wg)(),(0,t.iD)("i",O))]))]),(0,t._)("p",{title:e[a.fileProps.fileName]},(0,n.toDisplayString)(e[a.fileProps.fileName]),9,j)],10,W)))),128))])),_:1},512)]),(0,t._)("div",q,[(0,t.Wm)(Y,{small:"",background:"",layout:"prev, pager, next",total:a.total,"page-size":a.pageSize,currentPage:a.currentPage,"onUpdate:currentPage":l[1]||(l[1]=e=>a.currentPage=e),onCurrentChange:o.reload},null,8,["total","page-size","currentPage","onCurrentChange"])]),(0,t._)("div",V,[(0,t.WI)(e.$slots,"do",{},void 0,!0),(0,t.Wm)(E,{type:"primary",disabled:a.value.length<=0,onClick:o.submit},{default:(0,t.w5)((()=>[$])),_:1},8,["disabled","onClick"])])])),[[Q,a.listLoading]])])}i(57658),i(30541);var E=i(7877),K={apiObj:E.Z.common.upload,menuApiObj:E.Z.common.file.menu,listApiObj:E.Z.common.file.list,successCode:200,maxSize:30,max:99,uploadParseData:function(e){return{id:e.data.id,fileName:e.data.fileName,url:e.data.src}},listParseData:function(e){return{rows:e.data.rows,total:e.data.total,msg:e.message,code:e.code}},request:{page:"page",pageSize:"pageSize",keyword:"keyword",menuKey:"groupId"},menuProps:{key:"id",label:"label",children:"children"},fileProps:{key:"id",fileName:"fileName",url:"url"},files:{doc:{icon:"sc-icon-file-word-2-fill",color:"#409eff"},docx:{icon:"sc-icon-file-word-2-fill",color:"#409eff"},xls:{icon:"sc-icon-file-excel-2-fill",color:"#67C23A"},xlsx:{icon:"sc-icon-file-excel-2-fill",color:"#67C23A"},ppt:{icon:"sc-icon-file-ppt-2-fill",color:"#F56C6C"},pptx:{icon:"sc-icon-file-ppt-2-fill",color:"#F56C6C"}}},A={props:{modelValue:null,hideUpload:{type:Boolean,default:!1},multiple:{type:Boolean,default:!1},max:{type:Number,default:K.max},onlyImage:{type:Boolean,default:!1},maxSize:{type:Number,default:K.maxSize}},data(){return{keyword:null,pageSize:20,total:0,currentPage:1,data:[],menu:[],menuId:"",value:this.multiple?[]:"",fileList:[],accept:this.onlyImage?"image/gif, image/jpeg, image/png":"",listLoading:!1,menuLoading:!1,treeProps:K.menuProps,fileProps:K.fileProps,files:K.files}},watch:{multiple(){this.value=this.multiple?[]:"",this.$emit("update:modelValue",JSON.parse(JSON.stringify(this.value)))}},mounted(){this.getMenu(),this.getData()},methods:{async getMenu(){this.menuLoading=!0;var e=await K.menuApiObj.get();this.menu=e.data,this.menuLoading=!1},async getData(){this.listLoading=!0;var e={[K.request.menuKey]:this.menuId,[K.request.page]:this.currentPage,[K.request.pageSize]:this.pageSize,[K.request.keyword]:this.keyword};this.onlyImage&&(e.type="image");var l=await K.listApiObj.get(e),i=K.listParseData(l);this.data=i.rows,this.total=i.total,this.listLoading=!1,this.$refs.scrollbar.setScrollTop(0)},groupClick(e){this.menuId=e.id,this.currentPage=1,this.keyword=null,this.getData()},reload(){this.getData()},search(){this.currentPage=1,this.getData()},select(e){const l=e[this.fileProps.url];this.multiple?this.value.includes(l)?this.value.splice(this.value.findIndex((e=>e==l)),1):this.value.push(l):this.value.includes(l)?this.value="":this.value=l},submit(){const e=JSON.parse(JSON.stringify(this.value));this.$emit("update:modelValue",e),this.$emit("submit",e)},uploadChange(e,l){e.tempImg=URL.createObjectURL(e.raw),this.fileList=l},uploadBefore(e){const l=e.size/1024/1024<this.maxSize;if(!l)return this.$message.warning(`上传文件大小不能超过 ${this.maxSize}MB!`),!1},uploadRequest(e){var l=K.apiObj;const i=new FormData;i.append("file",e.file),i.append([K.request.menuKey],this.menuId),l.post(i,{onUploadProgress:l=>{e.onProgress(l)}}).then((l=>{e.onSuccess(l)})).catch((l=>{e.onError(l)}))},uploadProcess(e,l){l.progress=Number((e.loaded/e.total*100).toFixed(2))},uploadSuccess(e,l){this.fileList.splice(this.fileList.findIndex((e=>e.uid==l.uid)),1);var i=K.uploadParseData(e);this.data.unshift({[this.fileProps.key]:i.id,[this.fileProps.fileName]:i.fileName,[this.fileProps.url]:i.url}),this.multiple||(this.value=i.url)},uploadError(e){this.$notify.error({title:"上传文件错误",message:e})},_isImg(e){const l=[".jpg",".jpeg",".png",".gif",".bmp"],i=e.substring(e.lastIndexOf("."));return-1!=l.indexOf(i)},_getExt(e){return e.substring(e.lastIndexOf(".")+1)}}},F=i(83744);const Z=(0,F.Z)(A,[["render",B],["__scopeId","data-v-48ded1ad"]]);var J=Z,M={name:"fileselect",components:{scFileSelect:J},data(){return{file:"",multiple:!1,hideUpload:!1,upload:"",upload2:""}},mounted(){},methods:{submit(e){console.log(e),this.$message("返回值请查看F12控制台console.log()")}}};const R=(0,F.Z)(M,[["render",r]]);var H=R}}]); |