mirror of
https://github.com/Spythere/genera-tor.git
synced 2026-05-03 13:38:12 +00:00
Setup firebase; poprawki generatora
This commit is contained in:
@@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"projects": {
|
||||||
|
"default": "genera-tor"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
# This file was auto-generated by the Firebase CLI
|
||||||
|
# https://github.com/firebase/firebase-tools
|
||||||
|
|
||||||
|
name: Deploy to Firebase Hosting on merge
|
||||||
|
'on':
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
jobs:
|
||||||
|
build_and_deploy:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- run: npm ci && npm run build
|
||||||
|
- uses: FirebaseExtended/action-hosting-deploy@v0
|
||||||
|
with:
|
||||||
|
repoToken: '${{ secrets.GITHUB_TOKEN }}'
|
||||||
|
firebaseServiceAccount: '${{ secrets.FIREBASE_SERVICE_ACCOUNT_GENERA_TOR }}'
|
||||||
|
channelId: live
|
||||||
|
projectId: genera-tor
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
# This file was auto-generated by the Firebase CLI
|
||||||
|
# https://github.com/firebase/firebase-tools
|
||||||
|
|
||||||
|
name: Deploy to Firebase Hosting on PR
|
||||||
|
'on': pull_request
|
||||||
|
jobs:
|
||||||
|
build_and_preview:
|
||||||
|
if: '${{ github.event.pull_request.head.repo.full_name == github.repository }}'
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- run: npm ci && npm run build
|
||||||
|
- uses: FirebaseExtended/action-hosting-deploy@v0
|
||||||
|
with:
|
||||||
|
repoToken: '${{ secrets.GITHUB_TOKEN }}'
|
||||||
|
firebaseServiceAccount: '${{ secrets.FIREBASE_SERVICE_ACCOUNT_GENERA_TOR }}'
|
||||||
|
projectId: genera-tor
|
||||||
+1
-1
@@ -1,7 +1,7 @@
|
|||||||
.DS_Store
|
.DS_Store
|
||||||
node_modules
|
node_modules
|
||||||
/dist
|
/dist
|
||||||
|
.log
|
||||||
|
|
||||||
# local env files
|
# local env files
|
||||||
.env.local
|
.env.local
|
||||||
|
|||||||
@@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
"hosting": {
|
||||||
|
"public": "dist",
|
||||||
|
"ignore": [
|
||||||
|
"firebase.json",
|
||||||
|
"**/.*",
|
||||||
|
"**/node_modules/**"
|
||||||
|
],
|
||||||
|
"rewrites": [
|
||||||
|
{
|
||||||
|
"source": "**",
|
||||||
|
"destination": "/index.html"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
Generated
+2
-2
@@ -1,11 +1,11 @@
|
|||||||
{
|
{
|
||||||
"name": "genera-tor",
|
"name": "genera-tor",
|
||||||
"version": "0.1.0",
|
"version": "0.1.1",
|
||||||
"lockfileVersion": 2,
|
"lockfileVersion": 2,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"version": "0.1.0",
|
"version": "0.1.1",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"core-js": "^3.6.5",
|
"core-js": "^3.6.5",
|
||||||
"pinia": "^2.0.14",
|
"pinia": "^2.0.14",
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "genera-tor",
|
"name": "genera-tor",
|
||||||
"version": "0.1.0",
|
"version": "0.1.1",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"serve": "vue-cli-service serve",
|
"serve": "vue-cli-service serve",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="rozkaz">
|
<div class="rozkaz">
|
||||||
<OrderN v-if="orderType == 'N'" />
|
<OrderN @generate-message="generateMessage" v-if="orderType == 'N'" />
|
||||||
<OrderS v-if="orderType == 'S'" />
|
<OrderS v-if="orderType == 'S'" />
|
||||||
|
|
||||||
<section class="info">
|
<section class="info">
|
||||||
@@ -62,7 +62,7 @@ export default defineComponent({
|
|||||||
|
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
orderType: 'S',
|
orderType: 'N',
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -70,9 +70,16 @@ export default defineComponent({
|
|||||||
const store = useStore();
|
const store = useStore();
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
store,
|
||||||
info: store.orderInfo,
|
info: store.orderInfo,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|
||||||
|
methods: {
|
||||||
|
generateMessage(orderBody: string) {
|
||||||
|
this.store.orderMessage = orderBody;
|
||||||
|
},
|
||||||
|
},
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
+185
-19
@@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<section class="header">
|
<section class="header" ref="header">
|
||||||
<h2 class="flex-center">
|
<h2 class="flex-center">
|
||||||
Rozkaz pisemny "N" nr
|
Rozkaz pisemny "N" nr
|
||||||
<input type="text" v-model="order.header.orderNo" />
|
<input type="text" v-model="order.header.orderNo" />
|
||||||
@@ -15,7 +15,12 @@
|
|||||||
<table class="options-table">
|
<table class="options-table">
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
<td>1</td>
|
<td>
|
||||||
|
<label for="row-enabled-1">1</label>
|
||||||
|
<div>
|
||||||
|
<input type="checkbox" id="row-enabled-1" v-model="order.row1.enabled" />
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
<td>
|
<td>
|
||||||
Od <input type="text" v-model="order.row1.from" /> do <input type="text" v-model="order.row1.to" /> tor nr
|
Od <input type="text" v-model="order.row1.from" /> do <input type="text" v-model="order.row1.to" /> tor nr
|
||||||
<input type="text" v-model="order.row1.trackNo" /> jest zamknięty, ruch jednotorowy dwukierunkowy
|
<input type="text" v-model="order.row1.trackNo" /> jest zamknięty, ruch jednotorowy dwukierunkowy
|
||||||
@@ -24,12 +29,17 @@
|
|||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td>2</td>
|
<td>
|
||||||
|
<label for="row-enabled-2">2</label>
|
||||||
|
<div>
|
||||||
|
<input type="checkbox" id="row-enabled-2" v-model="order.row2.enabled" />
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<strong>ZEZWALAM</strong> po otrzymaniu
|
<strong>ZEZWALAM</strong> po otrzymaniu
|
||||||
<select id="select-2a" v-model="order.row2.option1">
|
<select id="select-2a" v-model="order.row2.option1">
|
||||||
<option value="signal">sygnału "Nakaz Jazdy"</option>
|
<option value='sygnału "Nakaz Jazdy"'>sygnału "Nakaz Jazdy"</option>
|
||||||
<option value="order">tylko tego rozkazu pisemnego</option>
|
<option value="tylko tego rozkazu pisemnego">tylko tego rozkazu pisemnego</option>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<div style="margin-top: 0.5rem">
|
<div style="margin-top: 0.5rem">
|
||||||
@@ -43,13 +53,49 @@
|
|||||||
/>
|
/>
|
||||||
|
|
||||||
<label for="checkbox-2a">
|
<label for="checkbox-2a">
|
||||||
przejechać obok wskazującego sygnał "Stój" semafora wyjazdowego <input type="text" /> i wyjechać w
|
przejechać obok wskazującego sygnał "Stój" semafora
|
||||||
kierunku <input type="text" /> na tor szlakowy
|
|
||||||
|
<div style="margin-left: 1rem">
|
||||||
|
<input
|
||||||
|
type="radio"
|
||||||
|
name="section-2a"
|
||||||
|
id="radio-2a-1"
|
||||||
|
value="wyjazdowego"
|
||||||
|
v-model="order.row2.signalType"
|
||||||
|
/>
|
||||||
|
<label for="radio-2a-1">wyjazdowego <input type="text" v-model="order.row2.signal1" /> </label>
|
||||||
|
<br />
|
||||||
|
<input
|
||||||
|
type="radio"
|
||||||
|
name="section-2a"
|
||||||
|
id="radio-2a-2"
|
||||||
|
value="drogowskazowego"
|
||||||
|
v-model="order.row2.signalType"
|
||||||
|
/>
|
||||||
|
<label for="radio-2a-2"
|
||||||
|
>drogowskazowego <input type="text" v-model="order.row2.signal2" /> (odnoszącego się do wyjazdu
|
||||||
|
pociągu)
|
||||||
|
</label>
|
||||||
|
<br />
|
||||||
|
<input
|
||||||
|
type="radio"
|
||||||
|
name="section-2a"
|
||||||
|
id="radio-2a-3"
|
||||||
|
value="wjazdowego"
|
||||||
|
v-model="order.row2.signalType"
|
||||||
|
/>
|
||||||
|
<label for="radio-2a-3"
|
||||||
|
>wjazdowego <input type="text" v-model="order.row2.signal3" /> na post. odg. bez sem.
|
||||||
|
wyjazdowego</label
|
||||||
|
>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
i wyjechać w kierunku <input type="text" v-model="order.row2.direction" /> na tor szlakowy
|
||||||
<select v-model="order.row2.option2">
|
<select v-model="order.row2.option2">
|
||||||
<option value="lewy">lewy</option>
|
<option value="lewy">lewy</option>
|
||||||
<option value="prawy">prawy</option>
|
<option value="prawy">prawy</option>
|
||||||
</select>
|
</select>
|
||||||
nr <input type="text" />
|
nr <input type="text" v-model="order.row2.trackNoTo1" />
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -64,24 +110,29 @@
|
|||||||
/>
|
/>
|
||||||
|
|
||||||
<label for="checkbox-2b">
|
<label for="checkbox-2b">
|
||||||
z toru nr <input type="text" /> nie posiadającego semafora wyjazdowego wyjechać w kierunku
|
z toru nr <input type="text" v-model="order.row2.trackNoFrom" /> nie posiadającego semafora wyjazdowego
|
||||||
<input type="text" /> na tor szlakowy
|
wyjechać w kierunku <input type="text" /> na tor szlakowy
|
||||||
<select v-model="order.row2.option3">
|
<select v-model="order.row2.option3">
|
||||||
<option value="lewy">lewy</option>
|
<option value="lewy">lewy</option>
|
||||||
<option value="prawy">prawy</option>
|
<option value="prawy">prawy</option>
|
||||||
</select>
|
</select>
|
||||||
nr <input type="text" />
|
nr <input type="text" v-model="order.row2.trackNoTo2" />
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td>3</td>
|
<td>
|
||||||
|
<label for="row-enabled-3">3</label>
|
||||||
|
<div>
|
||||||
|
<input type="checkbox" id="row-enabled-3" v-model="order.row3.enabled" />
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<select v-model="order.row3.option1">
|
<select v-model="order.row3.option1">
|
||||||
<option value="jazda">Jazda</option>
|
<option value="Jazda">Jazda</option>
|
||||||
<option value="popychanie">Popychanie</option>
|
<option value="Popychanie">Popychanie</option>
|
||||||
</select>
|
</select>
|
||||||
pociągu odbędzie się w kierunku: <input type="text" v-model="order.row3.direction" /> do km
|
pociągu odbędzie się w kierunku: <input type="text" v-model="order.row3.direction" /> do km
|
||||||
<input type="text" v-model="order.row3.toKilometer" /> skąd
|
<input type="text" v-model="order.row3.toKilometer" /> skąd
|
||||||
@@ -96,7 +147,12 @@
|
|||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td>4</td>
|
<td>
|
||||||
|
<label for="row-enabled-4">4</label>
|
||||||
|
<div>
|
||||||
|
<input type="checkbox" id="row-enabled-4" v-model="order.row4.enabled" />
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<strong>WJAZD</strong> z toru szlakowego nr <input type="text" v-model="order.row4.trackNo" /> na
|
<strong>WJAZD</strong> z toru szlakowego nr <input type="text" v-model="order.row4.trackNo" /> na
|
||||||
<select v-model="order.row4.optionStation">
|
<select v-model="order.row4.optionStation">
|
||||||
@@ -109,7 +165,7 @@
|
|||||||
<input type="radio" name="section-4" id="checkbox-4a" value="checkbox-4a" v-model="order.row4.checkbox" />
|
<input type="radio" name="section-4" id="checkbox-4a" value="checkbox-4a" v-model="order.row4.checkbox" />
|
||||||
<label for="checkbox-4a">
|
<label for="checkbox-4a">
|
||||||
sygnału zastępczego "Sz" na osobnym urządzeniu ustawionym z
|
sygnału zastępczego "Sz" na osobnym urządzeniu ustawionym z
|
||||||
<select>
|
<select v-model="order.row4.side">
|
||||||
<option value="lewej">lewej</option>
|
<option value="lewej">lewej</option>
|
||||||
<option value="prawej">prawej</option>
|
<option value="prawej">prawej</option>
|
||||||
</select>
|
</select>
|
||||||
@@ -127,14 +183,20 @@
|
|||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td>5</td>
|
<td>
|
||||||
|
<label for="row-enabled-5">5</label>
|
||||||
|
<div>
|
||||||
|
<input type="checkbox" id="row-enabled-5" v-model="order.row5.enabled" />
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<strong>ZEZWALAM</strong> wjechać z toru szlakowego nr <input type="text" v-model="order.row5.trackNo" /> z
|
<strong>ZEZWALAM</strong> wjechać z toru szlakowego nr <input type="text" v-model="order.row5.trackNo" /> z
|
||||||
kierunku <input type="text" v-model="order.row5.direction" /> na
|
kierunku <input type="text" v-model="order.row5.direction" /> na
|
||||||
<select v-model="order.row5.stationOption">
|
<select v-model="order.row5.stationType">
|
||||||
<option value="stację">stację</option>
|
<option value="stację">stację</option>
|
||||||
<option value="posterunek odgałęźny">posterunek odgałęźny</option>
|
<option value="posterunek odgałęźny">posterunek odgałęźny</option>
|
||||||
</select>
|
</select>
|
||||||
|
<input type="text" v-model="order.row5.stationName" />
|
||||||
i przejechać obok sygnału "Stój" na <input type="text" v-model="order.row5.on" />
|
i przejechać obok sygnału "Stój" na <input type="text" v-model="order.row5.on" />
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -145,15 +207,119 @@
|
|||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { useStore } from '@/store/store';
|
import { useStore } from '@/store/store';
|
||||||
import { defineComponent } from 'vue';
|
import { defineComponent, watch } from 'vue';
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
|
emits: ['generateMessage'],
|
||||||
|
|
||||||
setup() {
|
setup() {
|
||||||
const store = useStore();
|
const store = useStore();
|
||||||
|
|
||||||
return {
|
return {
|
||||||
order: store.orderN,
|
order: store.orderN,
|
||||||
|
message: store.orderMessage,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|
||||||
|
watch: {
|
||||||
|
order: {
|
||||||
|
deep: true,
|
||||||
|
handler() {
|
||||||
|
this.generateMessage();
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
methods: {
|
||||||
|
generateMessage() {
|
||||||
|
let message = this.generateHeaderMessage();
|
||||||
|
|
||||||
|
if (this.order.row1.enabled) message += this.generate1stRowMessage();
|
||||||
|
if (this.order.row2.enabled) message += this.generate2ndRowMessage();
|
||||||
|
if (this.order.row3.enabled) message += this.generate3rdRowMessage();
|
||||||
|
if (this.order.row4.enabled) message += this.generate4thRowMessage();
|
||||||
|
if (this.order.row5.enabled) message += this.generate5thRowMessage();
|
||||||
|
|
||||||
|
this.$emit('generateMessage', message);
|
||||||
|
// const row1Message = `Od ${header.} do tor nr jest zamknięty, ruch jednotorowy dwukierunkowy wprowadzono po torze nr `
|
||||||
|
},
|
||||||
|
|
||||||
|
generateHeaderMessage() {
|
||||||
|
const { header } = this.order;
|
||||||
|
|
||||||
|
const message = `<i>Rozkaz pisemny "N" nr ${header.orderNo || '_'} dla pociągu nr ${header.trainNo || '_'} dnia ${
|
||||||
|
header.date
|
||||||
|
} ${new Date().getUTCFullYear()}r.</i>`;
|
||||||
|
|
||||||
|
return message;
|
||||||
|
},
|
||||||
|
|
||||||
|
generate1stRowMessage() {
|
||||||
|
const { row1 } = this.order;
|
||||||
|
|
||||||
|
const message = ` <b> [ 1 ] </b> Od ${row1.from || '_'} do ${row1.to || '_'} tor nr ${
|
||||||
|
row1.trackNo || '_'
|
||||||
|
} jest zamknięty, ruch jednotorowy dwukierunkowy wprowadzono po torze nr ${row1.trackNo2 || '_'}`;
|
||||||
|
|
||||||
|
return message;
|
||||||
|
},
|
||||||
|
|
||||||
|
generate2ndRowMessage() {
|
||||||
|
const { row2 } = this.order;
|
||||||
|
|
||||||
|
let message = ` <b> [ 2 ] </b> <b>ZEZWALAM</b> po otrzymaniu ${row2.option1 || '_'}`;
|
||||||
|
|
||||||
|
if (row2.checkbox == 'checkbox-2a') {
|
||||||
|
message += ` przejechać obok wskazującego sygnał "Stój" semafora ${row2.signalType || '_'} `;
|
||||||
|
|
||||||
|
if (row2.signalType == 'wyjazdowego') message += row2.signal1;
|
||||||
|
if (row2.signalType == 'drogowskazowego')
|
||||||
|
message += `${row2.signal2 || '_'} (odnoszącego się do wyjazdu pociągu)`;
|
||||||
|
if (row2.signalType == 'wjazdowego') message += `${row2.signal3 || '_'} na post. odg. bez sem. wyjazdowego`;
|
||||||
|
|
||||||
|
message += ` i wyjechać w kierunku ${row2.direction || '_'} na tor szlakowy ${row2.option2 || '_'} nr ${
|
||||||
|
row2.trackNoTo1 || '_'
|
||||||
|
}`;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (row2.checkbox == 'checkbox-2b') {
|
||||||
|
message += ` z toru nr ${row2.trackNoFrom || '_'} nie posiadającego semafora wyjazdowego wyjechać w kierunku ${
|
||||||
|
row2.trackNoTo2 || '_'
|
||||||
|
} na tor szlakowy ${row2.option3 || '_'}`;
|
||||||
|
}
|
||||||
|
|
||||||
|
return message;
|
||||||
|
},
|
||||||
|
|
||||||
|
generate3rdRowMessage() {
|
||||||
|
const { row3 } = this.order;
|
||||||
|
|
||||||
|
let message = ` <b> [ 3 ] </b> ${row3.option1} pociągu odbędzie się w kierunku: ${row3.direction} do km ${row3.toKilometer} skąd ${row3.option2} ma wrócić po torze lewym nr ${row3.trackNo} najpóźniej o godz. ${row3.untilHour} min. ${row3.untilMin}`;
|
||||||
|
|
||||||
|
return message;
|
||||||
|
},
|
||||||
|
|
||||||
|
generate4thRowMessage() {
|
||||||
|
const { row4 } = this.order;
|
||||||
|
|
||||||
|
let message = ` <b> [ 4 ] </b> <b>WJAZD</b> z toru szlakowego nr ${row4.trackNo} na ${row4.optionStation} ${row4.stationName} odbędzie się po otrzymaniu: `;
|
||||||
|
|
||||||
|
if (row4.checkbox == 'checkbox-4a')
|
||||||
|
message += `sygnału zastępczego "Sz" na osobnym urządzeniu ustawionym z ${row4.side} strony toru`;
|
||||||
|
|
||||||
|
if (row4.checkbox == 'checkbox-4b')
|
||||||
|
message += 'rozkazu pisemnego "N" (doręczonego lub przekazanego przez urządzenia łączności)';
|
||||||
|
|
||||||
|
return message;
|
||||||
|
},
|
||||||
|
|
||||||
|
generate5thRowMessage() {
|
||||||
|
const { row5 } = this.order;
|
||||||
|
|
||||||
|
const message = ` <b> [ 5 ] </b> <b>ZEZWALAM</b> wjechać z toru szlakowego nr ${row5.trackNo} z kierunku ${row5.direction} na ${row5.stationType} ${row5.stationName} i przejechać obok sygnału "Stój" na ${row5.on} `;
|
||||||
|
|
||||||
|
return message;
|
||||||
|
},
|
||||||
|
},
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"orderN": {
|
||||||
|
"header": "Rozkaz pisemny \"N\" nr {0} dla pociągu nr {1} dnia {2} {3}r.",
|
||||||
|
"row1": "1. Od {0} do {1} tor nr {2} jest zamknięty, ruch jednotorowy dwukierunkowy wprowadzono po torze nr {3}",
|
||||||
|
"row2": "2. ZEZWALAM po otrzymaniu ${0}"
|
||||||
|
}
|
||||||
|
}
|
||||||
+20
-3
@@ -12,6 +12,8 @@ export const useStore = defineStore('store', {
|
|||||||
secondaryDispatcherName: '',
|
secondaryDispatcherName: '',
|
||||||
},
|
},
|
||||||
|
|
||||||
|
orderMessage: '',
|
||||||
|
|
||||||
orderN: {
|
orderN: {
|
||||||
header: {
|
header: {
|
||||||
orderNo: '',
|
orderNo: '',
|
||||||
@@ -20,6 +22,7 @@ export const useStore = defineStore('store', {
|
|||||||
},
|
},
|
||||||
|
|
||||||
row1: {
|
row1: {
|
||||||
|
enabled: false,
|
||||||
from: '',
|
from: '',
|
||||||
to: '',
|
to: '',
|
||||||
trackNo: '',
|
trackNo: '',
|
||||||
@@ -27,14 +30,24 @@ export const useStore = defineStore('store', {
|
|||||||
},
|
},
|
||||||
|
|
||||||
row2: {
|
row2: {
|
||||||
option1: 'signal',
|
enabled: false,
|
||||||
|
option1: 'sygnału "Nakaz Jazdy"',
|
||||||
option2: 'lewy',
|
option2: 'lewy',
|
||||||
option3: 'lewy',
|
option3: 'lewy',
|
||||||
|
signal1: '',
|
||||||
|
signal2: '',
|
||||||
|
signal3: '',
|
||||||
|
signalType: 'wyjazdowego',
|
||||||
checkbox: 'checkbox-2a',
|
checkbox: 'checkbox-2a',
|
||||||
|
direction: '',
|
||||||
|
trackNoFrom: '',
|
||||||
|
trackNoTo1: '',
|
||||||
|
trackNoTo2: '',
|
||||||
},
|
},
|
||||||
|
|
||||||
row3: {
|
row3: {
|
||||||
option1: 'jazda',
|
enabled: false,
|
||||||
|
option1: 'Jazda',
|
||||||
option2: 'pociąg',
|
option2: 'pociąg',
|
||||||
|
|
||||||
direction: '',
|
direction: '',
|
||||||
@@ -45,16 +58,20 @@ export const useStore = defineStore('store', {
|
|||||||
},
|
},
|
||||||
|
|
||||||
row4: {
|
row4: {
|
||||||
|
enabled: false,
|
||||||
trackNo: '',
|
trackNo: '',
|
||||||
optionStation: 'stację',
|
optionStation: 'stację',
|
||||||
stationName: '',
|
stationName: '',
|
||||||
checkbox: 'checkbox-4a',
|
checkbox: 'checkbox-4a',
|
||||||
|
side: 'lewej',
|
||||||
},
|
},
|
||||||
|
|
||||||
row5: {
|
row5: {
|
||||||
|
enabled: false,
|
||||||
trackNo: '',
|
trackNo: '',
|
||||||
direction: '',
|
direction: '',
|
||||||
stationOption: 'stację',
|
stationType: 'stację',
|
||||||
|
stationName: '',
|
||||||
on: '',
|
on: '',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|||||||
+39
-4
@@ -1,16 +1,34 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="home">
|
<div class="home">
|
||||||
<Order />
|
<Order />
|
||||||
|
|
||||||
|
<div class="generated-message">
|
||||||
|
Wygenerowana wiadomość:
|
||||||
|
<div v-html="store.orderMessage"></div>
|
||||||
|
</div>
|
||||||
|
<button @click="copyMessage">Kopiuj wiadomość rozkazu</button>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { defineComponent } from 'vue';
|
import { defineComponent } from 'vue';
|
||||||
import Order from "@/components/Order.vue";
|
import Order from '@/components/Order.vue';
|
||||||
|
import { useStore } from '@/store/store';
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
components: { Order },
|
components: { Order },
|
||||||
|
|
||||||
|
setup() {
|
||||||
|
return {
|
||||||
|
store: useStore(),
|
||||||
|
};
|
||||||
|
},
|
||||||
|
|
||||||
|
methods: {
|
||||||
|
copyMessage() {
|
||||||
|
navigator.clipboard.writeText(this.store.orderMessage);
|
||||||
|
},
|
||||||
|
},
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
@@ -20,9 +38,26 @@ export default defineComponent({
|
|||||||
justify-content: center;
|
justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
||||||
min-height: 100vh;
|
|
||||||
|
|
||||||
overflow-x: auto;
|
overflow-x: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.container {
|
||||||
|
display: flex;
|
||||||
|
align-items: start;
|
||||||
|
}
|
||||||
|
|
||||||
|
.generated-message {
|
||||||
|
position: sticky;
|
||||||
|
top: 0;
|
||||||
|
|
||||||
|
padding: 1em 0.5em;
|
||||||
|
text-align: justify;
|
||||||
|
margin-left: 1em;
|
||||||
|
width: 450px;
|
||||||
|
height: auto;
|
||||||
|
|
||||||
|
border: 1px solid white;
|
||||||
|
// user-select: none;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user