فهرست منبع

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

祁鹏飞 3 ماه پیش
والد
کامیت
5f32aa3144

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

@@ -134,6 +134,9 @@ const financeApi = (axiosInstance: ApiInstance) => ({
     followInvoicing: (data: any) => axiosInstance.post(`/receivable/followInvoicing`,data), // 开票
     followSettlement: (data: any) => axiosInstance.post(`/receivable/followSettlement`,data), // 结算
     followInvoiceAndSettlement: (data: any) => axiosInstance.post(`/receivable/followInvoiceAndSettlement`,data), // 开票结算
+
+    // 私有-开票-标识结清
+    updateSettlementStatus: (data: any) => axiosInstance.post(`/receivable/updateSettlementStatus?id=${data}`), // 标识结清
 })
 
 export default financeApi

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

@@ -6,7 +6,7 @@ const settlementApi = (axiosInstance: ApiInstance) => ({
   platformSettlementExcel: (data: any) => axiosInstance.post('/receivable/platformSettlementExcel',data), // 平台结算记录
   superviseSettlementExcel: (data: any) => axiosInstance.post('/receivable/superviseSettlementExcel', data), // 手续费车险结算记录
   superviseSettlementDetailExcel: (data: any) => axiosInstance.post('/receivable/superviseSettlementDetailExcel', data), // 结算明细
-
+  exportSuperviseSettlementExcel: (data: any) => axiosInstance.post('/receivable/exportSuperviseSettlementExcel', data,{ responseType: 'blob' }), // 手续费车险结算报表导出
   exportPlatformSettlementExcel: (data: any) => axiosInstance.post('/receivable/exportPlatformSettlementExcel', data, { responseType: 'blob' }), // 手续费结算报表导出
   exportSuperviseSettlementDetailExcel: (data: any) => axiosInstance.post('/receivable/exportSuperviseSettlementDetailExcel', data, { responseType: 'blob' }), // 手续费车险结算报表导出
   exportSuperviseSettlementDetailJyExcel: (data: any) => axiosInstance.post('/receivable/exportSuperviseSettlementDetailJyExcel', data, { responseType: 'blob' }), // 手续费非车险结算报表导出

+ 2 - 3
src/views/insurancePolicy/index.vue

@@ -3218,7 +3218,6 @@ const handleImageClose = (data: any) => {
   images.value = []
   if (data) {
     const { carForm, owerForm, ower1Form, ower2Form, imageVoList, list } = data
-
     if (carForm) {
       insurancePolicyForm.value.isRegistered = '1'
       insurancePolicyForm.value.licenseNo = carForm.licenseNo || hadWritedData.value.licenseNo
@@ -3263,7 +3262,7 @@ const handleImageClose = (data: any) => {
       insurancePolicyForm.value.taxpayerIdentifier = owerForm.identifyType || hadWritedData.value.taxpayerIdentifier
       insurancePolicyForm.value.identifyNumber = owerForm.identifyNumber || hadWritedData.value.identifyNumber
     }
-    if (ower1Form.name) {
+    if (ower1Form) {
       insurancePolicyForm.value.name2 = ower1Form.name || hadWritedData.value.name2
       insurancePolicyForm.value.mobile2 = ower1Form.mobile || hadWritedData.value.mobile2
       insurancePolicyForm.value.identifyType2 = ower1Form.identifyType || hadWritedData.value.identifyType2
@@ -3285,7 +3284,7 @@ const handleImageClose = (data: any) => {
         btns.value.owner1Text = '其他人'
       }
     }
-    if (ower2Form.name) {
+    if (ower2Form) {
       insurancePolicyForm.value.name3 = ower2Form.name || hadWritedData.value.name3
       insurancePolicyForm.value.mobile3 = ower2Form.mobile || hadWritedData.value.mobile3
       insurancePolicyForm.value.identifyType3 = ower2Form.identifyType || hadWritedData.value.identifyType3

+ 2 - 1
src/views/platform/index.vue

@@ -202,7 +202,8 @@
               <el-button link type="primary" :disabled="scope.row.settlementStatusName == '已结算'"
                 @click="ticketRef.openSettlement([scope.row], scope.row.contactPersonPhone)">结算</el-button>
               <el-button link type="primary" @click="toEdit(scope.row)">编辑</el-button>
-              <el-button link type="primary" @click="toDelete([scope.row.id])">删除</el-button>
+              <el-button link type="primary" :disabled="scope.row.settlementStatusName == '已结算'"
+                @click="toDelete([scope.row.id])">删除</el-button>
             </template>
           </el-table-column>
         </el-table>

+ 28 - 0
src/views/platform/platformRecord.vue

@@ -79,6 +79,7 @@
       <el-table-column prop="createTime" label="结算时间" width="200"></el-table-column>
       <el-table-column label="操作" width="200" align="center" fixed="right">
         <template #default="scope">
+          <el-button link type="primary" @click="handleDetail(scope.row)">删除</el-button>
           <el-button link type="primary" @click="viewDetail(scope.row)">明细查询</el-button>
         </template>
       </el-table-column>
@@ -100,6 +101,7 @@
 <script setup lang="ts">
 import api from "@/api";
 import { useRoute, useRouter } from 'vue-router';
+import { ElMessage, ElMessageBox } from 'element-plus';
 const route = useRoute();
 const router = useRouter();
 
@@ -202,6 +204,32 @@ const initOption = () => {
     })
   })
 }
+const handleDetail = (type) => {
+  console.log(type.settlementId)
+  ElMessageBox.confirm(
+    '确定删除该记录吗?',
+    '删除',
+    {
+      confirmButtonText: '确定删除',
+      type: 'error',
+      center: true,
+      confirmButtonClass: 'el-button--danger',
+    }
+  )
+    .then(() => {
+      api.settlementApi.deleteSettlement(type.settlementId).then((res: any) => {
+        if (res.code == 200) {
+          ElMessage({
+            message: '删除成功',
+            type: 'success'
+          })
+          initList()
+        }
+      })
+    })
+    .catch(() => {
+    })
+}
 const viewDetail = (row) => {
   console.log(row)
   router.push({

+ 8 - 0
src/views/platform/ticket.vue

@@ -286,6 +286,7 @@ const getByCompanyId = () => {
 
 const initData = () => {
   // router
+  if (selectedList.value.length < 1) return
   api.financeApi.getSelectedReceivableList({ orderNos: selectedList.value.map(v => v.orderNo), searchList: searchList.value, logicJudge: logicJudge.value, }).then((res: any) => {
     if (res.code == 200) {
       tableData.value = res.data
@@ -508,6 +509,13 @@ const handleBack = () => {
   router.back()
 }
 const handleSettlement = () => {
+  if (selectedList.value.length < 1) {
+    ElMessage({
+      message: '请选择要结算的数据!',
+      type: 'warning'
+    })
+    return
+  }
   // 查应收金额
   api.financeApi.getPlatformSettlementReceivableAmount({
     invoiceType: "5",

+ 36 - 15
src/views/receivable/documentary/documentaryRecord.vue

@@ -76,19 +76,25 @@
       <el-table-column label="操作" width="200" fixed="right">
         <template #default="scope">
           <div class="flex a-c ">
-            <el-button link type="primary" :disabled="scope.row.settlementStatus == '已结算'" @click="handleCount(scope.row)">结算</el-button>
-          <el-button link type="primary" :disabled="scope.row.settlementStatus == '已结算'" @click="handleDelete(scope.row)">删除</el-button>
-          <el-dropdown placement="bottom-start" trigger="click" >
-            <span class="el-dropdown-link">
-              明细查询
-            </span>
-            <template #dropdown>
-              <el-dropdown-menu>
-                <el-dropdown-item :disabled="scope.row.settlementStatus == '未结算'" @click="handleCountRecord(scope.row)">结算记录</el-dropdown-item>
-                <el-dropdown-item :disabled="scope.row.settlementStatus == '未结算'" @click="handleInvoiceDetail(scope.row)">开票明细</el-dropdown-item>
-              </el-dropdown-menu>
-            </template>
-          </el-dropdown>
+            <el-button link type="primary" :disabled="scope.row.settlementStatus == '已结算'"
+              @click="handleCount(scope.row)">结算</el-button>
+            <el-button link type="primary" :disabled="scope.row.settlementStatus == '已结算'"
+              @click="handleDelete(scope.row)">删除</el-button>
+            <el-button link type="primary" :disabled="scope.row.settlementStatus == '已结算'"
+              @click="handleSettlement(scope.row)">标识结清</el-button>
+            <el-dropdown placement="bottom-start" trigger="click">
+              <span class="el-dropdown-link">
+                明细查询
+              </span>
+              <template #dropdown>
+                <el-dropdown-menu>
+                  <el-dropdown-item :disabled="scope.row.settlementStatus == '未结算'"
+                    @click="handleCountRecord(scope.row)">结算记录</el-dropdown-item>
+                  <el-dropdown-item :disabled="scope.row.settlementStatus == '未结算'"
+                    @click="handleInvoiceDetail(scope.row)">开票明细</el-dropdown-item>
+                </el-dropdown-menu>
+              </template>
+            </el-dropdown>
           </div>
 
 
@@ -118,8 +124,8 @@
           <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="countForm.remainSettlementAmount" :precision="2" controls-position="right" @change="handleChange()" />
         </el-form-item>
         <el-form-item label="回款差额">
           <el-input v-model="countForm.settlementPaymentDifference" disabled placeholder="自动计算" />
@@ -255,6 +261,20 @@ const calSub = async (minuend: number = 0, subtrahend: number) => {
   const res = await api.financeApi.calSub({ minuend, subtrahend })
   return res.data || 0
 }
+// 标识结清
+const handleSettlement = (row: any) => {
+  api.financeApi.updateSettlementStatus(row.id).then((res: any) => {
+    if (res.code == 200) {
+      ElMessage({
+        message: res.msg,
+        type: 'success'
+      })
+      initList()
+    } else {
+
+    }
+  })
+}
 // 删除
 const handleDelete = (row) => {
   ElMessageBox.confirm(
@@ -462,6 +482,7 @@ onMounted(() => {
     color: #ccc;
   }
 }
+
 :deep(.el-dropdown-link) {
   display: flex;
   align-items: center;

+ 20 - 4
src/views/receivable/documentary/index.vue

@@ -29,8 +29,9 @@
             </el-col>
             <el-col :span="8">
               <el-form-item label="出单协议">
-                <el-select v-model="receivableForm.agreementId" placeholder="请选择" clearable>
-                  <el-option label="1" value="1"></el-option>
+                <el-select v-model="receivableForm.agreementId" placeholder="请选择" clearable filterable>
+                  <el-option v-for="item in agreementList" :key="item.id" :value="item.id"
+                  :label="item.agreementTitle"></el-option>
                 </el-select>
               </el-form-item>
             </el-col>
@@ -219,8 +220,9 @@
             </el-col>
             <el-col :span="8">
               <el-form-item label="出单协议">
-                <el-select v-model="receivableForm.agreementId" placeholder="请选择" clearable>
-                  <el-option label="1" value="1"></el-option>
+                <el-select v-model="receivableForm.agreementId" placeholder="请选择" clearable filterable>
+                  <el-option v-for="item in agreementList" :key="item.id" :value="item.id"
+                  :label="item.agreementTitle"></el-option>
                 </el-select>
               </el-form-item>
             </el-col>
@@ -668,6 +670,19 @@ const toEdit = (row: any) => {
     }
   })
 }
+// 获取协议列表
+const agreementList = ref()
+const getagreementList = () => {
+  api.agreementApi.agreementList({
+    isExternal: '0',
+    pages: 1,
+    size: 1000,
+  }).then((res: any) => {
+    if (res.code == 200) {
+      agreementList.value = res.data.records
+    }
+  })
+}
 let options = ref([])
 const handleInvoice = () => {
   if (selectedList.value.length < 1) {
@@ -1166,6 +1181,7 @@ onMounted(() => {
   initDept();
   getOtherReceivableList();
   getreceivedAmountTotal();
+  getagreementList();
 })
 
 </script>

+ 20 - 5
src/views/receivable/handingFee/index.vue

@@ -25,8 +25,9 @@
 
             <el-col :span="8">
               <el-form-item label="出单协议">
-                <el-select v-model="receivableForm.agreementId" placeholder="请选择" clearable>
-                  <el-option label="1" value="1"></el-option>
+                <el-select v-model="receivableForm.agreementId" placeholder="请选择" clearable filterable>
+                  <el-option v-for="item in agreementList" :key="item.id" :value="item.id"
+                  :label="item.agreementTitle"></el-option>
                 </el-select>
               </el-form-item>
             </el-col>
@@ -221,8 +222,9 @@
 
             <el-col :span="8">
               <el-form-item label="出单协议">
-                <el-select v-model="receivableForm.agreementId" placeholder="请选择" clearable>
-                  <el-option label="1" value="1"></el-option>
+                <el-select v-model="receivableForm.agreementId" placeholder="请选择" clearable filterable>
+                  <el-option v-for="item in agreementList" :key="item.id" :value="item.id"
+                  :label="item.agreementTitle"></el-option>
                 </el-select>
               </el-form-item>
             </el-col>
@@ -588,7 +590,19 @@ const toDelete = (ids) => {
     })
   })
 }
-
+// 获取协议列表
+const agreementList = ref()
+const getagreementList = () => {
+  api.agreementApi.agreementList({
+    isExternal: '0',
+    pages: 1,
+    size: 1000,
+  }).then((res: any) => {
+    if (res.code == 200) {
+      agreementList.value = res.data.records
+    }
+  })
+}
 let ReceiveDataRef1 = ref()
 let ReceiveDataRef2 = ref()
 // 选中的数据
@@ -1165,6 +1179,7 @@ onMounted(() => {
   initDept();
   getCommissionReceivableList();
   getreceivedAmountTotal()
+  getagreementList()
 })
 </script>
 

+ 34 - 15
src/views/receivable/handingFee/invoiceRecord.vue

@@ -81,22 +81,26 @@
       <!-- <el-table-column prop="remainSettlementAmount" label="待结算金额" width="120"></el-table-column> -->
       <el-table-column prop="createBy" label="开票人" width="120"></el-table-column>
       <el-table-column prop="createTime" label="开票时间" width="150"></el-table-column>
-      <el-table-column label="操作" width="200" fixed="right" align="center">
-        <template #default="scope" >
+      <el-table-column label="操作" width="300" fixed="right" align="center">
+        <template #default="scope">
           <div class="flex a-c ">
-            <el-button link type="primary" :disabled="scope.row.settlementStatus == '已结算'" @click="handleCount(scope.row)">结算</el-button>
-          <el-button link type="primary" :disabled="scope.row.settlementStatus == '已结算'" @click="handleDelete(scope.row)">删除</el-button>
-          <el-dropdown placement="bottom-start" trigger="click" >
-            <span class="el-dropdown-link">
-              明细查询
-            </span>
-            <template #dropdown>
-              <el-dropdown-menu>
-                <el-dropdown-item :disabled="scope.row.settlementStatus == '未结算'" @click="handleCountRecord(scope.row)">结算记录</el-dropdown-item>
-                <el-dropdown-item :disabled="scope.row.settlementStatus == '未结算'" @click="handleInvoiceDetail(scope.row)">开票明细</el-dropdown-item>
-              </el-dropdown-menu>
-            </template>
-          </el-dropdown>
+            <el-button link type="primary" :disabled="scope.row.settlementStatus == '已结算'"
+              @click="handleCount(scope.row)">结算</el-button>
+            <el-button link type="primary" :disabled="scope.row.settlementStatus == '已结算'"
+              @click="handleDelete(scope.row)">删除</el-button>
+            <el-button link type="primary" :disabled="scope.row.settlementStatus == '已结算'"
+              @click="handleSettlement(scope.row)">标识结清</el-button>
+            <el-dropdown placement="bottom-start" trigger="click">
+              <span class="el-dropdown-link">
+                明细查询
+              </span>
+              <template #dropdown>
+                <el-dropdown-menu>
+                  <el-dropdown-item @click="handleCountRecord(scope.row)">结算记录</el-dropdown-item>
+                  <el-dropdown-item @click="handleInvoiceDetail(scope.row)">开票明细</el-dropdown-item>
+                </el-dropdown-menu>
+              </template>
+            </el-dropdown>
           </div>
 
         </template>
@@ -322,6 +326,20 @@ const handleDelete = (row) => {
     .catch(() => {
     })
 }
+// 标识结清
+const handleSettlement = (row: any) => {
+  api.financeApi.updateSettlementStatus(row.id).then((res: any) => {
+    if (res.code == 200) {
+      ElMessage({
+        message: res.msg,
+        type: 'success'
+      })
+      initList()
+    } else {
+
+    }
+  })
+}
 // 列表
 const initList = () => {
   api.invoiceRecordApi.invoiceRecord({
@@ -570,6 +588,7 @@ onMounted(() => {
   width: 100%;
   height: 100%;
 }
+
 :deep(.el-dropdown-link) {
   display: flex;
   align-items: center;

+ 16 - 8
src/views/receivable/handingFee/report.vue

@@ -46,16 +46,11 @@
         <el-table height="calc(100% - 100px)" :data="recordData" row-key="id" :summary-method="getSummaries"
           show-summary>
           <el-table-column prop="companyName" label="保险公司" width="300"></el-table-column>
-          <!--                    <el-table-column type="expand" label="合作保险公司" width="200">
-                        <template #default>
-                            展开
-                        </template>
-</el-table-column>-->
           <el-table-column prop="totalReceivable" label="应收金额"></el-table-column>
           <el-table-column prop="superviseFee" label="应收手续费"></el-table-column>
-          <el-table-column prop="sxfInvoicedAmount" label="已开票"></el-table-column>
+          <el-table-column prop="SxfInvoicedAmount" label="已开票"></el-table-column>
           <el-table-column prop="sxfSettledAmount" label="已结算"></el-table-column>
-          <el-table-column prop="sxfUnInvoicedAmount" label="未开票"></el-table-column>
+          <el-table-column prop="SxfUnInvoicedAmount" label="未开票"></el-table-column>
           <el-table-column prop="sxfUnSettledAmount" label="未结算"></el-table-column>
           <el-table-column label="操作" fixed="right" width="120">
             <template #default="scope">
@@ -598,7 +593,20 @@ const handleExport = (type) => {
 }
 const exportSuperviseSettlementExcel = () => {
   api.settlementApi.exportSuperviseSettlementExcel({
-
+    agreementType: '2',
+    settlementId: recordForm1.value.settlementId,
+    invoiceParty: recordForm1.value.invoiceParty,
+    invoiceRiskType: recordForm1.value.invoiceRiskType,
+    status: recordForm1.value.status,
+    companyId: recordForm1.value.companyId,
+    invoiceType: recordForm1.value.invoiceType,
+    settlementPerson: recordForm1.value.settlementPerson,
+    invoiceId: recordForm1.value.invoiceId,
+    settlementDateStart: recordForm1.value.settlementTime?.[0],
+    settlementDateEnd: recordForm1.value.settlementTime?.[1],
+    pages: pages.value,
+    size: size.value,
+    invoiceTypes: ['1', '3']
   }).then((res: any) => {
     const blob = new Blob([res], { type: 'application/vnd.ms-excel' });
     const fileName = '手续费应收结算报表明细' + new Date().getTime() + '.xlsx';