Эх сурвалжийг харах

change: cargo 功能迭代.

peter 3 долоо хоног өмнө
parent
commit
ee4b0809f6

+ 101 - 17
src/pages/cargo-consolidation-request/index.vue

@@ -58,37 +58,37 @@
         <el-table-column
           prop="Forwarder"
           label="货代"
-          width="110"
+          width="100"
         />
         <el-table-column
           prop="ETD"
           label="ETD"
-          width="110"
+          width="100"
         />
         <el-table-column
           prop="ATD"
           label="ATD"
-          width="110"
+          width="100"
         />
         <el-table-column
           prop="ETA"
           label="ETA"
-          width="110"
+          width="100"
         />
         <el-table-column
           prop="ATA"
           label="ATA"
-          width="110"
+          width="100"
         />
         <el-table-column
           prop="Cut_Off_Date"
           label="入仓时间"
-          width="120"
+          width="100"
         />
         <el-table-column
           prop="Status"
           label="状态"
-          width="100"
+          width="75"
         />
         <!-- <el-table-column
           label="修改时间"
@@ -108,10 +108,15 @@
           label="订舱号"
           min-width="120"
         />
+        <el-table-column
+          prop="Container_Number"
+          label="柜号"
+          min-width="125"
+        />
         <el-table-column
           prop="Carrier"
           label="船东"
-          min-width="120"
+          min-width="100"
         />
         <el-table-column label="操作">
           <template #default="scope">
@@ -132,17 +137,17 @@
         class="flex justify-between mt-8"
       >
         <div class="flex">
-          <div class="flex items-center mr-2">
+          <!-- <div class="flex items-center mr-2">
             <span class="min-w-[150px]">选中的船名&航次:&nbsp;</span>
             <div class="text-red-700 font-bold">
               {{ currentRow.Name }}
             </div>
-          </div>
+          </div> -->
           <div class="flex flex-wrap min-w-[800px] mr-2">
+            <!-- ['可用', '已截仓'].includes(currentRow.Status) && -->
             <el-input
               v-if="
                 currentTab === 'Arrangement' &&
