Răsfoiți Sursa

fix: corrige envio de imagem

ebagabee 2 săptămâni în urmă
părinte
comite
0a1f5b500e
2 a modificat fișierele cu 20 adăugiri și 11 ștergeri
  1. 8 2
      src/api/user.js
  2. 12 9
      src/pages/users/UserActionPage.vue

+ 8 - 2
src/api/user.js

@@ -22,8 +22,14 @@ export const createUser = async (formData) => {
   return data.payload;
 };
 
-export const updateUser = async (user, id) => {
-  const { data } = await api.put(`/user/${id}`, user);
+export const updateUser = async (payload, id) => {
+  if (payload instanceof FormData) {
+    const { data } = await api.post(`/user/${id}`, payload, {
+      headers: { "Content-Type": "multipart/form-data" },
+    });
+    return data.payload;
+  }
+  const { data } = await api.put(`/user/${id}`, payload);
   return data.payload;
 };
 

+ 12 - 9
src/pages/users/UserActionPage.vue

@@ -229,17 +229,20 @@ function buildFormData() {
 }
 
 function buildUpdateData() {
-  const data = {};
+  const fd = new FormData();
+  fd.append("_method", "PUT");
 
-  if (form.value.name) data.name = form.value.name;
-  if (form.value.email) data.email = form.value.email;
-  if (form.value.cpf) data.cpf = form.value.cpf;
-  if (form.value.user_type?.value) data.user_type = form.value.user_type.value;
-  if (form.value.state?.value) data.state_id = form.value.state.value;
-  if (form.value.unit?.value) data.unit_id = form.value.unit.value;
-  if (form.value.password) data.password = form.value.password;
+  if (avatarFile.value) fd.append("avatar", avatarFile.value);
+  if (form.value.state?.value) fd.append("state_id", form.value.state.value);
+  if (form.value.unit?.value) fd.append("unit_id", form.value.unit.value);
+  if (form.value.user_type?.value)
+    fd.append("user_type", form.value.user_type.value);
+  if (form.value.cpf) fd.append("cpf", form.value.cpf);
+  if (form.value.name) fd.append("name", form.value.name);
+  if (form.value.email) fd.append("email", form.value.email);
+  if (form.value.password) fd.append("password", form.value.password);
 
-  return data;
+  return fd;
 }
 
 async function onSave() {