报工跟质检以及Bom编码修改

This commit is contained in:
z 2025-07-11 13:54:22 +08:00
parent 48a3315fe1
commit e8c40da222
26 changed files with 201 additions and 110 deletions

View File

@ -51,5 +51,14 @@ public class FpUserDetailRespVO {
@Schema(description = "主表备注", example = "你说的对") @Schema(description = "主表备注", example = "你说的对")
@ExcelProperty("备注") @ExcelProperty("备注")
private String remarks; private String remarks;
@Schema(description = "工序id")
private Long procedureId;
@Schema(description = "工序编码")
private String code;
@Schema(description = "工序名称")
private String procedureName;
} }

View File

@ -10,6 +10,10 @@ public class UserVo {
private Long busyId; private Long busyId;
@Schema(description = "岗位ID", example = "12927") @Schema(description = "岗位ID", example = "12927")
private String postId; private String postId;
@Schema(description = "工序id")
private Long procedureId;
@Schema(description = "是否负责人") @Schema(description = "是否负责人")
private String isRes; private String isRes;
} }

View File

@ -6,7 +6,9 @@ import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.ToString; import lombok.ToString;
import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Set;
@Schema(description = "管理后台 - 派工单分页 Request VO") @Schema(description = "管理后台 - 派工单分页 Request VO")
@Data @Data
@ -37,4 +39,7 @@ public class TaskDispatchDetailPageReqVO extends PageParam {
@Schema(description = "项目或子项目id") @Schema(description = "项目或子项目id")
private String subOrDetailName; private String subOrDetailName;
@Schema(description = "工序集合")
Set<String> procedureIds;
} }

View File

@ -53,6 +53,14 @@ public class FpUserDetailDO extends BaseDO {
*/ */
private String remark; private String remark;
/**
* 工序id
*/
private Long procedureId;
/**
* 工序编码
*/
private String code;
@TableField(exist = false) @TableField(exist = false)
private String nickName; private String nickName;
@TableField(exist = false) @TableField(exist = false)
@ -61,4 +69,6 @@ public class FpUserDetailDO extends BaseDO {
private String postName ; private String postName ;
@TableField(exist = false) @TableField(exist = false)
private String remarks; private String remarks;
@TableField(exist = false)
private String procedureName ;
} }

View File