-                ['可用', '已截仓'].includes(currentRow.Status) &&
                 [
                   '4791186000259693001',
                   '4791186000022965001',
@@ -165,8 +170,35 @@
                 </el-button>
               </template>
             </el-input>
+            <!-- ['可用', '已截仓'].includes(currentRow.Status) && -->
+            <el-input
+              v-if="
+                currentTab === 'Arrangement' &&
+                [
+                  '4791186000259693001',
+                  '4791186000022965001',
+                  '4791186000052269001',
+                ].includes(currentUser)
+              "
+              :disabled="!['Arrangement', 'my_request'].includes(currentTab)"
+              style="width: 200px; height: 24px; margin-right: 10px"
+              size="small"
+              v-model="containerNumber"
+            >
+              <template #append>
+                <el-button
+                  class="custom-button"
+                  size="small"
+                  style="padding-top: 0; padding-bottom: 0"
+                  @click="updateContainerNumber"
+                >
+                  更新柜号
+                </el-button>
+              </template>
+            </el-input>
             <el-button
               v-if="
+                currentTab === 'Arrangement' &&
                 ['可用', '已截仓'].includes(currentRow.Status) &&
                 [
                   '4791186000259693001',
@@ -182,7 +214,10 @@
             </el-button>
             <el-button
               class="custom-button"
-              v-if="['Arrangement', 'my_request'].includes(currentTab)"
+              v-if="
+                ['Arrangement', 'my_request'].includes(currentTab) &&
+                ['可用'].includes(currentRow.Status)
+              "
               size="small"
               @click="addBulkProduct"
             >
@@ -190,7 +225,10 @@
             </el-button>
             <el-button
               class="custom-button"
-              v-if="['Arrangement', 'my_request'].includes(currentTab)"
+              v-if="
+                ['Arrangement', 'my_request'].includes(currentTab) &&
+                ['可用'].includes(currentRow.Status)
+              "
               size="small"
               @click="addSample"
             >
@@ -214,7 +252,10 @@
               导出Excel文档
             </el-button>
             <el-button
-              v-if="['Arrangement', 'my_request'].includes(currentTab)"
+              v-if="
+                ['Arrangement', 'my_request'].includes(currentTab) &&
+                ['可用'].includes(currentRow.Status)
+              "
               :disabled="subList.length < 1"
               size="small"
               type="primary"
@@ -225,7 +266,7 @@
             </el-button>
           </div>
         </div>
-        <div class="flex flex-wrap min-w-[380px] gap-2">
+        <div class="flex justify-end min-w-[380px] gap-2">
           <div class="flex">总重量: {{ computedWeight }}</div>
           <div class="flex">总体积: {{ computedCube }}</div>
           <div class="flex">总离岸价: {{ computedTotalFOB }}</div>
@@ -670,7 +711,7 @@ let getList = () => {
   loading.value = true
   zoho.CRM.API.coql({
     select_query:
-      'select Name,Forwarder,ETD,ATD,ETA,ATA,Cut_Off_Date,Owner,Status,Modified_Time,SubscriptionId,Carrier,Booking_Number,GRN from Sea_Freight_Table' +
+      'select Container_Number,Name,Forwarder,ETD,ATD,ETA,ATA,Cut_Off_Date,Owner,Status,Modified_Time,SubscriptionId,Carrier,Booking_Number,GRN from Sea_Freight_Table' +
       " where ETD between '" +
       `${dateRange.value.map((i) => dayjs(i).format('YYYY-MM-DD')).join("' and '")}` +
       "'",
@@ -1193,7 +1234,6 @@ const updateBookingNumber = () => {
     ElMessage.error('请填写订舱号')
     return
   }
-  loading.value = true
   ElMessageBox.confirm(
     `确定要把该记录的订舱号更新为"${bookingNumber.value}"吗?`,
     {
@@ -1202,6 +1242,7 @@ const updateBookingNumber = () => {
       type: 'warning',
     },
   ).then(() => {
+    loading.value = true
     zoho.CRM.API.updateRecord({
       Entity: 'Sea_Freight_Table',
       Trigger: ['workflow'],
@@ -1217,6 +1258,7 @@ const updateBookingNumber = () => {
       ) {
         ElMessage.success('操作成功, 正在刷新数据')
         loading.value = false
+        bookingNumber.value = ''
         getList()
         clearSubList()
       } else {
@@ -1227,6 +1269,47 @@ const updateBookingNumber = () => {
   })
 }
 
+let containerNumber = ref('')
+const updateContainerNumber = () => {
+  containerNumber.value = containerNumber.value.trim()
+  if (!containerNumber.value || !currentRow.value.id) {
+    ElMessage.error('请填写柜号')
+    return
+  }
+  ElMessageBox.confirm(
+    `确定要把该记录的柜号更新为"${containerNumber.value}"吗?`,
+    {
+      confirmButtonText: '确定',
+      cancelButtonText: '取消',
+      type: 'warning',
+    },
+  ).then(() => {
+    loading.value = true
+    zoho.CRM.API.updateRecord({
+      Entity: 'Sea_Freight_Table',
+      Trigger: ['workflow'],
+      APIData: {
+        id: currentRow.value.id,
+        Container_Number: containerNumber.value,
+      },
+    }).then((res: any) => {
+      if (
+        Array.isArray(res.data) &&
+        res.data.length &&
+        res.data[0].code === 'SUCCESS'
+      ) {
+        ElMessage.success('操作成功, 正在刷新数据')
+        loading.value = false
+        containerNumber.value = ''
+        getList()
+        clearSubList()
+      } else {
+        loading.value = false
+        ElMessage.error('操作失败, 请稍后再试或者联系管理员')
+      }
+    })
+  })
+}
 // @ts-ignore
 const zoho = window.ZOHO
 zoho.embeddedApp.on('PageLoad', function () {
@@ -1336,6 +1419,7 @@ const closeMapDrawer = () => {
       rgb(28, 74, 136) 49%,
       rgb(22, 208, 239) 100%
     );
+    color: #fff;
   }
   &.fb {
     font-weight: 900;