|
@@ -1,15 +1,15 @@
|
|
|
<template>
|
|
<template>
|
|
|
- <div v-loading.lock="fullscreenLoading">
|
|
|
|
|
- <div class="line-container-p24">
|
|
|
|
|
- <i class="el-icon-arrow-left"></i>
|
|
|
|
|
- <div
|
|
|
|
|
- class="dib go-back ml8 pointer"
|
|
|
|
|
- @click="router.replace('/voyage/voyageList')"
|
|
|
|
|
- >
|
|
|
|
|
- 返回航次列表
|
|
|
|
|
- </div>
|
|
|
|
|
|
|
+ <div class="line-container-p24">
|
|
|
|
|
+ <i class="el-icon-arrow-left"></i>
|
|
|
|
|
+ <div
|
|
|
|
|
+ class="dib go-back ml8 pointer"
|
|
|
|
|
+ @click="router.replace('/voyage/voyageList')"
|
|
|
|
|
+ >
|
|
|
|
|
+ 返回航次列表
|
|
|
</div>
|
|
</div>
|
|
|
|
|
+ </div>
|
|
|
|
|
|
|
|
|
|
+ <div v-loading.lock="fullscreenLoading">
|
|
|
<div class="container-title df aic jcsb">
|
|
<div class="container-title df aic jcsb">
|
|
|
<div class="df aic">
|
|
<div class="df aic">
|
|
|
<div class="mr30">航次信息</div>
|
|
<div class="mr30">航次信息</div>
|
|
@@ -451,39 +451,509 @@
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
- <div class="container-title">卸货信息</div>
|
|
|
|
|
- <div class="line-container-p24">
|
|
|
|
|
- <el-tabs
|
|
|
|
|
- v-model="currentDiscPortId"
|
|
|
|
|
- type="card"
|
|
|
|
|
- class="demo-tabs"
|
|
|
|
|
- @tab-click="changeDiscPortTab"
|
|
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="container-title">卸货信息</div>
|
|
|
|
|
+ <div class="line-container-p24">
|
|
|
|
|
+ <el-tabs
|
|
|
|
|
+ v-model="currentDiscPortId"
|
|
|
|
|
+ type="card"
|
|
|
|
|
+ class="demo-tabs"
|
|
|
|
|
+ @tab-click="changeDiscPortTab"
|
|
|
|
|
+ >
|
|
|
|
|
+ <el-tab-pane
|
|
|
|
|
+ v-for="(item, index) in voyage.voyageDetails"
|
|
|
|
|
+ :label="item.portName + ' # ' + (index + 1)"
|
|
|
|
|
+ :key="item.portId"
|
|
|
|
|
+ :name="item.portId + ''"
|
|
|
|
|
+ ></el-tab-pane>
|
|
|
|
|
+ </el-tabs>
|
|
|
|
|
+ <div>
|
|
|
|
|
+ <div class="container-second-title df">
|
|
|
|
|
+ <div>天气信息</div>
|
|
|
|
|
+ <div
|
|
|
|
|
+ class="ml10"
|
|
|
|
|
+ style="
|
|
|
|
|
+ font-size: 12px;
|
|
|
|
|
+ color: rgba(0, 0, 0, 0.2);
|
|
|
|
|
+ font-weight: normal;
|
|
|
|
|
+ scale: 0.9;
|
|
|
|
|
+ "
|
|
|
|
|
+ >
|
|
|
|
|
+ 天气信息为天气预报反应船舶所在区域即将发生天气情况
|
|
|
|
|
+ <br />
|
|
|
|
|
+ 预报下雨情况为预警信息请联系船东拍摄现场实际情况。
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <el-table style="width: 1200px" :data="weatherTableData" stripe>
|
|
|
|
|
+ <el-table-column
|
|
|
|
|
+ type="index"
|
|
|
|
|
+ label="序号"
|
|
|
|
|
+ min-width="120"
|
|
|
|
|
+ align="center"
|
|
|
|
|
+ ></el-table-column>
|
|
|
|
|
+ <el-table-column
|
|
|
|
|
+ prop="weather"
|
|
|
|
|
+ label="天气"
|
|
|
|
|
+ min-width="120"
|
|
|
|
|
+ align="center"
|
|
|
|
|
+ ></el-table-column>
|
|
|
|
|
+ <el-table-column
|
|
|
|
|
+ prop="temperature"
|
|
|
|
|
+ label="温度"
|
|
|
|
|
+ min-width="100"
|
|
|
|
|
+ align="center"
|
|
|
|
|
+ ></el-table-column>
|
|
|
|
|
+ <el-table-column
|
|
|
|
|
+ prop="winddirection"
|
|
|
|
|
+ label="风向"
|
|
|
|
|
+ min-width="100"
|
|
|
|
|
+ align="center"
|
|
|
|
|
+ ></el-table-column>
|
|
|
|
|
+ <el-table-column
|
|
|
|
|
+ prop="windpower"
|
|
|
|
|
+ label="风力"
|
|
|
|
|
+ min-width="100"
|
|
|
|
|
+ align="center"
|
|
|
|
|
+ ></el-table-column>
|
|
|
|
|
+ <el-table-column
|
|
|
|
|
+ prop="reporttime"
|
|
|
|
|
+ label="记录时间"
|
|
|
|
|
+ min-width="100"
|
|
|
|
|
+ align="center"
|
|
|
|
|
+ >
|
|
|
|
|
+ <template v-slot="scope">
|
|
|
|
|
+ {{ subTimeStr(scope.row.reporttime, 16) }}
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </el-table-column>
|
|
|
|
|
+ </el-table>
|
|
|
|
|
+ <div style="width: 1200px; text-align: right; margin-top: 43px">
|
|
|
|
|
+ <el-pagination
|
|
|
|
|
+ background
|
|
|
|
|
+ layout="prev, pager, next"
|
|
|
|
|
+ :total="weatherTotal"
|
|
|
|
|
+ @current-change="weatherPageChange"
|
|
|
|
|
+ ></el-pagination>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="hr m30-0"></div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div v-auth="'LABDETAIL_DISABLE'">
|
|
|
|
|
+ <div class="container-second-title df aic jcsb">
|
|
|
|
|
+ <div>提单信息</div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <el-table :data="labTableData" stripe style="width: 1200px">
|
|
|
|
|
+ <el-table-column
|
|
|
|
|
+ type="index"
|
|
|
|
|
+ label="序号"
|
|
|
|
|
+ min-width="120"
|
|
|
|
|
+ align="center"
|
|
|
|
|
+ ></el-table-column>
|
|
|
|
|
+ <el-table-column
|
|
|
|
|
+ prop="billingDate"
|
|
|
|
|
+ label="开单日期"
|
|
|
|
|
+ min-width="120"
|
|
|
|
|
+ align="center"
|
|
|
|
|
+ ></el-table-column>
|
|
|
|
|
+ <el-table-column
|
|
|
|
|
+ prop="billingNum"
|
|
|
|
|
+ label="开单数量"
|
|
|
|
|
+ min-width="100"
|
|
|
|
|
+ align="center"
|
|
|
|
|
+ ></el-table-column>
|
|
|
|
|
+
|
|
|
|
|
+ <el-table-column label="单据" min-width="150" align="center">
|
|
|
|
|
+ <template v-slot="scope">
|
|
|
|
|
+ <el-button
|
|
|
|
|
+ @click="showLab(scope.row, scope.$index, '查看提单')"
|
|
|
|
|
+ type="primary"
|
|
|
|
|
+ size="small"
|
|
|
|
|
+ >
|
|
|
|
|
+ 查看
|
|
|
|
|
+ </el-button>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </el-table-column>
|
|
|
|
|
+ </el-table>
|
|
|
|
|
+ <div style="text-align: right; margin-top: 43px; width: 1200px">
|
|
|
|
|
+ <el-pagination
|
|
|
|
|
+ background
|
|
|
|
|
+ layout="prev, pager, next"
|
|
|
|
|
+ :total="labTotal"
|
|
|
|
|
+ @current-change="labPageChange"
|
|
|
|
|
+ ></el-pagination>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <el-dialog
|
|
|
|
|
+ v-model="isAddLabVisable"
|
|
|
|
|
+ :title="labModalType"
|
|
|
|
|
+ width="780px"
|
|
|
|
|
+ center
|
|
|
|
|
+ @close="cancelUploadLab"
|
|
|
>
|
|
>
|
|
|
- <el-tab-pane
|
|
|
|
|
- v-for="(item, index) in voyage.voyageDetails"
|
|
|
|
|
- :label="item.portName + ' # ' + (index + 1)"
|
|
|
|
|
- :key="item.portId"
|
|
|
|
|
- :name="item.portId + ''"
|
|
|
|
|
- ></el-tab-pane>
|
|
|
|
|
- </el-tabs>
|
|
|
|
|
- <div>
|
|
|
|
|
- <div class="container-second-title df">
|
|
|
|
|
- <div>天气信息</div>
|
|
|
|
|
- <div
|
|
|
|
|
- class="ml10"
|
|
|
|
|
- style="
|
|
|
|
|
- font-size: 12px;
|
|
|
|
|
- color: rgba(0, 0, 0, 0.2);
|
|
|
|
|
- font-weight: normal;
|
|
|
|
|
- scale: 0.9;
|
|
|
|
|
|
|
+ <el-form
|
|
|
|
|
+ :model="labForm"
|
|
|
|
|
+ inline
|
|
|
|
|
+ style="margin-bottom: 20px"
|
|
|
|
|
+ label-width="100px"
|
|
|
|
|
+ >
|
|
|
|
|
+ <el-form-item label="开单日期">
|
|
|
|
|
+ <el-date-picker
|
|
|
|
|
+ class="info-line-text"
|
|
|
|
|
+ v-model="labForm.billingDate"
|
|
|
|
|
+ type="date"
|
|
|
|
|
+ format="YYYY/MM/DD"
|
|
|
|
|
+ value-format="YYYY/MM/DD"
|
|
|
|
|
+ placeholder="开单日期"
|
|
|
|
|
+ disabled
|
|
|
|
|
+ ></el-date-picker>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ <el-form-item label="开单数量">
|
|
|
|
|
+ <el-input
|
|
|
|
|
+ style="width: 240px"
|
|
|
|
|
+ v-model="labForm.billingNum"
|
|
|
|
|
+ placeholder="开单数量"
|
|
|
|
|
+ disabled
|
|
|
|
|
+ ></el-input>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ <el-form-item label="提单">
|
|
|
|
|
+ <Uploader
|
|
|
|
|
+ disabled
|
|
|
|
|
+ :actionUrl="store.state.wayBillUrl"
|
|
|
|
|
+ :uploaderId="'labLoad'"
|
|
|
|
|
+ :params="labParams"
|
|
|
|
|
+ @onSendFileList="getLabBillList"
|
|
|
|
|
+ :fileList="labBillList"
|
|
|
|
|
+ uploadText="上传提单"
|
|
|
|
|
+ :limit="1"
|
|
|
|
|
+ ></Uploader>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-form>
|
|
|
|
|
+ </el-dialog>
|
|
|
|
|
+ <div class="hr m30-0"></div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div v-auth="'SHIPDISCHARGE'">
|
|
|
|
|
+ <div class="container-second-title df aic jcsb">
|
|
|
|
|
+ <div>卸货记录</div>
|
|
|
|
|
+ <el-button
|
|
|
|
|
+ v-auth="'DOWNLOADDISCHARGE'"
|
|
|
|
|
+ @click="exportDischargeExcel"
|
|
|
|
|
+ style="width: 220px; margin-right: 20px"
|
|
|
|
|
+ type="primary"
|
|
|
|
|
+ :loading="isDischargeLoadingExcel"
|
|
|
|
|
+ >
|
|
|
|
|
+ 下载卸货信息
|
|
|
|
|
+ </el-button>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <el-table :data="dischargeList" stripe style="width: 1200px">
|
|
|
|
|
+ <el-table-column
|
|
|
|
|
+ type="index"
|
|
|
|
|
+ label="序号"
|
|
|
|
|
+ min-width="80"
|
|
|
|
|
+ align="center"
|
|
|
|
|
+ ></el-table-column>
|
|
|
|
|
+ <el-table-column
|
|
|
|
|
+ prop="dischargeTime"
|
|
|
|
|
+ label="卸货时间"
|
|
|
|
|
+ min-width="120"
|
|
|
|
|
+ align="center"
|
|
|
|
|
+ >
|
|
|
|
|
+ <template v-slot="scope">
|
|
|
|
|
+ {{ subTimeStr(scope.row.dischargeTime, 16) }}
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </el-table-column>
|
|
|
|
|
+ <el-table-column
|
|
|
|
|
+ prop="dischargeTons"
|
|
|
|
|
+ label="卸货吨位"
|
|
|
|
|
+ min-width="100"
|
|
|
|
|
+ align="center"
|
|
|
|
|
+ ></el-table-column>
|
|
|
|
|
+ <el-table-column
|
|
|
|
|
+ prop="dischargePieces"
|
|
|
|
|
+ label="卸货件数"
|
|
|
|
|
+ min-width="100"
|
|
|
|
|
+ align="center"
|
|
|
|
|
+ ></el-table-column>
|
|
|
|
|
+ <el-table-column label="磅单" min-width="150" align="center">
|
|
|
|
|
+ <template v-slot="scope">
|
|
|
|
|
+ <el-button
|
|
|
|
|
+ @click="showUpdateDischarge(scope.row, scope.$index)"
|
|
|
|
|
+ type="primary"
|
|
|
|
|
+ size="small"
|
|
|
|
|
+ v-if="scope.row.files"
|
|
|
|
|
+ >
|
|
|
|
|
+ 查看
|
|
|
|
|
+ </el-button>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </el-table-column>
|
|
|
|
|
+ </el-table>
|
|
|
|
|
+ <div style="width: 1200px; text-align: right; margin-top: 43px">
|
|
|
|
|
+ <el-pagination
|
|
|
|
|
+ background
|
|
|
|
|
+ layout="prev, pager, next"
|
|
|
|
|
+ :total="total"
|
|
|
|
|
+ @current-change="pageChange"
|
|
|
|
|
+ ></el-pagination>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="hr m30-0"></div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <el-dialog v-model="dialogVisible" title="图片预览" width="30%">
|
|
|
|
|
+ <el-image
|
|
|
|
|
+ :src="dialogImageUrl"
|
|
|
|
|
+ style="height: 100%; width: 100%"
|
|
|
|
|
+ ></el-image>
|
|
|
|
|
+ </el-dialog>
|
|
|
|
|
+ <div v-auth="'CARLOAD'">
|
|
|
|
|
+ <div class="container-second-title df aic jcsb mt40">
|
|
|
|
|
+ <div>汽车装货记录详情</div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <el-table :data="truckTableData" stripe>
|
|
|
|
|
+ <el-table-column
|
|
|
|
|
+ type="index"
|
|
|
|
|
+ label="序号"
|
|
|
|
|
+ min-width="120"
|
|
|
|
|
+ align="center"
|
|
|
|
|
+ ></el-table-column>
|
|
|
|
|
+ <el-table-column
|
|
|
|
|
+ prop="portName"
|
|
|
|
|
+ label="港口名称"
|
|
|
|
|
+ min-width="100"
|
|
|
|
|
+ align="center"
|
|
|
|
|
+ ></el-table-column>
|
|
|
|
|
+ <el-table-column
|
|
|
|
|
+ prop="weighTime"
|
|
|
|
|
+ label="称重时间"
|
|
|
|
|
+ min-width="120"
|
|
|
|
|
+ align="center"
|
|
|
|
|
+ >
|
|
|
|
|
+ <template v-slot="scope">
|
|
|
|
|
+ {{ subTimeStr(scope.row.weighTime, 16) }}
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </el-table-column>
|
|
|
|
|
+ <el-table-column
|
|
|
|
|
+ prop="carNum"
|
|
|
|
|
+ label="车号"
|
|
|
|
|
+ min-width="100"
|
|
|
|
|
+ align="center"
|
|
|
|
|
+ ></el-table-column>
|
|
|
|
|
+ <el-table-column
|
|
|
|
|
+ prop="cargoName"
|
|
|
|
|
+ label="货物名称"
|
|
|
|
|
+ min-width="120"
|
|
|
|
|
+ align="center"
|
|
|
|
|
+ ></el-table-column>
|
|
|
|
|
+ <el-table-column
|
|
|
|
|
+ prop="shippingUnit"
|
|
|
|
|
+ label="发货单位"
|
|
|
|
|
+ min-width="100"
|
|
|
|
|
+ align="center"
|
|
|
|
|
+ ></el-table-column>
|
|
|
|
|
+ <el-table-column
|
|
|
|
|
+ prop="receivingUnit"
|
|
|
|
|
+ label="收货单位"
|
|
|
|
|
+ min-width="120"
|
|
|
|
|
+ align="center"
|
|
|
|
|
+ ></el-table-column>
|
|
|
|
|
+ <el-table-column
|
|
|
|
|
+ prop="grossWeight"
|
|
|
|
|
+ label="毛重"
|
|
|
|
|
+ min-width="100"
|
|
|
|
|
+ align="center"
|
|
|
|
|
+ ></el-table-column>
|
|
|
|
|
+ <el-table-column
|
|
|
|
|
+ prop="tare"
|
|
|
|
|
+ label="皮重"
|
|
|
|
|
+ min-width="120"
|
|
|
|
|
+ align="center"
|
|
|
|
|
+ ></el-table-column>
|
|
|
|
|
+ <el-table-column
|
|
|
|
|
+ prop="netWeight"
|
|
|
|
|
+ label="净重"
|
|
|
|
|
+ min-width="100"
|
|
|
|
|
+ align="center"
|
|
|
|
|
+ ></el-table-column>
|
|
|
|
|
+ <el-table-column
|
|
|
|
|
+ prop="shipName"
|
|
|
|
|
+ label="货船名称"
|
|
|
|
|
+ min-width="120"
|
|
|
|
|
+ align="center"
|
|
|
|
|
+ ></el-table-column>
|
|
|
|
|
+ <el-table-column
|
|
|
|
|
+ prop="weigher"
|
|
|
|
|
+ label="司磅员"
|
|
|
|
|
+ min-width="100"
|
|
|
|
|
+ align="center"
|
|
|
|
|
+ ></el-table-column>
|
|
|
|
|
+ <el-table-column label="单据" min-width="150" align="center">
|
|
|
|
|
+ <template v-slot="scope">
|
|
|
|
|
+ <el-button
|
|
|
|
|
+ @click="showTruckRecord(scope.row, scope.$index, '查看单据')"
|
|
|
|
|
+ type="primary"
|
|
|
|
|
+ size="small"
|
|
|
|
|
+ >
|
|
|
|
|
+ 查看
|
|
|
|
|
+ </el-button>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </el-table-column>
|
|
|
|
|
+ </el-table>
|
|
|
|
|
+ <div style="text-align: right; margin-top: 43px">
|
|
|
|
|
+ <el-pagination
|
|
|
|
|
+ background
|
|
|
|
|
+ layout="prev, pager, next"
|
|
|
|
|
+ :total="truckTotal"
|
|
|
|
|
+ @current-change="truckPageChange"
|
|
|
|
|
+ ></el-pagination>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <el-dialog
|
|
|
|
|
+ v-model="isAddTruckRecordVisable"
|
|
|
|
|
+ title="查看记录"
|
|
|
|
|
+ width="780px"
|
|
|
|
|
+ center
|
|
|
|
|
+ >
|
|
|
|
|
+ <el-form
|
|
|
|
|
+ :model="truckRecordForm"
|
|
|
|
|
+ inline
|
|
|
|
|
+ style="margin-bottom: 20px"
|
|
|
|
|
+ label-width="100px"
|
|
|
|
|
+ >
|
|
|
|
|
+ <el-form-item label="港口名称">
|
|
|
|
|
+ <el-input
|
|
|
|
|
+ style="width: 240px"
|
|
|
|
|
+ v-model="truckRecordForm.portName"
|
|
|
|
|
+ placeholder="港口名称"
|
|
|
|
|
+ ></el-input>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ <el-form-item label="称重时间">
|
|
|
|
|
+ <el-date-picker
|
|
|
|
|
+ class="info-line-text"
|
|
|
|
|
+ v-model="truckRecordForm.weighTime"
|
|
|
|
|
+ type="datetime"
|
|
|
|
|
+ format="YYYY/MM/DD HH:mm"
|
|
|
|
|
+ value-format="YYYY/MM/DD HH:mm:ss"
|
|
|
|
|
+ placeholder="称重时间"
|
|
|
|
|
+ ></el-date-picker>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ <el-form-item label="车号">
|
|
|
|
|
+ <el-input
|
|
|
|
|
+ style="width: 240px"
|
|
|
|
|
+ v-model="truckRecordForm.carNum"
|
|
|
|
|
+ placeholder="车号"
|
|
|
|
|
+ ></el-input>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ <el-form-item label="货物名称">
|
|
|
|
|
+ <el-input
|
|
|
|
|
+ style="width: 240px"
|
|
|
|
|
+ v-model="truckRecordForm.cargoName"
|
|
|
|
|
+ placeholder="货物名称"
|
|
|
|
|
+ ></el-input>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ <el-form-item label="发货单位">
|
|
|
|
|
+ <el-input
|
|
|
|
|
+ style="width: 240px"
|
|
|
|
|
+ v-model="truckRecordForm.shippingUnit"
|
|
|
|
|
+ placeholder="发货单位"
|
|
|
|
|
+ ></el-input>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ <el-form-item label="毛重">
|
|
|
|
|
+ <el-input
|
|
|
|
|
+ style="width: 240px"
|
|
|
|
|
+ v-model="truckRecordForm.grossWeight"
|
|
|
|
|
+ placeholder="毛重"
|
|
|
|
|
+ ></el-input>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ <el-form-item label="收货单位">
|
|
|
|
|
+ <el-input
|
|
|
|
|
+ style="width: 240px"
|
|
|
|
|
+ v-model="truckRecordForm.receivingUnit"
|
|
|
|
|
+ placeholder="收货单位"
|
|
|
|
|
+ ></el-input>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ <el-form-item label="皮重">
|
|
|
|
|
+ <el-input
|
|
|
|
|
+ style="width: 240px"
|
|
|
|
|
+ v-model="truckRecordForm.tare"
|
|
|
|
|
+ placeholder="皮重"
|
|
|
|
|
+ ></el-input>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ <el-form-item label="运输单位">
|
|
|
|
|
+ <el-input
|
|
|
|
|
+ style="width: 240px"
|
|
|
|
|
+ v-model="truckRecordForm.transUnit"
|
|
|
|
|
+ placeholder="运输单位"
|
|
|
|
|
+ ></el-input>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ <el-form-item label="净重">
|
|
|
|
|
+ <el-input
|
|
|
|
|
+ style="width: 240px"
|
|
|
|
|
+ v-model="truckRecordForm.netWeight"
|
|
|
|
|
+ placeholder="净重"
|
|
|
|
|
+ ></el-input>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ <el-form-item label="货船名称">
|
|
|
|
|
+ <el-input
|
|
|
|
|
+ style="width: 240px"
|
|
|
|
|
+ v-model="truckRecordForm.shipName"
|
|
|
|
|
+ placeholder="货船名称"
|
|
|
|
|
+ ></el-input>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ <el-form-item label="司磅员">
|
|
|
|
|
+ <el-input
|
|
|
|
|
+ style="width: 240px"
|
|
|
|
|
+ v-model="truckRecordForm.weigher"
|
|
|
|
|
+ placeholder="司磅员"
|
|
|
|
|
+ ></el-input>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ <el-form-item label="汽车装货单">
|
|
|
|
|
+ <Uploader
|
|
|
|
|
+ actionUrl="#"
|
|
|
|
|
+ :uploaderId="'truckLoad'"
|
|
|
|
|
+ :params="truckLoadParams"
|
|
|
|
|
+ @onSendFileList="getTruckLoadBillList"
|
|
|
|
|
+ :fileList="truckRecordBillList"
|
|
|
|
|
+ uploadText="上传装货单"
|
|
|
|
|
+ :limit="1"
|
|
|
|
|
+ disabled
|
|
|
|
|
+ ></Uploader>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-form>
|
|
|
|
|
+ </el-dialog>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div v-auth="'BILLINFO'">
|
|
|
|
|
+ <div class="container-title df aic jcsb">
|
|
|
|
|
+ 单据信息
|
|
|
|
|
+ <el-button
|
|
|
|
|
+ style="margin-right: 30px"
|
|
|
|
|
+ size="medium"
|
|
|
|
|
+ type="primary"
|
|
|
|
|
+ v-auth="'BILLDOWNLOAD'"
|
|
|
|
|
+ @click="downloadBillZip"
|
|
|
|
|
+ :loading="billZipLoading"
|
|
|
|
|
+ >
|
|
|
|
|
+ 下载单据
|
|
|
|
|
+ </el-button>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="line-container-p24" style="padding-left: 60px">
|
|
|
|
|
+ <div class="df aic">
|
|
|
|
|
+ <div class="info-line-title">保险单:</div>
|
|
|
|
|
+ <el-image
|
|
|
|
|
+ style="width: 200px; height: 200px; margin-right: 20px"
|
|
|
|
|
+ :src="item.viewUrl"
|
|
|
|
|
+ v-for="item in policyList"
|
|
|
|
|
+ :key="item"
|
|
|
|
|
+ @click="openMediaModal(item.viewUrl, 1, '保险单查看')"
|
|
|
|
|
+ ></el-image>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div v-if="voyage.hasInsurance == 1">
|
|
|
|
|
+ <div class="hr mb20"></div>
|
|
|
|
|
+ <div class="df aic jcsb">
|
|
|
|
|
+ <div style="color: #0094fe">出险记录</div>
|
|
|
|
|
+ <el-button
|
|
|
|
|
+ type="primary"
|
|
|
|
|
+ @click="
|
|
|
|
|
+ (isAccidentVisable = true) && (accidentTitle = '新增出险记录')
|
|
|
"
|
|
"
|
|
|
>
|
|
>
|
|
|
- 天气信息为天气预报反应船舶所在区域即将发生天气情况
|
|
|
|
|
- <br />
|
|
|
|
|
- 预报下雨情况为预警信息请联系船东拍摄现场实际情况。
|
|
|
|
|
- </div>
|
|
|
|
|
|
|
+ 新增出险记录
|
|
|
|
|
+ </el-button>
|
|
|
</div>
|
|
</div>
|
|
|
- <el-table style="width: 1200px" :data="weatherTableData" stripe>
|
|
|
|
|
|
|
+ <el-table :data="accidentList" style="width: 800px">
|
|
|
<el-table-column
|
|
<el-table-column
|
|
|
type="index"
|
|
type="index"
|
|
|
label="序号"
|
|
label="序号"
|
|
@@ -491,774 +961,302 @@
|
|
|
align="center"
|
|
align="center"
|
|
|
></el-table-column>
|
|
></el-table-column>
|
|
|
<el-table-column
|
|
<el-table-column
|
|
|
- prop="weather"
|
|
|
|
|
- label="天气"
|
|
|
|
|
|
|
+ prop="remark"
|
|
|
|
|
+ label="备注"
|
|
|
min-width="120"
|
|
min-width="120"
|
|
|
align="center"
|
|
align="center"
|
|
|
></el-table-column>
|
|
></el-table-column>
|
|
|
<el-table-column
|
|
<el-table-column
|
|
|
- prop="temperature"
|
|
|
|
|
- label="温度"
|
|
|
|
|
|
|
+ prop="accidentTime"
|
|
|
|
|
+ label="出险时间"
|
|
|
min-width="100"
|
|
min-width="100"
|
|
|
align="center"
|
|
align="center"
|
|
|
></el-table-column>
|
|
></el-table-column>
|
|
|
<el-table-column
|
|
<el-table-column
|
|
|
- prop="winddirection"
|
|
|
|
|
- label="风向"
|
|
|
|
|
- min-width="100"
|
|
|
|
|
- align="center"
|
|
|
|
|
- ></el-table-column>
|
|
|
|
|
- <el-table-column
|
|
|
|
|
- prop="windpower"
|
|
|
|
|
- label="风力"
|
|
|
|
|
- min-width="100"
|
|
|
|
|
- align="center"
|
|
|
|
|
- ></el-table-column>
|
|
|
|
|
- <el-table-column
|
|
|
|
|
- prop="reporttime"
|
|
|
|
|
- label="记录时间"
|
|
|
|
|
|
|
+ prop="accidentTime"
|
|
|
|
|
+ label="操作"
|
|
|
min-width="100"
|
|
min-width="100"
|
|
|
align="center"
|
|
align="center"
|
|
|
>
|
|
>
|
|
|
- <template v-slot="scope">
|
|
|
|
|
- {{ subTimeStr(scope.row.reporttime, 16) }}
|
|
|
|
|
- </template>
|
|
|
|
|
- </el-table-column>
|
|
|
|
|
- </el-table>
|
|
|
|
|
- <div style="width: 1200px; text-align: right; margin-top: 43px">
|
|
|
|
|
- <el-pagination
|
|
|
|
|
- background
|
|
|
|
|
- layout="prev, pager, next"
|
|
|
|
|
- :total="weatherTotal"
|
|
|
|
|
- @current-change="weatherPageChange"
|
|
|
|
|
- ></el-pagination>
|
|
|
|
|
- </div>
|
|
|
|
|
- <div class="hr m30-0"></div>
|
|
|
|
|
- </div>
|
|
|
|
|
- <div v-auth="'LABDETAIL_DISABLE'">
|
|
|
|
|
- <div class="container-second-title df aic jcsb">
|
|
|
|
|
- <div>提单信息</div>
|
|
|
|
|
- </div>
|
|
|
|
|
- <el-table :data="labTableData" stripe style="width: 1200px">
|
|
|
|
|
- <el-table-column
|
|
|
|
|
- type="index"
|
|
|
|
|
- label="序号"
|
|
|
|
|
- min-width="120"
|
|
|
|
|
- align="center"
|
|
|
|
|
- ></el-table-column>
|
|
|
|
|
- <el-table-column
|
|
|
|
|
- prop="billingDate"
|
|
|
|
|
- label="开单日期"
|
|
|
|
|
- min-width="120"
|
|
|
|
|
- align="center"
|
|
|
|
|
- ></el-table-column>
|
|
|
|
|
- <el-table-column
|
|
|
|
|
- prop="billingNum"
|
|
|
|
|
- label="开单数量"
|
|
|
|
|
- min-width="100"
|
|
|
|
|
- align="center"
|
|
|
|
|
- ></el-table-column>
|
|
|
|
|
-
|
|
|
|
|
- <el-table-column label="单据" min-width="150" align="center">
|
|
|
|
|
<template v-slot="scope">
|
|
<template v-slot="scope">
|
|
|
<el-button
|
|
<el-button
|
|
|
- @click="showLab(scope.row, scope.$index, '查看提单')"
|
|
|
|
|
type="primary"
|
|
type="primary"
|
|
|
size="small"
|
|
size="small"
|
|
|
|
|
+ @click="checkAccident(scope.row, true)"
|
|
|
>
|
|
>
|
|
|
查看
|
|
查看
|
|
|
</el-button>
|
|
</el-button>
|
|
|
|
|
+ <el-button
|
|
|
|
|
+ type="info"
|
|
|
|
|
+ size="small"
|
|
|
|
|
+ @click="checkAccident(scope.row)"
|
|
|
|
|
+ >
|
|
|
|
|
+ 修改
|
|
|
|
|
+ </el-button>
|
|
|
|
|
+ <el-button
|
|
|
|
|
+ type="danger"
|
|
|
|
|
+ size="small"
|
|
|
|
|
+ @click="deleteAccident(scope.row.id)"
|
|
|
|
|
+ >
|
|
|
|
|
+ 删除
|
|
|
|
|
+ </el-button>
|
|
|
</template>
|
|
</template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
</el-table>
|
|
</el-table>
|
|
|
- <div style="text-align: right; margin-top: 43px; width: 1200px">
|
|
|
|
|
|
|
+ <div class="df jcfe">
|
|
|
<el-pagination
|
|
<el-pagination
|
|
|
|
|
+ class="mt20"
|
|
|
background
|
|
background
|
|
|
layout="prev, pager, next"
|
|
layout="prev, pager, next"
|
|
|
- :total="labTotal"
|
|
|
|
|
- @current-change="labPageChange"
|
|
|
|
|
|
|
+ :total="accidentTotal"
|
|
|
|
|
+ :current-page="accidentCurrentPage"
|
|
|
|
|
+ @current-change="accidentPageChange"
|
|
|
></el-pagination>
|
|
></el-pagination>
|
|
|
</div>
|
|
</div>
|
|
|
<el-dialog
|
|
<el-dialog
|
|
|
- v-model="isAddLabVisable"
|
|
|
|
|
- :title="labModalType"
|
|
|
|
|
- width="780px"
|
|
|
|
|
- center
|
|
|
|
|
- @close="cancelUploadLab"
|
|
|
|
|
|
|
+ :title="accidentTitle"
|
|
|
|
|
+ v-model="isAccidentVisable"
|
|
|
|
|
+ @close="resetAccidentForm"
|
|
|
|
|
+ destroy-on-close
|
|
|
>
|
|
>
|
|
|
- <el-form
|
|
|
|
|
- :model="labForm"
|
|
|
|
|
- inline
|
|
|
|
|
- style="margin-bottom: 20px"
|
|
|
|
|
- label-width="100px"
|
|
|
|
|
- >
|
|
|
|
|
- <el-form-item label="开单日期">
|
|
|
|
|
|
|
+ <el-form :model="accidentForm" label-width="100px">
|
|
|
|
|
+ <el-form-item label="出险时间">
|
|
|
<el-date-picker
|
|
<el-date-picker
|
|
|
class="info-line-text"
|
|
class="info-line-text"
|
|
|
- v-model="labForm.billingDate"
|
|
|
|
|
- type="date"
|
|
|
|
|
- format="YYYY/MM/DD"
|
|
|
|
|
- value-format="YYYY/MM/DD"
|
|
|
|
|
- placeholder="开单日期"
|
|
|
|
|
- disabled
|
|
|
|
|
|
|
+ v-model="accidentForm.accidentTime"
|
|
|
|
|
+ type="datetime"
|
|
|
|
|
+ format="YYYY/MM/DD HH:mm:ss"
|
|
|
|
|
+ value-format="YYYY/MM/DD HH:mm:ss"
|
|
|
|
|
+ placeholder="出险时间"
|
|
|
|
|
+ :disabled="isAccidentCheck"
|
|
|
></el-date-picker>
|
|
></el-date-picker>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
- <el-form-item label="开单数量">
|
|
|
|
|
|
|
+ <el-form-item label="备注">
|
|
|
<el-input
|
|
<el-input
|
|
|
- style="width: 240px"
|
|
|
|
|
- v-model="labForm.billingNum"
|
|
|
|
|
- placeholder="开单数量"
|
|
|
|
|
- disabled
|
|
|
|
|
|
|
+ class="info-line-text"
|
|
|
|
|
+ v-model="accidentForm.remark"
|
|
|
|
|
+ placeholder="备注"
|
|
|
|
|
+ :disabled="isAccidentCheck"
|
|
|
></el-input>
|
|
></el-input>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
- <el-form-item label="提单">
|
|
|
|
|
- <Uploader
|
|
|
|
|
- disabled
|
|
|
|
|
- :actionUrl="store.state.wayBillUrl"
|
|
|
|
|
- :uploaderId="'labLoad'"
|
|
|
|
|
- :params="labParams"
|
|
|
|
|
- @onSendFileList="getLabBillList"
|
|
|
|
|
- :fileList="labBillList"
|
|
|
|
|
- uploadText="上传提单"
|
|
|
|
|
- :limit="1"
|
|
|
|
|
- ></Uploader>
|
|
|
|
|
|
|
+ <el-form-item label="出险材料">
|
|
|
|
|
+ <div class="df">
|
|
|
|
|
+ <div
|
|
|
|
|
+ v-for="item in accidentForm.files"
|
|
|
|
|
+ v-bind:key="item.id"
|
|
|
|
|
+ style="position: relative"
|
|
|
|
|
+ >
|
|
|
|
|
+ <img
|
|
|
|
|
+ v-if="item.mediaType == 1"
|
|
|
|
|
+ style="
|
|
|
|
|
+ height: 148px;
|
|
|
|
|
+ width: 148px;
|
|
|
|
|
+ object-fit: contain;
|
|
|
|
|
+ margin-right: 10px;
|
|
|
|
|
+ "
|
|
|
|
|
+ @click="openMediaModal(item.viewUrl, 1, '图片查看')"
|
|
|
|
|
+ :src="item.viewUrl"
|
|
|
|
|
+ alt=""
|
|
|
|
|
+ />
|
|
|
|
|
+ <div v-else>
|
|
|
|
|
+ <div
|
|
|
|
|
+ style="height: 148px; width: 148px; margin-right: 10px"
|
|
|
|
|
+ >
|
|
|
|
|
+ <video
|
|
|
|
|
+ style="height: 100%; width: 100%"
|
|
|
|
|
+ @click="openMediaModal(item.viewUrl, 2, '视频查看')"
|
|
|
|
|
+ :src="item.viewUrl"
|
|
|
|
|
+ ></video>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <img
|
|
|
|
|
+ v-if="item.mediaType == 2"
|
|
|
|
|
+ @click="openMediaModal(item.viewUrl, 2, '视频查看')"
|
|
|
|
|
+ src="../../assets/icon-player.png"
|
|
|
|
|
+ style="
|
|
|
|
|
+ object-fit: contain;
|
|
|
|
|
+ width: 40px;
|
|
|
|
|
+ height: 40px;
|
|
|
|
|
+ position: absolute;
|
|
|
|
|
+ z-index: 100;
|
|
|
|
|
+ left: 50px;
|
|
|
|
|
+ top: 50px;
|
|
|
|
|
+ background: #fff;
|
|
|
|
|
+ border-radius: 50%;
|
|
|
|
|
+ "
|
|
|
|
|
+ alt=""
|
|
|
|
|
+ />
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <el-upload
|
|
|
|
|
+ drag
|
|
|
|
|
+ multiple
|
|
|
|
|
+ :action="store.state.accidentUrl"
|
|
|
|
|
+ list-type="picture-card"
|
|
|
|
|
+ :data="accidentParams"
|
|
|
|
|
+ :on-success="accidentUploadSuccess"
|
|
|
|
|
+ :show-file-list="false"
|
|
|
|
|
+ :file-list="accidentList"
|
|
|
|
|
+ :before-upload="accidentBeforeUpload"
|
|
|
|
|
+ v-if="!isAccidentCheck"
|
|
|
|
|
+ >
|
|
|
|
|
+ <div class="upload-plus-icon">+</div>
|
|
|
|
|
+ <div class="upload-text">拖拽或点击上传</div>
|
|
|
|
|
+ </el-upload>
|
|
|
|
|
+ </div>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</el-form>
|
|
</el-form>
|
|
|
|
|
+ <div class="df aic jcfe mb30" v-if="!isAccidentCheck">
|
|
|
|
|
+ <el-button
|
|
|
|
|
+ type="primary"
|
|
|
|
|
+ v-if="accidentForm.id"
|
|
|
|
|
+ @click="addUpdateAccident"
|
|
|
|
|
+ >
|
|
|
|
|
+ 修改
|
|
|
|
|
+ </el-button>
|
|
|
|
|
+ <el-button type="primary" v-else @click="addUpdateAccident">
|
|
|
|
|
+ 新增
|
|
|
|
|
+ </el-button>
|
|
|
|
|
+ </div>
|
|
|
</el-dialog>
|
|
</el-dialog>
|
|
|
- <div class="hr m30-0"></div>
|
|
|
|
|
|
|
+ <div class="hr mt20 mb20"></div>
|
|
|
</div>
|
|
</div>
|
|
|
- <div v-auth="'SHIPDISCHARGE'">
|
|
|
|
|
- <div class="container-second-title df aic jcsb">
|
|
|
|
|
- <div>卸货记录</div>
|
|
|
|
|
- <el-button
|
|
|
|
|
- v-auth="'DOWNLOADDISCHARGE'"
|
|
|
|
|
- @click="exportDischargeExcel"
|
|
|
|
|
- style="width: 220px; margin-right: 20px"
|
|
|
|
|
- type="primary"
|
|
|
|
|
- :loading="isDischargeLoadingExcel"
|
|
|
|
|
- >
|
|
|
|
|
- 下载卸货信息
|
|
|
|
|
- </el-button>
|
|
|
|
|
- </div>
|
|
|
|
|
- <el-table :data="dischargeList" stripe style="width: 1200px">
|
|
|
|
|
- <el-table-column
|
|
|
|
|
- type="index"
|
|
|
|
|
- label="序号"
|
|
|
|
|
- min-width="80"
|
|
|
|
|
- align="center"
|
|
|
|
|
- ></el-table-column>
|
|
|
|
|
- <el-table-column
|
|
|
|
|
- prop="dischargeTime"
|
|
|
|
|
- label="卸货时间"
|
|
|
|
|
- min-width="120"
|
|
|
|
|
- align="center"
|
|
|
|
|
- >
|
|
|
|
|
- <template v-slot="scope">
|
|
|
|
|
- {{ subTimeStr(scope.row.dischargeTime, 16) }}
|
|
|
|
|
- </template>
|
|
|
|
|
- </el-table-column>
|
|
|
|
|
- <el-table-column
|
|
|
|
|
- prop="dischargeTons"
|
|
|
|
|
- label="卸货吨位"
|
|
|
|
|
- min-width="100"
|
|
|
|
|
- align="center"
|
|
|
|
|
- ></el-table-column>
|
|
|
|
|
- <el-table-column
|
|
|
|
|
- prop="dischargePieces"
|
|
|
|
|
- label="卸货件数"
|
|
|
|
|
- min-width="100"
|
|
|
|
|
- align="center"
|
|
|
|
|
- ></el-table-column>
|
|
|
|
|
- <el-table-column label="磅单" min-width="150" align="center">
|
|
|
|
|
- <template v-slot="scope">
|
|
|
|
|
- <el-button
|
|
|
|
|
- @click="showUpdateDischarge(scope.row, scope.$index)"
|
|
|
|
|
- type="primary"
|
|
|
|
|
- size="small"
|
|
|
|
|
- v-if="scope.row.files"
|
|
|
|
|
- >
|
|
|
|
|
- 查看
|
|
|
|
|
- </el-button>
|
|
|
|
|
- </template>
|
|
|
|
|
- </el-table-column>
|
|
|
|
|
- </el-table>
|
|
|
|
|
- <div style="width: 1200px; text-align: right; margin-top: 43px">
|
|
|
|
|
- <el-pagination
|
|
|
|
|
- background
|
|
|
|
|
- layout="prev, pager, next"
|
|
|
|
|
- :total="total"
|
|
|
|
|
- @current-change="pageChange"
|
|
|
|
|
- ></el-pagination>
|
|
|
|
|
|
|
+ <div class="df aic">
|
|
|
|
|
+ <div class="info-line-title">运单:</div>
|
|
|
|
|
+ <el-image
|
|
|
|
|
+ style="width: 200px; height: 200px; margin-right: 20px"
|
|
|
|
|
+ :src="item.viewUrl"
|
|
|
|
|
+ v-for="item in voyageBill"
|
|
|
|
|
+ :key="item"
|
|
|
|
|
+ @click="openMediaModal(item.viewUrl, 1, '运单查看')"
|
|
|
|
|
+ ></el-image>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+
|
|
|
|
|
+ <div v-auth="'VOYAGEIMAGE'">
|
|
|
|
|
+ <div class="container-title">航次图片</div>
|
|
|
|
|
+ <div class="line-container-p24">
|
|
|
|
|
+ <div v-if="medias.length" class="medias-content df ffw">
|
|
|
|
|
+ <div class="pic-container">
|
|
|
|
|
+ <div v-for="(item, index) in medias" :key="item" class="pic-main">
|
|
|
|
|
+ <div
|
|
|
|
|
+ :class="[
|
|
|
|
|
+ 'box',
|
|
|
|
|
+ index % 2 == 0 ? '' : 'bottom-box',
|
|
|
|
|
+ item.status == 1 ? 'now-box' : '',
|
|
|
|
|
+ ]"
|
|
|
|
|
+ >
|
|
|
|
|
+ <div class="card-note">
|
|
|
|
|
+ {{ item.shipName }} 拍摄于
|
|
|
|
|
+ <br />
|
|
|
|
|
+ {{ item.createTime }}
|
|
|
|
|
+ <br />
|
|
|
|
|
+ 天气 : {{ item.weather?.weather }} - 气温 :
|
|
|
|
|
+ {{ item.weather?.temperature }}℃
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="medias-box mb10" style="position: relative">
|
|
|
|
|
+ <el-image
|
|
|
|
|
+ v-if="item.mediaType == 1"
|
|
|
|
|
+ style="width: 100%; height: 100%"
|
|
|
|
|
+ fit="contain"
|
|
|
|
|
+ :src="item.downloadUrl"
|
|
|
|
|
+ @click="openMediaModal(item.downloadUrl, 1, '图片审核')"
|
|
|
|
|
+ ></el-image>
|
|
|
|
|
+ <video
|
|
|
|
|
+ style="width: 100%; height: 100%"
|
|
|
|
|
+ v-else
|
|
|
|
|
+ :src="item.downloadUrl"
|
|
|
|
|
+ ></video>
|
|
|
|
|
+ <img
|
|
|
|
|
+ @click="openMediaModal(item.downloadUrl, 2, '视频审核')"
|
|
|
|
|
+ v-if="item.mediaType == 2"
|
|
|
|
|
+ src="../../assets/icon-player.png"
|
|
|
|
|
+ style="
|
|
|
|
|
+ object-fit: contain;
|
|
|
|
|
+ width: 40px;
|
|
|
|
|
+ height: 40px;
|
|
|
|
|
+ position: absolute;
|
|
|
|
|
+ top: calc(50% - 20px);
|
|
|
|
|
+ left: calc(50% - 20px);
|
|
|
|
|
+ background: #fff;
|
|
|
|
|
+ border-radius: 50%;
|
|
|
|
|
+ "
|
|
|
|
|
+ alt=""
|
|
|
|
|
+ />
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div
|
|
|
|
|
+ :class="[
|
|
|
|
|
+ 's-line',
|
|
|
|
|
+ index % 2 == 0 ? '' : 'top210px',
|
|
|
|
|
+ item.status == 1 ? 'now-s-line' : '',
|
|
|
|
|
+ ]"
|
|
|
|
|
+ ></div>
|
|
|
|
|
+ <div :class="['point', item.status == 1 ? '' : 'now-point']"></div>
|
|
|
|
|
+ <div
|
|
|
|
|
+ :class="['l-line', item.status == 1 ? 'now-l-line' : '']"
|
|
|
|
|
+ v-if="index + 1 != medias.length"
|
|
|
|
|
+ ></div>
|
|
|
|
|
+ </div>
|
|
|
</div>
|
|
</div>
|
|
|
- <div class="hr m30-0"></div>
|
|
|
|
|
</div>
|
|
</div>
|
|
|
- <el-dialog v-model="dialogVisible" title="图片预览" width="30%">
|
|
|
|
|
|
|
+ <el-dialog v-model="mediaModal" :title="modalTitle">
|
|
|
<el-image
|
|
<el-image
|
|
|
- :src="dialogImageUrl"
|
|
|
|
|
- style="height: 100%; width: 100%"
|
|
|
|
|
|
|
+ v-if="modalType == 1"
|
|
|
|
|
+ style="height: 60vh; display: flex"
|
|
|
|
|
+ fit="contain"
|
|
|
|
|
+ :src="currentUrl"
|
|
|
|
|
+ :preview-src-list="modalPreview"
|
|
|
></el-image>
|
|
></el-image>
|
|
|
|
|
+ <video
|
|
|
|
|
+ v-else
|
|
|
|
|
+ autoplay
|
|
|
|
|
+ controls
|
|
|
|
|
+ style="width: 100%; height: 60vh"
|
|
|
|
|
+ :src="currentUrl"
|
|
|
|
|
+ ></video>
|
|
|
</el-dialog>
|
|
</el-dialog>
|
|
|
- <div v-auth="'CARLOAD'">
|
|
|
|
|
- <div class="container-second-title df aic jcsb mt40">
|
|
|
|
|
- <div>汽车装货记录详情</div>
|
|
|
|
|
- </div>
|
|
|
|
|
- <el-table :data="truckTableData" stripe>
|
|
|
|
|
- <el-table-column
|
|
|
|
|
- type="index"
|
|
|
|
|
- label="序号"
|
|
|
|
|
- min-width="120"
|
|
|
|
|
- align="center"
|
|
|
|
|
- ></el-table-column>
|
|
|
|
|
- <el-table-column
|
|
|
|
|
- prop="portName"
|
|
|
|
|
- label="港口名称"
|
|
|
|
|
- min-width="100"
|
|
|
|
|
- align="center"
|
|
|
|
|
- ></el-table-column>
|
|
|
|
|
- <el-table-column
|
|
|
|
|
- prop="weighTime"
|
|
|
|
|
- label="称重时间"
|
|
|
|
|
- min-width="120"
|
|
|
|
|
- align="center"
|
|
|
|
|
- >
|
|
|
|
|
- <template v-slot="scope">
|
|
|
|
|
- {{ subTimeStr(scope.row.weighTime, 16) }}
|
|
|
|
|
- </template>
|
|
|
|
|
- </el-table-column>
|
|
|
|
|
- <el-table-column
|
|
|
|
|
- prop="carNum"
|
|
|
|
|
- label="车号"
|
|
|
|
|
- min-width="100"
|
|
|
|
|
- align="center"
|
|
|
|
|
- ></el-table-column>
|
|
|
|
|
- <el-table-column
|
|
|
|
|
- prop="cargoName"
|
|
|
|
|
- label="货物名称"
|
|
|
|
|
- min-width="120"
|
|
|
|
|
- align="center"
|
|
|
|
|
- ></el-table-column>
|
|
|
|
|
- <el-table-column
|
|
|
|
|
- prop="shippingUnit"
|
|
|
|
|
- label="发货单位"
|
|
|
|
|
- min-width="100"
|
|
|
|
|
- align="center"
|
|
|
|
|
- ></el-table-column>
|
|
|
|
|
- <el-table-column
|
|
|
|
|
- prop="receivingUnit"
|
|
|
|
|
- label="收货单位"
|
|
|
|
|
- min-width="120"
|
|
|
|
|
- align="center"
|
|
|
|
|
- ></el-table-column>
|
|
|
|
|
- <el-table-column
|
|
|
|
|
- prop="grossWeight"
|
|
|
|
|
- label="毛重"
|
|
|
|
|
- min-width="100"
|
|
|
|
|
- align="center"
|
|
|
|
|
- ></el-table-column>
|
|
|
|
|
- <el-table-column
|
|
|
|
|
- prop="tare"
|
|
|
|
|
- label="皮重"
|
|
|
|
|
- min-width="120"
|
|
|
|
|
- align="center"
|
|
|
|
|
- ></el-table-column>
|
|
|
|
|
- <el-table-column
|
|
|
|
|
- prop="netWeight"
|
|
|
|
|
- label="净重"
|
|
|
|
|
- min-width="100"
|
|
|
|
|
- align="center"
|
|
|
|
|
- ></el-table-column>
|
|
|
|
|
- <el-table-column
|
|
|
|
|
- prop="shipName"
|
|
|
|
|
- label="货船名称"
|
|
|
|
|
- min-width="120"
|
|
|
|
|
- align="center"
|
|
|
|
|
- ></el-table-column>
|
|
|
|
|
- <el-table-column
|
|
|
|
|
- prop="weigher"
|
|
|
|
|
- label="司磅员"
|
|
|
|
|
- min-width="100"
|
|
|
|
|
- align="center"
|
|
|
|
|
- ></el-table-column>
|
|
|
|
|
- <el-table-column label="单据" min-width="150" align="center">
|
|
|
|
|
- <template v-slot="scope">
|
|
|
|
|
- <el-button
|
|
|
|
|
- @click="showTruckRecord(scope.row, scope.$index, '查看单据')"
|
|
|
|
|
- type="primary"
|
|
|
|
|
- size="small"
|
|
|
|
|
- >
|
|
|
|
|
- 查看
|
|
|
|
|
- </el-button>
|
|
|
|
|
- </template>
|
|
|
|
|
- </el-table-column>
|
|
|
|
|
- </el-table>
|
|
|
|
|
- <div style="text-align: right; margin-top: 43px">
|
|
|
|
|
- <el-pagination
|
|
|
|
|
- background
|
|
|
|
|
- layout="prev, pager, next"
|
|
|
|
|
- :total="truckTotal"
|
|
|
|
|
- @current-change="truckPageChange"
|
|
|
|
|
- ></el-pagination>
|
|
|
|
|
- </div>
|
|
|
|
|
- </div>
|
|
|
|
|
<el-dialog
|
|
<el-dialog
|
|
|
- v-model="isAddTruckRecordVisable"
|
|
|
|
|
|
|
+ v-model="updateDischargeDialog"
|
|
|
title="查看记录"
|
|
title="查看记录"
|
|
|
- width="780px"
|
|
|
|
|
|
|
+ width="700px"
|
|
|
center
|
|
center
|
|
|
>
|
|
>
|
|
|
- <el-form
|
|
|
|
|
- :model="truckRecordForm"
|
|
|
|
|
- inline
|
|
|
|
|
- style="margin-bottom: 20px"
|
|
|
|
|
- label-width="100px"
|
|
|
|
|
- >
|
|
|
|
|
- <el-form-item label="港口名称">
|
|
|
|
|
- <el-input
|
|
|
|
|
- style="width: 240px"
|
|
|
|
|
- v-model="truckRecordForm.portName"
|
|
|
|
|
- placeholder="港口名称"
|
|
|
|
|
- ></el-input>
|
|
|
|
|
- </el-form-item>
|
|
|
|
|
- <el-form-item label="称重时间">
|
|
|
|
|
|
|
+ <el-form :model="updateForm" style="margin-bottom: 20px">
|
|
|
|
|
+ <!-- <el-form-item label="记录ID">
|
|
|
|
|
+ <span style="padding-left: 20px">{{ updateForm.id }}</span>
|
|
|
|
|
+ </el-form-item> -->
|
|
|
|
|
+ <el-form-item label="卸货时间">
|
|
|
<el-date-picker
|
|
<el-date-picker
|
|
|
class="info-line-text"
|
|
class="info-line-text"
|
|
|
- v-model="truckRecordForm.weighTime"
|
|
|
|
|
|
|
+ v-model="updateForm.dischargeTime"
|
|
|
type="datetime"
|
|
type="datetime"
|
|
|
format="YYYY/MM/DD HH:mm"
|
|
format="YYYY/MM/DD HH:mm"
|
|
|
value-format="YYYY/MM/DD HH:mm:ss"
|
|
value-format="YYYY/MM/DD HH:mm:ss"
|
|
|
- placeholder="称重时间"
|
|
|
|
|
|
|
+ placeholder="卸货时间"
|
|
|
|
|
+ disabled
|
|
|
></el-date-picker>
|
|
></el-date-picker>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
- <el-form-item label="车号">
|
|
|
|
|
- <el-input
|
|
|
|
|
- style="width: 240px"
|
|
|
|
|
- v-model="truckRecordForm.carNum"
|
|
|
|
|
- placeholder="车号"
|
|
|
|
|
- ></el-input>
|
|
|
|
|
- </el-form-item>
|
|
|
|
|
- <el-form-item label="货物名称">
|
|
|
|
|
- <el-input
|
|
|
|
|
- style="width: 240px"
|
|
|
|
|
- v-model="truckRecordForm.cargoName"
|
|
|
|
|
- placeholder="货物名称"
|
|
|
|
|
- ></el-input>
|
|
|
|
|
- </el-form-item>
|
|
|
|
|
- <el-form-item label="发货单位">
|
|
|
|
|
- <el-input
|
|
|
|
|
- style="width: 240px"
|
|
|
|
|
- v-model="truckRecordForm.shippingUnit"
|
|
|
|
|
- placeholder="发货单位"
|
|
|
|
|
- ></el-input>
|
|
|
|
|
- </el-form-item>
|
|
|
|
|
- <el-form-item label="毛重">
|
|
|
|
|
- <el-input
|
|
|
|
|
- style="width: 240px"
|
|
|
|
|
- v-model="truckRecordForm.grossWeight"
|
|
|
|
|
- placeholder="毛重"
|
|
|
|
|
- ></el-input>
|
|
|
|
|
- </el-form-item>
|
|
|
|
|
- <el-form-item label="收货单位">
|
|
|
|
|
- <el-input
|
|
|
|
|
- style="width: 240px"
|
|
|
|
|
- v-model="truckRecordForm.receivingUnit"
|
|
|
|
|
- placeholder="收货单位"
|
|
|
|
|
- ></el-input>
|
|
|
|
|
- </el-form-item>
|
|
|
|
|
- <el-form-item label="皮重">
|
|
|
|
|
- <el-input
|
|
|
|
|
- style="width: 240px"
|
|
|
|
|
- v-model="truckRecordForm.tare"
|
|
|
|
|
- placeholder="皮重"
|
|
|
|
|
- ></el-input>
|
|
|
|
|
- </el-form-item>
|
|
|
|
|
- <el-form-item label="运输单位">
|
|
|
|
|
- <el-input
|
|
|
|
|
- style="width: 240px"
|
|
|
|
|
- v-model="truckRecordForm.transUnit"
|
|
|
|
|
- placeholder="运输单位"
|
|
|
|
|
- ></el-input>
|
|
|
|
|
- </el-form-item>
|
|
|
|
|
- <el-form-item label="净重">
|
|
|
|
|
|
|
+ <el-form-item label="卸货吨位">
|
|
|
<el-input
|
|
<el-input
|
|
|
style="width: 240px"
|
|
style="width: 240px"
|
|
|
- v-model="truckRecordForm.netWeight"
|
|
|
|
|
- placeholder="净重"
|
|
|
|
|
- ></el-input>
|
|
|
|
|
- </el-form-item>
|
|
|
|
|
- <el-form-item label="货船名称">
|
|
|
|
|
- <el-input
|
|
|
|
|
- style="width: 240px"
|
|
|
|
|
- v-model="truckRecordForm.shipName"
|
|
|
|
|
- placeholder="货船名称"
|
|
|
|
|
- ></el-input>
|
|
|
|
|
- </el-form-item>
|
|
|
|
|
- <el-form-item label="司磅员">
|
|
|
|
|
- <el-input
|
|
|
|
|
- style="width: 240px"
|
|
|
|
|
- v-model="truckRecordForm.weigher"
|
|
|
|
|
- placeholder="司磅员"
|
|
|
|
|
|
|
+ v-model="updateForm.dischargeTons"
|
|
|
|
|
+ placeholder="卸货吨位"
|
|
|
|
|
+ disabled
|
|
|
></el-input>
|
|
></el-input>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
- <el-form-item label="汽车装货单">
|
|
|
|
|
- <Uploader
|
|
|
|
|
- actionUrl="#"
|
|
|
|
|
- :uploaderId="'truckLoad'"
|
|
|
|
|
- :params="truckLoadParams"
|
|
|
|
|
- @onSendFileList="getTruckLoadBillList"
|
|
|
|
|
- :fileList="truckRecordBillList"
|
|
|
|
|
- uploadText="上传装货单"
|
|
|
|
|
- :limit="1"
|
|
|
|
|
- disabled
|
|
|
|
|
- ></Uploader>
|
|
|
|
|
|
|
+ <el-form-item label="磅单查看">
|
|
|
|
|
+ <el-image
|
|
|
|
|
+ style="width: 200px; height: 200px; margin-right: 20px"
|
|
|
|
|
+ v-for="item in updatePoundBillList"
|
|
|
|
|
+ :src="item.viewUrl"
|
|
|
|
|
+ :key="item"
|
|
|
|
|
+ @click="openMediaModal(item.viewUrl, 1, '磅单查看')"
|
|
|
|
|
+ ></el-image>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</el-form>
|
|
</el-form>
|
|
|
</el-dialog>
|
|
</el-dialog>
|
|
|
</div>
|
|
</div>
|
|
|
- <div v-auth="'BILLINFO'">
|
|
|
|
|
- <div class="container-title df aic jcsb">
|
|
|
|
|
- 单据信息
|
|
|
|
|
- <el-button
|
|
|
|
|
- style="margin-right: 30px"
|
|
|
|
|
- size="medium"
|
|
|
|
|
- type="primary"
|
|
|
|
|
- v-auth="'BILLDOWNLOAD'"
|
|
|
|
|
- @click="downloadBillZip"
|
|
|
|
|
- :loading="billZipLoading"
|
|
|
|
|
- >
|
|
|
|
|
- 下载单据
|
|
|
|
|
- </el-button>
|
|
|
|
|
- </div>
|
|
|
|
|
- <div class="line-container-p24" style="padding-left: 60px">
|
|
|
|
|
- <div class="df aic">
|
|
|
|
|
- <div class="info-line-title">保险单:</div>
|
|
|
|
|
- <el-image
|
|
|
|
|
- style="width: 200px; height: 200px; margin-right: 20px"
|
|
|
|
|
- :src="item.viewUrl"
|
|
|
|
|
- v-for="item in policyList"
|
|
|
|
|
- :key="item"
|
|
|
|
|
- @click="openMediaModal(item.viewUrl, 1, '保险单查看')"
|
|
|
|
|
- ></el-image>
|
|
|
|
|
- </div>
|
|
|
|
|
- <div v-if="voyage.hasInsurance == 1">
|
|
|
|
|
- <div class="hr mb20"></div>
|
|
|
|
|
- <div class="df aic jcsb">
|
|
|
|
|
- <div style="color: #0094fe">出险记录</div>
|
|
|
|
|
- <el-button
|
|
|
|
|
- type="primary"
|
|
|
|
|
- @click="
|
|
|
|
|
- (isAccidentVisable = true) && (accidentTitle = '新增出险记录')
|
|
|
|
|
- "
|
|
|
|
|
- >
|
|
|
|
|
- 新增出险记录
|
|
|
|
|
- </el-button>
|
|
|
|
|
- </div>
|
|
|
|
|
- <el-table :data="accidentList" style="width: 800px">
|
|
|
|
|
- <el-table-column
|
|
|
|
|
- type="index"
|
|
|
|
|
- label="序号"
|
|
|
|
|
- min-width="120"
|
|
|
|
|
- align="center"
|
|
|
|
|
- ></el-table-column>
|
|
|
|
|
- <el-table-column
|
|
|
|
|
- prop="remark"
|
|
|
|
|
- label="备注"
|
|
|
|
|
- min-width="120"
|
|
|
|
|
- align="center"
|
|
|
|
|
- ></el-table-column>
|
|
|
|
|
- <el-table-column
|
|
|
|
|
- prop="accidentTime"
|
|
|
|
|
- label="出险时间"
|
|
|
|
|
- min-width="100"
|
|
|
|
|
- align="center"
|
|
|
|
|
- ></el-table-column>
|
|
|
|
|
- <el-table-column
|
|
|
|
|
- prop="accidentTime"
|
|
|
|
|
- label="操作"
|
|
|
|
|
- min-width="100"
|
|
|
|
|
- align="center"
|
|
|
|
|
- >
|
|
|
|
|
- <template v-slot="scope">
|
|
|
|
|
- <el-button
|
|
|
|
|
- type="primary"
|
|
|
|
|
- size="small"
|
|
|
|
|
- @click="checkAccident(scope.row, true)"
|
|
|
|
|
- >
|
|
|
|
|
- 查看
|
|
|
|
|
- </el-button>
|
|
|
|
|
- <el-button
|
|
|
|
|
- type="info"
|
|
|
|
|
- size="small"
|
|
|
|
|
- @click="checkAccident(scope.row)"
|
|
|
|
|
- >
|
|
|
|
|
- 修改
|
|
|
|
|
- </el-button>
|
|
|
|
|
- <el-button
|
|
|
|
|
- type="danger"
|
|
|
|
|
- size="small"
|
|
|
|
|
- @click="deleteAccident(scope.row.id)"
|
|
|
|
|
- >
|
|
|
|
|
- 删除
|
|
|
|
|
- </el-button>
|
|
|
|
|
- </template>
|
|
|
|
|
- </el-table-column>
|
|
|
|
|
- </el-table>
|
|
|
|
|
- <div class="df jcfe">
|
|
|
|
|
- <el-pagination
|
|
|
|
|
- class="mt20"
|
|
|
|
|
- background
|
|
|
|
|
- layout="prev, pager, next"
|
|
|
|
|
- :total="accidentTotal"
|
|
|
|
|
- :current-page="accidentCurrentPage"
|
|
|
|
|
- @current-change="accidentPageChange"
|
|
|
|
|
- ></el-pagination>
|
|
|
|
|
- </div>
|
|
|
|
|
- <el-dialog
|
|
|
|
|
- :title="accidentTitle"
|
|
|
|
|
- v-model="isAccidentVisable"
|
|
|
|
|
- @close="resetAccidentForm"
|
|
|
|
|
- destroy-on-close
|
|
|
|
|
- >
|
|
|
|
|
- <el-form :model="accidentForm" label-width="100px">
|
|
|
|
|
- <el-form-item label="出险时间">
|
|
|
|
|
- <el-date-picker
|
|
|
|
|
- class="info-line-text"
|
|
|
|
|
- v-model="accidentForm.accidentTime"
|
|
|
|
|
- type="datetime"
|
|
|
|
|
- format="YYYY/MM/DD HH:mm:ss"
|
|
|
|
|
- value-format="YYYY/MM/DD HH:mm:ss"
|
|
|
|
|
- placeholder="出险时间"
|
|
|
|
|
- :disabled="isAccidentCheck"
|
|
|
|
|
- ></el-date-picker>
|
|
|
|
|
- </el-form-item>
|
|
|
|
|
- <el-form-item label="备注">
|
|
|
|
|
- <el-input
|
|
|
|
|
- class="info-line-text"
|
|
|
|
|
- v-model="accidentForm.remark"
|
|
|
|
|
- placeholder="备注"
|
|
|
|
|
- :disabled="isAccidentCheck"
|
|
|
|
|
- ></el-input>
|
|
|
|
|
- </el-form-item>
|
|
|
|
|
- <el-form-item label="出险材料">
|
|
|
|
|
- <div class="df">
|
|
|
|
|
- <div
|
|
|
|
|
- v-for="item in accidentForm.files"
|
|
|
|
|
- v-bind:key="item.id"
|
|
|
|
|
- style="position: relative"
|
|
|
|
|
- >
|
|
|
|
|
- <img
|
|
|
|
|
- v-if="item.mediaType == 1"
|
|
|
|
|
- style="
|
|
|
|
|
- height: 148px;
|
|
|
|
|
- width: 148px;
|
|
|
|
|
- object-fit: contain;
|
|
|
|
|
- margin-right: 10px;
|
|
|
|
|
- "
|
|
|
|
|
- @click="openMediaModal(item.viewUrl, 1, '图片查看')"
|
|
|
|
|
- :src="item.viewUrl"
|
|
|
|
|
- alt=""
|
|
|
|
|
- />
|
|
|
|
|
- <div v-else>
|
|
|
|
|
- <div
|
|
|
|
|
- style="height: 148px; width: 148px; margin-right: 10px"
|
|
|
|
|
- >
|
|
|
|
|
- <video
|
|
|
|
|
- style="height: 100%; width: 100%"
|
|
|
|
|
- @click="openMediaModal(item.viewUrl, 2, '视频查看')"
|
|
|
|
|
- :src="item.viewUrl"
|
|
|
|
|
- ></video>
|
|
|
|
|
- </div>
|
|
|
|
|
- </div>
|
|
|
|
|
- <img
|
|
|
|
|
- v-if="item.mediaType == 2"
|
|
|
|
|
- @click="openMediaModal(item.viewUrl, 2, '视频查看')"
|
|
|
|
|
- src="../../assets/icon-player.png"
|
|
|
|
|
- style="
|
|
|
|
|
- object-fit: contain;
|
|
|
|
|
- width: 40px;
|
|
|
|
|
- height: 40px;
|
|
|
|
|
- position: absolute;
|
|
|
|
|
- z-index: 100;
|
|
|
|
|
- left: 50px;
|
|
|
|
|
- top: 50px;
|
|
|
|
|
- background: #fff;
|
|
|
|
|
- border-radius: 50%;
|
|
|
|
|
- "
|
|
|
|
|
- alt=""
|
|
|
|
|
- />
|
|
|
|
|
- </div>
|
|
|
|
|
- <el-upload
|
|
|
|
|
- drag
|
|
|
|
|
- multiple
|
|
|
|
|
- :action="store.state.accidentUrl"
|
|
|
|
|
- list-type="picture-card"
|
|
|
|
|
- :data="accidentParams"
|
|
|
|
|
- :on-success="accidentUploadSuccess"
|
|
|
|
|
- :show-file-list="false"
|
|
|
|
|
- :file-list="accidentList"
|
|
|
|
|
- :before-upload="accidentBeforeUpload"
|
|
|
|
|
- v-if="!isAccidentCheck"
|
|
|
|
|
- >
|
|
|
|
|
- <div class="upload-plus-icon">+</div>
|
|
|
|
|
- <div class="upload-text">拖拽或点击上传</div>
|
|
|
|
|
- </el-upload>
|
|
|
|
|
- </div>
|
|
|
|
|
- </el-form-item>
|
|
|
|
|
- </el-form>
|
|
|
|
|
- <div class="df aic jcfe mb30" v-if="!isAccidentCheck">
|
|
|
|
|
- <el-button
|
|
|
|
|
- type="primary"
|
|
|
|
|
- v-if="accidentForm.id"
|
|
|
|
|
- @click="addUpdateAccident"
|
|
|
|
|
- >
|
|
|
|
|
- 修改
|
|
|
|
|
- </el-button>
|
|
|
|
|
- <el-button type="primary" v-else @click="addUpdateAccident">
|
|
|
|
|
- 新增
|
|
|
|
|
- </el-button>
|
|
|
|
|
- </div>
|
|
|
|
|
- </el-dialog>
|
|
|
|
|
- <div class="hr mt20 mb20"></div>
|
|
|
|
|
- </div>
|
|
|
|
|
- <div class="df aic">
|
|
|
|
|
- <div class="info-line-title">运单:</div>
|
|
|
|
|
- <el-image
|
|
|
|
|
- style="width: 200px; height: 200px; margin-right: 20px"
|
|
|
|
|
- :src="item.viewUrl"
|
|
|
|
|
- v-for="item in voyageBill"
|
|
|
|
|
- :key="item"
|
|
|
|
|
- @click="openMediaModal(item.viewUrl, 1, '运单查看')"
|
|
|
|
|
- ></el-image>
|
|
|
|
|
- </div>
|
|
|
|
|
- </div>
|
|
|
|
|
- </div>
|
|
|
|
|
-
|
|
|
|
|
- <div v-auth="'VOYAGEIMAGE'">
|
|
|
|
|
- <div class="container-title">航次图片</div>
|
|
|
|
|
- <div class="line-container-p24">
|
|
|
|
|
- <div v-if="medias.length" class="medias-content df ffw">
|
|
|
|
|
- <div class="pic-container">
|
|
|
|
|
- <div v-for="(item, index) in medias" :key="item" class="pic-main">
|
|
|
|
|
- <div
|
|
|
|
|
- :class="[
|
|
|
|
|
- 'box',
|
|
|
|
|
- index % 2 == 0 ? '' : 'bottom-box',
|
|
|
|
|
- item.status == 1 ? 'now-box' : '',
|
|
|
|
|
- ]"
|
|
|
|
|
- >
|
|
|
|
|
- <div class="card-note">
|
|
|
|
|
- {{ item.shipName }} 拍摄于
|
|
|
|
|
- <br />
|
|
|
|
|
- {{ item.createTime }}
|
|
|
|
|
- <br />
|
|
|
|
|
- 天气 : {{ item.weather?.weather }} - 气温 :
|
|
|
|
|
- {{ item.weather?.temperature }}℃
|
|
|
|
|
- </div>
|
|
|
|
|
- <div class="medias-box mb10" style="position: relative">
|
|
|
|
|
- <el-image
|
|
|
|
|
- v-if="item.mediaType == 1"
|
|
|
|
|
- style="width: 100%; height: 100%"
|
|
|
|
|
- fit="contain"
|
|
|
|
|
- :src="item.downloadUrl"
|
|
|
|
|
- @click="openMediaModal(item.downloadUrl, 1, '图片审核')"
|
|
|
|
|
- ></el-image>
|
|
|
|
|
- <video
|
|
|
|
|
- style="width: 100%; height: 100%"
|
|
|
|
|
- v-else
|
|
|
|
|
- :src="item.downloadUrl"
|
|
|
|
|
- ></video>
|
|
|
|
|
- <img
|
|
|
|
|
- @click="openMediaModal(item.downloadUrl, 2, '视频审核')"
|
|
|
|
|
- v-if="item.mediaType == 2"
|
|
|
|
|
- src="../../assets/icon-player.png"
|
|
|
|
|
- style="
|
|
|
|
|
- object-fit: contain;
|
|
|
|
|
- width: 40px;
|
|
|
|
|
- height: 40px;
|
|
|
|
|
- position: absolute;
|
|
|
|
|
- top: calc(50% - 20px);
|
|
|
|
|
- left: calc(50% - 20px);
|
|
|
|
|
- background: #fff;
|
|
|
|
|
- border-radius: 50%;
|
|
|
|
|
- "
|
|
|
|
|
- alt=""
|
|
|
|
|
- />
|
|
|
|
|
- </div>
|
|
|
|
|
- </div>
|
|
|
|
|
- <div
|
|
|
|
|
- :class="[
|
|
|
|
|
- 's-line',
|
|
|
|
|
- index % 2 == 0 ? '' : 'top210px',
|
|
|
|
|
- item.status == 1 ? 'now-s-line' : '',
|
|
|
|
|
- ]"
|
|
|
|
|
- ></div>
|
|
|
|
|
- <div
|
|
|
|
|
- :class="['point', item.status == 1 ? '' : 'now-point']"
|
|
|
|
|
- ></div>
|
|
|
|
|
- <div
|
|
|
|
|
- :class="['l-line', item.status == 1 ? 'now-l-line' : '']"
|
|
|
|
|
- v-if="index + 1 != medias.length"
|
|
|
|
|
- ></div>
|
|
|
|
|
- </div>
|
|
|
|
|
- </div>
|
|
|
|
|
- </div>
|
|
|
|
|
- <el-dialog v-model="mediaModal" :title="modalTitle">
|
|
|
|
|
- <el-image
|
|
|
|
|
- v-if="modalType == 1"
|
|
|
|
|
- style="height: 60vh; display: flex"
|
|
|
|
|
- fit="contain"
|
|
|
|
|
- :src="currentUrl"
|
|
|
|
|
- :preview-src-list="modalPreview"
|
|
|
|
|
- ></el-image>
|
|
|
|
|
- <video
|
|
|
|
|
- v-else
|
|
|
|
|
- autoplay
|
|
|
|
|
- controls
|
|
|
|
|
- style="width: 100%; height: 60vh"
|
|
|
|
|
- :src="currentUrl"
|
|
|
|
|
- ></video>
|
|
|
|
|
- </el-dialog>
|
|
|
|
|
- <el-dialog
|
|
|
|
|
- v-model="updateDischargeDialog"
|
|
|
|
|
- title="查看记录"
|
|
|
|
|
- width="700px"
|
|
|
|
|
- center
|
|
|
|
|
- >
|
|
|
|
|
- <el-form :model="updateForm" style="margin-bottom: 20px">
|
|
|
|
|
- <!-- <el-form-item label="记录ID">
|
|
|
|
|
- <span style="padding-left: 20px">{{ updateForm.id }}</span>
|
|
|
|
|
- </el-form-item> -->
|
|
|
|
|
- <el-form-item label="卸货时间">
|
|
|
|
|
- <el-date-picker
|
|
|
|
|
- class="info-line-text"
|
|
|
|
|
- v-model="updateForm.dischargeTime"
|
|
|
|
|
- type="datetime"
|
|
|
|
|
- format="YYYY/MM/DD HH:mm"
|
|
|
|
|
- value-format="YYYY/MM/DD HH:mm:ss"
|
|
|
|
|
- placeholder="卸货时间"
|
|
|
|
|
- disabled
|
|
|
|
|
- ></el-date-picker>
|
|
|
|
|
- </el-form-item>
|
|
|
|
|
- <el-form-item label="卸货吨位">
|
|
|
|
|
- <el-input
|
|
|
|
|
- style="width: 240px"
|
|
|
|
|
- v-model="updateForm.dischargeTons"
|
|
|
|
|
- placeholder="卸货吨位"
|
|
|
|
|
- disabled
|
|
|
|
|
- ></el-input>
|
|
|
|
|
- </el-form-item>
|
|
|
|
|
- <el-form-item label="磅单查看">
|
|
|
|
|
- <el-image
|
|
|
|
|
- style="width: 200px; height: 200px; margin-right: 20px"
|
|
|
|
|
- v-for="item in updatePoundBillList"
|
|
|
|
|
- :src="item.viewUrl"
|
|
|
|
|
- :key="item"
|
|
|
|
|
- @click="openMediaModal(item.viewUrl, 1, '磅单查看')"
|
|
|
|
|
- ></el-image>
|
|
|
|
|
- </el-form-item>
|
|
|
|
|
- </el-form>
|
|
|
|
|
- </el-dialog>
|
|
|
|
|
- </div>
|
|
|
|
|
- </div>
|
|
|
|
|
</div>
|
|
</div>
|
|
|
</template>
|
|
</template>
|
|
|
<script setup>
|
|
<script setup>
|