|
|
@@ -737,7 +737,7 @@
|
|
|
},
|
|
|
getImages(images) {
|
|
|
return images.map((item) => {
|
|
|
- return item.file;
|
|
|
+ return item.src;
|
|
|
})
|
|
|
},
|
|
|
pasteImage(event,imageArray){
|
|
|
@@ -986,7 +986,6 @@
|
|
|
},
|
|
|
checkImageWhetherNeed(item){
|
|
|
if (this.billInputting.id_owner==4)return 0;//幼岚非必要上传外箱及产品图
|
|
|
- if (this.billInputting.id_owner==10 && item.id_quality_label==3)return 0;
|
|
|
if (item.id_quality_label!=1){
|
|
|
if (item.commodityImages.length===0){
|
|
|
tempTip.setDuration(3000);
|
|
|
@@ -998,19 +997,56 @@
|
|
|
},
|
|
|
setFormDataImage(formData, prefix, images) {
|
|
|
images.forEach((item) => {
|
|
|
- formData.append(`${prefix}[]`, item);
|
|
|
+ formData.append(`${prefix}[]`, item,'rejected_bill_item.jpg');
|
|
|
});
|
|
|
},
|
|
|
+ compressedImage(_this,packageImages){
|
|
|
+ let blobs=[];
|
|
|
+ packageImages.forEach(function (imageFile){
|
|
|
+ let docImg=document.createElement('img');
|
|
|
+ docImg.src=imageFile;
|
|
|
+ const { width: originWidth, height: originHeight } = docImg
|
|
|
+ let maxWidth = 400;
|
|
|
+ let maxHeight = 600;
|
|
|
+ // 需要压缩的目标尺寸
|
|
|
+ let targetWidth = originWidth
|
|
|
+ let targetHeight = originHeight
|
|
|
+ // 等比例计算超过最大限制时缩放后的图片尺寸
|
|
|
+ if (originWidth > maxWidth || originHeight > maxHeight) {
|
|
|
+ if (originWidth / originHeight > maxWidth / maxHeight) {
|
|
|
+ targetWidth = maxWidth
|
|
|
+ targetHeight = Math.floor(maxWidth * (originHeight / originWidth))
|
|
|
+ } else {
|
|
|
+ targetWidth = Math.floor(maxHeight * (originWidth / originHeight))
|
|
|
+ targetHeight = maxHeight;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ const canvas = document.createElement('canvas')
|
|
|
+ const context = canvas.getContext('2d')
|
|
|
+ // 设置宽高度为等同于要压缩图片的尺寸
|
|
|
+ canvas.width = targetWidth
|
|
|
+ canvas.height = targetHeight
|
|
|
+ context.clearRect(0, 0, targetWidth, targetHeight)
|
|
|
+ //将img绘制到画布上
|
|
|
+ context.drawImage(docImg, 0, 0, targetWidth, targetHeight)
|
|
|
+ let image = canvas.toDataURL();
|
|
|
+ let blob=_this.dataUrlToBlob(image);
|
|
|
+ blobs.push(blob)
|
|
|
+ });
|
|
|
+ return blobs;
|
|
|
+ },
|
|
|
getDamagedFormData(item){
|
|
|
let _this=this;
|
|
|
let formData = new FormData();
|
|
|
if (item.packageImages.length>0){
|
|
|
let packageImages = _this.getImages(item.packageImages);
|
|
|
- this.setFormDataImage(formData,'packageImages',packageImages);
|
|
|
+ let blobs=_this.compressedImage(_this,packageImages);
|
|
|
+ this.setFormDataImage(formData,'packageImages',blobs);
|
|
|
}
|
|
|
if (item.commodityImages.length>0){
|
|
|
let commodityImages = _this.getImages(item.commodityImages);
|
|
|
- this.setFormDataImage(formData,'commodityImages',commodityImages);
|
|
|
+ let blobs=_this.compressedImage(_this,commodityImages);
|
|
|
+ this.setFormDataImage(formData,'commodityImages',blobs);
|
|
|
}
|
|
|
formData.append('barcode_goods',item.barcode_goods);
|
|
|
formData.append('amount',item.amount);
|
|
|
@@ -1038,6 +1074,7 @@
|
|
|
}
|
|
|
}
|
|
|
let formData = _this.getDamagedFormData(_this.itemInputting);
|
|
|
+
|
|
|
axios.post(url, formData,{'Content-Type':'multipart/form-data'}).then(function (response) {
|
|
|
_this.cleanError();
|
|
|
if (response.data.success === 'true') {
|
|
|
@@ -1295,11 +1332,13 @@
|
|
|
_this.items.splice(i, 1);
|
|
|
}
|
|
|
});
|
|
|
+ _this.cleanItem();
|
|
|
} else {
|
|
|
+ _this.cleanItem();
|
|
|
tempTip.show('删除失败,可尝试刷新页面再操作');
|
|
|
}
|
|
|
}).catch(function (response) {
|
|
|
- alert('连接错误:' + response);
|
|
|
+ _this.cleanItem();
|
|
|
tempTip.show('删除失败,可尝试刷新页面!');
|
|
|
});
|
|
|
},
|
|
|
@@ -1515,7 +1554,7 @@
|
|
|
let isBtn = '@can('运输管理-运单-图片删除') true @endcan ';
|
|
|
for(let i=0;i<uploadFiles.length;i++){
|
|
|
let btn = isBtn ? "<button type='button' class='btn btn-sm btn-danger' onclick='vueList.btnDeleteImg(this)' data-url='"+uploadFiles[i].url+"' value='"+id+"' style='position: relative;float: right;margin-top: -30px;' >删除</button>" : "";
|
|
|
- let href = this.imgPrefix+uploadFiles[i].url+'-bulky.'+uploadFiles[i].type;
|
|
|
+ let href = this.imgPrefix+uploadFiles[i].url+'-common.'+uploadFiles[i].type;
|
|
|
let src = this.imgPrefix+uploadFiles[i].url+'-common.'+uploadFiles[i].type;
|
|
|
div += "<div><a target='_blank' href='"+href+"'><img alt='#' src='"+src+"' style='position: relative;' ></a>"+btn+"</div>"
|
|
|
}
|