From 0a6d6a436e09872c46b66220d91f77c3f2a25e4f Mon Sep 17 00:00:00 2001 From: zhaoxuebing <1291173720@qq.com> Date: Thu, 28 Mar 2024 13:31:48 +0800 Subject: [PATCH 1/7] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=85=B3=E9=97=AD?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../supplierdeliverRequestMain/index.vue | 2 +- .../supplierinvoiceRequestMain/index.vue | 15 +++++++++++++-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/src/views/wms/purchasereceiptManage/supplierdeliver/supplierdeliverRequestMain/index.vue b/src/views/wms/purchasereceiptManage/supplierdeliver/supplierdeliverRequestMain/index.vue index 13a635690..0727af1a5 100644 --- a/src/views/wms/purchasereceiptManage/supplierdeliver/supplierdeliverRequestMain/index.vue +++ b/src/views/wms/purchasereceiptManage/supplierdeliver/supplierdeliverRequestMain/index.vue @@ -283,7 +283,7 @@ const isShowMainButtonLabel = (row, val) => { const butttondata = (row) => { return [ defaultButtons.mainListPurchasePlanOpeBtn({ hide: isShowMainButton(row, ['5']) }), // 打开 - defaultButtons.mainListPurchasePlanCloBtn({ hide: isShowMainButton(row, ['1', '2', '4']) }), // 关闭 + defaultButtons.mainListPurchasePlanCloBtn({ hide: isShowMainButton(row, ['1', '2', '4','3']) }), // 关闭 defaultButtons.mainListPlanSubBtn({ hide: isShowMainButton(row, ['1']) }), // 提交审批 defaultButtons.mainListPlanAppBtn({ hide: isShowMainButton(row, ['2']) }), // 审批通过 defaultButtons.mainListPlanTurBtn({ hide: isShowMainButton(row, ['2']) }), // 驳回按钮 diff --git a/src/views/wms/supplierManage/supplierinvoice/supplierinvoiceRequestMain/index.vue b/src/views/wms/supplierManage/supplierinvoice/supplierinvoiceRequestMain/index.vue index 7d81aadaa..0a0dabae0 100644 --- a/src/views/wms/supplierManage/supplierinvoice/supplierinvoiceRequestMain/index.vue +++ b/src/views/wms/supplierManage/supplierinvoice/supplierinvoiceRequestMain/index.vue @@ -106,7 +106,7 @@ ]) // 查询页面返回 - const searchTableSuccess = (formField, searchField, val, formRef, type, row) => { + const searchTableSuccess = (formField, searchField, val, searchFormRef, type, row) => { nextTick(() => { if (type == 'tableForm') { // 明细查询页赋值 @@ -121,13 +121,24 @@ row['amount'] = val[0]['amount'] } } else { + console.log(searchFormRef.formModel); + const setV = {} if(formField == 'recordNumber'){ setV['recordNumber'] = val[0]['number'] setV['asnBillNum'] = val[0]['asnNumber'] + let params = { + 'billType':searchFormRef.formModel.billType, + 'recordNumber':val[0]['number'] + } + SupplierinvoiceRequestDetailApi.getPoNumber(params).then(res =>{ + console.log("返回结果:",res) + }) + } + setV[formField] = val[0][searchField] - formRef.setValues(setV) + searchFormRef.setValues(setV) } }) } From fae81c854b62114359643f4b56f327c0ccc10e37 Mon Sep 17 00:00:00 2001 From: chenfang Date: Thu, 28 Mar 2024 13:43:46 +0800 Subject: [PATCH 2/7] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=89=8D=E7=AB=AF?= =?UTF-8?q?=E5=AD=97=E6=AE=B5=E5=B1=95=E7=A4=BA=E6=A0=B7=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../inventoryManage/balance/balance.data.ts | 39 ++++++++++--------- 1 file changed, 20 insertions(+), 19 deletions(-) diff --git a/src/views/wms/inventoryManage/balance/balance.data.ts b/src/views/wms/inventoryManage/balance/balance.data.ts index 4f6b192ac..8aaf79117 100644 --- a/src/views/wms/inventoryManage/balance/balance.data.ts +++ b/src/views/wms/inventoryManage/balance/balance.data.ts @@ -39,6 +39,7 @@ export const Balance = useCrudSchemas(reactive([ table: { width: 150 }, + isTable:false }, { label: '数量', @@ -63,55 +64,55 @@ export const Balance = useCrudSchemas(reactive([ }, }, { - label: '库区类型', - field: 'areaType', + label: '库位代码', + field: 'locationCode', sort: 'custom', - dictType: DICT_TYPE.AREA_TYPE, - dictClass: 'string', - isTable: true, table: { width: 150 }, + isSearch: true, }, { - label: '包装规格', - field: 'packUnit', + label: '库存状态', + field: 'inventoryStatus', + dictType: DICT_TYPE.INVENTORY_STATUS, + dictClass: 'string', + isTable: true, sort: 'custom', table: { width: 150 }, }, { - label: '包装数量', - field: 'packQty', + label: '库区类型', + field: 'areaType', sort: 'custom', + dictType: DICT_TYPE.AREA_TYPE, + dictClass: 'string', + isTable: true, table: { width: 150 }, }, { - label: '库位代码', - field: 'locationCode', + label: '包装规格', + field: 'packUnit', sort: 'custom', table: { width: 150 }, - isSearch: true, }, { - label: '仓库代码', - field: 'warehouseCode', + label: '包装数量', + field: 'packQty', sort: 'custom', table: { width: 150 }, }, { - label: '库存状态', - field: 'inventoryStatus', - dictType: DICT_TYPE.INVENTORY_STATUS, - dictClass: 'string', - isTable: true, + label: '仓库代码', + field: 'warehouseCode', sort: 'custom', table: { width: 150 From d4132c4181c058fd7a19e09b1a4e518c529f8da6 Mon Sep 17 00:00:00 2001 From: chenfang Date: Thu, 28 Mar 2024 14:49:49 +0800 Subject: [PATCH 3/7] =?UTF-8?q?=E7=89=A9=E6=96=99=E5=BA=93=E5=8C=BA?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../itemManage/itemarea/index.vue | 7 +++++++ .../itemManage/itemarea/itemarea.data.ts | 16 ++++------------ 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/src/views/wms/basicDataManage/itemManage/itemarea/index.vue b/src/views/wms/basicDataManage/itemManage/itemarea/index.vue index 6a60ba6a9..c49921b59 100644 --- a/src/views/wms/basicDataManage/itemManage/itemarea/index.vue +++ b/src/views/wms/basicDataManage/itemManage/itemarea/index.vue @@ -250,12 +250,19 @@ const openForm =async (type: string, row?: number) => { if (item.field == 'areaCode') { item.componentProps.isSearchList = false, item.componentProps.disabled = true + } + if (item.field == 'itemCode') { + item.componentProps.isSearchList = false, + item.componentProps.disabled = true }}) }else { Itemarea.allSchemas.formSchema.forEach((item) => { if (item.field == 'areaCode') { item.componentProps.isSearchList = true } + if (item.field == 'itemCode') { + item.componentProps.isSearchList = true + } }) } tableData.value = [] // 重置明细数据 diff --git a/src/views/wms/basicDataManage/itemManage/itemarea/itemarea.data.ts b/src/views/wms/basicDataManage/itemManage/itemarea/itemarea.data.ts index a1c2328fc..6c99cc959 100644 --- a/src/views/wms/basicDataManage/itemManage/itemarea/itemarea.data.ts +++ b/src/views/wms/basicDataManage/itemManage/itemarea/itemarea.data.ts @@ -383,11 +383,10 @@ export const Itemarea = useCrudSchemas(reactive([ dictClass: 'string', form: { component: 'Switch', - value: 'FALSE', + value: 'TRUE', componentProps: { inactiveValue: 'FALSE', activeValue: 'TRUE', - disabled: 'TRUE', } }, }, @@ -397,14 +396,7 @@ export const Itemarea = useCrudSchemas(reactive([ sort: 'custom', dictType: DICT_TYPE.TRUE_FALSE, dictClass: 'string', - form: { - component: 'Switch', - value: 'FALSE', - componentProps: { - inactiveValue: 'FALSE', - activeValue: 'TRUE' - } - }, + isForm: false }, { label: '可以混批次', @@ -414,7 +406,7 @@ export const Itemarea = useCrudSchemas(reactive([ dictClass: 'string', form: { component: 'Switch', - value: 'FALSE', + value: 'TRUE', componentProps: { inactiveValue: 'FALSE', activeValue: 'TRUE' @@ -429,7 +421,7 @@ export const Itemarea = useCrudSchemas(reactive([ dictClass: 'string', form: { component: 'Switch', - value: 'TRUE', + value: 'FALSE', componentProps: { inactiveValue: 'FALSE', activeValue: 'TRUE' From 682c9d410b914a42256ef5c5c2ca4b492ec4f30c Mon Sep 17 00:00:00 2001 From: chenfang Date: Thu, 28 Mar 2024 15:32:00 +0800 Subject: [PATCH 4/7] =?UTF-8?q?=E7=89=A9=E6=96=99=E5=BA=93=E5=8C=BA?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E5=B1=95=E7=A4=BA=E5=BD=A2=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../itemManage/itemarea/itemarea.data.ts | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/views/wms/basicDataManage/itemManage/itemarea/itemarea.data.ts b/src/views/wms/basicDataManage/itemManage/itemarea/itemarea.data.ts index 6c99cc959..5820c72c6 100644 --- a/src/views/wms/basicDataManage/itemManage/itemarea/itemarea.data.ts +++ b/src/views/wms/basicDataManage/itemManage/itemarea/itemarea.data.ts @@ -396,7 +396,15 @@ export const Itemarea = useCrudSchemas(reactive([ sort: 'custom', dictType: DICT_TYPE.TRUE_FALSE, dictClass: 'string', - isForm: false + form: { + component: 'Switch', + value: 'FALSE', + componentProps: { + inactiveValue: 'FALSE', + activeValue: 'TRUE', + disabled: true + } + }, }, { label: '可以混批次', From 7a2c4ff50092864036c764a511b10b7e4d9ead55 Mon Sep 17 00:00:00 2001 From: chenfang Date: Thu, 28 Mar 2024 16:41:30 +0800 Subject: [PATCH 5/7] =?UTF-8?q?AGV=E5=BA=93=E4=BD=8D=E8=BD=AC=E6=8D=A2?= =?UTF-8?q?=E8=A1=A8=20=20=E5=89=8D=E7=AB=AF=E4=BB=A3=E7=A0=81=E5=BC=80?= =?UTF-8?q?=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/wms/agvLocationrelation/index.ts | 59 ++++ .../agvLocationrelation.data.ts | 151 ++++++++++ .../agvManage/agvLocationrelation/index.vue | 267 ++++++++++++++++++ .../workstation/workstation.data.ts | 1 - 4 files changed, 477 insertions(+), 1 deletion(-) create mode 100644 src/api/wms/agvLocationrelation/index.ts create mode 100644 src/views/wms/agvManage/agvLocationrelation/agvLocationrelation.data.ts create mode 100644 src/views/wms/agvManage/agvLocationrelation/index.vue diff --git a/src/api/wms/agvLocationrelation/index.ts b/src/api/wms/agvLocationrelation/index.ts new file mode 100644 index 000000000..5422aac82 --- /dev/null +++ b/src/api/wms/agvLocationrelation/index.ts @@ -0,0 +1,59 @@ +import request from '@/config/axios' + +export interface AgvLocationrelationVO { + id: number + reqCode: string + positionCode: string + positionArea: string + wmsArea: string + wmsPosition: string + available: string + remark: string +} + +// 查询AGV库位转换列表 +export const getAgvLocationrelationPage = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/wms/agv-locationrelation/senior', data }) + } else { + return await request.get({ url: `/wms/agv-locationrelation/page`, params }) + } +} + +// 查询AGV库位转换详情 +export const getAgvLocationrelation = async (id: number) => { + return await request.get({ url: `/wms/agv-locationrelation/get?id=` + id }) +} + +// 新增AGV库位转换 +export const createAgvLocationrelation = async (data: AgvLocationrelationVO) => { + return await request.post({ url: `/wms/agv-locationrelation/create`, data }) +} + +// 修改AGV库位转换 +export const updateAgvLocationrelation = async (data: AgvLocationrelationVO) => { + return await request.put({ url: `/wms/agv-locationrelation/update`, data }) +} + +// 删除AGV库位转换 +export const deleteAgvLocationrelation = async (id: number) => { + return await request.delete({ url: `/wms/agv-locationrelation/delete?id=` + id }) +} + +// 导出AGV库位转换 Excel +export const exportAgvLocationrelation = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/wms/agv-locationrelation/export-excel-senior', data }) + } else { + return await request.download({ url: `/wms/agv-locationrelation/export-excel`, params }) + } +} + +// 下载用户导入模板 +export const importTemplate = () => { + return request.download({ url: '/wms/agv-locationrelation/get-import-template' }) +} \ No newline at end of file diff --git a/src/views/wms/agvManage/agvLocationrelation/agvLocationrelation.data.ts b/src/views/wms/agvManage/agvLocationrelation/agvLocationrelation.data.ts new file mode 100644 index 000000000..656e96bf8 --- /dev/null +++ b/src/views/wms/agvManage/agvLocationrelation/agvLocationrelation.data.ts @@ -0,0 +1,151 @@ +import type { CrudSchema } from '@/hooks/web/useCrudSchemas' +import { dateFormatter } from '@/utils/formatTime' +import * as AreaApi from '@/api/wms/areabasic' +import { Area } from '@/views/wms/basicDataManage/factoryModeling/areabasic/areabasic.data' +import * as LocationApi from '@/api/wms/location' +import { Location } from '@/views/wms/basicDataManage/factoryModeling/location/location.data' + +// 表单校验 +export const AgvLocationrelationRules = reactive({ + positionCode: [ + { required: true, message: '请填写AGV点位', trigger: 'change' } + ], + positionArea: [ + { required: true, message: '请填写AGV库区', trigger: 'change' } + ], + wmsArea: [ + { required: true, message: '请填写WMS库区', trigger: 'change' } + ], + wmsPosition: [ + { required: true, message: '请填写WMS库位', trigger: 'change' } + ] +}) + +export const AgvLocationrelation = useCrudSchemas(reactive([ + { + label: '单据号', + field: 'reqCode', + sort: 'custom', + isSearch: true, + isForm: false, + }, + { + label: 'AGV点位', + field: 'positionCode', + sort: 'custom', + isSearch: false, + }, + { + label: 'AGV库区', + field: 'positionArea', + sort: 'custom', + isSearch: false, + }, + { + label: 'WMS库区', + field: 'wmsArea', + sort: 'custom', + isSearch: false, + form: { + // labelMessage: '信息提示说明!!!', + componentProps: { + isSearchList: true, // 开启查询弹窗 + searchListPlaceholder: '请选择库区代码', // 输入框占位文本 + searchField: 'code', // 查询弹窗赋值字段 + searchTitle: '库区信息', // 查询弹窗标题 + searchAllSchemas: Area.allSchemas, // 查询弹窗所需类 + searchPage: AreaApi.getAreaPage, // 查询弹窗所需分页方法 + searchCondition: [{ + key: 'available', + value: 'TRUE', + isMainValue: false + }] + } + } + }, + { + label: 'WMS库位', + field: 'wmsPosition', + sort: 'custom', + table: { + width: 150 + }, + form: { + // labelMessage: '信息提示说明!!!', + componentProps: { + isSearchList: true, // 开启查询弹窗 + searchListPlaceholder: '请选择库位代码', // 输入框占位文本 + searchField: 'code', // 查询弹窗赋值字段 + searchTitle: '库位信息', // 查询弹窗标题 + searchAllSchemas: Location.allSchemas, // 查询弹窗所需类 + searchPage: LocationApi.getLocationPage, // 查询弹窗所需分页方法 + searchCondition: [{ + key: 'available', + value: 'TRUE', + isMainValue: false + }, + { + key: 'areaCode', + value: "wmsArea", + message: '请选择库区代码!', + isMainValue: true + }] + } + } + }, + { + label: '是否可用', + field: 'available', + dictType: DICT_TYPE.TRUE_FALSE, + dictClass: 'string', + isTable: true, + isSearch: false, + sort: 'custom', + table: { + width: 150 + }, + form: { + component: 'Switch', + value: 'TRUE', + componentProps: { + inactiveValue: 'FALSE', + activeValue: 'TRUE' + } + } + }, + { + label: '创建时间', + field: 'createTime', + sort: 'custom', + formatter: dateFormatter, + 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')] + } + }, + detail: { + dateFormat: 'YYYY-MM-DD HH:mm:ss' + }, + isForm: false, + }, + { + label: '备注', + field: 'remark', + sort: 'custom', + isSearch: false, + }, + { + label: '操作', + field: 'action', + isForm: false, + isDetail: false, + table: { + width: 150, + fixed: 'right' + } + } +])) diff --git a/src/views/wms/agvManage/agvLocationrelation/index.vue b/src/views/wms/agvManage/agvLocationrelation/index.vue new file mode 100644 index 000000000..0431f7339 --- /dev/null +++ b/src/views/wms/agvManage/agvLocationrelation/index.vue @@ -0,0 +1,267 @@ + + + diff --git a/src/views/wms/basicDataManage/factoryModeling/workstation/workstation.data.ts b/src/views/wms/basicDataManage/factoryModeling/workstation/workstation.data.ts index 3b96a657c..4e3b6a855 100644 --- a/src/views/wms/basicDataManage/factoryModeling/workstation/workstation.data.ts +++ b/src/views/wms/basicDataManage/factoryModeling/workstation/workstation.data.ts @@ -109,7 +109,6 @@ export const Workstation = useCrudSchemas(reactive([ } } }, - { label: '原料库位', field: 'rawLocationCode', From 530db2dcb4bc7f363bcde42c77c12a8a6cc65b25 Mon Sep 17 00:00:00 2001 From: zhaoxuebing <1291173720@qq.com> Date: Thu, 28 Mar 2024 18:27:42 +0800 Subject: [PATCH 6/7] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=8E=92=E5=BA=8F?= =?UTF-8?q?=E8=87=AA=E5=8A=A8=E9=9A=90=E8=97=8F=E6=8C=89=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../purchasereceipt/purchasereceiptRecordMain/index.vue | 4 ++-- .../supplierdeliver/supplierdeliverRequestMain/index.vue | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptRecordMain/index.vue b/src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptRecordMain/index.vue index 5792a4069..c8e712d5d 100644 --- a/src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptRecordMain/index.vue +++ b/src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptRecordMain/index.vue @@ -158,8 +158,8 @@ const buttonBaseClick = (val, item) => { // 列表-操作按钮 const butttondata = (row) => { return [ - defaultButtons.mainInspectRequestBtn({hasPermi:'wms:purchasereceipt-record-main:createInspectRequest',hide:!row.inspectRequestFlag}),// 生成到货检验申请 - defaultButtons.mainPutawayRequestBtn({hasPermi:'wms:purchasereceipt-record-main:createPutawayRequest',hide:!row.putawayRequestFlag}),// 生成采购上架申请 + defaultButtons.mainInspectRequestBtn({hasPermi:'wms:purchasereceipt-record-main:createInspectRequest',hide:row.inspectRequestFlag === false }),// 生成到货检验申请 + defaultButtons.mainPutawayRequestBtn({hasPermi:'wms:purchasereceipt-record-main:createPutawayRequest',hide:row.putawayRequestFlag === false }),// 生成采购上架申请 ] } diff --git a/src/views/wms/purchasereceiptManage/supplierdeliver/supplierdeliverRequestMain/index.vue b/src/views/wms/purchasereceiptManage/supplierdeliver/supplierdeliverRequestMain/index.vue index 0727af1a5..218742190 100644 --- a/src/views/wms/purchasereceiptManage/supplierdeliver/supplierdeliverRequestMain/index.vue +++ b/src/views/wms/purchasereceiptManage/supplierdeliver/supplierdeliverRequestMain/index.vue @@ -283,7 +283,6 @@ const isShowMainButtonLabel = (row, val) => { const butttondata = (row) => { return [ defaultButtons.mainListPurchasePlanOpeBtn({ hide: isShowMainButton(row, ['5']) }), // 打开 - defaultButtons.mainListPurchasePlanCloBtn({ hide: isShowMainButton(row, ['1', '2', '4','3']) }), // 关闭 defaultButtons.mainListPlanSubBtn({ hide: isShowMainButton(row, ['1']) }), // 提交审批 defaultButtons.mainListPlanAppBtn({ hide: isShowMainButton(row, ['2']) }), // 审批通过 defaultButtons.mainListPlanTurBtn({ hide: isShowMainButton(row, ['2']) }), // 驳回按钮 @@ -314,7 +313,8 @@ const butttondata = (row) => { color: '', hasPermi: '', link: true // 文本展现按钮 - } + }, + defaultButtons.mainListPurchasePlanCloBtn({ hide: isShowMainButton(row, ['1', '2', '4','3']) }), // 关闭 ] } From 1cca3376e2a2a86aee4f34983967c3078567c171 Mon Sep 17 00:00:00 2001 From: chenfang Date: Thu, 28 Mar 2024 18:38:07 +0800 Subject: [PATCH 7/7] =?UTF-8?q?mes=E6=9D=A1=E7=A0=81=E7=89=87=E6=AE=B5?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E4=BB=A3=E7=A0=81=E5=BC=80=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/wms/mesBarCode/index.ts | 65 +++++ src/views/wms/mes/mesBarCode/index.vue | 244 ++++++++++++++++++ .../wms/mes/mesBarCode/mesBarCode.data.ts | 174 +++++++++++++ 3 files changed, 483 insertions(+) create mode 100644 src/api/wms/mesBarCode/index.ts create mode 100644 src/views/wms/mes/mesBarCode/index.vue create mode 100644 src/views/wms/mes/mesBarCode/mesBarCode.data.ts diff --git a/src/api/wms/mesBarCode/index.ts b/src/api/wms/mesBarCode/index.ts new file mode 100644 index 000000000..ba37485d6 --- /dev/null +++ b/src/api/wms/mesBarCode/index.ts @@ -0,0 +1,65 @@ +import request from '@/config/axios' + +export interface MesBarCodeVO { + id: number + plat: number + counter: string + sign: string + option: string + lowerLim: string + upperLimit: string + itac: string + type: string + lengthBc: number + posMat: string + lengthMat: number + posRevlv: string + partNumber: string + packLabel: string + oesLabel: string + checkRvl: string + days: number + available: string + remark: string +} + +// 查询生产条码清单列表 +export const getMesBarCodePage = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/wms/mes-bar-code/senior', data }) + } else { + return await request.get({ url: `/wms/mes-bar-code/page`, params }) + } +} + +// 查询生产条码清单详情 +export const getMesBarCode = async (id: number) => { + return await request.get({ url: `/wms/mes-bar-code/get?id=` + id }) +} + +// 新增生产条码清单 +export const createMesBarCode = async (data: MesBarCodeVO) => { + return await request.post({ url: `/wms/mes-bar-code/create`, data }) +} + +// 修改生产条码清单 +export const updateMesBarCode = async (data: MesBarCodeVO) => { + return await request.put({ url: `/wms/mes-bar-code/update`, data }) +} + +// 删除生产条码清单 +export const deleteMesBarCode = async (id: number) => { + return await request.delete({ url: `/wms/mes-bar-code/delete?id=` + id }) +} + +// 导出生产条码清单 Excel +export const exportMesBarCode = async (params) => { + return await request.download({ url: `/wms/mes-bar-code/export-excel`, params }) +} + +// 下载用户导入模板 +export const importTemplate = () => { + return request.download({ url: '/wms/mes-bar-code/get-import-template' }) +} \ No newline at end of file diff --git a/src/views/wms/mes/mesBarCode/index.vue b/src/views/wms/mes/mesBarCode/index.vue new file mode 100644 index 000000000..b24a20fa1 --- /dev/null +++ b/src/views/wms/mes/mesBarCode/index.vue @@ -0,0 +1,244 @@ + + + diff --git a/src/views/wms/mes/mesBarCode/mesBarCode.data.ts b/src/views/wms/mes/mesBarCode/mesBarCode.data.ts new file mode 100644 index 000000000..39b4c5a7a --- /dev/null +++ b/src/views/wms/mes/mesBarCode/mesBarCode.data.ts @@ -0,0 +1,174 @@ +import type { CrudSchema } from '@/hooks/web/useCrudSchemas' +import { dateFormatter } from '@/utils/formatTime' + +// 表单校验 +export const MesBarCodeRules = reactive({ + available: [required], +}) + +export const MesBarCode = useCrudSchemas(reactive([ + { + label: 'id', + field: 'id', + sort: 'custom', + isForm: false, + }, + { + label: 'Plnt', + field: 'plat', + sort: 'custom', + isSearch: true, + form: { + component: 'InputNumber', + value: 0 + }, + }, + { + label: 'Counter', + field: 'counter', + sort: 'custom', + isSearch: true, + }, + { + label: 'SIGN', + field: 'sign', + sort: 'custom', + isSearch: true, + }, + { + label: 'Option', + field: 'option', + sort: 'custom', + isSearch: true, + }, + { + label: 'Lower Lim.', + field: 'lowerLim', + sort: 'custom', + isSearch: true, + }, + { + label: 'UpperLimit', + field: 'upperLimit', + sort: 'custom', + isSearch: true, + }, + { + label: 'ITAC', + field: 'itac', + sort: 'custom', + isSearch: true, + }, + { + label: 'Type', + field: 'type', + sort: 'custom', + isSearch: true, + form: { + component: 'SelectV2' + }, + }, + { + label: 'Length BC', + field: 'lengthBc', + sort: 'custom', + isSearch: true, + form: { + component: 'InputNumber', + value: 0 + }, + }, + { + label: 'Pos. mat', + field: 'posMat', + sort: 'custom', + isSearch: true, + }, + { + label: 'Length mat', + field: 'lengthMat', + sort: 'custom', + isSearch: true, + form: { + component: 'InputNumber', + value: 0 + }, + }, + { + label: 'Pos. revlv', + field: 'posRevlv', + sort: 'custom', + isSearch: true, + }, + { + label: 'Part number', + field: 'partNumber', + sort: 'custom', + isSearch: true, + }, + { + label: 'Pack Label', + field: 'packLabel', + sort: 'custom', + isSearch: true, + }, + { + label: 'OES-Label', + field: 'oesLabel', + sort: 'custom', + isSearch: true, + }, + { + label: 'Check Rvl', + field: 'checkRvl', + sort: 'custom', + isSearch: true, + }, + { + label: 'Days', + field: 'days', + sort: 'custom', + isSearch: true, + form: { + component: 'InputNumber', + value: 0 + }, + }, + { + label: '是否可用', + field: 'available', + sort: 'custom', + isSearch: true, + }, + { + label: '创建时间', + field: 'createTime', + sort: 'custom', + formatter: dateFormatter, + 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')] + } + }, + isForm: false, + }, + { + label: '备注', + field: 'remark', + sort: 'custom', + isSearch: true, + }, + { + label: '操作', + field: 'action', + isForm: false, + table: { + width: 150, + fixed: 'right' + } + } +]))