فهرست منبع

提成申报审核

wucl 1 سال پیش
والد
کامیت
41c19bdfd0

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

@@ -14,5 +14,8 @@ export default {
   },
   detail(params){
     return request.get(`commissionDeclare/${params}`)
+  },
+  checkList(params){
+    return request.get(`commissionDeclare/major/check`, { params: params })
   }
 }

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

@@ -32,5 +32,8 @@ export default {
    },
    activate(params){
       return request.get(`workFlowNodeInstance/activate/${params}`)
+   },
+   array(params){
+    return request.post(`workFlowNodeInstance/array`, params)
    }
 }

+ 14 - 1
src/components/workflowBoard.vue

@@ -48,7 +48,8 @@ export default {
              this.workNodeCommit.production= newVal.production;
           }
       },
-      deep:true
+      deep:true,
+      immediate:true
     }
   },
   data() {
@@ -125,6 +126,17 @@ export default {
         })
       }
     },
+
+    getInstanceArray(mainBusiness,businessId){
+      this.instance.mainBusiness = mainBusiness;
+      this.instance.businessId = businessId;
+      this.$api.workNodeInstance.array(this.instance).then(res =>{
+        if (res.code ===200){
+          this.queue = res.data;
+        }
+      })
+    },
+
     commit(state){
       let commit = this.workNodeCommit
       let handldType = "提交";
@@ -200,6 +212,7 @@ export default {
     },
     goBack(){
       const back = this.$route.query.back;
+
       if (back) {
         this.$router.push({path:back, query:this.listQuery})
       }

+ 5 - 1
src/router/urlMap.js

@@ -111,6 +111,8 @@ import _views_finance_fund_stats from '@/views/finance/realFundStat'
 import _views_income_major_declare_market from '@/views/income/major/market'
 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'
 
 export default {
   _views_set_menu,
@@ -210,6 +212,8 @@ export default {
   _views_assets_done_list,
   _views_assets_terminate_list,
   _views_assets_repertory_list,
-  _views_income_major_declare_market_detail
+  _views_income_major_declare_market_detail,
+  _views_income_major_declare_evaluate_detail,
+  _views_income_major_declare_check,
 
 }

+ 3 - 3
src/views/commission/major.vue

@@ -217,14 +217,14 @@
           page: 1,
           size: 10,
           descs: 'id',
-          businessType:'BUSINESS_MAJOR',
+          businessType:'MAJOR_BUSINESS',
           userType:'MARKETER'
         },
         listQuery2: {
           page: 1,
           size: 10,
           descs: 'id',
-          businessType:'BUSINESS_MAJOR',
+          businessType:'MAJOR_BUSINESS',
           userType:'EVALUATOR'
         },
         marketerRatioRecord:{
@@ -288,7 +288,7 @@
           })
       },
       openCommissionRateFormDig(userType){
-          this.commissionRateForm.businessType = 'BUSINESS_MAJOR';
+          this.commissionRateForm.businessType = 'MAJOR_BUSINESS';
           this.commissionRateForm.userType = userType;
           this.commissionRateFormDialog = true;
           this.getBusinessCateList();

+ 176 - 0
src/views/income/major/checkList.vue

@@ -0,0 +1,176 @@
+<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">
+              <el-input v-model="listQuery.orderId" placeholder="订单号" clearable style="width: 200px;float: left;">
+              </el-input>
+              <el-input v-model="listQuery.name" placeholder="项目名称" clearable style="margin-left: 20px;width: 200px;float: left;">
+              </el-input>
+              <el-input v-model="listQuery.reportNo" placeholder="报告号" clearable style="margin-left: 20px;width: 200px;float: left;">
+              </el-input>
+              <el-select  clearable  v-model="listQuery.commissionRateId" placeholder="提成类型" style="margin-left: 20px;width: 200px;float: left;">
+                  <el-option v-for="(c,id) in cates" :value="c.id" :label="c.name">{{ c.name }}</el-option>
+              </el-select>
+              <el-select  clearable  v-model="listQuery.declareType" placeholder="申报类型" style="margin-left: 20px;width: 200px;float: left;">
+                  <el-option :value="true" label="产品">产品</el-option>
+                  <el-option :value="false" label="订单">订单</el-option>
+              </el-select>
+              <el-button class="filter-item" style="margin-left:20px;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="订单号"  width="150" align="center"  >
+          <template slot-scope="{row}">
+            <span>{{ row.orderId }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="项目名称" width="150" align="center"  >
+          <template slot-scope="{row}">
+            <span>{{ row.name?row.name:row.orderName }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="报告号"  width="200" align="center"   >
+          <template slot-scope="{row}">
+            <span>{{ row.reportNo?row.reportNo:'--' }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="申报人" align="center">
+          <template slot-scope="{row}">
+            <span>{{ row.declareUser }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="审核人" align="center">
+          <template slot-scope="{row}">
+            <span>{{ row.handler }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="人员类型" align="center" >
+          <template slot-scope="{row}">
+            <span>{{ row.userType }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="提成类型" width="150" align="center">
+          <template slot-scope="{row}">
+            <span>{{ row.businessCate}}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="提成比例" width="150" align="center">
+          <template slot-scope="{row}">
+            <span>{{ row.ratio}}%</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="申报类型" align="center">
+          <template slot-scope="{row}">
+            <span style="font-weight: bold;">{{ row.prodId?'产品':'订单'}}</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" >
+          <template slot-scope="{row}">
+            <span>{{ row.nodeName}}</span>
+          </template>
+        </el-table-column>
+        <el-table-column fixed="right" label="操作" align="center">
+          <template slot-scope="{row}">
+            <div>
+              <el-button type="text" size="small" @click="checkDetail(row)">审核</el-button>
+            </div>
+          </template>
+        </el-table-column>
+      </parentTable>
+    </y-page-list-layout>
+  </div>
+</template>
+<script>
+import YPageListLayout from '@/components/YPageListLayout'
+import Breadcrumb from '@/components/Breadcrumb'
+
+
+export default {
+  name: 'declareMajorCheckList',
+  components: {
+    Breadcrumb,
+    YPageListLayout,
+  },
+  filters: {
+    
+  },
+  data() {
+    return {
+      pageData: { records: [] },
+      listQuery: {
+        page: 1,
+        size: 10,
+        descs: 'id',
+      },
+      cates:[],
+    }
+  },
+  created() {
+      this.getMajorEvaluateCate();
+     this.getList();
+  },
+  methods: {
+  
+    resetSearch() {
+      this.$router.push({ query: {} });
+      this.orderDate = '';
+      this.listQuery = {
+        current: 1,
+        size: 10,
+        descs: 'id',
+      }
+      this.getList()
+    },
+   
+    searchList() {
+      this.listQuery.current = 1;
+      this.getList();
+    },
+
+    getList(){
+      this.$api.commissonDeclare.checkList(this.listQuery).then(res=>{
+        if (res.code === 200){
+            this.pageData = res.data;
+        }
+      })
+    },
+   
+    getMajorEvaluateCate(){
+      this.$api.businessCommissionRate.cateList("MAJOR_BUSINESS","EVALUATOR").then(res=>{
+        if (res.code === 200){
+          this.cates = res.data;
+        }
+      })
+    },
+    checkDetail(row){
+      let backPath = '/income/major/declare/check';
+      this.$router.push(`/income/major/market/detail?businessId=${row.businessId}&businessType=${row.businessType}&doWorkflow=${true}&back=${backPath}`)
+    },
+  
+   
+  },
+  
+}
+</script>
+<style lang="scss" scoped>
+    /deep/.doWarehouseClass {
+     border-radius: 10px;
+    }
+    .real-amount{
+      /deep/ .el-form-item__label {
+        color: red;
+        font-weight:bold
+      }
+    }
+
+</style>

+ 14 - 23
src/views/income/major/declareDetail.vue

@@ -15,21 +15,15 @@
     </el-collapse>
     <div class="button-area">
       <el-button v-if="nodeBusinessInfo.currentNodePermission.commit && doWorkflow" class="y-save" type="success" round
-        @click="commit('PASS')">提交</el-button>
-      <el-button v-if="nodeBusinessInfo.currentNodePermission.reversible && doWorkflow" class="y-save" type="warning"
-        round @click="commit('REVERSE')">退回</el-button>
-      <el-button v-if="nodeBusinessInfo.currentNodePermission.skippable && doWorkflow" class="y-save" type="warning" round
-        @click="commit('SKIP')">跳过</el-button>
+        @click="commit('PASS')">通过</el-button>
       <el-button v-if="nodeBusinessInfo.currentNodePermission.terminable && doWorkflow" class="y-save" type="danger" round
-        @click="commit('TERMINATE')">终止</el-button>
-      <el-button v-if="nodeBusinessInfo.currentNodePermission.restartable && doWorkflow" class="y-save" type="danger"
-        round @click="commit('RESTART')">重置</el-button>
+        @click="commit('TERMINATE')">拒绝</el-button>
       <el-button class="y-save" round type="info" @click="goBack">返回</el-button>
     </div>
     <el-card>
       <el-divider content-position="left">
         <span style="color:red;font-weight: bold;">
-          【市场人员】
+          【{{ this.nodeBusinessInfo.mainBusiness==='COMMISSION_DECLARE_MAJOR_EVALUATE'?'评估人员':'市场人员' }}
         </span>大中型业务提成申报详情</el-divider>
       <el-form :model="declareForm" ref="declareForm">
         <el-row>
@@ -82,14 +76,14 @@
           </el-col>
         </el-row>
         <el-table :data="declareForm.userShareRates" border style="width: 100%; margin-top: 10px; margin-bottom: 10px;">
-          <el-table-column prop="userId" label="客户经理" align="center">
+          <el-table-column prop="userId" :label="this.nodeBusinessInfo.mainBusiness==='COMMISSION_DECLARE_MAJOR_EVALUATE'?'评估人员':'市场人员'" align="center">
             <template slot-scope="{row}">
               <span>{{ row.name }}</span>
             </template>
           </el-table-column>
           <el-table-column prop="rate" label="提成比例" align="center">
             <template slot-scope="{row}">
-              <span  style="color: red;">{{ row.rate }}%</span>
+              <span  style="color: red;">{{ row.rate*100 }}%</span>
             </template>
           </el-table-column>
         </el-table>
@@ -139,7 +133,7 @@ export default {
         doWorkflow: null,
         businessSubId: null,
         businessId: null,
-        currentNodeInstanceId: null,
+        currentInstanceNodeId: null,
         production: []
       },
       doWorkflow: false,
@@ -149,7 +143,7 @@ export default {
         reportNo: null,
         businessId: null,
         productionId: null,
-        businessType: 'COMMISSION_DECLARE_MAJOR_MARKET',
+        businessType: null,
         commissionRateId: null,
         userShareRates: [
           {
@@ -167,6 +161,7 @@ export default {
   created() {
     this.nodeBusinessInfo.businessId = this.$route.query.businessId;
     this.nodeBusinessInfo.mainBusiness = this.$route.query.businessType;
+    this.declareForm.businessType = this.$route.query.businessType;
     this.doWorkflow = this.$route.query.doWorkflow === 'true';
     this.getCurrentNodeInfo();
     this.businessId = this.$route.query.businessId;
@@ -181,15 +176,7 @@ export default {
           "businessId": this.nodeBusinessInfo.businessId
         }).then(res => {
           if (res.code === 200) {
-            if (res.data) {
-              this.currentNode = res.data;
-              this.nodeBusinessInfo.currentNodeInstanceId = res.data.instanceId;
-              this.nodeBusinessInfo.currentNodePermission.restartable = res.data.restartable;
-              this.nodeBusinessInfo.currentNodePermission.reversible = res.data.reversible;
-              this.nodeBusinessInfo.currentNodePermission.skippable = res.data.skippable;
-              this.nodeBusinessInfo.currentNodePermission.terminable = res.data.terminable;
-              this.$refs.board.getInstanceQueue();
-            }
+              this.$refs.board.getInstanceArray(this.nodeBusinessInfo.mainBusiness,this.nodeBusinessInfo.businessId);
           }
         })
       }
@@ -220,7 +207,11 @@ export default {
           this.declareForm = res.data;
         }
       })
-    }
+    },
+    //提交节点
+    commit(state){
+        this.$refs.board.commit(state);
+    },
 
   },
 

+ 108 - 10
src/views/income/major/evaluate.vue

@@ -18,10 +18,11 @@
                   <el-option :value="true" label="产品">产品</el-option>
                   <el-option :value="false" label="订单">订单</el-option>
               </el-select>
-              <el-select  clearable  v-model="listQuery.result" placeholder="审核状态" style="margin-left: 20px;width: 200px;float: left;">
-                  <el-option :value="0" label="待申报">待申报</el-option>
-                  <el-option :value="1" label="通过">通过</el-option>
-                  <el-option :value="2" label="驳回">驳回</el-option>
+              <el-select  clearable  v-model="listQuery.declareResult" placeholder="审核状态" style="margin-left: 20px;width: 200px;float: left;">
+                  <el-option value="待申报" label="待申报"></el-option>
+                  <el-option value="审核中" label="审核中"></el-option>
+                  <el-option value="审核通过" label="审核通过"></el-option>
+                  <el-option value="审核拒绝" label="审核拒绝"></el-option>
               </el-select>
               <el-button class="filter-item" style="margin-left:20px;float: left;" type="primary" @click="searchList" round>搜索
               </el-button>
@@ -97,20 +98,63 @@
         <el-table-column label="审核状态" align="center">
           <template slot-scope="{row}">
             <el-tag v-if="row.declareResult==null" type="info" effect="plain">待申报</el-tag>
-            <el-tag v-else-if="row.declareResult==true" type="success" effect="plain">通过</el-tag>
-            <el-tag v-else="row.declareResult==false" type="danger" effect="plain">驳回</el-tag>
+            <el-tag v-else-if="row.declareResult=='审核中'" type="warning" effect="plain">审核中</el-tag>
+            <el-tag v-else-if="row.declareResult=='审核通过'" type="success" effect="plain">审核通过</el-tag>
+            <el-tag v-else type="danger" effect="plain">审核拒绝</el-tag>
           </template>
         </el-table-column>
         <el-table-column fixed="right" label="操作" align="center">
           <template slot-scope="{row}">
             <div>
-              <el-button type="text" size="small" @click="">申报</el-button>
-              <el-button type="text" size="small" @click="">查看</el-button>
+              <el-button v-if ="row.declareResult==null || row.declareResult=='审核拒绝'" type="text" size="small" @click="openDeclareDialog(row)">申报</el-button>
+              <el-button v-if ="row.declareResult=='审核中' || row.declareResult=='审核通过'" type="text" size="small" @click="checkDetail(row.id)">查看</el-button>
             </div>
           </template>
         </el-table-column>
       </parentTable>
     </y-page-list-layout>
+    <el-dialog :visible.sync="declareDialog" width="45%"  center  custom-class="doWarehouseClass">
+      <el-divider content-position="left">
+        <span style="color:red;font-weight: bold;">
+          【评估人员】
+        </span>大中型业务提成申报</el-divider>
+      <el-form :model="declareForm" ref="declareForm" :rules="rules">
+            <el-form-item  
+                label="订单号:"
+                prop="orderId"
+                label-width="140px"
+                class="postInfo-container-item">
+                <el-input v-model="declareForm.orderId" :step="1" :max="100" style="width: 100%;" readonly disabled></el-input>
+          </el-form-item>
+        <el-form-item 
+                label="项目名称:"
+                prop="name"
+                label-width="140px"
+                class="postInfo-container-item">
+          <el-input v-model="declareForm.name" :step="1" :max="100" style="width: 100%;" readonly disabled></el-input>
+        </el-form-item>
+        <el-form-item 
+                label="报告号:"
+                prop="reportNo"
+                label-width="140px"
+                class="postInfo-container-item">
+          <el-input v-model="declareForm.reportNo" :step="1" :max="100" style="width: 100%;" readonly disabled></el-input>
+        </el-form-item>
+        <el-form-item
+                label="业务分类:"
+                prop="commissionRateId"
+                label-width="140px"
+                class="postInfo-container-item">
+              <el-select  clearable  v-model="declareForm.commissionRateId" placeholder="请选择业务分类" style="width: 100%;" >
+                  <el-option v-for="(c,id) in cates" :value="c.id" :label="c.name">{{ c.name }}</el-option>
+              </el-select>
+        </el-form-item>
+        <el-form-item>
+          <el-button type="primary" @click="declareEvaluate()" style="margin-left: 40%;">提交</el-button>
+          <el-button @click="declareDialog=false">取消</el-button>
+        </el-form-item>
+      </el-form>
+    </el-dialog>
   </div>
 </template>
 <script>
@@ -129,13 +173,31 @@ export default {
   },
   data() {
     return {
+      rules:{
+        commissionRateId: [{
+            required: true,
+            message: '业务分类不能为空',
+            trigger: 'blur'
+          }],
+      },
       pageData: { records: [] },
       listQuery: {
         page: 1,
         size: 10,
         descs: 'id',
       },
-      cates:[]
+      cates:[],
+      declareDialog:false,
+      declareForm:{
+          orderId:null,
+          name:null,
+          reportNo:null,
+          businessId:null,
+          productionId:null,
+          businessType:'COMMISSION_DECLARE_MAJOR_EVALUATE',
+          commissionRateId:null,
+          userShareRates:[]
+      },
     }
   },
   created() {
@@ -168,11 +230,47 @@ export default {
       })
     },
     getMajorEvaluateCate(){
-      this.$api.businessCommissionRate.cateList("BUSINESS_MAJOR","EVALUATOR").then(res=>{
+      this.$api.businessCommissionRate.cateList("MAJOR_BUSINESS","EVALUATOR").then(res=>{
         if (res.code === 200){
           this.cates = res.data;
         }
       })
+    },
+    openDeclareDialog(row){
+        this.declareDialog = true;
+        this.declareForm.orderId = row.orderId;
+        this.declareForm.name = row.name;
+        this.declareForm.reportNo = row.reportNo;
+        this.declareForm.businessId = row.businessId;
+        this.declareForm.productionId= row.productionId;
+    },
+    checkDetail(id){
+      this.$router.push(`/income/major/market/detail?businessId=${id}&businessType=COMMISSION_DECLARE_MAJOR_EVALUATE&doWorkflow=${false}&back=${'/income/major/declare/evaluate'}`)
+    },
+    declareEvaluate(){
+      this.$refs.declareForm.validate(valid=>{
+        if (valid){
+          this.$api.commissonDeclare.declare(this.declareForm).then(res=>{
+            if (res.code === 200){
+              this.$notify({
+                title: '成功',
+                message: '提成申报已提交',
+                type: 'success',
+                duration: 2000
+              });
+              this.getList();
+              this.declareDialog = false;
+            }else{
+              this.$notify({
+                title: '失败',
+                message: '提成申报提交失败,请联系管理员',
+                type: 'error',
+                duration: 2000
+              });
+            }
+          })
+        }
+      })
     }
    
   },

+ 154 - 164
src/views/income/major/market.vue

@@ -5,44 +5,49 @@
     </div>
     <y-page-list-layout :page-list="pageData" :page-para="listQuery" :get-page-list="getList">
       <template slot="left">
-              <el-input v-model="listQuery.orderId" placeholder="订单号" clearable style="width: 200px;float: left;">
-              </el-input>
-              <el-input v-model="listQuery.name" placeholder="项目名称" clearable style="margin-left: 20px;width: 200px;float: left;">
-              </el-input>
-              <el-input v-model="listQuery.reportNo" placeholder="报告号" clearable style="margin-left: 20px;width: 200px;float: left;">
-              </el-input>
-              <el-select  clearable  v-model="listQuery.commissionRateId" placeholder="提成类型" style="margin-left: 20px;width: 200px;float: left;">
-                  <el-option v-for="(c,id) in cates" :value="c.id" :label="c.name">{{ c.name }}</el-option>
-              </el-select>
-              <el-select  clearable  v-model="listQuery.declareType" placeholder="申报类型" style="margin-left: 20px;width: 200px;float: left;">
-                  <el-option :value="true" label="产品">产品</el-option>
-                  <el-option :value="false" label="订单">订单</el-option>
-              </el-select>
-              <el-select  clearable  v-model="listQuery.declareResult" placeholder="审核状态" style="margin-left: 20px;width: 200px;float: left;">
-                  <el-option value="待申报" label="待申报"></el-option>
-                  <el-option value="审核中" label="审核中"></el-option>
-                  <el-option value="审核通过" label="审核通过"></el-option>
-                  <el-option value="审核拒绝" label="审核拒绝"></el-option>
-              </el-select>
-              <el-button class="filter-item" style="margin-left:20px;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-input v-model="listQuery.orderId" placeholder="订单号" clearable style="width: 200px;float: left;">
+        </el-input>
+        <el-input v-model="listQuery.name" placeholder="项目名称" clearable
+          style="margin-left: 20px;width: 200px;float: left;">
+        </el-input>
+        <el-input v-model="listQuery.reportNo" placeholder="报告号" clearable
+          style="margin-left: 20px;width: 200px;float: left;">
+        </el-input>
+        <el-select clearable v-model="listQuery.commissionRateId" placeholder="提成类型"
+          style="margin-left: 20px;width: 200px;float: left;">
+          <el-option v-for="(c, id) in cates" :value="c.id" :label="c.name">{{ c.name }}</el-option>
+        </el-select>
+        <el-select clearable v-model="listQuery.declareType" placeholder="申报类型"
+          style="margin-left: 20px;width: 200px;float: left;">
+          <el-option :value="true" label="产品">产品</el-option>
+          <el-option :value="false" label="订单">订单</el-option>
+        </el-select>
+        <el-select clearable v-model="listQuery.declareResult" placeholder="审核状态"
+          style="margin-left: 20px;width: 200px;float: left;">
+          <el-option value="待申报" label="待申报"></el-option>
+          <el-option value="审核中" label="审核中"></el-option>
+          <el-option value="审核通过" label="审核通过"></el-option>
+          <el-option value="审核拒绝" label="审核拒绝"></el-option>
+        </el-select>
+        <el-button class="filter-item" style="margin-left:20px;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="订单号"  width="150" align="center"  >
+      <parentTable :data="pageData.records" slot="table" style="width: 100%;">
+        <el-table-column label="订单号" width="150" align="center">
           <template slot-scope="{row}">
             <span>{{ row.orderId }}</span>
           </template>
         </el-table-column>
-        <el-table-column label="项目名称" width="150" align="center"  >
+        <el-table-column label="项目名称" width="150" align="center">
           <template slot-scope="{row}">
-            <span>{{ row.name?row.name:row.orderName }}</span>
+            <span>{{ row.name ? row.name : row.orderName }}</span>
           </template>
         </el-table-column>
-        <el-table-column label="报告号"  width="200" align="center"   >
+        <el-table-column label="报告号" width="200" align="center">
           <template slot-scope="{row}">
-            <span>{{ row.reportNo?row.reportNo:'--' }}</span>
+            <span>{{ row.reportNo ? row.reportNo : '--' }}</span>
           </template>
         </el-table-column>
         <el-table-column label="评估对象类别" align="center">
@@ -50,17 +55,17 @@
             <span>{{ row.businessObjectType }}</span>
           </template>
         </el-table-column>
-        <el-table-column label="委托人" align="center" >
+        <el-table-column label="委托人" align="center">
           <template slot-scope="{row}">
             <span>{{ row.bailor }}</span>
           </template>
         </el-table-column>
-        <el-table-column label="委托联系人" align="center" >
+        <el-table-column label="委托联系人" align="center">
           <template slot-scope="{row}">
             <span>{{ row.bailorContactName }}</span>
           </template>
         </el-table-column>
-        <el-table-column label="委托人电话" width="150" align="center" >
+        <el-table-column label="委托人电话" width="150" align="center">
           <template slot-scope="{row}">
             <span>{{ row.bailorContactTel }}</span>
           </template>
@@ -75,105 +80,90 @@
             <span>{{ row.clienteleSubName }}</span>
           </template>
         </el-table-column>
-        <el-table-column label="负责人" align="center" >
+        <el-table-column label="负责人" align="center">
           <template slot-scope="{row}">
             <span>{{ row.principal }}</span>
           </template>
         </el-table-column>
-        <el-table-column label="下单时间" align="center" >
+        <el-table-column label="下单时间" align="center">
           <template slot-scope="{row}">
-            <span>{{ row.orderCreated}}</span>
+            <span>{{ row.orderCreated }}</span>
           </template>
         </el-table-column>
         <el-table-column label="提成类型" width="150" align="center">
           <template slot-scope="{row}">
-            <span style="color:red">{{ row.commissionType?row.commissionType:'--'}}</span>
+            <span style="color:red">{{ row.commissionType ? row.commissionType : '--' }}</span>
           </template>
         </el-table-column>
         <el-table-column label="申报类型" align="center">
           <template slot-scope="{row}">
-            <span style="font-weight: bold;">{{ row.reportNo?'产品':'订单'}}</span>
+            <span style="font-weight: bold;">{{ row.reportNo ? '产品' : '订单' }}</span>
           </template>
         </el-table-column>
         <el-table-column label="审核状态" align="center">
           <template slot-scope="{row}">
-            <el-tag v-if="row.declareResult==null" type="info" effect="plain">待申报</el-tag>
-            <el-tag v-else-if="row.declareResult=='审核中'" type="warning" effect="plain">审核中</el-tag>
-            <el-tag v-else-if="row.declareResult=='审核通过'" type="success" effect="plain">审核通过</el-tag>
-            <el-tag v-else type="danger" effect="plain">审核拒绝</el-tag>
+            <el-tag  v-if="row.declareResult == null" type="info" effect="plain">待申报</el-tag>
+            <el-tag v-else-if="row.declareResult == '审核中'" type="warning" effect="plain">审核中</el-tag>
+            <el-tag v-else-if="row.declareResult == '审核通过'" type="success" effect="plain">通过</el-tag>
+            <el-tag v-else-if="row.declareResult == '审核拒绝'" type="danger" effect="plain">拒绝</el-tag>
           </template>
         </el-table-column>
         <el-table-column fixed="right" label="操作" align="center">
           <template slot-scope="{row}">
             <div>
-              <el-button v-if ="row.declareResult==null || row.declareResult=='审核拒绝'" type="text" size="small" @click="openDeclareDialog(row)">申报</el-button>
-              <el-button v-if ="row.declareResult=='审核中' || row.declareResult=='审核通过'" type="text" size="small" @click="checkDetail(row.id)">查看</el-button>
+              <el-button v-if="row.declareResult == null || row.declareResult == '审核拒绝'" type="text" size="small"
+                @click="openDeclareDialog(row)">申报</el-button>
+              <el-button v-if="row.declareResult == '审核中' || row.declareResult == '审核通过' || row.declareResult == '审核拒绝'" type="text" size="small"
+                @click="checkDetail(row.id)">查看</el-button>
             </div>
           </template>
         </el-table-column>
       </parentTable>
     </y-page-list-layout>
-    <el-dialog :visible.sync="declareDialog" width="45%"  center  custom-class="doWarehouseClass">
+    <el-dialog :visible.sync="declareDialog" width="45%" center custom-class="doWarehouseClass">
       <el-divider content-position="left">
         <span style="color:red;font-weight: bold;">
           【市场人员】
         </span>大中型业务提成申报</el-divider>
       <el-form :model="declareForm" ref="declareForm" :rules="rules">
-            <el-form-item  
-                label="订单号:"
-                prop="orderId"
-                label-width="140px"
-                class="postInfo-container-item">
-                <el-input v-model="declareForm.orderId" :step="1" :max="100" style="width: 100%;" readonly disabled></el-input>
-          </el-form-item>
-        <el-form-item 
-                label="项目名称:"
-                prop="name"
-                label-width="140px"
-                class="postInfo-container-item">
+        <el-form-item label="订单号:" prop="orderId" label-width="140px" class="postInfo-container-item">
+          <el-input v-model="declareForm.orderId" :step="1" :max="100" style="width: 100%;" readonly disabled></el-input>
+        </el-form-item>
+        <el-form-item label="项目名称:" prop="name" label-width="140px" class="postInfo-container-item">
           <el-input v-model="declareForm.name" :step="1" :max="100" style="width: 100%;" readonly disabled></el-input>
         </el-form-item>
-        <el-form-item 
-                label="报告号:"
-                prop="reportNo"
-                label-width="140px"
-                class="postInfo-container-item">
+        <el-form-item label="报告号:" prop="reportNo" label-width="140px" class="postInfo-container-item">
           <el-input v-model="declareForm.reportNo" :step="1" :max="100" style="width: 100%;" readonly disabled></el-input>
         </el-form-item>
-        <el-form-item
-                label="业务分类:"
-                prop="commissionRateId"
-                label-width="140px"
-                class="postInfo-container-item">
-              <el-select  clearable  v-model="declareForm.commissionRateId" placeholder="请选择业务分类" style="width: 100%;" >
-                  <el-option v-for="(c,id) in cates" :value="c.id" :label="c.name">{{ c.name }}</el-option>
-              </el-select>
+        <el-form-item label="业务分类:" prop="commissionRateId" label-width="140px" class="postInfo-container-item">
+          <el-select clearable v-model="declareForm.commissionRateId" placeholder="请选择业务分类" style="width: 100%;">
+            <el-option v-for="(c, id) in cates" :value="c.id" :label="c.name">{{ c.name }}</el-option>
+          </el-select>
         </el-form-item>
         <el-button type="success" round @click="addUser()">添加客户经理</el-button>
-        <el-table
-          :data="declareForm.userShareRates" border style="width: 100%; margin-top: 10px; margin-bottom: 10px;">
-          <el-table-column prop="userId" label="客户经理" align="center" >
+        <el-table :data="declareForm.userShareRates" border style="width: 100%; margin-top: 10px; margin-bottom: 10px;">
+          <el-table-column prop="userId" label="客户经理" align="center">
             <template slot-scope="{row}">
-            <el-select filterable  clearable  v-model="row.userId" placeholder="选择人员">
-              <el-option v-for="(u,id) in users" :value="u.id" :label="u.name">{{ u.name }}</el-option>
-            </el-select>
-          </template>
+              <el-select filterable clearable v-model="row.userId" placeholder="选择人员">
+                <el-option v-for="(u, id) in users" :value="u.id" :label="u.name">{{ u.name }}</el-option>
+              </el-select>
+            </template>
           </el-table-column>
           <el-table-column prop="rate" label="提成比例%" align="center">
             <template slot-scope="{row}">
-              <el-input-number  v-model="row.rate" :step="1" :max="100" style="width: 100%;" ></el-input-number>
-          </template>
+              <el-input-number v-model="row.rate" :step="1" :max="100" style="width: 100%;"></el-input-number>
+            </template>
           </el-table-column>
-          <el-table-column  label="操作" align="center"> 
+          <el-table-column label="操作" align="center">
             <template slot-scope="row">
-              <el-button type="text" @click="removeUser(row.$index)" :disabled="row.$index===0">删除</el-button>
+              <el-button type="text" @click="removeUser(row.$index)" :disabled="row.$index === 0">删除</el-button>
             </template>
           </el-table-column>
         </el-table>
 
         <el-form-item>
           <el-button type="primary" @click="declareMarket()" style="margin-left: 40%;">提交</el-button>
-          <el-button @click="declareDialog=false">取消</el-button>
+          <el-button @click="declareDialog = false">取消</el-button>
         </el-form-item>
       </el-form>
     </el-dialog>
@@ -191,16 +181,16 @@ export default {
     YPageListLayout,
   },
   filters: {
-    
+
   },
   data() {
     return {
-      rules:{
+      rules: {
         commissionRateId: [{
-            required: true,
-            message: '业务分类不能为空',
-            trigger: 'blur'
-          }],
+          required: true,
+          message: '业务分类不能为空',
+          trigger: 'blur'
+        }],
       },
       pageData: { records: [] },
       listQuery: {
@@ -208,33 +198,32 @@ export default {
         size: 10,
         descs: 'id',
       },
-      cates:[],
-      users:[],
-      declareDialog:false,
-      declareForm:{
-          orderId:null,
-          name:null,
-          reportNo:null,
-          businessId:null,
-          productionId:null,
-          businessType:'COMMISSION_DECLARE_MAJOR_MARKET',
-          commissionRateId:null,
-          userShareRates:[
-            {
-              userId: this.$store.getters.userInfo.id,
-              rate:100
-            }
-          ],
-
+      cates: [],
+      users: [],
+      declareDialog: false,
+      declareForm: {
+        orderId: null,
+        name: null,
+        reportNo: null,
+        businessId: null,
+        productionId: null,
+        businessType: 'COMMISSION_DECLARE_MAJOR_MARKET',
+        commissionRateId: null,
+        userShareRates: [
+          {
+            userId: this.$store.getters.userInfo.id,
+            rate: 100
+          }
+        ],
       },
     }
   },
   created() {
-     this.getList();
-     this.getMajorMarketCate();
+    this.getList();
+    this.getMajorMarketCate();
   },
   methods: {
-  
+
     resetSearch() {
       this.$router.push({ query: {} });
       this.orderDate = '';
@@ -245,56 +234,57 @@ export default {
       }
       this.getList()
     },
-   
+
     searchList() {
       this.listQuery.current = 1;
       this.getList();
     },
 
-    getList(){
-      this.$api.commissonDeclare.majorMarketDeclarePage(this.listQuery).then(res=>{
-        if (res.code === 200){
-            this.pageData = res.data;
+    getList() {
+      this.$api.commissonDeclare.majorMarketDeclarePage(this.listQuery).then(res => {
+        if (res.code === 200) {
+          this.pageData = res.data;
         }
       })
     },
-    getMajorMarketCate(){
-      this.$api.businessCommissionRate.cateList("MAJOR_BUSINESS","MARKETER").then(res=>{
-        if (res.code === 200){
+    getMajorMarketCate() {
+      this.$api.businessCommissionRate.cateList("MAJOR_BUSINESS", "MARKETER").then(res => {
+        if (res.code === 200) {
           this.cates = res.data;
         }
       })
     },
-    openDeclareDialog(row){
-        this.getSimpleAllUser();
-        this.declareDialog = true;
-        this.declareForm.orderId = row.orderId;
-        this.declareForm.name = row.name;
-        this.declareForm.reportNo = row.reportNo;
-        this.declareForm.businessId = row.businessId;
-        this.declareForm.productionId= row.productionId;
+    openDeclareDialog(row) {
+      this.getSimpleAllUser();
+      this.declareDialog = true;
+      this.declareForm.orderId = row.orderId;
+      this.declareForm.name = row.name;
+      this.declareForm.reportNo = row.reportNo;
+      this.declareForm.businessId = row.businessId;
+      this.declareForm.productionId = row.productionId;
     },
-    declareMarket(){
-      this.$refs.declareForm.validate(valid=>{
-        if (valid){
+    declareMarket() {
+      this.$refs.declareForm.validate(valid => {
+        if (valid) {
           let total = 0;
-          for (let i in this.declareForm.userShareRates){
-              if (!this.declareForm.userShareRates[i].userId){
-                  this.$message.error("客户经理未指定");
-                  return;
-              }
-              if (!this.declareForm.userShareRates[i].rate){
-                  this.$message.error("设置比例不能为空");
-                  return;
-              }
-              total += this.declareForm.userShareRates[i].rate;
+          for (let i in this.declareForm.userShareRates) {
+            if (!this.declareForm.userShareRates[i].userId) {
+              this.$message.error("客户经理未指定");
+              return;
+            }
+            if (!this.declareForm.userShareRates[i].rate) {
+              this.$message.error("设置比例不能为空");
+              return;
+            }
+            this.declareForm.userShareRates[i].rate = (this.declareForm.userShareRates[i].rate) / 100;
+            total += this.declareForm.userShareRates[i].rate;
           }
-          if (total!=100){
-            this.$message.error("提成比例之和必须为100");
+          if (total != 1) {
+            this.$message.error("提成比例之和必须为100%");
             return;
           }
-          this.$api.commissonDeclare.declare(this.declareForm).then(res=>{
-            if (res.code === 200){
+          this.$api.commissonDeclare.declare(this.declareForm).then(res => {
+            if (res.code === 200) {
               this.$notify({
                 title: '成功',
                 message: '提成申报已提交',
@@ -303,7 +293,7 @@ export default {
               });
               this.getList();
               this.declareDialog = false;
-            }else{
+            } else {
               this.$notify({
                 title: '失败',
                 message: '提成申报提交失败,请联系管理员',
@@ -316,42 +306,42 @@ export default {
       })
     },
 
-    getSimpleAllUser(){
-      this.$api.user.simpleAll().then(res=>{
-        if (res.code===200){
-            this.users = res.data;
+    getSimpleAllUser() {
+      this.$api.user.simpleAll().then(res => {
+        if (res.code === 200) {
+          this.users = res.data;
         }
       })
     },
-    addUser(){
-      if (this.declareForm.userShareRates.length>4){
-          this.$message.error("人数超限")
-          return;
+    addUser() {
+      if (this.declareForm.userShareRates.length > 4) {
+        this.$message.error("人数超限")
+        return;
       }
       let user = new Object;
       user.index
       this.declareForm.userShareRates.push(user);
     },
-    removeUser(index){
-        this.declareForm.userShareRates.splice(index,1)
+    removeUser(index) {
+      this.declareForm.userShareRates.splice(index, 1)
     },
-    checkDetail(id){
+    checkDetail(id) {
       this.$router.push(`/income/major/market/detail?businessId=${id}&businessType=COMMISSION_DECLARE_MAJOR_MARKET&doWorkflow=${false}&back=${'/income/major/declare/market'}`)
     }
-   
+
   },
-  
+
 }
 </script>
 <style lang="scss" scoped>
-    /deep/.doWarehouseClass {
-     border-radius: 10px;
-    }
-    .real-amount{
-      /deep/ .el-form-item__label {
-        color: red;
-        font-weight:bold
-      }
-    }
+/deep/.doWarehouseClass {
+  border-radius: 10px;
+}
 
+.real-amount {
+  /deep/ .el-form-item__label {
+    color: red;
+    font-weight: bold
+  }
+}
 </style>

+ 12 - 8
src/views/major/performanceList.vue

@@ -41,7 +41,7 @@
         </el-table-column>
         <el-table-column label="实收款" align="center"   >
           <template slot-scope="{row}">
-            <span>{{ row.productionFundId?'已认领':'未认领' }}</span>
+            <span>{{ row.claimTimes>0?'已认领':'未认领' }}</span>
           </template>
         </el-table-column>
         <el-table-column label="绩效分配" align="center"   >
@@ -51,7 +51,7 @@
         </el-table-column>
         <el-table-column label="操作" align="center" width='120'  >
           <template slot-scope="{row}">
-            <el-button  type="text" size="small" @click="doPerformanceAllot(row.id,row.reportNo)">{{!row.isAllot?'分配':'查看'}}</el-button>
+            <el-button  type="text" size="small" @click="doPerformanceAllot(row)">{{!row.isAllot?'分配':'查看'}}</el-button>
           </template>
         </el-table-column>
       </parentTable>
@@ -113,6 +113,7 @@ export default {
         majorProductionId:null
       },
       reportNo:null,
+      majorId:null
       
     }
   },
@@ -143,11 +144,12 @@ export default {
         }
       })
     },
-    doPerformanceAllot(id,reportNo){
+    doPerformanceAllot(row){
       this.allotDialog = true;
-      this.reportNo = reportNo;
-      this.performance.majorProductionId = id;
-      this.$api.majorPerformanceAllot.list(id).then(res=>{
+      this.reportNo = row.reportNo;
+      this.performance.majorProductionId = row.id;
+      this.majorId= row.majorId;
+      this.$api.majorPerformanceAllot.list(row.id).then(res=>{
         if (res.code ===200 ){
           const list = res.data;
           for (let i in list){
@@ -178,8 +180,10 @@ export default {
           return;
       }
       for(let i in list){
-         list[i].majorProductionId = id;
-         list[i].ratio = (list[i].ratio)/100;
+        list[i].majorProductionId = id;
+        list[i].ratio = (list[i].ratio)/100;
+        list[i].userType = 'EVALUATE';
+        list[i].majorId = this.majorId;
       }
       this.$api.majorPerformanceAllot.allot(list).then(res=>{
         if (res.code ===200 && res.data){

+ 0 - 1
src/views/personal/todoDetail.vue

@@ -1189,7 +1189,6 @@
   <script>
     import YDetailPageLayout from '@/components/YDetailPageLayout/index_detail'
     import WorkflowBoard from '@/components/workflowBoard'
-    import {isNumber,phoneNumber,postiveInteger,isIdNumber} from '@/utils/validate'
     import {calculateTargetPrice,validateParams} from '@/utils/personalUtil'
     import HouseCertificate from '@/components/personalForms/houseCertificate'
     import LandCertificate from '@/components/personalForms/landCertificate'