From b36a08875084bca2ab0a23595918a09d7a4aef7b Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期二, 31 十二月 2024 09:21:53 +0800
Subject: [PATCH] 最新版本541200007
---
admin/src/views/platform/queueUp.vue | 287 ++++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 263 insertions(+), 24 deletions(-)
diff --git a/admin/src/views/platform/queueUp.vue b/admin/src/views/platform/queueUp.vue
index 785983c..eb4b0b1 100644
--- a/admin/src/views/platform/queueUp.vue
+++ b/admin/src/views/platform/queueUp.vue
@@ -2,77 +2,316 @@
<div class="main_app">
<div class="mb20 main_header">
<div class="platgroup_tabs">
- <div
- class="tab"
- :class="{ active: activeGroup.id === item.id }"
- @click="platgroupClick(item)"
- v-for="(item, i) in PlatGroupList"
- :key="i"
- >
+ <div class="tab" :class="{ active: activeGroup.id === item.id }" @click="platgroupClick(item)"
+ v-for="(item, i) in PlatGroupList" :key="i">
{{ item.name }}
</div>
+ </div>
</div>
+ <div class="df_sb">
+ <QueryForm v-model="filters" :query-form-config="queryQueueUpConfig" @handleQuery="getList(1)" @clear="clear">
+ </QueryForm>
+ <el-button @click="openSign" type="primary" style="align-self: flex-start;">杞﹁締绛惧埌</el-button>
</div>
+ <div class="main_content">
+ <div class="static_wrap">
+ <span>绛夊緟锛�<span class="num">{{ staticParam.waitNum }}</span></span>
+ <span class="mr30">{{ }}</span>
+ <span>鎸傝捣锛�<span class="red">{{ staticParam.exceptionNum }}</span></span>
+ <span></span>
+ </div>
+ </div>
+ <el-table class="mb20" v-loading="loading" :data="dataList" stripe row-key="id" default-expand-all>
+ <el-table-column type="index" label="搴忓彿" width="80" />
+ <el-table-column label="杞︾墝鍙�" width="130">
+ <template slot-scope="{ row }">
+ <div class="plate_id">
+ <span>{{ row.carCodeFront.slice(0, 1) }}</span>
+ <span>{{ row.carCodeFront.slice(1, 2) }}</span>
+ <span>路</span>
+ <span>{{ row.carCodeFront.slice(2) }}</span>
+ </div>
+ </template>
+ </el-table-column>
+ <el-table-column prop="carrierName" label="杩愯緭鍏徃" min-width="120">
+ <template v-slot="scope">
+ <span>{{ scope.row.carrierName || '-' }}</span>
+ </template>
+ </el-table-column>
+ <el-table-column prop="contractNum" label="杩愯緭鍗曞彿/鍚堝悓鍙�" min-width="120">
+ <template v-slot="scope">
+ <span>{{ scope.row.billCode || scope.row.contractNum || '-' }}</span>
+ </template>
+ </el-table-column>
+ <el-table-column prop="totalNum" label="鎬昏繍杈撻噺(涓囨敮)" min-width="110">
+ <template v-slot="scope">
+ <span>{{ scope.row.totalNum || '-' }}</span>
+ </template>
+ </el-table-column>
+ <el-table-column label="椹鹃┒鍛�" min-width="130">
+ <template slot-scope="{ row }">
+ <span class="mr10">{{ row.driverName }}</span>
+ <span>{{ row.drivierPhone }}</span>
+ </template>
+ </el-table-column>
+ <el-table-column prop="signDate" label="绛惧埌鏃堕棿" min-width="150" />
+ <el-table-column label="鎿嶄綔" align="center" width="100" fixed="right">
+ <template slot-scope="{ row }">
+ <el-button v-if="row.billCode" type="text" @click="handleDetail(row)"
+ v-permissions="['business:company:update']">杩愬崟璇︽儏</el-button>
+ <el-button v-else type="text" @click="subDetail(row)">棰勭害璇︽儏</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ <!-- <el-table v-else class="mb20" v-loading="loading" :data="dataList" stripe row-key="id" default-expand-all>
+ <el-table-column type="index" label="搴忓彿" width="80" />
+ <el-table-column label="杞︾墝鍙�" width="130">
+ <template slot-scope="{ row }">
+ <div class="plate_id">
+ <span>{{ row.carCodeFront.slice(0, 1) }}</span>
+ <span>{{ row.carCodeFront.slice(1, 2) }}</span>
+ <span>路</span>
+ <span>{{ row.carCodeFront.slice(2) }}</span>
+ </div>
+ </template>
+ </el-table-column>
+ <el-table-column prop="carrierName" label="杩愯緭鍏徃" min-width="120" />
+ <el-table-column prop="totalNum" label="鎬昏繍杈撻噺(涓囨敮)" min-width="110" />
+ <el-table-column label="椹鹃┒鍛�" min-width="130">
+ <template slot-scope="{ row }">
+ <span class="mr10">{{ row.driverName }}</span>
+ <span>{{ row.drivierPhone }}</span>
+ </template>
+ </el-table-column>
+ <el-table-column prop="signDate" label="绛惧埌鏃堕棿" min-width="150" />
+ <el-table-column label="鎿嶄綔" align="center" width="100" fixed="right">
+ <template slot-scope="{ row }">
+ <el-button v-if="row.billCode" type="text" @click="handleDetail(row)"
+ v-permissions="['business:company:update']">杩愬崟璇︽儏</el-button>
+ <el-button v-else type="text" @click="subDetail(row)">棰勭害璇︽儏</el-button>
+ </template>
+ </el-table-column>
+ </el-table> -->
+ <pagination @size-change="handleSizeChange" @current-change="handlePageChange" :pagination="pagination" />
+
+ <!-- -->
+ <PlatformSign ref="PlatformSignRef" v-if="isPlatformSign" @success="getPlatGroupList"
+ @close="isPlatformSign = false" />
+ <WaybillDetail ref="WaybillDetailRef" v-if="isShowDetail" @success="getList" @close="isShowDetail = false" />
+ <DriverDetail v-if="isShowDriver" ref="DriverDetailRef" />
</div>
</template>
<script>
+import Pagination from '@/components/common/Pagination'
+import QueryForm from '@/components/common/QueryForm'
import {
- getPlatformGroupList
+ getPlatformGroupList,
+ platformLineUpPage,
+ getPlatformGroupWork
} from '@/api'
+import { queryQueueUpConfig } from './config'
+import WaybillDetail from './components/WaybillDetail.vue'
+import DriverDetail from "@/views/task/driverDetail.vue"
+import PlatformSign from './components/PlatformSign.vue'
export default {
- data () {
+ components: {
+ Pagination,
+ QueryForm,
+ PlatformSign,
+ WaybillDetail,
+ DriverDetail
+ },
+ data() {
return {
filters: {},
- activeGroup: {},
+ activeGroup: {
+ type: 2
+ },
PlatGroupList: [],
-
- isShowSet: false, // 鏈堝彴閰嶇疆
- setParam: {},
+ staticParam: {},
+ dataList: [],
+ loading: false,
+ isShowDriver: false,
+ isPlatformSign: false,
+ pagination: {
+ pageSize: 10,
+ page: 1,
+ total: 0,
+ },
+ queryQueueUpConfig,
isShowDetail: false, // 杩愬崟璇︽儏
detail: {}
}
},
- created () {
+ created() {
this.getPlatGroupList()
},
methods: {
- getPlatGroupList () {
+ openSign() {
+ this.isPlatformSign = true
+ this.$nextTick(() => {
+ this.$refs.PlatformSignRef.isShowModal = true
+ this.$refs.PlatformSignRef.activePlat = this.activeGroup
+ this.$refs.PlatformSignRef.carCodeFront = ''
+ this.$refs.PlatformSignRef.pagination = {
+ total: 0,
+ pageSize: 10,
+ page: 1
+ }
+ this.$refs.PlatformSignRef.getList()
+ })
+ },
+ getPlatGroupList() {
getPlatformGroupList({
queryData: 1,
queryType: 1
}).then(res => {
this.PlatGroupList = res || []
- if (this.activeGroup && this.activeGroup.id) {
- this.activeGroup = res.find(item => item.id === this.activeGroup.id)
- } else {
- this.activeGroup = res[0]
+ if (res && res.length > 0) {
+ if (this.activeGroup && this.activeGroup.id) {
+ this.activeGroup = res.find(item => item.id === this.activeGroup.id)
+ } else {
+ this.activeGroup = res[0]
+ }
+
+ this.getPlatformGroupWork()
+ this.getList()
}
})
},
- platgroupClick (item) {
- this.activeGroup = { ...item }
+ getList() {
+ const { activeGroup, pagination, filters } = this
+ this.loading = true
+ platformLineUpPage({
+ model: { platformGroupId: activeGroup.id, ...filters, callType: 3 },
+ capacity: pagination.pageSize,
+ page: pagination.page,
+ }).then(res => {
+ this.loading = false
+ this.dataList = res.records || []
+ this.pagination.total = res.total || 0
+ }, () => {
+ this.loading = false
+ })
},
- getList () { },
- clear () { }
+ getPlatformGroupWork() {
+ const { activeGroup } = this
+ getPlatformGroupWork(activeGroup.id).then(res => {
+ this.staticParam = res || {}
+ })
+ },
+ handleSizeChange(e) {
+ this.pagination.pageSize = e
+ this.getList()
+ },
+ handlePageChange(e) {
+ this.pagination.page = e
+ this.getList()
+ },
+ platgroupClick(item) {
+ this.activeGroup = { ...item }
+ this.pagination.page = 1
+ this.filters = {}
+ this.getPlatformGroupWork()
+ this.getList()
+ },
+ clear() {
+ this.pagination.page = 1
+ this.filters = {}
+ this.getList()
+ },
+ 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
+ })
+ },
+ handleDetail(row) {
+ this.isShowDetail = true
+ this.$nextTick(() => {
+ this.$refs.WaybillDetailRef.isShowModal = true
+ this.$refs.WaybillDetailRef.id = row.id
+ this.$refs.WaybillDetailRef.getDetail()
+ })
+ },
}
}
</script>
<style lang="scss" scoped>
@import "@/assets/style/variables.scss";
+
+.main_content {
+ background-color: #fff;
+ position: relative;
+ z-index: 999;
+ top: -10;
+ margin: -20px;
+ padding: 0 20px;
+
+ .static_wrap {
+ height: 50px;
+ line-height: 50px;
+ color: #666666;
+ font-size: 15px;
+ padding: 0 20px;
+ background: #F4FAFB;
+ border-radius: 2px 2px 0px 0px;
+ margin-bottom: 36px;
+
+ .num {
+ color: #111111;
+ }
+ }
+}
+
+.plate_id {
+ display: flex;
+ width: 120px;
+ font-weight: 600;
+ height: 30px;
+ line-height: 30px;
+ font-size: 16px;
+ color: #111111;
+ border-radius: 4px;
+ border: 1px solid #dfdede;
+
+ span {
+ &:nth-of-type(1) {
+ background: $primary-color;
+ padding: 0 6px;
+ color: #fff
+ }
+
+ &:nth-of-type(2) {
+ padding-left: 2px;
+ }
+
+ &:nth-of-type(4) {
+ padding-right: 3px;
+ }
+ }
+}
+
+
.main_header {
.platgroup_tabs {
flex: 1;
display: flex;
border-bottom: 1px solid #dfe2e8;
+
.tab {
color: #666666;
margin-right: 40px;
cursor: pointer;
- padding-bottom: 18px;
+ padding-bottom: 14px;
border-bottom: 2px solid #fff;
}
+
.active {
font-weight: 500;
font-size: 15px;
--
Gitblit v1.9.3