Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
995e7de2cc | ||
| 2408ccab67 | |||
| 82af4d4c1e |
67
.idea/workspace.xml
generated
67
.idea/workspace.xml
generated
@@ -4,13 +4,17 @@
|
||||
<option name="autoReloadType" value="SELECTIVE" />
|
||||
</component>
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="7c107abe-5995-4428-8429-b146aaca8386" name="Changes" comment="fix : on ne bloque plus le poids max d'une pesée">
|
||||
<change beforePath="$PROJECT_DIR$/.idea/dataSources.xml" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/.idea/db-forest-config.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/db-forest-config.xml" afterDir="false" />
|
||||
<list default="true" id="7c107abe-5995-4428-8429-b146aaca8386" name="Changes" comment="feat : ajout de bâtiment dans les fixtures et seed + organisation du menu">
|
||||
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/AGENTS.md" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/config/reference.php" beforeDir="false" afterPath="$PROJECT_DIR$/config/reference.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/Command/SeedCommand.php" beforeDir="false" afterPath="$PROJECT_DIR$/src/Command/SeedCommand.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/frontend/components/reception/reception-weight.vue" beforeDir="false" afterPath="$PROJECT_DIR$/frontend/components/reception/reception-weight.vue" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/frontend/components/shipment/shipment-loading.vue" beforeDir="false" afterPath="$PROJECT_DIR$/frontend/components/shipment/shipment-loading.vue" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/frontend/components/shipment/shipment-weight.vue" beforeDir="false" afterPath="$PROJECT_DIR$/frontend/components/shipment/shipment-weight.vue" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/frontend/composables/useWeighing.ts" beforeDir="false" afterPath="$PROJECT_DIR$/frontend/composables/useWeighing.ts" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/frontend/i18n/locales/fr.json" beforeDir="false" afterPath="$PROJECT_DIR$/frontend/i18n/locales/fr.json" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/frontend/layouts/default.vue" beforeDir="false" afterPath="$PROJECT_DIR$/frontend/layouts/default.vue" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/frontend/services/reception.ts" beforeDir="false" afterPath="$PROJECT_DIR$/frontend/services/reception.ts" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/frontend/services/shipment.ts" beforeDir="false" afterPath="$PROJECT_DIR$/frontend/services/shipment.ts" afterDir="false" />
|
||||
</list>
|
||||
<option name="SHOW_DIALOG" value="false" />
|
||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||
@@ -234,7 +238,7 @@
|
||||
"RunOnceActivity.git.unshallow": "true",
|
||||
"RunOnceActivity.typescript.service.memoryLimit.init": "true",
|
||||
"git-widget-placeholder": "develop",
|
||||
"last_opened_file_path": "/home/sroy/Documents/test/Ferme/frontend/components/commun",
|
||||
"last_opened_file_path": "//wsl.localhost/Ubuntu-24.04/home/m-tristan/workspace/Ferme",
|
||||
"node.js.detected.package.eslint": "true",
|
||||
"node.js.detected.package.tslint": "true",
|
||||
"node.js.selected.package.eslint": "(autodetect)",
|
||||
@@ -258,8 +262,8 @@
|
||||
}</component>
|
||||
<component name="RecentsManager">
|
||||
<key name="CopyFile.RECENT_KEYS">
|
||||
<recent name="$PROJECT_DIR$/frontend/components/commun" />
|
||||
<recent name="\\wsl.localhost\Ubuntu-24.04\home\m-tristan\workspace\Ferme" />
|
||||
<recent name="$PROJECT_DIR$/frontend/components/commun" />
|
||||
<recent name="\\wsl.localhost\Ubuntu-24.04\home\kevin\Stage\Ferme\frontend\pages\shipment" />
|
||||
<recent name="\\wsl.localhost\Ubuntu-24.04\home\kevin\Stage\Ferme\frontend\composables" />
|
||||
<recent name="\\wsl.localhost\Ubuntu-24.04\home\kevin\Stage\Ferme\frontend\components\shipment" />
|
||||
@@ -323,23 +327,9 @@
|
||||
<workItem from="1773050154207" duration="1879000" />
|
||||
<workItem from="1773212999001" duration="652000" />
|
||||
<workItem from="1773215356754" duration="5754000" />
|
||||
<workItem from="1773756072697" duration="3129000" />
|
||||
</task>
|
||||
<task id="LOCAL-00021" summary="ci : ajout du script et de la doc déploiement">
|
||||
<option name="closed" value="true" />
|
||||
<created>1769026716634</created>
|
||||
<option name="number" value="00021" />
|
||||
<option name="presentableId" value="LOCAL-00021" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1769026716634</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00022" summary="fix : correction du path URI pour la création d'un poids dans une réception">
|
||||
<option name="closed" value="true" />
|
||||
<created>1769073690382</created>
|
||||
<option name="number" value="00022" />
|
||||
<option name="presentableId" value="LOCAL-00022" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1769073690382</updated>
|
||||
<workItem from="1773756072697" duration="5450000" />
|
||||
<workItem from="1773766075191" duration="6202000" />
|
||||
<workItem from="1773824491213" duration="1794000" />
|
||||
</task>
|
||||
<task id="LOCAL-00023" summary="feat : Ajout du bundle Monolog pour la gestion des logs">
|
||||
<option name="closed" value="true" />
|
||||
@@ -717,7 +707,23 @@
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1772447581744</updated>
|
||||
</task>
|
||||
<option name="localTasksCounter" value="70" />
|
||||
<task id="LOCAL-00070" summary="feat : ajout de supplier dans la feed et fixtures">
|
||||
<option name="closed" value="true" />
|
||||
<created>1773761787472</created>
|
||||
<option name="number" value="00070" />
|
||||
<option name="presentableId" value="LOCAL-00070" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1773761787472</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00071" summary="feat : ajout de bâtiment dans les fixtures et seed + organisation du menu">
|
||||
<option name="closed" value="true" />
|
||||
<created>1773766207721</created>
|
||||
<option name="number" value="00071" />
|
||||
<option name="presentableId" value="LOCAL-00071" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1773766207721</updated>
|
||||
</task>
|
||||
<option name="localTasksCounter" value="72" />
|
||||
<servers />
|
||||
</component>
|
||||
<component name="TypeScriptGeneratedFilesManager">
|
||||
@@ -767,8 +773,6 @@
|
||||
</option>
|
||||
</component>
|
||||
<component name="VcsManagerConfiguration">
|
||||
<MESSAGE value="feat : mise en place de composant UI pour les select, checkbox, date, text" />
|
||||
<MESSAGE value="feat : update CHANGELOG.md" />
|
||||
<MESSAGE value="feat : ajout de commentaire" />
|
||||
<MESSAGE value="fix : correction de l'affichage de l'immatriculation sur une réception en cours + correction css étape 3 d'une réception" />
|
||||
<MESSAGE value="feat : ajout de colonne pour les Supplier, Address et modification du numéro de réception" />
|
||||
@@ -792,7 +796,9 @@
|
||||
<MESSAGE value="fix : text" />
|
||||
<MESSAGE value="feat : front page admin bovin et changelog" />
|
||||
<MESSAGE value="fix : on ne bloque plus le poids max d'une pesée" />
|
||||
<option name="LAST_COMMIT_MESSAGE" value="fix : on ne bloque plus le poids max d'une pesée" />
|
||||
<MESSAGE value="feat : ajout de supplier dans la feed et fixtures" />
|
||||
<MESSAGE value="feat : ajout de bâtiment dans les fixtures et seed + organisation du menu" />
|
||||
<option name="LAST_COMMIT_MESSAGE" value="feat : ajout de bâtiment dans les fixtures et seed + organisation du menu" />
|
||||
</component>
|
||||
<component name="XDebuggerManager">
|
||||
<breakpoint-manager>
|
||||
@@ -811,11 +817,6 @@
|
||||
<url>file://$PROJECT_DIR$/frontend/services/dto/shipment-data.ts</url>
|
||||
<option name="timeStamp" value="43" />
|
||||
</line-breakpoint>
|
||||
<line-breakpoint enabled="true" type="javascript">
|
||||
<url>file://$PROJECT_DIR$/frontend/layouts/default.vue</url>
|
||||
<line>72</line>
|
||||
<option name="timeStamp" value="48" />
|
||||
</line-breakpoint>
|
||||
</breakpoints>
|
||||
</breakpoint-manager>
|
||||
</component>
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
parameters:
|
||||
app.version: '0.0.69'
|
||||
app.version: '0.0.70'
|
||||
|
||||
@@ -5,11 +5,11 @@
|
||||
<!--@TODO Voir comment faire pour savoir si le pont-bascule et bien connecté + ajouter un icon comme sur la maquette-->
|
||||
<p class="text-primary-500 uppercase text-2xl text-primary-500 mt-2">Pont-bascule connecté</p>
|
||||
<div
|
||||
v-if="showLoadingBox"
|
||||
v-if="!displayWeight"
|
||||
class="w-full flex flex-col items-center justify-center border border-black h-[90px] mt-12 mb-[86px]">
|
||||
<UiLoadingDots />
|
||||
</div>
|
||||
<div v-else-if="displayWeight !== null" class="w-full">
|
||||
<div v-else class="w-full">
|
||||
<div
|
||||
class="w-full flex flex-col items-center justify-center border border-black h-[90px] mt-12 mb-[25px] text-4xl text-primary-500">
|
||||
{{ displayWeight }} kg
|
||||
@@ -36,7 +36,7 @@
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import {computed, onMounted} from 'vue'
|
||||
import {computed} from 'vue'
|
||||
import { storeToRefs } from 'pinia'
|
||||
import { useWeighing } from '~/composables/useWeighing'
|
||||
import { usePdfPrinter } from '~/composables/usePdfPrinter'
|
||||
@@ -92,10 +92,4 @@ const printReceipt = async () => {
|
||||
await router.push('/')
|
||||
}
|
||||
|
||||
// Récupère le poids dès l'arrivée sur l'écran
|
||||
onMounted(() => {
|
||||
if (displayWeight.value === null) {
|
||||
fetchWeight()
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<div class="flex flex-col items-center gap-[118px]">
|
||||
<div class="flex flex-col items-center gap-[150px]">
|
||||
<h1 class="font-bold text-5xl uppercase text-primary-500">Chargement des bovins</h1>
|
||||
<div
|
||||
class="w-full flex flex-col items-center justify-center">
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
<!--@TODO Voir comment faire pour savoir si le pont-bascule et bien connecté + ajouter un icon comme sur la maquette-->
|
||||
<p class="text-primary-500 uppercase text-2xl mt-2">Pont-bascule connecté</p>
|
||||
<div
|
||||
v-if="showLoadingBox"
|
||||
v-if="!displayWeight"
|
||||
class="w-full flex flex-col items-center justify-center border border-black h-[90px] mt-12 mb-[86px]">
|
||||
<UiLoadingDots />
|
||||
</div>
|
||||
<div v-else-if="displayWeight !== null" class="w-full">
|
||||
<div v-else class="w-full">
|
||||
<div
|
||||
class="w-full flex flex-col items-center justify-center border border-primary-500 h-[90px] mt-12 mb-[25px] text-4xl text-primary-500">
|
||||
class="w-full flex flex-col items-center justify-center border border-primary-500 h-[90px] mt-12 mb-[86px] text-4xl text-primary-500">
|
||||
{{ displayWeight }} kg
|
||||
</div>
|
||||
</div>
|
||||
@@ -36,7 +36,7 @@
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { computed, onMounted } from 'vue'
|
||||
import { computed } from 'vue'
|
||||
import { storeToRefs } from 'pinia'
|
||||
import { useWeighingShipment } from '~/composables/useWeighing'
|
||||
import { usePdfPrinter } from '~/composables/usePdfPrinter'
|
||||
@@ -92,10 +92,4 @@ const printReceipt = async () => {
|
||||
await router.push('/')
|
||||
}
|
||||
|
||||
// Récupère le poids dès l'arrivée sur l'écran
|
||||
onMounted(() => {
|
||||
if (displayWeight.value === null) {
|
||||
fetchWeight()
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
@@ -27,9 +27,7 @@ export const useWeighing = ({
|
||||
const displayWeight = computed(() => weightData.value?.weight ?? currentWeightEntry.value?.weight ?? null)
|
||||
const displayDsd = computed(() => weightData.value?.dsd ?? currentWeightEntry.value?.dsd ?? '-')
|
||||
const title = computed(() => (mode === 'gross' ? 'Pesée à plein' : 'Pesée à vide'))
|
||||
const showLoadingBox = computed(
|
||||
() => isFetching.value || (displayWeight.value === null && currentWeightEntry.value === null)
|
||||
)
|
||||
const showLoadingBox = computed(() => isFetching.value)
|
||||
|
||||
const fetchWeight = async () => {
|
||||
isFetching.value = true
|
||||
@@ -111,9 +109,7 @@ export const useWeighingShipment = ({
|
||||
const displayWeight = computed(() => weightData.value?.weight ?? currentWeightEntry.value?.weight ?? null)
|
||||
const displayDsd = computed(() => weightData.value?.dsd ?? currentWeightEntry.value?.dsd ?? '-')
|
||||
const title = computed(() => (modeShipment === 'gross' ? 'Pesée à vide' : 'Pesée à plein'))
|
||||
const showLoadingBox = computed(
|
||||
() => isFetching.value || (displayWeight.value === null && currentWeightEntry.value === null)
|
||||
)
|
||||
const showLoadingBox = computed(() => isFetching.value)
|
||||
|
||||
const fetchWeight = async () => {
|
||||
isFetching.value = true
|
||||
|
||||
@@ -109,9 +109,11 @@
|
||||
},
|
||||
"success": {
|
||||
"reception": {
|
||||
"create": "Réception créée avec succès",
|
||||
"update": "Réception mise à jour avec succès."
|
||||
},
|
||||
"shipment": {
|
||||
"create": "Éxpedition créée avec succès",
|
||||
"update": "Éxpedition mise à jour avec succès."
|
||||
},
|
||||
"supplier": {
|
||||
|
||||
@@ -38,6 +38,23 @@
|
||||
</a>
|
||||
</NuxtLink>
|
||||
|
||||
<NuxtLink
|
||||
v-if="auth.isAdmin"
|
||||
to="/admin/user/list"
|
||||
custom
|
||||
v-slot="{ href, navigate }"
|
||||
>
|
||||
<a
|
||||
:href="href"
|
||||
@click="navigate"
|
||||
:class="route.path.startsWith('/admin/user')
|
||||
? 'opacity-100'
|
||||
: 'opacity-65 hover:opacity-100 transition'"
|
||||
>
|
||||
Utilisateurs
|
||||
</a>
|
||||
</NuxtLink>
|
||||
|
||||
<NuxtLink
|
||||
v-if="auth.isAdmin"
|
||||
to="/admin/supplier/supplier-list"
|
||||
@@ -72,23 +89,6 @@
|
||||
</a>
|
||||
</NuxtLink>
|
||||
|
||||
<NuxtLink
|
||||
v-if="auth.isAdmin"
|
||||
to="/admin/user/list"
|
||||
custom
|
||||
v-slot="{ href, navigate }"
|
||||
>
|
||||
<a
|
||||
:href="href"
|
||||
@click="navigate"
|
||||
:class="route.path.startsWith('/admin/user')
|
||||
? 'opacity-100'
|
||||
: 'opacity-65 hover:opacity-100 transition'"
|
||||
>
|
||||
Utilisateurs
|
||||
</a>
|
||||
</NuxtLink>
|
||||
|
||||
<NuxtLink
|
||||
v-if="auth.isAdmin"
|
||||
to="/admin/customer/customer-list"
|
||||
@@ -134,7 +134,8 @@
|
||||
class="inline-flex items-center py-2 -my-2 text-xl leading-none transition hover:opacity-80"
|
||||
aria-haspopup="true"
|
||||
>
|
||||
<span class="capitalize font-bold">{{ userDisplayName }}</span>
|
||||
<Icon name="mdi:account-circle-outline" class="self-center" size="36"/>
|
||||
<span class="capitalize font-bold ml-4">{{ userDisplayName }}</span>
|
||||
<span
|
||||
class="ml-[6px] inline-flex items-center font-bold transition-transform group-hover:rotate-180 group-focus-within:rotate-180">
|
||||
<Icon name="mdi:chevron-down" size="20"/>
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
<select
|
||||
id="user-select"
|
||||
v-model="selectedUsername"
|
||||
autocomplete="username"
|
||||
class="mt-2 w-full rounded-md border border-neutral-300 bg-white px-3 py-2 text-base text-neutral-900 focus:border-primary-500 focus:outline-none focus:ring-2 focus:ring-primary-200"
|
||||
:disabled="isLoadingUsers"
|
||||
>
|
||||
|
||||
@@ -21,6 +21,7 @@ export async function getReception(id: number) {
|
||||
export async function createReception(payload: ReceptionPayload = {}) {
|
||||
const api = useApi()
|
||||
return api.post<ReceptionData>('receptions', payload, {
|
||||
toastSuccessKey: 'success.reception.create',
|
||||
toastErrorKey: 'errors.reception.create'
|
||||
})
|
||||
}
|
||||
|
||||
@@ -18,8 +18,10 @@ export async function getShipment(id: number) {
|
||||
}
|
||||
|
||||
export async function createShipment(payload: ShipmentPayload = {}) {
|
||||
console.log('test')
|
||||
const api = useApi()
|
||||
return api.post<ShipmentData>('shipments', payload, {
|
||||
toastSuccessKey: 'success.shipment.create',
|
||||
toastErrorKey: 'errors.shipment.create'
|
||||
})
|
||||
}
|
||||
|
||||
@@ -216,6 +216,7 @@ class SeedCommand extends Command
|
||||
['label' => 'Bâtiment 1', 'code' => 'B1'],
|
||||
['label' => 'Bâtiment 2', 'code' => 'B2'],
|
||||
['label' => 'Bâtiment 3', 'code' => 'B3'],
|
||||
['label' => 'Zone tampon', 'code' => 'ZT'],
|
||||
];
|
||||
foreach ($buildings as $buildingData) {
|
||||
$this->upsertByCode(Building::class, $buildingData['code'], static function (Building $entity) use ($buildingData) {
|
||||
|
||||
@@ -54,6 +54,7 @@ class ReferenceFixtures extends Fixture
|
||||
['label' => 'Bâtiment 1', 'code' => 'B1'],
|
||||
['label' => 'Bâtiment 2', 'code' => 'B2'],
|
||||
['label' => 'Bâtiment 3', 'code' => 'B3'],
|
||||
['label' => 'Zone tampon', 'code' => 'ZT'],
|
||||
];
|
||||
foreach ($buildings as $buildingData) {
|
||||
$building = new Building()
|
||||
|
||||
Reference in New Issue
Block a user