BOM名称补充
This commit is contained in:
parent
c90d1036fb
commit
ff71134a24
@ -46,6 +46,9 @@ public class PlanSubRespVO {
|
||||
@ExcelProperty("设备id")
|
||||
private Long equipId;
|
||||
|
||||
private String projectNameSim;
|
||||
|
||||
private String customerName;
|
||||
@Schema(description = "毛坯开始日期")
|
||||
@ExcelProperty("毛坯开始日期")
|
||||
private LocalDateTime startBlankDate;
|
||||
|
@ -1,5 +1,6 @@
|
||||
package com.chanko.yunxi.mes.module.heli.controller.admin.plansub.vo;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.*;
|
||||
import java.util.*;
|
||||
@ -33,6 +34,11 @@ public class PlanSubSaveReqVO {
|
||||
@Schema(description = "子项目编号")
|
||||
private String projectSubCode;
|
||||
|
||||
|
||||
private String projectNameSim;
|
||||
|
||||
private String customerName;
|
||||
|
||||
@Schema(description = "模具类型id")
|
||||
private Long mouldId;
|
||||
|
||||
|
@ -51,6 +51,7 @@ public class ProcessDesignRespVO {
|
||||
@ExcelProperty("子项目id")
|
||||
private Long projectSubId;
|
||||
|
||||
private Date lastDate;
|
||||
@Schema(description = "计划单号")
|
||||
private String planCode;
|
||||
|
||||
@ -93,7 +94,7 @@ public class ProcessDesignRespVO {
|
||||
private LocalDateTime startBlankDate;
|
||||
@Schema(description = "毛坯负责人名称")
|
||||
private String blankOwnerName;
|
||||
|
||||
private boolean isOver;
|
||||
@Schema(description = "是否延期", example = "0")
|
||||
private Integer isDelay;
|
||||
@Schema(description = "延期时间戳", example = "2023-01-02")
|
||||
|
@ -141,6 +141,11 @@ public class PlanSubDO extends BaseDO {
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private LocalDateTime startThreeDimDates;
|
||||
@TableField(exist = false)
|
||||
private String projectNameSim;
|
||||
|
||||
@TableField(exist = false)
|
||||
private String customerName;
|
||||
|
||||
/**
|
||||
* 3D结束日期
|
||||
|
@ -106,6 +106,8 @@ public class ProcessDesignDO extends BaseDO {
|
||||
@TableField(exist = false)
|
||||
private LocalDateTime startBlankDate;
|
||||
@TableField(exist = false)
|
||||
private Date lastDate;
|
||||
@TableField(exist = false)
|
||||
private String blankOwnerName;
|
||||
|
||||
@TableField(exist = false)
|
||||
@ -130,7 +132,8 @@ public class ProcessDesignDO extends BaseDO {
|
||||
|
||||
@TableField(exist = false)
|
||||
private BigDecimal progress3d;
|
||||
|
||||
@TableField(exist = false)
|
||||
private boolean isOver;
|
||||
@TableField(exist = false)
|
||||
private String projectSubName;
|
||||
|
||||
|
@ -7,11 +7,13 @@ import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
|
||||
import com.chanko.yunxi.mes.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||
import com.chanko.yunxi.mes.framework.mybatis.core.mapper.BaseMapperX;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.composition.CompositionDO;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.customer.CustomerDO;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.equip.EquipDO;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.plan.PlanDO;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.plansub.PlanSubDO;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.processbom.ProcessBomDO;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.processbom.ProcessBomDetailDO;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderDO;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderSubDO;
|
||||
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
@ -28,8 +30,12 @@ public interface PlanSubMapper extends BaseMapperX<PlanSubDO> {
|
||||
default PageResult<PlanSubDO> selectPage(PlanSubPageReqVO reqVO) {
|
||||
MPJLambdaWrapper<PlanSubDO> query = new MPJLambdaWrapper<>();
|
||||
query.selectAll(PlanSubDO.class)
|
||||
.select("a.name as projectSubName")
|
||||
.leftJoin(ProjectOrderSubDO.class, "a", ProjectOrderSubDO::getId, PlanSubDO::getProjectSubId)
|
||||
.select("c.name as projectSubName")
|
||||
.select("b.project_name_sim as projectNameSim")
|
||||
.select("a.brief as customerName")
|
||||
.leftJoin(ProjectOrderDO.class, "b", ProjectOrderDO::getId, PlanSubDO::getProjectId)
|
||||
.leftJoin(CustomerDO.class,"a",CustomerDO::getId,ProjectOrderDO::getCustomerId)
|
||||
.leftJoin(ProjectOrderSubDO.class, "c", ProjectOrderSubDO::getId, PlanSubDO::getProjectSubId)
|
||||
.disableSubLogicDel()
|
||||
.orderByAsc(PlanSubDO::getId)
|
||||
;
|
||||
@ -37,6 +43,17 @@ public interface PlanSubMapper extends BaseMapperX<PlanSubDO> {
|
||||
query.eq(reqVO.getProjectPlanId() != null, PlanSubDO::getProjectPlanId, reqVO.getProjectPlanId());
|
||||
return selectPage(reqVO, query);
|
||||
}
|
||||
default PlanSubDO selectById(Long id) {
|
||||
MPJLambdaWrapper<PlanSubDO> query = new MPJLambdaWrapper<>();
|
||||
query.selectAll(PlanSubDO.class)
|
||||
.select("b.project_name_sim as projectNameSim")
|
||||
.select("a.brief as customerName")
|
||||
.leftJoin(ProjectOrderDO.class, "b", ProjectOrderDO::getId, PlanSubDO::getProjectId)
|
||||
.leftJoin(CustomerDO.class,"a",CustomerDO::getId,ProjectOrderDO::getCustomerId)
|
||||
.eq(PlanSubDO::getId, id);
|
||||
|
||||
return selectOne(query);
|
||||
}
|
||||
default List<PlanSubDO> searchOwnerThrees(Long planId,String name,String dateOne,String dateTwo,String id,long projectPlanid) {
|
||||
MPJLambdaWrapper<PlanSubDO> query = new MPJLambdaWrapper<>();
|
||||
query.selectAll(PlanSubDO.class)
|
||||
|
@ -126,7 +126,7 @@ public interface ProcessBomMapper extends BaseMapperX<ProcessBomDO> {
|
||||
query.selectAll(ProcessBomDO.class)
|
||||
.select("concat('BOM-', 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","b.property as property")
|
||||
.select("c.brief as customerBrief,b.project_name_sim as projectNameSim,d.name_sim as subNameSim")
|
||||
.select("c.brief as customerBrief,b.project_name_sim as projectNameSim,e.project_sub_short_name as subNameSim")
|
||||
.select("d.name as projectSubName")
|
||||
.leftJoin(PlanDO.class, "a", PlanDO::getId, ProcessBomDO::getPlanId)
|
||||
.leftJoin(PlanSubDO.class, "e", PlanSubDO::getProjectSubId, ProcessBomDO::getProjectSubId)
|
||||
|
@ -32,7 +32,16 @@ public interface ProcessDesignProgressMapper extends BaseMapperX<ProcessDesignPr
|
||||
|
||||
}
|
||||
|
||||
default ProcessDesignProgressDO selectLaster(Long processId) {
|
||||
MPJLambdaWrapper<ProcessDesignProgressDO> query = new MPJLambdaWrapper<>();
|
||||
query.selectAll(ProcessDesignProgressDO.class)
|
||||
.eq(ProcessDesignProgressDO::getProcessDesignId, processId)
|
||||
.orderByDesc(ProcessDesignProgressDO::getId)
|
||||
.last("LIMIT 1")
|
||||
;
|
||||
return selectOne(query);
|
||||
|
||||
}
|
||||
default ProcessDesignProgressDO selectSumJinDu(Long processDesignId) {
|
||||
MPJLambdaWrapper<ProcessDesignProgressDO> query = new MPJLambdaWrapper<>();
|
||||
query.select("progress as progress")
|
||||
|
@ -1,8 +1,12 @@
|
||||
package com.chanko.yunxi.mes.module.heli.service.plansub;
|
||||
|
||||
import com.chanko.yunxi.mes.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||
import com.chanko.yunxi.mes.module.heli.controller.admin.shopCalendar.vo.ShopCalendarPageReqVO;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.processbom.ProcessBomDO;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.shopCalendar.ShopCalendarDO;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.mysql.processbom.ProcessBomMapper;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.mysql.shopCalendar.ShopCalendarMapper;
|
||||
import jodd.util.StringUtil;
|
||||
import org.springframework.stereotype.Service;
|
||||
import javax.annotation.Resource;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
@ -35,7 +39,8 @@ public class PlanSubServiceImpl implements PlanSubService {
|
||||
private PlanSubMapper planSubMapper;
|
||||
@Resource
|
||||
private ShopCalendarMapper shopCalendarMapper;
|
||||
|
||||
@Resource
|
||||
private ProcessBomMapper bomMapper;
|
||||
@Override
|
||||
public Long createPlanSub(PlanSubSaveReqVO createReqVO) {
|
||||
// 插入
|
||||
@ -52,6 +57,22 @@ public class PlanSubServiceImpl implements PlanSubService {
|
||||
validatePlanSubExists(updateReqVO.getId());
|
||||
// 更新
|
||||
PlanSubDO updateObj = BeanUtils.toBean(updateReqVO, PlanSubDO.class);
|
||||
if (updateReqVO.getProjectSubShortName() != null && !updateObj.getProjectSubShortName().equals("")){
|
||||
ProcessBomDO processBomDO = bomMapper.selectOne(new LambdaQueryWrapperX<ProcessBomDO>().eq(ProcessBomDO::getProjectSubId, updateObj.getProjectSubId())
|
||||
.eq(ProcessBomDO::getProjectId, updateObj.getProjectId()));
|
||||
//
|
||||
String code = "";
|
||||
if(updateObj.getCustomerName()!= null && !updateObj.getCustomerName().equals("")){
|
||||
code = updateObj.getCustomerName() + "-";
|
||||
}
|
||||
if (updateObj.getProjectNameSim() != null && !updateObj.getProjectNameSim().equals("")){
|
||||
code = code + updateObj.getProjectNameSim() + "-";
|
||||
}
|
||||
code = code + updateObj.getProjectSubShortName();
|
||||
processBomDO.setCode(code);
|
||||
bomMapper.updateById(processBomDO);
|
||||
}
|
||||
|
||||
planSubMapper.updateById(updateObj);
|
||||
}
|
||||
|
||||
|
@ -242,6 +242,14 @@ public class ProcessDesignServiceImpl implements ProcessDesignService {
|
||||
PageResult<ProcessDesignDO> processDesignDOPageResult = processDesignMapper.selectPageOverview(pageReqVO);
|
||||
if(processDesignDOPageResult.getTotal() > 0){
|
||||
processDesignDOPageResult.getList().forEach(processDesignDO -> {
|
||||
ProcessDesignProgressDO processDesignProgressDO = processDesignProgressMapper.selectLaster(processDesignDO.getId());
|
||||
if (processDesignProgressDO.getIsOver() == 1){
|
||||
processDesignDO.setOver(true);
|
||||
if(processDesignProgressDO.getEndTime() != null ){
|
||||
processDesignDO.setLastDate(processDesignProgressDO.getEndTime());
|
||||
}
|
||||
|
||||
}
|
||||
ProcessDesignPageReqVO reqVO = new ProcessDesignPageReqVO();
|
||||
reqVO.setProjectSubId(processDesignDO.getProjectSubId())
|
||||
.setProjectId(processDesignDO.getProjectId())
|
||||
@ -271,7 +279,19 @@ public class ProcessDesignServiceImpl implements ProcessDesignService {
|
||||
}
|
||||
return processDesignDOPageResult;
|
||||
}
|
||||
return processDesignMapper.selectPage(pageReqVO);
|
||||
PageResult<ProcessDesignDO> processDesignDOPageResult = processDesignMapper.selectPage(pageReqVO);
|
||||
if (processDesignDOPageResult.getTotal() > 0L){
|
||||
for (ProcessDesignDO processDesignDO : processDesignDOPageResult.getList()) {
|
||||
ProcessDesignProgressDO processDesignProgressDO = processDesignProgressMapper.selectLaster(processDesignDO.getId());
|
||||
if (processDesignProgressDO.getIsOver() == 1){
|
||||
processDesignDO.setOver(true);
|
||||
if(processDesignProgressDO.getEndTime() != null ){
|
||||
processDesignDO.setLastDate(processDesignProgressDO.getEndTime());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return processDesignDOPageResult;
|
||||
}
|
||||
|
||||
// ==================== 子表(工艺设计进度) ====================
|
||||
|
@ -79,11 +79,16 @@
|
||||
</el-table-column>
|
||||
<el-table-column fixed="right" label="2D负责人" align="center" prop="twoDimOwnerName" width="120" />
|
||||
<el-table-column fixed="right" label="2D截止日期" align="center" prop="twoDimDate" :formatter="dateFormatter2" min-width="140" />
|
||||
<el-table-column fixed="right" label="最新进度" align="center" prop="progress" min-width="120">
|
||||
<el-table-column fixed="right" label="完成情况" align="center" prop="progress" min-width="120">
|
||||
<template #default="scope">
|
||||
{{!scope.row.progress ? '' : (parseFloat(scope.row.progress) + '%')}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column fixed="right" label="最新进度" align="center" prop="progress" min-width="120">
|
||||
<template #default="scope">
|
||||
{{scope.row.isOver ? '已完成':'实施中'}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column fixed="right" label="操作" align="center" min-width="160">
|
||||
<template #default="scope">
|
||||
<el-button link type="primary" @click="openDetail('update', scope.row.id)">
|
||||
|
@ -116,9 +116,14 @@
|
||||
</el-table-column>
|
||||
<el-table-column fixed="right" label="3D负责人" align="center" prop="threeDimOwnerName" min-width="120"/>
|
||||
<el-table-column fixed="right" label="3D截止日期" align="center" prop="threeDimDate" :formatter="dateFormatter2" min-width="140"/>
|
||||
<el-table-column fixed="right" label="最新进度" align="center" prop="progress" min-width="120" >
|
||||
<el-table-column fixed="right" label="完成情况" align="center" prop="progress" min-width="120">
|
||||
<template #default="scope">
|
||||
{{!scope.row.progress ? '' : (parseFloat(scope.row.progress) + '%')}}
|
||||
{{getDetailMsg(scope.row)}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column fixed="right" label="最新进度" align="center" prop="progress" min-width="120">
|
||||
<template #default="scope">
|
||||
{{scope.row.isOver ? '已完成':'实施中'}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column fixed="right" label="操作" align="center" min-width="160">
|
||||
@ -229,7 +234,54 @@ const openDetail = (type: string, id?: number) => {
|
||||
}
|
||||
})
|
||||
}
|
||||
const getDetailMsg = (row) =>{
|
||||
if(row.isDelay == true){
|
||||
//
|
||||
if(row.threeDimDate != null ){
|
||||
//
|
||||
if(row.lastDate != null){
|
||||
if(row.lastDate > row.threeDimDate){
|
||||
const start = new Date(row.threeDimDate).getTime();
|
||||
const end = new Date(row.lastDate).getTime();
|
||||
const diffTime = Math.abs(end - start);
|
||||
var day = Math.floor(diffTime / (1000 * 60 * 60 * 24));
|
||||
return '延期' + day +'天';
|
||||
}else{
|
||||
return '延期'
|
||||
}
|
||||
|
||||
|
||||
}else{
|
||||
return '延期';
|
||||
}
|
||||
|
||||
}else{
|
||||
return '已延期';
|
||||
}
|
||||
}else{
|
||||
if(row.threeDimDate != null){
|
||||
if(row.lastDate != null){
|
||||
const start = new Date(row.threeDimDate).getTime();
|
||||
const end = new Date(row.lastDate).getTime();
|
||||
if(row.threeDimDate > row.lastDate){
|
||||
const diffTime = Math.abs(start - end);
|
||||
var day = Math.floor(diffTime / (1000 * 60 * 60 * 24));
|
||||
return '提前'+day +'天完成';
|
||||
} else if ( Math.floor((start) / (1000 * 60 * 60 * 24)) == Math.floor(end / (1000 * 60 * 60 * 24))){
|
||||
return '按计划时间完成'
|
||||
}else{
|
||||
const diffTime = Math.abs(end - start);
|
||||
var day = Math.floor(diffTime / (1000 * 60 * 60 * 24));
|
||||
return '滞后'+day +'完成';
|
||||
}
|
||||
}else{
|
||||
return '按计划实施中';
|
||||
}
|
||||
}else{
|
||||
return '按计划实施中';
|
||||
}
|
||||
}
|
||||
}
|
||||
/** 删除按钮操作 */
|
||||
const handleDelete = async (id: number) => {
|
||||
try {
|
||||
|
@ -110,9 +110,14 @@
|
||||
{{formatDate(scope.row.craftStartDate, 'YYYY-MM-DD') + '~' + formatDate(scope.row.craftEndDate, 'YYYY-MM-DD')}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column fixed="right" label="最新进度" align="center" prop="progress" min-width="120" >
|
||||
<el-table-column fixed="right" label="完成情况" align="center" prop="progress" min-width="120">
|
||||
<template #default="scope">
|
||||
{{!scope.row.progress ? '' : (parseFloat(scope.row.progress) + '%')}}
|
||||
{{getDetailMsg(scope.row)}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column fixed="right" label="最新进度" align="center" prop="progress" min-width="120">
|
||||
<template #default="scope">
|
||||
{{scope.row.isOver ? '已完成':'实施中'}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column fixed="right" label="操作" align="center" min-width="160">
|
||||
@ -197,7 +202,55 @@ const handleQuery = () => {
|
||||
queryParams.pageNo = 1
|
||||
getList()
|
||||
}
|
||||
const getDetailMsg = (row) =>{
|
||||
if(row.isDelay == true){
|
||||
//
|
||||
if(row.craftEndDate != null ){
|
||||
//
|
||||
if(row.lastDate != null){
|
||||
if(row.lastDate > row.craftEndDate){
|
||||
const start = new Date(row.craftEndDate).getTime();
|
||||
const end = new Date(row.lastDate).getTime();
|
||||
const diffTime = Math.abs(end - start);
|
||||
var day = Math.floor(diffTime / (1000 * 60 * 60 * 24));
|
||||
return '延期' + day +'天';
|
||||
}else{
|
||||
return '延期'
|
||||
}
|
||||
|
||||
|
||||
}else{
|
||||
console.log('ss')
|
||||
return '延期';
|
||||
}
|
||||
|
||||
}else{
|
||||
return '已延期';
|
||||
}
|
||||
}else{
|
||||
if(row.craftEndDate != null){
|
||||
if(row.lastDate != null){
|
||||
const start = new Date(row.craftEndDate).getTime();
|
||||
const end = new Date(row.lastDate).getTime();
|
||||
if(row.craftEndDate > row.lastDate){
|
||||
const diffTime = Math.abs(start - end);
|
||||
var day = Math.floor(diffTime / (1000 * 60 * 60 * 24));
|
||||
return '提前'+day +'天完成';
|
||||
} else if ( Math.floor((start) / (1000 * 60 * 60 * 24)) == Math.floor(end / (1000 * 60 * 60 * 24))){
|
||||
return '按计划时间完成'
|
||||
}else{
|
||||
const diffTime = Math.abs(end - start);
|
||||
var day = Math.floor(diffTime / (1000 * 60 * 60 * 24));
|
||||
return '滞后'+day +'完成';
|
||||
}
|
||||
}else{
|
||||
return '按计划实施中';
|
||||
}
|
||||
}else{
|
||||
return '按计划实施中';
|
||||
}
|
||||
}
|
||||
}
|
||||
/** 重置按钮操作 */
|
||||
const resetQuery = () => {
|
||||
queryFormRef.value.resetFields()
|
||||
|
@ -78,9 +78,14 @@
|
||||
</el-table-column>
|
||||
<el-table-column fixed="right" label="毛坯负责人" align="center" prop="blankOwnerName" min-width="120" />
|
||||
<el-table-column fixed="right" label="毛坯截止日期" align="center" prop="blankDate" :formatter="dateFormatter2" min-width="140" />
|
||||
<el-table-column fixed="right" label="完成情况" align="center" prop="progress" min-width="120">
|
||||
<template #default="scope">
|
||||
{{getDetailMsg(scope.row)}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column fixed="right" label="最新进度" align="center" prop="progress" min-width="120">
|
||||
<template #default="scope">
|
||||
{{!scope.row.progress ? '' : (parseFloat(scope.row.progress) + '%')}}
|
||||
{{scope.row.isOver ? '已完成':'实施中'}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column fixed="right" label="操作" align="center" min-width="160">
|
||||
@ -178,7 +183,54 @@ const openDetail = (type: string, id?: number) => {
|
||||
}
|
||||
})
|
||||
}
|
||||
const getDetailMsg = (row) =>{
|
||||
if(row.isDelay == true){
|
||||
//
|
||||
if(row.blankDate != null ){
|
||||
//
|
||||
if(row.lastDate != null){
|
||||
if(row.lastDate > row.blankDate){
|
||||
const start = new Date(row.blankDate).getTime();
|
||||
const end = new Date(row.lastDate).getTime();
|
||||
const diffTime = Math.abs(end - start);
|
||||
var day = Math.floor(diffTime / (1000 * 60 * 60 * 24));
|
||||
return '延期' + day +'天';
|
||||
}else{
|
||||
return '延期'
|
||||
}
|
||||
|
||||
|
||||
}else{
|
||||
return '延期';
|
||||
}
|
||||
|
||||
}else{
|
||||
return '已延期';
|
||||
}
|
||||
}else{
|
||||
if(row.blankDate != null){
|
||||
if(row.lastDate != null){
|
||||
const start = new Date(row.blankDate).getTime();
|
||||
const end = new Date(row.lastDate).getTime();
|
||||
if(row.blankDate > row.lastDate){
|
||||
const diffTime = Math.abs(start - end);
|
||||
var day = Math.floor(diffTime / (1000 * 60 * 60 * 24));
|
||||
return '提前'+day +'天完成';
|
||||
} else if ( Math.floor((start) / (1000 * 60 * 60 * 24)) == Math.floor(end / (1000 * 60 * 60 * 24))){
|
||||
return '按计划时间完成'
|
||||
}else{
|
||||
const diffTime = Math.abs(end - start);
|
||||
var day = Math.floor(diffTime / (1000 * 60 * 60 * 24));
|
||||
return '滞后'+day +'完成';
|
||||
}
|
||||
}else{
|
||||
return '按计划实施中';
|
||||
}
|
||||
}else{
|
||||
return '按计划实施中';
|
||||
}
|
||||
}
|
||||
}
|
||||
/** 删除按钮操作 */
|
||||
const handleDelete = async (id: number) => {
|
||||
try {
|
||||
|
Loading…
Reference in New Issue
Block a user