零件采购问题修改

This commit is contained in:
z 2025-07-01 08:31:18 +08:00
parent 8ecf0e1cfe
commit 8c5d56854f
9 changed files with 95 additions and 68 deletions

View File

@ -1,6 +1,7 @@
package com.chanko.yunxi.mes.module.heli.controller.admin.purchaseordermake; package com.chanko.yunxi.mes.module.heli.controller.admin.purchaseordermake;
import com.chanko.yunxi.mes.module.heli.controller.admin.purchaseordermake.vo.PartPurchaseOrderPageReqVO; import com.chanko.yunxi.mes.module.heli.controller.admin.purchaseordermake.vo.PartPurchaseOrderPageReqVO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.materialplanboom.MaterialPlanBoomDO;
import com.chanko.yunxi.mes.module.heli.service.partpurchaseorder.PartPurchaseOrderService; import com.chanko.yunxi.mes.module.heli.service.partpurchaseorder.PartPurchaseOrderService;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -136,7 +137,7 @@ public class PurchaseOrderMakeController {
@PostMapping("/createPurchaseOrderMakeAndDetail") @PostMapping("/createPurchaseOrderMakeAndDetail")
@Operation(summary = "零件采购单送审生成") @Operation(summary = "零件采购单送审生成")
@PreAuthorize("@ss.hasPermission('heli:material-plan:query')") @PreAuthorize("@ss.hasPermission('heli:material-plan:query')")
public CommonResult<Boolean> createPurchaseOrderMakeAndDetail(@Valid @RequestBody List<PurchaseOrderMakeSaveReqVO> saveReqVOs) { public CommonResult<Boolean> createPurchaseOrderMakeAndDetail(@Valid @RequestBody List<MaterialPlanBoomDO> saveReqVOs) {
return success(partPurchaseOrderService.createPurchaseOrderMakeAndDetailBatch(saveReqVOs)); return success(partPurchaseOrderService.createPurchaseOrderMakeAndDetailBatch(saveReqVOs));
} }
@GetMapping("/review") @GetMapping("/review")

View File

@ -195,5 +195,22 @@ public class MaterialPlanBoomDO extends BaseDO {
*/ */
@TableField(exist = false) @TableField(exist = false)
private String projectSubNameSim; private String projectSubNameSim;
@TableField(exist = false)
private BigDecimal purchaseAmounts;
@TableField(exist = false)
private Long supplierIds;
@TableField(exist = false)
private BigDecimal estimatedPrices;
@TableField(exist = false)
private LocalDateTime arriveTimes;
@TableField(exist = false)
private String descriptions;
@TableField(exist = false)
private BigDecimal theWeight;
/**
* 泡沫否 Y N
*/
@TableField(exist = false)
private String isFoams;
} }

View File

@ -20,6 +20,7 @@ import com.chanko.yunxi.mes.module.heli.dal.dataobject.procedure.ProcedureDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.processbom.ProcessBomDO; 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.processbom.ProcessBomDetailDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.purchaseordermakedetail.PurchaseOrderMakeDetailDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelogNow.StorageMaterialDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelogNow.StorageMaterialDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.supplier.SupplierDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.supplier.SupplierDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.taskdispatch.TaskDispatchDetailDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.taskdispatch.TaskDispatchDetailDO;
@ -209,8 +210,11 @@ 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("t.mat_weight as theWeight") .select("m.the_weight as theWeight")
.select(MaterialPlanDO::getProjectId) .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("m.is_foam as isFoams")
.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)
.leftJoin(ProcessBomDetailDO.class,"d",ProcessBomDetailDO::getId,MaterialPlanBoomDO::getBoomDetailId) .leftJoin(ProcessBomDetailDO.class,"d",ProcessBomDetailDO::getId,MaterialPlanBoomDO::getBoomDetailId)
@ -233,10 +237,11 @@ public interface MaterialPlanBoomMapper extends BaseMapperX<MaterialPlanBoomDO>
if (Objects.nonNull(pageReqVO.getMplanStatus())) { if (Objects.nonNull(pageReqVO.getMplanStatus())) {
// 根据 mplanStatus 的值动态设置排序字段 // 根据 mplanStatus 的值动态设置排序字段
if (pageReqVO.getMplanStatus() == 0) { if (pageReqVO.getMplanStatus() == 1) {
query.orderByAsc(MaterialPlanBoomDO::getCreateTime);
} else {
query.orderByDesc(MaterialPlanBoomDO::getPurchaseNo); query.orderByDesc(MaterialPlanBoomDO::getPurchaseNo);
} else {
query.orderByAsc(MaterialPlanBoomDO::getCreateTime);
} }
} }

