Jelajahi Sumber

更新 航次详情细粒度控制

wzh 3 tahun lalu
induk
melakukan
95b9834fa5
1 mengubah file dengan 554 tambahan dan 540 penghapusan
  1. 554 540
      src/views/voyage/voyageDetail.vue

+ 554 - 540
src/views/voyage/voyageDetail.vue

@@ -12,6 +12,7 @@
   <div class="container-title df aic jcsb">
     <div>航次信息</div>
     <el-button
+      v-auth="'DOWNLOADSHIPTRACK'"
       style="width: 220px; margin-right: 20px"
       type="primary"
       @click="downloadExcel"
@@ -21,26 +22,27 @@
     </el-button>
   </div>
   <div class="line-container-p24">
-    <div class="line">
-      <div class="info-line">
-        <div class="info-line-title">航次名称</div>
-        <el-input
-          class="info-line-text"
-          v-model="voyage.voyageName"
-          disabled
-        ></el-input>
-      </div>
-      <div class="info-gap" v-if="shipAudits.length"></div>
-      <div class="info-line">
-        <div class="info-line-title">货主</div>
-        <el-input
-          class="info-line-text"
-          v-model="voyage.cargoOwnerName"
-          disabled
-        ></el-input>
+    <div v-auth="'VOYAGEINFO'">
+      <div class="line">
+        <div class="info-line">
+          <div class="info-line-title">航次名称</div>
+          <el-input
+            class="info-line-text"
+            v-model="voyage.voyageName"
+            disabled
+          ></el-input>
+        </div>
+        <div class="info-gap" v-if="shipAudits.length"></div>
+        <div class="info-line">
+          <div class="info-line-title">货主</div>
+          <el-input
+            class="info-line-text"
+            v-model="voyage.cargoOwnerName"
+            disabled
+          ></el-input>
+        </div>
       </div>
-    </div>
-    <!-- <div class="line">
+      <!-- <div class="line">
       <div class="info-line">
         <div class="info-line-title">船东</div>
         <el-input
@@ -58,212 +60,216 @@
         ></el-input>
       </div>
     </div> -->
-    <div class="line">
-      <div class="info-line">
-        <div class="info-line-title">船舶名称</div>
-        <el-input
-          class="info-line-text"
-          v-model="voyage.shipName"
-          disabled
-        ></el-input>
-      </div>
-      <div
-        class="info-gap"
-        v-if="shipAudits.length"
-        @click="isCertsVisable = true"
-      >
-        汇很多认证
-      </div>
-      <el-dialog
-        @open="showCerts"
-        v-model="isCertsVisable"
-        destroy-on-close
-        width="30%"
-      >
-        <Certs ref="certs"></Certs>
-      </el-dialog>
-      <div class="info-line">
-        <div class="info-line-title">MMSI</div>
-        <el-input
-          class="info-line-text"
-          v-model="voyage.shipMmsi"
-          disabled
-        ></el-input>
-      </div>
-    </div>
-    <div id="map-container" class="map-container"></div>
-    <div class="line" style="margin-top: 30px">
-      <div class="info-line">
-        <div class="info-line-title">开始时间</div>
-        <el-input
-          class="info-line-text"
-          v-model="voyage.startTime"
-          disabled
-        ></el-input>
-      </div>
-      <div class="info-line">
-        <div class="info-line-title">结束时间</div>
-        <el-input
-          class="info-line-text"
-          v-model="voyage.endTime"
-          disabled
-        ></el-input>
-      </div>
-    </div>
-    <div class="line">
-      <div class="info-line">
-        <div class="info-line-title">装货港</div>
-        <el-input
-          class="info-line-text"
-          v-model="voyage.loadPort"
-          disabled
-        ></el-input>
-      </div>
-      <div class="info-line">
-        <div class="info-line-title">卸货港</div>
-        <el-input
-          class="info-line-text"
-          v-model="voyage.dischargeProt"
-          disabled
-        ></el-input>
-      </div>
-    </div>
-    <div class="line">
-      <div class="info-line">
-        <div class="info-line-title">货种</div>
-        <el-input
-          class="info-line-text"
-          v-model="voyage.cargo"
-          disabled
-        ></el-input>
-      </div>
-      <div class="info-line">
-        <div style="width: 120px !important" class="info-line-title">货量</div>
-        <el-input
-          style="width: 100px !important"
-          class="info-line-text"
-          v-model="voyage.tons"
-          disabled
-        ></el-input>
-        <span class="unit">吨</span>
-        <el-input
-          style="width: 80px !important"
-          class="info-line-text"
-          v-model="voyage.Pieces"
-          disabled
-        ></el-input>
-        <span class="unit">件</span>
-      </div>
-    </div>
-    <div class="container-second-title df aic jcsb mt40">
-      <div>船舶运输记录详情</div>
-      <div style="margin-right: 20px">
-        信息更新时间 :
-        <span style="font-size: 18px">
-          {{ subStr(voyage.infoUpdateTime) }}</span
-        >
-      </div>
-    </div>
-    <div class="line-container-p24">
       <div class="line">
         <div class="info-line">
