diff --git a/.env.development b/.env.development
index 3b3dc67..649a7f6 100644
--- a/.env.development
+++ b/.env.development
@@ -2,7 +2,7 @@ NODE_ENV=development
VITE_API_URL=https://joyworkdev.ru
VITE_LARAVEL_URL=https://llar.joyworkdev.ru
VITE_LARAVEL_API_URL=https://joyworkdev.ru
-VITE_DEV_SESSION_ID=e74fad113507355529accbf75227afb8
+VITE_DEV_SESSION_ID=e140a9d56a24f47046b9ab0953e5a9ee
VITE_DEV_REQUISITION_ID=17539
#VITE_BASIC_AUTH_USER=adminlogin
#VITE_BASIC_AUTH_PASS=adminpassword
\ No newline at end of file
diff --git a/src/components/deals/addEdit/DocAddModal.vue b/src/components/deals/addEdit/DocAddModal.vue
index 681edd7..f7bdf0a 100644
--- a/src/components/deals/addEdit/DocAddModal.vue
+++ b/src/components/deals/addEdit/DocAddModal.vue
@@ -88,6 +88,7 @@ const saveDealDoc = async () => {
} catch (error) {
console.error('Ошибка при загрузке документа:', error);
alert('Произошла ошибка при загрузке документа');
+ console.log('FormData entries:', [...formData.entries()]);
}
// try {
diff --git a/src/components/deals/addEdit/DocsCard.vue b/src/components/deals/addEdit/DocsCard.vue
index 2082254..ecdf734 100644
--- a/src/components/deals/addEdit/DocsCard.vue
+++ b/src/components/deals/addEdit/DocsCard.vue
@@ -5,7 +5,7 @@
@@ -34,6 +34,8 @@ import { useConfirm } from 'primevue/useconfirm';
import { useToast } from 'primevue/usetoast';
import { computed } from "vue";
+import defaultIconUrl from '@/shared/assets/images/deal/deal-doc-icon.png';
+
const props = defineProps({
doc: {
type: Object,
diff --git a/src/services/laravelApiService.js b/src/services/laravelApiService.js
index b6ce389..e3dc9ea 100644
--- a/src/services/laravelApiService.js
+++ b/src/services/laravelApiService.js
@@ -1,4 +1,5 @@
import { laravel_api_instance, get_user_id } from '@/shared/api';
+import axios from 'axios';
// Функция для получения куки по имени
const getCookie = (name) => {
@@ -16,7 +17,6 @@ const fetchData = (endpoint, options = {}) => {
const { method = 'GET', data, params = {}, headers = {} } = options;
// Получаем PHPSESSID
- //const sessionId = getCookie('PHPSESSID');
const isDev = import.meta.env.MODE === 'development';
const sessionId = isDev
@@ -24,14 +24,9 @@ const fetchData = (endpoint, options = {}) => {
: getCookie('PHPSESSID');
- //const sessionId = 'bfcf0cc168ec34cf8e26950cf1038dc2';
-
//const usernameDev = process.env.VUE_APP_BASIC_AUTH_USER;
//const passwordDev = process.env.VUE_APP_BASIC_AUTH_PASS;
//const authDev = btoa(`${usernameDev}:${passwordDev}`);
-
- // Проверяем окружение
- //const isDev = process.env.NODE_ENV === 'development';
//let authHeaders = {};
//Добавляем Basic Auth только в dev
@@ -45,24 +40,53 @@ const fetchData = (endpoint, options = {}) => {
// }
// }
- // Извлекаем путь из endpoint: например "/clients"
+ // Извлекаем путь из endpoint
const path = endpoint.replace(/^\//, '');
- const isFormData = data instanceof FormData;
- const finalHeaders = { ...headers };
+ console.log('[laravelApiService] fetchData вызван с endpoint:', endpoint);
+ console.log('[laravelApiService] Тип data:', data && data.constructor.name);
+ console.log('[laravelApiService] data instanceof FormData:', data instanceof FormData);
+ const isFormData = data instanceof FormData;
if (isFormData) {
- delete finalHeaders['Content-Type'];
+ console.log('[laravelApiService] Используем directAxiosInstance для FormData');
+
+ const laravelApiUrl = 'http://llar.joyworkdev.ru/api';
+
+ // временный инстанс axios без Content-Type
+ const directAxiosInstance = axios.create({
+ baseURL: laravelApiUrl,
+ withCredentials: laravel_api_instance.defaults.withCredentials,
+ });
+
+ const finalHeaders = { ...headers };
+ if (sessionId) {
+ finalHeaders['X-Session-ID'] = sessionId;
+ }
+
+ logMessage("Sending FormData directly to Laravel API: " + laravelApiUrl + endpoint);
+ return directAxiosInstance({
+ url: endpoint,
+ method,
+ data,
+ headers: finalHeaders,
+ params,
+ });
+ }
+
+ console.log('[laravelApiService] Используем laravel_api_instance через deal/index.php');
+
+ const finalHeaders = { ...headers };
+ if (sessionId) {
+ finalHeaders['X-Session-ID'] = sessionId;
}
return laravel_api_instance({
- //url: isDev ? '/deal/index.php' : endpoint,
url: '/deal/index.php',
method,
data,
headers: finalHeaders,
params: {
- //user_id: get_user_id(),
path,
...params,
},
@@ -70,6 +94,10 @@ const fetchData = (endpoint, options = {}) => {
});
};
+function logMessage(message) {
+ console.log('[laravelApiService]', message);
+}
+
export default {
fetchData,
};
\ No newline at end of file
diff --git a/src/shared/api/deals.js b/src/shared/api/deals.js
index 31f0251..8517969 100644
--- a/src/shared/api/deals.js
+++ b/src/shared/api/deals.js
@@ -27,12 +27,14 @@ export const dealsApi = {
* @returns {Promise} - Ответ сервера
*/
uploadDocument(formData) {
+ console.log('[dealsApi] uploadDocument вызван с FormData:', formData);
+
return laravelApi.fetchData('/documents', {
method: 'POST',
data: formData,
- headers: {
- 'Content-Type': 'multipart/form-data', // Важно для FormData!
- },
+ // headers: {
+ // 'Content-Type': 'multipart/form-data', // Важно для FormData!
+ // },
});
},