Просмотр исходного кода

应收导入结算导入增加模版下载

@dongkboy 2 лет назад
Родитель
Сommit
a13e5b7a2c

+ 14 - 1
src/http/moudules/task.js

@@ -785,4 +785,17 @@ export const SettlementDeletes = (data) => {
     data
   })
 }
-
+//获取应收模板
+export const sourceTemplate = () => {
+  return axios({
+    url: "/InsReceivable/getAccountsReceivable",
+    method: "get",
+  })
+}
+//获取结算模板
+export const settlementTemplate = () => {
+  return axios({
+    url: "/InsReceivable/getSettlement",
+    method: "get",
+  })
+}

+ 67 - 227
src/views/FinancialManagement/ReconciliationSystem/ReceivablePayableCollection/SettlementSource.vue

@@ -1,330 +1,153 @@
 <template>
   <div>
     <div class="p-2">
-      <el-form
-        :inline="true"
-        :model="pageRequest"
-        size="small"
-        label-width="120px"
-      >
+      <el-form :inline="true" :model="pageRequest" size="small" label-width="120px">
         <el-row>
           <el-col :span="6">
             <el-form-item label="车牌号:">
-              <el-input
-                v-model="pageRequest.licenseno"
-                placeholder="请输入车牌号"
-                class="widths"
-                clearable
-              ></el-input>
+              <el-input v-model="pageRequest.licenseno" placeholder="请输入车牌号" class="widths" clearable></el-input>
             </el-form-item>
           </el-col>
           <el-col :span="6">
             <el-form-item label="险种">
-              <el-input
-                v-model="pageRequest.insuranceType"
-                placeholder="请输入车牌号"
-                class="widths"
-                clearable
-              ></el-input>
+              <el-input v-model="pageRequest.insuranceType" placeholder="请输入车牌号" class="widths" clearable></el-input>
             </el-form-item>
           </el-col>
           <el-col :span="6">
             <el-form-item label="保险公司">
-              <el-select
-                v-model="pageRequest.insuranceId"
-                filterable
-                class="widths"
-                clearable
-              >
-                <el-option
-                  v-for="val in companyList"
-                  :key="val.id"
-                  :label="val.name"
-                  :value="val.id"
-                ></el-option>
+              <el-select v-model="pageRequest.insuranceId" filterable class="widths" clearable>
+                <el-option v-for="val in companyList" :key="val.id" :label="val.name" :value="val.id"></el-option>
               </el-select>
             </el-form-item>
           </el-col>
 
           <el-col :span="6">
             <el-form-item label="交强保单号:">
-              <el-input
-                v-model="pageRequest.jqPolicyId"
-                placeholder="请输入交强保单号"
-                class="widths"
-                clearable
-              ></el-input>
+              <el-input v-model="pageRequest.jqPolicyId" placeholder="请输入交强保单号" class="widths" clearable></el-input>
             </el-form-item>
           </el-col>
           <el-col :span="6">
             <el-form-item label="商业保单号:">
-              <el-input
-                v-model="pageRequest.syPolicyId"
-                placeholder="请输入商业保单号"
-                class="widths"
-                clearable
-              ></el-input>
+              <el-input v-model="pageRequest.syPolicyId" placeholder="请输入商业保单号" class="widths" clearable></el-input>
             </el-form-item>
           </el-col>
           <el-col :span="6">
             <el-form-item label="非车保单号:">
-              <el-input
-                v-model="pageRequest.nonCarPolicyId"
-                placeholder="请输入非车保单号"
-                class="widths"
-                clearable
-              ></el-input>
+              <el-input v-model="pageRequest.nonCarPolicyId" placeholder="请输入非车保单号" class="widths" clearable></el-input>
             </el-form-item>
           </el-col>
 
           <el-col :span="6">
             <el-form-item label="渠道:">
-              <el-input
-                v-model="pageRequest.channel"
-                placeholder="请输入渠道"
-                class="widths"
-                clearable
-              ></el-input>
+              <el-input v-model="pageRequest.channel" placeholder="请输入渠道" class="widths" clearable></el-input>
             </el-form-item>
           </el-col>
           <el-col :span="6">
             <el-form-item label="渠道等级:">
