LIDEXI 4 vuotta sitten
vanhempi
commit
981959603a

+ 17 - 0
src/api/guosen/ordercommission.js

@@ -56,3 +56,20 @@ export const getByAgenterAndTime = (row) => {
  data: row
   })
 }
+
+
+export const getListDetailByAgenterAndTime = (row) => {
+  return request({
+    url: '/api/cyzh-guosen/ordercommission/getListDetailByAgenterAndTime',
+    method: 'post',
+ data: row
+  })
+}
+
+export const ordercommissionFinish = (row) => {
+  return request({
+    url: '/api/cyzh-guosen/ordercommission/ordercommissionFinish',
+    method: 'post',
+ data: row
+  })
+}

+ 36 - 9
src/components/ordercommission/ordercommissionComp.vue

@@ -1,6 +1,12 @@
 <template>
   <basicContainer :visible="visible">
 
+    <el-dialog @close="closeOrderCommission" append-to-body :close-on-click-modal="false" :visible.sync="orderstaticVisible"
+      title="佣金结算" width="70%">
+      <orderstatic ref="orderstaticRef" :tableData="orderCommissionDetailList" :total="total" :agenter="agenter"
+        :startTime="selectDate[0]" :endTime="selectDate[1]" :query="query"></orderstatic>
+    </el-dialog>
+
     <avue-tabs :option="tabsOption" @change="changeTab" :visible="visible"></avue-tabs>
 
     <el-form :visible="visible">
@@ -32,7 +38,7 @@
         </el-button-group>
         <el-button-group>
           <el-col :span="12">
-            <el-button size="small" icon="el-icon-wallet" v-if="type.prop === 'paying'">结算
+            <el-button size="small" icon="el-icon-wallet" v-if="type.prop === 'paying'" @click="handleCommission">结算
             </el-button>
           </el-col>
         </el-button-group>
@@ -54,25 +60,35 @@
 
 <script>
   import echarts from "echarts";
