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

Merge branch 'dev' of http://www.baoxianzhanggui.com:8090/sxzgd/vue-insagent-pc into dev

lihongxiao 2 лет назад
Родитель
Сommit
7b889de157
21 измененных файлов с 1421 добавлено и 372 удалено
  1. 26 0
      src/http/moudules/task.js
  2. 56 45
      src/views/AgreementManage/CarInsurance/AgreementEntry.vue
  3. 27 11
      src/views/FinancialManagement/CarInsurance/CompanySettlement/CarInsurance/DocumentaryFees.vue
  4. 25 8
      src/views/FinancialManagement/CarInsurance/CompanySettlement/CarInsurance/DocumentaryFeesDetail.vue
  5. 27 4
      src/views/FinancialManagement/CarInsurance/CompanySettlement/CarInsurance/DocumentaryFeesSettled.vue
  6. 38 5
      src/views/FinancialManagement/CarInsurance/CompanySettlement/CarInsurance/DocumentaryUnsettled.vue
  7. 45 7
      src/views/FinancialManagement/CarInsurance/CompanySettlement/CarInsurance/HandlingFees.vue
  8. 218 70
      src/views/FinancialManagement/CarInsurance/CompanySettlement/CarInsurance/InvoicedAndSettled.vue
  9. 335 86
      src/views/FinancialManagement/CarInsurance/CompanySettlement/CarInsurance/InvoicingUnsettled.vue
  10. 9 4
      src/views/FinancialManagement/CarInsurance/CompanySettlement/CarInsurance/Notinvoiced.vue
  11. 18 6
      src/views/FinancialManagement/CarInsurance/CompanySettlement/NoCarInsurance/DocumentaryFeesDetail.vue
  12. 31 5
      src/views/FinancialManagement/CarInsurance/CompanySettlement/NoCarInsurance/DocumentaryFeesSettled.vue
  13. 37 4
      src/views/FinancialManagement/CarInsurance/CompanySettlement/NoCarInsurance/DocumentaryUnsettled.vue
  14. 12 6
      src/views/FinancialManagement/CarInsurance/CompanySettlement/NoCarInsurance/HandlingFees.vue
  15. 213 62
      src/views/FinancialManagement/CarInsurance/CompanySettlement/NoCarInsurance/InvoicedAndSettled.vue
  16. 254 18
      src/views/FinancialManagement/CarInsurance/CompanySettlement/NoCarInsurance/InvoicingUnsettled.vue
  17. 9 4
      src/views/FinancialManagement/CarInsurance/CompanySettlement/NoCarInsurance/Notinvoiced.vue
  18. 7 3
      src/views/FinancialManagement/CarInsurance/PlatformSettlement/NonVehicleBalance.vue
  19. 22 13
      src/views/FinancialManagement/CarInsurance/PlatformSettlement/NonVehicleBalanceyes.vue
  20. 7 6
      src/views/Letter/Wallet/AmountManagement.vue
  21. 5 5
      src/views/Task/DaikeLetter.vue

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

@@ -860,6 +860,15 @@ export const plyFeequery = (data) => {
     data
   })
 }
+
+export const plyFeeRecord= (data) => {
+  return axios({
+    url: "/fnc/plyFee/platformSettlementRecord",
+    method: "post",
+    data
+  })
+}
+
 // 保险公司结算-手续费结算页面-结算接口
 export const plyFeebalance = (data) => {
   return axios({
@@ -1278,6 +1287,14 @@ export const settlementFeesQuery = (data) => {
     data
   })
 }
+
+export const settlementFeesGetRecord = (id) => {
+  return axios({
+    url: "/fnc/SettlementFees/getRecord/" +id,
+    method: "get"
+  })
+}
+
 export const otherTimeDetail = (data) => {
   return axios({
     url: "/fnc/plyFee/otherTimeDetail",
@@ -1314,6 +1331,15 @@ export const fncplyFeeInsert = (data) => {
     data
   })
 }
+// 删除手续费结算列表
+
+export const fncplyFeeDelete = (data) => {
+  return axios({
+    url: "/fnc/plyFee/delete",
+    method: "delete",
+    data
+  })
+}
 export const queryPageBatchUpdate = (data) => {
   return axios({
     url: "/fnc/plyFee/batchUpdate",

+ 56 - 45
src/views/AgreementManage/CarInsurance/AgreementEntry.vue

@@ -79,19 +79,20 @@
           <el-col :span="6">
             <el-form-item>
               <kt-button label="查询" :size="overSize" type="primary" perms="agreement:input:query" @click="queryEsmInfo" />
-              <el-button :disabled="agreementSelectionList.length==0"  label="批量修改" :size="overSize" type="danger"  @click="agreementSelectionVisible=true">批量修改</el-button>
+              <el-button :disabled="agreementSelectionList.length == 0" label="批量修改" :size="overSize" type="danger"
+                @click="agreementSelectionVisible = true">批量修改</el-button>
               <kt-button label="添加协议" :size="overSize" type="success" perms="agreement:input:add" @click="handleAdd" />
             </el-form-item>
           </el-col>
         </el-row>
       </el-form>
-      <el-table :size="overSize" :data="pageResult" height="600" border v-loading="loading" @selection-change="agreementSelectionChange" highlight-current-row stripe
-        :header-cell-style="{
+      <el-table :size="overSize" :data="pageResult" height="600" border v-loading="loading"
+        @selection-change="agreementSelectionChange" highlight-current-row stripe :header-cell-style="{
           background: '#F2F7FC',
           fontWeight: '700',
           color: '#606266',
         }">
-          <el-table-column type="selection" width="55"></el-table-column>
+        <el-table-column type="selection" width="55"></el-table-column>
         <el-table-column prop="id" label="编号" width="50" align="center"></el-table-column>
         <el-table-column prop="agreementCode" label="协议代码" align="center" width="180"></el-table-column>
         <el-table-column prop="agreementName" label="协议名称" align="center"></el-table-column>
@@ -209,9 +210,8 @@
               </el-col>
               <el-col :span="12">
                 <el-form-item label="合作公司" prop="partnerCompaniesId">
-                  <el-cascader  style="width: 100%" v-model="agreement.partnerCompaniesId"
-                    :show-all-levels="false" :options="ztreeNodes" :props="optionProps" @change="handleChange" clearable
-                    filterable></el-cascader>
+                  <el-cascader style="width: 100%" v-model="agreement.partnerCompaniesId" :show-all-levels="false"
+                    :options="ztreeNodes" :props="optionProps" @change="handleChange" clearable filterable></el-cascader>
                 </el-form-item>
               </el-col>
             </el-row>
@@ -220,7 +220,8 @@
                 <el-form-item label="内部机构" prop="deptId">
                   <el-select v-model="labelData" placeholder="请选择" :popper-append-to-body="false" style="width: 100%">
                     <el-option :value="selectTree" class="deptOption" disabled>
-                      <el-tree :data="treedata" :props="defaultProps" ref="tree" :highlight-current="true" @node-click="handleNodeClick" default-expand-all></el-tree>
+                      <el-tree :data="treedata" :props="defaultProps" ref="tree" :highlight-current="true"
+                        @node-click="handleNodeClick" default-expand-all></el-tree>
                     </el-option>
                   </el-select>
                 </el-form-item>
@@ -317,16 +318,15 @@
               </el-col>
               <el-col :span="12">
                 <el-form-item label="外部订单协议">
-                  <el-select v-model="agreement.isExternal"  placeholder="选择外部订单协议" style="width: 100%"
+                  <el-select v-model="agreement.isExternal" placeholder="选择外部订单协议" style="width: 100%"
                     @change="productFilterListChange">
                     <el-option v-for="item in [{
-                      label:'是',
-                      value:'1'
-                    },{
-                      label:'否',
-                      value:'0'
-                    }]" :key="item.value" :label="item.label"
-                      :value="item.value"></el-option>
+                      label: '是',
+                      value: '1'
+                    }, {
+                      label: '否',
+                      value: '0'
+                    }]" :key="item.value" :label="item.label" :value="item.value"></el-option>
                   </el-select>
                 </el-form-item>
               </el-col>
@@ -537,7 +537,7 @@
 
           <el-row v-if="productjqincludes">
             <h4 style="color: tomato">交强险费用</h4>
-            <el-col :span="5" :offset="1"  v-if="!tableRowForm.isExternal">
+            <el-col :span="5" :offset="1" v-if="!tableRowForm.isExternal">
               <el-form-item label="费用比例" prop="jqCarCostsProportion">
                 <el-input v-model="productCostForm.jqCarCostsProportion"
                   @blur="costRatioInput('jqCostsProportion', 'jqCarCostsProportion', 'jqCarOtherCostsProportion')"
@@ -1077,7 +1077,7 @@
                   </el-select>
                 </el-form-item>
               </el-col>
-            
+
               <el-col :span="12">
                 <el-form-item label="序号" prop="serialNumber">
                   <el-input-number :min="0" v-model="agreementsHistoryInfo.agreement.serialNumber"></el-input-number>
@@ -1280,9 +1280,9 @@
       <div>
         <span>选择协议状态</span>
         <el-select :size="overSize" v-model="agreementvalidStatus" placeholder="请选择" clearable>
-                <el-option label="禁用" :value="0"></el-option>
-                <el-option label="启用" :value="1"></el-option>
-              </el-select>
+          <el-option label="禁用" :value="0"></el-option>
+          <el-option label="启用" :value="1"></el-option>
+        </el-select>
       </div>
       <span slot="footer" class="dialog-footer">
         <el-button size="small" @click="agreementSelectionVisible = false">取 消</el-button>
