Kaynağa Gözat

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

@dongkboy 3 ay önce
ebeveyn
işleme
a4db7865ee

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

@@ -49,6 +49,8 @@ const financeApi = (axiosInstance: ApiInstance) => ({
 
     // 私有协议-跟单费应收
     getOtherReceivableList: (data: any) => axiosInstance.post('/receivable/getOtherReceivableList', data),
+    // 私有协议-批量修改功能
+    batchModify: (data: any) => axiosInstance.post('/receivable/batchModify', data),
     // 私有协议-驾意跟单
     getJyOtherReceivableList: (data: any) => axiosInstance.post('/receivable/getJyOtherReceivableList', data),
     // 跟单费导入

+ 32 - 13
src/views/receivable/handingFee/index.vue

@@ -112,7 +112,7 @@
             </el-col>
           </el-row>
         </el-form>
-        <el-row :gutter="8" class="flex a-c " style="margin: 20px 0" >
+        <el-row :gutter="8" class="flex a-c " style="margin: 20px 0">
           <span class="flex col-160 m-r-8 bg-F9">
             <el-checkbox class="p-w-12" @change="selectAll" v-model="selectAllValue"></el-checkbox>&nbsp;
             <el-select class="select-all width-100" placeholder="全选" v-model="selectType" @change="selectTypeChange">
@@ -147,7 +147,7 @@
             </el-dropdown>
           </span>
           <span class="col-108 m-r-8">
-            已选: <span class="text-red">{{selectedList.length}}</span> 条
+            已选: <span class="text-red">{{ selectedList.length }}</span> 条
           </span>
         </el-row>
         <el-table :data="receiveData" :height="isTrue ? 'calc(100% - 396px)' : 'calc(100% - 246px)'"
@@ -454,7 +454,7 @@
         <el-button type="primary" @click="handleInvoiceSubmit">确定</el-button>
       </template>
     </el-dialog>
-    <el-dialog title="批量修改" v-model="batchEditShow" width="700">
+    <el-dialog title="批量修改" v-model="batchEditShow" :close-on-click-modal="false" width="700">
       <el-tabs v-model="subActiveName" class="demo-tabs">
         <el-tab-pane label="User" name="first">
           <template #label>选中修改({{ selectedList.length }})</template>
@@ -480,7 +480,8 @@
             <el-row :gutter="20">
               <el-col :span="12">
                 <el-form-item label="">
-                  <el-date-picker v-model="editForm.signTime" type="date" format="YYYY-MM-DD"></el-date-picker>
+                  <el-date-picker v-model="editForm.signTime" type="datetime" format="YYYY-MM-DD HH:mm:ss"
+                    value-format="YYYY-MM-DD HH:mm:ss"></el-date-picker>
                 </el-form-item>
               </el-col>
             </el-row>
@@ -516,7 +517,7 @@
       </el-tabs>
       <template #footer>
         <el-button class="border-[#0083FF] color-[#0083FF]" plain @click="batchEditShow = false">取消</el-button>
-        <el-button type="primary" @click="batchEditShow = false">确定</el-button>
+        <el-button type="primary" @click="handleBatchEditSubmit">确定</el-button>
       </template>
     </el-dialog>
   </PageMain>
@@ -623,7 +624,7 @@ const handleInvoice = () => {
     })
     return
   }
-  if(selectedList.value.some((item:any) => item.invoiceStatusName == '已开票')) {
+  if (selectedList.value.some((item: any) => item.invoiceStatusName == '已开票')) {
     ElMessage({
       message: '存在已开票数据,不能开票!',
       type: 'warning'
@@ -840,15 +841,33 @@ let signTime = ref(null)
 let people = ref(null)
 let editForm = ref({})
 const handleBatchEdit = () => {
-  // if(selectedList.value.length<1) {
-  //     ElMessage({
-  //         message: '请选择数据!',
-  //         type: 'warning'
-  //     })
-  //     return
-  // }
+  if (selectedList.value.length < 1) {
+    ElMessage({
+      message: '请选择数据!',
+      type: 'warning'
+    })
+    return
+  }
+  editForm.value = {}
   batchEditShow.value = true
 }
+
+const handleBatchEditSubmit = async () => {
+  const params = {
+    incomeIds: selectedList.value.map(item => item.id),
+    jqSuperviseCostsProportion: editForm.value.jqInsurance,
+    sySuperviseCostsProportion: editForm.value.syInsurance,
+    signingTime: editForm.value.signTime,
+    contractUserName: editForm.value.name,
+    contractPhone: editForm.value.phone,
+  }
+  const { code, data, msg } = await api.financeApi.batchModify(params)
+  if (code === 200) {
+    ElMessage.success(msg)
+    batchEditShow.value = false
+  }
+}
+
 const uploadJYFile = async (file) => {
   let files = file.raw
   const params = new FormData(); // 声明formData数据类型

+ 23 - 11
src/views/receivable/handingFee/ticket.vue

@@ -166,7 +166,7 @@
           <el-input v-model="countForm.taxPoint" placeholder="请输入"></el-input>
         </el-form-item>
         <el-form-item prop="receivableSupervisePremium" label="应收金额">
-          <el-input-number v-model="countForm.receivableSupervisePremium" :min="0" :precision="4"
+          <el-input-number v-model="countForm.receivableSupervisePremium" style="width: 100%;" :min="0" :precision="4"
             @change="handleChange" />
         </el-form-item>
         <el-form-item prop="overinflatedAmount" label="虚增金额">
@@ -180,7 +180,8 @@
             value-format="YYYY-MM-DD HH:mm:ss" format="YYYY-MM-DD" />
         </el-form-item>
         <el-form-item v-if="isSettlement" prop="actualReceivedAmount" label="实收金额">
-          <el-input v-model="countForm.actualReceivedAmount" placeholder="请输入"></el-input>
+          <el-input-number v-model="countForm.actualReceivedAmount" style="width: 100%;" :min="0" :precision="4"
+            @change="handleChange1" />
         </el-form-item>
         <el-form-item v-if="isSettlement" prop="actualReceivedAmount" label="回款差额">
           <el-input v-model="countForm.paymentDifference" placeholder="请输入"></el-input>
@@ -412,16 +413,27 @@ const calBeforeInvoice = async (params: any) => {
   }
 }
 
+/** 计算实收金额与应收监管保费的差值,并将结果赋值给付款差额字段 */
 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
-    countForm.value.paymentDifference = res.data
-  }
+  const num = await calSub(countForm.value.actualReceivedAmount, countForm.value.receivableSupervisePremium)
+  countForm.value.paymentDifference = num
+}
+/** 计算应收监管保费差额并更新虚增金额 */
+
+const handleChange1 = async () => {
+  const num = await calSub(countForm.value.receivableSupervisePremium, receivableSupervisePremium.value)
+  countForm.value.overinflatedAmount = num
+}
+
+/**
+ * 计算两个数值的差值(被减数 - 减数)
+ * @param minuend 被减数
+ * @param subtrahend 减数
+ * @returns 差值,若接口无数据则返回 0
+ */
+const calSub = async (minuend:number, subtrahend:number) => {
+  const res = await api.financeApi.calSub({ minuend, subtrahend })
+  return res.data || 0
 }
 
 const openCountForm = () => {