|
@@ -5,6 +5,7 @@ import { type VxeGridInstance, type VxeGridProps } from 'vxe-table'
|
|
|
import { formatTimezone } from '@/utils/tools'
|
|
import { formatTimezone } from '@/utils/tools'
|
|
|
import { useUserStore } from '@/stores/modules/user'
|
|
import { useUserStore } from '@/stores/modules/user'
|
|
|
import dayjs from 'dayjs'
|
|
import dayjs from 'dayjs'
|
|
|
|
|
+import DefaultSettingDialog from './DefaultSettingDialog.vue'
|
|
|
|
|
|
|
|
const userStore = useUserStore()
|
|
const userStore = useUserStore()
|
|
|
const datePickerFormat = `${userStore.dateFormat} HH:mm:ss`
|
|
const datePickerFormat = `${userStore.dateFormat} HH:mm:ss`
|
|
@@ -50,7 +51,7 @@ const generalInfo = ref({
|
|
|
}
|
|
}
|
|
|
],
|
|
],
|
|
|
formData: {
|
|
formData: {
|
|
|
- Submitter: '',
|
|
|
|
|
|
|
+ submitter: '',
|
|
|
signature: '',
|
|
signature: '',
|
|
|
authorized_email: '',
|
|
authorized_email: '',
|
|
|
authorized_tel: '',
|
|
authorized_tel: '',
|
|
@@ -199,7 +200,7 @@ const convertData = (data: any) => {
|
|
|
}
|
|
}
|
|
|
],
|
|
],
|
|
|
formData: {
|
|
formData: {
|
|
|
- Submitter: data.Submitter,
|
|
|
|
|
|
|
+ submitter: data.submitter,
|
|
|
signature: data.signature,
|
|
signature: data.signature,
|
|
|
authorized_email: data.authorized_email,
|
|
authorized_email: data.authorized_email,
|
|
|
authorized_tel: data.authorized_tel,
|
|
authorized_tel: data.authorized_tel,
|
|
@@ -269,7 +270,7 @@ const verificationData = () => {
|
|
|
fieldValue === null || fieldValue === undefined || fieldValue === ''
|
|
fieldValue === null || fieldValue === undefined || fieldValue === ''
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- checkField('Submitter', 'submitter')
|
|
|
|
|
|
|
+ checkField('submitter', 'submitter')
|
|
|
checkField('signature', 'signature')
|
|
checkField('signature', 'signature')
|
|
|
checkField('authorized_email', 'authorized_email')
|
|
checkField('authorized_email', 'authorized_email')
|
|
|
checkField('authorized_tel', 'authorized_tel')
|
|
checkField('authorized_tel', 'authorized_tel')
|
|
@@ -305,7 +306,7 @@ const handleSave = () => {
|
|
|
|
|
|
|
|
const generalData = {
|
|
const generalData = {
|
|
|
all_carrier_booking: generalInfo.value.baseInfo['Carrier Booking No.'],
|
|
all_carrier_booking: generalInfo.value.baseInfo['Carrier Booking No.'],
|
|
|
- submitter: generalInfo.value.formData.Submitter,
|
|
|
|
|
|
|
+ submitter: generalInfo.value.formData.submitter,
|
|
|
signature: generalInfo.value.formData.signature,
|
|
signature: generalInfo.value.formData.signature,
|
|
|
authorized_email: generalInfo.value.formData.authorized_email,
|
|
authorized_email: generalInfo.value.formData.authorized_email,
|
|
|
authorized_tel: generalInfo.value.formData.authorized_tel,
|
|
authorized_tel: generalInfo.value.formData.authorized_tel,
|
|
@@ -365,6 +366,24 @@ const stopScroll = (evt) => {
|
|
|
}
|
|
}
|
|
|
return false
|
|
return false
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+const defaultSettingDialogRef = ref<InstanceType<typeof DefaultSettingDialog> | null>(null)
|
|
|
|
|
+const openDefaultSettingDialog = () => {
|
|
|
|
|
+ if (defaultSettingDialogRef.value) {
|
|
|
|
|
+ defaultSettingDialogRef.value.openDialog()
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+const handleDefaultSetting = (data: any) => {
|
|
|
|
|
+ // debugger
|
|
|
|
|
+ // generalInfo.value.formData = data
|
|
|
|
|
+ const formData = generalInfo.value.formData
|
|
|
|
|
+ for (const key in formData) {
|
|
|
|
|
+ if (!formData[key] && data[key]) {
|
|
|
|
|
+ formData[key] = data[key]
|
|
|
|
|
+ isVerificationError.value[key] = false
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
</script>
|
|
</script>
|
|
|
|
|
|
|
|
<template>
|
|
<template>
|
|
@@ -406,7 +425,7 @@ const stopScroll = (evt) => {
|
|
|
<div class="content">
|
|
<div class="content">
|
|
|
<el-input
|
|
<el-input
|
|
|
:class="{ 'is-error': isVerificationError.submitter }"
|
|
:class="{ 'is-error': isVerificationError.submitter }"
|
|
|
- v-model="generalInfo.formData.Submitter"
|
|
|
|
|
|
|
+ v-model="generalInfo.formData.submitter"
|
|
|
placeholder="Please enter..."
|
|
placeholder="Please enter..."
|
|
|
clearable
|
|
clearable
|
|
|
@blur="verificationData"
|
|
@blur="verificationData"
|
|
@@ -473,6 +492,7 @@ const stopScroll = (evt) => {
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
|
|
+ <div class="default-setting" @click="openDefaultSettingDialog">Default Setting</div>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="detail-info" style="margin-top: 8px">
|
|
<div class="detail-info" style="margin-top: 8px">
|
|
@@ -516,7 +536,7 @@ const stopScroll = (evt) => {
|
|
|
style="width: 190px"
|
|
style="width: 190px"
|
|
|
placeholder="Pick a Date"
|
|
placeholder="Pick a Date"
|
|
|
:format="datePickerFormat"
|
|
:format="datePickerFormat"
|
|
|
- value-format="YYYY-MM-DD hh:mm:ss"
|
|
|
|
|
|
|
+ value-format="YYYY-MM-DD HH:mm:ss"
|
|
|
:date-format="userStore.dateFormat"
|
|
:date-format="userStore.dateFormat"
|
|
|
time-format="HH:mm:ss"
|
|
time-format="HH:mm:ss"
|
|
|
/>
|
|
/>
|
|
@@ -528,6 +548,10 @@ const stopScroll = (evt) => {
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
|
|
+ <DefaultSettingDialog
|
|
|
|
|
+ @close="handleDefaultSetting"
|
|
|
|
|
+ ref="defaultSettingDialogRef"
|
|
|
|
|
+ ></DefaultSettingDialog>
|
|
|
</div>
|
|
</div>
|
|
|
</template>
|
|
</template>
|
|
|
|
|
|
|
@@ -613,6 +637,7 @@ const stopScroll = (evt) => {
|
|
|
padding: 0 16px 8px;
|
|
padding: 0 16px 8px;
|
|
|
}
|
|
}
|
|
|
.form {
|
|
.form {
|
|
|
|
|
+ position: relative;
|
|
|
.form-row {
|
|
.form-row {
|
|
|
display: flex;
|
|
display: flex;
|
|
|
flex-wrap: wrap;
|
|
flex-wrap: wrap;
|
|
@@ -650,6 +675,16 @@ const stopScroll = (evt) => {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+ .default-setting {
|
|
|
|
|
+ position: absolute;
|
|
|
|
|
+ top: 8px;
|
|
|
|
|
+ right: 8px;
|
|
|
|
|
+ height: 21px;
|
|
|
|
|
+ line-height: 21px;
|
|
|
|
|
+ color: var(--color-theme);
|
|
|
|
|
+ border-bottom: 1px solid var(--color-theme);
|
|
|
|
|
+ cursor: pointer;
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
.data-info {
|
|
.data-info {
|