浏览代码

作业看板

qymljy 1 年之前
父节点
当前提交
4b5a50b610

+ 3 - 3
src/Form/marketing2/agent/add.vue

@@ -140,7 +140,7 @@
           </el-col>
           <el-col :span="12">
             <el-form-item label="是否授权所有标准:" style="height:51px" prop="standardsauth" label-width="160px">
-              <el-checkbox v-model="form.standardsauth" :true-label="0" :false-label="1"></el-checkbox>
+              <el-checkbox v-model="form.standardsauth" :true-label="1" :false-label="0"></el-checkbox>
             </el-form-item>
           </el-col>
           <el-col :span="12">
@@ -387,7 +387,7 @@ export default {
       }
     }
   },
-  
+
 }
 
 </script>
@@ -414,4 +414,4 @@ export default {
   line-height: 34px;
   /* font-weight: 500; */
 }
-</style>
+</style>

+ 1 - 1
src/Form/marketing2/agent/edit.vue

@@ -153,7 +153,7 @@
             </el-col>
             <el-col :span="12">
             <el-form-item label="是否授权所有标准:" style="height:51px" prop="standardsauth" label-width="160px">
-              <el-checkbox v-model="form.standardsauth" :true-label="0" :false-label="1"></el-checkbox>
+              <el-checkbox v-model="form.standardsauth" :true-label="1" :false-label="0"></el-checkbox>
             </el-form-item>
           </el-col>
             <el-col :span="12">

+ 5 - 3
src/HDrpManagement/dataanalysis/components/border.vue

@@ -1,5 +1,7 @@
 <template>
-  <div :style="style"></div>
+  <div :style="style">
+    <slot name="content"></slot>
+  </div>
 </template>
 
 <script>
@@ -10,9 +12,9 @@ export default {
       style:{
         width:'100%',
         borderRadius:'5px',
-        height:'200px',
+        height:'100px',
         border:'1px',
-        boxShadow:'0 0 10px 0 #888888'
+        boxShadow:'0 0 5px 0 #888888'
       }
     }
   }

+ 147 - 0
src/HDrpManagement/dataanalysis/components/quickDate.vue

