<template> <div> <a-modal :title="fileType === 'image' ? '图片上传' : '文件上传'" :width="width" :visible="visible" @ok="ok" cancelText="取消" @cancel="close"> <!--style="top: 20px;"--> <j-upload :file-type="fileType" :value="filePath" @change="handleChange" :disabled="disabled" :number="number"></j-upload> </a-modal> </div> </template> <script> import { getFileAccessHttpUrl } from '@/api/manage'; const getFileName=(path)=>{ if(path.lastIndexOf("\\")>=0){ let reg=new RegExp("\\\\","g"); path = path.replace(reg,"/"); } return path.substring(path.lastIndexOf("/")+1); } export default { name: 'JFilePop', components: { }, props:{ title:{ type:String, default:'', required:false }, position:{ type:String, default:'right', required:false }, height:{ type:Number, default:200, required:false }, width:{ type:Number, default:520, required:false }, popContainer:{ type:String, default:'', required:false }, disabled:{ type:Boolean, default:false, required:false }, number:{ type:Number, required:false, default: 0 } }, data(){ return { visible:false, filePath:'', id:'', fileType:'file' } }, methods:{ handleChange(value){ this.filePath = value; }, show(id,value,flag){ this.id = id; this.filePath = value; this.visible=true if(flag === 'img'){ this.fileType = 'image' }else{ this.fileType = 'file' } }, ok(){ if(!this.filePath){ this.$message.error("未上传任何文件") return false; } let arr = this.filePath.split(",") let obj = { name:getFileName(arr[0]), url:getFileAccessHttpUrl(arr[0]), path:this.filePath, status: 'done', id:this.id } this.$emit('ok',obj) this.visible=false }, close(){ this.visible=false } } } </script> <style scoped> </style>