-          <div class="info-line-title">到达装货港时间</div>
-          <el-date-picker
+          <div class="info-line-title">船舶名称</div>
+          <el-input
             class="info-line-text"
-            v-model="voyage.arrivalLoadPortTime"
-            type="datetime"
-            format="YYYY/MM/DD HH:mm:ss"
-            value-format="YYYY/MM/DD HH:mm:ss"
-            placeholder="到达装货港时间"
-            :disabled="disabledStatus"
-          ></el-date-picker>
+            v-model="voyage.shipName"
+            disabled
+          ></el-input>
+        </div>
+        <div
+          class="info-gap"
+          v-if="shipAudits.length"
+          @click="isCertsVisable = true"
+        >
+          汇很多认证
         </div>
+        <el-dialog
+          @open="showCerts"
+          v-model="isCertsVisable"
+          destroy-on-close
+          width="30%"
+        >
+          <Certs ref="certs"></Certs>
+        </el-dialog>
         <div class="info-line">
-          <div class="info-line-title">实装货量</div>
+          <div class="info-line-title">MMSI</div>
           <el-input
-            style="width: 100px !important"
             class="info-line-text"
-            v-model="voyage.actualLoadTons"
-            :disabled="disabledStatus"
-            placeholder="实装吨位"
+            v-model="voyage.shipMmsi"
+            disabled
           ></el-input>
-          <span class="unit">吨</span>
+        </div>
+      </div>
+      <div id="map-container" class="map-container"></div>
+      <div class="line" style="margin-top: 30px">
+        <div class="info-line">
+          <div class="info-line-title">开始时间</div>
           <el-input
-            style="width: 80px !important"
             class="info-line-text"
-            v-model="voyage.actualLoadPieces"
-            :disabled="disabledStatus"
-            placeholder="实装件数"
+            v-model="voyage.startTime"
+            disabled
+          ></el-input>
+        </div>
+        <div class="info-line">
+          <div class="info-line-title">结束时间</div>
+          <el-input
+            class="info-line-text"
+            v-model="voyage.endTime"
+            disabled
           ></el-input>
-          <span class="unit">件</span>
         </div>
       </div>
       <div class="line">
         <div class="info-line">
-          <div class="info-line-title">装货开始时间</div>
-          <el-date-picker
+          <div class="info-line-title">装货港</div>
+          <el-input
             class="info-line-text"
-            v-model="voyage.loadStartTime"
-            type="datetime"
-            format="YYYY/MM/DD HH:mm:ss"
-            value-format="YYYY/MM/DD HH:mm:ss"
-            placeholder="装货开始时间"
-            :disabled="disabledStatus"
-          ></el-date-picker>
+            v-model="voyage.loadPort"
+            disabled
+          ></el-input>
         </div>
         <div class="info-line">
