This commit is contained in:
BinBin Song 2025-07-10 13:42:41 +08:00
commit d905d831bd
11 changed files with 246 additions and 186 deletions

View File

@ -230,4 +230,6 @@ public class MaterialPlanBoomDO extends BaseDO {
private String pnName; private String pnName;
@TableField(exist = false) @TableField(exist = false)
private BigDecimal foamPrice; private BigDecimal foamPrice;
@TableField(exist = false)
private String flag;
} }

View File

@ -234,4 +234,7 @@ public class TaskDispatchDetailDO extends BaseDO {
private String nickname; private String nickname;
private Integer reportStatus; private Integer reportStatus;
//是否泡沫 -Y -N
private String isFoam;
} }

View File

@ -218,10 +218,14 @@ public interface MaterialPlanBoomMapper extends BaseMapperX<MaterialPlanBoomDO>
.select("p.project_name as projectName","p.name as projectSubName","p.name_sim as projectSubNameSim") .select("p.project_name as projectName","p.name as projectSubName","p.name_sim as projectSubNameSim")
.select("d.spec as boomSpec","d.blueprint_no as blueprintNo","d.unit as unit","f.name as supplierName") .select("d.spec as boomSpec","d.blueprint_no as blueprintNo","d.unit as unit","f.name as supplierName")
.select("a.nickname as duEmpName","c.name as procedureName","e.name as compositionName") .select("a.nickname as duEmpName","c.name as procedureName","e.name as compositionName")
.select("m.the_weight as theWeight") .select("COALESCE(m.the_weight, t.mat_weight) as theWeight","COALESCE(m.the_weight, t.mat_weight) as theWeight")
.select("COALESCE(m.purchase_amount, t.boom_amount) AS purchaseAmounts,m.supplier_id as supplierIds,m.estimated_price as estimatedPrices") .select("COALESCE(m.purchase_amount, t.boom_amount) AS purchaseAmounts,m.supplier_id as supplierIds,m.estimated_price as estimatedPrices")
.select("m.arrive_time as arriveTimes,m.description as descriptions") .select("COALESCE(m.arrive_time, t.boom_arrive_date) as arriveTimes,COALESCE(m.description, t.description) as descriptions")
.select("m.is_foam as isFoams","m.foam_price as foamPrice") .select("m.is_foam as isFoams","m.foam_price as foamPrice")
.select("CASE \n" +
" WHEN t.is_foam = 'Y' THEN 1 \n" +
" ELSE 0 \n" +
" END AS flag")
.leftJoin(PurchaseOrderMakeDetailDO.class,"m",PurchaseOrderMakeDetailDO::getId,MaterialPlanBoomDO::getProjectPurchaseOrderMakeDetailId) .leftJoin(PurchaseOrderMakeDetailDO.class,"m",PurchaseOrderMakeDetailDO::getId,MaterialPlanBoomDO::getProjectPurchaseOrderMakeDetailId)
.select(MaterialPlanDO::getBrief, MaterialPlanDO::getCustomerId, MaterialPlanDO::getProjectId, MaterialPlanDO::getProjectNameSim) .select(MaterialPlanDO::getBrief, MaterialPlanDO::getCustomerId, MaterialPlanDO::getProjectId, MaterialPlanDO::getProjectNameSim)
.leftJoin(MaterialPlanDO.class, "p", MaterialPlanDO::getId,MaterialPlanBoomDO::getProjectMaterialPlanId) .leftJoin(MaterialPlanDO.class, "p", MaterialPlanDO::getId,MaterialPlanBoomDO::getProjectMaterialPlanId)

View File

