feat: แก้ไข ของ ProductGroup
This commit is contained in:
parent
6d25833fba
commit
85f82693ad
2 changed files with 38 additions and 7 deletions
|
|
@ -13,6 +13,7 @@ import useProductServiceStore from 'src/stores/product-service';
|
||||||
import {
|
import {
|
||||||
ProductGroup,
|
ProductGroup,
|
||||||
ProductGroupCreate,
|
ProductGroupCreate,
|
||||||
|
ProductGroupUpdate,
|
||||||
} from 'src/stores/product-service/types';
|
} from 'src/stores/product-service/types';
|
||||||
|
|
||||||
const productServiceStore = useProductServiceStore();
|
const productServiceStore = useProductServiceStore();
|
||||||
|
|
@ -21,6 +22,7 @@ const {
|
||||||
fetchStatsProductGroup,
|
fetchStatsProductGroup,
|
||||||
fetchListProductService,
|
fetchListProductService,
|
||||||
createProductService,
|
createProductService,
|
||||||
|
editProductService,
|
||||||
deleteProductService,
|
deleteProductService,
|
||||||
} = productServiceStore;
|
} = productServiceStore;
|
||||||
|
|
||||||
|
|
@ -71,6 +73,8 @@ const dialogTotalProduct = ref<boolean>(false);
|
||||||
const productMode = ref<'group' | 'type' | 'service' | 'product'>('group');
|
const productMode = ref<'group' | 'type' | 'service' | 'product'>('group');
|
||||||
const productGroup = ref<ProductGroup[]>();
|
const productGroup = ref<ProductGroup[]>();
|
||||||
|
|
||||||
|
const previousValue = ref();
|
||||||
|
|
||||||
const formData = ref<ProductGroupCreate>({
|
const formData = ref<ProductGroupCreate>({
|
||||||
remark: '',
|
remark: '',
|
||||||
detail: '',
|
detail: '',
|
||||||
|
|
@ -120,6 +124,29 @@ async function deleteProductById() {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function undoProductGroup() {
|
||||||
|
console.log('dasd');
|
||||||
|
|
||||||
|
formData.value = {
|
||||||
|
remark: previousValue.value.remark,
|
||||||
|
detail: previousValue.value.detail,
|
||||||
|
name: previousValue.value.name,
|
||||||
|
code: previousValue.value.code,
|
||||||
|
};
|
||||||
|
isEdit.value = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
function assignFormData(data: ProductGroup) {
|
||||||
|
previousValue.value = data;
|
||||||
|
|
||||||
|
formData.value = {
|
||||||
|
remark: data.remark,
|
||||||
|
detail: data.detail,
|
||||||
|
name: data.name,
|
||||||
|
code: data.code,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
function clearForm() {
|
function clearForm() {
|
||||||
formData.value = {
|
formData.value = {
|
||||||
remark: '',
|
remark: '',
|
||||||
|
|
@ -132,7 +159,11 @@ function clearForm() {
|
||||||
}
|
}
|
||||||
|
|
||||||
async function submitGroup() {
|
async function submitGroup() {
|
||||||
await createProductService(formData.value);
|
if (drawerInfo.value) {
|
||||||
|
await editProductService(currentId.value, formData.value);
|
||||||
|
} else {
|
||||||
|
await createProductService(formData.value);
|
||||||
|
}
|
||||||
|
|
||||||
await fetchListGroups();
|
await fetchListGroups();
|
||||||
clearForm();
|
clearForm();
|
||||||
|
|
@ -285,6 +316,7 @@ onMounted(async () => {
|
||||||
color="var(--pink-6)"
|
color="var(--pink-6)"
|
||||||
@view-detail="
|
@view-detail="
|
||||||
() => {
|
() => {
|
||||||
|
assignFormData(v);
|
||||||
currentId = v.id;
|
currentId = v.id;
|
||||||
drawerInfo = true;
|
drawerInfo = true;
|
||||||
}
|
}
|
||||||
|
|
@ -343,7 +375,7 @@ onMounted(async () => {
|
||||||
ref="formDialogRef"
|
ref="formDialogRef"
|
||||||
v-model:drawerOpen="drawerInfo"
|
v-model:drawerOpen="drawerInfo"
|
||||||
:title="'test'"
|
:title="'test'"
|
||||||
:undo="() => (isEdit = false)"
|
:undo="() => undoProductGroup()"
|
||||||
:isEdit="isEdit"
|
:isEdit="isEdit"
|
||||||
:editData="() => (isEdit = true)"
|
:editData="() => (isEdit = true)"
|
||||||
:submit="() => (isType ? submitType() : submitGroup())"
|
:submit="() => (isType ? submitType() : submitGroup())"
|
||||||
|
|
|
||||||
|
|
@ -74,12 +74,11 @@ const useProductServiceStore = defineStore('api-product-service', () => {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
async function editProductService(
|
async function editProductService(groupId: string, data: ProductGroupUpdate) {
|
||||||
groupId: string,
|
const { code, ...payload } = data;
|
||||||
opts: { data: ProductGroupUpdate },
|
|
||||||
) {
|
|
||||||
const res = await api.put<ProductGroupUpdate>(`/product-group/${groupId}`, {
|
const res = await api.put<ProductGroupUpdate>(`/product-group/${groupId}`, {
|
||||||
...opts.data,
|
...payload,
|
||||||
});
|
});
|
||||||
|
|
||||||
if (!res) return false;
|
if (!res) return false;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue