|
@@ -34,17 +34,17 @@
|
|
|
</span>
|
|
|
</div>
|
|
|
<SvgIcon icon-class="delete-black" size="12" @click="removeFile(file, i)" />
|
|
|
- <SvgIcon v-show="moduleData.type == 'picture'" icon-class="mark" size="12" @click="viewDialog" />
|
|
|
+ <SvgIcon v-show="moduleData.type == 'picture'" icon-class="mark" size="12" @click="viewDialog(file)" />
|
|
|
</li>
|
|
|
</ul>
|
|
|
|
|
|
- <FillDescribe :visible.sync="visible" @fillDescribeToFile="fillDescribeToFile" />
|
|
|
+ <FillDescribe :file-data="curFile" :visible.sync="visible" @fillDescribeToFile="fillDescribeToFile" />
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
import ModuleMixin from '../../common/ModuleMixin';
|
|
|
-import { fileUpload, GetFileStoreInfo } from '@/api/app';
|
|
|
+import { fileUpload } from '@/api/app';
|
|
|
import { conversionSize } from '@/utils/common';
|
|
|
import FillDescribe from '../../common/FillDescribe';
|
|
|
|
|
@@ -82,13 +82,10 @@ export default {
|
|
|
},
|
|
|
data() {
|
|
|
return {
|
|
|
+ curFile: null,
|
|
|
conversionSize,
|
|
|
file_info_list: [],
|
|
|
visible: false,
|
|
|
- form: {
|
|
|
- title: '',
|
|
|
- describe: '',
|
|
|
- },
|
|
|
};
|
|
|
},
|
|
|
computed: {},
|
|
@@ -100,6 +97,8 @@ export default {
|
|
|
|
|
|
fileList.forEach((file) => {
|
|
|
if (!file.progress || file.progress <= 0) file.progress = 0;
|
|
|
+ if (!file.title) file.title = '';
|
|
|
+ if (!file.describe) file.describe = '';
|
|
|
});
|
|
|
this.file_info_list = fileList;
|
|
|
},
|
|
@@ -121,7 +120,7 @@ export default {
|
|
|
// 文件校验
|
|
|
afterSelectFile(file) {
|
|
|
const fileName = file.name;
|
|
|
- let singleSizeTip = '文件[' + fileName + ']大小超过 ' + conversionSize(this.moduleData.single_size) + ',被移除!';
|
|
|
+ let singleSizeTip = `文件[${fileName}]大小超过 ${conversionSize(this.moduleData.single_size)},被移除!`;
|
|
|
|
|
|
if (file.size > this.moduleData.single_size * 1024 * 1024) {
|
|
|
this.$message.error(singleSizeTip);
|
|
@@ -142,7 +141,7 @@ export default {
|
|
|
}
|
|
|
const isNeedType = fileType.includes(suffix);
|
|
|
if (!isNeedType) {
|
|
|
- typeTip += ',[' + fileName + ']被移除!';
|
|
|
+ typeTip += `,[${fileName}]被移除!`;
|
|
|
this.$message.error(typeTip);
|
|
|
this.$refs.upload.handleRemove(file);
|
|
|
return false;
|
|
@@ -154,38 +153,46 @@ export default {
|
|
|
const files = this.$refs.upload.uploadFiles || [];
|
|
|
const totalSize = files.reduce((sum, cur) => sum + Number(cur.size || 0), 0);
|
|
|
if (totalSize > this.moduleData.total_size * 1024 * 1024) {
|
|
|
- this.$message.error('文件总大小不能超过' + conversionSize(this.moduleData.total_size));
|
|
|
+ this.$message.error(`文件总大小不能超过${conversionSize(this.moduleData.total_size)}`);
|
|
|
return false;
|
|
|
}
|
|
|
- var that = this;
|
|
|
files.forEach((file) => {
|
|
|
- fileUpload('Mid', file, {
|
|
|
- handleUploadProgress: function (progressEvent) {
|
|
|
- var en = that.file_info_list.find((p) => p.uid == file.uid);
|
|
|
- var per = Number((progressEvent.progress * 100).toFixed(2) || 0);
|
|
|
+ let formData = new FormData();
|
|
|
+ formData.append('file', file.raw);
|
|
|
+ fileUpload('Mid', formData, {
|
|
|
+ handleUploadProgress: (progressEvent) => {
|
|
|
+ let en = this.file_info_list.find((p) => p.uid === file.uid);
|
|
|
+ let per = Number((progressEvent.progress * 100).toFixed(2) || 0);
|
|
|
if (en) {
|
|
|
// var _i = that.file_info_list.findIndex((p) => p.uid == file.uid);
|
|
|
en.progress = per;
|
|
|
// that.$set(that.file_info_list, _i, en);
|
|
|
- that.$forceUpdate();
|
|
|
+ this.$forceUpdate();
|
|
|
}
|
|
|
},
|
|
|
}).then(({ file_info_list }) => {
|
|
|
if (file_info_list.length > 0) {
|
|
|
- // console.log(file_info_list);
|
|
|
- this.file_info_list = file_info_list;
|
|
|
+ console.log(file_info_list);
|
|
|
+ // this.file_info_list = file_info_list;
|
|
|
}
|
|
|
});
|
|
|
});
|
|
|
},
|
|
|
|
|
|
// 显示弹窗
|
|
|
- viewDialog() {
|
|
|
+ viewDialog(file) {
|
|
|
this.visible = true;
|
|
|
+ this.curFile = file;
|
|
|
+ console.info(file);
|
|
|
},
|
|
|
|
|
|
- //给文件加介绍
|
|
|
- fillDescribeToFile() {},
|
|
|
+ // 给文件加介绍
|
|
|
+ fillDescribeToFile(file) {
|
|
|
+ let en = this.file_info_list.find((p) => p.uid === file.uid);
|
|
|
+ if (en) {
|
|
|
+ Object.assign(en, file);
|
|
|
+ }
|
|
|
+ },
|
|
|
},
|
|
|
};
|
|
|
</script>
|