修改日期 | 修改人 | 备注 |
2020-09-03 17:05:51[当前版本] | 徐文斌 | rview-c@1.1.201 |
2020-09-03 17:02:02 | 徐文斌 | 上传文件组件(RgUploadFile) |
上传文件
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一定要清空,否则组件不会去调用查看详情的方法