jws-frontend/src/components/04_product-service/BasicInformation.vue

134 lines
3.2 KiB
Vue
Raw Normal View History

2024-06-11 11:59:54 +07:00
<script setup lang="ts">
2024-06-18 02:15:45 +00:00
import { Icon } from '@iconify/vue';
2024-06-11 11:59:54 +07:00
const remark = defineModel<string>('remark');
const detail = defineModel<string>('detail');
const name = defineModel<string>('name');
const code = defineModel<string>('code');
2024-06-18 02:01:02 +00:00
const serviceCode = defineModel<string>('serviceCode');
const serviceName = defineModel<string>('serviceName');
const serviceDescription = defineModel<string>('serviceDescription');
2024-06-11 11:59:54 +07:00
defineProps<{
dense?: boolean;
outlined?: boolean;
readonly?: boolean;
separator?: boolean;
isType?: boolean;
2024-06-18 02:01:02 +00:00
service?: boolean;
2024-06-11 11:59:54 +07:00
}>();
</script>
<template>
2024-06-18 02:01:02 +00:00
<div class="col-3 app-text-muted">
{{ $t(`formDialogTitleInformation`) }}
</div>
<div v-if="!service" class="col-9 row q-col-gutter-md">
<q-input
:dense="dense"
:outlined="!readonly"
:readonly="readonly"
:borderless="readonly"
hide-bottom-space
class="col-6"
:label="
$t(isType ? 'productAndServiceTypeCode' : 'productAndServiceGroupCode')
"
v-model="code"
/>
<q-input
:dense="dense"
:outlined="!readonly"
:readonly="readonly"
:borderless="readonly"
hide-bottom-space
class="col-6"
:label="
$t(isType ? 'productAndServiceTypeName' : 'productAndServiceGroupName')
"
v-model="name"
/>
<q-input
:dense="dense"
:outlined="!readonly"
:readonly="readonly"
:borderless="readonly"
hide-bottom-space
type="textarea"
class="col-12"
:label="$t('detail')"
v-model="detail"
/>
<q-input
:dense="dense"
:outlined="!readonly"
:readonly="readonly"
:borderless="readonly"
hide-bottom-space
type="textarea"
class="col-12"
:label="$t('formDialogInputRemark')"
v-model="remark"
/>
</div>
<div v-if="service" class="col-9 row q-col-gutter-md">
<q-input
2024-06-18 02:15:45 +00:00
id="input-service-code"
2024-06-18 02:01:02 +00:00
for="input-service-code"
:dense="dense"
:outlined="!readonly"
:readonly="readonly"
:borderless="readonly"
hide-bottom-space
class="col-3"
:label="$t('serviceCode')"
v-model="serviceCode"
/>
<q-input
2024-06-18 02:15:45 +00:00
id="input-service-name"
2024-06-18 02:01:02 +00:00
for="input-service-name"
:dense="dense"
:outlined="!readonly"
:readonly="readonly"
:borderless="readonly"
hide-bottom-space
class="col-9"
:label="$t('serviceName')"
v-model="serviceName"
2024-06-18 02:15:45 +00:00
>
<template #prepend>
<q-btn
dense
unelevated
round
padding="0"
style="background-color: var(--surface-tab)"
>
<Icon
icon="basil:settings-adjust-solid"
width="24px"
style="color: var(--stone-7)"
/>
</q-btn>
</template>
</q-input>
2024-06-18 02:01:02 +00:00
<q-input
2024-06-18 02:15:45 +00:00
id="input-service-description"
2024-06-18 02:01:02 +00:00
for="input-service-description"
:dense="dense"
:outlined="!readonly"
:readonly="readonly"
:borderless="readonly"
hide-bottom-space
type="textarea"
class="col-12"
:label="$t('serviceDetail')"
v-model="serviceDescription"
/>
2024-06-11 11:59:54 +07:00
</div>
</template>
<style scoped></style>