qymljy 7 月之前
父节点
当前提交
682e646084

+ 1 - 1
src/HDrpManagement/dataanalysis/components/quickDate.vue

@@ -1,5 +1,5 @@
 <template>
-  <div style="float: right">
+  <div>
     <el-button-group size="small" class="inline-24">
       <el-button :type="select === '日'?'primary':''" size="small" @click="selectQuick(1)">日</el-button>
       <el-button :type="select === '周'?'primary':''" size="small" @click="selectQuick(2)">周</el-button>

+ 4 - 1
src/HDrpManagement/dataanalysis/index.vue

@@ -30,7 +30,7 @@
           <div style="margin: auto;">
             <div class="content" >
               作业数据
-              <assignmentData ref="assignment" style="padding: 16px 2px 0px 2px" :param="dataParam" :isDep="isDep" :dataid="dataid" :isPerson="isPerson"></assignmentData>
+              <assignmentData ref="assignment" style="padding: 16px 2px 0px 2px" :param="dataParam" :isDep="isDep" :dataid="dataid" :isPerson="isPerson" @clickFull="clickFull"></assignmentData>
             </div>
             <div class="content" >
               销售数据
@@ -277,6 +277,9 @@ export default {
         this.$refs.documents.queryQuotation()
         this.$refs.documents.queryContract()
       }
+    },
+    clickFull(){
+      this.$refs.clue.$refs.addFullRef.enterFullscreen()
     }
 
   },

+ 7 - 2
src/HDrpManagement/dataanalysis/modules/assignmentData.vue

@@ -13,7 +13,7 @@
             </el-row>
             <el-row :gutter="20" class="content-title">
               <el-col :span="4">
-                <span >新增线索</span>
+                <span class="titleHover" @click="onClick('新增线索')">新增线索</span>
               </el-col>
               <el-col :span="4">
                 <span>跟进线索</span>