View File

@ -5,6 +5,7 @@ import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
import com.chanko.yunxi.mes.module.heli.controller.admin.purchaseordermake.vo.PartPurchaseOrderPageReqVO; import com.chanko.yunxi.mes.module.heli.controller.admin.purchaseordermake.vo.PartPurchaseOrderPageReqVO;
import com.chanko.yunxi.mes.module.heli.controller.admin.purchaseordermake.vo.PartPurchaseOrderPageRespVO; import com.chanko.yunxi.mes.module.heli.controller.admin.purchaseordermake.vo.PartPurchaseOrderPageRespVO;
import com.chanko.yunxi.mes.module.heli.controller.admin.purchaseordermake.vo.PurchaseOrderMakeSaveReqVO; import com.chanko.yunxi.mes.module.heli.controller.admin.purchaseordermake.vo.PurchaseOrderMakeSaveReqVO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.materialplanboom.MaterialPlanBoomDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.purchaseordermake.PurchaseOrderMakeDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.purchaseordermake.PurchaseOrderMakeDO;
import java.util.List; import java.util.List;
@ -61,7 +62,7 @@ public interface PartPurchaseOrderService {
PageResult<PartPurchaseOrderPageRespVO> getDetail(PartPurchaseOrderPageReqVO partPurchaseOrderPageReqVO); PageResult<PartPurchaseOrderPageRespVO> getDetail(PartPurchaseOrderPageReqVO partPurchaseOrderPageReqVO);
Boolean createPurchaseOrderMakeAndDetailBatch(List<PurchaseOrderMakeSaveReqVO> updateReqVOs); Boolean createPurchaseOrderMakeAndDetailBatch(List<MaterialPlanBoomDO> updateReqVOs);
CommonResult<PurchaseOrderMakeDO> obtainReviewDetails(Long id); CommonResult<PurchaseOrderMakeDO> obtainReviewDetails(Long id);
} }

View File

