From e8a050f2e5e9f868b16971b2facba4024d81abbe Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期一, 30 六月 2025 09:51:00 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
admin/src/views/platform/components/PlatformQueuing.vue | 139 +++++++++++++++++++++++++++++++--------------
1 files changed, 95 insertions(+), 44 deletions(-)
diff --git a/admin/src/views/platform/components/PlatformQueuing.vue b/admin/src/views/platform/components/PlatformQueuing.vue
index d32f32e..0a4c2ca 100644
--- a/admin/src/views/platform/components/PlatformQueuing.vue
+++ b/admin/src/views/platform/components/PlatformQueuing.vue
@@ -1,18 +1,10 @@
<template>
- <GlobalWindow
- :title="'鏈堝彴鍙彿-'+title"
- :visible.sync="isShowModal"
- :showConfirm="false"
- width="800px"
- >
+ <GlobalWindow :title="callType == 1 ? '鍙彿鍏ュ洯-' + title : '鏈堝彴鍙彿-' + title" :visible.sync="isShowModal"
+ :showConfirm="false" width="800px">
<div class="queuing_modal">
<div class="df_ac mb20">
<span>鎼滅储杞﹁締锛�</span>
- <el-input
- class="flex1 mr20"
- v-model="carCodeFront"
- placeholder="璇疯緭鍏ヨ溅鐗屽彿"
- ></el-input>
+ <el-input class="flex1 mr20" v-model="carCodeFront" placeholder="璇疯緭鍏ヨ溅鐗屽彿"></el-input>
<el-button type="primary" @click="getList">鏌ユ壘</el-button>
<el-button @click="reset">閲嶇疆</el-button>
</div>
@@ -28,13 +20,13 @@
<div class="status">{{ statusMap[item.status] }}</div>
</div>
<div class="info">
- <div v-if="item.type == 4" class="ite">
- <span>鍚堝悓鍗曞彿锛�</span>
- <span>{{ item.contractNum }}</span>
+ <div v-if="item.billCode" class="ite">
+ <span>杩愯緭鍗曞彿锛�</span>
+ <span>{{ item.billCode }}</span>
</div>
<div v-else class="ite">
- <span>杩愯緭鍗曞彿锛�</span>
- <span>{{ item.code }}</span>
+ <span>鍚堝悓鍗曞彿锛�</span>
+ <span>{{ item.contractNum }}</span>
</div>
<div class="ite">
<span>椹鹃┒鍛橈細</span>
@@ -46,42 +38,50 @@
</div>
<div class="ite">
<span>鎬昏繍杈撻噺锛�</span>
- <span>{{ item.totalNum }}涓囨敮</span>
+ <span>{{ item.totalNum || item.ioQty }}涓囨敮</span>
</div>
- <div v-if="item.type != 4" class="ite" style="width: 66%">
+ <div v-if="item.billCode" class="ite" style="width: 66%">
<span>杩愯緭鍏徃锛�</span>
<span>{{ item.carrierName }}</span>
</div>
</div>
<div class="footer df_sb">
- <div v-if="item.type != 4" class="detail">杩愬崟璇︽儏</div>
- <div v-else></div>
- <el-button type="primary" @click="handleCall(item)">鍙彿</el-button>
+ <div v-if="item.billCode" @click="handleDetail(item)" class="detail">杩愬崟璇︽儏</div>
+ <div v-else class="detail" @click="subDetail(item)">棰勭害璇︽儏</div>
+ <div style="display: flex; align-items: center;">
+ <div style="margin-right: 15px; color: #207FF7; font-size: 13px; font-weight: 400;" v-if="item.signDate">
+ 绛惧埌鏃堕棿锛歿{item.signDate.substring(5, 10)}} {{item.signDate.substring(11, 16)}}
+ </div>
+ <el-button v-preventReClick :loading="loadingCall" type="primary" @click="handleCall(item)">鍙彿</el-button>
+ </div>
</div>
</div>
</div>
- <pagination
- @size-change="handleSizeChange"
- @current-change="handlePageChange"
- :pagination="pagination"
- >
+ <pagination @size-change="handleSizeChange" @current-change="handlePageChange" :pagination="pagination">
</pagination>
</div>
+ <!-- -->
+ <WaybillDetail ref="WaybillDetailRef" v-if="isShowDetail" @success="getList" @close="isShowDetail = false" />
+ <DriverDetail v-if="isShowDriver" ref="DriverDetailRef" />
</GlobalWindow>
</template>
<script>
import GlobalWindow from '@/components/common/GlobalWindow'
import Pagination from '@/components/common/Pagination'
-import { platformCallList, platformCallNumber } from '@/api'
+import { platformCallList, platformCallNumber, platformInPark } from '@/api'
import { statusMap } from '../config'
import { Message } from 'element-ui'
+import WaybillDetail from './WaybillDetail.vue'
+import DriverDetail from "@/views/task/driverDetail.vue"
export default {
components: {
GlobalWindow,
- Pagination
+ Pagination,
+ WaybillDetail,
+ DriverDetail
},
- data () {
+ data() {
return {
statusMap,
isShowModal: false,
@@ -93,24 +93,60 @@
},
carCodeFront: '',
title: '',
+ callType: '1',
activePlat: {},
- dataList: []
+ dataList: [],
+ isShowDetail: false, // 杩愬崟璇︽儏
+ isShowDriver: false, // 棰勭害璇︽儏
+ loadingCall: false
}
},
methods: {
- handleCall (item) {
- const activePlatform = this.activePlat
- platformCallNumber({ platformId: activePlatform.id, jobId: item.id }).then(res => {
- Message.success('鍙彿鎴愬姛')
- this.$emit('success')
- this.getList()
+ handleCall(item) {
+ const { activePlat, callType } = this
+ this.loadingCall = true
+ if (callType == 1) { // 鍏ュ洯鍙彿
+ platformInPark({
+ jobId: item.id,
+ platformId: activePlat.id
+ }).then(() => {
+ this.loadingCall = false
+ Message.success('鍙彿鎴愬姛')
+ this.$emit('success')
+ this.getList()
+ },() => {this.loadingCall = false})
+ } else {
+ this.loadingCall = true
+ platformCallNumber({ platformId: activePlat.id, jobId: item.id }).then(res => {
+ this.loadingCall = false
+ Message.success('鍙彿鎴愬姛')
+ this.$emit('success')
+ this.getList()
+ },()=> {this.loadingCall = false})
+ }
+ },
+ subDetail(row) {
+ this.isShowDriver = true
+ this.$nextTick(() => {
+ this.$refs.DriverDetailRef.id = row.bookId
+ this.$refs.DriverDetailRef.type = row.objType
+ this.$refs.DriverDetailRef.getDetail()
+ this.$refs.DriverDetailRef.isShowModal = true
})
},
- getList () {
- const { activePlat, pagination, carCodeFront } = this
+ handleDetail(row) {
+ this.isShowDetail = true
+ this.$nextTick(() => {
+ this.$refs.WaybillDetailRef.isShowModal = true
+ this.$refs.WaybillDetailRef.id = row.id
+ this.$refs.WaybillDetailRef.getDetail()
+ })
+ },
+ getList() {
+ const { activePlat, pagination, carCodeFront, callType } = this
platformCallList({
- model: { callType: '2', platformId: activePlat.id, carCodeFront },
+ model: { callType, platformId: activePlat.id, carCodeFront },
page: pagination.page,
capacity: pagination.pageSize
}).then(res => {
@@ -118,21 +154,21 @@
this.pagination.total = res.total
})
},
- reset () {
+ reset() {
this.carCodeFront = ''
this.pagination.page = 1
this.pagination.pageSize = 10
this.getList()
},
- handleSizeChange (e) {
+ handleSizeChange(e) {
this.pagination.pageSize = e
- this.getList()
+ this.getList(1)
},
- handlePageChange (e) {
+ handlePageChange(e) {
this.pagination.page = e
this.getList()
},
- handleSub () {
+ handleSub() {
const { param } = this
this.subLoading = true
PlatformEdit({
@@ -153,8 +189,12 @@
<style lang="scss" scoped>
@import "@/assets/style/variables.scss";
+.table-pagination {
+ bottom: 0px !important;
+}
.queuing_modal {
padding: 10px 30px;
+
.list {
.item {
background: #f4fafb;
@@ -162,8 +202,10 @@
border: 1px solid #dfe2e8;
margin-bottom: 10px;
padding: 16px;
+
.head {
margin-bottom: 15px;
+
.plate {
width: 90px;
text-align: center;
@@ -174,9 +216,11 @@
border: 1px solid #279baa;
background-color: #fff;
}
+
.status {
color: $primaryColor;
}
+
.code {
display: flex;
font-weight: 600;
@@ -188,24 +232,29 @@
border-radius: 4px;
border: 1px solid $primaryColor;
padding-right: 4px;
+
span {
&:nth-of-type(1) {
background: $primaryColor;
padding: 0 8px;
color: #fff;
}
+
&:nth-of-type(2) {
padding-left: 4px;
}
}
}
}
+
.info {
display: flex;
flex-wrap: wrap;
+
.ite {
width: 33.3%;
margin-bottom: 8px;
+
span {
&:nth-child(1) {
color: #666666;
@@ -213,9 +262,11 @@
}
}
}
+
.footer {
.detail {
color: $primaryColor;
+ cursor: pointer;
}
}
}
--
Gitblit v1.9.3