diff --git a/src/api/wms/moveOrder/types.ts b/src/api/wms/moveOrder/types.ts index a284c83..cda859e 100644 --- a/src/api/wms/moveOrder/types.ts +++ b/src/api/wms/moveOrder/types.ts @@ -66,6 +66,8 @@ export interface MoveOrderVO { */ erpSynchronousQty: number; + batchCode: string; + } export interface MoveOrderForm extends BaseEntity { @@ -136,6 +138,8 @@ export interface MoveOrderForm extends BaseEntity { */ erpSynchronousQty?: number; + batchCode: string; + } export interface MoveOrderQuery extends PageQuery { @@ -207,6 +211,8 @@ export interface MoveOrderQuery extends PageQuery { */ erpSynchronousQty?: number; + batchCode: string; + /** * 日期范围参数 */ diff --git a/src/api/wms/returnOrder/index.ts b/src/api/wms/returnOrder/index.ts index 5b5415a..0de6509 100644 --- a/src/api/wms/returnOrder/index.ts +++ b/src/api/wms/returnOrder/index.ts @@ -61,3 +61,15 @@ export const delReturnOrder = (roId: string | number | Array) = method: 'delete' }); }; + +/** + * 审批退库工单 + * @param data + */ +export const auditReturnOrder = (data: ReturnOrderForm) => { + return request({ + url: '/wms/returnOrder/audit', + method: 'post', + data: data + }); +}; diff --git a/src/api/wms/returnOrder/types.ts b/src/api/wms/returnOrder/types.ts index f5178e6..cc52567 100644 --- a/src/api/wms/returnOrder/types.ts +++ b/src/api/wms/returnOrder/types.ts @@ -258,6 +258,3 @@ export interface ReturnOrderQuery extends PageQuery { */ params?: any; } - - - diff --git a/src/views/wms/moveOrder/index.vue b/src/views/wms/moveOrder/index.vue index 1d16666..3cbebfd 100644 --- a/src/views/wms/moveOrder/index.vue +++ b/src/views/wms/moveOrder/index.vue @@ -10,10 +10,7 @@ - - + - + - + @@ -82,7 +79,7 @@ @@ -101,18 +98,19 @@ - - - - - - + + + + + + + + + - - + + @@ -152,7 +150,7 @@ --> - + ({ // 列显隐信息 const columns = ref([ - { key: 0, label: `表主键`, visible: true }, - { key: 1, label: `租户号`, visible: true }, - { key: 2, label: `物料ID`, visible: true }, - { key: 3, label: `物料大类`, visible: true }, - { key: 4, label: `仓库`, visible: true }, - { key: 5, label: `计划库位`, visible: true }, - { key: 6, label: `工单状态(0执行中,1完成,2关闭)`, visible: true }, - { key: 7, label: `目标库位`, visible: true }, - { key: 8, label: `审核人`, visible: true }, - { key: 9, label: `审核时间`, visible: true }, - { key: 10, label: `审核状态(0待审核,1审核通过,2审核未通过)`, visible: true }, - { key: 11, label: `审核意见`, visible: true }, - { key: 12, label: `工单创建人`, visible: true }, - { key: 13, label: `工单创建时间`, visible: true }, - { key: 14, label: `实际接收人`, visible: true }, - { key: 15, label: `实际接收时间`, visible: true }, - { key: 16, label: `erp同步状态`, visible: true }, - { key: 17, label: `erp同步数量`, visible: true }, + { key: 0, label: `物料`, visible: true }, + { key: 1, label: `仓库`, visible: true }, + { key: 2, label: `原库位`, visible: true }, + { key: 3, label: `目标库位`, visible: true }, + { key: 4, label: `erp同步状态`, visible: true }, + { key: 5, label: `erp同步数量`, visible: true }, + { key: 6, label: `批次条码`, visible: true} ]); const initFormData: MoveOrderForm = { @@ -329,7 +316,8 @@ const initFormData: MoveOrderForm = { auditStatus: undefined, auditComments: undefined, erpSynchronousStatus: undefined, - erpSynchronousQty: undefined + erpSynchronousQty: undefined, + batchCode: undefined, } const data = reactive>({ form: {...initFormData}, @@ -350,11 +338,12 @@ const data = reactive>({ auditComments: undefined, erpSynchronousStatus: undefined, erpSynchronousQty: undefined, + batchCode: undefined, params: { } }, rules: { - moveId: [ +/* moveId: [ { required: true, message: "表主键不能为空", trigger: "blur" } ], materialId: [ @@ -392,7 +381,7 @@ const data = reactive>({ ], erpSynchronousQty: [ { required: true, message: "erp同步数量不能为空", trigger: "blur" } - ] + ]*/ } }); diff --git a/src/views/wms/outstockDetail/selectOutstockDetail.vue b/src/views/wms/outstockDetail/selectOutstockDetail.vue index 055a1c2..96ed065 100644 --- a/src/views/wms/outstockDetail/selectOutstockDetail.vue +++ b/src/views/wms/outstockDetail/selectOutstockDetail.vue @@ -87,7 +87,7 @@ const columns = ref([ { key: 3, label: `创建时间`, visible: false }, { key: 4, label: `物料id`, visible: true }, { key: 5, label: `出库数量`, visible: true }, - { key: 6, label: `物料大类`, visible: true }, + { key: 6, label: `物料大类`, visible: false }, { key: 7, label: `物料编码`, visible: true }, { key: 8, label: `物料名称`, visible: true }, ]); diff --git a/src/views/wms/returnOrder/index.vue b/src/views/wms/returnOrder/index.vue index dcec7df..4fc134c 100644 --- a/src/views/wms/returnOrder/index.vue +++ b/src/views/wms/returnOrder/index.vue @@ -11,7 +11,7 @@ - + @@ -37,10 +37,10 @@ > - + --> - + + + + 审批 - --> + --> - - - - - + + + + + + 审核通过 + 审核未通过 + + + + + + + + + >([]); const single = ref(true); const multiple = ref(true); const total = ref(0); + +// 审批相关状态 +const auditOpen = ref(false); +const auditFormRef = ref(); + +// 审批表单验证规则 +const auditRules = reactive>({ + auditStatus: [{ required: true, message: '请选择审核状态', trigger: 'change' }] +}); + const baseStoreList = ref([]); const queryFormRef = ref(); const returnOrderFormRef = ref(); @@ -543,14 +573,14 @@ const handleQuery = () => { /** 重置按钮操作 */ const resetQuery = () => { - queryFormRef.value?.resetFields(); + proxy?.resetForm('queryFormRef'); handleQuery(); }; /** 多选框选中数据 */ const handleSelectionChange = (selection: ReturnOrderVO[]) => { - ids.value = selection.map(item => item.roId); - single.value = selection.length != 1; + ids.value = selection.map((item) => item.roId); + single.value = selection.length !== 1; multiple.value = !selection.length; }; @@ -664,6 +694,41 @@ const submitOutstockDetailForm = async () => { outstockDetailOpen.value = false; }; +/** 打开审批对话框 */ +const handleAudit = (row?: ReturnOrderVO) => { + if (row?.roId) { + form.value.roId = row.roId; + form.value.auditStatus = ''; + form.value.auditComments = ''; + auditOpen.value = true; + } +}; + +/** 取消审批 */ +const cancelAudit = () => { + auditOpen.value = false; + form.value.auditStatus = ''; + form.value.auditComments = ''; + auditFormRef.value?.resetFields(); +}; + +/** 提交审批 */ +const submitAudit = async () => { + if (!auditFormRef.value) return; + + const valid = await auditFormRef.value.validate().catch(() => false); + if (!valid) return; + + try { + await auditReturnOrder(form.value); + proxy?.$modal.msgSuccess('审批成功'); + auditOpen.value = false; + await getList(); + } catch (error) { + console.error('审批失败:', error); + } +}; + onMounted(() => { getSelectBaseWarehouseList(); getMaterialCategorySelect();