| | |
| | | <template>
|
| | | <view class="main_app">
|
| | | <view class="head_wrap">
|
| | | <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 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">
|
| | | <view class="code">{{item.contractNumber}}</view>
|
| | | <view class="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-datetime-picker :show="showStarttime" v-model="form.starttime" 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> |
| | | |
| | | @cancel="showEndtime = false"></u-datetime-picker>
|
| | | <u-picker :show="showPri" :columns="provinceList" @cancel="showPri = false" @confirm="confirmPro"></u-picker>
|
| | |
|
| | | </view>
|
| | | </template>
|
| | |
|
| | |
| | |
|
| | | showModal: false,
|
| | | showStarttime: false,
|
| | | showEndtime: false, |
| | | showEndtime: false,
|
| | | 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.$set(this.param, 'phoneNumber', options.phone)
|
| | | this.getList()
|
| | | },
|
| | | methods: {
|
| | | methods: { |
| | | clear() { |
| | | this.param = { |
| | | phoneNumber: this.param.phoneNumber |
| | | } |
| | | this.form = {} |
| | | this.page = 1 |
| | | this.list = [] |
| | | this.showModal = false |
| | | this.getList() |
| | | },
|
| | | 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.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
|
| | | // if (form.contract) {
|
| | | // form.contractNumber = form.contract
|
| | | // } else {
|
| | | // form.contractNumber = null
|
| | | // }
|
| | | orderListTms({
|
| | | ...param, |
| | | ...form
|
| | | parameters: {
|
| | | ...param,
|
| | | ...form
|
| | | },
|
| | | pager: {
|
| | | rows: 10,
|
| | | 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
|
| | | }
|
| | | })
|
| | | }
|
| | | }
|
| | |
| | | }
|
| | | }
|
| | |
|
| | | .main_list {
|
| | | .scroll_Y {
|
| | | background-color: #f7f7f7;
|
| | | width: 750rpx;
|
| | | margin: 0 -30rpx;
|
| | | padding: 24rpx 30rpx;
|
| | | height: calc(100vh - 140rpx);
|
| | |
|
| | | .item {
|
| | | border-radius: 8rpx;
|
| | | margin-bottom: 20rpx;
|
| | | padding: 0 30rpx;
|
| | | background-color: #fff;
|
| | | height: calc(100vh - 130rpx);
|
| | |
|
| | | .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%);
|
| | | .main_list {
|
| | | width: 750rpx;
|
| | | margin: 0 -30rpx;
|
| | | padding: 24rpx 30rpx;
|
| | |
|
| | | .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;
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | .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;
|