|
@@ -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"
|
|
|
+ });
|
|
|
+ });
|
|
|
}
|
|
|
},
|
|
|
};
|