插活
This commit is contained in:
		
							parent
							
								
									181dc83d4e
								
							
						
					
					
						commit
						88529941bf
					
				@ -1,5 +1,8 @@
 | 
			
		||||
package com.chanko.yunxi.mes.module.heli.controller.admin.plansub.vo;
 | 
			
		||||
 | 
			
		||||
import cn.hutool.core.util.ObjectUtil;
 | 
			
		||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.plan.PlanDO;
 | 
			
		||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.plansubdetail.PlanSubDetailDO;
 | 
			
		||||
import lombok.*;
 | 
			
		||||
import java.util.*;
 | 
			
		||||
import io.swagger.v3.oas.annotations.media.Schema;
 | 
			
		||||
@ -82,5 +85,6 @@ public class PlanSubPageReqVO extends PageParam {
 | 
			
		||||
    @Schema(description = "创建时间")
 | 
			
		||||
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
 | 
			
		||||
    private LocalDateTime[] createTime;
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
    private String projectCode;
 | 
			
		||||
    private String projectSubName;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -69,11 +69,13 @@ public class PlanSubDetailPageReqVO extends PageParam {
 | 
			
		||||
    private String queryDate;
 | 
			
		||||
 | 
			
		||||
    @Schema(description = "项目编码", example = "26785")
 | 
			
		||||
    private Long projectCode;
 | 
			
		||||
    private String projectCode;
 | 
			
		||||
    @Schema(description = "子项目名称" ,example = "s")
 | 
			
		||||
    private String projectSubName;
 | 
			
		||||
 | 
			
		||||
    private String customerBrief;
 | 
			
		||||
    private String  projectName;
 | 
			
		||||
    private String planNo;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -219,4 +219,8 @@ public class PlanSubDO extends BaseDO {
 | 
			
		||||
    private boolean hasSaveIn3DDetail;
 | 
			
		||||
    @TableField(exist = false)
 | 
			
		||||
    private boolean hasSaveIn2DDetail;
 | 
			
		||||
    @TableField(exist = false)
 | 
			
		||||
    private String projectCode;
 | 
			
		||||
    @TableField(exist = false)
 | 
			
		||||
    private String planNo;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -2,6 +2,7 @@ package com.chanko.yunxi.mes.module.heli.dal.mysql.plansub;
 | 
			
		||||
 | 
			
		||||
import java.util.*;
 | 
			
		||||
 | 
			
		||||
import cn.hutool.core.util.ObjectUtil;
 | 
			
		||||
import cn.smallbun.screw.core.util.StringUtils;
 | 
			
		||||
import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
 | 
			
		||||
import com.chanko.yunxi.mes.framework.mybatis.core.query.LambdaQueryWrapperX;
 | 
			
		||||
@ -11,6 +12,7 @@ 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.plansubdetail.PlanSubDetailDO;
 | 
			
		||||
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;
 | 
			
		||||
@ -43,6 +45,29 @@ public interface PlanSubMapper extends BaseMapperX<PlanSubDO> {
 | 
			
		||||
        query.eq(reqVO.getProjectPlanId() != null, PlanSubDO::getProjectPlanId, reqVO.getProjectPlanId());
 | 
			
		||||
        return selectPage(reqVO, query);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    default PageResult<PlanSubDO> getPlanList(PlanSubPageReqVO reqVO) {
 | 
			
		||||
        MPJLambdaWrapper<PlanSubDO> query = new MPJLambdaWrapper<>();
 | 
			
		||||
        query.selectAll(PlanSubDO.class)
 | 
			
		||||
                .select("c.name as projectSubName")
 | 
			
		||||
                .select("b.project_name_sim as projectNameSim")
 | 
			
		||||
                .select("b.code as projectCode" )
 | 
			
		||||
                .select("a.brief as customerName")
 | 
			
		||||
                .select("p.plan_no as planNo")
 | 
			
		||||
                .leftJoin(PlanDO.class, "p", PlanDO::getId, PlanSubDO::getProjectPlanId)
 | 
			
		||||
                .leftJoin(ProjectOrderDO.class, "b", ProjectOrderDO::getId, PlanSubDO::getProjectId)
 | 
			
		||||
                .leftJoin(CustomerDO.class,"a",CustomerDO::getId,ProjectOrderDO::getCustomerId)
 | 
			
		||||
                .leftJoin(ProjectOrderSubDO.class, "c", ProjectOrderSubDO::getId, PlanSubDO::getProjectSubId)
 | 
			
		||||
                .eq(ProjectOrderDO::getDeliveryStatus,1)
 | 
			
		||||
                .disableSubLogicDel()
 | 
			
		||||
                .orderByAsc(PlanSubDO::getId)
 | 
			
		||||
        ;
 | 
			
		||||
        query.like(ObjectUtil.isNotEmpty(reqVO.getProjectCode()), PlanDO::getCode, reqVO.getProjectCode())
 | 
			
		||||
                .like(ObjectUtil.isNotEmpty(reqVO.getProjectSubName()), PlanSubDetailDO::getName, reqVO.getProjectSubName());
 | 
			
		||||
        return selectPage(reqVO, query);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    default  PlanSubDO selectById(Long id) {
 | 
			
		||||
        MPJLambdaWrapper<PlanSubDO> query = new MPJLambdaWrapper<>();
 | 
			
		||||
        query.selectAll(PlanSubDO.class)
 | 
			
		||||
 | 
			
		||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@ -27,6 +27,8 @@
 | 
			
		||||
            v-model="queryParams.beginTime"
 | 
			
		||||
            value-format="YYYY-MM-DD"
 | 
			
		||||
            type="date"
 | 
			
		||||
            clearable
 | 
			
		||||
            @change="changeBeginDate()"
 | 
			
		||||
            start-placeholder="开始日期"
 | 
			
		||||
            end-placeholder="结束日期"
 | 
			
		||||
            class="!w-280px"
 | 
			
		||||
@ -65,7 +67,7 @@
 | 
			
		||||
          <el-button @click="handleQuery" type="primary"
 | 
			
		||||
            ><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button
 | 
			
		||||
          >
 | 
			
		||||
          <el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button>
 | 
			
		||||
          <!-- <el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button> -->
 | 
			
		||||
          <el-button @click="saveForm" type="warning">保存</el-button>
 | 
			
		||||
          <el-button @click="addForm" type="success">新增</el-button>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
@ -82,13 +84,18 @@
 | 
			
		||||
        border
 | 
			
		||||
      >
 | 
			
		||||
        <el-table-column fixed label="序号" type="index" width="70" align="center" />
 | 
			
		||||
        <el-table-column fixed label="项目编码" align="center" prop="code" min-width="120" />
 | 
			
		||||
        <el-table-column fixed label="子项目名称" align="center" prop="name" min-width="250" />
 | 
			
		||||
        <el-table-column min-width="200px" align="center">
 | 
			
		||||
        <el-table-column fixed label="项目编码" align="center" prop="code" min-width="130" />
 | 
			
		||||
        <el-table-column fixed label="子项目名称" align="center" prop="name" min-width="180" />
 | 
			
		||||
        <el-table-column min-width="110px" align="center">
 | 
			
		||||
          <template #header>设计类型</template>
 | 
			
		||||
          <template #default="{ row, $index }">
 | 
			
		||||
            <el-form-item :prop="`${$index}.subType`" class="mb-0px!">
 | 
			
		||||
              <el-select class="!w-265px" v-model="row.subType" clearable filterable :disabled="row.userFlag == false">
 | 
			
		||||
              <el-select
 | 
			
		||||
                v-model="row.subType"
 | 
			
		||||
                clearable
 | 
			
		||||
                filterable
 | 
			
		||||
                :disabled="row.userFlag == false"
 | 
			
		||||
              >
 | 
			
		||||
                <el-option
 | 
			
		||||
                  v-for="dict in getStrDictOptions(DICT_TYPE.HELI_CH_PROCESS_TYPE)"
 | 
			
		||||
                  :key="dict.value"
 | 
			
		||||
@ -108,7 +115,7 @@
 | 
			
		||||
                v-model="row.twoDimOwner"
 | 
			
		||||
                clearable
 | 
			
		||||
                filterable
 | 
			
		||||
                :disabled="row.flag == 0  "
 | 
			
		||||
                :disabled="row.flag == 0"
 | 
			
		||||
              >
 | 
			
		||||
                <el-option
 | 
			
		||||
                  v-for="dict in userInit"
 | 
			
		||||
@ -120,43 +127,41 @@
 | 
			
		||||
            </el-form-item>
 | 
			
		||||
          </template>
 | 
			
		||||
        </el-table-column>
 | 
			
		||||
        <el-table-column min-width="200px" align="center">
 | 
			
		||||
        <el-table-column min-width="180px" align="center">
 | 
			
		||||
          <template #header>开始日期</template>
 | 
			
		||||
          <template #default="{ row, $index }">
 | 
			
		||||
            <el-form-item :prop="`${$index}.startTwoDimDate`" class="mb-0px!">
 | 
			
		||||
              <el-date-picker
 | 
			
		||||
                class="!w-265px"
 | 
			
		||||
                v-model="row.startTwoDimDate"
 | 
			
		||||
                type="date"
 | 
			
		||||
                @change="change1(row, 0)"
 | 
			
		||||
                value-format="x"
 | 
			
		||||
                placeholder="开始日期"
 | 
			
		||||
                :disabled="row.flag == 0  "
 | 
			
		||||
                :disabled="row.flag == 0"
 | 
			
		||||
                :disabled-date="disabledFutureDates"
 | 
			
		||||
              />
 | 
			
		||||
            </el-form-item>
 | 
			
		||||
          </template>
 | 
			
		||||
        </el-table-column>
 | 
			
		||||
        <el-table-column min-width="200px" align="center">
 | 
			
		||||
        <el-table-column min-width="180px" align="center">
 | 
			
		||||
          <template #header>结束日期</template>
 | 
			
		||||
          <template #default="{ row, $index }">
 | 
			
		||||
            <el-form-item :prop="`${$index}.twoDimDate`" class="mb-0px!">
 | 
			
		||||
              <el-date-picker
 | 
			
		||||
                class="!w-265px"
 | 
			
		||||
                v-model="row.twoDimDate"
 | 
			
		||||
                type="date"
 | 
			
		||||
                @change="change1(row, 1)"
 | 
			
		||||
                value-format="x"
 | 
			
		||||
                placeholder="结束日期"
 | 
			
		||||
                :disabled="row.flag == 0 "
 | 
			
		||||
                :disabled="row.flag == 0"
 | 
			
		||||
                :disabled-date="disabledFutureDates"
 | 
			
		||||
              />
 | 
			
		||||
            </el-form-item>
 | 
			
		||||
          </template>
 | 
			
		||||
        </el-table-column>
 | 
			
		||||
        <el-table-column label="设计天数" align="center" prop="designNum" min-width="120" />
 | 
			
		||||
        <el-table-column label="时间段顺序" align="center" prop="seqNo" min-width="120" />
 | 
			
		||||
        <el-table-column label="是否新增" align="center" prop="seqNo" min-width="120">
 | 
			
		||||
        <el-table-column label="设计天数" align="center" prop="designNum" min-width="100" />
 | 
			
		||||
        <el-table-column label="时间段顺序" align="center" prop="seqNo" min-width="110" />
 | 
			
		||||
        <el-table-column label="是否新增" align="center" prop="seqNo" min-width="100">
 | 
			
		||||
          <template #default="scope">
 | 
			
		||||
            {{ scope.row.isAdd == 1 ? '是' : '否' }}
 | 
			
		||||
          </template>
 | 
			
		||||
@ -181,99 +186,123 @@
 | 
			
		||||
 | 
			
		||||
  <!----插活弹框-->
 | 
			
		||||
  <!-- 插活弹窗 -->
 | 
			
		||||
  <el-dialog v-model="dialogVisible" width="80%" :close-on-click-modal="false">
 | 
			
		||||
    <div class="dialog-content">
 | 
			
		||||
      <!-- 第一排:当前日期信息 -->
 | 
			
		||||
      <!-- 第二排:状态标题 -->
 | 
			
		||||
      <div class="status-title">
 | 
			
		||||
        <h3>{{
 | 
			
		||||
          dialogTitle +
 | 
			
		||||
          '(当前:' +
 | 
			
		||||
          formatDate(currentRow?.startTwoDimDate, 'YYYY-MM-DD') +
 | 
			
		||||
          '至' +
 | 
			
		||||
          formatDate(currentRow?.twoDimDate, 'YYYY-MM-DD') +
 | 
			
		||||
          ')'
 | 
			
		||||
        }}</h3>
 | 
			
		||||
  <el-dialog v-model="dialogVisible" width="100%" :close-on-click-modal="false">
 | 
			
		||||
    <div class="dialog-content" style="display: flex; gap: 20px">
 | 
			
		||||
      <!-- 左侧插活前列表 -->
 | 
			
		||||
      <div style="flex: 1">
 | 
			
		||||
        <div class="status-title" style="margin-bottom: 15px">
 | 
			
		||||
          <h3>{{
 | 
			
		||||
            '当前子项目' +
 | 
			
		||||
            currentRow.name +
 | 
			
		||||
            ':' +
 | 
			
		||||
            formatDate(currentRow?.startTwoDimDate, 'YYYY-MM-DD') +
 | 
			
		||||
            '至' +
 | 
			
		||||
            formatDate(currentRow?.twoDimDate, 'YYYY-MM-DD')
 | 
			
		||||
          }}</h3>
 | 
			
		||||
          <h3>{{ '插活前' }}</h3>
 | 
			
		||||
        </div>
 | 
			
		||||
        <!-- 表格 -->
 | 
			
		||||
        <el-table
 | 
			
		||||
          v-loading="loading2"
 | 
			
		||||
          :data="beforeList"
 | 
			
		||||
          :show-overflow-tooltip="true"
 | 
			
		||||
          class="hl-table"
 | 
			
		||||
          border
 | 
			
		||||
          max-height="400"
 | 
			
		||||
        >
 | 
			
		||||
          <el-table-column fixed label="子项目名称" align="center" prop="name" min-width="120px" />
 | 
			
		||||
 | 
			
		||||
          <el-table-column min-width="50px" align="center">
 | 
			
		||||
            <template #header>设计类型</template>
 | 
			
		||||
            <template #default="{ row }">
 | 
			
		||||
              <span>{{ getDictLabel(DICT_TYPE.HELI_CH_PROCESS_TYPE, row.subType) }}</span>
 | 
			
		||||
            </template>
 | 
			
		||||
          </el-table-column>
 | 
			
		||||
 | 
			
		||||
          <el-table-column min-width="55px" align="center">
 | 
			
		||||
            <template #header>负责人</template>
 | 
			
		||||
            <template #default="{ row }">
 | 
			
		||||
              <span>{{ getUserNickname(row.twoDimOwner) }}</span>
 | 
			
		||||
            </template>
 | 
			
		||||
          </el-table-column>
 | 
			
		||||
 | 
			
		||||
          <el-table-column min-width="60px" align="center">
 | 
			
		||||
            <template #header>开始日期</template>
 | 
			
		||||
            <template #default="{ row }">
 | 
			
		||||
              <span>{{ formatDate(row.startTwoDimDate, 'YYYY-MM-DD') }}</span>
 | 
			
		||||
            </template>
 | 
			
		||||
          </el-table-column>
 | 
			
		||||
 | 
			
		||||
          <el-table-column min-width="60px" align="center">
 | 
			
		||||
            <template #header>结束日期</template>
 | 
			
		||||
            <template #default="{ row }">
 | 
			
		||||
              <span>{{ formatDate(row.twoDimDate, 'YYYY-MM-DD') }}</span>
 | 
			
		||||
            </template>
 | 
			
		||||
          </el-table-column>
 | 
			
		||||
 | 
			
		||||
          <el-table-column label="设计天数" align="center" prop="designNum" min-width="50px" />
 | 
			
		||||
          <el-table-column label="时间段顺序" align="center" prop="seqNo" min-width="60px" />
 | 
			
		||||
        </el-table>
 | 
			
		||||
      </div>
 | 
			
		||||
 | 
			
		||||
      <!-- 表格 -->
 | 
			
		||||
      <el-table
 | 
			
		||||
        v-loading="loading2"
 | 
			
		||||
        :data="insertList"
 | 
			
		||||
        :show-overflow-tooltip="true"
 | 
			
		||||
        class="hl-table"
 | 
			
		||||
        border
 | 
			
		||||
        max-height="400"
 | 
			
		||||
      >
 | 
			
		||||
        <el-table-column fixed label="序号" type="index" width="70" align="center" />
 | 
			
		||||
        <el-table-column fixed label="项目编码" align="center" prop="code" min-width="120" />
 | 
			
		||||
        <el-table-column fixed label="子项目名称" align="center" prop="name" min-width="250" />
 | 
			
		||||
        <el-table-column min-width="200px" align="center">
 | 
			
		||||
          <template #header>设计类型</template>
 | 
			
		||||
          <template #default="{ row, $index }">
 | 
			
		||||
            <el-form-item :prop="`${$index}.subType`" class="mb-0px!">
 | 
			
		||||
              <el-select class="!w-265px" v-model="row.subType" clearable filterable disabled>
 | 
			
		||||
                <el-option
 | 
			
		||||
                  v-for="dict in getStrDictOptions(DICT_TYPE.HELI_CH_PROCESS_TYPE)"
 | 
			
		||||
                  :key="dict.value"
 | 
			
		||||
                  :label="dict.label"
 | 
			
		||||
                  :value="dict.value"
 | 
			
		||||
                />
 | 
			
		||||
              </el-select>
 | 
			
		||||
            </el-form-item>
 | 
			
		||||
          </template>
 | 
			
		||||
        </el-table-column>
 | 
			
		||||
        <el-table-column min-width="200px" align="center">
 | 
			
		||||
          <template #header>负责人</template>
 | 
			
		||||
          <template #default="{ row, $index }">
 | 
			
		||||
            <el-form-item :prop="`${$index}.twoDimOwner`" class="mb-0px!">
 | 
			
		||||
              <el-select class="!w-265px" v-model="row.twoDimOwner" clearable filterable disabled>
 | 
			
		||||
                <el-option
 | 
			
		||||
                  v-for="dict in userInit"
 | 
			
		||||
                  :key="dict.id"
 | 
			
		||||
                  :label="dict.username + ' ' + dict.nickname"
 | 
			
		||||
                  :value="dict.id"
 | 
			
		||||
                />
 | 
			
		||||
              </el-select>
 | 
			
		||||
            </el-form-item>
 | 
			
		||||
          </template>
 | 
			
		||||
        </el-table-column>
 | 
			
		||||
        <el-table-column min-width="200px" align="center">
 | 
			
		||||
          <template #header>开始日期</template>
 | 
			
		||||
          <template #default="{ row, $index }">
 | 
			
		||||
            <el-form-item :prop="`${$index}.startTwoDimDate`" class="mb-0px!">
 | 
			
		||||
              <el-date-picker
 | 
			
		||||
                class="!w-265px"
 | 
			
		||||
                v-model="row.startTwoDimDate"
 | 
			
		||||
                type="date"
 | 
			
		||||
                @change="change1(row, 0)"
 | 
			
		||||
                value-format="x"
 | 
			
		||||
                placeholder="开始日期"
 | 
			
		||||
                disabled
 | 
			
		||||
                :disabled-date="disabledFutureDates"
 | 
			
		||||
              />
 | 
			
		||||
            </el-form-item>
 | 
			
		||||
          </template>
 | 
			
		||||
        </el-table-column>
 | 
			
		||||
        <el-table-column min-width="200px" align="center">
 | 
			
		||||
          <template #header>结束日期</template>
 | 
			
		||||
          <template #default="{ row, $index }">
 | 
			
		||||
            <el-form-item :prop="`${$index}.twoDimDate`" class="mb-0px!">
 | 
			
		||||
              <el-date-picker
 | 
			
		||||
                class="!w-265px"
 | 
			
		||||
                v-model="row.twoDimDate"
 | 
			
		||||
                type="date"
 | 
			
		||||
                @change="change1(row, 1)"
 | 
			
		||||
                value-format="x"
 | 
			
		||||
                placeholder="结束日期"
 | 
			
		||||
                disabled
 | 
			
		||||
                :disabled-date="disabledFutureDates"
 | 
			
		||||
              />
 | 
			
		||||
            </el-form-item>
 | 
			
		||||
          </template>
 | 
			
		||||
        </el-table-column>
 | 
			
		||||
        <el-table-column label="设计天数" align="center" prop="designNum" min-width="120" />
 | 
			
		||||
      </el-table>
 | 
			
		||||
      <!-- 右侧插活后列表 -->
 | 
			
		||||
      <div style="flex: 1">
 | 
			
		||||
        <div class="status-title" style="margin-bottom: 15px">
 | 
			
		||||
          <h3>{{
 | 
			
		||||
            '当前子项目' +
 | 
			
		||||
            currentRow.name +
 | 
			
		||||
            ':' +
 | 
			
		||||
            formatDate(currentRow?.startTwoDimDate, 'YYYY-MM-DD') +
 | 
			
		||||
            '至' +
 | 
			
		||||
            formatDate(currentRow?.twoDimDate, 'YYYY-MM-DD')
 | 
			
		||||
          }}</h3>
 | 
			
		||||
 | 
			
		||||
          <h3>{{ '插活后' }}</h3>
 | 
			
		||||
        </div>
 | 
			
		||||
        <!-- 表格 -->
 | 
			
		||||
        <el-table
 | 
			
		||||
          v-if="dialogTitle == '插活后'"
 | 
			
		||||
          v-loading="loading2"
 | 
			
		||||
          :data="insertList"
 | 
			
		||||
          :show-overflow-tooltip="true"
 | 
			
		||||
          class="hl-table"
 | 
			
		||||
          border
 | 
			
		||||
          max-height="400"
 | 
			
		||||
        >
 | 
			
		||||
          <el-table-column fixed label="子项目名称" align="center" prop="name" min-width="120px" />
 | 
			
		||||
 | 
			
		||||
          <el-table-column min-width="50px" align="center">
 | 
			
		||||
            <template #header>设计类型</template>
 | 
			
		||||
            <template #default="{ row }">
 | 
			
		||||
              <span>{{ getDictLabel(DICT_TYPE.HELI_CH_PROCESS_TYPE, row.subType) }}</span>
 | 
			
		||||
            </template>
 | 
			
		||||
          </el-table-column>
 | 
			
		||||
 | 
			
		||||
          <el-table-column min-width="55px" align="center">
 | 
			
		||||
            <template #header>负责人</template>
 | 
			
		||||
            <template #default="{ row }">
 | 
			
		||||
              <span>{{ getUserNickname(row.twoDimOwner) }}</span>
 | 
			
		||||
            </template>
 | 
			
		||||
          </el-table-column>
 | 
			
		||||
 | 
			
		||||
          <el-table-column min-width="60px" align="center">
 | 
			
		||||
            <template #header>开始日期</template>
 | 
			
		||||
            <template #default="{ row }">
 | 
			
		||||
              <span>{{ formatDate(row.startTwoDimDate, 'YYYY-MM-DD') }}</span>
 | 
			
		||||
            </template>
 | 
			
		||||
          </el-table-column>
 | 
			
		||||
 | 
			
		||||
          <el-table-column min-width="60px" align="center">
 | 
			
		||||
            <template #header>结束日期</template>
 | 
			
		||||
            <template #default="{ row }">
 | 
			
		||||
              <span>{{ formatDate(row.twoDimDate, 'YYYY-MM-DD') }}</span>
 | 
			
		||||
            </template>
 | 
			
		||||
          </el-table-column>
 | 
			
		||||
 | 
			
		||||
          <el-table-column label="设计天数" align="center" prop="designNum" min-width="50px" />
 | 
			
		||||
          <el-table-column label="时间段顺序" align="center" prop="seqNo" min-width="60px" />
 | 
			
		||||
        </el-table>
 | 
			
		||||
      </div>
 | 
			
		||||
    </div>
 | 
			
		||||
 | 
			
		||||
    <template #footer>
 | 
			
		||||
@ -288,53 +317,51 @@
 | 
			
		||||
  </el-dialog>
 | 
			
		||||
 | 
			
		||||
  <el-dialog v-model="addDialogVisible" title="新增" width="80%">
 | 
			
		||||
  <!-- 查询条件 -->
 | 
			
		||||
  <el-form inline class="mb-4">
 | 
			
		||||
    <el-form-item label="项目编码">
 | 
			
		||||
      <el-input v-model="addQueryParams.projectCode" placeholder="请输入项目编码" />
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
    <el-form-item label="子项目名称">
 | 
			
		||||
      <el-input v-model="addQueryParams.projectSubName" placeholder="请输入子项目名称" />
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
    <el-button type="primary" @click="handleAddQuery">查询</el-button>
 | 
			
		||||
  </el-form>
 | 
			
		||||
 
 | 
			
		||||
  <!-- 新增 -->
 | 
			
		||||
<el-table 
 | 
			
		||||
  :data="addList"
 | 
			
		||||
  v-loading="loading3"
 | 
			
		||||
  highlight-current-row
 | 
			
		||||
 ref="multipleTableRef" @select="handlerSelect"
 | 
			
		||||
 
 | 
			
		||||
    <!-- 查询条件 -->
 | 
			
		||||
    <el-form inline class="mb-4">
 | 
			
		||||
      <el-form-item label="项目编码">
 | 
			
		||||
        <el-input v-model="addQueryParams.projectCode" placeholder="请输入项目编码" />
 | 
			
		||||
      </el-form-item>
 | 
			
		||||
      <el-form-item label="子项目名称">
 | 
			
		||||
        <el-input v-model="addQueryParams.projectSubName" placeholder="请输入子项目名称" />
 | 
			
		||||
      </el-form-item>
 | 
			
		||||
      <el-button type="primary" @click="handleAddQuery">查询</el-button>
 | 
			
		||||
    </el-form>
 | 
			
		||||
 | 
			
		||||
    <!-- 新增 -->
 | 
			
		||||
    <el-table
 | 
			
		||||
      :data="addList"
 | 
			
		||||
      v-loading="loading3"
 | 
			
		||||
      highlight-current-row
 | 
			
		||||
      ref="multipleTableRef"
 | 
			
		||||
      @select="handlerSelect"
 | 
			
		||||
      @selection-change="handleSelectionChange"
 | 
			
		||||
       @row-click="rowClickHandle" 
 | 
			
		||||
  :row-key="row => row.id"
 | 
			
		||||
>
 | 
			
		||||
 | 
			
		||||
    <el-table-column type="selection" width="55" />
 | 
			
		||||
    <el-table-column type="index" label="序号" width="70" align="center" />
 | 
			
		||||
    <el-table-column prop="projectName" label="项目名称" min-width="180" />
 | 
			
		||||
    <el-table-column prop="code" label="项目编码" min-width="150" />
 | 
			
		||||
    <el-table-column prop="name" label="子项目名称" min-width="180" />
 | 
			
		||||
    <el-table-column prop="customerBrief" label="客户简称" min-width="150" />
 | 
			
		||||
    <el-table-column prop="planNo" label="生产计划" min-width="150" />
 | 
			
		||||
  </el-table>
 | 
			
		||||
      @row-click="rowClickHandle"
 | 
			
		||||
      :row-key="(row) => row.id"
 | 
			
		||||
    >
 | 
			
		||||
      <el-table-column type="selection" width="55" />
 | 
			
		||||
      <el-table-column type="index" label="序号" width="70" align="center" />
 | 
			
		||||
      <el-table-column prop="projectName" label="项目名称" min-width="180" />
 | 
			
		||||
      <el-table-column prop="code" label="项目编码" min-width="150" />
 | 
			
		||||
      <el-table-column prop="name" label="子项目名称" min-width="180" />
 | 
			
		||||
      <el-table-column prop="customerBrief" label="客户简称" min-width="150" />
 | 
			
		||||
      <el-table-column prop="planNo" label="生产计划" min-width="150" />
 | 
			
		||||
    </el-table>
 | 
			
		||||
    <!-- 分页 -->
 | 
			
		||||
      <Pagination
 | 
			
		||||
        :total="addtotal"
 | 
			
		||||
        v-model:page="addQueryParams.pageNo"
 | 
			
		||||
        v-model:limit="addQueryParams.pageSize"
 | 
			
		||||
        @pagination="handleAddQuery"
 | 
			
		||||
      />
 | 
			
		||||
  <!-- 底部按钮 -->
 | 
			
		||||
  <template #footer>
 | 
			
		||||
     <div class="dialog-footer" style="margin-left: 20%;">
 | 
			
		||||
    <el-button @click="handleAddCancel">取消</el-button>
 | 
			
		||||
    <el-button type="primary" @click="handleAddConfirm">确认</el-button>
 | 
			
		||||
     </div>
 | 
			
		||||
  </template>
 | 
			
		||||
</el-dialog>
 | 
			
		||||
 | 
			
		||||
    <Pagination
 | 
			
		||||
      :total="addtotal"
 | 
			
		||||
      v-model:page="addQueryParams.pageNo"
 | 
			
		||||
      v-model:limit="addQueryParams.pageSize"
 | 
			
		||||
      @pagination="handleAddQuery"
 | 
			
		||||
    />
 | 
			
		||||
    <!-- 底部按钮 -->
 | 
			
		||||
    <template #footer>
 | 
			
		||||
      <div class="dialog-footer" style="margin-left: 45%">
 | 
			
		||||
        <el-button @click="handleAddCancel">取消</el-button>
 | 
			
		||||
        <el-button type="primary" @click="handleAddConfirm">确认</el-button>
 | 
			
		||||
      </div>
 | 
			
		||||
    </template>
 | 
			
		||||
  </el-dialog>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -370,6 +397,23 @@ const queryParams = reactive({
 | 
			
		||||
  name: undefined
 | 
			
		||||
})
 | 
			
		||||
const queryFormRef = ref()
 | 
			
		||||
const changeBeginDate = () => {
 | 
			
		||||
  if (!queryParams.beginTime) {
 | 
			
		||||
    queryParams.startTime = undefined
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
// 获取字典标签
 | 
			
		||||
const getDictLabel = (dictType, value) => {
 | 
			
		||||
  const options = getStrDictOptions(dictType)
 | 
			
		||||
  const option = options.find((item) => item.value === value)
 | 
			
		||||
  return option ? option.label : value
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 根据用户ID获取昵称
 | 
			
		||||
const getUserNickname = (userId) => {
 | 
			
		||||
  const user = userInit.value.find((item) => item.id === userId)
 | 
			
		||||
  return user ? user.nickname : ''
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//弹框新增逻辑:
 | 
			
		||||
const addDialogVisible = ref(false)
 | 
			
		||||
@ -395,28 +439,28 @@ const rowClickHandle = (row) => {
 | 
			
		||||
  //             multipleTableRef.value.toggleRowSelection(row, true);
 | 
			
		||||
  //           }
 | 
			
		||||
  //       })
 | 
			
		||||
  //   } 
 | 
			
		||||
  //   }
 | 
			
		||||
  //   else {
 | 
			
		||||
  //     multipleTableRef.value.toggleRowSelection(row, true);
 | 
			
		||||
  //   }
 | 
			
		||||
  if (selectData && selectData.length == 1) {
 | 
			
		||||
        const [item] = selectData;
 | 
			
		||||
        const shouldSelect = item !== row;
 | 
			
		||||
        multipleTableRef.value.toggleRowSelection(row, shouldSelect);
 | 
			
		||||
    const [item] = selectData
 | 
			
		||||
    const shouldSelect = item !== row
 | 
			
		||||
    multipleTableRef.value.toggleRowSelection(row, shouldSelect)
 | 
			
		||||
  } else {
 | 
			
		||||
      multipleTableRef.value.toggleRowSelection(row, true);
 | 
			
		||||
    multipleTableRef.value.toggleRowSelection(row, true)
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
// 当用户手动勾选数据行的 Checkbox 时触发的事件
 | 
			
		||||
const handlerSelect = (selection, row)  => {
 | 
			
		||||
const handlerSelect = (selection, row) => {
 | 
			
		||||
  // 清除 所有勾选项
 | 
			
		||||
  multipleTableRef.value.clearSelection()
 | 
			
		||||
  if(selection.length == 0) return
 | 
			
		||||
  multipleTableRef.value.toggleRowSelection(row,true)
 | 
			
		||||
  if (selection.length == 0) return
 | 
			
		||||
  multipleTableRef.value.toggleRowSelection(row, true)
 | 
			
		||||
}
 | 
			
		||||
// 当选择项发生变化时会触发该事件
 | 
			
		||||
const  handleSelectionChange = (val) => {
 | 
			
		||||
  console.log('表格的选中 可以获得当前选中的数据',val);
 | 
			
		||||
const handleSelectionChange = (val) => {
 | 
			
		||||
  console.log('表格的选中 可以获得当前选中的数据', val)
 | 
			
		||||
  selectedAddRow.value = val
 | 
			
		||||
}
 | 
			
		||||
// 新增按钮方法
 | 
			
		||||
@ -425,38 +469,38 @@ const addForm = () => {
 | 
			
		||||
  getAddList()
 | 
			
		||||
  addDialogVisible.value = true
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
 | 
			
		||||
// 重置新增表单
 | 
			
		||||
const resetAddForm = () => {
 | 
			
		||||
  addQueryParams.projectCode = ''
 | 
			
		||||
  addQueryParams.projectSubName = ''
 | 
			
		||||
  selectedAddRow.value = null
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
 | 
			
		||||
// 获取可选项目列表
 | 
			
		||||
const getAddList = async () => {
 | 
			
		||||
  try {
 | 
			
		||||
    loading3.value = true;
 | 
			
		||||
    loading3.value = true
 | 
			
		||||
    const params = {
 | 
			
		||||
      projectCode: addQueryParams.projectCode,
 | 
			
		||||
      projectSubName: addQueryParams.projectSubName
 | 
			
		||||
    }
 | 
			
		||||
    const res = await PlansubdetailApi.pageAddList(params)
 | 
			
		||||
    console.log(res)
 | 
			
		||||
    addList.value = res.list;
 | 
			
		||||
    addtotal.value = res.total;
 | 
			
		||||
    addList.value = res.list
 | 
			
		||||
    addtotal.value = res.total
 | 
			
		||||
  } catch (error) {
 | 
			
		||||
    message.error('获取项目列表失败:' + error.message)
 | 
			
		||||
  }finally{
 | 
			
		||||
     loading3.value = false;
 | 
			
		||||
  } finally {
 | 
			
		||||
    loading3.value = false
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
 | 
			
		||||
// 行选择处理
 | 
			
		||||
const handleRowSelect = (row) => {
 | 
			
		||||
  selectedAddRow.value = row
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
 | 
			
		||||
// 取消新增
 | 
			
		||||
const handleAddCancel = () => {
 | 
			
		||||
  ElMessageBox.confirm('是否退出新增?', '提示', {
 | 
			
		||||
@ -469,13 +513,13 @@ const handleAddCancel = () => {
 | 
			
		||||
    })
 | 
			
		||||
    .catch(() => {})
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
 | 
			
		||||
// 确认新增
 | 
			
		||||
const handleAddConfirm = () => {
 | 
			
		||||
  for(var i = 0 ; i < list.value.length ; i++ ){
 | 
			
		||||
    var item = list.value[i];
 | 
			
		||||
    if(!item.id){
 | 
			
		||||
      message.warning('列表中存在未保存数据,请确认!');
 | 
			
		||||
  for (var i = 0; i < list.value.length; i++) {
 | 
			
		||||
    var item = list.value[i]
 | 
			
		||||
    if (!item.id) {
 | 
			
		||||
      message.warning('列表中存在未保存数据,请确认!')
 | 
			
		||||
      return
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
@ -483,21 +527,21 @@ const handleAddConfirm = () => {
 | 
			
		||||
    message.warning('请先选择要添加的项目')
 | 
			
		||||
    return
 | 
			
		||||
  }
 | 
			
		||||
   selectedAddRow.value[0].twoDimDate = null;
 | 
			
		||||
  selectedAddRow.value[0].startTwoDimDate = null;
 | 
			
		||||
  selectedAddRow.value[0].twoDimOwner = null;
 | 
			
		||||
  selectedAddRow.value[0].subType = null;
 | 
			
		||||
  selectedAddRow.value[0].designNum = null;
 | 
			
		||||
  selectedAddRow.value[0].seqNo = null;
 | 
			
		||||
  selectedAddRow.value[0].isAdd = 1;
 | 
			
		||||
  selectedAddRow.value[0].flag = 1;
 | 
			
		||||
  selectedAddRow.value[0].userFlag = true;
 | 
			
		||||
    selectedAddRow.value[0].id = null;
 | 
			
		||||
  selectedAddRow.value[0].twoDimDate = null
 | 
			
		||||
  selectedAddRow.value[0].startTwoDimDate = null
 | 
			
		||||
  selectedAddRow.value[0].twoDimOwner = null
 | 
			
		||||
  selectedAddRow.value[0].subType = null
 | 
			
		||||
  selectedAddRow.value[0].designNum = null
 | 
			
		||||
  selectedAddRow.value[0].seqNo = null
 | 
			
		||||
  selectedAddRow.value[0].isAdd = 1
 | 
			
		||||
  selectedAddRow.value[0].flag = 1
 | 
			
		||||
  selectedAddRow.value[0].userFlag = true
 | 
			
		||||
  selectedAddRow.value[0].id = null
 | 
			
		||||
  list.value.push(selectedAddRow.value[0])
 | 
			
		||||
  addDialogVisible.value = false
 | 
			
		||||
  message.success('项目添加成功')
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
 | 
			
		||||
// 查询按钮操作
 | 
			
		||||
const handleAddQuery = () => {
 | 
			
		||||
  getAddList()
 | 
			
		||||
@ -513,18 +557,30 @@ const saveForm = async () => {
 | 
			
		||||
  try {
 | 
			
		||||
    if (list.value) {
 | 
			
		||||
      loading.value = true
 | 
			
		||||
      for(var i = 0 ; i < list.value.length ;i++){
 | 
			
		||||
      for (var i = 0; i < list.value.length; i++) {
 | 
			
		||||
        var item = list.value[i]
 | 
			
		||||
        if (item.isOverProcess) {
 | 
			
		||||
          item.isOverProcess = 1
 | 
			
		||||
        } else {
 | 
			
		||||
          item.isOverProcess = 0
 | 
			
		||||
        }
 | 
			
		||||
        if(!item.id){
 | 
			
		||||
        if (!item.id) {
 | 
			
		||||
          console.log(item)
 | 
			
		||||
          var type = ("BLUEPRINT_WORKBLANK" == (item.subType))?"毛坯":("BLUEPRINT_2D" == (item.subType))?"2D":("BLUEPRINT_3D" == (item.subType))?'3D':'新增数据';
 | 
			
		||||
          var type =
 | 
			
		||||
            'BLUEPRINT_WORKBLANK' == item.subType
 | 
			
		||||
              ? '毛坯'
 | 
			
		||||
              : 'BLUEPRINT_2D' == item.subType
 | 
			
		||||
              ? '2D'
 | 
			
		||||
              : 'BLUEPRINT_3D' == item.subType
 | 
			
		||||
              ? '3D'
 | 
			
		||||
              : '新增数据'
 | 
			
		||||
 | 
			
		||||
          message.error('该子项目'+item.name+(type == '新增数据'?'新增数据':'设计类型:'+type)+' ,没有保存请确认!')
 | 
			
		||||
          message.error(
 | 
			
		||||
            '该子项目' +
 | 
			
		||||
              item.name +
 | 
			
		||||
              (type == '新增数据' ? '新增数据' : '设计类型:' + type) +
 | 
			
		||||
              ' ,没有保存请确认!'
 | 
			
		||||
          )
 | 
			
		||||
          return
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
@ -539,7 +595,7 @@ const saveForm = async () => {
 | 
			
		||||
    } else {
 | 
			
		||||
      message.error('失败:当前页面无数据可供保存')
 | 
			
		||||
    }
 | 
			
		||||
         reload() // 刷新列表
 | 
			
		||||
    reload() // 刷新列表
 | 
			
		||||
  } catch (error) {
 | 
			
		||||
    message.error('失败:' + error.message)
 | 
			
		||||
  } finally {
 | 
			
		||||
@ -569,13 +625,14 @@ const dialogVisible = ref(false)
 | 
			
		||||
const dialogTitle = ref('插活前')
 | 
			
		||||
const currentRow = ref(null)
 | 
			
		||||
const insertList = ref([])
 | 
			
		||||
 | 
			
		||||
const beforeList = ref([])
 | 
			
		||||
const modification = async (row) => {
 | 
			
		||||
  var data = row as unknown as PlansubdetailApi.PlanSubDetailVO
 | 
			
		||||
  const res = await PlansubdetailApi.modificationPlanSubDetail(data)
 | 
			
		||||
  if (res.list) {
 | 
			
		||||
    //弹框
 | 
			
		||||
    currentRow.value = row
 | 
			
		||||
    beforeList.value = res.list
 | 
			
		||||
    insertList.value = res.list
 | 
			
		||||
    dialogVisible.value = true
 | 
			
		||||
    dialogTitle.value = '插活前'
 | 
			
		||||
@ -586,37 +643,54 @@ const modification = async (row) => {
 | 
			
		||||
 | 
			
		||||
// 新增行方法
 | 
			
		||||
const addItemRow = (row) => {
 | 
			
		||||
  if(row.id){
 | 
			
		||||
  if (row.id) {
 | 
			
		||||
     for (var i = 0; i < list.value.length; i++) {
 | 
			
		||||
        var item = list.value[i]
 | 
			
		||||
        if (item.isOverProcess) {
 | 
			
		||||
          item.isOverProcess = 1
 | 
			
		||||
        } else {
 | 
			
		||||
          item.isOverProcess = 0
 | 
			
		||||
        }
 | 
			
		||||
        if (!item.id) {
 | 
			
		||||
          console.log(item)
 | 
			
		||||
          var type =
 | 
			
		||||
            'BLUEPRINT_WORKBLANK' == item.subType
 | 
			
		||||
              ? '毛坯'
 | 
			
		||||
              : 'BLUEPRINT_2D' == item.subType
 | 
			
		||||
              ? '2D'
 | 
			
		||||
              : 'BLUEPRINT_3D' == item.subType
 | 
			
		||||
              ? '3D'
 | 
			
		||||
              : '新增数据'
 | 
			
		||||
 | 
			
		||||
          message.error(
 | 
			
		||||
            '该子项目' +
 | 
			
		||||
              item.name +
 | 
			
		||||
              (type == '新增数据' ? '新增数据' : '设计类型:' + type) +
 | 
			
		||||
              ' ,没有保存请确认!'
 | 
			
		||||
          )
 | 
			
		||||
          return
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    // 创建新行数据,复制当前行的所有属性
 | 
			
		||||
  const newRow = {
 | 
			
		||||
    ...row,
 | 
			
		||||
    // 清空或重置特定字段
 | 
			
		||||
    id: null, // 新增行id为空
 | 
			
		||||
    startTwoDimDate: undefined, // 开始日期为空
 | 
			
		||||
    twoDimDate: undefined, // 结束日期为空
 | 
			
		||||
    designNum: undefined, // 设计天数为空
 | 
			
		||||
    seqNo: undefined, // 时间段顺序为空
 | 
			
		||||
    isAdd: 1, // 标记为新增行
 | 
			
		||||
    flag: 1, // 标记为可编辑状态
 | 
			
		||||
    userFlag: true
 | 
			
		||||
  }
 | 
			
		||||
    const newRow = {
 | 
			
		||||
      ...row,
 | 
			
		||||
      // 清空或重置特定字段
 | 
			
		||||
      id: null, // 新增行id为空
 | 
			
		||||
      startTwoDimDate: undefined, // 开始日期为空
 | 
			
		||||
      twoDimDate: undefined, // 结束日期为空
 | 
			
		||||
      designNum: undefined, // 设计天数为空
 | 
			
		||||
      seqNo: undefined, // 时间段顺序为空
 | 
			
		||||
      isAdd: 1, // 标记为新增行
 | 
			
		||||
      flag: 1, // 标记为可编辑状态
 | 
			
		||||
      userFlag: true
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
  // 获取当前行在列表中的索引
 | 
			
		||||
  const currentIndex = list.value.findIndex((item) => item === row)
 | 
			
		||||
      list.value.unshift(newRow)
 | 
			
		||||
 | 
			
		||||
  // 在当前行后面插入新行
 | 
			
		||||
  if (currentIndex !== -1) {
 | 
			
		||||
    list.value.splice(currentIndex + 1, 0, newRow)
 | 
			
		||||
    //message.success('新增行成功')
 | 
			
		||||
  } else {
 | 
			
		||||
    // 如果找不到当前行,添加到末尾
 | 
			
		||||
    list.value.push(newRow)
 | 
			
		||||
    message.error('该数据未保存,请确认')
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  //message.success('新增行成功')
 | 
			
		||||
  }else{
 | 
			
		||||
     message.error('该数据未保存,请确认')
 | 
			
		||||
  }
 | 
			
		||||
  
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const getSearchRlTs = async (row, startDateTime: string, endDateTime: string) => {
 | 
			
		||||
@ -758,7 +832,7 @@ const change1 = async (row: any, type: number) => {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    const time = type === 0 ? new Date(row.startTwoDimDate) : new Date(row.twoDimDate)
 | 
			
		||||
    if (!time || isNaN(time.getTime())) return
 | 
			
		||||
    if (!time || isNaN(time.getTime()) || formatDate(time, 'YYYY-MM-DD') == '1970-01-01') return
 | 
			
		||||
 | 
			
		||||
    const data = await PlansubdetailApi.getSearchRlTsS(formatDate(time, 'YYYY-MM-DD'))
 | 
			
		||||
 | 
			
		||||
@ -780,7 +854,7 @@ const change1 = async (row: any, type: number) => {
 | 
			
		||||
 | 
			
		||||
/** 搜索按钮操作 */
 | 
			
		||||
const handleQuery = () => {
 | 
			
		||||
  if (queryParams.twoDimOwner == null) {
 | 
			
		||||
  if (!queryParams.twoDimOwner) {
 | 
			
		||||
    // 使用 setTimeout 避免渲染过程中直接调用 message.error
 | 
			
		||||
    setTimeout(() => {
 | 
			
		||||
      message.error('负责人为空,请确认')
 | 
			
		||||
@ -803,7 +877,7 @@ const resetQuery = () => {
 | 
			
		||||
    code: undefined,
 | 
			
		||||
    name: undefined
 | 
			
		||||
  })
 | 
			
		||||
  getList()
 | 
			
		||||
  // getList()
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/** 初始化 **/
 | 
			
		||||
@ -811,7 +885,7 @@ onMounted(async () => {
 | 
			
		||||
  try {
 | 
			
		||||
    // 取消注释并正确初始化
 | 
			
		||||
    userInit.value = await UserApi.getDeptName('设计部')
 | 
			
		||||
    await getList()
 | 
			
		||||
    // await getList()
 | 
			
		||||
  } catch (error) {
 | 
			
		||||
    console.error('初始化失败:', error)
 | 
			
		||||
    setTimeout(() => {
 | 
			
		||||
@ -833,8 +907,9 @@ onMounted(async () => {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.status-title {
 | 
			
		||||
  margin-top: -7%;
 | 
			
		||||
  margin-bottom: 20px;
 | 
			
		||||
  text-align: center;
 | 
			
		||||
  text-align: left;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.status-title h3 {
 | 
			
		||||
@ -844,7 +919,7 @@ onMounted(async () => {
 | 
			
		||||
 | 
			
		||||
.dialog-footer {
 | 
			
		||||
  text-align: center;
 | 
			
		||||
  display: flex; 
 | 
			
		||||
  display: flex;
 | 
			
		||||
  justify-content: center;
 | 
			
		||||
  align-items: center;
 | 
			
		||||
  margin-top: 20px;
 | 
			
		||||
 | 
			
		||||
@ -643,7 +643,8 @@
 | 
			
		||||
                              row.id,
 | 
			
		||||
                              'startBlankDate',
 | 
			
		||||
                              'blankDate',
 | 
			
		||||
                              'blankNum'
 | 
			
		||||
                              'blankNum',
 | 
			
		||||
                              'start'
 | 
			
		||||
                            )
 | 
			
		||||
                          "
 | 
			
		||||
                        />
 | 
			
		||||
@ -672,7 +673,8 @@
 | 
			
		||||
                              row.id,
 | 
			
		||||
                              'startBlankDate',
 | 
			
		||||
                              'blankDate',
 | 
			
		||||
                              'blankNum'
 | 
			
		||||
                              'blankNum',
 | 
			
		||||
                              'end'
 | 
			
		||||
                            )
 | 
			
		||||
                          "
 | 
			
		||||
                        />
 | 
			
		||||
@ -731,7 +733,8 @@
 | 
			
		||||
                              row.id,
 | 
			
		||||
                              'startThreeDimDate',
 | 
			
		||||
                              'threeDimDate',
 | 
			
		||||
                              'threeDimNum'
 | 
			
		||||
                              'threeDimNum',
 | 
			
		||||
                              'start'
 | 
			
		||||
                            )
 | 
			
		||||
                          "
 | 
			
		||||
                        />
 | 
			
		||||
@ -760,7 +763,8 @@
 | 
			
		||||
                              row.id,
 | 
			
		||||
                              'startThreeDimDate',
 | 
			
		||||
                              'threeDimDate',
 | 
			
		||||
                              'threeDimNum'
 | 
			
		||||
                              'threeDimNum',
 | 
			
		||||
                              'end'
 | 
			
		||||
                            )
 | 
			
		||||
                          "
 | 
			
		||||
                        />
 | 
			
		||||
@ -818,7 +822,8 @@
 | 
			
		||||
                              row.id,
 | 
			
		||||
                              'startTwoDimDate',
 | 
			
		||||
                              'twoDimDate',
 | 
			
		||||
                              'twoDimNum'
 | 
			
		||||
                              'twoDimNum',
 | 
			
		||||
                              'start'
 | 
			
		||||
                            )
 | 
			
		||||
                          "
 | 
			
		||||
                        />
 | 
			
		||||
@ -847,7 +852,8 @@
 | 
			
		||||
                              row.id,
 | 
			
		||||
                              'startTwoDimDate',
 | 
			
		||||
                              'twoDimDate',
 | 
			
		||||
                              'twoDimNum'
 | 
			
		||||
                              'twoDimNum',
 | 
			
		||||
                              'end'
 | 
			
		||||
                            )
 | 
			
		||||
                          "
 | 
			
		||||
                        />
 | 
			
		||||
@ -1445,7 +1451,8 @@ const handleDateChange = async (
 | 
			
		||||
  id,
 | 
			
		||||
  startField,
 | 
			
		||||
  endField,
 | 
			
		||||
  dataNumField
 | 
			
		||||
  dataNumField,
 | 
			
		||||
  type
 | 
			
		||||
) => {
 | 
			
		||||
  var nowDa = new Date()
 | 
			
		||||
  var nowDataStr = nowDa.toLocaleDateString('en-CA')
 | 
			
		||||
@ -1512,8 +1519,12 @@ const handleDateChange = async (
 | 
			
		||||
  //用户选择完成后要取数据库中检索是否存在时间冲突,存在弹出插活框
 | 
			
		||||
  if (startBlankDate > blankDate) {
 | 
			
		||||
    message.error('开始时间必须早于结束时间,否则无法计算设计天数,请检查')
 | 
			
		||||
    rowData[startField] = null
 | 
			
		||||
    rowData[endField] = null
 | 
			
		||||
    if (type == 'end') {
 | 
			
		||||
      rowData[endField] = null
 | 
			
		||||
    } else {
 | 
			
		||||
      rowData[startField] = null
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    rowData[dataNumField] = null
 | 
			
		||||
    return
 | 
			
		||||
  }
 | 
			
		||||
@ -2396,11 +2407,11 @@ const submitForm = async () => {
 | 
			
		||||
    //   }
 | 
			
		||||
    //   //subData.id = subData.projectSubId
 | 
			
		||||
    // })
 | 
			
		||||
    reload()
 | 
			
		||||
    message.success(t('common.updateSuccess'))
 | 
			
		||||
    // 发送操作成功的事件
 | 
			
		||||
    // emit('success')
 | 
			
		||||
  } finally {
 | 
			
		||||
    reload()
 | 
			
		||||
    formLoading.value = false
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user