Przeglądaj źródła

Merge branch 'dev' of http://39.101.143.165:8090/dong_k/tenant-Platform into dev

祁鹏飞 2 miesięcy temu
rodzic
commit
e5dfe65c0c

+ 1 - 1
src/api/modules/finance.ts

@@ -141,7 +141,7 @@ const financeApi = (axiosInstance: ApiInstance) => ({
     followInvoiceAndSettlement: (data: any) => axiosInstance.post(`/receivable/followInvoiceAndSettlement`,data), // 开票结算
 
     // 私有-开票-标识结清
-    updateSettlementStatus: (data: any) => axiosInstance.post(`/receivable/updateSettlementStatus?id=${data}`), // 标识结清
+    updateSettlementStatus: (data: any) => axiosInstance.post(`/receivable/updateSettlementStatus`,data), // 标识结清
 
     settlementPaymentDifference: (data: any) => axiosInstance.post(`/followReconciliation/saveOrUpdate`,data),
 })

+ 56 - 41
src/views/receivable/documentary/documentaryRecord.vue

@@ -90,8 +90,7 @@
               </span>
               <template #dropdown>
                 <el-dropdown-menu>
-                  <el-dropdown-item
-                    @click="handleCountRecord(scope.row)">结算记录</el-dropdown-item>
+                  <el-dropdown-item @click="handleCountRecord(scope.row)">结算记录</el-dropdown-item>
                 </el-dropdown-menu>
               </template>
             </el-dropdown>
@@ -125,13 +124,14 @@
           <el-input v-model="countForm.receivableSupervisePremium" disabled placeholder="请输入"></el-input>
         </el-form-item>
         <el-form-item prop="actualReceivedAmount" label="实收金额">
-          <el-input-number v-model="countForm.actualReceivedAmount" style="width: 100%;" :min="0"
-            :max="countForm.remainSettlementAmount" :precision="2" controls-position="right" @change="handleChange()" />
+          <el-input-number v-model="countForm.actualReceivedAmount" style="width: 100%;" :min="0" :max="100000000"
+            :precision="2" controls-position="right" @change="handleChange()" />
         </el-form-item>
-        <el-form-item label="回款差额">
+        <el-form-item label="回款差额" v-if="countForm.actualReceivedAmount >= countForm.remainSettlementAmount">
           <el-input v-model="countForm.settlementPaymentDifference" disabled placeholder="自动计算" />
         </el-form-item>
-        <el-form-item prop="settlementPaymentReason" label="差额原因">
+        <el-form-item prop="settlementPaymentReason" label="差额原因"
+          v-if="countForm.actualReceivedAmount > countForm.remainSettlementAmount">
           <el-input v-model="countForm.settlementPaymentReason" placeholder="请输入"></el-input>
         </el-form-item>
         <el-form-item prop="receivePaymentDate" label="收款日期">
@@ -166,11 +166,24 @@
     </el-dialog>
   </PageMain>
   <el-image-viewer v-if="imageShow" :url-list="[bigImageUrl]" @close="imageShow = false" />
-
+  <el-dialog v-model="handleSettlementShow" title="标识结清" width="500">
+    <div>
+      <el-form label-width="auto" style="max-width: 600px">
+        <el-form-item label="差额原因">
+          <el-input v-model="settlementPaymentReason" style="width: 100%;" type="textarea" />
+        </el-form-item>
+      </el-form>
+    </div>
+    <template #footer>
+      <div class="dialog-footer">
+        <el-button type="primary" @click="settlementPaymentComfirm()">
+          确定
+        </el-button>
+      </div>
+    </template>
+  </el-dialog>
 </template>
-
 <script setup lang="ts">
-
 import api from "@/api";
 import { useRoute, useRouter } from 'vue-router'
 import { ElMessage, ElMessageBox } from 'element-plus'
