|
@@ -81,11 +81,20 @@
|
|
|
v-model="fromss.projectAndUserList[key].projectName"
|
|
|
:disabled="true"
|
|
|
></el-input>
|
|
|
- <el-input
|
|
|
+ <el-select
|
|
|
class="marleft10"
|
|
|
v-model="fromss.projectAndUserList[key].contractName"
|
|
|
- :disabled="true"
|
|
|
- ></el-input>
|
|
|
+ placeholder="请选择"
|
|
|
+ @change="hetongChange(key)"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="item in fromss.projectAndUserList[key].dataInfo"
|
|
|
+ :key="item.id"
|
|
|
+ :label="item.contractName"
|
|
|
+ :value="item.id"
|
|
|
+ >
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
<el-input
|
|
|
class="marleft10"
|
|
|
v-model="fromss.projectAndUserList[key].roleName"
|
|
@@ -155,7 +164,7 @@
|
|
|
>
|
|
|
<el-option
|
|
|
v-for="item in roleIdsData"
|
|
|
- :key="item.id"
|
|
|
+ :key="item.roleId"
|
|
|
:label="item.roleName"
|
|
|
:value="item.roleId"
|
|
|
>
|
|
@@ -942,13 +951,11 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
addfangfa () {//添加时确定添加按钮方法处理
|
|
|
- let tag = true
|
|
|
if (!this.fromss.projectId) {
|
|
|
this.$message({
|
|
|
type: "error",
|
|
|
message: "请选择参与项目!"
|
|
|
})
|
|
|
- tag = false
|
|
|
return
|
|
|
}
|
|
|
if (!this.fromss.contractId) {
|
|
@@ -956,7 +963,6 @@ export default {
|
|
|
type: "error",
|
|
|
message: "请选择合同段!"
|
|
|
})
|
|
|
- tag = false
|
|
|
return
|
|
|
}
|
|
|
if (!this.fromss.roleIds) {
|
|
@@ -964,54 +970,107 @@ export default {
|
|
|
type: "error",
|
|
|
message: "请选择用户类型!"
|
|
|
})
|
|
|
- tag = false
|
|
|
return
|
|
|
}
|
|
|
- this.fromss.projectAndUserList.forEach((val) => {
|
|
|
- if (val.projectId == this.fromss.projectId && val.contractId == this.fromss.contractId) {
|
|
|
+ let tag = true, index = ''
|
|
|
+
|
|
|
+ if (this.fromss.projectAndUserList.length > 0) {
|
|
|
+ this.fromss.projectAndUserList.forEach((val, k) => {
|
|
|
+ if (val.projectId == this.fromss.projectId) {
|
|
|
+ index = k
|
|
|
+ tag = false
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+ let das
|
|
|
+ if (tag) {
|
|
|
+ das = {
|
|
|
+ projectId: this.fromss.projectId,
|
|
|
+ contractId: this.fromss.contractId,
|
|
|
+ roleIds: this.fromss.roleIds,
|
|
|
+ roleName: '',
|
|
|
+ dataInfo: [{
|
|
|
+ contractName: '',
|
|
|
+ id: this.fromss.contractId,
|
|
|
+ roleIds: this.fromss.roleIds,
|
|
|
+ roleName: '',
|
|
|
+ roleType: '',
|
|
|
+ }],
|
|
|
+ contractName: this.fromss.contractId,
|
|
|
+ }
|
|
|
+ // 参与项目
|
|
|
+ this.projectData.forEach(vas => {
|
|
|
+ if (vas.id == this.fromss.projectId) {
|
|
|
+ das.projectName = vas.projectName
|
|
|
+ }
|
|
|
+ })
|
|
|
+ // 合同段
|
|
|
+ this.contractData.forEach(vas => {
|
|
|
+ if (vas.id == this.fromss.contractId) {
|
|
|
+ das.dataInfo[0].contractName = vas.contractName
|
|
|
+ }
|
|
|
+ })
|
|
|
+ // 用户类型
|
|
|
+ this.roleIdsData.forEach(vas => {
|
|
|
+ if (vas.roleId == this.fromss.roleIds) {
|
|
|
+ das.roleName = vas.roleName
|
|
|
+ }
|
|
|
+ })
|
|
|
+ // 添加进去
|
|
|
+ this.fromss.projectAndUserList.push(das)
|
|
|
+ } else {
|
|
|
+ let tags = true
|
|
|
+ this.fromss.projectAndUserList[index].dataInfo.forEach((val) => {
|
|
|
+ if (val.id == this.fromss.contractId) {
|
|
|
+ tags = false
|
|
|
+ }
|
|
|
+ })
|
|
|
+ if (tags) {
|
|
|
+ das = {
|
|
|
+ contractName: '',
|
|
|
+ id: this.fromss.contractId,
|
|
|
+ roleIds: this.fromss.roleIds,
|
|
|
+ roleName: '',
|
|
|
+ roleType: '',
|
|
|
+ }
|
|
|
+ // 参与项目
|
|
|
+ this.projectData.forEach(vas => {
|
|
|
+ if (vas.id == this.fromss.projectId) {
|
|
|
+ das.projectName = vas.projectName
|
|
|
+ }
|
|
|
+ })
|
|
|
+ // 合同段
|
|
|
+ this.contractData.forEach(vas => {
|
|
|
+ if (vas.id == this.fromss.contractId) {
|
|
|
+ das.contractName = vas.contractName
|
|
|
+ }
|
|
|
+ })
|
|
|
+ // 用户类型
|
|
|
+ this.roleIdsData.forEach(vas => {
|
|
|
+ if (vas.roleId == this.fromss.roleIds) {
|
|
|
+ das.roleName = vas.roleName
|
|
|
+ }
|
|
|
+ })
|
|
|
+ // 添加进去
|
|
|
+ this.fromss.projectAndUserList[index].dataInfo.push(das)
|
|
|
+ this.$message({
|
|
|
+ type: "success",
|
|
|
+ message: "添加成功"
|
|
|
+ })
|
|
|
+ } else {
|
|
|
this.$message({
|
|
|
type: "error",
|
|
|
- message: "参与项目的合同段不能相同!"
|
|
|
+ message: "当前合同段已添加,无法继续添加"
|
|
|
})
|
|
|
- tag = false
|
|
|
- return
|
|
|
}
|
|
|
- if (tag == false) return
|
|
|
- })
|
|
|
- if (tag == false) return
|
|
|
-
|
|
|
- let tas = {
|
|
|
- projectName: '',
|
|
|
- contractName: '',
|
|
|
- roleType: '',
|
|
|
- roleName: ''
|
|
|
}
|
|
|
- this.projectData.forEach(val => {
|
|
|
- if (val.id === this.fromss.projectId) {
|
|
|
- tas.projectName = val.projectName
|
|
|
- }
|
|
|
- })
|
|
|
- this.contractData.forEach(val => {
|
|
|
- if (val.id === this.fromss.contractId) {
|
|
|
- tas.contractName = val.projectName
|
|
|
- }
|
|
|
- })
|
|
|
- this.roleIdsData.forEach(val => {
|
|
|
- if (val.roleId === this.fromss.roleIds) {
|
|
|
- tas.roleName = val.roleName
|
|
|
+ },
|
|
|
+ hetongChange (key) {//合同段changge事件
|
|
|
+ this.fromss.projectAndUserList[key].dataInfo.forEach(val => {
|
|
|
+ if (this.fromss.projectAndUserList[key].contractName == val.id) {
|
|
|
+ this.fromss.projectAndUserList[key].roleName = val.roleType + '|' + val.roleName
|
|
|
}
|
|
|
})
|
|
|
- this.fromss.projectAndUserList.push({
|
|
|
- projectId: this.fromss.projectId,
|
|
|
- contractId: this.fromss.contractId,
|
|
|
- roleId: this.fromss.roleIds,
|
|
|
- projectName: tas.projectName,
|
|
|
- contractName: tas.contractName,
|
|
|
- roleName: tas.roleName
|
|
|
- })
|
|
|
- // this.fromss.projectId = ''
|
|
|
- // this.fromss.contractId = ''
|
|
|
- // this.fromss.roleIds = ''
|
|
|
},
|
|
|
async editKJ (row, index) {//编辑用户
|
|
|
console.log(row);
|
|
@@ -1025,9 +1084,22 @@ export default {
|
|
|
},
|
|
|
deleteProject (key, type) {//删除参建项目按钮
|
|
|
if (type == 'add') {
|
|
|
- this.fromss.projectAndUserList.splice(this.fromss.projectAndUserList[key], 1)
|
|
|
+ console.log(key, type);
|
|
|
+ this.fromss.projectAndUserList[key].dataInfo.forEach(val => {
|
|
|
+ if (val.id == this.fromss.projectAndUserList[key].contractId) {
|
|
|
+ if (this.fromss.projectAndUserList[key].dataInfo.length == 1) {
|
|
|
+ this.fromss.projectAndUserList.splice(this.fromss.projectAndUserList[key], 1)
|
|
|
+ } else {
|
|
|
+ this.fromss.projectAndUserList[key].roleName = this.fromss.projectAndUserList[key].dataInfo[1].roleName
|
|
|
+ this.fromss.projectAndUserList[key].contractName = this.fromss.projectAndUserList[key].dataInfo[1].id
|
|
|
+ this.fromss.projectAndUserList[key].contractId = this.fromss.projectAndUserList[key].dataInfo[1].id
|
|
|
+ this.fromss.projectAndUserList[key].dataInfo.splice(val, 1)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+
|
|
|
} else {
|
|
|
- this.removeUsersByIds(this.fromss.projectAndUserList[key].id)
|
|
|
+ this.removeUsersByIds(this.fromss.projectAndUserList[key].contractName)
|
|
|
}
|
|
|
},
|
|
|
async beforeClose (done) {//弹框关闭事件
|
|
@@ -1074,9 +1146,8 @@ export default {
|
|
|
console.log(res);
|
|
|
if (res.code === 200) {
|
|
|
res.data.forEach(val => {
|
|
|
- if (val.roleType) {
|
|
|
- val.roleName = val.roleType + ' | ' + val.roleName
|
|
|
- }
|
|
|
+ val.contractName = val.dataInfo[0].id
|
|
|
+ val.roleName = val.dataInfo[0].roleType + '|' + val.dataInfo[0].roleName
|
|
|
})
|
|
|
this.fromss.projectAndUserList = res.data
|
|
|
}
|
|
@@ -1122,17 +1193,31 @@ export default {
|
|
|
});
|
|
|
},
|
|
|
rowSave (row, done, loading) { //新增保存
|
|
|
- add({ ...row, projectAndUserList: this.fromss.projectAndUserList }).then(() => {
|
|
|
- this.initFlag = false;
|
|
|
- this.onLoad(this.page);
|
|
|
- this.$message({
|
|
|
- type: "success",
|
|
|
- message: "操作成功!"
|
|
|
+ if (this.fromss.projectAndUserList.length > 0) {
|
|
|
+ let projectAndUserList = []
|
|
|
+ this.fromss.projectAndUserList.forEach(val => {
|
|
|
+ if (val.dataInfo.length > 0) {
|
|
|
+ val.dataInfo.forEach(item => {
|
|
|
+ projectAndUserList.push({
|
|
|
+ projectId: val.projectId,
|
|
|
+ contractId: item.id,
|
|
|
+ roleId: item.roleIds,
|
|
|
+ })
|
|
|
+ })
|
|
|
+ }
|
|
|
+ })
|
|
|
+ add({ ...row, projectAndUserList }).then(() => {
|
|
|
+ this.initFlag = false;
|
|
|
+ this.onLoad(this.page);
|
|
|
+ this.$message({
|
|
|
+ type: "success",
|
|
|
+ message: "操作成功!"
|
|
|
+ });
|
|
|
+ done();
|
|
|
+ }, () => {
|
|
|
+ loading();
|
|
|
});
|
|
|
- done();
|
|
|
- }, () => {
|
|
|
- loading();
|
|
|
- });
|
|
|
+ }
|
|
|
},
|
|
|
rowUpdate (row, index, done, loading) {//修改按钮
|
|
|
// row.roleId = row.roleId.join(",");
|