Explorar o código

Merge branch 'dev' into dev_zyh

zhouyuhao hai 1 ano
pai
achega
e20cd47124

+ 136 - 8
src/components/DateRange/src/DateRange.vue

@@ -47,17 +47,145 @@ const deleteType = (i: any) => {
   AddDateType.value.splice(i, 1)
   DateType.value = ''
 }
+const props = defineProps({
+  isShipment: Boolean
+})
 let daterangeObj: any = {}
-const DateStart = ref([dayjs().subtract(1, 'month').startOf('month'), dayjs()])
+const DateStart = ref()
+const searchTableQeury = ref()
+const searchTableQeuryTracking = ref()
 // 查询默认日期
 const defaultDate = () => {
-  daterangeObj.ETD =
-    DateStart.value[0].format('MMM/DD/YYYY') + ' To ' + DateStart.value[0].format('MMM/DD/YYYY')
-  daterangeObj2.ETD = [
-    DateStart.value[0].format('MM/DD/YYYY'),
-    DateStart.value[1].format('MM/DD/YYYY')
-  ]
-  emit('defaultDate', daterangeObj, daterangeObj2)
+  if (props.isShipment) {
+    if (
+      sessionStorage.getItem('clickParams') == null ||
+      sessionStorage.getItem('clickParams') == '{}'
+    ) {
+      if (sessionStorage.getItem('searchTableQeuryTracking') == null) {
+        DateStart.value = [dayjs().subtract(1, 'month').startOf('month'), dayjs()]
+        daterangeObj.ETD =
+          DateStart.value[0].format('MMM/DD/YYYY') +
+          ' To ' +
+          DateStart.value[1].format('MMM/DD/YYYY')
+        const obj = {
+          title: 'ETD',
+          data: [DateStart.value[0].format('MM/DD/YYYY'), DateStart.value[1].format('MM/DD/YYYY')]
+        }
+        daterangeObj2.ETD = obj
+      } else {
+        searchTableQeuryTracking.value =
+          JSON.parse(sessionStorage.getItem('searchTableQeuryTracking') as string) || {}
+        if (searchTableQeuryTracking.value.etd_start) {
+          DateStart.value = [
+            dayjs(searchTableQeuryTracking.value.etd_start),
+            dayjs(searchTableQeuryTracking.value.etd_end)
+          ]
+          daterangeObj.ETD =
+            DateStart.value[0].format('MMM/DD/YYYY') +
+            ' To ' +
+            DateStart.value[1].format('MMM/DD/YYYY')
+          const obj = {
+            title: 'ETD',
+            data: [DateStart.value[0].format('MM/DD/YYYY'), DateStart.value[1].format('MM/DD/YYYY')]
+          }
+          daterangeObj2.ETD = obj
+        }
+        if (searchTableQeuryTracking.value.eta_start) {
+          DateEnd.value = [
+            dayjs(searchTableQeuryTracking.value.eta_start),
+            dayjs(searchTableQeuryTracking.value.eta_end)
+          ]
+          daterangeObj.ETA =
+            DateEnd.value[0].format('MMM/DD/YYYY') + ' To ' + DateEnd.value[1].format('MMM/DD/YYYY')
+          const obj = {
+            title: 'ETA',
+            data: [DateEnd.value[0].format('MM/DD/YYYY'), DateEnd.value[1].format('MM/DD/YYYY')]
+          }
+          daterangeObj2.ETA = obj
+        }
+        if (searchTableQeuryTracking.value.created_time_start) {
+          DateCreation.value = [
+            dayjs(searchTableQeuryTracking.value.created_time_start),
+            dayjs(searchTableQeuryTracking.value.created_time_end)
+          ]
+          daterangeObj['Creation Time'] =
+            DateCreation.value[0].format('MMM/DD/YYYY') +
+            ' To ' +
+            DateCreation.value[1].format('MMM/DD/YYYY')
+          const obj = {
+            title: 'Creation Time',
+            data: [
+              DateCreation.value[0].format('MM/DD/YYYY'),
+              DateCreation.value[1].format('MM/DD/YYYY')
+            ]
+          }
+          daterangeObj2['Creation Time'] = obj
+        }
+      }
+      emit('defaultDate', daterangeObj, daterangeObj2, searchTableQeuryTracking.value)
+    }
+  } else {
+    if (sessionStorage.getItem('searchTableQeury') == null) {
+      DateStart.value = [dayjs().subtract(1, 'month').startOf('month'), dayjs()]
+      daterangeObj.ETD =
+        DateStart.value[0].format('MMM/DD/YYYY') + ' To ' + DateStart.value[1].format('MMM/DD/YYYY')
+      const obj = {
+        title: 'ETD',
+        data: [DateStart.value[0].format('MM/DD/YYYY'), DateStart.value[1].format('MM/DD/YYYY')]
+      }
+      daterangeObj2.ETD = obj
+    } else {
+      searchTableQeury.value =
+        JSON.parse(sessionStorage.getItem('searchTableQeury') as string) || {}
+      if (searchTableQeury.value.f_etd_start) {
+        DateStart.value = [
+          dayjs(searchTableQeury.value.f_etd_start),
+          dayjs(searchTableQeury.value.f_etd_end)
+        ]
+        daterangeObj.ETD =
+          DateStart.value[0].format('MMM/DD/YYYY') +
+          ' To ' +
+          DateStart.value[1].format('MMM/DD/YYYY')
+        const obj = {
+          title: 'ETD',
+          data: [DateStart.value[0].format('MM/DD/YYYY'), DateStart.value[1].format('MM/DD/YYYY')]
+        }
+        daterangeObj2.ETD = obj
+      }
+      if (searchTableQeury.value.m_eta_start) {
+        DateEnd.value = [
+          dayjs(searchTableQeury.value.m_eta_start),
+          dayjs(searchTableQeury.value.m_eta_end)
+        ]
+        daterangeObj.ETA =
+          DateEnd.value[0].format('MMM/DD/YYYY') + ' To ' + DateEnd.value[1].format('MMM/DD/YYYY')
+        const obj = {
+          title: 'ETA',
+          data: [DateEnd.value[0].format('MM/DD/YYYY'), DateEnd.value[1].format('MM/DD/YYYY')]
+        }
+        daterangeObj2.ETA = obj
+      }
+      if (searchTableQeury.value.created_time_start) {
+        DateCreation.value = [
+          dayjs(searchTableQeury.value.created_time_start),
+          dayjs(searchTableQeury.value.created_time_end)
+        ]
+        daterangeObj['Creation Time'] =
+          DateCreation.value[0].format('MMM/DD/YYYY') +
+          ' To ' +
+          DateCreation.value[1].format('MMM/DD/YYYY')
+        const obj = {
+          title: 'Creation Time',
+          data: [
+            DateCreation.value[0].format('MM/DD/YYYY'),
+            DateCreation.value[1].format('MM/DD/YYYY')
+          ]
+        }
+        daterangeObj2['Creation Time'] = obj
+      }
+    }
+    emit('defaultDate', daterangeObj, daterangeObj2, searchTableQeury.value)
+  }
 }
 const DateEnd = ref()
 const DateCreation = ref()

+ 422 - 25
src/components/MoreFilters/src/MoreFilters.vue

