流程:点击上传到–》文件服务器upload—》调用saveFile–》调用FileLists
文件操作列表:
<FormItem label="附件信息"><Upload :action="uploadUrl()" name="multipartFile" multiple :on-remove="handleRemove":on-success="handleSuccess" :on-error="handleError" :default-file-list="defaultList"ref="update_ref" :headers="{'X-token':token}" :show-upload-list=true :on-preview="handlePreview":disabled=inputDisable><Button icon="ios-cloud-upload-outline">附件上传</Button></Upload></FormItem>uploadUrl() {// return basePath + "hwfile/upload";this.url=basePath+"hwfile/upload";return this.url;},filesaveSj() {//保存文件上传的路径到数据库let url = "/upload/save";this.$get(url,{fileName: this.filename,path: this.fileurl,size: this.filesize,relationId: this.relationId,filePath: this.filePath,catalog: this.catalogsj,delFlag: false,},res => {let result = res.data;if (result.status == 200) {console.log('保存到数据库成功')this.uploadFileList(this.$route.query.id, this.catalogsj);} else {this.$toast(result.msg);}},err => {this.$hideMark();this.$toast(this.networkerr);});},handleRemove(file, fileList) {if (this.auditStateFlag != "") {if (this.auditStateFlag == "1") {this.$toast("合同已审核,不允许删除!");this.uploadFileList(this.$route.query.id,"common",this.defaultList);// this.uploadFileList(// this.$route.query.id,// "additional",// this.addiFileList// );// this.uploadFileList(// this.$route.query.id,// "sfbzht",// this.sfbzhtFileList// );return;}}this.$Modal.confirm({title: "删除提示",content: "是否确定删除",okText: "确定",canceText: "取消",onOk: async () => {let url = "/upload/deleteById";this.$get(url,{id: file.id},res => {let result = res.data;if (result.status == 200) {this.removeOBSFile(file);} else {this.$toast(result.msg);}},err => {this.$hideMark();this.$toast(this.networkerr);});},onCancel: () => {fileList.push(file);}});},handleSuccess(response, file, fileList) {console.log(response);console.log(file);console.log(fileList);console.log(response.data.filePath);console.log(response.data.url);let url = response.data.url;this.filePath = response.data.filePath;this.filename = file.name;this.fileurl = url;this.filesize = file.size;console.log("name:" + file.name + "url:" + url + "size:" + file.size);console.log("文件上传成功");this.filesaveSj();this.$Message.success('文件上传成功');this.defaultList = [];/* this.defaultList.push({name: file.name,url: response.data.url,size: file.size,
}) */},handleError(error, file, fileList) {//文件上传失败this.$Message.error("文件上传失败");},handlePreview(file) {//window.open(file.url)const url = "/hwfile/download";this.$get(url,{filename: file.path},res => {let result = res.data;if (result.status == 200) {console.log(result.msg);this.filePathUrl = result.data;window.open(this.filePathUrl);} else {this.$toast(result.msg);}},err => {this.$hideMark();this.$toast(this.networkerr);});},uploadfjsj(value){this.catalogsj=value;this.uploadFileList(this.$route.query.id,value);this.sjfj1=true;},uploadFileList(id,catalog) {//查询附件列表let url = "/upload/selectFileInfo";this.$get(url,{id:id,catalog:catalog},res => {let result = res.data;if (result.status == 200) {console.log("查询文件列表");console.log(result.data);/*for (let i in result.data) {let data = result.data[i];let file = {};file.id = data.id;file.url = data.fileUrl;file.size = data.fileSize;file.name = data.fileName;this.defaultList.push(file);}*/this.filejh=result.data;} else {this.$toast(result.msg);}},err => {this.$hideMark();this.$toast(this.networkerr);});},