zhongtianhaoyuan 2 vuotta sitten
vanhempi
commit
bb2e3953b7

+ 114 - 0
src/api/administrationManagement.js

@@ -0,0 +1,114 @@
+//管局上报
+import request from '@/utils/request'
+// 司机上报列表
+export function getList(data) {
+  return request({
+    url: '/driverInfo/selectDriverInfoSubmission',
+    method: 'get',
+    params: data,
+  })
+}
+//上报
+export function report(data) {
+  return request({
+    url: '/driverInfo/api/administrationReport',
+    method: 'post',
+    data: data,
+  })
+}
+//查看单条数据
+export function getInfo(data) {
+  return request({
+    url: '/driverInfo/getDriver',
+    method: 'get',
+    params: data,
+  })
+}
+// 车辆上报列表
+export function carGetList(data) {
+  return request({
+    url: '/driverCarInfo/selectCarInfoSubmission',
+    method: 'get',
+    params: data,
+  })
+}
+//车辆上报
+export function carReport(data) {
+  return request({
+    url: '/driverCarInfo/api/trafficManagementReport',
+    method: 'post',
+    data: data,
+  })
+}
+//查看单条数据
+export function carGetInfo(data) {
+  return request({
+    url: '/driverCarInfo/getDriverCarInfo',
+    method: 'get',
+    params: data,
+  })
+}
+// 运单上报列表
+export function waybillGetList(data) {
+  return request({
+    url: '/orderInfo/selectWaybillReporting',
+    method: 'get',
+    params: data,
+  })
+}
+//查看运单数据
+export function waybillGetInfo(data) {
+  return request({
+    url: '/orderInfo/getOrderInfo',
+    method: 'get',
+    params: data,
+  })
+}
+//运单暂缓上报
+export function deferEscalation(data) {
+  return request({
+    url: '/orderInfo/api/postponeReporting',
+    method: 'post',
+    data: data,
+  })
+}
+//运单批量上报
+export function batchEscalation(data) {
+  return request({
+    url: '/orderInfo/api/waybillAdministrationReport',
+    method: 'post',
+    data: data,
+  })
+}
+// 流水单上报列表
+export function dailyReportGetList(data) {
+  return request({
+    url: '/hyFreightSettlementInfo/selectFlowSheet',
+    method: 'get',
+    params: data,
+  })
+}
+//查看流水单数据
+export function dailyReporGetInfo(data) {
+  return request({
+    url: '/hyFreightSettlementInfo/getHyFreightSettlementInfo',
+    method: 'get',
+    params: data,
+  })
+}
+//流水单暂缓上报
+export function dailyReportDeferEscalation(data) {
+  return request({
+    url: '/hyFreightSettlementInfo/api/postponeReporting',
+    method: 'post',
+    data: data,
+  })
+}
+//流水单批量上报
+export function dailyReportBatchEscalation(data) {
+  return request({
+    url: '/hyFreightSettlementInfo/api/trafficManagementReport',
+    method: 'post',
+    data: data,
+  })
+}

+ 2 - 1
src/components/SvgIcon/index.vue

