Browse Source

加班情况统计修改完成

Lijy 3 years ago
parent
commit
257cf5aaeb

+ 10 - 10
fhKeeper/formulahousekeeper/timesheet/config/index.js

@@ -2,18 +2,18 @@ var path = require('path')
 
 //  var ip = '127.0.0.1'
 // var ip = '192.168.2.20'
-// var ip = '192.168.2.2'
+var ip = '192.168.2.12'
 // var ip = '47.100.37.243' 
 
-var os = require('os'), ip = '', ifaces = os.networkInterfaces() // 获取本机ip
-for (var i in ifaces) {
-    for (var j in ifaces[i]) {
-        var val = ifaces[i][j]
-        if (val.family === 'IPv4' && val.address !== '127.0.0.1') {
-            ip = val.address
-        }
-    } 
-}
+// var os = require('os'), ip = '', ifaces = os.networkInterfaces() // 获取本机ip
+// for (var i in ifaces) {
+//     for (var j in ifaces[i]) {
+//         var val = ifaces[i][j]
+//         if (val.family === 'IPv4' && val.address !== '127.0.0.1') {
+//             ip = val.address
+//         }
+//     } 
+// }
 
 module.exports = {
   build: {

+ 89 - 11
fhKeeper/formulahousekeeper/timesheet/src/views/corpreport/list.vue

@@ -280,10 +280,7 @@
             <div v-if="ins == 6" style="padding: 0 20px">
               <div class="flsx">
                 <div>
-                  <el-select v-model="proJuctId" placeholder="请选择项目" @change="selcts()" clearable >
-                    <el-option v-for="(item, index) in proList" :key="index" :label="item.projectName" :value="item.id" @change="selscts(item)"></el-option>
-                  </el-select>
-                  <el-select v-model="proJuctId" placeholder="请选择人员" @change="selcts()" clearable filterable>
+                  <el-select v-model="proJuctId" placeholder="请选择项目" @change="selcts()" clearable filterable>
                     <el-option v-for="(item, index) in proList" :key="index" :label="item.projectName" :value="item.id" @change="selscts(item)"></el-option>
                   </el-select>
                 </div>
@@ -291,10 +288,16 @@
                     <span class="demonstration">时间段</span>
                     <el-date-picker v-model="rangeDatas" type="daterange" value-format="yyyy-MM-dd" placeholder="选择开始日期" @change="picks()" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" style="width:350px" :clearable="false"> </el-date-picker>
                 </div>
+                <div style="margin-left: 30px">
+                  <el-select v-model="userId" placeholder="请选择人员" @change="selcts()" clearable filterable>
+                    <el-option v-for="(item, index) in userList" :key="index" :label="item.name" :value="item.id" @change="selscts(item)"></el-option>
+                  </el-select>
+                </div>
               </div>
               <el-table v-if="ins == 6" :key="ins" border :data="overTimeList" highlight-current-row v-loading="listLoading" :height="tableHeight" style="width: 100%;">
                 <el-table-column prop="username" label="姓名" width="180"></el-table-column> 
-                <el-table-column prop="workingTime" label="加班时长" width="180"></el-table-column> 
+                <!-- <el-table-column prop="workingTime" label="加班时长" width="180"></el-table-column>  -->
+                <el-table-column prop="overtimeHours" label="加班时长" width="180"></el-table-column> 
                 <el-table-column prop="cost" label="成本" width="180"></el-table-column> 
                 <el-table-column prop="cost" label="操作" width="180">
                     <template slot-scope="scope">
@@ -419,6 +422,19 @@
                
             </el-table>
         </el-dialog>
+
+        <!-- 加班详情 -->
+        <el-dialog title="加班详情" :visible.sync="dialogVisibleDetails" width="700px" v-loading="listLoading" :before-close="handleClose">
+          <div>
+             <el-table :data="detailsList" style="width: 100%" height="400px">
+                <el-table-column prop="createDate" label="加班日期" width="120"></el-table-column>
+                <el-table-column prop="workingTime" label="当天工作时长(h)" width="160"></el-table-column>
+                <el-table-column prop="username" label="姓名" width="120"></el-table-column>
+                <el-table-column prop="overtimeHours" label="加班时长(h)" width="130"></el-table-column>
+                <el-table-column prop="cost" label="加班成本" width="120"></el-table-column>
+             </el-table>
+          </div>
+        </el-dialog>
   </section>
 </template>
 
@@ -463,7 +479,11 @@ export default {
       proList: [],
       proJuctId: '',
       createDate: '2020-01-01',
-      rangeDatas: this.getCurrentRangeTime()
+      rangeDatas: this.getCurrentRangeTime(),
+      userId: '',
+      userList: [],
+      dialogVisibleDetails: false,
+      detailsList: []
     };
   },
   computed: {},
@@ -479,6 +499,7 @@ export default {
 
   mounted() {
     this.getProjectList();
+    this.getUserList()
   },
   filters: {
       
@@ -497,6 +518,29 @@ export default {
       }
   },
   methods: {
+    getUserList() {
+      this.http.post('/user/getEmployeeList', {
+        departmentId: -1,
+        pageIndex: 1,
+        pageSize: 99999
+      },
+      res => {
+          if (res.code == "ok") {
+              this.userList = res.data.records;
+          } else {
+              this.$message({
+                message: res.msg,
+                type: "error"
+              });
+          }
+      },
+      error => {
+          this.$message({
+              message: error,
+              type: "error"
+          });
+      });
+    },
     getSummaries(param) {
         const { columns, data } = param;
         const sums = [];
@@ -700,11 +744,18 @@ export default {
     },
     overTime() {
       this.listLoading = true;
-      this.http.post('/project/getOvertimeList', {
-                    projectId: this.proJuctId,
-                    startDate: this.rangeDatas[0],
-                    endDate: this.rangeDatas[1],
-                    },
+      var obj = {
+        projectId: this.proJuctId,
+        startDate: this.rangeDatas[0],
+        endDate: this.rangeDatas[1],
+      }
+      console.log(this.userId == false)
+      if(this.userId == '' || this.userId == null) {
+        
+      } else {
+        obj.userId = this.userId
+      }
+      this.http.post('/project/getOvertimeList', obj,
         res => {
             if (res.code == "ok") {
                 this.listLoading = false
@@ -867,6 +918,33 @@ export default {
     // 成本查看明细
     costBtn(item) {
       console.log(item, '明细')
+      this.dialogVisibleDetails = true
+      this.listLoading = true
+      this.http.post('/project/getOvertimeDetail', {
+        projectId: this.proJuctId,
+        startDate: this.rangeDatas[0],
+        endDate: this.rangeDatas[1],
+        userId: item.userId
+      },
+      res => {
+          this.listLoading = false
+          if (res.code == "ok") {
+              console.log(res.data, '看看详情数据')
+              this.detailsList = res.data
+          } else {
+              this.$message({
+                message: res.msg,
+                type: "error"
+              });
+          }
+      },
+      error => {
+          this.listLoading = false
+          this.$message({
+              message: error,
+              type: "error"
+          });
+      });
     }
   },
 };