From 3ca8ce266bf5b06556d80c78b31405e7a54aa4e5 Mon Sep 17 00:00:00 2001 From: jinlin <jinlin> Date: 星期一, 24 六月 2024 11:01:13 +0800 Subject: [PATCH] 修改 --- modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/model/OperatCondit.java | 4 modules/mainPart/src/main/java/com/zt/life/modules/mainPart/sysPictureBase/service/SysPictureBaseService.java | 3 web/src/views/modules/taskReliability/OperatCondit.vue | 26 + web/src/views/modules/basicInfo/ParamData.vue | 4 web/src/views/modules/taskReliability/Task.vue | 62 +++ web/src/views/modules/taskReliability/OperatConditModel.vue | 9 modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/OperatConditModelService.java | 5 zt/common/src/main/java/com/zt/common/utils/TreeUtils2.java | 32 +- modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/dao/TaskBinoParamDao.java | 23 + modules/mainPart/src/main/resources/mapper/taskReliability/ModelRbdDao.xml | 4 web/src/views/modules/taskReliability/TaskPhaseModel.vue | 60 +++- modules/mainPart/src/main/resources/mapper/taskReliability/TaskPhaseModelDao.xml | 4 web/src/views/modules/taskReliability/TaskBinoParam.vue | 108 ++++++++ modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/TaskBinoParamService.java | 40 +++ modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/controller/TaskBinoParamController.java | 111 ++++++++ modules/mainPart/src/main/java/com/zt/life/modules/mainPart/sysPictureBase/controller/SysPictureBaseController.java | 2 modules/mainPart/src/main/java/com/zt/life/modules/mainPart/sysPictureBase/model/SysPictureBase.java | 6 modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/ModelRbdNodeService.java | 1 modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/dao/ModelRbdNodeDao.java | 1 zt/common/src/main/java/com/zt/common/entity/TreeNode2.java | 8 modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/model/TaskPhase.java | 4 modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/model/OperatConditModel.java | 11 modules/mainPart/src/main/resources/mapper/taskReliability/ModelRbdNodeDao.xml | 10 modules/mainPart/src/main/java/com/zt/life/modules/mainPart/basicInfo/model/ProductImg.java | 4 modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/model/TaskBinoParam.java | 66 +++++ modules/mainPart/src/main/resources/mapper/taskReliability/TaskBinoParamDao.xml | 65 +++++ web/src/views/modules/taskReliability/TaskPhase.vue | 53 +++ modules/mainPart/src/main/resources/mapper/taskReliability/OperatConditModelDao.xml | 9 modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/model/TaskPhaseModel.java | 4 modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/model/Task.java | 4 zt/common/src/main/java/com/zt/common/utils/TreeUtils.java | 1 web/src/views/modules/taskReliability/SimulatAssess.vue | 8 32 files changed, 646 insertions(+), 106 deletions(-) diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/basicInfo/model/ProductImg.java b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/basicInfo/model/ProductImg.java index 29b8691..accd905 100644 --- a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/basicInfo/model/ProductImg.java +++ b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/basicInfo/model/ProductImg.java @@ -30,11 +30,11 @@ @TableField(exist = false) private String nodeTypeExt; - @TableField(exist = false) +/* @TableField(exist = false) private int imgWidth; @TableField(exist = false) - private int imgHeight; + private int imgHeight;*/ @TableField(exist = false) private String dataId; @TableField(exist = false) diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/sysPictureBase/controller/SysPictureBaseController.java b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/sysPictureBase/controller/SysPictureBaseController.java index 29551dc..34a8351 100644 --- a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/sysPictureBase/controller/SysPictureBaseController.java +++ b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/sysPictureBase/controller/SysPictureBaseController.java @@ -73,7 +73,7 @@ } else { sysPictureBaseService.insert(sysPictureBase); } - if (sysPictureBase.getIsDefault() == 1) { + if (sysPictureBase.getIsDefault() == 1 && sysPictureBase.getProductType()!=20) { sysPictureBaseService.updateByDefault(sysPictureBase.getId(), sysPictureBase.getProductType()); sysPictureBaseService.updateProdeuctImg(sysPictureBase.getId(), sysPictureBase.getProductType(), null); } diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/sysPictureBase/model/SysPictureBase.java b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/sysPictureBase/model/SysPictureBase.java index 5781190..ae561b6 100644 --- a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/sysPictureBase/model/SysPictureBase.java +++ b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/sysPictureBase/model/SysPictureBase.java @@ -24,12 +24,6 @@ @ApiModelProperty(value = "鍥剧墖鍚嶇О") private String name; - @ApiModelProperty(value = "鍥剧墖瀹藉害") - private Integer width; - - @ApiModelProperty(value = "鍥剧墖楂樺害") - private Integer height; - @ApiModelProperty(value = "svg鍥剧墖") private String svgContent; diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/sysPictureBase/service/SysPictureBaseService.java b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/sysPictureBase/service/SysPictureBaseService.java index 4d1a738..0dfc771 100644 --- a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/sysPictureBase/service/SysPictureBaseService.java +++ b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/sysPictureBase/service/SysPictureBaseService.java @@ -21,9 +21,6 @@ */ @Service public class SysPictureBaseService extends BaseService<SysPictureBaseDao, SysPictureBase> { - - @Autowired - private SysOssService sysOssService; /** * 鍒嗛〉鏌ヨ * diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/controller/TaskBinoParamController.java b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/controller/TaskBinoParamController.java new file mode 100644 index 0000000..57cec2c --- /dev/null +++ b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/controller/TaskBinoParamController.java @@ -0,0 +1,111 @@ +package com.zt.life.modules.mainPart.taskReliability.controller; + + +import com.zt.common.annotation.LogOperation; +import com.zt.common.constant.Constant; +import com.zt.common.annotation.QueryParam; +import com.zt.common.db.query.QueryFilter; +import com.zt.common.servlet.Result; +import com.zt.common.servlet.PageResult; +import com.zt.common.validator.AssertUtils; +import com.zt.common.validator.ValidatorUtils; +import com.zt.common.validator.group.AddGroup; +import com.zt.common.validator.group.DefaultGroup; +import com.zt.common.validator.group.UpdateGroup; +import com.zt.life.modules.mainPart.taskReliability.model.TaskBinoParam; +import com.zt.life.modules.mainPart.taskReliability.model.TaskPhaseModel; +import com.zt.life.modules.mainPart.taskReliability.service.TaskBinoParamService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import springfox.documentation.annotations.ApiIgnore; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; + + +/** + * task_bino_param + * + * @author zt generator + * @since 1.0.0 2024-06-19 + */ +@RestController +@RequestMapping("/taskReliability/TaskBinoParam/") +@Api(tags="task_bino_param") +public class TaskBinoParamController { + @Autowired + private TaskBinoParamService taskBinoParamService; + + @GetMapping("page") + @ApiOperation("鍒嗛〉") + @ApiImplicitParams({ + @ApiImplicitParam(name = Constant.Q.PAGE, value = Constant.QV.PAGE, required = true, dataType = Constant.QT.INT), + @ApiImplicitParam(name = Constant.Q.LIMIT, value = Constant.QV.LIMIT, required = true, dataType = Constant.QT.INT), + @ApiImplicitParam(name = Constant.Q.ORDER_FIELD, value = Constant.QV.ORDER_FIELD, dataType = Constant.QT.STRING), + @ApiImplicitParam(name = Constant.Q.ORDER, value = Constant.QV.ORDER, dataType = Constant.QT.STRING), + @ApiImplicitParam(name = "taskId", value = "浠诲姟Id", dataType = Constant.QT.STRING), + }) + public PageResult<TaskBinoParam> page(@ApiIgnore @QueryParam QueryFilter queryFilter){ + + return PageResult.ok(taskBinoParamService.page(queryFilter)); + } + + @GetMapping("{id}") + @ApiOperation("淇℃伅") + public Result<TaskBinoParam> get(@PathVariable("id") Long id){ + TaskBinoParam data = taskBinoParamService.get(id); + + return Result.ok(data); + } + + @PostMapping("save") + public Result save(@RequestBody TaskBinoParam taskBinoParam) { + //鏁堥獙鏁版嵁 + for (TaskBinoParam param : taskBinoParam.getDataThreeList()) { + if (param.getId()!=null){ + taskBinoParamService.update(param); + }else{ + taskBinoParamService.insert(param); + } + } + return Result.ok(); + } + + @PostMapping + @ApiOperation("鏂板") + @LogOperation("鏂板") + public Result insert(@RequestBody TaskBinoParam taskBinoParam){ + //鏁堥獙鏁版嵁 + ValidatorUtils.validateEntity(taskBinoParam, AddGroup.class, DefaultGroup.class); + taskBinoParamService.insert(taskBinoParam); + + return Result.ok(); + } + + @PutMapping + @ApiOperation("淇敼") + @LogOperation("淇敼") + public Result update(@RequestBody TaskBinoParam taskBinoParam){ + //鏁堥獙鏁版嵁 + ValidatorUtils.validateEntity(taskBinoParam, UpdateGroup.class, DefaultGroup.class); + taskBinoParamService.update(taskBinoParam); + + return Result.ok(); + } + + @DeleteMapping + @ApiOperation("鍒犻櫎") + @LogOperation("鍒犻櫎") + public Result delete(@RequestBody Long[] ids){ + //鏁堥獙鏁版嵁 + AssertUtils.isArrayEmpty(ids, "id"); + taskBinoParamService.delete(ids); + + return Result.ok(); + } + +} diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/dao/ModelRbdNodeDao.java b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/dao/ModelRbdNodeDao.java index d7f6811..f255b3f 100644 --- a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/dao/ModelRbdNodeDao.java +++ b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/dao/ModelRbdNodeDao.java @@ -13,4 +13,5 @@ @Mapper public interface ModelRbdNodeDao extends BaseDao<ModelRbdNode> { + void deteleModelRbdNode(Long modelId); } diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/dao/TaskBinoParamDao.java b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/dao/TaskBinoParamDao.java new file mode 100644 index 0000000..075412c --- /dev/null +++ b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/dao/TaskBinoParamDao.java @@ -0,0 +1,23 @@ +package com.zt.life.modules.mainPart.taskReliability.dao; + +import com.zt.common.dao.BaseDao; +import com.zt.life.modules.mainPart.taskReliability.model.TaskBinoParam; +import org.apache.ibatis.annotations.Mapper; + + +import java.util.List; +import java.util.Map; + + +/** + * task_bino_param + * + * @author zt generator + * @since 1.0.0 2024-06-19 + */ +@Mapper +public interface TaskBinoParamDao extends BaseDao<TaskBinoParam> { + + List<TaskBinoParam> getList(Map<String, Object> params); + +} diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/model/OperatCondit.java b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/model/OperatCondit.java index 421c7d7..bf9d077 100644 --- a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/model/OperatCondit.java +++ b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/model/OperatCondit.java @@ -29,8 +29,4 @@ @ApiModelProperty(value = "澶囨敞") private String remark; - - @ApiModelProperty(value = "") - private Integer status; - } diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/model/OperatConditModel.java b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/model/OperatConditModel.java index 1ff22cb..f06ca16 100644 --- a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/model/OperatConditModel.java +++ b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/model/OperatConditModel.java @@ -5,6 +5,7 @@ import com.zt.common.constant.Constant; import com.zt.common.entity.BusiEntity; import com.zt.common.entity.TreeNode; +import com.zt.common.entity.TreeNode2; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -23,7 +24,7 @@ @Data @EqualsAndHashCode(callSuper=false) @TableName("operat_condit_model") -public class OperatConditModel extends BusiEntity implements TreeNode<OperatConditModel> { +public class OperatConditModel extends BusiEntity implements TreeNode2<OperatConditModel> { private static final long serialVersionUID = 1L; @ApiModelProperty(value = "宸ュ喌ID") @@ -35,11 +36,8 @@ @ApiModelProperty(value = "妯″瀷ID") private Long modelId; - @ApiModelProperty(value = "澶囨敞") - private String remark; - @TableField(exist = false) - private String product; + private String productName; @TableField(exist = false) private String modelName; @@ -60,4 +58,7 @@ @TableField(exist = false) private Long pid; + @TableField(exist = false) + private Long iid; + } diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/model/Task.java b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/model/Task.java index 2314a30..5ef6553 100644 --- a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/model/Task.java +++ b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/model/Task.java @@ -28,8 +28,8 @@ @ApiModelProperty(value = "浠诲姟鍚嶇О") private String taskName; - @ApiModelProperty(value = "浠诲姟椤哄簭") - private Integer taskSort; +/* @ApiModelProperty(value = "浠诲姟椤哄簭") + private Integer taskSort;*/ @ApiModelProperty(value = "澶囨敞") private String remark; diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/model/TaskBinoParam.java b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/model/TaskBinoParam.java new file mode 100644 index 0000000..cb65bb9 --- /dev/null +++ b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/model/TaskBinoParam.java @@ -0,0 +1,66 @@ +package com.zt.life.modules.mainPart.taskReliability.model; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.zt.common.entity.BusiEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; +import java.util.List; + +/** + * task_bino_param + * + * @author zt generator + * @since 1.0.0 2024-06-19 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("task_bino_param") +public class TaskBinoParam extends BusiEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "浠诲姟ID") + private Long taskId; + + + @ApiModelProperty(value = "闃舵id") + private Long phaseId; + + @TableField(exist = false) + private String phaseName; + + @ApiModelProperty(value = "宸ュ喌ID") + private Long operatConditId; + + @TableField(exist = false) + private String operatConditName; + + @TableField(exist = false) + private String productName; + + @ApiModelProperty(value = "妯″瀷Id") + private Long modelId; + + @ApiModelProperty(value = "浜у搧鑺傜偣ID") + private Long productId; + + @ApiModelProperty(value = "鎴愬姛鐜�") + private Double successRate; + + @ApiModelProperty(value = "浠跨湡娆℃暟") + private Integer simulatTimes; + + @ApiModelProperty(value = "鎴愬姛娆℃暟") + private Integer successTimes; + + @ApiModelProperty(value = "澶囨敞") + private String remark; + + @TableField(exist = false) + private List<TaskBinoParam> dataThreeList; + +} diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/model/TaskPhase.java b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/model/TaskPhase.java index 7ec9ee3..e16bd9f 100644 --- a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/model/TaskPhase.java +++ b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/model/TaskPhase.java @@ -28,17 +28,17 @@ @ApiModelProperty(value = "闃舵鏃堕暱姣�") private Double phaseDurationRate; +/* @ApiModelProperty(value = "闃舵鏃堕��") private Double phaseSpeed; @ApiModelProperty(value = "闃舵椤哄簭") private Integer phaseSort; +*/ @ApiModelProperty(value = "澶囨敞") private String remark; - @ApiModelProperty(value = "") - private Integer status; @TableField(exist = false) private Long productId; diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/model/TaskPhaseModel.java b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/model/TaskPhaseModel.java index cb6afb6..323c781 100644 --- a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/model/TaskPhaseModel.java +++ b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/model/TaskPhaseModel.java @@ -37,7 +37,7 @@ private String operatConditName; @ApiModelProperty(value = "宸ュ喌杩愯姣�") - private Double operatConditDurationRate; + private String operatConditDurationRate; @ApiModelProperty(value = "澶囨敞") private String remark; @@ -47,4 +47,6 @@ @TableField(exist = false) private String isCheck; + + } diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/ModelRbdNodeService.java b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/ModelRbdNodeService.java index 52f4b0e..d9ff88a 100644 --- a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/ModelRbdNodeService.java +++ b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/ModelRbdNodeService.java @@ -39,6 +39,7 @@ public class ModelRbdNodeService extends BaseService<ModelRbdNodeDao, ModelRbdNode> { public void saveNodeArr(ModelRbd modelRbd) { // + baseDao.deteleModelRbdNode(modelRbd.getId()); ModelRbdNode node = new ModelRbdNode(); node.setProductId(modelRbd.getProductId()); node.setModelId(modelRbd.getId()); diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/OperatConditModelService.java b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/OperatConditModelService.java index 06eda77..1ac7413 100644 --- a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/OperatConditModelService.java +++ b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/OperatConditModelService.java @@ -3,6 +3,7 @@ import com.alibaba.fastjson.JSON; import com.zt.common.service.BaseService; import com.zt.common.utils.TreeUtils; +import com.zt.common.utils.TreeUtils2; import com.zt.life.modules.mainPart.taskReliability.dao.OperatConditModelDao; import com.zt.life.modules.mainPart.taskReliability.model.ModelNodes; import com.zt.life.modules.mainPart.taskReliability.model.ModelRbd; @@ -34,10 +35,10 @@ public List<OperatConditModel> page(QueryFilter queryFilter) { List<OperatConditModel> list = baseDao.getList(queryFilter.getQueryParams()); for (OperatConditModel conditModel : list) { - List<ModelRbd> modelList = baseDao.getModelList(conditModel.getId()); + List<ModelRbd> modelList = baseDao.getModelList(conditModel.getProductId()); conditModel.setModelList(modelList); } - return TreeUtils.build(list); + return TreeUtils2.build(list); } diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/TaskBinoParamService.java b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/TaskBinoParamService.java new file mode 100644 index 0000000..7beb8dc --- /dev/null +++ b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/TaskBinoParamService.java @@ -0,0 +1,40 @@ +package com.zt.life.modules.mainPart.taskReliability.service; + +import com.zt.common.service.BaseService; +import com.zt.life.modules.mainPart.taskReliability.dao.TaskBinoParamDao; +import com.zt.life.modules.mainPart.taskReliability.model.TaskBinoParam; +import org.springframework.stereotype.Service; +import com.zt.common.db.query.QueryFilter; +import javax.annotation.Resource; +import java.util.List; + + +/** + * task_bino_param + * + * @author zt generator + * @since 1.0.0 2024-06-19 + */ +@Service +public class TaskBinoParamService extends BaseService<TaskBinoParamDao, TaskBinoParam> { + + /** + * 鍒嗛〉鏌ヨ + * + * @param queryFilter + * @return + */ + public List<TaskBinoParam> page(QueryFilter queryFilter) { + return baseDao.getList(queryFilter.getQueryParams()); + } + + /** + * 鍒犻櫎 + * + * @param ids + */ + public void delete(Long[] ids) { + super.deleteLogic(ids); + } + +} diff --git a/modules/mainPart/src/main/resources/mapper/taskReliability/ModelRbdDao.xml b/modules/mainPart/src/main/resources/mapper/taskReliability/ModelRbdDao.xml index 63fc4fa..5a1a366 100644 --- a/modules/mainPart/src/main/resources/mapper/taskReliability/ModelRbdDao.xml +++ b/modules/mainPart/src/main/resources/mapper/taskReliability/ModelRbdDao.xml @@ -7,14 +7,12 @@ select a.*, CASE WHEN b.end =1 THEN '宸插畬鎴�' - WHEN c.num >0 THEN '姝e湪缂栬緫' + WHEN a.content is not null THEN '姝e湪缂栬緫' ELSE '鏈紪杈�' END AS modelState, d.num as quoteNum from model_rbd a left join (select model_id,1 as end from algorithm where model_type = 'end' and is_delete=0 ) b on b.model_id = a.id - left join (select id, count(1) as num from model_rbd where is_delete=0 group by id ) c on c.id - = a.id left join (select model_id,count(1) as num from operat_condit_model where is_delete=0 group by model_id ) d on d.model_id = a.id <where> diff --git a/modules/mainPart/src/main/resources/mapper/taskReliability/ModelRbdNodeDao.xml b/modules/mainPart/src/main/resources/mapper/taskReliability/ModelRbdNodeDao.xml new file mode 100644 index 0000000..c8b08a4 --- /dev/null +++ b/modules/mainPart/src/main/resources/mapper/taskReliability/ModelRbdNodeDao.xml @@ -0,0 +1,10 @@ +<?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.zt.life.modules.mainPart.taskReliability.dao.ModelRbdNodeDao"> + <delete id="deteleModelRbdNode"> + delete + from model_rbd_node + where model_id = ${modelId} + </delete> +</mapper> diff --git a/modules/mainPart/src/main/resources/mapper/taskReliability/OperatConditModelDao.xml b/modules/mainPart/src/main/resources/mapper/taskReliability/OperatConditModelDao.xml index e6bc4e2..e2c4543 100644 --- a/modules/mainPart/src/main/resources/mapper/taskReliability/OperatConditModelDao.xml +++ b/modules/mainPart/src/main/resources/mapper/taskReliability/OperatConditModelDao.xml @@ -9,11 +9,12 @@ </delete> <select id="getList" resultType="com.zt.life.modules.mainPart.taskReliability.model.OperatConditModel"> - SELECT a.id, - a.pid, - a.`NAME` as product, - c.model_name, + SELECT b.id, + a.id as iid, a.id as product_id, + a.pid, + a.`NAME` as productName, + c.model_name, b.model_id, case when b.is_disabled is null or b.is_disabled = 1 then 1 else 0 end as is_disabled, ${operatConditId} as operatConditId diff --git a/modules/mainPart/src/main/resources/mapper/taskReliability/TaskBinoParamDao.xml b/modules/mainPart/src/main/resources/mapper/taskReliability/TaskBinoParamDao.xml new file mode 100644 index 0000000..94eee5f --- /dev/null +++ b/modules/mainPart/src/main/resources/mapper/taskReliability/TaskBinoParamDao.xml @@ -0,0 +1,65 @@ +<?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.zt.life.modules.mainPart.taskReliability.dao.TaskBinoParamDao"> + + <select id="getList" resultType="com.zt.life.modules.mainPart.taskReliability.model.TaskBinoParam"> + select a.task_id + , a.phase_id + , a.phase_name + , a.phase_sort + , a.operat_condit_id + , a.operat_condit_name + , a.model_id + , a.product_name + , a.product_id + , case + when b.success_rate is not null then b.success_rate + else a.task_mtbcf_regul_succ_rate end as success_rate + , b.id + , b.simulat_times + , b.success_times + from ( + SELECT a.task_id + , a.id as phase_id + , a.phase_name + , a.phase_sort + , b.operat_condit_id + , c.name as operat_condit_name + , d.model_id + , f.name as product_name + , f.id as product_id + , g.task_mtbcf_regul_succ_rate + FROM `task_phase` a + , task_phase_model b + , operat_condit c + , operat_condit_model d + , model_rbd_node e + , product_model f + , param_data g + where a.task_id = ${taskId} + and a.is_delete = 0 + and b.phase_id = a.id + and b.is_delete = 0 + and c.id = b.operat_condit_id + and c.is_delete = 0 + and d.operat_condit_id = c.id + and d.is_delete = 0 + and e.model_id = d.model_id + and e.is_delete = 0 + and f.id = e.node_id + and f.is_delete = 0 + and g.product_id = f.id + and g.is_delete = 0 + and g.reliab_distrib_type = 2 + ) a + left join task_bino_param b on + b.task_id = ${taskId} + and b.phase_id = a.phase_id + and b.operat_condit_id = a.operat_condit_id + and b.model_id = a.model_id + and b.product_id = a.product_id + order by a.phase_id, a.operat_condit_id, a.product_id + </select> + +</mapper> diff --git a/modules/mainPart/src/main/resources/mapper/taskReliability/TaskPhaseModelDao.xml b/modules/mainPart/src/main/resources/mapper/taskReliability/TaskPhaseModelDao.xml index ebf1303..d38b55a 100644 --- a/modules/mainPart/src/main/resources/mapper/taskReliability/TaskPhaseModelDao.xml +++ b/modules/mainPart/src/main/resources/mapper/taskReliability/TaskPhaseModelDao.xml @@ -9,8 +9,8 @@ , a.NAME as operatConditName , a.id as operatConditId , case - when b.id is null then 0 - else 1 end as isCheck + when b.operat_condit_duration_rate >'0' then 1 + else 0 end as isCheck FROM operat_condit a left join task_phase_model b on a.id = b.operat_condit_id and b.is_delete = 0 and b.phase_id = ${phaseId} diff --git a/web/src/views/modules/basicInfo/ParamData.vue b/web/src/views/modules/basicInfo/ParamData.vue index ecf9669..052c79d 100644 --- a/web/src/views/modules/basicInfo/ParamData.vue +++ b/web/src/views/modules/basicInfo/ParamData.vue @@ -219,7 +219,7 @@ </template> </el-table-column> <!-- <zt-table-column-dict prop="repairDistribType" :keys="24" label="缁翠慨鍒嗗竷绫诲瀷" width="140" dict="RepairDistribType"/>--> - <el-table-column prop="repairDistribType" label="缁翠慨鍒嗗竷绫诲瀷" :key="24" width="140"> + <el-table-column prop="repairDistribType" label="缁翠慨鍒嗗竷绫诲瀷" :key="24" width="100"> <template v-slot="{ row }"> <el-select v-if="row.isEdit" v-model="row.repairDistribType" placeholder="璇烽�夋嫨"> @@ -240,7 +240,7 @@ <span v-else v-text="scope.row.repairMttcr"></span> </template> </el-table-column> - <el-table-column prop="repairMttcrOtherParams" :key="26" label="MTTCR鍏朵粬鍙傛暟" width="180"> + <el-table-column prop="repairMttcrOtherParams" :key="26" label="MTTCR鍏朵粬鍙傛暟" width="120"> <template slot-scope="scope"> <el-input v-if="scope.row.isEdit" v-model="scope.row.repairMttcrOtherParams"></el-input> <span v-else v-text="scope.row.repairMttcrOtherParams"></span> diff --git a/web/src/views/modules/taskReliability/OperatCondit.vue b/web/src/views/modules/taskReliability/OperatCondit.vue index 4bd53e3..9004898 100644 --- a/web/src/views/modules/taskReliability/OperatCondit.vue +++ b/web/src/views/modules/taskReliability/OperatCondit.vue @@ -19,13 +19,13 @@ </el-form-item> </el-form> <el-table v-loading="table.dataLoading" :data="table.dataList" height="100px" - :highlight-current-row="isSelect" + :row-class-name="tableRowClassName" v-adaptive="{bottomOffset:70}" border @row-click="selectOperatCondit" @selection-change="table.selectionChangeHandle"> <el-table-column type="selection" width="40" align="center"/> <el-table-column prop="name" label="宸ュ喌鍚嶇О"/> <el-table-column prop="remark" label="澶囨敞" - / + /> <zt-table-column-handle :table="table" delete-perm="taskReliability::delete"/> </el-table> @@ -56,6 +56,7 @@ productId: '', }, isSelect: false, + currentId: '' } }, mounted() { @@ -80,6 +81,11 @@ console.log(this.productList, ' async getTaskProductList()') }, selectOperatCondit(row) { + if (this.$refs.model.isChange) { + this.$alert("鏈夋湭淇濆瓨鐨勫伐鍐垫ā鍨�") + return; + } + this.currentId = row.id this.$emit('selectOperatCondit', row) let param = { row: row, @@ -87,6 +93,22 @@ } this.$refs.model.init(param) }, + tableRowClassName( + { + row, + rowIndex + }) { + if (row.id == this.currentId) { + return 'select-row'; + } else { + return 'not-select-row'; + } + } } } </script> +<style> + .el-table .select-row { + background: rgba(23, 179, 163, 0.2) !important; + } +</style> diff --git a/web/src/views/modules/taskReliability/OperatConditModel.vue b/web/src/views/modules/taskReliability/OperatConditModel.vue index a14565b..af60490 100644 --- a/web/src/views/modules/taskReliability/OperatConditModel.vue +++ b/web/src/views/modules/taskReliability/OperatConditModel.vue @@ -10,10 +10,10 @@ </el-form> <el-table v-loading="table.dataLoading" :data="table.dataList" height="100px" v-adaptive="{bottomOffset:70}" border @selection-change="table.selectionChangeHandle" - row-key="id" + row-key="iid" :tree-props="{children: 'children', hasChildren: 'hasChildren'}" :default-expand-all="true"> - <el-table-column prop="product" label="浜у搧鑺傜偣"/> + <el-table-column prop="productName" label="浜у搧鑺傜偣"/> <el-table-column prop="modelId" label="浜у搧妯″瀷"> <template slot-scope="scope"> <el-select v-model="scope.row.modelId" :disabled="scope.row.isDisabled == 1" placeholder="璇烽�夋嫨" @@ -42,16 +42,19 @@ <script> import RBDEditImg from './RBD-edit-img' + import cloneDeep from 'lodash/cloneDeep' export default { name: 'OperaConditModel', data() { return { dataForm: { + id: '', operatConditId: '', productId: '', }, mapModelNodes: {}, + modelList: [], dialogVisible2: false, isChange: false, } @@ -94,7 +97,7 @@ } }, - modelChanged(row){ + modelChanged(row) { this.isChange = true this.modelChangedProess(row) }, diff --git a/web/src/views/modules/taskReliability/SimulatAssess.vue b/web/src/views/modules/taskReliability/SimulatAssess.vue index 071c3f7..327cb12 100644 --- a/web/src/views/modules/taskReliability/SimulatAssess.vue +++ b/web/src/views/modules/taskReliability/SimulatAssess.vue @@ -11,11 +11,11 @@ <zt-form-item label="鎬讳綋浠诲姟" prop="task"> <zt-select v-model="dataForm.task" :datas="taskList" @change="onTaskSelected"/> </zt-form-item> - <zt-form-item label="浠诲姟鏃堕暱" prop="simulatTime"> + <!-- <zt-form-item label="浠诲姟鏃堕暱" prop="simulatTime"> <el-input type="number" :min="1" v-model="dataForm.simulatTime"> <template slot="append">灏忔椂</template> </el-input> - </zt-form-item> + </zt-form-item>--> <zt-form-item label="鏁版嵁绫诲瀷" prop="dataType"> <zt-dict v-model="dataForm.dataType" dict="dataType"></zt-dict> </zt-form-item> @@ -143,11 +143,11 @@ } .mod-taskReliability-simulatAssess .el-form-item__label { - line-height: calc((100vh - 175px) / 8); + line-height: calc((100vh - 175px) / 7); } .mod-taskReliability-simulatAssess .el-form-item__content { - line-height: calc((100vh - 175px) / 8); + line-height: calc((100vh - 175px) / 7); } .mod-taskReliability-simulatAssess .el-form-item__content > .el-input-group--append { diff --git a/web/src/views/modules/taskReliability/Task.vue b/web/src/views/modules/taskReliability/Task.vue index 634b2ce..fb627c9 100644 --- a/web/src/views/modules/taskReliability/Task.vue +++ b/web/src/views/modules/taskReliability/Task.vue @@ -3,32 +3,38 @@ <div style="margin: 10px 0"> <zt-select v-model="dataForm.productId" placeholder="璇烽�夋嫨浜у搧鑺傜偣" :datas="productList" @change="onProductSelected"/> </div> - <zt-table-wraper ref="tableObj" query-url="/taskReliability/Task/page" defaultNotQuery="true" :paging='false' delete-url="/taskReliability/Task/" + <zt-table-wraper ref="tableObj" query-url="/taskReliability/Task/page" defaultNotQuery="true" :paging='false' + delete-url="/taskReliability/Task/" v-slot="{ table }"> <el-form :inline="true" :model="dataForm" @keyup.enter.native="table.query()"> <el-form-item> - <zt-button v-if="dataForm.productId" type="add" @click="add()" /> + <zt-button v-if="dataForm.productId" type="add" @click="add()"/> <zt-button v-if="dataForm.productId" type="delete" @click="table.deleteHandle()"/> + <el-button v-if="dataForm.productId" type="primary" @click="openDialog()">浜岄」鍒嗗竷鍙傛暟</el-button> </el-form-item> </el-form> <el-table v-loading="table.dataLoading" :data="table.dataList" height="100px" v-adaptive="{bottomOffset:30}" + border + :row-class-name="tableRowClassName" @row-click="selectTask" @selection-change="table.selectionChangeHandle"> <el-table-column type="selection" width="40" align="center"/> - <el-table-column prop="taskName" label="浠诲姟鍚嶇О"/> + <el-table-column prop="taskName" label="浠诲姟鍚嶇О" align="center"/> <!--<el-table-column prop="taskSort" label="浠诲姟椤哄簭" align="center"/>--> - <el-table-column prop="taskDuration" label="浠诲姟鎬绘椂闀�" align="right"/> + <el-table-column prop="taskDuration" label="浠诲姟鎬绘椂闀�" align="right" width="120"/> <zt-table-column-handle :table="table" delete-perm="taskReliability::delete"/> </el-table> <!-- 寮圭獥, 鏂板 / 淇敼 --> <add-or-update @refreshDataList="table.query" ref="AddOrUpdate"/> + <task-bino-param ref="taskBinoParam"></task-bino-param> </zt-table-wraper> </div> </template> <script> import AddOrUpdate from './Task-AddOrUpdate' + import TaskBinoParam from "./TaskBinoParam"; export default { name: 'Task', @@ -36,37 +42,69 @@ return { productList: [], dataForm: { - id:'', + id: '', productId: '' - } + }, + currentId: '', + isChange: '' } }, components: { + TaskBinoParam, AddOrUpdate }, mounted() { this.getTaskProductList() }, methods: { - init() { - + init(isChange) { + this.isChange = isChange }, add() { - this.$refs.AddOrUpdate.$refs.dialog.init(null,{productId: this.dataForm.productId}) + this.$refs.AddOrUpdate.$refs.dialog.init(null, {productId: this.dataForm.productId}) }, - selectTask(row){ - this.$emit('onTaskSelected',row) + openDialog() { + if (this.dataForm.id) { + this.$refs.taskBinoParam.$refs.dialog.init(null, {taskId: this.dataForm.id}) + } else { + this.$alert("璇烽�夋嫨鍏蜂綋浠诲姟") + } + }, + selectTask(row) { + this.dataForm.id = row.id + this.$emit('onTaskSelected', row) + console.log(this.isChange, 'isChange') + if (this.isChange) { + } else { + this.currentId = row.id + } }, async getTaskProductList() { let res = await this.$http.get('/basicInfo/XhProductModel/getTaskProductList') this.productList = res.data console.log(this.productList, ' async getTaskProductList()') }, - onProductSelected(data){ + onProductSelected(data) { console.log(data, ' onProductSelected(data)') this.dataForm.productId = data.id this.$refs.tableObj.query() + }, + tableRowClassName( + { + row, + rowIndex + }) { + if (row.id == this.currentId) { + return 'select-row'; + } else { + return 'not-select-row'; + } } } } </script> +<style> + .el-table .select-row { + background: rgba(23, 179, 163, 0.2) !important; + } +</style> diff --git a/web/src/views/modules/taskReliability/TaskBinoParam.vue b/web/src/views/modules/taskReliability/TaskBinoParam.vue new file mode 100644 index 0000000..95b49a5 --- /dev/null +++ b/web/src/views/modules/taskReliability/TaskBinoParam.vue @@ -0,0 +1,108 @@ +<template> + <zt-dialog ref="dialog" column="1" title="浜岄」鍙傛暟" append-to-body :editAble="false" :hasConfirm="false"> + <zt-table-wraper ref="tableObj" query-url="/taskReliability/TaskBinoParam/page" delete-url="/taskReliability/TaskBinoParam" + v-slot="{ table }"> + <el-form :inline="true" :model="dataForm" @keyup.enter.native="table.query()"> + <el-form-item> + <!-- <zt-button type="query" @click="table.query()"/> + <zt-button type="add" perm="taskReliability:add" @click="table.editHandle()"/> + <zt-button type="delete" perm="taskReliability:delete" @click="table.deleteHandle()"/>--> + <zt-button type="primary" @click="handleSaveRows">淇濆瓨</zt-button> + </el-form-item> + </el-form> + <el-table v-loading="table.dataLoading" :data="table.dataList" height="300" + border @selection-change="table.selectionChangeHandle" @cell-click="handleCellClick"> + <!-- <el-table-column type="selection" width="40"/>--> + <el-table-column prop="phaseName" label="闃舵" align="center"/> + <el-table-column prop="operatConditName" label="宸ュ喌" align="center"/> + <el-table-column prop="productName" label="浜岄」鍒嗗竷璁惧" align="center"/> + <el-table-column prop="successRate" label="鎴愬姛鐜�" align="right"> + <template slot-scope="scope"> + <span + v-if="editingCell && editingCell.row === scope.row && editingCell.column.property === scope.column.property"> + <el-input ref="editInput" + autosize v-model="scope.row.successRate" + placeholder="鎴愬姛鐜�"></el-input> + </span> + <span v-else>{{scope.row.successRate}}</span> + </template> + </el-table-column> + <el-table-column prop="simulatTimes" label="浠跨湡娆℃暟" align="center"> + <template slot-scope="scope"> + <span + v-if="editingCell && editingCell.row === scope.row && editingCell.column.property === scope.column.property"> + <el-input ref="editInput" + autosize v-model="scope.row.simulatTimes" + placeholder="浠跨湡娆℃暟"></el-input> + </span> + <span v-else>{{scope.row.simulatTimes}}</span> + </template> + </el-table-column> + <el-table-column prop="successTimes" label="鎴愬姛娆℃暟" align="center"> + <template slot-scope="scope"> + <span + v-if="editingCell && editingCell.row === scope.row && editingCell.column.property === scope.column.property"> + <el-input ref="editInput" + autosize v-model="scope.row.successTimes" + placeholder="鎴愬姛娆℃暟"></el-input> + </span> + <span v-else>{{scope.row.successTimes}}</span> + </template> + </el-table-column> + </el-table> + </zt-table-wraper> + </zt-dialog> +</template> + +<script> + import cloneDeep from "lodash/cloneDeep"; + + export default { + name: 'taskBinoParam', + data() { + return { + dataForm: { + id: '', + taskId: '', + successRate: '', + simulatTimes: '', + successTimes: '', + dataThreeList:[] + }, + editingCell: null, + dataList: [], + originalTableData: [], + originalData: null, + } + }, + components: {}, + methods: { + init(id, row) { + this.dataForm.taskId = row.taskId + }, + async handleSaveRows() { + this.dataForm.dataThreeList = this.$refs.tableObj.dataList + console.log(this.dataForm, 'this.dataForm this.dataForm') + let res = await this.$http.post('/taskReliability/TaskBinoParam/save', this.dataForm) + if (res.success) { + console.log(res.data) + await this.$tip.success() + this.originalData = null + this.dataForm.dataThreeList = null + this.$refs.tableObj.query() + this.originalTableData = JSON.parse(JSON.stringify(this.dataList)); // 鏇存柊鍒濆鏁版嵁涓哄綋鍓嶆暟鎹� + console.log(this.originalTableData, 'this.originalTableData 褰撳墠琛ㄦ牸json鏁版嵁') + } + }, + handleCellClick(row, column) { + this.editingCell = {row, column} + this.$nextTick(() => { + if (this.$refs.editInput) { + this.$refs.editInput.focus() + } + }) + console.log(this.editingCell, 'this.editingCell') + }, + } + } +</script> diff --git a/web/src/views/modules/taskReliability/TaskPhase.vue b/web/src/views/modules/taskReliability/TaskPhase.vue index 2b5692f..b2915f7 100644 --- a/web/src/views/modules/taskReliability/TaskPhase.vue +++ b/web/src/views/modules/taskReliability/TaskPhase.vue @@ -18,19 +18,20 @@ <zt-button v-if="dataForm.taskId" type="delete" @click="table.deleteHandle()"/> </el-form-item> </el-form> - <el-table v-loading="table.dataLoading" :data="table.dataList" height="100px" v-adaptive="{bottomOffset:30}" - + <el-table v-loading="table.dataLoading" :data="table.dataList" height="100px" v-adaptive="{bottomOffset:30}" border + :row-class-name="tableRowClassName" @row-click="selectPhase" @selection-change="table.selectionChangeHandle"> <el-table-column type="selection" width="40" align="center"/> <el-table-column prop="phaseName" label="闃舵鍚嶇О" align="center"/> - <el-table-column prop="phaseDurationRate" label="闃舵鏃堕暱姣�" align="right"/> - <!-- <el-table-column prop="phaseSpeed" label="闃舵鏃堕��" align="right"/>--> + <el-table-column prop="phaseDurationRate" label="闃舵鏃堕暱姣�" align="right" width="120"/> + <el-table-column prop="remark" label="澶囨敞" align="right" width="200"/> + <!-- <el-table-column prop="phaseSpeed" label="闃舵鏃堕��" align="right"/>--> <!--<el-table-column prop="phaseSort" label="闃舵椤哄簭" align="center"/>--> <!--<el-table-column prop="operatConditDuration" label="宸ュ喌鏃堕暱鍒嗛厤" align="center"/>--> <zt-table-column-handle :table="table" edit-perm="testReviewComment:update" delete-perm="taskReliability::delete"> <template v-slot="{row}"> - <zt-table-button type="primary" @click="openEditWin(row)">淇敼</zt-table-button> + <zt-table-button type="primary" @click="openEditWin(row)">淇敼</zt-table-button> </template> </zt-table-column-handle> </el-table> @@ -55,12 +56,14 @@ data() { return { dataForm: { - id:'', + id: '', taskId: '', productId: '' }, dataList: [], - time: null + time: null, + currentId: '', + isChange: '' } }, components: { @@ -69,7 +72,7 @@ AddOrUpdate }, methods: { - refreshData(){ + refreshData() { this.$refs.tableObj.query() this.$refs.task.$refs.tableObj.query() }, @@ -89,7 +92,7 @@ time: this.time }) }, - openEditWin(row){ + openEditWin(row) { console.log(row) this.$refs.AddOrUpdate.$refs.dialog.init(row.id, { taskId: this.dataForm.taskId, @@ -98,11 +101,27 @@ }) }, onTaskSelected(row) { + this.isChange = this.$refs.model.isChange + this.$refs.task.init(this.isChange) + if (this.isChange) { + this.$alert("鏈夋湭淇濆瓨鐨勫伐鍐垫ā鍨�") + return; + } this.dataForm.taskId = row.id this.dataForm.productId = row.productId this.$refs.tableObj.query() + let param = { + row: {id: 0}, + productId: 0 + } + this.$refs.model.init(param) }, selectPhase(row) { + if (this.$refs.model.isChange) { + this.$alert("鏈夋湭淇濆瓨鐨勫伐鍐垫ā鍨�") + return; + } + this.currentId = row.id this.$emit('selectPhase', row) let param = { row: row, @@ -110,6 +129,22 @@ } this.$refs.model.init(param) }, + tableRowClassName( + { + row, + rowIndex + }) { + if (row.id == this.currentId) { + return 'select-row'; + } else { + return 'not-select-row'; + } + } } } </script> +<style> + .el-table .select-row { + background: rgba(23, 179, 163, 0.2) !important; + } +</style> diff --git a/web/src/views/modules/taskReliability/TaskPhaseModel.vue b/web/src/views/modules/taskReliability/TaskPhaseModel.vue index 516193a..19dfd04 100644 --- a/web/src/views/modules/taskReliability/TaskPhaseModel.vue +++ b/web/src/views/modules/taskReliability/TaskPhaseModel.vue @@ -13,21 +13,21 @@ v-adaptive="{bottomOffset:30}" border @cell-click="handleCellClick" @selection-change="table.selectionChangeHandle"> - <el-table-column prop="operatConditName" label="宸ュ喌鍚嶇О" width="100"/> - <el-table-column prop="operatConditDurationRate" label="宸ュ喌鏃堕暱姣�" align="right" width="160"> + <el-table-column prop="operatConditName" label="宸ュ喌鍚嶇О" width="140" align="center"/> + <el-table-column prop="operatConditDurationRate" label="宸ュ喌鏃堕暱姣�" align="right" width="120"> <template slot-scope="scope"> <span v-if="editingCell && editingCell.row === scope.row && editingCell.column.property === scope.column.property"> <el-input ref="editInput" autosize v-model="scope.row.operatConditDurationRate" - placeholder="宸ュ喌鏃堕暱姣�"></el-input> + placeholder="宸ュ喌鏃堕暱姣�" @input="change()"></el-input> </span> <span v-else>{{scope.row.operatConditDurationRate}}</span> </template> </el-table-column> <el-table-column align="center" label="閫夌敤"> <template v-slot="{ row }"> - <el-checkbox true-label="1" false-label="0" v-model="row.isCheck"></el-checkbox> + <el-checkbox true-label="1" false-label="0" v-model="row.isCheck" @change="change"></el-checkbox> </template> </el-table-column> </el-table> @@ -36,6 +36,7 @@ </template> <script> + import cloneDeep from 'lodash/cloneDeep' export default { name: 'TaskPhaseModel', @@ -48,8 +49,11 @@ operatConditId: '', operatConditDurationRate: '', dataList: [], - isCheck: '' + isCheck: '', + dataThreeList:[] }, + lastSaveData: [], + isChange: false, editingCell: null, dataList: [], originalTableData: [], @@ -66,7 +70,6 @@ }, //鎵归噺淇濆瓨 async handleSaveRows() { - let time = null let operatConditDurationRate = null let flag = true let list = [] @@ -75,21 +78,20 @@ for (let i = 0; i < this.dataForm.dataThreeList.length; i++) { operatConditDurationRate = this.dataForm.dataThreeList[i].operatConditDurationRate console.log(operatConditDurationRate) + if (this.dataForm.dataThreeList[i].operatConditDurationRate == null) + this.dataForm.dataThreeList[i].operatConditDurationRate = '0' + if (this.dataForm.dataThreeList[i].isCheck === '0') + this.dataForm.dataThreeList[i].operatConditDurationRate = '0' if (String(operatConditDurationRate).match(reg) == null && operatConditDurationRate !== null) { this.$alert("杈撳叆鐨勬暟鎹牸寮忔湁璇�") flag = false } - time = time + Number(this.dataForm.dataThreeList[i].operatConditDurationRate) - if (this.dataForm.dataThreeList[i].isCheck === '0' && this.dataForm.dataThreeList[i].operatConditDurationRate != null) { - this.$alert("鏈夋湭鍕鹃�夌殑宸ュ喌") - flag = false - } else if (this.dataForm.dataThreeList[i].isCheck === '1' && this.dataForm.dataThreeList[i].operatConditDurationRate == null) { + // time = time + Number(this.dataForm.dataThreeList[i].operatConditDurationRate) + if (this.dataForm.dataThreeList[i].isCheck === '1' && (this.dataForm.dataThreeList[i].operatConditDurationRate == null || this.dataForm.dataThreeList[i].operatConditDurationRate == 0)) { this.$alert("鏈夋湭濉啓鐨勫伐鍐垫椂闀�") flag = false } - if (this.dataForm.dataThreeList[i].isCheck === '1') { - list.push(this.dataForm.dataThreeList[i]) - } + list.push(this.dataForm.dataThreeList[i]) } this.dataForm.dataThreeList = list /*console.log(time, 'async handleSaveRows') @@ -102,6 +104,8 @@ } let res = await this.$http.post('/taskReliability/TaskPhaseModel/save', this.dataForm) if (res.success) { + this.isChange = false; + this.lastSaveData = cloneDeep(list) console.log(res.data) await this.$tip.success() this.originalData = null @@ -118,6 +122,8 @@ this.dataList[i].productId = this.dataForm.productId this.dataList[i].phaseId = this.dataForm.phaseId } + this.lastSaveData = cloneDeep(this.$refs.tableObj.dataList) + console.log(this.lastSaveData) }, handleCellClick(row, column) { this.editingCell = {row, column} @@ -127,8 +133,30 @@ } }) console.log(this.editingCell, 'this.editingCell') - } - , + }, + change() { + console.log(this.$refs.tableObj.dataList, "this.$refs.tableObj.dataList") + console.log(this.lastSaveData, "this.lastSaveData") + + let r = JSON.stringify(this.$refs.tableObj.dataList); + let l = JSON.stringify(this.lastSaveData); + console.log(r,'this.$refs.tableObj.dataList[i]') + console.log(l,'this.lastSaveData[i]') + if (r!==l){ + this.isChange = true + return + } + /* for (let i = 0; i < this.$refs.tableObj.dataList.length; i++) { + if (this.$refs.tableObj.dataList[i] != this.lastSaveData[i]) { + console.log(i,'no') + console.log(this.$refs.tableObj.dataList[i],'this.$refs.tableObj.dataList[i]') + console.log(this.lastSaveData[i],'this.lastSaveData[i]') + this.isChange = true + return + } + }*/ + this.isChange = false + }, } } diff --git a/zt/common/src/main/java/com/zt/common/entity/TreeNode2.java b/zt/common/src/main/java/com/zt/common/entity/TreeNode2.java index d7652f1..6539cac 100644 --- a/zt/common/src/main/java/com/zt/common/entity/TreeNode2.java +++ b/zt/common/src/main/java/com/zt/common/entity/TreeNode2.java @@ -19,13 +19,13 @@ */ public interface TreeNode2<T> extends Serializable { - String getId(); + Long getIid(); - void setId(String id); + void setIid(Long iid); - String getPid(); + Long getPid(); - void setPid(String pid); + void setPid(Long pid); List<T> getChildren(); diff --git a/zt/common/src/main/java/com/zt/common/utils/TreeUtils.java b/zt/common/src/main/java/com/zt/common/utils/TreeUtils.java index 3c93e95..a75bf5a 100644 --- a/zt/common/src/main/java/com/zt/common/utils/TreeUtils.java +++ b/zt/common/src/main/java/com/zt/common/utils/TreeUtils.java @@ -5,7 +5,6 @@ import com.zt.common.exception.ErrorCode; import com.zt.common.exception.RenException; import com.zt.common.validator.AssertUtils; -import com.zt.core.sys.model.SysDept; import java.lang.reflect.Field; import java.util.ArrayList; diff --git a/zt/common/src/main/java/com/zt/common/utils/TreeUtils2.java b/zt/common/src/main/java/com/zt/common/utils/TreeUtils2.java index 64a8f34..b277660 100644 --- a/zt/common/src/main/java/com/zt/common/utils/TreeUtils2.java +++ b/zt/common/src/main/java/com/zt/common/utils/TreeUtils2.java @@ -43,7 +43,7 @@ */ private static <T extends TreeNode2> T findChildren(List<T> treeNodes, T rootNode) { for (T treeNode : treeNodes) { - if (rootNode.getId().equals(treeNode.getPid())) { + if (rootNode.getIid().equals(treeNode.getPid())) { rootNode.getChildren().add(findChildren(treeNodes, treeNode)); } } @@ -57,14 +57,14 @@ List<T> result = new ArrayList<>(); // list杞琺ap - Map<String, T> nodeMap = new LinkedHashMap<>(treeNodes.size()); + Map<Long, T> nodeMap = new LinkedHashMap<>(treeNodes.size()); for (T treeNode : treeNodes) { - nodeMap.put(treeNode.getId(), treeNode); + nodeMap.put(treeNode.getIid(), treeNode); } for (T node : nodeMap.values()) { T parent = nodeMap.get(node.getPid()); - if (parent != null && !(node.getId().equals(parent.getId()))) { + if (parent != null && !(node.getIid().equals(parent.getIid()))) { parent.getChildren().add(node); continue; } @@ -153,7 +153,7 @@ * @return */ public static <T extends TreeNode2> List<T> getAncestor(List<T> allNodes, Long id) { - Map<String, T> map = allNodes.stream().collect(Collectors.toMap(dept -> dept.getId(), dept -> dept)); + Map<Long, T> map = allNodes.stream().collect(Collectors.toMap(item -> item.getIid(), item -> item)); List<T> list = new ArrayList<>(); TreeNode2 node = map.get(id); if (node != null) { @@ -167,7 +167,7 @@ } public static <T extends TreeNode2> T getTreeRoot(List<T> allNodes, Long id, Long rootParentId) { - Map<String, T> map = allNodes.stream().collect(Collectors.toMap(type -> type.getId(), type -> type)); + Map<Long, T> map = allNodes.stream().collect(Collectors.toMap(type -> type.getIid(), type -> type)); T parent = map.get(id); while (parent != null) { if (rootParentId.equals(parent.getPid())) { @@ -191,10 +191,10 @@ if (id == 0) { list.addAll(allNodes); } else { - if (allNodes.stream().filter(n -> n.getId().equals(id)).count() > 0) { - T node = allNodes.stream().filter(n -> n.getId().equals(id)).findFirst().get(); + if (allNodes.stream().filter(n -> n.getIid().equals(id)).count() > 0) { + T node = allNodes.stream().filter(n -> n.getIid().equals(id)).findFirst().get(); list.add(node); - queryChildrenDepartmentRecursion((List<TreeNode2>) list, (List<TreeNode2>) allNodes, node.getId()); + queryChildrenDepartmentRecursion((List<TreeNode2>) list, (List<TreeNode2>) allNodes, node.getIid()); } } return list; @@ -207,7 +207,7 @@ * @param id * @return */ - public static <T extends TreeNode2> List<T> getDescendant(List<T> allNodes, String id) { + public static <T extends TreeNode2> List<T> getDescendant(List<T> allNodes, Long id) { List<T> list = new ArrayList<>(); queryChildrenDepartmentRecursion((List<TreeNode2>) list, (List<TreeNode2>) allNodes, id); return list; @@ -216,10 +216,10 @@ /** * 閫掑綊鏌ヨ瀛愯妭鐐� */ - private static void queryChildrenDepartmentRecursion(List<TreeNode2> list, List<TreeNode2> allNodes, String id) { + private static void queryChildrenDepartmentRecursion(List<TreeNode2> list, List<TreeNode2> allNodes, Long id) { for (TreeNode2 node : allNodes.stream().filter(n -> n.getPid().equals(id)).collect(Collectors.toList())) { list.add(node); - queryChildrenDepartmentRecursion(list, allNodes, node.getId()); + queryChildrenDepartmentRecursion(list, allNodes, node.getIid()); } } @@ -235,18 +235,18 @@ throw new RenException("鏌ヨ淇℃伅澶辫触"); } // 涓婄骇鑿滃崟涓嶈兘涓鸿嚜韬� - if (node.getId().equals(node.getPid())) { + if (node.getIid().equals(node.getPid())) { throw new RenException(ErrorCode.SUPERIOR_MENU_ERROR); } // 涓婄骇涓嶈兘涓轰笅绾� if (!dbNode.getPid().equals(node.getPid())) {// 灞傜骇鏀瑰彉浜� - if (node.getId().equals(node.getPid())) { + if (node.getIid().equals(node.getPid())) { throw new RenException("涓婄骇涓嶈兘璁剧疆涓哄叾鏈韩锛�"); } - List<T> list = TreeUtils2.getDescendant(allNodes, node.getId()); + List<T> list = TreeUtils2.getDescendant(allNodes, node.getIid()); for (T d : list) { - if (d.getId().equals(node.getPid())) { + if (d.getIid().equals(node.getPid())) { throw new RenException("涓婄骇涓嶈兘璁剧疆涓哄叾涓嬬骇锛�"); } } -- Gitblit v1.9.1