Compare commits

...

2 Commits

Author SHA1 Message Date
zhy
8f323c5038 Merge remote-tracking branch 'origin/main' 2025-06-25 04:18:32 +08:00
zhy
00b39b070b 零件采购单审批 2025-06-25 04:18:15 +08:00
11 changed files with 261 additions and 106 deletions

View File

@ -107,4 +107,16 @@ public class PurchaseOrderMakeController {
return success(pageResult); return success(pageResult);
} }
@PutMapping("/updatePartCheck")
@Operation(summary = "更新采购审批通过状态")
public CommonResult<Boolean> updatePartCheck(@RequestParam("id") Long id) {
return success(partPurchaseOrderService.updatePartCheckStatus(id));
}
@PutMapping("/updatePartCheckNo")
@Operation(summary = "更新采购审批驳回状态")
public CommonResult<Boolean> updatePartCheckNo(@Valid @RequestBody PurchaseOrderMakeSaveReqVO updateReqVO) {
return success(partPurchaseOrderService.updatePartCheckStatusNo(updateReqVO));
}
} }

View File

@ -28,11 +28,11 @@ public class PurchaseOrderMakeRespVO {
@Schema(description = "采购单类型1按物料需求计划采购2备库采购", example = "1") @Schema(description = "采购单类型1按物料需求计划采购2备库采购", example = "1")
@ExcelProperty("采购单类型1按物料需求计划采购2备库采购") @ExcelProperty("采购单类型1按物料需求计划采购2备库采购")
private Boolean purchaseType; private Integer purchaseType;
@Schema(description = "采购物类型1物料2加工件", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") @Schema(description = "采购物类型1物料2加工件", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
@ExcelProperty("采购物类型1物料2加工件") @ExcelProperty("采购物类型1物料2加工件")
private Boolean goodsType; private Integer goodsType;
@Schema(description = "结算币种", example = "2") @Schema(description = "结算币种", example = "2")
@ExcelProperty("结算币种") @ExcelProperty("结算币种")
@ -52,7 +52,7 @@ public class PurchaseOrderMakeRespVO {
@Schema(description = "单据状态,0 待送审1已送审2已审核3已打回 默认是1", example = "2") @Schema(description = "单据状态,0 待送审1已送审2已审核3已打回 默认是1", example = "2")
@ExcelProperty("单据状态,0 待送审1已送审2已审核3已打回 默认是1") @ExcelProperty("单据状态,0 待送审1已送审2已审核3已打回 默认是1")
private Boolean status; private Integer status;
@Schema(description = "送审人", example = "17514") @Schema(description = "送审人", example = "17514")
@ExcelProperty("送审人") @ExcelProperty("送审人")

View File

@ -1,81 +1,84 @@
package com.chanko.yunxi.mes.module.heli.controller.admin.purchaseordermake.vo; package com.chanko.yunxi.mes.module.heli.controller.admin.purchaseordermake.vo;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*; import lombok.*;
import java.util.*; import java.util.*;
import javax.validation.constraints.*; import javax.validation.constraints.*;
import java.util.*; import java.util.*;
import java.math.BigDecimal; import java.math.BigDecimal;
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime; import java.time.LocalDateTime;
@Schema(description = "管理后台 - 采购单主新增/修改 Request VO") @Schema(description = "管理后台 - 采购单主新增/修改 Request VO")
@Data @Data
public class PurchaseOrderMakeSaveReqVO { public class PurchaseOrderMakeSaveReqVO {
@Schema(description = "自增字段,唯一", requiredMode = Schema.RequiredMode.REQUIRED, example = "29741") @Schema(description = "自增字段,唯一", requiredMode = Schema.RequiredMode.REQUIRED, example = "29741")
private Long id; private Long id;
@Schema(description = "采购单号", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "采购单号", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "采购单号不能为空") @NotEmpty(message = "采购单号不能为空")
private String purchaseNo; private String purchaseNo;
@Schema(description = "采购合同号") @Schema(description = "采购合同号")
private String contractNo; private String contractNo;
@Schema(description = "采购单类型1按物料需求计划采购2备库采购", example = "1") @Schema(description = "采购单类型1按物料需求计划采购2备库采购", example = "1")
private Boolean purchaseType; private Boolean purchaseType;
@Schema(description = "采购物类型1物料2加工件", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") @Schema(description = "采购物类型1物料2加工件", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
@NotNull(message = "采购物类型1物料2加工件不能为空") @NotNull(message = "采购物类型1物料2加工件不能为空")
private Boolean goodsType; private Boolean goodsType;
@Schema(description = "结算币种", example = "2") @Schema(description = "结算币种", example = "2")
private Integer currencyType; private Integer currencyType;
@Schema(description = "税率") @Schema(description = "税率")
private Integer taxRatio; private Integer taxRatio;
@Schema(description = "暂估价金额", example = "13902") @Schema(description = "暂估价金额", example = "13902")
private BigDecimal estimatedPrice; private BigDecimal estimatedPrice;
@Schema(description = "实际价金额", example = "14735") @Schema(description = "实际价金额", example = "14735")
private BigDecimal actualPrice; private BigDecimal actualPrice;
@Schema(description = "单据状态,0 待送审1已送审2已审核3已打回 默认是1", example = "2") @Schema(description = "单据状态,0 待送审1已送审2已审核3已打回 默认是1", example = "2")
private Boolean status; private Boolean status;
@Schema(description = "送审人", example = "17514") @Schema(description = "送审人", example = "17514")
private Long submitUserId; private Long submitUserId;
@Schema(description = "送审时间") @Schema(description = "送审时间")
private LocalDateTime submitTime; private LocalDateTime submitTime;
@Schema(description = "审核人") @Schema(description = "审核人")
private Long auditor; private Long auditor;
@Schema(description = "审核时间") @Schema(description = "审核时间")
private LocalDateTime auditTime; private LocalDateTime auditTime;
@Schema(description = "备注", example = "随便") @Schema(description = "备注", example = "随便")
private String description; private String description;
@Schema(description = "订单id", example = "14178") @Schema(description = "订单id", example = "14178")
private Long projectId; private Long projectId;
@Schema(description = "生产计划id", example = "707") @Schema(description = "生产计划id", example = "707")
private Long projectPlanId; private Long projectPlanId;
@Schema(description = "客户id", example = "20356") @Schema(description = "客户id", example = "20356")
private Long customerId; private Long customerId;
@Schema(description = "客户简称") @Schema(description = "客户简称")
private String brief; private String brief;
@Schema(description = "项目名称", example = "芋艿") @Schema(description = "项目名称", example = "芋艿")
private String projectName; private String projectName;
@Schema(description = "项目名称简码") @Schema(description = "项目名称简码")
private String projectNameSim; private String projectNameSim;
} @Schema(description = "驳回原因")
private String reason;
}

View File

@ -34,7 +34,6 @@ public class PurchaseOrderMakeDetailDO extends BaseDO {
*/ */
@TableId @TableId
private Long id; private Long id;
/** /**
* 采购单id * 采购单id
*/ */
@ -47,9 +46,6 @@ public class PurchaseOrderMakeDetailDO extends BaseDO {
* 零件名称 * 零件名称
*/ */
private String boomName; private String boomName;
@TableField(exist = false)
private String boomCode;
/** /**
* 规格型号 * 规格型号
*/ */
@ -94,13 +90,10 @@ public class PurchaseOrderMakeDetailDO extends BaseDO {
* 供应商id * 供应商id
*/ */
private Long supplierId; private Long supplierId;
@TableField(exist = false)
private String supplierName;
/** /**
* 物料需求计划id * 物料需求计划id
*/ */
private Long projectMaterialPlanId; private Long projectMaterialPlanId;
private Long materialId;
/** /**
* 物料需求计划子项目id * 物料需求计划子项目id
*/ */
@ -128,7 +121,6 @@ public class PurchaseOrderMakeDetailDO extends BaseDO {
/** /**
* 订单状态 未生成/已生成 1/2 * 订单状态 未生成/已生成 1/2
*/ */
@TableField( "order_status")
private Integer orderStatus; private Integer orderStatus;
/** /**
* 子项目编码 * 子项目编码

View File

@ -40,7 +40,6 @@ public interface PurchaseOrderMakeDetailMapper extends BaseMapperX<PurchaseOrder
.select("b.material_name as boomName","m.code as boomCode","b.spec as boomSpec","b.unit as boomUnit") .select("b.material_name as boomName","m.code as boomCode","b.spec as boomSpec","b.unit as boomUnit")
.select("pom.purchase_no as purchaseNo") .select("pom.purchase_no as purchaseNo")
.leftJoin(ProcessBomDetailDO.class,"b",ProcessBomDetailDO::getId,PurchaseOrderMakeDetailDO::getBoomDetailId) .leftJoin(ProcessBomDetailDO.class,"b",ProcessBomDetailDO::getId,PurchaseOrderMakeDetailDO::getBoomDetailId)
.leftJoin(MaterialDO.class,"m",MaterialDO::getId,PurchaseOrderMakeDetailDO::getMaterialId)
.leftJoin(ProjectOrderSubDO.class,"pos",ProjectOrderSubDO::getId,PurchaseOrderMakeDetailDO::getProjectPlanSubId) .leftJoin(ProjectOrderSubDO.class,"pos",ProjectOrderSubDO::getId,PurchaseOrderMakeDetailDO::getProjectPlanSubId)
.leftJoin(ProjectOrderDO.class,"po",ProjectOrderDO::getId, ProjectOrderSubDO::getProjectOrderId) .leftJoin(ProjectOrderDO.class,"po",ProjectOrderDO::getId, ProjectOrderSubDO::getProjectOrderId)
.leftJoin(PurchaseOrderMakeDO.class,"pom",PurchaseOrderMakeDO::getId,PurchaseOrderMakeDetailDO::getPurchaseOrderId) .leftJoin(PurchaseOrderMakeDO.class,"pom",PurchaseOrderMakeDO::getId,PurchaseOrderMakeDetailDO::getPurchaseOrderId)
@ -98,7 +97,7 @@ public interface PurchaseOrderMakeDetailMapper extends BaseMapperX<PurchaseOrder
.like(Objects.nonNull(pageReqVO.getOwnerName()), AdminUserDO::getNickname, pageReqVO.getOwnerName()) .like(Objects.nonNull(pageReqVO.getOwnerName()), AdminUserDO::getNickname, pageReqVO.getOwnerName())
.like(Objects.nonNull(pageReqVO.getSupplierName()), SupplierDO::getName, pageReqVO.getSupplierName()); .like(Objects.nonNull(pageReqVO.getSupplierName()), SupplierDO::getName, pageReqVO.getSupplierName());
System.out.println(query.getTargetSql()); String sqlStr= query.getTargetSql();
PageResult<PartPurchaseOrderPageRespVO> pageResult = selectJoinPage(pageReqVO, PartPurchaseOrderPageRespVO.class, query); PageResult<PartPurchaseOrderPageRespVO> pageResult = selectJoinPage(pageReqVO, PartPurchaseOrderPageRespVO.class, query);
return pageResult; return pageResult;

View File

@ -4,6 +4,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.PurchaseOrderMakePageReqVO; import com.chanko.yunxi.mes.module.heli.controller.admin.purchaseordermake.vo.PurchaseOrderMakePageReqVO;
import com.chanko.yunxi.mes.module.heli.controller.admin.purchaseordermake.vo.PurchaseOrderMakeSaveReqVO;
import com.chanko.yunxi.mes.module.heli.controller.admin.purchaseordermakedetail.vo.PurchaseOrderMakeDetailRespVO; import com.chanko.yunxi.mes.module.heli.controller.admin.purchaseordermakedetail.vo.PurchaseOrderMakeDetailRespVO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.purchaseordermake.PurchaseOrderMakeDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.purchaseordermake.PurchaseOrderMakeDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.purchaseordermakedetail.PurchaseOrderMakeDetailDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.purchaseordermakedetail.PurchaseOrderMakeDetailDO;
@ -31,4 +32,28 @@ public interface PartPurchaseOrderService {
* @return 零件采购订单生成信息提交 * @return 零件采购订单生成信息提交
*/ */
boolean submit(List<PartPurchaseOrderPageRespVO> list); boolean submit(List<PartPurchaseOrderPageRespVO> list);
/**
* 获得零件采购单审批分页
*
* @param pageReqVO 分页查询
* @return 零件采购单审批分页
*/
PageResult<PartPurchaseOrderPageRespVO> getPartPurchaseOrderCheckPage(PartPurchaseOrderPageReqVO pageReqVO);
/**
* 更新采购单审批状态为通过
*
* @param id
* @return 更新采购单审批状态
*/
boolean updatePartCheckStatus(Long id);
/**
* 更新采购单审批状态为驳回
*
* @param id
* @return 更新采购单审批状态
*/
boolean updatePartCheckStatusNo(PurchaseOrderMakeSaveReqVO updateReqVO);
} }

View File

@ -1,14 +1,20 @@
package com.chanko.yunxi.mes.module.heli.service.partpurchaseorder; package com.chanko.yunxi.mes.module.heli.service.partpurchaseorder;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.chanko.yunxi.mes.framework.common.pojo.PageResult; import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils; import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils;
import com.chanko.yunxi.mes.framework.mybatis.core.query.QueryWrapperX;
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.purchaseordermakedetail.vo.PurchaseOrderMakeDetailRespVO; import com.chanko.yunxi.mes.module.heli.controller.admin.purchaseordermakedetail.vo.PurchaseOrderMakeDetailRespVO;
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.purchaseordermakedetail.PurchaseOrderMakeDetailDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.purchaseordermakedetail.PurchaseOrderMakeDetailDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.purchaseorderno.PurchaseOrderNoDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.purchaseorderno.PurchaseOrderNoDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.purchaseordernodetail.PurchaseOrderNoDetailDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.purchaseordernodetail.PurchaseOrderNoDetailDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.serialnumber.SerialNumberDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.serialnumber.SerialNumberDO;
import com.chanko.yunxi.mes.module.heli.dal.mysql.materialplanboom.MaterialPlanBoomMapper;
import com.chanko.yunxi.mes.module.heli.dal.mysql.purchaseordermake.PurchaseOrderMakeMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.purchaseordermake.PurchaseOrderMakeMapper;
import com.chanko.yunxi.mes.module.heli.dal.mysql.purchaseordermakedetail.PurchaseOrderMakeDetailMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.purchaseordermakedetail.PurchaseOrderMakeDetailMapper;
import com.chanko.yunxi.mes.module.heli.dal.mysql.purchaseorderno.PurchaseOrderNoMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.purchaseorderno.PurchaseOrderNoMapper;
@ -39,6 +45,8 @@ public class PartPurchaseOrderServiceImpl implements PartPurchaseOrderService{
private PurchaseOrderNoDetailMapper purchaseOrderNoDetailMapper; private PurchaseOrderNoDetailMapper purchaseOrderNoDetailMapper;
@Resource @Resource
private SerialNumberService serialNumberService; private SerialNumberService serialNumberService;
@Resource
private MaterialPlanBoomMapper materialPlanBoomMapper;
@Override @Override
public PageResult<PartPurchaseOrderPageRespVO> getPartPurchaseOrderPage(PartPurchaseOrderPageReqVO pageReqVO) { public PageResult<PartPurchaseOrderPageRespVO> getPartPurchaseOrderPage(PartPurchaseOrderPageReqVO pageReqVO) {
@ -90,4 +98,57 @@ public class PartPurchaseOrderServiceImpl implements PartPurchaseOrderService{
return true; return true;
} }
@Override
public PageResult<PartPurchaseOrderPageRespVO> getPartPurchaseOrderCheckPage(PartPurchaseOrderPageReqVO pageReqVO) {
return null;
}
@Override
public boolean updatePartCheckStatus(Long id) {
PurchaseOrderMakeDO purchaseOrderMakeDO = new PurchaseOrderMakeDO();
purchaseOrderMakeDO.setId(id);
purchaseOrderMakeDO.setStatus(2);
purchaseOrderMakeMapper.updateById(purchaseOrderMakeDO);
List<MaterialPlanBoomDO> materialPlanBoomDOs= materialPlanBoomMapper.selectList("project_purchase_order_make_id", id);
materialPlanBoomDOs.forEach(materialPlanBoomDO -> {
MaterialPlanBoomDO materialPlanBoom = new MaterialPlanBoomDO();
materialPlanBoom.setId(materialPlanBoomDO.getId());
materialPlanBoom.setMplanStatus(2);
materialPlanBoomMapper.updateById(materialPlanBoom);
});
return true;
}
@Override
public boolean updatePartCheckStatusNo(PurchaseOrderMakeSaveReqVO updateReqVO) {
PurchaseOrderMakeDO purchaseOrderMakeDO = new PurchaseOrderMakeDO();
purchaseOrderMakeDO.setId(updateReqVO.getId());
purchaseOrderMakeDO.setStatus(3);
purchaseOrderMakeDO.setDeleted(true);
purchaseOrderMakeMapper.updateById(purchaseOrderMakeDO);
List<PurchaseOrderMakeDetailDO> list= purchaseOrderMakeDetailMapper.selectList("purchase_order_id", updateReqVO.getId());
list.forEach(detailDO -> {
PurchaseOrderNoDetailDO purchaseOrderNoDetailDO = new PurchaseOrderNoDetailDO();
purchaseOrderNoDetailDO.setId(detailDO.getPurchaseOrderNoDetailId());
purchaseOrderNoDetailDO.setDeleted(true);
purchaseOrderNoDetailMapper.updateById(purchaseOrderNoDetailDO);
});
List<MaterialPlanBoomDO> materialPlanBoomDOs= materialPlanBoomMapper.selectList("project_purchase_order_make_id", updateReqVO.getId());
materialPlanBoomDOs.forEach(materialPlanBoom -> {
UpdateWrapper<MaterialPlanBoomDO> updateWrapper = new UpdateWrapper<>();
updateWrapper.eq("id", materialPlanBoom.getId())
.set("mplan_status", 3)
.set("project_purchase_order_make_id", null)
.set("purchase_no", null)
.set("project_purchase_order_make_detail_id", null)
.set("rej_remark", updateReqVO.getReason());
materialPlanBoomMapper.update(updateWrapper);
});
return true;
}
} }

View File

@ -91,7 +91,6 @@ public class PurchaseOrderMakeDetailServiceImpl implements PurchaseOrderMakeDeta
pd.setPurchaseOrderId(purchaseOrderNoDO.getId()); pd.setPurchaseOrderId(purchaseOrderNoDO.getId());
pd.setBoomDetailId(pmd.getBoomDetailId()); pd.setBoomDetailId(pmd.getBoomDetailId());
pd.setBoomName(pmd.getBoomName()); pd.setBoomName(pmd.getBoomName());
pd.setMaterialId(pmd.getMaterialId());
pd.setBoomSpec(pmd.getBoomSpec()); pd.setBoomSpec(pmd.getBoomSpec());
pd.setBoomUnit(pmd.getBoomUnit()); pd.setBoomUnit(pmd.getBoomUnit());
pd.setComposition(pmd.getComposition()); pd.setComposition(pmd.getComposition());

View File

@ -16,7 +16,7 @@ export interface PartPurchaseOrderVO {
description: string description: string
} }
// 查询零件采购订单计划分页 // 获取零件采购订单生成分页
export const getPartPage = async (params) => { export const getPartPage = async (params) => {
return await request.get({ url: `/heli/purchase-order-make/getPartPurchaseOrderPage`, params }) return await request.get({ url: `/heli/purchase-order-make/getPartPurchaseOrderPage`, params })
} }
@ -25,7 +25,23 @@ export const submitForm = async (data) => {
return await request.post({ url: `/heli/purchase-order-no/submit`, data }) return await request.post({ url: `/heli/purchase-order-no/submit`, data })
} }
// 查询采购单主分页 // 获取零件采购单审批分页
export const getPartCheckPage = async (params) => {
return await request.get({ url: `/heli/purchase-order-make/page`, params })
}
// 查询采购单主
export const getPurchaseOrderMake = async (id: number) => { export const getPurchaseOrderMake = async (id: number) => {
return await request.get({ url: `/heli/purchase-order-make/get?id=` + id }) return await request.get({ url: `/heli/purchase-order-make/get?id=` + id })
} }
// 更新采购单主批准
export const updatePurchaseOrderMake = async (id: number) => {
return await request.put({ url: `/heli/purchase-order-make/updatePartCheck?id=` + id })
}
// 更新采购单主驳回
export const updatePurchaseOrderMakeNo = async (params) => {
return await request.put({ url: `/heli/purchase-order-make/updatePartCheckNo`, params })
}

View File

@ -60,8 +60,8 @@
</el-card> </el-card>
</el-form> </el-form>
<div class="hl-footer text-center"> <div class="hl-footer text-center">
<el-button @click="closeForm" size="large"> </el-button> <el-button @click="approve(formData.contractNo)" size="large"> </el-button>
<el-button @click="closeForm" size="large"> </el-button> <el-button @click="handleReject" size="large"> </el-button>
</div> </div>
</el-card> </el-card>
@ -87,7 +87,8 @@ import { useTagsViewStore } from '@/store/modules/tagsView'
import MaterialSelect from '@/views/heli/hlvuestyle/materialSelect.vue' import MaterialSelect from '@/views/heli/hlvuestyle/materialSelect.vue'
import booms from './boom.vue' import booms from './boom.vue'
import * as PartPurchaseOrderApi from "@/api/heli/partpurchaseorder"; import * as PartPurchaseOrderApi from "@/api/heli/partpurchaseorder";
import {getPartPage} from "@/api/heli/partpurchaseorder"; import { ElMessageBox } from 'element-plus'
import { ref } from 'vue'
const reload: any = inject('reload') const reload: any = inject('reload')
const { t } = useI18n() // const { t } = useI18n() //
@ -122,10 +123,40 @@ const loading = ref(true) // 列表的加载中
const total = ref(0) // const total = ref(0) //
const subBoomFormLoading = ref(false) const subBoomFormLoading = ref(false)
const subBoomFormRef = ref() const subBoomFormRef = ref()
const updateParams = reactive({
id: formData.value.id,
reason: undefined
})
const approve = async (contractNo: string) => {
await PartPurchaseOrderApi.updatePurchaseOrderMake(formData.value.id)
}
const handleReject = async () => {
try {
const { value, action } = await ElMessageBox.prompt('请输入驳回原因', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
inputPattern: /.+/, //
inputErrorMessage: '内容不能为空'
})
if (action === 'confirm') {
reject(value) // reject
}
} catch (err) {
//
console.log('操作取消或输入无效')
}
}
// reject
const reject = async(reason) => {
console.log('驳回原因:', reason)
updateParams.reason = reason
//
await PartPurchaseOrderApi.updatePurchaseOrderMakeNo(updateParams)
}
const closeForm = async () => { const closeForm = async () => {

View File

@ -48,27 +48,43 @@
<el-table-column label="序号" type="index" align="center" fixed min-width="70px" /> <el-table-column label="序号" type="index" align="center" fixed min-width="70px" />
<el-table-column label="采购单号" align="center" prop="contractNo" min-width="180" fixed> <el-table-column label="采购单号" align="center" prop="contractNo" min-width="180" fixed>
<template #default="scope"> <template #default="scope">
<el-button text type="primary" @click="openForm('detail', scope.row.purchaseOrderId)"> <el-button text type="primary" @click="openForm('detail', scope.row.id)">
{{ scope.row.contractNo }} {{ scope.row.contractNo }}
</el-button> </el-button>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="采购单类型" align="center" prop="goodsType" min-width="180px" /> <el-table-column label="采购单类型" align="center" prop="goodsType" min-width="180px" >
<template #default="scope">
{{
getIntDictOptions(DICT_TYPE.HELI_PART_PURCHASE_ORDER_TYPE).find(
(dict) => dict.value === scope.row.goodsType
)?.label || '未知状态'
}}
</template>
</el-table-column>
<el-table-column label="客户简码" align="center" prop="brief" min-width="180px" /> <el-table-column label="客户简码" align="center" prop="brief" min-width="180px" />
<el-table-column label="项目名称" align="center" prop="projectName" min-width="180px" /> <el-table-column label="项目名称" align="center" prop="projectName" min-width="180px" />
<el-table-column label="项目简码" align="center" prop="projectNameSim" min-width="180px" /> <el-table-column label="项目简码" align="center" prop="projectNameSim" min-width="180px" />
<el-table-column label="单据状态" align="center" prop="status" min-width="180px" /> <el-table-column label="单据状态" align="center" prop="status" min-width="180px" >
<template #default="scope">
{{
getIntDictOptions(DICT_TYPE.HELI_DOCUMENT_STATUS).find(
(dict) => dict.value === scope.row.status
)?.label || '未知状态'
}}
</template>
</el-table-column>
<el-table-column label="操作" align="center" fixed="right" min-width="180"> <el-table-column label="操作" align="center" fixed="right" min-width="180">
<template #default="scope"> <template #default="scope">
<el-button <el-button
v-if="scope.row.status === 1" v-if="scope.row.status === 1"
link link
type="primary" type="primary"
@click="openForm('detail', scope.row.purchaseOrderId)" @click="openForm('detail', scope.row.id)"
> >
去审核 去审核
</el-button> </el-button>
<el-button link type="primary" @click="openForm('detail', scope.row.purchaseOrderId)"> <el-button link type="primary" @click="openForm('detail', scope.row.id)">
查看详情 查看详情
</el-button> </el-button>
</template> </template>
@ -88,6 +104,7 @@ import {DICT_TYPE, getIntDictOptions} from '@/utils/dict'
import { dateFormatter1} from '@/utils/formatTime' import { dateFormatter1} from '@/utils/formatTime'
import * as MaterialPlanApi from '@/api/heli/materialplan' import * as MaterialPlanApi from '@/api/heli/materialplan'
import * as PartPurchaseOrderApi from "@/api/heli/partpurchaseorder"; import * as PartPurchaseOrderApi from "@/api/heli/partpurchaseorder";
import {getPartCheckPage} from "@/api/heli/partpurchaseorder";
defineOptions({ name: 'MaterialPlan' }) defineOptions({ name: 'MaterialPlan' })
@ -125,7 +142,7 @@ const exportLoading = ref(false) // 导出的加载中
const getList = async () => { const getList = async () => {
loading.value = true loading.value = true
try { try {
const data = await PartPurchaseOrderApi.getPartPage(queryParams) const data = await PartPurchaseOrderApi.getPartCheckPage(queryParams)
list.value = data.list list.value = data.list
total.value = data.total total.value = data.total
} finally { } finally {