소스 검색

实收款认领优化

wucl 1 년 전
부모
커밋
2b30605efb

+ 3 - 0
src/api/modules/majorProduction.js

@@ -48,6 +48,9 @@ export default {
   waitingClaim(params){
     return request.get(`majorProduction/waiting/claim`,{ params: params })
   },
+  waitingClaimProd(params){
+    return request.get(`majorProduction/waiting/claim/prod`,{ params: params })
+  },
   confirmDelivery(params){
     return request.post(`majorProduction/confirmDelivery`,params)
   },

+ 7 - 1
src/components/BaseTable/parentTable.vue

@@ -61,6 +61,10 @@
 
         }
       },
+      clickRowToPick:{
+        default: true,
+        type: Boolean,
+      }
 
     },
     computed: {
@@ -81,7 +85,9 @@
       //   this.$emit("selectionChange", val);
       // },
       clickRow(row){
-        this.$refs.table.toggleRowSelection(row);
+        if (this.clickRowToPick){
+          this.$refs.table.toggleRowSelection(row);
+        }
       },
       expandRow(row){
         row.expand = !row.expand

+ 2 - 1
src/router/urlMap.js

@@ -114,6 +114,7 @@ import _views_income_major_declare_evaluate from '@/views/income/major/evaluate'
 import _views_income_major_declare_market_detail from '@/views/income/major/declareDetail'
 import _views_income_major_declare_evaluate_detail from '@/views/income/major/declareDetail'
 import _views_income_major_declare_check from '@/views/income/major/checkList'
+import _views_finance_real_fund_claim from '@/views/finance/fundClaim'
 
 export default {
   _views_set_menu,
@@ -217,5 +218,5 @@ export default {
   _views_income_major_declare_market_detail,
   _views_income_major_declare_evaluate_detail,
   _views_income_major_declare_check,
-
+  _views_finance_real_fund_claim
 }

+ 756 - 0
src/views/finance/fundClaim.vue

@@ -0,0 +1,756 @@
+<template>
+  <div class="app-container">
+    <div class="title-container">
+      <breadcrumb id="breadcrumb-container" class="breadcrumb-container" />
+    </div>
+    <y-page-list-layout :page-list="pageData" :page-para="listQuery" :get-page-list="getList">
+      <template slot="left">
+        <PermissionButton menu-code="_views_finance_real_fund_create" class-name="filter-item" type="success" icon="el-icon-circle-plus-outline"
+          :page-jump="false" round style="float: left" @click="createdRealFundDialog = true" />
+        <el-input v-model="listQuery.keyword" placeholder="关键字搜索..." clearable
+          style="margin-left: 20px;width: 500px;float: left;">
+        </el-input>
+        <el-date-picker
+          style="margin-left: 20px;float: left;"
+          v-model="payDate"
+          type="daterange"
+          align="center"
+          unlink-panels
+          range-separator="至"
+          start-placeholder="到账时日(开始)"
+          end-placeholder="到账时日(结束)"
+          :picker-options="pickerOptions" value-format="yyyy-MM-dd">
+        </el-date-picker>
+        <el-date-picker
+          style="margin-left: 20px;float: left;"
+          v-model="orderDate"
+          type="daterange"
+          align="center"
+          unlink-panels
+          range-separator="至"
+          start-placeholder="录入时间(开始)"
+          end-placeholder="录入时间(结束)"
+          :picker-options="pickerOptions" value-format="yyyy-MM-dd">
+        </el-date-picker>
+        <el-button class="filter-item" style="margin-left: 10px;float: left;" type="primary" @click="searchList" round>搜索
+        </el-button>
+        <el-button class="filter-item" style="float: left;" round type="success" @click="resetSearch()">重置
+        </el-button>
+      </template>
+      <parentTable  :data="pageData.records" slot="table" style="width: 100%;">
+        <el-table-column label="付款方" align="center" width='200' >
+          <template slot-scope="{row}">
+            <span>{{ row.payer }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="付款银行" align="center" width='130'  >
+          <template slot-scope="{row}">
+            <span>{{ row.payerBank }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="付款账号" align="center" width='200'>
+          <template slot-scope="{row}">
+            <span>{{ row.payerAccount }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="付款金额(元)" align="center" >
+          <template slot-scope="{row}">
+            <span>{{ row.amount }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="到账时日" align="center">
+          <template slot-scope="{row}">
+            <span>{{ row.payDatetime }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="已认领(元)" align="center">
+          <template slot-scope="{row}">
+            <span  style="color:green">{{ row.claimAmount }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="未认领(元)" align="center">
+          <template slot-scope="{row}">
+            <span style="color:red">{{ row.notClaimAmount }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="录入人" align="center">
+          <template slot-scope="{row}">
+            <span>{{ row.creator}}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="录入时间" align="center" width='160'>
+          <template slot-scope="{row}">
+            <span>{{ row.created}}</span> 
+          </template>
+        </el-table-column>
+        <el-table-column label="全部认领" align="center" show-overflow-tooltip>
+          <template slot-scope="{row}">
+            <i v-if="row.notClaimAmount<=0" style="font-size:20px; color:green" class="el-icon-success"></i>
+            <i v-else style="font-size:20px; color:RGB(255,106,106)" class="el-icon-warning"></i>
+          </template>
+        </el-table-column>
+        <el-table-column label="操作" align="center" width="200" fixed="right">
+          <template slot-scope="{row}">
+             <el-button type="text" @click="claimMajor()">大中型</el-button>
+             <el-button type="text"  @click="claimPersonal()">个贷</el-button>
+             <el-button type="text">资产</el-button>
+          </template>
+        </el-table-column>
+      </parentTable>
+    </y-page-list-layout>
+
+    <el-dialog :visible.sync="allotAmountDialog" width="45%"  center  custom-class="doWarehouseClass"  @closed="cleanClaimDTO">
+      <el-form v-model="claimOrders" ref="claimOrdersForm">
+        <el-row>
+            <el-col :xs="24" :sm="12" :lg="21" :span="6">
+              <div style="font-size:20px;">
+                <span>此笔实收款剩余:</span><span style="color:red;font-weight:bold">{{notClaimAmount}}¥</span>
+              </div>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="3" :span="6">
+              <el-button style="float:right" type="success" @click="claim()">确认认领</el-button>
+            </el-col>
+        </el-row>
+        <el-card style="margin-top:20px" v-for="(p,id) in claimOrders" shadow="hover">
+          <div slot="header" class="clearfix">
+            <el-row>
+              <el-col :xs="24" :sm="12" :lg="24" :span="6">
+                <el-form-item :label="labelName" prop="orderName"   label-width="140px" class="postInfo-container-item">
+                  <el-input :value="p.orderName" type="text" class="filter-item" disabled readonly />
+                </el-form-item >
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :xs="24" :sm="12" :lg="12" :span="6">
+                <span class="redPoint">*</span>
+                <el-form-item label="本次认领金额:" prop="thisTimeAmount"  label-width="140px" class="postInfo-container-item">
+                  <el-input-number  :precision="2" :min="0" :value-on-clear="0" v-model.number="p.thisTimeAmount"
+                        style="width:100%" class="filter-item" />
+                </el-form-item >
+              </el-col>
+              <el-col :xs="24" :sm="12" :lg="12" :span="6">
+                <el-form-item :label="labelNum" prop="orderId"   label-width="140px" class="postInfo-container-item">
+                  <el-input :value="p.orderId" type="text" class="filter-item" disabled readonly />
+                </el-form-item >
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :xs="24" :sm="12" :lg="12" :span="6">
+                <el-form-item label="已认领金额:"  prop="realAmount" label-width="140px" class="postInfo-container-item">
+                  <el-input :value="p.realAmount" type="text" class="filter-item" disabled readonly>
+                    <template slot="append">元</template>
+                  </el-input>
+                </el-form-item >
+              </el-col>
+              <el-col :xs="24" :sm="12" :lg="12" :span="6">
+                <el-form-item label="订单应收金额:"  prop="shouldAmount" label-width="140px" class="postInfo-container-item">
+                  <el-input :value="p.shouldAmount" type="text" class="filter-item" disabled readonly>
+                    <template slot="append">元</template>
+                  </el-input>
+                </el-form-item >
+              </el-col>
+            </el-row>
+          </div>
+       
+        </el-card>
+      </el-form>
+    </el-dialog>
+    <el-dialog :visible.sync="myMajorOrderDialog" width="95%" center  custom-class="doWarehouseClass" @closed="getList">
+      <y-page-list-layout :page-list="myMajorPageData" :page-para="majorListQuery" :get-page-list="getMyMajorOrder">
+            <template slot="left">
+              <el-switch
+                style="width: 270px;float: left;margin-top: 5px;"
+                v-model="toProd"
+                active-color="#13ce66"
+                inactive-color="#ff4949"
+                active-text="认领到产品"
+                inactive-text="认领到订单">
+              </el-switch>
+              <el-input v-model="majorListQuery.name" placeholder="订单/项目名称" clearable
+                style="width: 270px;float: left;">
+              </el-input>
+              <el-input v-model="majorListQuery.orderId" placeholder="订单号" clearable
+                style="margin-left: 20px;width: 200px;float: left;">
+              </el-input>
+              <el-input v-model="majorListQuery.reportNo" placeholder="产品编号" clearable
+                style="margin-left: 20px;width: 200px;float: left;">
+              </el-input>
+              <el-select v-model="majorListQuery.eDeclareResult" placeholder="评估人员申报" clearable style="margin-left: 20px;width: 150px;float: left;">
+                 <el-option value="审核通过">审核通过</el-option>
+                 <el-option value="审核中">审核中</el-option>
+                 <el-option value="未申报">未申报</el-option>
+                 <el-option value="审核拒绝">审核拒绝</el-option>
+              </el-select>
+              <el-select v-model="majorListQuery.mDeclareResult" placeholder="市场人员申报" clearable style="margin-left: 20px;width: 150px;float: left;">
+                <el-option value="审核通过">审核通过</el-option>
+                 <el-option value="审核中">审核中</el-option>
+                 <el-option value="未申报">未申报</el-option>
+                 <el-option value="审核拒绝">审核拒绝</el-option>
+              </el-select>
+              <el-button class="filter-item" style="margin-left: 10px;float: left;" type="primary" @click="getMajorOrderOrProd()" round>搜索
+              </el-button>
+              <el-button class="filter-item" style="float: left;" round type="success" @click="resetMajorOrderOrProd()">重置
+              </el-button>
+              <el-button  style="float: left;" round type="danger" @click="openClaimDialog()">选择认领</el-button>
+            </template>
+            <parentTable v-show="!toProd" ref="order" :clickRowToPick="false" :data="myMajorPageData.records" slot="table" style="width: 100%;" :selectionChange="handleSelectionChange">
+              <el-table-column
+                align="center"
+                type="selection"
+                claimOrders
+                width="100" border="true" :selectable="checkSelectable">
+              </el-table-column>
+              <el-table-column label="订单名称" align="center" show-overflow-tooltip  >
+                <template slot-scope="{row}">
+                  <span>{{ row.orderName }}</span>
+                </template>
+              </el-table-column>
+              <el-table-column label="订单号" align="center" show-overflow-tooltip width='200'  >
+                <template slot-scope="{row}">
+                  <span>{{row.orderId }}</span>
+                </template>
+              </el-table-column>
+              <el-table-column label="委托人" align="center" show-overflow-tooltip width='100'>
+                <template slot-scope="{row}">
+                  <span>{{ row.bailor }}</span>
+                </template>
+              </el-table-column>
+              <el-table-column label="产权人" align="center" show-overflow-tooltip width='100'>
+                <template slot-scope="{row}">
+                  <span>{{ row.owner }}</span>
+                </template>
+              </el-table-column>
+              <el-table-column label="客户名称" align="center" width='120' show-overflow-tooltip>
+                <template slot-scope="{row}">
+                  <span>{{ row.clienteleName }}</span>
+                </template>
+              </el-table-column>
+              <el-table-column label="业务来源" align="center" width='120' show-overflow-tooltip>
+                <template slot-scope="{row}">
+                  <span>{{ row.clienteleSubName }}</span>
+                </template>
+              </el-table-column>
+              <el-table-column label="客户联系人" align="center" width='120' show-overflow-tooltip>
+                <template slot-scope="{row}">
+                  <span>{{ row.clienteleContactName }}</span>
+                </template>
+              </el-table-column>
+              <el-table-column label="应收款(元)" align="center" width='120'>
+                <template slot-scope="{row}">
+                  <span>{{ row.shouldAmount }}</span>
+                </template>
+              </el-table-column>
+              <el-table-column label="实收款(元)" align="center" width='120'>
+                <template slot-scope="{row}">
+                  <span>{{ row.realAmount }}</span>
+                </template>
+              </el-table-column>
+              <el-table-column
+                align = "center" width='140' label="市场人员申报提成">
+                  <template slot-scope="{row}">
+                  <el-tag :type="row.mdeclareResult?(row.mdeclareResult==='审核通过'?'success':'info'):'danger'">{{ row.mdeclareResult?row.mdeclareResult:'未申报' }}</el-tag>
+                </template>
+              </el-table-column>
+              <el-table-column
+                align = "center" width='140' label="评估人员申报提成">
+                  <template slot-scope="{row}">
+                    <el-tag :type="row.edeclareResult?(row.edeclareResult==='审核通过'?'success':'info'):'danger'">{{ row.edeclareResult?row.edeclareResult:'未申报' }}</el-tag>
+                </template>
+              </el-table-column>
+            </parentTable>
+            <parentTable v-show="toProd" ref="prod" :clickRowToPick="false" :data="myMajorPageData.records" slot="table" style="width: 100%;" :selectionChange="handleSelectionChange">
+              <el-table-column
+                align="center"
+                type="selection"
+                claimOrders border="true" :selectable="checkSelectable">
+              </el-table-column>
+              <el-table-column label="金融类型" align="center" width='100'>
+                <template slot-scope="{row}">
+                  <span>{{ row.financial==true?'金融':'非金融' }}</span>
+                </template>
+              </el-table-column>
+              <el-table-column label="项目名称" align="center" show-overflow-tooltip >
+                <template slot-scope="{row}">
+                  <span>{{row.name }}</span>
+                </template>
+              </el-table-column>
+              <el-table-column label="订单编号" align="center"  width='160'>
+                <template slot-scope="{row}">
+                  <span>{{ row.orderId }}</span>
+                </template>
+              </el-table-column>
+              <el-table-column label="产品类型" align="center" width='80' >
+                <template slot-scope="{row}">
+                  <span>{{ row.production }}</span>
+                </template>
+              </el-table-column>
+              <el-table-column label="产品编号" align="center" width='200' >
+                <template slot-scope="{row}">
+                  <span>{{ row.reportNo }}</span>
+                </template>
+              </el-table-column>
+              <el-table-column label="客户名称" align="center"  width='100'>
+                <template slot-scope="{row}">
+                  <span>{{ row.clienteleName }}</span>
+                </template>
+              </el-table-column>
+              <el-table-column label="收费标准" align="center" width='80' >
+                <template slot-scope="{row}">
+                  <span>{{ row.standardAmount }}</span>
+                </template>
+              </el-table-column>
+              <el-table-column label="订单应收款" align="center" width='100' >
+                <template slot-scope="{row}">
+                  <span>{{ row.shouldAmount }}</span>
+                </template>
+              </el-table-column>
+              <el-table-column label="实收款" align="center" width='80'>
+                <template slot-scope="{row}">
+                  <span>{{ row.realAmount }}</span>
+                </template>
+              </el-table-column>
+              <el-table-column label="市场人员" align="center" width='100'>
+                <template slot-scope="{row}">
+                  <span>{{ row.clientManager }}</span>
+                </template>
+              </el-table-column>
+              <el-table-column
+                align = "center" width='140' label="市场人员申报提成">
+                  <template slot-scope="{row}">
+                  <el-tag :type="row.mdeclareResult?(row.mdeclareResult==='审核通过'?'success':'info'):'danger'">{{ row.mdeclareResult?row.mdeclareResult:'未申报' }}</el-tag>
+                </template>
+              </el-table-column>
+              <el-table-column label="评估人员" align="center" width='100'>
+                <template slot-scope="{row}">
+                  <span>{{ row.principal }}</span>
+                </template>
+              </el-table-column>
+              <el-table-column
+                align = "center" width='140' label="评估人员申报提成">
+                  <template slot-scope="{row}">
+                    <el-tag :type="row.edeclareResult?(row.edeclareResult==='审核通过'?'success':'info'):'danger'">{{ row.edeclareResult?row.edeclareResult:'未申报' }}</el-tag>
+                </template>
+              </el-table-column>
+            </parentTable>
+      </y-page-list-layout>
+    </el-dialog>
+    <el-dialog :visible.sync="myPersonalOrderDialog" width="90%" center  custom-class="doWarehouseClass" @closed="getList">
+      <y-page-list-layout :page-list="myPersonalPageData" :page-para="majorListQuery" :get-page-list="getMyPersonalOrder">
+            <template slot="left">
+              <el-input v-model="listQuery.name" placeholder="坐落" clearable
+                style="margin-left: 20px;width: 270px;float: left;">
+              </el-input>
+              <el-input v-model="listQuery.orderId" placeholder="订单号" clearable
+                style="margin-left: 20px;width: 200px;float: left;">
+              </el-input>
+              <el-input v-model="listQuery.clientManager" placeholder="客户经理" clearable
+                style="margin-left: 20px;width: 100px;float: left;">
+              </el-input>
+              <el-button class="filter-item" style="margin-left: 10px;float: left;" type="primary" @click="searchList" round>搜索
+              </el-button>
+              <el-button class="filter-item" style="float: left;" round type="success" @click="resetSearch()">重置
+              </el-button>
+              <el-button class="filter-item" style="float: left;" round type="info" @click="downloadTemp()">下载模板
+              </el-button>
+                <excelImport
+                style="float: left; margin-left: 10px; "
+                  ref="uploadControl" buttonType="danger"
+                  :limit="1"
+                  :flag="'financeClaim/personal/temp/upload/'+financeFundId"
+                  :style-type="2"
+                  title="模板认领"
+                  @fath="getMyPersonalOrder"
+                />
+              <!-- <input type="file" ref="fileInput" style="display: none" @change="handleFileChange" /> -->
+              <el-button  style="margin-left: 10px ;float: left;" round type="danger" @click="openClaimDialog()">选择认领</el-button>
+            </template>
+            <parentTable ref="table" :clickRowToPick="false" :data="myPersonalPageData.records" slot="table" style="width: 100%;" :selectionChange="handleSelectionChange" >
+              <el-table-column
+                align="center"
+                type="selection"
+                claimOrders
+                width="100" border="true">
+              </el-table-column>
+              <el-table-column label="坐落" align="center">
+                <template slot-scope="{row}">
+                  <span>{{ row.orderName }}</span>
+                </template>
+              </el-table-column>
+              <el-table-column label="项目编号" align="center">
+                <template slot-scope="{row}">
+                  <span>{{row.orderId }}</span>
+                </template>
+              </el-table-column>
+              <el-table-column label="委托人" align="center" width='100'>
+                <template slot-scope="{row}">
+                  <span>{{ row.bailorA}} {{ row.bailorB}}</span>
+                </template>
+              </el-table-column>
+              <el-table-column label="客户名称" align="center" width='200' >
+                <template slot-scope="{row}">
+                  <span>{{ row.clientName }}</span>
+                </template>
+              </el-table-column>
+              <el-table-column label="业务来源" align="center" >
+                <template slot-scope="{row}">
+                  <span>{{ row.clientSubName }}</span>
+                </template>
+              </el-table-column>
+              <el-table-column label="中介" align="center" >
+                <template slot-scope="{row}">
+                  <span>{{ row.agent==null?'-': row.agent }}</span>
+                </template>
+              </el-table-column>
+              <el-table-column label="联系人" align="center">
+                <template slot-scope="{row}">
+                  <span>{{ row.contactName}}</span>
+                </template>
+              </el-table-column>
+              <el-table-column label="已认领(元)" align="center" >
+                <template slot-scope="{row}">
+                  <span style="color:red;font-weight: bold;">{{ row.realAmount?row.realAmount:0 }}</span>
+                </template>
+              </el-table-column>
+              <el-table-column
+                align = "center" show-overflow-tooltip width='120' label="备注">
+                  <template slot-scope="{row}">
+                  <span>{{ row.remark }}</span>
+                </template>
+              </el-table-column>
+            </parentTable>
+          </y-page-list-layout>
+    </el-dialog>
+    <el-dialog :visible.sync="myAssetsOrderDialog" width="90%" center  custom-class="doWarehouseClass" @closed="getList">
+    
+    </el-dialog>
+  </div>
+</template>
+<script>
+import YPageListLayout from '@/components/YPageListLayout'
+import Breadcrumb from '@/components/Breadcrumb'
+import excelImport from "@/components/excelImport.vue";
+
+
+export default {
+  name: 'financeRealFundClaim',
+  components: {
+    Breadcrumb,
+    YPageListLayout,
+    excelImport
+  },
+
+  watch:{
+    toProd: {
+      handler (value) {
+        if (value){
+            this.getMyMajorProd();
+        }else{
+          this.getMyMajorOrder();
+        }
+      },
+      immediate: true
+    }
+  },
+
+  computed:{
+      
+  },
+
+  
+  data() {
+    return {
+      pageData: { records: [] },
+      listQuery: {
+        page: 1,
+        size: 10,
+        descs: 'id',
+        keyword:null,
+        startDate:null,
+        endDate:null
+      },
+      myPersonalOrderDialog: false,
+      myAssetsOrderDialog:false,
+      allotAmountDialog:false,
+      realFund:{
+        id:null,
+        payer:null,
+        payerBank:null,
+        payerAccount:null,
+        amount:null,
+        claimAmount:null,
+        notClaimAmount:null,
+        payDatetime:null,
+        remark:null,
+        created:null,
+        creator:null
+      },
+      toProd:true,
+      myMajorOrderDialog:false,
+      majorListQuery: {
+        page: 1,
+        size: 10,
+        descs: 'id',
+      },
+      myMajorPageData: { records: [] },
+      notClaimAmount:0,
+      notInfo:"此笔实收款剩余:",
+      claimOrders:[],
+      financeFundId:null,
+      payer:null,
+      amount:null,
+      productionLabel:"产品",
+      orderDate:'',
+      payDate:'',
+      myPersonalPageData:{ records: [] },
+      labelName:'订单名称:',
+      labelNum:'项目编号:',
+      pickerOptions: {
+          shortcuts: [{
+            text: '最近一周',
+            onClick(picker) {
+              const end = new Date();
+              const start = new Date();
+              start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
+              picker.$emit('pick', [start, end]);
+            }
+          }, {
+            text: '最近一个月',
+            onClick(picker) {
+              const end = new Date();
+              const start = new Date();
+              start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
+              picker.$emit('pick', [start, end]);
+            }
+          }, {
+            text: '最近三个月',
+            onClick(picker) {
+              const end = new Date();
+              const start = new Date();
+              start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
+              picker.$emit('pick', [start, end]);
+            }
+          }]
+      },
+    }
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+  
+    resetSearch() {
+      this.$router.push({ query: {} });
+      this.orderDate = '';
+      this.payDate = '';
+      this.listQuery = {
+        current: 1,
+        size: 10,
+        descs: 'id',
+      }
+      this.getList()
+    },
+   
+    getMyMajorOrderResetSearch() {
+      this.$router.push({ query: {} });
+      this.majorListQuery = {
+        current: 1,
+        size: 10,
+        descs: 'id',
+      }
+      this.getMyMajorOrder()
+    },
+    getMyMajorProdResetSearch(){
+      this.$router.push({ query: {} });
+      this.majorListQuery = {
+        current: 1,
+        size: 10,
+        descs: 'id',
+      }
+      this.getMyMajorProd()
+    },
+    searchList() {
+      // 重置分页
+      this.listQuery.page = 1
+      this.listQuery.size = 10
+      if (this.payDate){
+        this.listQuery.startDate = this.payDate[0];
+        this.listQuery.endDate = this.payDate[1];
+      }
+      if (this.orderDate){
+        this.listQuery.xStartDate = this.orderDate[0]+' 00:00:00';
+        this.listQuery.xEndDate = this.orderDate[1]+ ' 23:59:59';
+      }
+      this.getList()
+    },
+    getList() {
+      this.$api.financeRealFund.list(Object.assign({}, this.listQuery)).then(res=>{
+        if (res.code ===200){
+            this.pageData = res.data;
+        }
+      })
+    },
+
+    getMyMajorOrder(){
+      this.$api.majorProduction.waitingClaim(Object.assign({}, this.majorListQuery)).then(res=>{
+          if (res.code ===200){
+              this.myMajorPageData = res.data;
+          }
+      })
+    },
+    getMyMajorProd(){
+      this.$api.majorProduction.waitingClaimProd(Object.assign({}, this.majorListQuery)).then(res=>{
+          if (res.code ===200){
+              this.myMajorPageData = res.data;
+          }
+      })
+    },
+    cleanClaimDTO(){
+      this.notInfo = "此笔实收款剩余:";
+    },
+    claim(){
+      const orders = this.claimOrders;
+      for (let i in orders){
+        if (!orders[i].thisTimeAmount){
+            this.$message.error("编号:["+orders[i].orderId+"],本次认领金额不能为空。");
+            return;
+         }
+      }
+      if (this.activeName === 'MAJOR_BUSINESS' ){
+          this.doClaimMajor();
+      }
+      if (this.activeName === 'PERSONAL_BUSINESS'){
+          this.doClaimPersonal();
+      }
+    },
+  
+    handleSelectionChange(val){
+        let pickeds = [];
+        for (let i in val){
+          let picked = new Object();
+          picked.id = val[i].id;
+          picked.orderName = val[i].orderName;
+          picked.orderId = val[i].orderId;
+          picked.shouldAmount = val[i].shouldAmount;
+          picked.orderFundId = val[i].orderFundId;
+          picked.realAmount = val[i].realAmount;
+          picked.financeFundId = this.financeFundId;
+          pickeds.push(picked);
+        }
+        this.claimOrders = pickeds;
+    },
+    openClaimDialog(){
+      if (this.claimOrders.length===0){
+        this.$notify({
+                  title: '提示',
+                  message: '请先选择订单,然后认领。',
+                  type: 'info',
+                  duration: 2000
+              });
+              return ;
+      }
+      this.allotAmountDialog = true;
+      this.notInfo = this.notInfo + this.notClaimAmount + '¥'
+        if (this.activeName === 'MAJOR_BUSINESS'){
+            this.$api.businessProduction.orderReports(this.claimOrders).then(res=>{
+              if (res.code ===200){
+                  this.claimOrders = res.data;
+              }
+            })
+        }
+    },
+
+    getMyPersonalOrder(){
+      this.$api.personal.waitingClamOrder(this.listQuery).then(res=>{
+        if (res.code ===200){
+            this.myPersonalPageData = res.data;
+        }
+      })
+    },
+    downloadTemp(){
+      window.location.href  = "/api/financeClaim/personal/claim/template"
+    },
+    doClaimMajor(){
+      this.$api.businessProduction.allotRealAmount(this.claimOrders).then(res=>{
+        if (res.code === 200 && res.data){
+          this.$notify({
+            title: '成功',
+            message: '实收款认领成功',
+            type: 'success',
+            duration: 2000
+          });
+          this.getMyMajorOrder();
+          this.allotAmountDialog = false;
+        }else {
+          this.$notify({
+            title: '失败',
+            message: '实收款认领失败',
+            type: 'error',
+            duration: 2000
+          });
+        }
+      })
+    },
+    doClaimPersonal(){
+      this.$api.businessProduction.personalAllotRealAmount(this.claimOrders).then(res=>{
+        if (res.code === 200 && res.data){
+          this.$notify({
+            title: '成功',
+            message: '实收款认领成功',
+            type: 'success',
+            duration: 2000
+          });
+          this.getMyPersonalOrder();
+          this.allotAmountDialog = false;
+        }else {
+          this.$notify({
+            title: '失败',
+            message: '实收款认领失败',
+            type: 'error',
+            duration: 2000
+          });
+        }
+      })
+    },
+    checkSelectable(row){
+       if (row.mdeclareResult==='审核通过' && row.edeclareResult==='审核通过'){
+          return true;
+       }else{
+          return false;
+       }
+    },
+    claimMajor(){
+        this.myMajorOrderDialog = true;
+    },
+    claimPersonal(){
+      this.getMyPersonalOrder();
+      this.myPersonalOrderDialog = true;
+    },
+    getMajorOrderOrProd(){
+      if (this.toProd){
+          this.getMyMajorProd();
+      }else{
+          this.getMyMajorOrder
+      }
+    },
+    resetMajorOrderOrProd(){
+      if (this.toProd){
+          this.getMyMajorProdResetSearch();
+      }else{
+        this.getMyMajorOrderResetSearch();
+      }
+    }
+  },
+  
+}
+</script>
+<style lang="scss" scoped>
+    /deep/.doWarehouseClass {
+      border-radius: 10px;
+    }
+  .redPoint{
+      color:red;
+      position: absolute;
+      top:8px;
+      left:5px;
+    }
+</style>

+ 51 - 20
src/views/finance/fundList.vue

@@ -241,26 +241,32 @@
         </el-table-column> -->
       </el-table>
     </el-dialog>
-    <el-dialog :visible.sync="myOrderDialog" width="80%" center  custom-class="doWarehouseClass" @closed="getList">
+    <el-dialog :visible.sync="myOrderDialog" width="90%" center  custom-class="doWarehouseClass" @closed="getList">
       <el-tabs v-model="activeName" @tab-click="handleClick">
         <el-tab-pane label="我的大中型订单" name="MAJOR_BUSINESS">
           <y-page-list-layout :page-list="myMajorPageData" :page-para="orderListQuery" :get-page-list="getMyMajorOrder">
             <template slot="left">
-              <el-input v-model="listQuery.name" placeholder="项目名称" clearable
+              <el-input v-model="orderListQuery.orderName" placeholder="订单名称" clearable
                 style="margin-left: 20px;width: 270px;float: left;">
               </el-input>
-              <el-input v-model="listQuery.orderId" placeholder="订单号" clearable
+              <el-input v-model="orderListQuery.orderId" placeholder="订单号" clearable
                 style="margin-left: 20px;width: 200px;float: left;">
               </el-input>
-              <el-input v-model="listQuery.clientManager" placeholder="客户经理" clearable
-                style="margin-left: 20px;width: 100px;float: left;">
-              </el-input>
-              <el-input v-model="listQuery.principal" placeholder="项目负责人" clearable
-                style="margin-left: 20px;width: 150px;float: left;">
-              </el-input>
-              <el-button class="filter-item" style="margin-left: 10px;float: left;" type="primary" @click="searchList" round>搜索
+              <el-select v-model="orderListQuery.eDeclareResult" placeholder="评估人员申报" clearable style="margin-left: 20px;width: 200px;float: left;">
+                 <el-option value="审核通过">审核通过</el-option>
+                 <el-option value="审核中">审核中</el-option>
+                 <el-option value="未申报">未申报</el-option>
+                 <el-option value="审核拒绝">审核拒绝</el-option>
+              </el-select>
+              <el-select v-model="orderListQuery.mDeclareResult" placeholder="市场人员申报" clearable style="margin-left: 20px;width: 200px;float: left;">
+                <el-option value="审核通过">审核通过</el-option>
+                 <el-option value="审核中">审核中</el-option>
+                 <el-option value="未申报">未申报</el-option>
+                 <el-option value="审核拒绝">审核拒绝</el-option>
+              </el-select>
+              <el-button class="filter-item" style="margin-left: 10px;float: left;" type="primary" @click="getMyMajorOrder" round>搜索
               </el-button>
-              <el-button class="filter-item" style="float: left;" round type="success" @click="resetSearch()">重置
+              <el-button class="filter-item" style="float: left;" round type="success" @click="getMyMajorOrderResetSearch()">重置
               </el-button>
             </template>
             <parentTable ref="table" :data="myMajorPageData.records" slot="table" style="width: 100%;" :selectionChange="handleSelectionChange">
@@ -268,7 +274,7 @@
                 align="center"
                 type="selection"
                 claimOrders
-                width="100" border="true">
+                width="100" border="true" :selectable="checkSelectable">
               </el-table-column>
               <el-table-column label="订单名称" align="center" show-overflow-tooltip  >
                 <template slot-scope="{row}">
@@ -316,9 +322,15 @@
                 </template>
               </el-table-column>
               <el-table-column
-                align = "center" show-overflow-tooltip width='120' label="备注">
+                align = "center" width='140' label="市场人员申报提成">
                   <template slot-scope="{row}">
-                  <span>{{ row.remark }}</span>
+                  <el-tag :type="row.mdeclareResult?(row.mdeclareResult==='审核通过'?'success':'info'):'danger'">{{ row.mdeclareResult?row.mdeclareResult:'未申报' }}</el-tag>
+                </template>
+              </el-table-column>
+              <el-table-column
+                align = "center" width='140' label="评估人员申报提成">
+                  <template slot-scope="{row}">
+                    <el-tag :type="row.edeclareResult?(row.edeclareResult==='审核通过'?'success':'info'):'danger'">{{ row.edeclareResult?row.edeclareResult:'未申报' }}</el-tag>
                 </template>
               </el-table-column>
             </parentTable>
@@ -413,7 +425,7 @@
       </el-tabs>
       <el-button  style="display:flex; position:absolute;right:50px;top:50px" round type="danger" @click="openClaimDialog()">选择认领</el-button>
     </el-dialog>
-    <el-dialog :visible.sync="allotAmountDialog" width="75%"  center  custom-class="doWarehouseClass"  @closed="cleanClaimDTO">
+    <el-dialog :visible.sync="allotAmountDialog" width="45%"  center  custom-class="doWarehouseClass"  @closed="cleanClaimDTO">
       <el-form v-model="claimOrders" ref="claimOrdersForm">
         <el-row>
             <el-col :xs="24" :sm="12" :lg="21" :span="6">
@@ -465,14 +477,11 @@
               </el-col>
             </el-row>
           </div>
-          <div v-if="activeName==='MAJOR_BUSINESS'">
+          <!-- <div v-if="activeName==='MAJOR_BUSINESS'">
             <el-row>
               <el-col :xs="24" :sm="12" :lg="12" :span="6">
                 <el-form-item label="产品列表:" prop="orderName"   label-width="140px" class="postInfo-container-item" />
               </el-col>
-              <!-- <el-col :xs="24" :sm="12" :lg="6" :span="6">
-                    <el-button v-if="p.reports.length>0" type="primary" style="width:100%" class="filter-item" >自动分配到报告</el-button>
-              </el-col> -->
             </el-row>
             <div v-if="p.reports!=null && p.reports.length>0">
             <el-row v-for="(r,index) in p.reports">
@@ -503,7 +512,7 @@
              </el-row>
           </div>
           <span v-else style="margin-left:140px;color:RGB(153,153,153)">暂无产品</span>
-          </div>
+          </div> -->
         </el-card>
       </el-form>
     </el-dialog>
@@ -535,6 +544,12 @@ export default {
         }
     }
   },
+
+  computed:{
+
+  },
+
+  
   data() {
     return {
       pageData: { records: [] },
@@ -630,6 +645,15 @@ export default {
       this.getList()
     },
    
+    getMyMajorOrderResetSearch() {
+      this.$router.push({ query: {} });
+      this.orderListQuery = {
+        current: 1,
+        size: 10,
+        descs: 'id',
+      }
+      this.getMyMajorOrder()
+    },
     searchList() {
       // 重置分页
       this.listQuery.page = 1
@@ -946,6 +970,13 @@ export default {
         }
       })
     },
+    checkSelectable(row){
+       if (row.mdeclareResult==='审核通过' && row.edeclareResult==='审核通过'){
+          return true;
+       }else{
+          return false;
+       }
+    }
   },
   
 }

+ 15 - 18
src/views/major/myOrder.vue

@@ -600,7 +600,7 @@
       </el-collapse>
       <el-empty v-else description="暂无产品"></el-empty>
     </el-dialog>
-    <el-dialog :visible.sync="allotAmountDialog" width="55%" center  custom-class="doWarehouseClass" >
+    <el-dialog :visible.sync="allotAmountDialog"  width="65%" center  custom-class="doWarehouseClass" >
       <el-form v-model="orderProduction" ref="orderProduction">
         <el-row>
             <el-col :xs="24" :sm="12" :lg="24" :span="6">
@@ -639,30 +639,27 @@
             </el-row>
           </div>
           <el-row>
-            <el-col :xs="24" :sm="12" :lg="12" :span="6">
-              <el-form-item label="产品列表:" prop="orderName"   label-width="140px" class="postInfo-container-item" />
-            </el-col>
-            <!-- <el-col :xs="24" :sm="12" :lg="6" :span="6">
-                  <el-button v-if="p.reports.length>0" type="primary" style="width:100%" class="filter-item" >自动分配到报告</el-button>
-            </el-col> -->
-          </el-row>
+              <el-col :xs="24" :sm="12" :lg="12" :span="6">
+                <el-form-item label="产品列表:" prop="orderName"   label-width="140px" class="postInfo-container-item" />
+              </el-col>
+            </el-row>
           <div v-if="orderProduction.reports!=null && orderProduction.reports.length>0">
             <el-row v-for="(r,index) in orderProduction.reports">
-              <div  style="margin-left:75px">
-                <el-col :xs="24" :sm="6" :lg="6" :span="6">
-                  <el-form-item :label="productionLabel+(index+1)+':'" prop="productionType"   label-width="80px" class="postInfo-container-item">
-                    <el-input :value="r.productionType" type="text" class="filter-item" disabled readonly/>
+              <div >
+                <el-col :xs="24" :sm="12" :lg="6" :span="6">
+                  <el-form-item :label="productionLabel+(index+1)+':'" prop="productionType"   label-width="120px" class="postInfo-container-item">
+                    <el-input :value="r.productionType" type="text" class="filter-item" disabled readonly />
                   </el-form-item >
                 </el-col>
-                <el-col :xs="24" :sm="6" :lg="10" :span="6">
-                  <el-form-item label="产品号:" prop="businessSubId"   label-width="80px" class="postInfo-container-item">
+                <el-col :xs="24" :sm="12" :lg="10" :span="6">
+                  <el-form-item label="报告号:" prop="businessSubId"   label-width="120px" class="postInfo-container-item">
                     <el-input :value="r.businessSubId" type="text" class="filter-item" disabled readonly  />
                   </el-form-item >
                 </el-col>
-                <el-col :xs="24" :sm="6" :lg="8" :span="6">
-                  <el-form-item label="分配金额:" prop="productionRealAmount"   label-width="120px" class="postInfo-container-item">
-                  <el-input-number  :precision="2" :min="0" :value-on-clear="0" v-model.number="r.realAmount" type="number" 
-                        style="width:100%" class="filter-item" />
+                <el-col :xs="24" :sm="12" :lg="8" :span="6">
+                  <el-form-item label="已分配金额:" prop="claimedAmount"   label-width="140px" class="postInfo-container-item">
+                  <el-input-number  :precision="2" :min="0" :value-on-clear="0" v-model.number="r.claimedAmount" type="number" 
+                        style="width:100%" class="filter-item" readonly disabled/>
                   </el-form-item >
                 </el-col>
               </div>

+ 0 - 1
src/views/set/post/auth.vue

@@ -200,7 +200,6 @@
         this.menuItem = data
       },
       checkboxChange(data, node, sta) {
-        console.log(data.id, data, sta)
         // console.log(this.$refs.tree.getCheckedKeys(), '当前被选中key')
         // this.menuItem = data
         if (sta) { // 设为选中,父子都选中