diff --git a/src/components/04_product-service/BasicInformation.vue b/src/components/04_product-service/BasicInformation.vue index 64aee223..bda23074 100644 --- a/src/components/04_product-service/BasicInformation.vue +++ b/src/components/04_product-service/BasicInformation.vue @@ -24,6 +24,7 @@ defineProps<{ dense?: boolean; outlined?: boolean; readonly?: boolean; + readOnlybranchOption?: boolean; separator?: boolean; isType?: boolean; disableCode?: boolean; @@ -77,10 +78,11 @@ watch( v-model="registeredBranchId" id="input-source-nationality" for="input-source-nationality" + :disable="!readonly" :dense="dense" - :readonly="readonly" + :readonly="readonly || readOnlybranchOption" :options="branchOptions" - :hide-dropdown-icon="readonly" + :hide-dropdown-icon="readonly || readOnlybranchOption" :label="$t('productService.service.registeredBranch')" :rules="[ (val) => { diff --git a/src/pages/04_product-service/MainPage.vue b/src/pages/04_product-service/MainPage.vue index c906ecdf..ec607102 100644 --- a/src/pages/04_product-service/MainPage.vue +++ b/src/pages/04_product-service/MainPage.vue @@ -95,7 +95,7 @@ const { } = productServiceStore; const { workNameItems } = storeToRefs(productServiceStore); - +const readOnlybranchOption = ref(false); const allStat = ref<{ mode: string; count: number }[]>([]); const stat = ref< { @@ -847,6 +847,7 @@ function undoProductGroup() { registeredBranchId: previousValue.value.registeredBranchId, }; isEdit.value = false; + readOnlybranchOption.value = false; flowStore.rotate(); } @@ -863,6 +864,22 @@ async function assignFormDataGroup(data: ProductGroup) { code: data.code, registeredBranchId: data.registeredBranchId, }; + + const tempValue = branchOption.value.find( + (v) => v.id === data.registeredBranchId, + ); + + if (tempValue !== undefined) { + readOnlybranchOption.value = false; + } else { + readOnlybranchOption.value = true; + branchOption.value = [ + { + id: data.registeredBranch.id, + name: data.registeredBranch.name, + }, + ]; + } } const prevService = ref({ @@ -3175,10 +3192,12 @@ watch( style="overflow-y: auto" > +