10 changed files with 196 additions and 120 deletions
-
25src/src/main/java/com/my/graphiteDigesterBg/diframe/DiTaskMoveBase.java
-
5src/src/main/java/com/my/graphiteDigesterBg/diframe/actuator/DiActPeristalticPump.java
-
28src/src/main/java/com/my/graphiteDigesterBg/move/MoveLiquidAdd.java
-
10src/src/main/java/com/my/graphiteDigesterBg/resource/ResHeatingTubeRackSlotManager.java
-
16src/src/main/java/com/my/graphiteDigesterBg/task/TaskLiquidAdd.java
-
40src/src/main/java/com/my/graphiteDigesterBg/task/TaskStartReset.java
-
52src/src/main/resources/device.yml
-
59src/web/src/pages/main/contents/Operation.vue
-
78src/web/src/pages/main/contents/OperationTubeRackAcidAdd.vue
-
3src/web/src/pages/main/contents/OperationTubeRacks.vue
@ -0,0 +1,78 @@ |
|||
<template> |
|||
<a-button class="ml-1" |
|||
style="background: transparent;border: solid 1px #becfe7;color: #7c92b1;" |
|||
@click="actionAcidAdd" |
|||
><ExperimentOutlined /></a-button> |
|||
|
|||
<!-- 加酸 --> |
|||
<a-modal v-if="enable" v-model:visible="enable" title="加酸" @ok="acidAddOk" @cancel="acidAddCancel" ok-text="确认" cancel-text="取消"> |
|||
<a-form :label-col="{span:4}" :wrapper-col="{span:20}" label-align="left" class="py-5"> |
|||
<a-form-item label="酸液"> |
|||
<a-select v-model:value="acidAdd.liquidType" :options="acidOptions"></a-select> |
|||
</a-form-item> |
|||
<a-form-item label="加量"> |
|||
<a-input-number class="w-full" v-model:value="acidAdd.liquidVolume" :min="0" addon-after="ml" /> |
|||
</a-form-item> |
|||
<a-form-item label="摇匀次数"> |
|||
<a-input-number class="w-full" v-model:value="acidAdd.shakeTimes" :min="0" /> |
|||
</a-form-item> |
|||
</a-form> |
|||
</a-modal> |
|||
</template> |
|||
<script setup> |
|||
import ApiClient from '@/utils/ApiClient'; |
|||
import { ref } from 'vue'; |
|||
/** @var {Object} */ |
|||
const props = defineProps({ |
|||
activeSlot: Object, |
|||
}); |
|||
/** @var {Boolean} */ |
|||
const enable = ref(false); |
|||
/** @var {Array} */ |
|||
const acidOptions = ref([]); |
|||
/** @var {Object} */ |
|||
const acidAdd = ref({liquidType:null,liquidVolume:1,shakeTimes:3}); |
|||
|
|||
// 加酸 |
|||
async function actionAcidAdd() { |
|||
let client = ApiClient.getClient(); |
|||
let acidBuckets = await client.resourceDataGet('Acid'); |
|||
let acidTypeMap = {hydrochloric:'盐酸',nitric:'硝酸',sulfuric:'硫酸',hydrofluoric:'氢氟酸',perchloric:'高氯酸',hydrobromic:'液溴',phosphoric:'磷酸',tartaric:'酒石酸'}; |
|||
for ( let acidBucket of acidBuckets ) { |
|||
acidBucket.acidName = acidTypeMap[acidBucket.acidType]; |
|||
} |
|||
|
|||
acidOptions.value = []; |
|||
for ( let acidBucket of acidBuckets ) { |
|||
if ( -1 !== acidOptions.value.findIndex(item => item.value === acidBucket.acidType) ) { |
|||
continue ; |
|||
} |
|||
acidOptions.value.push({ |
|||
label : `${acidBucket.acidName}`, |
|||
value : acidBucket.acidType |
|||
}); |
|||
} |
|||
|
|||
enable.value = true; |
|||
if ( null === acidAdd.value.liquidType ) { |
|||
acidAdd.value.liquidType = acidBuckets[0].acidType; |
|||
} |
|||
} |
|||
|
|||
// 加酸确认 |
|||
async function acidAddOk() { |
|||
enable.value = false; |
|||
let client = ApiClient.getClient(); |
|||
await client.taskAppend('LiquidAdd',{ |
|||
slotIndex : props.activeSlot.index * 1, |
|||
liquidType : acidAdd.value.liquidType, |
|||
liquidVolume : acidAdd.value.liquidVolume * 1, |
|||
shakeTimes : acidAdd.value.shakeTimes * 1, |
|||
}); |
|||
} |
|||
|
|||
// 加酸取消 |
|||
function acidAddCancel() { |
|||
enable.value = false; |
|||
} |
|||
</script> |
Write
Preview
Loading…
Cancel
Save
Reference in new issue