-          <div class="info-line-title">装货结束时间</div>
-          <el-date-picker
+          <div class="info-line-title">卸货港</div>
+          <el-input
             class="info-line-text"
-            v-model="voyage.loadEndTime"
-            type="datetime"
-            format="YYYY/MM/DD HH:mm:ss"
-            value-format="YYYY/MM/DD HH:mm:ss"
-            placeholder="装货开始时间"
-            :disabled="disabledStatus"
-          ></el-date-picker>
+            v-model="voyage.dischargeProt"
+            disabled
+          ></el-input>
         </div>
       </div>
       <div class="line">
         <div class="info-line">
-          <div class="info-line-title">开航时间</div>
-          <el-date-picker
+          <div class="info-line-title">货种</div>
+          <el-input
             class="info-line-text"
-            v-model="voyage.setSailTime"
-            type="datetime"
-            format="YYYY/MM/DD HH:mm:ss"
-            value-format="YYYY/MM/DD HH:mm:ss"
-            placeholder="开航时间"
-            :disabled="disabledStatus"
-          ></el-date-picker>
+            v-model="voyage.cargo"
+            disabled
+          ></el-input>
         </div>
         <div class="info-line">
-          <div class="info-line-title">预计到港时间</div>
-          <el-date-picker
+          <div style="width: 120px !important" class="info-line-title">
+            货量
+          </div>
+          <el-input
+            style="width: 100px !important"
             class="info-line-text"
-            v-model="voyage.expectedArrivalTime"
-            type="datetime"
-            format="YYYY/MM/DD"
-            value-format="YYYY/MM/DD HH:mm:ss"
-            placeholder="预计到港时间"
-            :disabled="disabledStatus"
-          ></el-date-picker>
+            v-model="voyage.tons"
+            disabled
+          ></el-input>
+          <span class="unit">吨</span>
+          <el-input
+            style="width: 80px !important"
+            class="info-line-text"
+            v-model="voyage.Pieces"
+            disabled
+          ></el-input>
+          <span class="unit">件</span>
         </div>
       </div>
-      <div class="line">
-        <div class="info-line">
-          <div class="info-line-title">实际到港时间</div>
-          <el-date-picker
-            class="info-line-text"
-            v-model="voyage.actualArrivalTime"
-            type="datetime"
-            format="YYYY/MM/DD HH:mm:ss"
-            value-format="YYYY/MM/DD HH:mm:ss"
-            placeholder="实际到港时间"
-            :disabled="disabledStatus"
-          ></el-date-picker>
+    </div>
+    <div v-auth="'SHIPTRANS'">
+      <div class="container-second-title df aic jcsb mt40">
+        <div>船舶运输记录详情</div>
+        <div style="margin-right: 20px">
+          信息更新时间 :
+          <span style="font-size: 18px">
+            {{ subStr(voyage.infoUpdateTime) }}</span
+          >
         </div>
