销售订单增加导出PI功能

This commit is contained in:
Mrking 2024-11-03 20:29:07 +08:00
parent b3b8f40d03
commit 1b221bca72
7 changed files with 84 additions and 40 deletions

View File

@ -267,7 +267,7 @@ public class SaleOrderServiceImpl implements SaleOrderService {
public void updateSaleOrderBillStatus(List<Long> ids, String status,Map<String,Object> params){
List<SaleOrderDO> saleOrders = saleOrderMapper.selectList(SaleOrderDO::getId, ids);
switch (status){
case "invalid":
case "invalid": //作废
for (SaleOrderDO saleOrder : saleOrders) {
if(!BillStatusEnum.AUDIT.getValue().equals(saleOrder.getBillStatus())){
saleOrder.setBillStatus(BillStatusEnum.INVALID.getValue());
@ -276,7 +276,7 @@ public class SaleOrderServiceImpl implements SaleOrderService {
}
}
break;
case "reject":
case "reject": //驳回
for (SaleOrderDO saleOrder : saleOrders) {
if(!BillStatusEnum.AUDIT.getValue().equals(saleOrder.getBillStatus()) && (params!=null && params.size()>0)){
saleOrder.setBillStatus(BillStatusEnum.REJECT.getValue());
@ -286,16 +286,22 @@ public class SaleOrderServiceImpl implements SaleOrderService {
}
}
break;
case "submit":
case "submit": //提交
for (SaleOrderDO saleOrder : saleOrders) {
if(BillStatusEnum.SAVE.getValue().equals(saleOrder.getBillStatus())){
if(BillStatusEnum.REJECT.getValue().equals(saleOrder.getBillStatus())){
saleOrder.setBillStatus(BillStatusEnum.SUBMIT.getValue());
saleOrder.setOrderStatus(SaleOrderStatusEnum.SCZ.getValue());
saleOrderMapper.updateById(saleOrder);
}else {
if(BillStatusEnum.INVALID.getValue().equals(saleOrder.getBillStatus())){
throw new ServiceException(001,"订单状态已作废,不允许提交!");
}else{
throw new ServiceException(001,"只允许提交驳回订单!");
}
}
}
break;
case "audit":
case "audit": //审核
for (SaleOrderDO saleOrder : saleOrders) {
if(BillStatusEnum.SUBMIT.getValue().equals(saleOrder.getBillStatus())){
@ -366,7 +372,6 @@ public class SaleOrderServiceImpl implements SaleOrderService {
}
break;
}
}

View File

@ -1,7 +1,7 @@
<template>
<ContentWrap>
<el-button
v-if="formData.billStatus != 'C'"
v-if="formData.billStatus == 'B'"
type="primary"
@click="handleSave"
>保存</el-button>
@ -22,7 +22,7 @@
<el-descriptions-item label="计划日期: ">{{ formatDate(formData.plansenddate,'YYYY-MM-DD') }}</el-descriptions-item>
<el-descriptions-item label="手机: ">{{ formData.phone }}</el-descriptions-item>
<el-descriptions-item label="传真: ">{{ formData.fax }}</el-descriptions-item>
<el-descriptions-item label="邮: ">{{ formData.emails }}</el-descriptions-item>
<el-descriptions-item label="邮: ">{{ formData.emails }}</el-descriptions-item>
<el-descriptions-item label="客户编号: ">{{ formData?.customer?.number }}</el-descriptions-item>
<el-descriptions-item label="客户名称: ">{{ formData?.customer?.name }}</el-descriptions-item>
<el-descriptions-item label="客户公司: ">{{ formData?.customer?.company }}</el-descriptions-item>
@ -94,7 +94,7 @@
<el-table-column label="产品名称" prop="materialName" width="150"/>
<el-table-column label="产品规格" prop="materialSpec" width="150" />
<el-table-column label="数量" prop="qty" width="150" />
<el-table-column label="单价" width="250">
<el-table-column label="单价" width="250" v-if="formData.billStatus == 'B'">
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.price`" :rules="itemFormEntrysRules.price" class="mb-0px!"
v-if="row.billStatus!='C'"
@ -111,7 +111,8 @@
<span v-else @click="editRow($index)">{{ row.price }}</span>
</template>
</el-table-column>
<el-table-column label="折扣(%)" prop="discount" width="250" >
<el-table-column label="单价" prop="price" width="250" v-else />
<el-table-column label="折扣(%)" prop="discount" width="250" v-if="formData.billStatus == 'B'">
<template #default="{ row, $index }">
<el-input-number
style="width: 100%"
@ -127,6 +128,8 @@
<span v-else @click="editRow($index)">{{ row.discount }}</span>
</template>
</el-table-column>
<el-table-column label="折扣(%)" prop="discount" width="250" v-else />
<el-table-column label="金额" prop="amount" width="250" />
<!-- <el-table-column label="合计" prop="payPrice" width="150">
<template #default="{ row }">{{ fenToYuan(row.payPrice) }}</template>

View File

@ -445,15 +445,22 @@ const handleUpdateBillStatus = async (operateKey: string) => {
const ids = selectionList.value.map((item) => item.id)
const billStatus = selectionList.value.map((item) => item.billStatus)
for(let vals of billStatus) {
if("audit" == operateKey && vals!='B'){
message.error("请选择单据状态已提交的数据行");
return;
}
if("invalid" == operateKey && (vals=='C')){
debugger
if("submit" == operateKey && vals!='AA'){
message.error("请选择订单状态驳回的数据行");
return;
}
if("audit" == operateKey && vals!='B'){
message.error("请选择单据状态已提交的数据行");
return;
}
if("invalid" == operateKey){
if((vals=='C') || (vals=='E')){
message.error("单据已审核不允许作废");
return;
}else if(vals=='D'){
message.error("单据已作废");
}
return;
}
}
debugger
//

View File

@ -65,7 +65,7 @@ export const SaleOrderApi = {
// 更新订单状态
updateSaleOrderBillStatus: async (ids: number[],status: string) => {
return await request.post({
url: `/oms/sale-order/updateSaleOrderBillStatus`,
url: `/oms/app/sale-order/updateSaleOrderBillStatus`,
params: {
ids: ids.join(','),
status: status
@ -75,7 +75,7 @@ export const SaleOrderApi = {
// 更新订单状态
generateProduceOrder: async (ids: number[]) => {
return await request.put({
url: `/oms/sale-order/generateProduceOrder`,
url: `/oms/app/sale-order/generateProduceOrder`,
params: {
ids: ids.join(',')
}

View File

@ -233,6 +233,26 @@ const remainingRouter: AppRouteRecordRaw[] = [
title: '500',
noTagsView: true
}
},
{
path: '/oms/produceorder', // 订单管理
component: Layout,
name: 'OrderCenter',
meta: {
hidden: true
},
children: [
{
path: 'order/detail/:id(\\d+)',
component: () => import('@/views/oms/saleorder/detail/index.vue'),
name: 'SaleOrderDetail',
meta: {
title: '订单详情',
icon: 'ep:view',
activeMenu: '/oms/saleorder'
}
}
]
}
]

View File

@ -1,7 +1,7 @@
<template>
<ContentWrap>
<el-button
v-if="formData.billStatus != 'C'"
<!-- <el-button
v-if="formData.billStatus == 'B'"
type="primary"
@click="handleSave"
>保存</el-button>
@ -9,9 +9,9 @@
v-if="formData.billStatus == 'B'"
type="primary"
@click="handleAudit"
>审核</el-button>
>审核</el-button>-->
<el-button
v-if="formData.billStatus == 'A' || formData.billStatus == 'B' "
v-if="formData.billStatus == 'AA' || formData.billStatus == 'B' "
type="primary"
@click="remark">备注</el-button>
<!-- 订单信息 -->
@ -22,7 +22,7 @@
<el-descriptions-item label="计划日期: ">{{ formatDate(formData.plansenddate,'YYYY-MM-DD') }}</el-descriptions-item>
<el-descriptions-item label="手机: ">{{ formData.phone }}</el-descriptions-item>
<el-descriptions-item label="传真: ">{{ formData.fax }}</el-descriptions-item>
<el-descriptions-item label="邮: ">{{ formData.emails }}</el-descriptions-item>
<el-descriptions-item label="邮: ">{{ formData.emails }}</el-descriptions-item>
<el-descriptions-item label="客户编号: ">{{ formData?.customer?.number }}</el-descriptions-item>
<el-descriptions-item label="客户名称: ">{{ formData?.customer?.name }}</el-descriptions-item>
<el-descriptions-item label="客户公司: ">{{ formData?.customer?.company }}</el-descriptions-item>
@ -31,12 +31,12 @@
<!-- 订单状态 -->
<el-descriptions :column="3" title="订单状态">
<el-descriptions-item label="状态: ">
<el-descriptions-item label="单状态: ">
<dict-tag :type="DICT_TYPE.OMS_BILL_STATUS" :value="formData.billStatus" />
</el-descriptions-item>
<el-descriptions-item label="订单状态: ">
<!-- <el-descriptions-item label="订单状态: ">
<dict-tag :type="DICT_TYPE.OMS_ORDER_STATUS" :value="formData.orderStatus" />
</el-descriptions-item>
</el-descriptions-item>-->
<el-descriptions-item v-if="formData.billStatus == 'AA' " label="驳回原因: ">{{ formData?.rejectReason }}</el-descriptions-item>
<el-descriptions-item v-hasPermi="['oms:sale-order:update']" label-class-name="no-colon">
<!-- 待发货 -->
@ -94,7 +94,7 @@
<el-table-column label="产品名称" prop="materialName" width="150"/>
<el-table-column label="产品规格" prop="materialSpec" width="150" />
<el-table-column label="数量" prop="qty" width="150" />
<el-table-column label="单价" width="250">
<!-- <el-table-column label="单价" width="250" v-if="formData.billStatus == 'B'">
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.price`" :rules="itemFormEntrysRules.price" class="mb-0px!"
v-if="row.billStatus!='C'"
@ -110,8 +110,9 @@
</el-form-item>
<span v-else @click="editRow($index)">{{ row.price }}</span>
</template>
</el-table-column>
<el-table-column label="折扣(%)" prop="discount" width="250" >
</el-table-column>-->
<el-table-column label="单价" prop="price" width="250" />
<!-- <el-table-column label="折扣(%)" prop="discount" width="250" v-if="formData.billStatus == 'B'">
<template #default="{ row, $index }">
<el-input-number
style="width: 100%"
@ -126,7 +127,8 @@
/>
<span v-else @click="editRow($index)">{{ row.discount }}</span>
</template>
</el-table-column>
</el-table-column>-->
<el-table-column label="折扣(%)" prop="discount" width="250" />
<el-table-column label="金额" prop="amount" width="250" />
<!-- <el-table-column label="合计" prop="payPrice" width="150">
<template #default="{ row }">{{ fenToYuan(row.payPrice) }}</template>

View File

@ -244,13 +244,13 @@
<Icon icon="ep:notification" />
详情
</el-button>
<el-button
<!-- <el-button
link
type="danger"
@click="handleDelete(scope.row.id)"
>
删除
</el-button>
</el-button>-->
</template>
</el-table-column>
</el-table>
@ -434,15 +434,22 @@ const handleUpdateBillStatus = async (operateKey: string) => {
const ids = selectionList.value.map((item) => item.id)
const billStatus = selectionList.value.map((item) => item.billStatus)
for(let vals of billStatus) {
if("audit" == operateKey && vals!='B'){
message.error("请选择订单状态待审核的数据行");
return;
}
if("invalid" == operateKey && (vals=='C' || vals=='E')){
debugger
if("submit" == operateKey && vals!='AA'){
message.error("请选择订单状态驳回的数据行");
return;
}
if("audit" == operateKey && vals!='B'){
message.error("请选择订单状态待审核的数据行");
return;
}
if("invalid" == operateKey){
if((vals=='C') || (vals=='E')){
message.error("单据已审核不允许作废");
return;
}else if(vals=='D'){
message.error("单据已作废");
}
return;
}
}
debugger
//