@@ -7,7 +7,10 @@ import { ref, onMounted, onBeforeMount, computed } from 'vue'
 import SelectTable from '@/components/SelectTable/src/SelectTable.vue'
 
 onMounted(() => {
-  if (sessionStorage.getItem('reportList') != null && sessionStorage.getItem('reportList') != '') {
+  if (
+    sessionStorage.getItem('reportList') != null &&
+    sessionStorage.getItem('reportList') != '{}'
+  ) {
     const reportlist = JSON.parse(sessionStorage.getItem('reportList') as string) || {}
     const data = JSON.parse(sessionStorage.getItem('tagsList') as string) || {}
     if (
@@ -34,6 +37,7 @@ onMounted(() => {
       }
     }
   }
+  defaultMorefilters()
   emitter.on('clearTag', (tag: any) => {
     if (tag.includes('Shippername')) {
       clearname(InputForm.value, 'parties', 'Shippername')
@@ -134,20 +138,404 @@ onBeforeMount(() => {
   emitter.off('clearTag')
   emitter.off('clearMoreFiltersObj')
 })
-
-const drawer = ref(false)
+const MoreFiltersSearchQeury = ref()
+const MoreFiltersSearchQeuryTracking = ref()
 interface TypeItem {
   partyType: ''
   partyname: []
-  isshowVerfication: boolean
 }
 interface PlacesTypeItem {
   placesType: ''
   placesname: []
-  isshowVerfication: boolean
 }
 const AddDateType = ref<TypeItem[]>([])
 const AddDatePlaceType = ref<PlacesTypeItem[]>([])
+const defaultAll = (data: any, val: any, value: any, isShipment: any) => {
+  data[val] = isShipment[value]
+  MoreFiltersObj[val] = isShipment[value]
+  MoreFiltersObj2[val] = isShipment[value]
+}
+const defaultAddAll = (data: any, val: any, value: any, type: any, isShipment: any) => {
+  const obj = {
+    partyType: val,
+    partyname: isShipment[value]
+  }
+  const obj2 = {
+    placesType: val,
+    placesname: isShipment[value]
+  }
+  let i = 0
+  if (type == 'AddDateType') {
+    data.push(obj)
+    if (data.length) {
+      data.forEach((item: any, index: any) => {
+        if (item.partyType == val) {
+          i = index
+        }
+      })
+    }
+    MoreFiltersObj[val] = isShipment[value]
+    MoreFiltersObj2[val] = isShipment[value]
+    pushSelectedList(i, val)
+  } else {
+    data.push(obj2)
+    if (data.length) {
+      data.forEach((item: any, index: any) => {
+        if (item.placesType == val) {
+          i = index
+        }
+      })
+    }
+    MoreFiltersObj[val] = isShipment[value]
+    MoreFiltersObj2[val] = isShipment[value]
+    pushPlacesSelectedList(i, val)
+  }
+}
+// 初始判断默认条件
+const defaultMorefilters = () => {
+  if (props.isShipment) {
+    if (
+      sessionStorage.getItem('clickParams') == null ||
+      sessionStorage.getItem('clickParams') == '{}'
+    ) {
+      if (sessionStorage.getItem('searchTableQeuryTracking') != null) {
+        MoreFiltersSearchQeuryTracking.value =
+          JSON.parse(sessionStorage.getItem('searchTableQeuryTracking') as string) || {}
+        console.log(MoreFiltersSearchQeuryTracking.value)
+        if (MoreFiltersSearchQeuryTracking.value.shipper) {
+          defaultAll(
+            InputForm.value.parties,
+            'Shippername',
+            'shipper',
+            MoreFiltersSearchQeuryTracking.value
+          )
+          changeAll(InputForm.value.parties, count.value, PartiesBadge)
+          count.value = []
+          console.log(PartiesBadge.value)
+        }
+        if (MoreFiltersSearchQeuryTracking.value.consignee) {
+          defaultAll(
+            InputForm.value.parties,
+            'Consigneename',
+            'consignee',
+            MoreFiltersSearchQeuryTracking.value
+          )
+          changeAll(InputForm.value.parties, count.value, PartiesBadge)
+          count.value = []
+        }
+        if (MoreFiltersSearchQeuryTracking.value.incoterms) {
+          defaultAll(
+            InputForm.value.General,
+            'Incoterms',
+            'incoterms',
+            MoreFiltersSearchQeuryTracking.value
+          )
+          changeAll(InputForm.value.General, countG.value, GeneralBadge)
+          countG.value = []
+        }
+        if (MoreFiltersSearchQeuryTracking.value.service) {
+          defaultAll(
+            InputForm.value.General,
+            'Service',
+            'service',
+            MoreFiltersSearchQeuryTracking.value
+          )
+          changeAll(InputForm.value.General, countG.value, GeneralBadge)
+          countG.value = []
+        }
+        if (MoreFiltersSearchQeuryTracking.value['shipper_city/consignee_city']) {
+          defaultAll(
+            InputForm.value.palces,
+            'Origin',
+            ['shipper_city/consignee_city'],
+            MoreFiltersSearchQeuryTracking.value
+          )
+          changeAll(InputForm.value.palces, countP.value, PlacesBadge)
+          countP.value = []
+        }
+        if (MoreFiltersSearchQeuryTracking.value.final_desination) {
+          defaultAll(
+            InputForm.value.palces,
+            'Destination',
+            'final_desination',
+            MoreFiltersSearchQeuryTracking.value
+          )
+          changeAll(InputForm.value.palces, countP.value, PlacesBadge)
+          countP.value = []
+        }
+        if (MoreFiltersSearchQeuryTracking.value['f_vessel/vessel']) {
+          changeAll(InputForm.value.transportation, countT.value, TransportationBadge)
+          countT.value = []
+          defaultAll(
+            InputForm.value.transportation,
+            'Vessel',
+            ['f_vessel/vessel'],
+            MoreFiltersSearchQeuryTracking.value
+          )
+        }
+        if (MoreFiltersSearchQeuryTracking.value['f_voyage/voyage']) {
+          changeAll(InputForm.value.transportation, countT.value, TransportationBadge)
+          countT.value = []
+          defaultAll(
+            InputForm.value.transportation,
+            'Voyage',
+            ['f_voyage/voyage'],
+            MoreFiltersSearchQeuryTracking.value
+          )
+        }
+        if (MoreFiltersSearchQeuryTracking.value.origin) {
+          defaultAddAll(
+            AddDateType.value,
+            'Origin Agent',
+            'origin',
+            'AddDateType',
+            MoreFiltersSearchQeuryTracking.value
+          )
+        }
+        if (MoreFiltersSearchQeuryTracking.value.billto) {
+          defaultAddAll(
+            AddDateType.value,
+            'Bill to',
+            'billto',
+            'AddDateType',
+            MoreFiltersSearchQeuryTracking.value
+          )
+        }
+        if (MoreFiltersSearchQeuryTracking.value.dest_op) {
+          defaultAddAll(
+            AddDateType.value,
+            'Destination Operator',
+            'dest_op',
+            'AddDateType',
+            MoreFiltersSearchQeuryTracking.value
+          )
+        }
+        if (MoreFiltersSearchQeuryTracking.value.notify_party) {
+          defaultAddAll(
+            AddDateType.value,
+            'Notify Party',
+            'notify_party',
+            'AddDateType',
+            MoreFiltersSearchQeuryTracking.value
+          )
+        }
+        if (MoreFiltersSearchQeuryTracking.value.agent) {
+          defaultAddAll(
+            AddDateType.value,
+            'Destination Agent',
+            'agent',
+            'AddDateType',
+            MoreFiltersSearchQeuryTracking.value
+          )
+        }
+        if (MoreFiltersSearchQeuryTracking.value.sales_rep) {
+          defaultAddAll(
+            AddDateType.value,
+            'Sales',
+            'sales_rep',
+            'AddDateType',
+            MoreFiltersSearchQeuryTracking.value
+          )
+        }
+        if (MoreFiltersSearchQeuryTracking.value.place_of_receipt_exp) {
+          defaultAddAll(
+            AddDatePlaceType.value,
+            'Place of Receipt',
+            'place_of_receipt_exp',
+            'AddDatePlaceType',
+            MoreFiltersSearchQeuryTracking.value
+          )
+        }
+        if (MoreFiltersSearchQeuryTracking.value['port_of_loading/fport_of_loading_un']) {
+          defaultAddAll(
+            AddDatePlaceType.value,
+            'Port of Loading',
+            ['port_of_loading/fport_of_loading_un'],
+            'AddDatePlaceType',
+            MoreFiltersSearchQeuryTracking.value
+          )
+        }
+        if (MoreFiltersSearchQeuryTracking.value.place_of_delivery_exp) {
+          defaultAddAll(
+            AddDatePlaceType.value,
+            'Place of delivery',
+            'place_of_delivery_exp',
+            'AddDatePlaceType',
+            MoreFiltersSearchQeuryTracking.value
+          )
+        }
+        if (MoreFiltersSearchQeuryTracking.value.port_of_discharge) {
+          defaultAddAll(
+            AddDatePlaceType.value,
+            'Place of Discharge',
+            'port_of_discharge',
+            'AddDatePlaceType',
+            MoreFiltersSearchQeuryTracking.value
+          )
+        }
+        if (AddDateType.value.length) {
+          AddDateType.value.forEach((item: any) => {
+            if (item.partyType != '' && item.partyname.length != 0) {
+              count.value.push(item.partyname)
+            }
+          })
+          changeAll(InputForm.value.parties, count.value, PartiesBadge)
+          count.value = []
+        } else {
+          PartiesBadge.value = ''
+        }
+        if (AddDatePlaceType.value.length) {
+          AddDatePlaceType.value.forEach((item: any) => {
+            if (item.placesType != '' && item.placesname.length != 0) {
+              count.value.push(item.placesname)
+            }
+          })
+          changeAll(InputForm.value.palces, countP.value, PlacesBadge)
+          countP.value = []
+        } else {
+          PlacesBadge.value = ''
+        }
+      }
+    }
+  } else {
+    if (sessionStorage.getItem('searchTableQeury') != null) {
+      MoreFiltersSearchQeury.value =
+        JSON.parse(sessionStorage.getItem('searchTableQeury') as string) || {}
+      // changeAll(InputForm.value.General, countG.value, GeneralBadge)
+      // countG.value = []
+      console.log(MoreFiltersSearchQeury.value)
+      if (MoreFiltersSearchQeury.value.shipper) {
+        defaultAll(InputForm.value.parties, 'Shippername', 'shipper', MoreFiltersSearchQeury.value)
+        changeAll(InputForm.value.parties, count.value, PartiesBadge)
+        count.value = []
+        console.log(PartiesBadge.value)
+      }
+      if (MoreFiltersSearchQeury.value.consignee) {
+        defaultAll(
+          InputForm.value.parties,
+          'Consigneename',
+          'consignee',
+          MoreFiltersSearchQeury.value
+        )
+        changeAll(InputForm.value.parties, count.value, PartiesBadge)
+        count.value = []
+      }
+      if (MoreFiltersSearchQeury.value.shipper_city) {
+        defaultAll(InputForm.value.palces, 'Origin', 'shipper_city', MoreFiltersSearchQeury.value)
+        changeAll(InputForm.value.palces, countP.value, PlacesBadge)
+        countP.value = []
+      }
+      if (MoreFiltersSearchQeury.value.consignee_city) {
+        defaultAll(
+          InputForm.value.palces,
+          'Destination',
+          'consignee_city',
+          MoreFiltersSearchQeury.value
+        )
+        changeAll(InputForm.value.palces, countP.value, PlacesBadge)
+        countP.value = []
+      }
+      if (MoreFiltersSearchQeury.value['f_vessel/m_vessel']) {
+        changeAll(InputForm.value.transportation, countT.value, TransportationBadge)
+        countT.value = []
+        defaultAll(
+          InputForm.value.transportation,
+          'Vessel',
+          ['f_vessel/m_vessel'],
+          MoreFiltersSearchQeury.value
+        )
+      }
+      if (MoreFiltersSearchQeury.value['f_voyage/m_voyage']) {
+        changeAll(InputForm.value.transportation, countT.value, TransportationBadge)
+        countT.value = []
+        defaultAll(
+          InputForm.value.transportation,
+          'Voyage',
+          ['f_voyage/m_voyage'],
+          MoreFiltersSearchQeury.value
+        )
+      }
+      if (MoreFiltersSearchQeury.value.origin) {
+        defaultAddAll(
+          AddDateType.value,
+          'Origin Agent',
+          'origin',
+          'AddDateType',
+          MoreFiltersSearchQeury.value
+        )
+      }
+      if (MoreFiltersSearchQeury.value.agent) {
+        defaultAddAll(
+          AddDateType.value,
+          'Destination Agent',
+          'agent',
+          'AddDateType',
+          MoreFiltersSearchQeury.value
+        )
+      }
+      if (MoreFiltersSearchQeury.value.sales_rep) {
+        defaultAddAll(
+          AddDateType.value,
+          'Sales',
+          'sales_rep',
+          'AddDateType',
+          MoreFiltersSearchQeury.value
+        )
+      }
+      if (MoreFiltersSearchQeury.value['place_of_receipt/place_of_receipt_exp']) {
+        defaultAddAll(
+          AddDatePlaceType.value,
+          'Place of Receipt',
+          ['place_of_receipt/place_of_receipt_exp'],
+          'AddDatePlaceType',
+          MoreFiltersSearchQeury.value
+        )
+      }
+      if (MoreFiltersSearchQeury.value['fport_of_loading_uncode/fport_of_loading_exp']) {
+        defaultAddAll(
+          AddDatePlaceType.value,
+          'Port of Loading',
+          ['fport_of_loading_uncode/fport_of_loading_exp'],
+          'AddDatePlaceType',
+          MoreFiltersSearchQeury.value
+        )
+      }
+      if (MoreFiltersSearchQeury.value['place_of_delivery/place_of_delivery_exp']) {
+        defaultAddAll(
+          AddDatePlaceType.value,
+          'Place of delivery',
+          ['place_of_delivery/place_of_delivery_exp'],
+          'AddDatePlaceType',
+          MoreFiltersSearchQeury.value
+        )
+      }
+      if (AddDateType.value.length) {
+        AddDateType.value.forEach((item: any) => {
+          if (item.partyType != '' && item.partyname.length != 0) {
+            count.value.push(item.partyname)
+          }
+        })
+        changeAll(InputForm.value.parties, count.value, PartiesBadge)
+        count.value = []
+      } else {
+        PartiesBadge.value = ''
+      }
+      if (AddDatePlaceType.value.length) {
+        AddDatePlaceType.value.forEach((item: any) => {
+          if (item.placesType != '' && item.placesname.length != 0) {
+            count.value.push(item.placesname)
+          }
+        })
+        changeAll(InputForm.value.palces, countP.value, PlacesBadge)
+        countP.value = []
+      } else {
+        PlacesBadge.value = ''
+      }
+    }
+  }
+  emit('defaultMorefilters', MoreFiltersObj, MoreFiltersObj2, MoreFiltersSearchQeury.value)
+}
+const drawer = ref(false)
 
 const props = defineProps({
   isShipment: Boolean,
@@ -275,14 +663,12 @@ const AddType = (item: any) => {
   if (item == 'party') {
     AddDateType.value.push({
       partyType: '',
-      partyname: [],
-      isshowVerfication: false
+      partyname: []
     })
   } else if (item == 'place') {
     AddDatePlaceType.value.push({
       placesType: '',
-      placesname: [],
-      isshowVerfication: false
+      placesname: []
     })
   }
 }
@@ -290,8 +676,8 @@ const count = ref()
 const countT = ref()
 const countP = ref()
 const countG = ref()
-const PartiesBadge = ref('')
-const GeneralBadge = ref('')
+const PartiesBadge = ref()
+const GeneralBadge = ref()
 const TransportationBadge = ref()
 const PlacesBadge = ref()
 count.value = []
@@ -338,8 +724,8 @@ const changeCollapse = (val: any) => {
   }
   if (val.indexOf('Places') == -1) {
     AddDatePlaceType.value.forEach((item: any) => {
-      if (item.partyType != '' && item.partyname.length != 0) {
-        countP.value.push(item.partyname)
+      if (item.placesType != '' && item.placesname.length != 0) {
+        countP.value.push(item.placesname)
       }
     })
     changeAll(InputForm.value.palces, countP.value, PlacesBadge)
@@ -357,6 +743,10 @@ const changeAutoSelect = (Array: any, val: any, value: any, arraykey1: any, arra
       Array[arraykey1][arraykey2] = val.value
       MoreFiltersObj[arraykey2] = val.value.join()
       MoreFiltersObj2[arraykey2] = val.value
+      if (val.value.length == 0) {
+        delete MoreFiltersObj[arraykey2]
+        delete MoreFiltersObj2[arraykey2]
+      }
     }
   } else if (value == 'AddDateType') {
     if (Array.length) {
@@ -401,6 +791,17 @@ const checkdestination = (row: any) => {
   }
 }
 const delSelect = (i: any, val: any) => {
+  delete MoreFiltersObj[val]
+  delete MoreFiltersObj2[val]
+  if (sessionStorage.getItem('searchTableQeury') != null) {
+    if (val == 'Origin Agent') {
+      delete MoreFiltersSearchQeury.value.origin
+    } else if (val == 'Destination Agent') {
+      delete MoreFiltersSearchQeury.value.agent
+    } else if (val == 'Sales') {
+      delete MoreFiltersSearchQeury.value.sales_rep
+    }
+  }
   let index = selectedPartyTypeoptions.value.findIndex((item: any) => {
     return item == val
   })
@@ -478,26 +879,26 @@ const changeAutoSelectAddType = (index: any, val: any) => {
 const changeAutoSelectPlacesAddType = (index: any, val: any) => {
   pushPlacesSelectedList(index, val)
 }
-const isError = ref(false)
+const isError = ref()
 const changeAutoSelectVal = (val: any, value: any, boolaen: any) => {
   if (boolaen || value == true) {
     isError.value = true
   } else {
     isError.value = false
   }
-
   MoreFiltersObj = { ...MoreFiltersObj, ...val }
-  for (const key in value) {
-    MoreFiltersObj2[key] = value[key]
-  }
+  MoreFiltersObj2 = { ...MoreFiltersObj, ...val }
+  // for (const key in value) {
+  //   MoreFiltersObj2[key] = value[key]
+  // }
 }
 // 点击search
-const emit = defineEmits(['MoreFiltersSearch', 'clearMoreFiltersTags'])
+const emit = defineEmits(['MoreFiltersSearch', 'clearMoreFiltersTags', 'defaultMorefilters'])
 const SearchMore = () => {
   if (AddDatePlaceType.value.length) {
     for (let i = 0; i < AddDatePlaceType.value.length; i++) {
       if (AddDatePlaceType.value[i].placesType != '') {
-        if (isError.value) {
+        if (isError.value || isError.value == undefined) {
           // 传数据给父组件
           emit('MoreFiltersSearch', MoreFiltersObj, MoreFiltersObj2)
           drawer.value = false
@@ -510,7 +911,7 @@ const SearchMore = () => {
   } else if (AddDateType.value.length) {
     for (let i = 0; i < AddDateType.value.length; i++) {
       if (AddDateType.value[i].partyType != '') {
-        if (isError.value) {
+        if (isError.value || isError.value == undefined) {
           // 传数据给父组件
           emit('MoreFiltersSearch', MoreFiltersObj, MoreFiltersObj2)
           drawer.value = false
@@ -549,10 +950,6 @@ const clearrest = () => {
   }
   AddDateType.value = []
   AddDatePlaceType.value = []
-  PartiesBadge.value = ''
-  GeneralBadge.value = ''
-  TransportationBadge.value = ''
-  PlacesBadge.value = ''
   MoreFiltersObj = {}
   selectedPartyTypeoptions.value = []
   selectedPlacesTypeoptions.value = []

+ 4 - 2
src/components/SelectTableSelect/src/SelectTableSelect.vue

@@ -82,7 +82,7 @@ const changeAutoSelect = (val: any, value: any) => {
   } else {
     errorBoolean.value = false
   }
-  AutoSelectObj[val] = value.join()
+  AutoSelectObj[val] = value
   emit('changeAutoSelect', AutoSelectObj, errorBoolean.value)
 }
 const typeSelectFocus = (index: any, e: any) => {
@@ -178,7 +178,9 @@ const checkdestination = (row: any, index: any) => {
         :ASSearchObj="props.TablesearchTableQeury"
         :ASSearchMode="props.TablesearchMode"
         :key-val="
-          AddType[index].placesType && AddType[index].placesType === 'Port of Loading'
+          AddType[index].placesType &&
+          (AddType[index].placesType === 'Port of Loading' ||
+            AddType[index].placesType === 'Port of Discharge')
             ? 'uncode'
             : 'city'
         "

+ 50 - 3
src/components/TransportMode/src/TransportMode.vue

@@ -11,6 +11,7 @@ interface ListItem {
 }
 interface Props {
   TransportListItem: ListItem[]
+  isShipment: Boolean
 }
 const props = withDefaults(defineProps<Props>(), {})
 const TransportList = ref(props.TransportListItem)
@@ -34,7 +35,7 @@ onBeforeMount(() => {
   emitter.off('clearTag')
 })
 
-const checkAll = ref(true)
+const checkAll = ref(false)
 const dropdown1 = ref<DropdownInstance>()
 let checkedCount: any[] = []
 const TotalAll = computed(() => {
@@ -90,9 +91,18 @@ const changedata = ref()
 //点击搜索
 const TransportData = {
   title: 'Transport Mode',
-  data: 'All'
+  data: ''
 }
 const TransportSearch = (visible: any) => {
+  TransportList.value.forEach((item: any) => {
+    if (item.checked) {
+      checkedCount.push(item.name)
+      const map = new Map()
+      checkedCount.forEach((item) => map.set(item, true))
+      checkedCount = [...map.keys()]
+    }
+  })
+  console.log(checkedCount)
   if (checkedCount.length == TransportList.value.length) {
     changedata.value = 'All'
   } else {
@@ -107,8 +117,45 @@ const TransportSearch = (visible: any) => {
     dropdown1.value.handleOpen()
   }
 }
+const searchTableQeury = ref()
+const searchTableQeuryTracking = ref()
 const defaultTransport = () => {
-  emit('defaultTransport', TransportData)
+  if (props.isShipment) {
+    if (
+      sessionStorage.getItem('clickParams') == null ||
+      sessionStorage.getItem('clickParams') == '{}'
+    ) {
+      if (sessionStorage.getItem('searchTableQeuryTracking') == null) {
+        checkAll.value = true
+        TransportData.data = 'All'
+      } else {
+        searchTableQeuryTracking.value =
+          JSON.parse(sessionStorage.getItem('searchTableQeuryTracking') as string) || {}
+        if (searchTableQeuryTracking.value.transport_mode == 'All') {
+          checkAll.value = true
+          TransportData.data = 'All'
+        } else {
+          TransportData.data = ''
+        }
+      }
+      emit('defaultTransport', TransportData, searchTableQeuryTracking.value)
+    }
+  } else {
+    if (sessionStorage.getItem('searchTableQeury') == null) {
+      checkAll.value = true
+      TransportData.data = 'All'
+    } else {
+      searchTableQeury.value =
+        JSON.parse(sessionStorage.getItem('searchTableQeury') as string) || {}
+      if (searchTableQeury.value.transport_mode == 'All') {
+        checkAll.value = true
+        TransportData.data = 'All'
+      } else {
+        TransportData.data = ''
+      }
+    }
+    emit('defaultTransport', TransportData, searchTableQeury.value)
+  }
 }
 </script>
 <template>

+ 124 - 42
src/views/Booking/src/BookingView.vue

@@ -5,7 +5,7 @@ import TransportMode from '@/components/TransportMode'
 import BookingTable from './components/BookingTable'
 import DateRange from '@/components/DateRange'
 import MoreFilters from '@/components/MoreFilters'
-import { ref, reactive, onMounted } from 'vue'
+import { ref, reactive } from 'vue'
 import { useCalculatingHeight } from '@/hooks/calculatingHeight'
 
 const filterRef: Ref<HTMLElement | null> = ref(null)
@@ -26,12 +26,27 @@ const handleClose = (tag: any) => {
   if (tag.includes('Transport')) {
     delete searchTableQeury.transport_mode
   } else if (tag.includes('ETD')) {
+    filterData.daterangeData.forEach((item: any, index: any) => {
+      if (item.includes('ETD')) {
+        filterData.daterangeData.splice(index, 1)
+      }
+    })
     delete searchTableQeury.f_etd_start
     delete searchTableQeury.f_etd_end
   } else if (tag.includes('ETA')) {
+    filterData.daterangeData.forEach((item: any, index: any) => {
+      if (item.includes('ETA')) {
+        filterData.daterangeData.splice(index, 1)
+      }
+    })
     delete searchTableQeury.m_eta_start
     delete searchTableQeury.m_eta_end
   } else if (tag.includes('Creation')) {
+    filterData.daterangeData.forEach((item: any, index: any) => {
+      if (item.includes('Creation')) {
+        filterData.daterangeData.splice(index, 1)
+      }
+    })
     delete searchTableQeury.created_time_start
     delete searchTableQeury.created_time_end
   } else if (tag.includes('Shippername')) {
@@ -45,13 +60,13 @@ const handleClose = (tag: any) => {
   } else if (tag.includes('Sales')) {
     delete searchTableQeury.sales_rep
   } else if (tag.includes('Origin')) {
-    delete searchTableQeury.from_station
+    delete searchTableQeury.shipper_city
   } else if (tag.includes('Destination')) {
-    delete searchTableQeury['final_desination/final_desination_exp']
+    delete searchTableQeury.consignee_city
   } else if (tag.includes('Place of Receipt')) {
-    delete searchTableQeury.place_of_receipt
-  } else if (tag.includes('Place of Loading')) {
-    delete searchTableQeury['fport_of_loading/fport_of_loading_exp']
+    delete searchTableQeury['place_of_receipt/place_of_receipt_exp']
+  } else if (tag.includes('Port of Loading')) {
+    delete searchTableQeury['fport_of_loading_uncode/fport_of_loading_exp']
   } else if (tag.includes('Place of delivery')) {
     delete searchTableQeury['place_of_delivery/place_of_delivery_exp']
   } else if (tag.includes('Vessel')) {
@@ -60,12 +75,14 @@ const handleClose = (tag: any) => {
     delete searchTableQeury['f_voyage/m_voyage']
   }
   BookingTable_ref.value.searchTableData(searchTableQeury)
+  sessionStorage.setItem('searchTableQeury', JSON.stringify(searchTableQeury))
   getbookingdata()
 }
 // 筛选框查询
 const FiltersSeach = (val: any, value: any) => {
   searchTableQeury[val] = value
   BookingTable_ref.value.searchTableData(searchTableQeury)
+  sessionStorage.setItem('searchTableQeury', JSON.stringify(searchTableQeury))
   getbookingdata()
 }
 //TransportSearch
@@ -79,21 +96,48 @@ const TransportSearch = (val: any) => {
   renderTagsData()
 }
 // defaultTransport
-const defaultTransport = (val: any) => {
+const defaultTransport = (val: any, value: any) => {
   filterData.transportData = []
   if (val.data) {
     let str = `${val.title}:${val.data}`
     filterData.transportData.push(str)
   }
-  searchTableQeury.transport_mode = val.data
+  if (sessionStorage.getItem('searchTableQeury') == null) {
+    searchTableQeury.transport_mode = val.data
+  } else {
+    searchTableQeury = value
+  }
+  renderTagsData()
+}
+// defaultDate
+const defaultDate = (val: any, value: any, data: any) => {
+  filterData.daterangeData = []
+  if (Object.keys(val).length) {
+    for (const key in val) {
+      let str = `${key}:${val[key]}`
+      filterData.daterangeData.push(str)
+    }
+  }
+  if (sessionStorage.getItem('searchTableQeury') == null) {
+    for (const key in value) {
+      searchTableQeury.f_etd_start = value[key].data[0]
+      searchTableQeury.f_etd_end = value[key].data[1]
+    }
+  } else {
+    searchTableQeury = data
+  }
+  BookingTable_ref.value.searchTableData(searchTableQeury)
+  getbookingdata()
   renderTagsData()
 }
 //DateRangeSearch
 const DateRangeSearch = (val: any, value: any) => {
   filterData.daterangeData = []
-  for (const key in val) {
-    let str = `${key}:${val[key]}`
-    filterData.daterangeData.push(str)
+  if (Object.keys(val).length) {
+    for (const key in val) {
+      let str = `${key}:${val[key]}`
+      filterData.daterangeData.push(str)
+    }
   }
   if (Object.keys(value).length == 0) {
     delete searchTableQeury.f_etd_start
@@ -105,23 +149,38 @@ const DateRangeSearch = (val: any, value: any) => {
   }
   for (const key in value) {
     if (key == 'ETD') {
-      searchTableQeury.f_etd_start = value[key][0]
-      searchTableQeury.f_etd_end = value[key][1]
+      searchTableQeury.f_etd_start = value[key].data[0]
+      searchTableQeury.f_etd_end = value[key].data[1]
     } else if (key == 'ETA') {
-      searchTableQeury.m_eta_start = value[key][0]
-      searchTableQeury.m_eta_end = value[key][1]
+      searchTableQeury.m_eta_start = value[key].data[0]
+      searchTableQeury.m_eta_end = value[key].data[1]
     } else {
-      searchTableQeury.created_time_start = value[key][0]
-      searchTableQeury.created_time_end = value[key][1]
+      searchTableQeury.created_time_start = value[key].data[0]
+      searchTableQeury.created_time_end = value[key].data[1]
     }
   }
   BookingTable_ref.value.searchTableData(searchTableQeury)
+  sessionStorage.setItem('searchTableQeury', JSON.stringify(searchTableQeury))
   getbookingdata()
   renderTagsData()
 }
 //MoreFiltersSearch
 const MoreFiltersSearch = (val: any, value: any) => {
   filterData.morefiltersData = []
+  if (Object.keys(value).length == 0) {
+    delete searchTableQeury.shipper
+    delete searchTableQeury.consignee
+    delete searchTableQeury.origin
+    delete searchTableQeury.agent
+    delete searchTableQeury.sales_rep
+    delete searchTableQeury.shipper_city
+    delete searchTableQeury.consignee_city
+    delete searchTableQeury['place_of_receipt/place_of_receipt_exp']
+    delete searchTableQeury['fport_of_loading_uncode/fport_of_loading_exp']
+    delete searchTableQeury['place_of_delivery/place_of_delivery_exp']
+    delete searchTableQeury['f_vessel/m_vessel']
+    delete searchTableQeury['f_voyage/m_voyage']
+  }
   for (const key in val) {
     let str = `${key}:${val[key]}`
     filterData.morefiltersData.push(str)
@@ -136,15 +195,15 @@ const MoreFiltersSearch = (val: any, value: any) => {
     } else if (key == 'Sales') {
       searchTableQeury.sales_rep = value[key]
     } else if (key == 'Origin') {
-      searchTableQeury.shipper_city = val[key]
+      searchTableQeury.shipper_city = value[key]
     } else if (key == 'Destination') {
-      searchTableQeury.consignee_city = val[key]
+      searchTableQeury.consignee_city = value[key]
     } else if (key == 'Place of Receipt') {
-      searchTableQeury.place_of_receipt = val[key]
+      searchTableQeury['place_of_receipt/place_of_receipt_exp'] = value[key]
     } else if (key == 'Port of Loading') {
-      searchTableQeury['fport_of_loading/fport_of_loading_exp'] = val[key]
-    } else if (key == 'Port of delivery') {
-      searchTableQeury['place_of_delivery/place_of_delivery_exp'] = val[key]
+      searchTableQeury['fport_of_loading_uncode/fport_of_loading_exp'] = value[key]
+    } else if (key == 'Place of delivery') {
+      searchTableQeury['place_of_delivery/place_of_delivery_exp'] = value[key]
     } else if (key == 'Vessel') {
       searchTableQeury['f_vessel/m_vessel'] = value[key]
     } else if (key == 'Voyage') {
@@ -153,9 +212,46 @@ const MoreFiltersSearch = (val: any, value: any) => {
   }
   // for(const key in value)
   BookingTable_ref.value.searchTableData(searchTableQeury)
+  sessionStorage.setItem('searchTableQeury', JSON.stringify(searchTableQeury))
   getbookingdata()
   renderTagsData()
 }
+const defaultMorefilters = (val: any, value: any, data: any) => {
+  filterData.morefiltersData = []
+  for (const key in val) {
+    let str = `${key}:${val[key]}`
+    filterData.morefiltersData.push(str)
+    if (key == 'Shippername') {
+      searchTableQeury.shipper = value[key]
+    } else if (key == 'Consigneename') {
+      searchTableQeury.consignee = value[key]
+    } else if (key == 'Origin Agent') {
+      searchTableQeury.origin = value[key]
+    } else if (key == 'Destination Agent') {
+      searchTableQeury.agent = value[key]
+    } else if (key == 'Sales') {
+      searchTableQeury.sales_rep = value[key]
+    } else if (key == 'Origin') {
+      searchTableQeury.shipper_city = value[key]
+    } else if (key == 'Destination') {
+      searchTableQeury.consignee_city = value[key]
+    } else if (key == 'Place of Receipt') {
+      searchTableQeury['place_of_receipt/place_of_receipt_exp'] = value[key]
+    } else if (key == 'Port of Loading') {
+      searchTableQeury['fport_of_loading_uncode/fport_of_loading_exp'] = value[key]
+    } else if (key == 'Place of delivery') {
+      searchTableQeury['place_of_delivery/place_of_delivery_exp'] = value[key]
+    } else if (key == 'Vessel') {
+      searchTableQeury['f_vessel/m_vessel'] = value[key]
+    } else if (key == 'Voyage') {
+      searchTableQeury['f_voyage/m_voyage'] = value[key]
+    }
+  }
+  if (sessionStorage.getItem('searchTableQeury') != null) {
+    searchTableQeury = data
+  }
+  renderTagsData()
+}
 const clearfilters = () => {
   tagsData.value = []
   filterData.transportData = []
@@ -174,11 +270,12 @@ const clearfilters = () => {
   emitter.emit('clearTag', 'Destination')
   emitter.emit('clearTag', 'Place of Receipt')
   emitter.emit('clearTag', 'Port of Loading')
-  emitter.emit('clearTag', 'Port of delivery')
+  emitter.emit('clearTag', 'Place of delivery')
   emitter.emit('clearTag', 'Vessel')
   emitter.emit('clearTag', 'Voyage')
   searchTableQeury = {}
   BookingTable_ref.value.searchTableData(searchTableQeury)
+  sessionStorage.setItem('searchTableQeury', JSON.stringify(searchTableQeury))
   getbookingdata()
 }
 const renderTagsData = () => {
@@ -236,27 +333,10 @@ const getbookingdata = () => {
       }
     })
 }
-const defaultDate = (val: any, value: any) => {
-  filterData.daterangeData = []
-  for (const key in val) {
-    let str = `${key}:${val[key]}`
-    filterData.daterangeData.push(str)
-  }
-  if (Object.keys(value).length == 0) {
-    delete searchTableQeury.f_etd_start
-    delete searchTableQeury.f_etd_end
-  }
-  for (const key in value) {
-    searchTableQeury.f_etd_start = value[key][0]
-    searchTableQeury.f_etd_end = value[key][1]
-  }
-  BookingTable_ref.value.searchTableData(searchTableQeury)
-  getbookingdata()
-  renderTagsData()
-}
 const changeTag = (val: any) => {
   searchTableQeury.filterTag = val
   BookingTable_ref.value.searchTableData(searchTableQeury)
+  sessionStorage.setItem('searchTableQeury', JSON.stringify(searchTableQeury))
   getbookingdata()
   filterTag.value = val
 }
@@ -264,6 +344,7 @@ const changeTag = (val: any) => {
 const SearchInput = () => {
   searchTableQeury._textSearch = BookingSearch.value
   BookingTable_ref.value.searchTableData(searchTableQeury)
+  sessionStorage.setItem('searchTableQeury', JSON.stringify(searchTableQeury))
   getbookingdata()
 }
 </script>
@@ -303,6 +384,7 @@ const SearchInput = () => {
         :searchTableQeury="searchTableQeury"
         @MoreFiltersSearch="MoreFiltersSearch"
         @clearMoreFiltersTags="clearMoreFiltersTags"
+        @defaultMorefilters="defaultMorefilters"
       ></MoreFilters>
       <el-button class="el-button--dark" style="margin-left: 8px" @click="SearchInput"
         >Search</el-button

+ 6 - 4
src/views/Dashboard/src/DashboardView.vue

@@ -342,8 +342,9 @@ const SaveLayout = () => {
     })
     .then((res: any) => {
       if (res.code == 200) {
-        ElMessageBox.alert(res.data.msg, {
-          confirmButtonText: 'OK'
+        ElMessageBox.alert(res.data.msg, 'Save Sucess', {
+          confirmButtonText: 'OK',
+          confirmButtonClass: 'el-button--dark'
         })
       }
     })
@@ -361,8 +362,9 @@ const SaveFilters = () => {
     })
     .then((res: any) => {
       if (res.code == 200) {
-        ElMessageBox.alert(res.data.msg, {
-          confirmButtonText: 'OK'
+        ElMessageBox.alert(res.data.msg, 'Save Sucess', {
+          confirmButtonText: 'OK',
+          confirmButtonClass: 'el-button--dark'
         })
       }
     })

+ 11 - 9
src/views/Dashboard/src/components/ScoringSystem.vue

@@ -150,6 +150,10 @@ const closeDialog = () => {
   smilecheckbox.value = {}
   checkboxGroup1.value = []
   checkboxGroup2.value = []
+  smileAspects.value.forEach((item: any) => {
+    item.radio = ''
+  })
+  buttonDisabled.value = true
 }
 const mouseenter = (item: any) => {
   item.src = item.itemsrc
@@ -198,6 +202,10 @@ const previous = () => {
   smilecheckbox.value = {}
   checkboxGroup1.value = []
   checkboxGroup2.value = []
+  smileAspects.value.forEach((item: any) => {
+    item.radio = ''
+  })
+  buttonDisabled.value = true
 }
 // 选择后button变为可选择
 const changeAngryDetails = () => {
@@ -230,9 +238,7 @@ const submitDetails = (val: any) => {
           isshowDetails_submit.value = true
           isshowDetails.value = false
           setTimeout(() => {
-            isshowDetails_submit.value = false
-            innerVisible.value = false
-            dialogVisible.value = false
+            closeDialog()
           }, 3000)
         }
       })
@@ -248,9 +254,7 @@ const submitDetails = (val: any) => {
           isshowDetails_submit.value = true
           isshowDetails.value = false
           setTimeout(() => {
-            isshowDetails_submit.value = false
-            innerVisible.value = false
-            dialogVisible.value = false
+            closeDialog()
           }, 3000)
         }
       })
@@ -266,9 +270,7 @@ const submitDetails = (val: any) => {
           isshowDetails_submit.value = true
           isshowDetails.value = false
           setTimeout(() => {
-            isshowDetails_submit.value = false
-            innerVisible.value = false
-            dialogVisible.value = false
+            closeDialog()
           }, 3000)
         }
       })

+ 1 - 0
src/views/Layout/src/components/Header/components/LogoutDialog.vue

@@ -14,6 +14,7 @@ const handleLogout = () => {
   dialogVisible.value = false
   userStore.logout()
   router.push('/login')
+  sessionStorage.clear()
 }
 defineExpose({
   openDialog

+ 254 - 119
src/views/Tracking/src/TrackingView.vue

@@ -16,7 +16,7 @@ const filterRef: Ref<HTMLElement | null> = ref(null)
 const containerHeight = useCalculatingHeight(document.documentElement, 246, [filterRef])
 
 const TrackingSearch = ref()
-let searchTableQeury: any = {}
+let searchTableQeuryTracking: any = {}
 const filterData = reactive({
   transportData: [] as Array<string>,
   daterangeData: [] as Array<string>,
@@ -28,67 +28,79 @@ const handleClose = (tag: any) => {
   emitter.emit('clearTag', tag)
   tagsData.value.splice(tagsData.value.indexOf(tag), 1)
   if (tag.includes('Transport')) {
-    delete searchTableQeury.transport_mode
+    delete searchTableQeuryTracking.transport_mode
   } else if (tag.includes('ETD')) {
-    delete searchTableQeury.etd_start
-    delete searchTableQeury.etd_end
+    filterData.daterangeData.forEach((item: any, index: any) => {
+      if (item.includes('ETD')) {
+        filterData.daterangeData.splice(index, 1)
+      }
+    })
+    delete searchTableQeuryTracking.etd_start
+    delete searchTableQeuryTracking.etd_end
   } else if (tag.includes('ETA')) {
-    delete searchTableQeury.eta_start
-    delete searchTableQeury.eta_end
+    filterData.daterangeData.forEach((item: any, index: any) => {
+      if (item.includes('ETA')) {
+        filterData.daterangeData.splice(index, 1)
+      }
+    })
+    delete searchTableQeuryTracking.eta_start
+    delete searchTableQeuryTracking.eta_end
   } else if (tag.includes('Creation')) {
-    delete searchTableQeury.created_time_start
-    delete searchTableQeury.created_time_end
+    delete searchTableQeuryTracking.created_time_start
+    delete searchTableQeuryTracking.created_time_end
   } else if (tag.includes('Shippername')) {
-    delete searchTableQeury.shipper
+    delete searchTableQeuryTracking.shipper
   } else if (tag.includes('Consigneename')) {
-    delete searchTableQeury.consignee
+    delete searchTableQeuryTracking.consignee
   } else if (tag.includes('Service')) {
-    delete searchTableQeury.service
+    delete searchTableQeuryTracking.service
   } else if (tag.includes('Incoterms')) {
-    delete searchTableQeury.incoterms
+    delete searchTableQeuryTracking.incoterms
   } else if (tag.includes('Notify Party')) {
-    delete searchTableQeury.notify_party
+    delete searchTableQeuryTracking.notify_party
   } else if (tag.includes('Bill to')) {
-    delete searchTableQeury.billto
+    delete searchTableQeuryTracking.billto
   } else if (tag.includes('Origin Agent')) {
-    delete searchTableQeury.origin
+    delete searchTableQeuryTracking.origin
   } else if (tag.includes('Destination Agent')) {
-    delete searchTableQeury.agent
+    delete searchTableQeuryTracking.agent
   } else if (tag.includes('Destination Operator')) {
-    delete searchTableQeury.dest_op
+    delete searchTableQeuryTracking.dest_op
   } else if (tag.includes('Sales')) {
-    delete searchTableQeury.sales_rep
+    delete searchTableQeuryTracking.sales_rep
   } else if (tag.includes('Origin')) {
-    delete searchTableQeury['shipper_city/consignee_city']
+    delete searchTableQeuryTracking['shipper_city/consignee_city']
   } else if (tag.includes('Destination')) {
-    delete searchTableQeury.final_desination
+    delete searchTableQeuryTracking.final_desination
   } else if (tag.includes('Place of Receipt')) {
-    delete searchTableQeury.place_of_receipt_exp
-  } else if (tag.includes('Place of Loading')) {
-    delete searchTableQeury.port_of_loading
+    delete searchTableQeuryTracking.place_of_receipt_exp
+  } else if (tag.includes('Port of Loading')) {
+    delete searchTableQeuryTracking.port_of_loading
   } else if (tag.includes('Place of delivery')) {
-    delete searchTableQeury.place_of_delivery_exp
+    delete searchTableQeuryTracking.place_of_delivery_exp
   } else if (tag.includes('Place of Discharge')) {
-    delete searchTableQeury.port_of_discharge
+    delete searchTableQeuryTracking.port_of_discharge
   } else if (tag.includes('Vessel')) {
-    delete searchTableQeury['f_vessel/vessel']
+    delete searchTableQeuryTracking['f_vessel/vessel']
   } else if (tag.includes('Voyage')) {
-    delete searchTableQeury['f_voyage/voyage']
+    delete searchTableQeuryTracking['f_voyage/voyage']
   } else {
-    delete searchTableQeury._reportRef
-    delete searchTableQeury._reportRefe_date
-    delete searchTableQeury._reportRefb_date
-    delete searchTableQeury._reportStationType
-    delete searchTableQeury._reportDataType
-    delete searchTableQeury._reportStationType
+    delete searchTableQeuryTracking._reportRef
+    delete searchTableQeuryTracking._reportRefe_date
+    delete searchTableQeuryTracking._reportRefb_date
+    delete searchTableQeuryTracking._reportStationType
+    delete searchTableQeuryTracking._reportDataType
+    delete searchTableQeuryTracking._reportStationType
   }
-  TrackingTable_ref.value.searchTableData(searchTableQeury)
+  TrackingTable_ref.value.searchTableData(searchTableQeuryTracking)
+  sessionStorage.setItem('searchTableQeuryTracking', JSON.stringify(searchTableQeuryTracking))
   Gettrackingdata()
 }
 // 筛选框查询
 const FiltersSeach = (val: any, value: any) => {
-  searchTableQeury[val] = value
-  TrackingTable_ref.value.searchTableData(searchTableQeury)
+  searchTableQeuryTracking[val] = value
+  TrackingTable_ref.value.searchTableData(searchTableQeuryTracking)
+  sessionStorage.setItem('searchTableQeuryTracking', JSON.stringify(searchTableQeuryTracking))
   Gettrackingdata()
 }
 //TransportSearch
@@ -102,99 +114,207 @@ const TransportSearch = (val: any) => {
   renderTagsData()
 }
 // defaultTransport
-const defaultTransport = (val: any) => {
-  if (
-    sessionStorage.getItem('clickParams') === null ||
-    sessionStorage.getItem('clickParams') === ''
-  ) {
-    filterData.transportData = []
-    if (val.data) {
-      let str = `${val.title}:${val.data}`
-      filterData.transportData.push(str)
+const defaultTransport = (val: any, value: any) => {
+  filterData.transportData = []
+  if (val.data) {
+    let str = `${val.title}:${val.data}`
+    filterData.transportData.push(str)
+  }
+  if (sessionStorage.getItem('searchTableQeuryTracking') == null) {
+    if (
+      sessionStorage.getItem('clickParams') === null ||
+      sessionStorage.getItem('clickParams') === '{}'
+    ) {
+      searchTableQeuryTracking.transport_mode = val.data
+    }
+  } else {
+    searchTableQeuryTracking = value
+  }
+  renderTagsData()
+}
+//defaultDate
+const defaultDate = (val: any, value: any, data: any) => {
+  filterData.daterangeData = []
+  if (Object.keys(val).length) {
+    for (const key in val) {
+      let str = `${key}:${val[key]}`
+      filterData.daterangeData.push(str)
+    }
+  }
+  if (sessionStorage.getItem('searchTableQeuryTracking') == null) {
+    if (
+      sessionStorage.getItem('clickParams') === null ||
+      sessionStorage.getItem('clickParams') === '{}'
+    ) {
+      if (Object.keys(value).length == 0) {
+        delete searchTableQeuryTracking.etd_start
+        delete searchTableQeuryTracking.etd_end
+      }
+      for (const key in value) {
+        searchTableQeuryTracking.etd_start = value[key].data[0]
+        searchTableQeuryTracking.etd_end = value[key].data[1]
+      }
     }
-    searchTableQeury.transport_mode = val.data
-    renderTagsData()
+  } else {
+    searchTableQeuryTracking = data
   }
+  TrackingTable_ref.value.searchTableData(searchTableQeuryTracking)
+  Gettrackingdata()
+  renderTagsData()
 }
 //DateRangeSearch
 const DateRangeSearch = (val: any, value: any) => {
   filterData.daterangeData = []
-  for (const key in val) {
-    let str = `${key}:${val[key]}`
-    filterData.daterangeData.push(str)
+  if (Object.keys(val).length) {
+    for (const key in val) {
+      let str = `${key}:${val[key]}`
+      filterData.daterangeData.push(str)
+    }
   }
   if (Object.keys(value).length == 0) {
-    delete searchTableQeury.etd_start
-    delete searchTableQeury.etd_end
-    delete searchTableQeury.eta_start
-    delete searchTableQeury.eta_end
-    delete searchTableQeury.created_time_start
-    delete searchTableQeury.created_time_end
+    delete searchTableQeuryTracking.etd_start
+    delete searchTableQeuryTracking.etd_end
+    delete searchTableQeuryTracking.eta_start
+    delete searchTableQeuryTracking.eta_end
+    delete searchTableQeuryTracking.created_time_start
+    delete searchTableQeuryTracking.created_time_end
   }
   for (const key in value) {
     if (key == 'ETD') {
-      searchTableQeury.etd_start = value[key][0]
-      searchTableQeury.etd_end = value[key][1]
+      searchTableQeuryTracking.etd_start = value[key].data[0]
+      searchTableQeuryTracking.etd_end = value[key].data[1]
     } else if (key == 'ETA') {
-      searchTableQeury.eta_start = value[key][0]
-      searchTableQeury.eta_end = value[key][1]
+      searchTableQeuryTracking.eta_start = value[key].data[0]
+      searchTableQeuryTracking.eta_end = value[key].data[1]
     } else {
-      searchTableQeury.created_time_start = value[key][0]
-      searchTableQeury.created_time_end = value[key][1]
+      searchTableQeuryTracking.created_time_start = value[key].data[0]
+      searchTableQeuryTracking.created_time_end = value[key].data[1]
     }
   }
-  TrackingTable_ref.value.searchTableData(searchTableQeury)
+  TrackingTable_ref.value.searchTableData(searchTableQeuryTracking)
+  sessionStorage.setItem('searchTableQeuryTracking', JSON.stringify(searchTableQeuryTracking))
   Gettrackingdata()
   renderTagsData()
 }
 //MoreFiltersSearch
 const MoreFiltersSearch = (val: any, value: any) => {
   filterData.morefiltersData = []
+  if (Object.keys(value).length == 0) {
+    delete searchTableQeuryTracking.shipper
+    delete searchTableQeuryTracking.consignee
+    delete searchTableQeuryTracking.service
+    delete searchTableQeuryTracking.incoterms
+    delete searchTableQeuryTracking.notify_party
+    delete searchTableQeuryTracking.billto
+    delete searchTableQeuryTracking.origin
+    delete searchTableQeuryTracking.agent
+    delete searchTableQeuryTracking.sales_rep
+    delete searchTableQeuryTracking.dest_op
+    delete searchTableQeuryTracking.final_desination
+    delete searchTableQeuryTracking.place_of_receipt_exp
+    delete searchTableQeuryTracking.place_of_delivery_exp
+    delete searchTableQeuryTracking.port_of_discharge
+    delete searchTableQeuryTracking['shipper_city/consignee_city']
+    delete searchTableQeuryTracking['port_of_loading/fport_of_loading_un']
+    delete searchTableQeuryTracking['f_vessel/vessel']
+    delete searchTableQeuryTracking['f_voyage/voyage']
+  }
   for (const key in val) {
     let str = `${key}:${val[key]}`
     filterData.morefiltersData.push(str)
     if (key == 'Shippername') {
-      searchTableQeury.shipper = value[key]
+      searchTableQeuryTracking.shipper = value[key]
     } else if (key == 'Consigneename') {
-      searchTableQeury.consignee = value[key]
+      searchTableQeuryTracking.consignee = value[key]
     } else if (key == 'Service') {
-      searchTableQeury.service = value[key]
+      searchTableQeuryTracking.service = value[key]
     } else if (key == 'Incoterms') {
-      searchTableQeury.incoterms = value[key]
+      searchTableQeuryTracking.incoterms = value[key]
     } else if (key == 'Notify Party') {
-      searchTableQeury.notify_party = value[key]
+      searchTableQeuryTracking.notify_party = value[key]
     } else if (key == 'Bill to') {
-      searchTableQeury.billto = value[key]
+      searchTableQeuryTracking.billto = value[key]
     } else if (key == 'Origin Agent') {
-      searchTableQeury.origin = value[key]
+      searchTableQeuryTracking.origin = value[key]
     } else if (key == 'Destination Agent') {
-      searchTableQeury.agent = value[key]
+      searchTableQeuryTracking.agent = value[key]
     } else if (key == 'Destination Operator') {
-      searchTableQeury.dest_op = value[key]
+      searchTableQeuryTracking.dest_op = value[key]
     } else if (key == 'Sales') {
-      searchTableQeury.sales_rep = value[key]
+      searchTableQeuryTracking.sales_rep = value[key]
     } else if (key == 'Destination') {
-      searchTableQeury.final_desination = val[key]
+      searchTableQeuryTracking.final_desination = value[key]
     } else if (key == 'Place of Receipt') {
-      searchTableQeury.place_of_receipt_exp = val[key]
+      searchTableQeuryTracking.place_of_receipt_exp = value[key]
     } else if (key == 'Origin') {
-      searchTableQeury['shipper_city/consignee_city'] = val[key]
+      searchTableQeuryTracking['shipper_city/consignee_city'] = value[key]
     } else if (key == 'Port of Loading') {
-      searchTableQeury.port_of_loading = val[key]
-    } else if (key == 'Port of delivery') {
-      searchTableQeury.place_of_delivery_exp = val[key]
+      searchTableQeuryTracking['port_of_loading/fport_of_loading_un'] = value[key]
+    } else if (key == 'Place of delivery') {
+      searchTableQeuryTracking.place_of_delivery_exp = value[key]
     } else if (key == 'Port of Discharge') {
-      searchTableQeury.port_of_discharge = val[key]
+      searchTableQeuryTracking.port_of_discharge = value[key]
     } else if (key == 'Vessel') {
-      searchTableQeury['f_vessel/vessel'] = value[key]
+      searchTableQeuryTracking['f_vessel/vessel'] = value[key]
     } else if (key == 'Voyage') {
-      searchTableQeury['f_voyage/voyage'] = value[key]
+      searchTableQeuryTracking['f_voyage/voyage'] = value[key]
     }
   }
-  TrackingTable_ref.value.searchTableData(searchTableQeury)
+  TrackingTable_ref.value.searchTableData(searchTableQeuryTracking)
+  sessionStorage.setItem('searchTableQeuryTracking', JSON.stringify(searchTableQeuryTracking))
   Gettrackingdata()
   renderTagsData()
 }
+const defaultMorefilters = (val: any, value: any, data: any) => {
+  filterData.morefiltersData = []
+  for (const key in val) {
+    let str = `${key}:${val[key]}`
+    filterData.morefiltersData.push(str)
+    for (const key in val) {
+      if (key == 'Shippername') {
+        searchTableQeuryTracking.shipper = value[key]
+      } else if (key == 'Consigneename') {
+        searchTableQeuryTracking.consignee = value[key]
+      } else if (key == 'Service') {
+        searchTableQeuryTracking.service = value[key]
+      } else if (key == 'Incoterms') {
+        searchTableQeuryTracking.incoterms = value[key]
+      } else if (key == 'Notify Party') {
+        searchTableQeuryTracking.notify_party = value[key]
+      } else if (key == 'Bill to') {
+        searchTableQeuryTracking.billto = value[key]
+      } else if (key == 'Destination Operator') {
+        searchTableQeuryTracking.dest_op = value[key]
+      } else if (key == 'Origin Agent') {
+        searchTableQeuryTracking.origin = value[key]
+      } else if (key == 'Destination Agent') {
+        searchTableQeuryTracking.agent = value[key]
+      } else if (key == 'Sales') {
+        searchTableQeuryTracking.sales_rep = value[key]
+      } else if (key == 'Origin') {
+        searchTableQeuryTracking['shipper_city/consignee_city'] = value[key]
+      } else if (key == 'Destination') {
+        searchTableQeuryTracking.final_desination = value[key]
+      } else if (key == 'Place of Receipt') {
+        searchTableQeuryTracking.place_of_receipt_exp = value[key]
+      } else if (key == 'Port of Loading') {
+        searchTableQeuryTracking.port_of_loading = value[key]
+      } else if (key == 'Place of delivery') {
+        searchTableQeuryTracking.place_of_delivery_exp = value[key]
+      } else if (key == 'Place of Discharge') {
+        searchTableQeuryTracking.port_of_discharge = value[key]
+      } else if (key == 'Vessel') {
+        searchTableQeuryTracking['f_vessel/vessel'] = value[key]
+      } else if (key == 'Voyage') {
+        searchTableQeuryTracking['f_voyage/voyage'] = value[key]
+      }
+    }
+    if (sessionStorage.getItem('searchTableQeuryTracking') != null) {
+      searchTableQeuryTracking = data
+    }
+  }
+  renderTagsData()
+}
 const clearfilters = () => {
   tagsData.value = []
   filterData.transportData = []
@@ -219,12 +339,13 @@ const clearfilters = () => {
   emitter.emit('clearTag', 'Destination')
   emitter.emit('clearTag', 'Place of Receipt')
   emitter.emit('clearTag', 'Port of Loading')
-  emitter.emit('clearTag', 'Port of delivery')
+  emitter.emit('clearTag', 'Place of delivery')
   emitter.emit('clearTag', 'Port of Discharge')
   emitter.emit('clearTag', 'Vessel')
   emitter.emit('clearTag', 'Voyage')
-  searchTableQeury = {}
-  TrackingTable_ref.value.searchTableData(searchTableQeury)
+  searchTableQeuryTracking = {}
+  TrackingTable_ref.value.searchTableData(searchTableQeuryTracking)
+  sessionStorage.setItem('searchTableQeuryTracking', JSON.stringify(searchTableQeuryTracking))
   Gettrackingdata()
 }
 const renderTagsData = () => {
@@ -303,7 +424,7 @@ const Gettrackingdata = () => {
         ps: TrackingTable_ref.value.pageInfo.pageSize,
         rc: -1,
         other_filed: '',
-        ...searchTableQeury
+        ...searchTableQeuryTracking
       })
       .then((res: any) => {
         if (res.code === 200) {
@@ -313,38 +434,18 @@ const Gettrackingdata = () => {
       })
   }
 }
-const defaultDate = (val: any, value: any) => {
-  if (
-    sessionStorage.getItem('clickParams') === null ||
-    sessionStorage.getItem('clickParams') === ''
-  ) {
-    filterData.daterangeData = []
-    for (const key in val) {
-      let str = `${key}:${val[key]}`
-      filterData.daterangeData.push(str)
-    }
-    if (Object.keys(value).length == 0) {
-      delete searchTableQeury.etd_start
-      delete searchTableQeury.etd_end
-    }
-    for (const key in value) {
-      searchTableQeury.etd_start = value[key][0]
-      searchTableQeury.etd_end = value[key][1]
-    }
-    TrackingTable_ref.value.searchTableData(searchTableQeury)
-    Gettrackingdata()
-    renderTagsData()
-  }
-}
 onMounted(() => {
   if (
     sessionStorage.getItem('clickParams') != null &&
-    sessionStorage.getItem('clickParams') != ''
+    sessionStorage.getItem('clickParams') != '{}'
   ) {
+    if (sessionStorage.getItem('searchTableQeuryTracking') != null) {
+      sessionStorage.removeItem('searchTableQeuryTracking')
+    }
     const data = JSON.parse(sessionStorage.getItem('tagsList') as string) || {}
     const reportlist = JSON.parse(sessionStorage.getItem('reportList') as string) || {}
     for (const key in reportlist) {
-      searchTableQeury[key] = [key]
+      searchTableQeuryTracking[key] = reportlist[key]
     }
     if (reportlist._city_name == '') {
       let str = `${data.title}:${data.name}`
@@ -364,21 +465,52 @@ onMounted(() => {
         filterData.dashboardData.push(str)
       }
     }
-    renderTagsData()
+    sessionStorage.setItem('searchTableQeuryTracking', JSON.stringify(searchTableQeuryTracking))
   } else {
-    Gettrackingdata()
+    if (sessionStorage.getItem('searchTableQeuryTracking') != null) {
+      const testTracking =
+        JSON.parse(sessionStorage.getItem('searchTableQeuryTracking') as string) || {}
+      if (testTracking._reportRef) {
+        const data = JSON.parse(sessionStorage.getItem('tagsList') as string) || {}
+        const reportlist = JSON.parse(sessionStorage.getItem('reportList') as string) || {}
+        for (const key in reportlist) {
+          searchTableQeuryTracking[key] = [key]
+        }
+        if (reportlist._city_name == '') {
+          let str = `${data.title}:${data.name}`
+          filterData.dashboardData.push(str)
+        } else {
+          if (reportlist._reportStationType == 'shippr_uncode' && data.title.includes('Origin')) {
+            let str = `Origin: ${data.data}`
+            filterData.morefiltersData.push(str)
+          } else if (
+            reportlist._reportStationType == 'consignee_uncode' &&
+            data.title.includes('Destination')
+          ) {
+            let str = `Destination: ${data.data}`
+            filterData.morefiltersData.push(str)
+          } else {
+            let str = `${data.title}:${data.name}`
+            filterData.dashboardData.push(str)
+          }
+        }
+      }
+    }
   }
+  renderTagsData()
 })
 const changeTag = (val: any) => {
-  searchTableQeury.filterTag = val
-  TrackingTable_ref.value.searchTableData(searchTableQeury)
+  searchTableQeuryTracking.filterTag = val
+  TrackingTable_ref.value.searchTableData(searchTableQeuryTracking)
   filterTag.value = val
+  sessionStorage.setItem('searchTableQeuryTracking', JSON.stringify(searchTableQeuryTracking))
   Gettrackingdata()
 }
 // 点击search按钮
 const SearchInput = () => {
-  searchTableQeury._textSearch = TrackingSearch.value
-  TrackingTable_ref.value.searchTableData(searchTableQeury)
+  searchTableQeuryTracking._textSearch = TrackingSearch.value
+  TrackingTable_ref.value.searchTableData(searchTableQeuryTracking)
+  sessionStorage.setItem('searchTableQeuryTracking', JSON.stringify(searchTableQeuryTracking))
   Gettrackingdata()
 }
 </script>
@@ -403,21 +535,24 @@ const SearchInput = () => {
         </el-input>
       </div>
       <TransportMode
+        :isShipment="true"
         :TransportListItem="TransportListItem"
         @TransportSearch="TransportSearch"
         @defaultTransport="defaultTransport"
         @clearTransportTags="clearTransportTags"
       ></TransportMode>
       <DateRange
+        :isShipment="true"
         @DateRangeSearch="DateRangeSearch"
         @clearDaterangeTags="clearDaterangeTags"
         @defaultDate="defaultDate"
       ></DateRange>
       <MoreFilters
         :isShipment="true"
-        :searchTableQeury="searchTableQeury"
+        :searchTableQeury="searchTableQeuryTracking"
         @MoreFiltersSearch="MoreFiltersSearch"
         @clearMoreFiltersTags="clearMoreFiltersTags"
+        @defaultMorefilters="defaultMorefilters"
       ></MoreFilters>
       <el-button class="el-button--dark" style="margin-left: 8px" @click="SearchInput"
         >Search</el-button

+ 1 - 1
src/views/Tracking/src/components/TrackingTable/src/TrackingTable.vue

@@ -137,7 +137,7 @@ const getTableData = async (isInit: boolean, isPageChange?: boolean) => {
   tableLoading.value = true
   if (
     sessionStorage.getItem('clickParams') != null &&
-    sessionStorage.getItem('clickParams') != ''
+    sessionStorage.getItem('clickParams') != '{}'
   ) {
     const data = JSON.parse(sessionStorage.getItem('clickParams') as string) || {}
     trackingTable.value.data = data.searchData || []