|
@@ -43,6 +43,13 @@
|
|
<el-option v-for="item in baseClfList" :key="item.id" :label="item.name" :value="item.id" ></el-option>
|
|
<el-option v-for="item in baseClfList" :key="item.id" :label="item.name" :value="item.id" ></el-option>
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
|
+ <!-- 部门筛选 -->
|
|
|
|
+ <el-form-item v-if="user.timeType.projectWithDept">
|
|
|
|
+ <span style="margin-left:5px;margin-right:5px;color:#606266;">部门</span>
|
|
|
|
+ <el-cascader v-model="deptId" :options="departmentList" placeholder="请选择部门"
|
|
|
|
+ :props="{ checkStrictly: true }" :show-all-levels="false" clearable filterable @change="searchClfList" size="small"
|
|
|
|
+ ></el-cascader>
|
|
|
|
+ </el-form-item>
|
|
|
|
|
|
<!-- 分类条目 -->
|
|
<!-- 分类条目 -->
|
|
<!-- <el-form-item style="float:right;" v-if="permissions.projectClassification">
|
|
<!-- <el-form-item style="float:right;" v-if="permissions.projectClassification">
|
|
@@ -146,7 +153,7 @@
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
- <el-table-column prop="projectCategorySub" label="项目分组" width="200" v-if="user.companyId == '428'">
|
|
|
|
|
|
+ <!-- <el-table-column prop="projectCategorySub" label="项目分组" width="200" v-if="user.companyId == '428'">
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
<div v-if="scope.row.projectSeparate">
|
|
<div v-if="scope.row.projectSeparate">
|
|
<div v-if="scope.row.projectSeparate.projectCategorySub">
|
|
<div v-if="scope.row.projectSeparate.projectCategorySub">
|
|
@@ -164,7 +171,7 @@
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
- </el-table-column>
|
|
|
|
|
|
+ </el-table-column> -->
|
|
<el-table-column prop="categoryName" label="项目分类" sortable="custom" width="120"></el-table-column>
|
|
<el-table-column prop="categoryName" label="项目分类" sortable="custom" width="120"></el-table-column>
|
|
<el-table-column prop="projectName" label="项目名称" width="250" sortable="custom">
|
|
<el-table-column prop="projectName" label="项目名称" width="250" sortable="custom">
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
@@ -184,7 +191,7 @@
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
- <el-table-column prop="departmentName" label="所属部门" width="200"></el-table-column>
|
|
|
|
|
|
+ <el-table-column prop="departmentName" label="所属部门" sortable="custom" width="200" v-if="user.timeType.projectWithDept"></el-table-column>
|
|
<el-table-column prop="projectMainName" label="主项目" sortable="custom" min-width="250" v-if="user.timeType.mainProjectState == '1'">
|
|
<el-table-column prop="projectMainName" label="主项目" sortable="custom" min-width="250" v-if="user.timeType.mainProjectState == '1'">
|
|
</el-table-column>
|
|
</el-table-column>
|
|
<el-table-column prop="inchargerName" label="项目经理" sortable="custom" min-width="150">
|
|
<el-table-column prop="inchargerName" label="项目经理" sortable="custom" min-width="150">
|
|
@@ -247,6 +254,14 @@
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
|
+ <!-- 研究中心 -->
|
|
|
|
+ <el-table-column prop="associateDegreeNames" :label="centerNameDegree" min-width="190" v-if="user.timeType.isCro == 1" sortable="custom">
|
|
|
|
+ <template slot-scope="scope">
|
|
|
|
+ <div>
|
|
|
|
+ {{scope.row.associateDegreeNames}}
|
|
|
|
+ </div>
|
|
|
|
+ </template>
|
|
|
|
+ </el-table-column>
|
|
<!-- 级别 -->
|
|
<!-- 级别 -->
|
|
<el-table-column :prop="user.timeType.projectLevelState == 1 ? 'levelName' : 'level'" label="级别" min-width="190" v-if="user.company.packageProject == 1">
|
|
<el-table-column :prop="user.timeType.projectLevelState == 1 ? 'levelName' : 'level'" label="级别" min-width="190" v-if="user.company.packageProject == 1">
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
@@ -366,9 +381,9 @@
|
|
</div>
|
|
</div>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
|
|
|
- <el-form-item label="所属部门">
|
|
|
|
|
|
+ <el-form-item label="所属部门" v-if="user.timeType.projectWithDept">
|
|
<el-cascader v-model="addForm.deptId" :options="departmentList" placeholder="请选择部门"
|
|
<el-cascader v-model="addForm.deptId" :options="departmentList" placeholder="请选择部门"
|
|
- :props="{ checkStrictly: true }" clearable filterable @change="cascaderChange"
|
|
|
|
|
|
+ :props="{ checkStrictly: true }" clearable filterable @change="cascaderChange" style="width: 100%"
|
|
></el-cascader>
|
|
></el-cascader>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
|
|
|
@@ -423,11 +438,20 @@
|
|
<el-option v-for="item in importanceList" :key="item.id" :label="item.label" :value="item.id"></el-option>
|
|
<el-option v-for="item in importanceList" :key="item.id" :label="item.label" :value="item.id"></el-option>
|
|
</el-select>
|
|
</el-select>
|
|
<!-- 增加合同金额字段 -->
|
|
<!-- 增加合同金额字段 -->
|
|
- <span style="margin-left:63px;margin-right:10px;" v-if="user.company.packageProject==1">合同金额</span>
|
|
|
|
- <el-input id="contractAmount" v-model="addForm.contractAmount" style="width:33%;"
|
|
|
|
- placeholder="整数" clearable @keyup.native="restrictNumber('contractAmount')" :disabled="title == '新增项目' ? false : true"></el-input><span style="margin-left:10px;">元</span>
|
|
|
|
|
|
+ <!-- <span style="margin-left:63px;margin-right:10px;" v-if="user.company.packageProject==1">合同金额</span>
|
|
|
|
+ <el-input id="contractAmount" v-model="addForm.contractAmount" style="width:33%;" @blur="contractAmountChange(addForm.contractAmount)"
|
|
|
|
+ placeholder="整数" clearable @keyup.native="restrictNumber('contractAmount')" :disabled="title == '新增项目' ? false : false"></el-input><span style="margin-left:10px;">元</span> -->
|
|
|
|
+ </el-form-item>
|
|
<!-- 增加合同金额字段 -->
|
|
<!-- 增加合同金额字段 -->
|
|
|
|
+ <el-form-item label="合同金额" v-if="user.company.packageProject==1">
|
|
|
|
+ <el-input id="contractAmount" v-model="addForm.contractAmount" style="width:32%;" @input="contractAmountChange(addForm.contractAmount)" placeholder="整数" clearable @keyup.native="restrictNumber('contractAmount')"></el-input><span style="margin-left:10px;position:absolute;">元</span>
|
|
|
|
+ <template v-if="title == '修改项目'">
|
|
|
|
+ <span style="margin-left:63px;margin-right:10px;">修改原因</span>
|
|
|
|
+ <el-input v-model="addForm.changeContractReason" style="width:33%" clearable placeholder="合同金额修改原因" :disabled="!contractAmountReasonShow"></el-input>
|
|
|
|
+ </template>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
|
+
|
|
|
|
+
|
|
<el-form-item label="开始日期" prop="planStartDate" >
|
|
<el-form-item label="开始日期" prop="planStartDate" >
|
|
<el-date-picker v-model="addForm.planStartDate"
|
|
<el-date-picker v-model="addForm.planStartDate"
|
|
:editable="false" style="width:32%;"
|
|
:editable="false" style="width:32%;"
|
|
@@ -1126,7 +1150,11 @@ a {
|
|
rowid: '',
|
|
rowid: '',
|
|
phaseProjectDialog: false, // 项目阶段
|
|
phaseProjectDialog: false, // 项目阶段
|
|
levelList: [], // 项目级别
|
|
levelList: [], // 项目级别
|
|
- departmentList: []
|
|
|
|
|
|
+ departmentList: [],
|
|
|
|
+ deptId: [],
|
|
|
|
+ contractAmountOld: 0,
|
|
|
|
+ contractAmountReasonShow: false,
|
|
|
|
+ centerNameDegree: ''
|
|
};
|
|
};
|
|
},
|
|
},
|
|
// 过滤器
|
|
// 过滤器
|
|
@@ -1357,7 +1385,7 @@ a {
|
|
console.log(this.addForm)
|
|
console.log(this.addForm)
|
|
},
|
|
},
|
|
tableSort({column, prop, order}){
|
|
tableSort({column, prop, order}){
|
|
- if(prop == 'inchargerName' || prop == 'customerName' || prop == 'projectCode' || prop == 'categoryName' || prop == 'projectName' || prop == 'status' || prop == 'currentStage'){
|
|
|
|
|
|
+ if(prop == 'inchargerName' || prop == 'customerName' || prop == 'projectCode' || prop == 'categoryName' || prop == 'projectName' || prop == 'status' || prop == 'currentStage' || prop == 'departmentName' || prop == 'associateDegreeNames'){
|
|
this.sortOrder = order
|
|
this.sortOrder = order
|
|
this.sortProp = prop
|
|
this.sortProp = prop
|
|
this.getList()
|
|
this.getList()
|
|
@@ -2843,6 +2871,10 @@ a {
|
|
parameter.sortProp = 'status'
|
|
parameter.sortProp = 'status'
|
|
}else if(this.sortProp == 'currentStage'){
|
|
}else if(this.sortProp == 'currentStage'){
|
|
parameter.sortProp = 'current_stage_name'
|
|
parameter.sortProp = 'current_stage_name'
|
|
|
|
+ }else if(this.sortProp == 'departmentName'){
|
|
|
|
+ parameter.sortProp = 'dept_id'
|
|
|
|
+ }else if(this.sortProp == 'associateDegreeNames'){
|
|
|
|
+ parameter.sortProp = 'associate_degrees'
|
|
}
|
|
}
|
|
|
|
|
|
if(this.sortOrder == 'descending'){
|
|
if(this.sortOrder == 'descending'){
|
|
@@ -2851,6 +2883,11 @@ a {
|
|
parameter.sortOrder = 1
|
|
parameter.sortOrder = 1
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ if(this.deptId.length > 0) {
|
|
|
|
+ parameter.deptId = this.deptId[this.deptId.length - 1]
|
|
|
|
+ } else {
|
|
|
|
+ parameter.deptId = ''
|
|
|
|
+ }
|
|
this.http.post(this.port.project.listPage, parameter,
|
|
this.http.post(this.port.project.listPage, parameter,
|
|
res => {
|
|
res => {
|
|
this.listLoading = false;
|
|
this.listLoading = false;
|
|
@@ -2867,6 +2904,7 @@ a {
|
|
}
|
|
}
|
|
list[i].userNames = str;
|
|
list[i].userNames = str;
|
|
}
|
|
}
|
|
|
|
+ this.centerNameDegree = res.data.degrees
|
|
this.showColumnWidth = this.showColumn(list)
|
|
this.showColumnWidth = this.showColumn(list)
|
|
this.list = list;
|
|
this.list = list;
|
|
this.total = res.data.total;
|
|
this.total = res.data.total;
|
|
@@ -2915,8 +2953,20 @@ a {
|
|
}
|
|
}
|
|
},
|
|
},
|
|
|
|
|
|
|
|
+ // 合同金额发生改变,需弹出修改原因的输入框
|
|
|
|
+ contractAmountChange(value){
|
|
|
|
+
|
|
|
|
+ if(this.contractAmountOld != value){
|
|
|
|
+ this.contractAmountReasonShow = true
|
|
|
|
+ }else{
|
|
|
|
+ this.contractAmountReasonShow = false
|
|
|
|
+ this.addForm.changeContractReason = ''
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+
|
|
//显示新增界面
|
|
//显示新增界面
|
|
handleAdd(i, item) {
|
|
handleAdd(i, item) {
|
|
|
|
+ this.contractAmountReasonShow = false
|
|
if(i == -1) {
|
|
if(i == -1) {
|
|
this.title = "新增项目";
|
|
this.title = "新增项目";
|
|
this.addForm = {
|
|
this.addForm = {
|
|
@@ -2934,7 +2984,11 @@ a {
|
|
creatorId: this.user.id,
|
|
creatorId: this.user.id,
|
|
projectMainId: '',
|
|
projectMainId: '',
|
|
outputValue: '',
|
|
outputValue: '',
|
|
- deptId: []
|
|
|
|
|
|
+ // deptId: []
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if(this.user.timeType.projectWithDept) {
|
|
|
|
+ this.$set(this.addForm, 'deptId', [])
|
|
}
|
|
}
|
|
|
|
|
|
if(this.user.companyId == '936') {
|
|
if(this.user.companyId == '936') {
|
|
@@ -3007,10 +3061,14 @@ a {
|
|
projectMainId: item.projectMainId,
|
|
projectMainId: item.projectMainId,
|
|
creatorId: item.creatorId,
|
|
creatorId: item.creatorId,
|
|
outputValue: item.outputValue,
|
|
outputValue: item.outputValue,
|
|
- deptId: array.reverse()
|
|
|
|
|
|
+ // deptId: array.reverse(),
|
|
|
|
+ changeContractReason: ''
|
|
}
|
|
}
|
|
|
|
+ this.contractAmountOld = item.contractAmount ? item.contractAmount : 0
|
|
console.log(this.addForm, '数据')
|
|
console.log(this.addForm, '数据')
|
|
-
|
|
|
|
|
|
+ if(this.user.timeType.projectWithDept) {
|
|
|
|
+ this.$set(this.addForm, 'deptId', array.reverse())
|
|
|
|
+ }
|
|
// 判断公司id是否等于936
|
|
// 判断公司id是否等于936
|
|
if(this.user.companyId == '936') {
|
|
if(this.user.companyId == '936') {
|
|
if(item.projectSeparate) {
|
|
if(item.projectSeparate) {
|
|
@@ -3242,6 +3300,9 @@ a {
|
|
if(this.addForm.contractAmount != null) {
|
|
if(this.addForm.contractAmount != null) {
|
|
formData.append("contractAmount", this.addForm.contractAmount);
|
|
formData.append("contractAmount", this.addForm.contractAmount);
|
|
}
|
|
}
|
|
|
|
+ if(this.contractAmountReasonShow){
|
|
|
|
+ formData.append("changeContractReason", this.addForm.changeContractReason);
|
|
|
|
+ }
|
|
if (this.projectBaseCostData != null) {
|
|
if (this.projectBaseCostData != null) {
|
|
formData.append("projectBaseCostData", JSON.stringify(this.projectBaseCostData));
|
|
formData.append("projectBaseCostData", JSON.stringify(this.projectBaseCostData));
|
|
//计算总预算成本
|
|
//计算总预算成本
|
|
@@ -3259,7 +3320,7 @@ a {
|
|
formData.append("chosenLeaders", JSON.stringify(this.chosenLeaders));
|
|
formData.append("chosenLeaders", JSON.stringify(this.chosenLeaders));
|
|
}
|
|
}
|
|
if (this.user.timeType.outputValueStatus == 1){
|
|
if (this.user.timeType.outputValueStatus == 1){
|
|
- formData.append("outputValue",this.addForm.outputValue)
|
|
|
|
|
|
+ formData.append("outputValue",this.addForm.outputValue ? this.addForm.outputValue : 0)
|
|
}
|
|
}
|
|
var listId = []
|
|
var listId = []
|
|
var listName = []
|
|
var listName = []
|
|
@@ -3313,11 +3374,13 @@ a {
|
|
if(this.user.companyId == '428') {
|
|
if(this.user.companyId == '428') {
|
|
formData.append("projectCategorySub", this.addForm.projectCategorySub ? this.addForm.projectCategorySub : '');
|
|
formData.append("projectCategorySub", this.addForm.projectCategorySub ? this.addForm.projectCategorySub : '');
|
|
}
|
|
}
|
|
- if(this.addForm.deptId != null && this.addForm.deptId != '') {
|
|
|
|
- formData.append("deptId", this.addForm.deptId[this.addForm.deptId.length - 1])
|
|
|
|
|
|
+ if(this.user.timeType.projectWithDept) {
|
|
|
|
+ if(this.addForm.deptId != null && this.addForm.deptId != '') {
|
|
|
|
+ formData.append("deptId", this.addForm.deptId[this.addForm.deptId.length - 1])
|
|
|
|
+ }
|
|
}
|
|
}
|
|
// formData.append("associateDegreeNames", listName)
|
|
// formData.append("associateDegreeNames", listName)
|
|
- console.log("addform",this.addForm);
|
|
|
|
|
|
+ // console.log("addform",this.addForm);
|
|
// return
|
|
// return
|
|
this.http.uploadFile(this.port.project.add,formData,
|
|
this.http.uploadFile(this.port.project.add,formData,
|
|
res => {
|
|
res => {
|
|
@@ -3547,8 +3610,9 @@ a {
|
|
}
|
|
}
|
|
|
|
|
|
// 获取部门
|
|
// 获取部门
|
|
- this.getDepartmentList()
|
|
|
|
-
|
|
|
|
|
|
+ if(this.user.timeType.projectWithDept) {
|
|
|
|
+ this.getDepartmentList()
|
|
|
|
+ }
|
|
}
|
|
}
|
|
};
|
|
};
|
|
</script>
|
|
</script>
|