فهرست منبع

fix:优化业务数据功能

刘恒 1 سال پیش
والد
کامیت
0ac6d8197c

+ 12 - 10
src/pages/business/agent.vue

@@ -384,7 +384,7 @@ export default {
     },
     chooseUser(val) {
       this.formState.treeUserId = val.id;
-      this.treeUserId=val
+      this.treeUserId=val.id
 
       if (val.type == "a") {
         this.treeType = 1;
@@ -412,19 +412,19 @@ export default {
       this.$router.push({
         path: "/business/agent/message",
         query: {
-          user: {
+          user:JSON.stringify( {
             ...item,
             treeType: this.treeType,
             treeUserId: this.formState.treeUserId,
-          },
+          }),
           dateType:this.dateType,
           timeType:this.timeType,
-          time: {
+          time:JSON.stringify( {
             signingTimeEnd: this.formState.signingTimeEnd,
             signingTimeStart: this.formState.signingTimeStart,
             enterTimeEnd: this.formState.enterTimeEnd,
             enterTimeStart: this.formState.enterTimeStart,
-          },
+          }),
           isEnter:this.formState.signingTimeEnd ? false : true
         },
       });
@@ -441,17 +441,17 @@ export default {
           managementSource: 2,
           treeType: this.treeType,
           timeType:this.timeType,
+          treeUserId:this.treeUserId?this.treeUserId:this.formState.treeUserId
+
 
         })
         .then((res) => {
           if (res.data.code === 200) {
             this.loading = false;
             this.tableList = res.data.data.records;
-            this.pagination = {
-              current: res.data.data.current,
-              defaultPageSize: res.data.data.size,
-              total: res.data.data.total,
-            };
+            this.pagination.current=res.data.data.current
+              
+            this.pagination.total=res.data.data.total
           }
         });
       this.$API.business
@@ -460,6 +460,8 @@ export default {
           managementSource: 2,
           treeType: this.treeType,
           timeType:this.timeType,
+          treeUserId:this.treeUserId?this.treeUserId:this.formState.treeUserId
+
 
         })
         .then((res) => {

+ 25 - 18
src/pages/business/channel.vue

@@ -342,22 +342,24 @@ export default {
     };
   },
   created() {},
-  mounted() {
+  async mounted() {
     // setTimeout(() => {
+    //   this.getUserTree();
     // }, 1000);
     // this.getUserTree()
   },
   methods: {
-    timeChange(val) {
+    async timeChange(val) {
       // console.log(val);
       this.dateType=val.dateType
       this.timeType=val.timeType
       this.formState = { ...val };
       this.formState.treeUserId =  this.treeUserId;
-
-      this.getUserTree();
+      await this.getUserTree()
+     
+      
     },
-    getUserTree() {
+    async getUserTree() {
       // console.log(this.userInfo);
       this.$API.business
         .findAgentChanellTree({
@@ -384,7 +386,7 @@ export default {
                   : "" :'';
             this.userTreeData = res.data.data.userList;
             this.treeData = res.data.data.deptList;
-            this.getList();
+             this.getList();
           }
         });
     },
@@ -400,17 +402,20 @@ export default {
       this.getList();
     },
     chooseUser(val) {
+   
+
       this.formState.treeUserId = val.id;
-      this.treeUserId=val
+      this.treeUserId=val.id
 
       if (val.type == "a") {
         this.treeType = 1;
       } else {
         this.treeType = 2;
       }
-      this.getVerification();
+     
+      this.getList();
     },
-    getList() {
+    async getList() {
       this.pagination.current = 1;
       this.pagination.defaultPageSize = 10;
       this.getVerification();
@@ -429,19 +434,19 @@ export default {
       this.$router.push({
         path: "/business/channel/message",
         query: {
-          user: {
+          user: JSON.stringify({
             ...item,
             treeType: this.treeType,
             treeUserId: this.formState.treeUserId,
-          },
+          }),
           dateType:this.dateType,
           timeType:this.timeType,
-          time: {
+          time: JSON.stringify({
             signingTimeEnd: this.formState.signingTimeEnd,
             signingTimeStart: this.formState.signingTimeStart,
             enterTimeEnd: this.formState.enterTimeEnd,
             enterTimeStart: this.formState.enterTimeStart,
-          },
+          }),
           isEnter:this.formState.signingTimeEnd ? false : true
         },
       });
@@ -458,17 +463,17 @@ export default {
           managementSource: 1,
           treeType: this.treeType,
           timeType:this.timeType,
+          treeUserId:this.treeUserId?this.treeUserId:this.formState.treeUserId
 
         })
         .then((res) => {
           if (res.data.code === 200) {
             this.loading = false;
             this.tableList = res.data.data?.records || [];
-            this.pagination = {
-              current: res.data.data.current,
-              defaultPageSize: res.data.data.size,
-              total: res.data.data.total,
-            };
+            this.pagination.current=res.data.data.current
+              
+            this.pagination.total=res.data.data.total
+            
           }
         });
       this.$API.business
@@ -477,6 +482,8 @@ export default {
           managementSource: 1,
           treeType: this.treeType,
           timeType:this.timeType,
+          treeUserId:this.treeUserId?this.treeUserId:this.formState.treeUserId
+
 
         })
         .then((res) => {

+ 22 - 24
src/pages/business/message.vue

@@ -236,16 +236,16 @@ export default {
     };
   },
   created() {
- 
+   
     if(this.$route.query.isEnter!='false'){
       this.time = [
-        this.$route.query.time.enterTimeStart,
-        this.$route.query.time.enterTimeEnd,
+        JSON.parse(this.$route.query.time).enterTimeStart,
+        JSON.parse(this.$route.query.time).enterTimeEnd,
       ];
     }else{
       this.time = [
-        this.$route.query.time.signingTimeStart,
-        this.$route.query.time.signingTimeEnd,
+        JSON.parse(this.$route.query.time).signingTimeStart,
+        JSON.parse(this.$route.query.time).signingTimeEnd,
       ];
     }
     if(this.$route.query.dateType){
@@ -253,10 +253,10 @@ export default {
     }
     this.formState.dateType=this.$route.query.dateType
     this.timeType=this.$route.query.timeType
-    this.formState.signingTimeEnd = this.$route.query.time.signingTimeEnd;
-    this.formState.signingTimeStart = this.$route.query.time.signingTimeStart;
-    this.formState.enterTimeEnd = this.$route.query.time.enterTimeEnd;
-    this.formState.enterTimeStart = this.$route.query.time.enterTimeStart;
+    this.formState.signingTimeEnd = JSON.parse(this.$route.query.time).signingTimeEnd;
+    this.formState.signingTimeStart = JSON.parse(this.$route.query.time).signingTimeStart;
+    this.formState.enterTimeEnd = JSON.parse(this.$route.query.time).enterTimeEnd;
+    this.formState.enterTimeStart = JSON.parse(this.$route.query.time).enterTimeStart;
 
     // this.getList();
   },
@@ -286,13 +286,13 @@ export default {
 
       if(this.$route.query.isEnter!='false'){
    
-        this.formState.enterTimeEnd = this.$route.query.time.enterTimeEnd;
-        this.formState.enterTimeStart = this.$route.query.time.enterTimeStart;
+        this.formState.enterTimeEnd = JSON.parse(this.$route.query.time).enterTimeEnd;
+        this.formState.enterTimeStart = JSON.parse(this.$route.query.time).enterTimeStart;
         this.formState.signingTimeEnd=''
         this.formState.signingTimeStart=''
       }else{
-        this.formState.signingTimeEnd = this.$route.query.time.signingTimeEnd;
-        this.formState.signingTimeStart = this.$route.query.time.signingTimeStart;
+        this.formState.signingTimeEnd = JSON.parse(this.$route.query.time).signingTimeEnd;
+        this.formState.signingTimeStart = JSON.parse(this.$route.query.time).signingTimeStart;
         this.formState.enterTimeEnd =''
         this.formState.enterTimeStart=''
       }
@@ -333,21 +333,19 @@ export default {
         .getBusinessAgentTotalDetails({
           pageNum: this.pagination.current,
           pageSize: this.pagination.defaultPageSize,
-          userId: this.$route.query.user.record.userId,
+          userId: JSON.parse(this.$route.query.user).record.userId,
           ...this.formState,
-          treeType: this.$route.query.user.treeType,
-          treeUserId: this.$route.query.user.treeUserId,
+          treeType: JSON.parse(this.$route.query.user).treeType,
+          treeUserId: JSON.parse(this.$route.query.user).treeUserId,
           timeType:this.$route.query.timeType
         })
         .then((res) => {
           if (res.data.code === 200) {
             this.loading = false;
             this.tableList = res.data.data.records;
-            this.pagination = {
-              current: res.data.data.current,
-              defaultPageSize: res.data.data.size,
-              total: res.data.data.total,
-            };
+            this.pagination.current=res.data.data.current
+              
+              this.pagination.total=res.data.data.total
           } else {
             this.loading = false;
             this.tableList = [];
@@ -357,9 +355,9 @@ export default {
       this.$API.business
         .getBusinessAgentTotalList({
           ...this.formState,
-          userId: this.$route.query.user.record.userId,
-          treeType: this.$route.query.user.treeType,
-          treeUserId: this.$route.query.user.treeUserId,
+          userId: JSON.parse(this.$route.query.user).record.userId,
+          treeType: JSON.parse(this.$route.query.user).treeType,
+          treeUserId: JSON.parse(this.$route.query.user).treeUserId,
           timeType:this.$route.query.timeType
 
         })

+ 85 - 27
src/pages/business/orderMessage.vue

@@ -18,14 +18,19 @@
                 <span>{{ amount.sumPremium || 0 }}</span>
               </dd>
             </dl>
-            <dl>
-              <dt><span>签单保费总占比</span></dt>
+            <dl style="width: 180px">
+              <dt class="dt-flex">
+                <span>签单保费</span>
+                <span
+                  >占比{{
+                    amount.sumPremiumProportion
+                      ? (amount.sumPremiumProportion * 100).toFixed(2) + "%"
+                      : 0
+                  }}</span
+                >
+              </dt>
               <dd>
-                <span>{{
-                  amount.sumPremiumProportion
-                    ? (amount.sumPremiumProportion * 100).toFixed(2) + "%"
-                    : 0
-                }}</span>
+                <span>{{ amount.sumPremium || 0 }}</span>
               </dd>
             </dl>
             <dl>
@@ -60,6 +65,24 @@
                 </span>
               </dd>
             </dl>
+            <dl style="width: 180px">
+              <dt class="dt-flex">
+                <span>毛利润</span>
+                <span
+                  >毛利率
+                  {{
+                    amount.distributionAmountRate
+                      ? (amount.distributionAmountRate * 100).toFixed(2) + "%"
+                      : 0 + "%"
+                  }}
+                </span>
+              </dt>
+              <dd>
+                <span>
+                  {{ amount.distributionAmount || 0 }}
+                </span>
+              </dd>
+            </dl>
           </div>
         </div>
       </div>
@@ -253,22 +276,22 @@ export default {
   created() {
     if(this.$route.query.isEnter!='false'){
       this.time = [
-        this.$route.query.time.enterTimeStart,
-        this.$route.query.time.enterTimeEnd,
+        JSON.parse(this.$route.query.time).enterTimeStart,
+        JSON.parse(this.$route.query.time).enterTimeEnd,
       ];
     }else{
       this.time = [
-        this.$route.query.time.signingTimeStart,
-        this.$route.query.time.signingTimeEnd,
+        JSON.parse(this.$route.query.time).signingTimeStart,
+        JSON.parse(this.$route.query.time).signingTimeEnd,
       ];
     }
   
     this.formState.dateType=this.$route.query.dateType
     this.timeType=this.$route.query.timeType
-    this.formState.signingTimeEnd = this.$route.query.time.signingTimeEnd;
-    this.formState.signingTimeStart = this.$route.query.time.signingTimeStart;
-    this.formState.enterTimeEnd = this.$route.query.time.enterTimeEnd;
-    this.formState.enterTimeStart = this.$route.query.time.enterTimeStart;
+    this.formState.signingTimeEnd = JSON.parse(this.$route.query.time).signingTimeEnd;
+    this.formState.signingTimeStart = JSON.parse(this.$route.query.time).signingTimeStart;
+    this.formState.enterTimeEnd = JSON.parse(this.$route.query.time).enterTimeEnd;
+    this.formState.enterTimeStart = JSON.parse(this.$route.query.time).enterTimeStart;
     // this.getList();
   },
   watch: {
@@ -289,13 +312,13 @@ export default {
       // console.log(val);
       this.formState = { ...val };
       if(this.$route.query.isEnter!='false'){
-        this.formState.enterTimeEnd = this.$route.query.time.enterTimeEnd;
-        this.formState.enterTimeStart = this.$route.query.time.enterTimeStart;
+        this.formState.enterTimeEnd = JSON.parse(this.$route.query.time).enterTimeEnd;
+        this.formState.enterTimeStart = JSON.parse(this.$route.query.time).enterTimeStart;
         this.formState.signingTimeEnd=''
         this.formState.signingTimeStart=''
       }else{
-        this.formState.signingTimeEnd = this.$route.query.time.signingTimeEnd;
-        this.formState.signingTimeStart = this.$route.query.time.signingTimeStart;
+        this.formState.signingTimeEnd = JSON.parse(this.$route.query.time).signingTimeEnd;
+        this.formState.signingTimeStart = JSON.parse(this.$route.query.time).signingTimeStart;
         this.formState.enterTimeEnd =''
         this.formState.enterTimeStart=''
       }
@@ -336,10 +359,10 @@ export default {
         .getBusinessOrderDataDetails({
           pageNum: this.pagination.current,
           pageSize: this.pagination.defaultPageSize,
-          userId: this.$route.query.user.record.userId,
+          userId: JSON.parse(this.$route.query.user).record.userId,
           ...this.formState,
-          treeType: this.$route.query.user.treeType,
-          treeUserId: this.$route.query.user.treeUserId,
+          treeType: JSON.parse(this.$route.query.user).treeType,
+          treeUserId: JSON.parse(this.$route.query.user).treeUserId,
           timeType:this.$route.query.timeType
 
         })
@@ -348,7 +371,7 @@ export default {
             this.loading = false;
             this.tableList = res.data.data.list;
             this.pagination.current= res.data.data.pages
-            this.pagination.defaultPageSize= res.data.data.size
+            // this.pagination.defaultPageSize= res.data.data.size
             this.pagination.total= res.data.data.total
             
           } else {
@@ -360,9 +383,9 @@ export default {
       this.$API.business
         .getBusinessOrderDataTotal({
           ...this.formState,
-          userId: this.$route.query.user.record.userId,
-          treeType: this.$route.query.user.treeType,
-          treeUserId: this.$route.query.user.treeUserId,
+          userId: JSON.parse(this.$route.query.user).record.userId,
+          treeType: JSON.parse(this.$route.query.user).treeType,
+          treeUserId: JSON.parse(this.$route.query.user).treeUserId,
           timeType:this.$route.query.timeType
 
         })
@@ -433,7 +456,7 @@ export default {
         justify-content: space-between;
         > dl {
           flex: none;
-          width: 180px;
+          min-width: 210px;
           height: 80px;
           display: flex;
           //   align-items: center;
@@ -460,10 +483,20 @@ export default {
         > dl:first-child {
           background: url("../../assets/img/business1.png");
           color: #11a6d3;
+          dt > span:nth-child(2) {
+            background: #11a6d3;
+          }
         }
         > dl:nth-child(2) {
           background: url("../../assets/img/business2.png");
           color: #f87f2c;
+          dt > span:nth-child(2) {
+            background: #f87f2c;
+            background: linear-gradient(90deg, #f99a59 0%, #f87f2c 100%);
+            color: #fff;
+            // padding: 0 8px;
+            box-sizing: border-box;
+          }
         }
         > dl:nth-child(3) {
           background: url("../../assets/img/business3.png");
@@ -481,6 +514,17 @@ export default {
           background: url("../../assets/img/business6.png");
           color: #47a2eb;
         }
+        > dl:nth-child(7) {
+          background: url("../../assets/img/business7.png");
+          color: #10c08b;
+          dt > span:nth-child(2) {
+            // background: #10c08b;
+            background: linear-gradient(90deg, #1ac86a 0%, #07bf87 100%);
+            color: #fff;
+            // padding: 0 8px;
+            box-sizing: border-box;
+          }
+        }
       }
       span {
         display: block;
@@ -528,4 +572,18 @@ export default {
     }
   }
 }
+.dt-flex {
+  display: flex;
+  // align-items: center;
+  justify-content: space-between;
+  // >span:last-child{
+  //   background: ;
+  // }
+  > span {
+    display: inline;
+    border-radius: 2px;
+    padding: 0 2px;
+    box-sizing: border-box;
+  }
+}
 </style>

+ 14 - 16
src/pages/business/sales.vue

@@ -78,11 +78,11 @@
                 <span>毛利润</span>
                 <span
                   >毛利率
-                  <span>{{
+                  {{
                     amount.distributionAmountRate
                       ? (amount.distributionAmountRate * 100).toFixed(2) + "%"
                       : 0 + "%"
-                  }}</span>
+                  }}
                 </span>
               </dt>
               <dd>
@@ -319,17 +319,17 @@ export default {
       this.$router.push({
         path: "/business/sales/message",
         query: {
-          user: { 
+          user: JSON.stringify({ 
             ...item ,
-          },
+          }),
           dateType:this.dateType,
           timeType:this.timeType,
-          time: {
+          time: JSON.stringify({
             signingTimeEnd: this.formState.signingTimeEnd,
             signingTimeStart: this.formState.signingTimeStart,
             enterTimeEnd: this.formState.enterTimeEnd,
             enterTimeStart: this.formState.enterTimeStart,
-          },
+          }),
           isEnter:this.formState.signingTimeEnd ? false : true
         },
       });
@@ -340,15 +340,15 @@ export default {
       this.$router.push({
         path: "/business/sales/orderMessage",
         query: {
-          user: { ...item },
+          user: JSON.stringify({ ...item }),
           dateType:this.dateType,
           timeType:this.timeType,
-          time: {
+          time: JSON.stringify({
             signingTimeEnd: this.formState.signingTimeEnd,
             signingTimeStart: this.formState.signingTimeStart,
             enterTimeEnd: this.formState.enterTimeEnd,
             enterTimeStart: this.formState.enterTimeStart,
-          },
+          }),
           isEnter:this.formState.signingTimeEnd ? false : true
           
         },
@@ -359,7 +359,7 @@ export default {
       this.loading = true;
 
       this.$API.business
-        .getBusinessAgentList({
+        .getBusinessElectricData({
           pageNum: this.pagination.current,
           pageSize: this.pagination.defaultPageSize,
           ...this.formState,
@@ -370,15 +370,13 @@ export default {
           if (res.data.code === 200) {
             this.loading = false;
             this.tableList = res.data.data.records;
-            this.pagination = {
-              current: res.data.data.current,
-              defaultPageSize: res.data.data.size,
-              total: res.data.data.total,
-            };
+            this.pagination.current=res.data.data.current
+              
+            this.pagination.total=res.data.data.total
           }
         });
       this.$API.business
-        .getBusinessAgentTotalList({
+        .getBusinessElectricDataTotal({
           ...this.formState,
           managementSource: 3,
           timeType:this.timeType,

+ 14 - 1
src/services/business.js

@@ -39,6 +39,7 @@ export async function getCountBusinessData(data) {
     return request("/taskStatistics/getCountBusinessData", METHOD.POST, data)
 }
 
+
 //业务数据电销订单详情
 export async function getBusinessOrderDataDetails(data) {
     return request("/taskStatistics/getBusinessOrderDataDetails", METHOD.POST, data)
@@ -48,6 +49,16 @@ export async function getBusinessOrderDataDetails(data) {
 export async function getBusinessOrderDataTotal(data) {
     return request("/taskStatistics/getBusinessOrderDataTotal", METHOD.POST, data)
 }
+//业务数据电销合计
+
+export async function getBusinessElectricData(data) {
+    return request("/taskStatistics/getBusinessElectricData", METHOD.POST, data)
+}
+//业务数据电销列表
+
+export async function getBusinessElectricDataTotal(data) {
+    return request("/taskStatistics/getBusinessElectricDataTotal", METHOD.POST, data)
+}
 
 
 
@@ -65,5 +76,7 @@ export default {
     findAgentChanellTree,
     getCountBusinessData,
     getBusinessOrderDataDetails,
-    getBusinessOrderDataTotal
+    getBusinessOrderDataTotal,
+    getBusinessElectricData,
+    getBusinessElectricDataTotal
 }