Browse Source

支持上传图片、视频

fenbao
wangyx 4 months ago
parent
commit
ed5e67384d
  1. 53
      pagesA/sdPage/dfReport.vue

53
pagesA/sdPage/dfReport.vue

@ -51,10 +51,12 @@
:value="multiIndex" :value="multiIndex"
:range="multiArray" :range="multiArray"
> >
<view class="uni-input">{{multiIndex[0]?'请选择': <view class="uni-input">{{
multiArray[0][multiIndex[0]] + multiIndex[0]
multiArray[1][multiIndex[1]] + ? "请选择"
multiArray[2][multiIndex[2]] : multiArray[0][multiIndex[0]] +
multiArray[1][multiIndex[1]] +
multiArray[2][multiIndex[2]]
}}</view> }}</view>
</picker> </picker>
</view> </view>
@ -102,18 +104,17 @@
<view class="imeter-row"> <view class="imeter-row">
<text class="meter-label">上传图片</text> <text class="meter-label">上传图片</text>
<u-upload <u-upload
v-model="fileList"
:max-count="10" :max-count="10"
:multiple="true" :multiple="true"
:preview-full-image="true" :preview-full-image="true"
:deletable="true" :deletable="true"
:show-upload-list="true" :show-upload-list="true"
:fileList="fileList" :fileList="fileList"
:auto-upload="false"
accept="all" accept="all"
@afterRead="afterRead"
@delete="onDelete"
:maxSize="10 * 1024 * 1024" :maxSize="10 * 1024 * 1024"
@oversize="oversize" @oversize="oversize"
@delete="onDelete"
> >
<view class="custom-upload-btn" @click.stop="chooseMedia"> <view class="custom-upload-btn" @click.stop="chooseMedia">
<view class="icon-box"> <view class="icon-box">
@ -332,39 +333,7 @@ export default {
this.getLastMeter(); this.getLastMeter();
this.$forceUpdate(); this.$forceUpdate();
}, },
async afterRead(event, index) {
let lists = [].concat(event.file);
let fileListLen =
this.form.waterMeters[index][`fileList${event.name}`].length;
lists.map((item) => {
this.form.waterMeters[index][`fileList${event.name}`].push({
...item,
status: "uploading",
message: "上传中",
});
});
for (let i = 0; i < lists.length; i++) {
const result = await uploadImage(lists[i].url);
let item =
this.form.waterMeters[index][`fileList${event.name}`][fileListLen];
this.form.waterMeters[index][`fileList${event.name}`].splice(
fileListLen,
1,
Object.assign(item, {
status: "success",
message: "",
url: result.url,
})
);
fileListLen++;
}
var arry = [];
this.form.waterMeters[index].fileList.filter((v, i) => {
arry.push(v.url);
});
this.form.waterMeters[index].imageList = arry;
},
onDelete(event, index) { onDelete(event, index) {
// this.form.waterMeters[index].fileList.splice(event.index, 1); // this.form.waterMeters[index].fileList.splice(event.index, 1);
// this.form.waterMeters[index].imageList.splice(event.index, 1); // this.form.waterMeters[index].imageList.splice(event.index, 1);
@ -383,7 +352,11 @@ export default {
for (let i = 0; i < files.length; i++) { for (let i = 0; i < files.length; i++) {
const file = files[i]; const file = files[i];
const filePath = file.tempFilePath; const filePath = file.tempFilePath;
const type = file.fileType || (filePath.match(/\.(mp4|mov|avi|wmv|flv|mkv)$/i) ? "video" : "image"); const type =
file.fileType ||
(filePath.match(/\.(mp4|mov|avi|wmv|flv|mkv)$/i)
? "video"
: "image");
// //
const uploadRes = await uploadImage(filePath); const uploadRes = await uploadImage(filePath);
this.fileList.push({ this.fileList.push({

Loading…
Cancel
Save