From c835d3fbe233331e6654798de546432d9faa6f28 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E9=99=88=E8=96=AA=E5=90=8D?= <942005050@qq.com>
Date: Thu, 2 Nov 2023 19:02:56 +0800
Subject: [PATCH] =?UTF-8?q?=E9=87=87=E8=B4=AD=E6=94=B6=E8=B4=A7=E4=BB=BB?=
=?UTF-8?q?=E5=8A=A1?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/api/wms/purchasereceiptJobDetail/index.ts | 75 ++
src/api/wms/purchasereceiptJobMain/index.ts | 89 ++
.../purchasereceiptJobMain/index.vue | 232 ++++
.../purchasereceiptJobMain.data.ts | 1030 +++++++++++++++++
4 files changed, 1426 insertions(+)
create mode 100644 src/api/wms/purchasereceiptJobDetail/index.ts
create mode 100644 src/api/wms/purchasereceiptJobMain/index.ts
create mode 100644 src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptJobMain/index.vue
create mode 100644 src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptJobMain/purchasereceiptJobMain.data.ts
diff --git a/src/api/wms/purchasereceiptJobDetail/index.ts b/src/api/wms/purchasereceiptJobDetail/index.ts
new file mode 100644
index 000000000..6201fbe0c
--- /dev/null
+++ b/src/api/wms/purchasereceiptJobDetail/index.ts
@@ -0,0 +1,75 @@
+import request from '@/config/axios'
+
+export interface PurchasereceiptJobDetailVO {
+ packingNumber: string
+ containerNumber: string
+ batch: string
+ altBatch: string
+ arriveDate: Date
+ produceDate: Date
+ expireDate: Date
+ inventoryStatus: string
+ fromLocationCode: string
+ toLocationCode: string
+ poNumber: string
+ poLine: string
+ stdPackQty: number
+ stdPackUnit: string
+ supplierQty: number
+ supplierUom: string
+ convertRate: number
+ itemCode: string
+ itemName: string
+ itemDesc1: string
+ itemDesc2: string
+ projectCode: string
+ qty: number
+ uom: string
+ number: string
+ eemark: string
+ createTime: Date
+ creator: string
+ fromOwnerCode: string
+ toOwnerCode: string
+}
+
+// 查询采购收货任务子列表
+export const getPurchasereceiptJobDetailPage = async (params) => {
+ if (params.isSearch) {
+ delete params.isSearch
+ const data = {...params}
+ return await request.post({ url: '/wms/purchasereceipt-job-detail/senior', data })
+ } else {
+ return await request.get({ url: `/wms/purchasereceipt-job-detail/page`, params })
+ }
+}
+
+// 查询采购收货任务子详情
+export const getPurchasereceiptJobDetail = async (id: number) => {
+ return await request.get({ url: `/wms/purchasereceipt-job-detail/get?id=` + id })
+}
+
+// 新增采购收货任务子
+export const createPurchasereceiptJobDetail = async (data: PurchasereceiptJobDetailVO) => {
+ return await request.post({ url: `/wms/purchasereceipt-job-detail/create`, data })
+}
+
+// 修改采购收货任务子
+export const updatePurchasereceiptJobDetail = async (data: PurchasereceiptJobDetailVO) => {
+ return await request.put({ url: `/wms/purchasereceipt-job-detail/update`, data })
+}
+
+// 删除采购收货任务子
+export const deletePurchasereceiptJobDetail = async (id: number) => {
+ return await request.delete({ url: `/wms/purchasereceipt-job-detail/delete?id=` + id })
+}
+
+// 导出采购收货任务子 Excel
+export const exportPurchasereceiptJobDetail = async (params) => {
+ return await request.download({ url: `/wms/purchasereceipt-job-detail/export-excel`, params })
+}
+
+// 下载用户导入模板
+export const importTemplate = () => {
+ return request.download({ url: '/wms/purchasereceipt-job-detail/get-import-template' })
+}
\ No newline at end of file
diff --git a/src/api/wms/purchasereceiptJobMain/index.ts b/src/api/wms/purchasereceiptJobMain/index.ts
new file mode 100644
index 000000000..5193fc506
--- /dev/null
+++ b/src/api/wms/purchasereceiptJobMain/index.ts
@@ -0,0 +1,89 @@
+import request from '@/config/axios'
+
+export interface PurchasereceiptJobMainVO {
+ requestNumber: string
+ asnNumber: string
+ ppNumber: string
+ supplierCode: string
+ toDockCode: string
+ carrierCode: string
+ transferMode: string
+ vehiclePlateNumber: string
+ fromWarehouseCode: string
+ toWarehouseCode: string
+ requestTime: Date
+ requestDueTime: Date
+ status: string
+ expiredTime: Date
+ updateTime: Date
+ updater: string
+ jobStageStatus: string
+ priority: number
+ priorityIncrement: number
+ departmentCode: string
+ userPositionCode: string
+ acceptUserId: string
+ acceptTime: Date
+ completeUserId: string
+ completeTime: Date
+ fromLocationTypes: string
+ toLocationTypes: string
+ number: string
+ businessType: string
+ remark: string
+ createTime: Date
+ creator: string
+ allowModifyBatch: string
+ fromAreaCodes: string
+ toAreaCodes: string
+ autoComplete: string
+ allowModifyLocation: string
+ allowModifyQty: string
+ allowBiggerQty: string
+ allowSmallerQty: string
+ allowModifyInventoryStatus: string
+ allowContinuousScanning: string
+ allowPartialComplete: string
+ allowModifyPackingNumber: string
+}
+
+// 查询采购收货任务主列表
+export const getPurchasereceiptJobMainPage = async (params) => {
+ if (params.isSearch) {
+ delete params.isSearch
+ const data = {...params}
+ return await request.post({ url: '/wms/purchasereceipt-job-main/senior', data })
+ } else {
+ return await request.get({ url: `/wms/purchasereceipt-job-main/page`, params })
+ }
+}
+
+// 查询采购收货任务主详情
+export const getPurchasereceiptJobMain = async (id: number) => {
+ return await request.get({ url: `/wms/purchasereceipt-job-main/get?id=` + id })
+}
+
+// 新增采购收货任务主
+export const createPurchasereceiptJobMain = async (data: PurchasereceiptJobMainVO) => {
+ return await request.post({ url: `/wms/purchasereceipt-job-main/create`, data })
+}
+
+// 修改采购收货任务主
+export const updatePurchasereceiptJobMain = async (data: PurchasereceiptJobMainVO) => {
+ return await request.put({ url: `/wms/purchasereceipt-job-main/update`, data })
+}
+
+// 删除采购收货任务主
+export const deletePurchasereceiptJobMain = async (id: number) => {
+ return await request.delete({ url: `/wms/purchasereceipt-job-main/delete?id=` + id })
+}
+
+// 导出采购收货任务主 Excel
+export const exportPurchasereceiptJobMain = async (params) => {
+ return await request.download({ url: `/wms/purchasereceipt-job-main/export-excel`, params })
+}
+
+// 下载用户导入模板
+export const importTemplate = () => {
+ return request.download({ url: '/wms/purchasereceipt-job-main/get-import-template' })
+}
\ No newline at end of file
diff --git a/src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptJobMain/index.vue b/src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptJobMain/index.vue
new file mode 100644
index 000000000..bccbce4d7
--- /dev/null
+++ b/src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptJobMain/index.vue
@@ -0,0 +1,232 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ row.number }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptJobMain/purchasereceiptJobMain.data.ts b/src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptJobMain/purchasereceiptJobMain.data.ts
new file mode 100644
index 000000000..96c9a49b9
--- /dev/null
+++ b/src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptJobMain/purchasereceiptJobMain.data.ts
@@ -0,0 +1,1030 @@
+import type { CrudSchema } from '@/hooks/web/useCrudSchemas'
+import { dateFormatter } from '@/utils/formatTime'
+
+/**
+ * @returns {Array} 采购收货任务主表
+ */
+export const PurchasereceiptJobMain = useCrudSchemas(reactive([
+ {
+ label: '申请单号',
+ field: 'requestNumber',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '发货单号',
+ field: 'asnNumber',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '要货计划单号',
+ field: 'ppNumber',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '供应商代码',
+ field: 'supplierCode',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '到月台代码',
+ field: 'toDockCode',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '承运商',
+ field: 'carrierCode',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '运输方式',
+ field: 'transferMode',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '车牌号',
+ field: 'vehiclePlateNumber',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '从仓库代码',
+ field: 'fromWarehouseCode',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '到仓库代码',
+ field: 'toWarehouseCode',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ formatter: dateFormatter,
+ detail: {
+ dateFormat: 'YYYY-MM-DD HH:mm:ss'
+ },
+ form: {
+ component: 'DatePicker',
+ componentProps: {
+ type: 'datetime',
+ dateFormat: 'YYYY-MM-DD HH:mm:ss',
+ valueFormat: 'x',
+ }
+ },
+ },
+ {
+ label: '申请时间',
+ field: 'requestTime',
+ sort: 'custom',
+ table: {
+ width: 180
+ },
+ formatter: dateFormatter,
+ detail: {
+ dateFormat: 'YYYY-MM-DD HH:mm:ss'
+ },
+ form: {
+ component: 'DatePicker',
+ componentProps: {
+ type: 'datetime',
+ dateFormat: 'YYYY-MM-DD HH:mm:ss',
+ valueFormat: 'x',
+ }
+ },
+ },
+ {
+ label: '要求截止时间',
+ field: 'requestDueTime',
+ sort: 'custom',
+ table: {
+ width: 180
+ },
+ formatter: dateFormatter,
+ detail: {
+ dateFormat: 'YYYY-MM-DD HH:mm:ss'
+ },
+ form: {
+ component: 'DatePicker',
+ componentProps: {
+ type: 'datetime',
+ dateFormat: 'YYYY-MM-DD HH:mm:ss',
+ valueFormat: 'x',
+ }
+ },
+ },
+ {
+ label: '状态',
+ field: 'status',
+ dictType: DICT_TYPE.JOB_STATUS,
+ dictClass: 'string',
+ isSearch: true,
+ isTable: true,
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '过期时间',
+ field: 'expiredTime',
+ formatter: dateFormatter,
+ detail: {
+ dateFormat: 'YYYY-MM-DD HH:mm:ss'
+ },
+ sort: 'custom',
+ table: {
+ width: 180
+ },
+ form: {
+ component: 'DatePicker',
+ componentProps: {
+ type: 'datetime',
+ dateFormat: 'YYYY-MM-DD HH:mm:ss',
+ valueFormat: 'x',
+ }
+ },
+ },
+ {
+ label: '状态',
+ field: 'jobStageStatus',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '优先级',
+ field: 'priority',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ form: {
+ component: 'InputNumber',
+ }
+ },
+ {
+ label: '优先级增量',
+ field: 'priorityIncrement',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ form: {
+ component: 'InputNumber',
+ }
+ },
+ {
+ label: '部门',
+ field: 'departmentCode',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '岗位',
+ field: 'userPositionCode',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '承接人',
+ field: 'acceptUserId',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '承接时间',
+ field: 'acceptTime',
+ formatter: dateFormatter,
+ detail: {
+ dateFormat: 'YYYY-MM-DD HH:mm:ss'
+ },
+ sort: 'custom',
+ table: {
+ width: 180
+ },
+ form: {
+ component: 'DatePicker',
+ componentProps: {
+ type: 'datetime',
+ dateFormat: 'YYYY-MM-DD HH:mm:ss',
+ valueFormat: 'x',
+ }
+ },
+ },
+ {
+ label: '完成人',
+ field: 'completeUserId',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '完成时间',
+ field: 'completeTime',
+ formatter: dateFormatter,
+ detail: {
+ dateFormat: 'YYYY-MM-DD HH:mm:ss'
+ },
+ sort: 'custom',
+ table: {
+ width: 180
+ },
+ form: {
+ component: 'DatePicker',
+ componentProps: {
+ type: 'datetime',
+ dateFormat: 'YYYY-MM-DD HH:mm:ss',
+ valueFormat: 'x',
+ }
+ },
+ },
+ {
+ label: '从库位类型范围',
+ field: 'fromLocationTypes',
+ dictType: DICT_TYPE.LOCATION_TYPE,
+ dictClass: 'string',
+ isSearch: true,
+ isTable: true,
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '到库位类型范围',
+ field: 'toLocationTypes',
+ dictType: DICT_TYPE.LOCATION_TYPE,
+ dictClass: 'string',
+ isSearch: true,
+ isTable: true,
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '从库区代码范围',
+ field: 'fromAreaCodes',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '到库区代码范围',
+ field: 'toAreaCodes',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '单据号',
+ field: 'number',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '业务类型',
+ field: 'businessType',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '备注',
+ field: 'remark',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '创建者',
+ field: 'creator',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '创建时间',
+ field: 'createTime',
+ formatter: dateFormatter,
+ detail: {
+ dateFormat: 'YYYY-MM-DD HH:mm:ss'
+ },
+ sort: 'custom',
+ table: {
+ width: 180
+ },
+ form: {
+ component: 'DatePicker',
+ componentProps: {
+ type: 'datetime',
+ dateFormat: 'YYYY-MM-DD HH:mm:ss',
+ valueFormat: 'x',
+ }
+ },
+ },
+ {
+ label: '最后更新者',
+ field: 'updater',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '最后更新时间',
+ field: 'updateTime',
+ formatter: dateFormatter,
+ detail: {
+ dateFormat: 'YYYY-MM-DD HH:mm:ss'
+ },
+ sort: 'custom',
+ table: {
+ width: 180
+ },
+ form: {
+ component: 'DatePicker',
+ componentProps: {
+ type: 'datetime',
+ dateFormat: 'YYYY-MM-DD HH:mm:ss',
+ valueFormat: 'x',
+ }
+ },
+ },
+ {
+ label: '自动完成',
+ field: 'autoComplete',
+ dictType: DICT_TYPE.TRUE_FALSE,
+ dictClass: 'string',
+ isSearch: true,
+ isTable: true,
+ form: {
+ component: 'Switch',
+ value: 'TRUE',
+ componentProps: {
+ inactiveValue: 'FALSE',
+ activeValue: 'TRUE'
+ }
+ },
+ sort: 'custom',
+ table: {
+ width: 180
+ },
+ },
+ {
+ label: '允许修改库位',
+ field: 'allowModifyLocation',
+ dictType: DICT_TYPE.TRUE_FALSE,
+ dictClass: 'string',
+ isSearch: true,
+ isTable: true,
+ form: {
+ component: 'Switch',
+ value: 'TRUE',
+ componentProps: {
+ inactiveValue: 'FALSE',
+ activeValue: 'TRUE'
+ }
+ },
+ sort: 'custom',
+ table: {
+ width: 180
+ },
+ },
+ {
+ label: '允许修改数量',
+ field: 'allowModifyQty',
+ dictType: DICT_TYPE.TRUE_FALSE,
+ dictClass: 'string',
+ isSearch: true,
+ isTable: true,
+ form: {
+ component: 'Switch',
+ value: 'TRUE',
+ componentProps: {
+ inactiveValue: 'FALSE',
+ activeValue: 'TRUE'
+ }
+ },
+ sort: 'custom',
+ table: {
+ width: 180
+ },
+ },
+ {
+ label: '允许大于推荐数量',
+ field: 'allowBiggerQty',
+ dictType: DICT_TYPE.TRUE_FALSE,
+ dictClass: 'string',
+ isSearch: true,
+ isTable: true,
+ form: {
+ component: 'Switch',
+ value: 'TRUE',
+ componentProps: {
+ inactiveValue: 'FALSE',
+ activeValue: 'TRUE'
+ }
+ },
+ sort: 'custom',
+ table: {
+ width: 180
+ },
+ },
+ {
+ label: '允许小于推荐数量',
+ field: 'allowSmallerQty',
+ dictType: DICT_TYPE.TRUE_FALSE,
+ dictClass: 'string',
+ isSearch: true,
+ isTable: true,
+ form: {
+ component: 'Switch',
+ value: 'TRUE',
+ componentProps: {
+ inactiveValue: 'FALSE',
+ activeValue: 'TRUE'
+ }
+ },
+ sort: 'custom',
+ table: {
+ width: 180
+ },
+ },
+ {
+ label: '允许修改库存状态',
+ field: 'allowModifyInventoryStatus',
+ dictType: DICT_TYPE.TRUE_FALSE,
+ dictClass: 'string',
+ isSearch: true,
+ isTable: true,
+ form: {
+ component: 'Switch',
+ value: 'TRUE',
+ componentProps: {
+ inactiveValue: 'FALSE',
+ activeValue: 'TRUE'
+ }
+ },
+ sort: 'custom',
+ table: {
+ width: 180
+ },
+ },
+ {
+ label: '允许连续扫描',
+ field: 'allowContinuousScanning',
+ dictType: DICT_TYPE.TRUE_FALSE,
+ dictClass: 'string',
+ isSearch: true,
+ isTable: true,
+ form: {
+ component: 'Switch',
+ value: 'TRUE',
+ componentProps: {
+ inactiveValue: 'FALSE',
+ activeValue: 'TRUE'
+ }
+ },
+ sort: 'custom',
+ table: {
+ width: 180
+ },
+ },
+ {
+ label: '允许部分完成',
+ field: 'allowPartialComplete',
+ dictType: DICT_TYPE.TRUE_FALSE,
+ dictClass: 'string',
+ isSearch: true,
+ isTable: true,
+ form: {
+ component: 'Switch',
+ value: 'TRUE',
+ componentProps: {
+ inactiveValue: 'FALSE',
+ activeValue: 'TRUE'
+ }
+ },
+ sort: 'custom',
+ table: {
+ width: 180
+ },
+ },
+ {
+ label: '允许修改批次',
+ field: 'allowModifyBatch',
+ dictType: DICT_TYPE.TRUE_FALSE,
+ dictClass: 'string',
+ isSearch: true,
+ isTable: true,
+ form: {
+ component: 'Switch',
+ value: 'TRUE',
+ componentProps: {
+ inactiveValue: 'FALSE',
+ activeValue: 'TRUE'
+ }
+ },
+ sort: 'custom',
+ table: {
+ width: 180
+ },
+ },
+ {
+ label: '允许修改箱码',
+ field: 'allowModifyPackingNumber',
+ dictType: DICT_TYPE.TRUE_FALSE,
+ dictClass: 'string',
+ isSearch: true,
+ isTable: true,
+ form: {
+ component: 'Switch',
+ value: 'TRUE',
+ componentProps: {
+ inactiveValue: 'FALSE',
+ activeValue: 'TRUE'
+ }
+ },
+ sort: 'custom',
+ table: {
+ width: 180
+ },
+ },
+ {
+ label: '操作',
+ field: 'action',
+ isDetail: false,
+ isForm: false,
+ table: {
+ width: 120,
+ fixed: 'right'
+ },
+ }
+]))
+
+//表单校验
+export const PurchasereceiptJobMainRules = reactive({
+ requestNumber: [
+ { required: true, message: '请选择申请单号', trigger: 'change' }
+ ],
+ supplierCode: [
+ { required: true, message: '请选择供应商代码', trigger: 'change' }
+ ],
+ toWarehouseCode: [
+ { required: true, message: '请选择到仓库代码', trigger: 'change' }
+ ],
+ toLocationTypes: [
+ { required: true, message: '请选择到库位类型范围', trigger: 'change' }
+ ],
+ requestTime: [
+ { required: true, message: '请输入申请时间', trigger: 'change' }
+ ],
+ requestDueTime: [
+ { required: true, message: '请输入要求截止时间', trigger: 'change' }
+ ],
+ status: [
+ { required: true, message: '请选择状态', trigger: 'change' }
+ ],
+ jobStageStatus: [
+ { required: true, message: '请选择阶段状态', trigger: 'change' }
+ ],
+ priority: [
+ { required: true, message: '请输入优先级', trigger: 'blur' }
+ ],
+ priorityIncrement: [
+ { required: true, message: '请输入优先级增量', trigger: 'blur' }
+ ],
+ departmentCode: [
+ { required: true, message: '请输入部门', trigger: 'blur' }
+ ],
+ userPositionCode: [
+ { required: true, message: '请输入岗位', trigger: 'blur' }
+ ],
+ 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 PurchasereceiptJobDetail = useCrudSchemas(reactive([
+ {
+ label: '包装号',
+ field: 'packingNumber',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '器具号',
+ field: 'containerNumber',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '批次',
+ field: 'batch',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '替代批次',
+ field: 'altBatch',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '到货日期',
+ field: 'arriveDate',
+ formatter: dateFormatter,
+ detail: {
+ dateFormat: 'YYYY-MM-DD HH:mm:ss'
+ },
+ sort: 'custom',
+ table: {
+ width: 180
+ },
+ form: {
+ component: 'DatePicker',
+ componentProps: {
+ type: 'datetime',
+ dateFormat: 'YYYY-MM-DD HH:mm:ss',
+ valueFormat: 'x',
+ }
+ },
+ },
+ {
+ label: '生产日期',
+ field: 'produceDate',
+ formatter: dateFormatter,
+ detail: {
+ dateFormat: 'YYYY-MM-DD HH:mm:ss'
+ },
+ sort: 'custom',
+ table: {
+ width: 180
+ },
+ form: {
+ component: 'DatePicker',
+ componentProps: {
+ type: 'datetime',
+ dateFormat: 'YYYY-MM-DD HH:mm:ss',
+ valueFormat: 'x',
+ }
+ },
+ },
+ {
+ label: '过期日期',
+ field: 'expireDate',
+ formatter: dateFormatter,
+ detail: {
+ dateFormat: 'YYYY-MM-DD HH:mm:ss'
+ },
+ sort: 'custom',
+ table: {
+ width: 180
+ },
+ form: {
+ component: 'DatePicker',
+ componentProps: {
+ type: 'datetime',
+ dateFormat: 'YYYY-MM-DD HH:mm:ss',
+ valueFormat: 'x',
+ }
+ },
+ },
+ {
+ label: '库存状态',
+ field: 'inventoryStatus',
+ dictType: DICT_TYPE.INVENTORY_STATUS,
+ dictClass: 'string',
+ isSearch: true,
+ 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: 'poNumber',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '订单行',
+ field: 'poLine',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '标包数量',
+ field: 'stdPackQty',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ form: {
+ component: 'InputNumber',
+ }
+ },
+ {
+ label: '标包单位',
+ field: 'stdPackUnit',
+ dictType: DICT_TYPE.PACK_UNIT,
+ dictClass: 'string',
+ isSearch: true,
+ isTable: true,
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '供应商计量数量',
+ field: 'supplierQty',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ form: {
+ component: 'InputNumber',
+ }
+ },
+ {
+ label: '供应商计量单位',
+ field: 'supplierUom',
+ dictType: DICT_TYPE.UOM,
+ dictClass: 'string',
+ isSearch: true,
+ isTable: true,
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '转换率',
+ field: 'convertRate',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ form: {
+ component: 'InputNumber',
+ }
+ },
+ {
+ label: '从货主代码',
+ field: 'fromOwnerCode',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '到货主代码',
+ field: 'toOwnerCode',
+ sort: 'custom',
+ 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',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '物品描述2',
+ field: 'itemDesc2',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '项目代码',
+ field: 'projectCode',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '数量',
+ field: 'qty',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ form: {
+ component: 'InputNumber',
+ }
+ },
+ {
+ label: '计量单位',
+ field: 'uom',
+ dictType: DICT_TYPE.UOM,
+ dictClass: 'string',
+ isSearch: true,
+ isTable: true,
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '单据号',
+ field: 'number',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '备注',
+ fiield: 'remark',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '创建者',
+ field: 'creator',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '创建时间',
+ field: 'createTime',
+ formatter: dateFormatter,
+ detail: {
+ dateFormat: 'YYYY-MM-DD HH:mm:ss'
+ },
+ sort: 'custom',
+ table: {
+ width: 180
+ },
+ form: {
+ component: 'DatePicker',
+ componentProps: {
+ type: 'datetime',
+ dateFormat: 'YYYY-MM-DD HH:mm:ss',
+ valueFormat: 'x',
+ }
+ },
+ },
+]))
+
+//表单校验
+export const PurchasereceiptJobDetailRules = reactive({
+ packingNumber: [
+ { required: true, message: '请选择包装号', trigger: 'change' }
+ ],
+ batch: [
+ { required: true, message: '请输入批次', trigger: 'blur' }
+ ],
+ arriveDate: [
+ { required: true, message: '请输入到货日期', trigger: 'change' }
+ ],
+ produceDate: [
+ { required: true, message: '请输入生产日期', trigger: 'change' }
+ ],
+ expireDate: [
+ { required: true, message: '请输入过期日期', trigger: 'change' }
+ ],
+ inventoryStatus: [
+ { required: true, message: '请选择库存状态', trigger: 'change' }
+ ],
+ poNumber: [
+ { required: true, message: '请选择订单号', trigger: 'change' }
+ ],
+ poLine: [
+ { required: true, message: '请输入订单行', trigger: 'blur' }
+ ],
+ stdPackQty: [
+ { required: true, message: '请输入标包数量', trigger: 'blur' }
+ ],
+ stdPackUnit: [
+ { required: true, message: '请选择标包单位', trigger: 'change' }
+ ],
+ convertRate: [
+ { required: true, message: '请输入转换率', trigger: 'blur' }
+ ],
+ toLocationCode: [
+ { 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' }
+ ],
+})