FinanceEdit.vue 2.66 KB
<template>
  <template>
    <BasicDrawer
      @register="register"
      v-bind="$attrs"
      title="编辑"
      width="30%"
      :isDetail="true"
      @ok="handleSubmit"
      :showDetailBack="false"
      okText="保存"
      showFooter
      :destroyOnClose="true"
    >
      <div>
        <BasicForm @register="registerForm" />
      </div>

      <!-- <template #titleToolbar> <a-button type="primary"> 申请编辑权限 </a-button></template> -->
      <template #appendFooter>
        <!-- <a-button type="primary" @click="onGoCheckDetail"> 申请权限</a-button> -->
      </template>
    </BasicDrawer>
  </template>
</template>
<script lang="ts" setup>
  import { BasicDrawer, useDrawerInner } from '@/components/Drawer';
  import { BasicForm, FormSchema, useForm } from '@/components/Form';
  import { defineComponent, ref, computed, unref, toRaw, reactive } from 'vue';
  import { getEmailList } from '/@/api/sys/config';
  import { updateAmountInfo } from '@/api/project/invoice';

  const emit = defineEmits(['success']);
  const schemas: FormSchema[] = [
    // {
    //   field: 'actualPayedAmount',
    //   component: 'InputNumber',
    //   labelWidth: 250,
    //   colProps: {
    //     span: 23,
    //   },
    //   label: '生产科实际应付金额',
    // },
    {
      field: 'actualPayedAmount1',
      component: 'InputNumber',
      labelWidth: 250,
      colProps: {
        span: 23,
      },
      label: '实际应付金额1¥',
    },
    {
      field: 'actualPayedAmount2',
      component: 'InputNumber',
      labelWidth: 250,
      colProps: {
        span: 23,
      },
      label: '实际应付金额2¥',
    },
    {
      field: 'actualPayedAmount3',
      component: 'InputNumber',
      labelWidth: 250,
      colProps: {
        span: 23,
      },
      label: '实际应付金额3¥',
    },
  ];
  const [registerForm, { setFieldsValue, resetFields, validate }] = useForm({
    labelWidth: 120,
    schemas,
    layout: 'vertical',
    showActionButtonGroup: false,
    actionColOptions: {
      span: 24,
    },
  });

  const update = ref();
  const [register, { setDrawerProps, closeDrawer }] = useDrawerInner((data) => {
    // 方式1
    resetFields();
    setDrawerProps({ confirmLoading: false });
    setFieldsValue({
      ...toRaw(data.data),
    });
    update.value = data;
    console.log(data, '5656data');
  });
  //完成编辑
  async function handleSubmit() {
    const values = await validate();
    const updatedValues = {
      ...values,
      id: update.value.data.id,
    };
    console.log(updatedValues, 56565);
    await updateAmountInfo({
      ...updatedValues,
    });
    emit('success');
    closeDrawer();
  }
</script>