From e4900e09f522a4b65dc3f1870d5a821b5a979581 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期一, 09 九月 2024 19:56:27 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 admin/src/views/platform/queueUp.vue |  206 +++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 183 insertions(+), 23 deletions(-)

diff --git a/admin/src/views/platform/queueUp.vue b/admin/src/views/platform/queueUp.vue
index 785983c..9b7f0b2 100644
--- a/admin/src/views/platform/queueUp.vue
+++ b/admin/src/views/platform/queueUp.vue
@@ -2,77 +2,237 @@
   <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>
+    <QueryForm v-model="filters" :query-form-config="queryQueueUpConfig" @handleQuery="getList(1)" @clear="clear">
+    </QueryForm>
+    <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="160">
+        <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="200" />
+      <el-table-column prop="code" label="杩愬崟鍙�" min-width="200" />
+      <el-table-column prop="totalNum" label="鎬昏繍杈撻噺(涓囨敮)" min-width="130" />
+      <el-table-column prop="driverName" label="椹鹃┒鍛�" min-width="140">
+        <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="鎿嶄綔" width="100" fixed="right">
+        <template slot-scope="{ row }">
+          <el-button type="text" @click="handleDetail(row)" v-permissions="['business:company:update']">杩愬崟璇︽儏</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+    <pagination @size-change="handleSizeChange" @current-change="handlePageChange" :pagination="pagination" />
+
+    <!--  -->
+    <WaybillDetail
+      ref="WaybillDetailRef"
+      v-if="isShowDetail"
+      @success="getList"
+      @close="isShowDetail = false"
+    />
   </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'
 export default {
-  data () {
+  components: {
+    Pagination,
+    QueryForm,
+    WaybillDetail
+  },
+  data() {
     return {
       filters: {},
       activeGroup: {},
       PlatGroupList: [],
-
-      isShowSet: false, // 鏈堝彴閰嶇疆
-      setParam: {},
+      staticParam: {},
+      dataList: [],
+      loading: false,
+      pagination: {
+        pageSize: 10,
+        page: 1,
+        total: 0,
+      },
+      queryQueueUpConfig,
       isShowDetail: false, // 杩愬崟璇︽儏
       detail: {}
     }
   },
-  created () {
+  created() {
     this.getPlatGroupList()
   },
   methods: {
-    getPlatGroupList () {
+    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()
+    },
+    handleDetail(row) {
+      this.isShowDetail = true
+      this.$nextTick(() => {
+        this.$refs.WaybillDetailRef.isShowModal = true
+      })
+    },
   }
 }
 </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: 111px;
+  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