You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

87 lines
2.0 KiB

  1. <script setup lang="ts">
  2. import { setTargetTemperature } from 'apis/home'
  3. import { getOreList } from 'apis/ore'
  4. import { FtMessage } from 'libs/message'
  5. import { onMounted, ref } from 'vue'
  6. const props = defineProps({
  7. id: {
  8. type: String,
  9. default: 'heat_module_01',
  10. },
  11. })
  12. const emits = defineEmits(['ok', 'cancel'])
  13. onMounted(() => {
  14. getOres()
  15. })
  16. const form = ref({
  17. temperature: 0,
  18. })
  19. const formRef = ref()
  20. const rules = {
  21. temperature: [
  22. { required: true, message: '请输入目标温度', trigger: 'blur' },
  23. ],
  24. }
  25. const okHandle = async () => {
  26. try {
  27. const valid = await formRef.value.validate()
  28. if (!valid) {
  29. return
  30. }
  31. await setTargetTemperature({
  32. ...form.value,
  33. moduleCode: props.id,
  34. })
  35. FtMessage.success('设置成功')
  36. emits('ok')
  37. }
  38. catch (error) {
  39. console.log(error)
  40. }
  41. }
  42. const cancel = () => {
  43. emits('cancel')
  44. }
  45. const oreList = ref<Ore.OreItem[]>([])
  46. const getOres = async () => {
  47. const res = await getOreList()
  48. oreList.value = res.list
  49. }
  50. </script>
  51. <template>
  52. <FtDialog visible title="设置温度" width="40%" :ok-handle="okHandle" @cancel="cancel">
  53. <el-form ref="formRef" label-width="auto" :model="form" :rules="rules">
  54. <el-form-item label="目标温度" prop="temperature">
  55. <el-input v-model.number="form.temperature" type="number" placeholder="请输入温度">
  56. <template #append>
  57. </template>
  58. </el-input>
  59. </el-form-item>
  60. <!-- <el-form-item label="到达温度后" prop="type"> -->
  61. <!-- <el-radio-group v-model="form.type"> -->
  62. <!-- <el-radio value="1" size="large"> -->
  63. <!-- 保持温度 -->
  64. <!-- </el-radio> -->
  65. <!-- <el-radio value="2" size="large"> -->
  66. <!-- 停止加热 -->
  67. <!-- </el-radio> -->
  68. <!-- </el-radio-group> -->
  69. <!-- </el-form-item> -->
  70. </el-form>
  71. </FtDialog>
  72. </template>
  73. <style scoped lang="scss">
  74. .el-tag {
  75. margin-right: 5px;
  76. }
  77. </style>