-        <!-- <div class="info-line">
+      </div>
+      <div class="line-container-p24">
+        <div class="line">
+          <div class="info-line">
+            <div class="info-line-title">到达装货港时间</div>
+            <el-date-picker
+              class="info-line-text"
+              v-model="voyage.arrivalLoadPortTime"
+              type="datetime"
+              format="YYYY/MM/DD HH:mm:ss"
+              value-format="YYYY/MM/DD HH:mm:ss"
+              placeholder="到达装货港时间"
+              :disabled="disabledStatus"
+            ></el-date-picker>
+          </div>
+          <div class="info-line">
+            <div class="info-line-title">实装货量</div>
+            <el-input
+              style="width: 100px !important"
+              class="info-line-text"
+              v-model="voyage.actualLoadTons"
+              :disabled="disabledStatus"
+              placeholder="实装吨位"
+            ></el-input>
+            <span class="unit">吨</span>
+            <el-input
+              style="width: 80px !important"
+              class="info-line-text"
+              v-model="voyage.actualLoadPieces"
+              :disabled="disabledStatus"
+              placeholder="实装件数"
+            ></el-input>
+            <span class="unit">件</span>
+          </div>
+        </div>
+        <div class="line">
+          <div class="info-line">
+            <div class="info-line-title">装货开始时间</div>
+            <el-date-picker
+              class="info-line-text"
+              v-model="voyage.loadStartTime"
+              type="datetime"
+              format="YYYY/MM/DD HH:mm:ss"
+              value-format="YYYY/MM/DD HH:mm:ss"
+              placeholder="装货开始时间"
+              :disabled="disabledStatus"
+            ></el-date-picker>
+          </div>
+          <div class="info-line">
+            <div class="info-line-title">装货结束时间</div>
+            <el-date-picker
+              class="info-line-text"
+              v-model="voyage.loadEndTime"
+              type="datetime"
+              format="YYYY/MM/DD HH:mm:ss"
+              value-format="YYYY/MM/DD HH:mm:ss"
+              placeholder="装货开始时间"
+              :disabled="disabledStatus"
+            ></el-date-picker>
+          </div>
+        </div>
+        <div class="line">
+          <div class="info-line">
+            <div class="info-line-title">开航时间</div>
+            <el-date-picker
+              class="info-line-text"
+              v-model="voyage.setSailTime"
+              type="datetime"
+              format="YYYY/MM/DD HH:mm:ss"
+              value-format="YYYY/MM/DD HH:mm:ss"
+              placeholder="开航时间"
+              :disabled="disabledStatus"
+            ></el-date-picker>
+          </div>
+          <div class="info-line">
+            <div class="info-line-title">预计到港时间</div>
+            <el-date-picker
+              class="info-line-text"
+              v-model="voyage.expectedArrivalTime"
+              type="datetime"
+              format="YYYY/MM/DD"
+              value-format="YYYY/MM/DD HH:mm:ss"
+              placeholder="预计到港时间"
+              :disabled="disabledStatus"
+            ></el-date-picker>
+          </div>
+        </div>
+        <div class="line">
+          <div class="info-line">
+            <div class="info-line-title">实际到港时间</div>
+            <el-date-picker
+              class="info-line-text"
+              v-model="voyage.actualArrivalTime"
+              type="datetime"
+              format="YYYY/MM/DD HH:mm:ss"
+              value-format="YYYY/MM/DD HH:mm:ss"
+              placeholder="实际到港时间"
+              :disabled="disabledStatus"
+            ></el-date-picker>
+          </div>
+          <!-- <div class="info-line">
         <div class="info-line-title">抵达目的地港时间</div>
         <el-date-picker
           class="info-line-text"
@@ -275,228 +281,232 @@
           :disabled="disabledStatus"
         ></el-date-picker>
       </div> -->
-      </div>
-      <div class="line">
-        <div class="info-line">
-          <div class="info-line-title">卸货开始时间</div>
-          <el-date-picker
-            class="info-line-text"
-            v-model="voyage.dischargeStartTime"
-            type="datetime"
-            format="YYYY/MM/DD HH:mm:ss"
-            value-format="YYYY/MM/DD HH:mm:ss"
-            placeholder="卸货开始时间"
-            :disabled="disabledStatus"
-          ></el-date-picker>
         </div>
-        <div class="info-line">
-          <div class="info-line-title">卸货结束时间</div>
-          <el-date-picker
-            class="info-line-text"
-            v-model="voyage.dischargeEndTime"
-            type="datetime"
-            format="YYYY/MM/DD HH:mm:ss"
-            value-format="YYYY/MM/DD HH:mm:ss"
-            placeholder="卸货结束时间"
-            :disabled="disabledStatus"
-          ></el-date-picker>
+        <div class="line">
+          <div class="info-line">
+            <div class="info-line-title">卸货开始时间</div>
+            <el-date-picker
+              class="info-line-text"
+              v-model="voyage.dischargeStartTime"
+              type="datetime"
+              format="YYYY/MM/DD HH:mm:ss"
+              value-format="YYYY/MM/DD HH:mm:ss"
+              placeholder="卸货开始时间"
+              :disabled="disabledStatus"
+            ></el-date-picker>
+          </div>
+          <div class="info-line">
+            <div class="info-line-title">卸货结束时间</div>
+            <el-date-picker
+              class="info-line-text"
+              v-model="voyage.dischargeEndTime"
+              type="datetime"
+              format="YYYY/MM/DD HH:mm:ss"
+              value-format="YYYY/MM/DD HH:mm:ss"
+              placeholder="卸货结束时间"
+              :disabled="disabledStatus"
+            ></el-date-picker>
+          </div>
         </div>
