ApproveReason.vue 1.7 KB
<template>
  <BasicModal
    v-bind="$attrs"
    destroyOnClose
    @register="register"
    title="申请原因"
    :helpMessage="['提示1', '提示2']"
    @open-change="handleShow"
    :bodyStyle="{ height: '200px' }"
    @ok="handleOk"
    z-index="9999"
  >
    <a-textarea v-model:value="input" :rows="7" />
  </BasicModal>
</template>
<script lang="ts" setup>
  import { ref, watch } from 'vue';
  import { BasicModal, useModalInner } from '@/components/Modal';
  import { orderAuth } from '/@/api/project/order';
  import { getServiceApplyEdit } from '/@/api/project/invoice';

  const emit = defineEmits(['success']);
  const input = ref('');
  const baseFieldValues = ref();
  const [register, { setModalProps, redoModalHeight, closeModal }] = useModalInner(async (data) => {
    baseFieldValues.value = data.data;
    baseFieldValues.value.projectNoPrefix = data.id;
  });
  async function handleOk() {
    baseFieldValues.value.applyRemark = input.value;
    await getServiceApplyEdit({
      projectNoPrefix: baseFieldValues.value.projectNoPrefix,
      actualExchangeRate: baseFieldValues.value.actualExchangeRate,
      developmentCopyRmbTotalPrice: baseFieldValues.value.developmentCopyRmbTotalPrice,
      paidRmbCommission: baseFieldValues.value.paidRmbCommission,
      projectStartTime: baseFieldValues.value.projectStartTime,
      projectEndTime: baseFieldValues.value.projectEndTime,
      spainPaidRmbCommission: baseFieldValues.value.spainPaidRmbCommission,
      applyRemark: baseFieldValues.value.applyRemark,
      type: 'FIELD_EDIT_APPLY',
    });
    emit('success');
    setTimeout(() => {
      closeModal();
    }, 50);
  }
  function handleShow() {
    input.value = '';
    closeModal();
  }
</script>