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 +++++++++++++++++++++++++++++++++++++++++------ sub_pages/partner/delivery/delivery.vue | 33 ++++++- 2 files changed, 193 insertions(+), 31 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; + + } } } diff --git a/sub_pages/partner/delivery/delivery.vue b/sub_pages/partner/delivery/delivery.vue index 7f172f5..b57b313 100644 --- a/sub_pages/partner/delivery/delivery.vue +++ b/sub_pages/partner/delivery/delivery.vue @@ -12,7 +12,7 @@ }, show_select_station: false, show_select_status: false, - + selecttoday: true, columns_station: [], status_columns: [], } @@ -21,7 +21,8 @@ this.query.stationId = options.stationId || '' this.query.stationName = options.stationName || '' - this.listApi = '/api/delivery/list/today' + // this.listApi = '/api/delivery/list/today' + this.listApi = '/api/delivery/check/list/today' this.getList() // this.$http.request('get', '/api/station/list', { // params: {} @@ -53,6 +54,18 @@ uni.stopPullDownRefresh() }, methods: { + changeSelecrRange() { + this.selecttoday = !this.selecttoday + + this.$nextTick(() => { + if (this.selecttoday) { + this.listApi = '/api/supplier/delivery/list/today' + } else { + this.listApi = '/api/supplier/delivery/list' + } + this.refreshList() + }) + }, callTel(tel) { if (tel) { uni.makePhoneCall({ @@ -81,12 +94,12 @@ }) }, async compelete(item) { - await this.$message.confirm("是否完成此单质检") - + await this.$message.confirm("是否一键完成此单的质检") + // '/api/delivery/list/view/complete' const { code, data - } = await this.$http.request('get', '/api/delivery/list/view/complete', { + } = await this.$http.request('get', '/api/delivery/check/list/complete', { params: { id: item.id } @@ -97,7 +110,7 @@ setTimeout(async () => { await tmp.refreshList() tmp.$forceUpdate() - }, 200) + }, 500) } } } @@ -116,6 +129,12 @@ </u-input> </view> </view> + <!-- <view class="m-t-12"> + <view class="m-l-a m-r-20 w-fit flex"> + <radio :checked="selecttoday" @click="changeSelecrRange"></radio> + <view>只查看今日</view> + </view> + </view> --> <view class="search-container m-t-12 flex"> <view class="flex1 input"> <u-input placeholder="请输入货位号" v-model="query.warehouseLocationCode"> @@ -187,7 +206,7 @@ <view class="line-gray"></view> <view class="flex buttons"> <view class="button button-1 m-l-a m-r-15" - v-if="item.status==='ARRIVED'||item.status==='PENDING'" @click="compelete(item)">质检完成</view> + v-if="item.status==='ARRIVED'||item.status==='PENDING'" @click="compelete(item)">一键质检</view> <view class="button button-0 m-l-a m-r-0" @click="toDetail(item)"> {{(item.status==='ARRIVED'||item.status==='PENDING')?'前往质检':'查看详情'}} </view> -- Gitblit v1.9.3