fix: error and save branch
This commit is contained in:
parent
80ac35dce0
commit
3f298b73a2
1 changed files with 131 additions and 4 deletions
|
|
@ -1,4 +1,4 @@
|
||||||
import { ref, watch } from 'vue';
|
import { ref, toRaw, watch } from 'vue';
|
||||||
import { defineStore } from 'pinia';
|
import { defineStore } from 'pinia';
|
||||||
import { CustomerCreate } from 'src/stores/customer/types';
|
import { CustomerCreate } from 'src/stores/customer/types';
|
||||||
import { Employee, EmployeeCreate } from 'src/stores/employee/types';
|
import { Employee, EmployeeCreate } from 'src/stores/employee/types';
|
||||||
|
|
@ -115,9 +115,9 @@ export const useCustomerForm = defineStore('form-customer', () => {
|
||||||
branchNo: v.branchNo,
|
branchNo: v.branchNo,
|
||||||
address: v.address,
|
address: v.address,
|
||||||
addressEN: v.addressEN,
|
addressEN: v.addressEN,
|
||||||
provinceId: v.province.id,
|
provinceId: v.provinceId,
|
||||||
districtId: v.district.id,
|
districtId: v.districtId,
|
||||||
subDistrictId: v.subDistrict.id,
|
subDistrictId: v.subDistrictId,
|
||||||
zipCode: v.zipCode,
|
zipCode: v.zipCode,
|
||||||
email: v.email,
|
email: v.email,
|
||||||
telephoneNo: v.telephoneNo,
|
telephoneNo: v.telephoneNo,
|
||||||
|
|
@ -144,6 +144,8 @@ export const useCustomerForm = defineStore('form-customer', () => {
|
||||||
}
|
}
|
||||||
|
|
||||||
function addCurrentCustomerBranch() {
|
function addCurrentCustomerBranch() {
|
||||||
|
if (currentFormData.value.customerBranch?.some((v) => !v.id)) return;
|
||||||
|
|
||||||
currentFormData.value.customerBranch?.push({
|
currentFormData.value.customerBranch?.push({
|
||||||
id: '',
|
id: '',
|
||||||
code: '',
|
code: '',
|
||||||
|
|
@ -187,6 +189,131 @@ export const useCustomerForm = defineStore('form-customer', () => {
|
||||||
state.value.editCustomerId = _data.id;
|
state.value.editCustomerId = _data.id;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (state.value.saveMode === 'branch') {
|
||||||
|
const _form = currentFormData.value.customerBranch?.at(
|
||||||
|
state.value.branchIndex,
|
||||||
|
);
|
||||||
|
if (_form) {
|
||||||
|
if (_form.id) {
|
||||||
|
const _data = await customerStore.editBranchById(_form.id, {
|
||||||
|
..._form,
|
||||||
|
id: undefined,
|
||||||
|
});
|
||||||
|
if (
|
||||||
|
_data &&
|
||||||
|
currentFormData.value.customerBranch?.[state.value.branchIndex]
|
||||||
|
) {
|
||||||
|
currentFormData.value.customerBranch[state.value.branchIndex] = {
|
||||||
|
id: _data.id,
|
||||||
|
code: _data.code,
|
||||||
|
branchNo: _data.branchNo,
|
||||||
|
address: _data.address,
|
||||||
|
addressEN: _data.addressEN,
|
||||||
|
provinceId: _data.provinceId,
|
||||||
|
districtId: _data.districtId,
|
||||||
|
subDistrictId: _data.subDistrictId,
|
||||||
|
zipCode: _data.zipCode,
|
||||||
|
email: _data.email,
|
||||||
|
telephoneNo: _data.telephoneNo,
|
||||||
|
name: _data.name,
|
||||||
|
status: undefined,
|
||||||
|
taxNo: _data.taxNo,
|
||||||
|
nameEN: _data.nameEN,
|
||||||
|
legalPersonNo: _data.legalPersonNo,
|
||||||
|
registerName: _data.registerName,
|
||||||
|
registerDate: new Date(_data.registerDate),
|
||||||
|
authorizedCapital: _data.authorizedCapital,
|
||||||
|
employmentOffice: _data.employmentOffice,
|
||||||
|
bussinessType: _data.bussinessType,
|
||||||
|
bussinessTypeEN: _data.bussinessTypeEN,
|
||||||
|
jobPosition: _data.jobPosition,
|
||||||
|
jobPositionEN: _data.jobPositionEN,
|
||||||
|
jobDescription: _data.jobDescription,
|
||||||
|
saleEmployee: _data.saleEmployee,
|
||||||
|
payDate: new Date(_data.payDate),
|
||||||
|
wageRate: _data.wageRate,
|
||||||
|
};
|
||||||
|
if (resetFormData.customerBranch?.[state.value.branchIndex]) {
|
||||||
|
resetFormData.customerBranch[state.value.branchIndex] =
|
||||||
|
structuredClone(
|
||||||
|
toRaw(
|
||||||
|
currentFormData.value.customerBranch[
|
||||||
|
state.value.branchIndex
|
||||||
|
],
|
||||||
|
),
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
resetFormData.customerBranch?.push(
|
||||||
|
structuredClone(
|
||||||
|
toRaw(
|
||||||
|
currentFormData.value.customerBranch[
|
||||||
|
state.value.branchIndex
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!state.value.editCustomerId) {
|
||||||
|
throw new Error(
|
||||||
|
'Form mode is set to edit but no ID is provided. Make sure to set customer ID.',
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
const _data = await customerStore.createBranch({
|
||||||
|
..._form,
|
||||||
|
customerId: state.value.editCustomerId,
|
||||||
|
id: undefined,
|
||||||
|
});
|
||||||
|
|
||||||
|
if (
|
||||||
|
_data &&
|
||||||
|
currentFormData.value.customerBranch?.[state.value.branchIndex]
|
||||||
|
) {
|
||||||
|
currentFormData.value.customerBranch[state.value.branchIndex] = {
|
||||||
|
id: _data.id,
|
||||||
|
code: _data.code,
|
||||||
|
branchNo: _data.branchNo,
|
||||||
|
address: _data.address,
|
||||||
|
addressEN: _data.addressEN,
|
||||||
|
provinceId: _data.provinceId,
|
||||||
|
districtId: _data.districtId,
|
||||||
|
subDistrictId: _data.subDistrictId,
|
||||||
|
zipCode: _data.zipCode,
|
||||||
|
email: _data.email,
|
||||||
|
telephoneNo: _data.telephoneNo,
|
||||||
|
name: _data.name,
|
||||||
|
status: undefined,
|
||||||
|
taxNo: _data.taxNo,
|
||||||
|
nameEN: _data.nameEN,
|
||||||
|
legalPersonNo: _data.legalPersonNo,
|
||||||
|
registerName: _data.registerName,
|
||||||
|
registerDate: new Date(_data.registerDate),
|
||||||
|
authorizedCapital: _data.authorizedCapital,
|
||||||
|
employmentOffice: _data.employmentOffice,
|
||||||
|
bussinessType: _data.bussinessType,
|
||||||
|
bussinessTypeEN: _data.bussinessTypeEN,
|
||||||
|
jobPosition: _data.jobPosition,
|
||||||
|
jobPositionEN: _data.jobPositionEN,
|
||||||
|
jobDescription: _data.jobDescription,
|
||||||
|
saleEmployee: _data.saleEmployee,
|
||||||
|
payDate: new Date(_data.payDate),
|
||||||
|
wageRate: _data.wageRate,
|
||||||
|
};
|
||||||
|
if (resetFormData.customerBranch?.[state.value.branchIndex]) {
|
||||||
|
resetFormData.customerBranch[state.value.branchIndex] =
|
||||||
|
structuredClone(
|
||||||
|
toRaw(
|
||||||
|
currentFormData.value.customerBranch[state.value.branchIndex],
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async function submitFormCustomer() {
|
async function submitFormCustomer() {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue