Kaynağa Gözat

财务管理-费用核对下面的一些页面修改

lihongxiao 3 yıl önce
ebeveyn
işleme
c24a13bfb0

+ 7 - 6
src/components/TemplateTable/index.vue

@@ -42,8 +42,8 @@
               <el-option
               <el-option
                 v-for="(s, i) in f.options"
                 v-for="(s, i) in f.options"
                 :key="i"
                 :key="i"
-                :label="s.label"
-                :value="s.value"
+                :label="s.label||s.dictTag"
+                :value="s.value||s.dictValue"
               ></el-option>
               ></el-option>
             </el-select>
             </el-select>
           </template>
           </template>
@@ -79,6 +79,7 @@
               </el-radio-group>
               </el-radio-group>
           </template>
           </template>
         </template>
         </template>
+        
       </el-form-item>
       </el-form-item>
       
       
       
       
@@ -242,6 +243,7 @@ export default {
             return formatDateTime(val)
             return formatDateTime(val)
         }
         }
     },
     },
+  
   methods: {
   methods: {
     formatDateTime(date) {
     formatDateTime(date) {
       let d = new Date(date),
       let d = new Date(date),
@@ -267,6 +269,7 @@ export default {
       });
       });
       return obj;
       return obj;
     },
     },
+   
     selectDictLabel(dicts, value) {
     selectDictLabel(dicts, value) {
         if (value === undefined) {
         if (value === undefined) {
             return '';
             return '';
@@ -319,12 +322,10 @@ export default {
 };
 };
 </script>
 </script>
 <style scoped>
 <style scoped>
-.selectLength{
-  width: 230px;
-}
+
 .selectLength /deep/ .el-select__tags-text {
 .selectLength /deep/ .el-select__tags-text {
   display: inline-block;
   display: inline-block;
-  max-width: 120px;
+  max-width: 110px;
   overflow: hidden;
   overflow: hidden;
   text-overflow: ellipsis;
   text-overflow: ellipsis;
   white-space: nowrap;
   white-space: nowrap;

+ 7 - 11
src/views/FinancialManagement/CostVerification/Baosi.vue

@@ -57,13 +57,12 @@
               >重新导入</el-button>
               >重新导入</el-button>
             </el-upload>
             </el-upload>
           </div>
           </div>
-          <el-button
-          
+          <!-- <el-button
             v-if="scope.row.importStatus == 1"
             v-if="scope.row.importStatus == 1"
             size="mini"
             size="mini"
             type="primary"
             type="primary"
             @click="modifyFun(scope.row)"
             @click="modifyFun(scope.row)"
-          >修改</el-button>
+          >修改</el-button> -->
           <el-button
           <el-button
             size="mini"
             size="mini"
             type="primary"
             type="primary"
@@ -145,15 +144,12 @@
           <el-col :span="4">商业险保费:{{ formDetailData.cip }}</el-col>
           <el-col :span="4">商业险保费:{{ formDetailData.cip }}</el-col>
           <el-col :span="4">其他保费:{{ formDetailData.other }}</el-col>
           <el-col :span="4">其他保费:{{ formDetailData.other }}</el-col>
         </el-row>
         </el-row>
-        <!-- <el-row style="margin:20px 0">
-          <el-col :span="4">车船税:{{ formDetailData.vavt }}</el-col>
-          <el-col :span="4">手续费:</el-col>
-          <el-col :span="4">其他保费:{{ formDetailData.other }}</el-col>
-          <el-col :span="4">手续费:</el-col>
+        <el-row style="margin:20px 0">
+          <el-col :span="4">交强险费用:{{ formDetailData.mliftaCost }}</el-col>
+          <el-col :span="4">商业险费用:{{ formDetailData.cipCost }}</el-col>
+          <el-col :span="4">车船税费用:{{ formDetailData.vavtCost }}</el-col>
+          <el-col :span="4">其他费用:{{ formDetailData.otherCost }}</el-col>
         </el-row>
         </el-row>
-        <el-row>
-          <el-col :span="16" style="text-align: center;">合计手续费:</el-col>
-        </el-row> -->
       </div>
       </div>
       <el-table
       <el-table
         size="small"
         size="small"

+ 80 - 18
src/views/FinancialManagement/CostVerification/Channel.vue

@@ -2,7 +2,12 @@
   <!--布局容器-->
   <!--布局容器-->
   <div class="container" style="width: 99%; margin-top: 0px">
   <div class="container" style="width: 99%; margin-top: 0px">
     <templateTable :formList="formList" :searchData.sync="searchData" :tableConfig="tableConfig" :btnGroup="btnGroup"
     <templateTable :formList="formList" :searchData.sync="searchData" :tableConfig="tableConfig" :btnGroup="btnGroup"
-      :data="tableData" @getList="getList" @handleSearchList="handleSearchList" :pagination="queryBatchFrom">
+      :data="tableData" @getList="getList" @handleSearchList="handleSearchList" :pagination="queryBatchFrom" @selectionChange="selectionChange">
+      <el-table-column slot="status" label="状态" align="center" slot-scope="scope">
+        <template slot-scope="scope">
+          <span>{{ getStatus(scope.row) }}</span>
+        </template>
+      </el-table-column>
       <template slot="excel导入" slot-scope="scope">
       <template slot="excel导入" slot-scope="scope">
         <div style="display:inline-block;margin:0 5px">
         <div style="display:inline-block;margin:0 5px">
           <el-upload class="upload" ref="upload" :show-file-list="false" :limit="1" action="#"
           <el-upload class="upload" ref="upload" :show-file-list="false" :limit="1" action="#"
@@ -110,7 +115,13 @@
         <el-col :span="6">车船税:{{ formBatchDetailData.vavt }}</el-col>
         <el-col :span="6">车船税:{{ formBatchDetailData.vavt }}</el-col>
         <el-col :span="6">其他保费:{{ formBatchDetailData.other }}</el-col>
         <el-col :span="6">其他保费:{{ formBatchDetailData.other }}</el-col>
       </el-row>
       </el-row>
-      <el-row>
+      <el-row >
+        <el-col :span="6">交强险费用:{{ formBatchDetailData.mliftaCost }}</el-col>
+          <el-col :span="6">商业险费用:{{ formBatchDetailData.cipCost }}</el-col>
+          <el-col :span="6">车船税费用:{{ formBatchDetailData.vavtCost }}</el-col>
+          <el-col :span="6">其他费用:{{ formBatchDetailData.otherCost }}</el-col>
+      </el-row>
+      <el-row style="margin-top:20px">
         <el-col :span="6">险种:{{ formBatchDetailData.insCoverage }}</el-col>
         <el-col :span="6">险种:{{ formBatchDetailData.insCoverage }}</el-col>
         <el-col :span="6">付款日期:{{ formBatchDetailData.payDate }}</el-col>
         <el-col :span="6">付款日期:{{ formBatchDetailData.payDate }}</el-col>
       </el-row>
       </el-row>
@@ -319,15 +330,16 @@ export default {
   mixins: [mixin],
   mixins: [mixin],
   components: { templateTable },
   components: { templateTable },
   created() {
   created() {
-    // this.$api.cost.gainTopList().then(res => {
-    //   if (res.data) {
-    //     this.InsCompanyList = res.data;
-    //   }
-    // });
+    this.$api.insCompany
+        .dicType('checkingStatusEnum')
+        .then((response) => {
+          this.checkingStatusEnum=response.data.ddList
+        })
     this.getList()
     this.getList()
   },
   },
   data() {
   data() {
     return {
     return {
+      checkingStatusEnum:[],
       InsCompany: "",
       InsCompany: "",
       InsCompanyList: [],
       InsCompanyList: [],
       queryBatchFrom: {
       queryBatchFrom: {
@@ -360,7 +372,7 @@ export default {
         totalSize: 0
         totalSize: 0
       },
       },
       Unmatched: [],
       Unmatched: [],
-
+      selectionIds:[]
     };
     };
   },
   },
   methods: {
   methods: {
@@ -403,7 +415,15 @@ export default {
     closeVisible() {
     closeVisible() {
       this.dialogVisible = false;
       this.dialogVisible = false;
     },
     },
-
+    getStatus(row) {
+      let data=''
+      this.checkingStatusEnum.find(val=>{
+        if(val.dictValue==row.status){
+          data=val.dictTag
+        }
+      })
+      return data
+    },
     templateDownload() {
     templateDownload() {
       let a = document.createElement('a')
       let a = document.createElement('a')
       a.href = `${process.env.BASE_URL}/template/finance_channel_model_A.xlsx`;
       a.href = `${process.env.BASE_URL}/template/finance_channel_model_A.xlsx`;
@@ -488,13 +508,17 @@ export default {
     },
     },
     mateFun(row) {
     mateFun(row) {
       this.dialogMateVisible = true;
       this.dialogMateVisible = true;
-      this.batchNumDetailId=row.id
-      this.mate1(row.id)
-      this.mate2(row.id)
+      this.batchNumDetailId=[row.id]
+      this.mate1([row.id])
+      this.mate2([row.id])
     },
     },
      // 匹配页面
      // 匹配页面
-     mate1(batchNum){
-      this.$api.cost.getChannelMatchingIns({batchNum,isMatch:1,...this.matchPage1}).then(res => {
+     mate1(ids){
+      let dto={
+        ids,
+        isMatch:1
+      }
+      this.$api.cost.getChannelMatchingIns({dto,...this.matchPage1}).then(res => {
         if (res.code == 200 && res.data) {
         if (res.code == 200 && res.data) {
           this.mateData = res.data.content;
           this.mateData = res.data.content;
           this.matchPage1.pageNum=res.data.pageNum
           this.matchPage1.pageNum=res.data.pageNum
@@ -503,8 +527,12 @@ export default {
         }
         }
       });
       });
     },
     },
-    mate2(batchNum){
-      this.$api.cost.getChannelMatchingIns({batchNum,isMatch:0,...this.matchPage2}).then(res => {
+    mate2(ids){
+      let dto={
+        ids,
+        isMatch:0
+      }
+      this.$api.cost.getChannelMatchingIns({dto,...this.matchPage2}).then(res => {
         if (res.code == 200 && res.data) {
         if (res.code == 200 && res.data) {
           if(res.data.content&&res.data.content.length>0){
           if(res.data.content&&res.data.content.length>0){
             this.isDisabled=true
             this.isDisabled=true
@@ -519,7 +547,35 @@ export default {
         }
         }
       });
       });
     },
     },
-   
+    selectionChange(row){
+      this.selectionIds=row
+     
+    },
+    batchMatching(){
+      let isStatus=false
+      this.selectionIds.forEach(val=>{
+        if(val.status=='0'){
+          isStatus=true
+        }
+        else{
+          isStatus=false
+        }
+      })
+      if(isStatus){
+        let ids=this.selectionIds.map(val=> val.id)
+        this.dialogMateVisible = true;
+        this.batchNumDetailId=ids
+        this.mate1(ids)
+        this.mate2(ids)
+      }
+      else{
+        this.$message.warning('请选择可匹配的数据!')
+      }
+    },
+    handleUnmatchedFun(row) {
+      this.dialogBVatchUpdata = true;
+      this.mateform=row
+    },
     closdialogBVatceVisible() {
     closdialogBVatceVisible() {
       this.dialogBVatchUpdata = false;
       this.dialogBVatchUpdata = false;
     },
     },
@@ -534,7 +590,10 @@ export default {
         cip:this.mateform.cip1,
         cip:this.mateform.cip1,
         mlifta:this.mateform.mlifta1,
         mlifta:this.mateform.mlifta1,
         vavt:this.mateform.vavt1,
         vavt:this.mateform.vavt1,
-        id:this.mateform.id
+        id:this.mateform.id,
+        cipCost:this.mateform.mliftaCost1,
+        mliftaCost:this.mateform.mliftaCost1,
+        vavtCost:this.mateform.vavtCost1,
       }
       }
       this.$api.cost
       this.$api.cost
         .getchanneEdit(obj)
         .getchanneEdit(obj)
@@ -547,6 +606,9 @@ export default {
             this.dialogBVatchUpdata = false;
             this.dialogBVatchUpdata = false;
             this.mate2(this.batchNumDetailId)
             this.mate2(this.batchNumDetailId)
           }
           }
+          else{
+            this.$message.error(res.msg)
+          }
         });
         });
     },
     },
     tableCurrentmatch2Change(val) {
     tableCurrentmatch2Change(val) {

+ 45 - 43
src/views/FinancialManagement/CostVerification/CostVerification.vue

@@ -3,11 +3,11 @@
   <div class="container" style="width: 99%; margin-top: 0px">
   <div class="container" style="width: 99%; margin-top: 0px">
     <templateTable :formList="formList" :searchData.sync="searchData" :tableConfig="tableConfig" :data="tableData"
     <templateTable :formList="formList" :searchData.sync="searchData" :tableConfig="tableConfig" :data="tableData"
       @getList="getList" @handleSearchList="handleSearchList" :pagination="page">
       @getList="getList" @handleSearchList="handleSearchList" :pagination="page">
-      <el-table-column slot="id" label="批次号" align="center">
+      <!-- <el-table-column slot="id" label="批次号" align="center">
         <template slot-scope="scope">
         <template slot-scope="scope">
           <span class="batchStyle" @click="redirectDetail(scope.row)">{{ scope.row.id }}</span>
           <span class="batchStyle" @click="redirectDetail(scope.row)">{{ scope.row.id }}</span>
         </template>
         </template>
-      </el-table-column>
+      </el-table-column> -->
     </templateTable>
     </templateTable>
     <el-dialog v-dialogDrag title="修改" :visible.sync="dialogVisible" width="1200px" @close="closeVisible">
     <el-dialog v-dialogDrag title="修改" :visible.sync="dialogVisible" width="1200px" @close="closeVisible">
       <div>
       <div>
@@ -117,14 +117,10 @@ export default {
       formList: [
       formList: [
         {
         {
           label: "保险公司",
           label: "保险公司",
-          prop: "insCompanyIdList",
+          prop: "insCompanyIds",
           type: "companyCheck",
           type: "companyCheck",
         },
         },
-        {
-          label: "批次号",
-          prop: "id",
-          type: 'input'
-        },
+       
         {
         {
           label: "车牌号",
           label: "车牌号",
           prop: "plateNum",
           prop: "plateNum",
@@ -136,33 +132,34 @@ export default {
         //   type: "datePicker",
         //   type: "datePicker",
         //   dateType: 'daterange'
         //   dateType: 'daterange'
         // },
         // },
-        // {
-        //   label: "支付状态",
-        //   prop: "status",
-        //   type: 'select',
-        //   options: [
-        //     {
-        //       label: '未领取',
-        //       value: '0'
-        //     },
-        //     {
-        //       label: '未支付',
-        //       value: '1'
-        //     },
-        //     {
-        //       label: '已支付',
-        //       value: '2'
-        //     },
-        //   ]
-        // },
+        {
+          label: "分类",
+          prop: "classify",
+          type: 'select',
+          options: [
+            {
+              label: '保司',
+              value: '保司'
+            },
+            {
+              label: '渠道',
+              value: '渠道'
+            },
+          ]
+        },
+        {
+          label: "业务渠道",
+          prop: "channel",
+          type: 'input'
+        },
       ],
       ],
       searchData: {},
       searchData: {},
       tableConfig: {
       tableConfig: {
         columns: [
         columns: [
-          {
-            type: 'slot',
-            name: 'id',
-          },
+          // {
+          //   type: 'slot',
+          //   name: 'id',
+          // },
           {
           {
             prop: 'insCompany', label: '保险公司', type: 'text',
             prop: 'insCompany', label: '保险公司', type: 'text',
           },
           },
@@ -186,19 +183,24 @@ export default {
         ],
         ],
         loading: true,
         loading: true,
         isPaginationShow: true,
         isPaginationShow: true,
-        optBtns: [
-          {
-            type: 'primary',
-            label: '修改',
-            click: (row, index) => { return this.modifyFun(row) },
-          },
-          {
-            type: 'primary',
-            label: '删除',
-            click: (row, index) => { return this.deleteFun(row) },
-          },
+        // optBtns: [
+        //   {
+        //     type: 'primary',
+        //     label: '详情',
+        //     click: (row, index) => { return this.detailBatchFun(row) },
+        //   },
+          // {
+          //   type: 'primary',
+          //   label: '修改',
+          //   click: (row, index) => { return this.modifyFun(row) },
+          // },
+          // {
+          //   type: 'primary',
+          //   label: '删除',
+          //   click: (row, index) => { return this.deleteFun(row) },
+          // },
           
           
-        ]
+        // ]
       },
       },
       InsCompanyList: [],
       InsCompanyList: [],
       page: {
       page: {

+ 9 - 7
src/views/FinancialManagement/CostVerification/Payment.vue

@@ -1,7 +1,7 @@
 <template>
 <template>
     <!--布局容器-->
     <!--布局容器-->
     <div class="container" style="width: 99%; margin-top: 0px">
     <div class="container" style="width: 99%; margin-top: 0px">
-        <templateTable :formList="formList" :searchData.sync="searchData" :tableConfig="tableConfig" :btnGroup="btnGroup"
+        <templateTable :formList="formList" :searchData.sync="searchData" :tableConfig="tableConfig1" :btnGroup="btnGroup"
             :data="tableData" @getList="getList" @handleSearchList="handleSearchList" :pagination="queryFrom"
             :data="tableData" @getList="getList" @handleSearchList="handleSearchList" :pagination="queryFrom"
             @selectionChange="selectionChange">
             @selectionChange="selectionChange">
             <el-table-column slot="batchNum" label="批次号" align="center">
             <el-table-column slot="batchNum" label="批次号" align="center">
@@ -122,7 +122,7 @@ export default {
                     ]
                     ]
                 },
                 },
             ],
             ],
-            tableConfig: {
+            tableConfig1: {
                 columns: [
                 columns: [
                     {
                     {
                         type: 'slot', name: 'batchNum',
                         type: 'slot', name: 'batchNum',
@@ -163,7 +163,8 @@ export default {
                         prop: 'cope', label: '应付', type: 'text',
                         prop: 'cope', label: '应付', type: 'text',
                     }, {
                     }, {
                         prop: 'payOperator', label: '操作人', type: 'text',
                         prop: 'payOperator', label: '操作人', type: 'text',
-                    }, {
+                    },
+                     {
                         prop: 'payDate', label: '支付日期', type: 'text',
                         prop: 'payDate', label: '支付日期', type: 'text',
                     }
                     }
                 ],
                 ],
@@ -175,7 +176,8 @@ export default {
                         label: '支付',
                         label: '支付',
                         hide: (row) => { return row.status == '1' },
                         hide: (row) => { return row.status == '1' },
                         click: (row, index) => { return this.payFun(row) },
                         click: (row, index) => { return this.payFun(row) },
-                    }
+                    },
+                   
                 ]
                 ]
             },
             },
             btnGroup: [{
             btnGroup: [{
@@ -246,16 +248,16 @@ export default {
     methods: {
     methods: {
         //列表数据
         //列表数据
         getList(data) {
         getList(data) {
-            this.tableConfig.loading = true;
+            this.tableConfig1.loading = true;
             this.$api.cost.getchanneQueryPageDetails({ ...this.queryFrom, ...data }).then(res => {
             this.$api.cost.getchanneQueryPageDetails({ ...this.queryFrom, ...data }).then(res => {
                 if (res.data) {
                 if (res.data) {
                     this.tableData = res.data.content;
                     this.tableData = res.data.content;
                     this.queryFrom.pageNum = res.data.pageNum;
                     this.queryFrom.pageNum = res.data.pageNum;
                     this.queryFrom.pageSize = res.data.pageSize;
                     this.queryFrom.pageSize = res.data.pageSize;
                     this.queryFrom.totalSize = res.data.totalSize;
                     this.queryFrom.totalSize = res.data.totalSize;
-                    this.tableConfig.loading = false;
+                    this.tableConfig1.loading = false;
                 } else {
                 } else {
-                    this.tableConfig.loading = false;
+                    this.tableConfig1.loading = false;
                 }
                 }
             });
             });
         },
         },

+ 33 - 4
src/views/FinancialManagement/CostVerification/components/mixins.js

@@ -98,6 +98,26 @@ export const mixin = {
                     label: "出单渠道",
                     label: "出单渠道",
                     type: 'input',
                     type: 'input',
                 },
                 },
+                {
+                    prop: "status",
+                    label: "状态",
+                    type: 'select',
+                    options: [
+                        {
+                            dictTag: "未领取",
+                            dictValue: 0,
+                        },
+                        {
+                            dictTag: "已领取",
+                            dictValue: 1,
+                        },
+                        {
+                            dictTag: "已支付",
+                            dictValue: 2,
+                            
+                        }
+                    ]
+                },
             ],
             ],
             tableConfig: {
             tableConfig: {
                 columns: [
                 columns: [
@@ -115,6 +135,11 @@ export const mixin = {
                         label: "车牌号",
                         label: "车牌号",
                         type: 'text',
                         type: 'text',
                     },
                     },
+                    {
+                        prop: "outChannel",
+                        label: "出单渠道",
+                        type: 'text',
+                    },
                     {
                     {
                         prop: "insured",
                         prop: "insured",
                         label: "被保险人",
                         label: "被保险人",
@@ -141,10 +166,10 @@ export const mixin = {
                         type: 'text',
                         type: 'text',
 
 
                     },
                     },
-                    // {
-                    //     prop: "other",
-                    //     label: "其他保费"
-                    // },
+                    {
+                        name: "status",
+                        type:'slot',
+                    },
                     {
                     {
                         prop: "payDate",
                         prop: "payDate",
                         label: "付款日期",
                         label: "付款日期",
@@ -176,6 +201,10 @@ export const mixin = {
                 slot: true,
                 slot: true,
                 // click: () => {return this.$refs.upload.clearFiles()}
                 // click: () => {return this.$refs.upload.clearFiles()}
             },
             },
+            {
+                name: '批量匹配',
+                click: () => {return this.batchMatching()}
+            },
             ],
             ],
 
 
         }
         }