Преглед на файлове

feat: 记录tracking详情页用户分享链接操作

zhouyuhao преди 10 месеца
родител
ревизия
6c79b58313

+ 1 - 2
src/api/module/booking.ts

@@ -51,11 +51,10 @@ export const getBookingDetail = (params: any, config: any) => {
 /**
  * 获取Booking详情页发送邮件
  */
-export const bookingSendEmail = (params: any, config: any) => {
+export const sendEmailApi = (params: any, config: any) => {
   return HttpAxios.post(
     `${baseUrl}`,
     {
-      action: 'ocean_booking',
       operate: 'save_communication',
       ...params
     },

+ 1 - 2
src/api/module/other.ts

@@ -1,5 +1,4 @@
-import HttpAxios from '@/utils/axios'
-import axios, { type AxiosInstance, type AxiosRequestConfig, type AxiosResponse } from 'axios'
+import axios from 'axios'
 
 const base = import.meta.env.VITE_API_HOST
 const baseUrl = `${base}/main_new_version.php`

+ 15 - 0
src/api/module/tracking.ts

@@ -122,3 +122,18 @@ export const getAllTrackingTableData = (params: any, config: any) => {
     config
   )
 }
+
+/**
+ * 用户点击分享链接后请求接口留下记录
+ */
+export const recordShareLinkClicked = (params: any, config: any) => {
+  return HttpAxios.post(
+    `${baseUrl}`,
+    {
+      action: 'ocean_order',
+      operate: 'share_shipment',
+      ...params
+    },
+    config
+  )
+}

+ 2 - 1
src/views/Booking/src/components/BookingDetail/src/components/EmailView.vue

@@ -138,7 +138,8 @@ const sendEmail = () => {
   const html = editorRef.value.getHtml()
   const text = editorRef.value.getText()
   $api
-    .bookingSendEmail({
+    .sendEmailApi({
+      action: 'ocean_booking',
       email: emailData.value.email,
       communication_cc: emailData.value.ccEmail,
       serial_no: emailData.value.serial_no,

+ 6 - 0
src/views/Tracking/src/components/PublicTracking/src/components/ShareLinkDialog.vue

@@ -19,6 +19,12 @@ const copyToClipboard = async () => {
     ElMessage.success('Copied to clipboard')
     // 设置已复制标志
     copied.value = true
+    // $api
+    //   .recordShareLinkClicked({
+    //     url: shareLink.value
+    //   })
+    //   .then(() => {})
+    //   .catch(() => {})
 
     // 一段时间后重置标志
     setTimeout(() => {

+ 4 - 1
src/views/Tracking/src/components/TrackingDetail/src/TrackingDetail.vue

@@ -138,7 +138,10 @@ const openShareDialog = () => {
         }}</VTag>
         <div class="right-operation">
           <el-button
-            v-if="allData?.canViewAMSLog || allData?.canViewISFLog"
+            v-if="
+              (allData?.canViewAMSLog || allData?.canViewISFLog) &&
+              allData?.transportInfo?.mode !== 'Air Freight'
+            "
             type="default"
             @click="handleAMSISF"
           >

+ 2 - 1
src/views/Tracking/src/components/TrackingDetail/src/components/EmailDrawer.vue

@@ -139,7 +139,8 @@ const sendEmail = () => {
   const html = editorRef.value.getHtml()
   const text = editorRef.value.getText()
   $api
-    .bookingSendEmail({
+    .sendEmailApi({
+      action: 'ocean_order',
       email: emailData.value.email,
       communication_cc: emailData.value.ccEmail,
       serial_no: emailData.value.serial_no,

+ 6 - 0
src/views/Tracking/src/components/TrackingDetail/src/components/ShareLinkDialog.vue

@@ -24,6 +24,12 @@ const copyToClipboard = async () => {
     ElMessage.success('Copied to clipboard')
     // 设置已复制标志
     copied.value = true
+    // $api
+    //   .recordShareLinkClicked({
+    //     url: shareLink.value
+    //   })
+    //   .then(() => {})
+    //   .catch(() => {})
 
     // 一段时间后重置标志
     setTimeout(() => {

+ 8 - 2
src/views/Tracking/src/components/TrackingTable/src/TrackingTable.vue

@@ -606,8 +606,14 @@ defineExpose({
       </template>
       <!-- action操作的插槽 -->
       <template #action="{ row }">
-        <el-button @click="handleVGM(row)" class="el-button--blue" style="height: 24px">
-          <span class="font_family icon-icon_vgm_b"></span> <span style="font-size: 12px">VGM</span>
+        <el-button
+          v-if="row?.['Transportation Mode'] !== 'Air Freight'"
+          @click="handleVGM(row)"
+          class="el-button--blue"
+          style="height: 24px"
+        >
+          <span class="font_family icon-icon_vgm_b"></span>
+          <span style="font-size: 12px">VGM</span>
         </el-button>
       </template>
       <!-- Transportation Mode字段的插槽 -->