@@ -184,6 +184,9 @@ export default {
       /*this.param.content.dataid = this.dataid*/
       const res = await this.$api.requested(this.param)
       this.list = res.data
+    },
+    onClick(type){
+      this.$emit('clickFull',type)
     }
   },
    mounted() {
@@ -192,5 +195,7 @@ export default {
 </script>
 
 <style scoped>
-
+  .titleHover:hover{
+    color: #3874F6;
+  }
 </style>

+ 208 - 109
src/HDrpManagement/dataanalysis/modules/clue.vue

@@ -1,81 +1,90 @@
 <template>
   <div>
     <el-scrollbar >
-      <div style="margin: auto;max-height: 200px">
-        <el-row>
-          <el-col :span="8">
-            <span style="font-size: 16px;color: #333">新增线索</span>
-          </el-col>
-          <el-col :span="16">
-            <quickDate ref="quickAdd" @selectQuick="selectQuickAdd"></quickDate>
-          </el-col>
-        </el-row>
-        <tableLayout style="margin-top: 10px" :layout="tablecolsAdd" :data="listAdd" :opwidth="200" :custom="true" :height="tableHeight">
-          <template v-slot:customcol="scope">
-            <p>{{scope.column.data[scope.column.columnname]?scope.column.data[scope.column.columnname]:'--'}}</p>
-          </template>
-        </tableLayout>
-        <div class="container normal-panel" style="text-align:right">
-          <el-pagination
-              background
-              @size-change="handleSizeChangeAdd"
-              @current-change="handleCurrentChangeAdd"
-              :current-page="currentPageAdd"
-              :page-sizes="[10,20, 50, 100, 200]"
-              :page-size="10"
-              layout="total,sizes, prev, pager, next, jumper"
-              :total="totalAdd">
-          </el-pagination>
+      <div style="margin: auto;" >
+        <div id="clueAddFull" style="background: #FFFFFF" :style="{padding:isFull ?'16px':0}">
+          <div style="display: flex;justify-content: space-between">
+            <div>
+              <span style="font-size: 16px;color: #333">新增线索</span>
+            </div>
+            <div>
+              <quickDate class="inline-16" ref="quickAdd" @selectQuick="selectQuickAdd" ></quickDate>
+              <fullScreen ref="addFullRef" class="inline-16" domId="clueAddFull" @onFull="onAddFull" @backFull="backAddFull"></fullScreen>
+            </div>
+          </div>
+          <tableLayout style="margin-top: 10px" :layout="tablecolsAdd" :data="listAdd" :opwidth="200" :custom="true" :height="isFull ?'calc(100vh - 150px)':tableHeight">
+            <template v-slot:customcol="scope">
+              <p>{{scope.column.data[scope.column.columnname]?scope.column.data[scope.column.columnname]:'--'}}</p>
+            </template>
+          </tableLayout>
+          <div class="container normal-panel" style="text-align:right">
+            <el-pagination
+                background
+                @size-change="handleSizeChangeAdd"
+                @current-change="handleCurrentChangeAdd"
+                :current-page="currentPageAdd"
+                :page-sizes="isFull ?[100,150, 200, 250]:[10,20, 50, 100, 200]"
+                :page-size="isFull ?100:10"
+                layout="total,sizes, prev, pager, next, jumper"
+                :total="totalAdd">
+            </el-pagination>
+          </div>
         </div>
-        <el-row>
-          <el-col :span="8">
-            <span style="font-size: 16px;color: #333">更新线索</span>
-          </el-col>
-          <el-col :span="16">
-            <quickDate ref="quickUpd" @selectQuick="selectQuickUpd"></quickDate>
-          </el-col>
-        </el-row>
-        <tableLayout style="margin-top: 10px" :layout="tablecolsUpdate" :data="listUpdate" :opwidth="200" :custom="true" :height="tableHeight">
-          <template v-slot:customcol="scope">
-            <p>{{scope.column.data[scope.column.columnname]?scope.column.data[scope.column.columnname]:'--'}}</p>
-          </template>
-        </tableLayout>
-        <div class="container normal-panel" style="text-align:right">
-          <el-pagination
-              background
-              @size-change="handleSizeChangeUpdate"
-              @current-change="handleCurrentChangeUpdate"
-              :current-page="currentPageUpdate"
-              :page-sizes="[10,20, 50, 100, 200]"
-              :page-size="10"
-              layout="total,sizes, prev, pager, next, jumper"
-              :total="totalUpdate">
-          </el-pagination>
+        <div id="clueUpdFull" style="background: #FFFFFF" :style="{padding:isFull ?'16px':0}">
+          <div style="display: flex;justify-content: space-between">
+            <div>
+              <span style="font-size: 16px;color: #333">更新线索</span>
+            </div>
+            <div>
+              <quickDate class="inline-16" ref="quickUpd" @selectQuick="selectQuickUpd" ></quickDate>
+              <fullScreen class="inline-16" domId="clueUpdFull" @onFull="onUpdFull" @backFull="backUpdFull"></fullScreen>
+            </div>
+          </div>
+          <tableLayout style="margin-top: 10px" :layout="tablecolsUpdate" :data="listUpdate" :opwidth="200" :custom="true" :height="isFull ?'calc(100vh - 150px)':tableHeight">
+            <template v-slot:customcol="scope">
+              <p>{{scope.column.data[scope.column.columnname]?scope.column.data[scope.column.columnname]:'&#45;&#45;'}}</p>
+            </template>
+          </tableLayout>
+          <div class="container normal-panel" style="text-align:right">
+            <el-pagination
+                background
+                @size-change="handleSizeChangeUpdate"
+                @current-change="handleCurrentChangeUpdate"
+                :current-page="currentPageUpdate"
+                :page-sizes="isFull ?[100,150, 200, 250]:[10,20, 50, 100, 200]"
+                :page-size="isFull ?100:10"
+                layout="total,sizes, prev, pager, next, jumper"
+                :total="totalUpdate">
+            </el-pagination>
+          </div>
         </div>
-        <el-row>
-          <el-col :span="8">
-            <span style="font-size: 16px;color: #333">跟进线索</span>
-          </el-col>
-          <el-col :span="16">
-            <quickDate ref="quickFow" @selectQuick="selectQuickFow"></quickDate>
-          </el-col>
-        </el-row>
-        <tableLayout style="margin-top: 10px" :layout="tablecolsFollow" :data="listFollow" :opwidth="200" :custom="true" :height="tableHeight">
-          <template v-slot:customcol="scope">
-            <p>{{scope.column.data[scope.column.columnname]?scope.column.data[scope.column.columnname]:'--'}}</p>
-          </template>
-        </tableLayout>
-        <div class="container normal-panel" style="text-align:right">
-          <el-pagination
-              background
-              @size-change="handleSizeChangeFollow"
-              @current-change="handleCurrentChangeFollow"
-              :current-page="currentPageFollow"
-              :page-sizes="[10,20, 50, 100, 200]"
-              :page-size="10"
-              layout="total,sizes, prev, pager, next, jumper"
-              :total="totalFollow">
-          </el-pagination>
+        <div id="clueFollowFull" style="background: #FFFFFF" :style="{padding:isFull ?'16px':0}">
+          <div style="display: flex;justify-content: space-between">
+            <div>
+              <span style="font-size: 16px;color: #333">跟进线索</span>
+            </div>
+            <div>
+              <quickDate class="inline-16" ref="quickFow" @selectQuick="selectQuickFow" ></quickDate>
+              <fullScreen class="inline-16" domId="clueAddFull" @onFull="onFowFull" @backFull="backFowFull"></fullScreen>
+            </div>
+          </div>
+          <tableLayout style="margin-top: 10px" :layout="tablecolsFollow" :data="listFollow" :opwidth="200" :custom="true" :height="isFull ?'calc(100vh - 150px)':tableHeight">
+            <template v-slot:customcol="scope">
+              <p>{{scope.column.data[scope.column.columnname]?scope.column.data[scope.column.columnname]:'&#45;&#45;'}}</p>
+            </template>
+          </tableLayout>
+          <div class="container normal-panel" style="text-align:right">
+            <el-pagination
+                background
+                @size-change="handleSizeChangeFollow"
+                @current-change="handleCurrentChangeFollow"
+                :current-page="currentPageFollow"
+                :page-sizes="isFull ?[100,150, 200, 250]:[10,20, 50, 100, 200]"
+                :page-size="isFull?100:10"
+                layout="total,sizes, prev, pager, next, jumper"
+                :total="totalFollow">
+            </el-pagination>
+          </div>
         </div>
       </div>
 
@@ -86,10 +95,11 @@
 <script>
 import quickDate from "@/HDrpManagement/dataanalysis/components/quickDate";
 import tableLayout from '@/components/table/index9'
+import fullScreen from "@/views/salesData/components/fullScreen";
 export default {
   name: "clue",
   props:['param','isDep','dataid','isPerson'],
-  components:{quickDate,tableLayout},
+  components:{quickDate,tableLayout,fullScreen},
   data() {
     return {
       listAdd:[],
@@ -108,7 +118,9 @@ export default {
       totalFollow:0,
       begindate:'',
       enddate:'',
-      select:'周',
+      selectAdd:'周',
+      selectUpd:'周',
+      selectFow:'周',
       sort:[
         {
           reversed : 0,
@@ -122,97 +134,184 @@ export default {
           sortid: 208,
           sortname: "跟进排序"
         }
-      ]
+      ],
+      isFull:false,
+      clueAddParam:{
+        "id": 20230617143104,
+        "content": {
+          "pageNumber": 1,
+          "pageSize": 10,
+          "dataType":"1",//1 线索新增列表 2 线索更新列表 3 线索跟进列表4 客户新增列表 5 客户更新列表 6 客户跟进列表 7 项目新增列表8 项目更新列表 9 项目跟进列表 10 报价单列表 11 合同列表
+          "type":'',//0 按人搜素 1 按部门搜索
+          "dataid":"",// 人员id或部门id
+          "dateType":'',
+          "where":{
+            "begindate":"",
+            "enddate":"",
+            "isleave":"1"
+          }
+        }
+      },
+      clueUpdParam:{
+        "id": 20230617143104,
+        "content": {
+          "pageNumber": 1,
+          "pageSize": 10,
+          "dataType":"2",//1 线索新增列表 2 线索更新列表 3 线索跟进列表4 客户新增列表 5 客户更新列表 6 客户跟进列表 7 项目新增列表8 项目更新列表 9 项目跟进列表 10 报价单列表 11 合同列表
+          "type":'',//0 按人搜素 1 按部门搜索
+          "dataid":"",// 人员id或部门id
+          "dateType":'',
+          "where":{
+            "begindate":"",
+            "enddate":"",
+            "isleave":"1"
+          }
+        }
+      },
+      clueFowParam:{
+        "id": 20230617143104,
+        "content": {
+          "pageNumber": 1,
+          "pageSize": 10,
+          "dataType":"3",//1 线索新增列表 2 线索更新列表 3 线索跟进列表4 客户新增列表 5 客户更新列表 6 客户跟进列表 7 项目新增列表8 项目更新列表 9 项目跟进列表 10 报价单列表 11 合同列表
+          "type":'',//0 按人搜素 1 按部门搜索
+          "dataid":"",// 人员id或部门id
+          "dateType":'',
+          "where":{
+            "begindate":"",
+            "enddate":"",
+            "isleave":"1"
+          }
+        }
+      }
     }
   },
   methods:{
     async queryAdd(){
-     /* this.isDep ? this.param.content.type = 1: this.isPerson ? this.param.content.type = 0 : this.param.content.type = ''*/
-      this.param.content.dataType = 1
-     /* this.param.content.dataid = this.dataid*/
-      this.param.content.where.begindate = this.select ? '' :this.begindate
-      this.param.content.where.enddate = this.select ? '' : this.enddate
-      this.param.content.dateType = this.select
-      this.param.content.sort = [this.sort[0]]
-      const res = await this.$api.requested(this.param)
+      this.clueAddParam.content.dataType = 1
+      this.clueAddParam.content.where.begindate = this.selectAdd ? '' :this.begindate
+      this.clueAddParam.content.where.enddate = this.selectAdd ? '' : this.enddate
+      this.clueAddParam.content.dateType = this.selectAdd
+      this.clueAddParam.content.sort = [this.sort[0]]
+      const res = await this.$api.requested(this.clueAddParam)
       this.listAdd = res.data
       this.currentPageAdd = res.pageNumber
       this.totalAdd = res.total
     },
     handleSizeChangeAdd(val) {
       // console.log(`每页 ${val} 条`);
-      this.param.content.pageSize = val
+      this.clueAddParam.content.pageSize = val
       this.queryAdd()
     },
     handleCurrentChangeAdd(val) {
       // console.log(`当前页: ${val}`);
-      this.param.content.pageNumber = val
+      this.clueAddParam.content.pageNumber = val
       this.queryAdd()
     },
     async queryUpdate(){
-     /* this.isDep ? this.param.content.type = 1: this.isPerson ? this.param.content.type = 0 : this.param.content.type = ''*/
-      this.param.content.dataType = 2
-     /* this.param.content.dataid = this.dataid*/
-      this.param.content.where.begindate = this.select ? '' :this.begindate
-      this.param.content.where.enddate = this.select ? '' : this.enddate
-      this.param.content.dateType = this.select
-      this.param.content.sort = [this.sort[0]]
-      const res = await this.$api.requested(this.param)
+      this.clueUpdParam.content.dataType = 2
+      this.clueUpdParam.content.where.begindate = this.selectUpd ? '' :this.begindate
+      this.clueUpdParam.content.where.enddate = this.selectUpd ? '' : this.enddate
+      this.clueUpdParam.content.dateType = this.selectUpd
+      this.clueUpdParam.content.sort = [this.sort[0]]
+      const res = await this.$api.requested(this.clueUpdParam)
       this.listUpdate = res.data
       this.currentPageUpdate = res.pageNumber
       this.totalUpdate = res.total
     },
     handleSizeChangeUpdate(val) {
       // console.log(`每页 ${val} 条`);
-      this.param.content.pageSize = val
+      this.clueUpdParam.content.pageSize = val
       this.queryUpdate()
     },
     handleCurrentChangeUpdate(val) {
       // console.log(`当前页: ${val}`);
-      this.param.content.pageNumber = val
+      this.clueUpdParam.content.pageNumber = val
       this.queryUpdate()
     },
     async queryFollow(){
-     /* this.isDep ? this.param.content.type = 1: this.isPerson ? this.param.content.type = 0 : this.param.content.type = ''*/
-      this.param.content.dataType = 3
-      /*this.param.content.dataid = this.dataid*/
-      this.param.content.where.begindate = this.select ? '' :this.begindate
-      this.param.content.where.enddate = this.select ? '' : this.enddate
-      this.param.content.dateType = this.select
-      this.param.content.sort = [this.sort[1]]
-      const res = await this.$api.requested(this.param)
+      this.clueFowParam.content.dataType = 3
+      this.clueFowParam.content.where.begindate = this.selectFow ? '' :this.begindate
+      this.clueFowParam.content.where.enddate = this.selectFow ? '' : this.enddate
+      this.clueFowParam.content.dateType = this.selectFow
+      this.clueFowParam.content.sort = [this.sort[1]]
+      const res = await this.$api.requested(this.clueFowParam)
       this.listFollow = res.data
       this.currentPageFollow = res.pageNumber
       this.totalFollow = res.total
     },
     handleSizeChangeFollow(val) {
       // console.log(`每页 ${val} 条`);
-      this.param.content.pageSize = val
+      this.clueFowParam.content.pageSize = val
       this.queryFollow()
     },
     handleCurrentChangeFollow(val) {
       // console.log(`当前页: ${val}`);
-      this.param.content.pageNumber = val
+      this.clueFowParam.content.pageNumber = val
       this.queryFollow()
     },
     /*日期筛选*/
     selectQuickAdd(begindate,enddate,select){
       this.begindate = begindate
       this.enddate = enddate
-      this.select = select
+      this.selectAdd = select
       this.queryAdd(this.param.content.pageNumber = 1)
     },
     selectQuickUpd(begindate,enddate,select){
       this.begindate = begindate
       this.enddate = enddate
-      this.select = select
+      this.selectUpd = select
       this.queryUpdate(this.param.content.pageNumber = 1)
     },
     selectQuickFow(begindate,enddate,select){
       this.begindate = begindate
       this.enddate = enddate
-      this.select = select
+      this.selectFow = select
       this.queryFollow(this.param.content.pageNumber = 1)
+    },
+    /*全屏*/
+    onAddFull(){
+      this.clueAddParam.content.dataType = 1
+      this.clueAddParam.content.pageNumber = 1
+      this.clueAddParam.content.pageSize = 100
+      this.queryAdd()
+      this.isFull = true
+    },
+    onUpdFull(){
+      this.clueUpdParam.content.dataType = 2
+      this.clueUpdParam.content.pageNumber = 1
+      this.clueUpdParam.content.pageSize = 100
+      this.queryUpdate()
+      this.isFull = true
+    },
+    onFowFull(){
+      this.clueFowParam.content.dataType = 3
+      this.clueFowParam.content.pageNumber = 1
+      this.clueFowParam.content.pageSize = 100
+      this.queryFollow()
+      this.isFull = true
+    },
+    /*退出全屏*/
+    backAddFull(){
+      this.clueAddParam.content.dataType = 1
+      this.clueAddParam.content.pageNumber = 1
+      this.clueAddParam.content.pageSize = 10
+      this.queryAdd()
+      this.isFull = false
+    },
+    backUpdFull(){
+      this.clueUpdParam.content.dataType = 2
+      this.clueUpdParam.content.pageNumber = 1
+      this.clueUpdParam.content.pageSize = 10
+      this.queryUpdate()
+      this.isFull = false
+    },
+    backFowFull(){
+      this.clueFowParam.content.dataType = 3
+      this.clueFowParam.content.pageNumber = 1
+      this.clueFowParam.content.pageSize = 10
+      this.queryFollow()
+      this.isFull = false
     }
   },
   created() {

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

@@ -18,6 +18,7 @@ export default {
   methods:{
     /*全屏*/
     enterFullscreen(){
+
       this.scrollSave = this.scrollHeight
       /* 获取(<html>)元素以全屏显示页面 */
       const full = document.getElementById(this.domId)
@@ -52,6 +53,7 @@ export default {
       if (document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement) {
         // 全屏模式激活
         this.isFull = false
+        console.log('执行')
         this.$emit('onFull')
       } else {
         // 全屏模式退出