-              <el-input
-                v-model="pageRequest.channelClassification"
-                placeholder="请输入渠道等级"
-                class="widths"
-                clearable
-              ></el-input>
+              <el-input v-model="pageRequest.channelClassification" placeholder="请输入渠道等级" class="widths"
+                clearable></el-input>
             </el-form-item>
           </el-col>
           <el-col :span="6">
             <el-form-item label="被保险人:">
-              <el-input
-                v-model="pageRequest.insuredName"
-                placeholder="请输入被保险人"
-                class="widths"
-                clearable
-              ></el-input>
+              <el-input v-model="pageRequest.insuredName" placeholder="请输入被保险人" class="widths" clearable></el-input>
             </el-form-item>
           </el-col>
           <el-col :span="6">
             <el-form-item label="结算时间:">
-              <el-date-picker
-                v-model="agencySettlementTime"
-                type="daterange"
-                @change="agencySettlementTimeChange"
-                start-placeholder="开始日期"
-                end-placeholder="结束日期"
-                class="widths"
-                value-format="yyyy-MM-dd"
-                style="width: 220px"
-                clearable
-              >
+              <el-date-picker v-model="agencySettlementTime" type="daterange" @change="agencySettlementTimeChange"
+                start-placeholder="开始日期" end-placeholder="结束日期" class="widths" value-format="yyyy-MM-dd"
+                style="width: 220px" clearable>
               </el-date-picker>
             </el-form-item>
           </el-col>
 
           <el-col :span="6">
             <el-form-item label="签单日期">
-              <el-date-picker
-                v-model="signDateTime"
-                type="daterange"
-                @change="signDateChange"
-                start-placeholder="开始日期"
-                end-placeholder="结束日期"
-                class="widths"
-                value-format="yyyy-MM-dd"
-                style="width: 220px"
-                clearable
-              >
+              <el-date-picker v-model="signDateTime" type="daterange" @change="signDateChange" start-placeholder="开始日期"
+                end-placeholder="结束日期" class="widths" value-format="yyyy-MM-dd" style="width: 220px" clearable>
               </el-date-picker>
             </el-form-item>
           </el-col>
         </el-row>
       </el-form>
       <div class="flex j-end" style="margin-right: 100px">
-        <el-button
-          type="primary"
-          size="small"
-          @click="Search"
-          style="margin-right: 20px"
-          >查询</el-button
-        >
-        <el-upload
-          class="upload-demo"
-          :auto-upload="false"
-          :on-change="writeOffUpload"
-          action="###"
-          :show-file-list="false"
-        >
+        <el-button type="danger" size="small" @click="templateDownload" style="margin-right: 20px">下载模板</el-button>
+        <el-button type="primary" size="small" @click="Search" style="margin-right: 20px">查询</el-button>
+        <el-upload class="upload-demo" :auto-upload="false" :on-change="writeOffUpload" action="###"
+          :show-file-list="false">
           <el-button size="small" type="primary">数据导入</el-button>
         </el-upload>
       </div>
     </div>
     <el-main ref="elMain" style="padding: 0px">
-      <kt-common-table
-        :SerialShow="false"
-        :operationWidth="150"
-        :showOperation="true"
-        permsDelete="sys:user:delete"
-        :showBatchDelete="true"
-        :showBatchSettled="true"
-        :showBatchPrint="true"
-        permsButton1="sys:user:edit"
-        permsButton2="sys:user:edit"
-        permsButton3="sys:user:edit"
-        :data="pageResult"
-        :columns="columns"
-        @findPage="findPage"
-        keyName="id"
-        settledName="批量修改"
-        @handleSettled="handleTableSettled"
-        @handlePrint="handlePrint"
-        @handleDelete="handleDelete"
-        button1Name="修改"
-        button1Background="#E6A23C"
-        @handleButton1="sourceUpdate"
-        button1Icon=""
-      >
+      <kt-common-table :SerialShow="false" :operationWidth="150" :showOperation="true" permsDelete="sys:user:delete"
+        :showBatchDelete="true" :showBatchSettled="true" :showBatchPrint="true" permsButton1="sys:user:edit"
+        permsButton2="sys:user:edit" permsButton3="sys:user:edit" :data="pageResult" :columns="columns"
+        @findPage="findPage" keyName="id" settledName="批量修改" @handleSettled="handleTableSettled"
+        @handlePrint="handlePrint" @handleDelete="handleDelete" button1Name="修改" button1Background="#E6A23C"
+        @handleButton1="sourceUpdate" button1Icon="">
       </kt-common-table>
     </el-main>
     <el-dialog title="信息修改" :visible.sync="dialogFormVisible" v-dialogDrag :close-on-click-modal="false" width="60%">