@ -87,21 +87,21 @@ public class BgMasterLineServiceImpl implements BgMasterLineService {
wrapper.eq(TaskDispatchDetailDO::getId,pgMasterLineDO.getDispatchDetailId()); wrapper.eq(TaskDispatchDetailDO::getId,pgMasterLineDO.getDispatchDetailId());
wrapper.set(TaskDispatchDetailDO::getTestYn,"Y"); wrapper.set(TaskDispatchDetailDO::getTestYn,"Y");
taskDispatchDetailMapper.update(wrapper); taskDispatchDetailMapper.update(wrapper);
TaskDispatchDetailDO taskDispatchDetailDO = taskDispatchDetailMapper.selectById(pgMasterLineDO.getDispatchDetailId()); // TaskDispatchDetailDO taskDispatchDetailDO = taskDispatchDetailMapper.selectById(pgMasterLineDO.getDispatchDetailId());
if (ObjectUtil.isNotEmpty(taskDispatchDetailDO)){ // if (ObjectUtil.isNotEmpty(taskDispatchDetailDO)){
LambdaQueryWrapper<TaskDispatchDetailDO> wrapper1 = new LambdaQueryWrapper<>(); // LambdaQueryWrapper<TaskDispatchDetailDO> wrapper1 = new LambdaQueryWrapper<>();
wrapper1.eq(TaskDispatchDetailDO::getDispatchId, taskDispatchDetailDO.getDispatchId()); // wrapper1.eq(TaskDispatchDetailDO::getDispatchId, taskDispatchDetailDO.getDispatchId());
wrapper1.gt(TaskDispatchDetailDO::getSort, taskDispatchDetailDO.getSort()); // wrapper1.gt(TaskDispatchDetailDO::getSort, taskDispatchDetailDO.getSort());
wrapper1.eq(TaskDispatchDetailDO::getReportStatus, 0); // wrapper1.eq(TaskDispatchDetailDO::getReportStatus, 0);
wrapper1.eq(TaskDispatchDetailDO::getDeleted, 0); // wrapper1.eq(TaskDispatchDetailDO::getDeleted, 0);
wrapper1.orderByAsc(TaskDispatchDetailDO::getSort); // wrapper1.orderByAsc(TaskDispatchDetailDO::getSort);
wrapper1.last("limit 1"); // wrapper1.last("limit 1");
TaskDispatchDetailDO nextTaskDispatchDetailDO = taskDispatchDetailMapper.selectOne(wrapper1); // TaskDispatchDetailDO nextTaskDispatchDetailDO = taskDispatchDetailMapper.selectOne(wrapper1);
if (ObjectUtil.isNotEmpty(nextTaskDispatchDetailDO)){ // if (ObjectUtil.isNotEmpty(nextTaskDispatchDetailDO)){
nextTaskDispatchDetailDO.setReportStatus(1); // nextTaskDispatchDetailDO.setReportStatus(1);
taskDispatchDetailMapper.updateById(nextTaskDispatchDetailDO); // taskDispatchDetailMapper.updateById(nextTaskDispatchDetailDO);
} // }
} // }
}else{ }else{
//不相等时只更新当前报工状态 //不相等时只更新当前报工状态

View File

@ -293,6 +293,7 @@ public class MaterialPlanServiceImpl implements MaterialPlanService {
boomDO.setBoomDetailId(taskDispatchDetailDO.getBomDetailId()); boomDO.setBoomDetailId(taskDispatchDetailDO.getBomDetailId());
boomDO.setBoomAmount(new BigDecimal(taskDispatchDetailDO.getBoomAmount())); boomDO.setBoomAmount(new BigDecimal(taskDispatchDetailDO.getBoomAmount()));
boomDO.setBoomArriveDate(taskDispatchDetailDO.getBoomArriveDate()); boomDO.setBoomArriveDate(taskDispatchDetailDO.getBoomArriveDate());
// boomDO.setArriveTime(taskDispatchDetailDO.getEndTime());
boomDO.setMatName(taskDispatchDetailDO.getMaterialName()); boomDO.setMatName(taskDispatchDetailDO.getMaterialName());
boomDO.setDuEmpId(taskDispatchDetailDO.getDuEmpId()); boomDO.setDuEmpId(taskDispatchDetailDO.getDuEmpId());
boomDO.setProjectPlanSubId(taskDispatchDetailDO.getProjectSubId()); boomDO.setProjectPlanSubId(taskDispatchDetailDO.getProjectSubId());
@ -300,6 +301,7 @@ public class MaterialPlanServiceImpl implements MaterialPlanService {
boomDO.setMplanStatus(0); boomDO.setMplanStatus(0);
boomDO.setMatWeight(taskDispatchDetailDO.getMatWeight()); boomDO.setMatWeight(taskDispatchDetailDO.getMatWeight());
boomDO.setDescription(taskDispatchDetailDO.getDescription()); boomDO.setDescription(taskDispatchDetailDO.getDescription());
boomDO.setIsFoam(taskDispatchDetailDO.getIsFoam());
materialPlanBoomMapper.insert(boomDO); materialPlanBoomMapper.insert(boomDO);
materialPlanBoomDOList.add(boomDO); materialPlanBoomDOList.add(boomDO);
taskDispatchDetailDO.setProjectMaterialPlanDetailId(boomDO.getId()); taskDispatchDetailDO.setProjectMaterialPlanDetailId(boomDO.getId());

View File

@ -178,21 +178,21 @@ public class PgMasterServiceImpl implements PgMasterService {
PgMasterLineDO pgMasterLineDO = pgMasterLineMapper.selectById(id); PgMasterLineDO pgMasterLineDO = pgMasterLineMapper.selectById(id);
pgMasterLineDO.setDispatchStatus(3); pgMasterLineDO.setDispatchStatus(3);
int a = pgMasterLineMapper.updateById(pgMasterLineDO); int a = pgMasterLineMapper.updateById(pgMasterLineDO);
TaskDispatchDetailDO taskDispatchDetailDO = taskDispatchDetailMapper.selectById(pgMasterLineDO.getDispatchDetailId()); // TaskDispatchDetailDO taskDispatchDetailDO = taskDispatchDetailMapper.selectById(pgMasterLineDO.getDispatchDetailId());
if (ObjectUtil.isNotEmpty(taskDispatchDetailDO)){ // if (ObjectUtil.isNotEmpty(taskDispatchDetailDO)){
LambdaQueryWrapper<TaskDispatchDetailDO> wrapper1 = new LambdaQueryWrapper<>(); // LambdaQueryWrapper<TaskDispatchDetailDO> wrapper1 = new LambdaQueryWrapper<>();
wrapper1.eq(TaskDispatchDetailDO::getDispatchId, taskDispatchDetailDO.getDispatchId()); // wrapper1.eq(TaskDispatchDetailDO::getDispatchId, taskDispatchDetailDO.getDispatchId());
wrapper1.gt(TaskDispatchDetailDO::getSort, taskDispatchDetailDO.getSort()); // wrapper1.gt(TaskDispatchDetailDO::getSort, taskDispatchDetailDO.getSort());
wrapper1.eq(TaskDispatchDetailDO::getReportStatus, 0); // wrapper1.eq(TaskDispatchDetailDO::getReportStatus, 0);
wrapper1.eq(TaskDispatchDetailDO::getDeleted, 0); // wrapper1.eq(TaskDispatchDetailDO::getDeleted, 0);
wrapper1.orderByAsc(TaskDispatchDetailDO::getSort); // wrapper1.orderByAsc(TaskDispatchDetailDO::getSort);
wrapper1.last("limit 1"); // wrapper1.last("limit 1");
TaskDispatchDetailDO nextTaskDispatchDetailDO = taskDispatchDetailMapper.selectOne(wrapper1); // TaskDispatchDetailDO nextTaskDispatchDetailDO = taskDispatchDetailMapper.selectOne(wrapper1);
if (ObjectUtil.isNotEmpty(nextTaskDispatchDetailDO)){ // if (ObjectUtil.isNotEmpty(nextTaskDispatchDetailDO)){
nextTaskDispatchDetailDO.setReportStatus(1); // nextTaskDispatchDetailDO.setReportStatus(1);
taskDispatchDetailMapper.updateById(nextTaskDispatchDetailDO); // taskDispatchDetailMapper.updateById(nextTaskDispatchDetailDO);
} // }
} // }
// 返回 // 返回
return a; return a;
} }

View File

@ -215,13 +215,13 @@ public class TaskDispatchServiceImpl implements TaskDispatchService {
taskDispatchDetailDO.setProcedureStatus(TaskDispatchProcedureStatusEnum.SUBMITTED.getCode()); taskDispatchDetailDO.setProcedureStatus(TaskDispatchProcedureStatusEnum.SUBMITTED.getCode());
} }
if (taskDispatchDetailDO.getIsReport()==0){ // if (taskDispatchDetailDO.getIsReport()==0){
taskDispatchDetailDO.setReportStatus(1); // taskDispatchDetailDO.setReportStatus(1);
} // }
if (taskDispatchDetailDO.getIsReport()==1&& flag.get()){ // if (taskDispatchDetailDO.getIsReport()==1&& flag.get()){
flag.set(false); // flag.set(false);
taskDispatchDetailDO.setReportStatus(1); // taskDispatchDetailDO.setReportStatus(1);
} // }
}); });
} }
@ -586,11 +586,11 @@ public class TaskDispatchServiceImpl implements TaskDispatchService {
List<TaskDispatchDetailDO> taskDispatchDetailDO2 = taskDispatchDetailMapper.selectNoReportBeforeDo(taskDispatchDetailDO); List<TaskDispatchDetailDO> taskDispatchDetailDO2 = taskDispatchDetailMapper.selectNoReportBeforeDo(taskDispatchDetailDO);
if (CollUtil.isNotEmpty(taskDispatchDetailDO2)){ if (CollUtil.isNotEmpty(taskDispatchDetailDO2)){
// //
for (TaskDispatchDetailDO dispatchDetailDO : taskDispatchDetailDO2) { // for (TaskDispatchDetailDO dispatchDetailDO : taskDispatchDetailDO2) {
if (dispatchDetailDO.getTestYn() == null || !dispatchDetailDO.getTestYn().equals("Y") ){ // if (dispatchDetailDO.getTestYn() == null || !dispatchDetailDO.getTestYn().equals("Y") ){
throw exception(new ErrorCode(102223_666,dispatchDetailDO.getProcedureName() + "工序过程检没有完成,请确认!")); // throw exception(new ErrorCode(102223_666,dispatchDetailDO.getProcedureName() + "工序过程检没有完成,请确认!"));
} // }
} // }
List<TaskDispatchDetailDO> filteredList = taskDispatchDetailDO2.stream() List<TaskDispatchDetailDO> filteredList = taskDispatchDetailDO2.stream()
.filter(task -> task.getProcedureStatus() != 2) // 筛选product不为"2"的记录 .filter(task -> task.getProcedureStatus() != 2) // 筛选product不为"2"的记录
@ -643,6 +643,19 @@ public class TaskDispatchServiceImpl implements TaskDispatchService {
}}); }});
TaskDispatchDO taskDispatchDO = taskDispatchMapper.selectById(taskDispatchDetailDO.getDispatchId()); TaskDispatchDO taskDispatchDO = taskDispatchMapper.selectById(taskDispatchDetailDO.getDispatchId());
//校验如果为完成添加逻辑1生产结束 增加管控 - 如果报工数量 = 派工数量 提示报工数量num1 != 派工数量num2不允许结束
if(operate == TaskReportOperateEnum.FINISH ){
List<TaskReportDO> historyReportList = taskReportMapper.selectList(new LambdaQueryWrapper<TaskReportDO>() {{
eq(TaskReportDO::getDispatchDetailId, taskDispatchDetailDO.getId())
.ne(TaskReportDO::getAmount, 0);
}});
int historyReportAmount = historyReportList.stream().mapToInt(TaskReportDO::getAmount).sum();
if ( taskDispatchDetailDO.getAmount() != historyReportAmount){
throw exception(new ErrorCode(1_009_021,"派工数量:"+taskDispatchDetailDO.getAmount()+"不等于总报工数量:"+historyReportAmount+",不允许结束!"));
}
}
// 校验 // 校验
if(lastReportDO == null){ if(lastReportDO == null){
// 如没有未提交的记录 // 如没有未提交的记录
@ -691,17 +704,7 @@ public class TaskDispatchServiceImpl implements TaskDispatchService {
throw exception(TASK_DISPATCH_TASK_REPORT_AMOUNT_EXCESS); throw exception(TASK_DISPATCH_TASK_REPORT_AMOUNT_EXCESS);
} }
} }
//校验如果为完成添加逻辑1生产结束 增加管控 - 如果报工数量 = 派工数量 提示报工数量num1 != 派工数量num2不允许结束
if(operate == TaskReportOperateEnum.FINISH ){
List<TaskReportDO> historyReportList = taskReportMapper.selectList(new LambdaQueryWrapper<TaskReportDO>() {{
eq(TaskReportDO::getDispatchDetailId, taskDispatchDetailDO.getId())
.ne(TaskReportDO::getAmount, 0);
}});
int historyReportAmount = historyReportList.stream().mapToInt(TaskReportDO::getAmount).sum();
if ( taskDispatchDetailDO.getAmount() != historyReportAmount){
throw exception(new ErrorCode(1_009_021,"派工数量:"+taskDispatchDetailDO.getAmount()+"不等于总报工数量:"+historyReportAmount+",不允许结束!"));
}
}
} }
PlanDO planDO = planMapper.selectById(taskDispatchDO.getPlanId()); PlanDO planDO = planMapper.selectById(taskDispatchDO.getPlanId());
// 执行 // 执行
@ -900,22 +903,22 @@ public class TaskDispatchServiceImpl implements TaskDispatchService {
// planMapper.updateById(planDO); // planMapper.updateById(planDO);
// } // }
// } // }
if (ObjectUtil.isNotEmpty(taskDispatchDetailDO.getCheckYn())){ // if (ObjectUtil.isNotEmpty(taskDispatchDetailDO.getCheckYn())){
if (taskDispatchDetailDO.getCheckYn()==1&&"PRODUCTION".equals(taskDispatchDO.getDispatchType())){ // if (taskDispatchDetailDO.getCheckYn()==1&&"PRODUCTION".equals(taskDispatchDO.getDispatchType())){
LambdaQueryWrapper<TaskDispatchDetailDO> wrapper = new LambdaQueryWrapper<>(); // LambdaQueryWrapper<TaskDispatchDetailDO> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(TaskDispatchDetailDO::getDispatchId, taskDispatchDetailDO.getDispatchId()); // wrapper.eq(TaskDispatchDetailDO::getDispatchId, taskDispatchDetailDO.getDispatchId());
wrapper.gt(TaskDispatchDetailDO::getSort, taskDispatchDetailDO.getSort()); // wrapper.gt(TaskDispatchDetailDO::getSort, taskDispatchDetailDO.getSort());
wrapper.eq(TaskDispatchDetailDO::getReportStatus, 0); // wrapper.eq(TaskDispatchDetailDO::getReportStatus, 0);
wrapper.eq(TaskDispatchDetailDO::getDeleted, 0); // wrapper.eq(TaskDispatchDetailDO::getDeleted, 0);
wrapper.orderByAsc(TaskDispatchDetailDO::getSort); // wrapper.orderByAsc(TaskDispatchDetailDO::getSort);
wrapper.last("limit 1"); // wrapper.last("limit 1");
TaskDispatchDetailDO nextTaskDispatchDetailDO = taskDispatchDetailMapper.selectOne(wrapper); // TaskDispatchDetailDO nextTaskDispatchDetailDO = taskDispatchDetailMapper.selectOne(wrapper);
if (ObjectUtil.isNotEmpty(nextTaskDispatchDetailDO)){ // if (ObjectUtil.isNotEmpty(nextTaskDispatchDetailDO)){
nextTaskDispatchDetailDO.setReportStatus(1); // nextTaskDispatchDetailDO.setReportStatus(1);
} // }
taskDispatchDetailMapper.updateById(nextTaskDispatchDetailDO); // taskDispatchDetailMapper.updateById(nextTaskDispatchDetailDO);
} // }
} // }
taskDispatchDetailMapper.updateById(taskDispatchDetailDO); taskDispatchDetailMapper.updateById(taskDispatchDetailDO);
break; break;
} }
@ -1104,6 +1107,11 @@ public class TaskDispatchServiceImpl implements TaskDispatchService {
}else { }else {
item.setIsOutsourcing("N"); item.setIsOutsourcing("N");
} }
if ("true".equals(item.getIsFoam())) {
item.setIsFoam("Y");
}else {
item.setIsFoam("N");
}
}) })
.collect(Collectors.toList()); .collect(Collectors.toList());
// 分组更新与插入 // 分组更新与插入