+  import orderstatic from "./orderstatic";
   import {
     getList,
     getDetail,
     add,
     update,
     remove,
-    getByAgenterAndTime
+    getByAgenterAndTime,
+    getListDetailByAgenterAndTime
   } from "@/api/guosen/ordercommission";
   export default {
+    components: {
+      orderstatic
+    },
     props: {
-      agenterId: {
+
+      agenter: {
 
       },
-      visible:{
+      visible: {
 
       }
     },
     data() {
+
       return {
+        orderCommissionDetailList: [],
+        total: 0.00,
+        orderstaticVisible: false,
         type: {},
         query: {
           status: 0,
@@ -86,7 +102,7 @@
         buttonChart: "primary", //默认图形不显示
         buttonDay: "primary", //默认显示按日
         buttonMonth: "", //默认图形不显示
-        legendData: ['正向有功实时需量', '反向有功实时需量', '正向无功实时需量', '反向无功实时需量'],
+
         tableData: [],
         tabsOption: {
           column: [{
@@ -182,6 +198,16 @@
     },
 
     methods: {
+      handleCommission() {
+        this.orderstaticVisible = true;
+        getListDetailByAgenterAndTime(this.query).then(res => {
+          this.orderCommissionDetailList = res.data.data.orderCommissions;
+          this.total = res.data.data.total;
+        })
+        this.$nextTick(() => {
+          this.$refs.orderstaticRef.init();
+        })
+      },
       changeTab(column) {
         this.type = column;
         if (this.type.prop === "paying") {
@@ -199,7 +225,8 @@
         let startTime = `${byear}-${bmonth}-${bday}`;
         this.selectDate = [startTime, startTime];
         this.query.agenterId = this.agenterId;
-        this.query.status = 1; //默认已结算
+        this.query.status = 0; //默认待结算
+        this.loadData()
 
       },
       //按日
@@ -236,7 +263,7 @@
 
       },
       loadData() {
-        this.query.agenterId = this.agenterId;
+        this.query.agenterId = this.agenter.id;
         this.query.beginDate = this.selectDate[0];
         this.query.endDate = this.selectDate[1];
 
@@ -268,8 +295,8 @@
             type: "slider",
             realtime: true, //拖动滚动条时是否动态的更新图表数据
             height: 25, //滚动条高度
-            start: 40, //滚动条开始位置(共100等份)
-            end: 65 //结束位置(共100等份)
+            start: 0, //滚动条开始位置(共100等份)
+            end: 100 //结束位置(共100等份)
           }],
 
           xAxis: {

+ 147 - 0
src/components/ordercommission/orderstatic.vue

@@ -0,0 +1,147 @@
+<template>
+  <el-container style="height: 500px; border: 1px solid #eee" :visible="visible">
+
+    <form ref="clearForm" method="post" action="/api/cyzh-guosen/ordercommission/ordercommissionFinish" style="display: none;">
+      <el-input name="json" :value="json"></el-input>
+    </form>
+    <el-aside width="240px" style="background-color: rgb(238, 241, 246)">
+      <el-row>
+        <el-col span="24" style="text-align: center;font-size: 24px;">
+          <span>代理人信息</span>
+        </el-col>
+      </el-row>
+      <el-row style="padding-top: 20px;">
+        <el-col span="24" style="text-align: left;font-size: 18px;">
+          <span>代理等级:{{agenter.$level}}</span>
+        </el-col>
+      </el-row>
+      <el-row style="padding-top: 20px;">
+        <el-col span="24" style="text-align: left;font-size: 18px;">
+          <span>手机号码: 15089107336</span>
+        </el-col>
+      </el-row>
+
+    </el-aside>
+
+    <el-container>
+      <el-header style="text-align: center; font-size: 24px">
+        {{startTime}}至{{endTime}}分佣明细表
+      </el-header>
+
+      <el-main>
+        <el-table :data="tableData" height="450" border style="width: 100%">
+          <el-table-column prop="amt" label="佣金金额" width="140">
+          </el-table-column>
+          <el-table-column prop="rate" label="佣金比例" width="120">
+          </el-table-column>
+          <el-table-column prop="type" label="佣金类型">
+
+            <template slot-scope="scope">
+
+
+              <el-tag size="medium">{{ scope.row.type == 1 ?"城市分红":"推广分红" }}</el-tag>
+
+
+            </template>
+          </el-table-column>
+          <el-table-column prop="createTime" label="具体时间">
+          </el-table-column>
+        </el-table>
+      </el-main>
+      <el-footer>
+        <el-row>
+          <el-col span="12">总计: {{total}} (元)</el-col>
+          <el-col span="12" style="text-align: center;">
+            <el-button type="primary" size="small" @click="orderFinish">结算</el-button>
+          </el-col>
+        </el-row>
+      </el-footer>
+    </el-container>
+  </el-container>
+
+</template>
+
+<script>
+  import {
+    ordercommissionFinish
+  } from "@/api/guosen/ordercommission";
+  export default {
+    props: {
+
+
+      query: {
+
+      },
+      type: { //统计类型: 1-按日 2-按月
+      },
+      startTime: {
+
+      },
+      endTime: {
+
+      },
+
+      agenter: {
+
+      },
+      tableData: [],
+      total: {}
+    },
+    data() {
+
+      return {
+        visible: false,
+         json:"",
+orderCommissionStaticDetailVO: {
+        orderCommissions:[],
+        total:{},
+        starttime:{},
+        enttime:{},
+        agenter:{}
+      },
+      }
+    },
+    methods: {
+
+
+      init() {
+
+      },
+      orderFinish() {
+        this.orderCommissionStaticDetailVO.orderCommissions = this.tableData;
+        this.orderCommissionStaticDetailVO.total = this.total;
+        this.orderCommissionStaticDetailVO.agenter = this.agenter;
+        this.orderCommissionStaticDetailVO.starttime = this.startTime;
+        this.orderCommissionStaticDetailVO.endtime = this.endTime;
+        this.json = JSON.stringify(this.orderCommissionStaticDetailVO);
+        console.log("tableData"+JSON.stringify(this.tableData))
+        console.log("vo"+this.json)
+        this.$confirm("确定结算吗?成功后会生成结算的报表,并将系统中的相关分佣记录状态修改为已结算", {
+            confirmButtonText: "确定",
+            cancelButtonText: "取消",
+            type: "warning"
+          })
+          .then(() => {
+           
+            this.$refs.clearForm.submit();
+             this.visible = false;
+          });
+
+
+      }
+    }
+  }
+</script>
+
+<style>
+  .el-header,
+  .el-footer {
+    background-color: #B3C0D1;
+    color: #333;
+    line-height: 60px;
+  }
+
+  .el-aside {
+    color: #333;
+  }
+</style>

+ 3 - 3
src/views/guosen/agenter.vue

@@ -4,7 +4,7 @@
      <useragenter ref="useragenterRef" :agenterId="selectAgenterId"></useragenter>
    </el-dialog>
    <el-dialog @close="closeOrderCommission"  append-to-body :close-on-click-modal="false" :visible.sync="viewOrderCommissionVisible" title="分佣记录" width="70%">
-     <ordercommissioncomp  ref="ordercommissioncompRef" :agenterId="selectAgenterId"></ordercommissioncomp>
+     <ordercommissioncomp  ref="ordercommissioncompRef" :agenter="selectAgenter"></ordercommissioncomp>
    </el-dialog>
     </el-dialog>
     <avue-crud :option="option"
@@ -71,7 +71,7 @@
     },
     data() {
       return {
-        selectAgenterId: 0,
+        selectAgenter: {},
         userAgenterVisible: false,
         viewOrderCommissionVisible: false,
         form: {},
@@ -253,7 +253,7 @@
         this.viewOrderCommissionVisible = false;
       },
       viewOrderCommission(row){
-          this.selectAgenterId = row.id;
+          this.selectAgenter = row;
           this.viewOrderCommissionVisible = true;
           this.$nextTick(()=>{
             this.$refs.ordercommissioncompRef.init();