TrackEdit.vue 2.67 KB
<template>
  <template>
    <BasicDrawer
      @register="register"
      v-bind="$attrs"
      title="收入款单"
      width="30%"
      :isDetail="true"
      @ok="handleSubmit"
      :showDetailBack="false"
      okText="保存"
      showFooter
      :destroyOnClose="true"
    >
      <div>
        <div style="font-size: 15px">客户扣款金额</div>
        <a-input v-model:value="input1" placeholder="请输入" auto-size />
        <div style="margin: 16px 0"></div>
        <div>上传扣款单</div
        ><a-space direction="vertical" style="width: 100%" size="large">
          <a-upload
            v-model:file-list="fileList"
            :beforeUpload="beforeUpload"
            list-type="picture"
            :max-count="1"
            :action="updateDeductUrl"
            @change="handleChange"
          >
            <a-button>
              <!-- <upload-outlined></upload-outlined> -->
              上传扣款单
            </a-button>
          </a-upload>
        </a-space>
      </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 { defineComponent, ref, computed, unref, toRaw, reactive } from 'vue';
  import { getEmailList } from '/@/api/sys/config';
  import { UploadOutlined } from '@ant-design/icons-vue';
  import type { UploadProps } from 'ant-design-vue';
  import { updateDeduct } from '@/api/project/invoice';

  const fileList = ref<UploadProps['fileList']>([]);

  const input1 = ref('');
  const deductUrl = ref();
  const id = ref();
  const invoiceNo = ref();
  const updateDeductUrl = ref('http://47.104.8.35:18000/api/localStorage/upload_file_oss?name=');

  const [register, { setDrawerProps, closeDrawer }] = useDrawerInner((data) => {
    console.log(data, 56561);
    id.value = data.data.id;
    invoiceNo.value = data.data.invoiceNo;
    input1.value = data.data.deductAmount;
    deductUrl.value = data.data.deductUrl;
  });

  function handleChange(info) {
    if (info.file.status == 'done') {
      updateDeductUrl.value = info.file.response.data.deductUrl;
      deductUrl.value = updateDeductUrl.value;
    }
  }
  function beforeUpload(info) {
    updateDeductUrl.value += info.name;
  }

  //完成编辑
  async function handleSubmit() {
    await updateDeduct({
      id: id.value,
      invoiceNo: invoiceNo.value,
      deductAmount: input1.value,
      deductUrl: deductUrl.value,
    });
  }
</script>