@@ -0,0 +1,147 @@
+<template>
+  <div style="float: right">
+    <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>
+      <el-button :type="select === '月'?'primary':''" size="small" @click="selectQuick(3)">月</el-button>
+      <el-button :type="select === '年'?'primary':''" size="small" @click="selectQuick(4)">年</el-button>
+    </el-button-group>
+    <span style="font-size: 13px">时间:</span>
+    <el-date-picker
+        value-format="yyyy-MM-dd"
+        @change="selectDate"
+        size="small"
+        v-model="value"
+        type="daterange"
+        range-separator="至"
+        start-placeholder="开始日期"
+        end-placeholder="结束日期">
+    </el-date-picker>
+  </div>
+</template>
+
+<script>
+export default {
+  name: "quickDate",
+  data(){
+    return {
+      select:'周',
+      value:'',
+      begindate:'',
+      enddate:''
+    }
+  },
+  methods:{
+    selectQuick(val){
+      this.value = ''
+      this.begindate = ''
+      this.enddate = ''
+      if (val === 1){
+        this.select = '日'
+        var year = new Date().getFullYear()
+        var month = new Date().getMonth()+1;
+        var day = new Date().getDate();
+        this.begindate = year + '-' + month + '-' + day
+        this.enddate = year + '-' + month + '-' + day
+      }else if (val === 2){
+        this.select = '周'
+        this.getMonday('s')
+        this.getMonday('e')
+      }else if (val === 3){
+        this.select = '月'
+        this.getMonth('s')
+        this.getMonth('e')
+      }else if (val === 4){
+        this.select = '年'
+        this.getYear('s')
+        this.getYear('e')
+      }else {
+        this.select = ''
+      }
+      this.$emit('selectQuick',this.begindate,this.enddate)
+    },
+    getMonday(type, dates) {
+      var now = new Date()
+      var nowTime = now.getTime()
+      var day = now.getDay()
+      var longTime = 24 * 60 * 60 * 1000
+      var n = longTime * 7 * (dates || 0)
+      if (type == "s") {
+        var dd = nowTime - (day - 1) * longTime + n
+      }
+      if (type == "e") {
+        var dd = nowTime + (7 - day) * longTime + n
+      }
+      dd = new Date(dd)
+      var y = dd.getFullYear()
+      var m = dd.getMonth() + 1
+      var d = dd.getDate();
+      m = m < 10 ? "0" + m: m
+      d = d < 10 ? "0" + d: d
+      var day = y + "-" + m + "-" + d
+      type == 's'?this.begindate = day : this.enddate = day
+    },
+    getMonth(type, months) {
+      var d = new Date();
+      var year = d.getFullYear()
+      var month = d.getMonth() + 1
+      month = month < 10 ? "0" + month: month
+      var date = d.getDate();
+      var firstday = year + "-" + month + "-" + "01"
+      var lastday = ""
+      if (month == "01" || month == "03" || month == "05" || month == "07" || month == "08" || month == "10" || month == "12") {
+        lastday = year + "-" + month + "-" + 31
+      } else if (month == "02") {
+        if ((year % 4 == 0 && year % 100 != 0) || (year % 100 == 0 && year % 400 == 0)) {
+          lastday = year + "-" + month + "-" + 29
+        } else {
+          lastday = year + "-" + month + "-" + 28
+        }
+      } else {
+        lastday = year + "-" + month + "-" + 30
+      }
+      var day = ""
+      if (type == "s") {
+        day = firstday
+        this.begindate = firstday
+      } else {
+        day = lastday
+        this.enddate = lastday
+      }
+    },
+    getYear(type, dates) {
+      var dd = new Date()
+      var n = dates || 0
+      var year = dd.getFullYear() + Number(n)
+      if (type == "s") {
+        var day = year + "-01-01"
+      }
+      if (type == "e") {
+        var day = year + "-12-31"
+      }
+      if (!type) {
+        var day = year + "-01-01/" + year + "-12-31"
+      }
+      type == 's'?this.begindate = day : this.enddate = day
+    },
+    selectDate(){
+      this.begindate = ''
+      this.enddate = ''
+      if (this.value){
+        this.select = ''
+        this.begindate = this.value[0]
+        this.enddate = this.value[1]
+      }else {
+        this.select = '周'
+        this.getMonday('s')
+        this.getMonday('e')
+      }
+      this.$emit('selectQuick',this.begindate,this.enddate)
+    }
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 151 - 25
src/HDrpManagement/dataanalysis/index.vue

@@ -1,7 +1,10 @@
 <template>
-<!--  <normalLayout>
+  <normalLayout>
+    <template #refresh>
+      <i class="el-icon-refresh-right" @click="refresh"></i>
+    </template>
     <template #content>
-      <div style="padding: 20px">
+      <div style="padding: 20px;">
         <div class="mt-10">
           <label  class="search__label" >范围:</label>
           <el-popover
@@ -12,39 +15,69 @@
               trigger="click">
             <el-tabs v-model="activeName" @tab-click="handleClick">
               <el-tab-pane label="部门" name="部门">
-                <el-cascader-panel ref="selectdep" :options="deplist" :props="{label:'label',value:'departmentid',children:'subdep'}"  emitPath="true" @change="selectDep"></el-cascader-panel>
+                <el-cascader-panel ref="selectdep" :options="deplist" :props="{label:'label',value:'departmentid',children:'subdep'}"  emitPath="true" @change="selectDep" clearable></el-cascader-panel>
               </el-tab-pane>
               <el-tab-pane label="人员" name="人员">
-                <el-cascader-panel ref="selectPerson" :options="personnelList" :props="{label:'name',value:'userid',children:''}"  emitPath="true" @change="selectPerson"></el-cascader-panel>
+                <el-cascader-panel ref="selectPerson" :options="personnelList" :props="{label:'name',value:'userid'}"  emitPath="true" @change="selectPerson" clearable></el-cascader-panel>
               </el-tab-pane>
             </el-tabs>
-            <el-input style="width: 200px" size="small" slot="reference" v-model="range" placeholder="请选择"></el-input>
+            <el-input style="width: 200px" size="small" slot="reference" v-model="range" placeholder="请选择" @input="departmentrtment"></el-input>
           </el-popover>
-
-        </div>
-        <div class="content">
-          作业数据
-          <assignmentData></assignmentData>
-        </div>
-        <div class="content">
-          销售数据
-        </div>
-        <div class="content">
-          业绩数据
         </div>
+        <el-scrollbar >
+          <div style="margin: auto;min-width: 1400px;height: calc(100vh - 270px)">
+            <div class="content" >
+              作业数据
+              <assignmentData ref="assignment" style="padding: 16px 2px 16px 2px" :param="dataParam" :isDep="isDep" :dataid="dataid" :isPerson="isPerson"></assignmentData>
+            </div>
+            <div class="content" >
+              销售数据
+              <salesData style="padding: 16px 2px 16px 2px" ref="sales"  :param="dataParam" :isDep="isDep" :dataid="dataid" :isPerson="isPerson"></salesData>
+            </div>
+            <div class="content" >
+              业绩数据
+              <performanceData style="padding: 0px 2px 0px 2px" ref="performance" :param="dataParam" :isDep="isDep" :dataid="dataid" :isPerson="isPerson"></performanceData>
+            </div>
+            <el-tabs v-model="tabName" @tab-click="handleClickTab" style="margin-top: 16px">
+              <el-tab-pane label="线索" name="线索">
+                <clue ref="clue" :param="tableParam" :isDep="isDep" :dataid="dataid" :isPerson="isPerson"></clue>
+              </el-tab-pane>
+              <el-tab-pane label="客户" name="客户">
+                <customer ref="customer" :param="tableParam" :isDep="isDep" :dataid="dataid" :isPerson="isPerson"></customer>
+              </el-tab-pane>
+              <el-tab-pane label="项目商机" name="项目商机">
+                <project ref="project" :param="tableParam" :isDep="isDep" :dataid="dataid" :isPerson="isPerson"></project>
+              </el-tab-pane>
+              <el-tab-pane label="作业单据" name="作业单据">
+                <documents ref="documents" :param="tableParam" :isDep="isDep" :dataid="dataid" :isPerson="isPerson"></documents>
+              </el-tab-pane>
+            </el-tabs>
+          </div>
+        </el-scrollbar>
+
       </div>
 
     </template>
-  </normalLayout>-->
+  </normalLayout>
 </template>
 
 <script>
 import assignmentData from './modules/assignmentData'
+import salesData from './modules/salesData'
+import performanceData from './modules/performanceData'
+import clue from './modules/clue'
+import customer from './modules/customer'
+import project from './modules/project'
+import documents from './modules/documents'
 export default {
   name: "index",
   data(){
     return {
+      tabName: '线索',
+      isDep:false,
+      isPerson:false,
       activeName: '部门',
+      dataid:'',
       range:'',
       pointValue:'',
       visible:false,
@@ -54,18 +87,62 @@ export default {
         "id": 20230620102004,
         "content": {
         }
+      },
+      dataParam:{
+        "id": 20230616131404,
+        "content": {
+          "dataType":"", // 1 作业数据 2 销售数据 3业绩数据
+          "type":'', // 0 按人搜素 1 按部门搜索
+          "dataid":"" // 人员id或部门id
+        }
+      },
+      tableParam:{
+        "id": 20230617143104,
+        "content": {
+          "pageNumber": 1,
+          "pageSize": 10,
+          "dataType":"",//1 线索新增列表 2 线索更新列表 3 线索跟进列表4 客户新增列表 5 客户更新列表 6 客户跟进列表 7 项目新增列表8 项目更新列表 9 项目跟进列表 10 报价单列表 11 合同列表
+          "type":'',//0 按人搜素 1 按部门搜索
+          "dataid":"",// 人员id或部门id
+          "where":{
+            "begindate":"",
+            "enddate":""
+          }
+        }
       }
     }
   },
   components:{
-    assignmentData
+    assignmentData,salesData,performanceData,clue,customer,project,documents
   },
   methods:{
     async departmentrtment() {
       const res = await this.$api.requested(this.depmentParam)
-      console.log(res,'部门')
       this.deplist = this.createMenu(res.data.dep)
       this.personnelList = res.data.hr
+      this.$refs.assignment.queryList()
+      this.$refs.sales.queryList()
+      this.$refs.performance.queryList()
+      this.$refs.clue.queryAdd()
+      this.$refs.clue.queryUpdate()
+      this.$refs.clue.queryFollow()
+    },
+    refresh(){
+      this.dataParam.content.type = ''
+      this.dataParam.content.dataid = ''
+      this.tableParam.content.type = ''
+      this.tableParam.content.dataid = ''
+      this.range = ''
+      this.dataid = ''
+      this.$refs.assignment.queryList()
+      this.$refs.sales.queryList()
+      this.$refs.performance.queryList()
+      this.$refs.clue.$refs.quickAdd.select = '周'
+      this.$refs.clue.$refs.quickUpd.select = '周'
+      this.$refs.clue.$refs.quickFow.select = '周'
+      this.$refs.clue.queryAdd()
+      this.$refs.clue.queryUpdate()
+      this.$refs.clue.queryFollow()
     },
     createMenu (array) {
       var that = this
@@ -103,20 +180,69 @@ export default {
       });
       return arr
     },
-    selectDep  (data) {
-      this.$refs.selectdep.getCheckedNodes(true)
-      console.log(this.$refs.selectdep.getCheckedNodes(true))
-      this.range = this.$refs.selectdep.getCheckedNodes(true)[0].label
+    selectDep() {
+      let dataDep = this.$refs.selectdep.getCheckedNodes(true)[0].data
+      this.range = dataDep.label
+     /* this.isDep = true
+      this.isPerson = false*/
+      this.dataid = dataDep.departmentid
+      this.dataParam.content.type = 1
+      this.dataParam.content.dataid = this.dataid
+      this.tableParam.content.type = 1
+      this.tableParam.content.dataid = this.dataid
       this.visible = false
+      this.$refs.assignment.queryList()
+      this.$refs.sales.queryList()
+      this.$refs.performance.queryList()
+      this.$refs.clue.queryAdd()
+      this.$refs.clue.queryUpdate()
+      this.$refs.clue.queryFollow()
+      this.$refs.selectPerson.clearCheckedNodes()
     },
     selectPerson(){
-      this.$refs.selectPerson.getCheckedNodes(true)
-      this.range = this.$refs.selectPerson.getCheckedNodes(true)[0].label
+      let dataperson = this.$refs.selectPerson.getCheckedNodes(true)[0].data
+      this.range = dataperson.name
+    /*  this.isDep = false
+      this.isPerson = true*/
+
+      this.dataid = dataperson.userid
+      this.dataParam.content.type = 0
+      this.dataParam.content.dataid = this.dataid
+      this.tableParam.content.type = 0
+      this.tableParam.content.dataid = this.dataid
+      console.log(this.dataid)
       this.visible = false
+
+      this.$refs.assignment.queryList()
+      this.$refs.sales.queryList()
+      this.$refs.performance.queryList()
+      this.$refs.clue.queryAdd()
+      this.$refs.clue.queryUpdate()
+      this.$refs.clue.queryFollow()
+      this.$refs.selectdep.clearCheckedNodes()
     },
     handleClick(tab, event) {
       console.log(tab, event);
     },
+    handleClickTab() {
+      console.log(this.tabName);
+      if (this.tabName === '线索'){
+        this.$refs.clue.queryAdd()
+        this.$refs.clue.queryUpdate()
+        this.$refs.clue.queryFollow()
+      }else if (this.tabName === '客户'){
+        this.$refs.customer.queryAdd()
+        this.$refs.customer.queryUpdate()
+        this.$refs.customer.queryFollow()
+      }else if (this.tabName === '项目商机'){
+        this.$refs.project.queryAdd()
+        this.$refs.project.queryUpdate()
+        this.$refs.project.queryFollow()
+      }else if (this.tabName === '作业单据'){
+        this.$refs.documents.queryQuotation()
+        this.$refs.documents.queryContract()
+      }
+    }
 
   },
   mounted() {

+ 139 - 4
src/HDrpManagement/dataanalysis/modules/assignmentData.vue

@@ -1,6 +1,130 @@
 <template>
   <div>
-    <borderTemp></borderTemp>
+    <el-row :gutter="20">
+      <el-col :span="8">
+        <borderTemp>
+          <template #content>
+            <el-row>
+              <el-col :span="10" :offset="6">
+                 <el-divider>
+                   <span class="title-font">本周</span>
+                 </el-divider>
+              </el-col>
+            </el-row>
+            <el-row :gutter="20" class="content-title">
+              <el-col :span="6">
+                <span >本周新增客户数</span>
+              </el-col>
+              <el-col :span="6">
+                <span>本周客户更进次数</span>
+              </el-col>
+              <el-col :span="6">
+                <span>本周新增项目数</span>
+              </el-col>
+              <el-col :span="6">
+                <span>本周项目更进次数</span>
+              </el-col>
+            </el-row>
+            <el-row :gutter="20" class="content-title">
+              <el-col :span="6">
+                <span class="title-font" style="color: #3874F6">{{list.bzkhxz}}</span>
+              </el-col>
+              <el-col :span="6">
+                <span class="title-font" style="color: #16BDFF">{{list.bzkhgj}}</span>
+              </el-col>
+              <el-col :span="6">
+                <span class="title-font" style="color: #F09E00">{{list.bzxmxz}}</span>
+              </el-col>
+              <el-col :span="6">
+                <span class="title-font" style="color: #FF7602">{{list.bzxmgj}}</span>
+              </el-col>
+            </el-row>
+          </template>
+        </borderTemp>
+      </el-col>
+      <el-col :span="8">
+        <borderTemp>
+          <template #content>
+            <el-row>
+              <el-col :span="10" :offset="6">
+                <el-divider>
+                  <span class="title-font">本月</span>
+                </el-divider>
+              </el-col>
+            </el-row>
+            <el-row :gutter="20" class="content-title">
+              <el-col :span="6">
+                <span >本月新增客户数</span>
+              </el-col>
+              <el-col :span="6">
+                <span>本月客户更进次数</span>
+              </el-col>
+              <el-col :span="6">
+                <span>本月新增项目数</span>
+              </el-col>
+              <el-col :span="6">
+                <span>本月项目更进次数</span>
+              </el-col>
+            </el-row>
+            <el-row :gutter="20" class="content-title">
+              <el-col :span="6">
+                <span class="title-font" style="color: #3874F6">{{list.bykhxz}}</span>
+              </el-col>
+              <el-col :span="6">
+                <span class="title-font" style="color: #16BDFF">{{list.bykhgj}}</span>
+              </el-col>
+              <el-col :span="6">
+                <span class="title-font" style="color: #F09E00">{{list.byxmxz}}</span>
+              </el-col>
+              <el-col :span="6">
+                <span class="title-font" style="color: #FF7602">{{list.byxmgj}}</span>
+              </el-col>
+            </el-row>
+          </template>
+        </borderTemp>
+      </el-col>
+      <el-col :span="8">
+        <borderTemp>
+          <template #content>
+            <el-row>
+              <el-col :span="10" :offset="6">
+                <el-divider>
+                  <span class="title-font">本年</span>
+                </el-divider>
+              </el-col>
+            </el-row>
+            <el-row :gutter="20" class="content-title">
+              <el-col :span="6">
+                <span >本年新增客户数</span>
+              </el-col>
+              <el-col :span="6">
+                <span>本年客户更进次数</span>
+              </el-col>
+              <el-col :span="6">
+                <span>本年新增项目数</span>
+              </el-col>
+              <el-col :span="6">
+                <span>本年项目更进次数</span>
+              </el-col>
+            </el-row>
+            <el-row :gutter="20" class="content-title">
+              <el-col :span="6">
+                <span class="title-font" style="color: #3874F6">{{list.bnkhxz}}</span>
+              </el-col>
+              <el-col :span="6">
+                <span class="title-font" style="color: #16BDFF">{{list.bnkhgj}}</span>
+              </el-col>
+              <el-col :span="6">
+                <span class="title-font" style="color: #F09E00">{{list.bnxmxz}}</span>
+              </el-col>
+              <el-col :span="6">
+                <span class="title-font" style="color: #FF7602">{{list.bnxmgj}}</span>
+              </el-col>
+            </el-row>
+          </template>
+        </borderTemp>
+      </el-col>
+    </el-row>
   </div>
 </template>
 
@@ -8,16 +132,27 @@
 import borderTemp from '../components/border'
 export default {
   name: "assignmentData",
+  props:['param','isDep','dataid','isPerson'],
   data() {
     return {
       list:'',
-      param:{
-
-      }
     }
   },
   components:{
     borderTemp
+  },
+  methods:{
+    async queryList(){
+     /* 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*/
+      console.log(this.param)
+      const res = await this.$api.requested(this.param)
+      this.list = res.data
+      console.log(this.list,'作业数据')
+    }
+  },
+   mounted() {
   }
 }
 </script>

+ 202 - 0
src/HDrpManagement/dataanalysis/modules/clue.vue

@@ -0,0 +1,202 @@
+<template>
+  <div>
+    <el-scrollbar >
+      <div style="margin: auto;max-height: 200px">
+        <el-row>
+          <el-col :span="12">
+            <span style="font-size: 16px;color: #333">新增线索</span>
+          </el-col>
+          <el-col :span="12">
+            <quickDate ref="quickAdd" @selectQuick="selectQuickAdd"></quickDate>
+          </el-col>
+        </el-row>
+        <tableLayout style="margin-top: 10px" :layout="tablecolsAdd" :data="listAdd" :opwidth="200" :custom="true" :height="tableHieght">
+          <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>
+        <el-row>
+          <el-col :span="12">
+            <span style="font-size: 16px;color: #333">更新线索</span>
+          </el-col>
+          <el-col :span="12">
+            <quickDate ref="quickUpd" @selectQuick="selectQuickUpd"></quickDate>
+          </el-col>
+        </el-row>
+        <tableLayout style="margin-top: 10px" :layout="tablecolsUpdate" :data="listUpdate" :opwidth="200" :custom="true" :height="tableHieght">
+          <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>
+        <el-row>
+          <el-col :span="12">
+            <span style="font-size: 16px;color: #333">跟进线索</span>
+          </el-col>
+          <el-col :span="12">
+            <quickDate ref="quickFow" @selectQuick="selectQuickFow"></quickDate>
+          </el-col>
+        </el-row>
+        <tableLayout style="margin-top: 10px" :layout="tablecolsFollow" :data="listFollow" :opwidth="200" :custom="true" :height="tableHieght">
+          <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>
+      </div>
+
+    </el-scrollbar>
+  </div>
+</template>
+
+<script>
+import quickDate from "@/HDrpManagement/dataanalysis/components/quickDate";
+export default {
+  name: "clue",
+  props:['param','isDep','dataid','isPerson'],
+  components:{quickDate},
+  data() {
+    return {
+      listAdd:[],
+      tablecolsAdd:[],
+      listUpdate:[],
+      tablecolsUpdate:[],
+      tableHieght:'50px',
+      currentPageAdd:0,
+      totalAdd:0,
+      currentPageUpdate:0,
+      totalUpdate:0,
+      listFollow:[],
+      tablecolsFollow:[],
+      currentPageFollow:0,
+      totalFollow:0,
+      begindate:'',
+      enddate:''
+    }
+  },
+  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.begindate
+      this.param.content.where.enddate = this.enddate
+      const res = await this.$api.requested(this.param)
+      this.listAdd = res.data
+      this.currentPageAdd = res.pageNumber
+      this.totalAdd = res.total
+    },
+    handleSizeChangeAdd(val) {
+      // console.log(`每页 ${val} 条`);
+      this.param.content.pageSize = val
+      this.queryAdd()
+    },
+    handleCurrentChangeAdd(val) {
+      // console.log(`当前页: ${val}`);
+      this.param.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.begindate
+      this.param.content.where.enddate = this.enddate
+      const res = await this.$api.requested(this.param)
+      this.listUpdate = res.data
+      this.currentPageUpdate = res.pageNumber
+      this.totalUpdate = res.total
+    },
+    handleSizeChangeUpdate(val) {
+      // console.log(`每页 ${val} 条`);
+      this.param.content.pageSize = val
+      this.queryUpdate()
+    },
+    handleCurrentChangeUpdate(val) {
+      // console.log(`当前页: ${val}`);
+      this.param.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.begindate
+      this.param.content.where.enddate = this.enddate
+      const res = await this.$api.requested(this.param)
+      this.listFollow = res.data
+      this.currentPageFollow = res.pageNumber
+      this.totalFollow = res.total
+    },
+    handleSizeChangeFollow(val) {
+      // console.log(`每页 ${val} 条`);
+      this.param.content.pageSize = val
+      this.queryFollow()
+    },
+    handleCurrentChangeFollow(val) {
+      // console.log(`当前页: ${val}`);
+      this.param.content.pageNumber = val
+      this.queryFollow()
+    },
+    /*日期筛选*/
+    selectQuickAdd(begindate,enddate){
+      this.begindate = begindate
+      this.enddate = enddate
+      this.queryAdd(this.param.content.pageNumber = 1)
+    },
+    selectQuickUpd(begindate,enddate){
+      this.begindate = begindate
+      this.enddate = enddate
+      this.queryUpdate(this.param.content.pageNumber = 1)
+    },
+    selectQuickFow(begindate,enddate){
+      this.begindate = begindate
+      this.enddate = enddate
+      this.queryFollow(this.param.content.pageNumber = 1)
+    }
+  },
+  created() {
+    this.tablecolsAdd = this.tool.tabelCol(this.$route.name).clueAdd.tablecols
+    this.tablecolsUpdate = this.tool.tabelCol(this.$route.name).clueUpdate.tablecols
+    this.tablecolsFollow = this.tool.tabelCol(this.$route.name).clueFollow.tablecols
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 202 - 0
src/HDrpManagement/dataanalysis/modules/customer.vue

@@ -0,0 +1,202 @@
+<template>
+  <div>
+    <el-scrollbar >
+      <div style="margin: auto;max-height: 200px">
+        <el-row>
+          <el-col :span="12">
+            <span style="font-size: 16px;color: #333">新增客户</span>
+          </el-col>
+          <el-col :span="12">
+            <quickDate @selectQuick="selectQuickAdd"></quickDate>
+          </el-col>
+        </el-row>
+        <tableLayout style="margin-top: 10px" :layout="tablecolsAdd" :data="listAdd" :opwidth="200" :custom="true" :height="tableHieght">
+          <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>
+        <el-row>
+          <el-col :span="12">
+            <span style="font-size: 16px;color: #333">更新客户</span>
+          </el-col>
+          <el-col :span="12">
+            <quickDate @selectQuick="selectQuickUpd"></quickDate>
+          </el-col>
+        </el-row>
+        <tableLayout style="margin-top: 10px" :layout="tablecolsUpdate" :data="listUpdate" :opwidth="200" :custom="true" :height="tableHieght">
+          <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>
+        <el-row>
+          <el-col :span="12">
+            <span style="font-size: 16px;color: #333">跟进客户</span>
+          </el-col>
+          <el-col :span="12">
+            <quickDate @selectQuick="selectQuickFow"></quickDate>
+          </el-col>
+        </el-row>
+        <tableLayout style="margin-top: 10px" :layout="tablecolsFollow" :data="listFollow" :opwidth="200" :custom="true" :height="tableHieght">
+          <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>
+      </div>
+
+    </el-scrollbar>
+  </div>
+</template>
+
+<script>
+import quickDate from "@/HDrpManagement/dataanalysis/components/quickDate";
+export default {
+  name: "customer",
+  props:['param','isDep','dataid','isPerson'],
+  components:{quickDate},
+  data() {
+    return {
+      listAdd:[],
+      tablecolsAdd:[],
+      listUpdate:[],
+      tablecolsUpdate:[],
+      tableHieght:'50px',
+      currentPageAdd:0,
+      totalAdd:0,
+      currentPageUpdate:0,
+      totalUpdate:0,
+      listFollow:[],
+      tablecolsFollow:[],
+      currentPageFollow:0,
+      totalFollow:0,
+      begindate:'',
+      enddate:''
+    }
+  },
+  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 = 4
+    /*  this.param.content.dataid = this.dataid*/
+      this.param.content.where.begindate = this.begindate
+      this.param.content.where.enddate = this.enddate
+      const res = await this.$api.requested(this.param)
+      this.listAdd = res.data
+      this.currentPageAdd = res.pageNumber
+      this.totalAdd = res.total
+    },
+    handleSizeChangeAdd(val) {
+      // console.log(`每页 ${val} 条`);
+      this.param.content.pageSize = val
+      this.queryAdd()
+    },
+    handleCurrentChangeAdd(val) {
+      // console.log(`当前页: ${val}`);
+      this.param.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 = 5
+      /*this.param.content.dataid = this.dataid*/
+      this.param.content.where.begindate = this.begindate
+      this.param.content.where.enddate = this.enddate
+      const res = await this.$api.requested(this.param)
+      this.listUpdate = res.data
+      this.currentPageUpdate = res.pageNumber
+      this.totalUpdate = res.total
+    },
+    handleSizeChangeUpdate(val) {
+      // console.log(`每页 ${val} 条`);
+      this.param.content.pageSize = val
+      this.queryUpdate()
+    },
+    handleCurrentChangeUpdate(val) {
+      // console.log(`当前页: ${val}`);
+      this.param.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 = 6
+     /* this.param.content.dataid = this.dataid*/
+      this.param.content.where.begindate = this.begindate
+      this.param.content.where.enddate = this.enddate
+      const res = await this.$api.requested(this.param)
+      this.listFollow = res.data
+      this.currentPageFollow = res.pageNumber
+      this.totalFollow = res.total
+    },
+    handleSizeChangeFollow(val) {
+      // console.log(`每页 ${val} 条`);
+      this.param.content.pageSize = val
+      this.queryFollow()
+    },
+    handleCurrentChangeFollow(val) {
+      // console.log(`当前页: ${val}`);
+      this.param.content.pageNumber = val
+      this.queryFollow()
+    },
+    /*日期筛选*/
+    selectQuickAdd(begindate,enddate){
+      this.begindate = begindate
+      this.enddate = enddate
+      this.queryAdd(this.param.content.pageNumber = 1)
+    },
+    selectQuickUpd(begindate,enddate){
+      this.begindate = begindate
+      this.enddate = enddate
+      this.queryUpdate(this.param.content.pageNumber = 1)
+    },
+    selectQuickFow(begindate,enddate){
+      this.begindate = begindate
+      this.enddate = enddate
+      this.queryFollow(this.param.content.pageNumber = 1)
+    }
+  },
+  created() {
+    this.tablecolsAdd = this.tool.tabelCol(this.$route.name).customerAdd.tablecols
+    this.tablecolsUpdate = this.tool.tabelCol(this.$route.name).customerUpdate.tablecols
+    this.tablecolsFollow = this.tool.tabelCol(this.$route.name).customerFollow.tablecols
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 146 - 0
src/HDrpManagement/dataanalysis/modules/documents.vue

@@ -0,0 +1,146 @@
+<template>
+  <div>
+    <el-scrollbar >
+      <div style="margin: auto;max-height: 200px">
+        <el-row>
+          <el-col :span="12">
+            <span style="font-size: 16px;color: #333">报价单</span>
+          </el-col>
+          <el-col :span="12">
+            <quickDate @selectQuick="selectQuickQuotation"></quickDate>
+          </el-col>
+        </el-row>
+        <tableLayout style="margin-top: 10px" :layout="quotationTablecols" :data="quotationList" :opwidth="200" :custom="true" :height="tableHieght">
+          <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="quotationHandleSizeChange"
+              @current-change="quotationHandleCurrentChange"
+              :current-page="quotationCurrentPage"
+              :page-sizes="[10,20, 50, 100, 200]"
+              :page-size="10"
+              layout="total,sizes, prev, pager, next, jumper"
+              :total="quotationTotal">
+          </el-pagination>
+        </div>
+        <el-row>
+          <el-col :span="12">
+            <span style="font-size: 16px;color: #333">合同</span>
+          </el-col>
+          <el-col :span="12">
+            <quickDate @selectQuick="selectQuickContract"></quickDate>
+          </el-col>
+        </el-row>
+        <tableLayout style="margin-top: 10px" :layout="contractTablecols" :data="contractList" :opwidth="200" :custom="true" :height="tableHieght">
+          <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="contractHandleSizeChange"
+              @current-change="contractHandleCurrentChange"
+              :current-page="contractCurrentPage"
+              :page-sizes="[10,20, 50, 100, 200]"
+              :page-size="10"
+              layout="total,sizes, prev, pager, next, jumper"
+              :total="contractTotal">
+          </el-pagination>
+        </div>
+      </div>
+
+    </el-scrollbar>
+  </div>
+</template>
+
+<script>
+import quickDate from "@/HDrpManagement/dataanalysis/components/quickDate";
+export default {
+  name: "documents",
+  props:['param','isDep','dataid','isPerson'],
+  components:{quickDate},
+  data() {
+    return {
+      quotationList:[],
+      quotationTablecols:[],
+      contractList:[],
+      contractTablecols:[],
+      tableHieght:'50px',
+      quotationCurrentPage:0,
+      quotationTotal:0,
+      contractCurrentPage:0,
+      contractTotal:0,
+      begindate:'',
+      enddate:''
+    }
+  },
+  methods: {
+    async queryQuotation() {
+     /* this.isDep ? this.param.content.type = 1 : this.isPerson ? this.param.content.type = 0 : this.param.content.type = ''*/
+      this.param.content.dataType = 10
+    /*  this.param.content.dataid = this.dataid*/
+      this.param.content.where.begindate = this.begindate
+      this.param.content.where.enddate = this.enddate
+      const res = await this.$api.requested(this.param)
+      this.quotationList = res.data
+      this.quotationCurrentPage = res.pageNumber
+      this.quotationTotal = res.total
+    },
+    quotationHandleSizeChange(val) {
+      // console.log(`每页 ${val} 条`);
+      this.param.content.pageSize = val
+      this.queryQuotation()
+    },
+    quotationHandleCurrentChange(val) {
+      // console.log(`当前页: ${val}`);
+      this.param.content.pageNumber = val
+      this.queryQuotation()
+    },
+    async queryContract() {
+     /* this.isDep ? this.param.content.type = 1 : this.isPerson ? this.param.content.type = 0 : this.param.content.type = ''*/
+      this.param.content.dataType = 11
+     /* this.param.content.dataid = this.dataid*/
+      this.param.content.where.begindate = this.begindate
+      this.param.content.where.enddate = this.enddate
+      const res = await this.$api.requested(this.param)
+      this.contractList = res.data
+      this.contractCurrentPage = res.pageNumber
+      this.contractTotal = res.total
+    },
+    contractHandleSizeChange(val) {
+      // console.log(`每页 ${val} 条`);
+      this.param.content.pageSize = val
+      this.queryContract()
+    },
+    contractHandleCurrentChange(val) {
+      // console.log(`当前页: ${val}`);
+      this.param.content.pageNumber = val
+      this.queryContract()
+    },
+    /*日期筛选*/
+    selectQuickQuotation(begindate,enddate){
+      this.begindate = begindate
+      this.enddate = enddate
+      this.queryQuotation(this.param.content.pageNumber = 1)
+    },
+    selectQuickContract(begindate,enddate){
+      this.begindate = begindate
+      this.enddate = enddate
+      this.queryContract(this.param.content.pageNumber = 1)
+    },
+  },
+  created() {
+    this.quotationTablecols = this.tool.tabelCol(this.$route.name).quotationTable.tablecols
+    this.contractTablecols = this.tool.tabelCol(this.$route.name).contractTable.tablecols
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 401 - 0
src/HDrpManagement/dataanalysis/modules/performanceData.vue

@@ -0,0 +1,401 @@
+<template>
+  <div>
+    <el-row :gutter="20">
+    <!--  本月    -->
+      <el-col :span="8">
+        <el-row :gutter="20">
+          <el-col :span="10" :offset="6">
+            <el-divider>
+              <span class="title-font">本月</span>
+            </el-divider>
+          </el-col>
+        </el-row>
+        <el-row :gutter="20">
+          <el-col :span="8">
+            <borderTemp>
+              <template #content>
+                <el-row>
+                  <el-col class="title-fonts">订单目标</el-col>
+                </el-row>
+                <el-row :gutter="20">
+                  <el-col :span="12">
+                    <span style="font-size: 18px;padding: 0 0 0 5px">
+                      {{tool.formatAmount(listby.wcamount * 100,2) + '%'}}
+                    </span>
+                  </el-col>
+                  <el-col :span="12">
+                    <span style="font-size: 12px;padding: 0 0 0 5px">
+                      <span v-if="listby.unamount < 0" style="color: #E13333">
+                        ¥{{tool.formatAmount(listby.unamount,2)}}
+                      </span>
+                      <span v-else style="color: #009270">
+                        ¥{{tool.formatAmount(listby.unamount,2)}}
+                      </span>
+                    </span>
+                  </el-col>
+                </el-row>
+                <el-row>
+                  <el-col class="title-fonts" >实际/目标</el-col>
+                </el-row>
+                <el-row>
+                  <el-col>
+                    <span style="font-size: 12px;padding: 0 0 0 5px">
+                      {{'¥'+tool.formatAmount(listby.amount,2) + '/'+ '¥'+ tool.formatAmount(listby.target_l,2)}}
+                    </span>
+                  </el-col>
+                </el-row>
+              </template>
+            </borderTemp>
+          </el-col>
+          <el-col :span="8">
+            <borderTemp>
+              <template #content>
+                <el-row>
+                  <el-col class="title-fonts">出货目标</el-col>
+                </el-row>
+                <el-row :gutter="20">
+                  <el-col :span="12">
+                    <span style="font-size: 18px;padding: 0 0 0 5px">
+                      {{tool.formatAmount(listby.wcoutamount * 100,2) + '%'}}
+                    </span>
+                  </el-col>
+                  <el-col :span="12">
+                    <span style="font-size: 12px;padding: 0 0 0 5px">
+                      <span v-if="listby.unoutamount < 0" style="color: #E13333">
+                        ¥{{tool.formatAmount(listby.unoutamount,2)}}
+                      </span>
+                      <span v-else style="color: #009270">
+                        ¥{{tool.formatAmount(listby.unoutamount,2)}}
+                      </span>
+                    </span>
+                  </el-col>
+                </el-row>
+                <el-row>
+                  <el-col class="title-fonts" >实际/目标</el-col>
+                </el-row>
+                <el-row>
+                  <el-col>
+                    <span style="font-size: 12px;padding: 0 0 0 5px">
+                      {{'¥'+tool.formatAmount(listby.amount,2) + '/'+ '¥'+ tool.formatAmount(listby.target_l,2)}}
+                    </span>
+                  </el-col>
+                </el-row>
+              </template>
+            </borderTemp>
+          </el-col>
+          <el-col :span="8">
+            <borderTemp>
+              <template #content>
+                <el-row>
+                  <el-col class="title-fonts">开票目标</el-col>
+                </el-row>
+                <el-row :gutter="20">
+                  <el-col :span="12">
+                    <span style="font-size: 18px;padding: 0 0 0 5px">
+                      {{tool.formatAmount(listby.wcinvoiceamount * 100,2) + '%'}}
+                    </span>
+                  </el-col>
+                  <el-col :span="12">
+                    <span style="font-size: 12px;padding: 0 0 0 5px">
+                      <span v-if="listby.uninvoiceamount < 0" style="color: #E13333">
+                        ¥{{tool.formatAmount(listby.uninvoiceamount,2)}}
+                      </span>
+                      <span v-else style="color: #009270">
+                        ¥{{tool.formatAmount(listby.uninvoiceamount,2)}}
+                      </span>
+                    </span>
+                  </el-col>
+                </el-row>
+                <el-row>
+                  <el-col class="title-fonts" >实际/目标</el-col>
+                </el-row>
+                <el-row>
+                  <el-col>
+                    <span style="font-size: 12px;padding: 0 0 0 5px">
+                      {{'¥'+tool.formatAmount(listby.amount,2) + '/'+ '¥'+ tool.formatAmount(listby.target_l,2)}}
+                    </span>
+                  </el-col>
+                </el-row>
+              </template>
+            </borderTemp>
+          </el-col>
+        </el-row>
+      </el-col>
+      <!--  本季    -->
+      <el-col :span="8">
+        <el-row :gutter="20">
+          <el-col :span="10" :offset="6">
+            <el-divider>
+              <span class="title-font">本季</span>
+            </el-divider>
+          </el-col>
+        </el-row>
+        <el-row :gutter="20">
+          <el-col :span="8">
+            <borderTemp>
+              <template #content>
+                <el-row>
+                  <el-col class="title-fonts">订单目标</el-col>
+                </el-row>
+                <el-row :gutter="20">
+                  <el-col :span="12">
+                    <span style="font-size: 18px;padding: 0 0 0 5px">
+                      {{tool.formatAmount(listbj.wcamount * 100,2) + '%'}}
+                    </span>
+                  </el-col>
+                  <el-col :span="12">
+                    <span style="font-size: 12px;padding: 0 0 0 5px">
+                      <span v-if="listby.unamount < 0" style="color: #E13333">
+                        ¥{{tool.formatAmount(listby.unamount,2)}}
+                      </span>
+                      <span v-else style="color: #009270">
+                        ¥{{tool.formatAmount(listby.unamount,2)}}
+                      </span>
+                    </span>
+                  </el-col>
+                </el-row>
+                <el-row>
+                  <el-col class="title-fonts" >实际/目标</el-col>
+                </el-row>
+                <el-row>
+                  <el-col>
+                    <span style="font-size: 12px;padding: 0 0 0 5px">
+                      {{tool.formatAmount(listbj.amount,2) + '/'+ tool.formatAmount(listbj.target_l,2)}}
+                    </span>
+                  </el-col>
+                </el-row>
+              </template>
+            </borderTemp>
+          </el-col>
+          <el-col :span="8">
+            <borderTemp>
+              <template #content>
+                <el-row>
+                  <el-col class="title-fonts">出货目标</el-col>
+                </el-row>
+                <el-row :gutter="20">
+                  <el-col :span="12">
+                    <span style="font-size: 18px;padding: 0 0 0 5px">
+                      {{tool.formatAmount(listbj.wcoutamount * 100,2) + '%'}}
+                    </span>
+                  </el-col>
+                  <el-col :span="12">
+                    <span style="font-size: 12px;padding: 0 0 0 5px">
+                       <span v-if="listby.unoutamount < 0" style="color: #E13333">
+                        ¥{{tool.formatAmount(listby.unoutamount,2)}}
+                      </span>
+                      <span v-else style="color: #009270">
+                        ¥{{tool.formatAmount(listby.unoutamount,2)}}
+                      </span>
+                    </span>
+                  </el-col>
+                </el-row>
+                <el-row>
+                  <el-col class="title-fonts" >实际/目标</el-col>
+                </el-row>
+                <el-row>
+                  <el-col>
+                    <span style="font-size: 12px;padding: 0 0 0 5px">
+                      {{tool.formatAmount(listbj.amount,2) + '/'+ tool.formatAmount(listbj.target_l,2)}}
+                    </span>
+                  </el-col>
+                </el-row>
+              </template>
+            </borderTemp>
+          </el-col>
+          <el-col :span="8">
+            <borderTemp>
+              <template #content>
+                <el-row>
+                  <el-col class="title-fonts">开票目标</el-col>
+                </el-row>
+                <el-row :gutter="20">
+                  <el-col :span="12">
+                    <span style="font-size: 18px;padding: 0 0 0 5px">
+                      {{tool.formatAmount(listbj.wcinvoiceamount * 100,2) + '%'}}
+                    </span>
+                  </el-col>
+                  <el-col :span="12">
+                    <span style="font-size: 12px;padding: 0 0 0 5px">
+                       <span v-if="listby.uninvoiceamount < 0" style="color: #E13333">
+                        ¥{{tool.formatAmount(listby.uninvoiceamount,2)}}
+                      </span>
+                      <span v-else style="color: #009270">
+                        ¥{{tool.formatAmount(listby.uninvoiceamount,2)}}
+                      </span>
+                    </span>
+                  </el-col>
+                </el-row>
+                <el-row>
+                  <el-col class="title-fonts" >实际/目标</el-col>
+                </el-row>
+                <el-row>
+                  <el-col>
+                    <span style="font-size: 12px;padding: 0 0 0 5px">
+                      {{tool.formatAmount(listbj.amount,2) + '/'+ tool.formatAmount(listbj.target_l,2)}}
+                    </span>
+                  </el-col>
+                </el-row>
+              </template>
+            </borderTemp>
+          </el-col>
+        </el-row>
+      </el-col>
+      <!--  本年    -->
+      <el-col :span="8">
+        <el-row :gutter="20">
+          <el-col :span="10" :offset="6">
+            <el-divider>
+              <span class="title-font">本年</span>
+            </el-divider>
+          </el-col>
+        </el-row>
+        <el-row :gutter="20">
+          <el-col :span="8">
+            <borderTemp>
+              <template #content>
+                <el-row>
+                  <el-col class="title-fonts">订单目标</el-col>
+                </el-row>
+                <el-row :gutter="20">
+                  <el-col :span="12">
+                    <span style="font-size: 18px;padding: 0 0 0 5px">
+                      {{tool.formatAmount(listbn.wcamount * 100,2) + '%'}}
+                    </span>
+                  </el-col>
+                  <el-col :span="12">
+                    <span style="font-size: 12px;padding: 0 0 0 5px">
+                      <span v-if="listby.unamount < 0" style="color: #E13333">
+                        ¥{{tool.formatAmount(listby.unamount,2)}}
+                      </span>
+                      <span v-else style="color: #009270">
+                        ¥{{tool.formatAmount(listby.unamount,2)}}
+                      </span>
+                    </span>
+                  </el-col>
+                </el-row>
+                <el-row>
+                  <el-col class="title-fonts" >实际/目标</el-col>
+                </el-row>
+                <el-row>
+                  <el-col>
+                    <span style="font-size: 12px;padding: 0 0 0 5px">
+                      {{tool.formatAmount(listbn.amount,2) + '/'+ tool.formatAmount(listbn.target_l,2)}}
+                    </span>
+                  </el-col>
+                </el-row>
+              </template>
+            </borderTemp>
+          </el-col>
+          <el-col :span="8">
+            <borderTemp>
+              <template #content>
+                <el-row>
+                  <el-col class="title-fonts">出货目标</el-col>
+                </el-row>
+                <el-row :gutter="20">
+                  <el-col :span="12">
+                    <span style="font-size: 18px;padding: 0 0 0 5px">
+                      {{tool.formatAmount(listbn.wcoutamount * 100,2) + '%'}}
+                    </span>
+                  </el-col>
+                  <el-col :span="12">
+                    <span style="font-size: 12px;padding: 0 0 0 5px">
+                      <span v-if="listby.unoutamount < 0" style="color: #E13333">
+                        ¥{{tool.formatAmount(listby.unoutamount,2)}}
+                      </span>
+                      <span v-else style="color: #009270">
+                        ¥{{tool.formatAmount(listby.unoutamount,2)}}
+                      </span>
+                    </span>
+                  </el-col>
+                </el-row>
+                <el-row>
+                  <el-col class="title-fonts" >实际/目标</el-col>
+                </el-row>
+                <el-row>
+                  <el-col>
+                    <span style="font-size: 12px;padding: 0 0 0 5px">
+                      {{tool.formatAmount(listbn.amount,2) + '/'+ tool.formatAmount(listbn.target_l,2)}}
+                    </span>
+                  </el-col>
+                </el-row>
+              </template>
+            </borderTemp>
+          </el-col>
+          <el-col :span="8">
+            <borderTemp>
+              <template #content>
+                <el-row>
+                  <el-col class="title-fonts">开票目标</el-col>
+                </el-row>
+                <el-row :gutter="20">
+                  <el-col :span="12">
+                    <span style="font-size: 18px;padding: 0 0 0 5px">
+                      {{tool.formatAmount(listbn.wcinvoiceamount * 100,2) + '%'}}
+                    </span>
+                  </el-col>
+                  <el-col :span="12">
+                    <span style="font-size: 12px;padding: 0 0 0 5px">
+                       <span v-if="listby.uninvoiceamount < 0" style="color: #E13333">
+                        ¥{{tool.formatAmount(listby.uninvoiceamount,2)}}
+                      </span>
+                      <span v-else style="color: #009270">
+                        ¥{{tool.formatAmount(listby.uninvoiceamount,2)}}
+                      </span>
+                    </span>
+                  </el-col>
+                </el-row>
+                <el-row>
+                  <el-col class="title-fonts" >实际/目标</el-col>
+                </el-row>
+                <el-row>
+                  <el-col>
+                    <span style="font-size: 12px;padding: 0 0 0 5px">
+                      {{tool.formatAmount(listbn.amount,2) + '/'+ tool.formatAmount(listbn.target_l,2)}}
+                    </span>
+                  </el-col>
+                </el-row>
+              </template>
+            </borderTemp>
+          </el-col>
+        </el-row>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+import borderTemp from '../components/border'
+export default {
+  name: "performanceData",
+  props:['param','isDep','dataid','isPerson'],
+  components:{borderTemp},
+  data() {
+    return {
+      listby:'',
+      listbj:'',
+      listbn:''
+    }
+  },
+  methods:{
+    async queryList(){
+      /*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*/
+      const res = await this.$api.requested(this.param)
+      this.listby = res.data.by
+      this.listbj = res.data.bj
+      this.listbn = res.data.bn
+    }
+  }
+}
+</script>
+
+<style scoped>
+  .title-fonts{
+    font-size: 12px;
+    color: #888;
+    padding: 5px 0 0 5px;
+  }
+</style>

+ 203 - 0
src/HDrpManagement/dataanalysis/modules/project.vue

@@ -0,0 +1,203 @@
+<template>
+  <div>
+    <el-scrollbar >
+      <div style="margin: auto;max-height: 200px">
+        <el-row>
+          <el-col :span="12">
+            <span style="font-size: 16px;color: #333">新增项目</span>
+          </el-col>
+          <el-col :span="12">
+            <quickDate @selectQuick="selectQuickAdd"></quickDate>
+          </el-col>
+        </el-row>
+        <tableLayout style="margin-top: 10px" :layout="tablecolsAdd" :data="listAdd" :opwidth="200" :custom="true" :height="tableHieght">
+          <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>
+        <el-row>
+          <el-col :span="12">
+            <span style="font-size: 16px;color: #333">更新项目</span>
+          </el-col>
+          <el-col :span="12">
+            <quickDate @selectQuick="selectQuickUpd"></quickDate>
+          </el-col>
+        </el-row>
+        <tableLayout style="margin-top: 10px" :layout="tablecolsUpdate" :data="listUpdate" :opwidth="200" :custom="true" :height="tableHieght">
+          <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>
+        <el-row>
+          <el-col :span="12">
+            <span style="font-size: 16px;color: #333">跟进项目</span>
+          </el-col>
+          <el-col :span="12">
+            <quickDate @selectQuick="selectQuickFow"></quickDate>
+          </el-col>
+        </el-row>
+        <tableLayout style="margin-top: 10px" :layout="tablecolsFollow" :data="listFollow" :opwidth="200" :custom="true" :height="tableHieght">
+          <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>
+      </div>
+
+    </el-scrollbar>
+  </div>
+</template>
+
+<script>
+import quickDate from "@/HDrpManagement/dataanalysis/components/quickDate";
+
+export default {
+  name: "project",
+  props:['param','isDep','dataid','isPerson'],
+  components:{quickDate},
+  data() {
+    return {
+      listAdd:[],
+      tablecolsAdd:[],
+      listUpdate:[],
+      tablecolsUpdate:[],
+      tableHieght:'50px',
+      currentPageAdd:0,
+      totalAdd:0,
+      currentPageUpdate:0,
+      totalUpdate:0,
+      listFollow:[],
+      tablecolsFollow:[],
+      currentPageFollow:0,
+      totalFollow:0,
+      begindate:'',
+      enddate:''
+    }
+  },
+  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 = 7
+     /* this.param.content.dataid = this.dataid*/
+      this.param.content.where.begindate = this.begindate
+      this.param.content.where.enddate = this.enddate
+      const res = await this.$api.requested(this.param)
+      this.listAdd = res.data
+      this.currentPageAdd = res.pageNumber
+      this.totalAdd = res.total
+    },
+    handleSizeChangeAdd(val) {
+      // console.log(`每页 ${val} 条`);
+      this.param.content.pageSize = val
+      this.queryAdd()
+    },
+    handleCurrentChangeAdd(val) {
+      // console.log(`当前页: ${val}`);
+      this.param.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 = 8
+     /* this.param.content.dataid = this.dataid*/
+      this.param.content.where.begindate = this.begindate
+      this.param.content.where.enddate = this.enddate
+      const res = await this.$api.requested(this.param)
+      this.listUpdate = res.data
+      this.currentPageUpdate = res.pageNumber
+      this.totalUpdate = res.total
+    },
+    handleSizeChangeUpdate(val) {
+      // console.log(`每页 ${val} 条`);
+      this.param.content.pageSize = val
+      this.queryUpdate()
+    },
+    handleCurrentChangeUpdate(val) {
+      // console.log(`当前页: ${val}`);
+      this.param.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 = 9
+     /* this.param.content.dataid = this.dataid*/
+      this.param.content.where.begindate = this.begindate
+      this.param.content.where.enddate = this.enddate
+      const res = await this.$api.requested(this.param)
+      this.listFollow = res.data
+      this.currentPageFollow = res.pageNumber
+      this.totalFollow = res.total
+    },
+    handleSizeChangeFollow(val) {
+      // console.log(`每页 ${val} 条`);
+      this.param.content.pageSize = val
+      this.queryFollow()
+    },
+    handleCurrentChangeFollow(val) {
+      // console.log(`当前页: ${val}`);
+      this.param.content.pageNumber = val
+      this.queryFollow()
+    },
+    /*日期筛选*/
+    selectQuickAdd(begindate,enddate){
+      this.begindate = begindate
+      this.enddate = enddate
+      this.queryAdd(this.param.content.pageNumber = 1)
+    },
+    selectQuickUpd(begindate,enddate){
+      this.begindate = begindate
+      this.enddate = enddate
+      this.queryUpdate(this.param.content.pageNumber = 1)
+    },
+    selectQuickFow(begindate,enddate){
+      this.begindate = begindate
+      this.enddate = enddate
+      this.queryFollow(this.param.content.pageNumber = 1)
+    }
+  },
+  created() {
+    this.tablecolsAdd = this.tool.tabelCol(this.$route.name).projectAdd.tablecols
+    this.tablecolsUpdate = this.tool.tabelCol(this.$route.name).projectUpdate.tablecols
+    this.tablecolsFollow = this.tool.tabelCol(this.$route.name).projectFollow.tablecols
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 241 - 0
src/HDrpManagement/dataanalysis/modules/salesData.vue

@@ -0,0 +1,241 @@
+<template>
+  <div>
+    <el-row :gutter="20">
+      <el-col :span="8">
+        <borderTemp>
+          <template #content>
+            <el-row>
+              <el-col :span="10" :offset="6">
+                <el-divider>
+                  <span class="title-font">本周</span>
+                </el-divider>
+              </el-col>
+            </el-row>
+            <el-row :gutter="20" class="content-title">
+              <el-col :span="6">
+                <span >销售金额</span>
+              </el-col>
+              <el-col :span="6">
+                <span>出货金额</span>
+              </el-col>
+              <el-col :span="6">
+                <span>收款金额</span>
+              </el-col>
+              <el-col :span="6">
+                <span>开票金额</span>
+              </el-col>
+            </el-row>
+            <el-row :gutter="20" class="content-title">
+              <el-col :span="6">
+                <span class="title-font" style="color: #333"><span style="font-size: 12px">¥</span>
+                  <span v-if="list.bzxsje > 10000">
+                    {{tool.formatAmount(list.bzxsje / 10000,2) + '万'}}
+                  </span>
+                  <span v-else>
+                    {{tool.formatAmount(list.bzxsje,2)}}
+                  </span>
+                </span>
+              </el-col>
+              <el-col :span="6">
+                <span class="title-font" style="color: #333"><span style="font-size: 12px">¥</span>
+                  <span v-if="list.bzchje > 10000">
+                    {{tool.formatAmount(list.bzchje / 10000,2) + '万'}}
+                  </span>
+                  <span v-else>
+                    {{tool.formatAmount(list.bzchje,2)}}
+                  </span>
+                </span>
+              </el-col>
+              <el-col :span="6">
+                <span class="title-font" style="color: #333"><span style="font-size: 12px">¥</span>
+                   <span v-if="list.bzskje > 10000">
+                    {{tool.formatAmount(list.bzskje / 10000,2) + '万'}}
+                  </span>
+                  <span v-else>
+                    {{tool.formatAmount(list.bzskje,2)}}
+                  </span>
+                </span>
+              </el-col>
+              <el-col :span="6">
+                <span class="title-font" style="color: #333"><span style="font-size: 12px">¥</span>
+                  <span v-if="list.bzkpje > 10000">
+                    {{tool.formatAmount(list.bzkpje / 10000,2) + '万'}}
+                  </span>
+                  <span v-else>
+                    {{tool.formatAmount(list.bzkpje,2)}}
+                  </span>
+                </span>
+              </el-col>
+            </el-row>
+          </template>
+        </borderTemp>
+      </el-col>
+      <el-col :span="8">
+        <borderTemp>
+          <template #content>
+            <el-row>
+              <el-col :span="10" :offset="6">
+                <el-divider>
+                  <span class="title-font">本月</span>
+                </el-divider>
+              </el-col>
+            </el-row>
+            <el-row :gutter="20" class="content-title">
+              <el-col :span="6">
+                <span >销售金额</span>
+              </el-col>
+              <el-col :span="6">
+                <span>出货金额</span>
+              </el-col>
+              <el-col :span="6">
+                <span>收款金额</span>
+              </el-col>
+              <el-col :span="6">
+                <span>开票金额</span>
+              </el-col>
+            </el-row>
+            <el-row :gutter="20" class="content-title">
+              <el-col :span="6">
+                <span class="title-font" style="color: #333"><span style="font-size: 12px">¥</span>
+                  <span v-if="list.byxsje > 10000">
+                    {{tool.formatAmount(list.byxsje / 10000,2) + '万'}}
+                  </span>
+                  <span v-else>
+                    {{tool.formatAmount(list.byxsje,2)}}
+                  </span>
+                </span>
+              </el-col>
+              <el-col :span="6">
+                <span class="title-font" style="color: #333"><span style="font-size: 12px">¥</span>
+                  <span v-if="list.bychje > 10000">
+                    {{tool.formatAmount(list.bychje / 10000,2) + '万'}}
+                  </span>
+                  <span v-else>
+                    {{tool.formatAmount(list.bychje,2)}}
+                  </span>
+                </span>
+              </el-col>
+              <el-col :span="6">
+                <span class="title-font" style="color: #333"><span style="font-size: 12px">¥</span>
+                  <span v-if="list.byskje > 10000">
+                    {{tool.formatAmount(list.byskje / 10000,2) + '万'}}
+                  </span>
+                  <span v-else>
+                    {{tool.formatAmount(list.byskje,2)}}
+                  </span>
+                </span>
+              </el-col>
+              <el-col :span="6">
+                <span class="title-font" style="color: #333"><span style="font-size: 12px">¥</span>
+                  <span v-if="list.bykpje > 10000">
+                    {{tool.formatAmount(list.bykpje / 10000,2) + '万'}}
+                  </span>
+                  <span v-else>
+                    {{tool.formatAmount(list.bykpje,2)}}
+                  </span>
+                </span>
+              </el-col>
+            </el-row>
+          </template>
+        </borderTemp>
+      </el-col>
+      <el-col :span="8">
+        <borderTemp>
+          <template #content>
+            <el-row>
+              <el-col :span="10" :offset="6">
+                <el-divider>
+                  <span class="title-font">本年</span>
+                </el-divider>
+              </el-col>
+            </el-row>
+            <el-row :gutter="20" class="content-title">
+              <el-col :span="6">
+                <span >销售金额</span>
+              </el-col>
+              <el-col :span="6">
+                <span>出货金额</span>
+              </el-col>
+              <el-col :span="6">
+                <span>收款金额</span>
+              </el-col>
+              <el-col :span="6">
+                <span>开票金额</span>
+              </el-col>
+            </el-row>
+            <el-row :gutter="20" class="content-title">
+              <el-col :span="6">
+                <span class="title-font" style="color: #333"><span style="font-size: 12px">¥</span>
+                  <span v-if="list.bnxsje > 10000">
+                    {{tool.formatAmount(list.bnxsje / 10000,2) + '万'}}
+                  </span>
+                  <span v-else>
+                    {{tool.formatAmount(list.bnxsje,2)}}
+                  </span>
+                </span>
+              </el-col>
+              <el-col :span="6">
+                <span class="title-font" style="color: #333"><span style="font-size: 12px">¥</span>
+                   <span v-if="list.bnchje > 10000">
+                    {{tool.formatAmount(list.bnchje / 10000,2) + '万'}}
+                  </span>
+                  <span v-else>
+                    {{tool.formatAmount(list.bnchje,2)}}
+                  </span>
+                </span>
+              </el-col>
+              <el-col :span="6">
+                <span class="title-font" style="color: #333"><span style="font-size: 12px">¥</span>
+                   <span v-if="list.bnskje > 10000">
+                    {{tool.formatAmount(list.bnskje / 10000,2) + '万'}}
+                  </span>
+                  <span v-else>
+                    {{tool.formatAmount(list.bnskje,2)}}
+                  </span>
+                </span>
+              </el-col>
+              <el-col :span="6">
+                <span class="title-font" style="color: #333"><span style="font-size: 12px">¥</span>
+                   <span v-if="list.bnkpje > 10000">
+                    {{tool.formatAmount(list.bnkpje / 10000,2) + '万'}}
+                  </span>
+                  <span v-else>
+                    {{tool.formatAmount(list.bnkpje,2)}}
+                  </span>
+                </span>
+              </el-col>
+            </el-row>
+          </template>
+        </borderTemp>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+import borderTemp from '../components/border'
+export default {
+  name: "salesData",
+  components:{borderTemp},
+  props:['param','isDep','dataid','isPerson'],
+  data() {
+    return {
+      list:'',
+    }
+  },
+  methods:{
+    async queryList(){
+      /*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*/
+      const res = await this.$api.requested(this.param)
+      this.list = res.data
+      console.log(this.list,'销售数据')
+    }
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 8 - 8
src/HManagement/marketing2/agent/details/index.vue

@@ -1,11 +1,11 @@
 <template>
-  <basicDetails 
+  <basicDetails
     style="min-width:80vw"
     ref="details"
     :titleText="mainData.enterprisename"
     formPath="marketing2/agent"
     :editData="mainData"
-    :mainAreaData="mainAreaData" 
+    :mainAreaData="mainAreaData"
     turnPageId="20221011144903"
     idname="sa_agentsid"
     :tags="[]"
@@ -18,7 +18,7 @@
     </div>
     <div slot="customOperation">
       <!-- 此区域提供了自定义操作按钮 -->
-      <customBtn 
+      <customBtn
           btnName="启 用"
           message="确认启用当前合作伙伴吗?"
           idName="20230212101703"
@@ -29,7 +29,7 @@
           :paramData="[{key:'status',value:'启用'}]"
           v-if="mainData.status == '禁用' && tool.checkAuth($route.name,'handleused')"
         />
-        <customBtn 
+        <customBtn
           btnName="禁 用"
           message="确认禁用当前合作伙伴吗?"
           idName="20230212101703"
@@ -40,7 +40,7 @@
           :paramData="[{key:'status',value:'禁用'}]"
           v-if="mainData.status == '启用' && tool.checkAuth($route.name,'handleused')"
         />
-        <customBtn 
+        <customBtn
           btnName="作 废"
           :dialog="true"
           message="确认删除当前合作伙伴吗?"
@@ -244,7 +244,7 @@ export default {
           label:'企业名称',
           value: this.mainData.enterprisename
         },*/
-        
+
         {
           label:'省市县',
           value: `${this.mainData.province}-${this.mainData.city}-${this.mainData.county}`
@@ -274,7 +274,7 @@ export default {
           value: this.mainData.limitreturnday
         },
         {
-          label:'是否授权所有',
+          label:'是否授权所有标准',
           value: this.mainData.standardsauth ? '开启' : '关闭'
         },
         {
@@ -335,4 +335,4 @@ export default {
 
 </script>
 <style>
-</style>
+</style>

+ 4 - 4
src/HManagement/personalTarget/personalTargetStatistics/index.vue

@@ -49,13 +49,13 @@
               :height="height"
               size="small">
             <el-table-column
-                prop="depname"
+                prop="depfullname"
                 label="部门"
                 width="120"
                 fixed>
               <template slot-scope="scope">
                 <!--              <p :style="{textIndent:scope.row.level === 0?'10px':''}">{{scope.row.level === 0?'&#45;&#45;':scope.row.depfullname}}</p>-->
-                <p >{{scope.row.depname}}</p>
+                <p>{{scope.row.depfullname.substring(scope.row.depfullname.lastIndexOf("/",scope.row.depfullname.lastIndexOf('/')-1) + 1)}}</p>
               </template>
             </el-table-column>
             <el-table-column
@@ -523,7 +523,7 @@ export default {
       tableData:[],
       currentPage:0,
       height:'calc(100vh - 330px)',
-      target:'1',
+      target:'3',
       yearData:[],
       options: [
         { label: '开票金额', value: '1' },
@@ -539,7 +539,7 @@ export default {
           "year": '',
           "pageNumber": 1,
           "pageSize": 20,
-          "type":1,
+          "type":3,
           "where":{
             "condition":""//支持部门名称查询
           }

+ 3 - 4
src/HManagement/personalTarget/target/modules/edit/components/table.vue

@@ -13,19 +13,18 @@
 
       <el-table
           :data="tableData"
-          border
-          style="width: 100%;min-height: 700px"
+          style="width: 100%;"
           :header-cell-style="{height:'50px',color:'#606266',fontWeight:'400',fontSize:'14px'}"
           :cell-style="{height:'33px',color:'#666666',fontWeight:'400'}"
           :height="height"
           size="small">
         <el-table-column
-            prop="depname"
+            prop="depfullname"
             label="部门"
             width="120"
             fixed>
           <template slot-scope="scope">
-            <p >{{scope.row.depname}}</p>
+            <p>{{scope.row.depfullname.substring(scope.row.depfullname.lastIndexOf("/",scope.row.depfullname.lastIndexOf('/')-1) + 1)}}</p>
           </template>
         </el-table-column>
         <el-table-column

+ 1 - 1
src/HManagement/personalTarget/target/modules/edit/index.vue

@@ -27,7 +27,7 @@
       </div>
 
       <div slot="slot0">
-        <targetTable ref="list" class="">
+        <targetTable ref="list" >
           <template  v-slot:editTarget="scope">
             <editTarget v-if="tool.checkAuth($route.name,'personalTargetManage')" :disabled="mainData.status != '新建'" style="display:inline" :year="mainData.year" :data="scope.data" @onSuccess="onSuccess"></editTarget>
           </template>

+ 4 - 4
src/HManagement/projectTarget/projectTargetStatistics/index.vue

@@ -51,13 +51,13 @@
               :height="height"
               size="small">
             <el-table-column
-                prop="depname"
+                prop="depfullname"
                 label="部门"
                 width="120"
                 fixed>
               <template slot-scope="scope">
                 <!--              <p :style="{textIndent:scope.row.level === 0?'10px':''}">{{scope.row.level === 0?'&#45;&#45;':scope.row.depfullname}}</p>-->
-                <p >{{scope.row.depname}}</p>
+                <p>{{scope.row.depfullname.substring(scope.row.depfullname.lastIndexOf("/",scope.row.depfullname.lastIndexOf('/')-1) + 1)}}</p>
               </template>
             </el-table-column>
             <el-table-column
@@ -542,7 +542,7 @@ export default {
       condition:'',
       total:0,
       currentPage:0,
-      target:'1',
+      target:'3',
       options: [
         { label: '开票金额', value: '1' },
         { label: '订单金额', value: '2' },
@@ -552,7 +552,7 @@ export default {
         "id": 20220909153802,
         "content": {
           "year": this.year,
-          "type":1,
+          "type":3,
           "where":{
             "condition":''
           }

+ 3 - 3
src/HManagement/projectTarget/target/modules/edit/components/table.vue

@@ -18,12 +18,12 @@
             :height="height"
             size="small">
           <el-table-column
-              prop="depname"
+              prop="depfullname"
               label="部门"
               width="120"
               fixed>
             <template slot-scope="scope">
-              <p >{{scope.row.depname}}</p>
+              <p>{{scope.row.depfullname.substring(scope.row.depfullname.lastIndexOf("/",scope.row.depfullname.lastIndexOf('/')-1) + 1)}}</p>
             </template>
           </el-table-column>
           <el-table-column
@@ -409,7 +409,7 @@ export default {
       total:0,
       currentPage:0,
       onBack:false,
-      height:'calc(100vh - 350px)',
+      height:'calc(100vh - 330px)',
       param:{
         "id": 20220909152802,
         "content": {

+ 3 - 3
src/SManagement/personal_target/components/table.vue

@@ -6,12 +6,12 @@
       :height="height"
       size="small">
       <el-table-column
-        prop="depname"
+        prop="depfullname"
         label="部门"
         width="120"
         fixed>
         <template slot-scope="scope">
-          <p>{{scope.row.depname}}</p>
+          <p>{{scope.row.depfullname.substring(scope.row.depfullname.lastIndexOf("/",scope.row.depfullname.lastIndexOf('/')-1) + 1)}}</p>
         </template>
       </el-table-column>
       <el-table-column
@@ -490,7 +490,7 @@ export default {
           "pageNumber": 1,
           "pageSize": 20,
           "year": '',
-          "type":1,
+          "type":3,
           "where":{
               "condition":""//支持部门名称查询
           }

+ 6 - 6
src/SManagement/project_target/components/selectPanel.vue

@@ -2,10 +2,10 @@
   <div class="select">
 <!--    <div class="year">
       <span class="search__label">年度:</span>
-      <el-date-picker 
-        v-model="year" 
-        type="year" 
-        placeholder="选择年" 
+      <el-date-picker
+        v-model="year"
+        type="year"
+        placeholder="选择年"
         size="small"
         @change="yearChange"
         :clearable="false">
@@ -39,7 +39,7 @@ export default {
   data () {
     return {
       year: String(new Date().getFullYear()),
-      target:'1',
+      target:'3',
       search:'',
       yearOptions:[],
       options: [
@@ -65,7 +65,7 @@ export default {
       this.$emit('clearData')
     },
     change(data) {
-      this.$emit('targetChange',data)      
+      this.$emit('targetChange',data)
     },
     yearChange(data){
       this.$emit('yearChange',data)

+ 3 - 3
src/SManagement/project_target/components/table.vue

@@ -17,12 +17,12 @@
       size="small"
       :row-class-name="tableRowClassName">
       <el-table-column
-        prop="depname"
+        prop="depfullname"
         label="部门"
         width="120"
         fixed>
         <template slot-scope="scope">
-          <p>{{scope.row.depname}}</p>
+          <p>{{scope.row.depfullname.substring(scope.row.depfullname.lastIndexOf("/",scope.row.depfullname.lastIndexOf('/')-1) + 1)}}</p>
         </template>
       </el-table-column>
       <el-table-column
@@ -524,7 +524,7 @@ export default {
           "pageNumber": 1,
           "pageSize": 20,
             "year": '',
-            "type":1,
+            "type":3,
             "where":{
                 "condition":''//支持部门名称查询
             }

+ 9 - 0
src/style/style.css

@@ -229,3 +229,12 @@ ul{
   text-decoration: underline;
   cursor: pointer;
 }
+.title-font{
+  font-size: 18px;
+  color: #666
+}
+.content-title{
+  font-size: 12px;
+  color: #888;
+  text-align: center;
+}