Переглянути джерело

销售数据、线索数据调整

qymljy 1 рік тому
батько
коміт
4c625e3111

+ 6 - 4
src/views/clueData/modules/clueAdd.vue

@@ -1,10 +1,10 @@
 <template>
-  <div class="div-new-box-new">
+  <div class="div-new-box-new" id="clueAddAnalysisFull" >
     <div class="content-new-content">
       <div class="div-line"></div>
       <div class="title">近12月线索新增分析</div>
       <div style="float: right">
-        <departmentSalesperson ref="departmentSalesperson" class="inline-16" @depSelect="depSelect" @personSelect="personSelect"></departmentSalesperson>
+        <departmentSalesperson id="department" ref="departmentSalesperson" class="inline-16" @depSelect="depSelect" @personSelect="personSelect"></departmentSalesperson>
         <span class="search__label inline-16">分析日期:</span>
         <el-date-picker
             v-model="enddate"
@@ -17,23 +17,25 @@
             size="small"
             range-separator="至"
             start-placeholder="开始月份"
+            :append-to-body="false"
             end-placeholder="结束月份">
         </el-date-picker>
+<!--        <fullScreen class="inline-16" domId="clueAddAnalysisFull" ></fullScreen>-->
       </div>
     </div>
     <div class="chart">
       <div id="clueAddAnalysisChart" style="height: 400px;"></div>
     </div>
-
   </div>
 </template>
 
 <script>
 import departmentSalesperson from "@/views/salesData/components/departmentSalesperson";
