From 293bdab16ef217cf02416c0e0ffeca36a0c69e6d Mon Sep 17 00:00:00 2001 From: xuxueyang <xuxy@fengyuntec.com> Date: 星期二, 20 八月 2024 15:52:35 +0800 Subject: [PATCH] update 更新质检的操作界面和接口 --- sub_pages/partner/delivery/delivery-detail.vue | 191 +++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 167 insertions(+), 24 deletions(-) diff --git a/sub_pages/partner/delivery/delivery-detail.vue b/sub_pages/partner/delivery/delivery-detail.vue index 23e7fe5..cae20ce 100644 --- a/sub_pages/partner/delivery/delivery-detail.vue +++ b/sub_pages/partner/delivery/delivery-detail.vue @@ -19,10 +19,11 @@ checkRemarks: '', deductAmount: 0, }, - check_status: [{ - label: '退回', - value: 'back' - }, + check_status: [ + // { + // label: '退回', + // value: 'back' + // }, { label: '降级', value: 'reduce' @@ -32,14 +33,28 @@ value: 'lack' }, { + label: '补货', + value: 'replace' + }, + { label: '完成', value: 'ok' } - ] + ], + target_levels: [], }; }, async onLoad(options) { this.id = options.id || '' + + this.$http.request('get', '/api/code/value', { + params: { + type: 'FLOWER_LEVEL' + } + }).then(res => { + var data = res.data || [] + this.target_levels = data + }) await this.init() }, @@ -53,35 +68,111 @@ }, async clickCheck(item, status) { + if (status === 'ok') { + //完成质检,不用上传东西 + await this.$message.confirm('确定完成此商品的质检') + this.$message.showLoading() + const { + code, + data + } = await this.$http.request('get', '/api/delivery/check/info/' + status, { + params: { + orderItemId: item.id + } + }) + this.$message.hideLoading() + if (code === 0) { + this.$message.showToast('操作成功') + setTimeout(() => { + this.init() + }, 500) + } + return + } this.form = { - id: item.id || '', + // id: item.id || '', + // status: status, + // statusStr: '', + // checkImageList: item.checkImageList || [], + // checkRemarks: item.checkRemarks || '', + // deductAmount: item.deductAmount || 0, + + orderItemId: item.id || '', + status: status, statusStr: '', - checkImageList: item.checkImageList || [], - checkRemarks: item.checkRemarks || '', - deductAmount: item.deductAmount || 0, + num: 0, + remarks: '', + + } + if (status === 'reduce') { + this.form = { + ...this.form, + pictureList: [item.id], + deductAmount: 0, + targetLevel: '', + checkImageList: [], + } + } + + this.check_status.forEach(tmp => { if (tmp.value === this.form.status) { this.form.statusStr = tmp.label } }) - //显示 - this.$refs.popup_form.open() + + //20240819更新一下操作情况 + //先获取详情,再设置参数 + this.$message.showLoading() + const { + code, + data + } = await this.$http.request('get', '/api/delivery/check/info/' + status, { + params: { + orderItemId: item.id + } + }) + this.$message.hideLoading() + if (code === 0) { + this.$message.showToast('操作成功') + this.form = { + ...this.form, + ...(data || {}) + } + //显示 + this.$refs.popup_form.open() + + } }, async submitCheck() { - if (isNaN(parseFloat(this.form.deductAmount)) || this.form.deductAmount < 0) { - this.$message.showToast('扣款金额需要大于等于0') - return + if (this.form.status == 'reduce') { + if (isNaN(parseFloat(this.form.deductAmount)) || this.form.deductAmount < 0) { + this.$message.showToast('扣款金额需要大于等于0') + return + } + if (isNaN(parseInt(this.form.num)) || this.form.num < 0) { + this.$message.showToast('数量需要大于等于0') + return + } } + if (this.form.status == 'replace' || this.form.status == 'lack') { + if (isNaN(parseInt(this.form.num)) || this.form.num < 0) { + this.$message.showToast('数量需要大于等于0') + return + } + } + + + // '/api/delivery/list/view/check' this.$message.showLoading() const { code - } = await this.$http.request('post', '/api/delivery/list/view/check', { + } = await this.$http.request('post', '/api/delivery/check/info/do/' + this.form.status, { data: { - ...this.form, - deductAmount: parseFloat(this.form.deductAmount) || 0 + ...this.form } }) this.$message.hideLoading() @@ -90,7 +181,7 @@ this.$refs.popup_form.close() setTimeout(() => { this.init() - }, 200) + }, 500) } }, async init() { @@ -240,15 +331,32 @@ <uni-icons class="close" type="closeempty" @click="closeCheckForm"></uni-icons> </view> <view class="submit form"> - <view class="form-item"> + <view class="form-item" v-if="form.status==='reduce'"> <view class="form-item-label require"> - 质检备注 + 降级等级 </view> <view class="form-item-value"> - <input v-model="form.checkRemarks" placeholder="请输入质检备注" class="form-input"></input> + <view class="value-item" @click="()=>{ + if(form.targetLevel!==query.value){ + form.targetLevel = each.value + } + }" :class="[form.targetLevel==each.value?'cur':'']" v-for="(each, j) in target_levels" :key="j"> + {{ each.label || '-' }} + </view> + </view> </view> - <view class="form-item"> + <view class="form-item" + v-if="form.status==='reduce' || form.status==='replace' || form.status==='lack'"> + <view class="form-item-label require"> + 数量 + </view> + <view class="form-item-value"> + <input v-model="form.num" placeholder="请输入数量" type="number" class="form-input"></input> + + </view> + </view> + <view class="form-item" v-if="form.status==='reduce'"> <view class="form-item-label require"> 扣款金额 </view> @@ -258,7 +366,16 @@ </view> </view> - <view class="form-item"> + <view class="form-item" + v-if="form.status==='reduce'||form.status==='replace' || form.status==='lack'"> + <view class="form-item-label require"> + 质检备注 + </view> + <view class="form-item-value"> + <input v-model="form.remarks" placeholder="请输入质检备注" class="form-input"></input> + </view> + </view> + <view class="form-item" v-if="form.status==='reduce'"> <view class="form-item-label require"> 图片 </view> @@ -289,7 +406,7 @@ border-radius: 4rpx; border: 2rpx dashed #CECECE; } - + .delivery-order-item { .title { font-weight: 600; @@ -393,6 +510,32 @@ height: 36rpx; line-height: 36rpx; } + + .value-item { + min-width: 152rpx; + width: fit-content; + text-align: center; + height: 58rpx; + background: #F1F5F2; + border-radius: 36rpx; + margin-bottom: 18rpx; + font-weight: 400; + font-size: 28rpx; + line-height: 58rpx; + padding: 8rpx 24rpx; + color: #33a868; + margin-left: 6rpx; + margin-right: 6rpx; + border: 2rpx solid #F1F5F2; + } + + .value-item.cur { + background: #E1F0E7; + border-radius: 36rpx; + border: 2rpx solid #20613D; + color: #20613D; + + } } } -- Gitblit v1.9.3