Browse Source

项目修改

sunyadv 5 years ago
parent
commit
a98294b023
2 changed files with 211 additions and 25 deletions
  1. 0 1
      ys_vue/src/views/project/project.vue
  2. 211 24
      ys_vue/src/views/project/projectDetail.vue

+ 0 - 1
ys_vue/src/views/project/project.vue

@@ -292,7 +292,6 @@
                         var cId = "",
                             cName = "";
                         for(var i in this.addForm.customerCompany){
-                            console.log(this.addForm.customerCompany[i])
                             cId += this.addForm.customerCompany[i].id + ",";
                             cName += this.addForm.customerCompany[i].companyName + ",";
                         }

+ 211 - 24
ys_vue/src/views/project/projectDetail.vue

@@ -24,7 +24,7 @@
                 </el-col>
                 <el-col :span="6" class="detail">
                     项目经理:
-                    <span class="info">{{proDetail.name}}</span>
+                    <span class="info">{{proDetail.manager}}</span>
                 </el-col>
                 <el-col :span="6" class="detail">
                     资产方审批人:
@@ -90,8 +90,7 @@
                 <el-col :span="24">
                     <el-form-item label="生产方公司" prop="customerCompany">
                         <el-select v-model="editForm.customerCompany" clearable filterable multiple placeholder="请选择生产方公司" @change="companyChange" value-key='id' style="width:510px">
-                            <!-- @change="companyChange(0)"  -->
-                            <el-option v-for="item in company" :key="item.id" :label="item.companyName" :value="item">
+                            <el-option v-for="item in company" :key="item.companyName" :label="item.companyName" :value="item">
                             </el-option>
                         </el-select>
                     </el-form-item>
@@ -105,41 +104,41 @@
                     </el-form-item>
                 </el-col>
                 <el-col :span="12">
-                    <el-form-item label="资产方审批人" prop="ownerApproverId">
+                    <el-form-item label="资产方审批人">
                         <el-select v-model="editForm.ownerApproverId" clearable filterable placeholder="请选择资产方审批人" value-key='id' style="width:190px">
-                            <el-option v-for="item in charger" :key="item.id" :label="item.username" :value="item">
+                            <el-option v-for="item in assets" :key="item.id" :label="item.username" :value="item.id">
                             </el-option>
                         </el-select>
                     </el-form-item>
                 </el-col>
                 <el-col :span="12">
-                    <el-form-item label="生产方审批人" prop="customerApproverId">
+                    <el-form-item label="生产方审批人">
                         <el-select v-model="editForm.customerApproverId" clearable filterable placeholder="请选择生产方审批人" value-key='id' style="width:190px">
-                            <el-option v-for="item in charger" :key="item.id" :label="item.username" :value="item">
+                            <el-option v-for="item in produce" :key="item.id" :label="item.username" :value="item.id">
                             </el-option>
                         </el-select>
                     </el-form-item>
                 </el-col>
                 <el-col :span="24">
                     <el-form-item label="项目模具">
-                        <el-select v-model="editForm.userA" clearable filterable multiple placeholder="请选择项目模具" style="width:510px">
-                            <el-option v-for="item in userA" :key="item.id" :label="item.username" :value="item.id">
+                        <el-select v-model="editForm.modelIds" clearable filterable multiple placeholder="请选择项目模具" style="width:510px">
+                            <el-option v-for="item in molds" :key="item.id" :label="item.modelName" :value="item.id">
                             </el-option>
                         </el-select>
                     </el-form-item>
                 </el-col>
                 <el-col :span="24">
                     <el-form-item label="资产方参与人">
-                        <el-select v-model="editForm.userA" clearable filterable multiple placeholder="请选择资产方参与人" style="width:510px">
-                            <el-option v-for="item in userA" :key="item.id" :label="item.username" :value="item.id">
+                        <el-select v-model="editForm.assets" clearable filterable multiple placeholder="请选择资产方参与人" style="width:510px">
+                            <el-option v-for="item in assets" :key="item.id" :label="item.username" :value="item.id">
                             </el-option>
                         </el-select>
                     </el-form-item>
                 </el-col>
                 <el-col :span="24">
                     <el-form-item label="生产方参与人">
