jws-frontend/src/components/01_branch-management/FormBranchContact.vue

155 lines
4.2 KiB
Vue
Raw Normal View History

2024-04-18 13:55:43 +07:00
<script setup lang="ts">
const telephoneNo = defineModel<string>('telephoneNo');
const contact = defineModel<string>('contact');
const email = defineModel<string>('email');
const contactName = defineModel<string>('contactName');
2024-08-29 12:03:54 +07:00
const webUrl = defineModel<string>('webUrl');
2024-04-19 14:22:23 +07:00
// const operatingHours = defineModel<string>('operatingHours');
2024-04-18 13:55:43 +07:00
const lineId = defineModel<string>('lineId');
2024-06-28 10:49:23 +07:00
const typeBranch = defineModel<string>('typeBranch');
2024-04-18 13:55:43 +07:00
defineProps<{
title?: string;
dense?: boolean;
outlined?: boolean;
readonly?: boolean;
separator?: boolean;
}>();
</script>
<template>
2024-07-01 08:40:37 +00:00
<div class="row col-12">
2024-08-01 08:44:40 +00:00
<div class="col-12 q-pb-sm text-weight-bold text-body1">
<q-icon
flat
size="xs"
class="q-pa-sm rounded q-mr-xs"
color="info"
2024-08-08 06:10:54 +00:00
name="mdi-phone-outline"
2024-08-01 08:44:40 +00:00
style="background-color: var(--surface-3)"
/>
{{ $t(`${title}`) }}
2024-07-23 04:57:35 +00:00
</div>
2024-08-01 08:44:40 +00:00
<div class="col-12 row q-col-gutter-sm">
2024-07-01 08:40:37 +00:00
<q-input
:dense="dense"
outlined
:readonly="readonly"
hide-bottom-space
2024-08-26 16:24:08 +07:00
class="col-12 col-md-4"
:label="$t('form.email')"
:rules="
readonly
? undefined
: [
(v: string) =>
!v ||
/^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/g.test(v) ||
$t('form.error.invalid'),
]
"
2024-07-01 08:40:37 +00:00
for="input-email"
2024-08-16 17:31:40 +07:00
:model-value="readonly ? email || '-' : email"
@update:model-value="(v) => (typeof v === 'string' ? (email = v) : '')"
2024-08-01 08:44:40 +00:00
>
<template #prepend>
2024-08-08 06:10:54 +00:00
<q-icon
color="primary"
name="mdi-email-outline"
size="xs"
class="q-mr-xs"
/>
2024-08-01 08:44:40 +00:00
</template>
</q-input>
2024-04-18 13:55:43 +07:00
2024-07-01 08:40:37 +00:00
<q-input
:dense="dense"
outlined
:readonly="readonly"
hide-bottom-space
2024-08-27 11:47:01 +07:00
class="col-6 col-md-4"
2024-08-26 16:24:08 +07:00
:label="$t('form.telephone')"
2024-07-01 08:40:37 +00:00
for="input-telephone-no"
2024-08-16 17:31:40 +07:00
:model-value="readonly ? telephoneNo || '-' : telephoneNo"
@update:model-value="
(v) => (typeof v === 'string' ? (telephoneNo = v) : '')
"
2024-08-01 08:44:40 +00:00
>
<template #prepend>
2024-08-08 06:10:54 +00:00
<q-icon
color="primary"
name="mdi-phone-outline"
size="xs"
class="q-mr-xs"
/>
2024-08-01 08:44:40 +00:00
</template>
</q-input>
2024-04-18 13:55:43 +07:00
2024-07-01 08:40:37 +00:00
<q-input
:dense="dense"
outlined
:readonly="readonly"
hide-bottom-space
2024-08-27 11:47:01 +07:00
class="col-6 col-md-4"
2024-07-01 08:40:37 +00:00
label="Line ID"
for="input-line-id"
2024-08-16 17:31:40 +07:00
:model-value="readonly ? lineId || '-' : lineId"
@update:model-value="(v) => (typeof v === 'string' ? (lineId = v) : '')"
2024-07-01 08:40:37 +00:00
/>
2024-08-07 10:08:45 +00:00
2024-08-26 16:24:08 +07:00
<q-input
:dense="dense"
outlined
:readonly="readonly"
hide-bottom-space
2024-08-27 11:47:01 +07:00
class="col-6 col-md-4"
2024-08-26 16:24:08 +07:00
:label="$t('branch.form.contactName')"
for="input-contact-name"
:model-value="readonly ? contactName || '-' : contactName"
@update:model-value="
(v) => (typeof v === 'string' ? (contactName = v) : '')
"
/>
2024-08-07 10:08:45 +00:00
2024-08-26 16:24:08 +07:00
<q-input
:dense="dense"
outlined
:readonly="readonly"
hide-bottom-space
2024-08-27 11:47:01 +07:00
class="col-6 col-md-4"
2024-08-26 16:24:08 +07:00
:label="$t('branch.form.contactTelephone')"
for="input-contact"
:model-value="readonly ? contact || '-' : contact"
@update:model-value="
(v) => (typeof v === 'string' ? (contact = v) : '')
"
>
<template #prepend>
<q-icon
color="primary"
name="mdi-phone-outline"
size="xs"
class="q-mr-xs"
/>
</template>
</q-input>
2024-08-29 12:03:54 +07:00
<q-input
:dense="dense"
outlined
:readonly="readonly"
hide-bottom-space
class="col-6 col-md-4"
:label="$t('branch.form.webUrl')"
for="input-web-url"
:model-value="readonly ? webUrl || '-' : webUrl"
@update:model-value="(v) => (typeof v === 'string' ? (webUrl = v) : '')"
>
<template #prepend>
<q-icon color="primary" name="mdi-web" size="xs" class="q-mr-xs" />
</template>
</q-input>
2024-07-01 08:40:37 +00:00
</div>
2024-04-18 13:55:43 +07:00
</div>
</template>