index.vue 1.3 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: ['detailTemplateInfo'],
    emits: ['success', 'register', 'getAllFields'],
    setup(props) {
      const fieldValue: any = ref({});
      const [registerForm, { getFieldsValue, setFieldsValue, resetFields }] = useForm({
        labelWidth: 120,
        schemas: formSchema,
      });

      const getFieldsValueFunc = () => {
        fieldValue.value = getFieldsValue();
        return fieldValue.value;
      };
      const setFieldsValueFunc = () => {
        if (props.detailTemplateInfo != 1) {
          resetFields();
          setTimeout(() => {
            setFieldsValue({
              alarmDetails: props.detailTemplateInfo,
            });
          }, 10);
        }
      };
      setFieldsValueFunc();

      const resetFieldsFunc = () => {
        resetFields();
      };
      return {
        resetFieldsFunc,
        getFieldsValueFunc,
        registerForm,
      };
    },
  });
</script>