59 lines
1.5 KiB
Vue
59 lines
1.5 KiB
Vue
<script setup lang="ts">
|
|
import SelectUser from 'src/components/shared/select/SelectUser.vue';
|
|
import { watch } from 'vue';
|
|
|
|
const responsibleUserLocal = defineModel<boolean>('responsibleUserLocal', {
|
|
required: false,
|
|
});
|
|
const responsibleUserId = defineModel<string>('responsibleUserId', {
|
|
required: false,
|
|
});
|
|
|
|
defineProps<{
|
|
readonly?: boolean;
|
|
districtId?: string;
|
|
cost?: boolean;
|
|
}>();
|
|
|
|
watch(responsibleUserLocal, (lhs, rhs) => {
|
|
if (lhs && !rhs) responsibleUserId.value = '';
|
|
});
|
|
</script>
|
|
<template>
|
|
<div class="row items-center q-px-md q-py-xs">
|
|
<div class="col-12 row">
|
|
<q-radio
|
|
v-model="responsibleUserLocal"
|
|
:val="true"
|
|
:label="$t('requestList.localEmployee')"
|
|
:disable="readonly"
|
|
class="col"
|
|
/>
|
|
<q-radio
|
|
v-model="responsibleUserLocal"
|
|
:val="false"
|
|
:label="$t('requestList.nonLocalEmployee')"
|
|
:disable="readonly"
|
|
class="col"
|
|
/>
|
|
<div class="col" />
|
|
<div class="offset-md-7"></div>
|
|
</div>
|
|
|
|
<div class="col-12 row">
|
|
<SelectUser
|
|
required
|
|
:key="responsibleUserLocal?.toString()"
|
|
class="col-md-5 col-12"
|
|
v-model:value="responsibleUserId"
|
|
:params="{
|
|
userType: 'MESSENGER',
|
|
responsibleDistrictId: responsibleUserLocal ? districtId : undefined,
|
|
activeBranchOnly: true,
|
|
}"
|
|
:readonly
|
|
:label="$t('general.select', { msg: $t('personnel.MESSENGER') })"
|
|
/>
|
|
</div>
|
|
</div>
|
|
</template>
|