refactor: img dialog => remove img function
This commit is contained in:
parent
42bb43f618
commit
7ab9f69ef8
6 changed files with 82 additions and 78 deletions
|
|
@ -61,6 +61,7 @@ const inputFile = (() => {
|
||||||
})();
|
})();
|
||||||
|
|
||||||
const selectedImg = ref('');
|
const selectedImg = ref('');
|
||||||
|
const currentImag = ref('');
|
||||||
const tempImage = ref<string | null>('');
|
const tempImage = ref<string | null>('');
|
||||||
|
|
||||||
reader.addEventListener('load', () => {
|
reader.addEventListener('load', () => {
|
||||||
|
|
@ -130,20 +131,17 @@ function selectImg(name: string) {
|
||||||
|
|
||||||
function closeCheckToDefault() {
|
function closeCheckToDefault() {
|
||||||
let imgNameList: string[];
|
let imgNameList: string[];
|
||||||
let currentSelected: string;
|
|
||||||
let inList: boolean;
|
let inList: boolean;
|
||||||
|
|
||||||
if (props.onCreate) {
|
if (props.onCreate) {
|
||||||
imgNameList = onCreateData.value.list.map((v) => v.url || '');
|
imgNameList = onCreateData.value.list.map((v) => v.url || '');
|
||||||
currentSelected = imageUrl.value;
|
|
||||||
} else {
|
} else {
|
||||||
imgNameList = dataList.value.list.map((v) => v.split('/').pop() || '');
|
imgNameList = dataList.value.list.map((v) => v.split('/').pop() || '');
|
||||||
currentSelected = dataList.value.selectedImage;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
inList = imgNameList.includes(currentSelected);
|
inList = imgNameList.includes(currentImag.value);
|
||||||
|
|
||||||
if (!inList && currentSelected !== '') {
|
if (!inList && currentImag.value !== '') {
|
||||||
selectImg('');
|
selectImg('');
|
||||||
emit('submit', selectedImg.value);
|
emit('submit', selectedImg.value);
|
||||||
}
|
}
|
||||||
|
|
@ -159,6 +157,7 @@ watch(
|
||||||
} else {
|
} else {
|
||||||
tempImage.value = `${imageUrl.value}?ts=${Date.now()}`;
|
tempImage.value = `${imageUrl.value}?ts=${Date.now()}`;
|
||||||
selectedImg.value = dataList.value.selectedImage;
|
selectedImg.value = dataList.value.selectedImage;
|
||||||
|
currentImag.value = dataList.value.selectedImage;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
tempImage.value = '';
|
tempImage.value = '';
|
||||||
|
|
@ -185,7 +184,7 @@ watch(
|
||||||
<div style="width: 38.61px" />
|
<div style="width: 38.61px" />
|
||||||
<div style="flex: 1"><slot name="title" /></div>
|
<div style="flex: 1"><slot name="title" /></div>
|
||||||
<div>
|
<div>
|
||||||
<CancelButton v-close-popup icon-only @click="closeCheckToDefault" />
|
<CancelButton icon-only v-close-popup @click="closeCheckToDefault" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
@ -378,7 +377,7 @@ watch(
|
||||||
<SaveButton
|
<SaveButton
|
||||||
id="btn-save-img"
|
id="btn-save-img"
|
||||||
outlined
|
outlined
|
||||||
:disabled="dataList.selectedImage === selectedImg"
|
:disabled="currentImag === selectedImg"
|
||||||
:label="$t('general.apply')"
|
:label="$t('general.apply')"
|
||||||
@click="$emit('submit', selectedImg)"
|
@click="$emit('submit', selectedImg)"
|
||||||
/>
|
/>
|
||||||
|
|
|
||||||
|
|
@ -2355,7 +2355,7 @@ watch(currentHq, () => {
|
||||||
if (!currentId) return;
|
if (!currentId) return;
|
||||||
const name = v.split('/').pop() || '';
|
const name = v.split('/').pop() || '';
|
||||||
await branchStore.deleteImageByName(currentId, name);
|
await branchStore.deleteImageByName(currentId, name);
|
||||||
await fetchImageList(currentId, name);
|
await fetchImageList(currentId, formData.selectedImage || '');
|
||||||
}
|
}
|
||||||
"
|
"
|
||||||
@submit="
|
@submit="
|
||||||
|
|
|
||||||
|
|
@ -1972,10 +1972,9 @@ watch(
|
||||||
async (v) => {
|
async (v) => {
|
||||||
if (!v) return;
|
if (!v) return;
|
||||||
if (!currentUser) return;
|
if (!currentUser) return;
|
||||||
|
|
||||||
const name = v.split('/').pop() || '';
|
const name = v.split('/').pop() || '';
|
||||||
await userStore.deleteImageByName(currentUser?.id, name);
|
await userStore.deleteImageByName(currentUser?.id, name);
|
||||||
await fetchImageList(currentUser?.id, name);
|
await fetchImageList(currentUser?.id, currentUser.selectedImage || '');
|
||||||
}
|
}
|
||||||
"
|
"
|
||||||
@submit="
|
@submit="
|
||||||
|
|
|
||||||
|
|
@ -2739,7 +2739,7 @@ const emptyCreateDialog = ref(false);
|
||||||
);
|
);
|
||||||
await fetchImageList(
|
await fetchImageList(
|
||||||
customerFormState.editCustomerId,
|
customerFormState.editCustomerId,
|
||||||
name,
|
customerFormData.selectedImage || '',
|
||||||
'customer',
|
'customer',
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
@ -2844,7 +2844,11 @@ const emptyCreateDialog = ref(false);
|
||||||
if (!currentFromDataEmployee.id) return;
|
if (!currentFromDataEmployee.id) return;
|
||||||
const name = v.split('/').pop() || '';
|
const name = v.split('/').pop() || '';
|
||||||
await employeeStore.deleteImageByName(currentFromDataEmployee.id, name);
|
await employeeStore.deleteImageByName(currentFromDataEmployee.id, name);
|
||||||
await fetchImageList(currentFromDataEmployee.id, name, 'employee');
|
await fetchImageList(
|
||||||
|
currentFromDataEmployee.id,
|
||||||
|
currentFromDataEmployee.selectedImage || '',
|
||||||
|
'employee',
|
||||||
|
);
|
||||||
}
|
}
|
||||||
"
|
"
|
||||||
@submit="
|
@submit="
|
||||||
|
|
|
||||||
|
|
@ -4280,15 +4280,15 @@ watch(
|
||||||
@add-image="
|
@add-image="
|
||||||
async (v) => {
|
async (v) => {
|
||||||
if (!v) return;
|
if (!v) return;
|
||||||
if (!currentIdProduct) return;
|
if (!currentIdProduct && !currentIdService) return;
|
||||||
const res = await productServiceStore.addImageList(
|
const res = await productServiceStore.addImageList(
|
||||||
v,
|
v,
|
||||||
currentIdProduct,
|
dialogProductEdit ? currentIdProduct : currentIdService,
|
||||||
Date.now(),
|
Date.now(),
|
||||||
dialogProductEdit ? 'product' : 'service',
|
dialogProductEdit ? 'product' : 'service',
|
||||||
);
|
);
|
||||||
await fetchImageList(
|
await fetchImageList(
|
||||||
currentIdProduct,
|
dialogProductEdit ? currentIdProduct : currentIdService,
|
||||||
res,
|
res,
|
||||||
dialogProductEdit ? 'product' : 'service',
|
dialogProductEdit ? 'product' : 'service',
|
||||||
);
|
);
|
||||||
|
|
@ -4308,7 +4308,9 @@ watch(
|
||||||
);
|
);
|
||||||
await fetchImageList(
|
await fetchImageList(
|
||||||
dialogProductEdit ? currentIdProduct : currentIdService,
|
dialogProductEdit ? currentIdProduct : currentIdService,
|
||||||
name,
|
dialogProductEdit
|
||||||
|
? formDataProduct.selectedImage || ''
|
||||||
|
: formDataProductService.selectedImage || '',
|
||||||
type,
|
type,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -586,12 +586,12 @@ const useProductServiceStore = defineStore('api-product-service', () => {
|
||||||
|
|
||||||
async function addImageList(
|
async function addImageList(
|
||||||
file: File,
|
file: File,
|
||||||
userId: string,
|
id: string,
|
||||||
name: string,
|
name: string,
|
||||||
type: 'product' | 'service',
|
type: 'product' | 'service',
|
||||||
) {
|
) {
|
||||||
await api
|
await api
|
||||||
.put(`/${type}/${userId}/image/${name}`, file, {
|
.put(`/${type}/${id}/image/${name}`, file, {
|
||||||
headers: { 'Content-Type': file.type },
|
headers: { 'Content-Type': file.type },
|
||||||
onUploadProgress: (e) => console.log(e),
|
onUploadProgress: (e) => console.log(e),
|
||||||
})
|
})
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue