|
@@ -37,18 +37,18 @@
|
|
|
<el-menu-item index="1-15" v-if="permissions.reportMonthlyPersonnel || permissions.reportResponsiblePersonnel" @click="ssl(14)"><p>{{ $t('ren-yuan-yue-du-gong-shi-biao') }}</p></el-menu-item>
|
|
|
<el-menu-item index="1-16" v-if="permissions.reportAllDepartmentParticipation || permissions.reportResponsibleDepartmentParticipation" @click="ssl(15)"><p>{{ $t('bumenchanyuqingkuang') }}</p></el-menu-item>
|
|
|
<el-menu-item index="1-17" v-if="permissions.reportPhaseHours || permissions.reportStageWorkingTime" @click="ssl(16)"><p>{{ $t('xiang-mu-ge-fen-zu-yu-jie-duan-gong-shi-biao') }}</p></el-menu-item>
|
|
|
- <el-menu-item index="1-18" v-if="permissions.reportAllManhourCost || permissions.reportResponsibleManhourCost" @click="ssl(17)"><p>子项目工时成本表</p></el-menu-item>
|
|
|
- <el-menu-item index="1-19" v-if="user.timeType.restartTaskNeedReason == 1" @click="ssl(18)"><p>任务重启表</p></el-menu-item>
|
|
|
- <el-menu-item index="1-20" v-if="permissions.reportFTEAll || permissions.reportFTEPart" @click="ssl(19)"><p>FTE报表</p></el-menu-item>
|
|
|
- <el-menu-item index="1-21" v-if="permissions.reportEfficent" @click="ssl(20)"><p>有效工时率表</p></el-menu-item>
|
|
|
- <el-menu-item index="1-22" v-if="permissions.reportSortScaleTable" @click="ssl(21)"><p>项目分类工时占比表</p></el-menu-item>
|
|
|
- <el-menu-item index="1-23" v-if="permissions.reportSortDetailTable || permissions.reportSortSectionDetailTable" @click="ssl(22)"><p>分类工时明细表</p></el-menu-item>
|
|
|
- <el-menu-item index="1-24" v-if="permissions.reportStaffProject" @click="ssl(23)"><p>员工项目进度表</p></el-menu-item>
|
|
|
- <el-menu-item index="1-25" v-if="permissions.reportProjectConsumptionFirst" @click="ssl(24)"><p>分组耗用进度表</p></el-menu-item>
|
|
|
- <el-menu-item index="1-26" v-if="permissions.reportProjectConsumptionTwo" @click="ssl(25)"><p>项目耗用进度表</p></el-menu-item>
|
|
|
- <el-menu-item index="1-27" v-if="permissions.reportStaffTaskAccomplished" @click="ssl(26)"><p>员工任务进度表</p></el-menu-item>
|
|
|
- <el-menu-item index="1-28" v-if="permissions.reportProjectEstimated" @click="ssl(27)"><p>项目预估工时表</p></el-menu-item>
|
|
|
- <el-menu-item index="1-29" v-if="permissions.takCompletedStatus" @click="ssl(28)"><p>员工任务完成情况表</p></el-menu-item>
|
|
|
+ <el-menu-item index="1-18" v-if="permissions.reportAllManhourCost || permissions.reportResponsibleManhourCost" @click="ssl(17)"><p>{{ $t('ziXiangMuGongShiChengBenBiao') }}</p></el-menu-item>
|
|
|
+ <el-menu-item index="1-19" v-if="user.timeType.restartTaskNeedReason == 1" @click="ssl(18)"><p>{{ $t('renWuZhongQiBiao') }}</p></el-menu-item>
|
|
|
+ <el-menu-item index="1-20" v-if="permissions.reportFTEAll || permissions.reportFTEPart" @click="ssl(19)"><p>{{ $t('fteBaoBiao') }}</p></el-menu-item>
|
|
|
+ <el-menu-item index="1-21" v-if="permissions.reportEfficent" @click="ssl(20)"><p>{{ $t('youXiaoGongShiShuaiBiao') }}</p></el-menu-item>
|
|
|
+ <el-menu-item index="1-22" v-if="permissions.reportSortScaleTable" @click="ssl(21)"><p>{{ $t('xiangMuFenLeiGongShiZhanBiBiao') }}</p></el-menu-item>
|
|
|
+ <el-menu-item index="1-23" v-if="permissions.reportSortDetailTable || permissions.reportSortSectionDetailTable" @click="ssl(22)"><p>{{ $t('fenLeiGongShiMingXiBiao') }}</p></el-menu-item>
|
|
|
+ <el-menu-item index="1-24" v-if="permissions.reportStaffProject" @click="ssl(23)"><p>{{ $t('yuanGongXiangMuJinDuBiao') }}</p></el-menu-item>
|
|
|
+ <el-menu-item index="1-25" v-if="permissions.reportProjectConsumptionFirst" @click="ssl(24)"><p>{{ $t('fenZuHaoYongJinDuBiao') }}</p></el-menu-item>
|
|
|
+ <el-menu-item index="1-26" v-if="permissions.reportProjectConsumptionTwo" @click="ssl(25)"><p>{{ $t('xiangMuHaoYongJinDuBiao') }}</p></el-menu-item>
|
|
|
+ <el-menu-item index="1-27" v-if="permissions.reportStaffTaskAccomplished" @click="ssl(26)"><p>{{ $t('yuanGongRenWuJinDuBiao') }}</p></el-menu-item>
|
|
|
+ <el-menu-item index="1-28" v-if="permissions.reportProjectEstimated" @click="ssl(27)"><p>{{ $t('xiangMuYuGuGongShiBiao') }}</p></el-menu-item>
|
|
|
+ <el-menu-item index="1-29" v-if="permissions.takCompletedStatus" @click="ssl(28)"><p>{{ $t('yuanGongRenWuWanChengQingKuangBiao') }}</p></el-menu-item>
|
|
|
</el-submenu>
|
|
|
</el-menu>
|
|
|
</el-col>
|
|
@@ -94,9 +94,9 @@
|
|
|
<template v-if="ins == 22">
|
|
|
<span>
|
|
|
<span class="demonstration" style="color:#999;padding:0 10px">
|
|
|
- 项目分类
|
|
|
+ {{ $t('projectclassification') }}
|
|
|
</span>
|
|
|
- <el-select v-model="projectSortId" placeholder="请选择" @change="picks()" size="small">
|
|
|
+ <el-select v-model="projectSortId" :placeholder="$t('defaultText.pleaseChoose')" @change="picks()" size="small">
|
|
|
<el-option v-for="item in projectSortList" :key="item.id" :label="item.name" :value="item.id" ></el-option>
|
|
|
</el-select>
|
|
|
</span>
|
|
@@ -104,9 +104,9 @@
|
|
|
<template v-if="ins == 25">
|
|
|
<span>
|
|
|
<span class="demonstration" style="color:#999;padding:0 10px">
|
|
|
- 项目分类
|
|
|
+ {{ $t('projectclassification') }}
|
|
|
</span>
|
|
|
- <el-select v-model="projectSortIdTwo" placeholder="请选择" @change="picks()" size="small" clearable>
|
|
|
+ <el-select v-model="projectSortIdTwo" :placeholder="$t('defaultText.pleaseChoose')" @change="picks()" size="small" clearable>
|
|
|
<el-option v-for="item in projectSortListTwo" :key="item.id" :label="item.name" :value="item.id" ></el-option>
|
|
|
</el-select>
|
|
|
</span>
|
|
@@ -127,15 +127,15 @@
|
|
|
</el-select>
|
|
|
|
|
|
<!-- 任务分组 -->
|
|
|
- <el-select v-if="ins == 1 && user.companyId == '3092'" v-model="projectGroupId" :placeholder="'请选择任务分组'" clearable filterable size="small" @change="getList(true)" style="margin-left:10px">
|
|
|
+ <el-select v-if="ins == 1 && user.companyId == '3092'" v-model="projectGroupId" :placeholder="$t('defaultText.pleaseSelectaTaskGroup')" clearable filterable size="small" @change="getList(true)" style="margin-left:10px">
|
|
|
<el-option v-for="(item) in projectTaskgroupList" :key="item.id" :label="item.name" :value="item.id"></el-option>
|
|
|
</el-select>
|
|
|
|
|
|
- <el-select v-if="ins==12 && user.companyId==936" v-model="projectCategorySubId" :placeholder="'请选择自主项目类别'" clearable filterable size="small" @change="selcts()" style="margin-left:10px">
|
|
|
+ <el-select v-if="ins==12 && user.companyId==936" v-model="projectCategorySubId" :placeholder="$t('qingXuanZeZiZhuXiangMuLeiBie')" clearable filterable size="small" @change="selcts()" style="margin-left:10px">
|
|
|
<el-option v-for="(item) in projectCategorySubList" :key="item.value" :label="item.label" :value="item.value"></el-option>
|
|
|
</el-select>
|
|
|
<!--项目分组与阶段工时表,需要可选分组-->
|
|
|
- <el-select v-if="ins == 16" multiple v-model="groupNames" @change="onGroupSelectChange" clearable size="small" filterable collapse-tags placeholder="请选择任务分组" style="margin-left:10px;">
|
|
|
+ <el-select v-if="ins == 16" multiple v-model="groupNames" @change="onGroupSelectChange" clearable size="small" filterable collapse-tags :placeholder="$t('defaultText.pleaseSelectaTaskGroup')" style="margin-left:10px;">
|
|
|
<el-option v-for="item in taskgroupList" :key="item.name" :label="item.name" :value="item.name"></el-option>
|
|
|
</el-select>
|
|
|
<!-- 月份选择 v-if="ins == 14 || ins == 15 || ins == 19" -->
|
|
@@ -180,7 +180,7 @@
|
|
|
<el-option v-for="(item, index) in selUserList" :key="index" :label="item.name" :value="item.id"></el-option>
|
|
|
</el-select>
|
|
|
<!-- 人员兹自定义配置 员工类型筛选 只针对优立科技 -->
|
|
|
- <el-select v-if="user.companyId==4374&&ins == 21" v-model="subUserCustomName" :placeholder="'请选择员工类型'" clearable filterable size="small" @change="selcts()" style="margin-left:10px">
|
|
|
+ <el-select v-if="user.companyId==4374&&ins == 21" v-model="subUserCustomName" :placeholder="$t('qingXuanZeYuanGongLeiXing')" clearable filterable size="small" @change="selcts()" style="margin-left:10px">
|
|
|
<el-option v-for="(item) in subUserCustom" :key="item.id" :label="item.name" :value="item.name">
|
|
|
</el-option>
|
|
|
</el-select>
|
|
@@ -201,9 +201,9 @@
|
|
|
<!-- <p :style="ins == 9 ? 'float: right;margin-right: 25px;width:20%' : 'float: right;margin-right: 25px;width:10%'" > -->
|
|
|
<p :style="`${ins == 9 || ins == 14 || ins == 21 ? 'width: 20%' : 'width: 10%'}`" class="tableRightBtn">
|
|
|
<el-button type="primary" @click="exportExcel" size="mini">{{ $t('reporderived') }}</el-button>
|
|
|
- <el-button type="primary" @click="fillAll" size="mini" v-if="ins == 14">全部补足</el-button>
|
|
|
+ <el-button type="primary" @click="fillAll" size="mini" v-if="ins == 14">{{ $t('quanBuBuZu') }}</el-button>
|
|
|
<el-button type="primary" @click="exportExcelByQuarter" size="mini" v-if="ins == 9 && user.companyId == 876">{{ $t('an-ji-du-dao-chu') }}</el-button>
|
|
|
- <el-button type="primary" @click="setWarning" size="mini" v-if="ins == 21">设置预警</el-button>
|
|
|
+ <el-button type="primary" @click="setWarning" size="mini" v-if="ins == 21">{{ $t('sheZhiYuJing') }}</el-button>
|
|
|
</p>
|
|
|
|
|
|
</div>
|
|
@@ -274,7 +274,7 @@
|
|
|
<span v-else>{{scope.row.customName}}</span>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column v-if="user.companyId==3092" prop="groupName" :label="'任务分组'" width="300">
|
|
|
+ <el-table-column v-if="user.companyId==3092" prop="groupName" :label="$t('other.taskGroup')" width="300">
|
|
|
<template slot-scope="scope" >
|
|
|
{{scope.row.groupName}}
|
|
|
</template>
|
|
@@ -307,7 +307,7 @@
|
|
|
<font :style="'color:'+(scope.row.real_hours > scope.row.plan_hours?'red':'')">{{scope.row.real_hours == null? 0:scope.row.real_hours.toFixed(1)}}</font>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column prop="real_cost" label="实际成本" width="150" v-if="user.companyId == 3092 || user.companyId==7 || user.companyId==10">
|
|
|
+ <el-table-column prop="real_cost" :label="$t('shiJiChengBen')" width="150" v-if="user.companyId == 3092 || user.companyId==7 || user.companyId==10">
|
|
|
<template slot-scope="scope">
|
|
|
{{scope.row.real_cost == null? 0:scope.row.real_cost.toFixed(2)}}
|
|
|
</template>
|
|
@@ -328,12 +328,12 @@
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<span v-if="user.companyId == '3092'">
|
|
|
- <el-table-column prop="group_plan_hours" :label="'分组预估工时(h)'" width="150">
|
|
|
+ <el-table-column prop="group_plan_hours" :label="$t('fenZuYuGuGongShiH')" width="150">
|
|
|
<template slot-scope="scope">
|
|
|
{{scope.row.group_plan_hours}}
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column prop="group_real_hours" :label="'分组实际工时(h)'" width="150">
|
|
|
+ <el-table-column prop="group_real_hours" :label="$t('fenZuShiJiGongShiH')" width="150">
|
|
|
<template slot-scope="scope">
|
|
|
{{scope.row.group_real_hours}}
|
|
|
</template>
|
|
@@ -402,7 +402,7 @@
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<!--开通合同管理模块的显示已回款金额-->
|
|
|
- <el-table-column prop="payment" label="已回款金额" width="100" align="right" v-if="user.company.packageContract==1">
|
|
|
+ <el-table-column prop="payment" :label="$t('yi-hui-kuan-jin-e')" width="100" align="right" v-if="user.company.packageContract==1">
|
|
|
<template slot-scope="scope">
|
|
|
{{scope.row.payment.toFixed(2)}}
|
|
|
</template>
|
|
@@ -425,22 +425,22 @@
|
|
|
{{(scope.row.budget).toFixed(2)}}
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="已回款利润" width="100" align="right" v-if="user.company.packageContract == 1">
|
|
|
+ <el-table-column :label="$t('yiHuiKuanLiRun')" width="100" align="right" v-if="user.company.packageContract == 1">
|
|
|
<template slot-scope="scope">
|
|
|
{{((scope.row.payment==null?0:scope.row.payment) - (scope.row.budget)).toFixed(2)}}
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="已回款利润率" width="120" align="right" v-if="user.company.packageContract==1">
|
|
|
+ <el-table-column :label="$t('yiHuiKuanLiRunShuai')" width="120" align="right" v-if="user.company.packageContract==1">
|
|
|
<template slot-scope="scope">
|
|
|
{{(scope.row.payment==null||scope.row.payment==0)?'-':((scope.row.payment - scope.row.budget)*100/scope.row.payment).toFixed(1)+"%"}}
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="合同利润" width="100" align="right">
|
|
|
+ <el-table-column :label="$t('heTongLiRun')" width="100" align="right">
|
|
|
<template slot-scope="scope">
|
|
|
{{((scope.row.contractAmount==null?0:scope.row.contractAmount) - scope.row.budget).toFixed(2)}}
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="合同利润率" width="100" align="right">
|
|
|
+ <el-table-column :label="$t('heTongLiRunShuai')" width="100" align="right">
|
|
|
<template slot-scope="scope">
|
|
|
{{(scope.row.contractAmount==null||scope.row.contractAmount==0)?'-':((scope.row.contractAmount - scope.row.budget)*100/scope.row.contractAmount).toFixed(1)+"%"}}
|
|
|
</template>
|
|
@@ -884,7 +884,7 @@
|
|
|
type="primary"
|
|
|
v-if="scope.row.whether == 0 && scope.row.workingTime > 0"
|
|
|
size="mini"
|
|
|
- @click="fillWorkingHours(scope.row)">补足工时</el-button>
|
|
|
+ @click="fillWorkingHours(scope.row)">{{ $t('buZuGongShi') }}</el-button>
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
@@ -932,21 +932,21 @@
|
|
|
|
|
|
<!-- 子项目工时成本表 -->
|
|
|
<el-table v-if="ins == 17" key="17" border :data="subprojectArr" highlight-current-row v-loading="listLoading" :height="tableHeight" style="width: 100%;">
|
|
|
- <el-table-column align="center" prop="projectCode" label="父项目编号" min-width="150"></el-table-column>
|
|
|
- <el-table-column align="center" prop="projectName" label="父项目名称" min-width="150"></el-table-column>
|
|
|
- <el-table-column align="center" prop="subProjectCode" label="子项目编号" min-width="150"></el-table-column>
|
|
|
- <el-table-column align="center" prop="subProjectName" label="子项目名称" min-width="150"></el-table-column>
|
|
|
- <el-table-column align="center" prop="workingTime" label="子项目工时" min-width="150"></el-table-column>
|
|
|
- <el-table-column align="center" prop="cost" label="子项目成本" min-width="150"></el-table-column>
|
|
|
+ <el-table-column align="center" prop="projectCode" :label="$t('fuXiangMuBianHao')" min-width="150"></el-table-column>
|
|
|
+ <el-table-column align="center" prop="projectName" :label="$t('fuXiangMuMingCheng')" min-width="150"></el-table-column>
|
|
|
+ <el-table-column align="center" prop="subProjectCode" :label="$t('subprojectno')" min-width="150"></el-table-column>
|
|
|
+ <el-table-column align="center" prop="subProjectName" :label="$t('ziXiangMuMingCheng')" min-width="150"></el-table-column>
|
|
|
+ <el-table-column align="center" prop="workingTime" :label="$t('ziXiangMuGongShi')" min-width="150"></el-table-column>
|
|
|
+ <el-table-column align="center" prop="cost" :label="$t('ziXiangMuChengBen')" min-width="150"></el-table-column>
|
|
|
</el-table>
|
|
|
|
|
|
<!-- 任务重启表 -->
|
|
|
<el-table v-if="ins == 18" key="18" border :data="taskRestartArr" highlight-current-row v-loading="listLoading" :height="tableHeight" style="width: 100%;">
|
|
|
- <el-table-column align="center" prop="projectCode" label="项目编号" min-width="150"></el-table-column>
|
|
|
- <el-table-column align="center" prop="projectName" label="项目名称" min-width="150"></el-table-column>
|
|
|
- <el-table-column align="center" prop="taskName" label="任务名称" min-width="150"></el-table-column>
|
|
|
- <el-table-column align="center" prop="restartReason" label="重启原因" min-width="150"></el-table-column>
|
|
|
- <el-table-column align="center" prop="workingTime" label="责任人" min-width="150">
|
|
|
+ <el-table-column align="center" prop="projectCode" :label="$t('Itemno')" min-width="150"></el-table-column>
|
|
|
+ <el-table-column align="center" prop="projectName" :label="$t('headerTop.projectName')" min-width="150"></el-table-column>
|
|
|
+ <el-table-column align="center" prop="taskName" :label="$t('nameofthetask')" min-width="150"></el-table-column>
|
|
|
+ <el-table-column align="center" prop="restartReason" :label="$t('zhongQiYuanYin')" min-width="150"></el-table-column>
|
|
|
+ <el-table-column align="center" prop="workingTime" :label="$t('zeRenRen')" min-width="150">
|
|
|
<template slot-scope="scope">
|
|
|
<div>
|
|
|
<span v-for="item, index in scope.row.personLiableNames" :key="index">
|
|
@@ -959,15 +959,15 @@
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column align="center" prop="restartDate" label="重启时间" min-width="150"></el-table-column>
|
|
|
+ <el-table-column align="center" prop="restartDate" :label="$t('zhongQiShiJian')" min-width="150"></el-table-column>
|
|
|
</el-table>
|
|
|
|
|
|
<!-- FTE报表 -->
|
|
|
<el-table v-if="ins == 19" key="19" border :data="fTEDataList" highlight-current-row v-loading="listLoading" :height="+tableHeight - 1" style="width: 100%;" @sort-change="tableSort">
|
|
|
<el-table-column align="center" prop="area" :label="customName" min-width="150"></el-table-column>
|
|
|
- <el-table-column align="center" prop="projectCode" label="项目编号" min-width="150"></el-table-column>
|
|
|
- <el-table-column align="center" prop="projectName" label="项目名称" min-width="250"></el-table-column>
|
|
|
- <el-table-column align="center" prop="userName" label="人名" min-width="150" sortable="custom">
|
|
|
+ <el-table-column align="center" prop="projectCode" :label="$t('Itemno')" min-width="150"></el-table-column>
|
|
|
+ <el-table-column align="center" prop="projectName" :label="$t('headerTop.projectName')" min-width="250"></el-table-column>
|
|
|
+ <el-table-column align="center" prop="userName" :label="$t('renMing')" min-width="150" sortable="custom">
|
|
|
<template slot-scope="scope">
|
|
|
<div>
|
|
|
<span v-if="user.userNameNeedTranslate == '1'">
|
|
@@ -979,14 +979,14 @@
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column align="center" prop="workTime" label="工时" min-width="150"></el-table-column>
|
|
|
- <el-table-column align="center" prop="FTE" label="FTE(工时/当月工时基数)" min-width="250"></el-table-column>
|
|
|
- <el-table-column v-if="user.companyId==876" align="center" prop="FTERegular" label="FTE(工时/固定工时基数(163.125))" min-width="300"></el-table-column>
|
|
|
+ <el-table-column align="center" prop="workTime" :label="$t('time.workingHours')" min-width="150"></el-table-column>
|
|
|
+ <el-table-column align="center" prop="FTE" :label="$t('fteGongShiDangYueGongShiJiShu')" min-width="250"></el-table-column>
|
|
|
+ <el-table-column v-if="user.companyId==876" align="center" prop="FTERegular" :label="$t('fteGongShiGuDingGongShiJiShu_163125')" min-width="300"></el-table-column>
|
|
|
</el-table>
|
|
|
|
|
|
<!-- 有效工时率表 -->
|
|
|
<el-table v-if="ins == 20" key="20" border :data="efficentList" highlight-current-row v-loading="listLoading" :height="+tableHeight - 1" style="width: 100%;" >
|
|
|
- <el-table-column align="center" prop="department_name" label="所属部门" min-width="150">
|
|
|
+ <el-table-column align="center" prop="department_name" :label="$t('subordinatedepartments')" min-width="150">
|
|
|
<template slot-scope="scope">
|
|
|
<div>
|
|
|
<span v-if="user.userNameNeedTranslate == '1'">
|
|
@@ -998,19 +998,19 @@
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column align="center" prop="working_time" label="实报工时(小时)" min-width="150"></el-table-column>
|
|
|
- <el-table-column align="center" label="应工时(小时)" >
|
|
|
- <el-table-column align="center" prop="count" label="在职人数" min-width="150"></el-table-column>
|
|
|
- <el-table-column align="center" prop="date_count" label="应报工时天数" min-width="150"></el-table-column>
|
|
|
- <el-table-column align="center" prop="day_time" label="日标准工时" min-width="150"></el-table-column>
|
|
|
- <el-table-column align="center" prop="total_time" label="应报工时" min-width="150"></el-table-column>
|
|
|
+ <el-table-column align="center" prop="working_time" :label="$t('shiBaoGongShiXiaoShi')" min-width="150"></el-table-column>
|
|
|
+ <el-table-column align="center" :label="$t('yingGongShiXiaoShi')" >
|
|
|
+ <el-table-column align="center" prop="count" :label="$t('zaiZhiRenShu')" min-width="150"></el-table-column>
|
|
|
+ <el-table-column align="center" prop="date_count" :label="$t('yingBaoGongShiTianShu')" min-width="150"></el-table-column>
|
|
|
+ <el-table-column align="center" prop="day_time" :label="$t('riBiaoZhunGongShi')" min-width="150"></el-table-column>
|
|
|
+ <el-table-column align="center" prop="total_time" :label="$t('yingBaoGongShi')" min-width="150"></el-table-column>
|
|
|
</el-table-column>
|
|
|
- <el-table-column align="center" prop="rate" label="有效工时率" min-width="150"></el-table-column>
|
|
|
+ <el-table-column align="center" prop="rate" :label="$t('youXiaoGongShiShuai')" min-width="150"></el-table-column>
|
|
|
</el-table>
|
|
|
|
|
|
<!-- 项目分类工时占比表 -->
|
|
|
<el-table v-if="ins == 21" :key="projectCateRatioListKey" border :data="projectCateRatioList.userList" highlight-current-row v-loading="listLoading" :height="(+tableHeight + 50) - 1" style="width: 100%;" >
|
|
|
- <el-table-column align="center" prop="name" label="人员" min-width="150" fixed="left">
|
|
|
+ <el-table-column align="center" prop="name" :label="$t('ren-yuan')" min-width="150" fixed="left">
|
|
|
<template slot-scope="scope">
|
|
|
<div>
|
|
|
<span v-if="user.userNameNeedTranslate == '1'">
|
|
@@ -1022,14 +1022,14 @@
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column v-if="user.companyId==4374" align="center" prop="name" label="员工类型" min-width="150" fixed="left">
|
|
|
+ <el-table-column v-if="user.companyId==4374" align="center" prop="name" :label="$t('yuanGongLeiXing')" min-width="150" fixed="left">
|
|
|
<template slot-scope="scope">
|
|
|
<span>
|
|
|
- {{findValue('员工类型',scope.row.plateMap)}}
|
|
|
+ {{findValue($t('yuanGongLeiXing'),scope.row.plateMap)}}
|
|
|
</span>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column align="center" prop="workingTime" label="总工时" min-width="150">
|
|
|
+ <el-table-column align="center" prop="workingTime" :label="$t('other.totalworkinghours')" min-width="150">
|
|
|
<template slot-scope="scope">
|
|
|
{{ scope.row.workingTime }} h
|
|
|
</template>
|
|
@@ -1038,12 +1038,12 @@
|
|
|
<template slot-scope="scope">
|
|
|
<div v-for="v,i in scope.row.cateTimeList || []" :key="i">
|
|
|
<div v-if="item.name == v.categoryName && v.categoryName" :style="`color: ${v.warning ? 'red' : ''}`">
|
|
|
- <div>工时: {{ v.workingTime }} h </div>
|
|
|
- <div>占比: {{ v.percent | schedulePercentage }} % </div>
|
|
|
+ <div>{{ $t('time.workingHours') }}: {{ v.workingTime }} h </div>
|
|
|
+ <div>{{ $t('Accountedfor') }} : {{ v.percent | schedulePercentage }} % </div>
|
|
|
</div>
|
|
|
<div v-if="!v.categoryName && item.name == '未分类'" :style="`color: ${v.warning ? 'red' : ''}`">
|
|
|
- <div>工时: {{ v.workingTime }} h </div>
|
|
|
- <div>占比: {{ v.percent | schedulePercentage }} % </div>
|
|
|
+ <div>{{ $t('time.workingHours') }} : {{ v.workingTime }} h </div>
|
|
|
+ <div>{{ $t('Accountedfor') }} : {{ v.percent | schedulePercentage }} % </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</template>
|
|
@@ -1052,8 +1052,8 @@
|
|
|
|
|
|
<!-- 分类工时明细表 -->
|
|
|
<el-table v-if="ins == 22" :key="hoursDetailClassListKey" border :data="hoursDetailClassList.record" highlight-current-row v-loading="listLoading" :height="+tableHeight -1" style="width: 100%;" >
|
|
|
- <el-table-column align="center" prop="projectCode" :label="`${projectSortName}项目号`" min-width="150"></el-table-column>
|
|
|
- <el-table-column align="center" prop="userName" label="姓名" min-width="150">
|
|
|
+ <el-table-column align="center" prop="projectCode" :label="`${projectSortName} ${$t('xiangMuHao')}`" min-width="150"></el-table-column>
|
|
|
+ <el-table-column align="center" prop="userName" :label="$t('lable.name')" min-width="150">
|
|
|
<template slot-scope="scope">
|
|
|
<div>
|
|
|
<span v-if="user.userNameNeedTranslate == '1'">
|
|
@@ -1065,7 +1065,7 @@
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column align="center" prop="deptName" label="部门" min-width="150">
|
|
|
+ <el-table-column align="center" prop="deptName" :label="$t('lable.department')" min-width="150">
|
|
|
<template slot-scope="scope">
|
|
|
<div>
|
|
|
<span v-if="user.userNameNeedTranslate == '1'">
|
|
@@ -1087,8 +1087,8 @@
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
|
|
|
- <el-table-column align="center" prop="allWorkingTime" label="总工时" min-width="150"></el-table-column>
|
|
|
- <el-table-column align="center" prop="targetWorkingTime" :label="`${projectSortName}工时`" min-width="150"></el-table-column>
|
|
|
+ <el-table-column align="center" prop="allWorkingTime" :label="$t('other.totalworkinghours')" min-width="150"></el-table-column>
|
|
|
+ <el-table-column align="center" prop="targetWorkingTime" :label="`${projectSortName} ${$t('time.workingHours')}`" min-width="150"></el-table-column>
|
|
|
|
|
|
<!-- 渲染日期 -->
|
|
|
<el-table-column align="center" :label="item.titleName" min-width="150" v-for="(item, index) in hoursDetailClassList.header" :key="index">
|
|
@@ -1105,7 +1105,7 @@
|
|
|
|
|
|
<!-- 员工项目进度表 -->
|
|
|
<el-table v-if="ins == 23" :key="23" border :data="isbeCustomReport.projectSchedule" highlight-current-row v-loading="listLoading" :height="(+tableHeight) - 1" style="width: 100%;" :span-method="objectSpanMethod">
|
|
|
- <el-table-column align="center" prop="departmentName" label="部门" width="150">
|
|
|
+ <el-table-column align="center" prop="departmentName" :label="$t('lable.department')" width="150">
|
|
|
<template slot-scope="scope">
|
|
|
<div>
|
|
|
<span v-if="user.userNameNeedTranslate == '1'">
|
|
@@ -1118,7 +1118,7 @@
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column align="center" prop="userName" label="人员" width="150">
|
|
|
+ <el-table-column align="center" prop="userName" :label="$t('ren-yuan')" width="150">
|
|
|
<template slot-scope="scope">
|
|
|
<div>
|
|
|
<span v-if="user.userNameNeedTranslate == '1'">
|
|
@@ -1131,15 +1131,15 @@
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column align="center" prop="projectName" label="项目名称"></el-table-column>
|
|
|
- <el-table-column align="center" prop="projectCode" label="项目编号"></el-table-column>
|
|
|
- <el-table-column align="center" prop="residueTime" label="剩余工时(h)" width="150"></el-table-column>
|
|
|
+ <el-table-column align="center" prop="projectName" :label="$t('headerTop.projectName')"></el-table-column>
|
|
|
+ <el-table-column align="center" prop="projectCode" :label="$t('Itemno')"></el-table-column>
|
|
|
+ <el-table-column align="center" prop="residueTime" :label="$t('shengYuGongShiH')" width="150"></el-table-column>
|
|
|
</el-table>
|
|
|
|
|
|
<!-- 分组耗用进度表 -->
|
|
|
<el-table v-if="ins == 24" :key="24" border :data="isbeCustomReport.consumptionSchedule" highlight-current-row v-loading="listLoading" :height="(+tableHeight - 0) - 1" style="width: 100%;" :span-method="objectSpanMethod">
|
|
|
- <el-table-column align="center" prop="projectName" label="项目名称" min-width="200"></el-table-column>
|
|
|
- <el-table-column align="center" prop="department_name" label="负责部门" min-width="150">
|
|
|
+ <el-table-column align="center" prop="projectName" :label="$t('headerTop.projectName')" min-width="200"></el-table-column>
|
|
|
+ <el-table-column align="center" prop="department_name" :label="$t('fuZeBuMen')" min-width="150">
|
|
|
<template slot-scope="scope">
|
|
|
<div>
|
|
|
<span v-if="user.userNameNeedTranslate == '1'">
|
|
@@ -1152,30 +1152,30 @@
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column align="center" prop="groupName" label="任务分组" min-width="150"></el-table-column>
|
|
|
- <el-table-column align="center" prop="planHour" label="计划工时(财务)" width="120"></el-table-column>
|
|
|
- <el-table-column align="center" label="实际工时成本">
|
|
|
- <el-table-column align="center" prop="afterSetPlanHour" label="增补工时(h)" width="120"></el-table-column>
|
|
|
- <el-table-column align="center" prop="normalHour" label="正常工时(h)" width="100"></el-table-column>
|
|
|
- <el-table-column align="center" prop="overHour" label="加班工时(h)" width="100"></el-table-column>
|
|
|
- <el-table-column align="center" prop="realHour" label="合计工时(h)" width="100"></el-table-column>
|
|
|
- <el-table-column align="center" prop="realCost" label="合计工时成本" width="140"></el-table-column>
|
|
|
+ <el-table-column align="center" prop="groupName" :label="$t('lable.taskGrouping')" min-width="150"></el-table-column>
|
|
|
+ <el-table-column align="center" prop="planHour" :label="$t('jiHuaGongShiCaiWu')" width="120"></el-table-column>
|
|
|
+ <el-table-column align="center" :label="$t('shiJiGongShiChengBen')">
|
|
|
+ <el-table-column align="center" prop="afterSetPlanHour" :label="$t('zengBuGongShiH')" width="120"></el-table-column>
|
|
|
+ <el-table-column align="center" prop="normalHour" :label="$t('zhengChangGongShiH')" width="100"></el-table-column>
|
|
|
+ <el-table-column align="center" prop="overHour" :label="$t('jiaBanGongShiH')" width="100"></el-table-column>
|
|
|
+ <el-table-column align="center" prop="realHour" :label="$t('heJiGongShiH')" width="100"></el-table-column>
|
|
|
+ <el-table-column align="center" prop="realCost" :label="$t('heJiGongShiChengBen')" width="140"></el-table-column>
|
|
|
</el-table-column>
|
|
|
- <el-table-column align="center" prop="process" label="工时耗用率" width="150"></el-table-column>
|
|
|
+ <el-table-column align="center" prop="process" :label="$t('gongShiHaoYongShuai')" width="150"></el-table-column>
|
|
|
</el-table>
|
|
|
|
|
|
<!-- 项目耗用进度表 -->
|
|
|
<el-table v-if="ins == 25" :key="25" border :data="isbeCustomReport.consumptionScheduleTwo" highlight-current-row v-loading="listLoading" :height="(+tableHeight) - 1" style="width: 100%;" >
|
|
|
- <el-table-column align="center" prop="projectName" label="项目名称" min-width="220"></el-table-column>
|
|
|
- <el-table-column align="center" prop="categoryName" label="项目分类" min-width="150"></el-table-column>
|
|
|
- <el-table-column align="center" prop="projectCode" label="项目编号" min-width="150"></el-table-column>
|
|
|
- <el-table-column align="center" prop="planStartDate" label="开始时间" min-width="150"></el-table-column>
|
|
|
- <el-table-column align="center" prop="planEndDate" label="截止时间" min-width="150"></el-table-column>
|
|
|
- <el-table-column align="center" prop="planHour" label="分配工时(h)" width="100"></el-table-column>
|
|
|
- <el-table-column align="center" prop="realHour" label="已消耗工时(h)" width="120"></el-table-column>
|
|
|
- <el-table-column align="center" prop="realCost" label="已消耗工时成本(¥)" width="150"></el-table-column>
|
|
|
- <el-table-column align="center" prop="residueHour" label="剩余工时(h)" width="100"></el-table-column>
|
|
|
- <el-table-column align="center" label="负责组长" width="100">
|
|
|
+ <el-table-column align="center" prop="projectName" :label="$t('headerTop.projectName')" min-width="220"></el-table-column>
|
|
|
+ <el-table-column align="center" prop="categoryName" :label="$t('projectclassification')" min-width="150"></el-table-column>
|
|
|
+ <el-table-column align="center" prop="projectCode" :label="$t('Itemno')" min-width="150"></el-table-column>
|
|
|
+ <el-table-column align="center" prop="planStartDate" :label="$t('starttimes')" min-width="150"></el-table-column>
|
|
|
+ <el-table-column align="center" prop="planEndDate" :label="$t('deadline')" min-width="150"></el-table-column>
|
|
|
+ <el-table-column align="center" prop="planHour" :label="$t('fenPeiGongShiH')" width="100"></el-table-column>
|
|
|
+ <el-table-column align="center" prop="realHour" :label="$t('yiXiaoHaoGongShiH')" width="120"></el-table-column>
|
|
|
+ <el-table-column align="center" prop="realCost" :label="$t('yiXiaoHaoGongShiChengBen')" width="150"></el-table-column>
|
|
|
+ <el-table-column align="center" prop="residueHour" :label="$t('shengYuGongShiH')" width="100"></el-table-column>
|
|
|
+ <el-table-column align="center" :label="$t('fuZeZuChang')" width="100">
|
|
|
<template slot-scope="scope">
|
|
|
<div class="participatingEmployee">
|
|
|
<div v-for="(item,index) in scope.row.teamLeader" :key="index">
|
|
@@ -1190,7 +1190,7 @@
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column align="center" label="参与员工" min-width="150">
|
|
|
+ <el-table-column align="center" :label="$t('canYuYuanGong')" min-width="150">
|
|
|
<template slot-scope="scope">
|
|
|
<div class="participatingEmployee">
|
|
|
<div v-for="(item,index) in scope.row.userProgress" :key="index">
|
|
@@ -1211,7 +1211,7 @@
|
|
|
|
|
|
<!-- 员工任务进度表 -->
|
|
|
<el-table v-if="ins == 26" :key="26" border :data="isbeCustomReport.taskCompletionSheet" highlight-current-row v-loading="listLoading" :height="(+tableHeight) - 1" style="width: 100%;" :span-method="objectSpanMethod">
|
|
|
- <el-table-column align="center" prop="departmentName" label="部门" min-width="150">
|
|
|
+ <el-table-column align="center" prop="departmentName" :label="$t('lable.department')" min-width="150">
|
|
|
<template slot-scope="scope">
|
|
|
<div>
|
|
|
<span v-if="user.userNameNeedTranslate == '1'">
|
|
@@ -1224,7 +1224,7 @@
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column align="center" prop="w" label="人员" min-width="150">
|
|
|
+ <el-table-column align="center" prop="w" :label="$t('ren-yuan')" min-width="150">
|
|
|
<template slot-scope="scope">
|
|
|
<div>
|
|
|
<span v-if="user.userNameNeedTranslate == '1'">
|
|
@@ -1237,27 +1237,27 @@
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column align="center" prop="projectName" label="项目名称" min-width="150"></el-table-column>
|
|
|
- <el-table-column align="center" prop="projectCode" label="项目编号" min-width="150"></el-table-column>
|
|
|
- <el-table-column align="center" prop="taskName" label="项目任务" min-width="150"></el-table-column>
|
|
|
- <el-table-column align="center" prop="planHour" label="计划工时(h)" min-width="150"></el-table-column>
|
|
|
- <el-table-column align="center" prop="consumeTime" label="消耗工时(h)" min-width="150"></el-table-column>
|
|
|
- <el-table-column align="center" prop="residue" label="剩余工时(h)" min-width="150"></el-table-column>
|
|
|
- <el-table-column align="center" prop="planStartDate" label="项目开始时间" min-width="150"></el-table-column>
|
|
|
- <el-table-column align="center" prop="planEndDate" label="项目截止时间" min-width="150"></el-table-column>
|
|
|
+ <el-table-column align="center" prop="projectName" :label="$t('headerTop.projectName')" min-width="150"></el-table-column>
|
|
|
+ <el-table-column align="center" prop="projectCode" :label="$t('Itemno')" min-width="150"></el-table-column>
|
|
|
+ <el-table-column align="center" prop="taskName" :label="$t('xiangMuRenWu')" min-width="150"></el-table-column>
|
|
|
+ <el-table-column align="center" prop="planHour" :label="$t('jiHuaGongShiH')" min-width="150"></el-table-column>
|
|
|
+ <el-table-column align="center" prop="consumeTime" :label="$t('xiaoHaoGongShiH')" min-width="150"></el-table-column>
|
|
|
+ <el-table-column align="center" prop="residue" :label="$t('shengYuGongShiH')" min-width="150"></el-table-column>
|
|
|
+ <el-table-column align="center" prop="planStartDate" :label="$t('xiangMuKaiShiShiJian')" min-width="150"></el-table-column>
|
|
|
+ <el-table-column align="center" prop="planEndDate" :label="$t('xiangMuJieZhiShiJian')" min-width="150"></el-table-column>
|
|
|
</el-table>
|
|
|
|
|
|
<!-- 项目预估工时表 -->
|
|
|
<el-table v-if="ins == 27" key="27" border :data="projectEstimatedWorkData" highlight-current-row v-loading="listLoading" :height="+tableHeight - 1" style="width: 100%;" :span-method="objectSpanMethod">
|
|
|
- <el-table-column align="center" prop="projectName" label="项目名称" min-width="150"></el-table-column>
|
|
|
- <el-table-column align="center" prop="groupName" label="分组名称" min-width="150"></el-table-column>
|
|
|
- <el-table-column align="center" prop="estimatedWorkTime" label="预估工时" min-width="150"></el-table-column>
|
|
|
- <el-table-column align="center" prop="workTime" label="实际工时" min-width="150"></el-table-column>
|
|
|
+ <el-table-column align="center" prop="projectName" :label="$t('headerTop.projectName')" min-width="150"></el-table-column>
|
|
|
+ <el-table-column align="center" prop="groupName" :label="$t('groupname')" min-width="150"></el-table-column>
|
|
|
+ <el-table-column align="center" prop="estimatedWorkTime" :label="$t('yuGuGongShi')" min-width="150"></el-table-column>
|
|
|
+ <el-table-column align="center" prop="workTime" :label="$t('shi-ji-gong-shi')" min-width="150"></el-table-column>
|
|
|
</el-table>
|
|
|
|
|
|
<!-- 员工任务完成情况表 -->
|
|
|
<el-table v-if="ins == 28" key="28" border :data="taskCompletedData" highlight-current-row v-loading="listLoading" :height="+tableHeight - 1" style="width: 100%;" :span-method="objectSpanMethod">
|
|
|
- <el-table-column align="center" prop="userName" label="员工" min-width="150">
|
|
|
+ <el-table-column align="center" prop="userName" :label="$t('yuanGong')" min-width="150">
|
|
|
<template slot-scope="scope">
|
|
|
<div>
|
|
|
<span v-if="user.userNameNeedTranslate == '1'">
|
|
@@ -1269,7 +1269,7 @@
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column align="center" prop="deptName" label="部门" min-width="150">
|
|
|
+ <el-table-column align="center" prop="deptName" :label="$t('lable.department')" min-width="150">
|
|
|
<template slot-scope="scope">
|
|
|
<div>
|
|
|
<span v-if="user.userNameNeedTranslate == '1'">
|
|
@@ -1281,13 +1281,13 @@
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column align="center" prop="allNum" label="任务总数量" min-width="150"></el-table-column>
|
|
|
- <el-table-column align="center" prop="completedNum" label="已完成数量" min-width="150"></el-table-column>
|
|
|
- <el-table-column align="center" prop="noCompletedNum" label="未完成数量" min-width="150"></el-table-column>
|
|
|
- <el-table-column align="center" prop="noCompletedPercent" label="未完成率" min-width="150"></el-table-column>
|
|
|
- <el-table-column align="center" prop="onTimeNum" label="按时完成数量" min-width="150"></el-table-column>
|
|
|
- <el-table-column align="center" prop="noOnTimeNum" label="延迟完成数量" min-width="150"></el-table-column>
|
|
|
- <el-table-column align="center" prop="onTimePercent" label="按时完成率" min-width="150"></el-table-column>
|
|
|
+ <el-table-column align="center" prop="allNum" :label="$t('renWuZongShuLiang')" min-width="150"></el-table-column>
|
|
|
+ <el-table-column align="center" prop="completedNum" :label="$t('yiWanChengShuLiang')" min-width="150"></el-table-column>
|
|
|
+ <el-table-column align="center" prop="noCompletedNum" :label="$t('weiWanChengShuLiang')" min-width="150"></el-table-column>
|
|
|
+ <el-table-column align="center" prop="noCompletedPercent" :label="$t('weiWanChengShuai')" min-width="150"></el-table-column>
|
|
|
+ <el-table-column align="center" prop="onTimeNum" :label="$t('anShiWanChengShuLiang')" min-width="150"></el-table-column>
|
|
|
+ <el-table-column align="center" prop="noOnTimeNum" :label="$t('yanChiWanChengShuLiang')" min-width="150"></el-table-column>
|
|
|
+ <el-table-column align="center" prop="onTimePercent" :label="$t('anShiWanChengShuai')" min-width="150"></el-table-column>
|
|
|
</el-table>
|
|
|
<!--工具条-->
|
|
|
<el-col :span="24" class="toolbar" v-if="ins != 6 && ins != 20 && ins != 21">
|
|
@@ -1372,7 +1372,7 @@
|
|
|
</div>
|
|
|
</el-dialog>
|
|
|
<el-dialog :title="curProject.projectName+'-'+$t('detailsofreimbursementexpenses')" show-summary=true v-if="detailVisible" :summary-method="getSummaries" :visible.sync="detailVisible" :close-on-click-modal="false" customClass="customWidth" width="1000px">
|
|
|
- <div><el-button size="mini" @click="exportExpenseDetail" style="float:right" type="primary">导出</el-button></div>
|
|
|
+ <div><el-button size="mini" @click="exportExpenseDetail" style="float:right" type="primary">{{ $t('export.export') }}</el-button></div>
|
|
|
<el-table :key="ins" border :data="detailList" highlight-current-row v-loading="detailListLoading" :height="500" style="width: 100%;">
|
|
|
<el-table-column prop="username" :label="$t('screening.employeename')" >
|
|
|
<template slot-scope="scope" >
|
|
@@ -1424,7 +1424,7 @@
|
|
|
{{(scope.row.amount-scope.row.taxValue).toFixed(2)}}
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column prop="remark" label="备注">
|
|
|
+ <el-table-column prop="remark" :label="$t('bei-zhu')">
|
|
|
<template slot-scope="scope">
|
|
|
<el-tooltip popper-class="tipclass" :content=scope.row.remark placement="top-start">
|
|
|
<div class="cloStyleFour">{{scope.row.remark==null?"":scope.row.remark.length > 6?scope.row.remark.substring(0,5) + "...": scope.row.remark}}</div>
|
|
@@ -1506,19 +1506,19 @@
|
|
|
</el-dialog>
|
|
|
|
|
|
<!-- 设置预警弹窗 -->
|
|
|
- <el-dialog title="设置预警" :visible.sync="setWarningModal" width="600px" :before-close="handleClose">
|
|
|
+ <el-dialog :title="$t('sheZhiYuJing')" :visible.sync="setWarningModal" width="600px" :before-close="handleClose">
|
|
|
<div>
|
|
|
<el-form ref="warningFrom" :model="warningFrom" label-width="120px">
|
|
|
- <el-form-item label="提醒分类:">
|
|
|
- <el-select v-model="warningFrom.monitorCategoryId" placeholder="请选择提醒分类">
|
|
|
+ <el-form-item :label="$t('tiXingFenLei')">
|
|
|
+ <el-select v-model="warningFrom.monitorCategoryId" :placeholder="$t('qingXuanZeTiXingFenLei')">
|
|
|
<el-option v-for="item in projectCateRatioList.categoryList" :key="item.id" :label="item. name" :value="item.id"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="选择关系:">
|
|
|
- <el-radio v-model="warningFrom.moreOrLess" :label="0">低于</el-radio>
|
|
|
- <el-radio v-model="warningFrom.moreOrLess" :label="1">高于</el-radio>
|
|
|
+ <el-form-item :label="$t('xuanZeGuanXi')">
|
|
|
+ <el-radio v-model="warningFrom.moreOrLess" :label="0">{{ $t('diYu') }}</el-radio>
|
|
|
+ <el-radio v-model="warningFrom.moreOrLess" :label="1">{{ $t('gaoYu') }}</el-radio>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="设置占比:">
|
|
|
+ <el-form-item :label="$t('sheZhiZhanBi')">
|
|
|
<div class="sliderSetup">
|
|
|
<el-slider v-model="warningFrom.ratio" style="width: 340px"></el-slider>
|
|
|
<div class="text">{{ warningFrom.ratio }} %</div>
|
|
@@ -1527,13 +1527,13 @@
|
|
|
</el-form>
|
|
|
</div>
|
|
|
<span slot="footer" class="dialog-footer">
|
|
|
- <el-button @click="setWarningModal = false">取 消</el-button>
|
|
|
- <el-button type="primary" @click="setForewarning()" :loading="warningTableLoading">确 定</el-button>
|
|
|
+ <el-button @click="setWarningModal = false">{{ $t('quXiao') }}</el-button>
|
|
|
+ <el-button type="primary" @click="setForewarning()" :loading="warningTableLoading">{{ $t('queDing') }}</el-button>
|
|
|
</span>
|
|
|
</el-dialog>
|
|
|
<!-- 员工任务数据弹窗 -->
|
|
|
<el-dialog
|
|
|
- title="员工任务数据"
|
|
|
+ :title="$t('yuanGongRenWuShuJu')"
|
|
|
:visible.sync="showUserTaskDialog"
|
|
|
width="80%"
|
|
|
top="8.1vh"
|
|
@@ -1541,7 +1541,7 @@
|
|
|
<div>
|
|
|
<div class="pagingTable">
|
|
|
<el-table border :data="userTaskData" highlight-current-row height="50vh" v-loading="userTasklistLoading" style="width: 100%;" >
|
|
|
- <el-table-column align="center" prop="executorNames" label="执行人" min-width="150">
|
|
|
+ <el-table-column align="center" prop="executorNames" :label="$t('zhi-hang-ren')" min-width="150">
|
|
|
<template slot-scope="scope">
|
|
|
<div>
|
|
|
<span v-if="user.userNameNeedTranslate == '1'">
|
|
@@ -1553,11 +1553,11 @@
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column align="center" prop="taskName" label="任务名称" min-width="150"></el-table-column>
|
|
|
- <el-table-column align="center" prop="stateValue" label="当前状态" min-width="150"></el-table-column>
|
|
|
- <el-table-column align="center" prop="startDate" label="开始日期" min-width="150"></el-table-column>
|
|
|
- <el-table-column align="center" prop="endDate" label="截止日期" min-width="150"></el-table-column>
|
|
|
- <el-table-column align="center" prop="finishDate" label="完成日期" min-width="150"></el-table-column>
|
|
|
+ <el-table-column align="center" prop="taskName" :label="$t('nameofthetask')" min-width="150"></el-table-column>
|
|
|
+ <el-table-column align="center" prop="stateValue" :label="$t('dangQianZhuangTai')" min-width="150"></el-table-column>
|
|
|
+ <el-table-column align="center" prop="startDate" :label="$t('time.startDate')" min-width="150"></el-table-column>
|
|
|
+ <el-table-column align="center" prop="endDate" :label="$t('expirationdate')" min-width="150"></el-table-column>
|
|
|
+ <el-table-column align="center" prop="finishDate" :label="$t('wanChengRiQi')" min-width="150"></el-table-column>
|
|
|
</el-table>
|
|
|
</div>
|
|
|
|
|
@@ -1658,15 +1658,15 @@ export default {
|
|
|
this.$t('pojectbalancesheetincomestatement'),this.$t('customerprojectprofitstatement'),this.$t('projectphasetimesheet'),
|
|
|
this.$t('statisticsofovertimework'),this.$t('timecostearlywarningtable'),this.$t('personneltimeallocationtable'),
|
|
|
this.$t('statisticsofstafffillingintimerate'),this.$t('dailyreporttobereviewedstatistics'),this.$t('statisticsofpersonnelhours'),this.$t('taskgrouptimesheet'),this.$t('projectcostbaselinetable'),
|
|
|
- this.$t('ren-yuan-yue-du-gong-shi-biao'), this.$t('bumenchanyuqingkuang'), this.$t('ge-fen-zu-yu-jie-duan-gong-shi-biao'), '子项目工时成本表', '任务重启表', 'FTE报表', '有效工时率表', '项目分类工时占比表', '分类工时明细表',
|
|
|
- '员工项目进度表', '分组耗用进度表', '项目耗用进度表', '员工任务进度表', '项目预估工时表','员工任务完成情况表'],
|
|
|
+ this.$t('ren-yuan-yue-du-gong-shi-biao'), this.$t('bumenchanyuqingkuang'), this.$t('ge-fen-zu-yu-jie-duan-gong-shi-biao'), this.$t('ziXiangMuGongShiChengBenBiao'), this.$t('renWuZhongQiBiao'), this.$t('fteBaoBiao'), this.$t('youXiaoGongShiShuaiBiao'), this.$t('xiangMuFenLeiGongShiZhanBiBiao'), $t('fenLeiGongShiMingXiBiao'),
|
|
|
+ this.$t('yuanGongXiangMuJinDuBiao'), this.$t('fenZuHaoYongJinDuBiao'), this.$t('xiangMuHaoYongJinDuBiao'), this.$t('yuanGongRenWuJinDuBiao'), this.$t('xiangMuYuGuGongShiBiao'),this.$t('yuanGongRenWuWanChengQingKuangBiao')],
|
|
|
|
|
|
shuzArr: [this.$t('projectreport'),this.$t('projectTaskReport'),this.$t('projectcoststatement'),
|
|
|
this.$t('projectbalancesheet'),this.$t('customerprojectincomestatement'),this.$t('projectphasetimesheet'),
|
|
|
this.$t('statisticsofovertimework'),this.$t('timecostearlywarningtable'),this.$t('personneltimeallocationtable'),
|
|
|
this.$t('employeereporttimelinessrate'),this.$t('dailyreporttobereviewedstatistics'),this.$t('statisticsofpersonnelhours'),this.$t('taskgrouptimesheet'),this.$t('projectcostbaselinetable'),
|
|
|
- this.$t('ren-yuan-yue-du-gong-shi-biao'), this.$t('bumenchanyuqingkuang'), this.$t('ge-fen-zu-yu-jie-duan-gong-shi-biao'), '子项目工时成本表', '任务重启表', 'FTE报表','有效工时率表', '项目分类工时占比表', '分类工时明细表',
|
|
|
- '员工项目进度表', '分组耗用进度表', '项目耗用进度表', '员工任务进度表', '项目预估工时表','员工任务完成情况表'],
|
|
|
+ this.$t('ren-yuan-yue-du-gong-shi-biao'), this.$t('bumenchanyuqingkuang'), this.$t('ge-fen-zu-yu-jie-duan-gong-shi-biao'), this.$t('ziXiangMuGongShiChengBenBiao'), this.$t('renWuZhongQiBiao'), this.$t('fteBaoBiao'),this.$t('youXiaoGongShiShuaiBiao'), this.$t('xiangMuFenLeiGongShiZhanBiBiao'), this.$t('fenLeiGongShiMingXiBiao'),
|
|
|
+ this.$t('yuanGongXiangMuJinDuBiao'), this.$t('fenZuHaoYongJinDuBiao'), this.$t('xiangMuHaoYongJinDuBiao'), this.$t('yuanGongRenWuJinDuBiao'), this.$t('xiangMuYuGuGongShiBiao'),this.$t('yuanGongRenWuWanChengQingKuangBiao')],
|
|
|
|
|
|
ins: 10000,
|
|
|
user: JSON.parse(sessionStorage.user),
|
|
@@ -1749,19 +1749,19 @@ export default {
|
|
|
projectCategorySubList:[
|
|
|
{
|
|
|
value: 1,
|
|
|
- label: '纯软件项目'
|
|
|
+ label: this.$t('softwareproject')
|
|
|
},
|
|
|
{
|
|
|
value: 2,
|
|
|
- label: '纯硬件项目'
|
|
|
+ label: this.$t('hardwareproject')
|
|
|
},
|
|
|
{
|
|
|
value: 3,
|
|
|
- label: '集成项目'
|
|
|
+ label: this.$t('integrationproject')
|
|
|
},
|
|
|
{
|
|
|
value: 4,
|
|
|
- label: '服务项目'
|
|
|
+ label: this.$t('fuWuXiangMu')
|
|
|
}
|
|
|
],
|
|
|
projectCategorySubId:'',
|
|
@@ -1973,7 +1973,7 @@ export default {
|
|
|
res => {
|
|
|
if (res.code == "ok") {
|
|
|
this.customName = res.data
|
|
|
- this.customNameChoose = "请选择" + res.data
|
|
|
+ this.customNameChoose = this.$t('defaultText.pleaseChoose') + res.data
|
|
|
} else {
|
|
|
this.$message({
|
|
|
message: res.msg,
|
|
@@ -2122,7 +2122,7 @@ export default {
|
|
|
if (res.code == "ok") {
|
|
|
var filePath = res.data;
|
|
|
const a = document.createElement('a'); // 创建a标签
|
|
|
- a.setAttribute('download', '费用报销明细表.xlsx');// download属性
|
|
|
+ a.setAttribute('download', this.$t('feiYongBaoXiaoMingXiBiaoXlsx'));// download属性
|
|
|
a.setAttribute('href', filePath);// href链接
|
|
|
a.click(); //自执行点击事件
|
|
|
a.remove();
|
|
@@ -2408,30 +2408,30 @@ export default {
|
|
|
sl.endDate = this.rangeDatas[1]
|
|
|
sl.projectId = this.proJuctId
|
|
|
} else if(this.ins == 17) {
|
|
|
- fName = '子项目工时成本表' + '.xlsx'
|
|
|
+ fName = this.$t('ziXiangMuGongShiChengBenBiao') + '.xlsx'
|
|
|
url += "/exportSubProjectTimeCost"
|
|
|
sl.startDate = this.rangeDatas[0]
|
|
|
sl.endDate = this.rangeDatas[1]
|
|
|
} else if(this.ins == 18) {
|
|
|
- fName = '任务重启表' + '.xlsx'
|
|
|
+ fName = this.$t('renWuZhongQiBiao') + '.xlsx'
|
|
|
url = "/task-restart/exportTaskRestartList"
|
|
|
sl.startDate = this.rangeDatas[0]
|
|
|
sl.endDate = this.rangeDatas[1]
|
|
|
sl.projectId = this.proJuctId
|
|
|
sl.personLiableId = this.userId
|
|
|
} else if(this.ins == 19) {
|
|
|
- fName = 'FTE报表' + '.xlsx'
|
|
|
+ fName = this.$t('fteBaoBiao') + '.xlsx'
|
|
|
url += "/exportFTEData"
|
|
|
sl.monthStart= this.monthRange[0]+"-01"
|
|
|
sl.monthEnd= this.monthRange[1]+"-01"
|
|
|
sl.area = this.areaName || null
|
|
|
}else if(this.ins == 20) {
|
|
|
- fName = '有效工时率表' + '.xlsx'
|
|
|
+ fName = this.$t('youXiaoGongShiShuaiBiao') + '.xlsx'
|
|
|
url = "/project/exportEffectiveLaborHourRate"
|
|
|
sl.startDate = this.rangeDatas[0]
|
|
|
sl.endDate = this.rangeDatas[1]
|
|
|
}else if(this.ins == 21) {
|
|
|
- fName = '项目分类工时占比表' + '.xlsx'
|
|
|
+ fName = this.$t('xiangMuFenLeiGongShiZhanBiBiao') + '.xlsx'
|
|
|
url = "/project/exportMembProjectCateRatio"
|
|
|
sl.onlyShowWarning=0
|
|
|
sl.startDate = this.rangeDatas[0]
|
|
@@ -2439,26 +2439,26 @@ export default {
|
|
|
sl.departmentId = this.departmentIdArray.length > 0 ? this.departmentIdArray[this.departmentIdArray.length - 1] : ''
|
|
|
sl.subUserCustomName = this.subUserCustomName ? this.subUserCustomName: null
|
|
|
} else if(this.ins == 22) {
|
|
|
- fName = '分类工时明细表' + '.xlsx'
|
|
|
+ fName = this.$t('fenLeiGongShiMingXiBiao') + '.xlsx'
|
|
|
url = "/report/exportUserWorkTimeByCategory"
|
|
|
sl.categoryId = this.projectSortId
|
|
|
sl.startDate = this.rangeDatas[0]
|
|
|
sl.endDate = this.rangeDatas[1]
|
|
|
} else if(this.ins == 23) {
|
|
|
- fName = '员工项目进度表' + '.xlsx'
|
|
|
+ fName = this.$t('yuanGongXiangMuJinDuBiao') + '.xlsx'
|
|
|
url = "/project/exportUserProjectProcessList"
|
|
|
let dept = this.departmentIdArray[this.departmentIdArray.length - 1]
|
|
|
this.proJuctId ? sl.projectId = this.proJuctId : ''
|
|
|
this.userId ? sl.userId = this.userId : ''
|
|
|
dept ? sl.deptId = dept : ''
|
|
|
} else if(this.ins == 24) {
|
|
|
- fName = '分组耗用进度表' + '.xlsx'
|
|
|
+ fName = this.$t('fenZuHaoYongJinDuBiao') + '.xlsx'
|
|
|
url = "/project/exportGroupExpendProcessList"
|
|
|
this.proJuctId ? sl.projectId = this.proJuctId : ''
|
|
|
sl.startDate = this.rangeDatas[0]
|
|
|
sl.endDate = this.rangeDatas[1]
|
|
|
} else if(this.ins == 25) {
|
|
|
- fName = '项目耗用进度表' + '.xlsx'
|
|
|
+ fName = this.$t('xiangMuHaoYongJinDuBiao') + '.xlsx'
|
|
|
url = "/project/exportProjectExpendProcessList"
|
|
|
sl.startDate = this.rangeDatas[0]
|
|
|
sl.endDate = this.rangeDatas[1]
|
|
@@ -2466,7 +2466,7 @@ export default {
|
|
|
this.userId ? sl.userId = this.userId : ''
|
|
|
this.projectSortIdTwo ? sl.categoryId = this.projectSortIdTwo : ''
|
|
|
} else if(this.ins == 26) {
|
|
|
- fName = '员工任务进度表' + '.xlsx'
|
|
|
+ fName = this.$t('yuanGongRenWuJinDuBiao') + '.xlsx'
|
|
|
url = "/project/exportUserTaskProcessList"
|
|
|
let dept = this.departmentIdArray[this.departmentIdArray.length - 1]
|
|
|
this.proJuctId ? sl.projectId = this.proJuctId : ''
|
|
@@ -2475,11 +2475,11 @@ export default {
|
|
|
sl.startDate = this.rangeDatas[0]
|
|
|
sl.endDate = this.rangeDatas[1]
|
|
|
}else if(this.ins == 27) {
|
|
|
- fName = '项目预估工时表' + '.xlsx'
|
|
|
+ fName = this.$t('xiangMuYuGuGongShiBiao') + '.xlsx'
|
|
|
url = "/project/exportProjectEstimatedWorkTime"
|
|
|
this.proJuctId ? sl.projectId = this.proJuctId : ''
|
|
|
}else if(this.ins == 28) {
|
|
|
- fName = '员工任务完成情况表' + '.xlsx'
|
|
|
+ fName = this.$t('yuanGongRenWuWanChengQingKuangBiao') + '.xlsx'
|
|
|
url = "/task/exportUserTaskCompleteDetail"
|
|
|
let dept = this.departmentIdArray[this.departmentIdArray.length - 1]
|
|
|
this.userId ? sl.userId = this.userId : ''
|
|
@@ -2519,7 +2519,7 @@ export default {
|
|
|
res => {
|
|
|
if (res.code == "ok") {
|
|
|
var filePath = res.data;
|
|
|
- var fName = this.$t('personnelfillingtimelyratestatistics') + '(' + this.quarterParameter.year + this.$t('di') + this.quarterParameter.quarter + '季度).xlsx'
|
|
|
+ var fName = this.$t('personnelfillingtimelyratestatistics') + '(' + this.quarterParameter.year + this.$t('di') + this.quarterParameter.quarter + this.$t('jiDuXlsx')
|
|
|
const a = document.createElement('a'); // 创建a标签
|
|
|
a.setAttribute('download', fName);// download属性
|
|
|
a.setAttribute('href', filePath);// href链接
|
|
@@ -2601,7 +2601,7 @@ export default {
|
|
|
},
|
|
|
// 获取人员自定义 员工类型下的下拉数据
|
|
|
getSubUserCustom() {
|
|
|
- this.http.post('/sub-user-custom/listWithName',{userCustomName:'员工类型'},
|
|
|
+ this.http.post('/sub-user-custom/listWithName',{userCustomName:this.$t('yuanGongLeiXing')},
|
|
|
res => {
|
|
|
if (res.code == "ok") {
|
|
|
this.subUserCustom=res.data
|
|
@@ -2689,7 +2689,7 @@ export default {
|
|
|
const sums = [];
|
|
|
columns.forEach((column, index) => {
|
|
|
if (index === 0) {
|
|
|
- sums[index] = '总工时';
|
|
|
+ sums[index] = this.$t('other.totalworkinghours');
|
|
|
return;
|
|
|
}
|
|
|
const values = data.map(item => Number(item[column.property]));
|
|
@@ -3886,7 +3886,7 @@ export default {
|
|
|
let { categoryList, userList } = data
|
|
|
categoryList.push({
|
|
|
id: 999999,
|
|
|
- name: '未分类'
|
|
|
+ name: this.$t('weiFenLei')
|
|
|
})
|
|
|
this.listLoading = false
|
|
|
this.projectCateRatioList = {
|
|
@@ -3961,9 +3961,9 @@ export default {
|
|
|
async getProjectSort() {
|
|
|
let { data } = await this.postData('/project-category/list', {})
|
|
|
let dataList = data || []
|
|
|
- dataList.push({id: 0, name: '未分类'})
|
|
|
+ dataList.push({id: 0, name: this.$t('weiFenLei')})
|
|
|
this.projectSortList = dataList
|
|
|
- this.projectSortListTwo = dataList.filter((item) => item.name != '报价项目' && item.name != '售后报价项目' && item.name != '研发项目' && item.name != '未分类')
|
|
|
+ this.projectSortListTwo = dataList.filter((item) => item.name != this.$t('baoJiaXiangMu') && item.name != this.$t('shouHouBaoJiaXiangMu') && item.name != this.$t('yanFaXiangMu') && item.name != this.$t('weiFenLei'))
|
|
|
this.projectSortId = dataList[0].id
|
|
|
this.projectSortName = dataList[0].name
|
|
|
},
|