| | |
| | | <template>
|
| | | <view class="main_app">
|
| | | <view class="head_wrap">
|
| | | <view class="main_app"> |
| | | <view class="title_wrap"> |
| | | <view class="name">{{ waybillInfo.realname || waybillInfo.username || waybillInfo.mobile }},欢迎登录~</view> |
| | | <view class="btn" @click="loginOut">账号解绑</view> |
| | | </view>
|
| | | <view class="head_wrap" @click="openModal">
|
| | | <view class="search_box">
|
| | | <image src="@/static/ic_search@2x.png" class="search" mode=""></image>
|
| | | <input type="text" placeholder-class="placeholder9" v-model="param.name" @confirm="handleQuery" />
|
| | | <!-- <input type="text" disabled placeholder-class="placeholder9" v-model="param.contractNumber" @confirm="handleQuery" /> -->
|
| | | </view>
|
| | | <view class="right" @click="openModal">
|
| | | <view class="right">
|
| | | <image src="@/static/ic_shaixuan@2x.png" mode=""></image>
|
| | | <text>筛选</text>
|
| | | </view>
|
| | | </view>
|
| | | </view> |
| | | <view @click="diaodu" class="head_title">分中心调度联系方式</view>
|
| | | <!-- -->
|
| | | <view class="main_list">
|
| | | <view class="item" v-for="item,index in list" :key="index">
|
| | | <view class="head">
|
| | | <view class="code">{{item.contractNumber}}</view>
|
| | | <view class="status">{{item.orderStatus}}</view>
|
| | | </view>
|
| | | <view class="content">
|
| | | <view class="line">
|
| | | <view class="la">发货地:</view>
|
| | | <view class="val">{{item.fromRepertoty || '-'}}</view>
|
| | | <scroll-view scroll-y="true" class="scroll_Y" @scrolltolower="scrolltolower">
|
| | | <view class="main_list">
|
| | | <view class="item" v-for="item,index in list" :key="index">
|
| | | <view class="head"
|
| | | :style="{ backgroundColor: item.orderStatus === 9 ? 'linear-gradient(270deg, #FEFEFF 0%, #FEE1E1 100%)' : 'linear-gradient(270deg, #FEFEFF 0%, #E1F7FE 100%)' }">
|
| | | <view class="code">{{item.contractNumber}}</view>
|
| | | <view :class="item.orderStatus === 9 ? 'error' : 'status'">{{item.orderStatusDesc }}</view>
|
| | | </view>
|
| | | <view class="line">
|
| | | <view class="la">到货地:</view>
|
| | | <view class="val">{{item.toRepertoty || '-'}}</view>
|
| | | <view class="content">
|
| | | <view class="line">
|
| | | <view class="la">发货地:</view>
|
| | | <view class="val">{{item.fromRepertoty || item.deliveryEnterprise || '-'}}</view>
|
| | | </view>
|
| | | <view class="line">
|
| | | <view class="la">到货地:</view>
|
| | | <view class="val">{{item.toRepertoty || item.receiveEnterprise || '-'}}</view>
|
| | | </view>
|
| | | <view class="line">
|
| | | <view class="la">车牌号:</view>
|
| | | <view class="val">{{item.plateNumber || item.plateName || '-'}}</view>
|
| | | </view>
|
| | | </view>
|
| | | <view class="line">
|
| | | <view class="la">车牌号:</view>
|
| | | <view class="val">{{item.plateNumber || '-'}}</view>
|
| | | <view class="footer">
|
| | | <view class="time">{{item.ncCreateDate}}</view>
|
| | | <view class="detail" @click="handleDetail(item)">查看详情</view>
|
| | | </view>
|
| | | </view>
|
| | | <view class="footer">
|
| | | <view class="time">{{item.ncCreateDate}}</view>
|
| | | <view class="detail" @click="handleDetail(item)">查看详情</view>
|
| | | <view v-if="list.length === 0" style="text-align: center">
|
| | | <image src="@/static/empty.png" style="width: 320rpx; margin: 120px auto 0" mode="widthFix" />
|
| | | <view class="placeholder9 fs24">暂无数据</view>
|
| | | </view>
|
| | | </view>
|
| | | <view v-if="list.length === 0" style="text-align: center">
|
| | | <image src="@/static/empty.png" style="width: 320rpx; margin: 120px auto 0" mode="widthFix" />
|
| | | <view class="placeholder9 fs24">暂无数据</view>
|
| | | </view>
|
| | | </view>
|
| | | </scroll-view>
|
| | |
|
| | | <!-- -->
|
| | | <u-popup :show="showModal" round="12" @close="showModal = false">
|
| | | <view class="modal">
|
| | |
| | | <view class="line">
|
| | | <view class="la">合同号</view>
|
| | | <view class="val">
|
| | | <input type="text" placeholder-class="placeholder9" v-model="form.contract" />
|
| | | <input type="text" placeholder-class="placeholder9" v-model="form.contractNumber" />
|
| | | </view>
|
| | | </view>
|
| | | <view class="line">
|
| | | <view class="la">制单开始日期</view>
|
| | | <view class="val" @click="showStarttime = true">
|
| | | <text class="mr12"
|
| | | :class="{placeholder9: !form.starttime}">{{ form.starttime ? form.starttime : '请选择' }}</text>
|
| | | :class="{placeholder9: !form.ncCreateDateTimeStart}">{{ form.ncCreateDateTimeStart ? form.ncCreateDateTimeStart : '请选择' }}</text>
|
| | | <u-icon name="arrow-right" size="14" color="#999999"></u-icon>
|
| | | </view>
|
| | | </view>
|
| | | <view class="line">
|
| | | <view class="la">制单结束日期</view>
|
| | | <view class="val" @click="showEndtime = true">
|
| | | <text class="mr12" :class="{placeholder9: !form.endtime}">{{ form.endtime ? form.endtime : '请选择' }}</text>
|
| | | <text class="mr12"
|
| | | :class="{placeholder9: !form.ncCreateDateTimeEnd}">{{ form.ncCreateDateTimeEnd ? form.ncCreateDateTimeEnd : '请选择' }}</text>
|
| | | <u-icon name="arrow-right" size="14" color="#999999"></u-icon>
|
| | | </view>
|
| | | </view>
|
| | | <view class="line">
|
| | | <view class="la">发货地</view>
|
| | | <view class="val">
|
| | | <input type="text" placeholder-class="placeholder9" v-model="form.fromRepertoty" />
|
| | | <input type="text" placeholder-class="placeholder9" v-model="form.deliveryEnterprise" />
|
| | | </view>
|
| | | </view>
|
| | | <view class="line">
|
| | | <view class="la">到货地</view>
|
| | | <view class="val">
|
| | | <input type="text" placeholder-class="placeholder9" v-model="form.toRepertoty" />
|
| | | <input type="text" placeholder-class="placeholder9" v-model="form.receiveEnterprise" />
|
| | | </view>
|
| | | </view>
|
| | | <view class="line">
|
| | | <view class="la">省份</view>
|
| | | <view class="val" @click="showPri = true">
|
| | | <text class="mr12" :class="{placeholder9: !form.provinceName}">{{ form.provinceName ? form.provinceName : '请选择' }}</text>
|
| | | <text class="mr12"
|
| | | :class="{placeholder9: !form.provinceName}">{{ form.provinceName ? form.provinceName : '请选择' }}</text>
|
| | | <u-icon name="arrow-right" size="14" color="#999999"></u-icon>
|
| | | </view>
|
| | | </view>
|
| | | <view class="btns">
|
| | | <view class="btn" @click="showModal = false">取消</view>
|
| | | <view class="btn" @click="clear">取消</view>
|
| | | <view class="btn sub" @click="modalSub">提交</view>
|
| | | </view>
|
| | | </view>
|
| | | </u-popup>
|
| | | <!-- -->
|
| | | <u-datetime-picker :show="showStarttime" v-model="form.starttime" mode="date" @confirm="confirmStart"
|
| | | <u-datetime-picker :show="showStarttime" v-model="defaultDate" mode="date" @confirm="confirmStart"
|
| | | @cancel="showStarttime = false"></u-datetime-picker>
|
| | | <u-datetime-picker :show="showEndtime" v-model="form.endtime" mode="date" @confirm="confirmEnd"
|
| | | @cancel="showEndtime = false"></u-datetime-picker> |
| | | <u-picker :show="showPri" :columns="provinceList" @cancel="showPri = false" @confirm="confirmPro"></u-picker> |
| | | |
| | | <u-datetime-picker :show="showEndtime" v-model="defaultDate2" mode="date" :minDate="defaultDate" @confirm="confirmEnd"
|
| | | @cancel="showEndtime = false"></u-datetime-picker>
|
| | | <u-picker :show="showPri" :columns="provinceList" @cancel="showPri = false" @confirm="confirmPro"></u-picker>
|
| | |
|
| | | </view>
|
| | | </template>
|
| | |
|
| | | <script>
|
| | | import {
|
| | | orderListTms
|
| | | orderListTms, |
| | | logoutPost
|
| | | } from '@/api'
|
| | | import dayjs from 'dayjs';
|
| | | export default {
|
| | |
| | | list: [],
|
| | | page: 1,
|
| | | total: 0,
|
| | |
|
| | | |
| | | waybillInfo: uni.getStorageSync('waybillInfo'),
|
| | | showModal: false,
|
| | | showStarttime: false,
|
| | | showEndtime: false, |
| | | defaultDate: Number(new Date()), |
| | | defaultDate2: Number(new Date()),
|
| | | showPri: false,
|
| | | form: {},
|
| | | provinceList: [
|
| | | [
|
| | | '安徽省', '江苏省', '浙江省', '河北省', '山西省', '北京', '天津', '上海', '重庆', '辽宁省', '吉林省', '黑龙江省', '福建省', '江西省', '山东省',
|
| | | '河南省', '湖北省', '湖南省', '广东省', '海南省', '四川省', '贵州省', '云南省', '陕西省', '甘肃省', '青海省', '台湾省', '内蒙古自治区', '广西壮族自治区',
|
| | | '安徽', '江苏', '浙江', '河北', '山西', '北京', '天津', '上海', '重庆', '辽宁', '吉林', '黑龙江', '福建', '江西', '山东',
|
| | | '河南', '湖北', '湖南', '广东', '海南', '四川', '贵州', '云南', '陕西', '甘肃', '青海', '台湾', '内蒙古自治区', '广西壮族自治区',
|
| | | '西藏自治区', '宁夏回族自治区', '新疆维吾尔自治区'
|
| | | ]
|
| | | ]
|
| | | };
|
| | | },
|
| | | onLoad(options) { |
| | | this.$set(this.param, 'phoneNumber', options.phone) |
| | | this.$set(this.form, 'starttime', dayjs().format('YYYY/MM/DD')) |
| | | const nextMonth = dayjs().add(1, 'month'); |
| | | this.$set(this.form, 'endtime', nextMonth.format('YYYY/MM/DD'))
|
| | | onLoad(options) {
|
| | | this.getList()
|
| | | },
|
| | | methods: {
|
| | | methods: { |
| | | clear() { |
| | | this.param = {} |
| | | this.form = {} |
| | | this.page = 1 |
| | | this.list = [] |
| | | this.showModal = false |
| | | this.getList() |
| | | }, |
| | | diaodu() { |
| | | uni.navigateTo({ |
| | | url: '/pages/staff/signin' |
| | | }) |
| | | }, |
| | | loginOut() { |
| | | let app_url = 'https://atwl.ahzyssl.com/zhyq_h5/#/pages/waybill/home' |
| | | logoutPost({ |
| | | isH5: 1 |
| | | }).then(res => { |
| | | this.$store.commit('empty') |
| | | setTimeout(() => { |
| | | window.location.href = app_url |
| | | }, 300) |
| | | }) |
| | | },
|
| | | modalSub() {
|
| | | this.handleQuery()
|
| | | this.showModal = false
|
| | | },
|
| | | openModal() {
|
| | | this.showModal = true
|
| | | }, |
| | | confirmPro(e) { |
| | | this.$set(this.form, 'provinceName', e.value[0]) |
| | | this.showPri = false |
| | | // this.$set(this.form, 'ncCreateDateTimeStart', dayjs().subtract(1, 'month').format('YYYY-MM-DD'))
|
| | | // const nextMonth = dayjs().add(1, 'month');
|
| | | // this.$set(this.form, 'ncCreateDateTimeEnd', dayjs().format('YYYY-MM-DD'))
|
| | | },
|
| | | confirmPro(e) {
|
| | | this.$set(this.form, 'provinceName', e.value[0])
|
| | | this.showPri = false
|
| | | },
|
| | | confirmStart(e) {
|
| | | this.$nextTick(() => {
|
| | | this.$set(this.form, 'starttime', dayjs(e.value).format('YYYY/MM/DD'))
|
| | | })
|
| | | this.$set(this.form, 'ncCreateDateTimeStart', dayjs(e.value).format('YYYY-MM-DD'))
|
| | | }) |
| | | this.defaultDate2 = Number(new Date()) |
| | | this.$set(this.form, 'ncCreateDateTimeEnd', '')
|
| | | this.showStarttime = false
|
| | | },
|
| | | confirmEnd(e) {
|
| | | this.$nextTick(() => {
|
| | | this.$set(this.form, 'endtime', dayjs(e.value).format('YYYY/MM/DD'))
|
| | | this.$set(this.form, 'ncCreateDateTimeEnd', dayjs(e.value).format('YYYY-MM-DD'))
|
| | | })
|
| | | this.showEndtime = false
|
| | | },
|
| | | handleQuery() {
|
| | | this.page = 1
|
| | | this.list = []
|
| | | this.getList()
|
| | | },
|
| | | handleDetail(item) { |
| | | uni.navigateTo({ |
| | | url: '/pages/waybill/waybillDetail?id=' + item.contractNumber |
| | | }) |
| | | handleDetail(item) {
|
| | | uni.navigateTo({
|
| | | url: '/pages/waybill/waybillDetail?id=' + item.contractNumber
|
| | | })
|
| | | },
|
| | | scrolltolower() {
|
| | | const {
|
| | | total,
|
| | | list
|
| | | } = this
|
| | | if (list.length < total) {
|
| | | this.page = this.page + 1
|
| | | this.getList()
|
| | | } else {
|
| | | this.showToast('暂无更多数据')
|
| | | }
|
| | | },
|
| | | getList() {
|
| | | const {
|
| | | param,
|
| | | form
|
| | | } = this |
| | | if(form.contract){ |
| | | form.contractNumber = [form.contract] |
| | | }else{ |
| | | form.contractNumber = null |
| | | }
|
| | | form,
|
| | | page
|
| | | } = this
|
| | | orderListTms({
|
| | | ...param, |
| | | ...form
|
| | | parameters: {
|
| | | ...param,
|
| | | ...form
|
| | | },
|
| | | pager: {
|
| | | rows: 16,
|
| | | page
|
| | | }
|
| | | }).then(res => {
|
| | | this.list = res.data || []
|
| | | this.total = res.data.total
|
| | | if (res.data && res.data.rows) {
|
| | | this.list = [...this.list, ...res.data.rows]
|
| | | this.total = res.data.totalCount
|
| | | }
|
| | | })
|
| | | }
|
| | | }
|
| | |
| | | <style lang="scss">
|
| | | page {
|
| | | background: #F7F7F7;
|
| | | } |
| | | .title_wrap { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | // align-items: center; |
| | | background-color: #fff; |
| | | width: 750rpx; |
| | | height: 90rpx; |
| | | margin: -10rpx -30rpx 0; |
| | | padding: 24rpx 30rpx 0; |
| | | .name { |
| | | font-weight: 600; |
| | | font-size: 34rpx; |
| | | color: #222222; |
| | | } |
| | | |
| | | .btn { |
| | | width: 144rpx; |
| | | height: 56rpx; |
| | | border-radius: 36rpx; |
| | | border: 1rpx solid #B2B2B2; |
| | | font-size: 26rpx; |
| | | color: #666666; |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | } |
| | | }
|
| | |
|
| | | .head_title{ |
| | | color: $uni-color-primary; |
| | | text-decoration-line: underline; |
| | | margin-top: 20rpx; |
| | | }
|
| | | .head_wrap {
|
| | | display: flex;
|
| | | align-items: center;
|
| | |
| | | }
|
| | | }
|
| | |
|
| | | .main_list {
|
| | | .scroll_Y {
|
| | | background-color: #f7f7f7;
|
| | | width: 750rpx;
|
| | | margin: 0 -30rpx;
|
| | | padding: 24rpx 30rpx;
|
| | | height: calc(100vh - 140rpx);
|
| | | height: calc(100vh - 250rpx); |
| | | margin-top: 10rpx;
|
| | | .main_list {
|
| | | width: 750rpx;
|
| | | margin: 0 -30rpx;
|
| | | padding: 24rpx 30rpx;
|
| | |
|
| | | .item {
|
| | | border-radius: 8rpx;
|
| | | margin-bottom: 20rpx;
|
| | | padding: 0 30rpx;
|
| | | background-color: #fff;
|
| | |
|
| | | .head {
|
| | | display: flex;
|
| | | justify-content: space-between;
|
| | | align-items: center;
|
| | | padding: 0 30rpx;
|
| | | width: 690rpx;
|
| | | height: 84rpx;
|
| | | margin: 0 -30rpx;
|
| | | background: linear-gradient(270deg, #FEFEFF 0%, #E1F7FE 100%);
|
| | |
|
| | | .code {
|
| | | font-weight: 500;
|
| | | font-size: 32rpx;
|
| | | color: #222222;
|
| | | }
|
| | |
|
| | | .status {
|
| | | color: $uni-color-primary;
|
| | | }
|
| | | }
|
| | |
|
| | | .content {
|
| | | padding: 20rpx 0rpx;
|
| | | border-bottom: 1rpx solid #E5E5E5;
|
| | | .item {
|
| | | border-radius: 8rpx;
|
| | | margin-bottom: 20rpx;
|
| | | padding: 0 30rpx;
|
| | | background-color: #fff;
|
| | |
|
| | | .line {
|
| | | .head {
|
| | | display: flex;
|
| | | margin-bottom: 16rpx;
|
| | | font-size: 26rpx;
|
| | | justify-content: space-between;
|
| | | align-items: center;
|
| | | padding: 0 30rpx;
|
| | | width: 690rpx;
|
| | | height: 84rpx;
|
| | | margin: 0 -30rpx;
|
| | | // background: linear-gradient(270deg, #FEFEFF 0%, #E1F7FE 100%);
|
| | |
|
| | | .la {
|
| | | color: #666666;
|
| | | .code {
|
| | | font-weight: 500;
|
| | | font-size: 32rpx;
|
| | | color: #222222;
|
| | | }
|
| | |
|
| | | .val {}
|
| | |
|
| | | &:nth-last-child(1) {
|
| | | margin-bottom: 0;
|
| | | .status {
|
| | | color: $uni-color-primary;
|
| | | }
|
| | | |
| | | .error {
|
| | | color: #EE3821;
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | .footer {
|
| | | display: flex;
|
| | | justify-content: space-between;
|
| | | align-items: center;
|
| | | font-size: 26rpx;
|
| | | color: #999999;
|
| | | padding-bottom: 20rpx;
|
| | | .content {
|
| | | padding: 20rpx 0rpx;
|
| | | border-bottom: 1rpx solid #E5E5E5;
|
| | | margin-bottom: 20rpx;
|
| | |
|
| | | .detail {
|
| | | width: 168rpx;
|
| | | height: 60rpx;
|
| | | background: #FFFFFF;
|
| | | border-radius: 30rpx;
|
| | | border: 1rpx solid $uni-color-primary;
|
| | | color: $uni-color-primary;
|
| | | .line {
|
| | | display: flex;
|
| | | margin-bottom: 16rpx;
|
| | | font-size: 26rpx;
|
| | |
|
| | | .la {
|
| | | color: #666666;
|
| | | }
|
| | |
|
| | | .val {}
|
| | |
|
| | | &:nth-last-child(1) {
|
| | | margin-bottom: 0;
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | .footer {
|
| | | display: flex;
|
| | | justify-content: space-between;
|
| | | align-items: center;
|
| | | justify-content: center;
|
| | | font-size: 26rpx;
|
| | | color: #999999;
|
| | | padding-bottom: 20rpx;
|
| | |
|
| | | .detail {
|
| | | width: 168rpx;
|
| | | height: 60rpx;
|
| | | background: #FFFFFF;
|
| | | border-radius: 30rpx;
|
| | | border: 1rpx solid $uni-color-primary;
|
| | | color: $uni-color-primary;
|
| | | display: flex;
|
| | | align-items: center;
|
| | | justify-content: center;
|
| | | font-size: 26rpx;
|
| | |
|
| | | }
|
| | | }
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | |
|
| | | .modal {
|
| | | .modal_title {
|
| | | height: 112rpx;
|