Procházet zdrojové kódy

更新 分配单据功能

wzh před 3 roky
rodič
revize
cb18208e6f
2 změnil soubory, kde provedl 62 přidání a 29 odebrání
  1. 4 0
      src/App.vue
  2. 58 29
      src/views/voyage/voyageDetail.vue

+ 4 - 0
src/App.vue

@@ -233,4 +233,8 @@ export default {
 .tar {
   text-align: right;
 }
+
+.mr20 {
+  margin-right: 20px;
+}
 </style>

+ 58 - 29
src/views/voyage/voyageDetail.vue

@@ -366,7 +366,7 @@
       <el-table-column
         type="index"
         label="序号"
-        min-width="80"
+        min-width="120"
         align="center"
       ></el-table-column>
       <el-table-column
@@ -523,7 +523,7 @@
       <el-table-column
         type="index"
         label="序号"
-        min-width="80"
+        min-width="120"
         align="center"
       ></el-table-column>
       <el-table-column
@@ -856,7 +856,7 @@
     </el-button>
   </div>
   <div class="line-container-p24">
-    <div class="df aic fww">
+    <div v-if="shipownerUploadFiles.length" class="df aic fww">
       <div
         style="
           width: 100px;
@@ -880,18 +880,39 @@
         </div>
       </div>
     </div>
+    <div v-else style="text-align: center; font-size: 24px; color: #ccc">
+      暂无单据图片
+    </div>
   </div>
   <el-dialog
     title="单据分配"
     v-model="isDistributeModalVisable"
-    @close="distributeModalClose"
+    @closed="distributeModalClose"
+    destroy-on-close
   >
-    <div>
-      <el-radio v-model="distributeType" label="1" size="large">运单</el-radio>
+    <div class="df aic distribute-group">
+      <el-button
+        class="mr20"
+        :type="distributeType == 1 ? 'primary' : ''"
+        @click="distributeType = 1"
+        >运单</el-button
+      >
+      <el-button
+        class="mr20"
+        :type="distributeType == 2 ? 'primary' : ''"
+        @click="distributeType = 2"
+        >磅单</el-button
+      >
+      <el-button
+        :type="distributeType == 4 ? 'primary' : ''"
+        @click="distributeType = 4"
+        >汽运装货单</el-button
+      >
+      <!-- <el-radio v-model="distributeType" label="1" size="large">运单</el-radio>
       <el-radio v-model="distributeType" label="2" size="large">磅单</el-radio>
       <el-radio v-model="distributeType" label="4" size="large"
         >汽运装货单</el-radio
-      >
+      > -->
     </div>
     <div class="hr m10-0"></div>
     <div class="df aic fww">
@@ -945,20 +966,16 @@
     <div v-if="distributeType == 4">
       <div class="tar">
         <el-button @click="ocr" type="primary">开始识别</el-button>
-        <el-button @click="ocrTruckRecordTableData.push({})" type="primary"
-          >新增条目</el-button
-        >
       </div>
       <el-table :data="ocrTruckRecordTableData" stripe>
-        <el-table-column label="港口名称" min-width="80" align="center">
+        <el-table-column label="港口名称" min-width="120" align="center">
           <template v-slot="scope">
             <el-input size="small" v-model="scope.row.portName"></el-input>
           </template>
         </el-table-column>
-        <el-table-column label="称重时间" min-width="80" align="center">
+        <el-table-column label="称重时间" min-width="200" align="center">
           <template v-slot="scope">
             <el-date-picker
-              style="width: 80px"
               size="small"
               class="info-line-text"
               v-model="scope.row.weighTime"
@@ -969,52 +986,52 @@
             ></el-date-picker>
           </template>
         </el-table-column>
-        <el-table-column label="车号" min-width="80" align="center">
+        <el-table-column label="车号" min-width="120" align="center">
           <template v-slot="scope">
             <el-input size="small" v-model="scope.row.carNum"></el-input>
           </template>
         </el-table-column>
-        <el-table-column label="货物名称" min-width="80" align="center">
+        <el-table-column label="货物名称" min-width="120" align="center">
           <template v-slot="scope">
             <el-input size="small" v-model="scope.row.cargoName"></el-input>
           </template>
         </el-table-column>
-        <el-table-column label="发货单位" min-width="80" align="center">
+        <el-table-column label="发货单位" min-width="120" align="center">
           <template v-slot="scope">
             <el-input size="small" v-model="scope.row.shippingUnit"></el-input>
           </template>
         </el-table-column>
-        <el-table-column label="收货单位" min-width="80" align="center">
+        <el-table-column label="收货单位" min-width="120" align="center">
           <template v-slot="scope">
             <el-input size="small" v-model="scope.row.receivingUnit"></el-input>
           </template>
         </el-table-column>
-        <el-table-column label="毛重" min-width="80" align="center">
+        <el-table-column label="毛重" min-width="120" align="center">
           <template v-slot="scope">
             <el-input size="small" v-model="scope.row.grossWeight"></el-input>
           </template>
         </el-table-column>
-        <el-table-column label="皮重" min-width="80" align="center">
+        <el-table-column label="皮重" min-width="120" align="center">
           <template v-slot="scope">
             <el-input size="small" v-model="scope.row.tare"></el-input>
           </template>
         </el-table-column>
-        <el-table-column label="净重" min-width="80" align="center">
+        <el-table-column label="净重" min-width="120" align="center">
           <template v-slot="scope">
             <el-input size="small" v-model="scope.row.netWeight"></el-input>
           </template>
         </el-table-column>
-        <el-table-column label="货船名称" min-width="80" align="center">
+        <el-table-column label="货船名称" min-width="120" align="center">
           <template v-slot="scope">
             <el-input size="small" v-model="scope.row.shipName"></el-input>
           </template>
         </el-table-column>
-        <el-table-column label="司磅员" min-width="80" align="center">
+        <el-table-column label="司磅员" min-width="120" align="center">
           <template v-slot="scope">
             <el-input size="small" v-model="scope.row.weigher"></el-input>
           </template>
         </el-table-column>
-        <el-table-column label="操作" min-width="80" align="center">
+        <!-- <el-table-column label="操作" min-width="120" align="center">
           <template v-slot="scope">
             <el-button
               size="small"
@@ -1023,7 +1040,7 @@
               >删除</el-button
             >
           </template>
-        </el-table-column>
+        </el-table-column> -->
       </el-table>
     </div>
     <div class="hr m10-0"></div>
@@ -1871,7 +1888,7 @@ let checkedImages = ref([]);
 let distributeType = ref(-1);
 let checkedPreviewList = ref([]);
 let recordIds = ref("");
-let ocrTruckRecordTableData = ref([{}]);
+let ocrTruckRecordTableData = ref([]);
 function showDistributeModal() {
   checkedImages.value = shipownerUploadFiles.value.filter((e) => e.checked);
 
@@ -1894,8 +1911,12 @@ function showDistributeModal() {
 function distributeModalClose() {
   isDistributeModalVisable.value = false;
   distributeType.value = -1;
-  distributePoundForm.value = {};
-  ocrTruckRecordTableData.value = {};
+  distributePoundForm.value = {
+    dischargeTime: "",
+    dischargeTons: "",
+    dischargePieces: "",
+  };
+  ocrTruckRecordTableData.value = [];
 }
 
 async function submitDistribute() {
@@ -1906,17 +1927,24 @@ async function submitDistribute() {
     });
     return;
   }
-  console.log(ocrTruckRecordTableData.value);
   let postData = {};
+  let type = distributeType.value;
+  if (2 == type) {
+    postData = { poundBillData: distributePoundForm.value };
+  } else if (4 == type) {
+    postData = { carLoadDatas: ocrTruckRecordTableData.value };
+  }
   let res = await api.distribute({
     ...postData,
     voyageId: route.query.id,
     recordIds: recordIds.value,
-    type: distributeType.value,
+    type,
   });
   console.log(res);
   distributeModalClose();
   getVoyageDetail();
+  if (2 == type) getDischargeList();
+  if (4 == type) getTruckLoadRecord();
 }
 
 async function deleteOcrRecord(index) {
@@ -1930,6 +1958,7 @@ async function ocr() {
     recordIds: recordIds.value,
   });
   console.log(recordIds.value);
+  ocrTruckRecordTableData.value = res.data.result;
 }
 
 onMounted(() => {