From af076dd45c2f6b7bcc9317d3869c401e994b25c1 Mon Sep 17 00:00:00 2001
From: zhaoxuebing <1291173720@qq.com>
Date: Thu, 12 Sep 2024 13:14:15 +0800
Subject: [PATCH] =?UTF-8?q?=E7=BC=BA=E9=99=B7:HL-5776?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../wms/productionreturnRecordMain/index.ts | 11 +
.../productionreturnRecordMainHold/index.vue | 266 ++++++
.../productionreturnRecordMainHold.data.ts | 783 ++++++++++++++++++
3 files changed, 1060 insertions(+)
create mode 100644 src/views/wms/issueManage/productionreturn/productionreturnRecordMainHold/index.vue
create mode 100644 src/views/wms/issueManage/productionreturn/productionreturnRecordMainHold/productionreturnRecordMainHold.data.ts
diff --git a/src/api/wms/productionreturnRecordMain/index.ts b/src/api/wms/productionreturnRecordMain/index.ts
index 517717011..1c6f18ece 100644
--- a/src/api/wms/productionreturnRecordMain/index.ts
+++ b/src/api/wms/productionreturnRecordMain/index.ts
@@ -90,3 +90,14 @@ export const exportProductionreturnRecordMainHold = async (params) => {
export const importTemplate = () => {
return request.download({ url: '/wms/productionreturn-record-main/get-import-template' })
}
+
+
+// 接收隔离收货
+export const receive = (id) => {
+ return request.put({ url: '/wms/productionreturn-record-main/receive?id=' + id })
+}
+
+// 拒收隔离收货
+export const refuse = (id) => {
+ return request.put({ url: '/wms/productionreturn-record-main/refuse?id=' + id })
+}
\ No newline at end of file
diff --git a/src/views/wms/issueManage/productionreturn/productionreturnRecordMainHold/index.vue b/src/views/wms/issueManage/productionreturn/productionreturnRecordMainHold/index.vue
new file mode 100644
index 000000000..773bc2f08
--- /dev/null
+++ b/src/views/wms/issueManage/productionreturn/productionreturnRecordMainHold/index.vue
@@ -0,0 +1,266 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ row.number }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/wms/issueManage/productionreturn/productionreturnRecordMainHold/productionreturnRecordMainHold.data.ts b/src/views/wms/issueManage/productionreturn/productionreturnRecordMainHold/productionreturnRecordMainHold.data.ts
new file mode 100644
index 000000000..32cc85549
--- /dev/null
+++ b/src/views/wms/issueManage/productionreturn/productionreturnRecordMainHold/productionreturnRecordMainHold.data.ts
@@ -0,0 +1,783 @@
+import type { CrudSchema } from '@/hooks/web/useCrudSchemas'
+import { dateFormatter,dateFormatter2 } from '@/utils/formatTime'
+
+/**
+ * @returns {Array} 生产退料记录主表
+ */
+export const ProductionreturnRecordMain = useCrudSchemas(reactive([
+ {
+ label: '单据号',
+ field: 'number',
+ sort: 'custom',
+ table: {
+ width: 180,
+ fixed: 'left'
+ },
+ isSearch: true
+ },
+ {
+ label: '申请单号',
+ field: 'requestNumber',
+ sort: 'custom',
+ sortTableDefault:996,
+ table: {
+ width: 180
+ },
+ isSearch: true
+ },
+
+ {
+ label: '任务单号',
+ field: 'jobNumber',
+ sort: 'custom',
+ sortTableDefault:997,
+ table: {
+ width: 180
+ },
+ isSearch: true
+ },
+
+ // {
+ // label: '状态',
+ // field: 'status',
+ // dictType: DICT_TYPE.REQUEST_STATUS,
+ // dictClass: 'string',
+ // isForm: false,
+ // isTable: true,
+ // sort: 'custom',
+ // table: {
+ // width: 150
+ // },
+ // },
+ {
+ label: '车间代码',
+ field: 'workshopCode',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+
+ {
+ label: '出库事务类型',
+ field: 'outTransactionType',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ isTable: false,
+ },
+ {
+ label: '入库事务类型',
+ field: 'inTransactionType',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ isTable: false,
+ },
+ {
+ label: '执行时间',
+ field: 'executeTime',
+ formatter: dateFormatter,
+ detail: {
+ dateFormat: 'YYYY-MM-DD HH:mm:ss'
+ },
+ sort: 'custom',
+ table: {
+ width: 180
+ },
+ isTable: false,
+ form: {
+ component: 'DatePicker',
+ componentProps: {
+ type: 'datetime',
+ dateFormat: 'YYYY-MM-DD HH:mm:ss',
+ valueFormat: 'x',
+ }
+ },
+ },
+ {
+ label: '生效日期',
+ field: 'activeDate',
+ formatter: dateFormatter2,
+ detail: {
+ dateFormat: 'YYYY-MM-DD'
+ },
+ sort: 'custom',
+ table: {
+ width: 180
+ },
+ isTable: false,
+ form: {
+ component: 'DatePicker',
+ componentProps: {
+ style: {width: '100%'},
+ type: 'date',
+ dateFormat: 'YYYY-MM-DD',
+ valueFormat: 'x',
+ }
+ },
+ },
+ {
+ label: '申请时间',
+ field: 'requestTime',
+ formatter: dateFormatter,
+ detail: {
+ dateFormat: 'YYYY-MM-DD HH:mm:ss'
+ },
+ sort: 'custom',
+ table: {
+ width: 180
+ },
+ isTable: false,
+ form: {
+ component: 'DatePicker',
+ componentProps: {
+ type: 'datetime',
+ dateFormat: 'YYYY-MM-DD HH:mm:ss',
+ valueFormat: 'x',
+ }
+ },
+ },
+ {
+ label: '截止时间',
+ field: 'dueTime',
+ formatter: dateFormatter,
+ detail: {
+ dateFormat: 'YYYY-MM-DD HH:mm:ss'
+ },
+ sort: 'custom',
+ table: {
+ width: 180
+ },
+ isTable: false,
+ form: {
+ component: 'DatePicker',
+ componentProps: {
+ type: 'datetime',
+ dateFormat: 'YYYY-MM-DD HH:mm:ss',
+ valueFormat: 'x',
+ }
+ },
+ },
+ {
+ label: '部门',
+ field: 'departmentCode',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ isTable: false,
+ },
+ {
+ label: '接口类型',
+ field: 'interfaceType',
+ dictType: DICT_TYPE.INTERFACE_TYPE,
+ dictClass: 'string',
+ isTable: false,
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '业务类型',
+ field: 'businessType',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ isTable: false,
+ },
+ {
+ label: '备注',
+ field: 'remark',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ isTable: false,
+ },
+ {
+ label: '创建者',
+ field: 'creator',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ isTable: true,
+ },
+ {
+ label: '创建时间',
+ field: 'createTime',
+ formatter: dateFormatter,
+ detail: {
+ dateFormat: 'YYYY-MM-DD HH:mm:ss'
+ },
+ sort: 'custom',
+ table: {
+ width: 180
+ },
+ isTable: true,
+ form: {
+ component: 'DatePicker',
+ componentProps: {
+ type: 'datetime',
+ dateFormat: 'YYYY-MM-DD HH:mm:ss',
+ valueFormat: 'x',
+ }
+ },
+ isSearch: true,
+ search: {
+ component: 'DatePicker',
+ componentProps: {
+ valueFormat: 'YYYY-MM-DD HH:mm:ss',
+ type: 'daterange',
+ defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')]
+ },
+ },
+ },
+ {
+ label: '最后更新时间',
+ field: 'updateTime',
+ sort: 'custom',
+ isDetail: true,
+ isForm: false,
+ isTable: false,
+ formatter: dateFormatter,
+ detail: {
+ dateFormat: 'YYYY-MM-DD HH:mm:ss'
+ },
+ table: {
+ width: 180
+ },
+ form: {
+ component: 'DatePicker',
+ componentProps: {
+ style: {width:'100%'},
+ type: 'datetime',
+ dateFormat: 'YYYY-MM-DD HH:mm:ss',
+ valueFormat: 'x',
+ }
+ }
+ },
+ {
+ label: '最后更新者',
+ field: 'updater',
+ isDetail: true,
+ isForm: false,
+ isTable: false,
+ table: {
+ width: 150
+ }
+ },
+ // {
+ // label: '代码',
+ // field: 'code',
+ // sort: 'custom',
+ // table: {
+ // width: 150
+ // },
+ // },
+ {
+ label: '从仓库代码',
+ field: 'fromWarehouseCode',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ isTable: false,
+ },
+ {
+ label: '从库区类型范围',
+ field: 'fromAreaTypes',
+ dictType: DICT_TYPE.AREA_TYPE,
+ dictClass: 'string',
+ isTable: false,
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '从库区代码范围',
+ field: 'fromAreaCodes',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ isTable: false,
+ },
+ {
+ label: '到仓库代码',
+ field: 'toWarehouseCode',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ isTable: false,
+ },
+ {
+ label: '到库区类型范围',
+ field: 'toAreaTypes',
+ dictType: DICT_TYPE.AREA_TYPE,
+ dictClass: 'string',
+ isTable: false,
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '到库区代码范围',
+ field: 'toAreaCodes',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ isTable: false,
+ },
+ {
+ label: '是否可用',
+ field: 'available',
+ dictType: DICT_TYPE.TRUE_FALSE,
+ dictClass: 'string',
+ isSearch: true,
+ isTable: false,
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ form: {
+ component: 'Switch',
+ value: 'TRUE',
+ componentProps: {
+ inactiveValue: 'FALSE',
+ activeValue: 'TRUE'
+ }
+ }
+ },
+]))
+
+//表单校验
+export const ProductionreturnRecordMainRules = reactive({
+ requestNumber: [
+ { required: true, message: '请选择申请单号', trigger: 'change' }
+ ],
+ fromWarehouseCode: [
+ { required: true, message: '请选择从仓库代码', trigger: 'change' }
+ ],
+ fromAreaTypes: [
+ { required: true, message: '请选择从库区类型范围', trigger: 'change' }
+ ],
+ toWarehouseCode: [
+ { required: true, message: '请选择到仓库代码', trigger: 'change' }
+ ],
+ toAreaTypes: [
+ { required: true, message: '请选择到库区类型范围', trigger: 'change' }
+ ],
+ outTransaction: [
+ { required: true, message: '请输入出库事务类型', trigger: 'blur' }
+ ],
+ inTransaction: [
+ { required: true, message: '请输入入库事务类型', trigger: 'blur' }
+ ],
+ executeTime: [
+ { required: true, message: '请输入执行时间', trigger: 'change' }
+ ],
+ activeDate: [
+ { required: true, message: '请输入生效日期', trigger: 'change' }
+ ],
+ available: [
+ { required: true, message: '请输入是否可用', trigger: 'blur' }
+ ],
+ departmentCode: [
+ { required: true, message: '请输入部门', trigger: 'blur' }
+ ],
+ interfaceType: [
+ { required: true, message: '请选择接口类型', trigger: 'change' }
+ ],
+ number: [
+ { required: true, message: '请输入单据号', trigger: 'blur' }
+ ],
+ businessType: [
+ { required: true, message: '请输入业务类型', trigger: 'blur' }
+ ],
+ createTime: [
+ { required: true, message: '请输入创建时间', trigger: 'blur' }
+ ],
+ creator: [
+ { required: true, message: '请输入创建者', trigger: 'blur' }
+ ],
+})
+
+/**
+ * @returns {Array} 生产退料记录子表
+ */
+export const ProductionreturnRecordDetail = useCrudSchemas(reactive([
+ {
+ label: '生产线代码',
+ field: 'productionLineCode',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '工位代码',
+ field: 'workStationCode',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '接收状态',
+ field: 'receiveStatus',
+ sort: 'custom',
+ dictType: DICT_TYPE.RECEIVE_STATUS,
+ dictClass: 'string',
+ sortTableDefault:998,
+ isTable: true,
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '物料代码',
+ field: 'itemCode',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '物料名称',
+ field: 'itemName',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '物料描述1',
+ field: 'itemDesc1',
+ sort: 'custom',
+ hiddenInMain: true,
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '物料描述2',
+ field: 'itemDesc2',
+ sort: 'custom',
+ hiddenInMain: true,
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '数量',
+ field: 'qty',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ hiddenInMain: true,
+ form: {
+ component: 'InputNumber',
+ }
+ },
+ {
+ label: '从批次',
+ field: 'fromBatch',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ hiddenInMain: true,
+ },
+ {
+ label: '到批次',
+ field: 'toBatch',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ hiddenInMain: true,
+ },
+ {
+ label: '从包装号',
+ field: 'fromPackingNumber',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ hiddenInMain: true,
+ },
+ {
+ label: '到包装号',
+ field: 'toPackingNumber',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ hiddenInMain: true,
+ },
+ // {
+ // label: '包装规格',
+ // field: 'packUnit',
+ // sort: 'custom',
+ // table: {
+ // width: 150
+ // },
+
+ // },
+ // {
+ // label: '包装数量',
+ // field: 'packQty',
+ // sort: 'custom',
+ // table: {
+ // width: 150
+ // },
+ // },
+ {
+ label: '计量单位',
+ field: 'uom',
+ dictType: DICT_TYPE.UOM,
+ dictClass: 'string',
+ isTable: true,
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '库存状态',
+ field: 'inventoryStatus',
+ dictType: DICT_TYPE.INVENTORY_STATUS,
+ dictClass: 'string',
+ isTable: true,
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '从库位代码',
+ field: 'fromLocationCode',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '到库位代码',
+ field: 'toLocationCode',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '从库位组代码',
+ field: 'fromLocationGroupCode',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ hiddenInMain: true,
+ },
+ {
+ label: '到库位组代码',
+ field: 'toLocationGroupCode',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ hiddenInMain: true,
+ },
+ {
+ label: '从库区代码',
+ field: 'fromAreaCode',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ hiddenInMain: true,
+ },
+ {
+ label: '到库区代码',
+ field: 'toAreaCode',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ hiddenInMain: true,
+ },
+ {
+ label: '从货主代码',
+ field: 'fromOwnerCode',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ hiddenInMain: true,
+ },
+ {
+ label: '到货主代码',
+ field: 'toOwnerCode',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ hiddenInMain: true,
+ },
+ {
+ label: '项目代码',
+ field: 'projectCode',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ hiddenInMain: true,
+ },
+ {
+ label: '单据号',
+ field: 'number',
+ sort: 'custom',
+ table: {
+ width: 180
+ },
+ hiddenInMain: true,
+ },
+ {
+ label: '备注',
+ field: 'remark',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ hiddenInMain: true,
+ },
+ {
+ label: '创建者',
+ field: 'creator',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ hiddenInMain: true,
+ },
+ {
+ label: '创建时间',
+ field: 'createTime',
+ formatter: dateFormatter,
+ detail: {
+ dateFormat: 'YYYY-MM-DD HH:mm:ss'
+ },
+ sort: 'custom',
+ table: {
+ width: 180
+ },
+ hiddenInMain: true,
+ form: {
+ component: 'DatePicker',
+ componentProps: {
+ type: 'datetime',
+ dateFormat: 'YYYY-MM-DD HH:mm:ss',
+ valueFormat: 'x',
+ }
+ },
+ },
+ // {
+ // label: '从器具号',
+ // field: 'fromContainerNumber',
+ // sort: 'custom',
+ // table: {
+ // width: 150
+ // },
+ // isTable: false
+ // },
+ // {
+ // label: '到器具号',
+ // field: 'toContainerNumber',
+ // sort: 'custom',
+ // table: {
+ // width: 150
+ // },
+ // isTable: false
+ // },
+ {
+ label: '接口类型',
+ field: 'interfaceType',
+ dictType: DICT_TYPE.INTERFACE_TYPE,
+ dictClass: 'string',
+ isTable: false,
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '操作',
+ field: 'action',
+ isDetail: false,
+ isForm: false,
+ table: {
+ width: 120,
+ fixed: 'right'
+ },
+ }
+]))
+
+//表单校验
+export const ProductionreturnRecordDetailRules = reactive({
+ inventoryStatus: [
+ { required: true, message: '请选择库存状态', trigger: 'change' }
+ ],
+ frompackingNumber: [
+ { required: true, message: '请选择从包装号', trigger: 'change' }
+ ],
+ frombatch: [
+ { required: true, message: '请输入从批次', trigger: 'change' }
+ ],
+ fromlocationCode: [
+ { required: true, message: '请选择从库位代码', trigger: 'change' }
+ ],
+ fromlocationGroupCode: [
+ { required: true, message: '请选择从库位组代码', trigger: 'change' }
+ ],
+ fromareaCode: [
+ { required: true, message: '请选择从库区代码', trigger: 'change' }
+ ],
+ topackingNumber: [
+ { required: true, message: '请选择到仓库代码', trigger: 'change' }
+ ],
+ tobatch: [
+ { required: true, message: '请输入到批次', trigger: 'change' }
+ ],
+ toLocationCode: [
+ { required: true, message: '请选择到库位代码', trigger: 'change' }
+ ],
+ toLocationGroupCode: [
+ { required: true, message: '请选择到库位组代码', trigger: 'change' }
+ ],
+ toAreaCode: [
+ { required: true, message: '请选择到库区代码', trigger: 'change' }
+ ],
+ number: [
+ { required: true, message: '请输入单据号', trigger: 'blur' }
+ ],
+ itemCode: [
+ { required: true, message: '请选择物料代码', trigger: 'change' }
+ ],
+ createTime: [
+ { required: true, message: '请输入创建时间', trigger: 'blur' }
+ ],
+ creator: [
+ { required: true, message: '请输入创建者', trigger: 'blur' }
+ ],
+})