零件进程管理
This commit is contained in:
parent
c60a522230
commit
605dbfd5ca
@ -1,5 +1,6 @@
|
|||||||
package com.chanko.yunxi.mes.module.heli.controller.admin.plansubdetail;
|
package com.chanko.yunxi.mes.module.heli.controller.admin.plansubdetail;
|
||||||
|
|
||||||
|
import com.chanko.yunxi.mes.module.heli.dal.dataobject.taskdispatch.TaskDispatchDetailDO;
|
||||||
import com.chanko.yunxi.mes.module.heli.service.plansub.PlanSubService;
|
import com.chanko.yunxi.mes.module.heli.service.plansub.PlanSubService;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
@ -159,4 +160,29 @@ public class PlanSubDetailController {
|
|||||||
public CommonResult<List<PlanSubDetailDO>> getList(@Valid PlanSubDetailPageReqVO pageReqVO) {
|
public CommonResult<List<PlanSubDetailDO>> getList(@Valid PlanSubDetailPageReqVO pageReqVO) {
|
||||||
return success( planSubDetailService.getList(pageReqVO));
|
return success( planSubDetailService.getList(pageReqVO));
|
||||||
}
|
}
|
||||||
|
@GetMapping("/getList1")
|
||||||
|
@PreAuthorize("@ss.hasPermission('heli:plan-sub-detail:query')")
|
||||||
|
public CommonResult<List<PlanSubDetailDO>> getList1(@Valid PlanSubDetailPageReqVO pageReqVO) {
|
||||||
|
return success( planSubDetailService.getList1(pageReqVO));
|
||||||
|
}
|
||||||
|
@GetMapping("/getList2")
|
||||||
|
@PreAuthorize("@ss.hasPermission('heli:plan-sub-detail:query')")
|
||||||
|
public CommonResult<List<TaskDispatchDetailDO>> getList2(@Valid PlanSubDetailPageReqVO pageReqVO) {
|
||||||
|
return success( planSubDetailService.getList2(pageReqVO));
|
||||||
|
}
|
||||||
|
@GetMapping("/getList3")
|
||||||
|
@PreAuthorize("@ss.hasPermission('heli:plan-sub-detail:query')")
|
||||||
|
public CommonResult<List<TaskDispatchDetailDO>> getList3(@Valid PlanSubDetailPageReqVO pageReqVO) {
|
||||||
|
return success( planSubDetailService.getList3(pageReqVO));
|
||||||
|
}
|
||||||
|
@GetMapping("/getList4")
|
||||||
|
@PreAuthorize("@ss.hasPermission('heli:plan-sub-detail:query')")
|
||||||
|
public CommonResult<List<TaskDispatchDetailDO>> getList4(@Valid PlanSubDetailPageReqVO pageReqVO) {
|
||||||
|
return success( planSubDetailService.getList4(pageReqVO));
|
||||||
|
}
|
||||||
|
@GetMapping("/getList5")
|
||||||
|
@PreAuthorize("@ss.hasPermission('heli:plan-sub-detail:query')")
|
||||||
|
public CommonResult<List<TaskDispatchDetailDO>> getList5(@Valid PlanSubDetailPageReqVO pageReqVO) {
|
||||||
|
return success( planSubDetailService.getList5(pageReqVO));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -122,6 +122,7 @@ public class ProjectOrderController {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (ObjectUtil.isNotEmpty(operateReqVO.getProjectOrderSubs())){
|
||||||
Set<String> nameSimSet = new HashSet<>();
|
Set<String> nameSimSet = new HashSet<>();
|
||||||
for (ProjectOrderSubDO projectOrderSub : operateReqVO.getProjectOrderSubs()) {
|
for (ProjectOrderSubDO projectOrderSub : operateReqVO.getProjectOrderSubs()) {
|
||||||
String nameSim = projectOrderSub.getNameSim();
|
String nameSim = projectOrderSub.getNameSim();
|
||||||
@ -129,6 +130,7 @@ public class ProjectOrderController {
|
|||||||
return CommonResult.error(400,"该项目下子项目简码不能重复,请确认!");
|
return CommonResult.error(400,"该项目下子项目简码不能重复,请确认!");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
projectOrderService.operateProjectOrder(operateReqVO);
|
projectOrderService.operateProjectOrder(operateReqVO);
|
||||||
|
|
||||||
// 手动记录日志
|
// 手动记录日志
|
||||||
|
|||||||
@ -1,6 +1,8 @@
|
|||||||
package com.chanko.yunxi.mes.module.heli.dal.dataobject.plansubdetail;
|
package com.chanko.yunxi.mes.module.heli.dal.dataobject.plansubdetail;
|
||||||
|
|
||||||
import lombok.*;
|
import lombok.*;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
@ -115,6 +117,14 @@ public class PlanSubDetailDO extends BaseDO {
|
|||||||
//生产进度
|
//生产进度
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
private String productionSchedule;
|
private String productionSchedule;
|
||||||
|
@TableField(exist = false)
|
||||||
|
private String type;
|
||||||
|
@TableField(exist = false)
|
||||||
|
private BigDecimal workHours;
|
||||||
|
@TableField(exist = false)
|
||||||
|
private String percentage;
|
||||||
|
@TableField(exist = false)
|
||||||
|
private String PercentageFlag;
|
||||||
|
@TableField(exist = false)
|
||||||
|
private Date time;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -3,6 +3,7 @@ package com.chanko.yunxi.mes.module.heli.dal.dataobject.taskdispatch;
|
|||||||
import com.baomidou.mybatisplus.annotation.*;
|
import com.baomidou.mybatisplus.annotation.*;
|
||||||
import com.chanko.yunxi.mes.framework.mybatis.core.dataobject.BaseDO;
|
import com.chanko.yunxi.mes.framework.mybatis.core.dataobject.BaseDO;
|
||||||
import io.swagger.v3.oas.models.security.SecurityScheme;
|
import io.swagger.v3.oas.models.security.SecurityScheme;
|
||||||
|
import kotlin.jvm.internal.Lambda;
|
||||||
import lombok.*;
|
import lombok.*;
|
||||||
import org.apache.poi.hpsf.Date;
|
import org.apache.poi.hpsf.Date;
|
||||||
|
|
||||||
@ -261,4 +262,20 @@ public class TaskDispatchDetailDO extends BaseDO {
|
|||||||
private Integer receivingStatus;
|
private Integer receivingStatus;
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
private Integer mplanStatus;
|
private Integer mplanStatus;
|
||||||
|
@TableField(exist = false)
|
||||||
|
private String partsProcurement;
|
||||||
|
@TableField(exist = false)
|
||||||
|
private String receiving;
|
||||||
|
@TableField(exist = false)
|
||||||
|
private String receivingFlag;
|
||||||
|
@TableField(exist = false)
|
||||||
|
private LocalDateTime receivingTime;
|
||||||
|
@TableField(exist = false)
|
||||||
|
private String percentage;
|
||||||
|
@TableField(exist = false)
|
||||||
|
private String report;
|
||||||
|
@TableField(exist = false)
|
||||||
|
private String reportFlag;
|
||||||
|
@TableField(exist = false)
|
||||||
|
private String finishedProduct;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -316,10 +316,10 @@ public interface PlanSubMapper extends BaseMapperX<PlanSubDO> {
|
|||||||
query.eq(ProjectOrderSubDO::getDeleted,0);
|
query.eq(ProjectOrderSubDO::getDeleted,0);
|
||||||
query.eq(CustomerDO::getDeleted,0);
|
query.eq(CustomerDO::getDeleted,0);
|
||||||
query.eq(PlanDO::getDeleted,0);
|
query.eq(PlanDO::getDeleted,0);
|
||||||
query.eq(ObjectUtil.isNotEmpty(pageReqVO.getProjectCode()), ProjectOrderDO::getCode, pageReqVO.getProjectCode());
|
query.like(ObjectUtil.isNotEmpty(pageReqVO.getProjectCode()), ProjectOrderDO::getCode, pageReqVO.getProjectCode());
|
||||||
query.eq(ObjectUtil.isNotEmpty(pageReqVO.getProjectName()), ProjectOrderDO::getProjectName, pageReqVO.getProjectName());
|
query.like(ObjectUtil.isNotEmpty(pageReqVO.getProjectName()), ProjectOrderDO::getProjectName, pageReqVO.getProjectName());
|
||||||
query.eq(ObjectUtil.isNotEmpty(pageReqVO.getProjectSubName()), ProjectOrderSubDO::getName, pageReqVO.getProjectSubName());
|
query.like(ObjectUtil.isNotEmpty(pageReqVO.getProjectSubName()), ProjectOrderSubDO::getName, pageReqVO.getProjectSubName());
|
||||||
query.eq(ObjectUtil.isNotEmpty(pageReqVO.getCustomerName()), CustomerDO::getName, pageReqVO.getCustomerName());
|
query.like(ObjectUtil.isNotEmpty(pageReqVO.getCustomerName()), CustomerDO::getName, pageReqVO.getCustomerName());
|
||||||
query.orderByAsc(ProjectOrderDO::getCode);
|
query.orderByAsc(ProjectOrderDO::getCode);
|
||||||
return selectPage(pageReqVO, query);
|
return selectPage(pageReqVO, query);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -18,9 +18,11 @@ import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
|||||||
import org.apache.ibatis.annotations.Delete;
|
import org.apache.ibatis.annotations.Delete;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
import org.apache.ibatis.annotations.Select;
|
||||||
import org.springframework.util.StringUtils;
|
import org.springframework.util.StringUtils;
|
||||||
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 工艺设计 Mapper
|
* 工艺设计 Mapper
|
||||||
@ -395,4 +397,11 @@ public interface ProcessDesignMapper extends BaseMapperX<ProcessDesignDO> {
|
|||||||
}
|
}
|
||||||
@Delete("delete from pro_process_design where project_id = #{id}")
|
@Delete("delete from pro_process_design where project_id = #{id}")
|
||||||
void deleteOrderId(@Param("id") Long id);
|
void deleteOrderId(@Param("id") Long id);
|
||||||
|
|
||||||
|
@Select("SELECT pd.* FROM pro_process_design pd " +
|
||||||
|
"INNER JOIN project_plan_sub_detail psd ON psd.project_sub_id = pd.project_sub_id " +
|
||||||
|
"AND psd.sub_type = pd.process_design_type " +
|
||||||
|
"WHERE pd.project_sub_id = #{projectSubId} " +
|
||||||
|
"AND pd.process_design_type IN ('BLUEPRINT_3D', 'BLUEPRINT_2D', 'BLUEPRINT_WORKBLANK')")
|
||||||
|
List<ProcessDesignDO> selectWithDetailExists(@Param("projectSubId") Long projectSubId);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -904,7 +904,15 @@ public interface TaskDispatchDetailMapper extends BaseMapperX<TaskDispatchDetail
|
|||||||
MPJLambdaWrapper<TaskDispatchDetailDO> query = new MPJLambdaWrapper<>();
|
MPJLambdaWrapper<TaskDispatchDetailDO> query = new MPJLambdaWrapper<>();
|
||||||
query.selectAll(TaskDispatchDetailDO.class)
|
query.selectAll(TaskDispatchDetailDO.class)
|
||||||
.select("a.bom_detail_id as bomDetailId")
|
.select("a.bom_detail_id as bomDetailId")
|
||||||
.leftJoin(TaskDispatchDO.class,"a",TaskDispatchDO::getId,TaskDispatchDetailDO::getDispatchId);
|
.select("b.material_name as materialName","c.name as projectSubName")
|
||||||
|
.select("d.name as procedureName","u.nickname as ownerName")
|
||||||
|
.leftJoin(TaskDispatchDO.class,"a",TaskDispatchDO::getId,TaskDispatchDetailDO::getDispatchId)
|
||||||
|
.leftJoin(ProcessBomDetailDO.class,"b",ProcessBomDetailDO::getId,TaskDispatchDO::getBomDetailId)
|
||||||
|
.leftJoin(ProjectOrderSubDO.class,"c",ProjectOrderSubDO::getId,TaskDispatchDO::getProjectSubId)
|
||||||
|
.leftJoin(ProcedureDO.class,"d",ProcedureDO::getId,TaskDispatchDetailDO::getProcedureId)
|
||||||
|
.leftJoin(AdminUserDO.class,"u",AdminUserDO::getId,TaskDispatchDetailDO::getOwner)
|
||||||
|
.orderByAsc(ProcessBomDetailDO::getMaterialName)
|
||||||
|
.orderByAsc(TaskDispatchDO::getCode);
|
||||||
query.eq(TaskDispatchDO::getProjectSubId,projectSubId);
|
query.eq(TaskDispatchDO::getProjectSubId,projectSubId);
|
||||||
query.eq(TaskDispatchDO::getDispatchType,"PRODUCTION");
|
query.eq(TaskDispatchDO::getDispatchType,"PRODUCTION");
|
||||||
query.eq(ObjectUtil.isNotEmpty(checkYn),TaskDispatchDetailDO::getCheckYn,checkYn);
|
query.eq(ObjectUtil.isNotEmpty(checkYn),TaskDispatchDetailDO::getCheckYn,checkYn);
|
||||||
@ -916,7 +924,13 @@ public interface TaskDispatchDetailMapper extends BaseMapperX<TaskDispatchDetail
|
|||||||
MPJLambdaWrapper<TaskDispatchDetailDO> query = new MPJLambdaWrapper<>();
|
MPJLambdaWrapper<TaskDispatchDetailDO> query = new MPJLambdaWrapper<>();
|
||||||
query.selectAll(TaskDispatchDetailDO.class)
|
query.selectAll(TaskDispatchDetailDO.class)
|
||||||
.select("a.bom_detail_id as bomDetailId")
|
.select("a.bom_detail_id as bomDetailId")
|
||||||
.leftJoin(TaskDispatchDO.class,"a",TaskDispatchDO::getId,TaskDispatchDetailDO::getDispatchId);
|
.select("d.name as procedureName","c.name as projectSubName")
|
||||||
|
.leftJoin(TaskDispatchDO.class,"a",TaskDispatchDO::getId,TaskDispatchDetailDO::getDispatchId)
|
||||||
|
.leftJoin(ProjectOrderSubDO.class,"c",ProjectOrderSubDO::getId,TaskDispatchDO::getProjectSubId)
|
||||||
|
.leftJoin(ProcedureDO.class,"d",ProcedureDO::getId,TaskDispatchDetailDO::getProcedureId)
|
||||||
|
.groupBy(TaskDispatchDetailDO::getId)
|
||||||
|
.orderByAsc(ProjectOrderSubDO::getName)
|
||||||
|
.orderByAsc(ProcedureDO::getName);
|
||||||
query.eq(TaskDispatchDO::getProjectSubId,projectSubId);
|
query.eq(TaskDispatchDO::getProjectSubId,projectSubId);
|
||||||
query.eq(TaskDispatchDO::getDispatchType,"ASSEMBLE");
|
query.eq(TaskDispatchDO::getDispatchType,"ASSEMBLE");
|
||||||
return selectList(query);
|
return selectList(query);
|
||||||
|
|||||||
@ -230,4 +230,13 @@ public interface TaskDispatchMapper extends BaseMapperX<TaskDispatchDO> {
|
|||||||
@Delete("delete from pro_task_dispatch where project_id=#{id}")
|
@Delete("delete from pro_task_dispatch where project_id=#{id}")
|
||||||
void deleteOrderId(@Param("id") Long id);
|
void deleteOrderId(@Param("id") Long id);
|
||||||
|
|
||||||
|
default List<TaskDispatchDO> selectByIds(List<Long> ids){
|
||||||
|
MPJLambdaWrapper<TaskDispatchDO> query = new MPJLambdaWrapper<>();
|
||||||
|
query.selectAll(TaskDispatchDO.class)
|
||||||
|
.select("a.craft_content as craftContent")
|
||||||
|
.leftJoin(PlanDO.class, "a", PlanDO::getId, TaskDispatchDO::getPlanId)
|
||||||
|
.in(TaskDispatchDO::getId, ids);
|
||||||
|
return selectList(query);
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -54,6 +54,7 @@ import org.checkerframework.checker.units.qual.C;
|
|||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
import org.springframework.util.CollectionUtils;
|
import org.springframework.util.CollectionUtils;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
|
||||||
@ -385,6 +386,7 @@ public class PartPurchaseOrderServiceImpl implements PartPurchaseOrderService{
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@Transactional
|
||||||
public Boolean approval(Long id) {
|
public Boolean approval(Long id) {
|
||||||
PurchaseOrderMakeDO orderMakeDO = purchaseOrderMakeMapper.selectById(id);
|
PurchaseOrderMakeDO orderMakeDO = purchaseOrderMakeMapper.selectById(id);
|
||||||
if (orderMakeDO.getStatus() != 1) throw exception(new ErrorCode(400, "该单据状态非待审核,请刷新界面!"));
|
if (orderMakeDO.getStatus() != 1) throw exception(new ErrorCode(400, "该单据状态非待审核,请刷新界面!"));
|
||||||
@ -402,7 +404,7 @@ public class PartPurchaseOrderServiceImpl implements PartPurchaseOrderService{
|
|||||||
materialPlanBoom.setMplanStatus(2);
|
materialPlanBoom.setMplanStatus(2);
|
||||||
materialPlanBoomMapper.updateById(materialPlanBoom);
|
materialPlanBoomMapper.updateById(materialPlanBoom);
|
||||||
});
|
});
|
||||||
List<PurchaseOrderMakeDetailDO> list = purchaseOrderMakeDetailMapper.selectList("project_purchase_order_make_id", id);
|
List<PurchaseOrderMakeDetailDO> list = purchaseOrderMakeDetailMapper.selectList("purchase_order_id", id);
|
||||||
List<Long> ids = list.stream().map(PurchaseOrderMakeDetailDO::getId).collect(Collectors.toList());
|
List<Long> ids = list.stream().map(PurchaseOrderMakeDetailDO::getId).collect(Collectors.toList());
|
||||||
if (ObjectUtil.isNotEmpty(ids)){
|
if (ObjectUtil.isNotEmpty(ids)){
|
||||||
LambdaUpdateWrapper<PurchaseOrderMakeDetailDO> updateWrapper = new LambdaUpdateWrapper<>();
|
LambdaUpdateWrapper<PurchaseOrderMakeDetailDO> updateWrapper = new LambdaUpdateWrapper<>();
|
||||||
@ -656,6 +658,15 @@ if (ObjectUtil.isNotEmpty(materialDO)){
|
|||||||
public Boolean approvals(List<PurchaseOrderMakeDetailDO> list) {
|
public Boolean approvals(List<PurchaseOrderMakeDetailDO> list) {
|
||||||
if (ObjectUtil.isNotEmpty( list)){
|
if (ObjectUtil.isNotEmpty( list)){
|
||||||
List<Long> ids = list.stream().map(PurchaseOrderMakeDetailDO::getId).collect(Collectors.toList());
|
List<Long> ids = list.stream().map(PurchaseOrderMakeDetailDO::getId).collect(Collectors.toList());
|
||||||
|
List<Long> orderIds = list.stream().map(PurchaseOrderMakeDetailDO::getPurchaseOrderId).collect(Collectors.toList());
|
||||||
|
if (ObjectUtil.isNotEmpty(orderIds)){
|
||||||
|
LambdaUpdateWrapper<PurchaseOrderMakeDO> updateWrapper = new LambdaUpdateWrapper<>();
|
||||||
|
updateWrapper.in(PurchaseOrderMakeDO::getId, orderIds);
|
||||||
|
updateWrapper.set(PurchaseOrderMakeDO::getStatus,2);
|
||||||
|
updateWrapper.set(PurchaseOrderMakeDO::getAuditTime, LocalDateTime.now());
|
||||||
|
updateWrapper.set(PurchaseOrderMakeDO::getAuditor, getLoginUser().getId());
|
||||||
|
purchaseOrderMakeMapper.update(updateWrapper);
|
||||||
|
}
|
||||||
LambdaQueryWrapper<PurchaseOrderMakeDetailDO> wrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<PurchaseOrderMakeDetailDO> wrapper = new LambdaQueryWrapper<>();
|
||||||
wrapper.in(PurchaseOrderMakeDetailDO::getId, ids);
|
wrapper.in(PurchaseOrderMakeDetailDO::getId, ids);
|
||||||
wrapper.ne(PurchaseOrderMakeDetailDO::getStatus,1);
|
wrapper.ne(PurchaseOrderMakeDetailDO::getStatus,1);
|
||||||
|
|||||||
@ -3,6 +3,7 @@ package com.chanko.yunxi.mes.module.heli.service.plan;
|
|||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import cn.smallbun.screw.core.util.CollectionUtils;
|
import cn.smallbun.screw.core.util.CollectionUtils;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
import com.chanko.yunxi.mes.framework.common.exception.ErrorCode;
|
import com.chanko.yunxi.mes.framework.common.exception.ErrorCode;
|
||||||
import com.chanko.yunxi.mes.framework.common.pojo.CommonResult;
|
import com.chanko.yunxi.mes.framework.common.pojo.CommonResult;
|
||||||
@ -74,6 +75,7 @@ import java.util.stream.Collectors;
|
|||||||
import static com.chanko.yunxi.mes.framework.common.exception.util.ServiceExceptionUtil.exception;
|
import static com.chanko.yunxi.mes.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||||
import static com.chanko.yunxi.mes.module.heli.enums.CodeEnum.PROJECT_PLAN;
|
import static com.chanko.yunxi.mes.module.heli.enums.CodeEnum.PROJECT_PLAN;
|
||||||
import static com.chanko.yunxi.mes.module.heli.enums.CodeEnum.PROJECT_PLAN_TASK;
|
import static com.chanko.yunxi.mes.module.heli.enums.CodeEnum.PROJECT_PLAN_TASK;
|
||||||
|
import static com.chanko.yunxi.mes.module.heli.enums.ErrorCodeConstants.OWNER_NOT_EXISTS;
|
||||||
import static com.chanko.yunxi.mes.module.heli.enums.ErrorCodeConstants.PLAN_NOT_EXISTS;
|
import static com.chanko.yunxi.mes.module.heli.enums.ErrorCodeConstants.PLAN_NOT_EXISTS;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -436,18 +438,22 @@ public class PlanServiceImpl implements PlanService {
|
|||||||
LocalDateTime dateAsLocalDateTime = processDesignProgressDO.getEndTime().toInstant()
|
LocalDateTime dateAsLocalDateTime = processDesignProgressDO.getEndTime().toInstant()
|
||||||
.atZone(ZoneId.systemDefault())
|
.atZone(ZoneId.systemDefault())
|
||||||
.toLocalDateTime();
|
.toLocalDateTime();
|
||||||
if (dateAsLocalDateTime.isAfter(processDesignDO.getCraftEndDate())) {
|
if (ObjectUtil.isNotEmpty(planSubDO.getCraftEndDate())){
|
||||||
|
if (dateAsLocalDateTime.isAfter(planSubDO.getCraftEndDate())) {
|
||||||
planDO.setProcessFlag("1");
|
planDO.setProcessFlag("1");
|
||||||
} else {
|
} else {
|
||||||
planDO.setProcessFlag("0");
|
planDO.setProcessFlag("0");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
if (now.isAfter(processDesignDO.getCraftEndDate())) {
|
if (ObjectUtil.isNotEmpty(planSubDO.getCraftEndDate())){
|
||||||
|
if (now.isAfter(planSubDO.getCraftEndDate())) {
|
||||||
planDO.setProcessFlag("1");
|
planDO.setProcessFlag("1");
|
||||||
} else {
|
} else {
|
||||||
planDO.setProcessFlag("0");
|
planDO.setProcessFlag("0");
|
||||||
}
|
}
|
||||||
|
}
|
||||||
Long l = processDesignProgressMapper.selectCount(new LambdaQueryWrapper<ProcessDesignProgressDO>().eq(ProcessDesignProgressDO::getProcessDesignId, processDesignDO.getId()));
|
Long l = processDesignProgressMapper.selectCount(new LambdaQueryWrapper<ProcessDesignProgressDO>().eq(ProcessDesignProgressDO::getProcessDesignId, processDesignDO.getId()));
|
||||||
if (l > 0) {
|
if (l > 0) {
|
||||||
planDO.setProcessProgress("执行中");
|
planDO.setProcessProgress("执行中");
|
||||||
@ -482,7 +488,7 @@ public class PlanServiceImpl implements PlanService {
|
|||||||
List<PurchaseOrderMakeDetailDO> purchaseOrderMakeDetailDOS = queryPurchaseOrderMakeDetails(subDO);
|
List<PurchaseOrderMakeDetailDO> purchaseOrderMakeDetailDOS = queryPurchaseOrderMakeDetails(subDO);
|
||||||
|
|
||||||
// 判断所有采购订单是否都已完成
|
// 判断所有采购订单是否都已完成
|
||||||
boolean allCompleted = isAllPurchaseOrdersCompleted(purchaseOrderNoDetailDOS);
|
boolean allCompleted = isAllPurchaseOrdersCompleted(purchaseOrderNoDetailDOS,detailDOS);
|
||||||
|
|
||||||
if (allCompleted) {
|
if (allCompleted) {
|
||||||
subDO.setOutsourcingTasks(TASK_COMPLETED);
|
subDO.setOutsourcingTasks(TASK_COMPLETED);
|
||||||
@ -529,7 +535,7 @@ public class PlanServiceImpl implements PlanService {
|
|||||||
List<TaskDispatchDetailDO> dispatchDetailDOList = taskDispatchDetailMapper
|
List<TaskDispatchDetailDO> dispatchDetailDOList = taskDispatchDetailMapper
|
||||||
.outSourceTask(subDO.getProjectSubId(), "N","0");
|
.outSourceTask(subDO.getProjectSubId(), "N","0");
|
||||||
//2.查询过程检报工信息
|
//2.查询过程检报工信息
|
||||||
List<PgMasterLineDO> processInspectionReports = queryProcessInspectionReports(dispatchDetailDOS);
|
List<PgMasterLineDO> processInspectionReports = queryProcessInspectionReports(dispatchDetailDOList);
|
||||||
boolean isSameSizeAndNotEmpty = isSameSizeAndNotEmpty(dispatchDetailDOList, processInspectionReports);
|
boolean isSameSizeAndNotEmpty = isSameSizeAndNotEmpty(dispatchDetailDOList, processInspectionReports);
|
||||||
if (isSameSizeAndNotEmpty){
|
if (isSameSizeAndNotEmpty){
|
||||||
subDO.setProcessInspection(TASK_COMPLETED);
|
subDO.setProcessInspection(TASK_COMPLETED);
|
||||||
@ -570,17 +576,15 @@ public class PlanServiceImpl implements PlanService {
|
|||||||
if (CollectionUtils.isEmpty(taskReportDOS)) {
|
if (CollectionUtils.isEmpty(taskReportDOS)) {
|
||||||
if (CollectionUtils.isNotEmpty(dispatchDetailDOS)){
|
if (CollectionUtils.isNotEmpty(dispatchDetailDOS)){
|
||||||
subDO.setAssemblyTask(TASK_NOT_STARTED);
|
subDO.setAssemblyTask(TASK_NOT_STARTED);
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
}
|
}else {
|
||||||
|
|
||||||
BigDecimal dispatchAmount = calculateDispatchAmount(dispatchDetailDOS);
|
BigDecimal dispatchAmount = calculateDispatchAmount(dispatchDetailDOS);
|
||||||
BigDecimal reportedAmount = calculateReportedAmount(taskReportDOS);
|
BigDecimal reportedAmount = calculateReportedAmount(taskReportDOS);
|
||||||
int percentage = calculatePercentage(reportedAmount, dispatchAmount);
|
int percentage = calculatePercentage(reportedAmount, dispatchAmount);
|
||||||
|
|
||||||
subDO.setAssemblyTask(String.format(TASK_STARTED_FORMAT, percentage));
|
subDO.setAssemblyTask(String.format(TASK_STARTED_FORMAT, percentage));
|
||||||
subDO.setAssemblyTaskFlag(TASK_FLAG_NORMAL);
|
subDO.setAssemblyTaskFlag(TASK_FLAG_NORMAL);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
/**
|
/**
|
||||||
* 处理进行中的任务状态
|
* 处理进行中的任务状态
|
||||||
*/
|
*/
|
||||||
@ -590,17 +594,17 @@ public class PlanServiceImpl implements PlanService {
|
|||||||
|
|
||||||
if (CollectionUtils.isEmpty(taskReportDOS)) {
|
if (CollectionUtils.isEmpty(taskReportDOS)) {
|
||||||
if (CollectionUtils.isNotEmpty(dispatchDetailDOS)){
|
if (CollectionUtils.isNotEmpty(dispatchDetailDOS)){
|
||||||
subDO.setProcessingTask(TASK_NOT_STARTED);
|
subDO.setProcessInspection(TASK_NOT_STARTED);
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
}
|
}else {
|
||||||
|
|
||||||
BigDecimal dispatchAmount = calculateDispatchAmount(dispatchDetailDOS);
|
BigDecimal dispatchAmount = calculateDispatchAmount(dispatchDetailDOS);
|
||||||
BigDecimal reportedAmount = calculateAmount(taskReportDOS);
|
BigDecimal reportedAmount = calculateAmount(taskReportDOS);
|
||||||
int percentage = calculatePercentage(reportedAmount, dispatchAmount);
|
int percentage = calculatePercentage(reportedAmount, dispatchAmount);
|
||||||
|
subDO.setProcessInspection(String.format(TASK_STARTED_FORMAT, percentage));
|
||||||
|
subDO.setProcessInspectionFlag(TASK_FLAG_NORMAL);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
subDO.setProcessingTask(String.format(TASK_STARTED_FORMAT, percentage));
|
|
||||||
subDO.setProcessingTaskFlag(TASK_FLAG_NORMAL);
|
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 判断两个集合大小相等且都不为空
|
* 判断两个集合大小相等且都不为空
|
||||||
@ -680,10 +684,8 @@ public boolean isSameSizeAndNotEmpty(Collection<?> list1, Collection<?> list2)
|
|||||||
if (CollectionUtils.isEmpty(taskReportDOS)) {
|
if (CollectionUtils.isEmpty(taskReportDOS)) {
|
||||||
if (CollectionUtils.isNotEmpty(dispatchDetailDOS)){
|
if (CollectionUtils.isNotEmpty(dispatchDetailDOS)){
|
||||||
subDO.setProcessingTask(TASK_NOT_STARTED);
|
subDO.setProcessingTask(TASK_NOT_STARTED);
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
}
|
}else {
|
||||||
|
|
||||||
BigDecimal dispatchAmount = calculateDispatchAmount(dispatchDetailDOS);
|
BigDecimal dispatchAmount = calculateDispatchAmount(dispatchDetailDOS);
|
||||||
BigDecimal reportedAmount = calculateReportedAmount(taskReportDOS);
|
BigDecimal reportedAmount = calculateReportedAmount(taskReportDOS);
|
||||||
int percentage = calculatePercentage(reportedAmount, dispatchAmount);
|
int percentage = calculatePercentage(reportedAmount, dispatchAmount);
|
||||||
@ -691,6 +693,7 @@ public boolean isSameSizeAndNotEmpty(Collection<?> list1, Collection<?> list2)
|
|||||||
subDO.setProcessingTask(String.format(TASK_STARTED_FORMAT, percentage));
|
subDO.setProcessingTask(String.format(TASK_STARTED_FORMAT, percentage));
|
||||||
subDO.setProcessingTaskFlag(TASK_FLAG_NORMAL);
|
subDO.setProcessingTaskFlag(TASK_FLAG_NORMAL);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
/**
|
/**
|
||||||
* 处理装配任务时间逻辑
|
* 处理装配任务时间逻辑
|
||||||
*/
|
*/
|
||||||
@ -830,13 +833,13 @@ private List<PurchaseOrderNoDetailDO> queryPurchaseOrderDetails(PlanSubDO subDO)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 判断所有采购订单是否完成
|
// 判断所有采购订单是否完成
|
||||||
private boolean isAllPurchaseOrdersCompleted(List<PurchaseOrderNoDetailDO> purchaseOrderNoDetailDOS) {
|
private boolean isAllPurchaseOrdersCompleted(List<PurchaseOrderNoDetailDO> purchaseOrderNoDetailDOS,List<TaskDispatchDetailDO> taskDispatchDetailDOS) {
|
||||||
if (CollectionUtils.isEmpty(purchaseOrderNoDetailDOS)) {
|
if (CollectionUtils.isEmpty(purchaseOrderNoDetailDOS)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return purchaseOrderNoDetailDOS.stream()
|
return purchaseOrderNoDetailDOS.stream()
|
||||||
.filter(Objects::nonNull)
|
.filter(Objects::nonNull)
|
||||||
.allMatch(item -> item.getReceivingStatus() == 3);
|
.allMatch(item -> item.getReceivingStatus() == 3) && taskDispatchDetailDOS.size()==purchaseOrderNoDetailDOS.size();
|
||||||
}
|
}
|
||||||
|
|
||||||
// 计算已收货的采购数量
|
// 计算已收货的采购数量
|
||||||
@ -910,11 +913,7 @@ private List<PurchaseOrderNoDetailDO> queryPurchaseOrderDetails(PlanSubDO subDO)
|
|||||||
* 查询已完成的工艺设计
|
* 查询已完成的工艺设计
|
||||||
*/
|
*/
|
||||||
private List<ProcessDesignDO> getCompletedProcessDesigns(Long projectSubId) {
|
private List<ProcessDesignDO> getCompletedProcessDesigns(Long projectSubId) {
|
||||||
LambdaQueryWrapper<ProcessDesignDO> queryWrapper = new LambdaQueryWrapper<>();
|
return processDesignMapper.selectWithDetailExists(projectSubId);
|
||||||
queryWrapper.eq(ProcessDesignDO::getProjectSubId, projectSubId);
|
|
||||||
queryWrapper.in(ProcessDesignDO::getProcessDesignType, "BLUEPRINT_3D","BLUEPRINT_2D","BLUEPRINT_WORKBLANK");
|
|
||||||
queryWrapper.eq(ProcessDesignDO::getIsOverProcess, "1");
|
|
||||||
return processDesignMapper.selectList(queryWrapper);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -929,10 +928,15 @@ private List<PurchaseOrderNoDetailDO> queryPurchaseOrderDetails(PlanSubDO subDO)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 检查是否有足够的已完成设计(>=3)
|
* 检查设计是否完成
|
||||||
*/
|
*/
|
||||||
private boolean hasEnoughCompletedDesigns(List<ProcessDesignDO> processDesigns) {
|
private boolean hasEnoughCompletedDesigns(List<ProcessDesignDO> processDesigns) {
|
||||||
return ObjectUtil.isNotEmpty(processDesigns) && processDesigns.size() >= 3;
|
if (CollectionUtils.isEmpty(processDesigns)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return processDesigns.stream()
|
||||||
|
.filter(Objects::nonNull)
|
||||||
|
.allMatch(item -> item.getIsOverProcess() ==1);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -967,8 +971,8 @@ private List<PurchaseOrderNoDetailDO> queryPurchaseOrderDetails(PlanSubDO subDO)
|
|||||||
PlanSubDetailDO latestTwoDimPlan,
|
PlanSubDetailDO latestTwoDimPlan,
|
||||||
LocalDateTime now) {
|
LocalDateTime now) {
|
||||||
if (ObjectUtil.isEmpty(processDesigns)) {
|
if (ObjectUtil.isEmpty(processDesigns)) {
|
||||||
subDO.setDesignTask("未开始");
|
subDO.setDesignTask("");
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
List<Long> processDesignIds = processDesigns.stream()
|
List<Long> processDesignIds = processDesigns.stream()
|
||||||
@ -978,31 +982,30 @@ private List<PurchaseOrderNoDetailDO> queryPurchaseOrderDetails(PlanSubDO subDO)
|
|||||||
// 获取工艺设计进度列表
|
// 获取工艺设计进度列表
|
||||||
List<ProcessDesignProgressDO> progressList = getProcessDesignProgressList(processDesignIds);
|
List<ProcessDesignProgressDO> progressList = getProcessDesignProgressList(processDesignIds);
|
||||||
|
|
||||||
if (ObjectUtil.isEmpty(progressList)) {
|
if (ObjectUtil.isEmpty(progressList)&&ObjectUtil.isNotEmpty(latestTwoDimPlan)) {
|
||||||
subDO.setDesignTask("未开始");
|
subDO.setDesignTask("未开始");
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
if (ObjectUtil.isNotEmpty(progressList)) {
|
||||||
// 计算总工时和当前工时
|
// 计算总工时和当前工时
|
||||||
BigDecimal totalWorkTime = calculateTotalWorkTime(progressList);
|
BigDecimal totalWorkTime = calculateTotalWorkTime(progressList);
|
||||||
BigDecimal currentTime = calculateCurrentTime(subDO);
|
BigDecimal currentTime = calculateCurrentTime(subDO);
|
||||||
currentTime = currentTime.multiply(new BigDecimal("8"));
|
currentTime = currentTime.multiply(new BigDecimal("8"));
|
||||||
// 计算完成百分比
|
// 计算完成百分比
|
||||||
Integer percentage = calculatePercentage( totalWorkTime,currentTime);
|
Integer percentage = calculatePercentage(totalWorkTime, currentTime);
|
||||||
|
|
||||||
// 设置设计任务状态
|
// 设置设计任务状态
|
||||||
subDO.setDesignTask(String.format("已开始(%d%%)", percentage));
|
subDO.setDesignTask(String.format("已开始(%d%%)", percentage));
|
||||||
subDO.setDesignTaskFlag("0");
|
subDO.setDesignTaskFlag("0");
|
||||||
|
}
|
||||||
// 检查是否超期
|
// 检查是否超期
|
||||||
ProcessDesignProgressDO latestProgress = getLatestProgress(processDesignIds);
|
if (
|
||||||
if (ObjectUtil.isNotEmpty(latestProgress) &&
|
|
||||||
ObjectUtil.isNotEmpty(latestTwoDimPlan) &&
|
ObjectUtil.isNotEmpty(latestTwoDimPlan) &&
|
||||||
now.isAfter(latestTwoDimPlan.getTwoDimDate())) {
|
now.isAfter(latestTwoDimPlan.getTwoDimDate())) {
|
||||||
subDO.setDesignTaskFlag("1");
|
subDO.setDesignTaskFlag("1");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取最新的工艺设计进度
|
* 获取最新的工艺设计进度
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -8,6 +8,7 @@ import com.chanko.yunxi.mes.module.heli.controller.admin.plansubdetail.vo.*;
|
|||||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.plansubdetail.PlanSubDetailDO;
|
import com.chanko.yunxi.mes.module.heli.dal.dataobject.plansubdetail.PlanSubDetailDO;
|
||||||
import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
|
import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
|
||||||
import com.chanko.yunxi.mes.framework.common.pojo.PageParam;
|
import com.chanko.yunxi.mes.framework.common.pojo.PageParam;
|
||||||
|
import com.chanko.yunxi.mes.module.heli.dal.dataobject.taskdispatch.TaskDispatchDetailDO;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 生产计划子项目设计时间明细 Service 接口
|
* 生产计划子项目设计时间明细 Service 接口
|
||||||
@ -70,4 +71,14 @@ public interface PlanSubDetailService {
|
|||||||
CommonResult overlap(PlanSubDetailSaveReqVO updateReqVO);
|
CommonResult overlap(PlanSubDetailSaveReqVO updateReqVO);
|
||||||
|
|
||||||
List<PlanSubDetailDO> getList(PlanSubDetailPageReqVO pageReqVO);
|
List<PlanSubDetailDO> getList(PlanSubDetailPageReqVO pageReqVO);
|
||||||
|
|
||||||
|
List<PlanSubDetailDO> getList1(PlanSubDetailPageReqVO pageReqVO);
|
||||||
|
|
||||||
|
List<TaskDispatchDetailDO> getList2(PlanSubDetailPageReqVO pageReqVO);
|
||||||
|
|
||||||
|
List<TaskDispatchDetailDO> getList3(PlanSubDetailPageReqVO pageReqVO);
|
||||||
|
|
||||||
|
List<TaskDispatchDetailDO> getList4(PlanSubDetailPageReqVO pageReqVO);
|
||||||
|
|
||||||
|
List<TaskDispatchDetailDO> getList5(PlanSubDetailPageReqVO pageReqVO);
|
||||||
}
|
}
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@ -1054,7 +1054,7 @@ public class TaskDispatchServiceImpl implements TaskDispatchService {
|
|||||||
// bdgzsomthingMapper.updateById(bdgzsomthingDO);
|
// bdgzsomthingMapper.updateById(bdgzsomthingDO);
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
if (taskDispatchDO.getDispatchType().equals("PRODUCTION") && taskDispatchDetailDO.getTestYn().equals("N")){
|
if (taskDispatchDO.getDispatchType().equals("PRODUCTION") && taskDispatchDetailDO.getTestYn().equals("N")&&taskDispatchDetailDO.getCheckYn().equals("0")){
|
||||||
pgMasterService.insertPgList(planDO.getId(),planDO.getProjectId(),taskDispatchDO.getBomDetailId(),taskDispatchDetailDO);
|
pgMasterService.insertPgList(planDO.getId(),planDO.getProjectId(),taskDispatchDO.getBomDetailId(),taskDispatchDetailDO);
|
||||||
}
|
}
|
||||||
// if (taskDispatchDO.getDispatchType().equals("PRODUCTION") && isBomDetailProductionOver){
|
// if (taskDispatchDO.getDispatchType().equals("PRODUCTION") && isBomDetailProductionOver){
|
||||||
|
|||||||
@ -44,10 +44,10 @@ public class TaskReportServiceImpl implements TaskReportService {
|
|||||||
public CommonResult<Boolean> updateTaskReport(TaskReportSaveReqVO updateReqVO) {
|
public CommonResult<Boolean> updateTaskReport(TaskReportSaveReqVO updateReqVO) {
|
||||||
// 校验存在
|
// 校验存在
|
||||||
validateTaskReportExists(updateReqVO.getId());
|
validateTaskReportExists(updateReqVO.getId());
|
||||||
TaskDispatchDetailDO taskDispatchDetailDO = taskDispatchDetailMapper.selectById(updateReqVO.getDispatchDetailId());
|
// TaskDispatchDetailDO taskDispatchDetailDO = taskDispatchDetailMapper.selectById(updateReqVO.getDispatchDetailId());
|
||||||
if (ObjectUtil.isNotEmpty(taskDispatchDetailDO)){
|
// if (ObjectUtil.isNotEmpty(taskDispatchDetailDO)){
|
||||||
if (taskDispatchDetailDO.getProcedureStatus() == 2) return CommonResult.error(400,"该派工单已报工完成,不允许修改!");
|
// if (taskDispatchDetailDO.getProcedureStatus() == 2) return CommonResult.error(400,"该派工单已报工完成,不允许修改!");
|
||||||
}
|
// }
|
||||||
// 更新
|
// 更新
|
||||||
TaskReportDO updateObj = BeanUtils.toBean(updateReqVO, TaskReportDO.class);
|
TaskReportDO updateObj = BeanUtils.toBean(updateReqVO, TaskReportDO.class);
|
||||||
taskReportMapper.updateById(updateObj);
|
taskReportMapper.updateById(updateObj);
|
||||||
|
|||||||
@ -109,17 +109,17 @@ public class AdminAuthServiceImpl implements AdminAuthService {
|
|||||||
|
|
||||||
// 使用账号密码,进行登录
|
// 使用账号密码,进行登录
|
||||||
AdminUserDO user = authenticate(reqVO.getUsername(), reqVO.getPassword());
|
AdminUserDO user = authenticate(reqVO.getUsername(), reqVO.getPassword());
|
||||||
String openId = getOpenid(reqVO.getCode());
|
// String openId = getOpenid(reqVO.getCode());
|
||||||
//判断如果openId为空时需要获取并更新openId
|
// //判断如果openId为空时需要获取并更新openId
|
||||||
if(user.getOpenId()==null){
|
// if(user.getOpenId()==null){
|
||||||
user.setOpenId(openId);
|
// user.setOpenId(openId);
|
||||||
//更新openID
|
// //更新openID
|
||||||
userMapper.updateById(user);
|
// userMapper.updateById(user);
|
||||||
}else if(!user.getOpenId().equals(openId)){
|
// }else if(!user.getOpenId().equals(openId)){
|
||||||
user.setOpenId(openId);
|
// user.setOpenId(openId);
|
||||||
//更新openID
|
// //更新openID
|
||||||
userMapper.updateById(user);
|
// userMapper.updateById(user);
|
||||||
}
|
// }
|
||||||
|
|
||||||
|
|
||||||
// 如果 socialType 非空,说明需要绑定社交用户
|
// 如果 socialType 非空,说明需要绑定社交用户
|
||||||
|
|||||||
@ -82,3 +82,18 @@ export const overlap = async (data: PlanSubDetailVO) => {
|
|||||||
export const getList = async (params) => {
|
export const getList = async (params) => {
|
||||||
return await request.get({ url: `/heli/plan-sub-detail/getList`, params })
|
return await request.get({ url: `/heli/plan-sub-detail/getList`, params })
|
||||||
}
|
}
|
||||||
|
export const getList1 = async (params) => {
|
||||||
|
return await request.get({ url: `/heli/plan-sub-detail/getList1`, params })
|
||||||
|
}
|
||||||
|
export const getList2 = async (params) => {
|
||||||
|
return await request.get({ url: `/heli/plan-sub-detail/getList2`, params })
|
||||||
|
}
|
||||||
|
export const getList3 = async (params) => {
|
||||||
|
return await request.get({ url: `/heli/plan-sub-detail/getList3`, params })
|
||||||
|
}
|
||||||
|
export const getList4 = async (params) => {
|
||||||
|
return await request.get({ url: `/heli/plan-sub-detail/getList4`, params })
|
||||||
|
}
|
||||||
|
export const getList5 = async (params) => {
|
||||||
|
return await request.get({ url: `/heli/plan-sub-detail/getList5`, params })
|
||||||
|
}
|
||||||
|
|||||||
@ -7,20 +7,25 @@
|
|||||||
<template #header>
|
<template #header>
|
||||||
<div class="hl-card-info-icona"></div><span class="hl-card-info-text">子项目信息</span>
|
<div class="hl-card-info-icona"></div><span class="hl-card-info-text">子项目信息</span>
|
||||||
<label style="display: inline-flex; align-items: center; margin-left: 40px;">
|
<label style="display: inline-flex; align-items: center; margin-left: 40px;">
|
||||||
<el-checkbox class="large-checkbox" v-model="formData.flag" style="order: 1;" />
|
<el-checkbox class="large-checkbox" v-model="formData.flag" style="order: 1;" @change="change"/>
|
||||||
<span style="order: 2; margin-left: 10px;">不显示已完成</span>
|
<span style="order: 2; margin-left: 10px;">不显示已完成</span>
|
||||||
</label>
|
</label>
|
||||||
</template>
|
</template>
|
||||||
</el-card>
|
</el-card>
|
||||||
<ContentWrap>
|
<ContentWrap>
|
||||||
<el-table v-loading="loading" :data="list" :show-overflow-tooltip="true" class="hl-table" height="300" border :cell-class-name="cellClassName">
|
<el-table v-loading="loading" :data="list" :show-overflow-tooltip="true" class="hl-table" height="250" border @row-click="rowClick" :cell-class-name="cellClassName5">
|
||||||
<el-table-column type="index" width="100" fixed label="序号" align="center" />
|
<el-table-column type="index" width="100" fixed label="序号" align="center" />
|
||||||
<el-table-column label="子项目名称" align="center" prop="projectSubName" />
|
<el-table-column label="子项目名称" align="center" prop="projectSubName" />
|
||||||
<el-table-column label="任务" align="center" prop="designTask" />
|
<el-table-column label="任务" align="center" prop="subType" />
|
||||||
<el-table-column label="预计开始时间" align="center" prop="outsourcingTasks" :formatter="dateFormatter2" />
|
<el-table-column label="预计开始时间" align="center" prop="startTwoDimDate" :formatter="dateFormatter2" />
|
||||||
<el-table-column label="预计结束时间" align="center" prop="processingTask" :formatter="dateFormatter2" />
|
<el-table-column label="预计结束时间" align="center" prop="twoDimDate" :formatter="dateFormatter2" />
|
||||||
<el-table-column label="工单状态" align="center" prop="processInspection" />
|
<el-table-column label="工单状态" align="center" prop="status" />
|
||||||
<el-table-column label="生产进度" align="center" prop="assemblyTask" />
|
<el-table-column label="生产进度" align="center" prop="productionSchedule" >
|
||||||
|
<template #default="scope">
|
||||||
|
<el-progress :percentage="scope.row.productionSchedule" />
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
</el-table>
|
</el-table>
|
||||||
</ContentWrap>
|
</ContentWrap>
|
||||||
|
|
||||||
@ -31,18 +36,85 @@
|
|||||||
<div class="hl-card-info-icona"></div><span class="hl-card-info-text">工单信息</span>
|
<div class="hl-card-info-icona"></div><span class="hl-card-info-text">工单信息</span>
|
||||||
</template>
|
</template>
|
||||||
</el-card>
|
</el-card>
|
||||||
<ContentWrap v-if="type=='设计'">
|
<ContentWrap v-if="type=='sheji'">
|
||||||
<el-table v-loading="loading" :data="list" :show-overflow-tooltip="true" class="hl-table" height="500" border :cell-class-name="cellClassName">
|
<el-table :data="list1" :show-overflow-tooltip="true" class="hl-table" height="500" border :cell-class-name="cellClassName">
|
||||||
<el-table-column type="index" width="100" fixed label="序号" align="center" />
|
<el-table-column type="index" width="100" fixed label="序号" align="center" />
|
||||||
<el-table-column label="子项目名称" align="center" prop="projectSubName" />
|
<el-table-column label="子项目名称" align="center" prop="name" />
|
||||||
<el-table-column label="任务" align="center" prop="designTask" />
|
<el-table-column label="工艺设计" align="center" prop="type" />
|
||||||
<el-table-column label="预计开始时间" align="center" prop="outsourcingTasks" />
|
<el-table-column label="预计开始时间" align="center" prop="startTwoDimDate" :formatter="dateFormatter2"/>
|
||||||
<el-table-column label="预计结束时间" align="center" prop="processingTask" />
|
<el-table-column label="预计结束时间" align="center" prop="twoDimDate" :formatter="dateFormatter2"/>
|
||||||
<el-table-column label="工单状态" align="center" prop="processInspection" />
|
<el-table-column label="预计工时(H)" align="center" prop="designNum" />
|
||||||
<el-table-column label="生产进度" align="center" prop="assemblyTask" />
|
<el-table-column label="实际工时(H)" align="center" prop="workHours" />
|
||||||
|
<el-table-column label="负责人" align="center" prop="twoDimOwnerName" />
|
||||||
|
<el-table-column label="最后报工时间" align="center" prop="time" :formatter="dateFormatter2"/>
|
||||||
|
<el-table-column label="完工" align="center" prop="percentage" />
|
||||||
|
<el-table-column label="任务状态" align="center" prop="status" />
|
||||||
</el-table>
|
</el-table>
|
||||||
</ContentWrap>
|
</ContentWrap>
|
||||||
|
<ContentWrap v-if="type=='waixei'">
|
||||||
|
<el-table :data="list2" :show-overflow-tooltip="true" class="hl-table" height="500" border :cell-class-name="cellClassName1">
|
||||||
|
<el-table-column type="index" width="100" fixed label="序号" align="center" />
|
||||||
|
<el-table-column label="子项目名称" align="center" prop="projectSubName" />
|
||||||
|
<el-table-column label="零件名称" align="center" prop="materialName" />
|
||||||
|
<el-table-column label="工序" align="center" prop="procedureName" />
|
||||||
|
<el-table-column label="要求完成日期" align="center" prop="endTime" :formatter="dateFormatter2"/>
|
||||||
|
<el-table-column label="负责人" align="center" prop="ownerName" />
|
||||||
|
<el-table-column label="收货日期" align="center" prop="receivingTime" :formatter="dateFormatter2"/>
|
||||||
|
<el-table-column label="零件采购" align="center" prop="partsProcurement" />
|
||||||
|
<el-table-column label="派工单状态" align="center" prop="receiving" />
|
||||||
|
</el-table>
|
||||||
|
</ContentWrap>
|
||||||
|
<ContentWrap v-if="type=='jiagong'">
|
||||||
|
<el-table :data="list3" :show-overflow-tooltip="true" class="hl-table" height="500" border :cell-class-name="cellClassName2">
|
||||||
|
<el-table-column type="index" width="100" fixed label="序号" align="center" />
|
||||||
|
<el-table-column label="子项目名称" align="center" prop="projectSubName" />
|
||||||
|
<el-table-column label="零件名称" align="center" prop="materialName" />
|
||||||
|
<el-table-column label="工序" align="center" prop="procedureName" />
|
||||||
|
<el-table-column label="预计开始时间" align="center" prop="startTime" :formatter="dateFormatter2"/>
|
||||||
|
<el-table-column label="预计结束时间" align="center" prop="endTime" :formatter="dateFormatter2"/>
|
||||||
|
<el-table-column label="负责人" align="center" prop="ownerName" />
|
||||||
|
<el-table-column label="预计工时(天)" align="center" prop="workTime" />
|
||||||
|
<el-table-column label="实际工时(天)" align="center" prop="workingHour" />
|
||||||
|
<el-table-column label="报工进度(%)" align="center" prop="percentage" />
|
||||||
|
<el-table-column label="派工单状态" align="center" prop="report" />
|
||||||
|
<el-table-column label="是否过程检" align="center" prop="checkYn" >
|
||||||
|
<template #default="scope">
|
||||||
|
{{scope.row.checkYn=='0'?"是":"否"}}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
</ContentWrap>
|
||||||
|
<ContentWrap v-if="type=='guochengjian'">
|
||||||
|
<el-table :data="list4" :show-overflow-tooltip="true" class="hl-table" height="500" border :cell-class-name="cellClassName3">
|
||||||
|
<el-table-column type="index" width="100" fixed label="序号" align="center" />
|
||||||
|
<el-table-column label="子项目名称" align="center" prop="projectSubName" />
|
||||||
|
<el-table-column label="零件名称" align="center" prop="materialName" />
|
||||||
|
<el-table-column label="工序" align="center" prop="procedureName" />
|
||||||
|
<el-table-column label="是否过程检" align="center" prop="checkYn" >
|
||||||
|
<template #default="scope">
|
||||||
|
{{scope.row.checkYn=='0'?"是":"否"}}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="过程检状态" align="center" prop="report" />
|
||||||
|
<el-table-column label="负责人" align="center" prop="ownerName" />
|
||||||
|
|
||||||
|
</el-table>
|
||||||
|
</ContentWrap>
|
||||||
|
<ContentWrap v-if="type=='zhuangpei'">
|
||||||
|
<el-table :data="list5" :show-overflow-tooltip="true" class="hl-table" height="500" border :cell-class-name="cellClassName4">
|
||||||
|
<el-table-column type="index" width="100" fixed label="序号" align="center" />
|
||||||
|
<el-table-column label="子项目名称" align="center" prop="projectSubName" />
|
||||||
|
<el-table-column label="工序" align="center" prop="procedureName" />
|
||||||
|
<el-table-column label="预计开始时间" align="center" prop="startTime" :formatter="dateFormatter2"/>
|
||||||
|
<el-table-column label="预计结束时间" align="center" prop="endTime" :formatter="dateFormatter2"/>
|
||||||
|
<el-table-column label="负责人" align="center" prop="ownerName" />
|
||||||
|
<el-table-column label="预计工时(天)" align="center" prop="workTime" />
|
||||||
|
<el-table-column label="实际工时(天)" align="center" prop="workingHour" />
|
||||||
|
<el-table-column label="报工进度(%)" align="center" prop="percentage" />
|
||||||
|
<el-table-column label="派工单状态" align="center" prop="report" />
|
||||||
|
<el-table-column label="成品检" align="center" prop="finishedProduct" />
|
||||||
|
</el-table>
|
||||||
|
</ContentWrap>
|
||||||
<div class="text-center hl-footer">
|
<div class="text-center hl-footer">
|
||||||
<el-button @click="() => router.back()" size="large">取 消</el-button>
|
<el-button @click="() => router.back()" size="large">取 消</el-button>
|
||||||
</div>
|
</div>
|
||||||
@ -62,8 +134,13 @@ const { query } = useRoute()
|
|||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
const reload = inject('reload')
|
const reload = inject('reload')
|
||||||
const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用
|
const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用
|
||||||
const list = ref([]) // 设计数据
|
const list = ref([])
|
||||||
const type = ref('sheji')
|
const list1 = ref([]) // 设计数据
|
||||||
|
const list2 = ref([]) // 外协数据
|
||||||
|
const list3 = ref([]) // 加工数据
|
||||||
|
const list4 = ref([]) // 过程检数据
|
||||||
|
const list5 = ref([]) // 装配任务数据
|
||||||
|
const type = ref('')
|
||||||
const formData = reactive({
|
const formData = reactive({
|
||||||
id:undefined,
|
id:undefined,
|
||||||
projectSubId:undefined,
|
projectSubId:undefined,
|
||||||
@ -73,13 +150,97 @@ const formData = reactive({
|
|||||||
onMounted(async () => {
|
onMounted(async () => {
|
||||||
console.log(query)
|
console.log(query)
|
||||||
formData.projectSubId = query.projectSubId
|
formData.projectSubId = query.projectSubId
|
||||||
|
getList()
|
||||||
|
const queryParams = reactive({
|
||||||
|
projectSubId:formData.projectSubId
|
||||||
})
|
})
|
||||||
|
if (list.value){
|
||||||
|
const hasDesignTask = list.value.some(item => item.subType === "设计任务");
|
||||||
|
if (hasDesignTask){
|
||||||
|
list1.value= await PlansubdetailApi.getList1(queryParams)
|
||||||
|
type.value='sheji'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
})
|
||||||
|
const change = (val) => {
|
||||||
|
getList()
|
||||||
|
}
|
||||||
|
/** 处理某一行的点击 */
|
||||||
|
const rowClick = async (row) => {
|
||||||
|
console.log(row);
|
||||||
|
const queryParams = reactive({
|
||||||
|
projectSubId:formData.projectSubId,
|
||||||
|
})
|
||||||
|
type.value=''
|
||||||
|
if (row.subType=='设计任务'){
|
||||||
|
list1.value= await PlansubdetailApi.getList1(queryParams)
|
||||||
|
if (list1.value.length>0){
|
||||||
|
type.value='sheji'
|
||||||
|
}
|
||||||
|
}else if (row.subType=='外协任务'){
|
||||||
|
list2.value= await PlansubdetailApi.getList2(queryParams)
|
||||||
|
if (list2.value.length>0){
|
||||||
|
type.value='waixei'
|
||||||
|
}
|
||||||
|
}else if (row.subType=='加工任务'){
|
||||||
|
list3.value= await PlansubdetailApi.getList3(queryParams)
|
||||||
|
if (list3.value.length>0){
|
||||||
|
type.value='jiagong'
|
||||||
|
}
|
||||||
|
}else if (row.subType=='过程检任务'){
|
||||||
|
list4.value= await PlansubdetailApi.getList4(queryParams)
|
||||||
|
if (list4.value.length>0){
|
||||||
|
type.value='guochengjian'
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
list5.value= await PlansubdetailApi.getList5(queryParams)
|
||||||
|
if (list5.value.length>0){
|
||||||
|
type.value='zhuangpei'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
const cellClassName = ({ row,column }) => {
|
||||||
|
if (column.label === '任务状态' && row.statusFlag) {
|
||||||
|
return row.statusFlag === '1' ? 'warning-row1' : row.statusFlag === '0' ?'warning-row2':"";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
const cellClassName1 = ({ row,column }) => {
|
||||||
|
if (column.label === '派工单状态' && row.receivingFlag) {
|
||||||
|
return row.receivingFlag === '1' ? 'warning-row1' :"";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
const cellClassName2 = ({ row,column }) => {
|
||||||
|
if (column.label === '派工单状态' && row.reportFlag) {
|
||||||
|
return row.reportFlag === '1' ? 'warning-row1' :"";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
const cellClassName3 = ({ row,column }) => {
|
||||||
|
if (column.label === '过程检状态' && row.reportFlag) {
|
||||||
|
return row.reportFlag === '1' ? 'warning-row1' :"";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
const cellClassName4 = ({ row,column }) => {
|
||||||
|
if (column.label === '派工单状态' && row.reportFlag) {
|
||||||
|
return row.reportFlag === '1' ? 'warning-row1' :"";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
const cellClassName5 = ({ row,column }) => {
|
||||||
|
if (column.label === '工单状态' && row.statusFlag) {
|
||||||
|
return row.statusFlag === '1' ? 'warning-row1' : row.statusFlag === '0' ?'warning-row2':"";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
/** 查询设计列表 */
|
/** 查询设计列表 */
|
||||||
const getList = async () => {
|
const getList = async () => {
|
||||||
loading.value = true
|
loading.value = true
|
||||||
try {
|
try {
|
||||||
const data = await PlansubdetailApi.getPartProcess(formData)
|
const queryParams = reactive({
|
||||||
|
projectSubId:formData.projectSubId,
|
||||||
|
flag:formData.flag==true?"0":"1"
|
||||||
|
})
|
||||||
|
const data = await PlansubdetailApi.getList(queryParams)
|
||||||
list.value = data
|
list.value = data
|
||||||
} finally {
|
} finally {
|
||||||
loading.value = false
|
loading.value = false
|
||||||
@ -94,6 +255,12 @@ const getList = async () => {
|
|||||||
border: solid 1px orange;
|
border: solid 1px orange;
|
||||||
outline: solid 1px orange;
|
outline: solid 1px orange;
|
||||||
}
|
}
|
||||||
|
.warning-row1 {
|
||||||
|
background-color:#F08080 !important;
|
||||||
|
}
|
||||||
|
.warning-row2 {
|
||||||
|
background-color: #1E90FF !important; /* 道奇蓝 */
|
||||||
|
}
|
||||||
.large-checkbox {
|
.large-checkbox {
|
||||||
transform: scale(1.5); /* 方法1:使用scale放大 */
|
transform: scale(1.5); /* 方法1:使用scale放大 */
|
||||||
/* 或者 */
|
/* 或者 */
|
||||||
|
|||||||
@ -73,9 +73,10 @@
|
|||||||
placeholder="工艺结束日期" />
|
placeholder="工艺结束日期" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8" >
|
||||||
<el-form-item label="工艺进度" prop="processProgress">
|
<el-form-item label="工艺进度" prop="processProgress" >
|
||||||
<el-input class="!w-265px" placeholder="工艺进度" v-model="formData.processProgress" disabled />
|
<el-input class=" !w-265px" :class="{ 'red-background': formData.processFlag == '1' }" placeholder="工艺进度" v-model="formData.processProgress" disabled
|
||||||
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
@ -155,11 +156,16 @@ const formData = ref({
|
|||||||
projectEndTime:undefined,
|
projectEndTime:undefined,
|
||||||
projectProgress:undefined,
|
projectProgress:undefined,
|
||||||
craftEndDate:undefined,
|
craftEndDate:undefined,
|
||||||
processProgress:undefined
|
processProgress:undefined,
|
||||||
|
processFlag:undefined
|
||||||
})
|
})
|
||||||
const queryFormRef = ref() // 搜索的表单
|
const queryFormRef = ref() // 搜索的表单
|
||||||
/** 查询列表 */
|
/** 查询列表 */
|
||||||
const getList = async () => {
|
const getList = async () => {
|
||||||
|
if ((queryParams.projectCode==null||queryParams.projectCode=='')&&(queryParams.projectSubName==null||queryParams.projectSubName=='')&&(queryParams.projectName==null ||queryParams.projectName=='')) {
|
||||||
|
message.error("必须输入查询条件查询")
|
||||||
|
return
|
||||||
|
}
|
||||||
loading.value = true
|
loading.value = true
|
||||||
try {
|
try {
|
||||||
const data = await PlanApi.getPartProcess(queryParams)
|
const data = await PlanApi.getPartProcess(queryParams)
|
||||||
@ -173,22 +179,19 @@ const getList = async () => {
|
|||||||
|
|
||||||
const cellClassName = ({ row,column }) => {
|
const cellClassName = ({ row,column }) => {
|
||||||
if (column.label === '设计任务' && row.designTaskFlag) {
|
if (column.label === '设计任务' && row.designTaskFlag) {
|
||||||
return row.designTaskFlag === '1' ? 'warning-row1' : 'warning-row2';
|
return row.designTaskFlag === '1' ? 'warning-row1' :row.designTaskFlag === '0' ? 'warning-row2':"";
|
||||||
}
|
}
|
||||||
if (column.label === '外协任务' && row.outsourcingTasksFlag) {
|
if (column.label === '外协任务' && row.outsourcingTasksFlag) {
|
||||||
return row.outsourcingTasksFlag === '1' ? 'warning-row1' : 'warning-row2';
|
return row.outsourcingTasksFlag === '1' ? 'warning-row1' :row.outsourcingTasksFlag === '0' ? 'warning-row2':"";
|
||||||
}
|
}
|
||||||
if (column.label === '加工任务' && row.processingTaskFlag) {
|
if (column.label === '加工任务' && row.processingTaskFlag) {
|
||||||
return row.processingTaskFlag === '1' ? 'warning-row1' : 'warning-row2';
|
return row.processingTaskFlag === '1' ? 'warning-row1' : row.processingTaskFlag === '0' ?'warning-row2':"";
|
||||||
}
|
}
|
||||||
if (column.label === '过程检任务' && row.processInspectionFlag) {
|
if (column.label === '过程检任务' && row.processInspectionFlag) {
|
||||||
return row.processInspectionFlag === '1' ? 'warning-row1' : 'warning-row2';
|
return row.processInspectionFlag === '1' ? 'warning-row1' : row.processInspectionFlag === '0' ? 'warning-row2':"";
|
||||||
}
|
}
|
||||||
if (column.label === '装配任务' && row.assemblyTaskFlag) {
|
if (column.label === '装配任务' && row.assemblyTaskFlag) {
|
||||||
console.log(row.assemblyTaskFlag)
|
return row.assemblyTaskFlag === '1' ? 'warning-row1' : row.assemblyTaskFlag === '0' ?'warning-row2':"";
|
||||||
console.log(row.assemblyTaskFlag === '1')
|
|
||||||
console.log(row.assemblyTaskFlag === '1' ? 'warning-row1' : 'warning-row2')
|
|
||||||
return row.assemblyTaskFlag === '1' ? 'warning-row1' : 'warning-row2';
|
|
||||||
}
|
}
|
||||||
// return '';
|
// return '';
|
||||||
}
|
}
|
||||||
@ -196,7 +199,7 @@ const cellClassName = ({ row,column }) => {
|
|||||||
|
|
||||||
const handleQuery = () => {
|
const handleQuery = () => {
|
||||||
queryParams.pageNo = 1
|
queryParams.pageNo = 1
|
||||||
getList()
|
getList();
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 重置按钮操作 */
|
/** 重置按钮操作 */
|
||||||
@ -236,18 +239,16 @@ window.addEventListener('beforeunload', () => {
|
|||||||
routeParamsCache.set(routeValue.value, plainParams);
|
routeParamsCache.set(routeValue.value, plainParams);
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
<style >
|
<style scoped>
|
||||||
.el-dropdown-link {
|
|
||||||
cursor: pointer;
|
:deep(.warning-row1) {
|
||||||
margin: 5px;
|
|
||||||
color: var(--el-color-primary);
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
}
|
|
||||||
.warning-row1 {
|
|
||||||
background-color:#F08080 !important;
|
background-color:#F08080 !important;
|
||||||
}
|
}
|
||||||
.warning-row2 {
|
:deep(.warning-row2) {
|
||||||
background-color: #1E90FF !important; /* 道奇蓝 */
|
background-color: #1E90FF !important; /* 道奇蓝 */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.red-background :deep(.el-input__wrapper) {
|
||||||
|
background-color: #F08080 !important;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user