销售订单增加导出PI功能
This commit is contained in:
parent
b3b8f40d03
commit
1b221bca72
|
|
@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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
|
||||
// 审批的二次确认
|
||||
|
|
|
|||
|
|
@ -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(',')
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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'
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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
|
||||
// 审批的二次确认
|
||||
|
|
|
|||
Loading…
Reference in New Issue