|
@@ -49,9 +49,9 @@ const isETD = ref(false)
|
|
|
const isETA = ref(false)
|
|
const isETA = ref(false)
|
|
|
const OceanActive = ref(['ETDShipments'])
|
|
const OceanActive = ref(['ETDShipments'])
|
|
|
const OceanCheckedList = ref()
|
|
const OceanCheckedList = ref()
|
|
|
-const ETDTime = ref('')
|
|
|
|
|
|
|
+const ETDTime = ref()
|
|
|
const ETDSelect = ref('')
|
|
const ETDSelect = ref('')
|
|
|
-const ETATime = ref('')
|
|
|
|
|
|
|
+const ETATime = ref()
|
|
|
const ETASelect = ref('')
|
|
const ETASelect = ref('')
|
|
|
const ETDRadio = ref()
|
|
const ETDRadio = ref()
|
|
|
const ETARadio = ref()
|
|
const ETARadio = ref()
|
|
@@ -65,13 +65,25 @@ let ETAstr: any = ''
|
|
|
const CheckChange = (val: any) => {
|
|
const CheckChange = (val: any) => {
|
|
|
if (val.includes('ETD')) {
|
|
if (val.includes('ETD')) {
|
|
|
isETD.value = true
|
|
isETD.value = true
|
|
|
- if (ETDSelect.value != '') {
|
|
|
|
|
|
|
+ if(ETDstr.includes('all changes')) {
|
|
|
ETDETAList.value.ETD = ETDstr
|
|
ETDETAList.value.ETD = ETDstr
|
|
|
|
|
+ } else {
|
|
|
|
|
+ if (ETDSelect.value != '' && clampedValue.value!= '') {
|
|
|
|
|
+ ETDETAList.value.ETD = ETDstr
|
|
|
|
|
+ } else {
|
|
|
|
|
+ ETDETAList.value.ETD = ''
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
if (val.includes('ETA')) {
|
|
if (val.includes('ETA')) {
|
|
|
isETA.value = true
|
|
isETA.value = true
|
|
|
- if (ETASelect.value != '') {
|
|
|
|
|
|
|
+ if(ETAstr.includes('all changes')) {
|
|
|
ETDETAList.value.ETA = ETAstr
|
|
ETDETAList.value.ETA = ETAstr
|
|
|
|
|
+ } else {
|
|
|
|
|
+ if (ETASelect.value != '' && clampedETAValue.value!= '') {
|
|
|
|
|
+ ETDETAList.value.ETA = ETAstr
|
|
|
|
|
+ } else {
|
|
|
|
|
+ ETDETAList.value.ETA = ''
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
} else {
|
|
} else {
|
|
|
isETA.value = false
|
|
isETA.value = false
|
|
@@ -82,8 +94,14 @@ const CheckChange = (val: any) => {
|
|
|
ETDETAList.value.ETD = ''
|
|
ETDETAList.value.ETD = ''
|
|
|
if (val.includes('ETA')) {
|
|
if (val.includes('ETA')) {
|
|
|
isETA.value = true
|
|
isETA.value = true
|
|
|
- if (ETASelect.value != '') {
|
|
|
|
|
|
|
+ if(ETAstr.includes('all changes')) {
|
|
|
ETDETAList.value.ETA = ETAstr
|
|
ETDETAList.value.ETA = ETAstr
|
|
|
|
|
+ } else {
|
|
|
|
|
+ if (ETASelect.value != '' && clampedETAValue.value!= '') {
|
|
|
|
|
+ ETDETAList.value.ETA = ETAstr
|
|
|
|
|
+ } else {
|
|
|
|
|
+ ETDETAList.value.ETA = ''
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
} else {
|
|
} else {
|
|
|
isETA.value = false
|
|
isETA.value = false
|
|
@@ -98,7 +116,7 @@ const changeETDRadio = (val: any) => {
|
|
|
ETDETAList.value.ETD = ETDstr
|
|
ETDETAList.value.ETD = ETDstr
|
|
|
} else if (val == 2) {
|
|
} else if (val == 2) {
|
|
|
ETDstr = 'ETD: Notify for all changes ≥ ' + clampedValue.value + ' ' + ETDSelect.value
|
|
ETDstr = 'ETD: Notify for all changes ≥ ' + clampedValue.value + ' ' + ETDSelect.value
|
|
|
- if (ETDSelect.value != '') {
|
|
|
|
|
|
|
+ if (ETDSelect.value != '' && clampedValue.value!= '') {
|
|
|
ETDETAList.value.ETD = ETDstr
|
|
ETDETAList.value.ETD = ETDstr
|
|
|
} else {
|
|
} else {
|
|
|
ETDETAList.value.ETD = ''
|
|
ETDETAList.value.ETD = ''
|
|
@@ -112,7 +130,7 @@ const changeETARadio = (val: any) => {
|
|
|
ETDETAList.value.ETA = ETAstr
|
|
ETDETAList.value.ETA = ETAstr
|
|
|
} else if (val == 2) {
|
|
} else if (val == 2) {
|
|
|
ETAstr = 'ETA: Notify for all changes ≥ ' + clampedETAValue.value + ' ' + ETASelect.value
|
|
ETAstr = 'ETA: Notify for all changes ≥ ' + clampedETAValue.value + ' ' + ETASelect.value
|
|
|
- if (ETASelect.value != '') {
|
|
|
|
|
|
|
+ if (ETASelect.value != '' && clampedValue.value!= '') {
|
|
|
ETDETAList.value.ETA = ETAstr
|
|
ETDETAList.value.ETA = ETAstr
|
|
|
} else {
|
|
} else {
|
|
|
ETDETAList.value.ETA = ''
|
|
ETDETAList.value.ETA = ''
|
|
@@ -123,20 +141,26 @@ const changeETARadio = (val: any) => {
|
|
|
const changedeparture = (val: any) => {
|
|
const changedeparture = (val: any) => {
|
|
|
if (val == 'ETD') {
|
|
if (val == 'ETD') {
|
|
|
ETDstr = 'ETD: Notify for all changes ≥ ' + clampedValue.value + ' ' + ETDSelect.value
|
|
ETDstr = 'ETD: Notify for all changes ≥ ' + clampedValue.value + ' ' + ETDSelect.value
|
|
|
- if (ETDSelect.value != '') {
|
|
|
|
|
|
|
+ if (ETDSelect.value != '' && clampedValue.value!= '') {
|
|
|
ETDETAList.value.ETD = ETDstr
|
|
ETDETAList.value.ETD = ETDstr
|
|
|
|
|
+ } else {
|
|
|
|
|
+ ETDETAList.value.ETD = ''
|
|
|
}
|
|
}
|
|
|
if (val == 'ETA') {
|
|
if (val == 'ETA') {
|
|
|
ETAstr = 'ETA: Notify for all changes ≥ ' + clampedETAValue.value + ' ' + ETASelect.value
|
|
ETAstr = 'ETA: Notify for all changes ≥ ' + clampedETAValue.value + ' ' + ETASelect.value
|
|
|
- if (ETASelect.value != '') {
|
|
|
|
|
|
|
+ if (ETASelect.value != '' && clampedETAValue.value!= '') {
|
|
|
ETDETAList.value.ETA = ETAstr
|
|
ETDETAList.value.ETA = ETAstr
|
|
|
|
|
+ } else {
|
|
|
|
|
+ ETDETAList.value.ETA = ''
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
} else {
|
|
} else {
|
|
|
if (val == 'ETA') {
|
|
if (val == 'ETA') {
|
|
|
ETAstr = 'ETA: Notify for all changes ≥ ' + clampedETAValue.value + ' ' + ETASelect.value
|
|
ETAstr = 'ETA: Notify for all changes ≥ ' + clampedETAValue.value + ' ' + ETASelect.value
|
|
|
- if (ETASelect.value != '') {
|
|
|
|
|
|
|
+ if (ETASelect.value != '' && clampedETAValue.value!= '') {
|
|
|
ETDETAList.value.ETA = ETAstr
|
|
ETDETAList.value.ETA = ETAstr
|
|
|
|
|
+ } else {
|
|
|
|
|
+ ETDETAList.value.ETA = ''
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -182,20 +206,24 @@ defineExpose({
|
|
|
ClearData
|
|
ClearData
|
|
|
})
|
|
})
|
|
|
|
|
|
|
|
-const clampedValue = computed(() => {
|
|
|
|
|
- if (ETDTime.value == '') {
|
|
|
|
|
- return 0
|
|
|
|
|
- } else {
|
|
|
|
|
- const numericValue = ETDTime.value.replace(/[^0-9]/g, 0) // 移除非数字字符
|
|
|
|
|
- return Math.min(Math.max(parseInt(numericValue, 10), 0), 365) // 确保值在0到1000之间,但不更新原输入值仅用于显示
|
|
|
|
|
|
|
+const clampedValue = computed({
|
|
|
|
|
+ get: () => ETDTime.value,
|
|
|
|
|
+ set: (newVal) => {
|
|
|
|
|
+ const isValid = /^[1-9]\d*$/.test(newVal);
|
|
|
|
|
+ ETDTime.value = isValid ? newVal : '';
|
|
|
|
|
+ if( ETDTime.value!='') {
|
|
|
|
|
+ ETDTime.value = Math.min(Math.max(parseInt(ETDTime.value, 10), 1), 365)
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
})
|
|
})
|
|
|
-const clampedETAValue = computed(() => {
|
|
|
|
|
- if (ETATime.value == '') {
|
|
|
|
|
- return 0
|
|
|
|
|
- } else {
|
|
|
|
|
- const numericValue = ETATime.value.replace(/[^0-9]/g, 0) // 移除非数字字符
|
|
|
|
|
- return Math.min(Math.max(parseInt(numericValue, 10), 0), 365) // 确保值在0到1000之间,但不更新原输入值仅用于显示
|
|
|
|
|
|
|
+const clampedETAValue = computed({
|
|
|
|
|
+ get: () => ETATime.value,
|
|
|
|
|
+ set: (newVal) => {
|
|
|
|
|
+ const isValid = /^[1-9]\d*$/.test(newVal);
|
|
|
|
|
+ ETATime.value = isValid ? newVal : '';
|
|
|
|
|
+ if( ETATime.value!='') {
|
|
|
|
|
+ ETATime.value = Math.min(Math.max(parseInt(ETATime.value, 10), 1), 365)
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
})
|
|
})
|
|
|
</script>
|
|
</script>
|
|
@@ -217,8 +245,7 @@ const clampedETAValue = computed(() => {
|
|
|
>Notify only when time difference
|
|
>Notify only when time difference
|
|
|
<span class="delayedIcon">></span>
|
|
<span class="delayedIcon">></span>
|
|
|
<el-input
|
|
<el-input
|
|
|
- v-model="ETDTime"
|
|
|
|
|
- :value="clampedValue"
|
|
|
|
|
|
|
+ v-model="clampedValue"
|
|
|
class="input-with-select"
|
|
class="input-with-select"
|
|
|
@input="changedeparture('ETD')"
|
|
@input="changedeparture('ETD')"
|
|
|
>
|
|
>
|
|
@@ -229,7 +256,7 @@ const clampedETAValue = computed(() => {
|
|
|
@change="changedeparture('ETD')"
|
|
@change="changedeparture('ETD')"
|
|
|
>
|
|
>
|
|
|
<el-option label="Day(s)" value="Day(s)" />
|
|
<el-option label="Day(s)" value="Day(s)" />
|
|
|
- <el-option label="Hour(s)" value="Hour(s)" />
|
|
|
|
|
|
|
+ <el-option v-if="props.Title == 'Air shipments'" label="Hour(s)" value="Hour(s)" />
|
|
|
</el-select>
|
|
</el-select>
|
|
|
</template> </el-input
|
|
</template> </el-input
|
|
|
></el-radio>
|
|
></el-radio>
|
|
@@ -245,8 +272,7 @@ const clampedETAValue = computed(() => {
|
|
|
>Notify only when time difference
|
|
>Notify only when time difference
|
|
|
<span class="delayedIcon">></span>
|
|
<span class="delayedIcon">></span>
|
|
|
<el-input
|
|
<el-input
|
|
|
- v-model="ETATime"
|
|
|
|
|
- :value="clampedETAValue"
|
|
|
|
|
|
|
+ v-model="clampedETAValue"
|
|
|
class="input-with-select"
|
|
class="input-with-select"
|
|
|
@input="changedeparture('ETA')"
|
|
@input="changedeparture('ETA')"
|
|
|
>
|
|
>
|
|
@@ -257,7 +283,7 @@ const clampedETAValue = computed(() => {
|
|
|
@change="changedeparture('ETA')"
|
|
@change="changedeparture('ETA')"
|
|
|
>
|
|
>
|
|
|
<el-option label="Day(s)" value="Day(s)" />
|
|
<el-option label="Day(s)" value="Day(s)" />
|
|
|
- <el-option label="Hour(s)" value="Hour(s)" />
|
|
|
|
|
|
|
+ <el-option v-if="props.Title == 'Air shipments'" label="Hour(s)" value="Hour(s)" />
|
|
|
</el-select>
|
|
</el-select>
|
|
|
</template> </el-input
|
|
</template> </el-input
|
|
|
></el-radio>
|
|
></el-radio>
|