Browse Source

销售目标页面调整

qymljy 1 year ago
parent
commit
06101332ba

+ 30 - 0
src/HDrpManagement/dataanalysis/index.vue

@@ -0,0 +1,30 @@
+<template>
+  <normalLayout>
+    <template #content>
+      <div style="padding: 20px">
+        <div class="mt-10">
+          <label  class="search__label" >范围:</label>
+          <el-select class="inline-24" v-model="tabName" placeholder="请选择数据分类" @change="selectChange" size="small" >
+            <el-option
+                v-for="item in editableTabs"
+                :key="item.index"
+                :label="item.templetname"
+                :value="item.templetid"
+            ></el-option>
+          </el-select>
+        </div>
+      </div>
+
+    </template>
+  </normalLayout>
+</template>
+
+<script>
+export default {
+  name: "index"
+}
+</script>
+
+<style scoped>
+
+</style>

+ 21 - 9
src/HDrpManagement/workReport/modules/reportSet/components/add.vue

@@ -66,32 +66,32 @@
                 <div class="report-people" >
                   <div class="report-people_header">
                     <div class="normal-title" style="font-size:14px;margin-right:10px">汇报部门</div>
-                    <addDepartment @selectPeople="selectPeopleFun" v-model="form.hrids"></addDepartment>
+                    <addDepartment @selectDepartment="selectDepartmentFun" v-model="form.hrids"></addDepartment>
                   </div>
                   <el-form-item label-width="20px" prop="hrids">
                     <el-table
                         ref="table"
-                        :data="selectPeople"
+                        :data="selectDepartment"
                         style="width: 100%"
                         size="mini"
                         v-model="form.hrids"
                         border>
                       <el-table-column
-                          prop="hrcode"
+                          prop="depno"
                           label="编号">
                       </el-table-column>
                       <el-table-column
-                          prop="depname"
+                          prop="label"
                           label="部门">
                       </el-table-column>
                       <el-table-column
-                          prop="上级部门"
-                          label="职位">
+                          prop="parentname"
+                          label="上级部门">
                       </el-table-column>
                       <el-table-column
                           label="操作">
                         <template slot-scope="scope">
-                          <el-button type="text" size="mini" @click="delSelecrPeople(scope.row)">删 除</el-button>
+                          <el-button type="text" size="mini" @click="delSelecrDepartment(scope.row)">删 除</el-button>
                         </template>
                       </el-table-column>
                     </el-table>
@@ -225,7 +225,8 @@ export default {
       },
       selectPeople:[],
       selectReport:[],
