diff --git a/oms_web/oms_vue/src/api/base/warehouse.js b/oms_web/oms_vue/src/api/base/warehouse.js new file mode 100644 index 00000000..e2348023 --- /dev/null +++ b/oms_web/oms_vue/src/api/base/warehouse.js @@ -0,0 +1,9 @@ +import request from '@/utils/request' + +// 获取所有仓库列表 +export function listAllWarehouse() { + return request({ + url: '/warehouse/info/vue/listAll', + method: 'get' + }) +} diff --git a/oms_web/oms_vue/src/api/inventory/delivery.js b/oms_web/oms_vue/src/api/inventory/delivery.js new file mode 100644 index 00000000..b43ced26 --- /dev/null +++ b/oms_web/oms_vue/src/api/inventory/delivery.js @@ -0,0 +1,95 @@ +import request from '@/utils/request' + +// 查询发货记录列表 +export function listDelivery(query) { + return request({ + url: '/inventory/delivery/vue/list', + method: 'get', + params: query + }) +} + +// 查询发货记录详细 +export function getDelivery(id) { + return request({ + url: '/inventory/delivery/vue/' + id, + method: 'get' + }) +} + +// 新增发货记录 +export function addDelivery(data) { + return request({ + url: '/inventory/delivery/vue', + method: 'post', + data: data + }) +} + +// 修改发货记录 +export function updateDelivery(data) { + return request({ + url: '/inventory/delivery/vue', + method: 'put', + data: data + }) +} + +// 删除发货记录 +export function delDelivery(id) { + return request({ + url: '/inventory/delivery/vue/' + id, + method: 'delete' + }) +} + +// 撤回发货记录 +export function recallDelivery(id) { + return request({ + url: '/inventory/delivery/vue/recall', + method: 'post', + data: {id} + }) +} + +// 导出采购合同 +export function exportDelivery(query) { + return request({ + url: '/inventory/delivery/vue/export', + method: 'post', + data: query + }) +} + +// 导出采购合同详情 +export function exportDeliveryDetail(id) { + return request({ + url: '/inventory/delivery/vue/detail/export', + method: 'post', + data: {id} + }) +} + +// 查询关联的SN码列表 +export function listProductSn(query) { + return request({ + url: '/inventory/info/vue/list', + method: 'get', + params: query + }) +} + +export function removeDelivery(id) { + return request({ + url: '/inventory/delivery/vue/' + id, + method: 'delete' + }) +} + +export function updateDeliveryStatus(data) { + return request({ + url: '/inventory/delivery/vue/status' , + method: 'put', + data: data + }) +} diff --git a/oms_web/oms_vue/src/api/inventory/execution.js b/oms_web/oms_vue/src/api/inventory/execution.js new file mode 100644 index 00000000..632dc1a5 --- /dev/null +++ b/oms_web/oms_vue/src/api/inventory/execution.js @@ -0,0 +1,107 @@ +import request from '@/utils/request' + +// 查询订单执行列表 +export function listExecution(query) { + return request({ + url: '/inventory/execution/vue/list', + method: 'get', + params: query + }) +} + +// 查询订单执行详细 +export function getExecution(id) { + return request({ + url: '/inventory/execution/vue/' + id, + method: 'get' + }) +} + +// 新增订单执行 +export function addExecution(data) { + return request({ + url: '/inventory/execution/vue', + method: 'post', + data: data + }) +} + +// 修改订单执行 +export function updateExecution(data) { + return request({ + url: '/inventory/execution/vue', + method: 'put', + data: data + }) +} + +// 删除订单执行 +export function delExecution(id) { + return request({ + url: '/inventory/execution/vue/' + id, + method: 'delete' + }) +} + +// 订单执行签收 +export function signExecution(data) { + return request({ + url: '/inventory/execution/vue/sign', + method: 'post', + data: data + }) +} + +// 下载签收文件 +export function downloadSignFile(orderId, versionCode) { + return request({ + url: `/inventory/execution/vue/sign/download`, + method: 'get', + params: { orderId, versionCode }, + responseType: 'blob' + }) +} + +// 撤单 +export function recallExecution(id) { + return request({ + url: `/inventory/execution/vue/recall`, + method: 'post', + data: { id } + }) +} + +// 查询出库预览信息 +export function getCheckOutPreview(data) { + return request({ + url: '/inventory/execution/vue/checkOut/preview', + method: 'post', + data: data + }) +} + +// 新增出库单 +export function addOuter(data) { + return request({ + url: '/inventory/outer/vue', + method: 'post', + data: data + }) +} + +// 撤销出库单 +export function removeOuter(id) { + return request({ + url: '/inventory/outer/vue/' + id, + method: 'delete' + }) +} + +// 确认出库 +export function confirmOuterStatus(id, orderCode) { + return request({ + url: '/inventory/outer/vue/status', + method: 'post', + data: { id, outerStatus: '2', orderCode } + }) +} diff --git a/oms_web/oms_vue/src/api/inventory/info.js b/oms_web/oms_vue/src/api/inventory/info.js new file mode 100644 index 00000000..e60d5cf5 --- /dev/null +++ b/oms_web/oms_vue/src/api/inventory/info.js @@ -0,0 +1,87 @@ +import request from '@/utils/request' + +// 查询产品库存列表 +export function listInfo(query) { + return request({ + url: '/inventory/info/vue/group/list', + method: 'get', + params: query + }) +} + +// 查询产品库存详细 +export function getInfo(id) { + return request({ + url: '/inventory/info/vue/' + id, + method: 'get' + }) +} + +// 新增产品库存 +export function addInfo(data) { + return request({ + url: '/inventory/info/vue', + method: 'post', + data: data + }) +} + +// 修改产品库存 +export function updateInfo(data) { + return request({ + url: '/inventory/info/vue', + method: 'put', + data: data + }) +} + +// 删除产品库存 +export function delInfo(id) { + return request({ + url: '/inventory/info/vue/' + id, + method: 'delete' + }) +} + +// 导出产品库存 +export function exportInfo(query) { + return request({ + url: '/inventory/info/vue/export', + method: 'post', + data: query + }) +} + +// 获取所有制造商列表 +export function listAllVendors() { + return request({ + url: '/inventory/info/vue/listAllVendors', + method: 'get' + }) +} + +// 获取所有正常状态的仓库列表 +export function listAllWarehouses() { + return request({ + url: '/inventory/info/vue/listAllWarehouses', + method: 'get' + }) +} + +// 查询入库日志 +export function getInnerLog(query) { + return request({ + url: '/inventory/info/vue/inner-log', + method: 'get', + params: query + }) +} + +// 查询出库日志 +export function getOuterLog(query) { + return request({ + url: '/inventory/info/vue/outer-log', + method: 'get', + params: query + }) +} diff --git a/oms_web/oms_vue/src/api/inventory/inner.js b/oms_web/oms_vue/src/api/inventory/inner.js new file mode 100644 index 00000000..bb60542b --- /dev/null +++ b/oms_web/oms_vue/src/api/inventory/inner.js @@ -0,0 +1,74 @@ +import request from '@/utils/request' + +const VUE_APP_API_URL = '/inventory/inner/vue'; + +// 查询入库单信息列表 +export function listInner(query) { + return request({ + url: `${VUE_APP_API_URL}/list`, + method: 'get', + params: query + }) +} + +// 查询入库单信息详细 +export function getInner(id) { + return request({ + url: `${VUE_APP_API_URL}/${id}`, + method: 'get' + }) +} + +// 新增入库单信息 +export function addInner(data) { + return request({ + url: VUE_APP_API_URL, + method: 'post', + data: data + }) +} + +// 修改入库单信息 +export function updateInner(data) { + return request({ + url: VUE_APP_API_URL, + method: 'put', + data: data + }) +} + +// 删除入库单信息 +export function delInner(id) { + return request({ + url: `${VUE_APP_API_URL}/${id}`, + method: 'delete' + }) +} + +// 导出入库单信息 +export function exportInner(query) { + return request({ + url: `${VUE_APP_API_URL}/export`, + method: 'post', + data: query + }) +} + +// 导入产品数据 +export function importProductData(data) { + return request({ + url: `${VUE_APP_API_URL}/importData`, + method: 'post', + data: data + // Content-Type 会被自动设置为 multipart/form-data + }) +} + +// 下载导入模板 +export function downloadTemplate() { + return request({ + url: `${VUE_APP_API_URL}/export/template`, + method: 'post', + responseType: 'blob' + }) +} diff --git a/oms_web/oms_vue/src/api/inventory/outer.js b/oms_web/oms_vue/src/api/inventory/outer.js new file mode 100644 index 00000000..e3101715 --- /dev/null +++ b/oms_web/oms_vue/src/api/inventory/outer.js @@ -0,0 +1,85 @@ +import request from '@/utils/request' + +// 查询出库单列表 +export function listOuter(query) { + return request({ + url: '/inventory/outer/vue', + method: 'get', + params: query + }) +} + +// 查询出库单详细 +export function getOuter(id) { + return request({ + url: '/inventory/outer/vue/' + id, + method: 'get' + }) +} + +// 新增出库单 +export function addOuter(data) { + return request({ + url: '/inventory/outer/vue', + method: 'post', + data: data + }) +} + +// 修改出库单 +export function updateOuter(data) { + return request({ + url: '/inventory/outer/vue', + method: 'put', + data: data + }) +} + +// 删除出库单 +export function delOuter(id) { + return request({ + url: '/inventory/outer/vue/' + id, + method: 'delete' + }) +} + +// 导出出库单 +export function exportOuter(query) { + return request({ + url: '/inventory/outer/vue/export', + method: 'post', + params: query + }) +} + +// 修改出库单状态 +export function changeOuterStatus(id, outerStatus, orderCode) { + const data = { + id, + outerStatus, + orderCode + } + return request({ + url: '/inventory/outer/vue/status', + method: 'post', + data: data + }) +} + +// 查询出库单详细(用于刷新产品和发货列表) +export function queryInfo(id) { + return request({ + url: '/inventory/outer/vue/' + id, + method: 'get' + }) +} +export function importSnData(formData) { + return request({ + url: '/inventory/outer/vue/importData', + method: 'post', + headers: { + 'Content-Type': 'multipart/form-data' + }, + data: formData + }) +} diff --git a/oms_web/oms_vue/src/router/index.js b/oms_web/oms_vue/src/router/index.js index caa0acd2..c9027ea5 100644 --- a/oms_web/oms_vue/src/router/index.js +++ b/oms_web/oms_vue/src/router/index.js @@ -121,6 +121,20 @@ export const dynamicRoutes = [ name: 'Execution', meta: { title: '订单执行跟踪', icon: 'execution' }, permissions: ['inventory:execution:list'] + }, + { + path: 'info', + component: () => import('@/views/inventory/info/index'), + name: 'InventoryInfo', + meta: { title: '产品库存', icon: 'product' }, + permissions: ['inventory:info:list'] + }, + { + path: 'delivery', + component: () => import('@/views/inventory/delivery/index'), + name: 'Delivery', + meta: { title: '发货记录', icon: 'logistics' }, + permissions: ['inventory:delivery:list'] } ] }, diff --git a/oms_web/oms_vue/src/views/inventory/delivery/Detail.vue b/oms_web/oms_vue/src/views/inventory/delivery/Detail.vue new file mode 100644 index 00000000..475334b8 --- /dev/null +++ b/oms_web/oms_vue/src/views/inventory/delivery/Detail.vue @@ -0,0 +1,212 @@ + + + diff --git a/oms_web/oms_vue/src/views/inventory/delivery/index.vue b/oms_web/oms_vue/src/views/inventory/delivery/index.vue new file mode 100644 index 00000000..6043e942 --- /dev/null +++ b/oms_web/oms_vue/src/views/inventory/delivery/index.vue @@ -0,0 +1,288 @@ + + + diff --git a/oms_web/oms_vue/src/views/inventory/info/index.vue b/oms_web/oms_vue/src/views/inventory/info/index.vue new file mode 100644 index 00000000..5f0044e0 --- /dev/null +++ b/oms_web/oms_vue/src/views/inventory/info/index.vue @@ -0,0 +1,459 @@ + + + + + diff --git a/oms_web/oms_vue/src/views/inventory/info/innerLog.vue b/oms_web/oms_vue/src/views/inventory/info/innerLog.vue new file mode 100644 index 00000000..f8ce76a0 --- /dev/null +++ b/oms_web/oms_vue/src/views/inventory/info/innerLog.vue @@ -0,0 +1,83 @@ + + + diff --git a/oms_web/oms_vue/src/views/inventory/info/outerLog.vue b/oms_web/oms_vue/src/views/inventory/info/outerLog.vue new file mode 100644 index 00000000..19b96a5e --- /dev/null +++ b/oms_web/oms_vue/src/views/inventory/info/outerLog.vue @@ -0,0 +1,92 @@ + + + diff --git a/oms_web/oms_vue/src/views/inventory/outer/components/GenerateDeliveryForm.vue b/oms_web/oms_vue/src/views/inventory/outer/components/GenerateDeliveryForm.vue index 697f1cc1..b04e7b73 100644 --- a/oms_web/oms_vue/src/views/inventory/outer/components/GenerateDeliveryForm.vue +++ b/oms_web/oms_vue/src/views/inventory/outer/components/GenerateDeliveryForm.vue @@ -79,8 +79,8 @@