|
@@ -10,6 +10,21 @@
|
|
|
}
|
|
|
"
|
|
|
>
|
|
|
+ <el-form ref="form" :model="form" label-width="100px">
|
|
|
+
|
|
|
+<el-form-item label="关联场景" prop="kindergartenId">
|
|
|
+ <SceneSelect v-model="form.kindergartenId" :clearable="false" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="关联活动">
|
|
|
+ <ActivitySelect
|
|
|
+ v-model="form.activityId"
|
|
|
+ :kindergartenId="form.kindergartenId"
|
|
|
+ :firstLoad="false"
|
|
|
+ :disabled="form.kindergartenId === null"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+
|
|
|
+ <el-form-item label="图片" prop="urls" required>
|
|
|
<el-upload
|
|
|
action
|
|
|
:http-request="Upload"
|
|
@@ -33,11 +48,16 @@
|
|
|
</el-upload>
|
|
|
|
|
|
<el-progress v-show="showProgress" :text-inside="true" :stroke-width="15" :percentage="progress"></el-progress>
|
|
|
+ </el-form-item>
|
|
|
+
|
|
|
+ </el-form>
|
|
|
+
|
|
|
</el-dialog>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
import { client , getFileNameUUID } from "@/utils/ali-oss"; // 前面的ali-js文件内的两个封装函数
|
|
|
+import { saveItem } from '@/api/photoWarehouse';
|
|
|
|
|
|
export default {
|
|
|
name: "Upload",
|
|
@@ -52,6 +72,12 @@ export default {
|
|
|
title: '批量上传照片',
|
|
|
modal: true,
|
|
|
|
|
|
+ form: {
|
|
|
+ kindergartenId: null,
|
|
|
+ activityId: '',
|
|
|
+ urls: []
|
|
|
+ },
|
|
|
+
|
|
|
fileList: [], // 文件列
|
|
|
showProgress: false, // 进度条的显示
|
|
|
dataObj: {
|
|
@@ -79,6 +105,9 @@ export default {
|
|
|
// 文件上传成功时的钩子
|
|
|
handleSuccess(response, file, fileList) {
|
|
|
this.fileList = fileList;
|
|
|
+ // if (response.name) {
|
|
|
+ // this.saveData(response.name);
|
|
|
+ // }
|
|
|
},
|
|
|
// 文件上传前的校验
|
|
|
beforeAvatarUpload(file) {
|
|
@@ -91,6 +120,10 @@ export default {
|
|
|
// this.$message.error("上传视频大小要在10MB~1GB之间哦!");
|
|
|
// return false;
|
|
|
// }
|
|
|
+ if(!this.form.kindergartenId) {
|
|
|
+ this.$error('请先选择幼儿园')
|
|
|
+ }
|
|
|
+
|
|
|
const isLt30 = file.name.length < 30;
|
|
|
if (!isLt30) {
|
|
|
this.$message.error("上传视频文件名称长度必须要小于30个文字哦!");
|
|
@@ -122,6 +155,7 @@ export default {
|
|
|
//上传成功返回值,可针对项目需求写其他逻辑
|
|
|
// todo 这里每完成一个文件,会回调一次。这里请求服务端保存业务。照片信息 + 幼儿园 + 活动...
|
|
|
console.log(result);
|
|
|
+ this.saveData(result);
|
|
|
})
|
|
|
.catch(err => {
|
|
|
console.log("err:", err);
|
|
@@ -129,6 +163,21 @@ export default {
|
|
|
}
|
|
|
|
|
|
multipartUpload();
|
|
|
+ },
|
|
|
+ async saveData(obj) {
|
|
|
+ const params = {
|
|
|
+ kindergartenId: this.form.kindergartenId,
|
|
|
+ activityId: this.form.activityId,
|
|
|
+ fileRequest: {
|
|
|
+ // todo 补充字段
|
|
|
+ originalFilename: 'abc',
|
|
|
+ size: 100,
|
|
|
+ path: obj.name
|
|
|
+ }
|
|
|
+ }
|
|
|
+ const { success, msg } = await saveItem(params);
|
|
|
+ if (success) {
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
};
|