From 05bd41aab8c9dba2cf7afcd78493415761f11d9d Mon Sep 17 00:00:00 2001
From: xuxueyang <xuxy@fengyuntec.com>
Date: 星期四, 26 九月 2024 08:54:08 +0800
Subject: [PATCH] update 供应商刷新问题
---
pages/order/order-delivery.vue | 264 ++++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 223 insertions(+), 41 deletions(-)
diff --git a/pages/order/order-delivery.vue b/pages/order/order-delivery.vue
index 1c64565..4440ffd 100644
--- a/pages/order/order-delivery.vue
+++ b/pages/order/order-delivery.vue
@@ -1,77 +1,116 @@
<template>
<view class="list-container order-sale supplier">
- <view class="component-tab-container m-t-12">
+ <view class="component-tab-container m-t-12" v-if="!range||range=='today'">
<view class="tab-item" :class="[query.status==''?'cur':'']" @click="changeIndex('')">全部订单</view>
<view class="tab-item" :class="[query.status=='PENDING'?'cur':'']" @click="changeIndex('PENDING')">待入位
</view>
<view class="tab-item" :class="[query.status=='ARRIVED'?'cur':'']" @click="changeIndex('ARRIVED')">已入位
</view>
-
</view>
- <view class="p15" style="min-height: calc(100vh - 160rpx);">
+ <view class="m-t-12 flex" v-if="!range||range=='today'">
+ <view class="m-l-a m-r-a text-center" :class="[query.date?'':'desc-gray']"
+ @click="show_time_picker_time=true">
+ 订单日期:{{query.date || '请选择日期'}}
+ </view>
+
+ <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" v-if="list&&list.length>0">
+ <view class="component-filter-container p10 m-l-10 flex flex1" style="text-align: right;">
+ <view class="flex1 m-l-a m-r-10" @click="selectAllOrder" style="text-align: right;">
+ 点击打印全部(已选{{ids.length}}个)
+ </view>
+ </view>
+ </view>
+ <view class="p15" style="min-height: calc(100vh - 400rpx);">
<no-data v-if="!list||list.length==0" style="width: 100%;"></no-data>
- <view v-for="(item,index) in list" :key="index" class="m-b-24 order-sale-list list-container">
+ <view v-for="(dto,index) in list" :key="index" class="m-b-24 order-sale-list list-container">
<view class="order-sale-item list-item">
<view class="title flex">
- <view>订单单号:{{item.orderNo}}</view>
- <view class="m-l-a m-r-0 status">{{item.statusStr}}</view>
+ <view>订单单号:{{dto.orderNo}}</view>
+ <view class="m-l-a m-r-15 status">{{dto.statusStr}}</view>
+ <radio class="m-l-15 m-r-0" :checked="ids.indexOf(dto.orderNo)>=0" @click="changeItem(dto)">
+ </radio>
</view>
- <view class="line" v-if="false"></view>
- <view class="flower flex" v-if="false">
- <image class="image img100 m-r-6" :src="item.flowerCover" @click="previewImg(item.flowerCover)">
- </image>
- <view class="flex1">
- <view class=" flex">
- <view class="title">{{item.flowerName }}
- </view>
- </view>
- <view class="each-list flex">
- <view class="each-item">
- <view class="label">颜色</view>
- <view class="value">{{ item.flowerColor || '-' }}</view>
+ <view v-if="dto.items">
+ <view v-for="(item,k) of dto.items" :key="k">
+ <view class="line" v-if="true"></view>
+ <!-- <view class="supplier-name ">
+ <image class="icon-dp" src="/static/common/icon-dp.png"></image>
+ {{ item.supplierName }}
+ </view> -->
+ <view class="flower flex m-t-12" v-if="true">
+ <image class="image img100 m-r-6" :src="item.flowerCover"
+ @click="previewImg(item.flowerCover)">
+ </image>
+ <view class="flex1">
+ <view class=" flex">
+ <view class="title"><span
+ class="level">{{ item.flowerCategory || ''}}</span><span
+ class="level">{{ item.flowerLevelStr || ''}}</span>{{item.flowerName }}
+ </view>
+ </view>
+ <view class="each-list">
+ <view class="each-item flex1 flex">
+ <view class="label">颜色</view>
+ <view class="value">{{ item.flowerColor || '-' }}</view>
+
+ </view>
+ <view class="each-item flex1 flex">
+ <view class="label">规格</view>
+ <view class="value">{{ item.flowerUnit || '-' }}</view>
+ </view>
+ </view>
</view>
- <view class="each-item">
- <view class="label">规格</view>
- <view class="value">{{ item.flowerUnit || '-' }}</view>
+ <view class="each-list price">
+ <view class="each-item flex1">
+ <view class="value">¥{{ item.price || '-' }}</view>
+ </view>
+ <view class="each-item flex1">
+ <view class="value">x {{ item.num || 0 }}</view>
+ </view>
</view>
+
+ </view>
+
+
+ <view class="line"></view>
+ <view class="buttons">
+ <view class="button button-1" @click="printDeliveryOrder(item)">打印</view>
</view>
</view>
- <view class="each-list price">
- <view class="each-item">
- <view class="value">¥{{ item.price || '-' }}</view>
- </view>
- <view class="each-item">
- <view class="value">x {{ item.num || 0 }}</view>
- </view>
- </view>
-
</view>
<view class="line"></view>
<view class="delivery-form">
<view class="form-item" style="max-width: 100%;">
<view class="label">下单时间</view>
- <view class="value">{{item.paymentTime}}</view>
+ <view class="value">{{dto.paymentTime}}</view>
</view>
</view>
<view class="delivery-form">
<view class="form-item">
<view class="label">仓库名称</view>
- <view class="value red">{{item.warehouseName || '待分配'}}</view>
+ <view class="value red">{{dto.warehouseName || '待分配'}}</view>
</view>
<view class="form-item">
<view class="label">库位名称</view>
- <view class="value red">{{item.warehouseLocationCode || '待分配'}}</view>
+ <view class="value red">{{dto.warehouseLocationCode || '待分配'}}</view>
</view>
</view>
<view class="line"></view>
<view class="buttons">
- <view class="button button-1 m-r-10" v-if="item.status==='PENDING'"
- @click="toDetail(item,'PENDING')">确认入位</view>
- <view class="button button-0" @click="toDetail(item,'')">查看详情</view>
+
+ <view class="button button-1 m-r-10" v-if="dto.status==='PENDING'"
+ @click="toDetail(dto,'PENDING')">确认入位</view>
+ <view class="button button-0" @click="toDetail(dto,'')">查看详情</view>
+
</view>
@@ -82,6 +121,10 @@
<!-- 判断是否到底了,自动吧 -->
<footer-msg :more="page.total>0&&page.total>page.current*page.size"></footer-msg>
+ <u-calendar :show="show_time_picker_time" mode="single" @confirm="select_time_picker_time"
+ @cancel="show_time_picker_time = false" :monthNum="12" :maxDate="defaultDatePre"
+ :defaultDate="defaultDatePre" @close="show_time_picker_time = false" minDate="2024-07-01" toolTip="选择订单日期">
+ </u-calendar>
</view>
</template>
@@ -89,19 +132,44 @@
export default {
data() {
return {
+ ids:[],
tabIndex: 0,
query: {
status: '',
+ date: '',
},
+ selecttoday: true,
+ defaultDatePre: new Date(),
+ show_time_picker_time: false,
+ range: '', //today的话才有查询条件,其他的话,不展示顶部查询条件(yesterday、month、todayall)
}
},
- onLoad(options) {
+ async onLoad(options) {
if (options.status) {
this.query.status = options.status || ''
}
- this.listApi = '/api/supplier/delivery/list/today'
- this.getList()
+ this.range = options.range || ''
+ //目前应该是admin(质检人员不会用这个页面)
+ if (this.range === 'todayall') {
+ this.listApi = '/api/supplier/delivery/list/today'
+
+ } else if (this.range === 'month') {
+ this.listApi = '/api/supplier/delivery/list/month'
+
+ } else if (this.range === 'yesterday') {
+ this.listApi = '/api/supplier/delivery/list/yesterday'
+
+ } else {
+ this.listApi = '/api/supplier/delivery/list/today'
+ }
+
+ // this.listApi = '/api/supplier/delivery/list'
+
+ await this.getList()
+ // this.list = [{
+ // items: [{}, {}]
+ // }]
},
onReachBottom() {
@@ -110,18 +178,87 @@
async onShow() {
if (this.sign['delivery']) {
await this.$store.dispatch('sign_clear', 'delivery');
+ this.ids = []
+
this.refreshList()
}
},
async onPullDownRefresh() {
this.page.current = 1
+ this.ids = []
+
await this.getList()
uni.stopPullDownRefresh()
},
methods: {
+ selectAllOrder() {
+ if (this.ids.length > 0) {
+ // this.$message.showToast('敬请期待')
+ var arr = []
+ for (var item of this.list) {
+ if (this.ids.indexOf(item.orderNo) >= 0) {
+ for (var each of item.items) {
+ arr.push(each)
+ }
+ }
+ }
+ if (arr.length > 0) {
+ this.$storage.setItem('cache_delivery_order_print', JSON.stringify(arr))
+ uni.navigateTo({
+ url: '/sub_pages/supplier/print/print-list'
+ })
+ }
+
+ }
+ },
+ changeItem(item) {
+ if (this.ids.indexOf(item.orderNo) >= 0) {
+ this.ids.splice(this.ids.indexOf(item.orderNo), 1)
+ } else {
+ this.ids.push(item.orderNo)
+ }
+ },
+ printDeliveryOrder(item) {
+ var arr = []
+ arr.push(item)
+ this.$storage.setItem('cache_delivery_order_print', JSON.stringify(arr))
+ uni.navigateTo({
+ url: '/sub_pages/supplier/print/print-list'
+ })
+ },
+ async select_time_picker_time(e) {
+ this.ids = []
+
+ this.selecttoday = false
+ this.listApi = '/api/supplier/delivery/list'
+ var vv = e && e.length >= 1 && new Date(e[0]) || new Date()
+ this.show_time_picker_time = false;
+ this.query.date = this.$util.toDate(vv) || ''
+ this.refreshList()
+ },
+ changeSelecrRange() {
+ if (this.selecttoday) {
+ return
+ }
+ this.selecttoday = !this.selecttoday
+ this.ids = []
+
+ this.$nextTick(() => {
+ if (this.selecttoday) {
+ this.query.date = ''
+ this.listApi = '/api/supplier/delivery/list/today'
+ } else {
+ this.listApi = '/api/supplier/delivery/list'
+
+ }
+ this.refreshList()
+ })
+ },
changeIndex(status) {
if (this.query.status !== status) {
this.query.status = status
+ this.ids = []
+
// 刷新 query
this.refreshList()
}
@@ -130,7 +267,8 @@
uni.navigateTo({
url: `/pages/order/order-delivery-detail?id=${item.id}&status=${status}`
})
- }
+ },
+
}
}
</script>
@@ -141,6 +279,34 @@
background-color: #fff;
margin-bottom: 20rpx;
padding: 22rpx;
+
+ .each-item {
+ .label {
+ min-width: 120rpx;
+
+ }
+
+ .label:after {
+ content: ":";
+ margin-right: 10rpx;
+ }
+ }
+
+ .supplier-name {
+ border-bottom: 2rpx solid #EEEEEE;
+ font-weight: 600;
+ font-size: 28rpx;
+ color: #000000;
+ padding-bottom: 10rpx;
+ line-height: 40rpx;
+
+ .icon-dp {
+ width: 27rpx;
+ height: 27rpx;
+ display: inline-block;
+ vertical-align: middle;
+ }
+ }
.buttons {
display: flex;
@@ -177,6 +343,14 @@
font-size: 28rpx;
color: #000000;
line-height: 40rpx;
+
+ .level {
+ font-weight: 400;
+ font-size: 28rpx;
+ color: #20613D;
+ line-height: 40rpx;
+ margin-right: 20rpx;
+ }
}
.status {
@@ -206,6 +380,14 @@
font-size: 28rpx;
color: #000000;
line-height: 40rpx;
+
+ .level {
+ font-weight: 400;
+ font-size: 28rpx;
+ color: #20613D;
+ line-height: 40rpx;
+ margin-right: 20rpx;
+ }
}
.desc {}
--
Gitblit v1.9.3