|
|
@@ -1,6 +1,5 @@
|
|
|
<script setup lang="ts">
|
|
|
import AutoSelect from '@/components/AutoSelect'
|
|
|
-// import SelectAutoSelect from '@/components/SelectAutoSelect'
|
|
|
import { useFiltersStore } from '@/stores/modules/filtersList'
|
|
|
import { useRoute } from 'vue-router'
|
|
|
|
|
|
@@ -18,25 +17,6 @@ const props = defineProps({
|
|
|
serviceList: Array<any>
|
|
|
})
|
|
|
|
|
|
-const InputForm = ref({
|
|
|
- parties: {
|
|
|
- Shippername: [],
|
|
|
- Consigneename: []
|
|
|
- },
|
|
|
- transportation: {
|
|
|
- Vessel: [],
|
|
|
- Voyage: []
|
|
|
- },
|
|
|
- palces: {
|
|
|
- Origin: [],
|
|
|
- Destination: []
|
|
|
- },
|
|
|
- General: {
|
|
|
- Incoterms: '',
|
|
|
- Service: ''
|
|
|
- }
|
|
|
-})
|
|
|
-
|
|
|
const transportaionData = ref([
|
|
|
{
|
|
|
title: 'Vessel',
|
|
|
@@ -105,7 +85,18 @@ const getQueryData = () => {
|
|
|
}
|
|
|
})
|
|
|
}
|
|
|
-const GeneralBadge = ref()
|
|
|
+const GeneralBadge = computed(() => {
|
|
|
+ let count = 0
|
|
|
+ if (searchMode === 'tracking') {
|
|
|
+ if (incotermsRef.value?.getValue()) {
|
|
|
+ count++
|
|
|
+ }
|
|
|
+ if (serviceRef.value?.getValue()) {
|
|
|
+ count++
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return count
|
|
|
+})
|
|
|
|
|
|
const collapseValue = ref()
|
|
|
|
|
|
@@ -122,14 +113,41 @@ const handleSearch = () => {
|
|
|
drawer.value = false
|
|
|
}
|
|
|
// 清除
|
|
|
-const clearrest = () => {}
|
|
|
-
|
|
|
-const IncotermsSearch = (val: any, value: any) => {
|
|
|
- InputForm.value.General.Incoterms = val.data
|
|
|
-}
|
|
|
-const ServiceSearch = (val: any, value: any) => {
|
|
|
- InputForm.value.General.Service = val.data
|
|
|
+const clearrest = () => {
|
|
|
+ const moreFilters = [
|
|
|
+ 'shipper_city',
|
|
|
+ 'shipper',
|
|
|
+ 'consignee',
|
|
|
+ 'consignee_city',
|
|
|
+ 'origin',
|
|
|
+ 'agent',
|
|
|
+ 'sales_rep',
|
|
|
+ 'notify',
|
|
|
+ 'bill_to',
|
|
|
+ 'dest_op',
|
|
|
+ 'destination',
|
|
|
+ 'f_vessel/m_vessel',
|
|
|
+ 'f_voyage/m_voyage',
|
|
|
+ 'place_of_delivery/place_of_delivery_exp',
|
|
|
+ 'place_of_receipt/place_of_receipt_exp',
|
|
|
+ 'fport_of_loading_uncode/fport_of_loading_exp',
|
|
|
+ 'Place of Discharge',
|
|
|
+ 'incoterms',
|
|
|
+ 'service'
|
|
|
+ ]
|
|
|
+ moreFilters.forEach((item) => {
|
|
|
+ filtersStore.deleteFilterByKey(item)
|
|
|
+ })
|
|
|
+ partiesViewRef.value.resetData()
|
|
|
+ placesViewRef.value.resetData()
|
|
|
+ incotermsRef.value?.resetData()
|
|
|
+ serviceRef.value?.resetData()
|
|
|
+ transportaionData.value.forEach((item) => {
|
|
|
+ item.value = []
|
|
|
+ })
|
|
|
+ emit('clearMoreFiltersTags')
|
|
|
}
|
|
|
+
|
|
|
const clickmorefilters = () => {
|
|
|
drawer.value = true
|
|
|
}
|
|
|
@@ -175,27 +193,30 @@ const moreFiltersGuideImg = computed(() => {
|
|
|
<el-collapse-item class="collapse_item" name="General" v-if="searchMode === 'tracking'">
|
|
|
<template #title>
|
|
|
<span class="collapse-title"
|
|
|
- >General <el-badge class="mark" :value="GeneralBadge" type="warning"
|
|
|
+ >General
|
|
|
+ <el-badge
|
|
|
+ v-if="GeneralBadge > 0 && !collapseValue?.includes('General')"
|
|
|
+ class="mark"
|
|
|
+ :value="GeneralBadge"
|
|
|
+ type="warning"
|
|
|
/></span>
|
|
|
</template>
|
|
|
<div class="ETD">
|
|
|
<div class="ETD_title">Incoterms</div>
|
|
|
<SelectValue
|
|
|
title="Incoterms"
|
|
|
- key="incoterms"
|
|
|
+ keyValue="incoterms"
|
|
|
ref="incotermsRef"
|
|
|
:transportListData="props.incotermsList"
|
|
|
- @generalSearch="IncotermsSearch"
|
|
|
></SelectValue>
|
|
|
</div>
|
|
|
<div class="ETA">
|
|
|
<div class="ETD_title">Service</div>
|
|
|
<SelectValue
|
|
|
title="Service"
|
|
|
- key="service"
|
|
|
+ keyValue="service"
|
|
|
ref="serviceRef"
|
|
|
:transportListData="props.serviceList"
|
|
|
- @generalSearch="ServiceSearch"
|
|
|
></SelectValue>
|
|
|
</div>
|
|
|
</el-collapse-item>
|