refactor: map tree
This commit is contained in:
parent
0a7ffb646f
commit
7a700b050a
1 changed files with 25 additions and 0 deletions
|
|
@ -2,6 +2,7 @@ import { ref, toRaw, watch } from 'vue';
|
||||||
import { defineStore } from 'pinia';
|
import { defineStore } from 'pinia';
|
||||||
import { CustomerBranchCreate, CustomerCreate } from 'stores/customer/types';
|
import { CustomerBranchCreate, CustomerCreate } from 'stores/customer/types';
|
||||||
import { Employee, EmployeeCreate } from 'stores/employee/types';
|
import { Employee, EmployeeCreate } from 'stores/employee/types';
|
||||||
|
import { useI18n } from 'vue-i18n';
|
||||||
|
|
||||||
import useMyBranch from 'stores/my-branch';
|
import useMyBranch from 'stores/my-branch';
|
||||||
import useCustomerStore from 'stores/customer';
|
import useCustomerStore from 'stores/customer';
|
||||||
|
|
@ -9,6 +10,7 @@ import useEmployeeStore from 'stores/employee';
|
||||||
import useFlowStore from 'stores/flow';
|
import useFlowStore from 'stores/flow';
|
||||||
|
|
||||||
export const useCustomerForm = defineStore('form-customer', () => {
|
export const useCustomerForm = defineStore('form-customer', () => {
|
||||||
|
const { t } = useI18n();
|
||||||
const apiBaseUrl = import.meta.env.VITE_API_BASE_URL;
|
const apiBaseUrl = import.meta.env.VITE_API_BASE_URL;
|
||||||
|
|
||||||
const customerStore = useCustomerStore();
|
const customerStore = useCustomerStore();
|
||||||
|
|
@ -46,6 +48,7 @@ export const useCustomerForm = defineStore('form-customer', () => {
|
||||||
editCustomerId?: string;
|
editCustomerId?: string;
|
||||||
editCustomerCode?: string;
|
editCustomerCode?: string;
|
||||||
editCustomerBranchId?: string;
|
editCustomerBranchId?: string;
|
||||||
|
treeFile: { lable: string; file: { lable: string }[] }[];
|
||||||
}>({
|
}>({
|
||||||
dialogType: 'info',
|
dialogType: 'info',
|
||||||
dialogOpen: false,
|
dialogOpen: false,
|
||||||
|
|
@ -59,6 +62,7 @@ export const useCustomerForm = defineStore('form-customer', () => {
|
||||||
editCustomerId: '',
|
editCustomerId: '',
|
||||||
editCustomerBranchId: '',
|
editCustomerBranchId: '',
|
||||||
defaultCustomerImageUrl: '',
|
defaultCustomerImageUrl: '',
|
||||||
|
treeFile: [],
|
||||||
});
|
});
|
||||||
|
|
||||||
watch(
|
watch(
|
||||||
|
|
@ -82,6 +86,8 @@ export const useCustomerForm = defineStore('form-customer', () => {
|
||||||
resetFormData = structuredClone(defaultFormData);
|
resetFormData = structuredClone(defaultFormData);
|
||||||
resetFormData.registeredBranchId = branchStore.currentMyBranch?.id || '';
|
resetFormData.registeredBranchId = branchStore.currentMyBranch?.id || '';
|
||||||
state.value.editCustomerId = '';
|
state.value.editCustomerId = '';
|
||||||
|
state.value.treeFile = [];
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -163,6 +169,25 @@ export const useCustomerForm = defineStore('form-customer', () => {
|
||||||
contactName: v.contactName || '',
|
contactName: v.contactName || '',
|
||||||
file: await customerStore.listAttachment(v.id).then(async (r) => {
|
file: await customerStore.listAttachment(v.id).then(async (r) => {
|
||||||
if (r) {
|
if (r) {
|
||||||
|
r.forEach((item) => {
|
||||||
|
const temp = item.split('-').at(0);
|
||||||
|
|
||||||
|
if (
|
||||||
|
!state.value.treeFile.some(
|
||||||
|
(x) => x.lable === t(`customer.typeFile.${temp || ''}`),
|
||||||
|
)
|
||||||
|
) {
|
||||||
|
state.value.treeFile.push({
|
||||||
|
lable: t(`customer.typeFile.${temp || ''}`),
|
||||||
|
file: r
|
||||||
|
.filter((x) => x.includes(temp || ''))
|
||||||
|
.map((x) => ({
|
||||||
|
lable: x,
|
||||||
|
})),
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
return await Promise.all(
|
return await Promise.all(
|
||||||
r.map(async (item) => ({
|
r.map(async (item) => ({
|
||||||
url: await customerStore.getAttachment(v.id, item),
|
url: await customerStore.getAttachment(v.id, item),
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue