ERP:增加 ERP 销售订单的实现 40%(列表)

This commit is contained in:
YunaiV 2024-02-09 21:56:01 +08:00
parent b55c8417fb
commit 2615054fb2
8 changed files with 78 additions and 16 deletions

View File

@ -2,14 +2,16 @@ import request from '@/config/axios'
// ERP 销售订单 VO // ERP 销售订单 VO
export interface SaleOrderVO { export interface SaleOrderVO {
id: number // 迪卡侬工单编号 id: number // 订单工单编号
no: string // 销售订单号 no: string // 销售订单号
customerId: number // 客户编号 customerId: number // 客户编号
orderTime: Date // 迪卡侬工单时间 orderTime: Date // 订单工单时间
totalCount: number // 合计数量 totalCount: number // 合计数量
totalPrice: number // 合计金额,单位:元 totalPrice: number // 合计金额,单位:元
status: number // 状态 status: number // 状态
remark: string // 备注 remark: string // 备注
inCount: number // 销售入库数量
returnCount: number // 销售退货数量
} }
// ERP 销售订单 API // ERP 销售订单 API

View File

@ -20,6 +20,7 @@
<el-form-item label="产品" prop="productId"> <el-form-item label="产品" prop="productId">
<el-select <el-select
v-model="queryParams.productId" v-model="queryParams.productId"
clearable
filterable filterable
placeholder="请选择产品" placeholder="请选择产品"
class="!w-240px" class="!w-240px"
@ -92,6 +93,30 @@
class="!w-240px" class="!w-240px"
/> />
</el-form-item> </el-form-item>
<el-form-item label="入库数量" prop="inStatus">
<el-select
v-model="queryParams.inStatus"
placeholder="请选择入库数量"
clearable
class="!w-240px"
>
<el-option label="未入库" value="0" />
<el-option label="部分入库" value="1" />
<el-option label="全部入库" value="2" />
</el-select>
</el-form-item>
<el-form-item label="退货数量" prop="inStatus">
<el-select
v-model="queryParams.inStatus"
placeholder="请选择退货数量"
clearable
class="!w-240px"
>
<el-option label="未退货" value="0" />
<el-option label="部分退货" value="1" />
<el-option label="全部退货" value="2" />
</el-select>
</el-form-item>
<el-form-item> <el-form-item>
<el-button @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button> <el-button @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button>
<el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button> <el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button>
@ -99,7 +124,7 @@
type="primary" type="primary"
plain plain
@click="openForm('create')" @click="openForm('create')"
v-hasPermi="['erp:stock-order:create']" v-hasPermi="['erp:sale-order:create']"
> >
<Icon icon="ep:plus" class="mr-5px" /> 新增 <Icon icon="ep:plus" class="mr-5px" /> 新增
</el-button> </el-button>
@ -108,7 +133,7 @@
plain plain
@click="handleExport" @click="handleExport"
:loading="exportLoading" :loading="exportLoading"
v-hasPermi="['erp:stock-order:export']" v-hasPermi="['erp:sale-order:export']"
> >
<Icon icon="ep:download" class="mr-5px" /> 导出 <Icon icon="ep:download" class="mr-5px" /> 导出
</el-button> </el-button>
@ -116,7 +141,7 @@
type="danger" type="danger"
plain plain
@click="handleDelete(selectionList.map((item) => item.id))" @click="handleDelete(selectionList.map((item) => item.id))"
v-hasPermi="['erp:stock-order:delete']" v-hasPermi="['erp:sale-order:delete']"
:disabled="selectionList.length === 0" :disabled="selectionList.length === 0"
> >
<Icon icon="ep:delete" class="mr-5px" /> 删除 <Icon icon="ep:delete" class="mr-5px" /> 删除
@ -147,17 +172,41 @@
/> />
<el-table-column label="创建人" align="center" prop="creatorName" /> <el-table-column label="创建人" align="center" prop="creatorName" />
<el-table-column <el-table-column
label="数量" label="数量"
align="center" align="center"
prop="totalCount" prop="totalCount"
:formatter="erpCountTableColumnFormatter" :formatter="erpCountTableColumnFormatter"
/> />
<el-table-column <el-table-column
label="金额" label="入库数量"
align="center"
prop="inCount"
:formatter="erpCountTableColumnFormatter"
/>
<el-table-column
label="退货数量"
align="center"
prop="returnCount"
:formatter="erpCountTableColumnFormatter"
/>
<el-table-column
label="金额合计"
align="center"
prop="totalProductPrice"
:formatter="erpPriceTableColumnFormatter"
/>
<el-table-column
label="含税金额"
align="center" align="center"
prop="totalPrice" prop="totalPrice"
:formatter="erpPriceTableColumnFormatter" :formatter="erpPriceTableColumnFormatter"
/> />
<el-table-column
label="收取订金"
align="center"
prop="depositPrice"
:formatter="erpPriceTableColumnFormatter"
/>
<el-table-column label="状态" align="center" fixed="right" width="90" prop="status"> <el-table-column label="状态" align="center" fixed="right" width="90" prop="status">
<template #default="scope"> <template #default="scope">
<dict-tag :type="DICT_TYPE.ERP_AUDIT_STATUS" :value="scope.row.status" /> <dict-tag :type="DICT_TYPE.ERP_AUDIT_STATUS" :value="scope.row.status" />
@ -168,7 +217,7 @@
<el-button <el-button
link link
@click="openForm('detail', scope.row.id)" @click="openForm('detail', scope.row.id)"
v-hasPermi="['erp:stock-order:query']" v-hasPermi="['erp:sale-order:query']"
> >
详情 详情
</el-button> </el-button>
@ -176,7 +225,7 @@
link link
type="primary" type="primary"
@click="openForm('update', scope.row.id)" @click="openForm('update', scope.row.id)"
v-hasPermi="['erp:stock-order:update']" v-hasPermi="['erp:sale-order:update']"
:disabled="scope.row.status === 20" :disabled="scope.row.status === 20"
> >
编辑 编辑
@ -185,7 +234,7 @@
link link
type="primary" type="primary"
@click="handleUpdateStatus(scope.row.id, 20)" @click="handleUpdateStatus(scope.row.id, 20)"
v-hasPermi="['erp:stock-order:update-status']" v-hasPermi="['erp:sale-order:update-status']"
v-if="scope.row.status === 10" v-if="scope.row.status === 10"
> >
审批 审批
@ -194,7 +243,7 @@
link link
type="danger" type="danger"
@click="handleUpdateStatus(scope.row.id, 10)" @click="handleUpdateStatus(scope.row.id, 10)"
v-hasPermi="['erp:stock-order:update-status']" v-hasPermi="['erp:sale-order:update-status']"
v-else v-else
> >
反审批 反审批
@ -203,7 +252,7 @@
link link
type="danger" type="danger"
@click="handleDelete([scope.row.id])" @click="handleDelete([scope.row.id])"
v-hasPermi="['erp:stock-order:delete']" v-hasPermi="['erp:sale-order:delete']"
> >
删除 删除
</el-button> </el-button>
@ -253,7 +302,8 @@ const queryParams = reactive({
orderTime: [], orderTime: [],
status: undefined, status: undefined,
remark: undefined, remark: undefined,
creator: undefined creator: undefined,
inStatus: undefined
}) })
const queryFormRef = ref() // const queryFormRef = ref() //
const exportLoading = ref(false) // const exportLoading = ref(false) //

