gjy 2 yıl önce
ebeveyn
işleme
0092d5313f

+ 26 - 0
src/api/operationLog.js

@@ -0,0 +1,26 @@
+import request from '@/utils/request'
+// 操作日志列表
+export function logList(data) {
+  return request({
+    url: '/hyOperLog/selectOperLog',
+    method: 'get',
+     params: data,
+  })
+}
+//删除日志
+export function delInfo(data) {
+    return request({
+      url: '/hyOperLog/api/deleteOperLog',
+      method: 'post',
+       data: data,
+    })
+  }
+ 
+  //导出日志
+export function exportInfo(data) {
+    return request({
+      url: '/hyOperLog/api/export',
+      method: 'post',
+      data: data,
+    })
+  }

+ 41 - 0
src/api/parkReportManagement.js

@@ -0,0 +1,41 @@
+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/batchSubmission',
+      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/batchSubmission',
+    method: 'post',
+     data: data,
+  })
+}

+ 2 - 0
src/router/index.js

@@ -14,6 +14,7 @@ import feedbackManagement from './feedbackManagement/index'
 import officialWebsiteManagement from './officialWebsiteManagement/index'
 import parkReportManagement from './parkReportManagement/index'
 import settlementManagement from './settlementManagement/index'
+import operationLog from './operationLog/index'
 
 
 export const constantRoutes = [{
@@ -55,6 +56,7 @@ export const constantRoutes = [{
     officialWebsiteManagement,
     parkReportManagement,
     settlementManagement,
+    operationLog,
 
     // {
     // 	path: '/example',

+ 28 - 0
src/router/operationLog/index.js

@@ -0,0 +1,28 @@
+/** When your routing table is too long, you can split it into small modules**/
+
+import Layout from '@/layout'
+
+const operationLogRouter = {
+    path: '/operationLog',
+    component: Layout,
+    redirect: 'noRedirect',
+    name: 'operationLog',
+    meta: {
+        title: '操作日志',
+        icon: 'dingdanguanli'
+    },
+    alwaysShow: true,
+    children: [
+      {
+        path: 'logManagement',
+        name: 'logManagement',
+        component: () => import('@/views/operationLog/logManagement'),
+        meta: {
+            title: '日志管理',
+            icon: ''
+        }
+    }
+    ]
+}
+
+export default operationLogRouter

+ 143 - 0
src/utils/batchDown.js

@@ -0,0 +1,143 @@
+import { getBatchAttachment } from '@/model/indexRx'
+import { getFileList } from '@/model/upload'
+import i18n from '../lang/index.js'
+import { EventBus, dayjs } from 'base-core-lib'
+
+function downLoad (res, name) {
+  const reader = new FileReader()
+  reader.readAsText(res, 'utf-8')
+  reader.onload = function () {
+    if (reader.result.indexOf('noPermission') != -1) {
+      EventBus.$emit('warning', this.$t('upload.message07'))
+    } else {
+      const a = document.createElement('a')
+      a.download = name
+      a.href = window.URL.createObjectURL(res)
+      a.style.display = 'none'
+      document.body.appendChild(a)
+      a.click()
+      URL.revokeObjectURL(a.href)
+      document.body.removeChild(a)
+    }
+  }.bind(this)
+}
+/**
+ * 静态下载文件类型
+ */
+const BLOB_TYPE = {
+  'doc': 'application/msword',
+  'bin': 'application/octet-stream',
+  'exe': 'application/octet-stream',
+  'so': 'application/octet-stream',
+  'dll': 'application/octet-stream',
+  'pdf': 'application/pdf',
+  'ai': 'application/postscript',
+  'xls': 'application/vnd.ms-excel',
+  'xlsx': 'application/vnd.ms-excel',
+  'ppt': 'application/vnd.ms-powerpoint',
+  'dir': 'application/x-director',
+  'js': 'application/x-javascript',
+  'swf': 'application/x-shockwave-flash',
+  'xhtml': 'application/xhtml+xml',
+  'xht': 'application/xhtml+xml',
+  'zip': 'application/zip',
+  'mid': 'audio/midi',
+  'midi': 'audio/midi',
+  'mp3': 'audio/mpeg',
+  'rm': 'audio/x-pn-realaudio',
+  'rpm': 'audio/x-pn-realaudio-plugin',
+  'wav': 'audio/x-wav',
+  'bmp': 'image/bmp',
+  'gif': 'image/gif',
+  'jpeg': 'image/jpeg',
+  'jpg': 'image/jpeg',
+  'png': 'image/png',
+  'css': 'text/css',
+  'html': 'text/html',
+  'htm': 'text/html',
+  'txt': 'text/plain',
+  'xsl': 'text/xml',
+  'xml': 'text/xml',
+  'mpeg': 'video/mpeg',
+  'mpg': 'video/mpeg',
+  'avi': 'video/x-msvideo',
+  'movie': 'video/x-sgi-movie',
+}
+/**
+ * 通用流文件下载
+ * @param {*} param {res:流文件, fileName:文件名称, type:文件类型 }
+ */
+export async function downloadFile ({ res, fileName, type }) {
+  fileName = fileName + '.' + type
+  if (!res.size) {
+    EventBus.$emit('error', '接口未返回任何流文件,请联系业务人员~')
+    return
+  }
+  if (!type) {
+    EventBus.$emit('error', '请指定下载文件类型~')
+    return
+  }
+  if (!BLOB_TYPE[type.toLowerCase()]) {
+    EventBus.$emit('error', '未找到相应的文件类型,请更换文件类型后重试~')
+    return
+  }
+  // type 为需要导出的文件类型,此处为xls表格类型
+  const blob = new Blob([res],
+    // {type: BLOB_TYPE[type.toLowerCase()]}
+  )
+  if (window.navigator.msSaveOrOpenBlob) {
+    navigator.msSaveBlob(blob, fileName)
+    return
+  }
+  // 兼容不同浏览器的URL对象
+  const url = window.URL || window.webkitURL || window.moxURL
+  // 创建下载链接
+  const href = url.createObjectURL(blob)
+  // 创建a标签并为其添加属性
+  let downloadElement = document.createElement('a')
+  downloadElement.href = href
+  downloadElement.style.display = 'none'
+  downloadElement.download = `${fileName}`
+  document.body.appendChild(downloadElement)
+  // 触发点击事件执行下载
+  downloadElement.click()
+  document.body.removeChild(downloadElement) //下载完成移除元素
+  window.URL.revokeObjectURL(href) //释放掉blob对象
+}
+
+export async function zipDown ({ appendixIds, zipName = i18n.t('dataManage.downloadFileName'), baseUrl }) {
+  if (appendixIds.split(',').length === 1) {
+    const getFileInfo = await getFileList({ appendixIds: appendixIds }).toPromise()
+    if (getFileInfo.length == 1) {
+      const a = document.createElement('a')
+      a.setAttribute('target', '_blank')
+      a.href = `${baseUrl}appendix/api/singleDownLoadFile?appendixId=${appendixIds}`
+      a.style.display = 'none'
+      document.body.appendChild(a)
+      a.click()
+      URL.revokeObjectURL(a.href)
+      document.body.removeChild(a)
+      return
+    }
+    return
+  }
+  const { data } = await getBatchAttachment({ appendixIds: appendixIds, zipName: zipName }, {}, { responseType: 'blob' }).toPromise()
+  downLoad(data, zipName + dayjs().format('YYYYMMDD') + '.zip')
+}
+
+
+export function getLocationAdress (data) {
+  let url = ''
+  if (process.env.VUE_APP_BASE_API) {
+    url = process.env.VUE_APP_BASE_API + data
+  }
+  else {
+    url = `${window.location.protocol}//${window.location.host}/${data}`
+  }
+  window.location.href = url
+}
+
+export function exportFileUrl (module, type, id, fileName, vendorId) {
+  console.log(`${process.env.VUE_APP_API_SUPPLY}/purExport/${module}/${type}?id=${id}&fileName=${fileName}&vendorId=${vendorId}`, 1919)
+  return `${process.env.VUE_APP_API_SUPPLY}/purExport/${module}/${type}?id=${id}&fileName=${fileName}&vendorId=${vendorId}`
+}

+ 7 - 2
src/utils/request.js

@@ -44,7 +44,7 @@ service.interceptors.response.use(
   response => {
     const res = response.data
     // if the custom code is not 20000, it is judged as an error.
-    if (res.code !== 200 && res.code !== '200') {
+    if (res.code && res.code !== 200 && res.code !== '200') {
       Message({
         message: res.message || 'Error',
         type: 'error',
@@ -66,7 +66,12 @@ service.interceptors.response.use(
       }
       return Promise.reject(new Error(res.message || 'Error'))
     } else {
-      return res
+      if(!res.code){
+        return response
+      }else{
+        return res
+      }
+      
     }
   },
   error => {

+ 4 - 0
src/views/driverManagement/identityExamine.vue

@@ -378,6 +378,7 @@
           type: "warning",
         }).then(() => {
           this.listLoading = true;
+          val.advancePayment = val.advancePayment/100
           editInfo(val)
             .then((response) => {
               if (response.code == 200) {
@@ -423,6 +424,9 @@
             this.tableData = response.data.records;
             for (let i = 0; i < this.tableData.length; i++) {
               this.tableData[i].iconShow = true;
+              if(this.tableData[i].advancePayment){
+                this.tableData[i].advancePayment*=100
+              }
             }
             this.deptBudgetTotal = response.data.total;
             this.listLoading = false;

+ 403 - 0
src/views/operationLog/logManagement.vue

@@ -0,0 +1,403 @@
+// 操作日志
+<template>
+  <div class="center">
+    <div class="center_css">
+      <div class="top_css">
+        <el-row>
+          <el-col :span="16" style="height: 45px">
+            <span type="primary" class="batch_text">
+              <i class="el-icon-tickets"></i>数据列表</span>
+            <el-button type="danger" plain icon="el-icon-delete" size="small" @click="delBtn()">删除</el-button>
+            <el-button type="warning" plain icon="el-icon-download" size="small" class="top_btn" @click="exportBtn()">导出
+            </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="8" style="height: 45px">
+            <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>
+      </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"
+        :default-sort="{ prop: 'date', order: 'descending' }">
+        <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="title" label="系统模块"></el-table-column>
+        <el-table-column prop="requestMethod" label="请求方式"></el-table-column>
+        <el-table-column prop="operator" label="操作人员" sortable></el-table-column>
+        <el-table-column prop="ip" label="操作地址"></el-table-column>
+        <el-table-column prop="status" label="操作状态"></el-table-column>
+        <el-table-column prop="updateDate" label="操作日期" sortable></el-table-column>
+        <el-table-column label="操作" min-width="200">
+          <template slot-scope="scope">
+            <span @click="look(scope.row)" style="color: #40b6ff;cursor:pointer"><i class="el-icon-view"
+                style="margin: 0 6px"></i>详情</span>
+          </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 title="导出日志" :visible.sync="logVisible" width="400px" :before-close="handleClose">
+      <el-form ref="form" label-width="100px">
+        <el-form-item label="起始日期">
+          <el-date-picker value-format="yyyy-MM-dd" type="date" placeholder="请选择起始日期" v-model="formInfo.startDate">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label="截止日期">
+          <el-date-picker value-format="yyyy-MM-dd" type="date" placeholder="请选择截止日期" v-model="formInfo.endDate">
+          </el-date-picker>
+        </el-form-item>
+      </el-form>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="logVisible = false">取 消</el-button>
+        <el-button type="primary" @click="exportSubmit">确 定</el-button>
+      </span>
+    </el-dialog>
+
+    <el-dialog title="日志详情" :visible.sync="detailsVisible" width="40%" :before-close="detailsClose">
+      <el-form ref="form" label-width="100px">
+        <el-form-item label="日志类型">
+          <span>{{detailsInfo.title}}</span>
+        </el-form-item>
+        <el-form-item label="请求方式">
+          <span>{{detailsInfo.requestMethod}}</span>
+        </el-form-item>
+        <el-form-item label="后台地址">
+          {{detailsInfo.url}}
+        </el-form-item>
+        <el-form-item label="请求地址">
+          <span>{{detailsInfo.ip}}</span>
+        </el-form-item>
+      </el-form>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="detailsVisible = false">取 消</el-button>
+        <el-button type="primary" @click="detailsVisible = false">确 定</el-button>
+      </span>
+    </el-dialog>
+
+    <el-image-viewer v-if="imgsVisible" :on-close="closeImgViewer" :url-list="srcList" style="z-index: 9999" />
+  </div>
+</template>
+<script>
+  import {
+    logList,
+    delInfo,
+    exportInfo
+  } from "@/api/operationLog";
+  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: "",
+        //图片预览
+        srcList: [],
+        imgsVisible: false,
+        //筛选时间
+        startDate: "",
+        endDate: "",
+        value1: [],
+        //批量
+        musterList: [],
+        //导出
+        logVisible: false,
+        formInfo: {},
+        //详情
+        detailsVisible: false,
+        detailsInfo: {}
+      };
+    },
+    mounted() {
+      let date = new Date();
+      let date1 = new Date().setTime(date.getTime() - 24 * 60 * 60 * 1000); //一天前的时间蹉
+      date1 = new Date(parseInt(date1))
+        .toLocaleString()
+        .split(" ")[0]
+        .replaceAll("/", "-");
+      console.log(date1);
+
+      this.startDate =
+        date1.split("-")[0] +
+        "-" +
+        (date1.split("-")[1] < 10 ?
+          "0" + date1.split("-")[1] :
+          date1.split("-")[1]) +
+        "-" +
+        (date1.split("-")[2] < 10 ?
+          "0" + date1.split("-")[2] :
+          date1.split("-")[2]);
+      this.endDate =
+        date.getFullYear() +
+        "-" +
+        (date.getMonth() + 1 < 10 ?
+          "0" + (date.getMonth() + 1) :
+          date.getMonth()) +
+        "-" +
+        (date.getDate() < 10 ? "0" + date.getDate() : date.getDate()); //當前時間
+      this.value1 = [this.startDate, this.endDate];
+      this.getList();
+    },
+    methods: {
+      look(val) { //详情
+        this.detailsInfo = val
+        this.detailsVisible = true
+
+      },
+      handleClose() {
+        this.logVisible = false;
+      },
+      detailsClose() {
+        this.detailsVisible = false
+      },
+      async exportSubmit() {
+        exportInfo({
+          startDate: this.formInfo.startDate,
+          endDate: this.formInfo.endDate,
+        }).then((response) => {
+          let blob = response.data;
+          let a = document.createElement("a");
+          //由于后台返回文件名称是通过response返回的
+          //因此需要从response headers中content-disposition响应头中获取文件名称fileName,如上图所示
+          let headers = response.headers;
+          let fileName = headers["content-disposition"];
+          fileName = fileName.split('=')[1]
+          //download是a标签的一个属性,可以自定义文件名称
+          a.download = fileName;
+          let binaryData = [];
+          binaryData.push(blob);
+          // a.href = URL.createObjectURL(blob);
+         a.href = window.URL.createObjectURL(new Blob(binaryData));
+          document.body.appendChild(a);
+          a.click();
+          document.body.removeChild(a);
+          //  downloadFile({
+          // res: response,
+          // fileName: `导出日志记录`,
+          // type: "xls",
+          // });
+
+        });
+        // const {
+        //   data
+        // } = await exportInfo({
+        //   startDate: this.formInfo.startDate,
+        //   endDate: this.formInfo.endDate,
+        // }, {}, {
+        //   responseType: "blob",
+        // }).toPromise();
+        // debugger
+        // console.log(data)
+        //     downloadFile({
+        //     res: data,
+        //     fileName: `导出日志记录`,
+        //     type: "xls",
+        //     });
+      },
+      delBtn() {
+        if (this.musterList.length == 0) {
+          this.$message.error("请勾选操作的条目!");
+          return;
+        }
+        this.$confirm("确定删除信息?", "提示", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning",
+        }).then(() => {
+          delInfo({
+            hyOperLogList: this.musterList
+          }).then((response) => {
+            if (response.code == 200) {
+              this.$notify({
+                title: "成功",
+                message: "删除成功!",
+                type: "success",
+              });
+              this.getList();
+            }
+          });
+        });
+      },
+      exportBtn() {
+        this.logVisible = true;
+      },
+      dateChange(e) {
+        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.startDate = this.startDate;
+        _obj.endDate = this.endDate;
+        logList(_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.getList();
+      },
+      selectInit() {
+        return true;
+      },
+      handleRowClick(row) {
+        return true;
+      },
+      handleSelectionChange(val) {
+        this.musterList = val;
+        console.log(this.musterList);
+      },
+      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 {
+      min-width: 1020px;
+      padding: 10px;
+
+      .batch_text {
+        font-size: 22px;
+        margin-right: 10px;
+      }
+
+      .top_btn {
+        margin-right: 10px;
+      }
+    }
+
+    .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;
+  }
+</style>

+ 1 - 1
src/views/orderManagement/orderAudit.vue

@@ -210,7 +210,7 @@
       </div>
     </el-dialog>
 
-    <el-drawer title="订单详情" :visible.sync="rightSee" >
+    <el-drawer title="订单详情" :visible.sync="rightSee" style="overflow-y: auto !important">
       <div class="right_css">
         <div style='height:80vh;overflow-y:scroll;'>
           <div class="title_name">基本信息</div>

+ 653 - 133
src/views/parkReportManagement/dailyReport.vue

@@ -1,158 +1,678 @@
+// 规定记录审核
 <template>
   <div class="center">
-    <div class="main_css">
-      <div class="formData">
-        <el-form ref="form" :model="form" label-width="80px">
-          <el-form-item label="编写单位">
-            <el-input v-model="form.compilationUnit" clearable placeholder="请输入编写单位"></el-input>
-          </el-form-item>
-          <el-form-item label="编撰人员">
-            <el-input v-model="form.editor" clearable placeholder="请输入编撰人员"></el-input>
-          </el-form-item>
-          <el-form-item label="版本号">
-            <el-input v-model="form.versionNumber" clearable placeholder="请输入版本号"></el-input>
-          </el-form-item>
-          <el-form-item label="提交人">
-            <el-input v-model="form.submitter" clearable placeholder="自动获取,不可编辑" disabled></el-input>
-          </el-form-item>
-          <el-form-item label="版本说明">
-            <el-input v-model="form.versionDescription" clearable placeholder="请输入版本说明" maxlength="100">
-            </el-input>
-          </el-form-item>
-          <div>
-            <quill-editor v-model="form.content" res="myQuillEditor" :options="editorOption" id="editor">
-              <!-- @blur="onEditorBlur($event)" @focus="onEditorFocus($event)" @change="onEditorChange($event)" -->
-            </quill-editor>
-          </div>
-        </el-form>
-      </div>
-      <div class="btn">
-        <el-button @click="submit">提交</el-button>
+    <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 :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="compilationUnit" label="收款人" />
+        <el-table-column prop="editor" label="司机账号" />
+        <el-table-column prop="updateDate" label="流水号" />
+        <el-table-column prop="updateDate" label="金额(元)" />
+        <el-table-column prop="updateDate" label="类型" />
+        <!-- <el-table-column label="上传" prop="submitter" /> -->
+        <!-- <el-table-column prop="versionDescription" label="版本说明" /> -->
+        <el-table-column prop="status" label="状态" />
+        <el-table-column prop="updateDate" label="付款时间" />
+        <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)" 
+            v-if="scope.row.search == 1 || scope.row.search == 4 || scope.row.status == '暂缓中'" >上报</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.compilationUnit }}</div>
+        <div class="right_title">发货时间</div>
+        <div class="right_item">{{ orderData.compilationUnit }}</div>
+        <div class="right_title">收货时间</div>
+        <div class="right_item">{{ orderData.compilationUnit }}</div>
+        <div class="right_title">托运方</div>
+        <div class="right_item">{{ orderData.compilationUnit }}</div>
+        <div class="right_title">托运方证件号或信用代码</div>
+        <div class="right_item">{{ orderData.compilationUnit }}</div>
+        <div class="right_title">收货方</div>
+        <div class="right_item">{{ orderData.compilationUnit }}</div>
+        <div class="right_title">收货方证件号或信用代码</div>
+        <div class="right_title">运费</div>
+        <div class="right_item">{{ orderData.compilationUnit }}</div>
+        <div class="right_item">{{ orderData.compilationUnit }}</div>
+        <div class="right_title">车牌号</div>
+        <div class="right_item">{{ orderData.compilationUnit }}</div>
+        <div class="right_title">车牌颜色</div>
+        <div class="right_item">{{ orderData.compilationUnit }}</div>
+        <div class="right_title">发货地址</div>
+        <div class="right_item">
+          {{ orderData.compilationUnit }}{{ orderData.compilationUnit }}{{ orderData.compilationUnit }}{{ orderData.compilationUnit }}
+        </div>
+        <div class="right_title">收货地址</div>
+        <div class="right_item">
+          {{ orderData.compilationUnit }}{{ orderData.compilationUnit }}{{ orderData.compilationUnit }}{{ orderData.compilationUnit }}
+        </div>
+        <div class="right_title">司机姓名</div>
+        <div class="right_item">{{ orderData.compilationUnit }}</div>
+        <div class="right_title">司机身份证号</div>
+        <div class="right_item">{{ orderData.compilationUnit }}</div>
+        <div class="right_title">货物类别</div>
+        <div class="right_item">{{ orderData.compilationUnit }}</div>
+        <div class="right_title">货名</div>
+        <div class="right_item">{{ orderData.compilationUnit }}</div>
+        <div class="right_title">重量(kg)</div>
+        <div class="right_item">{{ orderData.compilationUnit }}</div>
+        
+        <!-- <div class="right_title">发货联系人</div>
+        <div class="right_item">{{ orderData.compilationUnit }}</div>
+        <div class="right_title">发货联系人电话</div>
+        <div class="right_item">{{ orderData.compilationUnit }}</div> -->
+        <!-- <div class="right_title">距离</div>
+        <div class="right_item">约{{ orderData.compilationUnit ? orderData.compilationUnit : 0 }}km</div> -->
+        <!-- <el-divider v-if="orderData.compilationUnit"></el-divider>
+        <div v-if="orderData.compilationUnit">
+          <div class="title_name">承运信息</div>
+          <div class="right_title">承运合同编号</div>
+          <div class="right_item">{{orderData.compilationUnit}}</div>
+          <div class="right_title">委托合同编号</div>
+          <div class="right_item">{{orderData.compilationUnit}}</div>
+          <div class="right_title">车牌号</div>
+          <div class="right_item">{{orderData.hyCarrierInfo.carNo}}</div>
+          <div class="right_title">预计运费</div>
+          <div class="right_item">{{orderData.hyCarrierInfo.estimatedFreight}}</div>
+          <div class="right_title">装车时间</div>
+          <div class="right_item">{{orderData.hyCarrierInfo.loadingDate}}</div>
+          <div class="right_title">装车定位</div>
+          <div class="right_item">{{orderData.hyCarrierInfo.loadingCity}}{{orderData.hyCarrierInfo.loadingArea}}</div>
+          <div class="right_title">装车照片</div>
+          <div style="display: flex;" v-if="orderData.hyCarrierInfo.loadingImg">
+            <div v-for="(item,index) in orderData.hyCarrierInfo.loadingImg.split(',')" :key="index">
+              <img :src="item" class="img_css" @click="enlarge(item)">
+            </div>
+          </div>
+          <div class="right_title" v-if="orderData.hyCarrierInfo.totalFreight">合计应付运费</div>
+          <div class="right_item">{{orderData.hyCarrierInfo.totalFreight}}</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.hyCarrierInfo.unloadingCity}}{{orderData.hyCarrierInfo.unloadingArea}}</div>
+          <div class="right_title" v-if="orderData.hyCarrierInfo.unloadingImg">卸车照片</div>
+          <div style="display: flex;" v-if="orderData.hyCarrierInfo.unloadingImg">
+            <div v-for="(item,index) in orderData.hyCarrierInfo.unloadingImg.split(',')" :key="index">
+              <img :src="item" class="img_css" @click="enlarge(item)">
+            </div>
+          </div>
+        </div> -->
+        <!-- <el-divider v-if="orderData.freightInfo"></el-divider>
+        <div v-if="orderData.freightInfo">
+          <div class="title_name">运费信息(单位:元)</div>
+          <div class="right_title">预付运费</div>
+          <div class="right_item">{{orderData.freightInfo.prepaidFreight}} <span
+              style="margin-left: 100px;">{{orderData.freightInfo.prepaidFreightDate}}</span></div>
+          <div class="right_title">运费尾款</div>
+          <div class="right_item">{{orderData.freightInfo.freightBalance?orderData.freightInfo.freightBalance:'未支付'}}
+            <span style="margin-left: 100px;">{{orderData.freightInfo.freightBalanceDate}}</span></div>
+          <div class="right_title" v-if="orderData.freightInfo.freightBalance">明细</div>
+          <div class="right_item" v-if="orderData.freightInfo.freightBalance">
+            预付{{orderData.freightInfo.prepaidFreight ? orderData.freightInfo.prepaidFreight : 0}}元,服务费{{orderData.freightInfo.driverServiceCharge ? orderData.freightInfo.driverServiceCharge:0}}元,尾款{{orderData.freightInfo.freightBalance ? orderData.freightInfo.freightBalance:0}}元,合计收款{{orderData.freightInfo.totalCollection ? orderData.freightInfo.totalCollection:0}}元。
+          </div>
+        </div> -->
+        <!-- <el-divider v-if="orderData.repaymentInfo"></el-divider> -->
+        <!-- <div v-if="orderData.repaymentInfo">
+          <div class="title_name">还款信息</div>
+          <div class="right_title">运费</div>
+          <div class="right_item">{{orderData.freight}}</div>
+          <div class="right_title">超期费(每天3%)</div>
+          <div class="right_item">{{orderData.repaymentInfo.overdueFee}}</div>
+          <div class="right_title">合计应还</div>
+          <div class="right_item">{{orderData.repaymentInfo.totalRepayable}}</div>
+          <div class="right_title">还款(尾号6666)</div>
+          <div class="right_item">{{orderData.repaymentInfo.alreadyRepaid}}</div>
+        </div> -->
+        <div class="right_btn">
+          <el-button @click="rightSee = false">关闭</el-button>
+        </div>
+      </div>
+    </el-drawer>
   </div>
 </template>
-
 <script>
-  import {
-    addFormData
-  } from '@/api/platformManagement'
-  import quillEditor from 'vue-quill-editor';
-  export default {
-    data() {
-      return {
-        editorOption: {
-          // modules: {
-          //   // toolbar: [
-          //   //   ['bold', 'italic', 'underline', 'strike', 'background', 'color', 'font', 'size'],
-          //   //   ['blockquote', 'code-block']
-          //   // ]
-          // }
-        },
-        form: {},
-        regulations: {},
-        version: [],
-        count: ""
+import {
+  getList,
+  seeData,
+  // toExamine,
+  // postNews,
+  // delFormData
+} from '@/api/platformManagement'
+export default {
+  data() {
+    return {
+      tableData: [],
+      // 分页
+      searchkeyWord: '',
+      currentPage: 1,
+      pageSize: 10,
+      deptBudgetTotal: 0,
+      deptCircularPage: {},
+      search: '',
+      orderData: {
+
+      },
+      value1: '',
+      status:'',
+      addressUrl: [],
+      disabled: false,
+      rejectInfo: false,
+      rightSee: false,
+      form: {
+        id: '',
+        checkList: [],
+        rejectReasonDescription: ''
       }
+    }
+  },
+  mounted() {
+    this.getList()
+  },
+  methods: {
+    // AddRecord() {
+    //   this.$router.push({
+    //     path: 'specifiedRecordsAdd'
+    //   })
+    // },
+
+    dateChange(e) {
+      this.startDate = e[0]
+      this.endDate = e[1]
+      this.getList()
     },
-    created() {
-      this.form.submitter = JSON.parse(localStorage.getItem('UserInfo')).deptName
-      this.regulations = JSON.parse(localStorage.getItem("regulations"))
-      if (this.regulations) {
-        this.$set(this.form, "compilationUnit", this.regulations.compilationUnit)
-        this.$set(this.form, "editor", this.regulations.editor)
-        // 默认当前生效规定版本版本号尾号 + 1
-        this.version = this.regulations.versionNumber.split(".")
-        this.count = Number(this.version[this.version.length - 1]) + 1
-        this.$set(this.form, "versionNumber", this.regulations.versionNumber.substr(0, this.version.length + 1) + this
-          .count)
-      }
+    //暂缓上报
+    postponeSubmission() {
+
     },
-    methods: {
-      // Oneditorblur(e) {//失去焦点事件
-      //   console.log(e)
-      // },
-      // Oneditorfocus(e) {//获得焦点事件
-      //   console.log(e)
-      // },
-      // Oneditorchange(e) {//内容改变事件
-      //   console.log(this.content)
-      // },
-      // SaveHtml(event) {//富文本点击保存按钮
-      //   alert(this.content);
-      // },
-      submit() {
-        if (this.form.compilationUnit && (this.form.compilationUnit.length < 0 || this.form.compilationUnit.length >
-          25)) {
-          this.$message.error("编写单位字数应在 0 - 25 之间")
-          return
-        }
-        if (this.form.editor && (this.form.editor.length < 0 || this.form.editor.length > 10)) {
-          this.$message.error("编撰人员字数应在 0 - 10 之间")
-          return
-        }
-        if (!this.form.versionNumber) {
-          this.$message.error("请输入版本号")
-          return
-        }
-        if (this.form.versionNumber.indexOf(".") == -1) {
-          this.$message.error("版本号格式不正确,如 1.**")
-          return
-        }
-        if (this.form.versionDescription && (this.form.versionDescription.length < 0 || this.form.versionDescription
-            .length > 100)) {
-          this.$message.error("版本说明字数应在 0 - 100 之间")
-          return
-        }
-        this.listLoading = true
-        addFormData(this.form).then(response => {
-            this.$notify({
-              title: '成功',
-              message: '添加成功!',
-              type: 'success'
-            });
-            var _obj = {}
-            _obj.compilationUnit = this.form.compilationUnit
-            _obj.editor = this.form.editor
-            _obj.versionNumber = this.form.versionNumber
-            localStorage.setItem("regulations", JSON.stringify(_obj))
-            this.listLoading = false
-            this.$router.go(-1)
-          })
-          .catch(() => {
-            this.loading = false
-          })
-      }
+    //批量上报
+    batchSubmission() {
+
+    },
+    //上报
+    submission() {
+
+    },
+      selectInit() {
+        return true;
+      },
+    getList() {
+      this.loading = true
+      const _obj = {}
+      _obj.currentPage = this.currentPage
+      _obj.pageSize = this.pageSize
+      _obj.searchKeyWord = this.searchkeyWord
+      _obj.searchType = this.search
+      getList(_obj).then(response => {
+        this.tableData = response.data.records
+        this.deptBudgetTotal = response.data.total
+        // if (this.tableData[0].status == '待审核' || this.tableData[0].status == '已驳回') {
+        //   // 最上面一条处于待审核和已驳回时新增按钮置灰不可用
+        //   this.disabled = true
+        // }
+        this.listLoading = false
+      })
+        .catch(() => {
+          this.loading = false
+        })
+    },
+    searchBtn(num) {
+      this.search = num;
+      this.getList();
+    },
+    // del(row) {
+    //   this.$confirm('确定要删除该记录吗?', '提示', {
+    //     confirmButtonText: '确定',
+    //     cancelButtonText: '取消',
+    //     type: 'warning'
+    //   })
+    //     .then(() => {
+    //       this.listLoading = true
+    //       var _del = {}
+    //       _del.id = row.id
+    //       delFormData(_del).then(response => {
+    //         this.$notify({
+    //           title: '成功',
+    //           message: '删除成功!',
+    //           type: 'success'
+    //         })
+    //         this.getList()
+    //         this.listLoading = false
+    //       })
+    //         .catch(() => {
+    //           this.loading = false
+    //         })
+    //     })
+    // },
+    // submitInfo() {
+    //   this.listLoading = true
+    //   postNews(this.Info).then(response => {
+    //     this.$notify({
+    //       title: '成功',
+    //       message: '发送成功!',
+    //       type: 'success'
+    //     })
+    //     this.sendInfoClose()
+    //     this.listLoading = false
+    //   })
+    //     .catch(() => {
+    //       this.loading = false
+    //     })
+    // },
+    find() {
+      this.getList()
+    },
+    look(row) {
+      this.loading = true
+      seeData({
+        id: row.id
+      }).then(response => {
+        this.orderData = response.data
+        this.rightSee = true
+        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 {
-    background: #F5F6F7;
-    height: calc(100vh - 4.5vh);
-    padding-top: 20px;
+.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;
+    }
   }
 
-  .main_css {
-    width: 96%;
-    height: 90vh;
-    overflow-y: scroll;
-    background: #FFFFFF;
+  .file_img {
+    width: 525px;
+    height: 332px;
     margin: 20px auto;
-    padding-top: 20px;
   }
 
-  .formData {
-    width: 50%;
-    margin: 20px 0 0 140px;
+  .img_css {
+    width: 525px;
+    height: 332px;
   }
 
   .btn {
-    text-align: right;
-    position: absolute;
-    right: 200px;
-    bottom: 100px;
+    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>

+ 608 - 180
src/views/parkReportManagement/driverInformationReporting.vue

@@ -1,189 +1,617 @@
+// 司机园区上报
 <template>
-	<div class="center">
-		<div class="main_css">
-			<div class="formData">
-				<el-form ref="form" :model="form" label-width="80px">
-					<el-form-item label="编写单位">
-						<el-input v-model="form.compilationUnit" clearable placeholder="暂无" :disabled="type == 1"></el-input>
-					</el-form-item>
-					<el-form-item label="编撰人员">
-						<el-input v-model="form.editor" clearable placeholder="暂无" :disabled="type == 1"></el-input>
-					</el-form-item>
-					<el-form-item label="版本号">
-						<el-input v-model="form.versionNumber" clearable placeholder="暂无" :disabled="type == 1"></el-input>
-					</el-form-item>
-					<el-form-item label="提交人">
-						<el-input v-model="form.submitter" clearable placeholder="暂无" disabled></el-input>
-					</el-form-item>
-					<el-form-item label="版本说明">
-						<el-input v-model="form.versionDescription" clearable placeholder="暂无" :disabled="type == 1"></el-input>
-					</el-form-item>
-          <div>
-            <quill-editor v-model="form.content" res="myQuillEditor" :options="editorOption" id="editor">
-              <!-- @blur="onEditorBlur($event)" @focus="onEditorFocus($event)" @change="onEditorChange($event)" -->
-            </quill-editor>
+  <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="escalationStatus" 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.escalationStatus != '未上报' && scope.row.escalationStatus != '未通过'">上报</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>
-				</el-form>
-			</div>
-			<div class="btn">
-				<el-button @click="submit(1)" v-if="type == 3">通过</el-button>
-				<el-button @click="submit(2)" v-if="type == 3">驳回</el-button>
-				<el-button @click="revert">关闭</el-button>
-				<el-button @click="edit" v-if="type == 2">修改</el-button>
-			</div>
-		</div>
-	</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 {
-		seeData,
-		editFormData,
-		auditFormData
-	} from '@/api/platformManagement'
-   import quillEditor from 'vue-quill-editor';
-	export default {
-		data() {
-			return {
-				form: {},
-        editorOption: {
-          // modules: {
-          //   // toolbar: [
-          //   //   ['bold', 'italic', 'underline', 'strike', 'background', 'color', 'font', 'size'],
-          //   //   ['blockquote', 'code-block']
-          //   // ]
-          // }
+  import {
+    getList,
+    report,
+    getInfo
+  } from "@/api/parkReportManagement";
+  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: 1,
+        disabled: false,
+        userInfo: false,
+        fujianInfo: false,
+        file: {},
+        img: [],
+        index: "0",
+        count: "1",
+        abilityName: "身份证人像面",
+        abilityName1: "身份证国徽面",
+        //图片预览
+        srcList: [],
+        imgsVisible: false,
+        //筛选时间
+        startDate: "",
+        endDate: "",
+        value1: [],
+        //侧边查看
+        rightSee: false,
+        costData: {
+          publishTaskInfo: {}
         },
-				id:"",
-				type:"",
-			}
-		},
-		mounted() {
-			this.id = this.$route.query.id
-			this.type = this.$route.query.type
-			this.getList()
-		},
-		methods: {
-			getList(){
-				this.listLoading = true
-				var _obj = {}
-				_obj.id = this.id
-				seeData(_obj).then(response => {
-						this.form = response.data
-						this.listLoading = false
-					})
-					.catch(() => {
-						this.loading = false
-					})
-			},
-			revert(){
-				this.$router.go(-1)
-			},
-			submit(num){
-				var _audit = {}
-				_audit.id = this.form.id
-				let title_name = ""
-				if(num == 1){
-					_audit.flag = 1
-					title_name = "通过"
-				}else if(num == 2){
-					_audit.flag = 2
-					title_name = "驳回"
-				}
-				this.$confirm("确定要" + title_name + "该记录吗?", '提示', {
-						confirmButtonText: '确定',
-						cancelButtonText: '取消',
-						type: 'warning',
-					})
-					.then(() => {
-						auditFormData( _audit).then(response => {
-								this.$notify({
-									title: '成功',
-									message: title_name+'成功!',
-									type: 'success'
-								});
-								this.listLoading = false
-								this.$router.go(-1)
-							})
-							.catch(() => {
-								this.loading = false
-							})
-					})
-
-			},
-			edit() {
-				if (this.form.compilationUnit && (this.form.compilationUnit.length < 0 || this.form.compilationUnit.length > 25)) {
-					this.$message.error("编写单位字数应在 0 - 25 之间")
-					return
-				}
-				if (this.form.editor && (this.form.editor.length < 0 || this.form.editor.length > 10)) {
-					this.$message.error("编撰人员字数应在 0 - 10 之间")
-					return
-				}
-				if(!this.form.versionNumber){
-					this.$message.error("请输入版本号")
-					return
-				}
-				if (this.form.versionDescription && (this.form.versionDescription.length < 0 || this.form.versionDescription.length > 100)) {
-					this.$message.error("版本说明字数应在 0 - 100 之间")
-					return
-				}
-				var parameter = {}
-				parameter.id = this.id
-				parameter.compilationUnit = this.form.compilationUnit
-				parameter.editor = this.form.editor
-				parameter.versionNumber = this.form.versionNumber
-				parameter.submitter = this.form.submitter
-				parameter.versionDescription = this.form.versionDescription
-				parameter.content = this.form.content
-				this.listLoading = true
-				editFormData(parameter).then(response => {
-						this.$notify({
-							title: '成功',
-							message: '修改成功!',
-							type: 'success'
-						});
-						var _obj = {}
-						_obj.compilationUnit = this.form.compilationUnit
-						_obj.editor = this.form.editor
-						_obj.versionNumber = this.form.versionNumber
-						localStorage.setItem("regulations", JSON.stringify(_obj))
-						this.listLoading = false
-						this.$router.go(-1)
-					})
-					.catch(() => {
-						this.loading = false
-					})
-			}
-		}
-	}
-</script>
+        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.searchType = 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.getList();
+      },
+      selectInit(row) {
+        // if (row.escalationStatus != '未上报'|| row.escalationStatus != '未通过') {  
+        //   return false;
+        // }else{
+        //   return true;
+        // }
+          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 {
-		background: #F5F6F7;
-		height: calc(100vh - 4.5vh);
-		padding-top: 20px;
-
-	}
-
-	.main_css {
-		width: 96%;
-		height: 90vh;
-		background: #FFFFFF;
-		margin: 20px auto;
-		padding-top: 20px;
+  .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;
-	}
-
-	.formData {
-		width: 50%;
-		margin: 20px 0 0 140px;
-	}
-	.btn{
-		text-align: right;
-		position: absolute;
-		right: 200px;
-		bottom:100px;
-	}
+  }
+  .red_text{
+    color: red;
+  }
 </style>

+ 557 - 517
src/views/parkReportManagement/vehicleInformationReporting.vue

@@ -1,577 +1,617 @@
-// 规定记录审核
+// 车辆园区上报
 <template>
   <div class="center">
     <div class="center_css">
       <div class="top_css">
         <el-row>
-          <el-col :span="14">
-            <el-button type="primary" :disabled="disabled" @click="AddRecord">新增</el-button>
+          <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' 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>
+              <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>
-        <el-table-column prop="versionNumber" label="版本号" />
-        <el-table-column prop="compilationUnit" label="编写单位" />
-        <el-table-column prop="editor" label="编撰人员" />
-        <el-table-column prop="updateDate" label="更新日期" />
-        <el-table-column label="上传" prop="submitter" />
-        <el-table-column prop="versionDescription" label="版本说明" />
-        <el-table-column prop="status" label="状态" />
-        <el-table-column label="操作" min-width="300">
+      <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">
-            <el-link target="_blank" type="primary" :underline="false" @click="look(scope.row)">查看</el-link>
-            <el-divider direction="vertical" />
-            <el-link target="_blank" type="primary" :underline="false" :disabled="scope.row.status != '待审核'" @click="audit(scope.row)">审核
-            </el-link>
-            <el-divider direction="vertical" />
-            <el-link target="_blank" type="primary" :underline="false" :disabled="scope.row.status != '待审核' && scope.row.status != '已驳回' " @click="del(scope.row)">删除</el-link>
-            <el-divider direction="vertical" />
-            <el-link target="_blank" type="primary" :underline="false" @click="edit(scope.row)">编辑</el-link>
+            <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="escalationStatus" 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.escalationStatus != '未上报' && scope.row.escalationStatus != '未通过'">上报</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
-      :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-dialog :close-on-click-modal='false' title="驳回认证" :visible.sync="rejectInfo" width="400px" :before-close="rejectClose">
-      <div>
-        <div><span class="sign">*</span>选择驳回原因</div>
-        <div class="form_css">
-          <el-form ref="form" :model="form" label-width="80px">
-            <el-checkbox-group v-model="form.checkList">
-              <el-checkbox label="证件照片不清晰" value="1" />
-              <el-checkbox label="证件照片上传错误" value="2" />
-              <el-checkbox label="身份信息填写错误" value="3" />
-              <el-checkbox label="证件信息填写错误" value="4" />
-              <el-checkbox label="其他" value="5" />
-            </el-checkbox-group>
-            <div style="margin: 20px 0;">驳回原因描述(选填)</div>
-            <el-input
-              v-model="form.rejectReasonDescription"
-              type="textarea"
-              :rows="3"
-              resize="none"
-              placeholder="输入驳回原因,1-100个字"
-              minlength="100"
-            />
-            <div class="form_btn">
-              <el-button @click="rejectClose">取消</el-button>
-              <el-button type="primary" @click="submit">确定</el-button>
-            </div>
-          </el-form>
+    <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,
-  toExamine,
-  postNews,
-  delFormData
-} from '@/api/platformManagement'
-export default {
-  data() {
-    return {
-      tableData: [],
-      // 分页
-      searchkeyWord: '',
-      currentPage: 1,
-      pageSize: 10,
-      deptBudgetTotal: 0,
-      deptCircularPage: {},
-      search: '',
-      addressUrl: [],
-      disabled: false,
-      rejectInfo: false,
-      form: {
-        id: '',
-        checkList: [],
-        rejectReasonDescription: ''
+  import {
+    carGetList,
+    carReport,
+    getInfo
+  } from "@/api/parkReportManagement";
+  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: 1,
+        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
       }
-    }
-  },
-  mounted() {
-    this.getList()
-  },
-  methods: {
-    AddRecord() {
-      this.$router.push({
-        path: 'specifiedRecordsAdd'
-      })
+      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();
     },
-    getList() {
-      this.loading = true
-      const _obj = {}
-      _obj.currentPage = this.currentPage
-      _obj.pageSize = this.pageSize
-      _obj.searchKeyWord = this.searchkeyWord
-      _obj.searchType = this.search
-      getList(_obj).then(response => {
-        this.tableData = response.data.records
-        this.deptBudgetTotal = response.data.total
-        if (this.tableData[0].status == '待审核' || this.tableData[0].status == '已驳回') {
-          // 最上面一条处于待审核和已驳回时新增按钮置灰不可用
-          this.disabled = true
+    methods: {
+      //上报
+      escalation(){
+        if(this.musterList.length == 0){
+          this.$message.error("请勾选要上报的条目")
+          return
         }
-        this.listLoading = false
-      })
-        .catch(() => {
-          this.loading = false
+          this.$confirm("确定上报信息?", "提示", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning",
+        }).then(() => {
+          carReport({hyDriverInfoList:this.musterList})
+          .then((response) => {
+             if (response.code == 200) {
+              this.$notify({
+                title: "成功",
+                message: "上报成功!",
+                type: "success",
+              });
+              this.musterList = []
+              this.getList();
+            }
+          })
         })
-    },
-    del(row) {
-      this.$confirm('确定要删除该记录吗?', '提示', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: 'warning'
-      })
-        .then(() => {
-          this.listLoading = true
-          var _del = {}
-          _del.id = row.id
-          delFormData(_del).then(response => {
-            this.$notify({
-              title: '成功',
-              message: '删除成功!',
-              type: 'success'
-            })
-            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.loading = false
-            })
-        })
-    },
-    sendInfoClose() {
-      this.Info = {}
-      this.sendInfo = false
-    },
-    submitInfo() {
-      this.listLoading = true
-      postNews(this.Info).then(response => {
-        this.$notify({
-          title: '成功',
-          message: '发送成功!',
-          type: 'success'
-        })
-        this.sendInfoClose()
-        this.listLoading = false
-      })
-        .catch(() => {
-          this.loading = false
-        })
-    },
-    switchChange(row, num) {
-      var _examine = {}
-      _examine.id = row.id
-      let title
-      if (num == 1) {
-        _examine.flag = 3
-        title = '禁用后客户将无法使用所有功能,是否确定禁用?'
-      } else if (num == 2) {
-        title = '确定重新启用该用户?'
-        _examine.flag = 4
-      }
-      this.$confirm(title, '提示', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: 'warning'
-      })
-        .then(() => {
-          this.listLoading = true
-          toExamine(_examine).then(response => {
-            if (num == 1) {
-              this.$notify({
-                title: '成功',
-                message: '禁用成功!',
-                type: 'success'
-              })
-            } else if (num == 2) {
-              this.$notify({
-                title: '成功',
-                message: '启用成功!',
-                type: 'success'
-              })
-            }
-            this.getList()
+          .catch(() => {
             this.listLoading = false
           })
-            .catch(() => {
-              this.loading = false
-            })
-        })
-    },
-    find() {
-      this.getList()
-    },
-    look(row) {
-      this.$router.push({
-        path: 'specifiedRecordsLook',
-        query: {
-          id: row.id,
-          type: '1'
-        }
-      })
-    },
-    edit(row) {
-      this.$router.push({
-        path: 'specifiedRecordsLook',
-        query: {
-          id: row.id,
-          type: '2'
-        }
-      })
-    },
-    submit() {
-      if (this.form.checkList.length == 0) {
-        this.$message.error('请选择驳回原因')
-        return
-      }
-      this.listLoading = true
-      this.form.rejectReason = this.form.checkList.toString()
-      delete this.form.checkList
-      toExamine(this.form).then(response => {
-        this.$notify({
-          title: '成功',
-          message: '驳回成功!',
-          type: 'success'
-        })
-        this.form.checkList = []
-        this.form.rejectReasonDescription = ''
-        this.rejectInfo = 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()
-        this.listLoading = false
-      })
-        .catch(() => {
-          this.loading = false
-        })
-    },
-    audit(row) {
-      this.$router.push({
-        path: 'specifiedRecordsLook',
-        query: {
-          id: row.id,
-          type: '3'
+      },
+      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.searchType = 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.getList();
+      },
+      selectInit(row) {
+        // if (row.escalationStatus != '未上报'|| row.escalationStatus != '未通过') {  
+        //   return false;
+        // }else{
+        //   return true;
+        // }
+          return true;
+        
+      },
+      handleSizeChange(val) {
+        console.log(`每页 ${val} 条`);
+        this.pageSize = val;
+        this.getList();
+      },
+      handleCurrentChange(val) {
+        this.currentPage = val;
+        console.log(`当前页: ${val}`);
+        this.getList();
+      },
     },
-    rejectClose() {
-      this.form.checkList = []
-      this.form.rejectReasonDescription = ''
-      this.rejectInfo = 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 {
-				display: flex;
-				margin-top: 20px;
-
-				.search_item {
-					text-align: center;
-					font-size: 14px;
-					font-weight: 600;
-					line-height: 40px;
-					width: 112px;
-					height: 40px;
-					background: #f7f8f9;
-					cursor: pointer
-				}
-
-				.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;
-		}
+  .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;
+        }
 
-		.pay_name {
-			color: #9D9D9D;
-			font-size: 14px;
-		}
+        .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;
+        }
 
-		.name_css {
-			font-size: 16px;
-		}
+        .searchNo {
+          color: #323233;
+        }
 
-		.user_item {
-			margin: 25px 0;
-			width: 450px;
-			height: 300px;
-		}
+        .search {
+          color: #2f53eb;
+          background: #ffffff;
+        }
+      }
+    }
 
-		.border_css {
-			width: 100%;
-			border: 1px solid #F0F1F2;
-		}
-	}
+    .ask_css {
+      position: absolute;
+      margin: 3px 0 0 10px;
+    }
 
-	::v-deep .el-table--border .el-table__header th {
-		background: #f7f8f9;
-	}
+    .center_css {
+      background: #ffffff;
+      border-radius: 1px;
+      margin-top: 10px;
+      padding-bottom: 10px;
+    }
 
-	.btn_css {
-		color: #409EFF;
-		cursor: pointer
-	}
+    .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;
+      }
 
-	.btn_css1 {
-		margin-left: -20px;
-	}
+      .count_css {
+        width: 80px;
+        text-align: center;
+        line-height: 40px;
+        color: #666666;
+      }
+    }
 
-	.sign {
-		font-size: 14px;
-		color: red;
-	}
+    .el-button {
+      padding: 10px 20px !important;
+    }
 
-	.form_css {
-		width: 100%;
-		margin: 20px auto 20px;
+    .center_css {
 
-		::v-deep .el-checkbox {
-			width: 40%;
-			height: 30px;
-		}
+      ::v-deep .el-table th,
+      ::v-deep .el-table td {
+        text-align: center;
+      }
 
-		// ::v-deep .el-dialog__body{
-		// 	padding: 10px 20px;
-		// }
-		::v-deep .el-dialog__title {
-			font-size: 16px;
-		}
+      .fujian {
+        font-size: 24px;
+        color: #409eff;
+      }
 
-		::v-deep .el-textarea__inner {
-			background: #F0F1F2;
-		}
+      .warning {
+        font-size: 14px;
+        color: #ed1d1d;
+      }
+    }
+  }
 
-		.form_btn {
-			text-align: right;
-			margin-top: 10px;
-		}
-	}
+  ::v-deep .el-table--border .el-table__header th {
+    background: #f7f8f9;
+  }
 
-	//发送信息
-	.Info_css {
-		.Info_title {
-			color: #323233;
-			font-size: 16px;
-		}
+  .btn_css {
+    color: #409eff;
+    cursor: pointer;
+  }
 
-		.Info_item {
-			margin: 20px 0;
-		}
+  .btn_css1 {
+    margin-left: -20px;
+  }
 
-		.Info_btn {
-			text-align: right;
-			margin-top: 10px;
-		}
-	}
+  //批量上报按钮
+  .batch_btn {
+    margin: 0 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;
+  //附件
+  .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;
+      }
 
-			.fujian_item {
-				cursor: pointer;
-				width: 90px;
-				height: 32px;
-				border-right: 1px solid #F0F1F2;
-			}
+      .file_btn {
+        color: #2f53eb;
+        background-color: #cfdbfe;
+      }
+    }
 
-			.file_btn {
-				color: #2F53EB;
-				background-color: #CFDBFE;
-			}
-		}
+    .file_tips {
+      margin: 10px auto;
+      width: 50%;
+    }
 
-		.file_img {
-			width: 525px;
-			height: 332px;
-			margin: 20px auto;
-		}
+    .file_img {
+      width: 525px;
+      height: 332px;
+      margin: 20px auto;
+    }
 
-		.img_css {
-			width: 525px;
-			height: 332px;
-		}
+    .img_css {
+      width: 525px;
+      height: 332px;
+    }
 
-		.btn {
-			width: 400px;
-			margin: 0 auto;
-		}
-	}
-  .find::v-deep input.el-input__inner{
-    border-radius:0;
+    .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>

+ 577 - 477
src/views/parkReportManagement/waybillReporting.vue

@@ -5,91 +5,197 @@
       <div class="top_css">
         <el-row>
           <el-col :span="14">
-            <el-button type="primary" :disabled="disabled" @click="AddRecord">新增</el-button>
+            <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>
+              <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 :data="tableData" style="width: 98%; margin: 0 auto; border-radius: 10px" height="55.8vh" border highlight-current-row>
-        <el-table-column prop="versionNumber" label="版本号" />
-        <el-table-column prop="compilationUnit" label="编写单位" />
-        <el-table-column prop="editor" label="编撰人员" />
-        <el-table-column prop="updateDate" label="更新日期" />
-        <el-table-column label="上传" prop="submitter" />
-        <el-table-column prop="versionDescription" label="版本说明" />
+      <el-table :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="compilationUnit" label="发运人" />
+        <el-table-column prop="editor" label="发运人账号" />
+        <el-table-column prop="updateDate" label="承运人" />
+        <el-table-column prop="updateDate" label="承运人账号" />
+        <el-table-column prop="updateDate" label="订单完结时间" />
+        <!-- <el-table-column label="上传" prop="submitter" /> -->
+        <!-- <el-table-column prop="versionDescription" label="版本说明" /> -->
         <el-table-column prop="status" label="状态" />
-        <el-table-column label="操作" min-width="300">
+        <el-table-column label="操作" min-width="200">
           <template slot-scope="scope">
-            <el-link target="_blank" type="primary" :underline="false" @click="look(scope.row)">查看</el-link>
-            <el-divider direction="vertical" />
-            <el-link target="_blank" type="primary" :underline="false" :disabled="scope.row.status != '待审核'" @click="audit(scope.row)">审核
-            </el-link>
+            <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" :disabled="scope.row.status != '待审核' && scope.row.status != '已驳回' " @click="del(scope.row)">删除</el-link>
-            <el-divider direction="vertical" />
-            <el-link target="_blank" type="primary" :underline="false" @click="edit(scope.row)">编辑</el-link>
+            <el-link target="_blank" type="primary" :underline="false" @click="submission(scope.row)" 
+            v-if="scope.row.search == 1 || scope.row.search == 4 || scope.row.status == '暂缓中'" >上报</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-dialog :close-on-click-modal='false' title="驳回认证" :visible.sync="rejectInfo" width="400px" :before-close="rejectClose">
-      <div>
-        <div><span class="sign">*</span>选择驳回原因</div>
-        <div class="form_css">
-          <el-form ref="form" :model="form" label-width="80px">
-            <el-checkbox-group v-model="form.checkList">
-              <el-checkbox label="证件照片不清晰" value="1" />
-              <el-checkbox label="证件照片上传错误" value="2" />
-              <el-checkbox label="身份信息填写错误" value="3" />
-              <el-checkbox label="证件信息填写错误" value="4" />
-              <el-checkbox label="其他" value="5" />
-            </el-checkbox-group>
-            <div style="margin: 20px 0;">驳回原因描述(选填)</div>
-            <el-input
-              v-model="form.rejectReasonDescription"
-              type="textarea"
-              :rows="3"
-              resize="none"
-              placeholder="输入驳回原因,1-100个字"
-              minlength="100"
-            />
-            <div class="form_btn">
-              <el-button @click="rejectClose">取消</el-button>
-              <el-button type="primary" @click="submit">确定</el-button>
+    <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.compilationUnit }}</div>
+        <div class="right_title">发货时间</div>
+        <div class="right_item">{{ orderData.compilationUnit }}</div>
+        <div class="right_title">收货时间</div>
+        <div class="right_item">{{ orderData.compilationUnit }}</div>
+        <div class="right_title">托运方</div>
+        <div class="right_item">{{ orderData.compilationUnit }}</div>
+        <div class="right_title">托运方证件号或信用代码</div>
+        <div class="right_item">{{ orderData.compilationUnit }}</div>
+        <div class="right_title">收货方</div>
+        <div class="right_item">{{ orderData.compilationUnit }}</div>
+        <div class="right_title">收货方证件号或信用代码</div>
+        <div class="right_title">运费</div>
+        <div class="right_item">{{ orderData.compilationUnit }}</div>
+        <div class="right_item">{{ orderData.compilationUnit }}</div>
+        <div class="right_title">车牌号</div>
+        <div class="right_item">{{ orderData.compilationUnit }}</div>
+        <div class="right_title">车牌颜色</div>
+        <div class="right_item">{{ orderData.compilationUnit }}</div>
+        <div class="right_title">发货地址</div>
+        <div class="right_item">
+          {{ orderData.compilationUnit }}{{ orderData.compilationUnit }}{{ orderData.compilationUnit }}{{ orderData.compilationUnit }}
+        </div>
+        <div class="right_title">收货地址</div>
+        <div class="right_item">
+          {{ orderData.compilationUnit }}{{ orderData.compilationUnit }}{{ orderData.compilationUnit }}{{ orderData.compilationUnit }}
+        </div>
+        <div class="right_title">司机姓名</div>
+        <div class="right_item">{{ orderData.compilationUnit }}</div>
+        <div class="right_title">司机身份证号</div>
+        <div class="right_item">{{ orderData.compilationUnit }}</div>
+        <div class="right_title">货物类别</div>
+        <div class="right_item">{{ orderData.compilationUnit }}</div>
+        <div class="right_title">货名</div>
+        <div class="right_item">{{ orderData.compilationUnit }}</div>
+        <div class="right_title">重量(kg)</div>
+        <div class="right_item">{{ orderData.compilationUnit }}</div>
+        
+        <!-- <div class="right_title">发货联系人</div>
+        <div class="right_item">{{ orderData.compilationUnit }}</div>
+        <div class="right_title">发货联系人电话</div>
+        <div class="right_item">{{ orderData.compilationUnit }}</div> -->
+        <!-- <div class="right_title">距离</div>
+        <div class="right_item">约{{ orderData.compilationUnit ? orderData.compilationUnit : 0 }}km</div> -->
+        <!-- <el-divider v-if="orderData.compilationUnit"></el-divider>
+        <div v-if="orderData.compilationUnit">
+          <div class="title_name">承运信息</div>
+          <div class="right_title">承运合同编号</div>
+          <div class="right_item">{{orderData.compilationUnit}}</div>
+          <div class="right_title">委托合同编号</div>
+          <div class="right_item">{{orderData.compilationUnit}}</div>
+          <div class="right_title">车牌号</div>
+          <div class="right_item">{{orderData.hyCarrierInfo.carNo}}</div>
+          <div class="right_title">预计运费</div>
+          <div class="right_item">{{orderData.hyCarrierInfo.estimatedFreight}}</div>
+          <div class="right_title">装车时间</div>
+          <div class="right_item">{{orderData.hyCarrierInfo.loadingDate}}</div>
+          <div class="right_title">装车定位</div>
+          <div class="right_item">{{orderData.hyCarrierInfo.loadingCity}}{{orderData.hyCarrierInfo.loadingArea}}</div>
+          <div class="right_title">装车照片</div>
+          <div style="display: flex;" v-if="orderData.hyCarrierInfo.loadingImg">
+            <div v-for="(item,index) in orderData.hyCarrierInfo.loadingImg.split(',')" :key="index">
+              <img :src="item" class="img_css" @click="enlarge(item)">
+            </div>
+          </div>
+          <div class="right_title" v-if="orderData.hyCarrierInfo.totalFreight">合计应付运费</div>
+          <div class="right_item">{{orderData.hyCarrierInfo.totalFreight}}</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.hyCarrierInfo.unloadingCity}}{{orderData.hyCarrierInfo.unloadingArea}}</div>
+          <div class="right_title" v-if="orderData.hyCarrierInfo.unloadingImg">卸车照片</div>
+          <div style="display: flex;" v-if="orderData.hyCarrierInfo.unloadingImg">
+            <div v-for="(item,index) in orderData.hyCarrierInfo.unloadingImg.split(',')" :key="index">
+              <img :src="item" class="img_css" @click="enlarge(item)">
             </div>
-          </el-form>
+          </div>
+        </div> -->
+        <!-- <el-divider v-if="orderData.freightInfo"></el-divider>
+        <div v-if="orderData.freightInfo">
+          <div class="title_name">运费信息(单位:元)</div>
+          <div class="right_title">预付运费</div>
+          <div class="right_item">{{orderData.freightInfo.prepaidFreight}} <span
+              style="margin-left: 100px;">{{orderData.freightInfo.prepaidFreightDate}}</span></div>
+          <div class="right_title">运费尾款</div>
+          <div class="right_item">{{orderData.freightInfo.freightBalance?orderData.freightInfo.freightBalance:'未支付'}}
+            <span style="margin-left: 100px;">{{orderData.freightInfo.freightBalanceDate}}</span></div>
+          <div class="right_title" v-if="orderData.freightInfo.freightBalance">明细</div>
+          <div class="right_item" v-if="orderData.freightInfo.freightBalance">
+            预付{{orderData.freightInfo.prepaidFreight ? orderData.freightInfo.prepaidFreight : 0}}元,服务费{{orderData.freightInfo.driverServiceCharge ? orderData.freightInfo.driverServiceCharge:0}}元,尾款{{orderData.freightInfo.freightBalance ? orderData.freightInfo.freightBalance:0}}元,合计收款{{orderData.freightInfo.totalCollection ? orderData.freightInfo.totalCollection:0}}元。
+          </div>
+        </div> -->
+        <!-- <el-divider v-if="orderData.repaymentInfo"></el-divider> -->
+        <!-- <div v-if="orderData.repaymentInfo">
+          <div class="title_name">还款信息</div>
+          <div class="right_title">运费</div>
+          <div class="right_item">{{orderData.freight}}</div>
+          <div class="right_title">超期费(每天3%)</div>
+          <div class="right_item">{{orderData.repaymentInfo.overdueFee}}</div>
+          <div class="right_title">合计应还</div>
+          <div class="right_item">{{orderData.repaymentInfo.totalRepayable}}</div>
+          <div class="right_title">还款(尾号6666)</div>
+          <div class="right_item">{{orderData.repaymentInfo.alreadyRepaid}}</div>
+        </div> -->
+        <div class="right_btn">
+          <el-button @click="rightSee = false">关闭</el-button>
         </div>
       </div>
-    </el-dialog>
+    </el-drawer>
   </div>
 </template>
 <script>
 import {
   getList,
-  toExamine,
-  postNews,
-  delFormData
+  seeData,
+  // toExamine,
+  // postNews,
+  // delFormData
 } from '@/api/platformManagement'
 export default {
   data() {
@@ -102,9 +208,15 @@ export default {
       deptBudgetTotal: 0,
       deptCircularPage: {},
       search: '',
+      orderData: {
+
+      },
+      value1: '',
+      status:'',
       addressUrl: [],
       disabled: false,
       rejectInfo: false,
+      rightSee: false,
       form: {
         id: '',
         checkList: [],
@@ -116,11 +228,32 @@ export default {
     this.getList()
   },
   methods: {
-    AddRecord() {
-      this.$router.push({
-        path: 'specifiedRecordsAdd'
-      })
+    // AddRecord() {
+    //   this.$router.push({
+    //     path: 'specifiedRecordsAdd'
+    //   })
+    // },
+
+    dateChange(e) {
+      this.startDate = e[0]
+      this.endDate = e[1]
+      this.getList()
+    },
+    //暂缓上报
+    postponeSubmission() {
+
+    },
+    //批量上报
+    batchSubmission() {
+
     },
+    //上报
+    submission() {
+
+    },
+      selectInit() {
+        return true;
+      },
     getList() {
       this.loading = true
       const _obj = {}
@@ -131,158 +264,75 @@ export default {
       getList(_obj).then(response => {
         this.tableData = response.data.records
         this.deptBudgetTotal = response.data.total
-        if (this.tableData[0].status == '待审核' || this.tableData[0].status == '已驳回') {
-          // 最上面一条处于待审核和已驳回时新增按钮置灰不可用
-          this.disabled = true
-        }
+        // if (this.tableData[0].status == '待审核' || this.tableData[0].status == '已驳回') {
+        //   // 最上面一条处于待审核和已驳回时新增按钮置灰不可用
+        //   this.disabled = true
+        // }
         this.listLoading = false
       })
         .catch(() => {
           this.loading = false
         })
     },
-    del(row) {
-      this.$confirm('确定要删除该记录吗?', '提示', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: 'warning'
-      })
-        .then(() => {
-          this.listLoading = true
-          var _del = {}
-          _del.id = row.id
-          delFormData(_del).then(response => {
-            this.$notify({
-              title: '成功',
-              message: '删除成功!',
-              type: 'success'
-            })
-            this.getList()
-            this.listLoading = false
-          })
-            .catch(() => {
-              this.loading = false
-            })
-        })
-    },
-    sendInfoClose() {
-      this.Info = {}
-      this.sendInfo = false
-    },
-    submitInfo() {
-      this.listLoading = true
-      postNews(this.Info).then(response => {
-        this.$notify({
-          title: '成功',
-          message: '发送成功!',
-          type: 'success'
-        })
-        this.sendInfoClose()
-        this.listLoading = false
-      })
-        .catch(() => {
-          this.loading = false
-        })
-    },
-    switchChange(row, num) {
-      var _examine = {}
-      _examine.id = row.id
-      let title
-      if (num == 1) {
-        _examine.flag = 3
-        title = '禁用后客户将无法使用所有功能,是否确定禁用?'
-      } else if (num == 2) {
-        title = '确定重新启用该用户?'
-        _examine.flag = 4
-      }
-      this.$confirm(title, '提示', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: 'warning'
-      })
-        .then(() => {
-          this.listLoading = true
-          toExamine(_examine).then(response => {
-            if (num == 1) {
-              this.$notify({
-                title: '成功',
-                message: '禁用成功!',
-                type: 'success'
-              })
-            } else if (num == 2) {
-              this.$notify({
-                title: '成功',
-                message: '启用成功!',
-                type: 'success'
-              })
-            }
-            this.getList()
-            this.listLoading = false
-          })
-            .catch(() => {
-              this.loading = false
-            })
-        })
+    searchBtn(num) {
+      this.search = num;
+      this.getList();
     },
+    // del(row) {
+    //   this.$confirm('确定要删除该记录吗?', '提示', {
+    //     confirmButtonText: '确定',
+    //     cancelButtonText: '取消',
+    //     type: 'warning'
+    //   })
+    //     .then(() => {
+    //       this.listLoading = true
+    //       var _del = {}
+    //       _del.id = row.id
+    //       delFormData(_del).then(response => {
+    //         this.$notify({
+    //           title: '成功',
+    //           message: '删除成功!',
+    //           type: 'success'
+    //         })
+    //         this.getList()
+    //         this.listLoading = false
+    //       })
+    //         .catch(() => {
+    //           this.loading = false
+    //         })
+    //     })
+    // },
+    // submitInfo() {
+    //   this.listLoading = true
+    //   postNews(this.Info).then(response => {
+    //     this.$notify({
+    //       title: '成功',
+    //       message: '发送成功!',
+    //       type: 'success'
+    //     })
+    //     this.sendInfoClose()
+    //     this.listLoading = false
+    //   })
+    //     .catch(() => {
+    //       this.loading = false
+    //     })
+    // },
     find() {
       this.getList()
     },
     look(row) {
-      this.$router.push({
-        path: 'specifiedRecordsLook',
-        query: {
-          id: row.id,
-          type: '1'
-        }
-      })
-    },
-    edit(row) {
-      this.$router.push({
-        path: 'specifiedRecordsLook',
-        query: {
-          id: row.id,
-          type: '2'
-        }
-      })
-    },
-    submit() {
-      if (this.form.checkList.length == 0) {
-        this.$message.error('请选择驳回原因')
-        return
-      }
-      this.listLoading = true
-      this.form.rejectReason = this.form.checkList.toString()
-      delete this.form.checkList
-      toExamine(this.form).then(response => {
-        this.$notify({
-          title: '成功',
-          message: '驳回成功!',
-          type: 'success'
-        })
-        this.form.checkList = []
-        this.form.rejectReasonDescription = ''
-        this.rejectInfo = false
-        this.getList()
+      this.loading = true
+      seeData({
+        id: row.id
+      }).then(response => {
+        this.orderData = response.data
+        this.rightSee = true
         this.listLoading = false
       })
         .catch(() => {
-          this.loading = false
+          this.listLoading = false
         })
     },
-    audit(row) {
-      this.$router.push({
-        path: 'specifiedRecordsLook',
-        query: {
-          id: row.id,
-          type: '3'
-        }
-      })
-    },
-    rejectClose() {
-      this.form.checkList = []
-      this.form.rejectReasonDescription = ''
-      this.rejectInfo = false
-    },
     handleSizeChange(val) {
       console.log(`每页 ${val} 条`)
       this.pageSize = val
@@ -297,281 +347,331 @@ export default {
 }
 </script>
 <style lang="scss" scoped>
-	.center {
-		padding: 10px 20px;
-		background: #f5f6f7;
-		height: calc(100vh - 5vh);
-
-		.top_css {
-			padding: 10px;
-
-			.search_btn {
-				display: flex;
-				margin-top: 20px;
-
-				.search_item {
-					text-align: center;
-					font-size: 14px;
-					font-weight: 600;
-					line-height: 40px;
-					width: 112px;
-					height: 40px;
-					background: #f7f8f9;
-					cursor: pointer
-				}
-
-				.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;
-			}
-		}
-	}
+.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;
+  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;
+  }
 }
-	.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;
-		}
-	}
-  .find::v-deep input.el-input__inner{
-    border-radius:0;
+  .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>