View File

@ -175,6 +175,14 @@ const getList = async () => {
try { try {
const data = await MaterialPlanApi.getPartPage(queryParams) const data = await MaterialPlanApi.getPartPage(queryParams)
list.value = data.list list.value = data.list
list.value.forEach(item=> {
if (item.status==true){
item.boomArriveDate=item.endTime
if (item.owner!=null&&item.owner!=''){
item.duEmpId=item.owner;
}
}
})
total.value = data.total total.value = data.total
} finally { } finally {
loading.value = false loading.value = false

View File

@ -74,7 +74,7 @@
<el-table-column label="子项目名称" align="center" prop="projectSubName" min-width="180" /> <el-table-column label="子项目名称" align="center" prop="projectSubName" min-width="180" />
<el-table-column label="泡沫" align="center" prop="isFoams"> <el-table-column label="泡沫" align="center" prop="isFoams">
<template #default="{ row }"> <template #default="{ row }">
<el-checkbox v-model="row.isFoams" @change="handleOutsourcingChange(row)" :checked="row.isFoams == 'Y'"/> <el-checkbox v-model="row.isFoams" @change="handleOutsourcingChange(row)" disabled/>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column min-width="200px" align="center" > <el-table-column min-width="200px" align="center" >
@ -176,6 +176,7 @@ import * as PartPurchaseOrderApi from "@/api/heli/partpurchaseorder";
import {ElTable} from "element-plus"; import {ElTable} from "element-plus";
import {useUserStore} from "@/store/modules/user"; import {useUserStore} from "@/store/modules/user";
import SupplierSelect from "@/views/heli/hlvuestyle/supplierSelect.vue"; import SupplierSelect from "@/views/heli/hlvuestyle/supplierSelect.vue";
import {setFlagsFromString} from "node:v8";
const formLoading = ref(false) // 12 const formLoading = ref(false) // 12
const userStore = useUserStore() const userStore = useUserStore()
@ -227,6 +228,14 @@ const getList = async () => {
}else{ }else{
item.isFoams = false item.isFoams = false
} }
if (item.flag==1){
item.isFoams = true
item.isFoam = 'Y'
}else {
item.isFoams = false
item.isFoam = 'N'
}
}) })
total.value = data.total total.value = data.total
} finally { } finally {
@ -293,7 +302,6 @@ const submitForm = async () => {
message.error("采购数量为0或空"); message.error("采购数量为0或空");
break; break;
} }
console.log(list[i].isFoam)
if (list[i].isFoam==true||list[i].isFoam=='Y'){ if (list[i].isFoam==true||list[i].isFoam=='Y'){
if (list[i].foamPrice === null || list[i].foamPrice === 0) { if (list[i].foamPrice === null || list[i].foamPrice === 0) {
message.error("泡沫费用为0或空"); message.error("泡沫费用为0或空");

View File

@ -97,9 +97,9 @@
<table class="print-table"> <table class="print-table">
<colgroup> <colgroup>
<col style="width: 10%;" /> <col style="width: 10%;" />
<col style="width: 15%;" /> <col style="width: 15%;" />
<col style="width: 10%;" /> <col style="width: 10%;" />
<col style="width: 15%;" /> <col style="width: 15%;" />
<col style="width: 10%;" /> <col style="width: 10%;" />
<col style="width: 10%;" /> <col style="width: 10%;" />
<col style="width: 10%;" /> <col style="width: 10%;" />
@ -367,7 +367,7 @@ function limitTo20Chars(input) {
} }
const deleteForm = async () => { const deleteForm = async () => {
// //
await message.delConfirm() await message.delConfirm()

View File

@ -62,115 +62,115 @@ class="!w-260px" v-model="formData.requiredCompletedDate" type="date" value-form
</el-col> </el-col>
</el-row> </el-row>
</el-card> </el-card>
<el-card class="hl-card-info" v-if="dispatchType == 'ASSEMBLE'"> <!-- <el-card class="hl-card-info" v-if="dispatchType == 'ASSEMBLE'">-->
<template #header> <!-- <template #header>-->
<div class="hl-card-info-icona"></div><span class="hl-card-info-text">基础信息</span> <!-- <div class="hl-card-info-icona"></div><span class="hl-card-info-text">基础信息</span>-->
</template> <!-- </template>-->
<el-row> <!-- <el-row>-->
<el-col :span="6"> <!-- <el-col :span="6">-->
<el-form-item label="装配派工单号" prop="code"> <!-- <el-form-item label="装配派工单号" prop="code">-->
<el-input class="!w-260px" v-model="formData.code" :disabled="true" /> <!-- <el-input class="!w-260px" v-model="formData.code" :disabled="true" />-->
</el-form-item> <!-- </el-form-item>-->
</el-col> <!-- </el-col>-->
<el-col :span="6"> <!-- <el-col :span="6">-->
<el-form-item label="生产计划单号" prop="code"> <!-- <el-form-item label="生产计划单号" prop="code">-->
<el-input class="!w-260px" v-model="formData.planCode" :disabled="true" /> <!-- <el-input class="!w-260px" v-model="formData.planCode" :disabled="true" />-->
</el-form-item> <!-- </el-form-item>-->
</el-col> <!-- </el-col>-->
<el-col :span="6"> <!-- <el-col :span="6">-->
<el-form-item label="项目编号" prop="projectCode"> <!-- <el-form-item label="项目编号" prop="projectCode">-->
<el-input class="!w-260px" v-model="formData.projectCode" :disabled="true" /> <!-- <el-input class="!w-260px" v-model="formData.projectCode" :disabled="true" />-->
</el-form-item> <!-- </el-form-item>-->
</el-col> <!-- </el-col>-->
<el-col :span="6"> <!-- <el-col :span="6">-->
<el-form-item label="客户名称" prop="customerName"> <!-- <el-form-item label="客户名称" prop="customerName">-->
<el-input class="!w-260px" v-model="formData.customerName" :disabled="true" /> <!-- <el-input class="!w-260px" v-model="formData.customerName" :disabled="true" />-->
</el-form-item> <!-- </el-form-item>-->
</el-col> <!-- </el-col>-->
</el-row> <!-- </el-row>-->
<el-row> <!-- <el-row>-->
<el-col :span="6"> <!-- <el-col :span="6">-->
<el-form-item label="项目名称" prop="projectName"> <!-- <el-form-item label="项目名称" prop="projectName">-->
<el-input class="!w-260px" v-model="formData.projectName" :disabled="true" /> <!-- <el-input class="!w-260px" v-model="formData.projectName" :disabled="true" />-->
</el-form-item> <!-- </el-form-item>-->
</el-col> <!-- </el-col>-->
<el-col :span="6"> <!-- <el-col :span="6">-->
<el-form-item label="子项目名称" prop="projectSubName"> <!-- <el-form-item label="子项目名称" prop="projectSubName">-->
<el-input class="!w-260px" v-model="formData.projectSubName" :disabled="true" /> <!-- <el-input class="!w-260px" v-model="formData.projectSubName" :disabled="true" />-->
</el-form-item> <!-- </el-form-item>-->
</el-col> <!-- </el-col>-->
<el-col :span="6"> <!-- <el-col :span="6">-->
<el-form-item label="子项目编号" prop="projectSubCode"> <!-- <el-form-item label="子项目编号" prop="projectSubCode">-->
<el-input class="!w-260px" v-model="formData.projectSubCode" :disabled="true" /> <!-- <el-input class="!w-260px" v-model="formData.projectSubCode" :disabled="true" />-->
</el-form-item> <!-- </el-form-item>-->
</el-col> <!-- </el-col>-->
<el-col :span="6"> <!-- <el-col :span="6">-->
<el-form-item label="BOM清单号" prop="bomCode"> <!-- <el-form-item label="BOM清单号" prop="bomCode">-->
<el-input class="!w-260px" v-model="formData.bomCode" :disabled="true" /> <!-- <el-input class="!w-260px" v-model="formData.bomCode" :disabled="true" />-->
</el-form-item> <!-- </el-form-item>-->
</el-col> <!-- </el-col>-->
</el-row> <!-- </el-row>-->
<el-row> <!-- <el-row>-->
<el-col :span="6"> <!-- <el-col :span="6">-->
<el-form-item label="数量" prop="amount"> <!-- <el-form-item label="数量" prop="amount">-->
<el-input class="!w-260px" v-model="formData.amount" :disabled="true" /> <!-- <el-input class="!w-260px" v-model="formData.amount" :disabled="true" />-->
</el-form-item> <!-- </el-form-item>-->
</el-col> <!-- </el-col>-->
<el-col :span="6"> <!-- <el-col :span="6">-->
<el-form-item label="单位" prop="unit"> <!-- <el-form-item label="单位" prop="unit">-->
<el-select disabled v-model="formData.unit" clearable placeholder="请选择单位" class="!w-260px"> <!-- <el-select disabled v-model="formData.unit" clearable placeholder="请选择单位" class="!w-260px">-->
<el-option <!-- <el-option-->
v-for="dict in getStrDictOptions(DICT_TYPE.HELI_MATERIAL_UNIT)" :key="dict.value" <!--v-for="dict in getStrDictOptions(DICT_TYPE.HELI_MATERIAL_UNIT)" :key="dict.value"-->
:label="dict.label" :value="dict.value" /> <!-- :label="dict.label" :value="dict.value" />-->
</el-select> <!-- </el-select>-->
</el-form-item> <!-- </el-form-item>-->
</el-col> <!-- </el-col>-->
<el-col :span="6"> <!-- <el-col :span="6">-->
<el-form-item label="任务负责人" prop="ownerName"> <!-- <el-form-item label="任务负责人" prop="ownerName">-->
<el-input class="!w-260px" v-model="formData.ownerName" :disabled="true" /> <!-- <el-input class="!w-260px" v-model="formData.ownerName" :disabled="true" />-->
</el-form-item> <!-- </el-form-item>-->
</el-col> <!-- </el-col>-->
<el-col :span="6"> <!-- <el-col :span="6">-->
<el-form-item label="单据状态" prop="dispatchStatus"> <!-- <el-form-item label="单据状态" prop="dispatchStatus">-->
<el-select v-model="formData.dispatchStatus" placeholder="请选择单据状态" clearable class="!w-260px" disabled> <!-- <el-select v-model="formData.dispatchStatus" placeholder="请选择单据状态" clearable class="!w-260px" disabled>-->
<el-option <!-- <el-option-->
v-for="dict in getIntDictOptions(DICT_TYPE.HELI_DISPATCH_STATUS)" :key="dict.value" <!--v-for="dict in getIntDictOptions(DICT_TYPE.HELI_DISPATCH_STATUS)" :key="dict.value"-->
:label="dict.label" :value="dict.value" /> <!-- :label="dict.label" :value="dict.value" />-->
</el-select> <!-- </el-select>-->
</el-form-item> <!-- </el-form-item>-->
</el-col> <!-- </el-col>-->
</el-row> <!-- </el-row>-->
<el-row> <!-- <el-row>-->
<el-col :span="6"> <!-- <el-col :span="6">-->
<el-form-item label="要求开始日期" prop="requiredStartDate"> <!-- <el-form-item label="要求开始日期" prop="requiredStartDate">-->
<el-date-picker <!-- <el-date-picker-->
class="!w-260px" v-model="formData.requiredStartDate" type="date" value-format="x" <!--class="!w-260px" v-model="formData.requiredStartDate" type="date" value-format="x"-->
placeholder="要求开始日期" disabled /> <!-- placeholder="要求开始日期" disabled />-->
</el-form-item> <!-- </el-form-item>-->
</el-col> <!-- </el-col>-->
<el-col :span="6"> <!-- <el-col :span="6">-->
<el-form-item label="要求完成日期" prop="requiredStartDate"> <!-- <el-form-item label="要求完成日期" prop="requiredStartDate">-->
<el-date-picker <!-- <el-date-picker-->
class="!w-260px" v-model="formData.requiredEndDate" type="date" value-format="x" <!--class="!w-260px" v-model="formData.requiredEndDate" type="date" value-format="x"-->
placeholder="要求完成日期" disabled /> <!-- placeholder="要求完成日期" disabled />-->
</el-form-item> <!-- </el-form-item>-->
</el-col> <!-- </el-col>-->
<el-col :span="6"> <!-- <el-col :span="6">-->
<el-form-item label="创建时间" prop="createTime"> <!-- <el-form-item label="创建时间" prop="createTime">-->
<el-date-picker <!-- <el-date-picker-->
class="!w-260px" v-model="formData.createTime" type="date" value-format="x" <!--class="!w-260px" v-model="formData.createTime" type="date" value-format="x"-->
placeholder="创建时间" disabled /> <!-- placeholder="创建时间" disabled />-->
</el-form-item> <!-- </el-form-item>-->
</el-col> <!-- </el-col>-->
</el-row> <!-- </el-row>-->
<el-row> <!-- <el-row>-->
<el-col :span="12"> <!-- <el-col :span="12">-->
<el-form-item label="备注" prop="remark"> <!-- <el-form-item label="备注" prop="remark">-->
<el-input type="textarea" v-model="formData.remark" :disabled="true" /> <!-- <el-input type="textarea" v-model="formData.remark" :disabled="true" />-->
</el-form-item> <!-- </el-form-item>-->
</el-col> <!-- </el-col>-->
</el-row> <!-- </el-row>-->
</el-card> <!-- </el-card>-->
<!-- 表格类信息 --> <!-- 表格类信息 -->
<el-card class="hl-card-info"> <el-card class="hl-card-info">
<template #header> <template #header>
@ -234,6 +234,11 @@ class="!w-260px" v-model="formData.createTime" type="date" value-format="x"
</el-form-item> </el-form-item>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column fixed label="泡沫" align="center" width="60">
<template #default="{ row }">
<el-checkbox v-model="row.isFoam" @change="handleChange(row)" :disabled="row.beginProduce != 0 || row.procedureStatus != 0" v-if="procedureList.find(p => p.id == row.procedureId)?.name == '下料'"/>
</template>
</el-table-column>
<el-table-column fixed label="工序名称" align="center" prop="procedureId" width="130"> <el-table-column fixed label="工序名称" align="center" prop="procedureId" width="130">
<template #header> <span class="hl-table_header">*</span>工序名称</template> <template #header> <span class="hl-table_header">*</span>工序名称</template>
<template #default="{ row }"> <template #default="{ row }">
@ -1265,6 +1270,12 @@ const queryData = async (id?: number) => {
} else { } else {
item.isOutsourcing = false item.isOutsourcing = false
} }
if ("Y" == item.isFoam) {
item.isFoam = true
} else {
item.isFoam = false
}
procedureList.value.forEach(items =>{ procedureList.value.forEach(items =>{
if(items.id == item.procedureId){ if(items.id == item.procedureId){
checkList.value.push(items.name) checkList.value.push(items.name)
@ -1312,6 +1323,15 @@ const sureToCancle = () =>{
centerDialogVisible.value = false; centerDialogVisible.value = false;
submitForm('CANCEL_SUBMIT'); submitForm('CANCEL_SUBMIT');
} }
const handleChange= async (row: any) => {
// if(row.isFoam == false){
// row.isFoam = 'N'
// }else{
// row.isFoam = 'Y'
// }
}
const submitForm = async (operate) => { const submitForm = async (operate) => {
formData.value.active = operate formData.value.active = operate
// //
@ -1439,7 +1459,7 @@ const checkListTemp = ref([])
/** 新增按钮操作 */ /** 新增按钮操作 */
const procedureArrary = ['下料','电焊','编程','开粗','铣床','车床','磨床','数控1','数控2','刻字','网格','深钻孔','钻孔','热处理','火花'] const procedureArrary = ['下料','电焊','编程','开粗','铣床','车床','磨床','数控1','数控2','刻字','网格','深钻孔','钻孔','热处理','火花']
const onAddItem = () => { const onAddItem = () => {
console.log(formData.value.taskDispatchDetails)
// //
// //
if(checkList.value!=null&&checkList.value.length>0){ if(checkList.value!=null&&checkList.value.length>0){
@ -1558,6 +1578,11 @@ const onAddItem = () => {
var item1 = list[j]; var item1 = list[j];
if(item.procedureId == item1.procedureId){ if(item.procedureId == item1.procedureId){
item1.dispatchType = item.dispatchType item1.dispatchType = item.dispatchType
item1.summary=item.summary
item1.workTime=item.workTime
item1.checkYns=item.checkYns
item1.testYn=item.testYn
item1.checkYn=item.checkYn
} }
} }
} }