@ -221,11 +221,7 @@ public class PartPurchaseOrderServiceImpl implements PartPurchaseOrderService{
.set("mplan_status", 3) .set("mplan_status", 3)
.set("project_purchase_order_make_id", null) .set("project_purchase_order_make_id", null)
.set("purchase_no", null) .set("purchase_no", null)
.set("project_purchase_order_make_detail_id", null) .set("project_purchase_order_make_detail_id", null);
.set("purchase_amount", BigDecimal.ZERO)
.set("estimated_price", BigDecimal.ZERO)
.set("arrive_time",null)
.set("supplier_id", null);
materialPlanBoomMapper.update(updateWrapper); materialPlanBoomMapper.update(updateWrapper);
}); });
return true; return true;
@ -259,12 +255,12 @@ public class PartPurchaseOrderServiceImpl implements PartPurchaseOrderService{
} }
@Override @Override
public Boolean createPurchaseOrderMakeAndDetailBatch(List<PurchaseOrderMakeSaveReqVO> updateReqVOs) { public Boolean createPurchaseOrderMakeAndDetailBatch(List<MaterialPlanBoomDO> updateReqVOs) {
if (CollectionUtils.isEmpty(updateReqVOs)) { if (CollectionUtils.isEmpty(updateReqVOs)) {
return false; return false;
} }
PurchaseOrderMakeSaveReqVO updateReqVO = updateReqVOs.get(0); MaterialPlanBoomDO boomDO = updateReqVOs.get(0);
PurchaseOrderMakeDO purchaseOrderMakeDO = new PurchaseOrderMakeDO(); PurchaseOrderMakeDO purchaseOrderMakeDO = new PurchaseOrderMakeDO();
// 返回 // 返回
@ -280,24 +276,22 @@ public class PartPurchaseOrderServiceImpl implements PartPurchaseOrderService{
purchaseOrderMakeDO.setStatus(1); purchaseOrderMakeDO.setStatus(1);
purchaseOrderMakeDO.setSubmitUserId(getLoginUser().getId()); purchaseOrderMakeDO.setSubmitUserId(getLoginUser().getId());
purchaseOrderMakeDO.setSubmitTime(LocalDateTime.now()); purchaseOrderMakeDO.setSubmitTime(LocalDateTime.now());
purchaseOrderMakeDO.setProjectId(updateReqVO.getProjectId()); purchaseOrderMakeDO.setProjectId(boomDO.getProjectId());
List<PlanDO> planDOs = planMapper.selectList("project_id", updateReqVO.getProjectId()); PlanDO planDO = planMapper.selectOne("project_id", boomDO.getProjectId());
if (!CollectionUtils.isEmpty(planDOs) && planDOs.get(0) != null) {
purchaseOrderMakeDO.setProjectPlanId(planDOs.get(0).getId());
}
purchaseOrderMakeDO.setCustomerId(updateReqVO.getCustomerId());
purchaseOrderMakeDO.setBrief(updateReqVO.getBrief());
purchaseOrderMakeDO.setProjectName(updateReqVO.getProjectName());
purchaseOrderMakeDO.setProjectNameSim(updateReqVO.getProjectNameSim());
if (ObjectUtil.isNotEmpty(planDO)) {
purchaseOrderMakeDO.setProjectPlanId(planDO.getId());
}
purchaseOrderMakeDO.setCustomerId(boomDO.getCustomerId());
purchaseOrderMakeDO.setBrief(boomDO.getBrief());
purchaseOrderMakeDO.setProjectName(boomDO.getProjectName());
purchaseOrderMakeDO.setProjectNameSim(boomDO.getProjectNameSim());
purchaseOrderMakeMapper.insert(purchaseOrderMakeDO); purchaseOrderMakeMapper.insert(purchaseOrderMakeDO);
long purchaseOrderMakeId = purchaseOrderMakeDO.getId(); long purchaseOrderMakeId = purchaseOrderMakeDO.getId();
String purchaseOrderMakeDOPurchaseNo = purchaseOrderMakeDO.getPurchaseNo(); String purchaseOrderMakeDOPurchaseNo = purchaseOrderMakeDO.getPurchaseNo();
updateReqVOs.forEach(updateReq -> { updateReqVOs.forEach(updateReq -> {
createPurchaseOrderMakeAndDetail(updateReq,purchaseOrderMakeId, purchaseOrderMakeDOPurchaseNo); createPurchaseOrderMakeAndDetail(updateReq,purchaseOrderMakeId, purchaseOrderMakeDOPurchaseNo,planDO.getId());
}); });
return true; return true;
@ -336,7 +330,7 @@ public class PartPurchaseOrderServiceImpl implements PartPurchaseOrderService{
return CommonResult.success(orderMakeDO); return CommonResult.success(orderMakeDO);
} }
public Boolean createPurchaseOrderMakeAndDetail(PurchaseOrderMakeSaveReqVO updateReqVO, long purchaseOrderMakeId, String purchaseOrderMakeDOPurchaseNo) { public Boolean createPurchaseOrderMakeAndDetail(MaterialPlanBoomDO updateReqVO, long purchaseOrderMakeId, String purchaseOrderMakeDOPurchaseNo,Long planId) {
PurchaseOrderMakeDetailDO purchaseOrderMakeDetailDO = new PurchaseOrderMakeDetailDO(); PurchaseOrderMakeDetailDO purchaseOrderMakeDetailDO = new PurchaseOrderMakeDetailDO();
purchaseOrderMakeDetailDO.setPurchaseOrderId(purchaseOrderMakeId); purchaseOrderMakeDetailDO.setPurchaseOrderId(purchaseOrderMakeId);
purchaseOrderMakeDetailDO.setBoomDetailId(updateReqVO.getBoomDetailId()); purchaseOrderMakeDetailDO.setBoomDetailId(updateReqVO.getBoomDetailId());
@ -344,26 +338,26 @@ public class PartPurchaseOrderServiceImpl implements PartPurchaseOrderService{
purchaseOrderMakeDetailDO.setBoomSpec(updateReqVO.getBoomSpec()); purchaseOrderMakeDetailDO.setBoomSpec(updateReqVO.getBoomSpec());
purchaseOrderMakeDetailDO.setBoomUnit(updateReqVO.getUnit()); purchaseOrderMakeDetailDO.setBoomUnit(updateReqVO.getUnit());
purchaseOrderMakeDetailDO.setComposition(updateReqVO.getCompositionName()); purchaseOrderMakeDetailDO.setComposition(updateReqVO.getCompositionName());
purchaseOrderMakeDetailDO.setPurchaseAmount(updateReqVO.getPurchaseAmount()); purchaseOrderMakeDetailDO.setPurchaseAmount(updateReqVO.getPurchaseAmounts());
purchaseOrderMakeDetailDO.setEstimatedPrice(updateReqVO.getEstimatedPrice()); purchaseOrderMakeDetailDO.setEstimatedPrice(updateReqVO.getEstimatedPrices());
purchaseOrderMakeDetailDO.setArriveTime(updateReqVO.getArriveTime()); purchaseOrderMakeDetailDO.setArriveTime(updateReqVO.getArriveTimes());
purchaseOrderMakeDetailDO.setBoomAmount(updateReqVO.getBoomAmount()); purchaseOrderMakeDetailDO.setBoomAmount(updateReqVO.getBoomAmount());
purchaseOrderMakeDetailDO.setRequireTime(updateReqVO.getBoomArriveDate()); purchaseOrderMakeDetailDO.setRequireTime(updateReqVO.getBoomArriveDate());
purchaseOrderMakeDetailDO.setSupplierId(updateReqVO.getSupplierId()); purchaseOrderMakeDetailDO.setSupplierId(updateReqVO.getSupplierIds());
purchaseOrderMakeDetailDO.setProjectMaterialPlanId(updateReqVO.getProjectMaterialPlanId()); purchaseOrderMakeDetailDO.setProjectMaterialPlanId(updateReqVO.getProjectMaterialPlanId());
purchaseOrderMakeDetailDO.setProjectMaterialPlanBoomId(updateReqVO.getId()); purchaseOrderMakeDetailDO.setProjectMaterialPlanBoomId(updateReqVO.getId());
purchaseOrderMakeDetailDO.setProjectPlanSubId(updateReqVO.getProjectPlanSubId()); purchaseOrderMakeDetailDO.setProjectPlanSubId(updateReqVO.getProjectPlanSubId());
purchaseOrderMakeDetailDO.setName(updateReqVO.getProjectSubName()); purchaseOrderMakeDetailDO.setName(updateReqVO.getProjectSubName());
purchaseOrderMakeDetailDO.setNameSim(updateReqVO.getProjectSubNameSim()); purchaseOrderMakeDetailDO.setNameSim(updateReqVO.getProjectSubNameSim());
purchaseOrderMakeDetailDO.setOrderStatus(1); purchaseOrderMakeDetailDO.setOrderStatus(1);
PlanSubDO planSubDO1= planSubMapper.selectById(updateReqVO.getProjectPlanSubId()); PlanSubDO planSubDO = planSubMapper.selectOne("project_sub_id", updateReqVO.getProjectPlanSubId());
purchaseOrderMakeDetailDO.setProjectSubCode(Objects.nonNull(planSubDO1)?planSubDO1.getProjectSubCode(): null); purchaseOrderMakeDetailDO.setProjectSubCode(Objects.nonNull(planSubDO)?planSubDO.getProjectSubCode(): null);
purchaseOrderMakeDetailDO.setProcedureId(updateReqVO.getProcedureId()); purchaseOrderMakeDetailDO.setProcedureId(updateReqVO.getProcedureId());
purchaseOrderMakeDetailDO.setDescription(updateReqVO.getDescription()); purchaseOrderMakeDetailDO.setDescription(updateReqVO.getDescriptions());
purchaseOrderMakeDetailDO.setTheWeight(updateReqVO.getTheWeight()); purchaseOrderMakeDetailDO.setTheWeight(updateReqVO.getTheWeight());
purchaseOrderMakeDetailDO.setDuEmpId(updateReqVO.getDuEmpId()); purchaseOrderMakeDetailDO.setDuEmpId(updateReqVO.getDuEmpId());
purchaseOrderMakeDetailDO.setIsFoam(updateReqVO.getIsFoam()); purchaseOrderMakeDetailDO.setIsFoam(updateReqVO.getIsFoam());
purchaseOrderMakeDetailDO.setPurchaseNo(purchaseOrderMakeDOPurchaseNo);
purchaseOrderMakeDetailMapper.insert(purchaseOrderMakeDetailDO); purchaseOrderMakeDetailMapper.insert(purchaseOrderMakeDetailDO);
long purchaseOrderMakeDetailId = purchaseOrderMakeDetailDO.getId(); long purchaseOrderMakeDetailId = purchaseOrderMakeDetailDO.getId();
@ -373,14 +367,6 @@ public class PartPurchaseOrderServiceImpl implements PartPurchaseOrderService{
materialPlanBoomDO.setProjectPurchaseOrderMakeId(purchaseOrderMakeId); materialPlanBoomDO.setProjectPurchaseOrderMakeId(purchaseOrderMakeId);
materialPlanBoomDO.setPurchaseNo(purchaseOrderMakeDOPurchaseNo); materialPlanBoomDO.setPurchaseNo(purchaseOrderMakeDOPurchaseNo);
materialPlanBoomDO.setProjectPurchaseOrderMakeDetailId(purchaseOrderMakeDetailId); materialPlanBoomDO.setProjectPurchaseOrderMakeDetailId(purchaseOrderMakeDetailId);
materialPlanBoomDO.setPurchaseAmount(updateReqVO.getPurchaseAmount());
materialPlanBoomDO.setSupplierId(updateReqVO.getSupplierId());
materialPlanBoomDO.setEstimatedPrice(updateReqVO.getEstimatedPrice());
materialPlanBoomDO.setArriveTime(updateReqVO.getArriveTime());
materialPlanBoomDO.setDescription(updateReqVO.getDescription());
materialPlanBoomDO.setMatWeight(updateReqVO.getTheWeight());
materialPlanBoomDO.setIsFoam(updateReqVO.getIsFoam());
materialPlanBoomMapper.updateById(materialPlanBoomDO); materialPlanBoomMapper.updateById(materialPlanBoomDO);
return true; return true;
} }

View File

@ -280,7 +280,7 @@ import { pieOptions, barOptions } from './echarts-data'
import { useCommonStore } from '@/store/modules/common' import { useCommonStore } from '@/store/modules/common'
//all //all
import * as bdgzsomthingApi from '@/api/heli/bdgzsomthing' import * as bdgzsomthingApi from '@/api/heli/bdgzsomthing'
// //
import * as PurchaseOrderApi from '@/api/heli/purchaseorder' import * as PurchaseOrderApi from '@/api/heli/purchaseorder'
// //
import * as ProjectOrderApi from '@/api/heli/projectorder' import * as ProjectOrderApi from '@/api/heli/projectorder'

View File

@ -72,9 +72,9 @@
<el-table-column label="客户简称" align="center" prop="brief" min-width="180" fixed /> <el-table-column label="客户简称" align="center" prop="brief" min-width="180" fixed />
<el-table-column label="项目名称" align="center" prop="projectName" min-width="180" fixed /> <el-table-column label="项目名称" align="center" prop="projectName" min-width="180" fixed />
<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"> <el-table-column label="泡沫" align="center" prop="isFoams">
<template #default="row"> <template #default="{ row }">
<el-checkbox v-model="row.isFoam" :true-label="'Y'" :false-label="'N'" /> <el-checkbox v-model="row.isFoams" @change="handleOutsourcingChange(row)" :checked="row.isFoams == 'Y'"/>
</template> </template>
</el-table-column> </el-table-column>
@ -82,44 +82,48 @@
<el-table-column label="材质" align="center" prop="compositionName" min-width="120" /> <el-table-column label="材质" align="center" prop="compositionName" min-width="120" />
<el-table-column label="图号" align="center" prop="blueprintNo" min-width="120" /> <el-table-column label="图号" align="center" prop="blueprintNo" min-width="120" />
<el-table-column label="需求数量" align="center" prop="boomAmount" min-width="120" /> <el-table-column label="需求数量" align="center" prop="boomAmount" min-width="120" />
<el-table-column label="单位" align="center" prop="unit" min-width="120" /> <el-table-column label="单位" align="center" prop="unit" min-width="120">
<template #default="scope">
<dict-tag :type="DICT_TYPE.HELI_MATERIAL_UNIT" :value="scope.row.unit" />
</template>
</el-table-column>
<el-table-column min-width="200px" align="center"> <el-table-column min-width="200px" align="center">
<template #header><span class="hl-table_header">*</span>采购数量</template> <template #header><span class="hl-table_header">*</span>采购数量</template>
<template #default="{ row, $index }"> <template #default="{ row, $index }">
<el-form-item :prop="`${$index}.purchaseAmount`" class="mb-0px!" > <el-form-item :prop="`${$index}.purchaseAmount`" class="mb-0px!" >
<el-input-number v-model="row.purchaseAmount" type="number" :precision="0" /> <el-input-number v-model="row.purchaseAmounts" type="number" :precision="0" />
</el-form-item> </el-form-item>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column min-width="200px" align="center" > <el-table-column min-width="200px" align="center" >
<template #header><span class="hl-table_header">*</span>供应商</template> <template #header><span class="hl-table_header">*</span>供应商</template>
<template #default="{ row, $index }"> <template #default="{ row, $index }">
<el-form-item :prop="`${$index}.supplierId`" class="mb-0px!" > <el-form-item :prop="`${$index}.supplierIds`" class="mb-0px!" >
<SupplierSelect v-model="row.supplierId" class="!w-265px" clearable @update:newValue="handleSelectedUser($index, $event)"/> <SupplierSelect v-model="row.supplierIds" class="!w-265px" clearable @update:newValue="handleSelectedUser($index, $event)"/>
</el-form-item> </el-form-item>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column min-width="200px" align="center"> <el-table-column min-width="200px" align="center">
<template #header><span class="hl-table_header">*</span>预估总价</template> <template #header><span class="hl-table_header">*</span>预估总价</template>
<template #default="{ row, $index }"> <template #default="{ row, $index }">
<el-form-item :prop="`${$index}.estimatedPrice`" class="mb-0px!" > <el-form-item :prop="`${$index}.estimatedPrices`" class="mb-0px!" >
<el-input-number v-model="row.estimatedPrice" type="number" :precision="2" /> <el-input-number v-model="row.estimatedPrices" type="number" :precision="2" />
</el-form-item> </el-form-item>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column min-width="200px" align="center" > <el-table-column min-width="200px" align="center" >
<template #header><span class="hl-table_header">*</span>预计到货日期</template> <template #header><span class="hl-table_header">*</span>预计到货日期</template>
<template #default="{ row, $index }"> <template #default="{ row, $index }">
<el-form-item :prop="`${$index}.arriveTime`" class="mb-0px!" > <el-form-item :prop="`${$index}.arriveTimes`" class="mb-0px!" >
<el-date-picker class="!w-265px" v-model="row.arriveTime" type="date" value-format="x" placeholder="预计到货日期" /> <el-date-picker class="!w-265px" v-model="row.arriveTimes" type="date" value-format="x" placeholder="预计到货日期" />
</el-form-item> </el-form-item>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column min-width="200px" align="center" > <el-table-column min-width="200px" align="center" >
<template #header>技术要求</template> <template #header>技术要求</template>
<template #default="{ row, $index }"> <template #default="{ row, $index }">
<el-form-item :prop="`${$index}.description`" class="mb-0px!" > <el-form-item :prop="`${$index}.descriptions`" class="mb-0px!" >
<el-input class="!w-265px" v-model="row.description" placeholder="技术要求" /> <el-input class="!w-265px" v-model="row.descriptions" placeholder="技术要求" />
</el-form-item> </el-form-item>
</template> </template>
</el-table-column> </el-table-column>
@ -232,11 +236,23 @@ const handleExportDetail = async () => {
exportLoading.value = false exportLoading.value = false
} }
} }
const handleOutsourcingChange= async (row: any) => {
console.log(1)
if(row.isFoams == false){
row.isFoam = 'N'
console.log(2)
}else{
console.log(3)
row.isFoam = 'Y'
console.log(row.isFoam)
}
}
const handleSelectionChange = (val) => { const handleSelectionChange = (val) => {
// multipleTable.value.clearSelection() // multipleTable.value.clearSelection()
multipleTable.value=val multipleTable.value=val
console.log( val)
console.log( multipleTable.value)
} }
/** 搜索按钮操作 */ /** 搜索按钮操作 */
const handleQuery = () => { const handleQuery = () => {
@ -248,7 +264,7 @@ const handleQuery = () => {
// formData.value.supplierId = newValue?.id // formData.value.supplierId = newValue?.id
// } // }
const handleSelectedUser = (currentIndex, newValue: any) => { const handleSelectedUser = (currentIndex, newValue: any) => {
list.value[currentIndex].supplierId = newValue?.id list.value[currentIndex].supplierIds = newValue?.id
} }
const singleSubmission= (val) =>{ const singleSubmission= (val) =>{
@ -267,8 +283,7 @@ const submitForm = async () => {
console.log("开始提交"); // 1 console.log("开始提交"); // 1
const list = multipleTable.value|| []; // const list = multipleTable.value|| []; //
console.log("明细数据:", list); console.log(list);
console.log(list.length)
// 1. // 1.
if (!list || list.length==null) { if (!list || list.length==null) {
message.error("提交明细不能为空,请确认"); message.error("提交明细不能为空,请确认");
@ -277,19 +292,19 @@ const submitForm = async () => {
let i; let i;
for (i = 0; i < list.length; i++) { for (i = 0; i < list.length; i++) {
if (list[i].purchaseAmount === null || list[i].purchaseAmount === 0) { if (list[i].purchaseAmounts === null || list[i].purchaseAmounts === 0) {
message.error("采购数量为0或空"); message.error("采购数量为0或空");
break; break;
} }
if (list[i].supplierId === null) { if (list[i].supplierIds === null) {
message.error("供应商为空"); message.error("供应商为空");
break; break;
} }
if (list[i].arriveTime === null) { if (list[i].arriveTimes === null) {
message.error("预计到货日期为空"); message.error("预计到货日期为空");
break; break;
} }
if (list[i].estimatedPrice === null) { if (list[i].estimatedPrices === null) {
message.error("预估总价为空"); message.error("预估总价为空");
break; break;
} }

View File

@ -39,7 +39,7 @@
<el-table :data="formData.matBoomDOList" class="hl-table" v-loading="loading"> <el-table :data="formData.matBoomDOList" class="hl-table" v-loading="loading">
<el-table-column type="index" label="序号" fixed align="center" min-width="60" /> <el-table-column type="index" label="序号" fixed align="center" min-width="60" />
<el-table-column prop="projectName" min-width="200" label="项目名称" align="center"/> <el-table-column prop="projectName" min-width="200" label="项目名称" align="center"/>
<el-table-column prop="projectName" min-width="200" label="子项目编码" align="center"/> <el-table-column prop="projectSubCode" min-width="200" label="子项目编码" align="center"/>
<el-table-column prop="boomName" min-width="200" label="物料名称" align="center"/> <el-table-column prop="boomName" min-width="200" label="物料名称" align="center"/>
<el-table-column prop="procedureName" min-width="120" label="工序" align="center"/> <el-table-column prop="procedureName" min-width="120" label="工序" align="center"/>
<el-table-column prop="composition" min-width="120" label="材质" align="center"/> <el-table-column prop="composition" min-width="120" label="材质" align="center"/>
@ -186,7 +186,9 @@ const reject = async(reason) => {
// //
await PartPurchaseOrderApi.updatePurchaseOrderMakeNo(updateParams) await PartPurchaseOrderApi.updatePurchaseOrderMakeNo(updateParams)
message.success("已驳回"); message.success("已驳回");
getList(); // getList();
router.push({ path: '/purchase/PartPurchaseCheck'});
tagsViewStore.delVisitedView(router.currentRoute.value)
} }
const cancel = async () => { const cancel = async () => {

View File

@ -1,7 +1,7 @@
<template> <template>
<el-card class="hl-card"> <el-card class="hl-card">
<template #header> <template #header>
<span>采购订单审核</span> <span></span>
</template> </template>
<ContentWrap class="borderxx"> <ContentWrap class="borderxx">
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->