ApproveReason.vue 1.33 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 { getPackageApplyEdit } 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.orderId = data.id;
  });
  async function handleOk() {
    baseFieldValues.value.applyRemark = input.value;
    await getPackageApplyEdit({
      orderId: baseFieldValues.value.orderId,
      packetActualRmbTotalPrice: baseFieldValues.value.packetActualRmbTotalPrice,
      applyRemark: baseFieldValues.value.applyRemark,
      type: 80,
    });
    emit('success');
    setTimeout(() => {
      closeModal();
    }, 50);
  }
  function handleShow() {
    input.value = '';
    closeModal();
  }
</script>