@@ -14,7 +14,8 @@ export default {
   props: {
   props: {
     iconClass: {
     iconClass: {
       type: String,
       type: String,
-      required: true
+      required: true,
+      default:""
     },
     },
     className: {
     className: {
       type: String,
       type: String,

+ 64 - 0
src/router/administrationManagement/index.js

@@ -0,0 +1,64 @@
+/** When your routing table is too long, you can split it into small modules**/
+
+import Layout from '@/layout'
+
+const administrationManagement = {
+    path: '/administrationManagement',
+    component: Layout,
+    redirect: 'noRedirect',
+    name: 'administrationManagement',
+    meta: {
+        title: '管局上报',
+        icon: 'yuanqushangbao',
+        checkIcon: 'checkyuanqushangbao',
+        module: 'changyuntong.yuanqushangbao',
+    },
+    alwaysShow: true,
+    children: [{
+            path: 'waybillReporting',
+            name: 'waybillReporting',
+            component: () =>
+                import ('@/views/administrationManagement/waybillReporting'),
+            meta: {
+                title: '运单上报',
+                icon: '',
+                module: 'changyuntong.yuanqushangbao.yundan.view',
+            }
+        },
+        {
+            path: 'dailyReport',
+            name: 'dailyReport',
+            component: () =>
+                import ('@/views/administrationManagement/dailyReport'),
+            meta: {
+                title: '流水单上报',
+                icon: '',
+                module: 'changyuntong.yuanqushangbao.liushui.view',
+            }
+        },
+        {
+            path: 'driverInformationReporting',
+            name: 'driverInformationReporting',
+            component: () =>
+                import ('@/views/administrationManagement/driverInformationReporting'),
+            meta: {
+                title: '司机信息上报',
+                icon: '',
+                module: 'changyuntong.yuanqushangbao.sishang.view',
+            }
+        },
+        {
+            path: 'vehicleInformationReporting',
+            name: 'vehicleInformationReporting',
+            component: () =>
+                import ('@/views/administrationManagement/vehicleInformationReporting'),
+            meta: {
+                title: '车辆信息上报',
+                icon: '',
+                module: 'changyuntong.yuanqushangbao.cheshang.view',
+            }
+        },
+    ]
+}
+
+export default administrationManagement

+ 2 - 0
src/router/index.js

@@ -13,6 +13,7 @@ import platformManagement from './platformManagement/index'
 import feedbackManagement from './feedbackManagement/index'
 import feedbackManagement from './feedbackManagement/index'
 import officialWebsiteManagement from './officialWebsiteManagement/index'
 import officialWebsiteManagement from './officialWebsiteManagement/index'
 import parkReportManagement from './parkReportManagement/index'
 import parkReportManagement from './parkReportManagement/index'
+import administrationManagement from './administrationManagement/index'
 import settlementManagement from './settlementManagement/index'
 import settlementManagement from './settlementManagement/index'
 import operationLog from './operationLog/index'
 import operationLog from './operationLog/index'
 
 
@@ -94,6 +95,7 @@ let cofigRouter = [
     feedbackManagement,
     feedbackManagement,
     officialWebsiteManagement,
     officialWebsiteManagement,
     parkReportManagement,
     parkReportManagement,
+    administrationManagement,
     settlementManagement,
     settlementManagement,
     operationLog,
     operationLog,
 ]
 ]

+ 634 - 0
src/views/administrationManagement/dailyReport.vue

@@ -0,0 +1,634 @@
+// 流水单上报
+<template>
+  <div class="center">
+    <div class="center_css">
+      <div class="top_css">
+        <el-row>
+          <el-col :span="14">
+            <!-- <el-button type="primary" @click="postponeSubmission" style="margin-right:10px">暂缓上报</el-button> -->
+            <el-button type="primary" @click="batchSubmission" style="margin-right:10px">批量上报</el-button>
+            <el-date-picker v-model="value1" value-format="yyyy-MM-dd" @change="dateChange" type="daterange"
+              range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期">
+            </el-date-picker>
+          </el-col>
+          <el-col :span="10">
+            <div class="screen">
+              <el-input class='find' v-model="searchkeyWord" placeholder="可按订单号、姓名、账号查找" @keyup.enter.native="find"
+                clearable @change="find" />
+              <el-button class="search" @click="find"><img width="16" height="16" style="margin-left: -8px"
+                  src="../../../public/img/sousuo.png"></el-button><span class="count_css">共{{ deptBudgetTotal
+                  }}条</span>
+            </div>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col>
+            <div class="search_btn">
+              <div :class="search == 1 ? 'search' : 'searchNo'" class="search_item search_block" @click="searchBtn(1)">
+                待上报
+              </div>
+              <div :class="search == 2 ? 'search' : 'searchNo'" class="search_item" @click="searchBtn(2)">
+                已驳回
+              </div>
+              <div :class="search == 3 ? 'search' : 'searchNo'" class="search_item" @click="searchBtn(3)">
+                已通过
+              </div>
+              <!-- <div :class="search == 4 ? 'search' : 'searchNo'" class="search_item" @click="searchBtn(4)">
+                暂缓中
+              </div>-->
+              <div :class="search == '' ? 'search' : 'searchNo'" class="search_item" @click="searchBtn('')">
+                全部
+              </div> 
+            </div>
+          </el-col>
+        </el-row>
+      </div>
+      <el-table @selection-change="handleSelectionChange" :data="tableData"
+        style="width: 98%; margin: 0 auto; border-radius: 10px" height="55.8vh" border highlight-current-row>
+        <el-table-column type="selection" width="55" :selectable="selectInit">
+        </el-table-column>
+        <el-table-column type="index" label="序号" width="50">
+          <template scope="scope">
+            <span v-if="scope.$index < 9">0{{ scope.$index + 1 }}</span>
+            <span v-else>{{ scope.$index + 1 }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column prop="orderNo" label="订单编号" min-width="100" />
+        <el-table-column prop="driverName" label="收款人" />
+        <el-table-column prop="driverPhone" label="司机账号" />
+        <el-table-column prop="serialNumber" label="流水号" />
+        <el-table-column prop="amountMoney" label="金额(元)" />
+        <el-table-column prop="paymentType" label="类型" />
+        <el-table-column prop="reportedStatus" label="状态">
+           <template slot-scope="scope1">
+            <span>{{scope1.row.reportedStatus}}</span>
+              <el-tooltip class="item" effect="dark" :content="scope1.row.escalationFailureReason" placement="top" v-if="scope1.row.reportedStatus == '未通过'">
+                 <img src="../../../public/img/wenhao.png" alt="" class="ask_css" />
+              </el-tooltip>
+          </template>
+        </el-table-column>
+        <el-table-column prop="paymentDate" label="付款时间" min-width="100"/>
+        <el-table-column label="操作" min-width="200">
+          <template slot-scope="scope">
+            <el-link target="_blank" @click="look(scope.row)" type="primary" :underline="false">查看</el-link>
+            <el-divider direction="vertical" />
+            <el-link target="_blank" type="primary" :underline="false" @click="submission(scope.row)"
+              :disabled="scope.row.reportedStatus != '未上报' && scope.row.reportedStatus != '未通过'">
+              上报</el-link>
+          </template>
+        </el-table-column>
+      </el-table>
+    </div>
+    <el-pagination :current-page="currentPage" style="text-align: center; margin-top: 10px"
+      :page-size="deptCircularPage.pageSize" layout="total, sizes, prev, pager, next, jumper" :total="deptBudgetTotal"
+      @size-change="handleSizeChange" @current-change="handleCurrentChange" />
+
+    <el-drawer title="流水单信息" :visible.sync="rightSee" style="overflow-y: auto !important">
+      <div class="right_css">
+        <div class="right_item">单证号:{{ dailyReportData.documentNo }}</div>
+        <div class="right_title">实际承运人</div>
+        <div class="right_item">{{ dailyReportData.driverName }} </div>
+        <div class="right_title">实际承运人统一社会信用代码或证件号码</div>
+        <div class="right_item">{{ dailyReportData.driverIdCard }}</div>
+        <div class="right_title">车牌号</div>
+        <div class="right_item">{{ dailyReportData.carNumber }}</div>
+        <div class="right_title">车牌颜色</div>
+        <div class="right_item">{{ dailyReportData.carNumberColour }}</div>
+        <div class="right_title">运单号</div>
+        <div class="right_item">{{ dailyReportData.orderNo }}</div>
+        <div class="right_title">分段分单号</div>
+        <div class="right_item">{{ '0000' }}</div>
+        <div class="right_title">总金额</div>
+        <div class="right_item">{{ dailyReportData.amountMoney }}</div>
+        <div class="right_title">燃油费用</div>
+        <div class="right_item">{{ 0 }}</div>
+        <div class="right_title">司机姓名</div>
+        <div class="right_item">{{ dailyReportData.driverName }}</div>
+        <div class="right_title">司机身份证号</div>
+        <div class="right_item">{{ dailyReportData.driverIdCard }}</div>
+        <div class="right_title">收款方名称</div>
+        <div class="right_item">{{ dailyReportData.driverName }}</div>
+        <div class="right_title">收款人性别</div>
+        <div class="right_item">{{ dailyReportData.driverSex }}</div>
+        <div class="right_title">收款人生日</div>
+        <div class="right_item">{{ dailyReportData.driverBirthday }}</div>
+        <div class="right_title">收款人身份证号</div>
+        <div class="right_item">{{ dailyReportData.driverIdCard }}</div>
+        <div class="right_title">收款人电话</div>
+        <div class="right_item">{{ dailyReportData.driverPhone }}</div>
+        <div class="right_title">收款人地址</div>
+        <div class="right_item">{{ dailyReportData.driverAddress }}</div>
+        <div class="right_title">收款帐户信息</div>
+        <div class="right_item">{{ dailyReportData.driverName }}</div>
+        <div class="right_title">收款方银行代码</div>
+        <div class="right_item">{{ dailyReportData.bankKey }}</div>
+        <div class="right_title">收款方银行卡银行网点名称</div>
+        <div class="right_item">{{ dailyReportData.bankDepositBranch }}</div>
+        <div class="right_title">流水号</div>
+        <div class="right_item">{{ dailyReportData.serialNumber }}</div>
+        <div class="right_title">实际支付金额</div>
+        <div class="right_item">{{ dailyReportData.amountMoney }}</div>
+        <div class="right_title">支付凭证文件</div>
+        <div class="right_item">{{ dailyReportData.paymentVoucher }}</div>
+        <div class="right_btn">
+          <el-button @click="rightSee = false">关闭</el-button>
+        </div>
+      </div>
+    </el-drawer>
+  </div>
+</template>
+<script>
+import {
+  dailyReportGetList,
+  dailyReportDeferEscalation,
+  dailyReportBatchEscalation,
+  dailyReporGetInfo
+} from '@/api/administrationManagement'
+export default {
+  data() {
+    return {
+      show: false,
+      tableData: [],
+      // 分页
+      searchkeyWord: '',
+      currentPage: 1,
+      pageSize: 10,
+      deptBudgetTotal: 0,
+      deptCircularPage: {},
+      search: "",
+      modification: [],
+      dailyReportData: {
+        // hyFreightSettlementInfo: {}
+      },
+      value1: '',
+      status: '',
+      addressUrl: [],
+      disabled: false,
+      rejectInfo: false,
+      rightSee: false,
+    }
+  },
+  mounted() {
+    this.getList()
+  },
+  methods: {
+    dateChange(e) {
+      this.startDate = e[0]
+      this.endDate = e[1]
+      this.getList()
+    },
+    selectInit(row) {
+      if (row.status == '审核中' || row.status == '已通过') {
+        return false
+      }
+      else {
+        return true
+      }
+    },
+    handleSelectionChange(val) {
+      this.modification = val;
+    },
+    //上报
+    submission(row) {
+      this.modification.push(row)
+      this.batchSubmission()
+    },
+    //暂缓上报
+    postponeSubmission() {
+      if (this.modification.length > 0) {
+        this.$confirm('确定暂缓上报选中的条目?', '提示', {
+          confirmButtonText: '确定',
+          cancelButtonText: '取消',
+          type: 'warning'
+        })
+          .then(() => {
+            dailyReportDeferEscalation({ hyFreightSettlementInfos: this.modification })
+              .then(response => {
+                if (response.code == 200) {
+                  this.$notify({
+                    title: '成功',
+                    message: '操作成功!',
+                    type: 'success'
+                  })
+                  this.modification = []
+                  this.getList()
+                }
+              })
+          })
+      } else {
+        this.$message.error('至少选中一条可上报的条目!')
+      }
+    },
+    //批量上报
+    batchSubmission() {
+      if (this.modification.length > 0) {
+        this.$confirm('确定批量上报流水单信息?', '提示', {
+          confirmButtonText: '确定',
+          cancelButtonText: '取消',
+          type: 'warning'
+        })
+          .then(() => {
+            dailyReportBatchEscalation({ hyFreightSettlementInfos: this.modification })
+              .then(response => {
+                if (response.code == 200) {
+                  this.$notify({
+                    title: '成功',
+                    message: '上报成功!',
+                    type: 'success'
+                  })
+                  this.modification = []
+                  this.getList()
+                }
+              })
+          })
+      } else {
+        this.$message.error('至少选中一条可上报的条目!')
+      }
+    },
+    getList() {
+      this.listLoading = true;
+      let _obj = {};
+      _obj.currentPage = this.currentPage;
+      _obj.pageSize = this.pageSize;
+      _obj.searchKeyWord = this.searchkeyWord;
+      _obj.administrationType = this.search;
+      _obj.startDate = this.startDate
+      _obj.endDate = this.endDate
+      dailyReportGetList(_obj)
+        .then((response) => {
+          this.tableData = response.data.records;
+          for (let i = 0; i < this.tableData.length; i++) {
+            this.tableData[i].iconShow = true;
+          }
+          this.deptBudgetTotal = response.data.total;
+          this.listLoading = false;
+        })
+        .catch(() => {
+          this.listLoading = false;
+        });
+    },
+    searchBtn(num) {
+      this.search = num;
+      this.getList();
+    },
+    find() {
+      this.currentPage = 1
+      this.getList()
+    },
+    look(row) {
+      this.loading = true
+      this.rightSee = true
+      dailyReporGetInfo({
+        id: row.id
+      }).then(response => {
+        this.dailyReportData = response.data
+        this.listLoading = false
+      })
+        .catch(() => {
+          this.listLoading = false
+        })
+    },
+    handleSizeChange(val) {
+      console.log(`每页 ${val} 条`)
+      this.pageSize = val
+      this.getList()
+    },
+    handleCurrentChange(val) {
+      this.currentPage = val
+      console.log(`当前页: ${val}`)
+      this.getList()
+    }
+  }
+}
+</script>
+<style lang="scss" scoped>
+.center {
+  padding: 10px 20px;
+  background: #f5f6f7;
+  height: calc(100vh - 5vh);
+
+  .top_css {
+    padding: 10px;
+
+    .search_btn {
+      height: 80px;
+      background: linear-gradient(#fafbfb, #ffffff);
+      display: flex;
+      margin-top: 20px;
+
+      .search_block {
+        margin-left: 20px;
+      }
+
+      .search_item {
+        text-align: center;
+        font-size: 14px;
+        font-weight: 600;
+        line-height: 40px;
+        width: 112px;
+        height: 40px;
+        background: #f7f8f9;
+        cursor: pointer;
+        margin-top: 30px;
+      }
+
+      .searchNo {
+        color: #323233;
+      }
+
+      .search {
+        color: #2f53eb;
+        background: #ffffff;
+      }
+    }
+  }
+
+  .ask_css {
+    position: absolute;
+    margin: 3px 0 0 10px;
+  }
+
+  .center_css {
+    background: #ffffff;
+    border-radius: 1px;
+    margin-top: 10px;
+    padding-bottom: 10px;
+  }
+
+  .screen {
+    display: flex;
+
+    .search {
+      width: 40px;
+      height: 40px;
+      background: #2f53eb;
+      border-radius: 0px 2px 2px 0px;
+      border: 1px solid #DCDFE6;
+      margin-left: -1px;
+    }
+
+    .count_css {
+      width: 80px;
+      text-align: center;
+      line-height: 40px;
+      color: #666666;
+    }
+  }
+
+  .el-button {
+    padding: 10px 20px !important;
+  }
+
+  .center_css {
+
+    ::v-deep .el-table th,
+    ::v-deep .el-table td {
+      text-align: center;
+    }
+
+    .fujian {
+      font-size: 24px;
+      color: #409eff;
+    }
+
+    .warning {
+      font-size: 14px;
+      color: #ed1d1d;
+    }
+  }
+}
+
+.el-button--primary {
+  color: #FFF;
+  background-color: #2f53eb;
+  border-color: #2f53eb;
+}
+
+.car_css {
+  width: 50%;
+  display: inline-block;
+  text-align: center;
+  margin-top: 30px;
+  position: relative;
+
+  .status_css {
+    background: #3AC602;
+    width: 50px;
+    height: 17px;
+    position: absolute;
+    top: 0px;
+    right: 15px;
+    border-radius: 3px;
+  }
+
+  .carno_css {
+    padding: 1px 5px;
+    background-color: #F5F6F7;
+    color: #666666;
+    border-radius: 12px;
+    text-align: center;
+    width: 100px;
+    margin: 10px auto 0;
+  }
+
+  .carborder_css {
+    border: 1px solid #F0F1F2;
+    margin: 15px auto 0;
+    width: 90%;
+  }
+}
+
+.tips {
+  color: #999999;
+  font-size: 14px;
+}
+
+.car_item {
+  width: 200px;
+  height: 160px;
+  border-radius: 5px;
+}
+
+.user {
+  margin-bottom: 20px;
+
+  .id_css {
+    font-size: 14px;
+  }
+
+  .id_css,
+  .name_css {
+    margin: 5px 0;
+    color: #0D0D0D;
+  }
+
+  .pay_name {
+    color: #9D9D9D;
+    font-size: 14px;
+  }
+
+  .name_css {
+    font-size: 16px;
+  }
+
+  .user_item {
+    margin: 25px 0;
+    width: 450px;
+    height: 300px;
+  }
+
+  .border_css {
+    width: 100%;
+    border: 1px solid #F0F1F2;
+  }
+}
+
+::v-deep .el-table--border .el-table__header th {
+  background: #f7f8f9;
+}
+
+.btn_css {
+  color: #409EFF;
+  cursor: pointer
+}
+
+.btn_css1 {
+  margin-left: -20px;
+}
+
+.sign {
+  font-size: 14px;
+  color: red;
+}
+
+.form_css {
+  width: 100%;
+  margin: 20px auto 20px;
+
+  ::v-deep .el-checkbox {
+    width: 40%;
+    height: 30px;
+  }
+
+  // ::v-deep .el-dialog__body{
+  // 	padding: 10px 20px;
+  // }
+  ::v-deep .el-dialog__title {
+    font-size: 16px;
+  }
+
+  ::v-deep .el-textarea__inner {
+    background: #F0F1F2;
+  }
+
+  .form_btn {
+    text-align: right;
+    margin-top: 10px;
+  }
+}
+
+//发送信息
+.Info_css {
+  .Info_title {
+    color: #323233;
+    font-size: 16px;
+  }
+
+  .Info_item {
+    margin: 20px 0;
+  }
+
+  .Info_btn {
+    text-align: right;
+    margin-top: 10px;
+  }
+}
+
+//附件
+.file {
+  .fujian_css {
+    width: 631px;
+    display: flex;
+    margin: 0 auto;
+    text-align: center;
+    line-height: 32px;
+    border: 1px solid #F0F1F2;
+    border-right: 0px;
+    border-radius: 2px 0px 0px 2px;
+
+    .fujian_item {
+      cursor: pointer;
+      width: 90px;
+      height: 32px;
+      border-right: 1px solid #F0F1F2;
+    }
+
+    .file_btn {
+      color: #2F53EB;
+      background-color: #CFDBFE;
+    }
+  }
+
+  .file_img {
+    width: 525px;
+    height: 332px;
+    margin: 20px auto;
+  }
+
+  .img_css {
+    width: 525px;
+    height: 332px;
+  }
+
+  .btn {
+    width: 400px;
+    margin: 0 auto;
+  }
+}
+
+.right_css {
+  // overflow-y: auto !important;
+  min-height: 1266px;
+  padding: 0 20px;
+
+  .right_title {
+    color: #9D9D9D;
+    font-size: 14px;
+    margin-bottom: 4px;
+  }
+
+  .title_name {
+    margin-bottom: 10px;
+  }
+
+  .right_item {
+    color: #0D0D0D;
+    font-size: 14px;
+    margin-bottom: 10px;
+  }
+
+  .right_btn {
+    text-align: center;
+    margin: 10px 0;
+  }
+
+  .img_css {
+    width: 100px;
+    height: 80px;
+    margin-right: 5px;
+  }
+
+  .right_img {
+    width: 200px;
+    height: 120px;
+    margin-top: 10px;
+  }
+}
+.find::v-deep input.el-input__inner {
+  border-radius: 0;
+}
+
+::v-deep .el-drawer.rtl {
+  overflow: auto;
+}
+</style>

+ 622 - 0
src/views/administrationManagement/driverInformationReporting.vue

@@ -0,0 +1,622 @@
+// 司机园区上报
+<template>
+  <div class="center">
+    <div class="center_css">
+      <div class="top_css">
+        <el-row>
+          <el-col :span="14" style="height: 45px">
+            <el-button type="primary" class="batch_btn" @click="escalation">批量上报</el-button>
+            <el-date-picker v-model="value1" value-format="yyyy-MM-dd" @change="dateChange" type="daterange"
+              :default-time="['00:00:00', '23:59:59']" range-separator="至" start-placeholder="开始日期"
+              end-placeholder="结束日期">
+            </el-date-picker>
+          </el-col>
+          <el-col :span="10">
+            <div class="screen">
+              <el-input class='find' placeholder="可按司机姓名和账号查找" @keyup.enter.native="find" v-model="searchkeyWord"
+                clearable @change="find"></el-input>
+              <el-button class="search" @click="find"><img width="16" height="16" style="margin-left: -8px"
+                  src="../../../public/img/sousuo.png" /></el-button><span
+                class="count_css">共{{ deptBudgetTotal }}条</span>
+            </div>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col>
+            <div class="search_btn">
+              <div :class="search == 1 ? 'search' : 'searchNo'" class="search_item search_block" @click="searchBtn(1)">
+                待上报
+              </div>
+              <div :class="search == 2 ? 'search' : 'searchNo'" class="search_item" @click="searchBtn(2)">
+                已驳回
+              </div>
+              <div :class="search == 3 ? 'search' : 'searchNo'" class="search_item" @click="searchBtn(3)">
+                已通过
+              </div>
+              <!-- <div :class="search == 4 ? 'search' : 'searchNo'" class="search_item" @click="searchBtn(4)">
+                已过期
+              </div>-->
+              <div :class="search == '' ? 'search' : 'searchNo'" class="search_item" @click="searchBtn('')">
+                全部
+              </div> 
+            </div>
+          </el-col>
+        </el-row>
+      </div>
+      <el-table :data="tableData" style="width: 98%; margin: 0 auto; border-radius: 10px" height="55.8vh" border
+        highlight-current-row @row-click="handleRowClick" @selection-change="handleSelectionChange" >
+        <el-table-column type="selection" width="55" :selectable="selectInit">
+        </el-table-column>
+        <el-table-column type="index" label="序号" width="50">
+          <template scope="scope">
+            <span v-if="scope.$index < 9">0{{ scope.$index + 1 }}</span>
+            <span v-else>{{ scope.$index + 1 }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column prop="driverName" label="司机姓名"></el-table-column>
+        <el-table-column prop="driverPhone" label="账号"></el-table-column>
+        <el-table-column prop="driverLicenseValidityStartDate" label="驾驶证有效期">
+          <template slot-scope="scope">
+            <span :class="scope.row.driverOverdueFlag == 1?'red_text':''">{{scope.row.driverLicenseValidityStartDate}}</span>
+          </template>
+        </el-table-column>
+        <el-table-column prop="qualificationCertificateValidityDate" label="从业资格证有效期">
+           <template slot-scope="scope">
+            <span :class="scope.row.qualificationOverdueFlag == 1?'red_text':''">{{scope.row.qualificationCertificateValidityDate}}</span>
+          </template>
+        </el-table-column>
+        <el-table-column prop="cardValidityDate" label="身份证有效期">
+             <template slot-scope="scope">
+            <span :class="scope.row.overdueFlag == 1?'red_text':''">{{scope.row.cardValidityDate}}</span>
+          </template>
+        </el-table-column>
+        <el-table-column prop="updateDate" label="上报时间">
+          <template slot-scope="scope">
+            <span v-if="scope.row.escalationStatus != '未认证' && scope.row.escalationStatus != '待上报'">{{scope.row.updateDate}}</span><!-- 未认证和待上报不显示时间 -->
+          </template>
+        </el-table-column>
+        <el-table-column prop="paymentDate" label="附件">
+          <template slot-scope="scope" style="text-align: center" v-if="scope.row.backStageStatus !='未认证'">
+            <span class="btn_css btn_css1" @click="fujianLook(scope.row)">查看</span>
+            <el-tooltip placement="top" v-if="
+                scope.row.overdueFlag == 1 ||
+                scope.row.driverOverdueFlag == 1 ||
+                scope.row.drivingOverdueFlag == 1 ||
+                scope.row.trailerOverdueFlag == 1 ||
+                scope.row.qualificationOverdueFlag == 1 ||
+                scope.row.operationOverdueFlag == 1 ||
+                scope.row.trailerOperationOverdueFlag == 1
+              ">
+              <div slot="content">
+                <span v-if="scope.row.overdueFlag == 1">身份证已过有效期<br /></span>
+                <span v-if="scope.row.driverOverdueFlag == 1">驾驶证已过有效期<br /></span><span
+                  v-if="scope.row.qualificationOverdueFlag == 1">从业资格证已过有效期<br /></span>
+              </div>
+              <span style="margin-top: 10px"></span>
+              <img src="../../../public/img/wenhao.png" alt="" class="ask_css" />
+            </el-tooltip>
+          </template>
+        </el-table-column>
+        <el-table-column prop="reportedStatus" label="状态" min-width="100">
+          <template slot-scope="scope">
+            <span>{{scope.row.reportedStatus}}</span>
+              <el-tooltip class="item" effect="dark" content="提示文字" placement="top" v-if="scope.row.reportedStatus == '未通过'">
+                 <img src="../../../public/img/wenhao.png" alt="" class="ask_css" />
+              </el-tooltip>
+          </template>
+        </el-table-column>
+        <el-table-column label="操作" min-width="200">
+          <template slot-scope="scope">
+            <el-link target="_blank" @click="see(scope.row)" type="primary" :underline="false"
+              >查看</el-link>
+            <el-divider direction="vertical"></el-divider>
+            <el-link target="_blank" @click="reportInfo(scope.row)" type="primary" :underline="false"
+              :disabled="scope.row.reportedStatus != '未上报' && scope.row.reportedStatus != '未通过'">上报</el-link>
+            <!-- <el-divider direction="vertical"></el-divider> -->
+            <!-- <el-dropdown>
+              <span class="btn_css">•••</span>
+              <el-dropdown-menu slot="dropdown">
+                <el-dropdown-item :disabled="
+                    scope.row.authenticationStatus == '已禁用' &&
+                    scope.row.authenticationStatus != '审核中'
+                  "><span @click="switchChange(scope.row, '1')">禁用</span>
+                </el-dropdown-item>
+              </el-dropdown-menu>
+            </el-dropdown> -->
+          </template>
+        </el-table-column>
+      </el-table>
+    </div>
+    <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="currentPage"
+      style="text-align: center; margin-top: 10px" :page-size="deptCircularPage.pageSize"
+      layout="total, sizes, prev, pager, next, jumper" :total="deptBudgetTotal">
+    </el-pagination>
+    <el-dialog :close-on-click-modal='false' title="附件" :visible.sync="fujianInfo" width="830px"
+      :before-close="fujianClose">
+      <div class="file">
+        <div class="fujian_css">
+          <div class="fujian_item" :class="count == 1 ? 'file_btn' : ''" @click="btnChange(1)">
+            身份证
+          </div>
+          <div class="fujian_item" :class="count == 2 ? 'file_btn' : ''" @click="btnChange(2)">
+            驾驶证
+          </div>
+          <!-- <div class="fujian_item" :class="count == 3 ? 'file_btn' : ''" @click="btnChange(3)">
+            行驶证
+          </div> -->
+          <div class="fujian_item" :class="count == 4 ? 'file_btn' : ''" @click="btnChange(4)">
+            从业资格证
+          </div>
+          <!-- <div class="fujian_item" :class="count == 5 ? 'file_btn' : ''" @click="btnChange(5)">
+            挂车行驶证
+          </div>
+          <div class="fujian_item" :class="count == 6 ? 'file_btn' : ''" @click="btnChange(6)">
+            运营证
+          </div>
+          <div class="fujian_item" :class="count == 7 ? 'file_btn' : ''" @click="btnChange(7)">
+            挂车运营证
+          </div> -->
+        </div>
+        <div class="file_tips">
+          <span v-if="count == 1">有效期:{{file.cardValidityDate}} </span><span v-if="count == 2">
+            准驾车型:{{file.quasiDrivingVehicle}} </span> <span v-if="count == 2"> 发证机关:{{file.lssuingAuthority}} </span>
+          <span v-if="count == 4"> 从业资格证号:{{file.qualificationCertificateNumber}}</span>
+        </div>
+        <div class="file_img">
+          <img :src="img[index]" class="img_css" @click="enlarge(img[index])" />
+        </div>
+        <div class="btn">
+          <el-button style="margin-right: 120px" @click="index = 0"
+            v-if="count == 1 || count == 2 || count == 3 || count == 5">{{ abilityName }}</el-button>
+          <el-button @click="index = 1" v-if="count == 1 || count == 2 || count == 3 || count == 5">{{ abilityName1 }}
+          </el-button>
+        </div>
+      </div>
+    </el-dialog>
+    <el-drawer title="司机信息" :visible.sync="rightSee" style="overflow-y: auto !important">
+      <div class="right_css">
+        <div class="title_name">基本信息</div>
+        <div class="right_item">姓名:{{costData.driverName}}</div>
+        <div class="right_title">性别</div>
+        <div class="right_item">{{costData.driverSex}} </div>
+         <div class="right_title">手机号码</div>
+        <div class="right_item">{{costData.driverPhone}} </div>
+         <div class="right_title">身份证照片(人像面)</div>
+        <img :src="costData.cardAddressUrl" alt="" class="img_css" @click="enlarge(costData.cardAddressUrl)">
+        <div class="right_title">身份证照片(国徽面)</div>
+         <img :src="costData.cardBackAddressUrl" alt="" class="img_css"  @click="enlarge(costData.cardBackAddressUrl)">
+        <div class="right_title">身份证号:</div>
+        <div class="right_item">{{costData.numberCard}}</div>
+        <div class="right_title">身份证有效期</div>
+        <div class="right_item">{{costData.cardValidityDate}} </div>
+         <div class="right_title">驾驶证照片(正页)</div>
+        <img :src="costData.driverLicenseHomePage" alt="" class="img_css" @click="enlarge(costData.driverLicenseHomePage)">
+        <div class="right_title">驾驶证照片(副页)</div>
+        <img :src="costData.driverLicenseBackPage" alt="" class="img_css" @click="enlarge(costData.driverLicenseBackPage)">
+        <div class="right_title">准驾车型</div>
+        <div class="right_item">{{costData.quasiDrivingVehicle}}</div>
+        <div class="right_title">驾驶证发证机关</div>
+        <div class="right_item">{{costData.lssuingAuthority}}</div>
+        <div class="right_title">驾驶证有效期</div>
+        <div class="right_item">{{costData.driverLicenseValidityDate}}</div>
+        <div class="right_title">道路运输从业资格证照片</div>
+        <img :src="costData.qualificationCertificate" alt="" class="img_css" @click="enlarge(costData.qualificationCertificate)">
+        <div class="right_title">从业资格证有效期</div>
+        <div class="right_item">{{costData.qualificationCertificateValidityDate}} </div>
+        <div class="right_title">从业资格证号</div>
+        <div class="right_item">{{costData.qualificationCertificateNumber}} </div>
+      </div>
+    </el-drawer>
+    <el-image-viewer v-if="imgsVisible" :on-close="closeImgViewer" :url-list="srcList" style="z-index:9999" />
+  </div>
+</template>
+<script>
+  import {
+    getList,
+    report,
+    getInfo
+  } from "@/api/administrationManagement";
+  export default {
+    components: {
+      "el-image-viewer": () =>
+        import("element-ui/packages/image/src/image-viewer"),
+    },
+    data() {
+      return {
+        tableData: [],
+        //分页
+        searchkeyWord: "",
+        currentPage: 1,
+        pageSize: 10,
+        deptBudgetTotal: 0,
+        deptCircularPage: {},
+        search: "",
+        disabled: false,
+        userInfo: false,
+        fujianInfo: false,
+        file: {},
+        img: [],
+        index: "0",
+        count: "1",
+        abilityName: "身份证人像面",
+        abilityName1: "身份证国徽面",
+        //图片预览
+        srcList: [],
+        imgsVisible: false,
+        //筛选时间
+        startDate: "",
+        endDate: "",
+        value1: [],
+        //侧边查看
+        rightSee: false,
+        costData: {
+          publishTaskInfo: {}
+        },
+        musterList:[],
+      };
+    },
+    mounted() {
+      let date = new Date()
+      let date1 = new Date().setTime(date.getTime() - 365 * 60 * 60 * 24 * 1000) //一年前的时间蹉
+      date1 = new Date(parseInt(date1)).toLocaleString().split(" ")[0].replaceAll("/", "-")
+      let nian = date1.split("-")[0]
+      let yue = date1.split("-")[1]
+      if (yue < 10) {
+        yue = "0" + yue
+      }
+      let ri = date1.split("-")[2]
+      if (ri < 10) {
+        ri = "0" + ri
+      }
+      this.startDate = nian + "-" + yue + "-" + ri //一年前的時間
+      this.endDate = date.getFullYear() + "-" + (date.getMonth() + 1 < 10 ? "0" + (date.getMonth() + 1) : date
+        .getMonth()) + "-" + (date.getDate() < 10 ? "0" + date.getDate() : date.getDate()) //當前時間
+      this.value1.push(this.startDate)
+      this.value1.push(this.endDate)
+      this.getList();
+    },
+    methods: {
+      //上报
+      escalation(){
+        if(this.musterList.length == 0){
+          this.$message.error("请勾选要上报的条目")
+          return
+        }
+          this.$confirm("确定上报司机信息?", "提示", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning",
+        }).then(() => {
+          report({hyDriverInfoList:this.musterList})
+          .then((response) => {
+             if (response.code == 200) {
+              this.$notify({
+                title: "成功",
+                message: "司机信息上报成功!",
+                type: "success",
+              });
+              this.musterList = []
+              this.getList();
+            }
+          })
+        })
+      },
+       handleRowClick(row) {
+        return true
+       },
+      handleSelectionChange(val){
+         this.musterList = val;
+         console.log(this.musterList)
+      },
+      see(row) { 
+        this.loading = true
+        this.rightSee = true
+        getInfo({
+            commonId: row.commonId
+          }).then(response => {
+            this.costData = response.data
+            this.listLoading = false
+          })
+          .catch(() => {
+            this.listLoading = false
+          })
+      },
+      reportInfo(row) { //上报
+      this.musterList.push(row)
+      this.escalation()
+      },
+      dateChange(e) {
+        console.log(this.value1)
+        this.startDate = e[0]
+        this.endDate = e[1]
+        this.getList()
+      },
+      closeImgViewer() {
+        this.srcList = []
+        this.imgsVisible = false;
+      },
+      enlarge(url) {
+        this.imgsVisible = true;
+        this.srcList.push(url)
+      },
+
+      getList() {
+        this.listLoading = true;
+        let _obj = {};
+        _obj.currentPage = this.currentPage;
+        _obj.pageSize = this.pageSize;
+        _obj.searchKeyWord = this.searchkeyWord;
+        _obj.administrationType = this.search;
+        _obj.startDate = this.startDate
+        _obj.endDate = this.endDate
+        getList(_obj)
+          .then((response) => {
+            this.tableData = response.data.records;
+            for (let i = 0; i < this.tableData.length; i++) {
+              this.tableData[i].iconShow = true;
+            }
+            this.deptBudgetTotal = response.data.total;
+            this.listLoading = false;
+          })
+          .catch(() => {
+            this.listLoading = false;
+          });
+      },
+      btnChange(num) {
+        this.count = num;
+        if (num == 1) {
+          this.abilityName = "身份证人像面";
+          this.abilityName1 = "身份证国徽面";
+          this.img[0] = this.file.cardAddressUrl;
+          this.img[1] = this.file.cardBackAddressUrl;
+        } else if (num == 2) {
+          this.abilityName = "驾驶证主页";
+          this.abilityName1 = "驾驶证副页";
+          this.img[0] = this.file.driverLicenseHomePage;
+          this.img[1] = this.file.driverLicenseBackPage;
+        } else if (num == 3) {
+          this.abilityName = "行驶证主页";
+          this.abilityName1 = "行驶证副页";
+          this.img[0] = this.file.drivingLicenseHomePage;
+          this.img[1] = this.file.drivingLicenseBackPage;
+        } else if (num == 4) {
+          this.index = 0;
+          this.img[0] = this.file.qualificationCertificate;
+        } else if (num == 5) {
+          this.abilityName = "挂车行驶证主页";
+          this.abilityName1 = "挂车行驶证副页";
+          this.img[0] = this.file.trailerLicenseHomePage;
+          this.img[1] = this.file.trailerLicenseBackPage;
+        } else if (num == 6) {
+          this.index = 0;
+          this.img[0] = this.file.operationCertificate;
+        } else if (num == 7) {
+          this.index = 0;
+          this.img[0] = this.file.trailerOperationCertificate;
+        }
+      },
+      fujianLook(row) {
+        this.file = row;
+        this.index = 0;
+        this.img[0] = this.file.cardAddressUrl;
+        this.img[1] = this.file.cardBackAddressUrl;
+        this.fujianInfo = true;
+      },
+      fujianClose() {
+        this.count = 1;
+        this.fujianInfo = false;
+      },
+      searchBtn(num) {
+        this.search = num;
+        this.getList();
+      },
+      find() {
+        this.currentPage = 1
+        this.getList();
+      },
+      selectInit(row) {
+        if (row.escalationStatus != '未上报'&& row.escalationStatus != '未通过') {  
+          return false;
+        }else{
+          return true;
+        }
+      },
+      handleSizeChange(val) {
+        console.log(`每页 ${val} 条`);
+        this.pageSize = val;
+        this.getList();
+      },
+      handleCurrentChange(val) {
+        this.currentPage = val;
+        console.log(`当前页: ${val}`);
+        this.getList();
+      },
+    },
+  };
+</script>
+<style lang="scss" scoped>
+  .center {
+    padding: 10px 20px;
+    background: #f5f6f7;
+    height: calc(100vh - 5vh);
+
+    .top_css {
+      padding: 10px;
+
+      .search_btn {
+        height: 80px;
+        background: linear-gradient(#fafbfb, #ffffff);
+        display: flex;
+        margin-top: 20px;
+
+        .search_block {
+          margin-left: 20px;
+        }
+
+        .search_item {
+          text-align: center;
+          font-size: 14px;
+          font-weight: 600;
+          line-height: 40px;
+          width: 112px;
+          height: 40px;
+          background: #f7f8f9;
+          cursor: pointer;
+          margin-top: 30px;
+        }
+
+        .searchNo {
+          color: #323233;
+        }
+
+        .search {
+          color: #2f53eb;
+          background: #ffffff;
+        }
+      }
+    }
+
+    .ask_css {
+      position: absolute;
+      margin: 3px 0 0 10px;
+    }
+
+    .center_css {
+      background: #ffffff;
+      border-radius: 1px;
+      margin-top: 10px;
+      padding-bottom: 10px;
+    }
+
+    .screen {
+      // float: right;
+      display: flex;
+
+      .search {
+        width: 40px;
+        height: 40px;
+        background: #2f53eb;
+        border-radius: 0px 2px 2px 0px;
+        border: 1px solid #DCDFE6;
+        margin-left: -1px;
+      }
+
+      .count_css {
+        width: 80px;
+        text-align: center;
+        line-height: 40px;
+        color: #666666;
+      }
+    }
+
+    .el-button {
+      padding: 10px 20px !important;
+    }
+
+    .center_css {
+
+      ::v-deep .el-table th,
+      ::v-deep .el-table td {
+        text-align: center;
+      }
+
+      .fujian {
+        font-size: 24px;
+        color: #409eff;
+      }
+
+      .warning {
+        font-size: 14px;
+        color: #ed1d1d;
+      }
+    }
+  }
+
+  ::v-deep .el-table--border .el-table__header th {
+    background: #f7f8f9;
+  }
+
+  .btn_css {
+    color: #409eff;
+    cursor: pointer;
+  }
+
+  .btn_css1 {
+    margin-left: -20px;
+  }
+
+  //批量上报按钮
+  .batch_btn {
+    margin: 0 10px;
+  }
+
+  //附件
+  .file {
+    .fujian_css {
+      width: 270px;
+      display: flex;
+      margin: 0 auto;
+      text-align: center;
+      line-height: 32px;
+      border: 1px solid #f0f1f2;
+      border-right: 0px;
+      border-radius: 2px 0px 0px 2px;
+
+      .fujian_item {
+        cursor: pointer;
+        width: 90px;
+        height: 32px;
+        border-right: 1px solid #f0f1f2;
+      }
+
+      .file_btn {
+        color: #2f53eb;
+        background-color: #cfdbfe;
+      }
+    }
+
+    .file_tips {
+      margin: 10px auto;
+      width: 50%;
+    }
+
+    .file_img {
+      width: 525px;
+      height: 332px;
+      margin: 20px auto;
+    }
+
+    .img_css {
+      width: 525px;
+      height: 332px;
+    }
+
+    .btn {
+      width: 410px;
+      margin: 0 auto;
+    }
+  }
+  .right_css{
+    .title_name,.right_title{
+      color: #9D9D9D;
+      margin-left: 20px;
+    }
+    .right_item{
+       color: #333333;
+       margin: 10px 0;
+        margin-left: 20px;
+    }
+    .img_css{
+      width: 100px;
+      height: 100px;
+      margin: 10px 0;
+      margin-left: 20px;
+    }
+  }
+  ::v-deep .el-drawer.rtl{
+    overflow-y: scroll;
+  }
+  .red_text{
+    color: red;
+  }
+</style>

+ 631 - 0
src/views/administrationManagement/vehicleInformationReporting.vue

@@ -0,0 +1,631 @@
+// 车辆园区上报
+<template>
+  <div class="center">
+    <div class="center_css">
+      <div class="top_css">
+        <el-row>
+          <el-col :span="14" style="height: 45px">
+            <el-button type="primary" class="batch_btn" @click="escalation">批量上报</el-button>
+            <el-date-picker v-model="value1" value-format="yyyy-MM-dd" @change="dateChange" type="daterange"
+              :default-time="['00:00:00', '23:59:59']" range-separator="至" start-placeholder="开始日期"
+              end-placeholder="结束日期">
+            </el-date-picker>
+          </el-col>
+          <el-col :span="10">
+            <div class="screen">
+              <el-input class='find' placeholder="可按司机姓名和账号查找" @keyup.enter.native="find" v-model="searchkeyWord"
+                clearable @change="find"></el-input>
+              <el-button class="search" @click="find"><img width="16" height="16" style="margin-left: -8px"
+                  src="../../../public/img/sousuo.png" /></el-button><span
+                class="count_css">共{{ deptBudgetTotal }}条</span>
+            </div>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col>
+            <div class="search_btn">
+              <div :class="search == 1 ? 'search' : 'searchNo'" class="search_item search_block" @click="searchBtn(1)">
+                待上报
+              </div>
+              <div :class="search == 2 ? 'search' : 'searchNo'" class="search_item" @click="searchBtn(2)">
+                已驳回
+              </div>
+              <div :class="search == 3 ? 'search' : 'searchNo'" class="search_item" @click="searchBtn(3)">
+                已通过
+              </div>
+              <!-- <div :class="search == 4 ? 'search' : 'searchNo'" class="search_item" @click="searchBtn(4)">
+                已过期
+              </div>-->
+              <div :class="search == '' ? 'search' : 'searchNo'" class="search_item" @click="searchBtn('')">
+                全部
+              </div> 
+            </div>
+          </el-col>
+        </el-row>
+      </div>
+      <el-table :data="tableData" style="width: 98%; margin: 0 auto; border-radius: 10px" height="55.8vh" border
+        highlight-current-row @row-click="handleRowClick" @selection-change="handleSelectionChange" >
+        <el-table-column type="selection" width="55" :selectable="selectInit">
+        </el-table-column>
+        <el-table-column type="index" label="序号" width="50">
+          <template scope="scope">
+            <span v-if="scope.$index < 9">0{{ scope.$index + 1 }}</span>
+            <span v-else>{{ scope.$index + 1 }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column prop="driverName" label="司机姓名"></el-table-column>
+        <el-table-column prop="accountNumber" label="账号"></el-table-column>
+        <el-table-column prop="carNumber" label="牵引车车牌号"></el-table-column>
+        <el-table-column prop="guaCarNumber" label="挂车车牌号"></el-table-column>
+        <el-table-column prop="drivingLicenseValidityDate" label="行驶证有效期">
+          <template slot-scope="scope">
+            <span :class="scope.row.drivingOverdueFlag == 1?'red_text':''">{{scope.row.drivingLicenseValidityDate}}</span>
+          </template>
+        </el-table-column>
+        <el-table-column prop="trailerLicenseValidityDate" label="挂车行驶证有效期">
+           <template slot-scope="scope">
+            <span :class="scope.row.trailerOverdueFlag == 1?'red_text':''">{{scope.row.trailerLicenseValidityDate}}</span>
+          </template>
+        </el-table-column>
+        <el-table-column prop="operationCertificateValidityDate" label="道路运输证有效期">
+          <template slot-scope="scope">
+            <span :class="scope.row.operationOverdueFlag == 1?'red_text':''">{{scope.row.operationCertificateValidityDate}}</span>
+          </template>
+        </el-table-column>
+        <el-table-column prop="updateDate" label="上报时间">
+          <template slot-scope="scope">
+            <span v-if="scope.row.escalationStatus&&scope.row.escalationStatus != '未认证' && scope.row.escalationStatus != '待上报'">{{scope.row.updateDate}}</span><!-- 未认证和待上报不显示时间 -->
+          </template>
+        </el-table-column>
+        <el-table-column prop="paymentDate" label="附件">
+          <template slot-scope="scope" style="text-align: center" v-if="scope.row.backStageStatus !='未认证'">
+            <span class="btn_css btn_css1" @click="fujianLook(scope.row)">查看</span>
+            <el-tooltip placement="top" v-if="
+                scope.row.overdueFlag == 1 ||
+                scope.row.driverOverdueFlag == 1 ||
+                scope.row.drivingOverdueFlag == 1 ||
+                scope.row.trailerOverdueFlag == 1 ||
+                scope.row.qualificationOverdueFlag == 1 ||
+                scope.row.operationOverdueFlag == 1 ||
+                scope.row.trailerOperationOverdueFlag == 1
+              ">
+              <div slot="content">
+                  <!-- <span v-if="scope.row.overdueFlag == 1">身份证已过有效期<br /></span> -->
+                  <!-- <span v-if="scope.row.driverOverdueFlag == 1">驾驶证已过有效期<br /></span> -->
+                  <span v-if="scope.row.drivingOverdueFlag == 1">行驶证已过有效期<br /></span>
+                  <span v-if="scope.row.trailerOverdueFlag == 1">挂车行驶证已过有效期<br /></span>
+                  <span v-if="scope.row.operationOverdueFlag == 1">运营证已过有效期<br /></span>
+                  <span v-if="scope.row.operationOverdueFlag == 1">道路运输证已过有效期<br /></span>
+                  <span v-if="scope.row.trailerOperationOverdueFlag == 1">挂车道路运输证已过有效期<br /></span>
+                </div>
+              <span style="margin-top: 10px"></span>
+              <img src="../../../public/img/wenhao.png" alt="" class="ask_css" />
+            </el-tooltip>
+          </template>
+        </el-table-column>
+        <el-table-column prop="reportedStatus" label="状态" min-width="100"></el-table-column>
+        <el-table-column label="操作" min-width="200">
+          <template slot-scope="scope">
+            <el-link target="_blank" @click="see(scope.row)" type="primary" :underline="false"
+              >查看</el-link>
+            <el-divider direction="vertical"></el-divider>
+            <el-link target="_blank" @click="reportInfo(scope.row)" type="primary" :underline="false"
+              :disabled="scope.row.reportedStatus != '未上报' && scope.row.reportedStatus != '未通过'">上报</el-link>
+            <!-- <el-divider direction="vertical"></el-divider> -->
+            <!-- <el-dropdown>
+              <span class="btn_css">•••</span>
+              <el-dropdown-menu slot="dropdown">
+                <el-dropdown-item :disabled="
+                    scope.row.authenticationStatus == '已禁用' &&
+                    scope.row.authenticationStatus != '审核中'
+                  "><span @click="switchChange(scope.row, '1')">禁用</span>
+                </el-dropdown-item>
+              </el-dropdown-menu>
+            </el-dropdown> -->
+          </template>
+        </el-table-column>
+      </el-table>
+    </div>
+    <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="currentPage"
+      style="text-align: center; margin-top: 10px" :page-size="deptCircularPage.pageSize"
+      layout="total, sizes, prev, pager, next, jumper" :total="deptBudgetTotal">
+    </el-pagination>
+    <el-dialog :close-on-click-modal='false' title="附件" :visible.sync="fujianInfo" width="830px"
+      :before-close="fujianClose">
+      <div class="file">
+        <div class="fujian_css">
+          <!-- <div class="fujian_item" :class="count == 1 ? 'file_btn' : ''" @click="btnChange(1)">
+            身份证
+          </div> -->
+          <!-- <div class="fujian_item" :class="count == 2 ? 'file_btn' : ''" @click="btnChange(2)">
+            驾驶证
+          </div> -->
+          <div class="fujian_item" :class="count == 3 ? 'file_btn' : ''" @click="btnChange(3)">
+            行驶证
+          </div>
+          <!-- <div class="fujian_item" :class="count == 4 ? 'file_btn' : ''" @click="btnChange(4)">
+            从业资格证
+          </div> -->
+          <div class="fujian_item" :class="count == 5 ? 'file_btn' : ''" @click="btnChange(5)">
+            挂车行驶证
+          </div>
+          <div class="fujian_item" :class="count == 6 ? 'file_btn' : ''" @click="btnChange(6)">
+            运营证
+          </div>
+          <div class="fujian_item" :class="count == 7 ? 'file_btn' : ''" @click="btnChange(7)">
+            挂车运营证
+          </div>
+        </div>
+        <div class="file_tips">
+          <span v-if="count == 1">有效期:{{file.cardValidityDate}} </span><span v-if="count == 2">
+            准驾车型:{{file.quasiDrivingVehicle}} </span> <span v-if="count == 2"> 发证机关:{{file.lssuingAuthority}} </span>
+          <span v-if="count == 4"> 从业资格证号:{{file.qualificationCertificateNumber}}</span>
+        </div>
+        <div class="file_img">
+          <img :src="img[index]" class="img_css" @click="enlarge(img[index])" />
+        </div>
+        <div class="btn">
+          <el-button style="margin-right: 120px" @click="index = 0"
+            v-if="count == 1 || count == 2 || count == 3 || count == 5">{{ abilityName }}</el-button>
+          <el-button @click="index = 1" v-if="count == 1 || count == 2 || count == 3 || count == 5">{{ abilityName1 }}
+          </el-button>
+        </div>
+      </div>
+    </el-dialog>
+    <el-drawer title="司机信息" :visible.sync="rightSee" style="overflow-y: auto !important">
+      <div class="right_css">
+        <div class="title_name">基本信息</div>
+        <div class="right_item">车辆号{{costData.carNumber}}</div>
+        <div class="right_title">所有人</div>
+        <div class="right_item">{{costData.owner}} </div>
+         <div class="right_title">使用性质</div>
+        <div class="right_item">{{costData.useNature}} </div>
+         <!-- <div class="right_title">车辆识别代号</div>
+        <div class="right_item">{{costData.useNature}} </div> -->
+        <div class="right_title">发证机关</div>
+          <div class="right_item">{{costData.lssuingAuthority}} </div>
+        <div class="right_title">车长(毫米)</div>
+        <div class="right_item">{{costData.carLong}}</div>
+        <div class="right_title">车宽(毫米)</div>
+        <div class="right_item">{{costData.carWidth}} </div>
+         <div class="right_title">车高(毫米)</div>
+        <div class="right_item">{{costData.carHeight}} </div>
+        <div class="right_title">注册日期</div>
+      <div class="right_item">{{costData.trailerLicenseRegistrationDate}} </div>
+        <div class="right_title">发证日期</div>
+        <div class="right_item">{{costData.drivingLicenseIssueDate}}</div>
+        <div class="right_title">车辆能源类型</div>
+        <div class="right_item">{{costData.energyType}}</div>
+        <div class="right_title">核定载质量</div>
+        <div class="right_item">{{costData.carApprovedWeight}}</div>
+        <div class="right_title">总质量</div>
+        <div class="right_item">{{costData.servicingWeight}}</div>
+        <div class="right_title">道路运输证号</div>
+        <div class="right_item">{{costData.operationCertificateNumber}} </div>
+        <div class="right_title">行驶证有效期</div>
+        <div class="right_item">{{costData.drivingLicenseValidityDate}} </div>
+        <div class="right_title">行驶证照片(正页)</div>
+         <img :src="costData.drivingLicenseHomePage" alt="" class="img_css" @click="enlarge(costData.drivingLicenseHomePage)">
+        <div class="right_title">行驶证照片(副页)</div>
+         <img :src="costData.drivingLicenseBackPage" alt="" class="img_css" @click="enlarge(costData.drivingLicenseBackPage)">
+        <div class="right_title">道路运输证照片</div>
+         <img :src="costData.operationCertificate" alt="" class="img_css" @click="enlarge(costData.operationCertificate)">
+        <div class="right_title">挂车道路运输证照片</div>
+         <img :src="costData.trailerOperationCertificate" alt="" class="img_css" @click="enlarge(costData.trailerOperationCertificate)">
+        <div class="right_title">人车合影照片</div>
+         <img :src="costData.addressUrl" alt="" class="img_css" @click="enlarge(costData.addressUrl)">
+      </div>
+    </el-drawer>
+    <el-image-viewer v-if="imgsVisible" :on-close="closeImgViewer" :url-list="srcList" style="z-index:9999" />
+  </div>
+</template>
+<script>
+  import {
+    carGetList,
+    carReport,
+    carGetInfo
+  } from "@/api/administrationManagement";
+  export default {
+    components: {
+      "el-image-viewer": () =>
+        import("element-ui/packages/image/src/image-viewer"),
+    },
+    data() {
+      return {
+        tableData: [],
+        //分页
+        searchkeyWord: "",
+        currentPage: 1,
+        pageSize: 10,
+        deptBudgetTotal: 0,
+        deptCircularPage: {},
+        search: "",
+        disabled: false,
+        userInfo: false,
+        fujianInfo: false,
+        file: {},
+        img: [],
+        index: "0",
+        count: "1",
+        abilityName: "身份证人像面",
+        abilityName1: "身份证国徽面",
+        //图片预览
+        srcList: [],
+        imgsVisible: false,
+        //筛选时间
+        startDate: "",
+        endDate: "",
+        value1: [],
+        //侧边查看
+        rightSee: false,
+        costData: {
+          publishTaskInfo: {}
+        },
+        musterList:[],
+      };
+    },
+    mounted() {
+      let date = new Date()
+      let date1 = new Date().setTime(date.getTime() - 365 * 60 * 60 * 24 * 1000) //一年前的时间蹉
+      date1 = new Date(parseInt(date1)).toLocaleString().split(" ")[0].replaceAll("/", "-")
+      let nian = date1.split("-")[0]
+      let yue = date1.split("-")[1]
+      if (yue < 10) {
+        yue = "0" + yue
+      }
+      let ri = date1.split("-")[2]
+      if (ri < 10) {
+        ri = "0" + ri
+      }
+      this.startDate = nian + "-" + yue + "-" + ri //一年前的時間
+      this.endDate = date.getFullYear() + "-" + (date.getMonth() + 1 < 10 ? "0" + (date.getMonth() + 1) : date
+        .getMonth()) + "-" + (date.getDate() < 10 ? "0" + date.getDate() : date.getDate()) //當前時間
+      this.value1.push(this.startDate)
+      this.value1.push(this.endDate)
+      this.getList();
+    },
+    methods: {
+      //上报
+      escalation(){
+        if(this.musterList.length == 0){
+          this.$message.error("请勾选要上报的条目")
+          return
+        }
+          this.$confirm("确定上报信息?", "提示", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning",
+        }).then(() => {
+          carReport({hyDriverCarInfoList:this.musterList})
+          .then((response) => {
+             if (response.code == 200) {
+              this.$notify({
+                title: "成功",
+                message: "车辆上报成功!",
+                type: "success",
+              });
+              this.musterList = []
+              this.getList();
+            }
+          })
+        })
+      },
+       handleRowClick(row) {
+        return true
+       },
+      handleSelectionChange(val){
+         this.musterList = val;
+         console.log(this.musterList)
+      },
+      see(row) { 
+        this.loading = true
+        this.rightSee = true
+        carGetInfo({
+            id: row.id
+          }).then(response => {
+            this.costData = response.data
+            this.listLoading = false
+          })
+          .catch(() => {
+            this.listLoading = false
+          })
+      },
+      reportInfo(row) { //上报
+      this.musterList.push(row)
+      this.escalation()
+      },
+      dateChange(e) {
+        console.log(this.value1)
+        this.startDate = e[0]
+        this.endDate = e[1]
+        this.getList()
+      },
+      closeImgViewer() {
+        this.srcList = []
+        this.imgsVisible = false;
+      },
+      enlarge(url) {
+        this.imgsVisible = true;
+        this.srcList.push(url)
+      },
+
+      getList() {
+        this.listLoading = true;
+        let _obj = {};
+        _obj.currentPage = this.currentPage;
+        _obj.pageSize = this.pageSize;
+        _obj.searchKeyWord = this.searchkeyWord;
+        _obj.administrationType = this.search;
+        _obj.startDate = this.startDate
+        _obj.endDate = this.endDate
+        carGetList(_obj)
+          .then((response) => {
+            this.tableData = response.data.records;
+            for (let i = 0; i < this.tableData.length; i++) {
+              this.tableData[i].iconShow = true;
+            }
+            this.deptBudgetTotal = response.data.total;
+            this.listLoading = false;
+          })
+          .catch(() => {
+            this.listLoading = false;
+          });
+      },
+      btnChange(num) {
+        this.count = num;
+        if (num == 1) {
+          this.abilityName = "身份证人像面";
+          this.abilityName1 = "身份证国徽面";
+          this.img[0] = this.file.cardAddressUrl;
+          this.img[1] = this.file.cardBackAddressUrl;
+        } else if (num == 2) {
+          this.abilityName = "驾驶证主页";
+          this.abilityName1 = "驾驶证副页";
+          this.img[0] = this.file.driverLicenseHomePage;
+          this.img[1] = this.file.driverLicenseBackPage;
+        } else if (num == 3) {
+          this.abilityName = "行驶证主页";
+          this.abilityName1 = "行驶证副页";
+          this.img[0] = this.file.drivingLicenseHomePage;
+          this.img[1] = this.file.drivingLicenseBackPage;
+        } else if (num == 4) {
+          this.index = 0;
+          this.img[0] = this.file.qualificationCertificate;
+        } else if (num == 5) {
+          this.abilityName = "挂车行驶证主页";
+          this.abilityName1 = "挂车行驶证副页";
+          this.img[0] = this.file.trailerLicenseHomePage;
+          this.img[1] = this.file.trailerLicenseBackPage;
+        } else if (num == 6) {
+          this.index = 0;
+          this.img[0] = this.file.operationCertificate;
+        } else if (num == 7) {
+          this.index = 0;
+          this.img[0] = this.file.trailerOperationCertificate;
+        }
+      },
+      fujianLook(row) {
+        this.file = row;
+        this.index = 0;
+        this.img[0] = this.file.cardAddressUrl;
+        this.img[1] = this.file.cardBackAddressUrl;
+        this.fujianInfo = true;
+      },
+      fujianClose() {
+        this.count = 1;
+        this.fujianInfo = false;
+      },
+      searchBtn(num) {
+        this.search = num;
+        this.getList();
+      },
+      find() {
+        this.currentPage = 1
+        this.getList();
+      },
+      selectInit(row) {
+        if (row.escalationStatus != '未上报' && row.escalationStatus != '未通过') {  
+          return false;
+        }else{
+          return true;
+        }
+      },
+      handleSizeChange(val) {
+        console.log(`每页 ${val} 条`);
+        this.pageSize = val;
+        this.getList();
+      },
+      handleCurrentChange(val) {
+        this.currentPage = val;
+        console.log(`当前页: ${val}`);
+        this.getList();
+      },
+    },
+  };
+</script>
+<style lang="scss" scoped>
+  .center {
+    padding: 10px 20px;
+    background: #f5f6f7;
+    height: calc(100vh - 5vh);
+
+    .top_css {
+      padding: 10px;
+
+      .search_btn {
+        height: 80px;
+        background: linear-gradient(#fafbfb, #ffffff);
+        display: flex;
+        margin-top: 20px;
+
+        .search_block {
+          margin-left: 20px;
+        }
+
+        .search_item {
+          text-align: center;
+          font-size: 14px;
+          font-weight: 600;
+          line-height: 40px;
+          width: 112px;
+          height: 40px;
+          background: #f7f8f9;
+          cursor: pointer;
+          margin-top: 30px;
+        }
+
+        .searchNo {
+          color: #323233;
+        }
+
+        .search {
+          color: #2f53eb;
+          background: #ffffff;
+        }
+      }
+    }
+
+    .ask_css {
+      position: absolute;
+      margin: 3px 0 0 10px;
+    }
+
+    .center_css {
+      background: #ffffff;
+      border-radius: 1px;
+      margin-top: 10px;
+      padding-bottom: 10px;
+    }
+
+    .screen {
+      // float: right;
+      display: flex;
+
+      .search {
+        width: 40px;
+        height: 40px;
+        background: #2f53eb;
+        border-radius: 0px 2px 2px 0px;
+        border: 1px solid #DCDFE6;
+        margin-left: -1px;
+      }
+
+      .count_css {
+        width: 80px;
+        text-align: center;
+        line-height: 40px;
+        color: #666666;
+      }
+    }
+
+    .el-button {
+      padding: 10px 20px !important;
+    }
+
+    .center_css {
+
+      ::v-deep .el-table th,
+      ::v-deep .el-table td {
+        text-align: center;
+      }
+
+      .fujian {
+        font-size: 24px;
+        color: #409eff;
+      }
+
+      .warning {
+        font-size: 14px;
+        color: #ed1d1d;
+      }
+    }
+  }
+
+  ::v-deep .el-table--border .el-table__header th {
+    background: #f7f8f9;
+  }
+
+  .btn_css {
+    color: #409eff;
+    cursor: pointer;
+  }
+
+  .btn_css1 {
+    margin-left: -20px;
+  }
+
+  //批量上报按钮
+  .batch_btn {
+    margin: 0 10px;
+  }
+
+  //附件
+  .file {
+    .fujian_css {
+      width: 330px;
+      display: flex;
+      margin: 0 auto;
+      text-align: center;
+      line-height: 32px;
+      border: 1px solid #f0f1f2;
+      border-right: 0px;
+      border-radius: 2px 0px 0px 2px;
+
+      .fujian_item {
+        cursor: pointer;
+        width: 90px;
+        height: 32px;
+        border-right: 1px solid #f0f1f2;
+      }
+
+      .file_btn {
+        color: #2f53eb;
+        background-color: #cfdbfe;
+      }
+    }
+
+    .file_tips {
+      margin: 10px auto;
+      width: 50%;
+    }
+
+    .file_img {
+      width: 525px;
+      height: 332px;
+      margin: 20px auto;
+    }
+
+    .img_css {
+      width: 525px;
+      height: 332px;
+    }
+
+    .btn {
+      width: 410px;
+      margin: 0 auto;
+    }
+  }
+  .right_css{
+    .title_name,.right_title{
+      color: #9D9D9D;
+      margin-left: 20px;
+    }
+    .right_item{
+       color: #333333;
+       margin: 10px 0;
+        margin-left: 20px;
+    }
+    .img_css{
+      width: 100px;
+      height: 100px;
+      margin: 10px 0;
+      margin-left: 20px;
+    }
+  }
+  ::v-deep .el-drawer.rtl{
+    overflow-y: scroll;
+  }
+  .red_text{
+    color: red;
+  }
+</style>

+ 639 - 0
src/views/administrationManagement/waybillReporting.vue

@@ -0,0 +1,639 @@
+// 运单上报
+<template>
+  <div class="center">
+    <div class="center_css">
+      <div class="top_css">
+        <el-row>
+          <el-col :span="14">
+            <!-- <el-button type="primary" @click="postponeSubmission" style="margin-right:10px">暂缓上报</el-button> -->
+            <el-button type="primary" @click="batchSubmission" style="margin-right:10px">批量上报</el-button>
+            <el-date-picker v-model="value1" value-format="yyyy-MM-dd" @change="dateChange" type="daterange"
+              range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期">
+            </el-date-picker>
+          </el-col>
+          <el-col :span="10">
+            <div class="screen">
+              <el-input class='find' v-model="searchkeyWord" placeholder="可按订单号、姓名、账号查找" @keyup.enter.native="find"
+                clearable @change="find" />
+              <el-button class="search" @click="find"><img width="16" height="16" style="margin-left: -8px"
+                  src="../../../public/img/sousuo.png"></el-button><span class="count_css">共{{ deptBudgetTotal
+                  }}条</span>
+            </div>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col>
+            <div class="search_btn">
+              <div :class="search == 1 ? 'search' : 'searchNo'" class="search_item search_block" @click="searchBtn(1)">
+                待上报
+              </div>
+              <div :class="search == 2 ? 'search' : 'searchNo'" class="search_item" @click="searchBtn(2)">
+                已驳回
+              </div>
+              <div :class="search == 3 ? 'search' : 'searchNo'" class="search_item" @click="searchBtn(3)">
+                已通过
+              </div>
+              <!-- <div :class="search == 4 ? 'search' : 'searchNo'" class="search_item" @click="searchBtn(4)">
+                暂缓中
+              </div>-->
+              <div :class="search == '' ? 'search' : 'searchNo'" class="search_item" @click="searchBtn('')">
+                全部
+              </div> 
+            </div>
+          </el-col>
+        </el-row>
+      </div>
+      <el-table @selection-change="handleSelectionChange" :data="tableData"
+        style="width: 98%; margin: 0 auto; border-radius: 10px" height="55.8vh" border highlight-current-row>
+        <el-table-column type="selection" width="55" :selectable="selectInit">
+        </el-table-column>
+        <el-table-column type="index" label="序号" width="50">
+          <template scope="scope">
+            <span v-if="scope.$index < 9">0{{ scope.$index + 1 }}</span>
+            <span v-else>{{ scope.$index + 1 }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column prop="orderNo" label="订单编号" />
+        <el-table-column prop="cargoOwner" label="发运人" />
+        <el-table-column prop="cargoOwnerPhone" label="发运人账号" />
+        <el-table-column prop="driverName" label="承运人" />
+        <el-table-column prop="driverPhone" label="承运人账号" />
+        <el-table-column prop="orderEndDate" label="订单完结时间" />
+        <el-table-column prop="reportedStatus" label="状态">
+          <template slot-scope="scope1">
+            <span>{{scope1.row.reportedStatus}}</span>
+              <el-tooltip class="item" effect="dark" :content="scope1.row.escalationFailureReason" placement="top" v-if="scope1.row.reportedStatus == '未通过'">
+                 <img src="../../../public/img/wenhao.png" alt="" class="ask_css" />
+              </el-tooltip>
+          </template>
+        </el-table-column>
+        <el-table-column label="操作" min-width="200">
+          <template slot-scope="scope">
+            <el-link target="_blank" @click="look(scope.row)" type="primary" :underline="false">查看</el-link>
+            <el-divider direction="vertical" />
+            <el-link target="_blank" type="primary" :underline="false" @click="submission(scope.row)"
+              :disabled="scope.row.reportedStatusKey != '1' && scope.row.reportedStatus != '3'">
+              上报</el-link>
+          </template>
+        </el-table-column>
+      </el-table>
+    </div>
+    <el-pagination :current-page="currentPage" style="text-align: center; margin-top: 10px"
+      :page-size="deptCircularPage.pageSize" layout="total, sizes, prev, pager, next, jumper" :total="deptBudgetTotal"
+      @size-change="handleSizeChange" @current-change="handleCurrentChange" />
+
+    <el-drawer title="运单信息" :visible.sync="rightSee" style="overflow-y: auto !important">
+      <div class="right_css">
+        <div class="right_item">订单编号:{{ orderData.orderNo }}</div>
+        <div class="right_title">发货时间</div>
+        <div class="right_item">{{ orderData.hyCarrierInfo.loadingDate }}</div>
+        <div class="right_title" v-if="orderData.hyCarrierInfo.unloadingDate">收货时间</div>
+        <div class="right_item">{{ orderData.hyCarrierInfo.unloadingDate }}</div>
+        <div class="right_title">托运方</div>
+        <div class="right_item">{{ orderData.cargoOwner ? orderData.cargoOwner : orderData.compName }}</div>
+        <div class="right_title">托运方证件号或信用代码</div>
+        <div class="right_item" v-if="orderData.cargoOwnerIdCard">{{ orderData.cargoOwnerIdCard }}</div>
+        <div class="right_item" v-else>{{ orderData.hyCompanyInfo ? orderData.hyCompanyInfo.unifiedSocialCreditCode :
+            "暂无"
+        }}
+        </div>
+        <div class="right_title">收货联系人</div>
+        <div class="right_item">{{ orderData.publishTaskInfo.receiver }}</div>
+        <div class="right_title">收货方证件号或信用代码</div>
+        <div class="right_item">{{ orderData.publishTaskInfo.receiverIdcard ? orderData.publishTaskInfo.receiverIdcard :
+            orderData.publishTaskInfo.receiverCreditCode
+        }}</div>
+        <div class="right_title">运费</div>
+        <div class="right_item">{{ orderData.freight }}</div>
+        <div class="right_title">车牌号</div>
+        <div class="right_item">{{ orderData.carNumber }}</div>
+        <div class="right_title">车牌颜色</div>
+        <div class="right_item">{{ orderData.carNumberColour }}</div>
+        <div class="right_title">发货地址</div>
+        <div class="right_item">
+          {{ orderData.sendPrivate }}{{ orderData.sendCity }}{{ orderData.sendArea }}{{
+              orderData.sendDetailedAddress
+          }}
+        </div>
+        <div class="right_title">收货地址</div>
+        <div class="right_item">
+          {{ orderData.unloadPrivate }}{{ orderData.unloadCity }}{{ orderData.unloadArea }}{{
+              orderData.unloadDetailedAddress
+          }}
+        </div>
+        <div class="right_title">司机姓名</div>
+        <div class="right_item">{{ orderData.driverName }}</div>
+        <div class="right_title">司机身份证号</div>
+        <div class="right_item">{{ orderData.driverIdCard }}</div>
+        <div class="right_title">货物类别</div>
+        <div class="right_item">{{ orderData.goodsType }}</div>
+        <div class="right_title">货名</div>
+        <div class="right_item">{{ orderData.goodsName }}</div>
+        <div class="right_title">重量(kg)</div>
+        <div class="right_item">{{ orderData.publishTaskInfo.weight }}</div>
+        <div class="right_btn">
+          <el-button @click="rightSee = false">关闭</el-button>
+        </div>
+      </div>
+    </el-drawer>
+  </div>
+</template>
+<script>
+import {
+  waybillGetList,
+  waybillGetInfo,
+  deferEscalation,
+  batchEscalation
+} from '@/api/administrationManagement'
+export default {
+  data() {
+    return {
+      tableData: [],
+      // 分页
+      searchkeyWord: '',
+      currentPage: 1,
+      pageSize: 10,
+      deptBudgetTotal: 0,
+      deptCircularPage: {},
+      search: "",
+      modification: [],
+      orderData: {
+        publishTaskInfo: {},
+        hyCarrierInfo: {},
+        hyCargoOwnerInfo: {},
+        hyCompanyInfo: {}
+      },
+      value1: '',
+      status: '',
+      disabled: false,
+      rejectInfo: false,
+      //侧边查看
+      rightSee: false,
+      //筛选时间
+      startDate: '',
+      endDate: '',
+    }
+  },
+  mounted() {
+    this.getList()
+  },
+  methods: {
+    handleSelectionChange(val) {
+      this.modification = val;
+    },
+    dateChange(e) {
+      this.startDate = e[0]
+      this.endDate = e[1]
+      this.getList()
+    },
+    //上报
+    submission(row) {
+      this.modification.push(row)
+      this.batchSubmission()
+    },
+    //暂缓上报
+    postponeSubmission() {
+      if (this.modification.length > 0) {
+        this.$confirm('确定暂缓上报选中的条目?', '提示', {
+          confirmButtonText: '确定',
+          cancelButtonText: '取消',
+          type: 'warning'
+        })
+          .then(() => {
+            deferEscalation({ orderInfoList: this.modification })
+              .then(response => {
+                if (response.code == 200) {
+                  this.$notify({
+                    title: '成功',
+                    message: '操作成功!',
+                    type: 'success'
+                  })
+                  this.modification = []
+                  this.getList()
+                }
+              })
+          })
+      } else {
+        this.$message.error('至少选中一条可上报的条目!')
+      }
+    },
+    //批量上报
+    batchSubmission() {
+      if (this.modification.length > 0) {
+        this.$confirm('确定批量上报运单信息?', '提示', {
+          confirmButtonText: '确定',
+          cancelButtonText: '取消',
+          type: 'warning'
+        })
+          .then(() => {
+            batchEscalation({ orderInfoList: this.modification })
+              .then(response => {
+                if (response.code == 200) {
+                  this.$notify({
+                    title: '成功',
+                    message: '上报成功!',
+                    type: 'success'
+                  })
+                  this.modification = []
+                  this.getList()
+                }
+              })
+          })
+      } else {
+        this.$message.error('至少选中一条可上报的条目!')
+      }
+    },
+    selectInit(row) {
+      if (row.status == '审核中' || row.status == '已通过') {
+        return false
+      } else {
+        return true
+      }
+    },
+    getList() {
+      this.listLoading = true;
+      let _obj = {};
+      _obj.currentPage = this.currentPage;
+      _obj.pageSize = this.pageSize;
+      _obj.searchKeyWord = this.searchkeyWord;
+      _obj.administrationType = this.search;
+      _obj.startDate = this.startDate
+      _obj.endDate = this.endDate
+      waybillGetList(_obj)
+        .then((response) => {
+          this.tableData = response.data.records;
+          for (let i = 0; i < this.tableData.length; i++) {
+            this.tableData[i].iconShow = true;
+          }
+          this.deptBudgetTotal = response.data.total;
+          this.listLoading = false;
+        })
+        .catch(() => {
+          this.listLoading = false;
+        });
+    },
+    searchBtn(num) {
+      this.search = num;
+      this.getList();
+    },
+    find() {
+      this.currentPage = 1
+      this.getList()
+    },
+    look(row) {
+      this.loading = true
+      this.rightSee = true
+      waybillGetInfo({
+        id: row.id
+      }).then(response => {
+        this.orderData = response.data
+        this.listLoading = false
+      })
+        .catch(() => {
+          this.listLoading = false
+        })
+    },
+    handleSizeChange(val) {
+      console.log(`每页 ${val} 条`)
+      this.pageSize = val
+      this.getList()
+    },
+    handleCurrentChange(val) {
+      this.currentPage = val
+      console.log(`当前页: ${val}`)
+      this.getList()
+    }
+  }
+}
+</script>
+<style lang="scss" scoped>
+.center {
+  padding: 10px 20px;
+  background: #f5f6f7;
+  height: calc(100vh - 5vh);
+
+  .top_css {
+    padding: 10px;
+
+    .search_btn {
+      height: 80px;
+      background: linear-gradient(#fafbfb, #ffffff);
+      display: flex;
+      margin-top: 20px;
+
+      .search_block {
+        margin-left: 20px;
+      }
+
+      .search_item {
+        text-align: center;
+        font-size: 14px;
+        font-weight: 600;
+        line-height: 40px;
+        width: 112px;
+        height: 40px;
+        background: #f7f8f9;
+        cursor: pointer;
+        margin-top: 30px;
+      }
+
+      .searchNo {
+        color: #323233;
+      }
+
+      .search {
+        color: #2f53eb;
+        background: #ffffff;
+      }
+    }
+  }
+
+  .ask_css {
+    position: absolute;
+    margin: 3px 0 0 10px;
+  }
+
+  .center_css {
+    background: #ffffff;
+    border-radius: 1px;
+    margin-top: 10px;
+    padding-bottom: 10px;
+  }
+
+  .screen {
+    display: flex;
+
+    .search {
+      width: 40px;
+      height: 40px;
+      background: #2f53eb;
+      border-radius: 0px 2px 2px 0px;
+      border: 1px solid #DCDFE6;
+      margin-left: -1px;
+    }
+
+    .count_css {
+      width: 80px;
+      text-align: center;
+      line-height: 40px;
+      color: #666666;
+    }
+  }
+
+  .el-button {
+    padding: 10px 20px !important;
+  }
+
+  .center_css {
+
+    ::v-deep .el-table th,
+    ::v-deep .el-table td {
+      text-align: center;
+    }
+
+    .fujian {
+      font-size: 24px;
+      color: #409eff;
+    }
+
+    .warning {
+      font-size: 14px;
+      color: #ed1d1d;
+    }
+  }
+}
+
+.el-button--primary {
+  color: #FFF;
+  background-color: #2f53eb;
+  border-color: #2f53eb;
+}
+
+.car_css {
+  width: 50%;
+  display: inline-block;
+  text-align: center;
+  margin-top: 30px;
+  position: relative;
+
+  .status_css {
+    background: #3AC602;
+    width: 50px;
+    height: 17px;
+    position: absolute;
+    top: 0px;
+    right: 15px;
+    border-radius: 3px;
+  }
+
+  .carno_css {
+    padding: 1px 5px;
+    background-color: #F5F6F7;
+    color: #666666;
+    border-radius: 12px;
+    text-align: center;
+    width: 100px;
+    margin: 10px auto 0;
+  }
+
+  .carborder_css {
+    border: 1px solid #F0F1F2;
+    margin: 15px auto 0;
+    width: 90%;
+  }
+}
+
+.tips {
+  color: #999999;
+  font-size: 14px;
+}
+
+.car_item {
+  width: 200px;
+  height: 160px;
+  border-radius: 5px;
+}
+
+.user {
+  margin-bottom: 20px;
+
+  .id_css {
+    font-size: 14px;
+  }
+
+  .id_css,
+  .name_css {
+    margin: 5px 0;
+    color: #0D0D0D;
+  }
+
+  .pay_name {
+    color: #9D9D9D;
+    font-size: 14px;
+  }
+
+  .name_css {
+    font-size: 16px;
+  }
+
+  .user_item {
+    margin: 25px 0;
+    width: 450px;
+    height: 300px;
+  }
+
+  .border_css {
+    width: 100%;
+    border: 1px solid #F0F1F2;
+  }
+}
+
+::v-deep .el-table--border .el-table__header th {
+  background: #f7f8f9;
+}
+
+.btn_css {
+  color: #409EFF;
+  cursor: pointer
+}
+
+.btn_css1 {
+  margin-left: -20px;
+}
+
+.sign {
+  font-size: 14px;
+  color: red;
+}
+
+.form_css {
+  width: 100%;
+  margin: 20px auto 20px;
+
+  ::v-deep .el-checkbox {
+    width: 40%;
+    height: 30px;
+  }
+
+  // ::v-deep .el-dialog__body{
+  // 	padding: 10px 20px;
+  // }
+  ::v-deep .el-dialog__title {
+    font-size: 16px;
+  }
+
+  ::v-deep .el-textarea__inner {
+    background: #F0F1F2;
+  }
+
+  .form_btn {
+    text-align: right;
+    margin-top: 10px;
+  }
+}
+
+//发送信息
+.Info_css {
+  .Info_title {
+    color: #323233;
+    font-size: 16px;
+  }
+
+  .Info_item {
+    margin: 20px 0;
+  }
+
+  .Info_btn {
+    text-align: right;
+    margin-top: 10px;
+  }
+}
+
+//附件
+.file {
+  .fujian_css {
+    width: 631px;
+    display: flex;
+    margin: 0 auto;
+    text-align: center;
+    line-height: 32px;
+    border: 1px solid #F0F1F2;
+    border-right: 0px;
+    border-radius: 2px 0px 0px 2px;
+
+    .fujian_item {
+      cursor: pointer;
+      width: 90px;
+      height: 32px;
+      border-right: 1px solid #F0F1F2;
+    }
+
+    .file_btn {
+      color: #2F53EB;
+      background-color: #CFDBFE;
+    }
+  }
+
+  .file_img {
+    width: 525px;
+    height: 332px;
+    margin: 20px auto;
+  }
+
+  .img_css {
+    width: 525px;
+    height: 332px;
+  }
+
+  .btn {
+    width: 400px;
+    margin: 0 auto;
+  }
+}
+
+.right_css {
+  // overflow-y: auto !important;
+  min-height: 1266px;
+  padding: 0 20px;
+
+  .right_title {
+    color: #9D9D9D;
+    font-size: 14px;
+    margin-bottom: 4px;
+  }
+
+  .title_name {
+    margin-bottom: 10px;
+  }
+
+  .right_item {
+    color: #0D0D0D;
+    font-size: 14px;
+    margin-bottom: 10px;
+  }
+
+  .right_btn {
+    text-align: center;
+    margin: 10px 0;
+  }
+
+  .img_css {
+    width: 100px;
+    height: 80px;
+    margin-right: 5px;
+  }
+
+  .right_img {
+    width: 200px;
+    height: 120px;
+    margin-top: 10px;
+  }
+}
+.find::v-deep input.el-input__inner {
+  border-radius: 0;
+}
+
+::v-deep .el-drawer.rtl {
+  overflow: auto;
+}
+</style>