View File

@ -20,6 +20,7 @@
<el-form-item label="产品" prop="productId"> <el-form-item label="产品" prop="productId">
<el-select <el-select
v-model="queryParams.productId" v-model="queryParams.productId"
clearable
filterable filterable
placeholder="请选择产品" placeholder="请选择产品"
class="!w-240px" class="!w-240px"
@ -34,7 +35,7 @@
</el-form-item> </el-form-item>
<el-form-item label="盘点时间" prop="checkTime"> <el-form-item label="盘点时间" prop="checkTime">
<el-date-picker <el-date-picker
v-model="queryParams.inTime" v-model="queryParams.checkTime"
value-format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss"
type="daterange" type="daterange"
start-placeholder="开始日期" start-placeholder="开始日期"
@ -247,6 +248,7 @@ const queryParams = reactive({
pageNo: 1, pageNo: 1,
pageSize: 10, pageSize: 10,
no: undefined, no: undefined,
productId: undefined,
warehouseId: undefined, warehouseId: undefined,
checkTime: [], checkTime: [],
status: undefined, status: undefined,

View File

@ -20,6 +20,7 @@
<el-form-item label="产品" prop="productId"> <el-form-item label="产品" prop="productId">
<el-select <el-select
v-model="queryParams.productId" v-model="queryParams.productId"
clearable
filterable filterable
placeholder="请选择产品" placeholder="请选择产品"
class="!w-240px" class="!w-240px"
@ -264,6 +265,7 @@ const queryParams = reactive({
pageNo: 1, pageNo: 1,
pageSize: 10, pageSize: 10,
no: undefined, no: undefined,
productId: undefined,
supplierId: undefined, supplierId: undefined,
inTime: [], inTime: [],
status: undefined, status: undefined,

View File

@ -20,6 +20,7 @@
<el-form-item label="产品" prop="productId"> <el-form-item label="产品" prop="productId">
<el-select <el-select
v-model="queryParams.productId" v-model="queryParams.productId"
productId
filterable filterable
placeholder="请选择产品" placeholder="请选择产品"
class="!w-240px" class="!w-240px"
@ -34,7 +35,7 @@
</el-form-item> </el-form-item>
<el-form-item label="调度时间" prop="moveTime"> <el-form-item label="调度时间" prop="moveTime">
<el-date-picker <el-date-picker
v-model="queryParams.inTime" v-model="queryParams.moveTime"
value-format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss"
type="daterange" type="daterange"
start-placeholder="开始日期" start-placeholder="开始日期"
@ -247,6 +248,7 @@ const queryParams = reactive({
pageNo: 1, pageNo: 1,
pageSize: 10, pageSize: 10,
no: undefined, no: undefined,
productId: undefined,
fromWarehouseId: undefined, fromWarehouseId: undefined,
moveTime: [], moveTime: [],
status: undefined, status: undefined,

View File

@ -20,6 +20,7 @@
<el-form-item label="产品" prop="productId"> <el-form-item label="产品" prop="productId">
<el-select <el-select
v-model="queryParams.productId" v-model="queryParams.productId"
clearable
filterable filterable
placeholder="请选择产品" placeholder="请选择产品"
class="!w-240px" class="!w-240px"
@ -34,7 +35,7 @@
</el-form-item> </el-form-item>
<el-form-item label="出库时间" prop="outTime"> <el-form-item label="出库时间" prop="outTime">
<el-date-picker <el-date-picker
v-model="queryParams.inTime" v-model="queryParams.outTime"
value-format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss"
type="daterange" type="daterange"
start-placeholder="开始日期" start-placeholder="开始日期"
@ -265,6 +266,7 @@ const queryParams = reactive({
pageNo: 1, pageNo: 1,
pageSize: 10, pageSize: 10,
no: undefined, no: undefined,
productId: undefined,
customerId: undefined, customerId: undefined,
outTime: [], outTime: [],
status: undefined, status: undefined,

View File

@ -12,6 +12,7 @@
<el-form-item label="产品" prop="productId"> <el-form-item label="产品" prop="productId">
<el-select <el-select
v-model="queryParams.productId" v-model="queryParams.productId"
clearable
filterable filterable
placeholder="请选择产品" placeholder="请选择产品"
class="!w-240px" class="!w-240px"

View File

@ -12,6 +12,7 @@
<el-form-item label="产品" prop="productId"> <el-form-item label="产品" prop="productId">
<el-select <el-select
v-model="queryParams.productId" v-model="queryParams.productId"
clearable
filterable filterable
placeholder="请选择产品" placeholder="请选择产品"
class="!w-240px" class="!w-240px"