1 line
20 KiB
JavaScript
1 line
20 KiB
JavaScript
"use strict";(self["webpackChunkscui"]=self["webpackChunkscui"]||[]).push([[2912],{82643:function(e,l,a){a.r(l),a.d(l,{default:function(){return re}});var t=a(66252);const o=(0,t.Uk)("导入(全配置)"),i=(0,t._)("div",{class:"el-upload__text"},[(0,t.Uk)(" 将文件拖到此处或 "),(0,t._)("em",null,"点击选择文件上传")],-1),r=(0,t.Uk)("Object 文件上传接口对象"),s=(0,t.Uk)("Object 上传时附带的额外参数"),n=(0,t.Uk)('String 可选择文件类型,默认为".xls, .xlsx"'),d=(0,t.Uk)("Number 可选择文件大小,单位为M,默认为10"),p=(0,t.Uk)('String 上传框底下的提示语句,默认为"请上传小于或等于 {maxSize}M 的 {accept} 格式文件"'),m=(0,t.Uk)("String 模板的下载URL"),u=(0,t.Uk)("事件 上传接口返回的事件,返回function(res, close),执行close()将关闭窗口"),c=(0,t.Uk)("插糟 默认触发按钮插糟,返回open()打开窗口函数,可以绑定元素@click事件"),f=(0,t.Uk)("插糟 自定义上传框插槽"),w=(0,t.Uk)("插糟 自定义表单组件,插槽formData都将作为上传时附带的额外参数"),h=(0,t.Uk)("导出(异步)"),g=(0,t.Uk)("导出(blob文件流)"),b=(0,t.Uk)("Object 文件导出接口对象,通过apiObj.url请求文件"),y=(0,t.Uk)("Object 上传时附带的额外参数(可为数据表格的过滤项)"),k=(0,t.Uk)("Boolean 是否显示附带的额外参数"),W=(0,t.Uk)("Boolean 是否异步导出文件"),_=(0,t.Uk)("String 下载文件名称,默认为当前时间戳"),D=(0,t.Uk)("Array 可选择文件类型,默认为['xlsx'],组件将数组第一项当做已选项"),x=(0,t.Uk)('Array 列配置,请求文件时将添加column为key的参数,值为prop逗号","分割的字符串'),U=(0,t.Uk)("Boolean 是否由游览器请求文件返回blob后提供下载"),j=(0,t.Uk)("Boolean blob开启后是否显示下载文件进度条,当服务器启用Gzip时,建议关闭,因为获取到的文件总数和下载总数不匹配。"),v=(0,t.Uk)("插糟 默认触发按钮插糟,返回open()打开窗口函数,可以绑定元素@click事件"),S=(0,t.Uk)("插糟 自定义表单组件,插槽formData都将作为请求时附带的额外参数"),V={style:{"margin-top":"15px"}},O=(0,t.Uk)(" 失败"),$=(0,t.Uk)("我知道了");function C(e,l,a,C,N,z){const L=(0,t.up)("sc-file-import"),E=(0,t.up)("el-button"),I=(0,t.up)("sc-icon-file-excel"),T=(0,t.up)("el-icon"),P=(0,t.up)("el-switch"),F=(0,t.up)("el-form-item"),q=(0,t.up)("el-descriptions-item"),A=(0,t.up)("el-descriptions"),B=(0,t.up)("el-card"),H=(0,t.up)("el-col"),Y=(0,t.up)("sc-file-export"),M=(0,t.up)("el-option"),R=(0,t.up)("el-select"),Z=(0,t.up)("el-row"),Q=(0,t.up)("el-main"),J=(0,t.up)("el-alert"),K=(0,t.up)("el-table-column"),G=(0,t.up)("el-icon-circle-close-filled"),X=(0,t.up)("el-tag"),ee=(0,t.up)("el-table"),le=(0,t.up)("el-dialog");return(0,t.wg)(),(0,t.iD)(t.HY,null,[(0,t.Wm)(Q,null,{default:(0,t.w5)((()=>[(0,t.Wm)(Z,{gutter:15},{default:(0,t.w5)((()=>[(0,t.Wm)(H,{lg:12},{default:(0,t.w5)((()=>[(0,t.Wm)(B,{shadow:"never",header:"导入(使用mock,有50%几率导入失败)"},{default:(0,t.w5)((()=>[(0,t.Wm)(L,{apiObj:e.$API.common.importFile,templateUrl:"http://www.scuiadmin/file.xlsx",onSuccess:z.success},null,8,["apiObj","onSuccess"]),(0,t.Wm)(L,{apiObj:e.$API.common.importFile,data:{otherData:"demo"},templateUrl:"http://www.scuiadmin/file.xlsx",accept:".xls, .xlsx",maxSize:30,tip:"请上传小于或等于 30M 的 .xls, .xlsx 格式文件(自定义TIP)",onSuccess:z.success},{default:(0,t.w5)((({open:e})=>[(0,t.Wm)(E,{type:"primary",icon:"sc-icon-upload",onClick:e},{default:(0,t.w5)((()=>[o])),_:2},1032,["onClick"])])),uploader:(0,t.w5)((()=>[(0,t.Wm)(T,{class:"el-icon--upload"},{default:(0,t.w5)((()=>[(0,t.Wm)(I)])),_:1}),i])),form:(0,t.w5)((({formData:e})=>[(0,t.Wm)(F,{label:"覆盖已有数据"},{default:(0,t.w5)((()=>[(0,t.Wm)(P,{modelValue:e.coverage,"onUpdate:modelValue":l=>e.coverage=l},null,8,["modelValue","onUpdate:modelValue"])])),_:2},1024),(0,t.Wm)(F,{label:"跳过错误数据"},{default:(0,t.w5)((()=>[(0,t.Wm)(P,{modelValue:e.skipError,"onUpdate:modelValue":l=>e.skipError=l},null,8,["modelValue","onUpdate:modelValue"])])),_:2},1024)])),_:1},8,["apiObj","onSuccess"]),(0,t.Wm)(A,{column:1,border:"",size:"small",style:{"margin-top":"15px"}},{default:(0,t.w5)((()=>[(0,t.Wm)(q,{label:"apiObj",width:200},{default:(0,t.w5)((()=>[r])),_:1}),(0,t.Wm)(q,{label:"data"},{default:(0,t.w5)((()=>[s])),_:1}),(0,t.Wm)(q,{label:"accept"},{default:(0,t.w5)((()=>[n])),_:1}),(0,t.Wm)(q,{label:"maxSize"},{default:(0,t.w5)((()=>[d])),_:1}),(0,t.Wm)(q,{label:"tip"},{default:(0,t.w5)((()=>[p])),_:1}),(0,t.Wm)(q,{label:"templateUrl"},{default:(0,t.w5)((()=>[m])),_:1}),(0,t.Wm)(q,{label:"@success"},{default:(0,t.w5)((()=>[u])),_:1}),(0,t.Wm)(q,{label:'#default="{open}"'},{default:(0,t.w5)((()=>[c])),_:1}),(0,t.Wm)(q,{label:"#uploader"},{default:(0,t.w5)((()=>[f])),_:1}),(0,t.Wm)(q,{label:'#form="{formData}"'},{default:(0,t.w5)((()=>[w])),_:1})])),_:1})])),_:1})])),_:1}),(0,t.Wm)(H,{lg:12},{default:(0,t.w5)((()=>[(0,t.Wm)(B,{shadow:"never",header:"导出"},{default:(0,t.w5)((()=>[(0,t.Wm)(Y,{apiObj:e.$API.common.exportFile},null,8,["apiObj"]),(0,t.Wm)(Y,{apiObj:e.$API.common.exportFile,fileName:"人员列表(异步)",async:""},{default:(0,t.w5)((({open:e})=>[(0,t.Wm)(E,{type:"primary",icon:"sc-icon-download",onClick:e},{default:(0,t.w5)((()=>[h])),_:2},1032,["onClick"])])),_:1},8,["apiObj"]),(0,t.Wm)(Y,{apiObj:e.$API.common.exportFile,blob:"",fileName:"人员列表",data:{otherData:"demo"},showData:"",column:N.column,fileTypes:["xlsx","docx","pdf"]},{default:(0,t.w5)((({open:e})=>[(0,t.Wm)(E,{type:"primary",icon:"sc-icon-download",onClick:e},{default:(0,t.w5)((()=>[g])),_:2},1032,["onClick"])])),form:(0,t.w5)((({formData:e})=>[(0,t.Wm)(F,{label:"导出条数"},{default:(0,t.w5)((()=>[(0,t.Wm)(R,{modelValue:e.limit,"onUpdate:modelValue":l=>e.limit=l,placeholder:"Select"},{default:(0,t.w5)((()=>[(0,t.Wm)(M,{label:"100条",value:"100"}),(0,t.Wm)(M,{label:"500条",value:"500"}),(0,t.Wm)(M,{label:"1000条",value:"1000"}),(0,t.Wm)(M,{label:"5000条",value:"5000"}),(0,t.Wm)(M,{label:"10000条",value:"10000"})])),_:2},1032,["modelValue","onUpdate:modelValue"])])),_:2},1024)])),_:1},8,["apiObj","column"]),(0,t.Wm)(A,{column:1,border:"",size:"small",style:{"margin-top":"15px"}},{default:(0,t.w5)((()=>[(0,t.Wm)(q,{label:"apiObj",width:200},{default:(0,t.w5)((()=>[b])),_:1}),(0,t.Wm)(q,{label:"data"},{default:(0,t.w5)((()=>[y])),_:1}),(0,t.Wm)(q,{label:"showData"},{default:(0,t.w5)((()=>[k])),_:1}),(0,t.Wm)(q,{label:"async"},{default:(0,t.w5)((()=>[W])),_:1}),(0,t.Wm)(q,{label:"fileName"},{default:(0,t.w5)((()=>[_])),_:1}),(0,t.Wm)(q,{label:"fileTypes"},{default:(0,t.w5)((()=>[D])),_:1}),(0,t.Wm)(q,{label:"column"},{default:(0,t.w5)((()=>[x])),_:1}),(0,t.Wm)(q,{label:"blob"},{default:(0,t.w5)((()=>[U])),_:1}),(0,t.Wm)(q,{label:"progress"},{default:(0,t.w5)((()=>[j])),_:1}),(0,t.Wm)(q,{label:'#default="{open}"'},{default:(0,t.w5)((()=>[v])),_:1}),(0,t.Wm)(q,{label:'#form="{formData}"'},{default:(0,t.w5)((()=>[S])),_:1})])),_:1})])),_:1})])),_:1})])),_:1})])),_:1}),(0,t.Wm)(le,{modelValue:N.importErrDialogVisible,"onUpdate:modelValue":l[1]||(l[1]=e=>N.importErrDialogVisible=e),title:"导入失败",width:680,"destroy-on-close":"",onClosed:l[2]||(l[2]=()=>{N.importErrData={}})},{footer:(0,t.w5)((()=>[(0,t.Wm)(E,{type:"primary",onClick:l[0]||(l[0]=e=>N.importErrDialogVisible=!1)},{default:(0,t.w5)((()=>[$])),_:1})])),default:(0,t.w5)((()=>[(0,t.Wm)(J,{title:`总条目数 ${N.importErrData.ok} ,其中有 ${N.importErrData.fail} 条格式不满足导入要求,请修改后再次操作。`,type:"error","show-icon":"",closable:!1},null,8,["title"]),(0,t._)("div",V,[(0,t.Wm)(ee,{data:N.importErrData.failList,border:"",stripe:"","max-height":"270",style:{width:"100%"}},{default:(0,t.w5)((()=>[(0,t.Wm)(K,{prop:"keyName",label:"主键名",width:"180"}),(0,t.Wm)(K,{prop:"",label:"状态",width:"100"},{default:(0,t.w5)((()=>[(0,t.Wm)(X,{type:"danger"},{default:(0,t.w5)((()=>[(0,t.Wm)(T,null,{default:(0,t.w5)((()=>[(0,t.Wm)(G)])),_:1}),O])),_:1})])),_:1}),(0,t.Wm)(K,{prop:"reason",label:"原因"})])),_:1},8,["data"])])])),_:1},8,["modelValue"])],64)}var N=a(3577);const z=(0,t.Uk)("导入"),L=(0,t._)("div",{class:"el-upload__text"},[(0,t.Uk)(" 将文件拖到此处或 "),(0,t._)("em",null,"点击选择文件上传")],-1),E={class:"el-upload__tip"},I={key:2,style:{"margin-top":"7px"}},T=(0,t.Uk)("下载导入模板");function P(e,l,a,o,i,r){const s=(0,t.up)("el-button"),n=(0,t.up)("el-progress"),d=(0,t.up)("el-icon-upload-filled"),p=(0,t.up)("el-icon"),m=(0,t.up)("el-link"),u=(0,t.up)("el-upload"),c=(0,t.up)("el-form"),f=(0,t.up)("el-dialog"),w=(0,t.Q2)("loading");return(0,t.wg)(),(0,t.iD)(t.HY,null,[(0,t.WI)(e.$slots,"default",{open:r.open},(()=>[(0,t.Wm)(s,{type:"primary",plain:"",onClick:r.open},{default:(0,t.w5)((()=>[z])),_:1},8,["onClick"])])),(0,t.Wm)(f,{modelValue:i.dialog,"onUpdate:modelValue":l[0]||(l[0]=e=>i.dialog=e),title:"导入",width:550,"close-on-click-modal":!1,"append-to-body":"","destroy-on-close":""},{default:(0,t.w5)((()=>[i.loading?((0,t.wg)(),(0,t.j4)(n,{key:0,"text-inside":!0,"stroke-width":20,percentage:i.percentage,style:{"margin-bottom":"15px"}},null,8,["percentage"])):(0,t.kq)("",!0),(0,t.wy)(((0,t.wg)(),(0,t.iD)("div",null,[(0,t.Wm)(u,{ref:"uploader",drag:"",accept:a.accept,maxSize:a.maxSize,limit:1,data:a.data,"show-file-list":!1,"http-request":r.request,"before-upload":r.before,"on-progress":r.progress,"on-success":r.success,"on-error":r.error},{tip:(0,t.w5)((()=>[(0,t._)("div",E,[a.tip?((0,t.wg)(),(0,t.iD)(t.HY,{key:0},[(0,t.Uk)((0,N.toDisplayString)(a.tip),1)],64)):((0,t.wg)(),(0,t.iD)(t.HY,{key:1},[(0,t.Uk)("请上传小于或等于 "+(0,N.toDisplayString)(a.maxSize)+"M 的 "+(0,N.toDisplayString)(a.accept)+" 格式文件",1)],64)),a.templateUrl?((0,t.wg)(),(0,t.iD)("p",I,[(0,t.Wm)(m,{href:a.templateUrl,target:"_blank",type:"primary",underline:!1},{default:(0,t.w5)((()=>[T])),_:1},8,["href"])])):(0,t.kq)("",!0)])])),default:(0,t.w5)((()=>[(0,t.WI)(e.$slots,"uploader",{},(()=>[(0,t.Wm)(p,{class:"el-icon--upload"},{default:(0,t.w5)((()=>[(0,t.Wm)(d)])),_:1}),L]))])),_:3},8,["accept","maxSize","data","http-request","before-upload","on-progress","on-success","on-error"]),e.$slots.form?((0,t.wg)(),(0,t.j4)(c,{key:0,inline:"","label-width":"100px","label-position":"left",style:{"margin-top":"18px"}},{default:(0,t.w5)((()=>[(0,t.WI)(e.$slots,"form",{formData:i.formData})])),_:3})):(0,t.kq)("",!0)])),[[w,i.loading]])])),_:3},8,["modelValue"])],64)}var F={emits:["success"],props:{apiObj:{type:Object,default:()=>{}},data:{type:Object,default:()=>{}},accept:{type:String,default:".xls, .xlsx"},maxSize:{type:Number,default:10},tip:{type:String,default:""},templateUrl:{type:String,default:""}},data(){return{dialog:!1,loading:!1,percentage:0,formData:{}}},mounted(){},methods:{open(){this.dialog=!0,this.formData={}},close(){this.dialog=!1},before(e){const l=e.size/1024/1024<this.maxSize;if(!l)return this.$message.warning(`上传文件大小不能超过 ${this.maxSize}MB!`),!1;this.loading=!0},progress(e){this.percentage=e.percent},success(e,l){this.$refs.uploader.handleRemove(l),this.$refs.uploader.clearFiles(),this.loading=!1,this.percentage=0,this.$emit("success",e,this.close)},error(e){this.loading=!1,this.percentage=0,this.$notify.error({title:"上传文件未成功",message:e})},request(e){Object.assign(e.data,this.formData);const l=new FormData;l.append(e.filename,e.file);for(const a in e.data)l.append(a,e.data[a]);this.apiObj.post(l,{onUploadProgress:l=>{const a=parseInt(l.loaded/l.total*100|0,10);e.onProgress({percent:a})}}).then((l=>{e.onSuccess(l)})).catch((l=>{e.onError(l)}))}}},q=a(83744);const A=(0,q.Z)(F,[["render",P]]);var B=A;const H=(0,t.Uk)("导出"),Y={"element-loading-text":"正在处理中..."},M={key:0,style:{position:"absolute",width:"100%",height:"100%",display:"flex","justify-content":"center","align-items":"center","z-index":"3000"}},R=(0,t.Uk)("发起导出任务"),Z=(0,t.Uk)("下 载");function Q(e,l,a,o,i,r){const s=(0,t.up)("el-button"),n=(0,t.up)("el-progress"),d=(0,t.up)("el-input"),p=(0,t.up)("el-form-item"),m=(0,t.up)("el-option"),u=(0,t.up)("el-select"),c=(0,t.up)("el-form"),f=(0,t.up)("el-tab-pane"),w=(0,t.up)("columnSet"),h=(0,t.up)("el-descriptions-item"),g=(0,t.up)("el-descriptions"),b=(0,t.up)("el-tabs"),y=(0,t.up)("el-main"),k=(0,t.up)("el-drawer"),W=(0,t.Q2)("loading");return(0,t.wg)(),(0,t.iD)(t.HY,null,[(0,t.WI)(e.$slots,"default",{open:r.open},(()=>[(0,t.Wm)(s,{type:"primary",plain:"",onClick:r.open},{default:(0,t.w5)((()=>[H])),_:1},8,["onClick"])])),(0,t.Wm)(k,{modelValue:i.dialog,"onUpdate:modelValue":l[2]||(l[2]=e=>i.dialog=e),title:"导出",size:400,direction:"rtl","append-to-body":"","destroy-on-close":""},{default:(0,t.w5)((()=>[(0,t.Wm)(y,{style:{padding:"0 20px 20px 20px"}},{default:(0,t.w5)((()=>[(0,t.wy)(((0,t.wg)(),(0,t.iD)("div",Y,[i.downLoading&&a.progress?((0,t.wg)(),(0,t.iD)("div",M,[(0,t.Wm)(n,{"text-inside":!0,"stroke-width":20,percentage:i.downLoadProgress,style:{width:"100%","margin-bottom":"120px"}},null,8,["percentage"])])):(0,t.kq)("",!0),(0,t.Wm)(b,null,{default:(0,t.w5)((()=>[(0,t.Wm)(f,{label:"常规",lazy:""},{default:(0,t.w5)((()=>[(0,t.Wm)(c,{"label-width":"100px","label-position":"left",style:{margin:"10px 0 20px 0"}},{default:(0,t.w5)((()=>[(0,t.Wm)(p,{label:"文件名"},{default:(0,t.w5)((()=>[(0,t.Wm)(d,{modelValue:i.formData.fileName,"onUpdate:modelValue":l[0]||(l[0]=e=>i.formData.fileName=e),placeholder:"请输入文件名"},null,8,["modelValue"])])),_:1}),(0,t.Wm)(p,{label:"文件类型"},{default:(0,t.w5)((()=>[(0,t.Wm)(u,{modelValue:i.formData.fileType,"onUpdate:modelValue":l[1]||(l[1]=e=>i.formData.fileType=e),placeholder:"请选择文件类型"},{default:(0,t.w5)((()=>[((0,t.wg)(!0),(0,t.iD)(t.HY,null,(0,t.Ko)(a.fileTypes,(e=>((0,t.wg)(),(0,t.j4)(m,{key:e,label:"*."+e,value:e},null,8,["label","value"])))),128))])),_:1},8,["modelValue"])])),_:1}),(0,t.WI)(e.$slots,"form",{formData:i.formData})])),_:3}),a.async?((0,t.wg)(),(0,t.j4)(s,{key:0,type:"primary",size:"large",icon:"el-icon-plus",style:{width:"100%"},onClick:r.download,loading:i.asyncLoading},{default:(0,t.w5)((()=>[R])),_:1},8,["onClick","loading"])):((0,t.wg)(),(0,t.j4)(s,{key:1,type:"primary",size:"large",icon:"el-icon-download",style:{width:"100%"},onClick:r.download},{default:(0,t.w5)((()=>[Z])),_:1},8,["onClick"]))])),_:3}),i.columnData.length>0?((0,t.wg)(),(0,t.j4)(f,{key:0,label:"列设置",lazy:""},{default:(0,t.w5)((()=>[(0,t.Wm)(w,{column:i.columnData},null,8,["column"])])),_:1})):(0,t.kq)("",!0),a.data&&a.showData?((0,t.wg)(),(0,t.j4)(f,{key:1,label:"其他参数",lazy:""},{default:(0,t.w5)((()=>[(0,t.Wm)(g,{column:1,border:"",size:"small"},{default:(0,t.w5)((()=>[((0,t.wg)(!0),(0,t.iD)(t.HY,null,(0,t.Ko)(a.data,((e,l)=>((0,t.wg)(),(0,t.j4)(h,{key:l,label:l},{default:(0,t.w5)((()=>[(0,t.Uk)((0,N.toDisplayString)(e),1)])),_:2},1032,["label"])))),128))])),_:1})])),_:1})):(0,t.kq)("",!0)])),_:3})])),[[W,i.downLoading]])])),_:3})])),_:3},8,["modelValue"])],64)}a(57658);function J(e,l,a,o,i,r){const s=(0,t.up)("el-icon-d-caret"),n=(0,t.up)("el-icon"),d=(0,t.up)("el-tag"),p=(0,t.up)("el-table-column"),m=(0,t.up)("el-switch"),u=(0,t.up)("el-table");return(0,t.wg)(),(0,t.j4)(u,{ref:"table",data:i.columnData,"row-key":"prop",style:{width:"100%"},border:""},{default:(0,t.w5)((()=>[(0,t.Wm)(p,{prop:"",label:"排序",width:"60"},{default:(0,t.w5)((()=>[(0,t.Wm)(d,{class:"move",style:{cursor:"move"}},{default:(0,t.w5)((()=>[(0,t.Wm)(n,{style:{cursor:"move"}},{default:(0,t.w5)((()=>[(0,t.Wm)(s)])),_:1})])),_:1})])),_:1}),(0,t.Wm)(p,{prop:"label",label:"列名"},{default:(0,t.w5)((e=>[(0,t.Wm)(d,{round:"",effect:e.row.hide?"light":"dark",type:e.row.hide?"info":""},{default:(0,t.w5)((()=>[(0,t.Uk)((0,N.toDisplayString)(e.row.label),1)])),_:2},1032,["effect","type"])])),_:1}),(0,t.Wm)(p,{prop:"hide",label:"显示",width:"60"},{default:(0,t.w5)((e=>[(0,t.Wm)(m,{modelValue:e.row.hide,"onUpdate:modelValue":l=>e.row.hide=l,size:"small","active-value":!1,"inactive-value":!0},null,8,["modelValue","onUpdate:modelValue"])])),_:1})])),_:1},8,["data"])}var K=a(51474),G={emits:["success"],props:{column:{type:Array,default:()=>[]}},data(){return{columnData:this.column}},mounted(){this.rowDrop()},methods:{rowDrop(){const e=this,l=this.$refs.table.$el.querySelector(".el-table__body-wrapper tbody");K.ZP.create(l,{handle:".move",animation:200,ghostClass:"ghost",onEnd({newIndex:l,oldIndex:a}){const t=e.columnData,o=t.splice(a,1)[0];t.splice(l,0,o)}})}}};const X=(0,q.Z)(G,[["render",J]]);var ee=X,le={components:{columnSet:ee},props:{apiObj:{type:Object,default:()=>{}},fileName:{type:String,default:""},fileTypes:{type:Array,default:()=>["xlsx"]},data:{type:Object,default:()=>{}},showData:{type:Boolean,default:!1},async:{type:Boolean,default:!1},column:{type:Array,default:()=>[]},blob:{type:Boolean,default:!1},progress:{type:Boolean,default:!0}},data(){return{dialog:!1,formData:{fileName:this.fileName,fileType:this.fileTypes[0]},columnData:[],downLoading:!1,downLoadProgress:0,asyncLoading:!1}},watch:{"formData.fileType"(e){this.formData.fileName.includes(".")?this.formData.fileName=this.formData.fileName.substring(0,this.formData.fileName.lastIndexOf("."))+"."+e:this.formData.fileName=this.formData.fileName+"."+e}},mounted(){},methods:{open(){this.dialog=!0,this.formData={fileName:(this.fileName?this.fileName:(new Date).getTime()+"")+"."+this.fileTypes[0],fileType:this.fileTypes[0]},this.columnData=JSON.parse(JSON.stringify(this.column))},close(){this.dialog=!1},download(){let e={column:this.columnData.filter((e=>!e.hide)).map((e=>e.prop)).join(",")},l={...this.data,...this.formData,...e};this.async?this.asyncDownload(this.apiObj,this.formData.fileName,l):this.blob?this.downloadFile(this.apiObj,this.formData.fileName,l):this.linkFile(this.apiObj.url,this.formData.fileName,l)},linkFile(e,l,a={}){let t=document.createElement("a");t.style="display: none",t.target="_blank",t.href=e+this.toQueryString(a),document.body.appendChild(t),t.click(),document.body.removeChild(t)},downloadFile(e,l,a={}){this.downLoading=!0;var t=this;e.get(a,{responseType:"blob",onDownloadProgress(e){e.lengthComputable&&(t.downLoadProgress=parseInt(e.loaded/e.total*100))}}).then((e=>{this.downLoading=!1,this.downLoadProgress=0;let a=URL.createObjectURL(e),t=document.createElement("a");t.style="display: none",t.target="_blank",t.download=l,t.href=a,document.body.appendChild(t),t.click(),document.body.removeChild(t),URL.revokeObjectURL(a)})).catch((e=>{this.downLoading=!1,this.downLoadProgress=0,this.$notify.error({title:"下载文件失败",message:e})}))},asyncDownload(e,l,a={}){this.asyncLoading=!0,e.get(a).then((e=>{this.asyncLoading=!1,200==e.code?(this.dialog=!1,this.$msgbox({title:"成功发起任务",message:'<div><img style="height:200px" src="img/tasks-example.png"/></div><p>已成功发起导出任务,您可以操作其他事务</p><p>稍后可在 <b>任务中心</b> 查看执行结果</p>',type:"success",confirmButtonText:"知道了",dangerouslyUseHTMLString:!0,center:!0}).catch((()=>{}))):this.$alert(e.message||"未知错误","发起任务失败",{type:"error",center:!0}).catch((()=>{}))})).catch((()=>{this.asyncLoading=!1}))},toQueryString(e){let l=[];for(var a in e)l.push(`${a}=${e[a]}`);return(l.length>0?"?":"")+l.join("&")}}};const ae=(0,q.Z)(le,[["render",Q]]);var te=ae,oe={name:"importexport",components:{scFileImport:B,scFileExport:te},data(){return{importErrDialogVisible:!1,importErrData:{},column:[{label:"姓名",prop:"name"},{label:"性别",prop:"sex"},{label:"评分",prop:"num"},{label:"邮箱",prop:"email",hide:!0},{label:"进度",prop:"progress"},{label:"注册时间",prop:"datetime"}]}},mounted(){},methods:{success(e,l){200==e.code?(this.$alert("导入返回成功后,可后续操作,比如刷新表格等。执行回调函数close()可关闭上传窗口。","导入成功",{type:"success",showClose:!1,center:!0}),l()):(this.importErrDialogVisible=!0,this.importErrData=e.data)}}};const ie=(0,q.Z)(oe,[["render",C]]);var re=ie}}]); |