Compare commits

...

9 Commits

Author SHA1 Message Date
peterlu14 4bd3b2c1bc - Fixed Arrow down 2023-12-20 16:33:10 +08:00
peterlu14 3309fe3083 - Fixed according css 2023-12-20 16:25:13 +08:00
peterlu14 7b0757103e - Fixed according reassign clickevent 2023-12-20 16:18:09 +08:00
peterlu14 f3293a647d - Fix new trigger mode 2023-12-19 16:46:55 +08:00
peterlu14 4137b41b3d - Add new mode 2023-12-19 16:33:23 +08:00
peterlu14 2d852ba7ad - Trigger channel name change
- fix time parameter maximum 86400 to 86400000
2023-12-19 15:37:11 +08:00
peterlu14 fe2c02e175 fix cycle 2023-12-06 15:37:53 +08:00
peterlu14 7b10571381 -change parameter 2023-12-06 15:11:22 +08:00
peterlu14 1183718b8b -two working mode for default paramters 2023-12-04 16:34:35 +08:00
4 changed files with 91 additions and 20 deletions
@@ -25,7 +25,7 @@
<va-item-label v-if="device.library_name.includes('EIS') || device.library_name.includes('TRIG')">
{{ `[${device.memory_board}]` }} {{ device.name }}
</va-item-label>
<va-item-label v-if="device.status !== 0">
<va-item-label v-else-if="device.status !== 0">
{{ `[${device.memory_board}]` }} {{ device.name }} <va-icon class="ml-3 fa fa-battery-full" color="rgb(178 180 178)"/>
</va-item-label>
<va-item-label v-else-if="parseInt((device.battery - 2900) / 10) >= 75">
@@ -44,7 +44,7 @@
@sendInstruction="sendInstruction"
/>
</div>
<TriggerNew v-if="parameter.MODE === 3" :parameter="parameter" :parameterTable="parameterTable" @parameterChange="parameterChange"></TriggerNew>
<TriggerNew v-if="parameter.MODE === 3 || parameter.MODE === 4 || parameter.MODE === 5" :parameter="parameter" :parameterTable="parameterTable" @parameterChange="parameterChange"></TriggerNew>
</div>
<!-- EIS -->
<div v-if="library && library.includes('EIS')">
@@ -244,6 +244,48 @@ export default {
showModal: false,
workingModeSelect: null,
workingModeOptions: [],
defaultParameter2: {
USED: [true, true, true, false, false, false, false, false],
T_EARLY: [20000, 20000, 20000, 0, 0, 0, 0, 0],
V_EARLY: [true, false, false, false, false, false, false, false],
T_MID0: [10000, 10000, 10000, 0, 0, 0, 0, 0],
V_MID0: [true, true, false, false, false, false, false, false],
T_MID1: [40000, 40000, 30000, 0, 0, 0, 0, 0],
V_MID1: [false, false, false, false, false, false, false, false],
T_MID2: [0, 0, 10000, 0, 0, 0, 0, 0],
V_MID2: [false, false, true, false, false, false, false, false],
T_MID3: [0, 0, 10000, 0, 0, 0, 0, 0],
V_MID3: [false, false, false, false, false, false, false, false],
CYCLE: [1, 1, 1, 1, 1, 1, 1, 1],
},
defaultParameter1: {
USED: [true, true, true, false, false, false, false, false],
T_EARLY: [5000, 5000, 5000, 0, 0, 0, 0, 0],
V_EARLY: [true, false, false, false, false, false, false, false],
T_MID0: [30000, 30000, 30000, 0, 0, 0, 0, 0],
V_MID0: [true, true, false, false, false, false, false, false],
T_MID1: [30000, 30000, 30000, 0, 0, 0, 0, 0],
V_MID1: [false, false, true, false, false, false, false, false],
T_MID2: [0, 0, 0, 0, 0, 0, 0, 0],
V_MID2: [false, false, false, false, false, false, false, false],
T_MID3: [0, 0, 0, 0, 0, 0, 0, 0],
V_MID3: [false, false, false, false, false, false, false, false],
CYCLE: [10, 10, 10, 1, 1, 1, 1, 1],
},
defaultParameter3: {
USED: [false, false, false, false, false, false, false, false],
T_EARLY: [0, 0, 0, 0, 0, 0, 0, 0],
V_EARLY: [false, false, false, false, false, false, false, false],
T_MID0: [0, 0, 0, 0, 0, 0, 0, 0],
V_MID0: [false, false, false, false, false, false, false, false],
T_MID1: [0, 0, 0, 0, 0, 0, 0, 0],
V_MID1: [false, false, false, false, false, false, false, false],
T_MID2: [0, 0, 0, 0, 0, 0, 0, 0],
V_MID2: [false, false, false, false, false, false, false, false],
T_MID3: [0, 0, 0, 0, 0, 0, 0, 0],
V_MID3: [false, false, false, false, false, false, false, false],
CYCLE: [1, 1, 1, 1, 1, 1, 1, 1],
},
}
},
mqtt: {
@@ -296,6 +338,23 @@ export default {
this.parameterChange('CTRL_HIGH_Z_15', this.workingModeSelect.highz)
}
}
// custom parameter default
if (val.id === 3) {
for (const parameterName of Object.keys(this.defaultParameter1)) {
console.log(parameterName, this.defaultParameter1[parameterName])
this.parameterChange(parameterName, this.defaultParameter1[parameterName], false, true)
}
} else if (val.id === 4) {
for (const parameterName of Object.keys(this.defaultParameter2)) {
console.log(parameterName, this.defaultParameter2[parameterName])
this.parameterChange(parameterName, this.defaultParameter2[parameterName], false, true)
}
} else if (val.id === 5) {
for (const parameterName of Object.keys(this.defaultParameter3)) {
console.log(parameterName, this.defaultParameter3[parameterName])
this.parameterChange(parameterName, this.defaultParameter3[parameterName], false, true)
}
}
}
},
resetWorkingMode () {
@@ -1,7 +1,7 @@
<template>
<div>
<div v-for="channel of [0,1,2,3,4,5,6,7]" :key="channel">
<button class="accordion">
<button class="parameter-accordion">
<div style="display: flex; justify-content: space-between; align-items: center;">
<div class="d-flex align--center">
<i v-if="panelSpread.includes(channel) === false" class="va-icon fa fa-angle-right mr-1" style="width: 15px;"></i>
@@ -145,9 +145,9 @@ export default {
return {
panelSpread: [],
channelName: [
'Gas valve 1',
'Gas valve 2',
'Gas valve 3',
'ChS',
'Ch1',
'Ch2',
'5V TTL',
'LED 1',
'LED 2',
@@ -196,7 +196,6 @@ export default {
},
parameterChangeByIndex: function (name, value, index) {
if (name.indexOf('V_MID') >= 0) {
console.log('sadsaasdadadad')
if (name === 'V_MID0' || name === 'V_MID2') {
this.parameter.V_MID0.splice(index, 1, value)
this.parameter.V_MID2.splice(index, 1, value)
@@ -224,11 +223,10 @@ export default {
},
},
mounted () {
const acc = document.getElementsByClassName('accordion')
const acc = document.getElementsByClassName('parameter-accordion')
const panelSpread = this.panelSpread
for (let i = 0; i < acc.length; i++) {
acc[i].addEventListener('click', function () {
const accrodingHandler = function () {
this.classList.toggle('active')
var panel = this.nextElementSibling
if (panel.style.display === 'block') {
@@ -238,13 +236,17 @@ export default {
panel.style.display = 'block'
panelSpread.push(i)
}
})
}
if (!acc[i].classList.contains('set-event')) {
acc[i].addEventListener('click', accrodingHandler)
}
acc[i].classList.add('set-event')
}
},
}
</script>
<style>
.accordion {
.parameter-accordion {
background-color: white;
cursor: pointer;
padding: 18px;
+18 -8
View File
@@ -25,7 +25,7 @@ const EliteTrigger = {
T_EARLY: {
type: 'number-array',
showName: 'pre-T',
range: Object.freeze({ min: 0, max: 86400 }),
range: Object.freeze({ min: 0, max: 86400000 }),
defaultValue: [0, 0, 0, 0, 0, 0, 0, 0],
outputRawData: (val, scale = 1, index = -1) => {
if (index === -1) {
@@ -72,7 +72,7 @@ const EliteTrigger = {
CYCLE: {
type: 'number-array',
showName: 'cycle no.',
range: Object.freeze({ min: 1, max: 50000 }),
range: Object.freeze({ min: 1, max: 65000 }),
defaultValue: [1, 1, 1, 1, 1, 1, 1, 1],
outputRawData: (val, scale = 1, index = -1) => {
if (index === -1) {
@@ -92,7 +92,7 @@ const EliteTrigger = {
T_MID0: {
type: 'number-array',
showName: 'T1',
range: Object.freeze({ min: 0, max: 86400 }),
range: Object.freeze({ min: 0, max: 86400000 }),
defaultValue: [0, 0, 0, 0, 0, 0, 0, 0],
outputRawData: (val, scale = 1, index = -1) => {
if (index === -1) {
@@ -139,7 +139,7 @@ const EliteTrigger = {
T_MID1: {
type: 'number-array',
showName: 'T2',
range: Object.freeze({ min: 0, max: 86400 }),
range: Object.freeze({ min: 0, max: 86400000 }),
defaultValue: [0, 0, 0, 0, 0, 0, 0, 0],
outputRawData: (val, scale = 1, index = -1) => {
if (index === -1) {
@@ -186,7 +186,7 @@ const EliteTrigger = {
T_MID2: {
type: 'number-array',
showName: 'T3',
range: Object.freeze({ min: 0, max: 86400 }),
range: Object.freeze({ min: 0, max: 86400000 }),
defaultValue: [0, 0, 0, 0, 0, 0, 0, 0],
outputRawData: (val, scale = 1, index = -1) => {
if (index === -1) {
@@ -233,7 +233,7 @@ const EliteTrigger = {
T_MID3: {
type: 'number-array',
showName: 'T4',
range: Object.freeze({ min: 0, max: 86400 }),
range: Object.freeze({ min: 0, max: 86400000 }),
defaultValue: [0, 0, 0, 0, 0, 0, 0, 0],
outputRawData: (val, scale = 1, index = -1) => {
if (index === -1) {
@@ -280,7 +280,7 @@ const EliteTrigger = {
T_LATE: {
type: 'number-array',
showName: 'post-T',
range: Object.freeze({ min: 0, max: 86400 }),
range: Object.freeze({ min: 0, max: 86400000 }),
defaultValue: [0, 0, 0, 0, 0, 0, 0, 0],
outputRawData: (val, scale = 1, index = -1) => {
if (index === -1) {
@@ -373,7 +373,7 @@ const EliteTrigger = {
type: 'number',
showName: 'Time duration',
componentType: 'input-range',
range: Object.freeze({ min: 0, max: 86400 }), // UI上能輸入的最大最小值
range: Object.freeze({ min: 0, max: 86400000 }), // UI上能輸入的最大最小值
defaultValue: 0,
defaultUnit: 's',
downloadUnit: 's',
@@ -602,6 +602,14 @@ const EliteTrigger = {
},
{
id: 3,
description: 'Odor preparation',
},
{
id: 4,
description: '實驗室常用 Protocol',
},
{
id: 5,
description: 'Trigger',
},
{
@@ -618,6 +626,8 @@ const EliteTrigger = {
1: Idle,
2: DevMode,
3: ACC,
4: ACC,
5: ACC,
},
}