Просмотр исходного кода

销售数据、线索数据样式调整

qymljy 2 лет назад
Родитель
Сommit
d5eda4d78f

+ 12 - 4
src/views/clueData/modules/clueUnFollow.vue

@@ -24,8 +24,8 @@
     <div class="chart">
       <div id="clueUnFollowAnalysisChart" style="height: 300px;"></div>
     </div>
-    <div style="height: calc(100vh - 328px)">
-      <tableTemplate style="margin-top: 10px" ref="table" :layout="tablecols" :data="list" :opwidth="200" :custom="true" height="calc(100vh - 442px)">
+    <div :style="{height:list.length < 5 ? '373px':'974px'}">
+      <tableTemplate style="margin-top: 10px" ref="table" :layout="tablecols" :data="list" :opwidth="200" :custom="true" :height="list.length < 5 ? '242px':'842px'">
         <template v-slot:customcol="scope">
           <p v-if="scope.column.columnname === 'province'">
             {{scope.column.data.province+scope.column.data.city+scope.column.data.county}}
@@ -78,7 +78,8 @@ export default {
       list:[],
       currentPage:0,
       total:0,
-      hoverData:[]
+      hoverData:[],
+      dataidNow:''
     }
   },
   methods:{
@@ -86,8 +87,10 @@ export default {
       this.renderPie(val)
     },
     async queryTable(val){
+      console.log(val,'11111')
       this.param.content.dataid = val || this.dataid
       this.param.content.enddate = this.enddate
+      console.log(this.param,'param122')
       const res = await this.$api.requested(this.param)
       if (res.data.length === 1){
         if (res.data[0].isEmpty == 1){
@@ -107,9 +110,11 @@ export default {
 
     },
     async queryModel(val){
+      this.dataidNow = val
       this.param.content.dataid = val || this.dataid
       this.param.content.enddate = this.enddate
       this.param.content.pageNumber = 1
+      console.log(this.param,'param')
       const res = await this.$api.requested(this.param)
       if (res.data.length <=1){
         if (res.data[0].isEmpty == 1){
@@ -150,10 +155,11 @@ export default {
         this.hoverData = ev.data.items[0]
       })*/
       this.chartColumn.on('plot:click',ev=>{
+        console.log(this.dataidNow,'val')
         const states = this.chartColumn.getStates()
         this.param.content.dateType = states.length === 0 ? '':ev.data.data.key
         this.param.content.pageNumber = 1
-        this.queryTable(val)
+        this.queryTable(this.dataidNow)
       })
       this.chartColumn.render();
       this.queryModel(val)
@@ -165,12 +171,14 @@ export default {
     depSelect(val){
       this.param.content.type = 1
       this.param.content.dataid = val
+      this.dataidNow = val
       this.queryModel(val)
     },
     /*选择业务员*/
     personSelect(val){
       this.param.content.type = 0
       this.param.content.dataid = val
+      this.dataidNow = val
       this.queryModel(val)
     },
     handleSizeChange(val) {

+ 22 - 22
src/views/clueData/modules/digitalSigns.vue

@@ -11,89 +11,89 @@
           <p class="title">{{ list.dfp }}</p>
           <span class="content-font-new">待分配线索数</span>
           <el-tooltip placement="top">
-            <div slot="content-font-new">待分配线索数:公海线索应用中,待分配状态的线索数量。</div>
-            <i class="el-icon-question" style="color: #afb0be;"></i>
+            <div slot="content">待分配线索数:公海线索应用中,待分配状态的线索数量。</div>
+            <img width="14px" height="14px" src="../../../assets/icons/prompt_icon.svg" >
           </el-tooltip>
         </div>
         <div class="item">
           <p class="title">{{ list.dgj }}</p>
           <span class="content-font-new">待跟进线索数</span>
           <el-tooltip placement="top">
-            <div slot="content-font-new">待跟进线索数:销售线索应用中,已分配给业务员,待跟进状态的线索数量。</div>
-            <i class="el-icon-question" style="color: #afb0be;"></i>
+            <div slot="content">待跟进线索数:销售线索应用中,已分配给业务员,待跟进状态的线索数量。</div>
+            <img width="14px" height="14px" src="../../../assets/icons/prompt_icon.svg" >
           </el-tooltip>
         </div>
         <div class="item">
           <p class="title">{{ list.gjz }}</p>
           <span class="content-font-new">跟进中线索数</span>
           <el-tooltip placement="top">
-            <div slot="content-font-new">跟进中线索数:销售线索应用中,已分配给业务员,跟进中状态的线索数量。</div>
-            <i class="el-icon-question" style="color: #afb0be;"></i>
+            <div slot="content">跟进中线索数:销售线索应用中,已分配给业务员,跟进中状态的线索数量。</div>
+            <img width="14px" height="14px" src="../../../assets/icons/prompt_icon.svg" >
           </el-tooltip>
         </div>
         <div class="item">
           <p class="title">{{ list.yzh }}</p>
           <span class="content-font-new">已转化线索数</span>
           <el-tooltip placement="top">
-            <div slot="content-font-new">①已转化线索数:销售线索应用中,已分配给业务员,已转化状态的线索数量。<br/>
+            <div slot="content">①已转化线索数:销售线索应用中,已分配给业务员,已转化状态的线索数量。<br/>
               ②一条线索可进行两次转化:转化客户、转化项目,因此,已转化线索数≠转化客户线索数+转化项目线索数。</div>
-            <i class="el-icon-question" style="color: #afb0be;"></i>
+            <img width="14px" height="14px" src="../../../assets/icons/prompt_icon.svg" >
           </el-tooltip>
         </div>
         <div class="item">
           <p class="title">{{ list.ywx }}</p>
           <span class="content-font-new">已无效线索数</span>
           <el-tooltip placement="top">
-            <div slot="content-font-new">已无效线索数:销售线索应用中,已分配给业务员,已无效状态的线索数量。</div>
-            <i class="el-icon-question" style="color: #afb0be;"></i>
+            <div slot="content">已无效线索数:销售线索应用中,已分配给业务员,已无效状态的线索数量。</div>
+            <img width="14px" height="14px" src="../../../assets/icons/prompt_icon.svg" >
           </el-tooltip>
         </div>
         <div class="item">
           <p class="title">{{ list.ygq }}</p>
           <span class="content-font-new">已过期线索数</span>
           <el-tooltip placement="top">
-            <div slot="content-font-new">已过期线索数:公海线索应用中,未分配到期的已过期状态的线索数量。</div>
-            <i class="el-icon-question" style="color: #afb0be;"></i>
+            <div slot="content">已过期线索数:公海线索应用中,未分配到期的已过期状态的线索数量。</div>
+            <img width="14px" height="14px" src="../../../assets/icons/prompt_icon.svg" >
           </el-tooltip>
         </div>
         <div class="item">
           <p class="title">{{ Math.round(((list.gqbl * 100)*100)/100) }}%</p>
           <span class="content-font-new">过期比例</span>
           <el-tooltip placement="top">
-            <div slot="content-font-new">过期比例=已过期线索数÷待分配线索数×100%</div>
-            <i class="el-icon-question" style="color: #afb0be;"></i>
+            <div slot="content">过期比例=已过期线索数÷待分配线索数×100%</div>
+            <img width="14px" height="14px" src="../../../assets/icons/prompt_icon.svg" >
           </el-tooltip>
         </div>
         <div class="item">
           <p class="title">{{ list.covercusomers }}</p>
           <span class="content-font-new">转化客户线索数</span>
           <el-tooltip placement="top">
-            <div slot="content-font-new">转化客户线索数:统计有转化客户操作的线索数</div>
-            <i class="el-icon-question" style="color: #afb0be;"></i>
+            <div slot="content">转化客户线索数:统计有转化客户操作的线索数</div>
+            <img width="14px" height="14px" src="../../../assets/icons/prompt_icon.svg" >
           </el-tooltip>
         </div>
         <div class="item">
           <p class="title">{{ list.coverproject }}</p>
           <span class="content-font-new">转化项目线索数</span>
           <el-tooltip placement="top">
-            <div slot="content-font-new">转化客户线索数:统计有转化项目操作的线索数</div>
-            <i class="el-icon-question" style="color: #afb0be;"></i>
+            <div slot="content">转化客户线索数:统计有转化项目操作的线索数</div>
+            <img width="14px" height="14px" src="../../../assets/icons/prompt_icon.svg" >
           </el-tooltip>
         </div>
         <div class="item">
           <p class="title">{{ Math.round(((list.zhl*100)*100)/100) }}%</p>
           <span class="content-font-new">线索转化率</span>
           <el-tooltip placement="top">
-            <div slot="content-font-new">线索转化率=已转化线索数÷线索总数×100%</div>
-            <i class="el-icon-question" style="color: #afb0be;"></i>
+            <div slot="content">线索转化率=已转化线索数÷线索总数×100%</div>
+            <img width="14px" height="14px" src="../../../assets/icons/prompt_icon.svg" >
           </el-tooltip>
         </div>
         <div class="item">
           <p class="title">{{ Math.round(((list.cjl*100)*100)/100) }}%</p>
           <span class="content-font-new">线索成交率</span>
           <el-tooltip placement="top">
-            <div slot="content-font-new">线索成交率=转化后有下订单的线索数÷线索总数×100%</div>
-            <i class="el-icon-question" style="color: #afb0be;"></i>
+            <div slot="content">线索成交率=转化后有下订单的线索数÷线索总数×100%</div>
+            <img width="14px" height="14px" src="../../../assets/icons/prompt_icon.svg" >
           </el-tooltip>
         </div>
       </div>

+ 2 - 1
src/views/salesData/components/boxLine.vue

@@ -11,7 +11,8 @@
           <br/>③环比增长率:环比增长率是指本期和上期相比较的增长率,计算公式为:环比增长率 =(本期数-上期数)÷上期数 ×100%。
           <br/>④目标达成率=实际金额÷目标金额×100%
         </div>
-        <i class="el-icon-question" style="color: #afb0be;float: right"></i>
+<!--        <i class="el-icon-question" style="color: #afb0be;float: right"></i>-->
+        <img width="14px" height="14px" src="../../../assets/icons/prompt_icon.svg" style="float: right">
       </el-tooltip>
       <div class="content-new">
         <div style="width: 18%">

+ 2 - 1
src/views/salesData/components/boxLine1.vue

@@ -8,7 +8,8 @@
         <div slot="content">
           {{content}}
         </div>
-        <i class="el-icon-question" style="color: #afb0be;float: right;"></i>
+<!--        <i class="el-icon-question" style="color: #afb0be;float: right;"></i>-->
+        <img width="14px" height="14px" src="../../../assets/icons/prompt_icon.svg" style="float: right">
       </el-tooltip>
       <p style="margin: 15px 0 0 15px;font-size: 14px">
         <span v-if="(title === '账户余额' || title === '客户报价金额' || title === '项目报价金额' || title === '报价总金额') && data>= 0">¥

+ 2 - 1
src/views/salesData/components/boxLineFor.vue

@@ -8,7 +8,8 @@
         <div slot="content">
           {{content}}
         </div>
-        <i class="el-icon-question" style="color: #afb0be;float: right;margin-top: 0px"></i>
+<!--        <i class="el-icon-question" style="color: #afb0be;float: right;margin-top: 0px"></i>-->
+        <img width="14px" height="14px" src="../../../assets/icons/prompt_icon.svg" style="float: right">
       </el-tooltip>
       <p style="margin: 15px 0 0 15px;font-size: 18px">
         <span style="font-size: 14px">¥</span>

+ 2 - 0
src/views/salesData/index.vue

@@ -256,7 +256,9 @@ export default {
       this.$refs.shippingUninvoiceAnalysis.$refs.departmentSalesperson.personnelList = this.personnelList
       /*财务回款分析 */
       this.$refs.financialCollectionAnalysis.param.content.type = type
+      this.$refs.financialCollectionAnalysis.tableParam.content.type = type
       this.$refs.financialCollectionAnalysis.queryModel(dataid)
+      this.$refs.financialCollectionAnalysis.tableData(dataid)
       this.$refs.financialCollectionAnalysis.$refs.departmentSalesperson.depment = type == '1'?dataid:''
       this.$refs.financialCollectionAnalysis.$refs.departmentSalesperson.deplist = this.deplist
       this.$refs.financialCollectionAnalysis.$refs.departmentSalesperson.person = type == '0'?dataid:''

+ 3 - 3
src/views/salesData/modules/delayedShipmentAnalysis.vue

@@ -24,8 +24,8 @@
     <div class="chart">
       <div id="delayedShipmentAnalysisChart" style="height: 300px;"></div>
     </div>
-    <div>
-      <tableTemplate style="margin-top: 10px" ref="table" :layout="tablecols" :data="list" :opwidth="200" :custom="true" >
+    <div :style="{height:list.length < 5 ? '295px':'888px'}">
+      <tableTemplate style="margin-top: 10px" ref="table" :layout="tablecols" :data="list" :opwidth="200" :custom="true" :height="list.length < 5 ? '242px':'842px'">
         <template v-slot:customcol="scope">
           <p v-if="scope.column.columnname === 'province'">
             {{scope.column.data.province+scope.column.data.city+scope.column.data.county}}
@@ -63,7 +63,7 @@
           <p v-else>{{scope.column.data[scope.column.columnname]?scope.column.data[scope.column.columnname]:'--'}}</p>
         </template>
       </tableTemplate>
-      <div  class=" " style="text-align:right;float: right;margin: 10px 0 10px 0">
+      <div  class=" " style="text-align:right;float: right;margin: 10px 0 0 0">
         <el-pagination
             background
             @size-change="handleSizeChange"

+ 12 - 8
src/views/salesData/modules/financialCollectionAnalysis.vue

@@ -1,5 +1,5 @@
 <template>
-  <div class="div-new-box-new" style="margin-top: 80px;!important;">
+  <div class="div-new-box-new">
     <div class="content-new-content">
       <div class="div-line"></div>
       <div class="title"> 财务回款分析</div>
@@ -10,9 +10,9 @@
     <div class="chart">
       <div id="financialCollectionAnalysisChart" style="height: 300px;" ref="chartRef"></div>
     </div>
-<!--    <div style="font-size: 16px">{{tableParam.content.unwriteoffamounttype}}</div>-->
-    <div style="height: calc(100vh - 290px)">
-      <tableTemplate style="margin-top: 10px" ref="table" :layout="tablecols" :data="list" :opwidth="200" :custom="true" height="calc(100vh - 400px)">
+    <div style="font-size: 16px">{{tableParam.content.unwriteoffamounttype}}</div>
+    <div :style="{height:list.length < 5 ? '366px':'985px'}">
+      <tableTemplate style="margin-top: 10px" ref="table" :layout="tablecols" :data="list" :opwidth="200" :custom="true" :height="list.length < 5 ? '242px':'862px'">
         <template v-slot:customcol="scope">
           <p v-if="scope.column.columnname === 'total'">
             ¥{{tool.formatAmount(scope.column.data[scope.column.columnname],2)}}
@@ -91,7 +91,7 @@ export default {
       currentPage:0,
       total:0,
       tablecols:[],
-      hoverData:[]
+      hoverData:[],
     }
   },
   methods:{
@@ -125,7 +125,7 @@ export default {
         const states = this.chartBar.getStates();
         this.tableParam.content.unwriteoffamounttype = states.length === 0 ? '' :  ev.data.data.typr
         this.tableParam.content.pageNumber = 1
-        this.tableData(val)
+        this.tableData(this.param.content.dataid)
       })
 
       this.queryModel(val)
@@ -141,23 +141,27 @@ export default {
     depSelect(val){
       this.param.content.type = 1
       this.param.content.dataid = val
+      this.tableParam.content.type = 1
       this.queryModel(val)
+      this.tableData(val)
     },
     /*选择业务员*/
     personSelect(val){
       this.param.content.type = 0
       this.param.content.dataid = val
+      this.tableParam.content.type = 0
       this.queryModel(val)
+      this.tableData(val)
     },
     handleSizeChange(val) {
       // console.log(`每页 ${val} 条`);
       this.param.content.pageSize = val
-      this.queryTable(this.param.content.dataid)
+      this.tableData(this.param.content.dataid)
     },
     handleCurrentChange(val) {
       // console.log(`当前页: ${val}`);
       this.param.content.pageNumber = val
-      this.queryTable(this.param.content.dataid)
+      this.tableData(this.param.content.dataid)
     },
   },
   created() {

+ 1 - 1
src/views/salesData/modules/invoiceAmountAnalysis.vue

@@ -1,5 +1,5 @@
 <template>
-  <div class="div-new-box-new" style="margin-top: 80px;!important;">
+  <div class="div-new-box-new" >
     <div class="content-new-content">
       <div class="div-line"></div>
       <div class="title"> 开票金额趋势分析</div>

+ 3 - 0
src/views/salesData/modules/shippingTrendAnalysis.vue

@@ -63,6 +63,7 @@ export default {
       this.param.content.year = new Date(this.yearNow).getFullYear()
       const res = await this.$api.requested(this.param)
       const amount = res.data.map(item=>{
+        console.log(Math.round(((item.amount / 10000)*100)/100),'123453355')
         return {
           "value":Math.round(((item.amount / 10000)*100)/100),
           "date":item.date,
@@ -92,6 +93,8 @@ export default {
         }
       })
       this.list1 = tbzzl.concat(zjl)
+      console.log(this.list,'list')
+      console.log(this.list1,'list1')
       this.chartDualAxes.changeData([this.list,this.list1])
     },
     renderPie(val){

+ 2 - 2
src/views/salesData/modules/shippingUninvoiceAnalysis.vue

@@ -10,8 +10,8 @@
     <div class="chart">
       <div id="shippingUninvoiceAnalysisChart" style="height: 300px;"></div>
     </div>
-    <div>
-      <tableTemplate style="margin-top: 10px" ref="table" :layout="tablecols" :data="list" :opwidth="200" :custom="true" >
+    <div :style="{height:list.length < 5 ? '295px':'904px'}">
+      <tableTemplate style="margin-top: 10px" ref="table" :layout="tablecols" :data="list" :opwidth="200" :custom="true" :height="list.length < 5 ? '242px':'862px'">
         <template v-slot:customcol="scope">
           <p v-if="scope.column.columnname === 'total'">
                 <span v-if="scope.column.data[scope.column.columnname]">