零件进程管理页面
This commit is contained in:
parent
6100b0109a
commit
966573b942
@ -1,6 +1,5 @@
|
||||
package com.chanko.yunxi.mes.module.heli.controller.admin.projectorder.vo;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderSubDO;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
@ -77,4 +77,6 @@ public class PartPurchaseOrderPageReqVO extends PageParam {
|
||||
private Integer goodsType;
|
||||
@Schema(description = "单据状态,0 待送审,1已送审,2已审核,3已打回 ,默认是1")
|
||||
private Integer documentStatus;
|
||||
@Schema(description = "图号")
|
||||
private String blueprintNo;
|
||||
}
|
||||
|
@ -178,4 +178,10 @@ public class PurchaseOrderNoDetailController {
|
||||
public CommonResult<Long> getReceivingGoodsMessage() {
|
||||
return success( purchaseOrderNoDetailService.getReceivingGoodsMessage());
|
||||
}
|
||||
@PostMapping("/updateFrom")
|
||||
@Operation(summary = "收货")
|
||||
@PreAuthorize("@ss.hasPermission('heli:process-bom:create')")
|
||||
public CommonResult<Boolean> updateFrom(@Valid @RequestBody PurchaseOrderNoDetailDO detailDO) {
|
||||
return purchaseOrderNoDetailService.updateFrom(detailDO);
|
||||
}
|
||||
}
|
||||
|
@ -95,6 +95,7 @@ public interface PurchaseOrderMakeDetailMapper extends BaseMapperX<PurchaseOrder
|
||||
.leftJoin(AdminUserDO.class,"c", AdminUserDO::getId,PurchaseOrderMakeDetailDO::getDuEmpId)
|
||||
.leftJoin(SupplierDO.class, "d", SupplierDO::getId,PurchaseOrderMakeDetailDO::getSupplierId)
|
||||
.leftJoin(ProcedureDO.class, "e", ProcedureDO::getId, PurchaseOrderMakeDetailDO::getProcedureId)
|
||||
.leftJoin(ProcessBomDetailDO.class, "f", ProcessBomDetailDO::getId,PurchaseOrderMakeDetailDO::getBoomDetailId)
|
||||
.disableLogicDel()
|
||||
.disableSubLogicDel()
|
||||
.eq(PurchaseOrderMakeDO::getGoodsType, 2)
|
||||
@ -106,6 +107,7 @@ public interface PurchaseOrderMakeDetailMapper extends BaseMapperX<PurchaseOrder
|
||||
.like(StringUtils.isNotBlank(pageReqVO.getProjectName()), PurchaseOrderMakeDO::getProjectName, pageReqVO.getProjectName())
|
||||
.like(StringUtils.isNotBlank(pageReqVO.getProjectSubName()), PurchaseOrderMakeDetailDO::getName, pageReqVO.getProjectSubName())
|
||||
.like(StringUtils.isNotBlank(pageReqVO.getMaterialName()), PurchaseOrderMakeDetailDO::getBoomName, pageReqVO.getMaterialName())
|
||||
.like(ObjectUtil.isNotEmpty(pageReqVO.getBlueprintNo()), ProcessBomDetailDO::getBlueprintNo, pageReqVO.getBlueprintNo())
|
||||
.eq(Objects.nonNull(pageReqVO.getStatus()), PurchaseOrderMakeDetailDO::getOrderStatus, pageReqVO.getStatus())
|
||||
.eq(Objects.nonNull(pageReqVO.getProjectCode()), ProjectOrderDO::getCode, pageReqVO.getProjectCode())
|
||||
.like(Objects.nonNull(pageReqVO.getOwnerName()), AdminUserDO::getNickname, pageReqVO.getOwnerName())
|
||||
|
@ -229,6 +229,13 @@ public class ProcessDesignServiceImpl implements ProcessDesignService {
|
||||
}
|
||||
updateObj.setReReason(null);
|
||||
processDesignMapper.updateById(updateObj);
|
||||
ProcessDesignDO processDesignDO = processDesignMapper.selectById(updateReqVO.getId());
|
||||
LambdaUpdateWrapper<PlanSubDetailDO> wrapper = new LambdaUpdateWrapper<>();
|
||||
wrapper.eq(PlanSubDetailDO::getProjectId, processDesignDO.getProjectId());
|
||||
wrapper.eq(PlanSubDetailDO::getProjectSubId, processDesignDO.getProjectSubId());
|
||||
wrapper.eq(PlanSubDetailDO::getSubType, processDesignDO.getProcessDesignType());
|
||||
wrapper.set(PlanSubDetailDO::getIsOverProcess, 2);
|
||||
planSubDetailMapper.update(wrapper);
|
||||
|
||||
// 更新子表
|
||||
updateProcessDesignProgressList(updateReqVO.getId(), updateReqVO.getProcessDesignProgressList());
|
||||
@ -266,7 +273,7 @@ public class ProcessDesignServiceImpl implements ProcessDesignService {
|
||||
wrapper.eq(PlanSubDetailDO::getProjectId, processDesignDO.getProjectId());
|
||||
wrapper.eq(PlanSubDetailDO::getProjectSubId, processDesignDO.getProjectSubId());
|
||||
wrapper.eq(PlanSubDetailDO::getSubType, processDesignDO.getProcessDesignType());
|
||||
wrapper.set(PlanSubDetailDO::getIsOverProcess, 1);
|
||||
wrapper.set(PlanSubDetailDO::getIsOverProcess, 2);
|
||||
planSubDetailMapper.update(wrapper);
|
||||
return processDesignMapper.over(id);
|
||||
}
|
||||
@ -587,7 +594,7 @@ public class ProcessDesignServiceImpl implements ProcessDesignService {
|
||||
wrapper.eq(PlanSubDetailDO::getProjectId, processDesignDO.getProjectId());
|
||||
wrapper.eq(PlanSubDetailDO::getProjectSubId, processDesignDO.getProjectSubId());
|
||||
wrapper.eq(PlanSubDetailDO::getSubType, processDesignDO.getProcessDesignType());
|
||||
wrapper.set(PlanSubDetailDO::getIsOverProcess, 0);
|
||||
wrapper.set(PlanSubDetailDO::getIsOverProcess, 2);
|
||||
planSubDetailMapper.update(wrapper);
|
||||
|
||||
}
|
||||
|
@ -70,4 +70,6 @@ public interface PurchaseOrderNoDetailService {
|
||||
PageResult<PurchaseOrderNoDetailDO> getReceivingGoods(PurchaseOrderNoDetailPageReqVO pageReqVO);
|
||||
|
||||
Long getReceivingGoodsMessage();
|
||||
|
||||
CommonResult<Boolean> updateFrom(PurchaseOrderNoDetailDO detailDO);
|
||||
}
|
||||
|
@ -2,6 +2,7 @@ package com.chanko.yunxi.mes.module.heli.service.purchaseordernodetail;
|
||||
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.chanko.yunxi.mes.framework.common.exception.ErrorCode;
|
||||
import com.chanko.yunxi.mes.framework.common.pojo.CommonResult;
|
||||
import com.chanko.yunxi.mes.framework.security.core.util.SecurityFrameworkUtils;
|
||||
@ -550,4 +551,40 @@ public class PurchaseOrderNoDetailServiceImpl implements PurchaseOrderNoDetailSe
|
||||
public Long getReceivingGoodsMessage() {
|
||||
return purchaseOrderNoDetailMapper.getReceivingGoodsMessage();
|
||||
}
|
||||
|
||||
@Override
|
||||
public CommonResult<Boolean> updateFrom(PurchaseOrderNoDetailDO detailDO) {
|
||||
PurchaseOrderNoDetailDO purchaseOrderNoDetailDO = purchaseOrderNoDetailMapper.selectById(detailDO.getId());
|
||||
if (ObjectUtil.isNotEmpty(purchaseOrderNoDetailDO)){
|
||||
purchaseOrderNoDetailDO.setEstimatedPrice(detailDO.getEstimatedPrice());
|
||||
purchaseOrderNoDetailMapper.updateById(purchaseOrderNoDetailDO);
|
||||
LambdaQueryWrapper<StorageInDetailDO> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(StorageInDetailDO::getPurchaseOrderNoDetailId,detailDO.getId());
|
||||
List<StorageInDetailDO> list = storageInDetailMapper.selectList(wrapper);
|
||||
BigDecimal result = BigDecimal.ZERO;
|
||||
BigDecimal estimatedPrice = detailDO.getEstimatedPrice();
|
||||
BigDecimal purchaseAmount = detailDO.getPurchaseAmount();
|
||||
// 检查两个值是否为null或0
|
||||
if (estimatedPrice != null &&
|
||||
purchaseAmount != null &&
|
||||
purchaseAmount.compareTo(BigDecimal.ZERO) != 0) {
|
||||
// 当两个值非空且除数非零时才进行计算
|
||||
result = estimatedPrice.divide(purchaseAmount, 10, RoundingMode.HALF_UP);
|
||||
}
|
||||
if (ObjectUtil.isNotEmpty(list)){
|
||||
for (StorageInDetailDO storageInDetailDO : list) {
|
||||
if (result.compareTo(BigDecimal.ZERO)==0){
|
||||
storageInDetailDO.setEstimatedPrice(BigDecimal.ZERO);
|
||||
|
||||
}else {
|
||||
storageInDetailDO.setEstimatedPrice(storageInDetailDO.getStorageAmount().multiply(result).setScale(1, RoundingMode.HALF_UP));
|
||||
}
|
||||
}
|
||||
storageInDetailMapper.insertOrUpdateBatch( list);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return CommonResult.success(true);
|
||||
}
|
||||
}
|
||||
|
@ -88,3 +88,6 @@ export const getOutsourcingExpenses = async (params) => {
|
||||
export const exportOutsourcing = async (params) => {
|
||||
return await request.download({ url: `/heli/purchase-order-no-detail/exportOutsourcing`, params })
|
||||
}
|
||||
export const updateFrom= async (data) => {
|
||||
return await request.post({ url: `/heli/purchase-order-no-detail/updateFrom`, data })
|
||||
}
|
||||
|
@ -12,8 +12,11 @@
|
||||
<el-form-item label="子项目名称" prop="projectSubName">
|
||||
<el-input v-model="queryParams.projectSubName" placeholder="请输入子项目名称" clearable @keyup.enter="handleQuery" class="!w-240px" />
|
||||
</el-form-item>
|
||||
<el-form-item label="零件名称" prop="materialName">
|
||||
<el-input v-model="queryParams.materialName" placeholder="请输入零件名称" clearable @keyup.enter="handleQuery" class="!w-240px" />
|
||||
<!-- <el-form-item label="零件名称" prop="materialName">-->
|
||||
<!-- <el-input v-model="queryParams.materialName" placeholder="请输入零件名称" clearable @keyup.enter="handleQuery" class="!w-240px" />-->
|
||||
<!-- </el-form-item>-->
|
||||
<el-form-item label="图号" prop="blueprintNo">
|
||||
<el-input v-model="queryParams.blueprintNo" placeholder="请输入图号" clearable @keyup.enter="handleQuery" class="!w-240px" />
|
||||
</el-form-item>
|
||||
<el-form-item label="项目编码" prop="projectCode">
|
||||
<el-input v-model="queryParams.projectCode" placeholder="请输入项目编号" clearable @keyup.enter="handleQuery" class="!w-240px" />
|
||||
@ -140,6 +143,7 @@ const queryParams = reactive({
|
||||
materialName:undefined,
|
||||
projectMaterialPlanNo:undefined,
|
||||
supplierName:undefined,
|
||||
blueprintNo:undefined
|
||||
})
|
||||
const queryFormRef = ref() // 搜索的表单
|
||||
const exportLoading = ref(false) // 导出的加载中
|
||||
|
@ -121,7 +121,7 @@
|
||||
<td> 设备型号 </td>
|
||||
<td> 数量 </td>
|
||||
<td> 主要材料 </td>
|
||||
<td style="width:110px"> 毛坯日期 </td>
|
||||
<td style="width:120px"> 毛坯日期 </td>
|
||||
<td> 2D/日期 </td>
|
||||
<td> 3D/日期 </td>
|
||||
</tr>
|
||||
@ -412,7 +412,7 @@ style="
|
||||
</tr>
|
||||
</tbody>
|
||||
<tbody>
|
||||
<tr v-for="item in formData.projectOrderSubs.length" :key="item">
|
||||
<tr v-for="item in num" :key="item">
|
||||
<td> {{item+(formData.projectOrderSubs.length)}}</td>
|
||||
<td colspan="3"> </td>
|
||||
<td> </td>
|
||||
@ -504,6 +504,7 @@ import { getOperateLogPage } from '@/api/system/operatelog'
|
||||
import urlimg from '@/assets/imgs/exlogo.png'
|
||||
const logoDataUrl = ref('') // 存储Logo的Base64编码数据URL
|
||||
const dialogVisible = ref(false) // 弹窗的是否展示
|
||||
const num = ref(0) // 存储Logo的Base64编码数据URL
|
||||
|
||||
const onPrint = () => {
|
||||
// 拿到打印页面dom节点
|
||||
@ -538,7 +539,7 @@ const onPrint = () => {
|
||||
|
||||
@page {
|
||||
size: A4;
|
||||
margin:1cm;
|
||||
margin:0.8cm 1cm 1.4cm 1cm;;
|
||||
}
|
||||
@media print {
|
||||
.page {
|
||||
@ -552,6 +553,24 @@ const onPrint = () => {
|
||||
page-break-after: always;
|
||||
}
|
||||
}
|
||||
/* 注册页脚为运行元素 */
|
||||
.footer {
|
||||
position: running(footer);
|
||||
text-align: right;
|
||||
font-size: 10px;
|
||||
color: #666;
|
||||
border-top: 1px dashed #ccc;
|
||||
padding-top: 2px;
|
||||
}
|
||||
|
||||
/* 定义页脚位置 */
|
||||
@page {
|
||||
@bottom-right {
|
||||
content: counter(page) "/" counter(pages);
|
||||
font-family: Arial; /* 防止继承奇怪字体 */
|
||||
}
|
||||
}
|
||||
|
||||
table {
|
||||
width: 100%; /* 让表格宽度100%占满其父元素宽度 */
|
||||
height: auto; /* 高度根据内容自适应 */
|
||||
@ -587,6 +606,7 @@ const onPrint = () => {
|
||||
</style>
|
||||
<div>
|
||||
${printNode.innerHTML}
|
||||
|
||||
</div>`)
|
||||
doc.close()
|
||||
// 浏览器打印页面打开渲染
|
||||
@ -596,12 +616,147 @@ const onPrint = () => {
|
||||
document.body.removeChild(newIframe) // 移除打印内框架,下次打印下次再挂载
|
||||
dialogVisible.value = false
|
||||
}, 100)
|
||||
|
||||
}
|
||||
// const onPrint = () => {
|
||||
// const printNode = document.querySelector('.print-wrap');
|
||||
// if (!printNode) return;
|
||||
//
|
||||
// // 克隆节点避免污染原始DOM
|
||||
// const printClone = printNode.cloneNode(true) as HTMLElement;
|
||||
// const pages = printClone.querySelectorAll('.page');
|
||||
// const totalPages = pages.length;
|
||||
// console.log(totalPages)
|
||||
// // 动态添加页码元素
|
||||
// let currentPage = 1;
|
||||
// pages.forEach(page => {
|
||||
// const pageNum = document.createElement('div');
|
||||
// pageNum.className = 'page-footer';
|
||||
// pageNum.innerHTML = `<span class="page-number">${currentPage}/${totalPages}</span>`;
|
||||
//
|
||||
// // 插入页码到页面底部
|
||||
// const footer = document.createElement('div');
|
||||
// footer.className = 'print-footer';
|
||||
// footer.appendChild(pageNum);
|
||||
// page.appendChild(footer);
|
||||
// currentPage++;
|
||||
// });
|
||||
// // 创建打印专用iframe
|
||||
// const newIframe = document.createElement('iframe');
|
||||
// Object.assign(newIframe.style, {
|
||||
// width: '0px',
|
||||
// height: '0px',
|
||||
// position: 'absolute',
|
||||
// left: '-9999px',
|
||||
// top: '-9999px'
|
||||
// });
|
||||
// document.body.appendChild(newIframe);
|
||||
//
|
||||
// const doc = newIframe.contentWindow!.document!;
|
||||
// doc.write(`
|
||||
// <style>
|
||||
// /* 保留原有样式 */
|
||||
// .page {
|
||||
// width: 21cm;
|
||||
// min-height: 29.7cm;
|
||||
// padding: 10mm;
|
||||
// margin: 20px auto;
|
||||
// border: 1px #d3d3d3 solid;
|
||||
// border-radius: 5px;
|
||||
// background: white;
|
||||
// box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
|
||||
// position: relative;
|
||||
// font-size: 12px !important;
|
||||
// }
|
||||
//
|
||||
// @page {
|
||||
// size: A4;
|
||||
// margin: 1cm;
|
||||
// }
|
||||
//
|
||||
// @media print {
|
||||
// .page {
|
||||
// margin: 10mm;
|
||||
// border: initial;
|
||||
// border-radius: initial;
|
||||
// width: initial;
|
||||
// min-height: initial;
|
||||
// box-shadow: initial;
|
||||
// background: initial;
|
||||
// page-break-after: always;
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// /* 新增页码样式 */
|
||||
// .print-footer {
|
||||
// position: absolute;
|
||||
// bottom: 5mm;
|
||||
// right: 5mm;
|
||||
// font-size: 10px;
|
||||
// color: #666;
|
||||
// }
|
||||
//
|
||||
// .page-number {
|
||||
// padding: 2px 6px;
|
||||
// border: 1px solid #ddd;
|
||||
// border-radius: 3px;
|
||||
// background: #f8f8f8;
|
||||
// }
|
||||
// table {
|
||||
// width: 100%; /* 让表格宽度100%占满其父元素宽度 */
|
||||
// height: auto; /* 高度根据内容自适应 */
|
||||
// font-size: 12px;
|
||||
// text-align: center;
|
||||
// border-collapse: collapse;
|
||||
// margin-top: 5mm; /* 添加顶部外边距,替代原先的页内边距 */
|
||||
// tr{
|
||||
// td {
|
||||
// padding: 5px 0;
|
||||
// border: 1px solid #333;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// .masterClass {
|
||||
// height: 15px;
|
||||
// }
|
||||
// .xh {
|
||||
// width: 50px !important;
|
||||
// }
|
||||
// .xh {
|
||||
// height: 20px !important;
|
||||
// }
|
||||
// .checkbox {
|
||||
// border: 2px solid #999;
|
||||
// width: 10px;
|
||||
// height: 10px;
|
||||
// display: flex;
|
||||
// justify-content: center;
|
||||
// align-items: center;
|
||||
// margin-left:10px ;
|
||||
// }
|
||||
//
|
||||
// </style>
|
||||
// <div>${printClone.innerHTML}</div>
|
||||
// `);
|
||||
// doc.close();
|
||||
//
|
||||
// // 打印处理
|
||||
// setTimeout(() => {
|
||||
// newIframe.contentWindow!.focus();
|
||||
// newIframe.contentWindow!.print();
|
||||
//
|
||||
// // 打印后清理
|
||||
// document.body.removeChild(newIframe);
|
||||
// dialogVisible.value = false;
|
||||
//
|
||||
// // 恢复原始内容(可选)
|
||||
// // printNode.innerHTML = originalContent;
|
||||
// }, 300);
|
||||
// };
|
||||
const outopen = () => {
|
||||
dialogVisible.value = false
|
||||
}
|
||||
|
||||
|
||||
const formData = ref({
|
||||
id: undefined,
|
||||
code: undefined,
|
||||
@ -725,6 +880,20 @@ const open = async (id: number) => {
|
||||
formData.value.auditTime = auditLog.startTime
|
||||
formData.value.auditUserName = auditLog.userNickname
|
||||
}
|
||||
if (formData.value.projectOrderSubs.length>6){
|
||||
if (formData.value.projectOrderSubs.length>33){
|
||||
var number = formData.value.projectOrderSubs.length-33;
|
||||
const remainder = number % 29;
|
||||
const emptyRows = remainder === 0 ? 0 : 29 - remainder;
|
||||
num.value=emptyRows
|
||||
console.log(num.value)
|
||||
}else {
|
||||
var number = formData.value.projectOrderSubs.length-6;
|
||||
const remainder = number % 27;
|
||||
const emptyRows = remainder === 0 ? 0 : 27 - remainder;
|
||||
num.value=emptyRows
|
||||
}
|
||||
}
|
||||
}
|
||||
defineExpose({ open }) // 提供 open 方法,用于打开弹窗
|
||||
|
||||
@ -859,6 +1028,22 @@ const resetForm = () => {
|
||||
page-break-after: always;
|
||||
}
|
||||
}
|
||||
.footer {
|
||||
position: running(footer);
|
||||
text-align: right;
|
||||
font-size: 10px;
|
||||
color: #666;
|
||||
border-top: 1px dashed #ccc;
|
||||
padding-top: 5px;
|
||||
}
|
||||
|
||||
/* 定义页脚位置 */
|
||||
@page {
|
||||
@bottom-right {
|
||||
content: counter(page) "/" counter(pages);
|
||||
font-family: Arial; /* 防止继承奇怪字体 */
|
||||
}
|
||||
}
|
||||
table {
|
||||
width: 100%; /* 让表格宽度100%占满其父元素宽度 */
|
||||
height: auto; /* 高度根据内容自适应 */
|
||||
|
@ -76,7 +76,16 @@
|
||||
<el-table-column prop="arriveTime" min-width="150" label="预计到货日期" align="center" :formatter="dateFormatter1" />
|
||||
<el-table-column prop="description" min-width="150" label="技术要求" align="center"/>
|
||||
<el-table-column prop="theWeight" min-width="100" label="理论重量" align="center"/>
|
||||
|
||||
<el-table-column label="操作" align="center" fixed="right" min-width="200">
|
||||
<template #header>
|
||||
<span style="margin-right: 30%">操作</span>
|
||||
</template>
|
||||
<template #default="scope">
|
||||
<el-button link type="primary" @click="updateFrom(scope.row)" v-if="scope.row.receivingStatus==3">
|
||||
总价修改
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-form>
|
||||
<!-- <Pagination :total="total" v-model:page="queryParams.pageNo" v-model:limit="queryParams.pageSize"-->
|
||||
@ -217,6 +226,7 @@ const tagsViewStore = useTagsViewStore()
|
||||
import * as PurchaseOrderNoApi from '@/api/heli/purchaseorderno'
|
||||
import * as PurchaseOrderNoDetailApi from '@/api/heli/purchaseordernodetail'
|
||||
import {ref} from "vue";
|
||||
import {update} from "lodash-es";
|
||||
|
||||
const dialogVisible = ref(false) // 弹窗的是否展示
|
||||
const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用
|
||||
@ -300,6 +310,17 @@ const isPrint = async () => {
|
||||
}
|
||||
|
||||
}
|
||||
const updateFrom = async (row) => {
|
||||
console.log(row)
|
||||
|
||||
await PurchaseOrderNoDetailApi.updateFrom(row)
|
||||
loading.value = true;
|
||||
|
||||
message.success("修改成功");
|
||||
getList(); // 确保刷新完成
|
||||
emit('success');
|
||||
|
||||
}
|
||||
|
||||
|
||||
function doPrint() {
|
||||
|
@ -12,7 +12,7 @@
|
||||
<el-form-item label="项目名称" prop="projectName">
|
||||
<el-input
|
||||
v-model="queryParams.projectName"
|
||||
placeholder="请输入项目简码"
|
||||
placeholder="请输入项目名称"
|
||||
clearable
|
||||
@keyup.enter="handleQuery"
|
||||
class="!w-240px"
|
||||
@ -49,7 +49,7 @@
|
||||
<el-form-item label="零件号" prop="blueprintNo">
|
||||
<el-input
|
||||
v-model="queryParams.blueprintNo"
|
||||
placeholder="请输入项目编号"
|
||||
placeholder="请输入零件号"
|
||||
clearable
|
||||
@keyup.enter="handleQuery"
|
||||
class="!w-240px"
|
||||
@ -59,7 +59,7 @@
|
||||
<el-form-item label="工序" prop="procdureName">
|
||||
<el-input
|
||||
v-model="queryParams.procdureName"
|
||||
placeholder="请输入项目编号"
|
||||
placeholder="请输入工序"
|
||||
clearable
|
||||
@keyup.enter="handleQuery"
|
||||
class="!w-240px"
|
||||
|
Loading…
Reference in New Issue
Block a user