Parcourir la source

Merge branch 'master' of http://47.100.37.243:10080/ZHOU/yunsu

seyason il y a 5 ans
Parent
commit
0fd29a9d9a
34 fichiers modifiés avec 1033 ajouts et 345 suppressions
  1. 1 0
      .idea/encodings.xml
  2. 0 1
      .idea/modules.xml
  3. 2 2
      cloud-model/src/main/java/com/hssx/cloudmodel/constant/Constant.java
  4. 33 0
      cloud-model/src/main/java/com/hssx/cloudmodel/controller/CompanyController.java
  5. 1 1
      cloud-model/src/main/java/com/hssx/cloudmodel/controller/CustomCompanyController.java
  6. 55 6
      cloud-model/src/main/java/com/hssx/cloudmodel/controller/MouldController.java
  7. 99 0
      cloud-model/src/main/java/com/hssx/cloudmodel/controller/MouldEquipmentController.java
  8. 3 32
      cloud-model/src/main/java/com/hssx/cloudmodel/controller/ProjectController.java
  9. 32 15
      cloud-model/src/main/java/com/hssx/cloudmodel/controller/UserController.java
  10. 18 18
      cloud-model/src/main/java/com/hssx/cloudmodel/entity/Mould.java
  11. 170 0
      cloud-model/src/main/java/com/hssx/cloudmodel/entity/MouldEquipment.java
  12. 16 0
      cloud-model/src/main/java/com/hssx/cloudmodel/mapper/MouldEquipmentMapper.java
  13. 3 0
      cloud-model/src/main/java/com/hssx/cloudmodel/mapper/MouldMapper.java
  14. 24 0
      cloud-model/src/main/java/com/hssx/cloudmodel/service/MouldEquipmentService.java
  15. 3 0
      cloud-model/src/main/java/com/hssx/cloudmodel/service/MouldService.java
  16. 4 2
      cloud-model/src/main/java/com/hssx/cloudmodel/service/ProjectService.java
  17. 3 2
      cloud-model/src/main/java/com/hssx/cloudmodel/service/impl/CompanyServiceImpl.java
  18. 2 1
      cloud-model/src/main/java/com/hssx/cloudmodel/service/impl/FactoryServiceImpl.java
  19. 82 0
      cloud-model/src/main/java/com/hssx/cloudmodel/service/impl/MouldEquipmentServiceImpl.java
  20. 18 1
      cloud-model/src/main/java/com/hssx/cloudmodel/service/impl/MouldServiceImpl.java
  21. 51 10
      cloud-model/src/main/java/com/hssx/cloudmodel/service/impl/ProjectServiceImpl.java
  22. 6 5
      cloud-model/src/main/java/com/hssx/cloudmodel/service/impl/UserServiceImpl.java
  23. 1 1
      cloud-model/src/main/java/com/hssx/cloudmodel/util/CodeGenerator.java
  24. 1 1
      cloud-model/src/main/java/com/hssx/cloudmodel/util/ListUtil.java
  25. 23 0
      cloud-model/src/main/resources/mapper/MouldEquipmentMapper.xml
  26. 5 3
      cloud-model/src/main/resources/mapper/MouldMapper.xml
  27. 21 7
      ys_vue/package-lock.json
  28. 6 1
      ys_vue/src/port.js
  29. 1 1
      ys_vue/src/routes.js
  30. 219 36
      ys_vue/src/views/base/allocation.vue
  31. 12 4
      ys_vue/src/views/base/comp.vue
  32. 1 1
      ys_vue/src/views/detection/detection.vue
  33. 94 171
      ys_vue/src/views/project/project.vue
  34. 23 23
      ys_vue/src/views/project/staff.vue

+ 1 - 0
.idea/encodings.xml

@@ -3,5 +3,6 @@
   <component name="Encoding">
     <file url="file://$PROJECT_DIR$" charset="UTF-8" />
     <file url="file://$PROJECT_DIR$/cloud-model" charset="UTF-8" />
+    <file url="file://$PROJECT_DIR$/cloud-model" charset="UTF-8" />
   </component>
 </project>

+ 0 - 1
.idea/modules.xml

@@ -2,7 +2,6 @@
 <project version="4">
   <component name="ProjectModuleManager">
     <modules>
-      <module fileurl="file://$PROJECT_DIR$/cloud-model/cloud-model.iml" filepath="$PROJECT_DIR$/cloud-model/cloud-model.iml" />
       <module fileurl="file://$PROJECT_DIR$/cloud-model/cloud-model.iml" filepath="$PROJECT_DIR$/cloud-model/cloud-model.iml" />
       <module fileurl="file://$PROJECT_DIR$/.idea/yunsu.iml" filepath="$PROJECT_DIR$/.idea/yunsu.iml" />
     </modules>

+ 2 - 2
cloud-model/src/main/java/com/hssx/cloudmodel/constant/Constant.java

@@ -12,6 +12,6 @@ public class Constant {
     public static final Integer PRODUCER_COMPANY = 1;//生产方编号
     public static final Integer SYS_PARENT_ID = 0;//系统管理员的上级id
     public static final Integer SYS_ID = 1;//系统管理员的id
-
-
+    public static final String MOULD_PREFIX = "YMMJ";//模具编号前缀
+    public static final String PROJECT_PREFIX = "YMXM";//项目编号
 }

+ 33 - 0
cloud-model/src/main/java/com/hssx/cloudmodel/controller/CompanyController.java

@@ -1,7 +1,9 @@
 package com.hssx.cloudmodel.controller;
 
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.hssx.cloudmodel.entity.Company;
+import com.hssx.cloudmodel.entity.User;
 import com.hssx.cloudmodel.service.CompanyService;
 import com.hssx.cloudmodel.util.HttpRespMsg;
 import com.hssx.cloudmodel.util.PageUtil;
@@ -15,6 +17,7 @@ import org.springframework.web.bind.annotation.ResponseBody;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+import java.util.List;
 
 
 /**
@@ -77,5 +80,35 @@ public class CompanyController {
         return msg;
     }
 
+    /**
+     * 创建模具获取的(资产方)公司列表
+     * @return
+     */
+    @ApiOperation("创建模具获取的公司列表")
+    @RequestMapping("/getCompanys")
+    @ResponseBody
+    public HttpRespMsg getcompanys() {
+        HttpRespMsg msg = new HttpRespMsg();
+        QueryWrapper<Company> qw = new QueryWrapper<>();
+        qw.eq("company_type",0);
+        msg.data  = companyService.list(qw);
+        return msg;
+    }
+
+    /**
+     * 创建账号是所获取的公司列表
+     * parentId 当前用户的上级id id 当前用户id
+     * @return
+     */
+    @ApiOperation(value = "获取公司列表")
+    @RequestMapping("/getCompanyList")
+    @ResponseBody
+    public HttpRespMsg getCompanyList(User user){
+        HttpRespMsg msg = new HttpRespMsg();
+        List<Company> list = companyService.getIdAndNamelist(user);
+        msg.data = list;
+        return msg;
+    }
+
 }
 

+ 1 - 1
cloud-model/src/main/java/com/hssx/cloudmodel/controller/CustomCompanyController.java

@@ -14,7 +14,7 @@ import org.springframework.web.bind.annotation.RestController;
  * @since 2019-08-02
  */
 @RestController
-@RequestMapping("/custom-company")
+@RequestMapping("/customcompany")
 public class CustomCompanyController {
 
 }

+ 55 - 6
cloud-model/src/main/java/com/hssx/cloudmodel/controller/MouldController.java

@@ -1,21 +1,70 @@
 package com.hssx.cloudmodel.controller;
 
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.hssx.cloudmodel.entity.Company;
+import com.hssx.cloudmodel.entity.Mould;
+import com.hssx.cloudmodel.entity.MouldEquipment;
+import com.hssx.cloudmodel.entity.User;
+import com.hssx.cloudmodel.service.*;
+import com.hssx.cloudmodel.util.HttpRespMsg;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
 
-import org.springframework.web.bind.annotation.RestController;
+import java.util.List;
 
 /**
- * <p>
- *  前端控制器
- * </p>
- *
  * @author 吴涛涛
  * @since 2019-07-30
  */
-@RestController
+@Controller
 @RequestMapping("/mould")
 public class MouldController {
+    @Autowired
+    private MouldService mouldService;
+    @Autowired
+    private UserService userService;
+    @Autowired
+    private CompanyService companyService;
+    @Autowired
+    private MouldEquipmentService mouldEquipmentService;
+    @Autowired
+    private ProjectService projectService;
+    /**
+     * 添加/修改模具设备
+     * 添加参数:equipmentId 设备id, modelNo 模具编号 ,modelName 模具名称
+     * 修改参数:id 模具id, settingLife 使用年限, initialModulus 初始模次 equipmentId 设备id,
+     * produceCompanyId 生产方公司id,ocCycle 每模平均周期,rfid rfid码,area 工厂地址,factoryId 工厂id,factoryName 工厂名称
+     * equipmentName 设备名称
+     * @return
+     */
+    @ApiOperation("添加/修改模具")
+    @RequestMapping("/addOrUpdate")
+    @ResponseBody
+    public HttpRespMsg addOrUpdate(Mould mould, String token) {
+        HttpRespMsg msg = new HttpRespMsg();
+        QueryWrapper<User> qw = new QueryWrapper<>();
+        qw.eq("head_imgurl",token);
+        User user = userService.getOne(qw);
+        msg = mouldService.addAndUpdateMould(mould,user);
+        return msg;
+    }
 
+    /**
+     * 给项目分配模具获取该公司下的模具列表
+     * parentId 当前人parentId
+     * @return
+     */
+    @ApiOperation("获取该公司下的模具列表")
+    @RequestMapping("/modelList")
+    @ResponseBody
+    public HttpRespMsg addAndUpdateProject(User user) {
+        HttpRespMsg msg = new HttpRespMsg();
+        msg = projectService.getModelListByCompanyId(user);
+        return msg;
+    }
 }
 

