|
@@ -22,6 +22,7 @@
|
|
|
<el-menu-item index="1-1" v-if="permissions.reportProject || permissions.reportAllProject"><p @click="ssl(0)">项目报表</p></el-menu-item>
|
|
|
<el-menu-item index="1-2" v-if="permissions.reportTask || permissions.reportAllTask"><p @click="ssl(1)">项目任务报表</p></el-menu-item>
|
|
|
<el-menu-item index="1-3" v-if="permissions.reportCostOf || permissions.reportAllCostOf"><p @click="ssl(2)">项目成本报表</p></el-menu-item>
|
|
|
+ <el-menu-item index="1-14" v-if="permissions.reportAllOutputValue || permissions.reportOutputValue"><p @click="ssl(13)">项目成本基线表</p></el-menu-item>
|
|
|
<el-menu-item index="1-9" v-if="permissions.reportAllTimeDivide || permissions.reportTimeDivide"><p @click="ssl(8)">人员工时分配表</p></el-menu-item>
|
|
|
<el-menu-item index="1-4" v-if="permissions.reportCostWarning"><p @click="ssl(7)">工时成本预警表</p></el-menu-item>
|
|
|
<el-menu-item index="1-5" v-if="permissions.reportBalance || permissions.reportAllBalance"><p @click="ssl(3)">项目收支平衡表</p></el-menu-item>
|
|
@@ -518,6 +519,22 @@
|
|
|
</el-table-column>
|
|
|
<el-table-column prop="proportion" label="实际用时占比" min-width="200" align="center"></el-table-column>
|
|
|
</el-table>
|
|
|
+
|
|
|
+ <!-- 项目成本基线表 -->
|
|
|
+ <el-table v-if="ins == 13" key="13" border :data="outputValueList" highlight-current-row v-loading="listLoading" :height="tableHeight" style="width: 100%;">
|
|
|
+ <el-table-column prop="projectCode" label="项目编号" min-width="150"></el-table-column>
|
|
|
+ <el-table-column prop="projectName" label="项目名称" min-width="250"></el-table-column>
|
|
|
+ <el-table-column v-for="item in outputValueTitle" :key="item" :label="item" min-width="150" align="right">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span>{{scope.row.projectBasecostList.filter(li => li.baseName == item).length > 0 ? scope.row.projectBasecostList.filter(li => li.baseName == item)[0].baseAmount.toFixed(2) : '-'}}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="项目产值" min-width="150" align="right" v-if="user.timeType.outputValueStatus == 1">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span>{{scope.row.outputValue ? scope.row.outputValue.toFixed(2) : '-'}}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
|
|
|
|
|
|
<!--工具条-->
|
|
@@ -717,7 +734,7 @@ export default {
|
|
|
shuz: ["项目报表","项目任务报表","项目成本报表",
|
|
|
"项目收支平衡表(利润表)","客户项目利润报表","项目阶段工时表",
|
|
|
"加班情况统计表","工时成本预警表","人员工时分配表",
|
|
|
- "员工填报及时率统计","日报待审核统计"],
|
|
|
+ "员工填报及时率统计","日报待审核统计","项目成本基线表"],
|
|
|
ins: 10000,
|
|
|
user: JSON.parse(sessionStorage.user),
|
|
|
overTimeList: [], // 项目加班情况统计列表
|
|
@@ -757,7 +774,10 @@ export default {
|
|
|
groupListLoading: false,
|
|
|
groupPage: 1,
|
|
|
groupSize: 20,
|
|
|
- groupTotal: 0
|
|
|
+ groupTotal: 0,
|
|
|
+
|
|
|
+ outputValueList: [],
|
|
|
+ outputValueTitle: []
|
|
|
};
|
|
|
},
|
|
|
computed: {},
|
|
@@ -802,6 +822,7 @@ export default {
|
|
|
if(this.permissions.reportTask || this.permissions.reportAllTask) {this.ssl(1);this.defaultActive = '1-2';return} else
|
|
|
if(this.permissions.reportCostOf || this.permissions.reportAllCostOf) {this.ssl(2);this.defaultActive = '1-3';return} else
|
|
|
if(this.permissions.reportTimeDivide || this.permissions.reportAllTimeDivide) {this.ssl(8);this.defaultActive = '1-9';return} else
|
|
|
+ if(this.permissions.reportOutputValue || this.permissions.reportAllOutputValue) {this.ssl(13);this.defaultActive = '1-14';return} else
|
|
|
if(this.permissions.reportCostWarning) {this.ssl(7);this.defaultActive = '1-4';return} else
|
|
|
if(this.permissions.reportBalance || this.permissions.reportAllBalance) {this.ssl(3);this.defaultActive = '1-5';return} else
|
|
|
if(this.permissions.reportProfits) {this.ssl(4);this.defaultActive = '1-6';return} else
|
|
@@ -1042,6 +1063,8 @@ export default {
|
|
|
this.groupWorktimeList.right = []
|
|
|
this.getGroupWorktimeList()
|
|
|
this.getGroupWorktimeAll()
|
|
|
+ }else if(this.ins == 13){
|
|
|
+ this.getOutputValueList()
|
|
|
}
|
|
|
},
|
|
|
exportExcel() {
|
|
@@ -1121,6 +1144,9 @@ export default {
|
|
|
url += "/exportGroupWithProjectTimeCost"
|
|
|
sl.startDate = this.rangeDatas[0]
|
|
|
sl.endDate = this.rangeDatas[1]
|
|
|
+ }else if(this.ins == 13){
|
|
|
+ fName = "项目成本基线表.xls"
|
|
|
+ url += "/exportProjectBaseCost"
|
|
|
}
|
|
|
this.http.post(url, sl,
|
|
|
res => {
|
|
@@ -1166,6 +1192,8 @@ export default {
|
|
|
this.reportTimelyList = []
|
|
|
this.auditRateList = []
|
|
|
this.departmentIdArray = []
|
|
|
+ this.outputValueList = []
|
|
|
+ this.outputValueTitle = []
|
|
|
this.userId = null
|
|
|
this.selUserList = this.userList
|
|
|
this.getList();
|
|
@@ -1258,6 +1286,33 @@ export default {
|
|
|
});
|
|
|
});
|
|
|
},
|
|
|
+ getOutputValueList(){
|
|
|
+ let parameter = {
|
|
|
+ pageIndex: this.page,
|
|
|
+ pageSize: this.size
|
|
|
+ }
|
|
|
+ if(this.proJuctId){
|
|
|
+ parameter.projectId = this.proJuctId
|
|
|
+ }
|
|
|
+ this.http.post('/project/getProjectBaseCost',parameter,
|
|
|
+ res => {
|
|
|
+ if(res.code == 'ok'){
|
|
|
+ this.outputValueList = res.data.result
|
|
|
+ this.total = res.data.total
|
|
|
+ this.outputValueTitle = res.data.title
|
|
|
+ }else {
|
|
|
+ this.$message({
|
|
|
+ message: res.msg,
|
|
|
+ type: 'error'
|
|
|
+ })
|
|
|
+ }
|
|
|
+ },err => {
|
|
|
+ this.$message({
|
|
|
+ message: err,
|
|
|
+ type: 'error'
|
|
|
+ })
|
|
|
+ })
|
|
|
+ },
|
|
|
overTime() {
|
|
|
this.listLoading = true;
|
|
|
var obj = {
|