-      </div>
-      <div class="line">
-        <div class="info-line">
-          <div class="info-line-title">实际卸货量</div>
-          <el-input
-            style="width: 100px !important"
-            class="info-line-text"
-            placeholder="实际卸货吨位"
-            v-model="voyage.actualDischargeTons"
-            :disabled="disabledStatus"
-          ></el-input>
-          <span class="unit">吨</span>
-          <el-input
-            style="width: 80px !important"
-            class="info-line-text"
-            placeholder="实际卸货件数"
-            v-model="voyage.actualDischargePieces"
-            :disabled="disabledStatus"
-          ></el-input>
-          <span class="unit">件</span>
+        <div class="line">
+          <div class="info-line">
+            <div class="info-line-title">实际卸货量</div>
+            <el-input
+              style="width: 100px !important"
+              class="info-line-text"
+              placeholder="实际卸货吨位"
+              v-model="voyage.actualDischargeTons"
+              :disabled="disabledStatus"
+            ></el-input>
+            <span class="unit">吨</span>
+            <el-input
+              style="width: 80px !important"
+              class="info-line-text"
+              placeholder="实际卸货件数"
+              v-model="voyage.actualDischargePieces"
+              :disabled="disabledStatus"
+            ></el-input>
+            <span class="unit">件</span>
+          </div>
         </div>
-      </div>
-      <div class="line">
-        <div class="info-line">
-          <div class="info-line-title">备注</div>
-          <el-input
-            class="info-line-textarea"
-            v-model="voyage.remark"
-            autosize
-            type="textarea"
-            :disabled="disabledStatus"
-          ></el-input>
+        <div class="line">
+          <div class="info-line">
+            <div class="info-line-title">备注</div>
+            <el-input
+              class="info-line-textarea"
+              v-model="voyage.remark"
+              autosize
+              type="textarea"
+              :disabled="disabledStatus"
+            ></el-input>
+          </div>
         </div>
       </div>
+      <hr class="hr m30-0" />
     </div>
-    <hr class="hr m30-0" />
-    <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 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: 800px">
+        <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"
+        ></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: 100%; 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-table :data="dischargeList" stripe style="width: 800px">
-      <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"
-      ></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>
-
     <el-dialog v-model="dialogVisible" title="图片预览" width="30%">
       <el-image
         :src="dialogImageUrl"
         style="height: 100%; width: 100%"
       ></el-image>
     </el-dialog>
-    <div style="width: 100%; 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 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"
-      ></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 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"
+        ></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"
@@ -612,150 +622,154 @@
       </el-form>
     </el-dialog>
   </div>
-
-  <div class="container-title">单据信息</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>
-    <hr class="hr m30-0" />
-    <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 v-auth="'BILLINFO'">
+    <div class="container-title">单据信息</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>
+      <hr class="hr m30-0" />
+      <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 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 }}
-            </div>
-            <div class="medias-box" 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 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 }}
+              </div>
+              <div class="medias-box" 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
-            :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: 100%"
-        :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">
+      <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: 100%"
+          :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:ss"
-            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>
+          <el-form-item label="卸货时间">
+            <el-date-picker
+              class="info-line-text"
+              v-model="updateForm.dischargeTime"
+              type="datetime"
+              format="YYYY/MM/DD HH:mm:ss"
+              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>
 </template>
 <script setup>