From 69a1b3bf45738f048361ee4ccb6bdc64fce35720 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期三, 12 三月 2025 11:31:46 +0800
Subject: [PATCH] 更新
---
pda/pages/index/queueup.vue | 483 +++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 483 insertions(+), 0 deletions(-)
diff --git a/pda/pages/index/queueup.vue b/pda/pages/index/queueup.vue
new file mode 100644
index 0000000..7cb8ab1
--- /dev/null
+++ b/pda/pages/index/queueup.vue
@@ -0,0 +1,483 @@
+<template>
+ <view class="main_app">
+ <view class="main_content">
+ <view class="title" @click="showPlatformgroup = true"
+ >{{ platformGroup.name
+ }}<u-icon
+ name="arrow-down"
+ size="20"
+ class="ml12"
+ color="#999999"
+ ></u-icon
+ ></view>
+ <view class="input_wrap">
+ <u-icon name="search" class="mr12" size="19" color="#999999" />
+ <input
+ v-model="carCodeFront"
+ type="text"
+ placeholder="鎼滅储杞﹁締鐗岀収"
+ placeholder-class="placeholder9"
+ confirm-type="search"
+ @confirm="handleQuery"
+ />
+ </view>
+ <view class="count"
+ >鎬绘帓闃熻溅杈嗭細<text>{{ total }}</text></view
+ >
+ </view>
+ <!-- -->
+ <view class="dataList">
+ <view class="item" v-for="item,i in platformLineUpList" :key="i">
+ <view class="head">
+ <view v-if="item.carCodeFront" class="code">
+ <text>{{ item.carCodeFront.slice(0, 1) }}</text>
+ <text>{{ item.carCodeFront.slice(1, 2) }}</text>
+ <text>路</text>
+ <text>{{ item.carCodeFront.slice(2) }}</text>
+ </view>
+ <!-- <view class="status green" v-if="item.status == 2">鏈堝彴绛夊緟</view > -->
+ <view class="status green" v-if="item.status == 2">绛夊緟鍙彿</view >
+ <view class="status" v-if="item.status == 3">鍏ュ洯绛夊緟</view >
+ <view class="status" v-if="item.status == 7">杞Щ涓�</view >
+ </view>
+ <view class="line" v-if="item.billCode">
+ <text class="label">杩愯緭鍗曞彿</text>
+ <text class="value">{{ item.billCode }}</text>
+ <text class="primaryColor" @click="handleDetail(item)">杩愬崟璇︽儏</text>
+ </view>
+ <view class="line" v-else>
+ <text class="label">鍚堝悓鍗曞彿</text>
+ <text class="value">{{ item.contractNum }}</text>
+ <text class="primaryColor" @click="subDetail(item)">棰勭害璇︽儏</text>
+ </view>
+ <view class="line line2" v-if="item.billCode && item.wmsContractNum">
+ <text class="label">鍚堝悓鍗曞彿</text>
+ <text class="value">{{ item.wmsContractNum }}</text>
+ </view>
+ <view class="line">
+ <text class="label">椹鹃┒鍛�</text>
+ <text class="value"
+ >{{ item.driverName }} {{ item.drivierPhone }}</text
+ >
+ </view>
+ <view class="line">
+ <text class="label">鎬昏繍杈撻噺</text>
+ <text class="value">{{ item.totalNum || item.ioQty }}涓囨敮</text>
+ </view>
+ <view class="line" v-if="item.carrierName">
+ <text class="label">杩愯緭鍏徃</text>
+ <text class="value">{{ item.carrierName }}</text>
+ </view>
+ <view class="line">
+ <text class="label primaryColor">绛惧埌鏃堕棿</text>
+ <text class="value primaryColor" v-if="item.signDate">{{ item.signDate.slice(5, 16) }}</text>
+ </view>
+ <!-- <view class="btns">
+ <view class="btn active">鍏ュ洯</view>
+ </view> -->
+ </view>
+ <view v-if="platformLineUpList.length == 0" class="empty_wrap">
+ <image src="@/static/default_nodata@2x.png" />
+ <text>鏆傛棤浣滀笟杞﹁締</text>
+ </view>
+ </view>
+ <u-popup :show="showDetail" :round="10" :safeAreaInsetBottom="true" closeOnClickOverlay :closeable="true"
+ mode="bottom" @close="showDetail = false">
+ <view class="detail_modal">
+ <view class="modal_title">杩愬崟璇︽儏</view>
+ <view v-if="wmsInfo.plateNumber" class="id_card">
+ <text>{{ wmsInfo.plateNumber.slice(0, 1) }}</text>
+ <text>{{ wmsInfo.plateNumber.slice(1, 2) }}</text>
+ <text>路</text>
+ <text>{{ wmsInfo.plateNumber.slice(2) }}</text>
+ </view>
+ <!-- -->
+ <view class="info">
+ <view class="line">
+ <view class="label">杩愯緭鍗曞彿</view>
+ <view class="value">{{ wmsInfo.carryBillCode }}</view>
+ </view>
+ <view class="line">
+ <view class="label">椹鹃┒鍛�</view>
+ <view class="value">{{ wmsInfo.driverName }} {{ wmsInfo.driverPhone }}</view>
+ </view>
+ <view class="line">
+ <view class="label">鎬昏繍杈撻噺</view>
+ <view class="value">{{ wmsInfo.ioQty }}涓囨敮</view>
+ </view>
+ <view class="line">
+ <view class="label">杩愯緭鍏徃</view>
+ <view class="value">{{ wmsInfo.carrierName }}</view>
+ </view>
+ </view>
+ <!-- <view class="separate"></view> -->
+ <view class="contract_wrap">
+ <view class="contract_list" v-for="item in wmsInfo.wmsJobContractVOList">
+ <view class="title">鍚堝悓鍙凤細{{ item.contractCode }}</view>
+ <view class="address">鏀惰揣鍦帮細{{ item.address }}</view>
+ <view class="list">
+ <view class="item" v-for="line in item.platformWmsDetailList">
+ <view class="line">
+ <view class="label">鐗╂枡锛�</view>
+ <view class="value">{{ line.materialName }}</view>
+ </view>
+ <view class="line">
+ <view class="label">鏁伴噺锛�</view>
+ <view class="value">{{ line.ioQty }}涓囨敮</view>
+ </view>
+ </view>
+ </view>
+ </view>
+ </view>
+ </view>
+ </u-popup>
+ <u-picker
+ :show="showPlatformgroup"
+ keyName="name"
+ :columns="[platformGroupList]"
+ @cancel="showPlatformgroup = false"
+ @confirm="platConfirm"
+ ></u-picker>
+ </view>
+</template>
+
+<script>
+import { platformLineUpPage, getPlatformGroupList, wmsJobDetail } from '@/api'
+export default {
+ data() {
+ return {
+ windowTop: 24,
+ showDetail: false,
+ showPlatformgroup: false,
+ capacity: 10,
+ page: 1,
+ total: 0,
+ carCodeFront: '',
+ platformGroup: {},
+ wmsInfo: {},
+ platformGroupList: [],
+ platformLineUpList: []
+ }
+ },
+ onLoad() {
+ this.getPlatformGroup()
+ },
+ onReachBottom() {
+ if(this.total > this.platformLineUpList.length){
+ this.page ++
+ this.getList()
+ }else{
+ uni.showToast({
+ title:'鏆傛棤鏇村鏁版嵁',
+ icon: 'none'
+ })
+ }
+ },
+ methods: {
+ handleDetail(param) {
+ wmsJobDetail({ id: param.id }).then(res => {
+ this.wmsInfo = res.data
+ this.showDetail = true
+ })
+ },
+ subDetail(item) {
+ uni.navigateTo({
+ url: `/pages/index/SubDetail?id=${item.bookId}`
+ })
+ },
+ getPlatformGroup() {
+ getPlatformGroupList({
+ queryData: 1,
+ queryType: 0
+ }).then(res => {
+ this.platformGroupList = res.data || []
+ if (this.platformGroupList && this.platformGroupList.length > 0) {
+ this.platformGroup = this.platformGroupList[0]
+ this.getList()
+ }
+ })
+ },
+ getList() {
+ const { page, capacity, platformGroup, carCodeFront } = this
+ platformLineUpPage({
+ capacity, page, model: { platformGroupId: platformGroup.id, callType: 3, carCodeFront }
+ }).then(res => {
+ if (res.data) {
+ this.platformLineUpList = [...this.platformLineUpList, ...res.data.records || []]
+ this.platformLineUpList.forEach(item => {
+ if(item.wmsContractNum){
+ item.wmsContractNum = item.wmsContractNum.split(',').join('锛�')
+ }
+ })
+ this.total = res.data.total || 0
+ }
+ })
+ },
+ handleQuery() {
+ this.page = 1
+ this.platformLineUpList = []
+ this.getList()
+ },
+ platConfirm(e) {
+ const index = e.indexs[0]
+ this.platformGroup = this.platformGroupList[index]
+ this.platformLineUpList = []
+ this.getList()
+ this.showPlatformgroup = false
+ },
+ }
+}
+</script>
+<style lang="scss">
+ page{
+ background: #f7f7f7;
+ }
+.main_app {
+ padding: 30rpx 0 0rpx;
+ .main_content {
+ background-color: #fff;
+ padding: 30rpx 30rpx 0;
+ .title {
+ font-weight: 500;
+ font-size: 32rpx;
+ color: #111111;
+ line-height: 44rpx;
+ margin-bottom: 30rpx;
+ display: flex;
+ justify-content: center;
+ }
+ .input_wrap {
+ display: flex;
+ align-items: center;
+ width: 690rpx;
+ height: 76rpx;
+ background: #f7f7f7;
+ border-radius: 38rpx;
+ padding: 0 30rpx;
+ }
+ .count {
+ width: 750rpx;
+ margin: 0 -30rpx;
+ height: 80rpx;
+ display: flex;
+ align-items: center;
+ background-color: #f5f9f8;
+ font-size: 28rpx;
+ margin-top: 20rpx;
+ padding: 0 30rpx;
+ text {
+ color: #111111;
+ font-weight: 600;
+ }
+ }
+ }
+ .dataList {
+ .item {
+ margin-bottom: 20rpx;
+ padding: 30rpx;
+ background-color: #fff;
+ .head {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ margin-bottom: 30rpx;
+ .code {
+ font-weight: 600;
+ height: 60rpx;
+ height: 100%;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ font-size: 32rpx;
+ color: #111111;
+ border-radius: 8rpx;
+ border: 1rpx solid #dfdede;
+ text {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ height: 100%;
+ &:nth-of-type(1) {
+ background: #e9f5f6;
+ padding: 0 12rpx;
+ }
+ &:nth-of-type(2) {
+ padding-left: 4rpx;
+ }
+ &:nth-of-type(4) {
+ padding-right: 6rpx;
+ }
+ }
+ }
+ .status {
+ font-size: 30rpx;
+ color: $uni-color-primary;
+ }
+ .green{
+ color: #00BA67;
+ }
+ }
+ .line {
+ display: flex;
+ margin-bottom: 20rpx;
+ .label {
+ width: 144rpx;
+ flex-shrink: 0;
+ color: #666666;
+ }
+ .value {
+ flex: 1;
+ }
+ }
+ .btns {
+ display: flex;
+ justify-content: flex-end;
+ .btn {
+ width: 136rpx;
+ height: 64rpx;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ background: #ffffff;
+ border-radius: 40rpx;
+ border: 1rpx solid #999999;
+ margin-left: 20rpx;
+ }
+ .active {
+ background-color: $uni-color-primary;
+ color: #fff;
+ border-color: $uni-color-primary;
+ }
+ }
+ }
+ }
+}
+.detail_modal {
+ height: 100vh;
+ padding: 36rpx 30rpx;
+ border-radius: 12rpx;
+ box-shadow: 0 0 6rpx rgba(0, 0, 0, 0.5);
+ .modal_title {
+ font-weight: 600;
+ font-size: 32rpx;
+ color: #222222;
+ line-height: 44rpx;
+ text-align: center;
+ margin-bottom: 36rpx;
+ }
+ .contract_wrap{
+ height: calc( 100% - 400rpx );
+ overflow-y: auto;
+ }
+ .contract_list {
+ border-top: 1rpx solid #E5E5E5;
+ margin-bottom: 30rpx;
+ padding-top: 30rpx;
+ &:nth-last-child(1){
+ margin-bottom: 0;
+ }
+ .list {
+ background: #f7f7f7;
+ border-radius: 8rpx;
+ padding: 20rpx;
+ .item{
+ border-bottom: 1rpx solid #e5e5e5;
+ padding-bottom: 20rpx;
+ margin-bottom: 20rpx;
+ &:nth-last-child(1){
+ border: none;
+ padding-bottom: 0;
+ margin-bottom: 0;
+ }
+ }
+ .line {
+ display: flex;
+ margin-bottom: 20rpx;
+ &:nth-last-child(1){
+ margin-bottom: 0rpx;
+ }
+ .label {
+ color: #666666;
+ width: 92rpx;
+ }
+
+ .value {
+ flex: 1;
+ color: #222222;
+ }
+ }
+ }
+
+ .title {
+ font-weight: 600;
+ font-size: 30rpx;
+ color: $uni-color-primary;
+ margin-bottom: 12rpx;
+ }
+
+ .address {
+ font-size: 26rpx;
+ color: #666666;
+ margin-bottom: 20rpx;
+ }
+ }
+
+ .info {
+ .line {
+ display: flex;
+ margin-bottom: 20rpx;
+
+ .label {
+ font-size: 30rpx;
+ color: #666666;
+ width: 150rpx;
+ }
+
+ .value {
+ flex: 1;
+ font-size: 30rpx;
+ color: #222222;
+ }
+ }
+ }
+
+ .separate {
+ width: 750rpx;
+ height: 2rpx;
+ margin: 30rpx -30rpx;
+ border: 1rpx solid #e5e5e5;
+ }
+
+ .id_card {
+ display: flex;
+ font-weight: 600;
+ height: 60rpx;
+ line-height: 60rpx;
+ font-size: 32rpx;
+ color: #111111;
+ border-radius: 8rpx;
+ border: 1rpx solid #dfdede;
+ width: 220rpx;
+ margin-bottom: 15rpx;
+
+ text {
+ &:nth-of-type(1) {
+ background: #e9f5f6;
+ padding: 0 12rpx;
+ }
+
+ &:nth-of-type(2) {
+ padding-left: 10rpx;
+ }
+
+ &:nth-of-type(4) {
+ padding-right: 6rpx;
+ }
+ }
+ }
+ }
+ .line2{
+ margin-right: -30rpx;
+ padding-right: 0;
+ }
+</style>
\ No newline at end of file
--
Gitblit v1.9.3