From 05bd41aab8c9dba2cf7afcd78493415761f11d9d Mon Sep 17 00:00:00 2001
From: xuxueyang <xuxy@fengyuntec.com>
Date: 星期四, 26 九月 2024 08:54:08 +0800
Subject: [PATCH] update 供应商刷新问题
---
sub_pages/partner/delivery/delivery.vue | 549 ++++++++++++++++++++++++++++++++++++------------------
1 files changed, 362 insertions(+), 187 deletions(-)
diff --git a/sub_pages/partner/delivery/delivery.vue b/sub_pages/partner/delivery/delivery.vue
index 23f9997..861eb13 100644
--- a/sub_pages/partner/delivery/delivery.vue
+++ b/sub_pages/partner/delivery/delivery.vue
@@ -1,207 +1,382 @@
<script>
-export default {
- data() {
- return {
- query: {
- supplierName: '',
- stationId: '',
- stationName: '',
- statusStr:'',
- status:'',
- },
- show_select_station: false,
- show_select_status: false,
+ export default {
+ data() {
+ var defaultDatePre = new Date(new Date().getTime())
+ return {
+ query: {
+ supplierName: '',
+ stationId: '',
+ stationName: '',
+ statusStr: '',
+ status: 'ARRIVED,PENDING',
+ warehouseLocationCode: '',
+ date: '',
+ },
+ show_select_station: false,
+ show_select_status: false,
+ selecttoday: false,
+ columns_station: [],
+ status_columns: [],
+ show_time_picker_time: false,
+ tmp_picker_time: new Date(),
+ flg: '0',
+ tabs: [{
+ name: '待质检',
+ status: 'ARRIVED,PENDING',
+ },
+ {
+ name: '已质检',
+ status: 'CHECKED',
+ },
+ ],
+ defaultDate: new Date(),
+ defaultDatePre: defaultDatePre
+ }
+ },
+ onLoad(options) {
+ this.query.stationId = options.stationId || ''
+ this.query.stationName = options.stationName || ''
- columns_station: [],
- status_columns:[],
- }
- },
- onLoad() {
- this.listApi = '/api/delivery/list/today'
- this.getList()
- this.$http.request('get', '/api/station/list', {
- params: {}
- }).then(res => {
- var data = res.data
- this.columns_station = [data || []]
- })
- this.$http.request('get', '/api/code/value', {
- params: {
- type: 'DELIVERY_ORDER_STATUS'
- }
- }).then(res => {
- var data = res.data
- this.status_columns = [data || []]
- this.status_columns[0].unshift({
- label: '全部',
- value: ''
- })
- })
+ // this.listApi = '/api/delivery/list/today'
+ // this.listApi = '/api/delivery/check/list/today'
+ this.listApi = '/api/delivery/check/list'
- },
- onReachBottom() {
- this.page.current += 1
- this.getMore()
- },
- async onPullDownRefresh() {
- this.page.current = 1
- await this.getList()
- uni.stopPullDownRefresh()
- },
- methods: {
- select_station(e) {
- this.show_select_station = false
- this.query.stationName = e.value[0].name
- this.query.stationId = e.value[0].id
- this.refreshList()
- },
- select_status(e) {
- this.show_select_status = false
- this.query.statusStr = e.value[0].name
- this.query.status = e.value[0].id
- this.refreshList()
- },
- toDetail(item) {
- uni.navigateTo({
- url: `//sub_pages/partner/delivery/delivery-detail?id=${item.id}`
- })
- },
- async compelete(item) {
- await this.$message.confirm("是否完成此单质检")
+ this.query.date = this.$util.toDate(this.defaultDatePre)
+ this.getList()
+ // this.$http.request('get', '/api/station/list', {
+ // params: {}
+ // }).then(res => {
+ // var data = res.data
+ // this.columns_station = [data || []]
+ // })
+ // this.$http.request('get', '/api/code/value', {
+ // params: {
+ // type: 'DELIVERY_ORDER_STATUS'
+ // }
+ // }).then(res => {
+ // var data = res.data || []
+ // this.status_columns = [data || []]
+ // this.status_columns[0].unshift({
+ // label: '全部',
+ // value: ''
+ // })
+ // console.log('status_columns', this.status_columns)
+ // })
- const {code, data} = this.$http.request('get', '/api/delivery/list/view/complete', {
- params: {
- id: item.id
- }
- })
- if (code === 0) {
- this.$message.showToast('完成成功')
- setTimeout(() => {
- this.refreshList()
- }, 200)
- }
- }
- }
-}
+ },
+ onReachBottom() {
+ this.getMore()
+ },
+ async onPullDownRefresh() {
+ this.page.current = 1
+ await this.getList()
+ uni.stopPullDownRefresh()
+ },
+ methods: {
+ async select_time_picker_time(e) {
+ // console.log('select_time_picker_time', e)
+ var vv = e && e.length >= 1 && new Date(e[0]) || new Date()
+ // if (vv) {
+ // vv = vv.replace('aN:', '00:')
+ // }
+ // var time = new Date(`2023-8-21 ${vv}:00`)
+ this.show_time_picker_time = false;
+ this.query.date = this.$util.toDate(vv) || ''
+
+ this.refreshList()
+ },
+ changeSelecrRange() {
+ this.selecttoday = !this.selecttoday
+
+ this.$nextTick(() => {
+ if (this.selecttoday) {
+ this.listApi = '/api/delivery/check/list/today'
+ this.query.date = ''
+ } else {
+ this.listApi = '/api/delivery/check/list'
+ }
+ this.refreshList()
+ })
+ },
+ callTel(tel) {
+ if (tel) {
+ uni.makePhoneCall({
+ phoneNumber: tel
+ })
+ }
+ },
+ buttonSearchFlow() {
+ this.refreshList()
+ },
+ select_station(e) {
+ this.show_select_station = false
+ this.query.stationName = e.value[0].name
+ this.query.stationId = e.value[0].id
+ this.refreshList()
+ },
+ select_status(e) {
+ this.show_select_status = false
+ this.query.statusStr = e.value[0].label
+ this.query.status = e.value[0].value
+ this.refreshList()
+ },
+ toDetail(item) {
+ uni.navigateTo({
+ url: `/sub_pages/partner/delivery/delivery-supplier-detail-list?warehouseLocationCode=${this.query.warehouseLocationCode||''}&date=${ this.query.date||''}&stationId=${this.query.stationId||''}&supplierId=${item.id}&range=` +
+ (this
+ .selecttoday ? 'today' : '')
+ })
+ },
+ async compelete(item) {
+ await this.$message.confirm("是否一键完成此单的质检")
+ // '/api/delivery/list/view/complete'
+ const {
+ code,
+ data
+ } = await this.$http.request('get', '/api/delivery/check/list/complete' + (this.selecttoday ?
+ "/today" : ""), {
+ params: {
+ id: item.id,
+ date: this.query.date || null
+ }
+ })
+ if (code === 0) {
+ this.$message.showToast('完成成功')
+ // let tmp = this
+ // setTimeout(async () => {
+ // await tmp.refreshList()
+ // tmp.$forceUpdate()
+ // }, 500)
+ }
+ },
+ changeTab(flg) {
+ this.flg = '' + flg
+ this.query.status = this.tabs[flg].status
+ this.refreshList()
+ },
+ }
+ }
</script>
<template>
- <!-- 列表页面 -->
- <view class="page-delivery">
- <view class="p15" style="min-height: calc(100vh - 260rpx);">
- <view class="search-container m-t-12 flex">
- <view class="flex1 input">
- <u-input placeholder="请输入花名" v-model="search_flow">
- <template slot="suffix">
- <uni-icons color="#20613D" type="search" size="24" @tap="buttonSearchFlow"></uni-icons>
- </template>
- </u-input>
- </view>
- </view>
- <view class="component-filter-container">
- <view class="flex1" @click="show_select_status=true">
- 配送单状态:{{ query.statusStr || '全部' }}
- <image src="../../../static/common/icon-arrow-down.png" class="icon-arrow-down"></image>
- </view>
+ <!-- 列表页面 -->
+ <view class="page-delivery">
+ <view class="p15" style="min-height: calc(100vh - 260rpx);">
+ <top-tabs :tabs="tabs" :flg="flg" @change="changeTab" type="coupon">
- <view class="flex1" @click="show_select_station=true">
- 集货站:{{ query.stationName || '全部' }}
- <image src="../../../static/common/icon-arrow-down.png" class="icon-arrow-down"></image>
- </view>
- </view>
+ </top-tabs>
+ <view class="search-container m-t-15 flex">
+ <view class="flex1 input m-r-5">
+ <u-input placeholder="请输入供应商名称" v-model="query.supplierName">
+ <template slot="suffix">
+ <uni-icons color="#20613D" type="search" size="24" @tap="buttonSearchFlow"></uni-icons>
+ </template>
+ </u-input>
+ </view>
+ <view class="flex1 input m-l-5">
+ <u-input placeholder="请输入货位号" v-model="query.warehouseLocationCode">
+ <template slot="suffix">
+ <uni-icons color="#20613D" type="search" size="24" @tap="buttonSearchFlow"></uni-icons>
+ </template>
+ </u-input>
+ </view>
+ </view>
- <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">
- <view class="delivery-item">
- <view class="title">{{ item.supplierName }}</view>
- <view class="line-gray"></view>
- <view class="form-item">
- <view class="form-item-label">订单单号:</view>
- <view class="form-item-value">{{ item.orderNo || '-' }}</view>
- </view>
- <view class="form-item">
- <view class="form-item-label">集货站名称:</view>
- <view class="form-item-value">{{ item.stationName || '-' }}</view>
- </view>
- <view class="form-item">
- <view class="form-item-label">配送单状态:</view>
- <view class="form-item-value">{{ item.levelStr || '-' }}</view>
- </view>
- <view class="form-item">
- <view class="form-item-label">送达时间</view>
- <view class="form-item-value">{{ item.arriveTime || '-' }}</view>
- </view>
- <view class="form-item">
- <view class="form-item-label">供货总数</view>
- <view class="form-item-value">{{ item.totalNum || '-' }}</view>
- </view>
- <view class="line-gray"></view>
- <view class="flex">
- <view class="button button-2 m-l-a m-r-0" @click="toDetail(item)">前往质检</view>
- <view class="button button-1 m-l-15 m-r-0" @click="compelete(item)">质检完成</view>
- </view>
- </view>
- </view>
- </view>
+ <!-- <view class="search-container m-t-12 flex"> -->
- <!-- 判断是否到底了,自动吧 -->
- <footer-msg :more="page.total>0&&page.total>page.current*page.size"></footer-msg>
- <u-picker @confirm="select_station" keyName="name" @cancel="show_select_station=false"
- :show="show_select_station" :columns="columns_station"></u-picker>
- <u-picker @confirm="select_status" keyName="name" @cancel="show_select_status=false"
- :show="show_select_status" :columns="status_columns"></u-picker>
+ <!-- <view class="component-filter-container p10 bg-white m-l-10">
+ <view class="flex1" @click="show_select_status=true">
+ 配送单状态:{{ query.statusStr || '全部' }}
+ <image src="../../../static/common/icon-arrow-down.png" class="icon-arrow-down"></image>
+ </view>
+ </view> -->
+ <!-- </view> -->
+ <view class="m-t-12 m-b-12 flex">
+ <!-- v-if="!selecttoday" -->
+ <view class="m-l-a m-r-20 w-fit" :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="component-filter-container p20 bg-white">
+ <view class="flex1" @click="show_select_status=true">
+ 配送单状态:{{ query.statusStr || '全部' }}
+ <image src="../../../static/common/icon-arrow-down.png" class="icon-arrow-down"></image>
+ </view>
+ <view class="flex1">
+ 集货站:{{ query.stationName || '全部' }}
+ <image src="../../../static/common/icon-arrow-down.png" class="icon-arrow-down"></image>
+ </view>
+ </view> -->
+
+ <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">
+ <view class="delivery-item bg-white br-4 p10">
+ <view class="title flex">
+ <view>供应商:{{ item.supplierName }}</view>
+ <view class="w-fit m-l-a m-r-0 text-right" v-if="item.supplierTel"
+ @click="callTel(item.supplierTel)">{{ item.supplierTel }}</view>
+
+ </view>
+ <view class="line-gray"></view>
+ <!-- <view class="form-item">
+ <view class="form-item-label">订单单号</view>
+ <view class="form-item-value">{{ item.orderNo || '-' }}</view>
+ </view> -->
+ <view class="flex">
+ <view class="form-item flex1">
+ <view class="form-item-label">集货站</view>
+ <view class="form-item-value">{{ item.stationName || '-' }}</view>
+ </view>
+ <!-- <view class="form-item flex1">
+ <view class="form-item-label">货位号</view>
+ <view class="form-item-value">{{ item.warehouseLocationCode || '-' }}</view>
+ </view> -->
+
+ </view>
+ <view class="flex">
+ <!-- <view class="form-item flex1">
+ <view class="form-item-label">状态</view>
+ <view class="form-item-value">{{ item.statusStr || '-' }}</view>
+ </view> -->
+ <view class="form-item flex1">
+ <view class="form-item-label">交易金额</view>
+ <view class="form-item-value">¥{{ item.totalAmount || '0.00' }}</view>
+ </view>
+ <view class="form-item flex1">
+ <view class="form-item-label">供货总数</view>
+ <view class="form-item-value">{{ item.totalNum || '-' }}</view>
+ </view>
+ </view>
+ <!-- <view class="form-item flex1">
+ <view class="form-item-label">送达时间</view>
+ <view class="form-item-value">{{ item.arriveTime || '-' }}</view>
+ </view> -->
+ <view class="form-item flex1">
+ <view class="form-item-label">待质检数</view>
+ <view class="form-item-value">{{ item.uncheckedCount || '0' }}</view>
+ </view>
- </view>
+ <view class="line-gray"></view>
+ <view class="flex buttons">
+ <!-- v-if="item.status==='ARRIVED'||item.status==='PENDING'" -->
+ <view class="button button-1 m-l-a m-r-15" @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>
+
+ </view>
+ </view>
+ </view>
+ </view>
+
+ <!-- 判断是否到底了,自动吧 -->
+ <footer-msg :more="page.total>0&&page.total>page.current*page.size"></footer-msg>
+ <u-picker @confirm="select_station" keyName="name" @cancel="show_select_station=false"
+ :show="show_select_station" :columns="columns_station"></u-picker>
+ <u-picker @confirm="select_status" keyName="label" @cancel="show_select_status=false" :show="show_select_status"
+ :columns="status_columns"></u-picker>
+
+ <!-- <u-datetime-picker :show="show_time_picker_time" @cancel="show_time_picker_time=false"
+ @confirm="select_time_picker_time" v-model="tmp_picker_time" mode="date"></u-datetime-picker> -->
+
+ <u-calendar :show="show_time_picker_time" mode="single" @confirm="select_time_picker_time"
+ @cancel="show_time_picker_time = false" :monthNum="12" :maxDate="defaultDate" :defaultDate="defaultDatePre"
+ @close="show_time_picker_time = false" minDate="2024-07-01" toolTip="选择订单日期">
+ </u-calendar>
+
+ </view>
</template>
<style lang="scss" scoped>
-.page-delivery {
- .delivery-item {
- .title {
- font-weight: 400;
- font-size: 28rpx;
- color: #000000;
- line-height: 40rpx;
- }
+ .page-delivery {
+ .delivery-item {
+ .title {
+ font-weight: 600;
+ font-size: 32rpx;
+ color: #000000;
+ line-height: 40rpx;
+ }
- .button {
- min-width: 122rpx;
- text-align: center;
- height: 48rpx;
- line-height: 48rpx;
- border-radius: 28rpx;
- border: 2rpx solid #20613D;
- font-size: 24rpx;
- color: #20613D;
- }
- }
+ .form-item {
+ line-height: 40rpx;
+ font-size: 28rpx;
+ color: #666;
+ display: flex;
- .search-container {
- display: flex;
- margin: 12rpx 0rpx 20rpx 0rpx;
- position: relative;
- z-index: 1;
+ .form-item-label {
+ min-width: 120rpx;
+ }
- .input {
- // flex: 1;
- // max-width: 400rpx;
- background-color: #fff !important;
- // line-height: 58rpx;
- // height: 58rpx;
- border-radius: 8rpx;
- }
+ .form-item-label::after {
+ content: ":";
+ margin-right: 20rpx;
+ }
+ }
- .button {
- min-width: 120rpx;
- max-width: 120rpx;
- margin-left: auto;
- margin-right: 0rpx;
- text-align: right;
- line-height: 70rpx !important;
- // height: 58rpx !important;
- // display: flex;
- }
- }
-}
+ .buttons {
+ display: flex;
+ margin-left: auto;
+ width: fit-content;
+ .button {
+ // width: 216rpx;
+ padding: 10rpx 20rpx;
+ line-height: 34rpx;
+ font-size: 24rpx;
+ height: 34rpx;
+ background: #20613D;
+ text-align: center;
+ border-radius: 30rpx;
+
+ }
+
+ .button-1 {
+ background: #fff;
+ color: #333;
+ border: 2rpx solid #333;
+
+ }
+
+ .button-0 {
+ color: #fff;
+ border: 2rpx solid #20613D;
+ }
+ }
+ }
+
+ .search-container {
+ display: flex;
+ margin: 12rpx 0rpx 20rpx 0rpx;
+ position: relative;
+ z-index: 1;
+
+ .input {
+ // flex: 1;
+ // max-width: 400rpx;
+ background-color: #fff !important;
+ // line-height: 58rpx;
+ // height: 58rpx;
+ border-radius: 8rpx;
+ }
+
+ .button {
+ min-width: 120rpx;
+ max-width: 120rpx;
+ margin-left: auto;
+ margin-right: 0rpx;
+ text-align: right;
+ line-height: 70rpx !important;
+ // height: 58rpx !important;
+ // display: flex;
+ }
+ }
+ }
</style>
\ No newline at end of file
--
Gitblit v1.9.3