|  |  |  | 
|---|
|  |  |  | checkRemarks: '', | 
|---|
|  |  |  | deductAmount: 0, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | check_status: [{ | 
|---|
|  |  |  | label: '退回', | 
|---|
|  |  |  | value: 'back' | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | check_status: [ | 
|---|
|  |  |  | // { | 
|---|
|  |  |  | //     label: '退回', | 
|---|
|  |  |  | //     value: 'back' | 
|---|
|  |  |  | // }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | label: '降级', | 
|---|
|  |  |  | value: 'reduce' | 
|---|
|  |  |  | 
|---|
|  |  |  | 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() | 
|---|
|  |  |  |  | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | 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() | 
|---|
|  |  |  | 
|---|
|  |  |  | this.$refs.popup_form.close() | 
|---|
|  |  |  | setTimeout(() => { | 
|---|
|  |  |  | this.init() | 
|---|
|  |  |  | }, 200) | 
|---|
|  |  |  | }, 500) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | async init() { | 
|---|
|  |  |  | 
|---|
|  |  |  | <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> | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | </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> | 
|---|
|  |  |  | 
|---|
|  |  |  | border-radius: 4rpx; | 
|---|
|  |  |  | border: 2rpx dashed #CECECE; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .delivery-order-item { | 
|---|
|  |  |  | .title { | 
|---|
|  |  |  | font-weight: 600; | 
|---|
|  |  |  | 
|---|
|  |  |  | 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; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|