|
@@ -135,7 +135,19 @@
|
|
|
height="100">
|
|
|
</u--textarea>
|
|
|
<view class="title">上传凭证</view>
|
|
|
- <zj-upload key="cp" @getFiles="getFiles" :fileList="reportForm.fileList" :count="9" />
|
|
|
+ <!-- <zj-upload key="cp" @getFiles="getFiles" :fileList="reportForm.fileList" :count="9" /> -->
|
|
|
+ <view class="images">
|
|
|
+ <block v-for="(item, index) in reportForm.fileList" :key='index'>
|
|
|
+ <view class="img">
|
|
|
+ <image :src="imageUrl + item.url" mode="aspectFill" @tap="prevImg(item.url)"></image>
|
|
|
+ <text class="iconfont icon-guanbi1" @tap="delImage(index)"></text>
|
|
|
+ </view>
|
|
|
+ </block>
|
|
|
+ <view class="add" @tap="addImage" v-if="reportForm.fileList.length < 3">
|
|
|
+ <text class="iconfont icon-xiangji"></text>
|
|
|
+ <text class="text">点击上传</text>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
</zj-dialog-box>
|
|
|
</view>
|
|
@@ -146,6 +158,7 @@
|
|
|
import zjDialogBox from "@/components/zj-dialog/zj-dialog-box.vue";
|
|
|
import zjDialogRemark from '@/components/zj-dialog/zj-dialog-remark.vue';
|
|
|
import zjUpload from '@/components/zj-upload/index.vue'
|
|
|
+import { uploadImg } from '@/common/utils/util.js'
|
|
|
|
|
|
export default {
|
|
|
components: {
|
|
@@ -343,7 +356,8 @@
|
|
|
this.$api.postJson('/reportGoods/report', {
|
|
|
goodsId: this.id,
|
|
|
reportNote: this.reportForm.reason,
|
|
|
- url: this.reportForm.fileList,
|
|
|
+ url: this.reportForm.fileList.map(item => item.url),
|
|
|
+
|
|
|
}).then(res => {
|
|
|
this.$successToast();
|
|
|
this.cancelReportDialog();
|
|
@@ -395,7 +409,39 @@
|
|
|
url: `/pages/issue/index`
|
|
|
}, 'switchTab')
|
|
|
}
|
|
|
- }
|
|
|
+ },
|
|
|
+
|
|
|
+ // 添加图片
|
|
|
+ async addImage() {
|
|
|
+ uni.chooseImage({
|
|
|
+ count: 3 - this.reportForm.fileList,
|
|
|
+ sizeType: ['original'],
|
|
|
+ success: res => {
|
|
|
+ uni.showLoading();
|
|
|
+ res.tempFiles.forEach(async item => {
|
|
|
+ let data = await uploadImg(item);
|
|
|
+ this.reportForm.fileList.push(data);
|
|
|
+ });
|
|
|
+ uni.hideLoading();
|
|
|
+ },
|
|
|
+ fail: err => {}
|
|
|
+ })
|
|
|
+ },
|
|
|
+
|
|
|
+ // 删除图片
|
|
|
+ delImage(index) {
|
|
|
+ this.reportForm.fileList.splice(index, 1);
|
|
|
+ },
|
|
|
+
|
|
|
+ //预览图片
|
|
|
+ prevImg(current) {
|
|
|
+ uni.previewImage({
|
|
|
+ current: this.imageUrl + current,
|
|
|
+ urls: this.reportForm.fileList.map(item => {
|
|
|
+ return this.imageUrl + item.url
|
|
|
+ })
|
|
|
+ })
|
|
|
+ },
|
|
|
}
|
|
|
|
|
|
}
|
|
@@ -662,6 +708,60 @@
|
|
|
color: $assist-color;
|
|
|
}
|
|
|
}
|
|
|
+ .images {
|
|
|
+ display: flex;
|
|
|
+ flex-wrap: wrap;
|
|
|
+ .add {
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: center;
|
|
|
+ width: 180rpx;
|
|
|
+ height: 180rpx;
|
|
|
+ border: 2rpx dashed #dadada;
|
|
|
+ border-radius: 10rpx;
|
|
|
+ margin-top: 30rpx;
|
|
|
+ box-sizing: border-box;
|
|
|
+ .iconfont {
|
|
|
+ font-size: 48rpx;
|
|
|
+ color: #999999;
|
|
|
+ }
|
|
|
+ .text {
|
|
|
+ font-size: 22rpx;
|
|
|
+ color: #999999;
|
|
|
+ margin-top: 8rpx;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .img {
|
|
|
+ position: relative;
|
|
|
+ margin-right: 30rpx;
|
|
|
+ margin-top: 30rpx;
|
|
|
+ &:nth-child(4n) {
|
|
|
+ margin-right: 0;
|
|
|
+ }
|
|
|
+ image {
|
|
|
+ width: 180rpx;
|
|
|
+ height: 180rpx;
|
|
|
+ border-radius: 10rpx;
|
|
|
+ overflow: hidden;
|
|
|
+ display: block;
|
|
|
+ }
|
|
|
+ text {
|
|
|
+ position: absolute;
|
|
|
+ right: -10rpx;
|
|
|
+ top: -10rpx;
|
|
|
+ width: 40rpx;
|
|
|
+ height: 40rpx;
|
|
|
+ border-radius: 50%;
|
|
|
+ background: #FF3F42;
|
|
|
+ font-size: 24rpx;
|
|
|
+ color: #FFFFFF;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: center;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
.bottom-container {
|