Changes 0128092025

This commit is contained in:
Simon Pocrnjič
2025-09-28 11:05:00 +02:00
parent a913cfc381
commit 765beb78b7
15 changed files with 480 additions and 150 deletions
@@ -0,0 +1,46 @@
<script setup>
import AppLayout from '@/Layouts/AppLayout.vue';
import { Link } from '@inertiajs/vue3';
const props = defineProps({
settings: Array,
});
</script>
<template>
<AppLayout title="Field Job Settings">
<template #header></template>
<div class="pt-12">
<div class="max-w-7xl mx-auto sm:px-6 lg:px-8">
<div class="grid grid-cols-1 md:grid-cols-3 gap-6 mb-6">
<div class="bg-white overflow-hidden shadow-xl sm:rounded-lg p-6">
<h3 class="text-lg font-semibold mb-2">Segments</h3>
<p class="text-sm text-gray-600 mb-4">Manage segments used across the app.</p>
<Link :href="route('settings.segments')" class="inline-flex items-center px-4 py-2 bg-indigo-600 text-white rounded hover:bg-indigo-700">Open Segments</Link>
</div>
</div>
<div class="bg-white overflow-hidden shadow-xl sm:rounded-lg p-6">
<h2 class="text-xl font-semibold mb-4">Field Job Settings</h2>
<table class="min-w-full text-left text-sm">
<thead>
<tr class="border-b">
<th class="py-2 pr-4">ID</th>
<th class="py-2 pr-4">Segment</th>
<th class="py-2 pr-4">Assign Decision</th>
<th class="py-2 pr-4">Complete Decision</th>
</tr>
</thead>
<tbody>
<tr v-for="row in settings" :key="row.id" class="border-b last:border-0">
<td class="py-2 pr-4">{{ row.id }}</td>
<td class="py-2 pr-4">{{ row.segment?.name }}</td>
<td class="py-2 pr-4">{{ row.asign_decision?.name || row.asignDecision?.name }}</td>
<td class="py-2 pr-4">{{ row.complete_decision?.name || row.completeDecision?.name }}</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</AppLayout>
</template>
+19 -23
View File
@@ -1,34 +1,30 @@
<script setup>
import AppLayout from '@/Layouts/AppLayout.vue';
import { ref } from 'vue';
import { FwbTab, FwbTabs } from 'flowbite-vue'
import ActionTable from './Partials/ActionTable.vue';
import DecisionTable from './Partials/DecisionTable.vue';
const props = defineProps({
actions: Array,
decisions: Array,
segments: Array
});
const activeTab = ref('actions')
import { Link } from '@inertiajs/vue3';
</script>
<template>
<AppLayout title="Settings">
<template #header></template>
<div class="pt-12">
<div class="max-w-7xl mx-auto sm:px-6 lg:px-8">
<div class="bg-white overflow-hidden shadow-xl sm:rounded-lg">
<fwb-tabs v-model="activeTab" variant="underline" >
<fwb-tab name="actions" title="Actions">
<ActionTable :actions="actions" :decisions="decisions" :segments="segments" />
</fwb-tab>
<fwb-tab name="decisions" title="Decisions">
<DecisionTable :decisions="decisions" :actions="actions" />
</fwb-tab>
</fwb-tabs>
</div>
<div class="grid grid-cols-1 md:grid-cols-3 gap-6">
<div class="bg-white overflow-hidden shadow-xl sm:rounded-lg p-6">
<h3 class="text-lg font-semibold mb-2">Segments</h3>
<p class="text-sm text-gray-600 mb-4">Manage segments used across the app.</p>
<Link :href="route('settings.segments')" class="inline-flex items-center px-4 py-2 bg-indigo-600 text-white rounded hover:bg-indigo-700">Open Segments</Link>
</div>
<div class="bg-white overflow-hidden shadow-xl sm:rounded-lg p-6">
<h3 class="text-lg font-semibold mb-2">Workflow</h3>
<p class="text-sm text-gray-600 mb-4">Configure actions and decisions relationships.</p>
<Link :href="route('settings.workflow')" class="inline-flex items-center px-4 py-2 bg-indigo-600 text-white rounded hover:bg-indigo-700">Open Workflow</Link>
</div>
<div class="bg-white overflow-hidden shadow-xl sm:rounded-lg p-6">
<h3 class="text-lg font-semibold mb-2">Field Job Settings</h3>
<p class="text-sm text-gray-600 mb-4">Configure segment-based field job rules.</p>
<Link :href="route('settings.fieldjob.index')" class="inline-flex items-center px-4 py-2 bg-indigo-600 text-white rounded hover:bg-indigo-700">Open Field Job</Link>
</div>
</div>
</div>
</div>
</AppLayout>
@@ -0,0 +1,23 @@
<script setup>
import AppLayout from '@/Layouts/AppLayout.vue';
const props = defineProps({
segments: Array,
});
</script>
<template>
<AppLayout title="Segments">
<template #header></template>
<div class="pt-12">
<div class="max-w-7xl mx-auto sm:px-6 lg:px-8">
<div class="bg-white overflow-hidden shadow-xl sm:rounded-lg p-6">
<h2 class="text-xl font-semibold mb-4">Segments</h2>
<ul class="list-disc list-inside">
<li v-for="s in segments" :key="s.id">{{ s.name }}</li>
</ul>
</div>
</div>
</div>
</AppLayout>
</template>
@@ -0,0 +1,35 @@
<script setup>
import AppLayout from '@/Layouts/AppLayout.vue';
import { ref } from 'vue';
import { FwbTab, FwbTabs } from 'flowbite-vue'
import ActionTable from '../Partials/ActionTable.vue';
import DecisionTable from '../Partials/DecisionTable.vue';
const props = defineProps({
actions: Array,
decisions: Array,
segments: Array
});
const activeTab = ref('actions')
</script>
<template>
<AppLayout title="Workflow">
<template #header></template>
<div class="pt-12">
<div class="max-w-7xl mx-auto sm:px-6 lg:px-8">
<div class="bg-white overflow-hidden shadow-xl sm:rounded-lg">
<fwb-tabs v-model="activeTab" variant="underline" >
<fwb-tab name="actions" title="Actions">
<ActionTable :actions="actions" :decisions="decisions" :segments="segments" />
</fwb-tab>
<fwb-tab name="decisions" title="Decisions">
<DecisionTable :decisions="decisions" :actions="actions" />
</fwb-tab>
</fwb-tabs>
</div>
</div>
</div>
</AppLayout>
</template>