-      <el-form
-        :model="updateform"
-        :inline="true"
-        label-width="130px"
-        size="small"
-      >
+      <el-form :model="updateform" :inline="true" label-width="130px" size="small">
         <el-form-item label="渠道:">
-          <el-input
-            v-model="updateform.channel"
-            autocomplete="off"
-            class="widths"
-          ></el-input>
+          <el-input v-model="updateform.channel" autocomplete="off" class="widths"></el-input>
         </el-form-item>
         <el-form-item label="车牌号:">
-          <el-input
-            v-model="updateform.licenseno"
-            autocomplete="off"
-            class="widths"
-          ></el-input>
+          <el-input v-model="updateform.licenseno" autocomplete="off" class="widths"></el-input>
         </el-form-item>
         <el-form-item label="被保险人:">
-          <el-input
-            v-model="updateform.insuredName"
-            autocomplete="off"
-            class="widths"
-          ></el-input>
+          <el-input v-model="updateform.insuredName" autocomplete="off" class="widths"></el-input>
         </el-form-item>
         <el-form-item label="险种:">
-          <el-input
-            v-model="updateform.insuranceType"
-            autocomplete="off"
-            class="widths"
-          ></el-input>
+          <el-input v-model="updateform.insuranceType" autocomplete="off" class="widths"></el-input>
         </el-form-item>
         <el-form-item label="业务归属:">
-          <el-input
-            v-model="updateform.businessOwner"
-            autocomplete="off"
-            class="widths"
-          ></el-input>
+          <el-input v-model="updateform.businessOwner" autocomplete="off" class="widths"></el-input>
         </el-form-item>
         <el-form-item label="交强保费:">
-          <el-input
-            v-model="updateform.jqPremiumTax"
-            autocomplete="off"
-            class="widths"
-          ></el-input>
+          <el-input v-model="updateform.jqPremiumTax" autocomplete="off" class="widths"></el-input>
         </el-form-item>
         <el-form-item label="商业保费:">
-          <el-input
-            v-model="updateform.syPremiumTax"
-            autocomplete="off"
-            class="widths"
-          ></el-input>
+          <el-input v-model="updateform.syPremiumTax" autocomplete="off" class="widths"></el-input>
         </el-form-item>
         <el-form-item label="非车保费:">
-          <el-input
-            v-model="updateform.nonCarPremiumTax"
-            autocomplete="off"
-            class="widths"
-          ></el-input>
+          <el-input v-model="updateform.nonCarPremiumTax" autocomplete="off" class="widths"></el-input>
         </el-form-item>
         <el-form-item label="交强应收比例:">
-          <el-input
-            v-model="updateform.compulsoryExportRatio"
-            autocomplete="off"
-            class="widths"
-          ></el-input>
+          <el-input v-model="updateform.compulsoryExportRatio" autocomplete="off" class="widths"></el-input>
         </el-form-item>
         <el-form-item label="商业应收比例:">
-          <el-input
-            v-model="updateform.commercialExportRatio"
-            autocomplete="off"
-            class="widths"
-          ></el-input>
+          <el-input v-model="updateform.commercialExportRatio" autocomplete="off" class="widths"></el-input>
         </el-form-item>
         <el-form-item label="非车应收比例:">
-          <el-input
-            v-model="updateform.nonVehicleExportRatio"
-            autocomplete="off"
-            class="widths"
-          ></el-input>
+          <el-input v-model="updateform.nonVehicleExportRatio" autocomplete="off" class="widths"></el-input>
         </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer">
-        <el-button size="small" @click="dialogFormVisible = false"
-          >取 消</el-button
-        >
-        <el-button size="small" type="primary" @click="updateSubmit"
-          >确 定</el-button
-        >
+        <el-button size="small" @click="dialogFormVisible = false">取 消</el-button>
+        <el-button size="small" type="primary" @click="updateSubmit">确 定</el-button>
       </div>
     </el-dialog>
     <el-dialog title="批量修改" :visible.sync="dialogUpdateVisible" v-dialogDrag :close-on-click-modal="false" width="60%">