-                        <el-select v-model="editForm.userB" clearable filterable multiple placeholder="请选择生产方参与人" style="width:510px">
-                            <el-option v-for="item in userB" :key="item.id" :label="item.username" :value="item.id">
+                        <el-select v-model="editForm.produce" clearable filterable multiple placeholder="请选择生产方参与人" style="width:510px">
+                            <el-option v-for="item in produce" :key="item.id" :label="item.username" :value="item.id">
                             </el-option>
                         </el-select>
                     </el-form-item>
@@ -147,7 +146,7 @@
 			</el-form>
 			<div slot="footer" class="dialog-footer">
 				<el-button @click.native="editFormVisible = false">取消</el-button>
-				<el-button type="primary" @click.native="addSubmit" :loading="addLoading">提交</el-button>
+				<el-button type="primary" @click.native="addSubmit" :loading="editLoading">提交</el-button>
 			</div>
 		</el-dialog>
     </section>
@@ -189,7 +188,8 @@
                 activePage: 0,
 
                 company:[],
-                owner: [],
+                assets: [],
+                produce: [],
                 charger: [],
                 formRules: {
 					projectName: [
@@ -204,12 +204,17 @@
                 },
                 
                 editFormVisible: false,//新增界面是否显示
-				addLoading: false,
+				editLoading: false,
 				//新增界面数据
 				editForm: {
 					projectName: '',
                     customerCompany: [],
-                    managerId: ''
+                    managerId: '',
+                    ownerApproverId: '',
+                    customerApproverId: '',
+                    modelIds: [],
+                    assets: [],
+                    produce: []
 				}
             };
         },
