Commit 8c935ae7 by liangjianmin

fix(shipOut): 修正签收图片管理逻辑,更新字段类型及图片数组处理,确保图片上传与删除功能正常

parent eb1f8e59
Showing with 34 additions and 52 deletions
......@@ -124,7 +124,7 @@
<template v-if="item.receipt_img_list.length > 0">
<view class="img_list" v-for="(v, i) in item.receipt_img_list" :key="i">
<image :src="v.small_image_url" mode="aspectFill" @click="previewChange(item.receipt_img_list, i)"></image>
<text class="iconfont icon-a-juxing11" @click="deletePic(index, i, 2)" v-if="v.id_del"></text>
<text class="iconfont icon-a-juxing11" @click="deletePic(index, i, 2)"></text>
</view>
</template>
<view class="default row rowCenter verCenter" @click="chooseImageChange(index, 2)" v-if="item.receipt_img_list.length < maxNum"><text class="iconfont icon-a-juxing3"></text></view>
......@@ -136,7 +136,7 @@
<template v-if="item.customer_take_img_list.length > 0">
<view class="img_list" v-for="(v, i) in item.customer_take_img_list" :key="i">
<image :src="v.small_image_url" mode="aspectFill" @click="previewChange(item.customer_take_img_list, i)"></image>
<text class="iconfont icon-a-juxing11" @click="deletePic(index, i, 3)" v-if="v.id_del"></text>
<text class="iconfont icon-a-juxing11" @click="deletePic(index, i, 3)"></text>
</view>
</template>
<view class="default row rowCenter verCenter" @click="chooseImageChange(index, 3)" v-if="item.customer_take_img_list.length < maxNum"><text class="iconfont icon-a-juxing3"></text></view>
......@@ -145,13 +145,13 @@
<view class="input-box row" style="flex: 0 0 100%;">
<text class="label">签收图片:</text>
<view class="pick_img_list row">
<template v-if="item.sign_img_list.length > 0">
<view class="img_list" v-for="(v, i) in item.sign_img_list" :key="i">
<image :src="v.small_image_url" mode="aspectFill" @click="previewChange(item.sign_img_list, i)"></image>
<text class="iconfont icon-a-juxing11" @click="deletePic(index, i, 1)" v-if="v.id_del"></text>
<template v-if="item.sign_pic_ids.length > 0">
<view class="img_list" v-for="(v, i) in item.sign_pic_ids" :key="i">
<image :src="v.small_image_url" mode="aspectFill" @click="previewChange(item.sign_pic_ids, i)"></image>
<text class="iconfont icon-a-juxing11" @click="deletePic(index, i, 4)" v-if="v.id_del"></text>
</view>
</template>
<view class="default row rowCenter verCenter" @click="chooseImageChange(index, 1)" v-if="item.sign_img_list.length < maxNum"><text class="iconfont icon-a-juxing3"></text></view>
<view class="default row rowCenter verCenter" @click="chooseImageChange(index, 4)" v-if="item.sign_pic_ids.length < maxNum"><text class="iconfont icon-a-juxing3"></text></view>
</view>
</view>
<view class="row" style="justify-content: flex-end;width: 100%;">
......@@ -439,7 +439,7 @@
select_box_type: '' //箱信息类型
},
setStockoutPicsParams: {
pic_type: '',// 1签收图 2回单图 3客户收货图
pic_type: '',// 4签收图 2回单图 3客户收货图
pic_ids: '',
stock_out_id: ''
}
......@@ -961,18 +961,7 @@
*/
chooseImageChange(index, pic_type) {
this.noexebshowFalg = false;
// 初始化图片数组,防止报错
if (pic_type === 1 && !this.list[index].sign_img_list) {
this.list[index].sign_img_list = [];
}
if (pic_type === 2 && !this.list[index].receipt_img_list) {
this.list[index].receipt_img_list = [];
}
if (pic_type === 3 && !this.list[index].customer_take_img_list) {
this.list[index].customer_take_img_list = [];
}
// 使用 chooseImage选择图片
uni.chooseImage({
count: this.maxNum,
......@@ -991,11 +980,11 @@
// 判断选择的图片数量是否超过最大限制数量
let currentImgCount = 0;
// 根据pic_type获取对应的图片列表长度
if (pic_type === 1) {
if (pic_type === 4) {
// 签收图片
currentImgCount = this.list[index].sign_img_list ? this.list[index].sign_img_list.length : 0;
currentImgCount = this.list[index].sign_pic_ids ? this.list[index].sign_pic_ids.length : 0;
} else if (pic_type === 2) {
// 回单图片
currentImgCount = this.list[index].receipt_img_list ? this.list[index].receipt_img_list.length : 0;
......@@ -1003,7 +992,7 @@
// 客户收货图片
currentImgCount = this.list[index].customer_take_img_list ? this.list[index].customer_take_img_list.length : 0;
}
// 检查是否超过最大数量限制
if (Number(imagePaths.length) + Number(currentImgCount) > this.maxNum) {
uni.hideLoading();
......@@ -1041,15 +1030,12 @@
if (data.code === 0) {
// 根据参数index更新对应的图片列表
let itemToUpdate = this.list[index];
// 根据pic_type类型,将图片添加到对应的图片列表中
if (pic_type === 1) {
if (pic_type === 4) {
// 签收图片
if (!itemToUpdate.sign_img_list) {
itemToUpdate.sign_img_list = [];
}
itemToUpdate.sign_img_list.push({
pic_id: data.data.oss_image_id,
itemToUpdate.sign_pic_ids.push({
img_id: data.data.oss_image_id,
small_image_url: data.data.small_image_url,
big_image_url: data.data.big_image_url,
url: data.data.oss_image_url,
......@@ -1057,38 +1043,30 @@
});
} else if (pic_type === 2) {
// 回单图片
if (!itemToUpdate.receipt_img_list) {
itemToUpdate.receipt_img_list = [];
}
itemToUpdate.receipt_img_list.push({
pic_id: data.data.oss_image_id,
small_image_url: data.data.small_image_url,
big_image_url: data.data.big_image_url,
url: data.data.oss_image_url,
id_del: 1
url: data.data.oss_image_url
});
} else if (pic_type === 3) {
// 客户收货图片
if (!itemToUpdate.customer_take_img_list) {
itemToUpdate.customer_take_img_list = [];
}
itemToUpdate.customer_take_img_list.push({
pic_id: data.data.oss_image_id,
small_image_url: data.data.small_image_url,
big_image_url: data.data.big_image_url,
url: data.data.oss_image_url,
id_del: 1
url: data.data.oss_image_url
});
}
// 更新整个list数组
this.list = [...this.list];
//对应pic_ids的集合,根据pic_type获取对应的图片列表
let pic_ids = '';
if (pic_type === 1) {
if (pic_type === 4) {
// 签收图片
pic_ids = this.list[index].sign_img_list ? this.list[index].sign_img_list.map(item => item.pic_id).join(',') : '';
pic_ids = this.list[index].sign_pic_ids ? this.list[index].sign_pic_ids.map(item => item.img_id).join(',') : '';
} else if (pic_type === 2) {
// 回单图片
pic_ids = this.list[index].receipt_img_list ? this.list[index].receipt_img_list.map(item => item.pic_id).join(',') : '';
......@@ -1098,7 +1076,7 @@
}
//签约图片更新
this.setStockoutPics(this.list[index].stock_out_id, pic_ids, pic_type);
this.setStockoutPics(this.list[index].stock_out_id, pic_ids, pic_type);
} else {
uni.showToast({
......@@ -1127,7 +1105,7 @@
/** 保存出库单图片
* @param {number} stock_out_id - 出库单ID
* @param {string} pic_ids - 图片ID,多个以逗号分隔
* @param {number} pic_type - 1 签收图 2回单图 3客户收货图
* @param {number} pic_type - 1 签收图 2回单图 4客户收货图
*/
setStockoutPics(stock_out_id, pic_ids, pic_type, callback) {
// 使用对象展开运算符一次性更新参数
......@@ -1168,10 +1146,10 @@
// 根据pic_type类型,从对应的图片列表中删除图片
let itemToUpdate = this.list[index];
let imgList;
if (pic_type === 1) {
if (pic_type === 4) {
// 签收图片
imgList = itemToUpdate.sign_img_list;
imgList = itemToUpdate.sign_pic_ids;
if (imgList && imgList.length > i) {
imgList.splice(i, 1);
}
......@@ -1188,12 +1166,16 @@
imgList.splice(i, 1);
}
}
// 更新整个list数组
this.list = [...this.list];
// 更新到服务器
let pic_ids = imgList ? imgList.map(item => item.pic_id).join(',') : '';
if (pic_type == 4) {
var pic_ids = imgList ? imgList.map(item => item.img_id).join(',') : '';
} else {
var pic_ids = imgList ? imgList.map(item => item.pic_id).join(',') : '';
}
this.setStockoutPics(this.list[index].stock_out_id, pic_ids, pic_type);
} else if (res.cancel) {
// 用户点击取消
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment