Commit 8c935ae7 by liangjianmin

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

parent eb1f8e59
Showing with 34 additions and 52 deletions
...@@ -124,7 +124,7 @@ ...@@ -124,7 +124,7 @@
<template v-if="item.receipt_img_list.length > 0"> <template v-if="item.receipt_img_list.length > 0">
<view class="img_list" v-for="(v, i) in item.receipt_img_list" :key="i"> <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> <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> </view>
</template> </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> <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 @@ ...@@ -136,7 +136,7 @@
<template v-if="item.customer_take_img_list.length > 0"> <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"> <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> <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> </view>
</template> </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> <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 @@ ...@@ -145,13 +145,13 @@
<view class="input-box row" style="flex: 0 0 100%;"> <view class="input-box row" style="flex: 0 0 100%;">
<text class="label">签收图片:</text> <text class="label">签收图片:</text>
<view class="pick_img_list row"> <view class="pick_img_list row">
<template v-if="item.sign_img_list.length > 0"> <template v-if="item.sign_pic_ids.length > 0">
<view class="img_list" v-for="(v, i) in item.sign_img_list" :key="i"> <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_img_list, i)"></image> <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, 1)" v-if="v.id_del"></text> <text class="iconfont icon-a-juxing11" @click="deletePic(index, i, 4)" v-if="v.id_del"></text>
</view> </view>
</template> </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> </view>
<view class="row" style="justify-content: flex-end;width: 100%;"> <view class="row" style="justify-content: flex-end;width: 100%;">
...@@ -439,7 +439,7 @@ ...@@ -439,7 +439,7 @@
select_box_type: '' //箱信息类型 select_box_type: '' //箱信息类型
}, },
setStockoutPicsParams: { setStockoutPicsParams: {
pic_type: '',// 1签收图 2回单图 3客户收货图 pic_type: '',// 4签收图 2回单图 3客户收货图
pic_ids: '', pic_ids: '',
stock_out_id: '' stock_out_id: ''
} }
...@@ -961,18 +961,7 @@ ...@@ -961,18 +961,7 @@
*/ */
chooseImageChange(index, pic_type) { chooseImageChange(index, pic_type) {
this.noexebshowFalg = false; 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选择图片 // 使用 chooseImage选择图片
uni.chooseImage({ uni.chooseImage({
count: this.maxNum, count: this.maxNum,
...@@ -991,11 +980,11 @@ ...@@ -991,11 +980,11 @@
// 判断选择的图片数量是否超过最大限制数量 // 判断选择的图片数量是否超过最大限制数量
let currentImgCount = 0; let currentImgCount = 0;
// 根据pic_type获取对应的图片列表长度 // 根据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) { } else if (pic_type === 2) {
// 回单图片 // 回单图片
currentImgCount = this.list[index].receipt_img_list ? this.list[index].receipt_img_list.length : 0; currentImgCount = this.list[index].receipt_img_list ? this.list[index].receipt_img_list.length : 0;
...@@ -1003,7 +992,7 @@ ...@@ -1003,7 +992,7 @@
// 客户收货图片 // 客户收货图片
currentImgCount = this.list[index].customer_take_img_list ? this.list[index].customer_take_img_list.length : 0; 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) { if (Number(imagePaths.length) + Number(currentImgCount) > this.maxNum) {
uni.hideLoading(); uni.hideLoading();
...@@ -1041,15 +1030,12 @@ ...@@ -1041,15 +1030,12 @@
if (data.code === 0) { if (data.code === 0) {
// 根据参数index更新对应的图片列表 // 根据参数index更新对应的图片列表
let itemToUpdate = this.list[index]; let itemToUpdate = this.list[index];
// 根据pic_type类型,将图片添加到对应的图片列表中 // 根据pic_type类型,将图片添加到对应的图片列表中
if (pic_type === 1) { if (pic_type === 4) {
// 签收图片 // 签收图片
if (!itemToUpdate.sign_img_list) { itemToUpdate.sign_pic_ids.push({
itemToUpdate.sign_img_list = []; img_id: data.data.oss_image_id,
}
itemToUpdate.sign_img_list.push({
pic_id: data.data.oss_image_id,
small_image_url: data.data.small_image_url, small_image_url: data.data.small_image_url,
big_image_url: data.data.big_image_url, big_image_url: data.data.big_image_url,
url: data.data.oss_image_url, url: data.data.oss_image_url,
...@@ -1057,38 +1043,30 @@ ...@@ -1057,38 +1043,30 @@
}); });
} else if (pic_type === 2) { } else if (pic_type === 2) {
// 回单图片 // 回单图片
if (!itemToUpdate.receipt_img_list) {
itemToUpdate.receipt_img_list = [];
}
itemToUpdate.receipt_img_list.push({ itemToUpdate.receipt_img_list.push({
pic_id: data.data.oss_image_id, pic_id: data.data.oss_image_id,
small_image_url: data.data.small_image_url, small_image_url: data.data.small_image_url,
big_image_url: data.data.big_image_url, big_image_url: data.data.big_image_url,
url: data.data.oss_image_url, url: data.data.oss_image_url
id_del: 1
}); });
} else if (pic_type === 3) { } else if (pic_type === 3) {
// 客户收货图片 // 客户收货图片
if (!itemToUpdate.customer_take_img_list) {
itemToUpdate.customer_take_img_list = [];
}
itemToUpdate.customer_take_img_list.push({ itemToUpdate.customer_take_img_list.push({
pic_id: data.data.oss_image_id, pic_id: data.data.oss_image_id,
small_image_url: data.data.small_image_url, small_image_url: data.data.small_image_url,
big_image_url: data.data.big_image_url, big_image_url: data.data.big_image_url,
url: data.data.oss_image_url, url: data.data.oss_image_url
id_del: 1
}); });
} }
// 更新整个list数组 // 更新整个list数组
this.list = [...this.list]; this.list = [...this.list];
//对应pic_ids的集合,根据pic_type获取对应的图片列表 //对应pic_ids的集合,根据pic_type获取对应的图片列表
let pic_ids = ''; 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) { } 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(',') : ''; pic_ids = this.list[index].receipt_img_list ? this.list[index].receipt_img_list.map(item => item.pic_id).join(',') : '';
...@@ -1098,7 +1076,7 @@ ...@@ -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 { } else {
uni.showToast({ uni.showToast({
...@@ -1127,7 +1105,7 @@ ...@@ -1127,7 +1105,7 @@
/** 保存出库单图片 /** 保存出库单图片
* @param {number} stock_out_id - 出库单ID * @param {number} stock_out_id - 出库单ID
* @param {string} pic_ids - 图片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) { setStockoutPics(stock_out_id, pic_ids, pic_type, callback) {
// 使用对象展开运算符一次性更新参数 // 使用对象展开运算符一次性更新参数
...@@ -1168,10 +1146,10 @@ ...@@ -1168,10 +1146,10 @@
// 根据pic_type类型,从对应的图片列表中删除图片 // 根据pic_type类型,从对应的图片列表中删除图片
let itemToUpdate = this.list[index]; let itemToUpdate = this.list[index];
let imgList; 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) { if (imgList && imgList.length > i) {
imgList.splice(i, 1); imgList.splice(i, 1);
} }
...@@ -1188,12 +1166,16 @@ ...@@ -1188,12 +1166,16 @@
imgList.splice(i, 1); imgList.splice(i, 1);
} }
} }
// 更新整个list数组 // 更新整个list数组
this.list = [...this.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); this.setStockoutPics(this.list[index].stock_out_id, pic_ids, pic_type);
} else if (res.cancel) { } 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