@@ -219,7 +224,6 @@
                 this.$router.push("/project");
             },
             handleClick(tab, event) {
-                console.log(tab, event);
             },
             //获取详情
             getDetail() {
@@ -229,6 +233,7 @@
                 }, res => {
                     if (res.code == "ok") {
                         this.proDetail = res.data;
+                        this.getMsg();
                     } else {
                         this.$message({
                             message: res.msg,
@@ -244,21 +249,27 @@
             },
             //获取信息
             getMsg() {
+                // 获取公司
+                var compIds = this.user.companyId;
+                for(var i in this.proDetail.customCompanies){
+                    compIds += "," + this.proDetail.customCompanies[i].companyId;
+                }
                 this.http.post(this.port.project.getUserById, {
-                    companyIds: this.user.companyId,
+                    companyIds: compIds,
                     id: this.user.id
                 } , res => {
                     if (res.code == "ok") {
-                        var list = res.data , array = [] , owner = [];
+                        var list = res.data , assets = [] , produce = [];
                         for(var i in list) {
                             if(list[i].companyId == this.user.companyId){
-                                owner.push(list[i])
+                                assets.push(list[i])
                             } else {
-                                array.push(list[i])
+                                produce.push(list[i])
                             }
                         }
                         this.charger = res.data;
-                        this.owner = owner;
+                        this.assets = assets;
+                        this.produce = produce;
                     } else {
                         this.$message({
                             message: res.msg,
@@ -272,6 +283,7 @@
                     });
                 })
 
+                // 获取人员
                 this.http.post(this.port.base.companys, {
                     parentId: this.user.parentId,
                     id: this.user.id
@@ -296,17 +308,192 @@
                         type: 'error'
                     });
                 })
+
+                // 获取模具
+                this.http.post(this.port.mold.modelList, {
+                    parentId: this.user.parentId,
+                    id: this.user.id
+                }, res => {
+                    if (res.code == "ok") {
+                        this.molds = res.data;
+                    } else {
+                        this.$message({
+                            message: res.msg,
+                            type: 'error'
+                        });
+                    }
+                }, error => {
+                    this.$message({
+                        message: error,
+                        type: 'error'
+                    });
+                })
+            },
+            //选择公司切换人员
+            companyChange() {
+                var param = {} ,
+                    str = this.user.companyId;
+                for(var i in this.editForm.customerCompany){
+                    str += "," + this.editForm.customerCompany[i].id;
+                }
+                param.companyIds = str;
+                param.id = this.user.id
+                this.http.post(this.port.project.getUserById, param , res => {
+                    if (res.code == "ok") {
+                        var list = res.data , assets = [] , produce = [];
+                        for(var i in list) {
+                            if(list[i].companyId == this.user.companyId){
+                                assets.push(list[i])
+                            } else {
+                                produce.push(list[i])
+                            }
+                        }
+                        this.charger = res.data;
+                        this.assets = assets;
+                        this.produce = produce;
+                    } else {
+                        this.$message({
+                            message: res.msg,
+                            type: 'error'
+                        });
+                    }
+                }, error => {
+                    this.$message({
+                        message: error,
+                        type: 'error'
+                    });
+                })
             },
             edit() {
                 this.editFormVisible = true;
+                var compArr = [] ,
+                    manager = {} ,
+                    ownerApproverId = '' ,
+                    customerApproverId = '' ,
+                    moldArr = [];
+                for(var i in this.proDetail.customCompanies){
+                    for(var j in this.company){
+                        if(this.company[j].id == this.proDetail.customCompanies[i].companyId){
+                            compArr.push(this.company[j])
+                        }
+                    }
+                }
+
+                for(var i in this.charger){
+                    if(this.charger[i].id == this.proDetail.managerId){
+                        manager = this.charger[i];
+                    }
+                }
+
+                for(var i in this.proDetail.approves) {
+                    if(this.proDetail.approves[i].subordinateType == 0){
+                        ownerApproverId = this.proDetail.approves[i].approverName;
+                    } else {
+                        customerApproverId = this.proDetail.approves[i].approverName;
+                    }
+                }
+
+                for(var i in this.molds){
+                    for(var j in this.proDetail.models){
+                        if(this.molds[i].id == this.proDetail.models[j].id){
+                            moldArr.push(this.molds[i])
+                        }
+                    }
+                }
+
                 this.editForm = {
                     id: this.proDetail.id,
-                    projectName: this.proDetail.projectName
+                    projectName: this.proDetail.projectName,
+                    customerCompany: compArr,
+                    managerId: manager,
+                    ownerApproverId: ownerApproverId,
+                    customerApproverId: customerApproverId,
+                    modelIds: moldArr,
+                    assets: [],
+                    produce: []
                 }
             },
             //上传
             uploadFile(params) {
                 console.log(params)
+            },
+            addSubmit() {
+                this.$refs.editForm.validate((valid) => {
+					if (valid) {
+                        var cId = "",
+                            cName = "",
+                            modelIds = "",
+                            userIds = "";
+                        for(var i in this.editForm.customerCompany){
+                            cId += this.editForm.customerCompany[i].id + ",";
+                            cName += this.editForm.customerCompany[i].companyName + ",";
+                        }
+                        cId = cId.substring(0,cId.length-1);
+                        cName = cName.substring(0,cName.length-1);
+
+                        for(var i in this.editForm.modelIds){
+                            modelIds += this.editForm.modelIds[i] + ","
+                        }
+                        modelIds = modelIds.substring(0,modelIds.length-1);
+
+                        for(var i in this.editForm.assets){
+                            if(i == this.editForm.assets.length -1){
+                                userIds += this.editForm.assets[i]
+                            } else {
+                                userIds += this.editForm.assets[i] + ","
+                            }
+                        }
+                        
+                        if(userIds != ""){
+                            userIds += ","
+                        }
+
+                        for(var i in this.editForm.produce){
+                            if(i == this.editForm.produce.length -1){
+                                userIds += this.editForm.produce[i]
+                            } else {
+                                userIds += this.editForm.produce[i] + ","
+                            }
+                        }
+
+                        this.editLoading = true;
+                        this.http.post(this.port.project.addProject, {
+                            id: this.editForm.id,
+                            projectName: this.editForm.projectName,
+                            customerCompanyIds: cId,
+                            customerCompanyNames: cName,
+                            manager: this.editForm.managerId.username,
+                            managerId: this.editForm.managerId.id,
+                            ownerApproverId: this.editForm.ownerApproverId,
+                            customerApproverId: this.editForm.customerApproverId,
+                            modelIds: modelIds,
+                            userIds: userIds,
+                            flag: 1
+                        } , res => {
+                            this.editLoading = false;
+                            this.editFormVisible = false;
+                            if (res.code == "ok") {
+                                this.$message({
+                                    message: '修改成功',
+                                    type: 'success'
+                                });
+                                this.getUsers();
+                            } else {
+                                this.$message({
+                                    message: res.msg,
+                                    type: 'error'
+                                });
+                            }
+                        }, error => {
+                            this.editLoading = false;
+                            this.editFormVisible = false;
+                            this.$message({
+                                message: error,
+                                type: 'error'
+                            });
+                        })
+					}
+				});
             }
         },
         created() {