祁鹏飞 3 miesięcy temu
rodzic
commit
070700e5f5

+ 2 - 0
src/api/modules/finance.ts

@@ -42,6 +42,8 @@ const financeApi = (axiosInstance: ApiInstance) => ({
     invoicingCheck: (data: any) => axiosInstance.post('/receivable/invoicingCheck', data),
     // 开票前计算
     calBeforeInvoice: (data: any) => axiosInstance.post('/receivable/calBeforeInvoice', data),
+    // 减法计算
+    calSub: (data: any) => axiosInstance.get(`/receivable/calSub?minuend=${data.minuend}&subtrahend=${data.subtrahend}`),
     // 手续费导入
     importSuperviseExcel: (data: any) => axiosInstance.post('/receivable/importSuperviseExcel', data),
 

+ 24 - 9
src/views/receivable/handingFee/ticket.vue

@@ -162,14 +162,18 @@
         <el-form-item prop="invoiceNo" label="开票号" v-if="countForm.invoiceParty == '1'">
           <el-input v-model="countForm.invoiceNo" placeholder="请输入"></el-input>
         </el-form-item>
-        <el-form-item prop="overinflatedAmount" label="虚增金额">
-          <el-input v-model="countForm.overinflatedAmount" placeholder="请输入"></el-input>
-        </el-form-item>
         <el-form-item prop="taxPoint" label="税点">
           <el-input v-model="countForm.taxPoint" placeholder="请输入"></el-input>
         </el-form-item>
-        <el-form-item prop="receivableSupervisePremium" label="开票金额">
-          <el-input v-model="countForm.receivableSupervisePremium" placeholder="请输入"></el-input>
+        <el-form-item prop="receivableSupervisePremium" label="应收金额">
+          <el-input-number v-model="countForm.receivableSupervisePremium" :min="0" :precision="4"
+            @change="handleChange" />
+        </el-form-item>
+        <el-form-item prop="overinflatedAmount" label="虚增金额">
+          <el-input v-model="countForm.overinflatedAmount" placeholder="请输入"></el-input>
+        </el-form-item>
+        <el-form-item prop="actualReceivedAmount" label="差额原因">
+          <el-input v-model="countForm.paymentReason" placeholder="请输入"></el-input>
         </el-form-item>
         <el-form-item prop="invoiceTime" label="开票日期">
           <el-date-picker v-model="countForm.invoiceTime" style="width: 100%;" type="date"
@@ -181,16 +185,13 @@
         <el-form-item v-if="isSettlement" prop="actualReceivedAmount" label="回款差额">
           <el-input v-model="countForm.paymentDifference" placeholder="请输入"></el-input>
         </el-form-item>
-        <el-form-item v-if="isSettlement" prop="actualReceivedAmount" label="差额原因">
-          <el-input v-model="countForm.paymentReason" placeholder="请输入"></el-input>
-        </el-form-item>
         <el-form-item v-if="isSettlement" prop="receivePaymentDate" label="收款日期">
           <el-date-picker v-model="countForm.receivePaymentDate" style="width: 100%;" type="date"
             value-format="YYYY-MM-DD HH:mm:ss" format="YYYY-MM-DD" />
         </el-form-item>
         <el-form-item v-if="isSettlement" prop="attachmentIds" label="收款凭证" class="upload-btn">
           <el-upload action="https://tennat.baoxianzhanggui.com/api/file/upload" drag
-            v-model:file-list="countForm.attachmentIds" multiple list-type="picture-card" >
+            v-model:file-list="countForm.attachmentIds" multiple list-type="picture-card">
             <el-icon>
               <Plus />
             </el-icon>
@@ -400,12 +401,25 @@ const handleTicket = (bool) => {
   })
 }
 
+const receivableSupervisePremium = ref(0)
 const calBeforeInvoice = async (params: any) => {
   const res = await api.financeApi.calBeforeInvoice(params)
   if (res.code == 200) {
     openCountForm()
     countForm.value.invoiceTime = res.data.invoiceTime
     countForm.value.receivableSupervisePremium = res.data.receivableSupervisePremium
+    receivableSupervisePremium.value = res.data.receivableSupervisePremium
+  }
+}
+
+const handleChange = async () => {
+  const params = {
+    minuend: countForm.value.receivableSupervisePremium,
+    subtrahend: receivableSupervisePremium.value,
+  }
+  const res = await api.financeApi.calSub(params)
+  if (res.code == 200) {
+    countForm.value.overinflatedAmount = res.data
   }
 }
 
@@ -523,6 +537,7 @@ onMounted(() => {
     height: 80px;
   }
 }
+
 :deep(.el-upload-dragger) {
   height: 100%;
   display: flex;