-      selectOption:[]
+      selectOption:[],
+      selectDepartment:[]
     }
   },
   watch: {
@@ -258,7 +259,7 @@ export default {
     },
     selectPeopleFun (data) {
       let result = data
-      console.log(result);
+      console.log(result,'iii');
       result = result.filter(item => {
         let is = this.selectPeople.every(item2 => {
           return item.hrid != item2.hrid
@@ -267,6 +268,13 @@ export default {
       })
       this.selectPeople.push(...result)
     },
+    selectDepartmentFun(data){
+      let result = []
+      result[0] = data
+      console.log(result,'部门')
+      this.selectDepartment.push(...result)
+      console.log(this.selectDepartment,'bumen')
+    },
     selectOptionFun (data) {
       this.form.sys_workreportpresetids = [1]
       console.log(data);
@@ -280,6 +288,9 @@ export default {
       console.log(data);
       this.selectPeople.splice(this.selectPeople.findIndex(item => item.hrid == data.hrid),1)
     },
+    delSelecrDepartment(data) {
+      this.selectDepartment.splice(this.selectDepartment.findIndex(item => item.departmentid == data.departmentid),1)
+    },
     delOption (data) {
       this.selectOption.splice(this.selectOption.findIndex(item => item.sys_workreportpresetid == data.sys_workreportpresetid),1)
       if (!this.selectOption.length) this.form.sys_workreportpresetids = []
@@ -290,6 +301,7 @@ export default {
       })
       this.form.hrids = this.selectPeople.map(item => item.hrid)
       this.form.reporttohrids = this.selectReport.map(item => item.hrid)
+      this.form.departmentids = this.selectDepartment.map(item => item.departmentid)
       this.$refs['form'].validate(async (valid) => {
         if (!valid) return false
         const res = await this.$api.requested({

+ 96 - 44
src/HDrpManagement/workReport/modules/reportSet/components/addDepartment.vue

@@ -1,16 +1,34 @@
 <template>
   <div>
-    <el-button size="mini" type="primary" @click="addBtn">添 加</el-button>
-    <el-drawer title="添加人员" append-to-body :show-close="false" :visible.sync="dialog" size="1000px">
-      <div slot="title" style="font-size: 15px">
-        添加人员
-      </div>
-
-    </el-drawer>
+    <el-popover
+        placement="bottom"
+        width="400"
+        trigger="click"
+        v-model="visible">
+      <el-tree
+          :data="deplist"
+          node-key="id"
+          default-expand-all
+          highlight-current
+          :expand-on-click-node="false"
+          @node-click="nodeClick"
+      >
+                  <span class="custom-tree-node" slot-scope="{ node, data }">
+                    <span>{{ node.label }}</span>
+                    <span>
+                      <el-button size="small" type="text" @click="selectDep(data,visible=false)" v-if="data.departmentid === pointValue" style="color: #FFFFFF">选 择</el-button>
+                      <el-button size="small" type="text" @click="selectDep(data,visible=false)" v-else >选 择</el-button>
+                    </span>
+                  </span>
+      </el-tree>
+<!--      <el-input slot="reference" v-model="form.depname" readonly placeholder="请选择" autocomplete="off"></el-input>-->
+      <el-button slot="reference" size="mini" type="primary" @click="addBtn">添 加</el-button>
+    </el-popover>
   </div>
 </template>
 
 <script>
+import {mapGetters} from 'vuex'
 import selectTable from '@/components/selectTable/index'
 export default {
   name: "addDepartment",
@@ -18,7 +36,9 @@ export default {
   components:{selectTable},
   data(){
     return {
-      dialog:false,
+      visible:false,
+      deplist:[],
+      pointValue:'',
       list:[],
       tablecols:[],
       result:[],
@@ -37,49 +57,81 @@ export default {
     }
   },
   methods:{
-    addBtn () {
-      this.dialog = true
-      this.listData()
+    selectDep  (data) {
+      console.log(data,'选择数据')
+      /*let obj = {
+        depname:data.label,
+        departmentid:data.departmentid
+      }
+      this.form = Object.assign({},this.form,obj)*/
+      this.showTree = !this.showTree
+      this.$emit('selectDepartment',data)
     },
-    async listData () {
-      this.params.content.sys_workreportmodelid = this.data ? this.data.sys_workreportmodelid : 0
-      let res = await this.$api.requested(this.params)
-      this.list = res.data
-      this.total = res.total
-      console.log(this.list);
+    nodeClick(val){
+      this.pointValue = val.departmentid
     },
-    onSubmit(){
-      this.$emit('selectPeople',this.selectPeople)
-      this.dialog = false
+    addBtn () {
+      this.department()
+      console.log(this.deplist,'数据111')
+
+      /*this.dialog = true
+      this.listData()*/
     },
-    async allData () {
-      let param = JSON.parse(JSON.stringify(this.params))
-      param.content.pageSize = 9999999
-      let res = await this.$api.requested(param)
-      this.$confirm(`总共有${res.total}位员工,是否选中`,'提示',{
-        confirmButtonText:'确定',
-        cancelButtonText:'取消',
-        type:'warning'
-      }).then(() => {
-        if (res.data.length) this.$emit('selectPeople',res.data)
-        this.dialog = false
+    async department () {
+      const res = await this.$api.requested({
+        "classname": "webmanage.department.department",
+        "method": "querydepartment",
+        "content": {
+        }
       })
+      // 数据格式转换成elementui-tree所需的格式
+      this.responseData = res.data
+      console.log(this.responseData,'部门数据')
+      this.deplist = this.createMenu(res.data)
+      // this.$store.dispatch('setDeplistData',this.deplist)
+
+      /*this.$emit('onClick',{data:this.deplist[0],parent:[]})
+      callback?callback():''*/
+      // 如果存在默认组织数据就执行
     },
-    selectChange (data) {
-      this.selectPeople = data
-    },
-    upDateData (data) {
-      this.selectPeople = data
+    createMenu (array) {
+      var that = this
+      let arr = []
+      function convertToElementTree(node) {
+        // 新节点
+        var elNode = {
+          label: node["depname"],
+          parentid:node['parentid'],
+          parentname:node['parentname'],
+          departmentid:node["departmentid"],
+          value:node["departmentid"],
+          remarks:node["remarks"],
+          isused:node["isused"],
+          changedate:node['changedate'],
+          changeby:node['changeby'],
+          createdate:node['createdate'],
+          createby:node['createby'],
+          depno:node['depno'],
+          disabled:that.pageOnlyRead,
+          children: []
+        }
+
+        if (node.subdep && node.subdep.length > 0) {
+          // 如果存在子节点
+          for (var index = 0; index < node.subdep.length; index++) {
+            // 遍历子节点, 把每个子节点看做一颗独立的树, 传入递归构造子树, 并把结果放回到新node的children中
+            elNode.children.push(convertToElementTree(node.subdep[index]));
+          }
+        }
+        return elNode;
+      }
+      array.forEach((element) => {
+        arr.push(convertToElementTree(element))
+      });
+      return arr
     },
-    handleCurrentChange (val) {
-      this.params.content.pageNumber = val
-      this.listData()
-    }
 
-  },
-  created () {
-    this.listData()
-    this.tablecols = this.tool.tabelCol(this.$route.name).reportDepmentTable.tablecols.splice(0,3)
+
   }
 }
 </script>

+ 140 - 52
src/HDrpManagement/workReport/modules/reportSet/components/edit.vue

@@ -21,56 +21,97 @@
                 </el-col>
               </el-row>
             </div>
-            <div class="report-people">
-              <div class="report-people_header">
-                <div class="normal-title" style="font-size:14px;margin-right:10px">汇报人员</div>
-                <addPeople :data="data" @selectPeople="selectPeopleFun" v-model="form.hrids"></addPeople>
-              </div>
-              <el-form-item label-width="20px" prop="hrids">
-              <el-table
-                ref="table"
-                :data="selectPeople"
-                style="width: 100%"
-                size="mini"
-                v-model="form.hrids"
-                height="400px"
-                border>
-                <el-table-column
-                  prop="hrcode"
-                  label="编号">
-                </el-table-column>
-                <el-table-column
-                  prop="name"
-                  label="姓名">
-                </el-table-column>
-                <el-table-column
-                  prop="depname"
-                  label="部门">
-                </el-table-column>
-                <el-table-column
-                  prop="position"
-                  label="职位">
-                </el-table-column>
-                <el-table-column
-                  label="操作">
-                  <template slot-scope="scope">
-                    <el-button type="text" size="mini" @click="delSelecrPeople(scope.row)">删 除</el-button>
-                  </template>
-                </el-table-column>
-              </el-table>
-              <div style="margin-top:16px;text-align:right">
-                <el-pagination
-                  background
-                  small
-                  @current-change="peopleCurrentChange"
-                  :current-page="selectPeopleParam.content.pageNumber"
-                  :page-size="selectPeopleParam.content.pageSize"
-                  layout="total, prev, pager, next, jumper"
-                  :total="peopleTotal">
-                </el-pagination>
-              </div>
-              </el-form-item>
-            </div>
+            <el-row>
+              <el-col :span="24">
+                <div class="report-people">
+                  <div class="report-people_header">
+                    <div class="normal-title" style="font-size:14px;margin-right:10px">汇报人员</div>
+                    <addPeople :data="data" @selectPeople="selectPeopleFun" v-model="form.hrids"></addPeople>
+                  </div>
+                  <el-form-item label-width="20px" prop="hrids">
+                    <el-table
+                        ref="table"
+                        :data="selectPeople"
+                        style="width: 100%"
+                        size="mini"
+                        v-model="form.hrids"
+                        height="400px"
+                        border>
+                      <el-table-column
+                          prop="hrcode"
+                          label="编号">
+                      </el-table-column>
+                      <el-table-column
+                          prop="name"
+                          label="姓名">
+                      </el-table-column>
+                      <el-table-column
+                          prop="depname"
+                          label="部门">
+                      </el-table-column>
+                      <el-table-column
+                          prop="position"
+                          label="职位">
+                      </el-table-column>
+                      <el-table-column
+                          label="操作">
+                        <template slot-scope="scope">
+                          <el-button type="text" size="mini" @click="delSelecrPeople(scope.row)">删 除</el-button>
+                        </template>
+                      </el-table-column>
+                    </el-table>
+                    <div style="margin-top:16px;text-align:right">
+                      <el-pagination
+                          background
+                          small
+                          @current-change="peopleCurrentChange"
+                          :current-page="selectPeopleParam.content.pageNumber"
+                          :page-size="selectPeopleParam.content.pageSize"
+                          layout="total, prev, pager, next, jumper"
+                          :total="peopleTotal">
+                      </el-pagination>
+                    </div>
+                  </el-form-item>
+                </div>
+              </el-col>
+<!--              <el-col :span="12">
+                <div class="report-people" >
+                  <div class="report-people_header">
+                    <div class="normal-title" style="font-size:14px;margin-right:10px">汇报部门</div>
+                    <addDepartment @selectDepartment="selectDepartmentFun" v-model="form.hrids"></addDepartment>
+                  </div>
+                  <el-form-item label-width="20px" prop="hrids">
+                    <el-table
+                        ref="table"
+                        :data="selectDepartment"
+                        style="width: 100%"
+                        size="mini"
+                        v-model="form.hrids"
+                        border>
+                      <el-table-column
+                          prop="depno"
+                          label="编号">
+                      </el-table-column>
+                      <el-table-column
+                          prop="depname"
+                          label="部门">
+                      </el-table-column>
+                      <el-table-column
+                          prop="parentname"
+                          label="上级部门">
+                      </el-table-column>
+                      <el-table-column
+                          label="操作">
+                        <template slot-scope="scope">
+                          <el-button type="text" size="mini" @click="delSelecrDepartment(scope.row)">删 除</el-button>
+                        </template>
+                      </el-table-column>
+                    </el-table>
+                  </el-form-item>
+                </div>
+              </el-col>-->
+            </el-row>
+
             <div class="report-people">
               <div class="report-people_header">
                 <div class="normal-title" style="font-size:14px;margin-right:10px">汇报内容预设</div>
@@ -155,10 +196,11 @@
 import selectTeam from './teamSelect'
 import addPeople from './addPeople'
 import addOption from './addOption'
+import addDepartment from './addDepartment'
 export default {
   name: "add",
   props:['data'],
-  components:{selectTeam,addPeople,addOption},
+  components:{selectTeam,addPeople,addOption,addDepartment},
   data(){
     return {
       dialog:false,
@@ -196,6 +238,7 @@ export default {
       selectPeople:[],
       selectReport:[],
       selectOption:[],
+      selectDepartment:[],
       selectPeopleParam: {
         "id": "20230522140702",
         "content": {
@@ -218,6 +261,17 @@ export default {
             }
         },
       },
+      selectDepartmentParam: {
+        "id": "20230619103402",
+        "content": {
+          "sys_workreportmodelid": '',
+          "pageNumber": 1,
+          "pageSize": 20,
+          "where": {
+            "condition": ""
+          }
+        },
+      },
       peopleTotal:0
     }
   },
@@ -228,6 +282,7 @@ export default {
       this.getDepList()
       this.getSelectPeople()
       this.getselectOption()
+      this.getSelectDepartment()
     },
     async getDetail (init) {
       let res = await this.$api.requested({
@@ -242,7 +297,7 @@ export default {
       } else {
         this.selectReport = res.data.reportuser
       }
-      console.log(this.form);
+      console.log(this.form,'编辑数据');
     },
     async getpeopleList () {
       let res = await this.$api.requested({
@@ -276,6 +331,11 @@ export default {
       this.selectOption = res.data
       console.log(this.selectOption);
     },
+    async getSelectDepartment(){
+      this.selectDepartmentParam.content.sys_workreportmodelid = this.data.sys_workreportmodelid
+      const res = await this.$api.requested(this.selectDepartmentParam)
+      this.selectDepartment = res.data
+    },
     async selectPeopleFun (data) {
       let id = data.map(item => item.hrid)
       let res = await this.$api.requested({
@@ -310,6 +370,21 @@ export default {
         this.getselectOption()
       })
     },
+    async selectDepartmentFun(data){
+     /* let result = []
+      result[0] = data
+      this.selectDepartment.push(...result)*/
+      let res = await this.$api.requested({
+        "id": 20230619100102,
+        "content": {
+          "sys_workreportmodelid": this.data.sys_workreportmodelid,
+          "departmentids": [data.departmentid]
+        },
+      })
+      this.tool.showMessage(res,()=>{
+        this.getSelectDepartment()
+      })
+    },
     async delSelecrPeople (data) {
       let res = await this.$api.requested({
           "id": "20230522101502",
@@ -323,6 +398,18 @@ export default {
         this.selectPeople.splice(this.selectPeople.findIndex(item => item.hrid == data.hrid),1)
       })
     },
+    async delSelecrDepartment(data) {
+      const res = await this.$api.requested({
+        "id": 20230619101102,
+        "content": {
+          "sys_workreportmodelid": 1,
+          "departmentids": [data.departmentid]
+        },
+      })
+      this.tool.showMessage(res,()=>{
+        this.selectDepartment.splice(this.selectDepartment.findIndex(item => item.departmentid == data.departmentid),1)
+      })
+    },
     async delOption (data) {
       let res = await this.$api.requested({
           "id": "20230522143402",
@@ -352,6 +439,7 @@ export default {
       })
       this.form.hrids = res2.data.map(item => item.hrid)
       this.form.reporttohrids = this.selectReport.map(item => item.hrid)
+      this.form.departmentids = this.selectDepartment.map(item => item.departmentid)
       this.$refs['form'].validate(async (valid) => {
         if (!valid) return false
         const res = await this.$api.requested({

+ 3 - 3
src/HDrpManagement/workReport/modules/reportSet/index.vue

@@ -28,7 +28,7 @@
             label="操作"
             width="120">
             <template slot-scope="scope">
-              <Edit class="inline-16" :data="scope.row"></Edit>
+              <Edit class="inline-16" :data="scope.row" @onSuccess="getModelList()"></Edit>
               <customBtn
                 class="inline-16"
                 btnName="删 除"
@@ -44,7 +44,7 @@
         </el-table>
       </div>
     </el-drawer>
-    
+
   </div>
 </template>
 
@@ -89,4 +89,4 @@ export default {
 
 <style scoped>
 
-</style>
+</style>

+ 23 - 7
src/HManagement/personalTarget/personalTargetStatistics/index.vue

@@ -5,7 +5,7 @@
       <el-button size="small" type="primary" plain @click="exportData" v-if="tool.checkAuth($route.name,'export')">导出</el-button>
     </div>
     <div slot="refresh">
-      <img style="width: 20px; height: 20px;" @click="enterFullscreen" src="@/assets/icons/amplify.svg" title="全屏">
+      <img style="width: 16px; height: 16px;" @click="enterFullscreen" src="@/assets/icons/amplify.svg" title="全屏">
     </div>
     <div slot="content">
 <!--      <div class="container normal-panel" style="padding-bottom:0">
@@ -36,10 +36,10 @@
           </el-form-item>
 
         </el-form>
-        <div id="fulltable" style="background: #FFFFFF;padding:10px">
+        <div id="fulltable" :style="style">
           <div style="margin-bottom: 10px" v-if="onBack">
             <span class="inline-16" style="font-weight: bold">人员目标</span>
-            <img style="width: 20px; height: 20px;float: right" @click="backFullscreen"
+            <img style="width: 16px; height: 16px;float: right" @click="backFullscreen"
                   src="@/assets/icons/reduce.svg" title="还原">
           </div>
 
@@ -522,7 +522,7 @@ export default {
       onBack:false,
       tableData:[],
       currentPage:0,
-      height:'calc(100vh - 350px)',
+      height:'calc(100vh - 330px)',
       target:'1',
       yearData:[],
       options: [
@@ -544,6 +544,10 @@ export default {
             "condition":""//支持部门名称查询
           }
         }
+      },
+      style:{
+        background: '#FFFFFF',
+        padding:'0px'
       }
     }
   },
@@ -610,7 +614,7 @@ export default {
     enterFullscreen(){
       /* 获取(<html>)元素以全屏显示页面 */
       this.height = 'calc(100vh - 100px)'
-      this.onBack = true
+    /*  this.onBack = true*/
       const full = document.getElementById('fulltable')
       if (full.RequestFullScreen) {
         full.RequestFullScreen()
@@ -627,8 +631,8 @@ export default {
     },
     /*全屏还原*/
     backFullscreen(){
-      this.onBack = false
-      this.height = 'calc(100vh - 350px)'
+      /*this.onBack = false
+      this.height = 'calc(100vh - 350px)'*/
       if (document.exitFullscreen) {
         document.exitFullscreen();
       } else if (document.webkitCancelFullScreen) {
@@ -644,6 +648,18 @@ export default {
     this.queryData()
     const siteid = JSON.parse(sessionStorage.getItem('active_account')).siteid
     this.yearList(siteid)
+    let that = this
+    window.addEventListener('resize', function () {
+      if (that.onBack){
+        that.onBack = false
+        that.height = 'calc(100vh - 330px)'
+        that.style.padding = '0px'
+      }else {
+        that.onBack = true
+        that.height = 'calc(100vh - 100px)'
+        that.style.padding = '10px'
+      }
+    });
   }
 }
 

+ 24 - 7
src/HManagement/personalTarget/target/modules/edit/components/table.vue

@@ -1,12 +1,13 @@
 <template>
   <div>
+    <span class="inline-16"  style="font-weight: bold">人员目标</span>
     <div style="float: right">
-      <img style="width: 20px; height: 20px;" @click="enterFullscreen" src="@/assets/icons/amplify.svg" title="全屏">
+      <img style="width: 16px; height: 16px;" @click="enterFullscreen" src="@/assets/icons/amplify.svg" title="全屏">
     </div>
-    <div id="fulltable" style="background: #FFFFFF;padding:10px">
+    <div id="fulltable" :style="style">
       <div style="margin-bottom: 10px">
         <span class="inline-16" v-if="onBack" style="font-weight: bold">人员目标</span>
-        <img style="width: 20px; height: 20px;float: right" @click="backFullscreen"
+        <img style="width: 16px; height: 16px;float: right" @click="backFullscreen"
              v-if="onBack" src="@/assets/icons/reduce.svg" title="还原">
       </div>
 
@@ -374,7 +375,7 @@ export default {
   data () {
     return {
       onBack:false,
-      height:'calc(100vh - 350px)',
+      height:'calc(100vh - 330px)',
       tableData:[],
       total:0,
       currentPage:0,
@@ -388,6 +389,10 @@ export default {
             "condition":""
           }
         }
+      },
+      style:{
+        background: '#FFFFFF',
+        padding:'0px'
       }
     }
   },
@@ -414,7 +419,7 @@ export default {
     enterFullscreen(){
       /* 获取(<html>)元素以全屏显示页面 */
       this.height = 'calc(100vh - 100px)'
-      this.onBack = true
+      /*this.onBack = true*/
       const full = document.getElementById('fulltable')
       if (full.RequestFullScreen) {
         full.RequestFullScreen()
@@ -431,8 +436,8 @@ export default {
     },
     /*全屏还原*/
     backFullscreen(){
-      this.onBack = false
-      this.height = 'calc(100vh - 350px)'
+      /*this.onBack = false
+      this.height = 'calc(100vh - 350px)'*/
       if (document.exitFullscreen) {
         document.exitFullscreen();
       } else if (document.webkitCancelFullScreen) {
@@ -450,6 +455,18 @@ export default {
   },
   mounted () {
    /*this.queryData(this.year)*/
+    let that = this
+    window.addEventListener('resize', function () {
+      if (that.onBack){
+        that.onBack = false
+        that.height = 'calc(100vh - 330px)'
+        that.style.padding = '0px'
+      }else {
+        that.onBack = true
+        that.height = 'calc(100vh - 100px)'
+        that.style.padding = '10px'
+      }
+    });
   }
 }
 

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

@@ -27,7 +27,7 @@
       </div>
 
       <div slot="slot0">
-        <targetTable ref="list" class="container normal-panel">
+        <targetTable ref="list" class="">
           <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>

+ 24 - 8
src/HManagement/projectTarget/projectTargetStatistics/index.vue

@@ -2,10 +2,10 @@
 <div>
   <normalLayout @onRefresh="inputChange">
     <div slot="titleRight">
-      <el-button size="small" type="primary" plain @click="exportData" v-if="tool.checkAuth($route.name,'export')">导出</el-button>
+      <el-button size="small" type="primary" plain @click="exportData" v-if="tool.checkAuth($route.name,'export')">导222出</el-button>
     </div>
     <div slot="refresh">
-      <img style="width: 20px; height: 20px;" @click="enterFullscreen" src="@/assets/icons/amplify.svg" title="全屏">
+      <img style="width: 16px; height: 16px;" @click="enterFullscreen" src="@/assets/icons/amplify.svg" title="全屏">
     </div>
     <div slot="content">
 <!--      <div class="container normal-panel" style="padding-bottom:0">
@@ -38,10 +38,10 @@
           </el-form-item>
 
         </el-form>
-        <div id="fulltable" style="background: #FFFFFF;padding:10px">
+        <div id="fulltable" :style="style">
           <div style="margin-bottom: 10px" v-if="onBack">
             <span class="inline-16" style="font-weight: bold">项目目标</span>
-            <img style="width: 20px; height: 20px;float: right" @click="backFullscreen"
+            <img style="width: 16px; height: 16px;float: right" @click="backFullscreen"
                   src="@/assets/icons/reduce.svg" title="还原">
           </div>
 
@@ -537,7 +537,7 @@ export default {
       tableData:[],
       yearData:[],
       onBack:false,
-      height:'calc(100vh - 350px)',
+      height:'calc(100vh - 330px)',
       year:String((new Date()).getFullYear()),
       condition:'',
       total:0,
@@ -557,6 +557,10 @@ export default {
             "condition":''
           }
         }
+      },
+      style:{
+        background: '#FFFFFF',
+        padding:'0px'
       }
     }
   },
@@ -619,7 +623,7 @@ export default {
     enterFullscreen(){
       /* 获取(<html>)元素以全屏显示页面 */
       this.height = 'calc(100vh - 100px)'
-      this.onBack = true
+     /* this.onBack = true*/
       const full = document.getElementById('fulltable')
       if (full.RequestFullScreen) {
         full.RequestFullScreen()
@@ -636,8 +640,8 @@ export default {
     },
     /*全屏还原*/
     backFullscreen(){
-      this.onBack = false
-      this.height = 'calc(100vh - 350px)'
+    /*  this.onBack = false
+      this.height = 'calc(100vh - 350px)'*/
       if (document.exitFullscreen) {
         document.exitFullscreen();
       } else if (document.webkitCancelFullScreen) {
@@ -653,6 +657,18 @@ export default {
     this.queryData()
     const siteid = JSON.parse(sessionStorage.getItem('active_account')).siteid
     this.yearList(siteid)
+    let that = this
+    window.addEventListener('resize', function () {
+      if (that.onBack){
+        that.onBack = false
+        that.height = 'calc(100vh - 330px)'
+        that.style.padding = '0px'
+      }else {
+        that.onBack = true
+        that.height = 'calc(100vh - 100px)'
+        that.style.padding = '10px'
+      }
+    });
   }
 }
 

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

@@ -1,11 +1,12 @@
 <template>
   <div>
     <div>
-      <img style="width: 20px; height: 20px;margin-bottom:10px;float: right" @click="enterFullscreen" src="@/assets/icons/amplify.svg" title="全屏">
-      <div id="fulltable" style="background: #FFFFFF;padding:10px">
+      <span class="inline-16"  style="font-weight: bold;">项目目标</span>
+      <img style="width: 16px; height: 16px;margin-bottom:10px;float: right" @click="enterFullscreen" src="@/assets/icons/amplify.svg" title="全屏">
+      <div id="fulltable" :style="style">
         <div style="margin-bottom: 10px">
           <span class="inline-16" v-if="onBack" style="font-weight: bold;">项目目标</span>
-          <img style="width: 20px; height: 20px;float: right" @click="backFullscreen"
+          <img style="width: 16px; height: 16px;float: right" @click="backFullscreen"
                v-if="onBack" src="@/assets/icons/reduce.svg" title="还原">
         </div>
 
@@ -419,6 +420,10 @@ export default {
             "condition":""
           }
         }
+      },
+      style:{
+        background: '#FFFFFF',
+        padding:'0px'
       }
     }
   },
@@ -443,7 +448,7 @@ export default {
     enterFullscreen(){
       /* 获取(<html>)元素以全屏显示页面 */
       this.height = 'calc(100vh - 100px)'
-      this.onBack = true
+      /*this.onBack = true*/
       const full = document.getElementById('fulltable')
       if (full.RequestFullScreen) {
         full.RequestFullScreen()
@@ -460,8 +465,8 @@ export default {
     },
     /*全屏还原*/
     backFullscreen(){
-      this.onBack = false
-      this.height = 'calc(100vh - 350px)'
+     /* this.onBack = false
+      this.height = 'calc(100vh - 350px)'*/
       if (document.exitFullscreen) {
         document.exitFullscreen();
       } else if (document.webkitCancelFullScreen) {
@@ -474,6 +479,18 @@ export default {
     }
   },
   mounted () {
+    let that = this
+    window.addEventListener('resize', function () {
+      if (that.onBack){
+        that.onBack = false
+        that.height = 'calc(100vh - 330px)'
+        that.style.padding = '0px'
+      }else {
+        that.onBack = true
+        that.height = 'calc(100vh - 100px)'
+        that.style.padding = '10px'
+      }
+    });
   }
 }
 

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

@@ -28,7 +28,7 @@
 
       <div slot="slot0">
         <!-- projectTargetManage -->
-        <targetTable ref="list" class="container normal-panel">
+        <targetTable ref="list" class="">
 <!--          <template  v-slot:editTarget="scope">
             <editTarget v-if="tool.checkAuth($route.name,'update')" style="display:inline" :year="mainInfo.year" :data="scope.data" @onSuccess="onSuccess"></editTarget>
           </template>-->
@@ -161,7 +161,7 @@ export default {
           "year":this.mainData.year
         },
       })
-      if (res1.msg !== '成功') { 
+      if (res1.msg !== '成功') {
         this.errorurl = res1.msg
       } else {
         this.errorurl = null
@@ -182,4 +182,4 @@ export default {
 
 </script>
 <style>
-</style>
+</style>

+ 28 - 13
src/SManagement/personal_target/index.vue

@@ -4,7 +4,7 @@
       <el-button type="primary" plain size="small" class="inline-16" @click="export1" v-if="tool.checkAuth($route.name,'export')">导出</el-button>
     </div>
     <div slot="refresh">
-      <img style="width: 20px; height: 20px;" @click="enterFullscreen" src="@/assets/icons/amplify.svg" title="全屏">
+      <img style="width: 16px; height: 16px;" @click="enterFullscreen" src="@/assets/icons/amplify.svg" title="全屏">
     </div>
     <div slot="content">
       <div class="personal-target">
@@ -18,9 +18,9 @@
               @searchActive="searchActive"
               @clearData="searchClear"
           />
-          <div id="fulltable" style="background: #FFFFFF;padding:10px">
+          <div id="fulltable" :style="style">
             <span class="inline-16" v-if="onBack" style="font-weight: bold">人员目标</span>
-            <img style="width: 20px; height: 20px;float: right" @click="backFullscreen"
+            <img style="width: 16px; height: 16px;float: right" @click="backFullscreen"
                  v-if="onBack" src="@/assets/icons/reduce.svg" title="还原">
             <Table ref="table" :height="height" >
               <!--            <template v-slot:detail="scope">
@@ -62,13 +62,18 @@ export default {
       onBack:false,
       yearData:[],
       height1:'calc(100vh - 120px)',
-      height:'calc(100vh - 350px)',
+      height:'calc(100vh - 330px)',
       tablecols:'',
       placeholder:'请输入姓名/部门',
       list:'',
       reslut:'',
       drawer:false,
-      dialogVisible:false
+      dialogVisible:false,
+      isFullScreen:false,
+      style:{
+        background: '#FFFFFF',
+        padding:'0px'
+      }
     };
   },
   components: { Header, selectPanel , Table},
@@ -80,16 +85,15 @@ export default {
     },
     DrawerShow (val) {
       val ? this.drawer = true : this.drawer = false
-    }
+    },
   },
   computed: {
     ...mapGetters({
       DrawerShow:'DrawerShow'
     })
   },
-  created() {
-  },
   methods: {
+
     closeDrawer () {
       this.$router.push('/sm_personalTarget')
       this.$store.dispatch('DrawerShowChange',false)
@@ -145,8 +149,8 @@ export default {
     /*全屏*/
     enterFullscreen(){
       /* 获取(<html>)元素以全屏显示页面 */
-      this.height = 'calc(100vh - 100px)'
-      this.onBack = true
+     /* this.height = 'calc(100vh - 100px)'*/
+     /* this.onBack = true*/
       const full = document.getElementById('fulltable')
       if (full.RequestFullScreen) {
         full.RequestFullScreen()
@@ -163,8 +167,6 @@ export default {
     },
     /*全屏还原*/
     backFullscreen(){
-      this.onBack = false
-      this.height = 'calc(100vh - 350px)'
       if (document.exitFullscreen) {
         document.exitFullscreen();
       } else if (document.webkitCancelFullScreen) {
@@ -179,7 +181,20 @@ export default {
   mounted() {
     const siteid = JSON.parse(sessionStorage.getItem('active_account')).siteid
     this.yearList(siteid)
-  }
+    let that = this
+    window.addEventListener('resize', function () {
+      if (that.onBack){
+        that.onBack = false
+        that.height = 'calc(100vh - 330px)'
+        that.style.padding = '0px'
+      }else {
+        that.onBack = true
+        that.height = 'calc(100vh - 100px)'
+        that.style.padding = '10px'
+      }
+    });
+  },
+
 };
 </script>
 

+ 22 - 10
src/SManagement/project_target/index.vue

@@ -4,15 +4,15 @@
       <el-button type="primary" plain size="small" @click="export1" v-if="tool.checkAuth($route.name,'export')">导出</el-button>
     </div>
     <div slot="refresh">
-      <i class="el-icon-refresh inline-16" @click="refresh" ></i>
-      <img style="width: 20px; height: 20px;" @click="enterFullscreen" src="@/assets/icons/amplify.svg" title="全屏">
+<!--      <i class="el-icon-refresh inline-16" @click="refresh" ></i>-->
+      <img style="width: 16px; height: 16px;" @click="enterFullscreen" src="@/assets/icons/amplify.svg" title="全屏">
       <!--      <el-button  icon="el-icon-refresh" @click="refresh"></el-button>-->
     </div>
     <div slot="content">
       <div class="personal-target">
         <div class="container normal-panel" id="fulltable">
           <span class="inline-16" v-if="onBack" style="font-weight: bold">项目目标</span>
-          <img style="width: 20px; height: 20px;float: right" @click="backFullscreen"
+          <img style="width: 16px; height: 16px;float: right" @click="backFullscreen"
                v-if="onBack" src="@/assets/icons/reduce.svg" title="还原">
           <table1 ref="table" :data="hrid" style="margin-top: 10px" :height="height">
             <template v-slot:detail="scope">
@@ -55,7 +55,11 @@ export default {
       onBack:false,
       drawer:false,
       session:[],
-      hrid:''
+      hrid:'',
+      style:{
+        background: '#FFFFFF',
+        padding:'0px'
+      }
     };
   },
   components: { Header , table1},
@@ -107,9 +111,6 @@ export default {
     /*全屏*/
     enterFullscreen(){
       /* 获取(<html>)元素以全屏显示页面 */
-      this.height = 'calc(100vh - 100px)'
-      this.onBack = true
-      this.$refs.table.onSelect = false
       const full = document.getElementById('fulltable')
       if (full.RequestFullScreen) {
         full.RequestFullScreen()
@@ -126,9 +127,6 @@ export default {
     },
     /*全屏还原*/
     backFullscreen(){
-      this.onBack = false
-      this.$refs.table.onSelect = true
-      this.height = 'calc(100vh - 350px)'
       if (document.exitFullscreen) {
         document.exitFullscreen();
       } else if (document.webkitCancelFullScreen) {
@@ -140,6 +138,20 @@ export default {
       }
     }
   },
+  mounted() {
+    let that = this
+    window.addEventListener('resize', function () {
+      if (that.onBack){
+        that.onBack = false
+        that.height = 'calc(100vh - 350px)'
+        that.$refs.table.onSelect = true
+      }else {
+        that.onBack = true
+        that.height = 'calc(100vh - 100px)'
+        that.$refs.table.onSelect = false
+      }
+    });
+  }
 };
 </script>
 

+ 11 - 1
src/router/HDrpManagement.js

@@ -1009,6 +1009,16 @@ const HDrpManagement = [
       }
     ]
   },
-  
+  {
+    path: '/dataanalysis',
+    name: 'dataanalysis',
+    meta: {
+      title: '作业看板',
+      ast_nav: true,
+      keeproute: true,
+    },
+    component: () => import(/* webpackChunkName: "about" */ '@/HDrpManagement/dataanalysis/index')
+  }
+
 ];
 export default HDrpManagement;