diff --git a/src/api/mes/deviceledger/index.ts b/src/api/mes/deviceledger/index.ts
new file mode 100644
index 00000000..f62231ae
--- /dev/null
+++ b/src/api/mes/deviceledger/index.ts
@@ -0,0 +1,62 @@
+import request from '@/config/axios'
+
+// 设备类型 VO
+export interface DeviceLedgerVO {
+ id: number // id
+ deviceCode: string // 设备编号
+ deviceName: string // 设备名称
+ deviceStatus: number // 设备状态 (0-正常, 1-停用, 2-维修, 3-报废)
+ deviceBrand: string // 设备品牌
+ deviceModel: string // 设备型号
+ deviceSpec: string // 设备规格
+ deviceType: string | number // 设备类型
+ deviceTypeName?: string // 设备类型名称
+ supplier: string // 供应商
+ workshop: string // 所属车间
+ systemOrg: string // 所属系统组织
+ deviceLocation: string // 设备位置
+ useDept?: string // 使用部门
+ deviceManager: string // 设备负责人
+ quantity?: number // 数量
+ productionDate: Date // 设备生产日期
+ factoryEntryDate: Date // 设备入厂日期
+ deviceRemark: string // 设备备注
+ remark: string // 备注
+ creator?: string // 创建人
+ createTime?: string | number | Date
+ updateTime?: string | number | Date
+ sort: number // 排序
+}
+
+// 设备类型 API
+export const DeviceLedgerApi = {
+ // 查询设备类型分页
+ getDeviceLedgerPage: async (params: any) => {
+ return await request.get({ url: `/mes/device-ledger/page`, params })
+ },
+
+ // 查询设备类型详情
+ getDeviceLedger: async (id: number) => {
+ return await request.get({ url: `/mes/device-ledger/get?id=` + id })
+ },
+
+ // 新增设备类型
+ createDeviceLedger: async (data: DeviceLedgerVO) => {
+ return await request.post({ url: `/mes/device-ledger/create`, data })
+ },
+
+ // 修改设备类型
+ updateDeviceLedger: async (data: DeviceLedgerVO) => {
+ return await request.put({ url: `/mes/device-ledger/update`, data })
+ },
+
+ // 删除设备类型
+ deleteDeviceLedger: async (id: number) => {
+ return await request.delete({ url: `/mes/device-ledger/delete?id=` + id })
+ },
+
+ // 导出设备类型 Excel
+ exportDeviceLedger: async (params) => {
+ return await request.download({ url: `/mes/device-ledger/export-excel`, params })
+ }
+}
diff --git a/src/views/mes/deviceledger/DeviceLedgerForm.vue b/src/views/mes/deviceledger/DeviceLedgerForm.vue
new file mode 100644
index 00000000..d587ed99
--- /dev/null
+++ b/src/views/mes/deviceledger/DeviceLedgerForm.vue
@@ -0,0 +1,346 @@
+
+
+
+
+
+
+
+
diff --git a/src/views/mes/deviceledger/index.vue b/src/views/mes/deviceledger/index.vue
new file mode 100644
index 00000000..7ae38e3d
--- /dev/null
+++ b/src/views/mes/deviceledger/index.vue
@@ -0,0 +1,437 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+ 新增
+
+
+ 导出
+
+
+
+
+
+
+
+
+
+ {{ (queryParams.pageNo - 1) * queryParams.pageSize + scope.$index + 1 }}
+
+
+
+
+
+
+
+ {{ getDeviceTypeName(scope.row.deviceTypeName ?? scope.row.deviceType) }}
+
+
+
+
+
+
+ {{ getTzStatusLabel(scope.row.deviceStatus) }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 详情
+
+ 编辑
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+ {{ detailData?.deviceCode ?? '' }}
+ {{ detailData?.deviceName ?? '' }}
+
+
+
+ {{ detailData?.deviceBrand ?? '' }}
+ {{ detailData?.deviceModel ?? '' }}
+ {{ detailData?.deviceSpec ?? '' }}
+
+ {{ getDeviceTypeName(detailData?.deviceTypeName ?? detailData?.deviceType) }}
+
+ {{ detailData?.supplier ?? '' }}
+ {{ detailData?.workshop ?? '' }}
+ {{ detailData?.systemOrg ?? '' }}
+ {{ detailData?.deviceLocation ?? '' }}
+ {{ detailData?.deviceManager ?? '' }}
+ {{ formatDetailDate(detailData?.productionDate) }}
+ {{ formatDetailDate(detailData?.factoryEntryDate) }}
+ {{ detailData?.remark ?? detailData?.deviceRemark ?? '' }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+