index.vue 1.22 KB
<template>
  <div>
    <BasicForm :showResetButton="false" :showSubmitButton="false" @register="registerForm" />
  </div>
</template>
<script lang="ts">
  import { defineComponent, ref } from 'vue';
  import { BasicForm, useForm } from '/@/components/Form';
  import { formSchema } from './config';

  export default defineComponent({
    name: 'DetailTemplate',
    components: {
      BasicForm,
    },
    props: ['alarmSeverityInfo'],
    emits: ['success', 'register', 'getAllFields'],
    setup(props) {
      const fieldValue: any = ref({});
      const [registerForm, { getFieldsValue, setFieldsValue }] = useForm({
        labelWidth: 120,
        schemas: formSchema,
      });

      const getFieldsValueFunc = () => {
        fieldValue.value = getFieldsValue();
        return fieldValue.value;
      };

      const setFieldsValueFunc = () => {
        if (props.alarmSeverityInfo != 1) {
          let newArr = Object.keys(props.alarmSeverityInfo);
          setTimeout(() => {
            newArr.forEach((f) => {
              setFieldsValue({ default: f });
            });
          }, 10);
        }
      };
      setFieldsValueFunc();
      return {
        getFieldsValueFunc,
        registerForm,
      };
    },
  });
</script>