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/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/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', 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..5820c72c6 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', } }, }, @@ -402,7 +401,8 @@ export const Itemarea = useCrudSchemas(reactive([ value: 'FALSE', componentProps: { inactiveValue: 'FALSE', - activeValue: 'TRUE' + activeValue: 'TRUE', + disabled: true } }, }, @@ -414,7 +414,7 @@ export const Itemarea = useCrudSchemas(reactive([ dictClass: 'string', form: { component: 'Switch', - value: 'FALSE', + value: 'TRUE', componentProps: { inactiveValue: 'FALSE', activeValue: 'TRUE' @@ -429,7 +429,7 @@ export const Itemarea = useCrudSchemas(reactive([ dictClass: 'string', form: { component: 'Switch', - value: 'TRUE', + value: 'FALSE', componentProps: { inactiveValue: 'FALSE', activeValue: 'TRUE' 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 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' + } + } +])) 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 13a635690..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']) }), // 关闭 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']) }), // 关闭 ] } 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) } }) }