index.vue 1.98 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: ['DetailTemplateCpnData'],
    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.DetailTemplateCpnData != 1) {
          let openEditRuleConditObj: any = {};
          for (let i in props.DetailTemplateCpnData) {
            if (i == 'CRITICAL') {
              openEditRuleConditObj = props.DetailTemplateCpnData[i];
            } else if (i == 'MAJOR') {
              openEditRuleConditObj = props.DetailTemplateCpnData[i];
            } else if (i == 'MINOR') {
              openEditRuleConditObj = props.DetailTemplateCpnData[i];
            } else if (i == 'WARNING') {
              openEditRuleConditObj = props.DetailTemplateCpnData[i];
            } else if (i == 'INDETERMINATE') {
              openEditRuleConditObj = props.DetailTemplateCpnData[i];
            }
          }
          setTimeout(() => {
            setFieldsValue({
              alarmDetails: openEditRuleConditObj?.alarmDetails,
            });
          }, 10);
        }
      };
      setFieldsValueFunc();

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