<template>
'  <BasicModal v-bind="$attrs" @register="registerModal" :title="title" :okText="'保存'" :defaultFullscreen="true" @ok="handleSubmit">
'    <asn-form ref="formComponent" :formDisabled="formDisabled" :formBpm="false" @success="submitSuccess"></asn-form>
  </BasicModal>
</template>

<script lang="ts">
  import { ref, unref } from 'vue';
  import { BasicModal, useModalInner } from '/@/components/Modal';
  import AsnForm from './AsnForm.vue';
  import { useMessage } from '/@/hooks/web/useMessage';
  const { createMessage } = useMessage();
  export default {
    name: "TestCgMainVxeModal",
    components:{
      BasicModal,
      AsnForm
    },
    emits:['register','success'],
    setup(_p, {emit}){
      const formComponent = ref()
      const isUpdate = ref(true);
      const formDisabled = ref(false);
      const title = ref('')

      //表单赋值
      const [registerModal, {setModalProps, closeModal}] = useModalInner(async (data) => {
        setModalProps({confirmLoading: false,showCancelBtn:data?.showFooter,showOkBtn:data?.showFooter});
        isUpdate.value = !!data?.isUpdate;
        formDisabled.value = !data?.showFooter;
        title.value = data?.isUpdate ? (unref(formDisabled) ? '入库单详情' : '编辑入库单') : '新增入库单';
        if (unref(isUpdate)) {
          formComponent.value.edit(data.record)
        }else{
          formComponent.value.add()
        }
      });

      function handleSubmit() {
        formComponent.value.submitForm();
      }

      function submitSuccess(){
        emit('success');
        closeModal();
      }
      return {
        registerModal,
        title,
        formComponent,
        formDisabled,
        handleSubmit,
        submitSuccess,
      }
    }
  }
</script>
<style lang="less" scoped>
	/** 时间和数字输入框样式 */
  :deep(.ant-input-number) {
    width: 100%;
  }

  :deep(.ant-calendar-picker) {
    width: 100%;
  }
</style>
