save all astro data records

This commit is contained in:
Bogdan Pilyugin 2024-05-15 08:20:11 +02:00
parent 2aadfcaf7d
commit d3c9a21034

View File

@ -9,44 +9,41 @@
<div class="q-pa-md col-6"><q-input v-model="data.astrorecs.lon" label="LON" /></div> <div class="q-pa-md col-6"><q-input v-model="data.astrorecs.lon" label="LON" /></div>
</div> </div>
</q-card-section> </q-card-section>
<q-scroll-area :style="{ height: scrollHeight + 'px' }"> <q-card-section class="q-pt-none">
<q-card-section class="q-pt-none"> <div class="q-pa-md">
<div class="q-pa-md"> <div class="q-gutter-md q-pa-none q-pb-none">
<div class="q-gutter-md q-pa-none q-pb-none"> <q-card flat bordered class="card" v-for="astrorec in data.astrorecs.records" :key="astrorec.num"
<q-card flat bordered class="card" v-for="astrorec in data.astrorecs.records" :key="astrorec.num" v-show="!astrorec.del">
v-show="!astrorec.del"> <q-card-section>
<q-card-section> <div class="text-h6">Task {{ astrorec.num }}</div>
<div class="text-h6">Task {{ astrorec.num }}</div> </q-card-section>
</q-card-section> <q-card-section class="q-pt-none">
<q-card-section class="q-pt-none"> <div><q-toggle v-model="astrorec.enab" :true-value=1 :false-value=0>Task enabled</q-toggle>
<div><q-toggle v-model="astrorec.enab" :true-value=1 :false-value=0>Task enabled</q-toggle> </div>
</div> <div><q-toggle v-model="astrorec.rise" :true-value=1 :false-value=0>
<div><q-toggle v-model="astrorec.rise" :true-value=1 :false-value=0>Sun rise/set</q-toggle></div> {{ (astrorec.rise) ? 'Sunrise' : 'Sunset' }}</q-toggle></div>
<div><q-toggle v-model="astrorec.sensor_enab" :true-value=1 :false-value=0>Light sensor</q-toggle></div> <div><q-toggle v-model="astrorec.sensor_enab" :true-value=1 :false-value=0>Light sensor</q-toggle></div>
<div class=" row"> <div class="row" v-if="astrorec.sensor_enab" style="align-items: center;">
<div class="q-pa-xs col-6"><q-input v-model="astrorec.sensor_angle" label="Sensor Sun angle" /></div> <div class="q-pa-xs col-6"><q-input v-model="astrorec.sensor_angle" label="Sensor Sun angle" /></div>
<div class="q-pa-xs col-6">Sensor time: {{ min_to_str(astrorec.sensor_time) }} <div class="q-pa-xs col-6">Apply time: {{ min_to_str(astrorec.sensor_time) }}</div>
</div>
</div> <div class="row" style="align-items: center;">
</div> <div class="q-pa-xs col-6"><q-input v-model="astrorec.main_angle" label="Main Sun angle" /></div>
<div class="row"> <div class="q-pa-xs col-6">Apply time: {{ min_to_str(astrorec.main_time) }}</div>
<div class="q-pa-xs col-6"><q-input v-model="astrorec.main_angle" label="Sun angle" /></div> </div>
<div class="q-pa-xs col-6"> Time: {{ min_to_str(astrorec.main_time) }} <q-input v-model="astrorec.name" label="Task name" />
</div> <q-input v-model="astrorec.exec" label="Execute command" />
</div> </q-card-section>
<q-input v-model="astrorec.name" label="Task name" /> <q-card-actions>
<q-input v-model="astrorec.exec" label="Execute command" /> <q-btn class="btn" flat v-on:click="ApplyAstroRecord(astrorec.num)">Apply</q-btn>
</q-card-section> <q-btn class="btn" flat v-on:click="DeleteAstroRecord(astrorec.num)">Delete</q-btn>
<q-card-actions> </q-card-actions>
<q-btn class="btn" flat v-on:click="ApplyAstroRecord(astrorec.num)">Apply</q-btn> </q-card>
<q-btn class="btn" flat v-on:click="DeleteAstroRecord(astrorec.num)">Delete</q-btn>
</q-card-actions>
</q-card>
</div>
</div> </div>
</div>
</q-card-section>
</q-card-section>
</q-scroll-area>
<q-card-actions> <q-card-actions>
<div> <div>
<q-btn class="btn" flat v-on:click="AddAstroRecord">Add new</q-btn> <q-btn class="btn" flat v-on:click="AddAstroRecord">Add new</q-btn>
@ -64,25 +61,19 @@ function min_to_str(min) {
return `${Math.floor(min / 60)}h ${min % 60}m` return `${Math.floor(min / 60)}h ${min % 60}m`
} }
let initrecs = function () { function event_str(v) {
let out = [], rec; return `${Math.floor(min / 60)}h ${min % 60}m`
}
function initrecs() {
let out = [], rec, i;
for (i = 1; i <= 16; i++) { for (i = 1; i <= 16; i++) {
rec = { rec = {
num: i, num: i, del: 1, enab: 1, rise: 1, sensor_enab: 0, sensor_angle: 0,
del: 1, sensor_time: 0, main_angle: 0, main_time: 0, name: "", exec: "",
enab: 1,
rise: 1,
sensor_enab: 0,
sensor_angle: 0,
sensor_time: 0,
main_angle: 0,
main_time: 0,
name: "",
exec: "",
} }
out.push(rec); out.push(rec);
} }
console.log(JSON.stringify(out));
return out; return out;
}; };
@ -91,30 +82,12 @@ const init = {
astrorecs: { astrorecs: {
lat: 0, lat: 0,
lon: 0, lon: 0,
records: initrecs records: initrecs()
} }
} }
function ApplyAstroRecord(num) { function ApplyAstroRecord() {
PostData({ PostData(data, 1, 1, null);
astrorecs: {
lat: data.astrorecs.lat,
lon: data.astrorecs.lon,
records: [
{
num: data.astrorecs.records[num - 1].num,
del: data.astrorecs.records[num - 1].del,
enab: data.astrorecs.records[num - 1].enab,
rise: data.astrorecs.records[num - 1].rise,
sensor_enab: data.astrorecs.records[num - 1].sensor_enab,
sensor_angle: data.astrorecs.records[num - 1].sensor_angle,
main_angle: data.astrorecs.records[num - 1].main_angle,
name: data.astrorecs.records[num - 1].name,
exec: data.astrorecs.records[num - 1].exec
}
]
}
}, 1, 1, ShowDelayDialog('Data applying...', 250, PostData(data, 2, 0, null)));
} }
function DeleteAstroRecord(num) { function DeleteAstroRecord(num) {
@ -133,15 +106,6 @@ function AddAstroRecord() {
} }
} }
const scrollHeight = computed(() => {
let num = 0;
for (let i = 0; i < 16; i++) if (!data.astrorecs.records[i].del) ++num;
return (num <= 2) ? num * 400 : 800;
});
const data = reactive(init); const data = reactive(init);
PostData(data, 2, 0, null); PostData(data, 2, 0, null);
</script> </script>