jiangping
2025-05-07 c3aaf28f7316cce12eec007a9f85a96cbcddeec2
admin/src/views/platform/index.vue
@@ -1,5 +1,5 @@
<template>
  <div class="main_app">
  <div class="main_app" style="overflow-y: auto;height: calc(100% - 100px);">
    <div class="mb20 main_header">
      <div class="platgroup_tabs">
        <div class="tab" :class="{ active: activeGroup.id === item.id }" @click="platgroupClick(item)"
@@ -62,31 +62,31 @@
              </div>
            </div>
            <div class="line">
              <div v-if="task.billCode" class="ite">
              <div v-if="task.billCode" style="width: 40%;" class="ite">
                <span>运输单号:</span>
                <span>{{ task.billCode }}</span>
              </div>
              <div v-else class="ite">
              <div v-else class="ite" style="width: 40%;">
                <span>合同单号:</span>
                <span>{{ task.contractNum }}</span>
              </div>
              <div class="ite siji">
              <div class="ite jiashi">
                <span>驾驶员:</span>
                <span>{{ task.driverName }}</span>
                <span>{{ task.driverName }} {{ task.drivierPhone }}</span>
              </div>
              <div class="ite phone">
              <!-- <div class="ite phone">
                <span>手机号:</span>
                <span>{{ task.drivierPhone }}</span>
              </div>
              <div class="ite">
              </div> -->
              <div class="ite" style="width: 40%">
                <span>总运输量:</span>
                <span>{{ task.totalNum }}万支</span>
                <span>{{ task.totalNum || task.ioQty }}万支</span>
              </div>
              <div v-if="task.billCode" class="ite" style="width: 66.6%">
              <div v-if="task.billCode" class="ite" style="width: 60%">
                <span>运输公司:</span>
                <span>{{ task.carrierName }}</span>
              </div>
              <div class="ite"></div>
              <!-- <div class="ite"></div> -->
            </div>
            <div class="line">
              <div class="left">
@@ -95,12 +95,14 @@
              </div>
              <div class="right">
                <el-button v-if="task.status == 5" plain @click="handleErr(task)">异常挂起</el-button>
                <el-button v-if="task.status == 8" plain @click="restore(task)">恢复作业</el-button>
                <el-button v-if="task.status == 5 || task.status == 8" plain
                  @click="handleTransform(item, task)">转移月台</el-button>
                <el-button v-if="task.status == 4" plain @click="handlePass(task)">过号</el-button>
                <el-button v-preventReClick :loading="loadingFinish" v-if="task.status == 5 || task.status == 8" type="primary"
                  @click="handleFinish(task)">作业完成</el-button>
                <el-button v-preventReClick :loading="loadingOpen" v-if="task.status == 4" type="primary" @click="handleWork(task)">开始作业</el-button>
                <el-button v-preventReClick :loading="loadingFinish" v-if="task.status == 5 || task.status == 8"
                  type="primary" @click="handleFinish(task)">作业完成</el-button>
                <el-button v-preventReClick :loading="loadingOpen" v-if="task.status == 4" type="primary"
                  @click="handleWork(task)">开始作业</el-button>
              </div>
            </div>
          </div>
@@ -162,7 +164,8 @@
  platformMove,
  updUserPlatformConfig,
  listByGroupId
  listByGroupId,
  restoreWork
} from '@/api'
import PlatformQueuing from './components/PlatformQueuing.vue'
import WaybillDetail from './components/WaybillDetail.vue'
@@ -201,16 +204,25 @@
      detail: {},
      isShowQueuing: false,
      timer: null,
      timer2: null,
      loadingOpen: false,
      loadingFinish: false,
    }
  },
  created() {
    setInterval(() => {
    this.timer2 = setInterval(() => {
      this.getPlatGroupList()
    }, 1000 * 20)
    this.getPlatGroupList()
  },
  beforeDestroy() {
    if (this.timer2) {
      clearInterval(this.timer2)
    }
    if (this.timer) {
      clearInterval(this.timer)
    }
  },
  methods: {
    handleWork(item) {
@@ -229,7 +241,7 @@
        this.loadingFinish = false
        Message.success('完成作业')
        this.getPlatGroupList()
      },() => {
      }, () => {
        this.loadingFinish = false
      })
    },
@@ -266,6 +278,18 @@
      }).then(() => {
        platformErr({ jobId: item.id }).then(ress => {
          Message.success('异常挂起成功')
          this.getPlatGroupList()
        })
      })
    },
    restore(item) {
      this.$confirm('您确认要对该任务进行恢复作业吗', '温馨提示', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        type: 'warning'
      }).then(() => {
        restoreWork({ jobId: item.id }).then(ress => {
          Message.success('恢复作业成功')
          this.getPlatGroupList()
        })
      })
@@ -313,7 +337,7 @@
              if (item.newStartDate) {
                const timeNum = time.getTime() - new Date(item.newStartDate).getTime()
                if (timeNum > 3600000) {
                  item.startDateTemp = dayjs.duration(timeNum).format('H小时m分ss秒')
                  item.startDateTemp = dayjs.duration(timeNum).format('H小时m分s秒')
                } else {
                  item.startDateTemp = dayjs.duration(timeNum).format('m分s秒')
                }
@@ -410,7 +434,7 @@
@import "@/assets/style/variables.scss";
.platform_list {
  width: 100%;
  width: calc(100% - 20px);
  .item {
    /* padding: 16px 24px; */
@@ -497,12 +521,12 @@
          margin-bottom: 6px;
          .ite {
            width: 33.3%;
            width: 50%;
            margin-top: 8px;
          }
          .siji {
            width: 29%;
          .jiashi {
            width: 60%;
          }
          .phone {