|
@@ -309,7 +309,7 @@
|
|
|
</el-time-picker>
|
|
|
</span>
|
|
|
<div class="overtime" v-if="user.timeType.fillOvertime">
|
|
|
- <el-checkbox :disabled="!canEdit" v-model="domain.isOvertime">加班</el-checkbox>
|
|
|
+ <el-checkbox :disabled="!canEdit" v-model="domain.isOvertime">含加班</el-checkbox>
|
|
|
<el-input :disabled="!canEdit || domain.isOvertime==null || domain.isOvertime==0" v-model="domain.overtimeHours" @blur="triggerCalculateOT(index)" @input="domain.overtimeHours=domain.overtimeHours.replace(/[^\d.]/g,'')" style="width: 100px;"></el-input><span style="margin-left:5px">小时</span>
|
|
|
</div>
|
|
|
</el-form-item>
|
|
@@ -331,11 +331,11 @@
|
|
|
<el-option v-for="item in domain.subProjectList" :key="item.id" :label="item.name" :value="item.id"></el-option>
|
|
|
</el-select>
|
|
|
|
|
|
- <el-link v-if="index >= 1" type="primary" :underline="false" @click="delDomain(index)" style="float:right;margin-right:10px;"
|
|
|
+ <el-link v-if="index >= 1&&canEdit" type="primary" :underline="false" @click="delDomain(index)" style="float:right;margin-right:10px;"
|
|
|
:disabled="workForm.domains.length==0?true:(workForm.domains[index].state>=2?false:true)">
|
|
|
<i class="fa fa-trash" style="color: red;;font-size:18px;"></i>
|
|
|
</el-link>
|
|
|
- <el-link type="primary" v-if="workForm.domains[index].state == 0 || workForm.domains[index].state == 2"
|
|
|
+ <el-link type="primary" v-if="canEdit"
|
|
|
:underline="false" style="margin-left:10px;" @click="copyProject(index)">复制</el-link>
|
|
|
</el-form-item>
|
|
|
<el-form-item :label="user.companyId==781?'描述':'项目描述'" v-if="user.company.packageProject==0&&domain.projectId&&projectList.filter(p=>p.id == domain.projectId)[0].projectDesc">
|
|
@@ -422,7 +422,7 @@
|
|
|
<el-select v-model="domain.projectId" placeholder="请选择项目" style="width:200px;" clearable="true" filterable="true"
|
|
|
@change="selectProject(domain, index)"
|
|
|
:disabled="workForm.domains.length==0?true:(workForm.domains[index].state>=2?false:true)">
|
|
|
- <el-option v-for="item in projectList" :key="item.id" :label="item.projectName" :value="item.id"></el-option>
|
|
|
+ <el-option v-for="item in projectList" :disabled="item.status>=2" :key="item.id" :label="item.projectName" :value="item.id"></el-option>
|
|
|
</el-select>
|
|
|
<span v-if="domain.subProjectList != null && domain.subProjectList.length> 0 && domain.projectId != ''"
|
|
|
style="margin-left:45px;">子项目</span>
|
|
@@ -433,16 +433,16 @@
|
|
|
<el-option v-for="item in domain.subProjectList" :key="item.id" :label="item.name" :value="item.id"></el-option>
|
|
|
</el-select>
|
|
|
|
|
|
- <el-link v-if="index >= 1" type="primary" :underline="false" @click="delDomain(index)" style="float:right;margin-right:10px;"
|
|
|
+ <el-link v-if="index >= 1&&canEdit" type="primary" :underline="false" @click="delDomain(index)" style="float:right;margin-right:10px;"
|
|
|
:disabled="workForm.domains.length==0?true:(workForm.domains[index].state>=2?false:true)">
|
|
|
<i class="fa fa-trash" style="color: red;;font-size:18px;"></i>
|
|
|
</el-link>
|
|
|
|
|
|
- <div class="overtime" v-if="user.timeType.fillOvertime"><el-checkbox :disabled="!canEdit" v-model="domain.isOvertime">加班</el-checkbox>
|
|
|
+ <div class="overtime" v-if="user.timeType.fillOvertime"><el-checkbox :disabled="!canEdit" v-model="domain.isOvertime">含加班</el-checkbox>
|
|
|
<el-input :disabled="!canEdit || domain.isOvertime==null || domain.isOvertime==0" v-model="domain.overtimeHours" @blur="triggerCalculateOT(index)" @input="domain.overtimeHours=domain.overtimeHours.replace(/[^\d.]/g,'')" style="width: 100px;"></el-input><span style="margin-left:5px">小时</span>
|
|
|
</div>
|
|
|
|
|
|
- <el-link type="primary" v-if="workForm.domains[index].state == 0 || workForm.domains[index].state == 2"
|
|
|
+ <el-link type="primary" v-if="canEdit"
|
|
|
:underline="false" style="margin-left:10px;" @click="copyProject(index)">复制</el-link>
|
|
|
</el-form-item>
|
|
|
<el-form-item :label="user.companyId==781?'描述':'项目描述'" v-if="user.company.packageProject==0&&domain.projectId&&projectList.filter(p=>p.id == domain.projectId)[0].projectDesc">
|
|
@@ -567,7 +567,8 @@
|
|
|
<el-link v-if="showAddMore" :disabled="!canEdit" type="primary" :underline="false" @click="addDomain(reportTimeType.type)" style="margin-left:40px">添加更多</el-link>
|
|
|
</el-form>
|
|
|
<span slot="footer" class="dialog-footer">
|
|
|
- <el-button @click="deleteReport" v-if="workForm.domains[0].id != null">删除</el-button>
|
|
|
+ <!-- <el-button @click="cancelReport" v-if="workForm.domains[0].id != null && workForm.domains[0].state == 0">撤回</el-button> -->
|
|
|
+ <el-button @click="deleteReport" v-if="workForm.domains[0].id != null && canEdit">删除</el-button>
|
|
|
<el-button @click="dialogVisible = false">取消</el-button>
|
|
|
<el-button v-if="!isSubstitude" @click="submitReport(1)" :loading="submitingReport" :disabled="workForm.domains.length==0?true:(canEdit?false:true)">暂存</el-button>
|
|
|
<el-button type="primary" @click="submitReport(0)" :loading="submitingReport"
|
|
@@ -624,6 +625,7 @@
|
|
|
<el-select v-model="selCon" multiple placeholder="请选择" filterable>
|
|
|
<el-option
|
|
|
v-for="item in projectList"
|
|
|
+ :disabled="item.status>=2"
|
|
|
:key="item.id"
|
|
|
:label="item.projectName"
|
|
|
:value="item.id">
|
|
@@ -662,6 +664,13 @@
|
|
|
<el-option v-for="item in zhoBao.subProjectList" :key="item.id" :label="item.name" :value="item.id"></el-option>
|
|
|
</el-select>
|
|
|
</div>
|
|
|
+ <!--如果设置了工时成本预警的预算成本项-->
|
|
|
+ <div class="zhoFel" v-if="timeBasecostList &&timeBasecostList.length>0">
|
|
|
+ <p>预算来源</p>
|
|
|
+ <el-select v-model="zhoBao.basecostId" style="width: 355px">
|
|
|
+ <el-option v-for="item in timeBasecostList" :label="item.name" :value="item.id" :key="item.id"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </div>
|
|
|
<!-- 任务分组 -->
|
|
|
<div class="zhoFel" v-if="user.company.packageProject == 1">
|
|
|
<p>任务分组</p>
|
|
@@ -3597,6 +3606,10 @@
|
|
|
sss.time = item.time
|
|
|
sss.workingTime = item.workingTime
|
|
|
sss.projectAuditorId = item.projectAuditorId;
|
|
|
+ if (this.timeBasecostList && this.timeBasecostList.length > 0) {
|
|
|
+ //默认选中第一个
|
|
|
+ sss.basecostId = this.timeBasecostList[0].id;
|
|
|
+ }
|
|
|
var that = this
|
|
|
setTimeout(() =>{
|
|
|
if(Object.keys(item).length < 5) {
|
|
@@ -3808,6 +3821,18 @@
|
|
|
this.selProjectList = this.projectList
|
|
|
this.selConShow = false
|
|
|
}
|
|
|
+ if (!this.timeBasecostList || this.timeBasecostList.length == 0) {
|
|
|
+ //重新获取工时预警类型的预算项
|
|
|
+ this.http.post('/project-basecost-setting/getReportBasecostList', {
|
|
|
+ companyId: this.user.companyId
|
|
|
+ },
|
|
|
+ res => {
|
|
|
+ if (res.code == "ok") {
|
|
|
+ this.timeBasecostList = res.data;
|
|
|
+ console.log(this.timeBasecostList);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
},
|
|
|
// 按周填报的项目筛选
|
|
|
selListFun(){
|
|
@@ -3994,6 +4019,7 @@
|
|
|
return false
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
var submits = []
|
|
|
let formData = new FormData();
|
|
|
if(this.reportTimeType.multiWorktime == 1){
|
|
@@ -4035,6 +4061,11 @@
|
|
|
if (zhoD[j].projectAuditorId) {
|
|
|
formData.append("projectAuditorId",zhoD[j].projectAuditorId)
|
|
|
}
|
|
|
+ if(zhoD[j].basecostId) {
|
|
|
+ formData.append("basecostId", zhoD[j].basecostId);
|
|
|
+ } else {
|
|
|
+ formData.append("basecostId", 0);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -4067,6 +4098,11 @@
|
|
|
if (zhoD[j].projectAuditorId) {
|
|
|
formData.append("projectAuditorId",zhoD[j].projectAuditorId)
|
|
|
}
|
|
|
+ if(zhoD[j].basecostId) {
|
|
|
+ formData.append("basecostId", zhoD[j].basecostId);
|
|
|
+ } else {
|
|
|
+ formData.append("basecostId", 0);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
} else {
|
|
@@ -4102,44 +4138,20 @@
|
|
|
if (zhoD[j].projectAuditorId) {
|
|
|
formData.append("projectAuditorId",zhoD[j].projectAuditorId)
|
|
|
}
|
|
|
+ if(zhoD[j].basecostId) {
|
|
|
+ formData.append("basecostId", zhoD[j].basecostId);
|
|
|
+ } else {
|
|
|
+ formData.append("basecostId", 0);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- // else {
|
|
|
- // for (var i in this.zhoData) {
|
|
|
- // var zhoD = this.zhoData[i]
|
|
|
- // var flgs = false
|
|
|
- // for(var j in zhoD) {
|
|
|
- // if(j != 'zhoDataTime' && j != 'he' && zhoD[j].workingTime && zhoD[j].workingTime.length > 0 && zhoD[j].workingTime > 0 && zhoD[j].workingTime != null && zhoD[j].workingTime != 'null') {
|
|
|
- // flgs = true
|
|
|
- // formData.append("degreeId", "-1");
|
|
|
- // formData.append("id", '-1');
|
|
|
- // for(var s in this.projectList) {
|
|
|
- // if(j == this.projectList[s].projectName) {
|
|
|
- // formData.append("projectId", this.projectList[s].id);
|
|
|
- // }
|
|
|
- // }
|
|
|
- // formData.append("subProjectId", '0');
|
|
|
- // formData.append("taskId", 0);
|
|
|
- // formData.append("reportTimeType", this.reportTimeType.type);
|
|
|
- // formData.append("progress", zhoD[j].progress);
|
|
|
- // formData.append("workingTime", zhoD[j].workingTime);
|
|
|
- // formData.append("content", zhoD[j].con);
|
|
|
- // formData.append("multiWorktime", this.reportTimeType.multiWorktime);
|
|
|
- // formData.append("isOvertime", 0)
|
|
|
- // formData.append("professionProgress", "[]")
|
|
|
- // formData.append("stage", "");
|
|
|
- // formData.append("createDate",zhoD.zhoDataTime)
|
|
|
-
|
|
|
- // }
|
|
|
- // }
|
|
|
- // }
|
|
|
- // }
|
|
|
+
|
|
|
this.http.uploadFile( this.port.report.editPort, formData,
|
|
|
res => {
|
|
|
- this.listLoading = false;
|
|
|
+ // this.listLoading = false;
|
|
|
if (res.code == "ok") {
|
|
|
this.$message({
|
|
|
message: "填报成功",
|
|
@@ -4151,6 +4163,9 @@
|
|
|
this.zhoRqi = ''
|
|
|
this.getReportList();
|
|
|
this.getDepartment();
|
|
|
+ // 关闭弹窗 并 清空
|
|
|
+ this.selProjectList = []
|
|
|
+ this.selCon = []
|
|
|
} else {
|
|
|
this.$message({
|
|
|
message: res.msg,
|
|
@@ -4165,13 +4180,6 @@
|
|
|
type: "error"
|
|
|
});
|
|
|
});
|
|
|
- // 关闭弹窗 并 清空
|
|
|
- // this.diasZho = false
|
|
|
- // this.zhoData = []
|
|
|
- // this.zhoRqi = ''
|
|
|
- this.selProjectList = []
|
|
|
- this.selCon = []
|
|
|
-
|
|
|
},
|
|
|
ChangeHourMinutestr (str) {
|
|
|
if (str !== "0" && str !== "" && str !== null) {
|
|
@@ -4593,10 +4601,18 @@
|
|
|
if (this.workForm.domains[i].projectAuditorId) {
|
|
|
formData.append("projectAuditorId", this.workForm.domains[i].projectAuditorId);
|
|
|
} else {
|
|
|
- this.$message({
|
|
|
- message: "请指定项目审核人",
|
|
|
- type: "error"
|
|
|
- });
|
|
|
+ if (this.workForm.domains[i].taskGpIncharge == 0) {
|
|
|
+ this.$message({
|
|
|
+ message: "请指定项目审核人",
|
|
|
+ type: "error"
|
|
|
+ });
|
|
|
+ } else if (this.workForm.domains[i].taskGroups.length == 0) {
|
|
|
+ this.$message({
|
|
|
+ message: "您在["+this.workForm.domains[i].projectName+"]项目上尚无参与的任务分组",
|
|
|
+ type: "error"
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
return;
|
|
|
}
|
|
|
}
|