+import fullScreen from "@/views/salesData/components/fullScreen";
 import {Bar, DualAxes} from "@antv/g2plot";
 export default {
   name: "clueAdd",
-  components:{departmentSalesperson},
+  components:{departmentSalesperson,fullScreen},
   props:["dataid"],
   data(){
     return {

+ 5 - 4
src/views/salesData/components/accountBalanceDetail.vue

@@ -29,7 +29,7 @@
             </div>
             <div class="mt-10 inline-16">
               <span class="search__label" >账户类型:</span>
-              <el-select v-model="accountType" placeholder="请选择" size="small" class="inline-16" @change="selectType" clearable>
+              <el-select v-model="param.content.where.accountno" placeholder="请选择" size="small" class="inline-16" @change="selectType" clearable>
                 <el-option
                     v-for="item in accountTypeList"
                     :key="item.accountname"
@@ -71,10 +71,10 @@
               <span v-else>--</span>
             </p>
             <p v-else-if="scope.column.columnname === 'balance'">
-              {{tool.formatAmount(scope.column.data[scope.column.columnname],2)}}
+              ¥{{tool.formatAmount(scope.column.data[scope.column.columnname],2)}}
             </p>
             <p v-else-if="scope.column.columnname === 'creditquota'">
-              {{tool.formatAmount(scope.column.data[scope.column.columnname],2)}}
+              ¥{{tool.formatAmount(scope.column.data[scope.column.columnname],2)}}
             </p>
             <p v-else>{{scope.column.data[scope.column.columnname]?scope.column.data[scope.column.columnname]:'--'}}</p>
           </template>
@@ -111,7 +111,7 @@ import tableTemplate from './table';
 import balanceDetail from "@/views/salesData/components/balanceDetail";
 export default {
   name: "accountBalanceDetail.vue",
-  props:['type','dataid','enddate'],
+  props:['type','dataid','enddate','accountno'],
   components:{tableTemplate,balanceDetail},
   data(){
     return {
@@ -155,6 +155,7 @@ export default {
     showVisible(){
       this.visible = true
       this.nowEndDate = this.enddate
+      this.param.content.where.accountno = this.accountno
       this.listData(this.type,this.dataid,this.nowEndDate)
       this.getAccountType()
       this.queryDep()

+ 9 - 9
src/views/salesData/components/boxLine.vue

@@ -47,21 +47,21 @@
               <i class="el-icon-caret-bottom" style="color: red"></i><span class="box-size-color">{{Math.round((list.tbxsje * 100)*100)/100}}%</span>
             </p>
             <p class="box-title" style="color: #929292" v-if="list.hbxsje > 0">
-              <span v-if="param.content.dateType == '本年'">年比</span>
-              <span v-else-if="param.content.dateType == '本季'">季比</span>
-              <span v-else-if="param.content.dateType == '本月'">月比</span>
+              <span v-if="param.content.dateType == '本年'">年比</span>
+              <span v-else-if="param.content.dateType == '本季'">季比</span>
+              <span v-else-if="param.content.dateType == '本月'">月比</span>
               <i class="el-icon-caret-bottom" style="color: #2ad72a"></i><span class="box-size-color">{{Math.round((list.hbxsje * 100)*100)/100}}%</span>
             </p>
             <p class="box-title" style="color: #929292" v-if="list.hbxsje == 0">
-              <span v-if="param.content.dateType == '本年'">年比</span>
-              <span v-else-if="param.content.dateType == '本季'">季比</span>
-              <span v-else-if="param.content.dateType == '本月'">月比</span>
+              <span v-if="param.content.dateType == '本年'">年比</span>
+              <span v-else-if="param.content.dateType == '本季'">季比</span>
+              <span v-else-if="param.content.dateType == '本月'">月比</span>
               <span class="box-size-color" style="margin-left: 10px">{{Math.round((list.hbxsje * 100)*100)/100}}%</span>
             </p>
             <p class="box-title" style="color: #929292" v-if="list.hbxsje < 0">
-              <span v-if="param.content.dateType == '本年'">年比</span>
-              <span v-else-if="param.content.dateType == '本季'">季比</span>
-              <span v-else-if="param.content.dateType == '本月'">月比</span>
+              <span v-if="param.content.dateType == '本年'">年比</span>
+              <span v-else-if="param.content.dateType == '本季'">季比</span>
+              <span v-else-if="param.content.dateType == '本月'">月比</span>
               <i class="el-icon-caret-bottom" style="color: red"></i><span class="box-size-color">{{Math.round((list.hbxsje * 100)*100)/100}}%</span>
             </p>
           </div>

+ 3 - 2
src/views/salesData/components/departmentSalesperson.vue

@@ -1,11 +1,12 @@
 <template>
   <div>
     <span class="search__label inline-16">部门:</span>
-    <el-cascader class="inline-16" ref="selectdep" size="small" v-model="depment" :options="deplist" :props="{emitPath:true,expandTrigger:'hover',checkStrictly:true,label:'label',value:'departmentid',children:'children'}"  @change="selectDep" ></el-cascader>
+    <el-cascader  class="inline-16" ref="selectdep" size="small" v-model="depment" :options="deplist" :props="{emitPath:true,expandTrigger:'hover',checkStrictly:true,label:'label',value:'departmentid',children:'children'}"  @change="selectDep" ></el-cascader>
     <span class="search__label inline-16">业务员:</span>
-    <el-select v-model="person" filterable placeholder="请选择" size="small"  @change="selectPerson" >
+    <el-select  v-model="person" filterable placeholder="请选择" size="small"  @change="selectPerson" >
       <el-option
           v-for="item in personnelList"
+          :popper-append-to-body="false"
           :key="item.index"
           :label="item.name"
           :value="item.userid">

+ 2 - 2
src/views/salesData/components/fullScreen.vue

@@ -1,6 +1,6 @@
 <template>
-  <div style="height: 35px">
-    <img style="width: 16px; height: 16px;margin: 0 0 -5px 16px" @click="enterFullscreen" src="@/assets/icons/fullScroll.svg" title="全屏">
+  <div style="height: 35px" ref="fullScreen">
+    <img style="width: 16px; height: 16px;vertical-align: middle" @click="enterFullscreen" src="@/assets/icons/fullScroll.svg" title="全屏">
   </div>
 </template>
 

+ 3 - 4
src/views/salesData/components/shippingUninvoiceDetail.vue

@@ -60,8 +60,7 @@
               <span style="color: #333333;font-size: 16px">订单行数:</span><span style="color:red;font-size: 16px;margin-right: 10px">{{orderitemsqty}}</span>
               <span style="color: #333333;font-size: 16px">订单总金额:</span><span style="color:red;font-size: 16px;margin-right: 10px">¥{{tool.formatAmount(totalamount,2)}}</span>
               <span style="color: #333333;font-size: 16px">出货总金额:</span><span style="color:red;font-size: 16px;margin-right: 10px">¥{{tool.formatAmount(totaloutOrderamount,2)}}</span>
-              <span style="color: #333333;font-size: 16px">开票总金额:</span><span style="color:red;font-size: 16px;margin-right: 10px">¥{{tool.formatAmount(totalinvoiceamount,2)}}</span>
-              <span style="color: #333333;font-size: 16px">未核销总金额:</span><span style="color:red;font-size: 16px;margin-right: 10px">¥{{tool.formatAmount(totalunwriteoffamount,2)}}</span>
+              <span style="color: #333333;font-size: 16px">出货未开票总金额:</span><span style="color:red;font-size: 16px;margin-right: 10px">¥{{tool.formatAmount(totalunInvoiceamount,2)}}</span>
             </div>
             <div  style="text-align:right;float: right;">
               <el-pagination
@@ -115,7 +114,7 @@ export default {
       "totalamount": 0,//总金额
       "totaloutOrderamount": 0,//总出货金额
       "totalinvoiceamount": 0,//总开票金额
-      "totalunwriteoffamount": 0,//总未核销金额
+      "totalunInvoiceamount": 0,//总未核销金额
     }
   },
   methods:{
@@ -137,7 +136,7 @@ export default {
       this.totalamount = res.data[0].totalamount
       this.totaloutOrderamount = res.data[0].totaloutOrderamount
       this.totalinvoiceamount = res.data[0].totalinvoiceamount
-      this.totalunwriteoffamount = res.data[0].totalunwriteoffamount
+      this.totalunInvoiceamount = res.data[0].totalunInvoiceamount
     },
     handleSizeChange(val) {
       // console.log(`每页 ${val} 条`);

+ 58 - 16
src/views/salesData/modules/customerAccountBalanceAnalysis.vue

@@ -12,6 +12,15 @@
         <div style="float: left">近12月客户账户余额分析</div>
         <div style="float: right">
           <departmentSalesperson ref="departmentSalesperson" class="inline-16" @depSelect="depSelect" @personSelect="personSelect"></departmentSalesperson>
+          <span class="search__label inline-16">账户类型:</span>
+          <el-select v-model="param.content.accountno" placeholder="请选择账户类型" size="small" class="inline-16">
+            <el-option
+                v-for="item in accountList"
+                :key="item.rowindex"
+                :label="item.accountname"
+                :value="item.accountno">
+            </el-option>
+          </el-select>
           <span class="search__label inline-16">分析日期:</span>
           <el-date-picker
               v-model="endDate"
@@ -26,7 +35,7 @@
               start-placeholder="开始月份"
               end-placeholder="结束月份">
           </el-date-picker>
-          <accountBalanceDetail ref="accountBalanceDetail" :type="param.content.type" :dataid="param.content.dataid" :enddate="param.content.enddate"></accountBalanceDetail>
+          <accountBalanceDetail ref="accountBalanceDetail" :type="param.content.type" :dataid="param.content.dataid" :enddate="param.content.enddate" :accountno="param.content.accountno"></accountBalanceDetail>
         </div>
       </div>
       <div style="height: 400px;position: relative;">
@@ -67,7 +76,8 @@ export default {
         "content": {
           "type": "0", //0 人员 1 部门
           "dataid": "",
-          "enddate":""
+          "enddate":"",
+          "accountno":""
         }
       },
       balance:[],
@@ -77,7 +87,19 @@ export default {
       oldbalance:[],
       newbalance:[],
       newList:[],
-      accountList:[]
+      accountList:[],
+      accountParam:{
+        "content":{
+          "isExport":0,
+          "pageNumber":1,
+          "pageSize":100,
+          "where":
+              {
+                "condition":""
+              }
+        },
+        "id":20221008134803
+      }
       /*windowWidth: document.documentElement.clientWidth,  //实时屏幕宽度*/
     }
   },
@@ -122,13 +144,24 @@ export default {
             geometry: 'line',
             isGroup: true,
             seriesField: 'name',
+           /* label: {
+              layout: [{ type: 'hide-overlap' }], // 隐藏重叠label
+              style: {
+                textAlign: 'right',
+              },
+              formatter: (item) => item.value,
+            },*/
           },
           {
             geometry: 'line',
             seriesField: 'name',
-            lineStyle: {
-              lineWidth: 2,
-            },
+          /*  label: {
+              layout: [{ type: 'hide-overlap' }], // 隐藏重叠label
+              style: {
+                textAlign: 'right',
+              },
+              formatter: (item) => item.value,
+            },*/
           },
         ],
         tooltip: {
@@ -158,18 +191,27 @@ export default {
       this.param.content.type = 0
       this.param.content.dataid = val
       this.queryModel(val)
+    },
+    /*账户类型*/
+    async accountData(){
+      const res = await this.$api.requested(this.accountParam)
+      this.accountList = res.data
+      this.param.content.accountno = res.data[0].accountno
     }
   },
- /* mounted() {
-    var that = this;
-    // <!--把window.onresize事件挂在到mounted函数上-->
-    window.onresize = () => {
-      return (() => {
-        window.fullWidth = document.documentElement.clientWidth;
-        that.windowWidth = window.fullWidth; // 宽
-      })
-    };
-  }*/
+  mounted() {
+    this.accountData()
+  }
+  /* mounted() {
+     var that = this;
+     // <!--把window.onresize事件挂在到mounted函数上-->
+     window.onresize = () => {
+       return (() => {
+         window.fullWidth = document.documentElement.clientWidth;
+         that.windowWidth = window.fullWidth; // 宽
+       })
+     };
+   }*/
 }
 </script>