+ 99 - 0
cloud-model/src/main/java/com/hssx/cloudmodel/controller/MouldEquipmentController.java

@@ -0,0 +1,99 @@
+package com.hssx.cloudmodel.controller;
+
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.hssx.cloudmodel.entity.MouldEquipment;
+import com.hssx.cloudmodel.entity.User;
+import com.hssx.cloudmodel.service.MouldEquipmentService;
+import com.hssx.cloudmodel.service.UserService;
+import com.hssx.cloudmodel.util.HttpRespMsg;
+import com.hssx.cloudmodel.util.PageUtil;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+
+/**
+ *
+ * @author 吴涛涛
+ * @since 2019-08-02
+ */
+@Controller
+@RequestMapping("/mouldequipment")
+public class MouldEquipmentController {
+    @Autowired
+    private MouldEquipmentService mouldEquipmentService;
+    @Autowired
+    private UserService userService;
+    /**
+     * 添加/修改模具设备
+     * 添加参数:equipmentName 设备名称,useLife 使用年限, equipmentNo 设备编号 ,
+     * 修改时需多传的参数 id 设备id, belongCompanyId 所属公司id ,equipmentName 设备名称
+     * @return
+     */
+    @ApiOperation("添加/修改模具设备")
+    @RequestMapping("/addOrUpdate")
+    @ResponseBody
+    public HttpRespMsg addOrUpdate(MouldEquipment mouldEquipment,String token) {
+        HttpRespMsg msg = new HttpRespMsg();
+        QueryWrapper<User> qw = new QueryWrapper<>();
+        qw.eq("head_imgurl",token);
+        User user = userService.getOne(qw);
+        msg = mouldEquipmentService.addAndUpdateMouldEquipment(mouldEquipment,user);
+        return msg;
+    }
+
+    /**
+     * 启用设备
+     * 传参 id 设备id ,isUse 启用传 1
+     * @return
+     */
+    @ApiOperation("启用设备")
+    @RequestMapping("/use")
+    @ResponseBody
+    public HttpRespMsg use(MouldEquipment mouldEquipment,String token) {
+        HttpRespMsg msg = new HttpRespMsg();
+        QueryWrapper<User> qw = new QueryWrapper<>();
+        qw.eq("head_imgurl",token);
+        User user = userService.getOne(qw);
+        msg = mouldEquipmentService.isUse(mouldEquipment,user);
+        return msg;
+    }
+
+    /**
+     * 创建模具时获取资产方公司的设备列表
+     * 参数 belongCompanyId 当前登录人公司id
+     * @return
+     */
+    @ApiOperation("获取资产方公司的设备列表")
+    @RequestMapping("/getMouldEquipmentList")
+    @ResponseBody
+    public HttpRespMsg getMouldEquipmentList(MouldEquipment mouldEquipment){
+        HttpRespMsg msg = new HttpRespMsg();
+        msg.data = mouldEquipmentService.list(new QueryWrapper<MouldEquipment>().eq("belong_company_id", mouldEquipment.getBelongCompanyId()));
+        return msg;
+    }
+
+    /**
+     * 设备列表(仅仅只有超级管理员能够看到)
+     * 参数 token 用户唯一身份凭证
+     * @return
+     */
+    @ApiOperation("设备列表")
+    @RequestMapping("/getEquipmentList")
+    @ResponseBody
+    public HttpRespMsg getMouldEquipmentList(@RequestParam(required = false) String token, PageUtil page){
+        HttpRespMsg msg = new HttpRespMsg();
+        QueryWrapper<User> qw = new QueryWrapper<>();
+        qw.eq("head_imgurl",token);
+        User user = userService.getOne(qw);
+        msg = mouldEquipmentService.getList(user,page);
+        return msg;
+    }
+
+
+}
+

+ 3 - 32
cloud-model/src/main/java/com/hssx/cloudmodel/controller/ProjectController.java

@@ -14,7 +14,6 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.ResponseBody;
 import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
 
 
 /**
@@ -34,7 +33,7 @@ public class ProjectController{
      * 参数:projectName 项目名 ,customerCompanyIds 客户方公司ids "1,2,3",customerCompanyNames 客户方公司名字“1,2,3”
      * managerId 项目经理id 非必传
      * 修改时/添加时分配项目: id 项目id ,userIds 参与项目的用户id 如:“1,2,3”(多个或者一个)()
-     * managerId 项目经理id 非必传
+     * managerId 项目经理id 非必传,  modelIds 模具ids 如 :"1,2,3"
      * flag 0-添加,1-修改
      *
      * @return
@@ -43,26 +42,12 @@ public class ProjectController{
     @RequestMapping("/add")
     @ResponseBody
     public HttpRespMsg addAndUpdateProject(Project project, HttpServletRequest request, Integer flag,String customerCompanyIds,
-                                           String customerCompanyNames, String token,@RequestParam(required = false) String userIds) {
+                                           String customerCompanyNames, String token,@RequestParam(required = false) String userIds,String modelIds) {
         HttpRespMsg msg = new HttpRespMsg();
         QueryWrapper<User> qw = new QueryWrapper<>();
         qw.eq("head_imgurl",token);
         User user = userService.getOne(qw);
-        msg = projectService.addAndUpdateProject(project, flag, user,userIds,customerCompanyIds,customerCompanyNames);
-        return msg;
-    }
-
-    /**
-     * 根据公司id获取公司下的人员
-     * 参数:companyIds 公司ids
-     *
-     * @return
-     */
-    @ApiOperation("根据公司id获取公司下的人员")
-    @RequestMapping("/getUserListByCompanyIds")
-    @ResponseBody
-    public HttpRespMsg getUserListByCompanyIds(String companyIds){
-        HttpRespMsg msg = projectService.getUserListByCompanyIds(companyIds);
+        msg = projectService.addAndUpdateProject(project, flag, user,userIds,customerCompanyIds,customerCompanyNames,modelIds);
         return msg;
     }
 
@@ -81,20 +66,6 @@ public class ProjectController{
         return msg;
     }
 
-    /**
-     * 获取用户列表
-     * 参数: companyId 公司id,subordinateType 所属方 0-供应商 1-客户
-     * 以上两参数可以都不传,或者选择传其中一个
-     * @return
-     */
-    @ApiOperation("获取用户列表")
-    @RequestMapping("/getUserList")
-    @ResponseBody
-    public HttpRespMsg getUserByCompanyIdOrSubordinateType(User user) {
-        HttpRespMsg msg = projectService.getUserByCompanyIdOrSubordinateType(user);
-        return msg;
-    }
-
     /**
      * 项目详情
      * 参数: id 项目id

+ 32 - 15
cloud-model/src/main/java/com/hssx/cloudmodel/controller/UserController.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.hssx.cloudmodel.entity.Company;
 import com.hssx.cloudmodel.entity.User;
 import com.hssx.cloudmodel.service.CompanyService;
+import com.hssx.cloudmodel.service.ProjectService;
 import com.hssx.cloudmodel.service.UserService;
 import com.hssx.cloudmodel.util.HttpRespMsg;
 import com.hssx.cloudmodel.util.MD5Util;
@@ -33,6 +34,8 @@ public class UserController {
     private UserService userService;
     @Autowired
     private CompanyService companyService;
+    @Autowired
+    private ProjectService projectService;
 
     /**
      *
@@ -50,21 +53,6 @@ public class UserController {
         return msg;
     }
 
-    /**
-     * 创建账号是所获取的公司列表
-     * parentId 当前用户的上级id id 当前用户id
-     * @return
-     */
-    @ApiOperation(value = "获取公司列表")
-    @RequestMapping("/getCompanyList")
-    @ResponseBody
-    public HttpRespMsg getCompanyList(User user){
-        HttpRespMsg msg = new HttpRespMsg();
-        List<Company> list = companyService.getIdAndNamelist(user);
-        msg.data = list;
-        return msg;
-    }
-
     /**
      * 添加/修改用户
      *
@@ -135,5 +123,34 @@ public class UserController {
         }
         return msg;
     }
+
+    /**
+     * 给项目分配参与人的时候根据公司id获取公司下的人员
+     * 参数:companyIds 公司ids ,id当前操作人的id
+     *
+     * @return
+     */
+    @ApiOperation("根据公司id获取公司下的人员")
+    @RequestMapping("/getUserListByCompanyIds")
+    @ResponseBody
+    public HttpRespMsg getUserListByCompanyIds(String companyIds,Integer id){
+        System.out.println("companyIds"+companyIds);
+        HttpRespMsg msg = projectService.getUserListByCompanyIds(companyIds,id);
+        return msg;
+    }
+
+    /**
+     * 获取用户列表
+     * 参数: companyId 公司id,subordinateType 所属方 0-供应商 1-客户
+     * 以上两参数可以都不传,或者选择传其中一个
+     * @return
+     */
+    @ApiOperation("获取用户列表")
+    @RequestMapping("/getUserList")
+    @ResponseBody
+    public HttpRespMsg getUserByCompanyIdOrSubordinateType(User user) {
+        HttpRespMsg msg = projectService.getUserByCompanyIdOrSubordinateType(user);
+        return msg;
+    }
 }
 

+ 18 - 18
cloud-model/src/main/java/com/hssx/cloudmodel/entity/Mould.java

@@ -14,7 +14,7 @@ import java.io.Serializable;
  * </p>
  *
  * @author 吴涛涛
