<template>
  <view class="content">
    <view class="card">
      <u-form labelPosition="left" :model="form" :rules="rules" ref="formRef" labelWidth="140px">
        <u-form-item label="动火分析时间" prop="ANALYZE_TIME" borderBottom required @click="fnDateTimePickerClick('ANALYZE_TIME')">
          <u-input v-model="form.ANALYZE_TIME" border="none" readonly />
          <u-icon name="arrow-right"></u-icon>
        </u-form-item>
        <u-form-item label="分析点名称" prop="ANALYZE_PLACE" borderBottom required>
          <u-input v-model="form.ANALYZE_PLACE" border="none" />
        </u-form-item>
        <u-form-item label="分析数据(%LEL)" prop="ANALYZE_RESULT" borderBottom required>
          <u-input v-model="form.ANALYZE_RESULT" border="none" type="number" placeholder="0" />
          <view class="title">(%LEL)</view>
        </u-form-item>
        <u-form-item label="分析人" prop="ANALYZE_USER_NAME" borderBottom required>
          <u-input v-model="form.ANALYZE_USER_NAME" border="none" />
        </u-form-item>
      </u-form>
      <view class="mt-10">
        <u-button type="primary" text="保存" @click="$u.debounce(fnSubmit, 1000, true)" />
      </view>
    </view>

    <u-datetime-picker :show="dateTimePicker.show" v-model="dateTimePicker.value" :mode="dateTimePicker.mode"
      :maxDate="dateTimePicker.max" :key="dateTimePicker.type" @confirm="fnDateTimePickerConfirm"
      @cancel="fnDateTimePickerCancel" />
  </view>
</template>

<script>
import { getHotWorkGasInfoSave } from "@/api";

export default {
  data() {
    return {
      form: {
        /** 动火分析时间 */
        ANALYZE_TIME: '',
        /** 分析点名称 */
        ANALYZE_PLACE: '',
        /** 分析数据(%LEL) */
        ANALYZE_RESULT: '',
        /** 分析人 */
        ANALYZE_USER_NAME: this.$store.getters.getUserInfo.NAME,
        ANALYZE_USER_ID: this.$store.getters.getUserInfo.USER_ID,
        EW_RU_TASK_ID:'',
        EW_RU_JOB_ID:'',
        TYPE: ''
      },
      rules: {
        ANALYZE_TIME: [{ type: 'string', required: true, message: '请选择动火分析时间', trigger: ['blur', 'change'] }],
        ANALYZE_PLACE: [{ type: 'string', required: true, message: '请输入分析点名称', trigger: ['blur', 'change'] }],
        ANALYZE_RESULT: [{ type: 'string', required: true, message: '请输入分析数据', trigger: ['blur', 'change'] }],
        ANALYZE_USER_NAME: [{ type: 'string', required: true, message: '请输入分析人', trigger: ['blur', 'change'] }],
      },
      dateTimePicker: {
        show: false,
        value: Number(new Date()),
        max: new Date().getTime(),
        mode: 'datetime',
        type: 'datetime-picker'
      },
    }
  },
  onLoad(query) {
    this.form.EW_RU_TASK_ID = query.EW_RU_TASK_ID
    this.TYPE = query.TYPE
    this.form.EW_RU_JOB_ID = query.EW_RU_JOB_ID
  },
  methods: {
    fnDateTimePickerClick(event) {
      this.dateTimePicker.type = event
      this.dateTimePicker.value = Number(new Date(this.form[event])) || Number(new Date())
      this.dateTimePicker.show = true
    },
    fnDateTimePickerConfirm(event) {
      this.form[this.dateTimePicker.type] = uni.$u.timeFormat(event.value, 'yyyy-mm-dd hh:MM')
      this.fnDateTimePickerCancel()
    },
    fnDateTimePickerCancel() {
      this.dateTimePicker.show = false
    },
    async fnSubmit() {
      try {
        await this.$refs.formRef.validate()
        try {
          await getHotWorkGasInfoSave({
             ...this.form
          })
          uni.$u.toast('保存成功')
          setTimeout(() => {
            uni.switchTab({
              url: '/pages/index/index'
            })
          }, 2000)
        } catch {
        }
      } catch (e) {
        uni.$u.toast('请补全必填项')
      }
    }
  }
}
</script>

<style scoped lang="scss"></style>