@@ -251,8 +264,13 @@ const uploadImage = async (file) => {
 
 /** 计算实收金额与应收监管保费的差值,并将结果赋值给付款差额字段 */
 const handleChange = async () => {
-  const num = await calSub(countForm.value.actualReceivedAmount, countForm.value.receivableSupervisePremium)
-  countForm.value.settlementPaymentDifference = num
+  if (countForm.value.actualReceivedAmount > countForm.value.remainSettlementAmount) {
+    const num = await calSub(countForm.value.actualReceivedAmount, countForm.value.receivableSupervisePremium)
+    countForm.value.settlementPaymentDifference = num
+  } else {
+    countForm.value.settlementPaymentDifference = 0
+  }
+
 }
 /** 计算应收监管保费差额并更新虚增金额 */
 
@@ -268,32 +286,12 @@ const calSub = async (minuend: number = 0, subtrahend: number) => {
   return res.data || 0
 }
 // 标识结清
+let settlementPaymentReason = ref('')
+const handleSettlementShow = ref(false)
+const id = ref('')
 const handleSettlement = (row: any) => {
-  ElMessageBox.confirm(
-    '确定结清吗',
-    '结清',
-    {
-      confirmButtonText: '确定',
-      type: 'warning',
-      center: true,
-      confirmButtonClass: 'el-button--primary',
-    }
-  )
-    .then(() => {
-      api.financeApi.updateSettlementStatus(row.id).then((res: any) => {
-    if (res.code == 200) {
-      ElMessage({
-        message: res.msg,
-        type: 'success'
-      })
-      initList()
-    } else {
-    }
-  })
-    })
-    .catch(() => {
-    })
-
+    id.value = row.id
+  handleSettlementShow.value = true
 }
 // 删除
 const handleDelete = (row) => {
@@ -387,10 +385,7 @@ const handelComfirm = (CountForm) => {
     if (valid) {
       api.financeApi.followSettlement({
         invoicingId: invoicingId.value,
-        actualReceivedAmount: countForm.value.actualReceivedAmount,
-        receivePaymentDate: countForm.value.receivePaymentDate,
-        attachmentIds: countForm.value.attachmentIds,
-        settlementPaymentReason: countForm.value.settlementPaymentReason
+        ...countForm.value,
       }).then((res: any) => {
         countShow.value = false
         if (res.code == 200) {
@@ -404,7 +399,27 @@ const handelComfirm = (CountForm) => {
     }
   })
 }
-
+// 标识结清确认
+const settlementPaymentComfirm = () => {
+  if (!settlementPaymentReason.value) {
+    ElMessage({
+      message: '请输入差额原因',
+      type: 'warning'
+    })
+    return
+  }
+  api.financeApi.updateSettlementStatus({invoiceId: id.value, settlementPaymentReason: settlementPaymentReason.value}).then((res: any) => {
+    if (res.code == 200) {
+      ElMessage({
+        message: res.msg,
+        type: 'success'
+      })
+      handleSettlementShow.value = false
+      initList()
+    } else {
+    }
+  })
+}
 const handelCancel = () => {
   countShow.value = false
   countForm.value = {

+ 48 - 9
src/views/receivable/handingFee/invoiceRecord.vue

@@ -73,7 +73,7 @@
       <el-table-column prop="receivableAmount" label="应收手续费" width="120"></el-table-column>
       <el-table-column prop="overinflatedAmount" label="虚增金额" width="120">
         <template #default="scope">
-          <el-popover title="原因"  :content="scope.row.paymentReason" placement="top-start">
+          <el-popover title="原因" :content="scope.row.paymentReason" placement="top-start">
             <template #reference>
               {{ scope.row.overinflatedAmount }}
             </template>
@@ -88,7 +88,7 @@
       <el-table-column prop="remainSettlementAmount" label="待结算金额" width="120"></el-table-column>
       <el-table-column prop="settlementPaymentDifference" label="回款差额" width="120">
         <template #default="scope">
-          <el-popover title="原因"  :content="scope.row.settlementPaymentReason" placement="top-start">
+          <el-popover title="原因" :content="scope.row.settlementPaymentReason" placement="top-start">
             <template #reference>
               {{ scope.row.settlementPaymentDifference }}
             </template>
@@ -139,6 +139,9 @@
         <el-form-item prop="overinflatedAmount" label="虚增金额">
           <el-input v-model="countForm.overinflatedAmount" disabled placeholder="请输入"></el-input>
         </el-form-item>
+        <el-form-item prop="remainSettlementAmount" label="未结算金额">
+          <el-input v-model="countForm.remainSettlementAmount" disabled placeholder="请输入"></el-input>
+        </el-form-item>
         <el-form-item prop="taxPoint" label="税点">
           <el-input v-model="countForm.taxPoint" disabled placeholder="请输入"></el-input>
         </el-form-item>
@@ -149,10 +152,11 @@
           <el-input-number v-model="countForm.actualReceivedAmount" style="width: 100%;" :min="0" :precision="2"
             controls-position="right" @change="handleChange()" />
         </el-form-item>
-        <el-form-item label="回款差额">
+        <el-form-item label="回款差额" v-if="countForm.actualReceivedAmount >= countForm.remainSettlementAmount">
           <el-input v-model="countForm.settlementPaymentDifference" disabled placeholder="自动计算" />
         </el-form-item>
-        <el-form-item prop="settlementPaymentReason" label="差额原因">
+        <el-form-item prop="settlementPaymentReason" label="差额原因"
+          v-if="countForm.actualReceivedAmount > countForm.remainSettlementAmount">
           <el-input v-model="countForm.settlementPaymentReason" placeholder="请输入"></el-input>
         </el-form-item>
         <el-form-item prop="receivePaymentDate" label="收款日期">
@@ -186,6 +190,22 @@
         <el-button type="primary" @click="handelComfirm(CountForm)">确定</el-button>
       </template>
     </el-dialog>
+    <el-dialog v-model="handleSettlementShow" title="标识结清" width="500">
+    <div>
+      <el-form label-width="auto" style="max-width: 600px">
+        <el-form-item label="差额原因">
+          <el-input v-model="settlementPaymentReason" style="width: 100%;" type="textarea" />
+        </el-form-item>
+      </el-form>
+    </div>
+    <template #footer>
+      <div class="dialog-footer">
+        <el-button type="primary" @click="settlementPaymentComfirm()">
+          确定
+        </el-button>
+      </div>
+    </template>
+  </el-dialog>
     <el-image-viewer v-if="imageShow" :url-list="[bigImageUrl]" @close="imageShow = false" />
   </PageMain>
 </template>
@@ -262,7 +282,7 @@ const handleCount = (row) => {
     invoiceParty: row.invoiceParty,
     receivableSupervisePremium: row.receivableSupervisePremium,
     overinflatedAmount: row.overinflatedAmount,
-    actualReceivedAmount: row.receivableSupervisePremium,
+    remainSettlementAmount: row.remainSettlementAmount,
     taxPoint: row.taxPoint,
     receivePaymentDate: row.receivePaymentDate, // 收款日期
     attachmentIds: row.attachmentIds // 凭证
@@ -271,8 +291,12 @@ const handleCount = (row) => {
 
 /** 计算实收金额与应收监管保费的差值,并将结果赋值给付款差额字段 */
 const handleChange = async () => {
-  const num = await calSub(countForm.value.actualReceivedAmount, countForm.value.receivableSupervisePremium)
-  countForm.value.settlementPaymentDifference = num
+  if (countForm.value.actualReceivedAmount > countForm.value.remainSettlementAmount) {
+    const num = await calSub(countForm.value.actualReceivedAmount, countForm.value.receivableSupervisePremium)
+    countForm.value.settlementPaymentDifference = num
+  } else {
+    countForm.value.settlementPaymentDifference = 0
+  }
 }
 /** 计算应收监管保费差额并更新虚增金额 */
 
@@ -347,16 +371,31 @@ const handleDelete = (row) => {
     })
 }
 // 标识结清
+let settlementPaymentReason = ref('')
+const handleSettlementShow = ref(false)
+const id = ref('')
 const handleSettlement = (row: any) => {
-  api.financeApi.updateSettlementStatus(row.id).then((res: any) => {
+  id.value = row.id
+  handleSettlementShow.value = true
+}
+// 标识结清确认
+const settlementPaymentComfirm = () => {
+  if (!settlementPaymentReason.value) {
+    ElMessage({
+      message: '请输入差额原因',
+      type: 'warning'
+    })
+    return
+  }
+  api.financeApi.updateSettlementStatus({invoiceId: id.value, settlementPaymentReason: settlementPaymentReason.value}).then((res: any) => {
     if (res.code == 200) {
       ElMessage({
         message: res.msg,
         type: 'success'
       })
+      handleSettlementShow.value = false
       initList()
     } else {
-
     }
   })
 }