Sfoglia il codice sorgente

车险跟单未结算详情、手续费结算操作栏

yaoyao 2 anni fa
parent
commit
d0f615c018

+ 5 - 0
src/assets/css/global.css

@@ -106,4 +106,9 @@ html, body, #app {
 .customNotifyClass {
   word-break: break-all;
   width: 600px;
+}
+.imageclass {
+  width: 100px;
+  height: 50px;
+  text-align: center;
 }

+ 9 - 0
src/http/moudules/task.js

@@ -1499,4 +1499,13 @@ export const reconciliation = (data) => {
     method: "put",
     data
   })
+}
+
+
+export const updateNoHand = (data) => {
+  return axios({
+    url: "/fnc/plyFee/updateNoHand",
+    method: "put",
+    data
+  })
 }

+ 31 - 1
src/views/FinancialManagement/CarInsurance/CompanySettlement/CarInsurance/DocumentaryFeesDetail.vue

@@ -617,12 +617,18 @@ export default {
         isPaginationShow:true,
         loading: true,
         isCheckBox:true,
+        operationWidth: '180',
         optBtns:[
           {
             type:'primary',
             label:'编辑',
             click:(row, index) => {return this.haldUpload(row)},
-        },
+          },
+          {
+            type:'primary',
+            label:'删除',
+            click:(row, index) => {return this.haldDelete(row)},
+          },
         ]
       },
       pageDataPro: {
@@ -722,6 +728,30 @@ export default {
     });
   },
   methods: {
+    haldDelete(row) {
+      this.$confirm('是否确认删除?', '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      }).then(() => {
+        this.$api.task.plyFeeDelete({id: row.id}).then(res => {
+          if (res.code == 200) {
+            this.$message({
+              type: 'success',
+              message: '删除成功!'
+           });
+           this.findPage()
+          } else {
+            this.$message.error(res.msg)
+          }
+        })
+      }).catch(() => {
+        this.$message({
+          type: 'info',
+          message: '已取消删除'
+        });          
+      });
+    },
     agrmentlist() {
       this.$api.task.findPtlAgreementList().then((res) => {
         this.agreementTypeoptions = res.data

+ 2 - 1
src/views/FinancialManagement/CarInsurance/CompanySettlement/CarInsurance/DocumentaryFeesSettled.vue

@@ -288,7 +288,8 @@ export default {
                 .fncplyFeeQuery({
                   partnerCompaniesId: data.partnerCompaniesId,
                   agreementType: '2',
-                  handlingFeesStatus: '0',
+                  // handlingFeesStatus: '1',
+                  isNotDocumentary: '1',
                   isNotCar:'0',
                   ...this.pageDatarecorddetail
                 })

+ 298 - 22
src/views/FinancialManagement/CarInsurance/CompanySettlement/CarInsurance/DocumentaryUnsettled.vue

@@ -16,19 +16,58 @@
         }' clearable filterable></el-cascader>
       </template>
     </templateTable>
+
+    <!-- 新详情 -->
     <el-dialog
       title="详情"
-      :visible.sync="dialogVisible"
+      :visible.sync="dialogVisibleNewDetail"
       width="80%"
+      :before-close="handleCloseNew">
+        <templateTable ref="templateTable" :formList="formList1" @handleSearchList="handleSearchList1" :tableConfig="tableConfigDetailNew" :data="formTableDataNew"
+        @findPage="findPageNewDetail" >
+        </templateTable>
+        <span slot="footer" class="dialog-footer">
+        <el-button size="small" @click="handleCloseNew">取消</el-button>
+      </span>
+    </el-dialog>
+
+    <el-dialog
+      title="结算"
+      :visible.sync="dialogVisible"
+      width="70%"
       :before-close="handleClose">
-      <templateTable ref="templateTable"   :tableConfig="tableConfigDetail" :data="formTableData"
-      @findPage="findPageDetail" >
-    </templateTable>
+
+      <!-- 上传凭证 -->
+      <el-upload  action="#" class="upload-demo"  :limit="1" :auto-upload="false"
+        :on-change="drivingupload"  ref="upload3"  accept=".png, .jpg, .jpeg" :file-list="fileList">
+        <el-button size="small" type="primary">点击上传</el-button>
+      </el-upload>
+
+      <templateTable ref="templateTable" :tableConfig="tableConfigDetail" :data="formTableData" @findPage="findPageDetail" >
+        <template slot="settlementAmount" slot-scope="scope">
+          <el-input v-model="scope.row.invoicCommissionFeevalue" style="width:120px" size="mini"></el-input>
+        </template>
+      </templateTable>
       <span slot="footer" class="dialog-footer">
-      <el-button  size="small" @click="handleClose">取消</el-button>
+      <el-button  size="small" @click="submitBalance" type="primary">结算</el-button>
+      <el-button  size="small" @click="dialogVisible = false">取消</el-button>
     </span>
   </el-dialog>
-  <el-dialog
+  
+  <el-dialog title="记录" :visible.sync="dialogVisiblerecord" width="30%" :before-close="handleCloserecord">
+      <templateTable ref="templateTable1" @getList="getListrecord"
+        :tableConfig="tableConfigDetailrecord" :data="formTableDatarecord" @findPage="findPageDetailrecord">
+        <template slot="imageUrl" slot-scope="scope">
+          <img v-if="scope.row.imageUrl" :src="`${process + scope.row.imageUrl}`" class="imageclass" @click.stop="showViewer=true; ProViewImg=process + scope.row.imageUrl" />
+        </template>
+      </templateTable>
+      <span slot="footer" class="dialog-footer">
+        <el-button size="small" @click="dialogVisiblerecord = false">取消</el-button>
+      </span>
+    </el-dialog>
+
+
+  <!-- <el-dialog
       title="结算"
       :visible.sync="dialogVisiblebalance"
       width="20%"
@@ -56,7 +95,7 @@
       <el-button  size="small" @click="dialogVisiblebalance = false">取消</el-button>
       <el-button type="primary" size="small" @click="balanceSumbit">确实</el-button>
     </span>
-  </el-dialog>
+  </el-dialog> -->
   </div>
 </template>
 <script>
@@ -76,6 +115,7 @@ export default {
   },
   data() {
     return {
+      process:process.env.BASE_URL,
       fileList:[],
       batchData:{},
       ztreeNodes:[],
@@ -139,7 +179,9 @@ export default {
             {
               type: 'primary',
               label: '详情',
-              click: (row, index) => { return this.haldDetail(row) },
+              // click: (row, index) => { return this.haldDetail(row) },
+              click: (row, index) => { return this.haldNewDetail(row) },
+
           }
         ]
       },
@@ -163,7 +205,7 @@ export default {
           },
           {
             prop: "invoicingMethod",
-            label: "开票方式",
+            label: " 开票方式",
             type: "statMap",
             options:[{
               label: "保司开票",
@@ -174,7 +216,7 @@ export default {
             }]
           },
           {
-            prop: "invoicCommissionFeevalue",
+            prop: "totalAmount",
             label: "开票金额",
             type: "text"
           },
@@ -184,29 +226,163 @@ export default {
             type: "text"
           },
           {
-            prop: "invoicTime",
+            prop: "createTime",
             label: "开票时间",
             type: "text"
           },
-         
+          {
+            prop: "invoicedSettledAmount",
+            label: "开票已结算金额",
+            type: "text"
+          },
+          {
+            prop: "invoicedNotSettledAmount",
+            label: "开票未结算金额",
+            type: "text"
+          },
+          {
+            name: "settlementAmount",
+            label: "结算金额",
+            type: "slot"
+          },
+
+        ],
+        loading: true
+      },
+
+
+      // 新详情
+      dialogVisibleNewDetail: false,
+      formList1: [
+        {
+          label: "结算状态",
+          prop: "settlementStatus",
+          type: "select",
+          options: [
+            {
+              label: '开票未结算',
+              value: '0'
+            },
+            {
+              label: '开票已结算',
+              value: '1'
+            },
+            {
+              label: '开票结算清',
+              value: '2'
+            },
+          ]
+        },
+      ],
+      tableConfigDetailNew: {
+        columns: [
+          {
+            prop: "invoicId",
+            label: "开票号",
+            type: "text"
+          },
+          {
+            prop: "invoicingMethod",
+            label: "开票方式",
+            type: "statMap",
+            options:[{
+              label: "保司开票",
+              value: "0",
+            }, {
+              label: "掌柜开票",
+              value: "1",
+            }]
+          },
+          {
+            prop: "totalAmount",
+            label: "开票金额",
+            type: "text"
+          },
+          {
+            prop: "invoicedSettledAmount",
+            label: "开票已结算金额",
+            type: "text"
+          },
+          {
+            prop: "invoicedNotSettledAmount",
+            label: "开票未结算金额",
+            type: "text"
+          },
+          {
+            prop: "completionStatus",
+            label: "结算状态",
+            type: "statMap",
+            options:[{
+              label: "开票未结算",
+              value: "0",
+            }, {
+              label: "开票已结算",
+              value: "1",
+            }, {
+              label: "开票结算清",
+              value: "2",
+            }]
+          },
         ],
         loading: true,
+        isShowIndex: true,
+        operationWidth: '130',
         optBtns:[
           {
             type:'primary',
             label:'结算',
-            hide:(row)=>{
-              return row.invoicCommissionFeevalue?true:false
+            hide:(row) => {
+                return row.completionStatus != '2'
             },
-            click:(row, index) => {return this.openBalanceFun(row)},
-        },
-        {
+            // click:(row, index) => {return this.openBalanceFun(row)},
+            click:(row, index) => {return this.haldDetail(row)},
+          },
+          {
+            type:'primary',
+            label:'记录',
+            hide:(row) => {
+                return row.completionStatus != '0'
+            },
+            click:(row, index) => {return this.haldRecord(row)},
+          },
+          {
             type:'primary',
             label:'作废',
-            click:(row, index) => {return this.handVoid(row)},
-        },
+            hide:(row) => {
+                return row.completionStatus == '0'
+            },
+            click:(row, index) => {return this.haldDelete(row)},
+          }
       ]
       },
+      formTableDataNew: [],
+      settlementSumId: '',
+      findPageDetailListNew: {},
+      // 记录
+      dialogVisiblerecord: false,
+      tableConfigDetailrecord: {
+        columns: [
+          {
+            prop: "settlementTime",
+            label: "进账日期",
+            type: "text"
+          },
+          {
+            prop: "settlementAmount",
+            label: "进帐金额",
+            type: "text"
+          },
+          {
+            name: "imageUrl",
+            label: "进帐截图",
+            type: "slot"
+          },
+
+        ],
+        loading: true,
+        isPaginationShow: true
+      },
+      formTableDatarecord: [],
     };
   },
   created() {
@@ -219,6 +395,100 @@ export default {
     this.findPage();
   },
   methods: {
+    // 作废
+    haldDelete(row) {
+      this.$api.task.settlementSumFeesVoidInvoicing({
+        id: row.id
+      }).then(res => {
+        if (res.code == 200) {
+          this.handleCloseNew()
+          this.findPage()
+        } else {
+          this.$message.error(res.msg)
+        }
+      })
+    },
+    // 记录
+    haldRecord(row) {
+      this.settlementSumId = row.id
+      this.dialogVisiblerecord = true
+      this.findPageDetailrecord(row)
+    },
+    handleCloserecord() {
+      this.dialogVisiblerecord = false
+    },
+    getListrecord(data) {
+      this.findPageDetailrecord({...data})
+    },findPageDetailrecord(data) {
+      this.tableConfigDetailrecord.loading = true
+      this.$api.task.fncSettlementSumFees({
+        settlementSumId: this.settlementSumId,
+        settlementStatus: '2',
+      })
+      .then(res => {
+        if (res.code == 200) {
+          this.formTableDatarecord = res.data.content
+          this.tableConfigDetailrecord.loading = false
+        } else {
+          this.$message.error(res.msg)
+          this.tableConfigDetailrecord = false
+        }
+      })
+    },
+    // 结算提交按钮
+    submitBalance() {
+      let subData = {
+        multipleSelection: this.formTableData,
+        settlementSumId: this.settlementSumId,
+        settlementImageId: this.batchData.id
+      }
+       subData.multipleSelection.forEach(val => {
+        val.createTime = null
+       })
+      this.$api.task.batchSumBalance(subData).then(res => {
+        if (res.code == 200) {
+          this.$message.success('操作成功')
+          this.handleClose()
+          this.handleCloseNew()
+          this.findPage();
+        } else {
+          this.$message.error(res.msg)
+        }
+      })
+    },
+    // 新详情
+    
+    haldNewDetail(row) {
+      this.dialogVisibleNewDetail= true
+      this.findPageDetailListNew = row
+      this.findPageNewDetail(row)
+    },
+    findPageNewDetail(data) {
+      this.$api.task.settlementSumFeesQuery({
+          settlementStatus: '1',
+          completionStatus: data.settlementStatus || '0',
+          partnerCompaniesId: data.partnerCompaniesId,
+          isNotCar: '0',
+        })
+        .then(res => {
+          if (res.code==200) {
+            this.formTableDataNew = res.data.content;
+            this.tableConfigDetailNew.loading = false;
+          }
+          else{
+            this.tableConfigDetailNew.loading = false;
+            this.$message.error(res.msg)
+          }
+        });
+    },
+    handleSearchList1(data) {
+      this.findPageNewDetail({...this.findPageDetailListNew, ...data})
+    },
+    handleCloseNew() {
+      this.dialogVisibleNewDetail= false
+    },
+
+
     drivingupload(file, fileList){
       this.fileList=[]
       const params = new FormData(); // 声明formData数据类型
@@ -293,19 +563,25 @@ export default {
     haldDetail(row){
       this.dialogVisible=true
       this.findPageDetailList=row
+      this.settlementSumId = row.id
       this.findPageDetail(row)
     },
     findPageDetail(data) {
       this.tableConfigDetail.loading=true
       this.$api.task
-        .otherSettldetail({
+        // .otherSettldetail({
+          .fncSettlementFeesQuery({
           partnerCompaniesId:data.partnerCompaniesId,
           handlingFeesStatus:'1',
-          isNotCar:0
+          isNotCar:0,
+          settlementSumId: data.id
         })
         .then(res => {
           if (res.code==200) {
-            this.formTableData = res.data;
+            res.data.content.forEach(ele => {
+              ele.invoicCommissionFeevalue = 0
+            });
+            this.formTableData = res.data.content;
             this.tableConfigDetail.loading = false;
           }
           else{

+ 6 - 0
src/views/FinancialManagement/CarInsurance/CompanySettlement/CarInsurance/HandlingFees.vue

@@ -968,6 +968,9 @@ export default {
         syStartDate = ''
         syEndDate = ''
       }
+      if (data && data.signDate) {
+        data.signDate = null
+      }
       this.$api.task
         .bxTotalAmount({ ...this.pageData, ...data, signDateStart, signDateEnd, jqStartDate, jqEndDate, syStartDate, syEndDate })
         .then(res => {
@@ -984,6 +987,9 @@ export default {
     //列表数据
     findPage(data) {
       this.tableConfig.loading = true;
+      if (data && data.signDate) {
+        data.signDate = null
+      }
       this.$api.task
         .plyFeeQuery({ ...this.pageData, ...data })
         .then(res => {

+ 31 - 1
src/views/FinancialManagement/CarInsurance/CompanySettlement/NoCarInsurance/DocumentaryFeesDetail.vue

@@ -524,12 +524,18 @@ export default {
         ],
         isPaginationShow:true,
         loading: true,
+        operationWidth: '180',
         optBtns:[
           {
             type:'primary',
             label:'编辑',
             click:(row, index) => {return this.haldUpload(row)},
-        },
+          },
+          {
+            type:'primary',
+            label:'删除',
+            click:(row, index) => {return this.haldDelete(row)},
+          },
         ]
       },
       fileList:[],
@@ -628,6 +634,30 @@ export default {
     });
   },
   methods: {
+    haldDelete(row) {
+      this.$confirm('是否确认删除?', '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      }).then(() => {
+        this.$api.task.plyFeeDelete({id: row.id}).then(res => {
+          if (res.code == 200) {
+            this.$message({
+              type: 'success',
+              message: '删除成功!'
+           });
+           this.findPage()
+          } else {
+            this.$message.error(res.msg)
+          }
+        })
+      }).catch(() => {
+        this.$message({
+          type: 'info',
+          message: '已取消删除'
+        });          
+      });
+    },
     agrmentlist() {
       this.$api.task.findPtlAgreementList().then((res) => {
         this.agreementTypeoptions = res.data

+ 2 - 1
src/views/FinancialManagement/CarInsurance/CompanySettlement/NoCarInsurance/DocumentaryFeesSettled.vue

@@ -271,7 +271,8 @@ export default {
                 .fncplyFeeQuery({
                   partnerCompaniesId: data.partnerCompaniesId,
                   agreementType: '2',
-                  handlingFeesStatus: '1',
+                  // handlingFeesStatus: '1',
+                  isNotDocumentary: '1',
                   isNotCar:'1',
                   ...this.pageDatarecorddetail
                  })

+ 0 - 2
src/views/FinancialManagement/CarInsurance/CompanySettlement/NoCarInsurance/DocumentaryUnsettled.vue

@@ -461,7 +461,6 @@ export default {
         val.createTime = null
        })
       this.$api.task.batchSumBalance(subData).then(res => {
-        // console.log(res)
         if (res.code == 200) {
           this.$message.success('操作成功')
           this.handleClose()
@@ -630,7 +629,6 @@ export default {
               ele.invoicCommissionFeevalue = 0
             });
             this.formTableData = res.data.content;
-            console.log(this.formTableData)
             this.tableConfigDetail.loading = false;
           }
           else{

+ 97 - 14
src/views/FinancialManagement/CarInsurance/CompanySettlement/NoCarInsurance/HandlingFees.vue

@@ -185,6 +185,28 @@
           </el-upload>
       <el-progress  :percentage="progressPercent" :text-inside="true" :stroke-width="16" status="exception"> </el-progress>
     </el-dialog>
+
+    <el-dialog title="编辑" :visible.sync="dialogVisibleEdit" width="50%" >
+      <el-form ref="formDataEdit" :model="formDataEdit" label-width="130px">
+        <el-row>
+          <el-col :span="8">
+            <el-form-item label="非车手续费比例">
+              <el-input v-model="formDataEdit.noSuperviseCostsProportion" size="small"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="8">
+            <el-form-item label="非车手续费金额">
+              <el-input v-model="formDataEdit.noSuperviseCostsPremiums" size="small"></el-input>
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
+      <span slot="footer" class="dialog-footer">
+        <el-button size="small" @click="dialogVisibleEdit = false">取消</el-button>
+        <el-button size="small" type="primary" @click="onSubmitEdit">保存</el-button>
+      </span>
+    </el-dialog>
+
   </div>
 </template>
 <script>
@@ -537,16 +559,27 @@ export default {
         loading: true,
         isPaginationShow: true,
         isShowIndex: true,
-        // optBtns:[
-        // {
-        //     type:'primary',
-        //     label:'结算',
-        //     hide:(row)=>{
-        //       return row.handlingFeesStatus == 0?true:false
-        //     },
-        //     click:(row, index) => {return this.balanceFun(row)},
-        // },
-        // ]
+        operationWidth: '180',
+        optBtns:[
+          // {
+          //     type:'primary',
+          //     label:'结算',
+          //     hide:(row)=>{
+          //       return row.handlingFeesStatus == 0?true:false
+          //     },
+          //     click:(row, index) => {return this.balanceFun(row)},
+          // },
+          {
+              type:'primary',
+              label:'编辑',
+              click:(row, index) => {return this.editBtn(row)},
+          },
+          {
+              type:'primary',
+              label:'删除',
+              click:(row, index) => {return this.deleteBtn(row)},
+          },
+        ]
       },
       btnGroup: [
         {
@@ -600,7 +633,8 @@ export default {
       fileList:[],
       progressPercent:0,
       dialogVisibleprogress:false,
-
+      dialogVisibleEdit: false,
+      formDataEdit: {},
     };
   },
   created() {
@@ -638,6 +672,51 @@ export default {
     });
   },
   methods: {
+    // 编辑
+    editBtn(row) {
+      this.formDataEdit = {
+        noSuperviseCostsProportion: row.noSuperviseCostsProportion,
+        noSuperviseCostsPremiums: row.noSuperviseCostsPremiums,
+        id: row.id
+      }
+      this.dialogVisibleEdit = true
+    },
+    onSubmitEdit() {
+      this.$api.task.updateNoHand(this.formDataEdit).then(res => {
+        if (res.code == 200) {
+          this.$message.success(res.msg)
+          this.getList()
+        } else {
+          this.$message.error(res.msg)
+        }
+      })
+    },
+    
+    // 删除
+    deleteBtn(row) {
+      this.$confirm('是否确认删除?', '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      }).then(() => {
+        this.$api.task.plyFeeDelete({id: row.id}).then(res => {
+          if (res.code == 200) {
+            this.$message({
+              type: 'success',
+              message: '删除成功!'
+           });
+           this.getList()
+          } else {
+            this.$message.error(res.msg)
+          }
+        })
+      }).catch(() => {
+        this.$message({
+          type: 'info',
+          message: '已取消删除'
+        });          
+      });
+    },
     agrmentlist() {
       this.$api.task.findPtlAgreementList().then((res) => {
         this.agreementTypeoptions = res.data
@@ -839,7 +918,9 @@ export default {
         signDateStart = ''
         signDateEnd = ''
       }
-
+      if (data && data.signDate) {
+        data.signDate = null
+      }
       this.$api.task
         .bxTotalAmount({ ...this.pageData, ...data, signDateStart, signDateEnd })
         .then(res => {
@@ -858,9 +939,11 @@ export default {
       a.click();
     },
     //列表数据
-    findPage(data
-    ) {
+    findPage(data) {
       this.tableConfig.loading = true;
+      if (data && data.signDate) {
+        data.signDate = null
+      }
       this.$api.task
         .plyFeeQuery({ ...this.pageData, ...data })
         .then(res => {

+ 5 - 4
src/views/FinancialManagement/CarInsurance/PlatformSettlement/NonVehicleBalance.vue

@@ -208,9 +208,9 @@
     <el-form ref="formDataListAdd" :model="formDataListAdd" label-width="130px" :rules="rulesAdd">
       <el-row>
         <el-col :span="8">
-          <el-form-item label="签单日期" prop="signdate">
+          <el-form-item label="签单日期" prop="signDate">
               <el-date-picker
-                v-model="formDataListAdd.signdate"
+                v-model="formDataListAdd.signDate"
                 type="date"
                 placeholder="选择日期"
                 size="small"
@@ -764,7 +764,7 @@ export default {
       },
       agreementTypeoptions: [],
       rulesAdd: {
-        signdate: [
+        signDate: [
           { required: true, message: '请输入签单日期', trigger: ['change', 'blur'] },
         ],
         licenseno: [
@@ -838,7 +838,6 @@ export default {
     submitAdd(formName) {
       this.$refs[formName].validate((valid) => {
         if (valid) {
-          console.log(this.formDataListAdd)
           this.$api.task.queryPagePtInsert({ 
             ...this.formDataListAdd, 
             companyName: this.formDataListAdd.companyId ? this.InsCompanyList.find(val => val.id == this.formDataListAdd.companyId).name : ''
@@ -942,6 +941,7 @@ export default {
       if (this.formData.dockingPerson) {
         dockingPerson = this.formData.dockingPerson
       }
+      data.signDate = null
       this.$api.task
         .ptTotalAmount({ ...data,...this.pageData,signDateStart,signDateEnd, dockingPerson })
         .then(res => {
@@ -957,6 +957,7 @@ export default {
     //列表数据
     findPage(data) {
       this.tableConfig.loading = true;
+      this.formData.signDate = null
       this.$api.task
         .plyFeeQuery({...this.pageData,...data,... this.formData} )
         .then(res => {