refacto: specify simulation to prepare the heijunka simulation

This commit is contained in:
Julien Calixte
2026-01-02 12:59:56 +01:00
parent 3eae420994
commit 09f0312cc9
6 changed files with 196 additions and 192 deletions

View File

@@ -0,0 +1,64 @@
<script setup lang="ts">
import type { Strategy } from '@/modules/pull-system/lean/strategy'
import { usePullSystemSimulationStore } from '@/modules/pull-system/simulation/pull-system-simulation-store'
defineProps<{
type: 'single' | 'multiple'
}>()
const simulationStore = usePullSystemSimulationStore()
const NUMBER_OF_SIMULATION = 500
// [dps]
// const strategies: Strategy[] = ['push', 'pull', 'push-dps', 'pull-dps']
const strategies: Strategy[] = ['push', 'pull']
const simulateEverything = () => {
strategies.forEach((strategy) =>
simulationStore.multiSimulation(NUMBER_OF_SIMULATION, strategy)
)
}
</script>
<template>
<div class="simulation-controls">
<div class="row" v-if="type === 'single'">
<button
class="button button-outline"
@click="simulationStore.multiSimulation(1, 'push')"
>
simulate push system
</button>
<button
class="button button-outline"
@click="simulationStore.multiSimulation(1, 'pull')"
>
simulate pull system
</button>
<!-- [dps]
<button
class="button button-outline"
@click="simulationStore.multiSimulation(1, 'push-dps')"
>
simulate push with problem solving
</button>
<button
class="button button-outline"
@click="simulationStore.multiSimulation(1, 'pull-dps')"
>
simulate pull with problem solving
</button> -->
</div>
<div class="row" v-else-if="type === 'multiple'">
<button class="button button-outline" @click="simulateEverything">
simulate {{ NUMBER_OF_SIMULATION }} simulations for each system
</button>
<button
class="button button-clear"
@click="simulationStore.clearDashboard()"
>
clear dashboard
</button>
</div>
</div>
</template>