From 4e912234033e91095274ab42d10ecdf2a0945a5f Mon Sep 17 00:00:00 2001 From: chenfang Date: Mon, 27 May 2024 15:38:01 +0800 Subject: [PATCH 01/26] =?UTF-8?q?=E6=98=BE=E7=A4=BA=E5=AD=97=E6=AE=B5?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/wms/inventoryManage/balance/balance.data.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/views/wms/inventoryManage/balance/balance.data.ts b/src/views/wms/inventoryManage/balance/balance.data.ts index 4845a516e..df4d67408 100644 --- a/src/views/wms/inventoryManage/balance/balance.data.ts +++ b/src/views/wms/inventoryManage/balance/balance.data.ts @@ -42,7 +42,7 @@ export const Balance = useCrudSchemas(reactive([ isTable:false }, { - label: '数量', + label: '库存数量', field: 'qty', sort: 'custom', table: { From dc08a9951d71803d32be55962bda3e410307036b Mon Sep 17 00:00:00 2001 From: bjang03 Date: Mon, 27 May 2024 15:58:03 +0800 Subject: [PATCH 02/26] =?UTF-8?q?BUG=E4=BF=AE=E5=A4=8D=201=E3=80=81WMS?= =?UTF-8?q?=E9=A2=84=E7=94=9F=E4=BA=A7=E6=94=B6=E8=B4=A7=E6=98=8E=E7=BB=86?= =?UTF-8?q?=E4=B8=AD=E5=BA=94=E8=AF=A5=E6=9C=89Boom?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../productreceiptJobMain/index.vue | 65 ++++++++++++++++++- .../productreceiptJobMain.data.ts | 12 ++++ 2 files changed, 74 insertions(+), 3 deletions(-) diff --git a/src/views/wms/productionManage/productreceipt/productreceiptJobMain/index.vue b/src/views/wms/productionManage/productreceipt/productreceiptJobMain/index.vue index e1ceea466..5ee3f4dd2 100644 --- a/src/views/wms/productionManage/productreceipt/productreceiptJobMain/index.vue +++ b/src/views/wms/productionManage/productreceipt/productreceiptJobMain/index.vue @@ -53,7 +53,26 @@ :isBusiness="true" @searchTableSuccess="searchTableSuccess" /> - + + + + @@ -73,6 +96,13 @@ import * as ProductreceiptJobMainApi from '@/api/wms/productreceiptJobMain' import * as ProductreceiptJobDetailApi from '@/api/wms/productreceiptJobDetail' import * as defaultButtons from '@/utils/disposition/defaultButtons' import { CACHE_KEY, useCache } from '@/hooks/web/useCache' +import * as BackflushRequestDetailbApi from '@/api/wms/backflushRequestDetailb' +import { + BackflushDetailRequest +} from "@/views/wms/productionManage/productreceipt/productreceiptRequestMain/productreceiptRequestMain.data"; +import { + BackflushRecordDetailb +} from "@/views/wms/productionManage/productreceipt/productreceiptRecordMain/productreceiptRecordMain.data"; // 制品收货任务主 // 预生产收货任务主 @@ -86,15 +116,44 @@ const routeName = ref() routeName.value = route.name const tableColumns = ref([...ProductreceiptJobMain.allSchemas.tableColumns,...ProductreceiptJobDetail.allSchemas.tableMainColumns]) +// Bom查看 +const DialogTitle = ref('Bom信息') +const bomModelVisible = ref(false) +const { tableObject: detatableDataBom, tableMethods: detatableMethodsBom } =useTable({ + getListApi: BackflushRequestDetailbApi.getBackflushRequestDetailbPage +}) +const { getList:getDetailListBom } = detatableMethodsBom + + // 字段设置 更新主列表字段 const updataTableColumns = (val) => { tableColumns.value = val } - +// 详情 table 操作扩展 按钮 +const buttondataTable = ref([{ + label: 'Bom', + name: 'bom', + hide: false, + type: 'primary', + icon: '', + color: '', + hasPermi: '', + link: true, // 文本展现按钮 +}]) // 查询列表页面参数设置 const searchTableParams = ref([ ]) - +// 查看 Bom 按钮回调事件 +const tableFormButton = async (val , row) => { + if (val == 'bom') { // 查看 bom + bomModelVisible.value = true + DialogTitle.value = '物料代码【' + row.itemCode + '】——Bom信息' + detatableDataBom.params = { + masterId: row.masterId + } + await getDetailListBom() + } +} // 查询页面返回 const searchTableSuccess = (formField, searchField, val, formRef, type, row ) => { nextTick(() => { diff --git a/src/views/wms/productionManage/productreceipt/productreceiptJobMain/productreceiptJobMain.data.ts b/src/views/wms/productionManage/productreceipt/productreceiptJobMain/productreceiptJobMain.data.ts index b85e7a8fa..9e90ac716 100644 --- a/src/views/wms/productionManage/productreceipt/productreceiptJobMain/productreceiptJobMain.data.ts +++ b/src/views/wms/productionManage/productreceipt/productreceiptJobMain/productreceiptJobMain.data.ts @@ -911,6 +911,18 @@ export const ProductreceiptJobDetail = useCrudSchemas(reactive([ width: 150 }, }, + { + label: '操作', + hiddenInMain:true, + field: 'action', + isDetail: false, + isForm: false , + table: { + width: 150, + fixed: 'right' + }, + isTableForm:false, + } ])) //表单校验 From 6b366d0e50bdbabf95008ef6af9bbba914a04eb5 Mon Sep 17 00:00:00 2001 From: gaojs <757918719@qq.com> Date: Mon, 27 May 2024 16:12:34 +0800 Subject: [PATCH 03/26] =?UTF-8?q?EAM=20=E2=80=94=E2=80=94>=20=20=E5=AE=9A?= =?UTF-8?q?=E6=97=B6=E4=BB=BB=E5=8A=A1=E7=94=9F=E6=88=90=E4=BF=9D=E5=85=BB?= =?UTF-8?q?=E5=B7=A5=E5=8D=95=20=E4=B8=BB=E5=AD=90=E6=98=8E=E7=BB=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../eam/equipmentMaintenanceDetail/index.ts | 64 ++++ src/api/eam/equipmentMaintenanceMain/index.ts | 8 +- src/utils/dict.ts | 3 +- .../basicMaintenanceOption.data.ts | 2 +- .../equipmentMaintenanceMain.data.ts | 295 ++++++++++++++++-- .../eam/equipmentMaintenanceMain/index.vue | 120 ++++++- src/views/eam/maintenance/index.vue | 2 - src/views/eam/maintenance/maintenance.data.ts | 65 +++- 8 files changed, 508 insertions(+), 51 deletions(-) create mode 100644 src/api/eam/equipmentMaintenanceDetail/index.ts diff --git a/src/api/eam/equipmentMaintenanceDetail/index.ts b/src/api/eam/equipmentMaintenanceDetail/index.ts new file mode 100644 index 000000000..81a8696e1 --- /dev/null +++ b/src/api/eam/equipmentMaintenanceDetail/index.ts @@ -0,0 +1,64 @@ +import request from '@/config/axios' + +export interface EquipmentMaintenanceDetailVO { + id: number + number: string + masterId: number + peoples: number + estimatedMinutes: number + actualMinutes: number + chargePeoples: string + completionTime: Date + uncompletedCause: string + result: string + contents: string + equipmentParts: string + departmentCode: string + remark: string + siteId: string + available: string + deletionTime: Date + deleterId: byte[] + concurrencyStamp: number +} + +// 查询设备保养工单子列表 +export const getEquipmentMaintenanceDetailPage = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/eam/equipment-maintenance-detail/senior', data }) + } else { + return await request.get({ url: `/eam/equipment-maintenance-detail/page`, params }) + } +} + +// 查询设备保养工单子详情 +export const getEquipmentMaintenanceDetail = async (id: number) => { + return await request.get({ url: `/eam/equipment-maintenance-detail/get?id=` + id }) +} + +// 新增设备保养工单子 +export const createEquipmentMaintenanceDetail = async (data: EquipmentMaintenanceDetailVO) => { + return await request.post({ url: `/eam/equipment-maintenance-detail/create`, data }) +} + +// 修改设备保养工单子 +export const updateEquipmentMaintenanceDetail = async (data: EquipmentMaintenanceDetailVO) => { + return await request.put({ url: `/eam/equipment-maintenance-detail/update`, data }) +} + +// 删除设备保养工单子 +export const deleteEquipmentMaintenanceDetail = async (id: number) => { + return await request.delete({ url: `/eam/equipment-maintenance-detail/delete?id=` + id }) +} + +// 导出设备保养工单子 Excel +export const exportEquipmentMaintenanceDetail = async (params) => { + return await request.download({ url: `/eam/equipment-maintenance-detail/export-excel`, params }) +} + +// 下载用户导入模板 +export const importTemplate = () => { + return request.download({ url: '/eam/equipment-maintenance-detail/get-import-template' }) +} \ No newline at end of file diff --git a/src/api/eam/equipmentMaintenanceMain/index.ts b/src/api/eam/equipmentMaintenanceMain/index.ts index 835e6bff0..6509d8dc0 100644 --- a/src/api/eam/equipmentMaintenanceMain/index.ts +++ b/src/api/eam/equipmentMaintenanceMain/index.ts @@ -1,4 +1,5 @@ import request from '@/config/axios' +import {EquipmentMainPartVO} from "@/api/eam/equipmentMainPart"; export interface EquipmentMaintenanceMainVO { id: number @@ -71,4 +72,9 @@ export const exportEquipmentMaintenanceMain = async (params) => { // 下载用户导入模板 export const importTemplate = () => { return request.download({ url: '/eam/equipment-maintenance-main/get-import-template' }) -} \ No newline at end of file +} + +// 启用 / 禁用 +export const updateEnableCode = async (data: EquipmentMainPartVO) => { + return await request.post({ url: `/eam/equipment-maintenance-main/ables` , data }) +} diff --git a/src/utils/dict.ts b/src/utils/dict.ts index 320790719..1f6a1c346 100644 --- a/src/utils/dict.ts +++ b/src/utils/dict.ts @@ -348,5 +348,6 @@ export enum DICT_TYPE { SUBJECT = 'subject', //科目 REGION = 'region', //区域 PART_CLASS = 'part_class', //备件分类 - MAINTENANCE_CYCLE ='maintenance_cycle' // 保养周期 + MAINTENANCE_CYCLE ='maintenance_cycle', // 保养周期 + EAM_ORDER_STATUS = 'eam_order_status' } diff --git a/src/views/eam/basicMaintenanceOption/basicMaintenanceOption.data.ts b/src/views/eam/basicMaintenanceOption/basicMaintenanceOption.data.ts index f085da0f3..b3ad015dc 100644 --- a/src/views/eam/basicMaintenanceOption/basicMaintenanceOption.data.ts +++ b/src/views/eam/basicMaintenanceOption/basicMaintenanceOption.data.ts @@ -4,7 +4,7 @@ import { BasicMaintenanceItemSelectSet } from "@/views/eam/maintenanceItemSelectSet/maintenanceItemSelectSet.data"; import * as ItemApi from "@/api/eam/maintenanceItemSelectSet"; -import {getBasicMaintenanceItemSelectSetPage} from "@/api/eam/maintenanceItemSelectSet"; + // 表单校验 export const BasicMaintenanceOptionRules = reactive({ diff --git a/src/views/eam/equipmentMaintenanceMain/equipmentMaintenanceMain.data.ts b/src/views/eam/equipmentMaintenanceMain/equipmentMaintenanceMain.data.ts index b324fe9e1..5773c2528 100644 --- a/src/views/eam/equipmentMaintenanceMain/equipmentMaintenanceMain.data.ts +++ b/src/views/eam/equipmentMaintenanceMain/equipmentMaintenanceMain.data.ts @@ -1,5 +1,9 @@ import type { CrudSchema } from '@/hooks/web/useCrudSchemas' import { dateFormatter } from '@/utils/formatTime' +import {EquipmentAccounts} from "@/views/eam/equipmentAccounts/equipmentAccounts.data"; +import * as EquipmentItemApi from "@/api/eam/equipmentAccounts"; +import {Workshop} from "@/views/wms/basicDataManage/factoryModeling/workshop/workshop.data"; +import * as WorkshopApi from "@/api/wms/workshop"; // 表单校验 export const EquipmentMaintenanceMainRules = reactive({ @@ -8,7 +12,6 @@ export const EquipmentMaintenanceMainRules = reactive({ planNumber: [required], status: [required], factoryAreaCode: [required], - concurrencyStamp: [required], }) export const EquipmentMaintenanceMain = useCrudSchemas(reactive([ @@ -25,6 +28,7 @@ export const EquipmentMaintenanceMain = useCrudSchemas(reactive([ label: '保养工单编号', field: 'number', sort: 'custom', + isForm: false, isSearch: true, }, { @@ -34,16 +38,37 @@ export const EquipmentMaintenanceMain = useCrudSchemas(reactive([ isSearch: true, }, { - label: '设备编号', - field: 'equipmentCode', + label: '设备类别', + field: 'type', + dictType: DICT_TYPE.DEVICE_TYPE, + dictClass: 'string', sort: 'custom', isSearch: true, }, { - label: '设备分类', - field: 'type', + label: '设备编号', + field: 'equipmentCode', sort: 'custom', isSearch: true, + isForm: true, + form: { + componentProps: { + isSearchList: true, // 开启查询弹窗 + searchTitle: '设备信息', // 查询弹窗标题 + searchListPlaceholder: '请选择 设备编号', // 输入框占位文本 + searchAllSchemas: EquipmentAccounts.allSchemas, // 查询弹窗所需类 + searchField: 'code', // 查询弹窗赋值字段 + searchPage: EquipmentItemApi.getEquipmentAccountsPage, // 查询弹窗所需分页方法 + multiple:true, + searchCondition: [{ + key: 'status', + value: 'NORMAL', + action: '==', + isSearch: true, + isMainValue: false + }] + } + } }, { label: '班次枚举', @@ -74,29 +99,22 @@ export const EquipmentMaintenanceMain = useCrudSchemas(reactive([ field: 'times', sort: 'custom', isSearch: true, + form: { + component: 'InputNumber', + value: 0 + }, }, { label: '验证人', field: 'verifyer', sort: 'custom', isSearch: true, - form: { - component: 'InputNumber', - value: 0 - }, }, { label: '验证内容', field: 'verifyContent', sort: 'custom', isSearch: true, - form: { - component: 'Editor', - componentProps: { - valueHtml: '', - height: 200 - } - }, }, { label: '验证时间', @@ -125,10 +143,6 @@ export const EquipmentMaintenanceMain = useCrudSchemas(reactive([ field: 'maintenancer', sort: 'custom', isSearch: true, - form: { - component: 'InputNumber', - value: 0 - }, }, { label: '保养人联系电话', @@ -187,25 +201,44 @@ export const EquipmentMaintenanceMain = useCrudSchemas(reactive([ }, }, { - label: '流程状态枚举', + label: '流程状态', field: 'status', sort: 'custom', isSearch: true, - form: { - component: 'Radio' - }, + dictType: DICT_TYPE.EAM_ORDER_STATUS, + dictClass: 'string', }, { label: '所属厂区编号', field: 'factoryAreaCode', sort: 'custom', - isSearch: true, + isSearch: false, + isTable: false, + isForm: false, + isDetail:false, }, { label: '车间编号', field: 'workshopCode', sort: 'custom', isSearch: true, + required: true, + form: { + // labelMessage: '信息提示说明!!!', + componentProps: { + isSearchList: true, // 开启查询弹窗 + searchListPlaceholder: '车间', // 输入框占位文本 + searchField: 'code', // 查询弹窗赋值字段 + searchTitle: '车间信息', // 查询弹窗标题 + searchAllSchemas: Workshop.allSchemas, // 查询弹窗所需类 + searchPage: WorkshopApi.getWorkshopPage, // 查询弹窗所需分页方法 + searchCondition: [{ + key: 'available', + value: 'TRUE', + isMainValue: false + }] + } + }, }, { label: '工段编号', @@ -253,6 +286,218 @@ export const EquipmentMaintenanceMain = useCrudSchemas(reactive([ isForm: false, isDetail:false, }, + { + label: '是否可用默认TRUE', + field: 'available', + sort: 'custom', + isSearch: true, + dictType: DICT_TYPE.TRUE_FALSE, + dictClass: 'string', // 默认都是字符串类型其他暂不考虑 + }, + { + label: '删除时间', + field: 'deletionTime', + sort: 'custom', + formatter: dateFormatter, + isSearch: false, + isTable: false, + isForm: false, + isDetail:false, + 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')] + } + }, + form: { + component: 'DatePicker', + componentProps: { + type: 'datetime', + valueFormat: 'x' + } + }, + }, + { + label: '删除人id', + field: 'deleterId', + sort: 'custom', + isSearch: false, + isTable: false, + isForm: false, + isDetail:false, + }, + { + label: '并发乐观锁', + field: 'concurrencyStamp', + sort: 'custom', + isSearch: false, + isTable: false, + isForm: false, + isDetail:false, + form: { + component: 'InputNumber', + value: 0 + }, + }, + { + label: '操作', + field: 'action', + isForm: false, + table: { + width: 150, + fixed: 'right' + } + } +])) + + +export const EquipmentMaintenanceDetailRules = reactive({ + number: [required], + contents: [required], +}) + +export const EquipmentMaintenanceDetail = useCrudSchemas(reactive([ + { + label: 'id', + field: 'id', + sort: 'custom', + isSearch: false, + isTable: false, + isForm: false, + isDetail:false, + }, + { + label: '保养工单号', + field: 'number', + sort: 'custom', + isSearch: true, + }, + { + label: '主表id', + field: 'masterId', + sort: 'custom', + isSearch: true, + }, + { + label: '人数', + field: 'peoples', + sort: 'custom', + isSearch: true, + }, + { + label: '预计分钟', + field: 'estimatedMinutes', + sort: 'custom', + isSearch: true, + form: { + component: 'InputNumber', + value: 0 + }, + }, + { + label: '实际分钟', + field: 'actualMinutes', + sort: 'custom', + isSearch: true, + form: { + component: 'InputNumber', + value: 0 + }, + }, + { + label: '责任人多选', + field: 'chargePeoples', + sort: 'custom', + isSearch: true, + }, + { + label: '完成时间', + field: 'completionTime', + 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')] + } + }, + form: { + component: 'DatePicker', + componentProps: { + type: 'datetime', + valueFormat: 'x' + } + }, + }, + { + label: '未完成原因', + field: 'uncompletedCause', + sort: 'custom', + isSearch: true, + }, + { + label: '结果枚举0完成 1未完成', + field: 'result', + sort: 'custom', + isSearch: true, + }, + { + label: '保养内容', + field: 'contents', + sort: 'custom', + isSearch: true, + }, + { + label: '保养部位', + field: 'equipmentParts', + 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: '部门id', + field: 'departmentCode', + sort: 'custom', + isSearch: false, + isTable: false, + isForm: false, + isDetail:false, + }, + { + label: '备注', + field: 'remark', + sort: 'custom', + isSearch: true, + }, + { + label: '地点ID', + field: 'siteId', + sort: 'custom', + isSearch: false, + isTable: false, + isForm: false, + isDetail:false, + }, { label: '是否可用默认TRUE', field: 'available', diff --git a/src/views/eam/equipmentMaintenanceMain/index.vue b/src/views/eam/equipmentMaintenanceMain/index.vue index 248f1de3f..52f6474ef 100644 --- a/src/views/eam/equipmentMaintenanceMain/index.vue +++ b/src/views/eam/equipmentMaintenanceMain/index.vue @@ -27,13 +27,13 @@ v-model:currentPage="tableObject.currentPage" v-model:sort="tableObject.sort" > - diff --git a/src/views/wms/purchasereceiptManage/sparereceipt/sparereceiptRecordMain/index.vue b/src/views/wms/purchasereceiptManage/sparereceipt/sparereceiptRecordMain/index.vue index e44e7e384..fdd85b848 100644 --- a/src/views/wms/purchasereceiptManage/sparereceipt/sparereceiptRecordMain/index.vue +++ b/src/views/wms/purchasereceiptManage/sparereceipt/sparereceiptRecordMain/index.vue @@ -74,7 +74,7 @@ import { CACHE_KEY, useCache } from '@/hooks/web/useCache' // 采购收货记录主 defineOptions({ name: 'PurchasereceiptRecordMain' }) -const apiPage = ref(PurchasereceiptRecordDetailApi.getPurchasereceiptRecordDetailPage) +const apiPage = ref(PurchasereceiptRecordDetailApi.getPurchasereceiptRecordDetailPageSpare) const message = useMessage() // 消息弹窗 const { t } = useI18n() // 国际化 From 278e184a97369193d3be40c5bf1b5c1c0ee6bf5e Mon Sep 17 00:00:00 2001 From: zhaoxuebing <1291173720@qq.com> Date: Tue, 28 May 2024 09:58:33 +0800 Subject: [PATCH 21/26] =?UTF-8?q?=E5=B7=A5=E5=BA=8F=E6=8A=A5=E4=BA=A7?= =?UTF-8?q?=E8=AE=B0=E5=BD=95=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../processproductionRecordDetail/index.ts | 61 ++++ .../wms/processproductionRecordMain/index.ts | 57 +++ .../processproductionRecord/index.vue | 286 +++++++++++++++ .../processproductionRecordMain.data.ts | 342 ++++++++++++++++++ 4 files changed, 746 insertions(+) create mode 100644 src/api/wms/processproductionRecordDetail/index.ts create mode 100644 src/api/wms/processproductionRecordMain/index.ts create mode 100644 src/views/wms/productionManage/processproduction/processproductionRecord/index.vue create mode 100644 src/views/wms/productionManage/processproduction/processproductionRecord/processproductionRecordMain.data.ts diff --git a/src/api/wms/processproductionRecordDetail/index.ts b/src/api/wms/processproductionRecordDetail/index.ts new file mode 100644 index 000000000..0d8a4d0e8 --- /dev/null +++ b/src/api/wms/processproductionRecordDetail/index.ts @@ -0,0 +1,61 @@ +import request from '@/config/axios' + +export interface ProcessproductionRecordDetailVO { + masterId: number + number: string + processCode: string + productionLine: string + locationCode: string + componentItemCode: string + batch: string + componentItemcodeQty: number + effectiveDate: Date + available: string + remark: string + deletionTime: Date + deleterId: string + extraProperties: string + concurrencyStamp: number + siteId: string +} + +// 查询工序报产记录子列表 +export const getProcessproductionRecordDetailPage = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/wms/processproduction-record-detail/senior', data }) + } else { + return await request.get({ url: `/wms/processproduction-record-detail/page`, params }) + } +} + +// 查询工序报产记录子详情 +export const getProcessproductionRecordDetail = async (id: number) => { + return await request.get({ url: `/wms/processproduction-record-detail/get?id=` + id }) +} + +// 新增工序报产记录子 +export const createProcessproductionRecordDetail = async (data: ProcessproductionRecordDetailVO) => { + return await request.post({ url: `/wms/processproduction-record-detail/create`, data }) +} + +// 修改工序报产记录子 +export const updateProcessproductionRecordDetail = async (data: ProcessproductionRecordDetailVO) => { + return await request.put({ url: `/wms/processproduction-record-detail/update`, data }) +} + +// 删除工序报产记录子 +export const deleteProcessproductionRecordDetail = async (id: number) => { + return await request.delete({ url: `/wms/processproduction-record-detail/delete?id=` + id }) +} + +// 导出工序报产记录子 Excel +export const exportProcessproductionRecordDetail = async (params) => { + return await request.download({ url: `/wms/processproduction-record-detail/export-excel`, params }) +} + +// 下载用户导入模板 +export const importTemplate = () => { + return request.download({ url: '/wms/processproduction-record-detail/get-import-template' }) +} \ No newline at end of file diff --git a/src/api/wms/processproductionRecordMain/index.ts b/src/api/wms/processproductionRecordMain/index.ts new file mode 100644 index 000000000..f2d6002ac --- /dev/null +++ b/src/api/wms/processproductionRecordMain/index.ts @@ -0,0 +1,57 @@ +import request from '@/config/axios' + +export interface ProcessproductionRecordMainVO { + number: string + requestNumber: string + itemCode: string + completedQuantity: number + scrapQuantity: number + available: string + remark: string + deletionTime: Date + deleterId: string + extraProperties: string + concurrencyStamp: number + siteId: string +} + +// 查询工序报产记录主列表 +export const getProcessproductionRecordMainPage = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/wms/processproduction-record-main/senior', data }) + } else { + return await request.get({ url: `/wms/processproduction-record-main/page`, params }) + } +} + +// 查询工序报产记录主详情 +export const getProcessproductionRecordMain = async (id: number) => { + return await request.get({ url: `/wms/processproduction-record-main/get?id=` + id }) +} + +// 新增工序报产记录主 +export const createProcessproductionRecordMain = async (data: ProcessproductionRecordMainVO) => { + return await request.post({ url: `/wms/processproduction-record-main/create`, data }) +} + +// 修改工序报产记录主 +export const updateProcessproductionRecordMain = async (data: ProcessproductionRecordMainVO) => { + return await request.put({ url: `/wms/processproduction-record-main/update`, data }) +} + +// 删除工序报产记录主 +export const deleteProcessproductionRecordMain = async (id: number) => { + return await request.delete({ url: `/wms/processproduction-record-main/delete?id=` + id }) +} + +// 导出工序报产记录主 Excel +export const exportProcessproductionRecordMain = async (params) => { + return await request.download({ url: `/wms/processproduction-record-main/export-excel`, params }) +} + +// 下载用户导入模板 +export const importTemplate = () => { + return request.download({ url: '/wms/processproduction-record-main/get-import-template' }) +} \ No newline at end of file diff --git a/src/views/wms/productionManage/processproduction/processproductionRecord/index.vue b/src/views/wms/productionManage/processproduction/processproductionRecord/index.vue new file mode 100644 index 000000000..9f7f42537 --- /dev/null +++ b/src/views/wms/productionManage/processproduction/processproductionRecord/index.vue @@ -0,0 +1,286 @@ + + + diff --git a/src/views/wms/productionManage/processproduction/processproductionRecord/processproductionRecordMain.data.ts b/src/views/wms/productionManage/processproduction/processproductionRecord/processproductionRecordMain.data.ts new file mode 100644 index 000000000..c81b52900 --- /dev/null +++ b/src/views/wms/productionManage/processproduction/processproductionRecord/processproductionRecordMain.data.ts @@ -0,0 +1,342 @@ +import type { CrudSchema } from '@/hooks/web/useCrudSchemas' +import { dateFormatter } from '@/utils/formatTime' +import { fa } from 'element-plus/es/locale' + +export const ProcessproductionRecordMain = useCrudSchemas(reactive([ + { + label: '单据号', + field: 'number', + sort: 'custom', + isSearch: true, + table: { + width: 150 + }, + }, + { + label: '申请单据号', + field: 'requestNumber', + sort: 'custom', + isSearch: true, + table: { + width: 150 + }, + }, + { + label: '物料代码', + field: 'itemCode', + sort: 'custom', + isSearch: true, + table: { + width: 150 + }, + }, + { + label: '完工数量', + field: 'completedQuantity', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '报废数量', + field: 'scrapQuantity', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '是否可用', + field: 'available', + sort: 'custom', + table: { + width: 150 + }, + isTable:false, + }, + { + label: '备注', + field: 'remark', + sort: 'custom', + isTable: false, + table: { + width: 150 + }, + }, + { + label: '创建时间', + field: 'createTime', + sort: 'custom', + formatter: dateFormatter, + table: { + width: 150 + }, + isForm: false, + isTable:false, + }, + { + label: '删除时间', + field: 'deletionTime', + sort: 'custom', + formatter: dateFormatter, + isSearch: false, + table: { + width: 150 + }, + isTable: false, + 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')] + } + }, + form: { + component: 'DatePicker', + componentProps: { + type: 'datetime', + valueFormat: 'x' + } + }, + }, + { + label: '删除者ID', + field: 'deleterId', + sort: 'custom', + isSearch: false, + table: { + width: 150 + }, + isTable: false, + }, + { + label: '扩展属性', + field: 'extraProperties', + sort: 'custom', + isSearch: false, + isTable: false, + table: { + width: 150 + }, + }, + { + label: '并发乐观锁', + field: 'concurrencyStamp', + sort: 'custom', + isSearch: false, + isTable: false, + form: { + component: 'InputNumber', + value: 0 + }, + table: { + width: 150 + }, + }, + { + label: '地点ID', + field: 'siteId', + sort: 'custom', + isTable: false, + isSearch: false, + }, + { + label: '操作', + field: 'action', + isForm: false, + isTable: false, + table: { + width: 150, + fixed: 'right' + } + } +])) + +// 表单校验 +export const ProcessproductionRecordMainRules = reactive({ + available: [required], +}) + +export const ProcessproductionRecordDetail = useCrudSchemas(reactive([ + { + label: '主表ID', + field: 'masterId', + sort: 'custom', + isTable:false, + form: { + component: 'InputNumber', + value: 0 + }, + }, + { + label: '单据号', + field: 'number', + sort: 'custom', + isSearch: false, + table: { + width: 150 + }, + }, + { + label: '工序', + field: 'processCode', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '生产线', + field: 'productionLine', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '库位代码', + field: 'locationCode', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '子物料代码', + field: 'componentItemCode', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '批次', + field: 'batch', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '子物料数量', + field: 'componentItemcodeQty', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '生效日期', + field: 'effectiveDate', + sort: 'custom', + formatter: dateFormatter, + table: { + width: 150 + }, + form: { + component: 'DatePicker', + componentProps: { + type: 'datetime', + valueFormat: 'x' + } + }, + }, + { + label: '是否可用', + field: 'available', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '备注', + field: 'remark', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '创建时间', + field: 'createTime', + sort: 'custom', + formatter: dateFormatter, + isForm: false, + table: { + width: 150 + }, + }, + { + label: '删除时间', + field: 'deletionTime', + sort: 'custom', + formatter: dateFormatter, + isTable: false, + isSearch: false, + 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')] + } + }, + form: { + component: 'DatePicker', + componentProps: { + type: 'datetime', + valueFormat: 'x' + } + }, + }, + { + label: '删除者ID', + field: 'deleterId', + sort: 'custom', + isSearch: false, + isTable: false, + }, + { + label: '扩展属性', + field: 'extraProperties', + sort: 'custom', + isSearch: false, + isTable: false, + }, + { + label: '并发乐观锁', + field: 'concurrencyStamp', + sort: 'custom', + isSearch: false, + isTable: false, + form: { + component: 'InputNumber', + value: 0 + }, + }, + { + label: '地点ID', + field: 'siteId', + sort: 'custom', + isSearch: false, + isTable: false, + }, + { + label: '操作', + field: 'action', + isForm: false, + hiddenInMain:true, + table: { + width: 150, + fixed: 'right' + } + } +])) + +// 表单校验 +export const ProcessproductionRecordDetailRules = reactive({ + available: [required], +}) \ No newline at end of file From a54ddc53ac50c25d88d21bec76e23bd1308294db Mon Sep 17 00:00:00 2001 From: songguoqiang <765017469@qq.com> Date: Tue, 28 May 2024 09:59:27 +0800 Subject: [PATCH 22/26] =?UTF-8?q?=E5=A4=87=E4=BB=B6=E6=94=B6=E8=B4=A7?= =?UTF-8?q?=E8=AE=B0=E5=BD=95=E6=98=8E=E7=BB=86=E6=95=B0=E6=8D=AE=E6=98=BE?= =?UTF-8?q?=E7=A4=BA=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sparereceipt/sparereceiptRecordMain/index.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/views/wms/purchasereceiptManage/sparereceipt/sparereceiptRecordMain/index.vue b/src/views/wms/purchasereceiptManage/sparereceipt/sparereceiptRecordMain/index.vue index fdd85b848..60d5ec2a0 100644 --- a/src/views/wms/purchasereceiptManage/sparereceipt/sparereceiptRecordMain/index.vue +++ b/src/views/wms/purchasereceiptManage/sparereceipt/sparereceiptRecordMain/index.vue @@ -178,7 +178,7 @@ const searchFormClick = (searchData) => { const changeTabs = (data) =>{ if(data.prop == 'receiptDetail'){ console.log(data) - apiPage.value = PurchasereceiptRecordDetailApi.getPurchasereceiptRecordDetailPage + apiPage.value = PurchasereceiptRecordDetailApi.getPurchasereceiptRecordDetailPageSpare detailAllSchemas.value = PurchasereceiptRecordDetail.allSchemas }else if(data.prop == 'scarceGoodsDetail'){ apiPage.value = PurchasereceiptRecordDetailApi.getScarceGoodsDetailPage From 9915e6e99aeae9b1d0d1ec1d7b4aa48a2fb3f930 Mon Sep 17 00:00:00 2001 From: zhaoyiran Date: Tue, 28 May 2024 10:14:05 +0800 Subject: [PATCH 23/26] =?UTF-8?q?=E5=A4=87=E8=B4=A7=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../stockupMainRecord.data.ts | 44 +++++++++---------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/src/views/wms/deliversettlementManage/stockup/stockupMainRecord/stockupMainRecord.data.ts b/src/views/wms/deliversettlementManage/stockup/stockupMainRecord/stockupMainRecord.data.ts index 8e1a229d2..bd725f183 100644 --- a/src/views/wms/deliversettlementManage/stockup/stockupMainRecord/stockupMainRecord.data.ts +++ b/src/views/wms/deliversettlementManage/stockup/stockupMainRecord/stockupMainRecord.data.ts @@ -29,7 +29,7 @@ export const StockupMainRecord = useCrudSchemas(reactive([ label: '申请单号', field: 'requestNumber', sort: 'custom', - isSearch: true, + // isSearch: true, table: { width: 180 }, @@ -39,7 +39,7 @@ export const StockupMainRecord = useCrudSchemas(reactive([ label: '任务单号', field: 'jobNumber', sort: 'custom', - isSearch: true, + // isSearch: true, table: { width: 180 }, @@ -102,7 +102,7 @@ export const StockupMainRecord = useCrudSchemas(reactive([ label: '从库区代码范围', field: 'fromAreaCodes', sort: 'custom', - isSearch: true, + // isSearch: true, isTable: false, table: { width: 180 @@ -313,7 +313,7 @@ export const StockupDetailRecord = useCrudSchemas(reactive([ label: '单据号', field: 'number', sort: 'custom', - isSearch: true, + // isSearch: true, table: { width: 180 }, @@ -343,7 +343,7 @@ export const StockupDetailRecord = useCrudSchemas(reactive([ label: '从器具号', field: 'fromContainerNumber', sort: 'custom', - isSearch: true, + // isSearch: true, table: { width: 150 }, @@ -371,7 +371,7 @@ export const StockupDetailRecord = useCrudSchemas(reactive([ label: '物品描述1', field: 'itemDesc1', sort: 'custom', - isSearch: true, + // isSearch: true, table: { width: 150 }, @@ -382,7 +382,7 @@ export const StockupDetailRecord = useCrudSchemas(reactive([ label: '物品描述2', field: 'itemDesc2', sort: 'custom', - isSearch: true, + // isSearch: true, table: { width: 150 }, @@ -393,7 +393,7 @@ export const StockupDetailRecord = useCrudSchemas(reactive([ label: '项目代码', field: 'projectCode', sort: 'custom', - isSearch: true, + // isSearch: true, table: { width: 150 }, @@ -403,7 +403,7 @@ export const StockupDetailRecord = useCrudSchemas(reactive([ label: '数量', field: 'qty', sort: 'custom', - isSearch: true, + // isSearch: true, table: { width: 150 }, @@ -435,7 +435,7 @@ export const StockupDetailRecord = useCrudSchemas(reactive([ label: '从货主代码', field: 'fromOwnerCode', sort: 'custom', - isSearch: true, + // isSearch: true, table: { width: 150 }, @@ -445,7 +445,7 @@ export const StockupDetailRecord = useCrudSchemas(reactive([ label: '从库位', field: 'fromLocationCode', sort: 'custom', - isSearch: true, + // isSearch: true, table: { width: 150 }, @@ -454,7 +454,7 @@ export const StockupDetailRecord = useCrudSchemas(reactive([ label: '从库位组代码', field: 'fromLocationGroupCode', sort: 'custom', - isSearch: true, + // isSearch: true, table: { width: 150 }, @@ -464,7 +464,7 @@ export const StockupDetailRecord = useCrudSchemas(reactive([ label: '从库区代码', field: 'fromAreaCode', sort: 'custom', - isSearch: true, + // isSearch: true, table: { width: 150 }, @@ -474,7 +474,7 @@ export const StockupDetailRecord = useCrudSchemas(reactive([ label: '到货主代码', field: 'toOwnerCode', sort: 'custom', - isSearch: true, + // isSearch: true, table: { width: 150 }, @@ -484,7 +484,7 @@ export const StockupDetailRecord = useCrudSchemas(reactive([ label: '到器具号', field: 'toContainerNumber', sort: 'custom', - isSearch: true, + // isSearch: true, table: { width: 150 }, @@ -494,7 +494,7 @@ export const StockupDetailRecord = useCrudSchemas(reactive([ label: '到库位', field: 'toLocationCode', sort: 'custom', - isSearch: true, + // isSearch: true, table: { width: 150 }, @@ -503,7 +503,7 @@ export const StockupDetailRecord = useCrudSchemas(reactive([ label: '到库位组代码', field: 'toLocationGroupCode', sort: 'custom', - isSearch: true, + // isSearch: true, hiddenInMain: true, table: { width: 150 @@ -513,7 +513,7 @@ export const StockupDetailRecord = useCrudSchemas(reactive([ label: '到库区代码', field: 'toAreaCode', sort: 'custom', - isSearch: true, + // isSearch: true, hiddenInMain: true, table: { width: 150 @@ -523,7 +523,7 @@ export const StockupDetailRecord = useCrudSchemas(reactive([ label: '单价', field: 'singlePrice', sort: 'custom', - isSearch: true, + // isSearch: true, hiddenInMain: true, table: { width: 150 @@ -533,7 +533,7 @@ export const StockupDetailRecord = useCrudSchemas(reactive([ label: '金额', field: 'amount', sort: 'custom', - isSearch: true, + // isSearch: true, hiddenInMain: true, table: { width: 150 @@ -577,7 +577,7 @@ export const StockupDetailRecord = useCrudSchemas(reactive([ field: 'createTime', sort: 'custom', formatter: dateFormatter, - isSearch: true, + // isSearch: true, table: { width: 180 }, @@ -596,7 +596,7 @@ export const StockupDetailRecord = useCrudSchemas(reactive([ label: '备注', field: 'remark', sort: 'custom', - isSearch: true, + // isSearch: true, hiddenInMain: true, table: { width: 150 From 45fba1c42a7adb67f9d74804c1d1df7a64d06340 Mon Sep 17 00:00:00 2001 From: zhaoyiran Date: Tue, 28 May 2024 10:35:35 +0800 Subject: [PATCH 24/26] =?UTF-8?q?=E8=B0=83=E6=95=B4=E6=93=8D=E4=BD=9C?= =?UTF-8?q?=E5=88=97=E5=AE=BD=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../purchasereceiptRecordMain.data.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptRecordMain/purchasereceiptRecordMain.data.ts b/src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptRecordMain/purchasereceiptRecordMain.data.ts index 0cf8a39b0..04789f448 100644 --- a/src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptRecordMain/purchasereceiptRecordMain.data.ts +++ b/src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptRecordMain/purchasereceiptRecordMain.data.ts @@ -403,7 +403,7 @@ export const PurchasereceiptRecordMain = useCrudSchemas(reactive([ isDetail: false, isForm: false, table: { - width: 300, + width: 400, fixed: 'right' }, }, @@ -1877,4 +1877,4 @@ export const PurchasereceiptRecordDetailPackingNumber = useCrudSchemas(reactive< disabled: true, } } -])) \ No newline at end of file +])) From ee5085340a4c75ad1650ab4586a354e8fed34770 Mon Sep 17 00:00:00 2001 From: zhaoxuebing <1291173720@qq.com> Date: Tue, 28 May 2024 10:39:31 +0800 Subject: [PATCH 25/26] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=98=8E=E7=BB=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../processproductionRequestMain.data.ts | 143 +++++++++++++++--- 1 file changed, 120 insertions(+), 23 deletions(-) diff --git a/src/views/wms/productionManage/processproduction/processproductionRequest/processproductionRequestMain.data.ts b/src/views/wms/productionManage/processproduction/processproductionRequest/processproductionRequestMain.data.ts index e34250efe..2c2685894 100644 --- a/src/views/wms/productionManage/processproduction/processproductionRequest/processproductionRequestMain.data.ts +++ b/src/views/wms/productionManage/processproduction/processproductionRequest/processproductionRequestMain.data.ts @@ -1,6 +1,10 @@ import type { CrudSchema } from '@/hooks/web/useCrudSchemas' import { dateFormatter } from '@/utils/formatTime' - +import * as ItembasicApi from '@/api/wms/itembasic' +import { Itembasic } from '@/views/wms/basicDataManage/itemManage/itembasic/itembasic.data' +import * as ProductionlineitemApi from '@/api/wms/productionlineitem' +import { Productionlineitem } from '@/views/wms/basicDataManage/itemManage/productionlineitem/productionlineitem.data' +import { fa } from 'element-plus/es/locale' export const ProcessproductionRequestMain = useCrudSchemas(reactive([ { @@ -18,6 +22,7 @@ export const ProcessproductionRequestMain = useCrudSchemas(reactive([ - { - label: 'id', - field: 'id', - sort: 'custom', - isForm: false, - isTable:false, - }, - { - label: '主表ID', - field: 'masterId', - sort: 'custom', - isTable:false, - form: { - component: 'InputNumber', - value: 0 - }, - }, + { label: '单据号', field: 'number', sort: 'custom', - isSearch: true, + isSearch: false, + isTable:false, + isTableForm:false, table: { width: 150 }, hiddenInMain:true, }, { - label: '工序', - field: 'processCode', + label: '生产线', + field: 'productionLine', sort: 'custom', table: { width: 150 }, + form: { + // labelMessage: '信息提示说明!!!', + componentProps: { + isSearchList: true, // 开启查询弹窗 + searchListPlaceholder: '请选择物料代码', // 输入框占位文本 + searchField: 'itemCode', // 查询弹窗赋值字段 + searchTitle: '生产线物料关系信息', // 查询弹窗标题 + searchAllSchemas: Productionlineitem.allSchemas, // 查询弹窗所需类 + searchPage: ProductionlineitemApi.getProductionlineitemPage, // 查询弹窗所需分页方法 + searchCondition: [{ + key:'itemCode', + value:'itemCode', + message: '请选择物料代码!', + isMainValue: true + },{ + key: 'available', + value: 'TRUE', + isMainValue: false + }], + } + }, + tableForm:{ + multiple:true, + isInpuFocusShow: true, + searchListPlaceholder: '请选择物料代码', // 输入框占位文本 + searchField: 'itemCode', // 查询弹窗赋值字段 + searchTitle: '生产线物料关系信息', // 查询弹窗标题 + searchAllSchemas: Productionlineitem.allSchemas, // 查询弹窗所需类 + searchPage: ProductionlineitemApi.getProductionlineitemPage, // 查询弹窗所需分页方法 + searchCondition: [{ + key:'itemCode', + value:'itemCode', + message: '请选择物料代码!', + isMainValue: true + },{ + key: 'available', + value: 'TRUE', + isMainValue: false + }], + }, }, { - label: '生产线', - field: 'productionLine', + label: '工序', + field: 'processCode', sort: 'custom', table: { width: 150 @@ -239,6 +317,7 @@ export const ProcessproductionRequestDetail = useCrudSchemas(reactive Date: Tue, 28 May 2024 10:42:22 +0800 Subject: [PATCH 26/26] =?UTF-8?q?=E8=AE=A1=E5=88=92=E5=A4=96=E5=85=A5?= =?UTF-8?q?=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../unplannedreceipt/unplannedreceiptRequestMain/index.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/views/wms/inventoryjobManage/unplannedreceipt/unplannedreceiptRequestMain/index.vue b/src/views/wms/inventoryjobManage/unplannedreceipt/unplannedreceiptRequestMain/index.vue index edb1747c3..167761dc5 100644 --- a/src/views/wms/inventoryjobManage/unplannedreceipt/unplannedreceiptRequestMain/index.vue +++ b/src/views/wms/inventoryjobManage/unplannedreceipt/unplannedreceiptRequestMain/index.vue @@ -333,7 +333,7 @@ const butttondata = (row,$index) => { hasPermi: '', link: true, // 文本展现按钮 }, - defaultButtons.mainListPointBtn({ hide: isShowMainButton(row, ['3','8']) }), // 标签打印 + defaultButtons.mainListPointBtn({ hide: isShowMainButton(row, ['3','6','8']) }), // 标签打印 ] }