"use strict";(self["webpackChunkscui"]=self["webpackChunkscui"]||[]).push([[5901],{6006:function(e,l,t){t.r(l),t.d(l,{default:function(){return D}});var i=t(641);function s(e,l,t,s,a,o){const r=(0,i.g2)("el-alert"),u=(0,i.g2)("el-button"),n=(0,i.g2)("sc-file-select"),c=(0,i.g2)("el-card"),d=(0,i.g2)("el-col"),p=(0,i.g2)("el-row"),f=(0,i.g2)("el-main");return(0,i.uX)(),(0,i.Wv)(f,null,{default:(0,i.k6)((()=>[(0,i.bF)(p,{gutter:15},{default:(0,i.k6)((()=>[(0,i.bF)(d,{lg:18},{default:(0,i.k6)((()=>[(0,i.bF)(c,{shadow:"never"},{default:(0,i.k6)((()=>[(0,i.bF)(r,{title:"资源库选择器即将弃用,将不会维护更新,与1.7版本之后将移除此组件",type:"error",style:{"margin-bottom":"20px"}}),(0,i.bF)(n,{modelValue:a.file,"onUpdate:modelValue":l[0]||(l[0]=e=>a.file=e),multiple:a.multiple,hideUpload:a.hideUpload,max:99,onSubmit:o.submit},{do:(0,i.k6)((()=>[(0,i.bF)(u,null,{default:(0,i.k6)((()=>[(0,i.eW)("自定义插槽")])),_:1})])),_:1},8,["modelValue","multiple","hideUpload","onSubmit"])])),_:1})])),_:1}),(0,i.bF)(d,{lg:6},{default:(0,i.k6)((()=>[(0,i.bF)(c,{shadow:"never",header:"参数和方法"},{default:(0,i.k6)((()=>[(0,i.bF)(u,{type:"primary",onClick:l[1]||(l[1]=e=>a.multiple=!a.multiple)},{default:(0,i.k6)((()=>[(0,i.eW)("切换multiple")])),_:1}),(0,i.bF)(u,{type:"primary",onClick:l[2]||(l[2]=e=>a.hideUpload=!a.hideUpload)},{default:(0,i.k6)((()=>[(0,i.eW)("切换hideUpload")])),_:1})])),_:1})])),_:1})])),_:1})])),_:1})}var a=t(2644),o=t(9322);const r=e=>((0,i.Qi)("data-v-48ded1ad"),e=e(),(0,i.jt)(),e),u={class:"sc-file-select"},n={class:"sc-file-select__side"},c={class:"sc-file-select__side-menu"},d={class:"el-tree-node__label"},p={key:0,class:"sc-file-select__side-msg"},f={class:"sc-file-select__files"},m={class:"sc-file-select__top"},g={key:0,class:"upload"},h={class:"tips"},k={class:"keyword"},_={class:"sc-file-select__list"},b={class:"sc-file-select__item__file"},y={class:"sc-file-select__item__upload"},v=["onClick"],C={class:"sc-file-select__item__file"},P={key:0,class:"sc-file-select__item__checkbox"},F={key:1,class:"sc-file-select__item__select"},x=r((()=>(0,i.Lk)("div",{class:"sc-file-select__item__box"},null,-1))),L={key:3,class:"item-file item-file-doc"},w={key:1,class:"sc-icon-file-list-fill",style:{color:"#999"}},S=["title"],E={class:"sc-file-select__pagination"},I={class:"sc-file-select__do"};function N(e,l,t,s,r,N){const z=(0,i.g2)("el-icon-folder"),X=(0,i.g2)("el-icon"),U=(0,i.g2)("el-tree"),O=(0,i.g2)("el-button"),W=(0,i.g2)("el-upload"),j=(0,i.g2)("el-icon-warning"),A=(0,i.g2)("el-input"),q=(0,i.g2)("el-empty"),D=(0,i.g2)("el-progress"),V=(0,i.g2)("el-image"),$=(0,i.g2)("el-icon-check"),B=(0,i.g2)("el-scrollbar"),K=(0,i.g2)("el-pagination"),R=(0,i.gN)("loading");return(0,i.uX)(),(0,i.CE)("div",u,[(0,i.bo)(((0,i.uX)(),(0,i.CE)("div",n,[(0,i.Lk)("div",c,[(0,i.bF)(U,{ref:"group",class:"menu",data:r.menu,"node-key":r.treeProps.key,props:r.treeProps,"current-node-key":r.menu.length>0?r.menu[0][r.treeProps.key]:"","highlight-current":"",onNodeClick:N.groupClick},{default:(0,i.k6)((({node:e})=>[(0,i.Lk)("span",d,[(0,i.bF)(X,{class:"icon"},{default:(0,i.k6)((()=>[(0,i.bF)(z)])),_:1}),(0,i.eW)((0,a.v_)(e.label),1)])])),_:1},8,["data","node-key","props","current-node-key","onNodeClick"])]),t.multiple?((0,i.uX)(),(0,i.CE)("div",p,[(0,i.eW)(" 已选择 "),(0,i.Lk)("b",null,(0,a.v_)(r.value.length),1),(0,i.eW)(" / "),(0,i.Lk)("b",null,(0,a.v_)(t.max),1),(0,i.eW)(" 项 ")])):(0,i.Q3)("",!0)])),[[R,r.menuLoading]]),(0,i.bo)(((0,i.uX)(),(0,i.CE)("div",f,[(0,i.Lk)("div",m,[t.hideUpload?(0,i.Q3)("",!0):((0,i.uX)(),(0,i.CE)("div",g,[(0,i.bF)(W,{class:"sc-file-select__upload",action:"",multiple:"","show-file-list":!1,accept:r.accept,"on-change":N.uploadChange,"before-upload":N.uploadBefore,"on-progress":N.uploadProcess,"on-success":N.uploadSuccess,"on-error":N.uploadError,"http-request":N.uploadRequest},{default:(0,i.k6)((()=>[(0,i.bF)(O,{type:"primary",icon:"el-icon-upload"},{default:(0,i.k6)((()=>[(0,i.eW)("本地上传")])),_:1})])),_:1},8,["accept","on-change","before-upload","on-progress","on-success","on-error","http-request"]),(0,i.Lk)("span",h,[(0,i.bF)(X,null,{default:(0,i.k6)((()=>[(0,i.bF)(j)])),_:1}),(0,i.eW)("大小不超过"+(0,a.v_)(t.maxSize)+"MB",1)])])),(0,i.Lk)("div",k,[(0,i.bF)(A,{modelValue:r.keyword,"onUpdate:modelValue":l[0]||(l[0]=e=>r.keyword=e),"prefix-icon":"el-icon-search",placeholder:"文件名搜索",clearable:"",onKeyup:(0,o.jR)(N.search,["enter"]),onClear:N.search},null,8,["modelValue","onKeyup","onClear"])])]),(0,i.Lk)("div",_,[(0,i.bF)(B,{ref:"scrollbar"},{default:(0,i.k6)((()=>[0==r.fileList.length&&0==r.data.length?((0,i.uX)(),(0,i.Wv)(q,{key:0,description:"无数据","image-size":80})):(0,i.Q3)("",!0),((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(r.fileList,((e,l)=>((0,i.uX)(),(0,i.CE)("div",{key:l,class:"sc-file-select__item"},[(0,i.Lk)("div",b,[(0,i.Lk)("div",y,[(0,i.bF)(D,{type:"circle",percentage:e.progress,width:70},null,8,["percentage"])]),(0,i.bF)(V,{src:e.tempImg,fit:"contain"},null,8,["src"])]),(0,i.Lk)("p",null,(0,a.v_)(e.name),1)])))),128)),((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(r.data,(e=>((0,i.uX)(),(0,i.CE)("div",{key:e[r.fileProps.key],class:(0,a.C4)(["sc-file-select__item",{active:r.value.includes(e[r.fileProps.url])}]),onClick:l=>N.select(e)},[(0,i.Lk)("div",C,[t.multiple?((0,i.uX)(),(0,i.CE)("div",P,[(0,i.bF)(X,null,{default:(0,i.k6)((()=>[(0,i.bF)($)])),_:1})])):((0,i.uX)(),(0,i.CE)("div",F,[(0,i.bF)(X,null,{default:(0,i.k6)((()=>[(0,i.bF)($)])),_:1})])),x,N._isImg(e[r.fileProps.url])?((0,i.uX)(),(0,i.Wv)(V,{key:2,src:e[r.fileProps.url],fit:"contain",lazy:""},null,8,["src"])):((0,i.uX)(),(0,i.CE)("div",L,[r.files[N._getExt(e[r.fileProps.url])]?((0,i.uX)(),(0,i.CE)("i",{key:0,class:(0,a.C4)(r.files[N._getExt(e[r.fileProps.url])].icon),style:(0,a.Tr)({color:r.files[N._getExt(e[r.fileProps.url])].color})},null,6)):((0,i.uX)(),(0,i.CE)("i",w))]))]),(0,i.Lk)("p",{title:e[r.fileProps.fileName]},(0,a.v_)(e[r.fileProps.fileName]),9,S)],10,v)))),128))])),_:1},512)]),(0,i.Lk)("div",E,[(0,i.bF)(K,{small:"",background:"",layout:"prev, pager, next",total:r.total,"page-size":r.pageSize,currentPage:r.currentPage,"onUpdate:currentPage":l[1]||(l[1]=e=>r.currentPage=e),onCurrentChange:N.reload},null,8,["total","page-size","currentPage","onCurrentChange"])]),(0,i.Lk)("div",I,[(0,i.RG)(e.$slots,"do",{},void 0,!0),(0,i.bF)(O,{type:"primary",disabled:r.value.length<=0,onClick:N.submit},{default:(0,i.k6)((()=>[(0,i.eW)("确 定")])),_:1},8,["disabled","onClick"])])])),[[R,r.listLoading]])])}t(8743),t(2838);var z=t(1552),X={apiObj:z.A.common.upload,menuApiObj:z.A.common.file.menu,listApiObj:z.A.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"}}},U={props:{modelValue:null,hideUpload:{type:Boolean,default:!1},multiple:{type:Boolean,default:!1},max:{type:Number,default:X.max},onlyImage:{type:Boolean,default:!1},maxSize:{type:Number,default:X.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:X.menuProps,fileProps:X.fileProps,files:X.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 X.menuApiObj.get();this.menu=e.data,this.menuLoading=!1},async getData(){this.listLoading=!0;var e={[X.request.menuKey]:this.menuId,[X.request.page]:this.currentPage,[X.request.pageSize]:this.pageSize,[X.request.keyword]:this.keyword};this.onlyImage&&(e.type="image");var l=await X.listApiObj.get(e),t=X.listParseData(l);this.data=t.rows,this.total=t.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{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 t=X.uploadParseData(e);this.data.unshift({[this.fileProps.key]:t.id,[this.fileProps.fileName]:t.fileName,[this.fileProps.url]:t.url}),this.multiple||(this.value=t.url)},uploadError(e){this.$notify.error({title:"上传文件错误",message:e})},_isImg(e){const l=[".jpg",".jpeg",".png",".gif",".bmp"],t=e.substring(e.lastIndexOf("."));return-1!=l.indexOf(t)},_getExt(e){return e.substring(e.lastIndexOf(".")+1)}}},O=t(6262);const W=(0,O.A)(U,[["render",N],["__scopeId","data-v-48ded1ad"]]);var j=W,A={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 q=(0,O.A)(A,[["render",s]]);var D=q}}]);