@ -8,6 +8,7 @@ import com.chanko.yunxi.mes.module.heli.controller.admin.fpuserdetail.vo.FpUserD
import com.chanko.yunxi.mes.module.heli.controller.admin.fpuserdetail.vo.FpUserDetailSaveReqVO; import com.chanko.yunxi.mes.module.heli.controller.admin.fpuserdetail.vo.FpUserDetailSaveReqVO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.fpuser.FpUserDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.fpuser.FpUserDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.fpuserdetail.FpUserDetailDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.fpuserdetail.FpUserDetailDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.procedure.ProcedureDO;
import com.chanko.yunxi.mes.module.system.dal.dataobject.user.AdminUserDO; import com.chanko.yunxi.mes.module.system.dal.dataobject.user.AdminUserDO;
import com.github.yulichang.wrapper.MPJLambdaWrapper; import com.github.yulichang.wrapper.MPJLambdaWrapper;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
@ -32,10 +33,12 @@ public interface FpUserDetailMapper extends BaseMapperX<FpUserDetailDO> {
default PageResult<FpUserDetailDO> selectPage(FpUserDetailPageReqVO reqVO) { default PageResult<FpUserDetailDO> selectPage(FpUserDetailPageReqVO reqVO) {
MPJLambdaWrapper<FpUserDetailDO> query = new MPJLambdaWrapper<>(); MPJLambdaWrapper<FpUserDetailDO> query = new MPJLambdaWrapper<>();
query.selectAll(FpUserDetailDO.class) query.selectAll(FpUserDetailDO.class)
.select("u.nickname as nickName") .select("u.nickname as nickName,p.name as procedureName")
.select("a.type as type","a.remark as remarks") .select("a.type as type","a.remark as remarks")
.leftJoin(AdminUserDO.class, "u", AdminUserDO::getId, FpUserDetailDO::getBusyId) .leftJoin(AdminUserDO.class, "u", AdminUserDO::getId, FpUserDetailDO::getBusyId)
.leftJoin(FpUserDO.class, "a", FpUserDO::getId, FpUserDetailDO::getFpId) .leftJoin(FpUserDO.class, "a", FpUserDO::getId, FpUserDetailDO::getFpId)
.leftJoin(ProcedureDO.class,"p",ProcedureDO::getId, FpUserDetailDO::getProcedureId)
.disableSubLogicDel()
.orderByDesc(FpUserDetailDO::getId); .orderByDesc(FpUserDetailDO::getId);
query.like(!StringUtils.isEmpty(reqVO.getBusyId()), "u.nickname", reqVO.getBusyId()) query.like(!StringUtils.isEmpty(reqVO.getBusyId()), "u.nickname", reqVO.getBusyId())
.like(!StringUtils.isEmpty(reqVO.getPostId()),FpUserDetailDO::getPostId, reqVO.getPostId()) .like(!StringUtils.isEmpty(reqVO.getPostId()),FpUserDetailDO::getPostId, reqVO.getPostId())

View File

@ -34,7 +34,7 @@ public interface PlanTaskMapper extends BaseMapperX<PlanTaskDO> {
query.selectAll(PlanTaskDO.class) query.selectAll(PlanTaskDO.class)
.select("e.name as customerName","p.code as projectCode","p.project_name as projectName","p.project_end_time as projectEndTime") .select("e.name as customerName","p.code as projectCode","p.project_name as projectName","p.project_end_time as projectEndTime")
.select("pl.plan_no as planNo","ps.project_sub_code as projectSubCode","po.name as projectSubName","concat('BOM-', ps.project_sub_code) as bomCode") .select("pl.plan_no as planNo","ps.project_sub_code as projectSubCode","po.name as projectSubName"," ps.project_sub_code as bomCode")
.leftJoin(PlanDO.class, "pl", PlanDO::getId, PlanTaskDO::getProjectPlanId) .leftJoin(PlanDO.class, "pl", PlanDO::getId, PlanTaskDO::getProjectPlanId)
.leftJoin(PlanSubDO.class, "ps", PlanSubDO::getId, PlanTaskDO::getProjectPlanSubId) .leftJoin(PlanSubDO.class, "ps", PlanSubDO::getId, PlanTaskDO::getProjectPlanSubId)
.leftJoin(ProjectOrderDO.class, "p", ProjectOrderDO::getId, PlanTaskDO::getProjectId) .leftJoin(ProjectOrderDO.class, "p", ProjectOrderDO::getId, PlanTaskDO::getProjectId)
@ -72,7 +72,7 @@ public interface PlanTaskMapper extends BaseMapperX<PlanTaskDO> {
MPJLambdaWrapper<PlanTaskDO> query = new MPJLambdaWrapper<>(); MPJLambdaWrapper<PlanTaskDO> query = new MPJLambdaWrapper<>();
query.selectAll(PlanTaskDO.class) query.selectAll(PlanTaskDO.class)
.select("e.name as customerName","p.code as projectCode","p.project_name as projectName","p.project_end_time as projectEndTime") .select("e.name as customerName","p.code as projectCode","p.project_name as projectName","p.project_end_time as projectEndTime")
.select("pl.plan_no as planNo","po.amount as projectSubNum","ps.project_sub_code as projectSubCode","po.name as projectSubName","concat('BOM-', ps.project_sub_code) as bomCode") .select("pl.plan_no as planNo","po.amount as projectSubNum","ps.project_sub_code as projectSubCode","po.name as projectSubName"," ps.project_sub_code as bomCode")
.leftJoin(PlanDO.class, "pl", PlanDO::getId, PlanTaskDO::getProjectPlanId) .leftJoin(PlanDO.class, "pl", PlanDO::getId, PlanTaskDO::getProjectPlanId)
.leftJoin(PlanSubDO.class, "ps", PlanSubDO::getId, PlanTaskDO::getProjectPlanSubId) .leftJoin(PlanSubDO.class, "ps", PlanSubDO::getId, PlanTaskDO::getProjectPlanSubId)
.leftJoin(ProjectOrderDO.class, "p", ProjectOrderDO::getId, PlanTaskDO::getProjectId) .leftJoin(ProjectOrderDO.class, "p", ProjectOrderDO::getId, PlanTaskDO::getProjectId)

View File

@ -93,7 +93,7 @@ public interface ProcessBomDetailMapper extends BaseMapperX<ProcessBomDetailDO>
default PageResult<ProcessBomDetailDO> selectPageNew(ProcessBomPageReqVO reqVO) { default PageResult<ProcessBomDetailDO> selectPageNew(ProcessBomPageReqVO reqVO) {
MPJLambdaWrapper<ProcessBomDetailDO> query = new MPJLambdaWrapper<>(); MPJLambdaWrapper<ProcessBomDetailDO> query = new MPJLambdaWrapper<>();
query.selectAll(ProcessBomDetailDO.class) query.selectAll(ProcessBomDetailDO.class)
.select("concat('BOM-', e.project_sub_code) as bomCode", "e.project_sub_code as projectSubCode") .select("e.project_sub_code as bomCode", "e.project_sub_code as projectSubCode")
.select("a.plan_no as planCode", "b.code as projectCode", "c.name as customerName", "b.project_name as projectName") .select("a.plan_no as planCode", "b.code as projectCode", "c.name as customerName", "b.project_name as projectName")
.select("d.name as projectSubName,f.name as compositionName") .select("d.name as projectSubName,f.name as compositionName")
@ -108,7 +108,7 @@ public interface ProcessBomDetailMapper extends BaseMapperX<ProcessBomDetailDO>
.disableSubLogicDel() .disableSubLogicDel()
; ;
query.and(!StringUtils.isEmpty(reqVO.getCode()), QueryWrapper -> QueryWrapper.apply("locate({0},concat('BOM-', e.project_sub_code )) > 0", reqVO.getCode())) query.and(!StringUtils.isEmpty(reqVO.getCode()), QueryWrapper -> QueryWrapper.apply("locate({0}, e.project_sub_code ) > 0", reqVO.getCode()))
.like(!StringUtils.isEmpty(reqVO.getPlanCode()), PlanDO::getPlanNo, reqVO.getPlanCode()) .like(!StringUtils.isEmpty(reqVO.getPlanCode()), PlanDO::getPlanNo, reqVO.getPlanCode())
.like(!StringUtils.isEmpty(reqVO.getProjectCode()), ProjectOrderDO::getCode, reqVO.getProjectCode()) .like(!StringUtils.isEmpty(reqVO.getProjectCode()), ProjectOrderDO::getCode, reqVO.getProjectCode())
.like(!StringUtils.isEmpty(reqVO.getCustomerName()), CustomerDO::getName, reqVO.getCustomerName()) .like(!StringUtils.isEmpty(reqVO.getCustomerName()), CustomerDO::getName, reqVO.getCustomerName())

View File

@ -69,7 +69,7 @@ public interface ProcessBomMapper extends BaseMapperX<ProcessBomDO> {
default PageResult<ProcessBomDO> selectPages(ProcessBomPageReqVO reqVO) { default PageResult<ProcessBomDO> selectPages(ProcessBomPageReqVO reqVO) {
MPJLambdaWrapper<ProcessBomDO> query = new MPJLambdaWrapper<>(); MPJLambdaWrapper<ProcessBomDO> query = new MPJLambdaWrapper<>();
query.selectAll(ProcessBomDO.class) query.selectAll(ProcessBomDO.class)
.select("concat('BOM-', e.project_sub_code) as bomCode", "e.project_sub_code as projectSubCode") .select(" e.project_sub_code as bomCode", "e.project_sub_code as projectSubCode")
// .select( "e.project_sub_code as projectSubCode") // .select( "e.project_sub_code as projectSubCode")
.select("a.plan_no as planCode", "b.code as projectCode", "c.name as customerName", "b.project_name as projectName") .select("a.plan_no as planCode", "b.code as projectCode", "c.name as customerName", "b.project_name as projectName")
@ -83,7 +83,7 @@ public interface ProcessBomMapper extends BaseMapperX<ProcessBomDO> {
.disableSubLogicDel() .disableSubLogicDel()
; ;
query.and(!StringUtils.isEmpty(reqVO.getCode()), QueryWrapper -> QueryWrapper.apply("locate({0},concat('BOM-', e.project_sub_code )) > 0", reqVO.getCode())) query.and(!StringUtils.isEmpty(reqVO.getCode()), QueryWrapper -> QueryWrapper.apply("locate({0}, e.project_sub_code ) > 0", reqVO.getCode()))
.like(!StringUtils.isEmpty(reqVO.getPlanCode()), PlanDO::getPlanNo, reqVO.getPlanCode()) .like(!StringUtils.isEmpty(reqVO.getPlanCode()), PlanDO::getPlanNo, reqVO.getPlanCode())
.like(!StringUtils.isEmpty(reqVO.getProjectCode()), ProjectOrderDO::getCode, reqVO.getProjectCode()) .like(!StringUtils.isEmpty(reqVO.getProjectCode()), ProjectOrderDO::getCode, reqVO.getProjectCode())
.like(!StringUtils.isEmpty(reqVO.getCustomerName()), CustomerDO::getName, reqVO.getCustomerName()) .like(!StringUtils.isEmpty(reqVO.getCustomerName()), CustomerDO::getName, reqVO.getCustomerName())
@ -100,7 +100,7 @@ public interface ProcessBomMapper extends BaseMapperX<ProcessBomDO> {
default PageResult<ProcessBomDO> selectPage(ProcessBomPageReqVO reqVO) { default PageResult<ProcessBomDO> selectPage(ProcessBomPageReqVO reqVO) {
MPJLambdaWrapper<ProcessBomDO> query = new MPJLambdaWrapper<>(); MPJLambdaWrapper<ProcessBomDO> query = new MPJLambdaWrapper<>();
query.selectAll(ProcessBomDO.class) query.selectAll(ProcessBomDO.class)
.select("concat('BOM-', e.project_sub_code) as bomCode", "e.project_sub_code as projectSubCode") .select(" e.project_sub_code as bomCode", "e.project_sub_code as projectSubCode")
.select("a.plan_no as planCode", "b.code as projectCode", "c.name as customerName", "b.project_name as projectName") .select("a.plan_no as planCode", "b.code as projectCode", "c.name as customerName", "b.project_name as projectName")
.select("d.name as projectSubName") .select("d.name as projectSubName")
.leftJoin(PlanDO.class, "a", PlanDO::getId, ProcessBomDO::getPlanId) .leftJoin(PlanDO.class, "a", PlanDO::getId, ProcessBomDO::getPlanId)
@ -112,7 +112,7 @@ public interface ProcessBomMapper extends BaseMapperX<ProcessBomDO> {
.disableSubLogicDel() .disableSubLogicDel()
; ;
query.and(!StringUtils.isEmpty(reqVO.getCode()), QueryWrapper -> QueryWrapper.apply("locate({0},concat('BOM-', e.project_sub_code )) > 0", reqVO.getCode())) query.and(!StringUtils.isEmpty(reqVO.getCode()), QueryWrapper -> QueryWrapper.apply("locate({0}, e.project_sub_code ) > 0", reqVO.getCode()))
.like(!StringUtils.isEmpty(reqVO.getPlanCode()), PlanDO::getPlanNo, reqVO.getPlanCode()) .like(!StringUtils.isEmpty(reqVO.getPlanCode()), PlanDO::getPlanNo, reqVO.getPlanCode())
.like(!StringUtils.isEmpty(reqVO.getProjectCode()), ProjectOrderDO::getCode, reqVO.getProjectCode()) .like(!StringUtils.isEmpty(reqVO.getProjectCode()), ProjectOrderDO::getCode, reqVO.getProjectCode())
.like(!StringUtils.isEmpty(reqVO.getCustomerName()), CustomerDO::getName, reqVO.getCustomerName()) .like(!StringUtils.isEmpty(reqVO.getCustomerName()), CustomerDO::getName, reqVO.getCustomerName())
@ -168,7 +168,7 @@ public interface ProcessBomMapper extends BaseMapperX<ProcessBomDO> {
default ProcessBomDO selectByIdbyid(Long id) { default ProcessBomDO selectByIdbyid(Long id) {
MPJLambdaWrapper<ProcessBomDO> query = new MPJLambdaWrapper<>(); MPJLambdaWrapper<ProcessBomDO> query = new MPJLambdaWrapper<>();
query.selectAll(ProcessBomDO.class) query.selectAll(ProcessBomDO.class)
.select("concat('BOM-', e.project_sub_code) as bomCode", "e.project_sub_code as projectSubCode") .select(" e.project_sub_code as bomCode", "e.project_sub_code as projectSubCode")
.select("a.plan_no as planCode", "b.code as projectCode", "c.name as customerName", "b.project_name as projectName") .select("a.plan_no as planCode", "b.code as projectCode", "c.name as customerName", "b.project_name as projectName")
.select("d.name as projectSubName") .select("d.name as projectSubName")
.leftJoin(PlanDO.class, "a", PlanDO::getId, ProcessBomDO::getPlanId) .leftJoin(PlanDO.class, "a", PlanDO::getId, ProcessBomDO::getPlanId)

View File

@ -1,6 +1,7 @@
package com.chanko.yunxi.mes.module.heli.dal.mysql.taskdispatch; package com.chanko.yunxi.mes.module.heli.dal.mysql.taskdispatch;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.chanko.yunxi.mes.framework.common.pojo.PageResult; import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
import com.chanko.yunxi.mes.framework.mybatis.core.mapper.BaseMapperX; import com.chanko.yunxi.mes.framework.mybatis.core.mapper.BaseMapperX;
@ -297,7 +298,7 @@ public interface TaskDispatchDetailMapper extends BaseMapperX<TaskDispatchDetail
return selectPage(reqVO, query); return selectPage(reqVO, query);
} }
default PageResult<TaskDispatchDetailDO> selectPageWx(TaskDispatchDetailPageReqVO reqVO , Set<String> postIds) { default PageResult<TaskDispatchDetailDO> selectPageWx(TaskDispatchDetailPageReqVO reqVO , Map<String, Long> postIds) {
// 假设reqVO中包含了页码(page)和每页数量(limit) // 假设reqVO中包含了页码(page)和每页数量(limit)
MPJLambdaWrapper<TaskDispatchDetailDO> query = new MPJLambdaWrapper<>(); MPJLambdaWrapper<TaskDispatchDetailDO> query = new MPJLambdaWrapper<>();
query.selectAll(TaskDispatchDetailDO.class) query.selectAll(TaskDispatchDetailDO.class)
@ -329,16 +330,35 @@ public interface TaskDispatchDetailMapper extends BaseMapperX<TaskDispatchDetail
.orderByAsc(TaskDispatchDetailDO::getDispatchId,TaskDispatchDetailDO::getSort) .orderByAsc(TaskDispatchDetailDO::getDispatchId,TaskDispatchDetailDO::getSort)
; ;
} }
// if (CollUtil.isNotEmpty(postIds)) {
// query.and(i -> i
// .and(j -> j.in(TaskDispatchDetailDO::getPostId, postIds))
// .and(j -> j.isNull(TaskDispatchDetailDO::getOwner))
// .or(k-> k.eq(reqVO.getOwner() != null, TaskDispatchDetailDO::getOwner, reqVO.getOwner()))
// );
// }else{
// query.eq(reqVO.getOwner() != null, TaskDispatchDetailDO::getOwner, reqVO.getOwner());
// }
if (CollUtil.isNotEmpty(postIds)) { if (CollUtil.isNotEmpty(postIds)) {
query.and(i -> i query.and(i -> {
.and(j -> j.in(TaskDispatchDetailDO::getPostId, postIds)) // 为每个岗位创建对应的工序查询条件
.and(j -> j.isNull(TaskDispatchDetailDO::getOwner)) for (String postId : postIds.keySet()) {
.or(k-> k.eq(reqVO.getOwner() != null, TaskDispatchDetailDO::getOwner, reqVO.getOwner())) Long processId = postIds.get(postId);
); if (ObjectUtil.isNotEmpty(processId)) {
i.or(j -> j
.eq(TaskDispatchDetailDO::getPostId, postId)
.eq(TaskDispatchDetailDO::getProcedureId, processId)
.isNull(TaskDispatchDetailDO::getOwner)
);
}
}
});
// 添加所有者查询条件
query.or(k-> k.eq(reqVO.getOwner() != null, TaskDispatchDetailDO::getOwner, reqVO.getOwner()));
}else{ }else{
query.eq(reqVO.getOwner() != null, TaskDispatchDetailDO::getOwner, reqVO.getOwner()); query.eq(reqVO.getOwner() != null, TaskDispatchDetailDO::getOwner, reqVO.getOwner());
} }
query query
.in(CollUtil.isNotEmpty(reqVO.getProcedureStatusList()), TaskDispatchDetailDO::getProcedureStatus, reqVO.getProcedureStatusList()) .in(CollUtil.isNotEmpty(reqVO.getProcedureStatusList()), TaskDispatchDetailDO::getProcedureStatus, reqVO.getProcedureStatusList())
.eq(reqVO.getIsReport() != null, ProcedureDO::getIsReport, reqVO.getIsReport()) .eq(reqVO.getIsReport() != null, ProcedureDO::getIsReport, reqVO.getIsReport())

View File

@ -1,5 +1,6 @@
package com.chanko.yunxi.mes.module.heli.service.fpuserdetail; package com.chanko.yunxi.mes.module.heli.service.fpuserdetail;
import cn.hutool.core.util.ObjectUtil;
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.util.object.BeanUtils; import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils;
import com.chanko.yunxi.mes.module.heli.controller.admin.fpuserdetail.vo.FpUserDetailPageReqVO; import com.chanko.yunxi.mes.module.heli.controller.admin.fpuserdetail.vo.FpUserDetailPageReqVO;
@ -8,8 +9,10 @@ import com.chanko.yunxi.mes.module.heli.controller.admin.fpuserdetail.vo.FpUserD
import com.chanko.yunxi.mes.module.heli.controller.admin.fpuserdetail.vo.UserVo; import com.chanko.yunxi.mes.module.heli.controller.admin.fpuserdetail.vo.UserVo;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.fpuser.FpUserDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.fpuser.FpUserDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.fpuserdetail.FpUserDetailDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.fpuserdetail.FpUserDetailDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.procedure.ProcedureDO;
import com.chanko.yunxi.mes.module.heli.dal.mysql.fpuser.FpUserMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.fpuser.FpUserMapper;
import com.chanko.yunxi.mes.module.heli.dal.mysql.fpuserdetail.FpUserDetailMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.fpuserdetail.FpUserDetailMapper;
import com.chanko.yunxi.mes.module.heli.dal.mysql.procedure.ProcedureMapper;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
@ -32,6 +35,8 @@ public class FpUserDetailServiceImpl implements FpUserDetailService {
private FpUserDetailMapper fpUserDetailMapper; private FpUserDetailMapper fpUserDetailMapper;
@Resource @Resource
private FpUserMapper fpUserMapper; private FpUserMapper fpUserMapper;
@Resource
private ProcedureMapper procedureMapper;
@Override @Override
public Long createFpUserDetail(FpUserDetailSaveReqVO createReqVO) { public Long createFpUserDetail(FpUserDetailSaveReqVO createReqVO) {
if (createReqVO.getType()!=null){ if (createReqVO.getType()!=null){
@ -55,6 +60,11 @@ public class FpUserDetailServiceImpl implements FpUserDetailService {
fpUserDetailDO.setBusyId(user.getBusyId()); fpUserDetailDO.setBusyId(user.getBusyId());
fpUserDetailDO.setPostId(user.getPostId()); fpUserDetailDO.setPostId(user.getPostId());
fpUserDetailDO.setIsRes(user.getIsRes()); fpUserDetailDO.setIsRes(user.getIsRes());
fpUserDetailDO.setProcedureId(user.getProcedureId());
ProcedureDO procedureDO = procedureMapper.selectById(user.getProcedureId());
if (ObjectUtil.isNotEmpty(procedureDO)){
fpUserDetailDO.setCode(procedureDO.getCode());
}
fpUserDetailMapper.insert(fpUserDetailDO); fpUserDetailMapper.insert(fpUserDetailDO);
} }
} }

View File

@ -77,9 +77,9 @@ public class PgMasterServiceImpl implements PgMasterService {
pgMasterLineDO.setProcedureId(taskDispatchDetailDO.getProcedureId()); pgMasterLineDO.setProcedureId(taskDispatchDetailDO.getProcedureId());
pgMasterLineDO.setDispatchDetailId(taskDispatchDetailDO.getId()); pgMasterLineDO.setDispatchDetailId(taskDispatchDetailDO.getId());
//bom名称 //bom名称
pgMasterLineDO.setBomName("BOM-"+o.getProjectSubShortName()); pgMasterLineDO.setBomName(o.getProjectSubShortName());
//bom编号 //bom编号
pgMasterLineDO.setBomNumber("BOM-"+o.getProjectSubShortName()); pgMasterLineDO.setBomNumber(o.getProjectSubShortName());
//bom版本号 //bom版本号
pgMasterLineDO.setBomNo(o.getVersion()); pgMasterLineDO.setBomNo(o.getVersion());
//子项目id //子项目id
@ -141,8 +141,8 @@ public class PgMasterServiceImpl implements PgMasterService {
processBomDOList.forEach( o ->{ processBomDOList.forEach( o ->{
PgMasterLineDO pgMasterLineDO = new PgMasterLineDO(); PgMasterLineDO pgMasterLineDO = new PgMasterLineDO();
pgMasterLineDO.setBomId(o.getBomId()); pgMasterLineDO.setBomId(o.getBomId());
pgMasterLineDO.setBomName("BOM-"+o.getProjectSubShortName()); pgMasterLineDO.setBomName(o.getProjectSubShortName());
pgMasterLineDO.setBomNumber("BOM-"+o.getProjectSubShortName()); pgMasterLineDO.setBomNumber(o.getProjectSubShortName());
pgMasterLineDO.setBomNo(o.getVersion()); pgMasterLineDO.setBomNo(o.getVersion());
pgMasterLineDO.setProjectSubId(o.getProjectSubId()); pgMasterLineDO.setProjectSubId(o.getProjectSubId());
pgMasterLineDO.setProjectSubName(o.getProjectSubShortName()); pgMasterLineDO.setProjectSubName(o.getProjectSubShortName());

View File

@ -667,7 +667,7 @@ public class ProcessBomServiceImpl implements ProcessBomService {
// for (StorageLogNowDO storageLogNowDO : pageResult) { // for (StorageLogNowDO storageLogNowDO : pageResult) {
bdgzsomthingDO BdgzsomthingDO = new bdgzsomthingDO(); bdgzsomthingDO BdgzsomthingDO = new bdgzsomthingDO();
BdgzsomthingDO.setThingname(attentiontodoRespVO.getEvent());//事件名称 BdgzsomthingDO.setThingname(attentiontodoRespVO.getEvent());//事件名称
BdgzsomthingDO.setThings("BOM" + updateObj.getProjectSubCode() + "审核已通过,请推送任务通知单");//事件名称 BdgzsomthingDO.setThings( updateObj.getProjectSubCode() + "审核已通过,请推送任务通知单");//事件名称
BdgzsomthingDO.setAttr2(getplanid.getPlanNo());//跳转携带参数 BdgzsomthingDO.setAttr2(getplanid.getPlanNo());//跳转携带参数
BdgzsomthingDO.setAttr3(getplanid.getPlanNo());//独特标识 BdgzsomthingDO.setAttr3(getplanid.getPlanNo());//独特标识
// BdgzsomthingDO.setClicktime(attentiontodoRespVO.getRemindtime());//提醒周期 // BdgzsomthingDO.setClicktime(attentiontodoRespVO.getRemindtime());//提醒周期
@ -723,7 +723,7 @@ public class ProcessBomServiceImpl implements ProcessBomService {
updateObj.setBomStatus(ProcessBomStatusEnum.valueOf(updateReqVO.getActive()).getCode()); updateObj.setBomStatus(ProcessBomStatusEnum.valueOf(updateReqVO.getActive()).getCode());
} }
if (updateReqVO.getProjectSubCode() != null){ if (updateReqVO.getProjectSubCode() != null){
updateObj.setCode("BOM-"+updateReqVO.getProjectSubCode() ); updateObj.setCode(updateReqVO.getProjectSubCode() );
} }
processBomMapper.updateById(updateObj); processBomMapper.updateById(updateObj);
@ -908,7 +908,7 @@ public class ProcessBomServiceImpl implements ProcessBomService {
// for (StorageLogNowDO storageLogNowDO : pageResult) { // for (StorageLogNowDO storageLogNowDO : pageResult) {
bdgzsomthingDO BdgzsomthingDO = new bdgzsomthingDO(); bdgzsomthingDO BdgzsomthingDO = new bdgzsomthingDO();
BdgzsomthingDO.setThingname(attentiontodoRespVO.getEvent());//事件名称 BdgzsomthingDO.setThingname(attentiontodoRespVO.getEvent());//事件名称
BdgzsomthingDO.setThings("BOM" + processBomDO.getProjectSubCode() + "已变更");//事件名称 BdgzsomthingDO.setThings( processBomDO.getProjectSubCode() + "已变更");//事件名称
BdgzsomthingDO.setAttr2(processBomDO.getProjectSubCode());//跳转携带参数 BdgzsomthingDO.setAttr2(processBomDO.getProjectSubCode());//跳转携带参数
BdgzsomthingDO.setAttr3(processBomDO.getProjectSubCode());//独特标识 BdgzsomthingDO.setAttr3(processBomDO.getProjectSubCode());//独特标识
// BdgzsomthingDO.setClicktime(attentiontodoRespVO.getRemindtime());//提醒周期 // BdgzsomthingDO.setClicktime(attentiontodoRespVO.getRemindtime());//提醒周期
@ -981,7 +981,7 @@ public class ProcessBomServiceImpl implements ProcessBomService {
// for (StorageLogNowDO storageLogNowDO : pageResult) { // for (StorageLogNowDO storageLogNowDO : pageResult) {
bdgzsomthingDO BdgzsomthingDO = new bdgzsomthingDO(); bdgzsomthingDO BdgzsomthingDO = new bdgzsomthingDO();
BdgzsomthingDO.setThingname(attentiontodoRespVO.getEvent());//事件名称 BdgzsomthingDO.setThingname(attentiontodoRespVO.getEvent());//事件名称
BdgzsomthingDO.setThings("BOM" + processBomDO.getProjectSubCode() + "已提交送审");//事件名称 BdgzsomthingDO.setThings( processBomDO.getProjectSubCode() + "已提交送审");//事件名称
BdgzsomthingDO.setAttr2(processBomDO.getProjectSubCode());//跳转携带参数 BdgzsomthingDO.setAttr2(processBomDO.getProjectSubCode());//跳转携带参数
BdgzsomthingDO.setAttr3(processBomDO.getProjectSubCode());//独特标识 BdgzsomthingDO.setAttr3(processBomDO.getProjectSubCode());//独特标识
// BdgzsomthingDO.setClicktime(attentiontodoRespVO.getRemindtime());//提醒周期 // BdgzsomthingDO.setClicktime(attentiontodoRespVO.getRemindtime());//提醒周期

View File

@ -540,9 +540,11 @@ public class TaskDispatchServiceImpl implements TaskDispatchService {
@Override @Override
public PageResult<TaskDispatchDetailDO> getTaskDispatchDetailPageWx(TaskDispatchDetailPageReqVO pageReqVO) { public PageResult<TaskDispatchDetailDO> getTaskDispatchDetailPageWx(TaskDispatchDetailPageReqVO pageReqVO) {
List<FpUserDetailDO> fpUserDetailDOS = fpUserDetailMapper.selectList(new LambdaQueryWrapper<FpUserDetailDO>().eq(FpUserDetailDO::getBusyId, pageReqVO.getOwner())); List<FpUserDetailDO> fpUserDetailDOS = fpUserDetailMapper.selectList(new LambdaQueryWrapper<FpUserDetailDO>().eq(FpUserDetailDO::getBusyId, pageReqVO.getOwner()));
Set<String> postIds = new HashSet<>(); // Set<String> postIds = new HashSet<>();
// Set<String> procedureIds = new HashSet<>();
Map<String,Long> postIds = new HashMap<>();
for (FpUserDetailDO fpUserDetailDO : fpUserDetailDOS) { for (FpUserDetailDO fpUserDetailDO : fpUserDetailDOS) {
postIds.add(fpUserDetailDO.getPostId()); postIds.put(fpUserDetailDO.getPostId(), fpUserDetailDO.getProcedureId());
} }
PageResult<TaskDispatchDetailDO> taskDispatchDetailDOPageResult = taskDispatchDetailMapper.selectPageWx(pageReqVO, postIds); PageResult<TaskDispatchDetailDO> taskDispatchDetailDOPageResult = taskDispatchDetailMapper.selectPageWx(pageReqVO, postIds);
List<TaskDispatchDetailDO> list = taskDispatchDetailDOPageResult.getList(); List<TaskDispatchDetailDO> list = taskDispatchDetailDOPageResult.getList();

View File

@ -291,8 +291,7 @@ try {
public PageResult<QualityStatistics> getUnqualifiedNotificationStatisticPage(UnqualifiedNotificationPageReqVO pageReqVO) { public PageResult<QualityStatistics> getUnqualifiedNotificationStatisticPage(UnqualifiedNotificationPageReqVO pageReqVO) {
Page<QualityStatistics> page = new Page<>(pageReqVO.getPageNo(), pageReqVO.getPageSize()); Page<QualityStatistics> page = new Page<>(pageReqVO.getPageNo(), pageReqVO.getPageSize());
List<QualityStatistics> qualityStatistics = unqualifiedNotificationMapper.QualityStatistics(page, pageReqVO); List<QualityStatistics> qualityStatistics = unqualifiedNotificationMapper.QualityStatistics(page, pageReqVO);
// return new PageResult<>(qualityStatistics, page.getTotal()); return new PageResult<>(qualityStatistics, page.getTotal());
return null;
} }
} }

View File

@ -15,74 +15,77 @@
t.* t.*
FROM FROM
( (
SELECT SELECT
t.create_time as createTime, t.create_time as createTime,
t.project_name AS projectName, p.project_name AS projectName,
c.NAME AS customerName, c.NAME AS customerName,
t.project_sub_name AS projectSubName, pg.project_sub_name AS projectSubName,
t.bom_name AS bomName, pg.bom_name AS bomName,
0 AS type, 0 AS type,
CASE CASE
WHEN t.is_qua = 1 THEN WHEN t.is_qua = 1 THEN
'是' '是'
WHEN t.is_qua = 0 THEN WHEN t.is_qua = 0 THEN
'否' ELSE '未知' '否' ELSE '未知'
END AS isQua, END AS isQua,
t.amount AS amount, t.amount AS amount,
u1.nickname AS userName, u1.nickname AS userName,
DATE_FORMAT(t.create_time, '%Y-%m-%d') AS testingTime, DATE_FORMAT(t.create_time, '%Y-%m-%d') AS testingTime,
pro.NAME AS procedureName, pro.NAME AS procedureName,
u2.nickname AS auditorName, u2.nickname AS auditorName,
DATE_FORMAT(t.audit_time, '%Y-%m-%d') AS auditTime, DATE_FORMAT(t.audit_time, '%Y-%m-%d') AS auditTime,
t.audit_opinion AS auditOpinion, t.audit_opinion AS auditOpinion,
p.CODE AS projectCode, p.CODE AS projectCode,
t.project_sub_number AS projectSubNumber pg.project_sub_number AS projectSubNumber
FROM FROM
quality_pg_master_line t quality_bg_master_line t
LEFT JOIN project_sale_order p ON t.project_id = p.id left join quality_pg_master_line pg on t.zj_mx_id=pg.id
LEFT JOIN base_customer c ON p.customer_id = c.id LEFT JOIN project_sale_order p ON pg.project_id = p.id
LEFT JOIN system_users u1 ON t.detil_user = u1.id LEFT JOIN base_customer c ON p.customer_id = c.id
LEFT JOIN system_users u2 ON t.auditor = u2.id LEFT JOIN system_users u1 ON pg.detil_user = u1.id
LEFT JOIN base_procedure pro ON t.procedure_id = pro.id LEFT JOIN system_users u2 ON t.auditor = u2.id
WHERE LEFT JOIN base_procedure pro ON pg.procedure_id = pro.id
t.is_qua = 1 WHERE
AND t.deleted = 0 t.is_qua = 1
AND t.deleted = 0
UNION ALL group by t.id
SELECT UNION ALL
SELECT
t.create_time as createTime, t.create_time as createTime,
t.project_name AS projectName, pg.project_name AS projectName,
c.NAME AS customerName, c.NAME AS customerName,
t.project_sub_name AS projectSubName, pg.project_sub_name AS projectSubName,
'' AS bomName, '' AS bomName,
1 AS type, 1 AS type,
CASE CASE
WHEN t.is_qua = 1 THEN WHEN t.is_qua = 1 THEN
'是' '是'
WHEN t.is_qua = 0 THEN WHEN t.is_qua = 0 THEN
'否' ELSE '未知' '否' ELSE '未知'
END AS isQua, END AS isQua,
t.amount AS amount, t.amount AS amount,
u1.nickname AS userName, u1.nickname AS userName,
DATE_FORMAT(t.create_time, '%Y-%m-%d') AS testingTime, DATE_FORMAT(t.create_time, '%Y-%m-%d') AS testingTime,
'' AS procedureName, '' AS procedureName,
u2.nickname AS auditorName, u2.nickname AS auditorName,
DATE_FORMAT(t.audit_time, '%Y-%m-%d') AS auditTime, DATE_FORMAT(t.audit_time, '%Y-%m-%d') AS auditTime,
t.audit_opinion AS auditOpinion, t.audit_opinion AS auditOpinion,
p.CODE AS projectCode, p.CODE AS projectCode,
t.project_sub_number AS projectSubNumber pg.project_sub_number AS projectSubNumber
FROM FROM
quality_zj_pg_master_line t quality_zj_bg_master_line t
LEFT JOIN project_sale_order p ON t.project_id = p.id left join quality_zj_pg_master_line pg on t.zj_mx_id=pg.id
LEFT JOIN base_customer c ON p.customer_id = c.id LEFT JOIN project_sale_order p ON pg.project_id = p.id
LEFT JOIN system_users u1 ON t.detil_user = u1.id LEFT JOIN base_customer c ON p.customer_id = c.id
LEFT JOIN system_users u2 ON t.auditor = u2.id LEFT JOIN system_users u1 ON pg.detil_user = u1.id
WHERE LEFT JOIN system_users u2 ON t.auditor = u2.id
t.is_qua = 1 WHERE
AND t.deleted = 0 t.is_qua = 1
AND t.deleted = 0
group by t.id
) t ) t
where 1=1 where 1=1
<if test="pageReqVO.projectCode!=null and pageReqVO.projectCode!=''"> <if test="pageReqVO.projectCode!=null and pageReqVO.projectCode!=''">

View File

@ -663,7 +663,7 @@ const handlePay =async (row: any) => {
// router.push({ path: '/order/project', state: { idid: row.idid } }); // router.push({ path: '/order/project', state: { idid: row.idid } });
} }
if (row.type == '《物料需求计划》提交后') { if (row.type == '《物料需求计划》提交后') {
// await bdgzsomthingApi.deleteByIdNew(row.id); await bdgzsomthingApi.deleteByIdNew(row.id);
if (row.attr14=='0'){ if (row.attr14=='0'){
router.push({ path: '/purchase/buy', state: { idid: row.idid } }); router.push({ path: '/purchase/buy', state: { idid: row.idid } });
@ -680,6 +680,9 @@ const handlePay =async (row: any) => {
router.push({ path: '/processDesign/heli/processdesign/bomShenhe', state: { idid: row.idid } }); router.push({ path: '/processDesign/heli/processdesign/bomShenhe', state: { idid: row.idid } });
await bdgzsomthingApi.updatebdgzsomthingbyidoneandok(row.id) // await bdgzsomthingApi.updatebdgzsomthingbyidoneandok(row.id) //
} }
if (row.type == '《采购订单》到货时通知检验') {
await bdgzsomthingApi.updatebdgzsomthingbyidoneandok(row.id) //
}
if (row.type == 'BOM变更通知') { if (row.type == 'BOM变更通知') {
// router.push({ path: '/processDesign/heli/processdesign/bomShenhe', state: { idid: row.idid } }); // router.push({ path: '/processDesign/heli/processdesign/bomShenhe', state: { idid: row.idid } });
router.push({ path: '/processDesign/heli/processdesign/bom', state: { idid: row.idid } }); router.push({ path: '/processDesign/heli/processdesign/bom', state: { idid: row.idid } });

View File

@ -75,6 +75,15 @@
</el-select> </el-select>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="procedureId" min-width="200" label="工序" align="center" >
<template #default="scope">
<el-select v-model="scope.row.procedureId" element-loading-background="rgb(255, 255, 255)" filterable placeholder="请选择" >
<el-option
v-for="dict in procedureList" :key="dict.id"
:label="dict.name" :value="dict.id" />
</el-select>
</template>
</el-table-column>
<el-table-column prop="description" min-width="200" label="是否是负责人" align="center"> <el-table-column prop="description" min-width="200" label="是否是负责人" align="center">
<template #default="scope"> <template #default="scope">
<el-select v-model="scope.row.isRes" element-loading-background="rgb(255, 255, 255)" placeholder="请选择" > <el-select v-model="scope.row.isRes" element-loading-background="rgb(255, 255, 255)" placeholder="请选择" >
@ -107,12 +116,12 @@
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import * as FpUserDetailApi from '@/api/heli/fpuserdetail' import * as FpUserDetailApi from '@/api/heli/fpuserdetail'
import * as ProcedureApi from '@/api/heli/procedure'
import {ref} from "vue"; import {ref} from "vue";
import * as UserApi from "@/api/system/user"; import * as UserApi from "@/api/system/user";
import { useTagsViewStore } from '@/store/modules/tagsView' import { useTagsViewStore } from '@/store/modules/tagsView'
import router from "@/router"; import router from "@/router";
import {handleTree} from "@/utils/tree";
import {DICT_TYPE, getStrDictOptions} from "@/utils/dict"; import {DICT_TYPE, getStrDictOptions} from "@/utils/dict";
const { t } = useI18n() // const { t } = useI18n() //
@ -136,6 +145,11 @@ const formData = ref({
}) })
const formRules = reactive({ const formRules = reactive({
}) })
const queryParams = {
pageNo: 1,
pageSize: 99,
status:1
}
const isResList = ref([ const isResList = ref([
{ id: 'Y', name: '是' }, { id: 'Y', name: '是' },
{ id: 'N', name: '否' } { id: 'N', name: '否' }
@ -150,13 +164,17 @@ const typeList = ref([
{ id: 1, name: '任务单'}, { id: 1, name: '任务单'},
{ id: 2, name: '其他' } { id: 2, name: '其他' }
]); ]);
const procedureList = ref()
const formRef = ref() // Ref const formRef = ref() // Ref
onMounted(async () => { onMounted(async () => {
const data = await UserApi.getSimpleUserList() const data = await UserApi.getSimpleUserList()
userSelectList.value = data userSelectList.value = data
console.log(formData.value) const data1 = await ProcedureApi.getProcedurePage(queryParams)
procedureList.value=data1.list
formData.value.userList=await FpUserDetailApi.selectFpUserDetail(formData.value) formData.value.userList=await FpUserDetailApi.selectFpUserDetail(formData.value)
}) })
/** 打开弹窗 */ /** 打开弹窗 */
// const open = async (type: string, id?: number) => { // const open = async (type: string, id?: number) => {
// dialogVisible.value = true // dialogVisible.value = true

View File

@ -68,6 +68,7 @@
</el-table-column> </el-table-column>
<el-table-column label="业务人名称" align="center" prop="nickName" /> <el-table-column label="业务人名称" align="center" prop="nickName" />
<el-table-column label="岗位" align="center" prop="postId" /> <el-table-column label="岗位" align="center" prop="postId" />
<el-table-column label="工序" align="center" prop="procedureName" />
<el-table-column label="是否负责人" align="center" prop="isRes" > <el-table-column label="是否负责人" align="center" prop="isRes" >
<template #default="scope"> <template #default="scope">
<el-tag v-if="scope.row.isRes == 'Y'" type="success"></el-tag> <el-tag v-if="scope.row.isRes == 'Y'" type="success"></el-tag>

View File

@ -46,7 +46,7 @@
<dict-tag :type="DICT_TYPE.HELI_MAT_TYPE" :value="scope.row.matType" /> <dict-tag :type="DICT_TYPE.HELI_MAT_TYPE" :value="scope.row.matType" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="物料需求计划单号" align="center" prop="projectMaterialPlanNo" min-width="180" fixed> <el-table-column label="物料需求计划单号" align="center" prop="projectMaterialPlanNo" min-width="180" >
<template #default="scope"> <template #default="scope">
<el-button text type="primary" @click="openForm('detail', scope.row.id)"> <el-button text type="primary" @click="openForm('detail', scope.row.id)">
{{ scope.row.projectMaterialPlanNo }} {{ scope.row.projectMaterialPlanNo }}

View File

@ -46,7 +46,7 @@
<dict-tag :type="DICT_TYPE.HELI_MAT_TYPE" :value="scope.row.matType" /> <dict-tag :type="DICT_TYPE.HELI_MAT_TYPE" :value="scope.row.matType" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="物料需求计划单号" align="center" prop="projectMaterialPlanNo" min-width="180" fixed> <el-table-column label="物料需求计划单号" align="center" prop="projectMaterialPlanNo" min-width="180" >
<template #default="scope"> <template #default="scope">
<el-button text type="primary" @click="openForm('detail', scope.row.id)"> <el-button text type="primary" @click="openForm('detail', scope.row.id)">
{{ scope.row.projectMaterialPlanNo }} {{ scope.row.projectMaterialPlanNo }}

View File

@ -118,7 +118,7 @@
<el-table-column label="子项目编号" align="center" prop="projectSubCode" width="260" /> <el-table-column label="子项目编号" align="center" prop="projectSubCode" width="260" />
<el-table-column label="BOM清单号" align="center" prop="bomCode" width="180"> <el-table-column label="BOM清单号" align="center" prop="bomCode" width="180">
<template #default="scope"> <template #default="scope">
{{'BOM-'+scope.row.projectSubCode}} {{scope.row.projectSubCode}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="数量" align="center" prop="amount" width="160" /> <el-table-column label="数量" align="center" prop="amount" width="160" />

View File

@ -940,7 +940,7 @@ const queryData = async (id?: number) => {
} }
formData.value.taskDispatchDetails = await TaskDispatchApi.getTaskDispatchDetailListByDispatchIdNew(id,'ASSEMBLE'); formData.value.taskDispatchDetails = await TaskDispatchApi.getTaskDispatchDetailListByDispatchIdNew(id,'ASSEMBLE');
formData.value.bomCode = 'BOM-' + formData.value.projectSubCode formData.value.bomCode = formData.value.projectSubCode
if (formData.value.dispatchStatus == 2) { if (formData.value.dispatchStatus == 2) {
detailDisabled.value = true detailDisabled.value = true
} }

View File

@ -1312,7 +1312,7 @@ const queryData = async (id?: number) => {
} }
} }
formData.value.bomCode = 'BOM-' + formData.value.projectSubCode formData.value.bomCode = formData.value.projectSubCode
if (formData.value.dispatchStatus == 2 ) { if (formData.value.dispatchStatus == 2 ) {
detailDisabled.value = true detailDisabled.value = true
}else{ }else{

View File

@ -81,7 +81,7 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="项目编号" align="center" prop="projectCode" width="220" /> <el-table-column label="项目编号" align="center" prop="projectCode" width="220" />
<el-table-column label="子项目编号" align="center" prop="projectSubCode" width="260" /> <el-table-column label="子项目编号" align="center" prop="projectSubNumber" width="260" />
</el-table> </el-table>
<!-- 分页 --> <!-- 分页 -->

View File

@ -35,7 +35,8 @@
<view v-if="item.unReadCount>=0" class="center-msg"> <view v-if="item.unReadCount>=0" class="center-msg">
<!-- <span class="msg-text">消息通知</span> --> <!-- <span class="msg-text">消息通知</span> -->
<text class="unread-badge" v-if="item.unReadCount>0">{{ item.unReadCount }}</text> <text class="unread-badge" v-if="item.unReadCount>0">{{ item.unReadCount }}</text>
<image class="icon" :src="item.imgUrl" mode="scaleToFill"></image> <image v-if="item.auth" class="icon" :src="item.imgUrl" mode="scaleToFill"></image>
<image v-else class="icon" :src="item.defaultImgUrl" mode="scaleToFill"></image>
</view> </view>
<view v-else> <view v-else>

View File

@ -63,14 +63,14 @@ const categoryList = ref([
name: "采购单审批", name: "采购单审批",
auth: true, auth: true,
imgUrl: "/static/images/pic_cgdsp.png", imgUrl: "/static/images/pic_cgdsp.png",
defaultImgUrl: "/static/images/pic_cgdsp.png", defaultImgUrl: "/static/images/assembleReport-default.png",
}, },
{ {
path: "messageNotification", path: "messageNotification",
name: "消息通知", name: "消息通知",
auth: true, auth: true,
imgUrl: "/static/images/pic_message.png", imgUrl: "/static/images/pic_message.png",
defaultImgUrl: "", defaultImgUrl: "/static/images/assembleReport-default.png",
unReadCount: 0, // unReadCount: 0, //
}, },
]); ]);
@ -101,11 +101,14 @@ const getHomeCategory = async () => {
if (menus.length) { if (menus.length) {
const arr = []; const arr = [];
categoryList.value.forEach((e) => { categoryList.value.forEach((e) => {
if (e.path === 'cgdsp') return; // if (e.path === 'cgdsp') return;
const target = menus.find((q) => q.path == e.path); const target = menus.find((q) => q.path == e.path);
e.auth = !!target; e.auth = !!target;
}); });
} }
categoryList.value = categoryList.value.filter(item => item.auth == true);
const unReadCount = await getUnreadMessage(); const unReadCount = await getUnreadMessage();
const count = await countReview(); const count = await countReview();
// //
@ -117,11 +120,11 @@ const getHomeCategory = async () => {
); );
if (cgdsp){ if (cgdsp){
cgdsp.unReadCount = count; cgdsp.unReadCount = count;
cgdsp.auth=true // cgdsp.auth=true
} }
if (msgItem) { if (msgItem) {
msgItem.unReadCount = unReadCount; msgItem.unReadCount = unReadCount;
msgItem.auth=true // msgItem.auth=true
} }
if (loginStore.userInfo.userId) { if (loginStore.userInfo.userId) {
const obj = { const obj = {