上传文件
cnpm install rview-c --save
<RgUploadFile ref="uploadFiles" :tenantId="tenantId" :folder="folder" :belongsId="belongsId" :isView="isView" @handle-success="handleSuccess" @handle-failed="handleFailed" @valid-error="validError" ></RgUploadFile>
<script>
import "swiper/dist/css/swiper.css";
import "photo-sphere-viewer/dist/photo-sphere-viewer.css";
import "photo-sphere-viewer/dist/photo-sphere-viewer";
export default {
data() {
return {
/**
* 上传组件相关
*/
tenantId: this.$store.state.user.tenantId,
isView: false,
belongsId: "",
};
},
methods: {
/**
* 获取详情
*/
getDetail(id) {
this.belongsId = "";
this.$api.PolicyRegulations.DetailData({id}).then(res => {
this.isView = this.disabled;
this.belongsId = this.innerInfo.id;
})
},
/**
* 点击确定
*/
async saveFun() {
// 表单验证
let valid = await this.$refs.formValidate.validate();
if (valid) {
this.submitLoading = true;
this.$refs.uploadFiles.uploadFun(this.innerInfo.id); // 调用组件的上传方法
} else {
this.$Message.error("表单验证失败!");
}
},
/**
* 文件必填验证失败
*/
validError() {
this.submitLoading = false;
},
/**
* 文件上传成功调用的方法
*/
handleSuccess(data) {
// 业务执行成功后记得调用组件的重置方法
this.$refs.uploadFiles.resetFun();
},
// 文件上传失败调用的方法
handleFailed(errInfo) {
// errInfo 文件上传失败的返回信息
this.$Message.error("操作失败,请稍后重试!");
}
},
mounted() {
}
};
</script>
| 参数 | 类型 | 是否必填 | 描述 | 默认值 |
| tenantId |
string |
是 |
租户ID |
-- |
| belongsId | string | 是 | 业务id | -- |
| fileServerUrl | string | 否 | 文件服务地址 | http://njrgrjsvn.tpddns.cn:48001 |
| format | array | 否 | 文件格式 |
[
"doc",
"docx",
"xls",
"xlsx",
"ppt",
"pptx",
"txt"]
|
| maxSize | number | 否 | 文件大小,单位M | 50 |
| btnText | string | 否 | 按钮名称 | 上传文件 |
| folder | string | 否 | 上传时存在库里的文件夹名称 | HnFile |
| isRequired | boolean | 否 | 是否验证文件必传 | true |
| isView | boolean | 否 | 是不是查看 | false |
| expandField | string | 否 | 扩展字段,业务看情况使用 | -- |
| 事件名 | 参数 | 描述 |
| valid-error | 无 | 文件必填验证失败时触发。文件必传才有此验证 |
| handle-success |
自定义名称 | 文件上传成功时触发。参数是文件信息 |
| handle-failed | 自定义名称 | 文件上传失败时触发,参数是错误信息 |
doc,docx,xls,xlsx,ppt,pptx,pdf,jpg,jpeg,png,jfif,gif
1、关闭页面,一定要调用组件的resetFun()方法,清空belongsId。
2、文件预览展示一半,如图

原因:未引入样式
解决方法:引入样式
import “swiper/dist/css/swiper.css”;
import “photo-sphere-viewer/dist/photo-sphere-viewer.css”;
import “photo-sphere-viewer/dist/photo-sphere-viewer”;
3、如果附件需要验证必填,一定要传valid-error方法,否则会报错
4、上传成功的handle-success的事件中,一定要调用组件的resetFun()方法,否则有可能出现详情展示两个相同文件的情况
5、获取详情和编辑前,belongsId一定要清空,否则组件不会去调用查看详情的方法
| 修改日期 | 修改人 | 备注 |
| 2020-09-03 17:05:51[当前版本] | 徐文斌 | rview-c@1.1.201 |
| 2020-09-03 17:02:02 | 徐文斌 | 上传文件组件(RgUploadFile) |
| 附件类型 |
|
|
|
|
||