- * @since 2019-07-31
+ * @since 2019-08-02
  */
 @TableName("tb_mould")
 public class Mould extends Model<Mould> {
@@ -51,12 +51,6 @@ public class Mould extends Model<Mould> {
     @TableField("tonnage")
     private BigDecimal tonnage;
 
-    /**
-     * 电量
-     */
-    @TableField("hill_number")
-    private String hillNumber;
-
     /**
      * 每模平均周期
      */
@@ -70,7 +64,7 @@ public class Mould extends Model<Mould> {
     private BigDecimal dailyOutput;
 
     /**
-     * 所属客户公司id
+     * 所属资产方公司id
      */
     @TableField("company_id")
     private Integer companyId;
@@ -82,7 +76,7 @@ public class Mould extends Model<Mould> {
     private Integer currentVersionId;
 
     /**
-     * 状态
+     * 状态 0-禁止 1-运行
      */
     @TableField("state")
     private String state;
@@ -153,6 +147,12 @@ public class Mould extends Model<Mould> {
     @TableField("belong_project_grade")
     private String belongProjectGrade;
 
+    /**
+     * 生产方公司id
+     */
+    @TableField("produce_company_id")
+    private Integer produceCompanyId;
+
 
     public Integer getId() {
         return id;
@@ -194,14 +194,6 @@ public class Mould extends Model<Mould> {
         this.tonnage = tonnage;
     }
 
-    public String getHillNumber() {
-        return hillNumber;
-    }
-
-    public void setHillNumber(String hillNumber) {
-        this.hillNumber = hillNumber;
-    }
-
     public BigDecimal getOcCycle() {
         return ocCycle;
     }
@@ -330,6 +322,14 @@ public class Mould extends Model<Mould> {
         this.belongProjectGrade = belongProjectGrade;
     }
 
+    public Integer getProduceCompanyId() {
+        return produceCompanyId;
+    }
+
+    public void setProduceCompanyId(Integer produceCompanyId) {
+        this.produceCompanyId = produceCompanyId;
+    }
+
     @Override
     protected Serializable pkVal() {
         return this.id;
@@ -343,7 +343,6 @@ public class Mould extends Model<Mould> {
         ", modelName=" + modelName +
         ", waterGap=" + waterGap +
         ", tonnage=" + tonnage +
-        ", hillNumber=" + hillNumber +
         ", ocCycle=" + ocCycle +
         ", dailyOutput=" + dailyOutput +
         ", companyId=" + companyId +
@@ -360,6 +359,7 @@ public class Mould extends Model<Mould> {
         ", initialModulus=" + initialModulus +
         ", equipmentId=" + equipmentId +
         ", belongProjectGrade=" + belongProjectGrade +
+        ", produceCompanyId=" + produceCompanyId +
         "}";
     }
 }

+ 170 - 0
cloud-model/src/main/java/com/hssx/cloudmodel/entity/MouldEquipment.java

@@ -0,0 +1,170 @@
+package com.hssx.cloudmodel.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import com.baomidou.mybatisplus.annotation.TableField;
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 吴涛涛
+ * @since 2019-08-02
+ */
+@TableName("tb_mould_equipment")
+public class MouldEquipment extends Model<MouldEquipment> {
+
+    private static final long serialVersionUID=1L;
+
+    /**
+     * 模具设备表主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 设备名称
+     */
+    @TableField("equipment_name")
+    private String equipmentName;
+
+    /**
+     * 启动时间
+     */
+    @TableField("start_time")
+    private LocalDateTime startTime;
+
+    /**
+     * 结束时间
+     */
+    @TableField("end_time")
+    private LocalDateTime endTime;
+
+    /**
+     * 使用年限 单位:年
+     */
+    @TableField("use_life")
+    private Integer useLife;
+
+    /**
+     * 所属公司id
+     */
+    @TableField("belong_company_id")
+    private Integer belongCompanyId;
+
+    /**
+     * 设备编号
+     */
+    @TableField("equipment_no")
+    private String equipmentNo;
+
+    /**
+     * 是否启用 0-未启用,1-启用
+     */
+    @TableField("is_use")
+    private Integer isUse;
+
+    /**
+     * 电量
+     */
+    @TableField("hill_number")
+    private String hillNumber;
+
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public String getEquipmentName() {
+        return equipmentName;
+    }
+
+    public void setEquipmentName(String equipmentName) {
+        this.equipmentName = equipmentName;
+    }
+
+    public LocalDateTime getStartTime() {
+        return startTime;
+    }
+
+    public void setStartTime(LocalDateTime startTime) {
+        this.startTime = startTime;
+    }
+
+    public LocalDateTime getEndTime() {
+        return endTime;
+    }
+
+    public void setEndTime(LocalDateTime endTime) {
+        this.endTime = endTime;
+    }
+
+    public Integer getUseLife() {
+        return useLife;
+    }
+
+    public void setUseLife(Integer useLife) {
+        this.useLife = useLife;
+    }
+
+    public Integer getBelongCompanyId() {
+        return belongCompanyId;
+    }
+
+    public void setBelongCompanyId(Integer belongCompanyId) {
+        this.belongCompanyId = belongCompanyId;
+    }
+
+    public String getEquipmentNo() {
+        return equipmentNo;
+    }
+
+    public void setEquipmentNo(String equipmentNo) {
+        this.equipmentNo = equipmentNo;
+    }
+
+    public Integer getIsUse() {
+        return isUse;
+    }
+
+    public void setIsUse(Integer isUse) {
+        this.isUse = isUse;
+    }
+
+    public String getHillNumber() {
+        return hillNumber;
+    }
+
+    public void setHillNumber(String hillNumber) {
+        this.hillNumber = hillNumber;
+    }
+
+    @Override
+    protected Serializable pkVal() {
+        return this.id;
+    }
+
+    @Override
+    public String toString() {
+        return "MouldEquipment{" +
+        "id=" + id +
+        ", equipmentName=" + equipmentName +
+        ", startTime=" + startTime +
+        ", endTime=" + endTime +
+        ", useLife=" + useLife +
+        ", belongCompanyId=" + belongCompanyId +
+        ", equipmentNo=" + equipmentNo +
+        ", isUse=" + isUse +
+        ", hillNumber=" + hillNumber +
+        "}";
+    }
+}

+ 16 - 0
cloud-model/src/main/java/com/hssx/cloudmodel/mapper/MouldEquipmentMapper.java

@@ -0,0 +1,16 @@
+package com.hssx.cloudmodel.mapper;
+
+import com.hssx.cloudmodel.entity.MouldEquipment;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 吴涛涛
+ * @since 2019-08-02
+ */
+public interface MouldEquipmentMapper extends BaseMapper<MouldEquipment> {
+
+}

+ 3 - 0
cloud-model/src/main/java/com/hssx/cloudmodel/mapper/MouldMapper.java

@@ -2,6 +2,8 @@ package com.hssx.cloudmodel.mapper;
 
 import com.hssx.cloudmodel.entity.Mould;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.hssx.cloudmodel.entity.Project;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * <p>
@@ -13,4 +15,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface MouldMapper extends BaseMapper<Mould> {
 
+    void updateMouldByProjectId(@Param("project") Project project);
 }

+ 24 - 0
cloud-model/src/main/java/com/hssx/cloudmodel/service/MouldEquipmentService.java

@@ -0,0 +1,24 @@
+package com.hssx.cloudmodel.service;
+
+import com.hssx.cloudmodel.entity.MouldEquipment;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.hssx.cloudmodel.entity.User;
+import com.hssx.cloudmodel.util.HttpRespMsg;
+import com.hssx.cloudmodel.util.PageUtil;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author 吴涛涛
+ * @since 2019-08-02
+ */
+public interface MouldEquipmentService extends IService<MouldEquipment> {
+
+    HttpRespMsg addAndUpdateMouldEquipment(MouldEquipment mouldEquipment, User user);
+
+    HttpRespMsg isUse(MouldEquipment mouldEquipment, User user);
+
+    HttpRespMsg getList(User user,PageUtil page);
+}

+ 3 - 0
cloud-model/src/main/java/com/hssx/cloudmodel/service/MouldService.java

@@ -2,6 +2,8 @@ package com.hssx.cloudmodel.service;
 
 import com.hssx.cloudmodel.entity.Mould;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.hssx.cloudmodel.entity.User;
+import com.hssx.cloudmodel.util.HttpRespMsg;
 
 /**
  * <p>
@@ -13,4 +15,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface MouldService extends IService<Mould> {
 
+    HttpRespMsg addAndUpdateMould(Mould mould, User user);
 }

+ 4 - 2
cloud-model/src/main/java/com/hssx/cloudmodel/service/ProjectService.java

@@ -17,7 +17,7 @@ import com.hssx.cloudmodel.util.PageUtil;
  */
 public interface ProjectService extends IService<Project> {
 
-    HttpRespMsg addAndUpdateProject(Project project, Integer flag, User user,String userIds,String customerCompanyIds,String customerCompanyNames);
+    HttpRespMsg addAndUpdateProject(Project project, Integer flag, User user,String userIds,String customerCompanyIds,String customerCompanyNames,String modelIds);
 
     HttpRespMsg handOutProject(Project project, String userIds);
 
@@ -27,5 +27,7 @@ public interface ProjectService extends IService<Project> {
 
     HttpRespMsg getProjectDetail(Project project);
 
-    HttpRespMsg getUserListByCompanyIds(String companyIds);
+    HttpRespMsg getUserListByCompanyIds(String companyIds,Integer adminId);
+
+    HttpRespMsg getModelListByCompanyId(User user);
 }

+ 3 - 2
cloud-model/src/main/java/com/hssx/cloudmodel/service/impl/CompanyServiceImpl.java

@@ -13,6 +13,7 @@ import com.hssx.cloudmodel.util.PageUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
 import java.util.List;
 
 /**
@@ -25,9 +26,9 @@ import java.util.List;
  */
 @Service
 public class CompanyServiceImpl extends ServiceImpl<CompanyMapper, Company> implements CompanyService {
-    @Autowired
+    @Resource
     CompanyMapper companyMapper;
-    @Autowired
+    @Resource
     UserMapper userMapper;
 
     @Override

+ 2 - 1
cloud-model/src/main/java/com/hssx/cloudmodel/service/impl/FactoryServiceImpl.java

@@ -13,6 +13,7 @@ import com.hssx.cloudmodel.util.PageUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
 import java.util.List;
 
 /**
@@ -26,7 +27,7 @@ import java.util.List;
 @Service
 public class FactoryServiceImpl extends ServiceImpl<FactoryMapper, Factory> implements FactoryService {
 
-    @Autowired
+    @Resource
     FactoryMapper factoryMapper;
     @Override
     public HttpRespMsg addAndUpdateFactory(Factory factory, Integer flag) {

+ 82 - 0
cloud-model/src/main/java/com/hssx/cloudmodel/service/impl/MouldEquipmentServiceImpl.java

@@ -0,0 +1,82 @@
+package com.hssx.cloudmodel.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import com.hssx.cloudmodel.constant.Constant;
+import com.hssx.cloudmodel.entity.MouldEquipment;
+import com.hssx.cloudmodel.entity.User;
+import com.hssx.cloudmodel.mapper.MouldEquipmentMapper;
+import com.hssx.cloudmodel.service.MouldEquipmentService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.hssx.cloudmodel.util.HttpRespMsg;
+import com.hssx.cloudmodel.util.PageUtil;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.time.LocalDateTime;
+import java.time.LocalTime;
+import java.util.List;
+
+/**
+ * <p>
+ * 服务实现类
+ * </p>
+ *
+ * @author 吴涛涛
+ * @since 2019-08-02
+ */
+@Service
+public class MouldEquipmentServiceImpl extends ServiceImpl<MouldEquipmentMapper, MouldEquipment> implements MouldEquipmentService {
+    @Resource
+    MouldEquipmentMapper mouldEquipmentMapper;
+
+    @Override
+    public HttpRespMsg addAndUpdateMouldEquipment(MouldEquipment mouldEquipment, User user) {
+        HttpRespMsg msg = new HttpRespMsg();
+        if (user.getParentId() == 0) {
+            if (mouldEquipment.getId() == null) {
+                //添加设备
+                mouldEquipmentMapper.insert(mouldEquipment);
+            } else {
+                //修改设备
+                mouldEquipmentMapper.updateById(mouldEquipment);
+            }
+        } else {
+            msg.setError("对不起,您不是管理员,不具备设备创建或修改的权限");
+        }
+        return msg;
+    }
+
+    @Override
+    public HttpRespMsg isUse(MouldEquipment mouldEquipment, User user) {
+        HttpRespMsg msg = new HttpRespMsg();
+        //判断是不是超级管理员,是才可操作
+        if (user.getParentId() == 0) {
+            //修改设备
+            LocalDateTime now = LocalDateTime.now();
+            mouldEquipment.setStartTime(now);
+            mouldEquipment.setEndTime(now.plusYears(mouldEquipment.getUseLife()));
+            mouldEquipmentMapper.updateById(mouldEquipment);
+        } else {
+            msg.setError("对不起,您不是管理员,不具备启用设备的权限");
+        }
+        return msg;
+    }
+
+    @Override
+    public HttpRespMsg getList(User user,PageUtil page) {
+        HttpRespMsg msg = new HttpRespMsg();
+        if(user != null){
+            if(Constant.SYS_PARENT_ID == user.getParentId()){
+                PageHelper.startPage(page.getPageNum(),page.getPageSize());
+                List<MouldEquipment> mouldEquipments = mouldEquipmentMapper.selectList(new QueryWrapper<MouldEquipment>());
+                PageInfo<MouldEquipment> pageInfo = new PageInfo<>(mouldEquipments);
+                msg.data = pageInfo;
+            }else{
+                msg.setError("对不起!您不含有查看该列表的权利。");
+            }
+        }
+        return msg;
+    }
+}

+ 18 - 1
cloud-model/src/main/java/com/hssx/cloudmodel/service/impl/MouldServiceImpl.java

@@ -1,11 +1,16 @@
 package com.hssx.cloudmodel.service.impl;
 
 import com.hssx.cloudmodel.entity.Mould;
+import com.hssx.cloudmodel.entity.User;
 import com.hssx.cloudmodel.mapper.MouldMapper;
 import com.hssx.cloudmodel.service.MouldService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.hssx.cloudmodel.util.HttpRespMsg;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
+
 /**
  * <p>
  *  服务实现类
@@ -16,5 +21,17 @@ import org.springframework.stereotype.Service;
  */
 @Service
 public class MouldServiceImpl extends ServiceImpl<MouldMapper, Mould> implements MouldService {
-
+    @Resource
+    MouldMapper mouldMapper;
+    @Override
+    public HttpRespMsg addAndUpdateMould(Mould mould, User user) {
+        if(mould.getId() != null){
+            //修改
+            mouldMapper.updateById(mould);
+        }else{
+            mould.setCreatorId(user.getId());
+            mouldMapper.insert(mould);
+        }
+        return null;
+    }
 }

+ 51 - 10
cloud-model/src/main/java/com/hssx/cloudmodel/service/impl/ProjectServiceImpl.java

@@ -3,6 +3,7 @@ package com.hssx.cloudmodel.service.impl;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
+import com.hssx.cloudmodel.constant.Constant;
 import com.hssx.cloudmodel.entity.*;
 import com.hssx.cloudmodel.entity.vo.ProjectVO;
 import com.hssx.cloudmodel.mapper.*;
@@ -14,6 +15,7 @@ import com.hssx.cloudmodel.util.PageUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
 import javax.jws.soap.SOAPBinding;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
@@ -31,19 +33,22 @@ import java.util.Spliterator;
 @Service
 public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> implements ProjectService {
 
-    @Autowired
+    @Resource
     ProjectMapper projectMapper;
-    @Autowired
+    @Resource
     ProjectUserMapper projectUserMapper;
-    @Autowired
+    @Resource
     UserMapper userMapper;
-    @Autowired
+    @Resource
     CompanyMapper companyMapper;
-    @Autowired
+    @Resource
     CustomCompanyMapper customCompanyMapper;
+    @Resource
+    MouldMapper mouldMapper;
 
     @Override
-    public HttpRespMsg addAndUpdateProject(Project project, Integer flag, User user,String userIds,String customerCompanyIds,String customerCompanyNames) {
+    public HttpRespMsg addAndUpdateProject(Project project, Integer flag, User user,String userIds,
+                                           String customerCompanyIds,String customerCompanyNames,String modelIds) {
         HttpRespMsg msg = new HttpRespMsg();
         if(user != null){
             QueryWrapper<Project> qw = new QueryWrapper<>();
@@ -66,7 +71,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                     project.setCreator(user.getUsername());
                     project.setOwnerCompany(user.getCompanyId());
                     project.setOwnerCompanyName(company.getCompanyName());
-                    project.setProjectNo("YMXM"+seq);
+                    project.setProjectNo(Constant.PROJECT_PREFIX+seq);
                     projectMapper.insert(project);
                     //添加生产方关联公司
                     if(customerCompanyIds != null && !"".equals(customerCompanyIds) && customerCompanyNames != null && !"".equals(customerCompanyNames)){
@@ -91,6 +96,22 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                 projectUserMapper.delete(qwPro);
                 //再次重新分配
                 this.handOutProject(project, userIds);
+                //删除之前分配与项目关联的模具,即将之前的关联项目id修改成未关联
+                mouldMapper.updateMouldByProjectId(project);
+                //再次模具的分配
+                if(modelIds != null && !"".equals(modelIds)){
+                    List<Integer> modelList = ListUtil.convertIntegerIdsArrayToList(modelIds);
+                    int index = 1;
+                    if(modelList.size()>0){
+                        for (Integer id : modelList) {
+                            Mould mould = new Mould();
+                            mould.setId(id);
+                            mould.setProjectId(project.getId());
+                            mould.setBelongProjectGrade(index/modelList.size()+"");
+                            mouldMapper.updateById(mould);
+                        }
+                    }
+                }
             }
         }else{
             msg.setError("当前角色涉及权限问题,请重新登录");
@@ -175,12 +196,32 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
     }
 
     @Override
-    public HttpRespMsg getUserListByCompanyIds(String companyIds) {
+    public HttpRespMsg getUserListByCompanyIds(String companyIds,Integer adminId) {
         HttpRespMsg msg = new HttpRespMsg();
         if(!"".equals(companyIds) && companyIds != null){
-            List<Integer> ids = ListUtil.convertIntegerIdsArrayToList("companyIds");
-            msg.data = userMapper.selectList(new QueryWrapper<User>().in("company_id",ids));
+            List<Integer> ids = ListUtil.convertIntegerIdsArrayToList(companyIds);
+            msg.data = userMapper.selectList(new QueryWrapper<User>().in("company_id",ids).ne("id",adminId));
+        }
+        return msg;
+    }
+
+    @Override
+    public HttpRespMsg getModelListByCompanyId(User user) {
+        HttpRespMsg msg = new HttpRespMsg();
+        QueryWrapper<Mould> qw = new QueryWrapper<>();
+        if(Constant.SYS_ID == user.getParentId()){
+            //此时是admin
+            User admin = userMapper.selectOne(new QueryWrapper<User>().eq("id", user.getId()));
+            qw.eq("company_id",admin.getCompanyId());
+        }else if(Constant.SYS_PARENT_ID == user.getParentId()){
+            //系统管理员
+//            qw.eq("company_type",Constant.ASSETS_COMPANY);
+        }else{
+            //此时是项目经理
+            User admin = userMapper.selectOne(new QueryWrapper<User>().eq("id", user.getParentId()));
+            qw.eq("company_id",admin.getCompanyId());
         }
+        msg.data =  mouldMapper.selectList(qw);
         return msg;
     }
 }

+ 6 - 5
cloud-model/src/main/java/com/hssx/cloudmodel/service/impl/UserServiceImpl.java

@@ -15,6 +15,7 @@ import com.hssx.cloudmodel.util.PageUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import java.util.List;
 import java.util.UUID;
@@ -29,15 +30,15 @@ import java.util.UUID;
  */
 @Service
 public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
-    @Autowired
+    @Resource
     UserMapper userMapper;
-    @Autowired
+    @Resource
     CompanyMapper companyMapper;
-    @Autowired
+    @Resource
     UserCompanyMapper userCompanyMapper;
-    @Autowired
+    @Resource
     ProjectUserMapper projectUserMapper;
-    @Autowired
+    @Resource
     ProjectMapper projectMapper;
 
     @Override

+ 1 - 1
cloud-model/src/main/java/com/hssx/cloudmodel/util/CodeGenerator.java

@@ -204,7 +204,7 @@ public class CodeGenerator {
         //若想要生成的实体类继承某个Controller,则可打开下面注释。写上需要继承的Controller的位置即可
 //        strategy.setSuperControllerClass("com.baomidou.ant.common.BaseController");
         //此处user是表名,多个英文逗号分割
-        strategy.setInclude("tb_custom_company");
+        strategy.setInclude("tb_mould");
 //        strategy.setExclude();//数据库表全生成
 //        strategy.setInclude(scanner("user").split(","));//表名,多个英文逗号分割
         strategy.setControllerMappingHyphenStyle(true);

+ 1 - 1
cloud-model/src/main/java/com/hssx/cloudmodel/util/ListUtil.java

@@ -53,7 +53,7 @@ public class ListUtil {
 		List<Integer> ids = new ArrayList<Integer>();
 		for (String a : array) {
 			if (a != null && a.length() > 0) {
-				ids.add(Integer.valueOf(a));
+				ids.add(Integer.parseInt(a));
 			}
 		}
 		return ids;

+ 23 - 0
cloud-model/src/main/resources/mapper/MouldEquipmentMapper.xml

@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.hssx.cloudmodel.mapper.MouldEquipmentMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.hssx.cloudmodel.entity.MouldEquipment">
+        <id column="id" property="id" />
+        <result column="equipment_name" property="equipmentName" />
+        <result column="start_time" property="startTime" />
+        <result column="end_time" property="endTime" />
+        <result column="use_life" property="useLife" />
+        <result column="belong_company_id" property="belongCompanyId" />
+        <result column="equipment_no" property="equipmentNo" />
+        <result column="is_use" property="isUse" />
+        <result column="hill_number" property="hillNumber" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        id, equipment_name, start_time, end_time, use_life, belong_company_id, equipment_no, is_use, hill_number
+    </sql>
+
+</mapper>

+ 5 - 3
cloud-model/src/main/resources/mapper/MouldMapper.xml

@@ -9,7 +9,6 @@
         <result column="model_name" property="modelName" />
         <result column="water_gap" property="waterGap" />
         <result column="tonnage" property="tonnage" />
-        <result column="hill_number" property="hillNumber" />
         <result column="oc_cycle" property="ocCycle" />
         <result column="daily_output" property="dailyOutput" />
         <result column="company_id" property="companyId" />
@@ -26,11 +25,14 @@
         <result column="initial_modulus" property="initialModulus" />
         <result column="equipment_id" property="equipmentId" />
         <result column="belong_project_grade" property="belongProjectGrade" />
+        <result column="produce_company_id" property="produceCompanyId" />
     </resultMap>
 
     <!-- 通用查询结果列 -->
     <sql id="Base_Column_List">
-        id, model_no, model_name, water_gap, tonnage, hill_number, oc_cycle, daily_output, company_id, current_version_id, state, is_delete, creator_id, project_id, rfid, setting_life, area, factory_id, factory_name, initial_modulus, equipment_id, belong_project_grade
+        id, model_no, model_name, water_gap, tonnage, oc_cycle, daily_output, company_id, current_version_id, state, is_delete, creator_id, project_id, rfid, setting_life, area, factory_id, factory_name, initial_modulus, equipment_id, belong_project_grade, produce_company_id
     </sql>
-
+    <update id="updateMouldByProjectId">
+        update tb_mould set project_id = null where project_id = #{project.id}
+    </update>
 </mapper>

+ 21 - 7
ys_vue/package-lock.json

@@ -3610,12 +3610,14 @@
         "balanced-match": {
           "version": "1.0.0",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         },
         "brace-expansion": {
           "version": "1.1.11",
           "bundled": true,
           "dev": true,
+          "optional": true,
           "requires": {
             "balanced-match": "^1.0.0",
             "concat-map": "0.0.1"
@@ -3630,17 +3632,20 @@
         "code-point-at": {
           "version": "1.1.0",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         },
         "concat-map": {
           "version": "0.0.1",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         },
         "console-control-strings": {
           "version": "1.1.0",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         },
         "core-util-is": {
           "version": "1.0.2",
@@ -3757,7 +3762,8 @@
         "inherits": {
           "version": "2.0.3",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         },
         "ini": {
           "version": "1.3.5",
@@ -3769,6 +3775,7 @@
           "version": "1.0.0",
           "bundled": true,
           "dev": true,
+          "optional": true,
           "requires": {
             "number-is-nan": "^1.0.0"
           }
@@ -3783,6 +3790,7 @@
           "version": "3.0.4",
           "bundled": true,
           "dev": true,
+          "optional": true,
           "requires": {
             "brace-expansion": "^1.1.7"
           }
@@ -3790,12 +3798,14 @@
         "minimist": {
           "version": "0.0.8",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         },
         "minipass": {
           "version": "2.3.5",
           "bundled": true,
           "dev": true,
+          "optional": true,
           "requires": {
             "safe-buffer": "^5.1.2",
             "yallist": "^3.0.0"
@@ -3814,6 +3824,7 @@
           "version": "0.5.1",
           "bundled": true,
           "dev": true,
+          "optional": true,
           "requires": {
             "minimist": "0.0.8"
           }
@@ -3894,7 +3905,8 @@
         "number-is-nan": {
           "version": "1.0.1",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         },
         "object-assign": {
           "version": "4.1.1",
@@ -3906,6 +3918,7 @@
           "version": "1.4.0",
           "bundled": true,
           "dev": true,
+          "optional": true,
           "requires": {
             "wrappy": "1"
           }
@@ -4027,6 +4040,7 @@
           "version": "1.0.2",
           "bundled": true,
           "dev": true,
+          "optional": true,
           "requires": {
             "code-point-at": "^1.0.0",
             "is-fullwidth-code-point": "^1.0.0",

+ 6 - 1
ys_vue/src/port.js

@@ -13,7 +13,9 @@ export default {
 
         projectList: '/project/list', //项目列表
         addProject: '/project/add', //添加或修改项目
+
         getUserList: '/project/getUserList', //获取人员列表
+        getUserById: '/project/getUserListByCompanyIds', // 根据公司id获取人员
     },
     // 基础管理
     base: {
@@ -29,6 +31,9 @@ export default {
 
         addFactory: '/factory/add',  //(工厂)
         factoryList: '/factory/list', 
-        delFactory: '/factory/delete', 
+        delFactory: '/factory/delete',
+
+        editMould: '/mouldequipment/addOrUpdate', //添加或修改模具
+        enableMould: '/mouldequipment/use', //使用模具
     }
 }

+ 1 - 1
ys_vue/src/routes.js

@@ -86,7 +86,7 @@ let routes = [
             // { path: '/role', component: role, name: '角色管理' },
             { path: '/comp', component: comp, name: '公司管理' },
             { path: '/factory', component: factory, name: '工厂管理' },
-            { path: '/allocation', component: allocation, name: '分配云模' }
+            { path: '/allocation', component: allocation, name: '云模盒管理' }
         ]
     },
     {

+ 219 - 36
ys_vue/src/views/base/allocation.vue

@@ -3,7 +3,6 @@
     <!--工具条-->
     <el-col :span="24" class="toolbar" style="padding-bottom: 0px;">
       <el-form :inline="true" :model="filters">
-        <el-form-item style="float: left;">公司</el-form-item>
         <el-col :span="3">
           <el-form-item>
             <el-select v-model="filters.value" placeholder="按公司筛选">
@@ -33,16 +32,29 @@
       style="width: 100%;"
     >
       <el-table-column type="index" width="60"></el-table-column>
-      <el-table-column prop="deviceNumber" label="云模设备号" width="120" sortable></el-table-column>
+      <el-table-column prop="id" label="云模盒编号" width="120" sortable></el-table-column>
       <el-table-column prop="power" label="电量" width="80" sortable></el-table-column>
-      <el-table-column prop="countdown" label="倒计时" width="100" sortable></el-table-column>
-      <el-table-column prop="name" label="模具名称" width="100" sortable></el-table-column>
-      <el-table-column prop="mouldNumber" label="模具编号" width="120" sortable></el-table-column>
-      <el-table-column prop="assets" label="资产方" width="120" sortable></el-table-column>
-      <el-table-column prop="state" label="模具状态" width="100" sortable></el-table-column>
-      <el-table-column label="操作" width="160" sortable>
-        <el-button size="small">修改</el-button>
-        <el-button type="danger" size="small">删除</el-button>
+      <el-table-column prop="useLife" label="倒计时" width="100" sortable></el-table-column>
+      <el-table-column prop="equipmentName" label="模具名称" width="100" sortable></el-table-column>
+      <el-table-column prop="equipmentNo" label="模具编号" width="120" sortable></el-table-column>
+      <el-table-column prop="belongCompanyId" label="资产方" width="120" sortable></el-table-column>
+      <el-table-column prop="state" label="模具状态" width="100" sortable>
+        <template slot-scope="scope">
+          <span v-if="scope.row.state == false">未启用</span>
+          <span v-else>已启用</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="操作" width="220" sortable>
+        <template slot-scope="scope">
+          <el-button
+            size="small"
+            type="primary"
+            @click="enable(scope.$index)"
+            :disabled="scope.row.state == true"
+          >启用</el-button>
+          <el-button size="small" @click="showEdit(5)">修改</el-button>
+          <el-button type="danger" size="small">删除</el-button>
+        </template>
       </el-table-column>
     </el-table>
 
@@ -51,7 +63,7 @@
       <el-pagination
         @size-change="handleSizeChange"
         @current-change="handleCurrentChange"
-        :page-sizes="[20 , 50 , 80 , 100 , 200]"
+        :page-sizes="[20 , 50 , 80 , 100]"
         :page-size="20"
         layout="total, sizes, prev, pager, next"
         :total="total"
@@ -75,17 +87,51 @@
         :inline="true"
         class="demo-form-inline"
       >
-        <el-form-item label="设备号" prop="typeNumber">
-          <el-input v-model="newAllocation.deviceNumber" autocomplete="off" placeholder="请填写"></el-input>
+        <el-form-item label="设备号">
+          <el-input v-model="newAllocation.equipmentNo" autocomplete="off" placeholder="请填写"></el-input>
         </el-form-item>
-        <el-form-item label="所属公司" prop="name">
-          <el-input v-model="newAllocation.company" autocomplete="off" placeholder="请填写"></el-input>
+        <el-form-item label="所属公司">
+          <el-input v-model="newAllocation.belongCompanyId" autocomplete="off" placeholder="请填写"></el-input>
         </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer">
         <el-button @click.native="addFormVisible = false">取消</el-button>
-        <!-- 这里少了几个属性别忘了加上了 -->
-        <el-button type="primary">提交</el-button>
+        <el-button type="primary" @click="addMould()">提交</el-button>
+      </div>
+    </el-dialog>
+
+    <!--修改界面-->
+    <el-dialog
+      title="修改模具"
+      v-if="editFormVisible"
+      :visible.sync="editFormVisible"
+      :close-on-click-modal="false"
+      customClass="customWidth"
+    >
+      <el-form
+        :model="newAllocation"
+        label-width="100px"
+        :rules="formRules"
+        ref="newAllocation"
+        :inline="true"
+        class="demo-form-inline"
+      >
+        <el-form-item label="设备号">
+          <el-input v-model="newAllocation.equipmentNo" autocomplete="off" placeholder="请填写"></el-input>
+        </el-form-item>
+        <el-form-item label="所属公司">
+          <el-input v-model="newAllocation.belongCompanyId" autocomplete="off" placeholder="请填写"></el-input>
+        </el-form-item>
+        <el-form-item label="设备名称">
+          <el-input v-model="newAllocation.equipmentName" autocomplete="off" placeholder="请填写"></el-input>
+        </el-form-item>
+        <el-form-item label="使用年限">
+          <el-input v-model="newAllocation.useLife" autocomplete="off" placeholder="请填写"></el-input>
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button @click.native="editFormVisible = false">取消</el-button>
+        <el-button type="primary" @click="editMould">提交</el-button>
       </div>
     </el-dialog>
   </section>
@@ -99,27 +145,37 @@ export default {
       allocations: [
         //临时数据
         {
-          deviceNumber: "0123456",
-          power: "50%",
-          countdown: "400天",
-          name: "墨盒",
-          mouldNumber: "MUJU123456",
-          assets: "南京火石闪信",
-          state: "1"
+          id: "1234567",
+          power: "N/A",
+          useLife: "400天",
+          equipmentName: "墨盒",
+          equipmentNo: "MUJU123456",
+          belongCompanyId: "南京火石闪信",
+          state: true
         },
         {
-          deviceNumber: "7891011",
-          power: "20%",
-          countdown: "100天",
-          name: "墨盒2",
-          mouldNumber: "MUJU654321",
-          assets: "南京火石闪信",
-          state: "0"
+          id: "7891011",
+          power: "N/A",
+          useLife: "100天",
+          equipmentName: "墨盒2",
+          equipmentNo: "MUJU654321",
+          belongCompanyId: "南京火石闪信",
+          state: false
         }
       ],
+      /**
+       * 添加/修改模具设备
+       * 添加参数:equipmentName 设备名称,useLife 使用年限, equipmentNo 设备编号 ,
+       * belongCompanyId 所属公司id ,equipmentName 设备名称
+       * 修改时需多传的参数 id 设备id
+       */
       newAllocation: {
-        deviceNumber: "",
-        company: ""
+        equipmentNo: "", //设备编号
+        // power: "",
+        useLife: "", //使用年限
+        equipmentName: "", //设备名称
+        id: "", //设备id
+        belongCompanyId: "" //所属公司ID
       },
       filters: {
         name: "",
@@ -129,7 +185,8 @@ export default {
       listLoading: false,
       total: 0,
       tableHeight: 0,
-      addFormVisible: false
+      addFormVisible: false,
+      editFormVisible: false
     };
   },
   methods: {
@@ -146,9 +203,135 @@ export default {
     showAllocation() {
       this.addFormVisible = true;
       this.newAllocation = {
-        deviceNumber: "",
-        company: ""
+        id: "",
+        useLife: "",
+        equipmentName: "",
+        equipmentNo: "",
+        belongCompanyId: ""
       };
+    },
+    //修改界面
+    showEdit(equipmentId) {
+      this.editFormVisible = true;
+      this.newAllocation = {
+        id: equipmentId,
+        useLife: "",
+        equipmentName: "",
+        equipmentNo: "",
+        belongCompanyId: ""
+      };
+    },
+    //添加模具
+    addMould() {
+      this.$refs.newAllocation.validate(valid => {
+        if (valid) {
+          this.editLoading = true;
+          this.http.post(
+            this.port.base.editMould,
+            {
+              equipmentNo: this.newAllocation.equipmentNo,
+              belongCompanyId: this.newAllocation.belongCompanyId
+            },
+            res => {
+              this.editLoading = false;
+              this.editFormVisible = false;
+              if (res.code == "ok") {
+                this.$message({
+                  message: "添加成功",
+                  type: "success"
+                });
+              } else {
+                this.$message({
+                  message: res.msg,
+                  type: "error"
+                });
+              }
+            },
+            error => {
+              this.editLoading = false;
+              this.editFormVisible = false;
+              this.$message({
+                message: error,
+                type: "error"
+              });
+            }
+          );
+        }
+      });
+    },
+    //编辑模具
+    editMould() {
+      this.$refs.newAllocation.validate(valid => {
+        if (valid) {
+          this.editLoading = true;
+          this.http.post(
+            this.port.base.editMould,
+            {
+              equipmentNo: this.newAllocation.equipmentNo,
+              equipmentName: this.newAllocation.equipmentName,
+              belongCompanyId: this.newAllocation.belongCompanyId,
+              useLife: this.newAllocation.useLife
+            },
+            res => {
+              console.log(res);
+              this.editLoading = false;
+              this.editFormVisible = false;
+              if (res.code == "ok") {
+                this.$message({
+                  message: "添加成功",
+                  type: "success"
+                });
+              } else {
+                this.$message({
+                  message: res.msg,
+                  type: "error"
+                });
+              }
+            },
+            error => {
+              this.editLoading = false;
+              this.editFormVisible = false;
+              this.$message({
+                message: error,
+                type: "error"
+              });
+            }
+          );
+        }
+      });
+    },
+    //启用设备
+    enable(index) {
+      this.allocations[index].state = true;
+      //启用设备调用
+      this.http.post(
+        this.port.base.enableMould,
+        {
+          //数是瞎写的
+          id: 1,
+          isUse: 1
+        },
+        res => {
+          if (res.code == "ok") {
+            this.$message({
+              message: "修改成功",
+              type: "success"
+            });
+            this.getRoles();
+          } else {
+            this.$message({
+              message: res.msg,
+              type: "error"
+            });
+          }
+        },
+        error => {
+          this.$message({
+            message: error,
+            type: "error"
+          });
+        }
+      );
     }
   },
   created() {

+ 12 - 4
ys_vue/src/views/base/comp.vue

@@ -19,7 +19,11 @@
 		<el-table :data="list" highlight-current-row :height="tableHeight" v-loading="listLoading" style="width: 100%;">
             <el-table-column type="index" width="60"></el-table-column>
 			<el-table-column prop="companyName" label="公司名称" width="300" sortable></el-table-column>
-            <el-table-column prop="companyType" label="公司类型" width="200" sortable></el-table-column>
+            <el-table-column prop="companyType" label="公司类型" width="200" sortable>
+                <template slot-scope="scope">
+                    {{ scope.row.companyType == 0?"资产方":"生产方" }}
+                </template>
+            </el-table-column>
             <el-table-column prop="companyAddress" label="公司地址" sortable></el-table-column>
 			<el-table-column label="操作" width="150">
 				<template slot-scope="scope">
@@ -70,8 +74,8 @@
 				<el-form-item label="公司名称" prop="companyName">
 					<el-input v-model="editForm.companyName" autocomplete="off" placeholder="请输入公司地址"></el-input>
 				</el-form-item>
-                <el-form-item label="公司名称" prop="companyName">
-                    <el-select v-model="editForm.companyName" clearable filterable placeholder="请选择公司类型" style="width:532px">
+                <el-form-item label="公司名称" prop="companyType">
+                    <el-select v-model="editForm.companyType" clearable filterable placeholder="请选择公司类型" style="width:532px">
                         <el-option v-for="item in team" :key="item.value" :label="item.label" :value="item.value">
                         </el-option>
                     </el-select>
@@ -119,6 +123,7 @@
 				addLoading: false,
 				addForm: {
                     companyName: '',
+                    companyType: '',
                     companyAddress: '',
                     flag: 0
 				},
@@ -128,7 +133,8 @@
 				editLoading: false,
 				editForm: {
 					id: 0,
-					companyName: '',
+                    companyName: '',
+                    companyType: '',
                     companyAddress: '',
                     flag: 1
 				}
@@ -178,6 +184,7 @@
                 this.addFormVisible = true;
 				this.addForm = {
                     companyName: '',
+                    companyType: '',
                     companyAddress: '',
                     flag: 0
 				};
@@ -250,6 +257,7 @@
                 this.editForm = {
                     id: row.id,
                     companyName: row.companyName,
+                    companyType: row.companyType==0?'资产方':'生产方',
                     companyAddress: row.companyAddress,
                     flag: 1
 				};

+ 1 - 1
ys_vue/src/views/detection/detection.vue

@@ -40,7 +40,7 @@
       <el-table-column prop="lifetime" label="模具寿命" width="100" sortable></el-table-column>
       <el-table-column label="模具保养" width="100" sortable>
         <template slot-scope="scope">
-          <el-button size="small" @click="toMaintenance(scope.row.number)">不需要</el-button>
+          <a style="color: #409EFF; cursor: pointer" @click="toMaintenance(scope.row.number)">不需要</a>
         </template>
       </el-table-column>
       <el-table-column label="模具更新" width="100" sortable>

+ 94 - 171
ys_vue/src/views/project/project.vue

@@ -9,7 +9,7 @@
 				<el-form-item>
 					<el-button type="primary" v-on:click="getProject">查询</el-button>
 				</el-form-item>
-				<el-form-item style="float:right;" v-if="">
+				<el-form-item style="float:right;" v-if="user.parentId == 1">
 					<el-button type="primary" @click="handleAdd">新增</el-button>
 				</el-form-item>
 			</el-form>
@@ -58,23 +58,24 @@
                         <el-input v-model="addForm.projectName" autocomplete="off" placeholder="请输入项目名称" style="width:510px"></el-input>
                     </el-form-item>
                 </el-col>
-                <el-col :span="12">
+                <el-col :span="24">
                     <el-form-item label="生产方公司" prop="customerCompany">
-                        <el-select v-model="addForm.customerCompany" clearable filterable placeholder="请选择生产方公司" value-key='id' @change="companyChange(0)" style="width:195px">
+                        <el-select v-model="addForm.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>
                         </el-select>
                     </el-form-item>
                 </el-col>
-                <el-col :span="12">
-                    <el-form-item label="生产方负责人" prop="charger">
-                        <el-select v-model="addForm.charger" clearable filterable placeholder="请选择生产方负责人" value-key='id' style="width:195px">
+                <el-col :span="24">
+                    <el-form-item label="项目经理" prop="managerId">
+                        <el-select v-model="addForm.managerId" clearable filterable placeholder="请选择项目经理" value-key='id' style="width:510px">
                             <el-option v-for="item in charger" :key="item.id" :label="item.username" :value="item">
                             </el-option>
                         </el-select>
                     </el-form-item>
                 </el-col>
-                <el-col :span="24">
+                <!-- <el-col :span="24">
                     <el-form-item label="本方参与人">
                         <el-select v-model="addForm.userA" clearable filterable multiple placeholder="请选择本方参与人" style="width:510px">
                             <el-option v-for="item in userA" :key="item.id" :label="item.username" :value="item.id">
@@ -89,60 +90,13 @@
                             </el-option>
                         </el-select>
                     </el-form-item>
-                </el-col>
+                </el-col> -->
 			</el-form>
 			<div slot="footer" class="dialog-footer">
 				<el-button @click.native="addFormVisible = false">取消</el-button>
 				<el-button type="primary" @click.native="addSubmit" :loading="addLoading">提交</el-button>
 			</div>
 		</el-dialog>
-
-		<!--编辑界面-->
-		<el-dialog title="编辑" v-if="editFormVisible" :visible.sync="editFormVisible" :close-on-click-modal="false" customClass='customWidth'>
-			<el-form :model="editForm" label-width="120px" :rules="formRules" ref="editForm" class="demo-form-inline">
-				 <el-col :span="24">
-                    <el-form-item label="项目名称" prop="projectName">
-                        <el-input v-model="editForm.projectName" autocomplete="off" placeholder="请输入项目名称" style="width:510px"></el-input>
-                    </el-form-item>
-                </el-col>
-                <el-col :span="12">
-                    <el-form-item label="生产方公司" prop="customerCompany">
-                        <el-select v-model="editForm.customerCompany" clearable filterable placeholder="请选择生产方公司" value-key='id' @change="companyChange(1)" style="width:195px">
-                            <el-option v-for="item in company" :key="item.id" :label="item.companyName" :value="item">
-                            </el-option>
-                        </el-select>
-                    </el-form-item>
-                </el-col>
-                <el-col :span="12">
-                    <el-form-item label="生产方负责人" prop="charger">
-                        <el-select v-model="editForm.charger" clearable filterable placeholder="请选择生产方负责人" value-key='id' style="width:195px">
-                            <el-option v-for="item in charger" :key="item.id" :label="item.username" :value="item">
-                            </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-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-option>
-                        </el-select>
-                    </el-form-item>
-                </el-col>
-			</el-form>
-			<div slot="footer" class="dialog-footer">
-				<el-button @click.native="editFormVisible = false">取消</el-button>
-				<el-button type="primary" @click.native="editSubmit" :loading="editLoading">提交</el-button>
-			</div>
-		</el-dialog>
 	</section>
 </template>
 
@@ -158,8 +112,8 @@
                 user: JSON.parse(sessionStorage.getItem('user')),
                 company:[],
                 charger: [],
-                userA: [],
-                userB: [],
+                // userA: [],
+                // userB: [],
 
 				list: [],
 				total: 0,
@@ -173,10 +127,10 @@
 						{ required: true, message: '请输入项目名称', trigger: 'blur' }
                     ],
                     customerCompany: [
-                        { required: true, message: '请选择客户公司', trigger: ['blur','change'] }
+                        { required: true, message: '请选择客户公司', trigger: 'blur' }
                     ],
-                    charger: [
-                        { required: true, message: '请选择客户方负责人', trigger: ['blur','change'] }
+                    managerId: [
+                        { required: true, message: '请选择项目经理', trigger: ['blur','change'] }
                     ]
                 },
                 
@@ -185,22 +139,10 @@
 				//新增界面数据
 				addForm: {
 					projectName: '',
-                    customerCompany: '',
-                    charger: '',
-                    userA: [],
-                    userB: []
-				},
-
-				editFormVisible: false,//编辑界面是否显示
-				editLoading: false,
-				//编辑界面数据
-				editForm: {
-					id: 0,
-					projectName: '',
-                    customerCompany: '',
-                    charger: '',
-                    userA: [],
-                    userB: []
+                    customerCompany: [],
+                    managerId: '',
+                    // userA: [],
+                    // userB: []
 				}
 
 			}
@@ -208,7 +150,28 @@
 		methods: {
             // 获取基础数据
             getMsg(){
-                this.http.post(this.port.base.companys, {}, res => {
+                this.http.post(this.port.project.getUserById, {
+                    companyIds: this.user.companyId
+                } , res => {
+                    if (res.code == "ok") {
+                        this.charger = res.data;
+                    } else {
+                        this.$message({
+                            message: res.msg,
+                            type: 'error'
+                        });
+                    }
+                }, error => {
+                    this.$message({
+                        message: error,
+                        type: 'error'
+                    });
+                })
+
+                this.http.post(this.port.base.companys, {
+                    parentId: this.user.parentId,
+                    id: this.user.id
+                }, res => {
                     if (res.code == "ok") {
                         var list = res.data , array = [];
                         for(var i in list){
@@ -270,25 +233,16 @@
             },
 
             //选择公司切换人员
-            companyChange: function(type){
-                var param = {};
-                if(type == 0){
-                    param.companyId = this.addForm.customerCompany.id;
-                } else if(type == 1) {
-                    param.companyId = this.editForm.customerCompany.id;
+            companyChange: function(){
+                var param = {} ,
+                    str = this.user.companyId;
+                for(var i in this.addForm.customerCompany){
+                    str += "," + this.addForm.customerCompany[i].id;
                 }
-                param.subordinateType = 1;
-                this.http.post(this.port.project.getUserList, param , res => {
+                param.companyIds = str;
+                this.http.post(this.port.project.getUserById, param , res => {
                     if (res.code == "ok") {
                         this.charger = res.data;
-                        this.userB = res.data;
-                        if(type == 0){
-                            this.addForm.charger = '';
-                            this.addForm.userB = [];
-                        } else {
-                            this.editForm.charger = '';
-                            this.editForm.userB = [];
-                        }
                     } else {
                         this.$message({
                             message: res.msg,
@@ -309,9 +263,9 @@
 				this.addForm = {
 					projectName: '',
                     customerCompany: '',
-                    charger: '',
-                    userA: [],
-                    userB: []
+                    managerId: '',
+                    // userA: [],
+                    // userB: []
 				};
             },
 
@@ -319,29 +273,38 @@
 			addSubmit: function () {
 				this.$refs.addForm.validate((valid) => {
 					if (valid) {
-                        console.log(this.addForm)
-                        var userIds = "";
-                        if(this.addForm.userA.length != 0){
-                            for(var i in this.addForm.userA){
-                                userIds += this.addForm.userA[i] + ","
-                            }
-                        }
+                        // console.log(this.addForm)
+                        // var userIds = "";
+                        // if(this.addForm.userA.length != 0){
+                        //     for(var i in this.addForm.userA){
+                        //         userIds += this.addForm.userA[i] + ","
+                        //     }
+                        // }
                         
-                        if(this.addForm.userB.length != 0){
-                            for(var i in this.addForm.userB){
-                                userIds += this.addForm.userB[i] + ","
-                            }
-                        }
+                        // if(this.addForm.userB.length != 0){
+                        //     for(var i in this.addForm.userB){
+                        //         userIds += this.addForm.userB[i] + ","
+                        //     }
+                        // }
                         
-                        userIds = userIds.substring(0,userIds.length-1)
+                        // userIds = userIds.substring(0,userIds.length-1)
+                        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 + ",";
+                        }
+                        cId = cId.substring(0,cId.length-1);
+                        cName = cName.substring(0,cName.length-1);
                         this.addLoading = true;
                         this.http.post(this.port.project.addProject, {
                             projectName: this.addForm.projectName,
-                            customerCompany: this.addForm.customerCompany.id,
-                            customerCompanyName: this.addForm.customerCompany.companyName,
-                            chargerId: this.addForm.charger.id,
-                            charger: this.addForm.charger.username,
-                            userIds: userIds,
+                            customerCompanyIds: cId,
+                            customerCompanyNames: cName,
+                            managerName: this.addForm.managerId.username,
+                            managerId: this.addForm.managerId.id,
+                            // userIds: userIds,
                             flag: 0
                         } , res => {
                             this.addLoading = false;
@@ -371,64 +334,24 @@
 			},
 
 			//删除
-			handleDel: function (index, row) {
-				this.$confirm('确认删除该记录吗?', '提示', {
-					type: 'warning'
-				}).then(() => {
-					this.listLoading = true;
-					let para = { id: row.id };
-					removeUser(para).then((res) => {
-						this.listLoading = false;
-						this.$message({
-							message: '删除成功',
-							type: 'success'
-						});
-						this.getProject();
-					});
-				}).catch(() => {
+			// handleDel: function (index, row) {
+			// 	this.$confirm('确认删除该记录吗?', '提示', {
+			// 		type: 'warning'
+			// 	}).then(() => {
+			// 		this.listLoading = true;
+			// 		let para = { id: row.id };
+			// 		removeUser(para).then((res) => {
+			// 			this.listLoading = false;
+			// 			this.$message({
+			// 				message: '删除成功',
+			// 				type: 'success'
+			// 			});
+			// 			this.getProject();
+			// 		});
+			// 	}).catch(() => {
 
-				});
-            },
-            
-			//显示编辑界面
-			handleEdit: function (index, row) {
-				this.editFormVisible = true;
-                this.editForm = Object.assign({}, row);
-                this.editForm = {
-                    id: row.id,
-					projectName: row.projectName,
-                    customerCompany: row.customerCompanyName,
-                    charger: row.charger,
-                    userA: [],
-                    userB: []
-				};
-			},
-			
-			//编辑
-			editSubmit: function () {
-				this.$refs.editForm.validate((valid) => {
-					if (valid) {
-						this.$confirm('确认提交吗?', '提示', {}).then(() => {
-							this.editLoading = true;
-							//NProgress.start();
-							let para = Object.assign({}, this.editForm);
-							para.birth = (!para.birth || para.birth == '') ? '' : util.formatDate.format(new Date(para.birth), 'yyyy-MM-dd');
-							editUser(para).then((res) => {
-								this.editLoading = false;
-								//NProgress.done();
-								this.$message({
-									message: '提交成功',
-									type: 'success'
-								});
-								this.$refs['editForm'].resetFields();
-								this.editFormVisible = false;
-								this.getProject();
-							});
-						});
-					}
-				});
-			}
-			
+			// 	});
+            // }
         },
         created() {
             let height = window.innerHeight;

+ 23 - 23
ys_vue/src/views/project/staff.vue

@@ -41,7 +41,7 @@
 			<el-table-column prop="companyName" label="公司" sortable></el-table-column>
             <el-table-column prop="roleName" label="角色" sortable></el-table-column>
 			<el-table-column label="操作" width="150">
-				<template slot-scope="scope">
+				<template slot-scope="scope" v-if="user.id == scope.row.parentId">
 					<el-button size="small" @click="handleEdit(scope.$index, scope.row)" v-if="scope.row.roleName != -1">编辑</el-button>
 					<el-button type="danger" size="small" @click="handleDel(scope.$index, scope.row)" v-if="scope.row.roleName != -1">删除</el-button>
 				</template>
@@ -73,19 +73,19 @@
 				<el-form-item label="联系方式" prop="mobile">
 					<el-input v-model="addForm.mobile" autocomplete="off" placeholder="请输入联系方式"></el-input>
 				</el-form-item>
-                <el-form-item label="类型" prop="teamName">
-					<el-select v-model="addForm.teamName" clearable filterable placeholder="请选择人员类型" style="width:202px">
+                <!-- <el-form-item label="类型" prop="teamName" v-if="user.parentId != 0">
+					<el-select v-model="addForm.teamName" clearable filterable placeholder="请选择人员类型" @change="choseComp(0)" style="width:202px">
                         <el-option v-for="item in team" :key="item.value" :label="item.label" :value="item.value">
                         </el-option>
                     </el-select>
-				</el-form-item>
-                <el-form-item label="公司" prop="companyId" v-if="addForm.teamName=='生产方'">
+				</el-form-item> -->
+                <el-form-item label="公司" prop="companyId">
 					<el-select v-model="addForm.companyId" clearable filterable placeholder="请选择所属公司" style="width:202px">
                         <el-option v-for="item in company" :key="item.id" :label="item.companyName" :value="item.id">
                         </el-option>
                     </el-select>
 				</el-form-item>
-				<el-form-item label="角色" prop="roleName">
+                <el-form-item label="角色" prop="roleName">
                     <el-input v-model="addForm.roleName" autocomplete="off" placeholder="请输入角色名称"></el-input>
 				</el-form-item>
 			</el-form>
@@ -108,19 +108,19 @@
 				<el-form-item label="联系方式" prop="mobile">
 					<el-input v-model="editForm.mobile" autocomplete="off" placeholder="请输入联系方式"></el-input>
 				</el-form-item>
-                <el-form-item label="类型" prop="teamName">
-					<el-select v-model="editForm.teamName" clearable filterable placeholder="请选择人员类型" style="width:202px">
+                <!-- <el-form-item label="类型" prop="teamName" v-if="user.parentId != 0">
+					<el-select v-model="editForm.teamName" clearable filterable placeholder="请选择人员类型" @change="choseComp(1)" style="width:202px">
                         <el-option v-for="item in team" :key="item.value" :label="item.label" :value="item.value">
                         </el-option>
                     </el-select>
-				</el-form-item>
-                <el-form-item label="公司" prop="companyId" v-if="addForm.teamName=='生产方'">
+				</el-form-item> -->
+                <el-form-item label="公司" prop="companyId">
 					<el-select v-model="editForm.companyId" clearable filterable placeholder="请选择所属公司" style="width:202px">
                         <el-option v-for="item in company" :key="item.id" :label="item.companyName" :value="item.id">
                         </el-option>
                     </el-select>
 				</el-form-item>
-				<el-form-item label="角色" prop="roleName">
+                <el-form-item label="角色" prop="roleName">
                     <el-input v-model="editForm.roleName" autocomplete="off" placeholder="请输入角色名称"></el-input>
 				</el-form-item>
 			</el-form>
@@ -135,7 +135,6 @@
 
 <script>
 	import util from '../../common/js/util'
-	import { getUserListPage, removeUser, batchRemoveUser, editUser, addUser } from '../../api/api';
 
 	export default {
 		data() {
@@ -159,10 +158,9 @@
                     companyId: ''
                 },
                 
-                team: [{label:'资产方',value:'资产方'},{label:'生产方',value:'生产方'}],
+                user: JSON.parse(sessionStorage.getItem('user')),
+                team: [{label:'资产方',value:0},{label:'生产方',value:1}],
                 company: [],
-                // role: [],
-                // roles:[],
 
 				list: [],
 				total: 0,
@@ -179,7 +177,6 @@
 						{ required: true, message: '请输入用户名', trigger: 'blur' }
                     ],
                     mobile: [
-                        // { required: true, message: '请输入联系方式', trigger: 'blur' },
                         { required: true, validator: checkPhone, trigger: 'blur'}
                     ],
                     teamName: [
@@ -201,7 +198,7 @@
 					username: '',
                     account: '',
                     mobile: '',
-                    teamName: '',
+                    //teamName: '',
 					companyId: '',
                     roleName: '',
                     flag: 0
@@ -216,7 +213,7 @@
 					username: '',
                     account: '',
                     mobile: '',
-                    teamName: '',
+                    // teamName: '',
 					companyId: '',
                     roleName: '',
                     flag: 1
@@ -226,7 +223,10 @@
 		methods: {
             // 获取基础数据
             getMsg(){
-                this.http.post(this.port.base.companys, {}, res => {
+                this.http.post(this.port.base.companys, {
+                    parentId: this.user.parentId,
+                    id: this.user.id
+                }, res => {
                     if (res.code == "ok") {
                         this.company = res.data;
                     } else {
@@ -287,11 +287,11 @@
 			handleAdd: function () {
                 this.addFormVisible = true;
 				this.addForm = {
-                    parentId: JSON.parse(sessionStorage.getItem('user')).id,
+                    parentId: this.user.id,
 					username: '',
                     account: '',
                     mobile: '',
-                    teamName: '',
+                    // teamName: '',
 					companyId: '',
                     roleName: '',
                     flag: 0
@@ -364,11 +364,11 @@
                 this.editFormVisible = true;
 				this.editForm = {
                     id: row.id,
-                    parentId: JSON.parse(sessionStorage.getItem('user')).id,
+                    parentId: this.user.id,
 					username: row.username,
                     account: row.account,
                     mobile: row.mobile,
-                    teamName: row.teamName,
+                    // teamName: row.teamName,
 					companyId: row.companyId,
                     roleName: row.roleName,
                     flag: 1