From d89c495a7da517d653e9ea42b8e6405eef823ef6 Mon Sep 17 00:00:00 2001 From: xuxueyang <xuxy@fengyuntec.com> Date: 星期一, 29 七月 2024 16:23:24 +0800 Subject: [PATCH] update 还有售后需要测试一下 --- sub_pages/partner/delivery/delivery-detail.vue | 679 ++++++++++++++++++++++++++++---------------------------- 1 files changed, 341 insertions(+), 338 deletions(-) diff --git a/sub_pages/partner/delivery/delivery-detail.vue b/sub_pages/partner/delivery/delivery-detail.vue index 0d9bdad..e04d172 100644 --- a/sub_pages/partner/delivery/delivery-detail.vue +++ b/sub_pages/partner/delivery/delivery-detail.vue @@ -1,372 +1,375 @@ <script> -export default { - data() { - return { - dto: { - id: '', - items: [], - supplierName: '', - orderNo: '', - stationName: '', - arriveRemarks: '', - }, - id: '', - form: { - id: '', - status: '', - checkImageList: [], - checkRemarks: '', - deductAmount: 0, - }, - check_status: [ - { - label: '退回', - value: 'back' - }, - { - label: '降级', - value: 'reduce' - }, - { - label: '缺货', - value: 'lack' - }, - { - label: '完成', - value: 'ok' - } - ] - }; - }, - async onLoad(options) { - this.id = options.id || '' - await this.init() + export default { + data() { + return { + dto: { + id: '', + items: [], + supplierName: '', + orderNo: '', + stationName: '', + arriveRemarks: '', + }, + id: '', + form: { + id: '', + status: '', + checkImageList: [], + checkRemarks: '', + deductAmount: 0, + }, + check_status: [{ + label: '退回', + value: 'back' + }, + { + label: '降级', + value: 'reduce' + }, + { + label: '缺货', + value: 'lack' + }, + { + label: '完成', + value: 'ok' + } + ] + }; + }, + async onLoad(options) { + this.id = options.id || '' + await this.init() - }, - async onPullDownRefresh() { - await this.init() - uni.stopPullDownRefresh() - }, - methods: { - closeCheckForm() { - this.$refs.popup_form.close() + }, + async onPullDownRefresh() { + await this.init() + uni.stopPullDownRefresh() + }, + methods: { + closeCheckForm() { + this.$refs.popup_form.close() - }, - async clickCheck(item, status) { - this.form = { - id: item.id || '', - status: '', - statusStr: '', - checkImageList: item.checkImageList || [], - checkRemarks: item.checkRemarks || '', - deductAmount: item.deductAmount || 0, - } - this.check_status.forEach(tmp => { - if (tmp.value === this.form.status) { - this.form.statusStr = tmp.label - } - }) - //显示 - this.$refs.popup_form.open() + }, + async clickCheck(item, status) { + this.form = { + id: item.id || '', + status: status, + statusStr: '', + checkImageList: item.checkImageList || [], + checkRemarks: item.checkRemarks || '', + deductAmount: item.deductAmount || 0, + } + this.check_status.forEach(tmp => { + if (tmp.value === this.form.status) { + this.form.statusStr = tmp.label + } + }) + //显示 + this.$refs.popup_form.open() - }, - async submitCheck() { - if (isNaN(parseFloat(this.form.deductAmount)) || this.form.deductAmount < 0) { - this.$message.showToast('扣款金额需要大于等于0') - return - } - this.$message.showLoading() - const { - code - } = await this.$http.request('get', '/api/delivery/list/view/check', { - data: { - ...this.form - } - }) - this.$message.hideLoading() - if (code === 0) { - this.$message.showToast('操作成功') - this.$refs.popup_form.close() - setTimeout(() => { - this.init() - }, 200) - } - }, - async init() { - this.$message.showLoading() - const { - data - } = await this.$http.request('get', '/api/delivery/list/view?id=' + this.id, {}) + }, + async submitCheck() { + if (isNaN(parseFloat(this.form.deductAmount)) || this.form.deductAmount < 0) { + this.$message.showToast('扣款金额需要大于等于0') + return + } + this.$message.showLoading() + const { + code + } = await this.$http.request('post', '/api/delivery/list/view/check', { + data: { + ...this.form, + deductAmount: parseFloat(this.form.deductAmount) || 0 + } + }) + this.$message.hideLoading() + if (code === 0) { + this.$message.showToast('操作成功') + this.$refs.popup_form.close() + setTimeout(() => { + this.init() + }, 200) + } + }, + async init() { + this.$message.showLoading() + const { + data + } = await this.$http.request('get', '/api/delivery/list/view?id=' + this.id, {}) - this.$message.hideLoading() - if (data) { - this.dto = { - ...this.dto, - ...data - } - } - }, - deleteCheckImage(index) { - this.form.checkImageList.splice(index, 1) - }, - uploadCheckImage() { - let that = this - uni.chooseImage({ - count: 1, // 最多可以选择的图片张数,默认9 - sizeType: ['compressed'], //original 原图,compressed 压缩图,默认二者都有 - sourceType: ['camera', 'album'], //album 从相册选图,camera 使用相机,默认二者都有。如需直接开相机或直接选相册,请只使用一个选项 - success: function (res) { - let errMsg = res.errMsg - let tempFiles = res.tempFiles - if (errMsg === 'chooseImage:ok') { - if (tempFiles[0].size > 1024 * 1024 * 5) { - that.$message.confirm('图片最多支持5M大小,超出大小限制') - return - } - that.$message.showLoading() - that.$http.upload(tempFiles[0].path).then(async res => { - console.log('res1', res) - var pic = res.data && res.data.length > 0 && res.data[ - 0] - .url || '' - that.$message.hideLoading() - that.form.checkImageList.push(pic) - that.$forceUpdate() - }).catch(res => { - that.$message.hideLoading() - console.error(res) - }) - } - } - }) - } - } -} + this.$message.hideLoading() + if (data) { + this.dto = { + ...this.dto, + ...data + } + } + }, + deleteCheckImage(index) { + this.form.checkImageList.splice(index, 1) + }, + uploadCheckImage() { + let that = this + uni.chooseImage({ + count: 1, // 最多可以选择的图片张数,默认9 + sizeType: ['compressed'], //original 原图,compressed 压缩图,默认二者都有 + sourceType: ['camera', 'album'], //album 从相册选图,camera 使用相机,默认二者都有。如需直接开相机或直接选相册,请只使用一个选项 + success: function(res) { + let errMsg = res.errMsg + let tempFiles = res.tempFiles + if (errMsg === 'chooseImage:ok') { + if (tempFiles[0].size > 1024 * 1024 * 5) { + that.$message.confirm('图片最多支持5M大小,超出大小限制') + return + } + that.$message.showLoading() + that.$http.upload(tempFiles[0].path).then(async res => { + console.log('res1', res) + var pic = res.data && res.data.length > 0 && res.data[ + 0] + .url || '' + that.$message.hideLoading() + that.form.checkImageList.push(pic) + console.log('form', that.form) + that.$forceUpdate() + }).catch(res => { + that.$message.hideLoading() + console.error(res) + }) + } + } + }) + } + } + } </script> <template> - <view class="delivery-detail-page"> - <view v-if="dto.id"> - <view class="delivery-info flex"> - <view class="flex1 desc"> - <view>供货商名称:{{ dto.stationName }}</view> - <view>订单号:{{ dto.orderNo }}</view> - <view>供货商备注:{{ dto.arriveRemarks }}</view> - </view> - <view class="m-l-15 m-r-0 station"> - <view>{{ dto.stationName }}</view> - </view> - </view> - <view v-for="(item,index) of dto.items" :key="index" class="delivery-order-item m-t-12"> - <view class="flex"> - <image class="flower-img img100 m-r-6" :src="item.flowerCover" @click="previewImg(item.flowerCover)"> - </image> - <view class="flex1"> - <view class=" flex"> - <view class="title">{{ item.flowerName }}<span class="level">{{ item.flowerLevelStr }}</span></view> - </view> - <view class="each-list"> - <view class="each-item"> - <view class="label">颜色</view> - <view class="value">{{ item.flowerColor || '-' }}</view> + <view class="delivery-detail-page bg-white p20"> + <view v-if="dto.id"> + <view class="delivery-info flex"> + <view class="flex1 desc"> + <view>供货商名称:{{ dto.stationName }}</view> + <view>订单号:{{ dto.orderNo }}</view> + <view>供货商备注:{{ dto.arriveRemarks }}</view> + </view> + <view class="m-l-15 m-r-0 station"> + <view>{{ dto.stationName }}</view> + </view> + </view> + <view v-for="(item,index) of dto.items" :key="index" class="delivery-order-item m-t-12"> + <view class="flex"> + <image class="flower-img img100 m-r-6" :src="item.flowerCover" + @click="previewImg(item.flowerCover)"> + </image> + <view class="flex1"> + <view class=" flex"> + <view class="title">{{ item.flowerName }}<span + class="level">{{ item.flowerLevelStr }}</span></view> + </view> + <view class="each-list"> + <view class="each-item"> + <view class="label">颜色</view> + <view class="value">{{ item.flowerColor || '-' }}</view> - </view> - <view class="each-item"> - <view class="label">规格</view> - <view class="value">{{ item.flowerUnit || '-' }}</view> - </view> - <view class="each-item"> - <view class="label">数量</view> - <view class="value">{{ item.num || 0 }}</view> + </view> + <view class="each-item"> + <view class="label">规格</view> + <view class="value">{{ item.flowerUnit || '-' }}</view> + </view> + <view class="each-item"> + <view class="label">数量</view> + <view class="value">{{ item.num || 0 }}</view> - </view> - <view class="each-item"> - <view class="label">价格</view> - <view class="value">{{ item.price || '-' }}</view> - </view> - </view> - </view> - </view> - <view class="line-gray"> + </view> + <view class="each-item"> + <view class="label">价格</view> + <view class="value">{{ item.price || '-' }}</view> + </view> + </view> + </view> + </view> + <view class="line-gray"> - </view> - <view class="buttons"> - <view class="button" v-for="button of check_status" :key="check_status.value" - @click.stop="clickCheck(item,button.value)">{{ button.label }} - </view> - </view> - </view> - </view> + </view> + <view class="buttons"> + <view class="button text-center" v-for="button of check_status" :key="button.value" + @click.stop="clickCheck(item,button.value)">{{ button.label }} + </view> + </view> + </view> + </view> - <uni-popup ref="popup_form" type="top" :mask-click="false"> - <view class="popup-check-form"> - <view class="close-parent"> - 质检操作-{{ form.statusStr || '-' }} - <uni-icons class="close" type="closeempty" @click="closeCheckForm"></uni-icons> - </view> - <view class="submit form"> - <view class="form-item"> - <view class="form-item-label require"> - 质检备注 - </view> - <view class="form-item-value"> - <input v-model="form.checkRemarks" placeholder="请输入质检备注" class="form-input"></input> - </view> - </view> - <view class="form-item"> - <view class="form-item-label require"> - 扣款金额 - </view> - <view class="form-item-value"> - <input v-model="form.deductAmount" placeholder="请输入扣款金额" type="digit" class="form-input"></input> + <uni-popup ref="popup_form" type="top" :mask-click="false"> + <view class="popup-check-form"> + <view class="close-parent"> + 质检操作-{{ form.statusStr || '-' }} + <uni-icons class="close" type="closeempty" @click="closeCheckForm"></uni-icons> + </view> + <view class="submit form"> + <view class="form-item"> + <view class="form-item-label require"> + 质检备注 + </view> + <view class="form-item-value"> + <input v-model="form.checkRemarks" placeholder="请输入质检备注" class="form-input"></input> + </view> + </view> + <view class="form-item"> + <view class="form-item-label require"> + 扣款金额 + </view> + <view class="form-item-value"> + <input v-model="form.deductAmount" placeholder="请输入扣款金额" type="digit" + class="form-input"></input> - </view> - </view> - <view class="form-item"> - <view class="form-item-label require"> - 图片 - </view> - <view class="form-item-value"> - <u-button type="text" @click="uploadCheckImage()">上传</u-button> - </view> - </view> - <view class="flex p20" - v-if="form.checkImageList&&form.checkImageList.length>0"> - <view class="m-t-12 m-r-10 " v-for="(timg,index) of dto.checkImageList" :key="index"> - <image class="check-img" :src="timg" @click.stop="previewImg(timg)"> - </image> - <view class="t-red text-center" @click.stop="deleteCheckImage(index)">删除</view> - </view> - </view> - </view> + </view> + </view> + <view class="form-item"> + <view class="form-item-label require"> + 图片 + </view> + <view class="form-item-value m-l-a m-r-0"> + <view class="t-red" @click="uploadCheckImage()">上传</view> + </view> + </view> + <view class="flex p20" v-if="form.checkImageList&&form.checkImageList.length>0"> + <view class="m-t-12 m-r-10 " v-for="(timg,index) of form.checkImageList" :key="index"> + <image class="check-img" :src="timg" @click.stop="previewImg(timg)"> + </image> + <view class="t-red text-center" @click.stop="deleteCheckImage(index)">删除</view> + </view> + </view> + </view> - <view class="button-green m-t-15" @click="submitCheck">提交</view> - </view> - </uni-popup> - </view> + <view class="button-green m-t-15" @click="submitCheck">提交</view> + </view> + </uni-popup> + </view> </template> <style lang="scss" scoped> -.delivery-detail-page { - .delivery-order-item { - .title { - font-weight: 600; - font-size: 28rpx; - color: #000000; - line-height: 40rpx; + .delivery-detail-page { + .delivery-order-item { + .title { + font-weight: 600; + font-size: 28rpx; + color: #000000; + line-height: 40rpx; - .level { - font-weight: 400; - font-size: 28rpx; - color: #20613D; - line-height: 40rpx; - margin-left: 20rpx; - } - } + .level { + font-weight: 400; + font-size: 28rpx; + color: #20613D; + line-height: 40rpx; + margin-left: 20rpx; + } + } - .buttons { - display: flex; + .buttons { + display: flex; - .button { - margin: 0 auto; - width: 98rpx; - line-height: 48rpx; - border-radius: 24rpx; - border: 2rpx solid #CECECE; - text-align: center; - font-size: 24rpx; - color: #666666; - line-height: 34rpx; - } - } + .button { + margin: 0 auto; + width: 98rpx; + line-height: 48rpx; + border-radius: 24rpx; + border: 2rpx solid #CECECE; + text-align: center; + font-size: 24rpx; + color: #666666; + line-height: 34rpx; + } + } - .flower-img { - width: 128rpx; - height: 118rpx; - min-width: 128rpx; - min-height: 118rpx; - } + .flower-img { + width: 128rpx; + height: 118rpx; + min-width: 128rpx; + min-height: 118rpx; + } - .each-list { - display: flex; - flex-wrap: wrap; - margin-top: 6rpx; + .each-list { + display: flex; + flex-wrap: wrap; + margin-top: 6rpx; - .each-item { - min-width: 30%; - max-width: 40%; - text-align: center; - margin-left: 0rpx; - margin-right: auto; - display: flex; + .each-item { + min-width: 30%; + max-width: 40%; + text-align: center; + margin-left: 0rpx; + margin-right: auto; + display: flex; - .label { - font-weight: 400; - font-size: 24rpx; - color: #666666; - text-align: left; - padding-right: 10rpx; - } + .label { + font-weight: 400; + font-size: 24rpx; + color: #666666; + text-align: left; + padding-right: 10rpx; + } - .label::after { - content: ": " - } + .label::after { + content: ": " + } - .value { - font-weight: 400; - font-size: 24rpx; - color: #666666; - } - } - } - } + .value { + font-weight: 400; + font-size: 24rpx; + color: #666666; + } + } + } + } - .popup-check-form { - background: #FFFFFF; - border-radius: 16rpx; - // width: 690rpx; - height: 882rpx; - margin-top: 120rpx; - margin-left: 30rpx; - margin-right: 30rpx; - padding: 24rpx 36rpx; + .popup-check-form { + background: #FFFFFF; + border-radius: 16rpx; + // width: 690rpx; + height: 882rpx; + margin-top: 120rpx; + margin-left: 30rpx; + margin-right: 30rpx; + padding: 24rpx 36rpx; - .check-img { - width: 96rpx; - height: 96rpx; - border-radius: 4rpx; - border: 2rpx dashed #CECECE; - } + .check-img { + width: 96rpx; + height: 96rpx; + border-radius: 4rpx; + border: 2rpx dashed #CECECE; + } - .submit { - margin-top: 30rpx; + .submit { + margin-top: 30rpx; - .form-input { - height: 36rpx; - line-height: 36rpx; - } - } - } + .form-input { + height: 36rpx; + line-height: 36rpx; + } + } + } - .delivery-info { - padding: 20rpx; + .delivery-info { + padding: 20rpx; - .desc { - font-weight: 400; - font-size: 28rpx; - color: #666666; - line-height: 40rpx; - } + .desc { + font-weight: 400; + font-size: 28rpx; + color: #666666; + line-height: 40rpx; + } - .station { - height: 50rpx; - background: #C6E8D4; - border-radius: 4rpx; - padding-left: 20rpx; - padding-right: 20rpx; - min-width: 110rpx; + .station { + height: 50rpx; + background: #C6E8D4; + border-radius: 4rpx; + padding-left: 20rpx; + padding-right: 20rpx; + min-width: 110rpx; - line-height: 50rpx; - } - } -} + line-height: 50rpx; + } + } + } </style> \ No newline at end of file -- Gitblit v1.9.3