采购订单添加应收
This commit is contained in:
parent
cdbc8fdb2a
commit
e7ac6592f1
@ -70,17 +70,17 @@ public class OrderYsDO extends BaseDO {
|
||||
private BigDecimal amount;
|
||||
|
||||
@TableField(exist = false)
|
||||
private BigDecimal shouFuKuanBiLi;
|
||||
private BigDecimal shouFuKuan;
|
||||
@TableField(exist = false)
|
||||
private BigDecimal twoFuKuanBiLi;
|
||||
private BigDecimal twoFuKuan;
|
||||
@TableField(exist = false)
|
||||
private BigDecimal threeFuKuanBiLi;
|
||||
private BigDecimal threeFuKuan;
|
||||
@TableField(exist = false)
|
||||
private BigDecimal fourFuKuanBiLi;
|
||||
private BigDecimal fourFuKuan;
|
||||
@TableField(exist = false)
|
||||
private BigDecimal fiveFuKuanBiLi;
|
||||
private BigDecimal fiveFuKuan;
|
||||
@TableField(exist = false)
|
||||
private BigDecimal sixFuKuanBiLi;
|
||||
private BigDecimal sixFuKuan;
|
||||
|
||||
|
||||
|
||||
|
@ -50,8 +50,8 @@ public interface OrderYsMapper extends BaseMapperX<OrderYsDO> {
|
||||
MPJLambdaWrapper<OrderYsDO> query = new MPJLambdaWrapper<>();
|
||||
query.selectAll(OrderYsDO.class)
|
||||
.select("sum(i.amount) as amount")
|
||||
.select("p.shou_Fu_Kuan_Bi_Li as shouFuKuanBiLi","p.two_Fu_Kuan_Bi_Li as twoFuKuanBiLi","p.three_Fu_Kuan_Bi_Li as threeFuKuanBiLi")
|
||||
.select("p.four_Fu_Kuan_Bi_Li as fourFuKuanBiLi","p.five_Fu_Kuan_Bi_Li as fiveFuKuanBiLi","p.six_Fu_Kuan_Bi_Li as sixFuKuanBiLi")
|
||||
.select("p.shou_Fu_Kuan as shouFuKuan","p.two_Fu_Kuan as twoFuKuan","p.three_Fu_Kuan as threeFuKuan")
|
||||
.select("p.four_Fu_Kuan as fourFuKuan","p.five_Fu_Kuan as fiveFuKuan","p.six_Fu_Kuan as sixFuKuan")
|
||||
.leftJoin(
|
||||
"finance_invoice i ON i.order_code = t.code AND i.business_type = 'FINANCE_MAKE_INVOICE' AND i.status !='3'")
|
||||
.leftJoin(ProjectOrderDO.class, "p", ProjectOrderDO::getCode, OrderYsDO::getCode)
|
||||
|
@ -100,8 +100,8 @@ public interface PurchaseOrderMakeMapper extends BaseMapperX<PurchaseOrderMakeDO
|
||||
wrapper.selectAll(PurchaseOrderMakeDO.class)
|
||||
.select(
|
||||
"CASE " +
|
||||
"WHEN a.goods_type = 1 THEN '物料' " +
|
||||
"WHEN a.goods_type = 2 THEN '加工件' " +
|
||||
"WHEN t.goods_type = 1 THEN '物料' " +
|
||||
"WHEN t.goods_type = 2 THEN '加工件' " +
|
||||
"ELSE '其他' " +
|
||||
"END AS purchaseOrderType"
|
||||
)
|
||||
|
@ -150,8 +150,9 @@ public interface PurchaseOrderMakeDetailMapper extends BaseMapperX<PurchaseOrder
|
||||
query.selectAll(PurchaseOrderMakeDetailDO.class)
|
||||
.select("p.name as procedureName,s.name as supplierName")
|
||||
.leftJoin(ProcedureDO.class,"p", ProcedureDO::getId, PurchaseOrderMakeDetailDO::getProcedureId)
|
||||
.leftJoin(SupplierDO.class,"s", SupplierDO::getId, PurchaseOrderMakeDetailDO::getSupplierId);
|
||||
.leftJoin(SupplierDO.class,"s", SupplierDO::getId, PurchaseOrderMakeDetailDO::getSupplierId)
|
||||
.disableSubLogicDel();
|
||||
query.eq(PurchaseOrderMakeDetailDO::getPurchaseOrderId,id);
|
||||
return selectJoinList(PurchaseOrderMakeDetailDO.class, query);
|
||||
return selectList(query);
|
||||
}
|
||||
}
|
||||
|
@ -10,6 +10,7 @@ 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.mybatis.core.query.QueryWrapperX;
|
||||
import com.chanko.yunxi.mes.framework.security.core.util.SecurityFrameworkUtils;
|
||||
import com.chanko.yunxi.mes.module.heli.controller.admin.orderyf.vo.OrderYfSaveReqVO;
|
||||
import com.chanko.yunxi.mes.module.heli.controller.admin.purchaseordermake.vo.Log;
|
||||
import com.chanko.yunxi.mes.module.heli.controller.admin.purchaseordermake.vo.PartPurchaseOrderPageReqVO;
|
||||
import com.chanko.yunxi.mes.module.heli.controller.admin.purchaseordermake.vo.PartPurchaseOrderPageRespVO;
|
||||
@ -23,6 +24,7 @@ import com.chanko.yunxi.mes.module.heli.dal.dataobject.purchaseordermakedetail.P
|
||||
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.serialnumber.SerialNumberDO;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.supplier.SupplierDO;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.mysql.materialplanboom.MaterialPlanBoomMapper;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.mysql.plan.PlanMapper;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.mysql.plansub.PlanSubMapper;
|
||||
@ -30,7 +32,10 @@ import com.chanko.yunxi.mes.module.heli.dal.mysql.purchaseordermake.PurchaseOrde
|
||||
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.purchaseordernodetail.PurchaseOrderNoDetailMapper;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.mysql.supplier.SupplierMapper;
|
||||
import com.chanko.yunxi.mes.module.heli.service.orderyf.OrderYfService;
|
||||
import com.chanko.yunxi.mes.module.heli.service.serialnumber.SerialNumberService;
|
||||
import com.chanko.yunxi.mes.module.heli.service.supplier.SupplierService;
|
||||
import com.chanko.yunxi.mes.module.system.dal.dataobject.user.AdminUserDO;
|
||||
import com.chanko.yunxi.mes.module.system.service.user.AdminUserService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@ -74,6 +79,10 @@ public class PartPurchaseOrderServiceImpl implements PartPurchaseOrderService{
|
||||
private PlanSubMapper planSubMapper;
|
||||
@Autowired
|
||||
private AdminUserService adminUserService;
|
||||
@Autowired
|
||||
private OrderYfService orderYfService;
|
||||
@Autowired
|
||||
private SupplierMapper supplierMapper;
|
||||
|
||||
@Override
|
||||
public PageResult<PartPurchaseOrderPageRespVO> getPartPurchaseOrderPage(PartPurchaseOrderPageReqVO pageReqVO) {
|
||||
@ -83,24 +92,36 @@ public class PartPurchaseOrderServiceImpl implements PartPurchaseOrderService{
|
||||
|
||||
@Override
|
||||
public boolean submit(List<PartPurchaseOrderPageRespVO> list) {
|
||||
PurchaseOrderNoDO purchaseOrderNoDO = new PurchaseOrderNoDO();
|
||||
// 返回
|
||||
// 月度流水号
|
||||
SerialNumberDO serialNumberDO = new SerialNumberDO();
|
||||
serialNumberDO = serialNumberService.getSerialNumber(PURCHASE_ORDER.name(), new SimpleDateFormat("yyyyMMdd").format(new Date()));
|
||||
serialNumberDO.setSerialNumber(serialNumberDO.getSerialNumber()+1);
|
||||
// 回写序列记录
|
||||
serialNumberService.updateSerialNumber(serialNumberDO);
|
||||
|
||||
purchaseOrderNoDO.setPurchaseNo(PURCHASE_ORDER.getCode(serialNumberDO.getSerialNumber().toString()));
|
||||
purchaseOrderNoDO.setPurchaseType(1);
|
||||
purchaseOrderNoDO.setGoodsType(2);
|
||||
purchaseOrderNoDO.setSupplierId(list.get(0).getSupplierId());
|
||||
purchaseOrderNoDO.setOrdDate(new Date());
|
||||
purchaseOrderNoMapper.insert(purchaseOrderNoDO);
|
||||
long purchaseOrderId = purchaseOrderNoDO.getId();
|
||||
OrderYfSaveReqVO orderYfVO = new OrderYfSaveReqVO();
|
||||
orderYfVO.setCgOrderNum(purchaseOrderNoDO.getPurchaseNo());
|
||||
SupplierDO supplierDO = supplierMapper.selectById(list.get(0).getSupplierId());
|
||||
if (ObjectUtil.isNotEmpty(supplierDO)){
|
||||
orderYfVO.setCgGysname(supplierDO.getName());
|
||||
}
|
||||
BigDecimal sum = list.stream()
|
||||
.filter(Objects::nonNull) // 过滤掉空对象
|
||||
.map(PartPurchaseOrderPageRespVO::getEstimatedPrice)
|
||||
.filter(Objects::nonNull) // 过滤掉空值
|
||||
.reduce(BigDecimal.ZERO, BigDecimal::add); // 累加求和
|
||||
orderYfVO.setCgYf(sum);
|
||||
orderYfService.createCg(orderYfVO);
|
||||
list.forEach(detailDO -> {
|
||||
PurchaseOrderNoDO purchaseOrderNoDO = new PurchaseOrderNoDO();
|
||||
// 返回
|
||||
// 月度流水号
|
||||
SerialNumberDO serialNumberDO = new SerialNumberDO();
|
||||
serialNumberDO = serialNumberService.getSerialNumber(PURCHASE_ORDER.name(), new SimpleDateFormat("yyyyMMdd").format(new Date()));
|
||||
serialNumberDO.setSerialNumber(serialNumberDO.getSerialNumber()+1);
|
||||
// 回写序列记录
|
||||
serialNumberService.updateSerialNumber(serialNumberDO);
|
||||
|
||||
purchaseOrderNoDO.setPurchaseNo(PURCHASE_ORDER.getCode(serialNumberDO.getSerialNumber().toString()));
|
||||
purchaseOrderNoDO.setPurchaseType(1);
|
||||
purchaseOrderNoDO.setGoodsType(2);
|
||||
purchaseOrderNoDO.setSupplierId(detailDO.getSupplierId());
|
||||
purchaseOrderNoDO.setOrdDate(new Date());
|
||||
purchaseOrderNoMapper.insert(purchaseOrderNoDO);
|
||||
long purchaseOrderId = purchaseOrderNoDO.getId();
|
||||
|
||||
// PurchaseOrderNoDetailDO purchaseOrderNoDetailDO = new PurchaseOrderNoDetailDO();
|
||||
// purchaseOrderNoDetailDO.setPurchaseOrderId(purchaseOrderId);
|
||||
// purchaseOrderNoDetailDO.setBoomDetailId(detailDO.getBoomDetailId());
|
||||
@ -309,6 +330,7 @@ public class PartPurchaseOrderServiceImpl implements PartPurchaseOrderService{
|
||||
logList.add(log);
|
||||
}
|
||||
}
|
||||
orderMakeDO.setLogList(logList);
|
||||
return CommonResult.success(orderMakeDO);
|
||||
}
|
||||
|
||||
|
@ -1,6 +1,8 @@
|
||||
package com.chanko.yunxi.mes.module.heli.service.purchaseordermakedetail;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.chanko.yunxi.mes.module.heli.controller.admin.orderyf.vo.OrderYfSaveReqVO;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.composition.CompositionDO;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.material.MaterialDO;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.purchaseorder.PurchaseOrderDO;
|
||||
@ -8,11 +10,14 @@ import com.chanko.yunxi.mes.module.heli.dal.dataobject.purchaseordermake.Purchas
|
||||
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.serialnumber.SerialNumberDO;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.supplier.SupplierDO;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.mysql.composition.CompositionMapper;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.mysql.material.MaterialMapper;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.mysql.purchaseordermake.PurchaseOrderMakeMapper;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.mysql.purchaseorderno.PurchaseOrderNoMapper;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.mysql.purchaseordernodetail.PurchaseOrderNoDetailMapper;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.mysql.supplier.SupplierMapper;
|
||||
import com.chanko.yunxi.mes.module.heli.service.orderyf.OrderYfService;
|
||||
import com.chanko.yunxi.mes.module.heli.service.serialnumber.SerialNumberService;
|
||||
import org.checkerframework.checker.units.qual.A;
|
||||
import org.springframework.stereotype.Service;
|
||||
@ -20,6 +25,7 @@ import javax.annotation.Resource;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
@ -61,6 +67,11 @@ public class PurchaseOrderMakeDetailServiceImpl implements PurchaseOrderMakeDeta
|
||||
private MaterialMapper materialMapper;
|
||||
@Resource
|
||||
private CompositionMapper compositionMapper;
|
||||
|
||||
@Resource
|
||||
private OrderYfService orderYfService;
|
||||
@Resource
|
||||
private SupplierMapper supplierMapper;
|
||||
@Override
|
||||
public Long createPurchaseOrderMakeDetail(PurchaseOrderMakeDetailSaveReqVO createReqVO) {
|
||||
// 插入
|
||||
@ -90,6 +101,19 @@ public class PurchaseOrderMakeDetailServiceImpl implements PurchaseOrderMakeDeta
|
||||
purchaseOrderNoDO.setSupplierId(updateList.get(0).getSupplierId());
|
||||
purchaseOrderNoDO.setOrdDate(new Date());
|
||||
purchaseOrderNoMapper.insert(purchaseOrderNoDO);
|
||||
OrderYfSaveReqVO orderYfVO = new OrderYfSaveReqVO();
|
||||
orderYfVO.setCgOrderNum(code);
|
||||
SupplierDO supplierDO = supplierMapper.selectById(updateList.get(0).getSupplierId());
|
||||
if (ObjectUtil.isNotEmpty(supplierDO)){
|
||||
orderYfVO.setCgGysname(supplierDO.getName());
|
||||
}
|
||||
BigDecimal sum = updateList.stream()
|
||||
.filter(Objects::nonNull) // 过滤掉空对象
|
||||
.map(PurchaseOrderMakeDetailDO::getEstimatedPrice)
|
||||
.filter(Objects::nonNull) // 过滤掉空值
|
||||
.reduce(BigDecimal.ZERO, BigDecimal::add); // 累加求和
|
||||
orderYfVO.setCgYf(sum);
|
||||
orderYfService.createCg(orderYfVO);
|
||||
List<PurchaseOrderNoDetailDO> insertList =new ArrayList<>();
|
||||
HashMap<Long,PurchaseOrderMakeDO> insertMap = new HashMap<>();
|
||||
HashMap<Long, MaterialDO> insertMaterialMap = new HashMap<>();
|
||||
|
@ -60,3 +60,10 @@ export const getDetail = async (params) => {
|
||||
export const createPurchaseOrderMakeAndDetail = async (data) => {
|
||||
return await request.post({ url: `/heli/purchase-order-make/createPurchaseOrderMakeAndDetail`, data })
|
||||
}
|
||||
export const review = async (params) => {
|
||||
return await request.get({ url: `/heli/purchase-order-make/review`, params })
|
||||
}
|
||||
|
||||
export const obtainReviewDetails = async (id:number) => {
|
||||
return await request.get({ url: `/heli/purchase-order-make/obtainReviewDetails?id=` +id })
|
||||
}
|
||||
|
@ -68,33 +68,41 @@
|
||||
<el-table-column label="子项目编码" align="center" prop="projectSubCode" min-width="150" />
|
||||
<el-table-column label="物料编码" align="center" min-width="180" >
|
||||
<template #header><span class="hl-table_header">*</span>物料编码</template>
|
||||
<!-- <template #default="scope">-->
|
||||
<!-- <el-select-->
|
||||
<!-- v-model="scope.row.boomCode"-->
|
||||
<!-- placeholder="请输入物料编码或名称"-->
|
||||
<!-- :remote-method="e => remoteMethod(e,scope.row)"-->
|
||||
<!-- remote-show-suffix-->
|
||||
<!-- remote-->
|
||||
<!-- @click="remoteMethod(scope.row.boomCode,scope.row)"-->
|
||||
<!-- :disabled="scope.row.orderStatus == 2"-->
|
||||
<!-- clearable-->
|
||||
<!-- reserve-keyword-->
|
||||
<!-- filterable-->
|
||||
<!-- @change="e => changeSupp(e,scope.row)"-->
|
||||
<!-- :loading="meterialLoading"-->
|
||||
<!-- class="!w-150px"-->
|
||||
<!-- >-->
|
||||
<!-- <el-option-->
|
||||
<!-- v-for="item in scope.row.materialSelectList"-->
|
||||
<!-- :key="item.code"-->
|
||||
<!-- :label="item.code"-->
|
||||
<!-- :value="item"-->
|
||||
<!-- >-->
|
||||
<!-- <span style="float: left">{{ item.name }}</span>-->
|
||||
<!-- <span style="float: right; color: #8492a6; font-size: 13px">{{ item.code }}</span>-->
|
||||
<!-- </el-option>-->
|
||||
<!-- </el-select>-->
|
||||
<!--</template>-->
|
||||
<template #default="scope">
|
||||
<el-select
|
||||
v-model="scope.row.boomCode"
|
||||
placeholder="请输入物料编码或名称"
|
||||
:remote-method="e => remoteMethod(e,scope.row)"
|
||||
remote-show-suffix
|
||||
remote
|
||||
@click="remoteMethod(scope.row.boomCode,scope.row)"
|
||||
:disabled="scope.row.orderStatus == 2"
|
||||
clearable
|
||||
reserve-keyword
|
||||
filterable
|
||||
@change="e => changeSupp(e,scope.row)"
|
||||
:loading="meterialLoading"
|
||||
class="!w-150px"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in scope.row.materialSelectList"
|
||||
:key="item.code"
|
||||
:label="item.code"
|
||||
:value="item"
|
||||
>
|
||||
<span style="float: left">{{ item.name }}</span>
|
||||
<span style="float: right; color: #8492a6; font-size: 13px">{{ item.code }}</span>
|
||||
</el-option>
|
||||
</el-select>
|
||||
<el-input v-model="scope.row.boomCode" disabled>
|
||||
<template #suffix>
|
||||
<Icon @click="serachLog(scope.row)" icon="ep:search" color="primary"/>
|
||||
</template>
|
||||
</el-input>
|
||||
</template>
|
||||
|
||||
</el-table-column>
|
||||
<el-table-column label="标准件名称" align="center" prop="boomName" min-width="150" />
|
||||
<el-table-column label="规格型号" align="center" prop="boomSpec" min-width="150" />
|
||||
@ -150,12 +158,9 @@ import * as purchaseOrderMakeDetailApi from '@/api/heli/purchaseordermakedetail'
|
||||
import { useCommonStateWithOut } from '@/store/modules/common'
|
||||
import * as matApi from '@/api/heli/material'
|
||||
import { useUserStore } from '@/store/modules/user'
|
||||
import matLog from './storageLog.vue'
|
||||
import matLog from './storageLogs.vue'
|
||||
import * as supplierApi from '@/api/heli/supplier'
|
||||
import UserSelect from "@/views/heli/materialplan/userSelectNew.vue";
|
||||
import {inject, ref} from "vue";
|
||||
import { update } from 'lodash-es'
|
||||
import { Hash } from 'crypto'
|
||||
const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用
|
||||
const userStore = useUserStore()
|
||||
const username = userStore.getUser.nickname
|
||||
@ -170,7 +175,6 @@ import {
|
||||
formatDate, dateFormatter2
|
||||
} from "@/utils/formatTime";
|
||||
const meterialLoading = ref(false)
|
||||
const matLogRef = ref()
|
||||
const loading = ref(true) // 列表的加载中
|
||||
const list = ref([]) // 列表的数据
|
||||
const total = ref(0) // 列表的总页数
|
||||
@ -200,6 +204,7 @@ const queryParams1 = reactive({
|
||||
})
|
||||
const queryFormRef = ref() // 搜索的表单
|
||||
const exportLoading = ref(false) // 导出的加载中
|
||||
const matLogRef = ref()
|
||||
|
||||
/** 查询列表 */
|
||||
const getList = async () => {
|
||||
@ -207,7 +212,7 @@ const getList = async () => {
|
||||
try {
|
||||
multipleTable.value.clearSelection();
|
||||
const data = await purchaseOrderMakeDetailApi.page(queryParams)
|
||||
|
||||
|
||||
list.value = data.list
|
||||
for (const row of list.value ) {
|
||||
// 如果boomCode不为空,则调用remoteMethod进行查询
|
||||
@ -262,7 +267,9 @@ const getMateriallist = async(row) =>{
|
||||
const data = await matApi.getMaterialPage(queryMaterialParams)
|
||||
row.materialSelectList = data.list
|
||||
}
|
||||
|
||||
const serachLog = (row) => {
|
||||
matLogRef.value.open(row.id)
|
||||
}
|
||||
const handleSelectionChange = (selection) => {
|
||||
ids.value = selection;
|
||||
}
|
||||
@ -283,13 +290,13 @@ const handleExportDetail = async () => {
|
||||
exportLoading.value = false
|
||||
}
|
||||
}
|
||||
const getMat = async (rowids,amount,ids) => {
|
||||
const getMat = async (rowids,ids,matCodes) => {
|
||||
//formData.value.boomItemDOList = arrBoom
|
||||
for(var i = 0 ; i < list.value.length ; i ++){
|
||||
if(list.value[i].id == rowids){
|
||||
list.value[i].matRest = amount
|
||||
list.value[i].boomCode = matCodes
|
||||
list.value[i].materialId = ids
|
||||
await updateRow(2,list.value[i]);
|
||||
// await updateRow(2,list.value[i]);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -315,14 +322,14 @@ const changeDate = async(e,row) => {
|
||||
await updateRow(5,row)
|
||||
}
|
||||
}
|
||||
const serachLog = (row) => {
|
||||
matLogRef.value.open(row.id,row.matCode)
|
||||
}
|
||||
// const serachLog = (row) => {
|
||||
// matLogRef.value.open(row.id,row.matCode)
|
||||
// }
|
||||
/** 搜索按钮操作 */
|
||||
const handleQuery = () => {
|
||||
queryParams.pageNo = 1
|
||||
getList()
|
||||
|
||||
|
||||
}
|
||||
const opearteForm = async(type) =>{
|
||||
loading.value = true;
|
||||
|
@ -0,0 +1,175 @@
|
||||
<template>
|
||||
<Dialog title="实时库存" v-model="dialogVisible" width="80%">
|
||||
<el-card class="hl-card">
|
||||
|
||||
<ContentWrap class="borderxx">
|
||||
<el-form class="-mb-15px" :model="queryParams" ref="queryFormRef" :inline="true" label-width="120px">
|
||||
<el-form-item label="物料名称" prop="matName" >
|
||||
<el-input v-model="queryParams.name" placeholder="物料名称" clearable @keyup.enter="handleQuery" class="!w-240px" />
|
||||
</el-form-item>
|
||||
<el-form-item label="规格型号" prop="matName" >
|
||||
<el-input v-model="queryParams.spec" placeholder="规格型号" clearable @keyup.enter="handleQuery" class="!w-240px" />
|
||||
</el-form-item>
|
||||
<el-form-item label="物料简称" prop="shortName" >
|
||||
<el-input v-model="queryParams.shortName" placeholder="物料简称" clearable @keyup.enter="handleQuery" class="!w-240px" />
|
||||
</el-form-item>
|
||||
<el-form-item >
|
||||
<el-button @click="handleQuery" type="primary">
|
||||
<Icon icon="ep:search" class="mr-5px" /> 搜索
|
||||
</el-button>
|
||||
<el-button @click="resetQuery">
|
||||
<Icon icon="ep:refresh" class="mr-5px" /> 重置
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</ContentWrap>
|
||||
|
||||
<!-- 列表 -->
|
||||
<ContentWrap>
|
||||
<el-table ref="multipleTableRef" v-loading="loading" :data="list" :stripe="true" @row-click="clickRow" @selection-change="handleCurrentChange" :show-overflow-tooltip="true" class="hl-table">
|
||||
<el-table-column
|
||||
type="selection"
|
||||
width="55"/>
|
||||
<el-table-column type="index" width="100" fixed label="序号" align="center" />
|
||||
<el-table-column label="物料编码" align="center" prop="code" fixed min-width="120" />
|
||||
<el-table-column label="物料名称" align="center" prop="name" fixed min-width="120"/>
|
||||
<el-table-column label="物料类型" align="center" prop="materialType" min-width="120">
|
||||
<template #default="scope">
|
||||
<dict-tag :type="DICT_TYPE.HELI_MATERIAL_TYPE" :value="scope.row.materialType" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="物料简称" align="center" prop="shortName" min-width="120"/>
|
||||
<el-table-column label="规格/型号" align="center" prop="spec" min-width="120"/>
|
||||
</el-table>
|
||||
<!-- 分页 -->
|
||||
<Pagination
|
||||
:total="total" v-model:page="queryParams.pageNo" v-model:limit="queryParams.pageSize"
|
||||
@pagination="getList" />
|
||||
</ContentWrap>
|
||||
</el-card>
|
||||
<template #footer>
|
||||
<span class="dialog-footer">
|
||||
<el-button @click="dialogVisible = false">取消</el-button>
|
||||
<el-button type="primary" @click="success">
|
||||
确认
|
||||
</el-button>
|
||||
</span>
|
||||
</template>
|
||||
</Dialog>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import {DICT_TYPE} from "@/utils/dict";
|
||||
import * as MaterialApi from "@/api/heli/material";
|
||||
defineOptions({ name: 'StorageLog' })
|
||||
const printref = ref()
|
||||
const whList = ref([])
|
||||
const rgList = ref([])
|
||||
const pnList = ref([])
|
||||
const dialogVisible = ref(false)
|
||||
|
||||
|
||||
const message = useMessage() // 消息弹窗
|
||||
const { t } = useI18n() // 国际化
|
||||
|
||||
|
||||
const loading = ref(true) // 列表的加载中
|
||||
const list = ref([]) // 列表的数据
|
||||
const total = ref(0) // 列表的总页数
|
||||
const queryParams = reactive({
|
||||
pageNo: 1,
|
||||
pageSize: 10,
|
||||
code: undefined,
|
||||
name: undefined,
|
||||
matType: undefined,
|
||||
lotNo: undefined,
|
||||
whId: undefined,
|
||||
rgId:undefined,
|
||||
pnId: undefined,
|
||||
headerNo: undefined,
|
||||
spec:undefined,
|
||||
materialType:undefined,
|
||||
status:1,
|
||||
shortName:undefined
|
||||
})
|
||||
|
||||
|
||||
const queryFormRef = ref() // 搜索的表单
|
||||
|
||||
const currentRow = ref()
|
||||
const multipleTableRef = ref()
|
||||
/** 查询列表 */
|
||||
const getList = async () => {
|
||||
loading.value = true
|
||||
try {
|
||||
const data = await MaterialApi.getbzjList(queryParams) ;
|
||||
list.value = data.list
|
||||
total.value = data.total
|
||||
} finally {
|
||||
loading.value = false
|
||||
}
|
||||
}
|
||||
const clickItem = ref([])
|
||||
const handleCurrentChange = (val) => {
|
||||
clickItem.value = val;
|
||||
if(val.length > 1){
|
||||
multipleTableRef.value!.clearSelection()
|
||||
multipleTableRef.value!.toggleRowSelection(val.pop())
|
||||
}
|
||||
};
|
||||
const clickRow = (row) => {
|
||||
if (clickItem.value==null){
|
||||
clickItem.value = [];
|
||||
|
||||
}
|
||||
// 单选选中行
|
||||
if ( clickItem.value[0] == row) {
|
||||
// 取消
|
||||
clickItem.value = [];
|
||||
multipleTableRef.value!.clearSelection()
|
||||
} else {
|
||||
// 选择
|
||||
clickItem.value.push(row);
|
||||
multipleTableRef.value!.clearSelection()
|
||||
multipleTableRef.value!.toggleRowSelection(row, true);
|
||||
}
|
||||
}
|
||||
/** 搜索按钮操作 */
|
||||
const handleQuery = () => {
|
||||
queryParams.pageNo = 1
|
||||
getList()
|
||||
}
|
||||
|
||||
/** 重置按钮操作 */
|
||||
const resetQuery = () => {
|
||||
queryFormRef.value.resetFields()
|
||||
handleQuery()
|
||||
}
|
||||
|
||||
const rowid = ref()
|
||||
const open = async (rowids) => {
|
||||
clickItem.value = null;
|
||||
//multipleTableRef.value!.clearSelection()
|
||||
dialogVisible.value = true
|
||||
// queryParams.matName = matCode;
|
||||
rowid.value = rowids
|
||||
console.log(rowids)
|
||||
console.log(rowid.value)
|
||||
await getList();
|
||||
|
||||
}
|
||||
defineExpose({ open }) // 提供 open 方法,用于打开弹窗
|
||||
const emit = defineEmits(['success'])
|
||||
// emit('success', multipleSelection.value)
|
||||
const success = () => {
|
||||
dialogVisible.value = false;
|
||||
emit('success', rowid.value, clickItem.value[0].id, clickItem.value[0].code)
|
||||
|
||||
}
|
||||
|
||||
/** 初始化 **/
|
||||
onMounted(async () => {
|
||||
|
||||
await getList()
|
||||
})
|
||||
</script>
|
@ -63,6 +63,8 @@
|
||||
size="large">批 准</el-button>
|
||||
<el-button @click="reject" v-if="formData.status == 1" size="large" type="danger">驳 回</el-button>
|
||||
<el-button @click="cancel" size="large">取 消</el-button>
|
||||
<!-- <el-button @click="test" size="large">测试</el-button>-->
|
||||
|
||||
</template>
|
||||
<template v-if="formData.type === 'detail'">
|
||||
<el-button @click="cancel" size="large">取 消</el-button>
|
||||
@ -159,6 +161,14 @@ const reject = async() => {
|
||||
|
||||
const cancel = async () => {
|
||||
router.push({ path: '/purchase/PurchaseOrderMake'});
|
||||
tagsViewStore.delVisitedView(router.currentRoute.value)
|
||||
|
||||
}
|
||||
const test = async () => {
|
||||
const data = await PartPurchaseOrderApi.obtainReviewDetails(query.id)
|
||||
console.log(data)
|
||||
|
||||
|
||||
}
|
||||
|
||||
const userList = ref<UserApi.UserVO[]>([]) // 用户列表
|
||||
|
Loading…
Reference in New Issue
Block a user