2 changed files with 104 additions and 55 deletions
-
62src/web/src/pages/main/contents/OperationTubeRackPreset.vue
-
97src/web/src/pages/main/contents/OperationTubeRacks.vue
@ -0,0 +1,62 @@ |
|||||
|
<template> |
||||
|
<a-button class="ml-1" |
||||
|
style="background: transparent;border: solid 1px #becfe7;color: #7c92b1;" |
||||
|
@click="actionModalShow" |
||||
|
><PlayCircleOutlined /></a-button> |
||||
|
|
||||
|
<!-- 执行预设 --> |
||||
|
<a-modal v-if="enable" v-model:visible="enable" |
||||
|
title="执行预设" |
||||
|
ok-text="确认" |
||||
|
cancel-text="取消" |
||||
|
@ok="actionPresetSetupOk" |
||||
|
@cancel="actionCancel" |
||||
|
> |
||||
|
<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="presetId"> |
||||
|
<a-select-option v-for="preset in presetList" |
||||
|
:key="preset.id" |
||||
|
:value="preset.id" |
||||
|
>{{ preset.name }}</a-select-option> |
||||
|
</a-select> |
||||
|
</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 presetList = ref([]); |
||||
|
/** @var {Number} */ |
||||
|
const presetId = ref(null); |
||||
|
|
||||
|
// display modal |
||||
|
async function actionModalShow() { |
||||
|
let client = ApiClient.getClient(); |
||||
|
presetList.value = await client.digestionPresetList(); |
||||
|
enable.value = true; |
||||
|
} |
||||
|
|
||||
|
// 预设执行取消 |
||||
|
async function actionCancel() { |
||||
|
enable.value = false; |
||||
|
} |
||||
|
|
||||
|
// 预设执行确认 |
||||
|
async function actionPresetSetupOk() { |
||||
|
enable.value = false; |
||||
|
let client = ApiClient.getClient(); |
||||
|
await client.taskAppend('Digestion',{ |
||||
|
slotIndex : props.activeSlot.index * 1, |
||||
|
id : presetId.value * 1 |
||||
|
}); |
||||
|
} |
||||
|
</script> |
Write
Preview
Loading…
Cancel
Save
Reference in new issue