diff --git a/src/api/stockIn.ts b/src/api/stockIn.ts new file mode 100644 index 0000000..5969e1a --- /dev/null +++ b/src/api/stockIn.ts @@ -0,0 +1,92 @@ +import { request } from '@/utils/request' + +/** 入库申请单 */ +export interface StockIn { + id?: number + inboundCode?: string + subjectName?: string + /** 1生产入库 2委外收货 3采购入库 */ + inboundType?: number + sourceOrderNo?: string + orderItemId?: number + workOrderCode?: string + processPlanId?: number + qcId?: number + materialCode?: string + materialName?: string + quantity?: number | string + progress?: number + warehouseId?: number + warehouseName?: string + /** 0草稿 1待确认 2上架入库 3已撤回 */ + status?: number + /** 金蝶入库单编码 */ + kingdeeInboundNo?: string + remark?: string + createTime?: string + createBy?: string + updateTime?: string + updateBy?: string +} + +export type StockInSave = Omit + +export const STOCK_IN_TYPE_MAP: Record = { + 1: { label: '生产入库', type: 'success' }, + 2: { label: '委外收货', type: 'warning' }, + 3: { label: '采购入库', type: 'info' }, +} + +export const STOCK_IN_STATUS_MAP: Record = { + 0: { label: '草稿', type: 'default' }, + 1: { label: '待确认', type: 'info' }, + 2: { label: '上架入库', type: 'success' }, + 3: { label: '已撤回', type: 'warning' }, +} + +export const stockInApi = { + page(params: { + page: number + pageSize: number + inboundCode?: string + sourceOrderNo?: string + inboundType?: number + status?: number + warehouseName?: string + kingdeeInboundNo?: string + }) { + return request<{ list: StockIn[]; total: number; page: number; pageSize: number }>({ + url: '/biz/stockIn/page', + method: 'get', + params, + }) + }, + + detail(id: number | string) { + return request({ url: `/biz/stockIn/${id}`, method: 'get' }) + }, + + create(data: StockInSave) { + return request({ url: '/biz/stockIn', method: 'post', data }) + }, + + update(data: StockInSave) { + return request({ url: '/biz/stockIn', method: 'put', data }) + }, + + delete(ids: number[]) { + return request({ url: `/biz/stockIn/${ids.join(',')}`, method: 'delete' }) + }, + + confirm(id: number, kingdeeInboundNo?: string | null) { + return request({ + url: `/biz/stockIn/confirm/${id}`, + method: 'post', + data: kingdeeInboundNo ? { kingdeeInboundNo } : {}, + }) + }, + + revoke(id: number) { + return request({ url: `/biz/stockIn/revoke/${id}`, method: 'post' }) + }, +} diff --git a/src/router/index.ts b/src/router/index.ts index d11005d..b732d77 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -215,7 +215,7 @@ const routes: RouteRecordRaw[] = [ component: () => import('@/views/biz/device/board.vue'), meta: { title: '设备状态监控', icon: 'PulseOutline' } }, - // 入库管理 + // 入库 管理 { path: 'biz/stockIn', name: 'BizStockIn', diff --git a/src/views/biz/stockIn/index.vue b/src/views/biz/stockIn/index.vue new file mode 100644 index 0000000..30948e0 --- /dev/null +++ b/src/views/biz/stockIn/index.vue @@ -0,0 +1,641 @@ + + + + +