@@ -1309,10 +1309,10 @@ export default {
   },
   data() {
     return {
-      labelData:'',
+      labelData: '',
       selectTree: [],
       insuranceCompanyId: "",
-      tableRowForm:{},
+      tableRowForm: {},
       productUpdateObj: {
         productId: "",
         productName: "",
@@ -2250,9 +2250,9 @@ export default {
       // 轨迹
       ddgjdialogVisible: false,
       trajectoryTable: [],
-      agreementSelectionList:[],//批量修改id集合
-      agreementvalidStatus:"",
-      agreementSelectionVisible:false,
+      agreementSelectionList: [],//批量修改id集合
+      agreementvalidStatus: "",
+      agreementSelectionVisible: false,
     };
   },
   computed: {
@@ -2351,7 +2351,7 @@ export default {
 
   },
   mounted() {
-    this.labelWidth = "auto";
+    // this.labelWidth = "auto";
     this.findLeftTreeData();
   },
   methods: {
@@ -2361,7 +2361,7 @@ export default {
         validStatus: this.agreementvalidStatus,
       }).then((res) => {
         if (res.code == '200') {
-          this.agreementSelectionVisible=false;
+          this.agreementSelectionVisible = false;
           this.findPage();
           this.$message({
             type: 'success',
@@ -2375,16 +2375,17 @@ export default {
         }
       });
     },
-    agreementSelectionChange(val){
-      let list=[];
+    agreementSelectionChange(val) {
+      let list = [];
       val.forEach(element => {
         list.push(element.id)
       });
-      this.agreementSelectionList=list;
+      this.agreementSelectionList = list;
     },
     handleNodeClick(data, self, child) {
+      console.log(data)
       this.labelData = data.name;//展示部分
-      this.agreement.deptId= data.id
+      this.agreement.deptId = data.id
     },
     productUpdateChange(e) {
       let name = this.productsTypeoptions.find(item => item.dictValue == e).dictTag;
@@ -2973,7 +2974,7 @@ export default {
       this.batchdialogVisible = true;
     },
     batchDelete(data) {
-      this.$api.insCompany.deleteBatch( data).then((res) => {
+      this.$api.insCompany.deleteBatch(data).then((res) => {
         if (res.code == '200') {
           this.productCostFindPage();
           this.$message({
@@ -3093,8 +3094,8 @@ export default {
               agreementId: obj.agreementId, //协议id
               ruleDescription: obj.ruleDescription, //规则描述
               validInd: obj.validInd, //是否有效
-              rulesStartDate:obj.rulesStartDate,
-              rulesEndDate:obj.rulesEndDate,
+              rulesStartDate: obj.rulesStartDate,
+              rulesEndDate: obj.rulesEndDate,
               rulesAttrList: [],//规则属性
             };
           });
@@ -3188,7 +3189,7 @@ export default {
         });
       }
     },
-    checkStartDate1(){
+    checkStartDate1() {
       let tempStartDate = this.batchUpdateForm.costsStartDate;
       let tempEndDate = this.batchUpdateForm.costsEndDate;
       if (!tempStartDate) {
@@ -3284,6 +3285,11 @@ export default {
               return ele;
             });
           }
+          this.$api.dept.getDeptById(res.data.agreement.deptId).then((res) => {
+            if (res.code == '200') {
+              this.labelData = res.data.name;
+            }
+          });
           // this.treekeys = [];
           this.treekeys = this.dept;
           this.agreementdialogVisible = true;
@@ -3412,8 +3418,10 @@ export default {
       for (let key in this.agreement) {
         // if (key != "partnerCompaniesId") {
         this.agreement[key] = "";
+
         // }
       }
+      this.labelData=null;
       this.attributionform = JSON.parse(
         JSON.stringify(this.defaultattributionform)
       );
@@ -3817,6 +3825,7 @@ export default {
                 });
                 this.agreementdialogVisible = false;
                 this.agreement.partnerCompaniesId = "";
+
                 this.findPage();
               } else {
                 this.$message({
@@ -3997,14 +4006,16 @@ export default {
     font-weight: bold;
   }
 }
+
 .deptOption {
-        height: auto;
-        line-height: 1;
-        padding: 0;
-        background-color: #fff;
-  }
-  .depttree {
-      padding: 4px 20px;
-      font-weight: 400;
-  }
+  height: auto;
+  line-height: 1;
+  padding: 0;
+  background-color: #fff;
+}
+
+.depttree {
+  padding: 4px 20px;
+  font-weight: 400;
+}
 </style>

+ 27 - 11
src/views/FinancialManagement/CarInsurance/CompanySettlement/CarInsurance/DocumentaryFees.vue

@@ -7,15 +7,24 @@
           <yearMonthYay ref="yearMonthYay" @getYearData="getYearData"  @getMonthData="getMonthData"  @getDayData="getDayData"></yearMonthYay>
       </template>
       <template slot="dockingPerson">
-      <el-select v-model="formData.dockingPerson" filterable clearable  placeholder="请选择" size="small">
-      <el-option
-        v-for="item in dockingPersonOption"
-        :key="item.docking_person"
-        :label="item.docking_person"
-        :value="item.docking_person">
-      </el-option>
-    </el-select>
-  </template>
+          <el-select v-model="formData.dockingPerson" filterable clearable  placeholder="请选择" size="small">
+          <el-option
+            v-for="item in dockingPersonOption"
+            :key="item.docking_person"
+            :label="item.docking_person"
+            :value="item.docking_person">
+          </el-option>
+        </el-select>
+      </template>
+      <template slot="保司机构">
+        <el-cascader v-model="pageData.partnerCompaniesIdList" size="small" :show-all-levels="false" ize="small"
+          :options="ztreeNodes" :props='{
+            checkStrictly: true,
+            value: "id",
+            label: "name",
+            children: "children",
+        }' clearable filterable></el-cascader>
+      </template>
     </templateTable>
     <el-dialog
       title="详情"
@@ -112,6 +121,7 @@ export default {
   },
   data() {
     return {
+      ztreeNodes:[],
       year: '',
       searchData: {},
       formDataList:{},
@@ -127,8 +137,8 @@ export default {
                 },
                 {
                     label: "合作公司名称",
-                    prop: "partnerCompaniesName",
-                    type: "input",
+                    name: "保司机构",
+                    type: "slot",
                 },
                 {
                     label: "年月日",
@@ -300,6 +310,12 @@ export default {
     };
   },
   created() {
+    this.$api.insCompany.findLeftInsTree( {
+        classname: "",
+        type: '1',
+        }).then((res) => {
+      this.ztreeNodes = res.data;
+    });
     this.findPage();
     this.$api.task
         .getDockingPersonList()

+ 25 - 8
src/views/FinancialManagement/CarInsurance/CompanySettlement/CarInsurance/DocumentaryFeesDetail.vue

@@ -14,7 +14,7 @@
           :options="ztreeNodes" :props="optionProps" clearable filterable></el-cascader>
       </template> -->
       <template slot="imageUrl" slot-scope="scope">
-        <img :src="`${process + scope.row.imageUrl}`" class="imageclass" />
+        <img v-if="scope.row.imageUrl" :src="`${process + scope.row.imageUrl}`" class="imageclass" />
       </template>
       <template slot="dockingPerson">
         <el-select v-model="pageData.dockingPerson" filterable clearable placeholder="请选择" size="small">
@@ -24,7 +24,7 @@
         </el-select>
       </template>
       <template slot="riskcode">
-        <el-select v-model="pageData.riskcode"  placeholder="选择险种" size="small">
+        <el-select v-model="pageData.riskcode" clearable placeholder="选择险种" size="small">
           <el-option v-for="item in productsTypeoptions" :key="item.dictValue" :label="item.dictTag"
             :value="item.dictTag"></el-option>
         </el-select>
@@ -97,7 +97,7 @@
               <el-input v-model="formDataAdd.syPremium" size="small"></el-input>
             </el-form-item>
           </el-col>
-          <el-col :span="8">
+          <!-- <el-col :span="8">
             <el-form-item label="交强手续费比例" prop="jqSuperviseCostsProportion">
               <el-input v-model="formDataAdd.jqSuperviseCostsProportion" size="small"></el-input>
             </el-form-item>
@@ -106,6 +106,16 @@
             <el-form-item label="商业手续费比例" prop="sySuperviseCostsProportion">
               <el-input v-model="formDataAdd.sySuperviseCostsProportion" size="small"></el-input>
             </el-form-item>
+          </el-col> -->
+          <el-col :span="8">
+            <el-form-item label="交强跟单比例" prop="jqOtherCostsProportion">
+              <el-input v-model="formDataAdd.jqOtherCostsProportion" size="small"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="8">
+            <el-form-item label="商业跟单比例" prop="syOtherCostsProportion">
+              <el-input v-model="formDataAdd.syOtherCostsProportion" size="small"></el-input>
+            </el-form-item>
           </el-col>
           <el-col :span="8">
             <el-form-item label="跟单费金额" prop="otherFeevalue">
@@ -134,10 +144,10 @@
             </el-form-item>
           </el-col>
           <el-col :span="8">
-            <el-form-item label="协议名称" prop="agreementId">
-              <el-select size="small" v-model="formDataAdd.agreementId" placeholder="请选择协议类型" style="width: 100%">
-                <el-option v-for="item in agreementTypeoptions" :key="item.dictValue" :label="item.dictTag"
-                  :value="item.dictValue"></el-option>
+            <el-form-item label="协议选择" prop="agreeId">
+              <el-select size="small" v-model="formDataAdd.agreeId" placeholder="请选择协议类型" style="width: 100%">
+                <el-option v-for="item in agreementTypeoptions" :key="item.dictValue" :label="item.agreementName"
+                  :value="item.id"></el-option>
               </el-select>
             </el-form-item>
           </el-col>
@@ -235,7 +245,7 @@ export default {
   },
   data() {
     return {
-      process:'http://192.168.0.42:8080',
+      process:process.env.BASE_URL,
       dockingPersonOption: [],
       rulesAdd: {
         signDate: [
@@ -685,6 +695,7 @@ export default {
     this.getDicType("agreementType"); //险种类型
     this.areaqueryList(1, 99, "provinceId");
     this.companyqueryList(0,'allPartnerCompaniesId');
+    this.agrmentlist()
 
     this.findPage();
     let params = {
@@ -711,6 +722,11 @@ export default {
     });
   },
   methods: {
+    agrmentlist() {
+      this.$api.task.findPtlAgreementList().then((res) => {
+        this.agreementTypeoptions = res.data
+      });
+    },
     areaqueryList(level, parentId, filed) {
       this.$api.task.queryListByParentId(level, parentId).then((res) => {
         this.selectDataMatching(this.formList, filed, res.data);
@@ -990,6 +1006,7 @@ export default {
       this.findPage(data);
     },
     onSubmit(){
+      this.formDataList.createTime = null
       this.$api.task.plyFeeUpdate({...this.formDataList,id:this.formDataId})
           .then(res => {
             if (res.code==200) {

+ 27 - 4
src/views/FinancialManagement/CarInsurance/CompanySettlement/CarInsurance/DocumentaryFeesSettled.vue

@@ -20,6 +20,9 @@
     <el-dialog title="记录" :visible.sync="dialogVisiblerecord" width="30%" :before-close="handleCloserecord">
       <templateTable ref="templateTable1" :pagination="pageDatarecord" @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>
@@ -33,6 +36,7 @@
                 <el-button size="small" @click="dialogVisiblerecordDetail = false">取消</el-button>
             </span>
         </el-dialog>
+        <el-image-viewer v-if="showViewer" :on-close="closeViewer"  :z-index="9999" :url-list="[ProViewImg]" />
   </div>
 </template>
 <script>
@@ -42,7 +46,10 @@ import yearMonthYay from '../../PlatformSettlement/yearMonthYay.vue'
 
 export default {
   name: "baosi",
-  components: { templateTable, yearMonthYay },
+  components: { templateTable, yearMonthYay,
+    "el-image-viewer": () =>
+      import("element-ui/packages/image/src/image-viewer")
+   },
   created() {
   },
   computed: {
@@ -52,7 +59,10 @@ export default {
   },
   data() {
     return {
+      process:process.env.BASE_URL,
       ztreeNodes:[],
+      showViewer:false,
+      ProViewImg:[],
       recordDetailData:[],
       pageDatarecorddetail: {
                 pageNum: 1,
@@ -129,6 +139,11 @@ export default {
             label: "进帐金额",
             type: "text"
           },
+          {
+            name: "imageUrl",
+            label: "进帐截图",
+            type: "slot"
+          },
 
         ],
         loading: true,
@@ -249,6 +264,9 @@ export default {
     this.findPage();
   },
   methods: {
+    closeViewer() {
+      this.showViewer = false;
+    },
     resetForm() {
             this.formData={}
             this.pageData.partnerCompaniesIdList=[]
@@ -267,7 +285,7 @@ export default {
         findPageDetailrecorddatail(data) {
             this.tableConfigDetailrecorddetail.loading = true;
             this.$api.task
-                .fncplyFeeQuery({ 
+                .fncplyFeeQuery({
                   partnerCompaniesId: data.partnerCompaniesId,
                   agreementType: '2',
                   handlingFeesStatus: '0',
@@ -301,6 +319,7 @@ export default {
           partnerCompaniesId: data.partnerCompaniesId,
           agreementType: '2',
           handlingFeesStatus: '1',
+          settlementStatus:'2',
           isNotCar:'0',
           ...this.pageDatarecord
         })
@@ -369,11 +388,15 @@ export default {
   }
 };
 </script>
-    
+
 <style scoped>
 .invoiceAnd>>>.el-table__body-wrapper {
   overflow-y: auto !important;
   height: auto !important;
 }
+  .imageclass {
+    max-width: 100px;
+    max-height: 50px;
+    text-align: center;
+  } 
 </style>
-    

+ 38 - 5
src/views/FinancialManagement/CarInsurance/CompanySettlement/CarInsurance/DocumentaryUnsettled.vue

@@ -1,6 +1,6 @@
 <template>
   <!--布局容器-->
-  <div class="container" style="width: 99%; margin-top: 0px">
+  <div class="InvoicedAndSettled" style="width: 99%; margin-top: 0px">
     <templateTable :formList="formList" :searchData.sync="searchData" :tableConfig="tableConfig" :data="tableData"
       @findPage="findPage" @handleSearchList="handleSearchList"  @resetForm="resetForm" :pagination="pageData">
       <template slot="data">
@@ -25,7 +25,7 @@
       @findPage="findPageDetail" >
     </templateTable>
       <span slot="footer" class="dialog-footer">
-      <el-button  size="small" @click="dialogVisible = false">取消</el-button>
+      <el-button  size="small" @click="handleClose">取消</el-button>
     </span>
   </el-dialog>
   <el-dialog
@@ -33,7 +33,7 @@
       :visible.sync="dialogVisiblebalance"
       width="20%"
       :before-close="handleClosebalance">
-      <el-form ref="form" :model="form" label-width="80px">
+      <el-form ref="form" :model="form" label-width="85px">
         <el-form-item label="进账金额">
           <el-input v-model="form.settlementAmount" style="width:220px"></el-input>
         </el-form-item>
@@ -45,6 +45,12 @@
             value-format="yyyy-MM-dd">
           </el-date-picker>
         </el-form-item>
+        <el-form-item label="上传凭证:" >
+              <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>
+          </el-form-item>
       </el-form>
       <span slot="footer" class="dialog-footer">
       <el-button  size="small" @click="dialogVisiblebalance = false">取消</el-button>
@@ -70,6 +76,8 @@ export default {
   },
   data() {
     return {
+      fileList:[],
+      batchData:{},
       ztreeNodes:[],
       year: '',
       findPageDetailList:{},
@@ -125,6 +133,8 @@ export default {
         loading: true,
         isPaginationShow: true,
         isShowIndex: true,
+        showSummary: true,
+        tableHeight: 'auto',
         optBtns: [
             {
               type: 'primary',
@@ -209,6 +219,23 @@ export default {
     this.findPage();
   },
   methods: {
+    drivingupload(file, fileList){
+      this.fileList=[]
+      const params = new FormData(); // 声明formData数据类型
+      params.append("multipartFile", file.raw);
+      params.append("type", "image");
+      // params.append("isNotCar", "0");
+      this.$api.letter.uploadFile(params).then(res => {
+        if (res.code == "200") {
+          this.batchData =res.data
+          this.fileList = fileList
+        }
+        else{
+          this.fileList=[]
+          this.$message.error(res.msg)
+        }
+      });
+    },
     handVoid(row){
       this.$api.task
         .yaidlnvoicing({id:row.id})
@@ -288,6 +315,7 @@ export default {
         });
     },
     handleClose(){
+      this.findPage()
       this.dialogVisible=false
     },  
     handleClosebalance() {
@@ -301,6 +329,7 @@ export default {
           companyId:this.findPageDetailList.companyId,
           isNotCar:'0',
           handlingFeesStatus:'1',
+          settlementImageId:this.batchData.id,
           ...this.form})
         .then(res => {
           if (res.code==200) {
@@ -335,5 +364,9 @@ export default {
 };
 </script>
     
-<style scoped></style>
-    
+<style scoped lang="scss">
+  .InvoicedAndSettled>>>.el-table__body-wrapper {
+    overflow-y: auto !important;
+    height: auto !important;
+  }
+</style>

+ 45 - 7
src/views/FinancialManagement/CarInsurance/CompanySettlement/CarInsurance/HandlingFees.vue

@@ -25,7 +25,7 @@
         </el-select>
       </template>
       <template slot="riskcode">
-        <el-select v-model="pageData.riskcode"  placeholder="选择险种" size="small">
+        <el-select v-model="pageData.riskcode" clearable placeholder="选择险种" size="small">
           <el-option v-for="item in riskcodeList" :key="item.dictValue" :label="item.dictTag"
             :value="item.dictTag"></el-option>
         </el-select>
@@ -181,15 +181,16 @@
             <el-form-item label="险种" prop="riskcode">
               <el-select v-model="formDataAdd.riskcode"  placeholder="选择险种" size="small">
                 <el-option v-for="item in productsTypeoptions" :key="item.dictValue" :label="item.dictTag"
-                  :value="item.dictValue"></el-option>
+                  :value="item.dictTag"></el-option>
+                  <!-- :value="item.dictValue"></el-option> -->
               </el-select>
             </el-form-item>
           </el-col>
           <el-col :span="8">
-            <el-form-item label="协议名称" prop="agreementId">
-              <el-select size="small" v-model="formDataAdd.agreementId" placeholder="请选择协议类型" style="width: 100%">
-                <el-option v-for="item in agreementTypeoptions" :key="item.dictValue" :label="item.dictTag"
-                  :value="item.dictValue"></el-option>
+            <el-form-item label="协议选择" prop="agreeId">
+              <el-select size="small" v-model="formDataAdd.agreeId" placeholder="请选择协议类型" style="width: 100%">
+                <el-option v-for="item in agreementTypeoptions" :key="item.dictValue" :label="item.agreementName"
+                  :value="item.id"></el-option>
               </el-select>
             </el-form-item>
           </el-col>
@@ -571,7 +572,7 @@ export default {
             }]
           }
         ],
-        operationWidth: '100',
+        operationWidth: '180',
         loading: true,
         isPaginationShow: true,
         isShowIndex: true,
@@ -581,6 +582,11 @@ export default {
             label: '编辑',
             click: (row, index) => { return this.haldUpload(row) },
           },
+          {
+            type: 'primary',
+            label: '删除',
+            click: (row, index) => { return this.haldDelete(row) },
+          },
           // {
           //     type:'primary',
           //     label:'结算',
@@ -698,6 +704,7 @@ export default {
     this.getDicType("agreementType"); //险种类型
     this.areaqueryList(1, 99, "provinceId");
     this.companyqueryList(0,'allPartnerCompaniesId');
+    this.agrmentlist();
 
     let params = {
       classname: "",
@@ -723,6 +730,36 @@ export default {
     });
   },
   methods: {
+    agrmentlist() {
+      this.$api.task.findPtlAgreementList().then((res) => {
+        this.agreementTypeoptions = res.data
+      });
+    },
+    // 删除
+    haldDelete(row) {
+      this.$confirm('确认删除该数据?', '提示', {
+          confirmButtonText: '确定',
+          cancelButtonText: '取消',
+          type: 'warning'
+        }).then(() => {
+          this.$api.task.fncplyFeeDelete({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: '已取消删除'
+          });          
+        });
+    },
     //下拉数据匹配
     selectDataMatching(files, name, data) {
       files.forEach(filed => {
@@ -1087,6 +1124,7 @@ export default {
       this.dialogVisible = false
     },
     onSubmit() {
+      this.formDataList.createTime = null
       this.$api.task.plyFeeUpdate({ ...this.formDataList, id: this.formDataId })
         .then(res => {
           if (res.code == 200) {

+ 218 - 70
src/views/FinancialManagement/CarInsurance/CompanySettlement/CarInsurance/InvoicedAndSettled.vue

@@ -1,7 +1,7 @@
 <template>
     <!--布局容器-->
     <div  style="width: 99%; margin-top: 0px">
-        <templateTable class="invoiceAnd" :formList="formList"  :tableConfig="tableConfig" :data="tableData" 
+        <templateTable class="invoiceAnd" :formList="formList"  :tableConfig="tableConfig" :data="tableData"
             @findPage="findPage" @handleSearchList="handleSearchList" @resetForm="resetForm" :pagination="pageData" @getList="getList">
             <template slot="data">
                 <yearMonthYay ref="yearMonthYay" @getYearData="getYearData" @getMonthData="getMonthData"
@@ -17,9 +17,15 @@
         }' clearable filterable></el-cascader>
       </template>
         </templateTable>
-        <el-dialog title="详情" :visible.sync="dialogVisible" width="60%" :before-close="handleClose">
+        <el-dialog title="详情" :visible.sync="dialogVisible" width="80%" :before-close="handleClose">
             <templateTable ref="templateTable" :formList="formList1" @handleSearchList="handleSearchList1"
                 :tableConfig="tableConfigDetail" :data="formTableData" @findPage="findPageDetail">
+                <template slot="开票方式" slot-scope="scope">
+                <span>{{ scope.row.invoicingMethod == 0 ? '保司开票' : scope.row.invoicingMethod == 1 ? '掌柜开票' : scope.row.invoicingMethod }}</span>
+              </template>
+              <template slot="结算状态" slot-scope="scope">
+                <span>{{ scope.row.completionStatus == 0 ? '开票未结算' : scope.row.completionStatus == 1 ? '开票已结算' : scope.row.completionStatus == 2 ? '开票结算清' : scope.row.completionStatus }}</span>
+              </template>
             </templateTable>
             <span slot="footer" class="dialog-footer">
                 <el-button size="small" @click="dialogVisible = false">取消</el-button>
@@ -29,7 +35,7 @@
             <templateTable ref="templateTable1"   :pagination="pageDatarecord" @getList="getListrecord"
                 :tableConfig="tableConfigDetailrecord" :data="formTableDatarecord" @findPage="findPageDetailrecord">
                 <template slot="imageUrl" slot-scope="scope">
-                    <img :src='scope.row.imageUrl' class="imageclass"  @click.stop="showViewer=true;ProViewImg=scope.row.imageUrl" />
+                    <img v-if="scope.row.imageUrl" :src='scope.row.imageUrl' class="imageclass"  @click.stop="showViewer=true;ProViewImg=scope.row.imageUrl" />
                 </template>
             </templateTable>
             <span slot="footer" class="dialog-footer">
@@ -40,12 +46,41 @@
             <templateTable ref="templateTable1"   :pagination="pageDatarecorddetail" @getList="getListrecorddetail"
                 :tableConfig="tableConfigDetailrecorddetail" :data="recordDetailData" @findPage="findPageDetailrecorddatail">
             </templateTable>
-               
+
             <span slot="footer" class="dialog-footer">
                 <el-button size="small" @click="dialogVisiblerecordDetail = false">取消</el-button>
             </span>
         </el-dialog>
-        
+        <el-dialog
+          title="结算"
+          :visible.sync="dialogVisiblebalance"
+          width="20%"
+          :before-close="handleClosebalance">
+          <el-form ref="form" :model="form" label-width="85px">
+            <el-form-item label="进账金额:">
+              <el-input v-model="form.settlementAmount" style="width:220px"></el-input>
+            </el-form-item>
+            <el-form-item label="进账日期:">
+              <el-date-picker
+                v-model="form.settlementTime"
+                type="date"
+                placeholder="选择日期"
+                value-format="yyyy-MM-dd">
+              </el-date-picker>
+            </el-form-item>
+            <el-form-item label="上传凭证:" >
+                  <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>
+              </el-form-item>
+          </el-form>
+          <span slot="footer" class="dialog-footer">
+          <el-button  size="small" @click="dialogVisiblebalance = false">取消</el-button>
+          <el-button type="primary" size="small" @click="balanceSumbit">确实</el-button>
+        </span>
+      </el-dialog>
+
         <el-image-viewer v-if="showViewer"  :on-close="closeViewer"  :z-index="9999" :url-list="[ProViewImg]" />
     </div>
 </template>
@@ -70,6 +105,10 @@ export default {
     },
     data() {
         return {
+            process: process.env.BASE_URL,
+            batchData:{},
+            fileList:[],
+            dialogVisiblebalance:false,
             ztreeNodes:[],
             showViewer:false,
             ProViewImg:[],
@@ -119,7 +158,7 @@ export default {
                         type: "text"
                     },
                     {
-                        prop: "jqPolicyno",
+                        prop: "policyno",
                         label: "交强保单号",
                         type: "text"
                     },
@@ -255,13 +294,18 @@ export default {
                     prop: "settlementStatus",
                     type: "select",
                     options: [
-                        {
-                            label: '开票已结算',
-                            value: '2'
-                        }, {
-                            label: '开票未结算',
-                            value: '1'
-                        },
+                      {
+                        label: '开票未结算',
+                        value: '0'
+                      },
+                      {
+                        label: '开票已结算',
+                        value: '1'
+                      },
+                      {
+                        label: '开票结算清',
+                        value: '2'
+                      },
                     ]
                 },
 
@@ -273,30 +317,77 @@ export default {
                         label: "开票号",
                         type: "text"
                     },
+                    {
+                        prop: "invoicingMethod",
+                        label: "开票方式",
+                        // type: "text"
+                        name: '开票方式',
+                        type: 'slot'
+                    },
                     {
                         prop: "invoicCommissionFeevalue",
                         label: "开票金额",
                         type: "text"
                     },
                     {
-                        prop: "invoicTime",
-                        label: "开票时间",
+                        prop: "invoicedSettledAmount",
+                        label: "已开票已结算金额",
+                        type: "text"
+                    },
+                    {
+                        prop: "invoicedNotSettledAmount",
+                        label: "已开票未结算金额",
                         type: "text"
                     },
+                    {
+                        prop: "completionStatus",
+                        label: "结算状态",
+                        name: "结算状态",
+                        type: "slot"
+                    },
+                    // {
+                    //   prop: "invoicTime",
+                    //   label: "开票时间",
+                    //   type: "text"
+                    // },
 
                 ],
                 loading: true,
-                optBtns: [
+                isShowIndex: true,
+                operationWidth: 150,
+                optBtns:[
                     {
-                        type: 'primary',
-                        label: '记录',
-                        click: (row, index) => { return this.haldRecord(row) },
+                        type:'primary',
+                        label:'结算',
+                        hide: (row) => {
+                            return row.completionStatus != '2'
+                        },
+                        click:(row, index) => {return this.balanceFun(row)},
                     },
                     {
-                        type: 'primary',
-                        label: '明细',
-                        click: (row, index) => { return this.haldRecordDetail(row) },
-                    }
+                        type:'primary',
+                        label:'作废',
+                        hide: (row) => {
+                        return row.completionStatus == '0'
+                        },
+                        click:(row, index) => {return this.handVoid(row)},
+                    },
+                    {
+                        type:'primary',
+                        label:'记录',
+                        hide: (row) => {
+                        return row.completionStatus != '0'
+                        },
+                        click:(row, index) => {return this.haldRecord(row)},
+                    },
+                    {
+                        type:'primary',
+                        label:'明细',
+                        hide: (row) => {
+                        return row.completionStatus != '0'
+                        },
+                        click:(row, index) => {return this.haldRecordDetail(row)},
+                    },
                 ]
             },
             dialogVisible: false,
@@ -307,7 +398,8 @@ export default {
             formTableData: [],
             formTableDatarecord:[],
             recordDetailData:[],
-            recorddetailid:''
+            recorddetailid:'',
+            form:{},
 
         };
     },
@@ -321,7 +413,73 @@ export default {
         this.findPage();
     },
     methods: {
-        closeViewer() {
+        handVoid(row){
+            this.$api.task
+            .yaidlnvoicing({id:row.id})
+            .then(res => {
+                if (res.code==200) {
+                    this.dialogVisible=false
+                    this.$message({
+                        message: res.msg ||'操作成功',
+                        type: 'success'
+                    })
+                }
+                else{
+                    this.$message.error(res.msg)
+                }
+            });
+        },
+        balanceSumbit() {
+            this.$api.task
+                .batchBxBalance({...this.openBalanceDetail,
+                otherFeevalue:this.formDetail.otherFeevalue,
+                partnerCompaniesId:this.formDetail.partnerCompaniesId,
+                companyId:this.formDetail.companyId,
+                isNotCar:'0',
+                handlingFeesStatus:'1',
+                settlementImageId:this.batchData.id,
+                ...this.form})
+                .then(res => {
+                if (res.code==200) {
+                    this.haldDetail(this.formDetail)
+                    this.dialogVisiblebalance=false
+                    this.$message({
+                        message: res.msg ||'操作成功',
+                        type: 'success'
+                    })
+                }
+                else{
+                    this.$message.error(res.msg)
+                }
+                });
+            },
+        // 结算
+        balanceFun(row) {
+            this.openBalanceDetail=row
+            this.fileList=[]
+            this.dialogVisiblebalance=true
+        },
+        drivingupload(file, fileList){
+            this.fileList=[]
+            const params = new FormData(); // 声明formData数据类型
+            params.append("multipartFile", file.raw);
+            params.append("type", "image");
+            // params.append("isNotCar", "0");
+            this.$api.letter.uploadFile(params).then(res => {
+            if (res.code == "200") {
+                this.batchData =res.data
+                this.fileList = fileList
+            }
+            else{
+                this.fileList=[]
+                this.$message.error(res.msg)
+            }
+            });
+        },
+    handleClosebalance() {
+      this.dialogVisiblebalance = false;
+    },
+    closeViewer() {
       this.showViewer = false;
     },
         getYearData(val) {
@@ -351,7 +509,9 @@ export default {
                     isNotDocumentary: '0',
                     handlingFeesStatus: '0',
                     isSettlement: '1',
-                    settlementStatus:data.settlementStatus,
+                    // settlementStatus:data.settlementStatus,
+                    completionStatus:data.settlementStatus || '2',
+                    settlementStatus: '1'
                 })
                 .then(res => {
                     if (res.code == 200) {
@@ -367,32 +527,22 @@ export default {
         findPageDetailrecord(data) {
             this.tableConfigDetailrecord.loading = true
             this.$api.task
-                .settlementFeesQuery({
-                    partnerCompaniesId: this.formDetail.partnerCompaniesId,
-                    agreementType: '2',
-                    isNotCar: '0',
-                    handlingFeesStatus: '0',
-                    id:this.recorddetailid,
-                    ...data
-                })
-                .then(res => {
-                    if (res.code == 200) {
-                        res.data.content.forEach(ele => {
+            .settlementFeesGetRecord(this.recorddetailid)
+            .then(res => {
+                if (res.code == 200) {
+                    res.data.forEach(ele => {
+                        if (ele.imageUrl) {
                             ele.imageUrl= process.env.BASE_URL+ele.imageUrl
-                        });
-                        this.formTableDatarecord = res.data.content;
-                        this.pageDatarecord={
-                            pageNum:res.data.pageNum,
-                            pageSize:res.data.pageSize,
-                            totalSize:res.data.totalSize,
                         }
-                        this.tableConfigDetailrecord.loading = false;
-                    }
-                    else {
-                        this.tableConfigDetail.loading = false;
-                        this.$message.error(res.msg)
-                    }
-                });
+                    });
+                    this.formTableDatarecord = res.data
+                    this.tableConfigDetailrecord.loading = false;
+                }
+                else {
+                    this.tableConfigDetail.loading = false;
+                    this.$message.error(res.msg)
+                }
+            });
         },
         getListrecord(data) {
             this.findPageDetailrecord(data)
@@ -413,9 +563,8 @@ export default {
         },
         haldRecordDetail(row) {
             this.dialogVisiblerecordDetail = true
-            this.getListrecorddetail()
             this.recorddetailid = row.id
-
+            this.getListrecorddetail()
         },
         getListrecorddetail(data) {
             this.findPageDetailrecorddatail(data)
@@ -423,7 +572,7 @@ export default {
         findPageDetailrecorddatail(data) {
             this.tableConfigDetailrecorddetail.loading = true;
             this.$api.task
-            .fncplyFeeQuery({ 
+            .fncplyFeeQuery({
                     partnerCompaniesId: this.formDetail.partnerCompaniesId,
                     agreementType: '2',
                     isNotCar: '0',
@@ -476,23 +625,23 @@ export default {
         getList(data) {
             this.findPage(data)
         },
-       
+
         // 结算
-        balanceFun(row) {
-            this.$api.task
-                .batchBxBalance({ ids: row.ids })
-                .then(res => {
-                    if (res.code == 200) {
-                        this.$message({
-                            message: res.msg || '操作成功',
-                            type: 'success'
-                        })
-                    }
-                    else {
-                        this.$message.error(res.msg)
-                    }
-                });
-        },
+        // balanceFun(row) {
+        //     this.$api.task
+        //         .batchBxBalance({ ids: row.ids })
+        //         .then(res => {
+        //             if (res.code == 200) {
+        //                 this.$message({
+        //                     message: res.msg || '操作成功',
+        //                     type: 'success'
+        //                 })
+        //             }
+        //             else {
+        //                 this.$message.error(res.msg)
+        //             }
+        //         });
+        // },
         tablePageChange(val) {
             this.pageData.pageSize = val;
             this.findPage();
@@ -518,4 +667,3 @@ export default {
   text-align: center;
 }
 </style>
-  

+ 335 - 86
src/views/FinancialManagement/CarInsurance/CompanySettlement/CarInsurance/InvoicingUnsettled.vue

@@ -7,56 +7,78 @@
                 <yearMonthYay ref="yearMonthYay" @getYearData="getYearData"  @getMonthData="getMonthData"  @getDayData="getDayData"></yearMonthYay>
             </template>
             <template slot="保司机构">
-        <el-cascader v-model="pageData.partnerCompaniesIdList" size="small" :show-all-levels="false" ize="small"
-          :options="ztreeNodes" :props='{
-            checkStrictly: true,
-            value: "id",
-            label: "name",
-            children: "children",
-        }' clearable filterable></el-cascader>
-      </template>
+              <el-cascader v-model="pageData.partnerCompaniesIdList" size="small" :show-all-levels="false" ize="small"
+                :options="ztreeNodes" :props='{
+                  checkStrictly: true,
+                  value: "id",
+                  label: "name",
+                  children: "children",
+              }' clearable filterable></el-cascader>
+            </template>
         </templateTable>
-        <el-dialog
-      title="详情"
-      :visible.sync="dialogVisible"
-      width="80%"
-      :before-close="handleClose">
-      <templateTable ref="templateTable" :formList="formList1" @handleSearchList="handleSearchList1" :tableConfig="tableConfigDetail" :data="formTableData"
-      @findPage="findPageDetail" >
-    </templateTable>
-      <span slot="footer" class="dialog-footer">
-      <el-button  size="small" @click="dialogVisible = false">取消</el-button>
-    </span>
-  </el-dialog>
-  <el-dialog
-      title="结算"
-      :visible.sync="dialogVisiblebalance"
-      width="20%"
-      :before-close="handleClosebalance">
-      <el-form ref="form" :model="form" label-width="85px">
-        <el-form-item label="进账金额:">
-          <el-input v-model="form.settlementAmount" style="width:220px"></el-input>
-        </el-form-item>
-        <el-form-item label="进账日期:">
-          <el-date-picker
-            v-model="form.settlementTime"
-            type="date"
-            placeholder="选择日期"
-            value-format="yyyy-MM-dd">
-          </el-date-picker>
-        </el-form-item>
-        <el-form-item label="上传凭证:" >
-              <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>
-          </el-form-item>
-      </el-form>
-      <span slot="footer" class="dialog-footer">
-      <el-button  size="small" @click="dialogVisiblebalance = false">取消</el-button>
-      <el-button type="primary" size="small" @click="balanceSumbit">确实</el-button>
-    </span>
-  </el-dialog>
+        <el-dialog title="详情" :visible.sync="dialogVisible" width="80%" :before-close="handleClose">
+          <templateTable ref="templateTable" :formList="formList1" @handleSearchList="handleSearchList1" :tableConfig="tableConfigDetail" :data="formTableData"
+            @findPage="findPageDetail" >
+              <template slot="开票方式" slot-scope="scope">
+                <span>{{ scope.row.invoicingMethod == 0 ? '保司开票' : scope.row.invoicingMethod == 1 ? '掌柜开票' : scope.row.invoicingMethod }}</span>
+              </template>
+              <template slot="结算状态" slot-scope="scope">
+                <span>{{ scope.row.completionStatus == 0 ? '开票未结算' : scope.row.completionStatus == 1 ? '开票已结算' : scope.row.completionStatus == 2 ? '开票结算清' : scope.row.completionStatus }}</span>
+              </template>
+          </templateTable>
+          <span slot="footer" class="dialog-footer">
+            <el-button  size="small" @click="dialogVisible = false">取消</el-button>
+          </span>
+        </el-dialog>
+        <el-dialog title="记录" :visible.sync="dialogVisiblerecord" width="30%" :before-close="handleCloserecord">
+            <templateTable ref="templateTable1"   :pagination="pageDatarecord" @getList="getListrecord"
+                :tableConfig="tableConfigDetailrecord" :data="formTableDatarecord" @findPage="findPageDetailrecord">
+                <template slot="imageUrl" slot-scope="scope">
+                    <img v-if="scope.row.imageUrl" :src='scope.row.imageUrl' class="imageclass"  @click.stop="showViewer=true;ProViewImg=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="dialogVisiblerecordDetail" width="50%" :before-close="handleCloserecorddetail">
+            <templateTable ref="templateTable1"   :pagination="pageDatarecorddetail" @getList="getListrecorddetail"
+                :tableConfig="tableConfigDetailrecorddetail" :data="recordDetailData" @findPage="findPageDetailrecorddatail">
+            </templateTable>
+
+            <span slot="footer" class="dialog-footer">
+                <el-button size="small" @click="dialogVisiblerecordDetail = false">取消</el-button>
+            </span>
+        </el-dialog>
+      <el-dialog
+          title="结算"
+          :visible.sync="dialogVisiblebalance"
+          width="20%"
+          :before-close="handleClosebalance">
+          <el-form ref="form" :model="form" label-width="85px">
+            <el-form-item label="进账金额:">
+              <el-input v-model="form.settlementAmount" style="width:220px"></el-input>
+            </el-form-item>
+            <el-form-item label="进账日期:">
+              <el-date-picker
+                v-model="form.settlementTime"
+                type="date"
+                placeholder="选择日期"
+                value-format="yyyy-MM-dd">
+              </el-date-picker>
+            </el-form-item>
+            <el-form-item label="上传凭证:" >
+                  <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>
+              </el-form-item>
+          </el-form>
+          <span slot="footer" class="dialog-footer">
+          <el-button  size="small" @click="dialogVisiblebalance = false">取消</el-button>
+          <el-button type="primary" size="small" @click="balanceSumbit">确实</el-button>
+        </span>
+      </el-dialog>
     </div>
 </template>
 <script>
@@ -76,6 +98,97 @@ export default {
     },
     data() {
         return {
+          // 记录 明细
+          dialogVisiblerecord: false,
+          dialogVisiblerecordDetail: false,
+          formTableDatarecord:[],
+          recordDetailData:[],
+          pageDatarecord: {
+                pageNum: 1,
+                pageSize: 20,
+                totalSize:0
+            },
+            pageDatarecorddetail: {
+                pageNum: 1,
+                pageSize: 20,
+                totalSize:0
+            },
+            tableConfigDetailrecord: {
+                columns: [
+                    {
+                        prop: "settlementTime",
+                        label: "进账日期",
+                        type: "text"
+                    },
+                    {
+                        prop: "settlementAmount",
+                        label: "进帐金额",
+                        type: "text"
+                    },
+                    {
+                        name: "imageUrl",
+                        label: "凭证",
+                        type: "slot"
+                    },
+                ],
+                loading: true,
+                isPaginationShow:true
+            },
+            tableConfigDetailrecorddetail: {
+                columns: [
+                    {
+                        prop: "syPolicyno",
+                        label: "商业保单号",
+                        type: "text"
+                    },
+                    {
+                        prop: "policyno",
+                        label: "交强保单号",
+                        type: "text"
+                    },
+                    {
+                        prop: "licenseno",
+                        label: "车牌号",
+                        type: "text"
+                    },
+                    {
+                        prop: "insuredName",
+                        label: "被保人",
+                        type: "text"
+                    },
+                    {
+                        prop: "jqPremium",
+                        label: "交强保费",
+                        type: "text"
+                    },
+                    {
+                        prop: "syPremium",
+                        label: "商业保费",
+                        type: "text"
+                    },
+                    {
+                        prop: "jqSuperviseCostsProportion",
+                        label: "交强手续费比例",
+                        type: "text"
+                    },
+                    {
+                        prop: "jqSuperviseCostsPremiums",
+                        label: "交强手续费金额",
+                        type: "text"
+                    }, {
+                        prop: "sySuperviseCostsProportion",
+                        label: "商业手续费比例",
+                        type: "text"
+                    },
+                    {
+                        prop: "sySuperviseCostsPremiums",
+                        label: "商业手续费金额",
+                        type: "text"
+                    },
+                ],
+                loading: true,
+                isPaginationShow:true
+            },
       ztreeNodes:[],
       fileList:[],
             dialogVisiblebalance:false,
@@ -88,33 +201,77 @@ export default {
             label: "开票号",
             type: "text"
           },
+          {
+            prop: "invoicingMethod",
+            label: "开票方式",
+            // type: "text"
+            name: '开票方式',
+            type: 'slot'
+          },
           {
             prop: "invoicCommissionFeevalue",
             label: "开票金额",
             type: "text"
           },
           {
-            prop: "invoicTime",
-            label: "开票时间",
+            prop: "invoicedSettledAmount",
+            label: "已开票已结算金额",
+            type: "text"
+          },
+          {
+            prop: "invoicedNotSettledAmount",
+            label: "已开票未结算金额",
             type: "text"
           },
+          {
+            prop: "completionStatus",
+            label: "结算状态",
+            name: "结算状态",
+            type: "slot"
+          },
+          // {
+          //   prop: "invoicTime",
+          //   label: "开票时间",
+          //   type: "text"
+          // },
          
         ],
         loading: true,
+        isShowIndex: true,
+        operationWidth: 150,
         optBtns:[
           {
             type:'primary',
             label:'结算',
+            hide: (row) => {
+                return row.completionStatus != '2'
+            },
             click:(row, index) => {return this.balanceFun(row)},
         },
         {
             type:'primary',
             label:'作废',
             hide: (row) => {
-                return !row.readyCommissionFeevalue ? true : false
+              return row.completionStatus == '0'
             },
             click:(row, index) => {return this.handVoid(row)},
         },
+        {
+            type:'primary',
+            label:'记录',
+            hide: (row) => {
+              return row.completionStatus != '0'
+            },
+            click:(row, index) => {return this.haldRecord(row)},
+        },
+        {
+            type:'primary',
+            label:'明细',
+            hide: (row) => {
+              return row.completionStatus != '0'
+            },
+            click:(row, index) => {return this.haldRecordDetail(row)},
+        },
       ]
       },
             searchData: {},
@@ -141,13 +298,18 @@ export default {
                     prop: "settlementStatus",
                     type: "select",
                     options: [
-                        {
-                            label: '开票已结算',
-                            value: '2'
-                        }, {
-                            label: '开票未结算',
-                            value: '1'
-                        },
+                      {
+                        label: '开票未结算',
+                        value: '0'
+                      },
+                      {
+                        label: '开票已结算',
+                        value: '1'
+                      }, 
+                      {
+                        label: '开票结算清',
+                        value: '2'
+                      },
                     ]
                 },
                
@@ -221,30 +383,110 @@ export default {
         this.findPage();
     },
     methods: {
+      // 记录
+      findPageDetailrecord(data) {
+            this.tableConfigDetailrecord.loading = true
+            this.$api.task
+                // .settlementFeesQuery({
+                //     partnerCompaniesId: this.formDetail.partnerCompaniesId,
+                //     agreementType: '2',
+                //     isNotCar: '0',
+                //     handlingFeesStatus: '0',
+                //     settlementStatus:'2',
+                //     id:this.recorddetailid,
+                //     ...data
+                // })
+                .settlementFeesGetRecord(this.recorddetailid)
+                .then(res => {
+                    if (res.code == 200) {
+                        res.data.forEach(ele => {
+                          if (ele.imageUrl) {
+                            ele.imageUrl= process.env.BASE_URL+ele.imageUrl
+                          }
+                        });
+                        // this.formTableDatarecord = res.data.content;
+                        // this.pageDatarecord={
+                        //     pageNum:res.data.pageNum,
+                        //     pageSize:res.data.pageSize,
+                        //     totalSize:res.data.totalSize,
+                        // }
+                        this.formTableDatarecord = res.data
+                        this.tableConfigDetailrecord.loading = false;
+                    }
+                    else {
+                        this.tableConfigDetail.loading = false;
+                        this.$message.error(res.msg)
+                    }
+                });
+        },
+        getListrecord(data) {
+            this.findPageDetailrecord(data)
+        },
+        haldRecord(row) {
+            this.dialogVisiblerecord = true
+            this.recorddetailid = row.id
+            this.findPageDetailrecord()
+        },
+        
+        haldRecordDetail(row) {
+            this.dialogVisiblerecordDetail = true
+            this.recorddetailid = row.id
+            this.getListrecorddetail()
+        },
+        getListrecorddetail(data) {
+            this.findPageDetailrecorddatail(data)
+        },
+        findPageDetailrecorddatail(data) {
+            this.tableConfigDetailrecorddetail.loading = true;
+            this.$api.task
+            .fncplyFeeQuery({
+                    partnerCompaniesId: this.formDetail.partnerCompaniesId,
+                    agreementType: '2',
+                    isNotCar: '0',
+                    handlingFeesStatus: '0',
+                    id:this.recorddetailid,
+                    ...data})
+                .then(res => {
+                    if (res.code == 200) {
+                        this.tableConfigDetailrecorddetail.loading = false;
+                        this.recordDetailData = res.data.content ? res.data.content : []
+                    }
+                    else {
+                        this.tableConfigDetailrecorddetail.loading = false;
+                        this.$message.error(res.msg)
+                    }
+                });
+        },
+      handleCloserecord() {
+            this.dialogVisiblerecord = false
+        },
+        handleCloserecorddetail() {
+            this.dialogVisiblerecordDetail = false
+        },
       resetForm() {
             this.formData={}
             this.$refs.yearMonthYay.clear()
         },
       drivingupload(file, fileList){
-      this.fileList=[]
-      const params = new FormData(); // 声明formData数据类型
-      params.append("multipartFile", file.raw);
-      params.append("type", "image");
-      // params.append("isNotCar", "0");
-      this.$api.letter.uploadFile(params).then(res => {
-        if (res.code == "200") {
-          this.batchData =res.data
-          this.fileList = fileList
-        }
-        else{
-          this.fileList=[]
-          this.$message.error(res.msg)
-        }
-      });
-    },
-        getYearData(val){
-      this.formData.year=val
-    },
+        this.fileList=[]
+        const params = new FormData(); // 声明formData数据类型
+        params.append("multipartFile", file.raw);
+        params.append("type", "image");
+        // params.append("isNotCar", "0");
+        this.$api.letter.uploadFile(params).then(res => {
+          if (res.code == "200") {
+            this.batchData =res.data
+            this.fileList = fileList
+          }
+          else{
+            this.fileList=[]
+            this.$message.error(res.msg)
+          }
+        });
+      },
+      getYearData(val){
+        this.formData.year=val
+      },
     getMonthData(val){
       this.formData.month=val
     },
@@ -252,8 +494,8 @@ export default {
       this.formData.day=val
     },
     // 查询
-    handleSearchList() {
-        this.findPage();
+    handleSearchList(data) {
+        this.findPage(data);
     },
     handleSearchList1(data){
         this.findPageDetail({...this.formDetail,...data})
@@ -272,7 +514,9 @@ export default {
         isNotCar: '0',
         isNotDocumentary : '0',
         handlingFeesStatus:'0',
-        settlementStatus:data.settlementStatus,
+        // settlementStatus:data.settlementStatus,
+        completionStatus:data.settlementStatus || '0',
+        settlementStatus: '1'
 
     })
     .then(res => {
@@ -289,13 +533,13 @@ export default {
        
         //列表数据
         findPage(data) {
-            if (data) {
-                this.pageData.pageNum = data.pageNum;
-                this.pageData.pageSize = data.pageSize;
-            }
+            // if (data) {
+            //     this.pageData.pageNum = data.pageNum;
+            //     this.pageData.pageSize = data.pageSize;
+            // }
             this.tableConfig.loading = true;
             this.$api.task
-                .totalBxAmount({...this.pageData,...this.formData})
+                .totalBxAmount({...this.pageData,...this.formData, ...data})
                 .then(res => {
                     if (res.code==200) {
                         this.tableData = res.data? res.data:[]
@@ -383,5 +627,10 @@ export default {
     overflow-y: auto !important;
     height: auto !important;
 }
+.imageclass {
+  width: 200px;
+  height: 100px;
+  text-align: center;
+}
 </style>
   

+ 9 - 4
src/views/FinancialManagement/CarInsurance/CompanySettlement/CarInsurance/Notinvoiced.vue

@@ -1,6 +1,6 @@
 <template>
   <!--布局容器-->
-  <div class="container" style="width: 99%; margin-top: 0px">
+  <div class="InvoicedAndSettled" style="width: 99%; margin-top: 0px">
     <templateTable :formList="formList" :searchData.sync="searchData" :tableConfig="tableConfig" :data="tableData"
       @findPage="findPage" @handleSearchList="handleSearchList" @resetForm="resetForm" :pagination="pageData">
       <template slot="data">
@@ -183,6 +183,8 @@ export default {
         loading: true,
         isPaginationShow: true,
         isShowIndex: true,
+        showSummary: true,
+        tableHeight: 'auto',
         optBtns: [
           {
             type: 'primary',
@@ -400,6 +402,9 @@ export default {
   }
 };
 </script>
-    
-<style scoped></style>
-    
+<style scoped lang="scss">
+  .InvoicedAndSettled>>>.el-table__body-wrapper {
+    overflow-y: auto !important;
+    height: auto !important;
+  }
+</style>

+ 18 - 6
src/views/FinancialManagement/CarInsurance/CompanySettlement/NoCarInsurance/DocumentaryFeesDetail.vue

@@ -10,7 +10,7 @@
       </el-upload>
     </template>
     <template slot="imageUrl" slot-scope="scope">
-        <img :src="`${process + scope.row.imageUrl}`" class="imageclass" />
+        <img v-if="scope.row.imageUrl" :src="`${process + scope.row.imageUrl}`" class="imageclass" />
       </template>
     <template slot="dockingPerson">
         <el-select v-model="pageData.dockingPerson" filterable clearable placeholder="请选择" size="small">
@@ -20,7 +20,7 @@
         </el-select>
       </template>
       <template slot="riskcode">
-        <el-select v-model="pageData.riskcode"  placeholder="选择险种" size="small">
+        <el-select v-model="pageData.riskcode" clearable placeholder="选择险种" size="small">
           <el-option v-for="item in productsTypeoptions" :key="item.dictValue" :label="item.dictTag"
             :value="item.dictTag"></el-option>
         </el-select>
@@ -104,10 +104,10 @@
             </el-form-item>
           </el-col>
           <el-col :span="8">
-            <el-form-item label="协议名称" prop="agreementId">
-              <el-select size="small" v-model="formDataAdd.agreementId" placeholder="请选择协议类型" style="width: 100%">
-                <el-option v-for="item in agreementTypeoptions" :key="item.dictValue" :label="item.dictTag"
-                  :value="item.dictValue"></el-option>
+            <el-form-item label="协议选择" prop="agreeId">
+              <el-select size="small" v-model="formDataAdd.agreeId" placeholder="请选择协议类型" style="width: 100%">
+                <el-option v-for="item in agreementTypeoptions" :key="item.dictValue" :label="item.agreementName"
+                  :value="item.id"></el-option>
               </el-select>
             </el-form-item>
           </el-col>
@@ -601,6 +601,7 @@ export default {
     this.getDicType("agreementType"); //险种类型
     this.areaqueryList(1, 99, "provinceId");
     this.companyqueryList(0,'allPartnerCompaniesId');
+    this.agrmentlist()
 
     this.findPage();
     let params = {
@@ -627,6 +628,11 @@ export default {
     });
   },
   methods: {
+    agrmentlist() {
+      this.$api.task.findPtlAgreementList().then((res) => {
+        this.agreementTypeoptions = res.data
+      });
+    },
     areaqueryList(level, parentId, filed) {
       this.$api.task.queryListByParentId(level, parentId).then((res) => {
         this.selectDataMatching(this.formList, filed, res.data);
@@ -938,6 +944,7 @@ drivinguploadBatchs(file, fileList){
         });
     },
     onSubmit(){
+      this.formDataList.createTime = null
       this.$api.task.plyFeeUpdate({...this.formDataList,id:this.formDataId})
           .then(res => {
             if (res.code==200) {
@@ -1010,4 +1017,9 @@ drivinguploadBatchs(file, fileList){
   height: 135px;
   display: block;
 }
+.imageclass {
+  width: 100px;
+  height: 50px;
+  text-align: center;
+}
 </style>

+ 31 - 5
src/views/FinancialManagement/CarInsurance/CompanySettlement/NoCarInsurance/DocumentaryFeesSettled.vue

@@ -19,6 +19,9 @@
     <el-dialog title="记录" :visible.sync="dialogVisiblerecord" width="30%" :before-close="handleCloserecord">
       <templateTable ref="templateTable1" :pagination="pageDatarecord" @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>
@@ -32,6 +35,8 @@
                 <el-button size="small" @click="dialogVisiblerecordDetail = false">取消</el-button>
             </span>
         </el-dialog>
+        <el-image-viewer v-if="showViewer" :on-close="closeViewer"  :z-index="9999" :url-list="[ProViewImg]" />
+
   </div>
 </template>
 <script>
@@ -41,7 +46,10 @@ import yearMonthYay from '../../PlatformSettlement/yearMonthYay.vue'
 
 export default {
   name: "baosi",
-  components: {  templateTable,yearMonthYay },
+  components: {  templateTable,yearMonthYay ,
+    "el-image-viewer": () =>
+      import("element-ui/packages/image/src/image-viewer")
+  },
   created() {
   },
   computed: {
@@ -51,6 +59,9 @@ export default {
   },
   data() {
     return {
+      process:process.env.BASE_URL,
+      showViewer:false,
+      ProViewImg:[],
       ztreeNodes:[],
       recordDetailData:[],
       pageDatarecorddetail: {
@@ -110,6 +121,11 @@ export default {
             label: "进帐金额",
             type: "text"
           },
+          {
+            name: "imageUrl",
+            label: "进帐截图",
+            type: "slot"
+          },
 
         ],
         loading: true,
@@ -231,6 +247,9 @@ export default {
     this.findPage();
   },
   methods: {
+    closeViewer() {
+      this.showViewer = false;
+    },
     resetForm() {
             this.formData={}
             this.pageData.partnerCompaniesIdList=[]
@@ -249,7 +268,7 @@ export default {
         findPageDetailrecorddatail(data) {
             this.tableConfigDetailrecorddetail.loading = true;
             this.$api.task
-                .fncplyFeeQuery({ 
+                .fncplyFeeQuery({
                   partnerCompaniesId: data.partnerCompaniesId,
                   agreementType: '2',
                   handlingFeesStatus: '1',
@@ -284,6 +303,7 @@ export default {
           agreementType: '2',
           handlingFeesStatus: '1',
           isNotCar:'1',
+          settlementStatus:'2',
           ...this.pageDatarecord
         })
         .then(res => {
@@ -347,14 +367,20 @@ export default {
       this.pageData.pageNum = val;
       this.findPage();
     },
-   
+
   }
 };
 </script>
-    
+
 <style scoped>
 
 .invoiceAnd >>>.el-table__body-wrapper {
     overflow-y: auto !important;
     height: auto !important;
-  }</style>
+  }
+  .imageclass {
+    max-width: 100px;
+    max-height: 50px;
+    text-align: center;
+  }  
+</style>

+ 37 - 4
src/views/FinancialManagement/CarInsurance/CompanySettlement/NoCarInsurance/DocumentaryUnsettled.vue

@@ -1,6 +1,6 @@
 <template>
   <!--布局容器-->
-  <div class="container" style="width: 99%; margin-top: 0px">
+  <div class="InvoicedAndSettled" style="width: 99%; margin-top: 0px">
     <templateTable :formList="formList" :searchData.sync="searchData" :tableConfig="tableConfig" :data="tableData"
       @findPage="findPage" @handleSearchList="handleSearchList"  @resetForm="resetForm" :pagination="pageData">
       <template slot="data">
@@ -33,7 +33,7 @@
       :visible.sync="dialogVisiblebalance"
       width="20%"
       :before-close="handleClosebalance">
-      <el-form ref="form" :model="form" label-width="80px">
+      <el-form ref="form" :model="form" label-width="85px">
         <el-form-item label="进账金额">
           <el-input v-model="form.settlementAmount" style="width:220px"></el-input>
         </el-form-item>
@@ -45,6 +45,13 @@
             value-format="yyyy-MM-dd">
           </el-date-picker>
         </el-form-item>
+        <el-form-item label="上传凭证" >
+            <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>
+        </el-form-item>
+
       </el-form>
       <span slot="footer" class="dialog-footer">
       <el-button  size="small" @click="dialogVisiblebalance = false">取消</el-button>
@@ -70,6 +77,8 @@ export default {
   },
   data() {
     return {
+      fileList:[],
+      batchData:{},
       ztreeNodes:[],
       year: '',
       searchData: {},
@@ -124,6 +133,8 @@ export default {
         loading: true,
         isPaginationShow: true,
         isShowIndex: true,
+        showSummary: true,
+        tableHeight: 'auto',
         optBtns: [
           {
               type: 'primary',
@@ -225,6 +236,23 @@ export default {
             }
         });
     },
+    drivingupload(file, fileList){
+        this.fileList=[]
+        const params = new FormData(); // 声明formData数据类型
+        params.append("multipartFile", file.raw);
+        params.append("type", "image");
+        // params.append("isNotCar", "0");
+        this.$api.letter.uploadFile(params).then(res => {
+          if (res.code == "200") {
+            this.batchData =res.data
+            this.fileList = fileList
+          }
+          else{
+            this.fileList=[]
+            this.$message.error(res.msg)
+          }
+        });
+      },
     getYearData(val){
       this.formData.year=val
     },
@@ -275,6 +303,7 @@ export default {
           partnerCompaniesId:this.findPageDetailList.partnerCompaniesId,
           companyId:this.findPageDetailList.companyId,
           handlingFeesStatus:'1',
+          settlementImageId:this.batchData.id,
           ...this.form})
         .then(res => {
           if (res.code==200) {
@@ -335,6 +364,10 @@ export default {
   }
 };
 </script>
-    
-<style scoped></style>
+<style scoped lang="scss">
+  .InvoicedAndSettled>>>.el-table__body-wrapper {
+    overflow-y: auto !important;
+    height: auto !important;
+  }
+</style>
     

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

@@ -25,7 +25,7 @@
         </el-select>
       </template>
       <template slot="riskcode">
-        <el-select v-model="pageData.riskcode"  placeholder="选择险种" size="small">
+        <el-select v-model="pageData.riskcode" clearable placeholder="选择险种" size="small">
           <el-option v-for="item in riskcodeList" :key="item.dictValue" :label="item.dictTag"
             :value="item.dictTag"></el-option>
         </el-select>
@@ -152,15 +152,15 @@
             <el-form-item label="险种" prop="riskcode">
               <el-select v-model="formDataAdd.riskcode"  placeholder="选择险种" size="small">
                 <el-option v-for="item in productsTypeoptions" :key="item.dictValue" :label="item.dictTag"
-                  :value="item.dictValue"></el-option>
+                  :value="item.dictTag"></el-option>
               </el-select>
             </el-form-item>
           </el-col>
           <el-col :span="8">
-            <el-form-item label="协议名称" prop="agreementId">
-              <el-select size="small" v-model="formDataAdd.agreementId" placeholder="请选择协议类型" style="width: 100%">
-                <el-option v-for="item in agreementTypeoptions" :key="item.dictValue" :label="item.dictTag"
-                  :value="item.dictValue"></el-option>
+            <el-form-item label="协议选择" prop="agreeId">
+              <el-select size="small" v-model="formDataAdd.agreeId" placeholder="请选择协议类型" style="width: 100%">
+                <el-option v-for="item in agreementTypeoptions" :key="item.dictValue" :label="item.agreementName"
+                  :value="item.id"></el-option>
               </el-select>
             </el-form-item>
           </el-col>
@@ -611,6 +611,7 @@ export default {
     this.getDicType("agreementType"); //险种类型
     this.areaqueryList(1, 99, "provinceId");
     this.companyqueryList(0,'allPartnerCompaniesId');
+    this.agrmentlist();
 
     this.findPage();
     let params = {
@@ -637,6 +638,11 @@ export default {
     });
   },
   methods: {
+    agrmentlist() {
+      this.$api.task.findPtlAgreementList().then((res) => {
+        this.agreementTypeoptions = res.data
+      });
+    },
     uploadUrlClick(e) {
       let url = process.env.BASE_URL + e; // 3.创建一个临时的url指向blob对象
       let a = document.createElement("a");

+ 213 - 62
src/views/FinancialManagement/CarInsurance/CompanySettlement/NoCarInsurance/InvoicedAndSettled.vue

@@ -17,9 +17,15 @@
         }' clearable filterable></el-cascader>
       </template>
         </templateTable>
-        <el-dialog title="详情" :visible.sync="dialogVisible" width="60%" :before-close="handleClose">
+        <el-dialog title="详情" :visible.sync="dialogVisible" width="80%" :before-close="handleClose">
             <templateTable ref="templateTable" :formList="formList1" @handleSearchList="handleSearchList1"
                 :tableConfig="tableConfigDetail" :data="formTableData" @findPage="findPageDetail">
+                <template slot="开票方式" slot-scope="scope">
+                    <span>{{ scope.row.invoicingMethod == 0 ? '保司开票' : scope.row.invoicingMethod == 1 ? '掌柜开票' : scope.row.invoicingMethod }}</span>
+                </template>
+                <template slot="结算状态" slot-scope="scope">
+                    <span>{{ scope.row.completionStatus == 0 ? '开票未结算' : scope.row.completionStatus == 1 ? '开票已结算' : scope.row.completionStatus == 2 ? '开票结算清' : scope.row.completionStatus }}</span>
+                </template>
             </templateTable>
             <span slot="footer" class="dialog-footer">
                 <el-button size="small" @click="dialogVisible = false">取消</el-button>
@@ -29,7 +35,7 @@
             <templateTable ref="templateTable1"   :pagination="pageDatarecord" @getList="getListrecord"
                 :tableConfig="tableConfigDetailrecord" :data="formTableDatarecord" @findPage="findPageDetailrecord">
                 <template slot="imageUrl" slot-scope="scope">
-                    <img :src='scope.row.imageUrl' class="imageclass"  @click.stop="showViewer=true;ProViewImg=scope.row.imageUrl" />
+                    <img v-if="scope.row.imageUrl" :src='scope.row.imageUrl' class="imageclass"  @click.stop="showViewer=true;ProViewImg=scope.row.imageUrl" />
                 </template>
             </templateTable>
             <span slot="footer" class="dialog-footer">
@@ -40,11 +46,41 @@
             <templateTable ref="templateTable1"   :pagination="pageDatarecorddetail" @getList="getListrecorddetail"
                 :tableConfig="tableConfigDetailrecorddetail" :data="recordDetailData" @findPage="findPageDetailrecorddatail">
             </templateTable>
-               
+
             <span slot="footer" class="dialog-footer">
                 <el-button size="small" @click="dialogVisiblerecordDetail = false">取消</el-button>
             </span>
         </el-dialog>
+        <el-dialog
+          title="结算"
+          :visible.sync="dialogVisiblebalance"
+          width="20%"
+          :before-close="handleClosebalance">
+          <el-form ref="form" :model="form" label-width="85px">
+            <el-form-item label="进账金额:">
+              <el-input v-model="form.settlementAmount" style="width:220px"></el-input>
+            </el-form-item>
+            <el-form-item label="进账日期:">
+              <el-date-picker
+                v-model="form.settlementTime"
+                type="date"
+                placeholder="选择日期"
+                value-format="yyyy-MM-dd">
+              </el-date-picker>
+            </el-form-item>
+            <el-form-item label="上传凭证:" >
+                  <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>
+              </el-form-item>
+          </el-form>
+          <span slot="footer" class="dialog-footer">
+          <el-button  size="small" @click="dialogVisiblebalance = false">取消</el-button>
+          <el-button type="primary" size="small" @click="balanceSumbit">确实</el-button>
+        </span>
+      </el-dialog>
+
         <el-image-viewer v-if="showViewer"  :on-close="closeViewer"  :z-index="9999" :url-list="[ProViewImg]" />
 
     </div>
@@ -60,22 +96,12 @@ export default {
     components: { KtCommonTable, templateTable, yearMonthYay,
         "el-image-viewer": () =>
       import("element-ui/packages/image/src/image-viewer") },
-    created() {
-        this.$api.insCompany.findLeftInsTree( {
-            classname: "",
-            type: '1',
-            }).then((res) => {
-        this.ztreeNodes = res.data;
-        });
-        this.findPage();
-    },
-    computed: {
-        ...mapState({
-            perms: state => state.user.perms
-        })
-    },
     data() {
         return {
+            process: process.env.BASE_URL,
+            batchData:{},
+            fileList:[],
+            dialogVisiblebalance:false,
             ztreeNodes:[],
             showViewer:false,
             dialogVisiblerecordDetail:false,
@@ -169,13 +195,18 @@ export default {
                     prop: "settlementStatus",
                     type: "select",
                     options: [
-                        {
-                            label: '开票已结算',
-                            value: '2'
-                        }, {
-                            label: '开票未结算',
-                            value: '1'
-                        }
+                      {
+                        label: '开票未结算',
+                        value: '0'
+                      },
+                      {
+                        label: '开票已结算',
+                        value: '1'
+                      },
+                      {
+                        label: '开票结算清',
+                        value: '2'
+                      },
                     ]
                 },
 
@@ -209,30 +240,77 @@ export default {
                         label: "开票号",
                         type: "text"
                     },
+                    {
+                        prop: "invoicingMethod",
+                        label: "开票方式",
+                        // type: "text"
+                        name: '开票方式',
+                        type: 'slot'
+                    },
                     {
                         prop: "invoicCommissionFeevalue",
                         label: "开票金额",
                         type: "text"
                     },
                     {
-                        prop: "invoicTime",
-                        label: "开票时间",
+                        prop: "invoicedSettledAmount",
+                        label: "已开票已结算金额",
+                        type: "text"
+                    },
+                    {
+                        prop: "invoicedNotSettledAmount",
+                        label: "已开票未结算金额",
                         type: "text"
                     },
+                    {
+                        prop: "completionStatus",
+                        label: "结算状态",
+                        name: "结算状态",
+                        type: "slot"
+                    },
+                    // {
+                    //   prop: "invoicTime",
+                    //   label: "开票时间",
+                    //   type: "text"
+                    // },
 
                 ],
                 loading: true,
-                optBtns: [
+                isShowIndex: true,
+                operationWidth: 150,
+                optBtns:[
                     {
-                        type: 'primary',
-                        label: '记录',
-                        click: (row, index) => { return this.haldRecord(row) },
+                        type:'primary',
+                        label:'结算',
+                        hide: (row) => {
+                            return row.completionStatus != '2'
+                        },
+                        click:(row, index) => {return this.balanceFun(row)},
                     },
                     {
-                        type: 'primary',
-                        label: '明细',
-                        click: (row, index) => { return this.haldRecordDetail(row) },
-                    }
+                        type:'primary',
+                        label:'作废',
+                        hide: (row) => {
+                        return row.completionStatus == '0'
+                        },
+                        click:(row, index) => {return this.handVoid(row)},
+                    },
+                    {
+                        type:'primary',
+                        label:'记录',
+                        hide: (row) => {
+                        return row.completionStatus != '0'
+                        },
+                        click:(row, index) => {return this.haldRecord(row)},
+                    },
+                    {
+                        type:'primary',
+                        label:'明细',
+                        hide: (row) => {
+                        return row.completionStatus != '0'
+                        },
+                        click:(row, index) => {return this.haldRecordDetail(row)},
+                    },
                 ]
             },
             dialogVisible: false,
@@ -267,7 +345,7 @@ export default {
                         label: "非车保单号",
                         type: "text"
                     },
-                  
+
                     {
                         prop: "licenseno",
                         label: "车牌号",
@@ -283,7 +361,7 @@ export default {
                         label: "非车保费",
                         type: "text"
                     },
-                   
+
                     {
                         prop: "noSuperviseCostsPremiums",
                         label: "非车手续费金额",
@@ -296,18 +374,96 @@ export default {
                     },
                 ],
                 loading: true,
-                isPaginationShow:true
+                isPaginationShow:true,
             },
-        };
+        form:{},
+    };
     },
     created() {
+        this.$api.insCompany.findLeftInsTree( {
+            classname: "",
+            type: '1',
+            }).then((res) => {
+        this.ztreeNodes = res.data;
+        });
         this.findPage();
     },
+    computed: {
+        ...mapState({
+            perms: state => state.user.perms
+        })
+    },
     methods: {
+        handVoid(row){
+            this.$api.task
+            .yaidlnvoicing({id:row.id})
+            .then(res => {
+                if (res.code==200) {
+                    this.dialogVisible=false
+                    this.$message({
+                        message: res.msg ||'操作成功',
+                        type: 'success'
+                    })
+                }
+                else{
+                    this.$message.error(res.msg)
+                }
+            });
+        },
+        balanceSumbit() {
+            this.$api.task
+                .batchBxBalance({...this.openBalanceDetail,
+                otherFeevalue:this.formDetail.otherFeevalue,
+                partnerCompaniesId:this.formDetail.partnerCompaniesId,
+                companyId:this.formDetail.companyId,
+                isNotCar:'0',
+                handlingFeesStatus:'1',
+                settlementImageId:this.batchData.id,
+                ...this.form})
+                .then(res => {
+                if (res.code==200) {
+                    this.haldDetail(this.formDetail)
+                    this.dialogVisiblebalance=false
+                    this.$message({
+                        message: res.msg ||'操作成功',
+                        type: 'success'
+                    })
+                }
+                else{
+                    this.$message.error(res.msg)
+                }
+                });
+            },
+        // 结算
+        balanceFun(row) {
+            this.openBalanceDetail=row
+            this.fileList=[]
+            this.dialogVisiblebalance=true
+        },
+        drivingupload(file, fileList){
+            this.fileList=[]
+            const params = new FormData(); // 声明formData数据类型
+            params.append("multipartFile", file.raw);
+            params.append("type", "image");
+            // params.append("isNotCar", "0");
+            this.$api.letter.uploadFile(params).then(res => {
+            if (res.code == "200") {
+                this.batchData =res.data
+                this.fileList = fileList
+            }
+            else{
+                this.fileList=[]
+                this.$message.error(res.msg)
+            }
+            });
+        },
+        handleClosebalance() {
+            this.dialogVisiblebalance = false;
+        },
         closeViewer() {
-      this.showViewer = false;
-    },
-    handleCloserecorddetail() {
+            this.showViewer = false;
+        },
+        handleCloserecorddetail() {
             this.dialogVisiblerecordDetail = false
         },
         getYearData(val) {
@@ -372,7 +528,8 @@ export default {
                     isNotDocumentary: '0',
                     handlingFeesStatus: '0',
                     isSettlement: '1',
-                    settlementStatus:data.settlementStatus,
+                    completionStatus:data.settlementStatus || '2',
+                    settlementStatus: '1'
                 })
                 .then(res => {
                     if (res.code == 200) {
@@ -386,9 +543,9 @@ export default {
                 });
         },
         haldRecordDetail(row) {
+            this.recorddetailid = row.id
             this.dialogVisiblerecordDetail = true
             this.getListrecorddetail()
-            this.recorddetailid = row.id
 
         },
         getListrecorddetail(data) {
@@ -397,10 +554,10 @@ export default {
         findPageDetailrecorddatail(data) {
             this.tableConfigDetailrecorddetail.loading = true;
             this.$api.task
-                .fncplyFeeQuery({ 
+                .fncplyFeeQuery({
                     partnerCompaniesId: this.formDetail.partnerCompaniesId,
                     agreementType: '2',
-                    isNotCar: '0',
+                    isNotCar: '1',
                     handlingFeesStatus: '0',
                     id:this.recorddetailid,
                     ...data})
@@ -418,25 +575,15 @@ export default {
         findPageDetailrecord(data) {
             this.tableConfigDetailrecord.loading = true
             this.$api.task
-                .settlementFeesQuery({
-                    partnerCompaniesId: this.formDetail.partnerCompaniesId,
-                    agreementType: '2',
-                    isNotCar: '1',
-                    handlingFeesStatus: '0',
-                    id:this.recorddetailid,
-                    ...data
-                })
+                .settlementFeesGetRecord(this.recorddetailid)
                 .then(res => {
                     if (res.code == 200) {
-                        res.data.content.forEach(ele => {
+                        res.data.forEach(ele => {
+                          if (ele.imageUrl) {
                             ele.imageUrl= process.env.BASE_URL+ele.imageUrl
+                          }
                         });
-                        this.formTableDatarecord = res.data.content;
-                        this.pageDatarecord={
-                            pageNum:res.data.pageNum,
-                            pageSize:res.data.pageSize,
-                            totalSize:res.data.totalSize,
-                        }
+                        this.formTableDatarecord = res.data
                         this.tableConfigDetailrecord.loading = false;
                     }
                     else {
@@ -470,11 +617,15 @@ export default {
     }
 };
 </script>
-  
+
 <style scoped>
 .invoiceAnd>>>.el-table__body-wrapper {
     overflow-y: auto !important;
     height: auto !important;
 }
+.imageclass {
+  width: 200px;
+  height: 100px;
+  text-align: center;
+}
 </style>
-  

+ 254 - 18
src/views/FinancialManagement/CarInsurance/CompanySettlement/NoCarInsurance/InvoicingUnsettled.vue

@@ -21,6 +21,12 @@
         <el-dialog title="详情" :visible.sync="dialogVisible" width="80%" :before-close="handleClose">
             <templateTable ref="templateTable" :formList="formList1" @handleSearchList="handleSearchList1"
                 :tableConfig="tableConfigDetail" :data="formTableData" @findPage="findPageDetail">
+                <template slot="开票方式" slot-scope="scope">
+                <span>{{ scope.row.invoicingMethod == 0 ? '保司开票' : scope.row.invoicingMethod == 1 ? '掌柜开票' : scope.row.invoicingMethod }}</span>
+              </template>
+              <template slot="结算状态" slot-scope="scope">
+                <span>{{ scope.row.completionStatus == 0 ? '开票未结算' : scope.row.completionStatus == 1 ? '开票已结算' : scope.row.completionStatus == 2 ? '开票结算清' : scope.row.completionStatus }}</span>
+              </template>
             </templateTable>
             <span slot="footer" class="dialog-footer">
                 <el-button size="small" @click="dialogVisible = false">取消</el-button>
@@ -47,6 +53,28 @@
                 <el-button type="primary" size="small" @click="balanceSumbit">确定</el-button>
             </span>
         </el-dialog>
+        <!-- 记录 明细 -->
+        <el-dialog title="记录" :visible.sync="dialogVisiblerecord" width="30%" :before-close="handleCloserecord">
+            <templateTable ref="templateTable1"   :pagination="pageDatarecord" @getList="getListrecord"
+                :tableConfig="tableConfigDetailrecord" :data="formTableDatarecord" @findPage="findPageDetailrecord">
+                <template slot="imageUrl" slot-scope="scope">
+                    <img v-if="scope.row.imageUrl" :src='scope.row.imageUrl' class="imageclass"  @click.stop="showViewer=true;ProViewImg=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="dialogVisiblerecordDetail" width="50%" :before-close="handleCloserecorddetail">
+            <templateTable ref="templateTable1"   :pagination="pageDatarecorddetail" @getList="getListrecorddetail"
+                :tableConfig="tableConfigDetailrecorddetail" :data="recordDetailData" @findPage="findPageDetailrecorddatail">
+            </templateTable>
+
+            <span slot="footer" class="dialog-footer">
+                <el-button size="small" @click="dialogVisiblerecordDetail = false">取消</el-button>
+            </span>
+        </el-dialog>
+
     </div>
 </template>
 <script>
@@ -66,6 +94,97 @@ export default {
     },
     data() {
         return {
+            // 记录 明细
+          dialogVisiblerecord: false,
+          dialogVisiblerecordDetail: false,
+          formTableDatarecord:[],
+          recordDetailData:[],
+          pageDatarecord: {
+                pageNum: 1,
+                pageSize: 20,
+                totalSize:0
+            },
+            pageDatarecorddetail: {
+                pageNum: 1,
+                pageSize: 20,
+                totalSize:0
+            },
+            tableConfigDetailrecord: {
+                columns: [
+                    {
+                        prop: "settlementTime",
+                        label: "进账日期",
+                        type: "text"
+                    },
+                    {
+                        prop: "settlementAmount",
+                        label: "进帐金额",
+                        type: "text"
+                    },
+                    {
+                        name: "imageUrl",
+                        label: "凭证",
+                        type: "slot"
+                    },
+                ],
+                loading: true,
+                isPaginationShow:true
+            },
+            tableConfigDetailrecorddetail: {
+                columns: [
+                    {
+                        prop: "syPolicyno",
+                        label: "商业保单号",
+                        type: "text"
+                    },
+                    {
+                        prop: "policyno",
+                        label: "交强保单号",
+                        type: "text"
+                    },
+                    {
+                        prop: "licenseno",
+                        label: "车牌号",
+                        type: "text"
+                    },
+                    {
+                        prop: "insuredName",
+                        label: "被保人",
+                        type: "text"
+                    },
+                    {
+                        prop: "jqPremium",
+                        label: "交强保费",
+                        type: "text"
+                    },
+                    {
+                        prop: "syPremium",
+                        label: "商业保费",
+                        type: "text"
+                    },
+                    {
+                        prop: "jqSuperviseCostsProportion",
+                        label: "交强手续费比例",
+                        type: "text"
+                    },
+                    {
+                        prop: "jqSuperviseCostsPremiums",
+                        label: "交强手续费金额",
+                        type: "text"
+                    }, {
+                        prop: "sySuperviseCostsProportion",
+                        label: "商业手续费比例",
+                        type: "text"
+                    },
+                    {
+                        prop: "sySuperviseCostsPremiums",
+                        label: "商业手续费金额",
+                        type: "text"
+                    },
+                ],
+                loading: true,
+                isPaginationShow:true
+            },
             ztreeNodes: [],
             fileList: [],
             dialogVisiblebalance: false,
@@ -79,33 +198,72 @@ export default {
                         label: "开票号",
                         type: "text"
                     },
+                    {
+                        prop: "invoicingMethod",
+                        label: "开票方式",
+                        // type: "text"
+                        name: '开票方式',
+                        type: 'slot'
+                    },
                     {
                         prop: "invoicCommissionFeevalue",
                         label: "开票金额",
                         type: "text"
                     },
                     {
-                        prop: "invoicTime",
-                        label: "开票时间",
+                        prop: "invoicedSettledAmount",
+                        label: "已开票已结算金额",
+                        type: "text"
+                    },
+                    {
+                        prop: "invoicedNotSettledAmount",
+                        label: "已开票未结算金额",
                         type: "text"
                     },
+                    {
+                        prop: "completionStatus",
+                        label: "结算状态",
+                        name: "结算状态",
+                        type: "slot"
+                    }
 
                 ],
                 loading: true,
+                isShowIndex: true,
+                operationWidth: 150,
                 optBtns: [
                     {
                         type: 'primary',
                         label: '结算',
+                        hide: (row) => {
+                            return row.completionStatus != '2'
+                        },
                         click: (row, index) => { return this.balanceFun(row) },
                     },
                     {
                         type: 'primary',
                         label: '作废',
                         hide: (row) => {
-                            return !row.readyCommissionFeevalue ? true : false
+                            return row.completionStatus == '0'
                         },
                         click: (row, index) => { return this.handVoid(row) },
                     },
+                    {
+                    type:'primary',
+                    label:'记录',
+                    hide: (row) => {
+                    return row.completionStatus != '0'
+                    },
+                    click:(row, index) => {return this.haldRecord(row)},
+                },
+                {
+                    type:'primary',
+                    label:'明细',
+                    hide: (row) => {
+                    return row.completionStatus != '0'
+                    },
+                    click:(row, index) => {return this.haldRecordDetail(row)},
+                },
                 ]
             },
             searchData: {},
@@ -132,13 +290,18 @@ export default {
                     prop: "settlementStatus",
                     type: "select",
                     options: [
-                        {
-                            label: '开票已结算',
-                            value: '2'
-                        }, {
-                            label: '开票未结算',
-                            value: '1'
-                        },
+                      {
+                        label: '开票未结算',
+                        value: '0'
+                      },
+                      {
+                        label: '开票已结算',
+                        value: '1'
+                      }, 
+                      {
+                        label: '开票结算清',
+                        value: '2'
+                      },
                     ]
                 },
 
@@ -208,6 +371,71 @@ export default {
         this.findPage();
     },
     methods: {
+        // 明细
+      findPageDetailrecord(data) {
+            this.tableConfigDetailrecord.loading = true
+            this.$api.task
+            .settlementFeesGetRecord(this.recorddetailid)
+            .then(res => {
+                if (res.code == 200) {
+                    res.data.forEach(ele => {
+                        if (ele.imageUrl) {
+                        ele.imageUrl= process.env.BASE_URL+ele.imageUrl
+                        }
+                    });
+                    this.formTableDatarecord = res.data
+                    this.tableConfigDetailrecord.loading = false;
+                }
+                else {
+                    this.tableConfigDetail.loading = false;
+                    this.$message.error(res.msg)
+                }
+            });
+        },
+        getListrecord(data) {
+            this.findPageDetailrecord(data)
+        },
+        haldRecord(row) {
+            this.dialogVisiblerecord = true
+            this.recorddetailid = row.id
+            this.findPageDetailrecord()
+        },
+        
+        haldRecordDetail(row) {
+            this.dialogVisiblerecordDetail = true
+            this.recorddetailid = row.id
+            this.getListrecorddetail()
+        },
+        getListrecorddetail(data) {
+            this.findPageDetailrecorddatail(data)
+        },
+        findPageDetailrecorddatail(data) {
+            this.tableConfigDetailrecorddetail.loading = true;
+            this.$api.task
+            .fncplyFeeQuery({
+                    partnerCompaniesId: this.formDetail.partnerCompaniesId,
+                    agreementType: '2',
+                    isNotCar: '1',
+                    handlingFeesStatus: '0',
+                    id:this.recorddetailid,
+                    ...data})
+                .then(res => {
+                    if (res.code == 200) {
+                        this.tableConfigDetailrecorddetail.loading = false;
+                        this.recordDetailData = res.data.content ? res.data.content : []
+                    }
+                    else {
+                        this.tableConfigDetailrecorddetail.loading = false;
+                        this.$message.error(res.msg)
+                    }
+                });
+        },
+      handleCloserecord() {
+            this.dialogVisiblerecord = false
+        },
+        handleCloserecorddetail() {
+            this.dialogVisiblerecordDetail = false
+        },
         drivingupload(file, fileList) {
             this.fileList = []
             const params = new FormData(); // 声明formData数据类型
@@ -235,6 +463,7 @@ export default {
         },
         haldDetail(row) {
             this.dialogVisible = true
+            this.formDetail = row
             this.findPageDetail(row)
         },
         handleSearchList1(data) {
@@ -265,7 +494,9 @@ export default {
                     isNotCar: '1',
                     isNotDocumentary: '0',
                     handlingFeesStatus: '0',
-                    settlementStatus: data.settlementStatus,
+                    // settlementStatus: data.settlementStatus,
+                    completionStatus:data.settlementStatus || '0',
+                    settlementStatus: '1'
                 })
                 .then(res => {
                     if (res.code == 200) {
@@ -282,8 +513,8 @@ export default {
             this.dialogVisible = false
         },
         // 查询
-        handleSearchList() {
-            this.findPage();
+        handleSearchList(data) {
+            this.findPage(data);
         },
         resetForm() {
             this.formData = {}
@@ -291,13 +522,13 @@ export default {
         },
         //列表数据
         findPage(data) {
-            if (data) {
-                this.pageData.pageNum = data.pageNum;
-                this.pageData.pageSize = data.pageSize;
-            }
+            // if (data) {
+            //     this.pageData.pageNum = data.pageNum;
+            //     this.pageData.pageSize = data.pageSize;
+            // }
             this.tableConfig.loading = true;
             this.$api.task
-                .totalBxAmount({ ...this.pageData, ...this.formData })
+                .totalBxAmount({ ...this.pageData, ...this.formData, ...data })
                 .then(res => {
                     if (res.code == 200) {
                         this.tableData = res.data ? res.data : []
@@ -390,5 +621,10 @@ export default {
     overflow-y: auto !important;
     height: auto !important;
 }
+.imageclass {
+  width: 200px;
+  height: 100px;
+  text-align: center;
+}
 </style>
   

+ 9 - 4
src/views/FinancialManagement/CarInsurance/CompanySettlement/NoCarInsurance/Notinvoiced.vue

@@ -1,6 +1,6 @@
 <template>
   <!--布局容器-->
-  <div class="container" style="width: 99%; margin-top: 0px">
+  <div class="InvoicedAndSettled" style="width: 99%; margin-top: 0px">
     <templateTable :formList="formList" :searchData.sync="searchData" :tableConfig="tableConfig" :data="tableData"
       @findPage="findPage" @handleSearchList="handleSearchList" @resetForm="resetForm" :pagination="pageData">
       <template slot="data">
@@ -229,6 +229,8 @@ export default {
         loading: true,
         isPaginationShow: true,
         isShowIndex: true,
+        showSummary: true,
+        tableHeight: 'auto',
         optBtns: [
           {
             type: 'primary',
@@ -448,6 +450,9 @@ export default {
   }
 };
 </script>
-    
-<style scoped></style>
-    
+<style scoped lang="scss">
+  .InvoicedAndSettled>>>.el-table__body-wrapper {
+    overflow-y: auto !important;
+    height: auto !important;
+  }
+</style>

+ 7 - 3
src/views/FinancialManagement/CarInsurance/PlatformSettlement/NonVehicleBalance.vue

@@ -616,7 +616,7 @@ export default {
         agreementType: '1',
         isNotCar:'0',
         isOther:'0',
-        handlingFeesStatus:'0'
+        // handlingFeesStatus:'0'
       },
       dataValue:'',
       selectionOption:[],
@@ -706,8 +706,12 @@ export default {
         signDateStart=''
         signDateEnd=''
       }
+      let dockingPerson
+      if (this.formData.dockingPerson) {
+        dockingPerson = this.formData.dockingPerson
+      }
       this.$api.task
-        .ptTotalAmount({ ...data,...this.pageData,signDateStart,signDateEnd })
+        .ptTotalAmount({ ...data,...this.pageData,signDateStart,signDateEnd, dockingPerson })
         .then(res => {
           if (res.code == 200) {
             this.totalList = res.data ? res.data : []
@@ -846,7 +850,7 @@ export default {
     },
     // 结算
     balanceFun(row){
-        this.$api.task.plyFeebalance(row).then(res => {
+        this.$api.task.plyFeebalance({id: row.id}).then(res => {
             if (res.code == "200") {
                 this.$message({
                     message: res.msg,

+ 22 - 13
src/views/FinancialManagement/CarInsurance/PlatformSettlement/NonVehicleBalanceyes.vue

@@ -25,7 +25,7 @@
     </el-dialog>
     <el-dialog title="明细" :visible.sync="dialogVisibleDetail" width="60%" :before-close="handleCloseDetail">
       <templateTable ref="templateTable2" :pagination="pageDataDetail" @getList="getListDetail"
-        :tableConfig="tableConfigDetailDetail" :data="formTableDatarecord" @findPage="findPageDetailrecord">
+        :tableConfig="tableConfigDetailDetail" :data="formTableDatarecord" @findPage="findPageDetailDetail">
       </templateTable>
       <span slot="footer" class="dialog-footer">
         <el-button size="small" @click="dialogVisibleDetail = false">取消</el-button>
@@ -253,7 +253,7 @@ export default {
         .plyFeeQuery({
           partnerCompaniesId: data.partnerCompaniesId,
           agreementType: '1',
-          handlingFeesStatus: '0',
+          handlingFeesStatus: '1',
           ...this.pageDataDetail
         })
         .then(res => {
@@ -272,9 +272,11 @@ export default {
           }
         });
     },
+    // 明细
     getListDetail(data) {
       this.findPageDetailDetail()
     },
+    // 明细
     haldDetail(row) {
       this.findPageDetailDetail(row)
       this.dialogVisibleDetail = true
@@ -282,28 +284,34 @@ export default {
     handleCloseDetail() {
       this.dialogVisibleDetail = false
     },
-
+    // 记录
     haldRecord(row) {
       this.findPageDetailrecord(row)
       this.dialogVisiblerecord = true
     },
+    // 记录
     findPageDetailrecord(data) {
       this.tableConfigDetailrecord.loading = true
       this.$api.task
-        .settlementFeesQuery({
+        // .settlementFeesQuery({
+        //   partnerCompaniesId: data.partnerCompaniesId,
+        //   agreementType: '1',
+        //   handlingFeesStatus: '0',
+        //   ...this.pageDatarecord
+        // })
+        .plyFeeRecord({
           partnerCompaniesId: data.partnerCompaniesId,
-          agreementType: '1',
-          handlingFeesStatus: '0',
-          ...this.pageDatarecord
+          handlingFeesStatus: '1'
         })
         .then(res => {
           if (res.code == 200) {
-            this.formTableDatarecord = res.data.content;
-            this.pageDatarecord = {
-              pageNum: res.data.pageNum,
-              pageSize: res.data.pageSize,
-              totalSize: res.data.totalSize,
-            }
+            // this.formTableDatarecord = res.data.content;
+            // this.pageDatarecord = {
+            //   pageNum: res.data.pageNum,
+            //   pageSize: res.data.pageSize,
+            //   totalSize: res.data.totalSize,
+            // }
+            this.formTableDatarecord = res.data
             this.tableConfigDetailrecord.loading = false;
           }
           else {
@@ -312,6 +320,7 @@ export default {
           }
         });
     },
+    // 记录
     getListrecord(data) {
       this.findPageDetailrecord()
     },

+ 7 - 6
src/views/Letter/Wallet/AmountManagement.vue

@@ -136,9 +136,9 @@
         </template>
         <el-table-column label="操作" align="center" width="200" fixed="right">
           <template slot-scope="scope">
-            <el-button v-if="[0, 1].includes(formQuery.auditingStatus) && ['1', '2'].includes(formQuery.amountStatus)"
+            <el-button v-if="[0, 1].includes(formQuery.auditingStatus) && [1, 2].includes(formQuery.amountStatus)"
               size="small" type="primary" @click="OrderDetails(scope.$index, scope.row)">详情</el-button>
-            <el-button size="small" type="primary" @click="regularDetails(scope.$index, scope.row)">详情</el-button>
+            <el-button v-else size="small" type="primary" @click="regularDetails(scope.$index, scope.row)">详情</el-button>
           </template>
         </el-table-column>
       </el-table>
@@ -406,7 +406,7 @@ export default {
   },
   // 方法函数
   methods: {
-    instantWithdrawal(){
+    instantWithdrawal() {
       this.$api.letter.getUserBankList({
         auditStatus: '1',
       }).then((res) => {
@@ -426,7 +426,7 @@ export default {
           } else {
             this.bankCardInfo = res.data[0]
           }
-          this.withdrawalVisible=true;
+          this.withdrawalVisible = true;
         } else {
           this.$message({
             type: 'error',
@@ -436,7 +436,7 @@ export default {
       });
     },
     allwithdrawal() {
-      this.extract =parseFloat(this.MoneyData[this.accountBalance]);
+      this.extract = parseFloat(this.MoneyData[this.accountBalance]);
       this.checkMoney();
     },
     withdrawalRequest() {
@@ -463,7 +463,6 @@ export default {
       });
     },
     suminput(e) {
-      console.log(e)
       if (e) {
         this.extract = e;
         this.checkMoney();
@@ -502,6 +501,7 @@ export default {
       this.bankCardInfo = data;
     },
     regularDetails(index, row) {
+      // console.log(this.formQuery.auditingStatus, this.formQuery.amountStatus)
       if (this.formQuery.amountStatus == "3" && [1, 2].includes(this.searchType)) {
         this.$api.letter.getSubOrderDetails(row.id).then((res) => {
           if (res.code == '200') {
@@ -523,6 +523,7 @@ export default {
 
     },
     OrderDetails(index, row) {
+      // console.log(this.formQuery.auditingStatus, this.formQuery.amountStatus)
       for (let i = 0; i < this.global.insureList.length; i++) {
         this.global.insureList[i].coveragePremium = "";
         this.global.insureList[i].amount = 0;

+ 5 - 5
src/views/Task/DaikeLetter.vue

@@ -46,7 +46,7 @@
               </el-input>
             </el-form-item>
           </el-col>
-        
+
           <el-col :span="5">
             <el-form-item label="工号类型">
               <el-select v-model="salespersonForm.noType" disabled>
@@ -65,7 +65,7 @@
     </div>
     <div class="quotation-page">
       <el-tabs v-model="activeName"  tab-position="left" @tab-click="handleClick">
-        <el-tab-pane label="报价" name="999" > 
+        <el-tab-pane label="报价" name="999" >
           <div class="quotation-content">
             <Ktletter ref="Ktletter" :isdisabled="isdisabled"  isLetter="2"></Ktletter>
           </div>
@@ -131,8 +131,8 @@
   </div>
 </template>
 <script>
-import Ktletter from "./daikeComponents/KtLetter.vue"; 
-import KtOrder from "./daikeComponents/KtOrder.vue"; 
+import Ktletter from "./daikeComponents/KtLetter.vue";
+import KtOrder from "./daikeComponents/KtOrder.vue";
 export default {
   name:'daike',
   components: { Ktletter,KtOrder },
@@ -240,4 +240,4 @@ export default {
   overflow-y: auto;
   height: 80vh;
 }
-</style>
+</style>