-      <el-form
-        :model="batchSizeForm"
-        :inline="true"
-        label-width="130px"
-        size="small"
-      >
+      <el-form :model="batchSizeForm" :inline="true" label-width="130px" size="small">
         <el-form-item label="业务归属:">
-          <el-input
-            v-model="batchSizeForm.businessOwner"
-            autocomplete="off"
-            class="widths"
-          ></el-input>
+          <el-input v-model="batchSizeForm.businessOwner" autocomplete="off" class="widths"></el-input>
         </el-form-item>
         <el-form-item label="交强出口比例:">
-          <el-input
-            v-model="batchSizeForm.compulsoryExportRatio"
-            autocomplete="off"
-            class="widths"
-          ></el-input>
+          <el-input v-model="batchSizeForm.compulsoryExportRatio" autocomplete="off" class="widths"></el-input>
         </el-form-item>
         <el-form-item label="商业出口比例:">
-          <el-input
-            v-model="batchSizeForm.commercialExportRatio"
-            autocomplete="off"
-            class="widths"
-          ></el-input>
+          <el-input v-model="batchSizeForm.commercialExportRatio" autocomplete="off" class="widths"></el-input>
         </el-form-item>
         <el-form-item label="非车出口比例:">
-          <el-input
-            v-model="batchSizeForm.nonVehicleExportRatio"
-            autocomplete="off"
-            class="widths"
-          ></el-input>
+          <el-input v-model="batchSizeForm.nonVehicleExportRatio" autocomplete="off" class="widths"></el-input>
         </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer">
-        <el-button size="small" @click="dialogUpdateVisible = false"
-          >取 消</el-button
-        >
-        <el-button size="small" type="primary" @click="BulkUpdate"
-          >确 定</el-button
-        >
+        <el-button size="small" @click="dialogUpdateVisible = false">取 消</el-button>
+        <el-button size="small" type="primary" @click="BulkUpdate">确 定</el-button>
       </div>
     </el-dialog>
   </div>
@@ -420,8 +243,25 @@ export default {
   created() {
     this.companyInt();
   },
-  mounted() {},
+  mounted() { },
   methods: {
+    //模板下载
+    templateDownload() {
+      this.$api.task.settlementTemplate().then((res) => {
+        if (res.code == '200') {
+          let url = process.env.BASE_URL + res.data;
+          let a = document.createElement("a");
+          a.href = url;
+          a.click();
+          window.URL.revokeObjectURL(url);
+        } else {
+          this.$message({
+            type: 'error',
+            message: res.msg,
+          });
+        }
+      });
+    },
     signDateChange(e) {
       if (e == null) {
         this.pageRequest.signDate = "";
@@ -475,7 +315,7 @@ export default {
         if (res.data) {
           this.$alert(res.msg, "匹配提示", {
             confirmButtonText: "关闭",
-            callback: (action) => {},
+            callback: (action) => { },
           });
         } else {
         }

+ 18 - 0
src/views/FinancialManagement/ReconciliationSystem/ReceivablePayableCollection/Source.vue

@@ -80,6 +80,7 @@
         </el-row>
       </el-form>
       <div class="flex j-end" style="margin-right: 100px">
+        <el-button type="danger" size="small" @click="templateDownload" style="margin-right: 20px">下载模板</el-button>
         <el-button type="success" size="small" @click="createOrUpdateVisible = true"
           style="margin-right: 20px">新增数据</el-button>
         <el-button type="primary" size="small" @click="Search" style="margin-right: 20px">查询</el-button>
@@ -450,6 +451,23 @@ export default {
   },
   mounted() { },
   methods: {
+    //模板下载
+    templateDownload() {
+      this.$api.task.sourceTemplate().then((res) => {
+        if (res.code == '200') {
+          let url = process.env.BASE_URL + res.data;
+          let a = document.createElement("a");
+          a.href = url;
+          a.click();
+          window.URL.revokeObjectURL(url);
+        } else {
+          this.$message({
+            type: 'error',
+            message: res.msg,
+          });
+        }
+      });
+    },
     //新增数据
     insertData() {
       this.$api.task