diff --git a/src/api/mes/moldCheck.js b/src/api/mes/moldCheck.js
new file mode 100644
index 0000000..3ace03a
--- /dev/null
+++ b/src/api/mes/moldCheck.js
@@ -0,0 +1,93 @@
+import upload from '@/utils/upload'
+import request from '@/utils/request'
+
+// 模具点检工单分页
+export function getMoldCheckPage(params = {}) {
+ return request({
+ url: '/admin-api/mes/mold-ticket-management/page',
+ method: 'get',
+ params
+ })
+}
+
+// 模具点检结果分页
+export function getMoldCheckResultsPage(params = {}) {
+ return request({
+ url: '/admin-api/mes/mold-ticket-results/page',
+ method: 'get',
+ params
+ })
+}
+
+// 批量更新点检结果
+export function batchUpdateMoldCheckResults(data) {
+ return request({
+ url: '/admin-api/mes/mold-ticket-results/batchUpdate',
+ method: 'put',
+ data
+ })
+}
+
+// 图片上传
+export function uploadMoldCheckImage(filePath, name = 'file') {
+ return upload({
+ url: '/admin-api/infra/file/upload',
+ name,
+ filePath,
+ showLoading: false
+ })
+}
+
+// 点检模板分页(项目表单)
+export function getPlanMaintenancePage(params = {}) {
+ return request({
+ url: '/admin-api/mes/mold-plan-maintenance/page',
+ method: 'get',
+ params
+ })
+}
+
+// 获取模板下的点检项
+export function getSubjectList(id) {
+ return request({
+ url: '/admin-api/mes/mold-plan-maintenance/getSubjectList',
+ method: 'get',
+ params: { id }
+ })
+}
+
+// 直接创建模具点检工单
+export function createMoldTicketDirect(data) {
+ return request({
+ url: '/admin-api/mes/mold-task-management/createMoldTicketDirect',
+ method: 'post',
+ data
+ })
+}
+
+// 获取模具详情
+export function getMoldBrandDetail(id) {
+ return request({
+ url: '/admin-api/erp/mold-brand/get',
+ method: 'get',
+ params: { id }
+ })
+}
+
+// 获取模具列表(选择模具用)
+export function getMoldList(params = {}) {
+ return request({
+ url: '/admin-api/erp/mold-brand/getMoldList',
+ method: 'get',
+ params
+ })
+}
+
+// 批量更新工单状态
+export function batchUpdateMoldCheckStatus(data) {
+ return request({
+ url: '/admin-api/mes/mold-ticket-management/batchUpdateStatus',
+ method: 'put',
+ data
+ })
+}
diff --git a/src/locales/en-US.js b/src/locales/en-US.js
index 464608f..f0fbc80 100644
--- a/src/locales/en-US.js
+++ b/src/locales/en-US.js
@@ -1061,6 +1061,68 @@ export default {
noIdView: 'Missing ID, cannot view details',
noIdDelete: 'Missing ID, cannot delete'
},
+ moldCheck: {
+ moduleName: 'Mold Inspection',
+ addTitle: 'Add Inspection',
+ detailTitle: 'Inspection Detail',
+ searchPlaceholder: 'Enter inspection No.',
+ empty: 'No inspection records',
+ add: 'Add',
+ moldName: 'Mold Name',
+ moldCode: 'Mold Code',
+ product: 'Product',
+ status: 'Status',
+ taskType: 'Task Type',
+ taskTypeInspect: 'Inspection',
+ taskTypeMaintain: 'Maintenance',
+ planNo: 'Inspection No.',
+ taskTime: 'Task Time',
+ template: 'Template',
+ operator: 'Operator',
+ jobStatusPending: 'Pending',
+ jobStatusProcessing: 'Processing',
+ jobStatusCompleted: 'Completed',
+ jobStatusTimeout: 'Timeout',
+ jobStatusCancelled: 'Cancelled',
+ jobResultOk: 'OK',
+ jobResultNg: 'NG',
+ progressTitle: 'Progress',
+ noResultData: 'No inspection result data',
+ requiredText: 'Required',
+ inspectionMethod: 'Inspection Method',
+ judgmentCriteria: 'Judgment Criteria',
+ textInput: 'Input Value',
+ inputPlaceholder: 'Enter value',
+ images: 'Images',
+ remark: 'Remark',
+ resultText: 'Result',
+ inspectionResultPass: 'Pass',
+ inspectionResultFail: 'Fail',
+ inspectionResultPending: 'Pending',
+ maxUploadCount: 'Max 3 images',
+ selectAllDecisionError: 'Please select all inspection results',
+ currentMoldInfo: 'Current Mold Info',
+ moldSize: 'Mold Size',
+ currentDevice: 'Current Device',
+ selectMold: 'Select Mold',
+ reSelectMold: 'Re-select Mold',
+ selectMoldError: 'Please select a mold',
+ searchMold: 'Enter mold name',
+ noMoldInfo: 'Please select a mold',
+ noMoldData: 'No molds available',
+ taskName: 'Task Name',
+ taskInfo: 'Task Info',
+ placeholderTaskName: 'Enter task name',
+ templateSelection: 'Template/Task Selection',
+ selectTemplate: 'Select Template',
+ selectTemplateError: 'Please select inspection template',
+ noItems: 'Please select inspection template first',
+ noTemplate: 'No templates',
+ submit: 'Submit Inspection',
+ submitSuccess: 'Inspection submitted successfully',
+ submitFailed: 'Failed to submit inspection',
+ reInspect: 'Re-inspect'
+ },
moldRepair: {
moduleName: 'Mold Repair',
createTitle: 'Create Mold Repair',
diff --git a/src/locales/index.js b/src/locales/index.js
index d8c9c5a..7d2c852 100644
--- a/src/locales/index.js
+++ b/src/locales/index.js
@@ -124,7 +124,10 @@ const literalMap = {
'点检记录': 'moldWorkOrder.moduleName',
'点检记录详情': 'moldWorkOrder.detailTitle',
'模具台账': 'moldLedger.moduleName',
- '模具详情': 'moldLedger.detailTitle'
+ '模具详情': 'moldLedger.detailTitle',
+ '模具点检': 'moldCheck.moduleName',
+ '点检详情': 'moldCheck.detailTitle',
+ '新增点检': 'moldCheck.addTitle'
}
export function getCurrentLocale() {
diff --git a/src/locales/zh-CN.js b/src/locales/zh-CN.js
index f383539..05e7e21 100644
--- a/src/locales/zh-CN.js
+++ b/src/locales/zh-CN.js
@@ -1064,6 +1064,68 @@ export default {
noIdView: '缺少ID,无法查看详情',
noIdDelete: '缺少ID,无法删除'
},
+ moldCheck: {
+ moduleName: '模具点检',
+ addTitle: '新增点检',
+ detailTitle: '点检详情',
+ searchPlaceholder: '请输入点检单号',
+ empty: '暂无点检记录',
+ add: '新增',
+ moldName: '模具名称',
+ moldCode: '模具编号',
+ product: '产品',
+ status: '状态',
+ taskType: '任务类型',
+ taskTypeInspect: '点检',
+ taskTypeMaintain: '保养',
+ planNo: '点检单号',
+ taskTime: '执行时间',
+ template: '配置模板',
+ operator: '操作员',
+ jobStatusPending: '待执行',
+ jobStatusProcessing: '执行中',
+ jobStatusCompleted: '已完成',
+ jobStatusTimeout: '已超时',
+ jobStatusCancelled: '已取消',
+ jobResultOk: '通过',
+ jobResultNg: '不通过',
+ progressTitle: '进度',
+ noResultData: '暂无点检结果数据',
+ requiredText: '必检',
+ inspectionMethod: '点检方式',
+ judgmentCriteria: '判定标准',
+ textInput: '输入值',
+ inputPlaceholder: '请输入',
+ images: '图片',
+ remark: '备注',
+ resultText: '结果',
+ inspectionResultPass: '通过',
+ inspectionResultFail: '不通过',
+ inspectionResultPending: '待判定',
+ maxUploadCount: '最多上传3张图片',
+ selectAllDecisionError: '请选择所有点检项的判定结果',
+ currentMoldInfo: '当前模具信息',
+ moldSize: '模具尺寸',
+ currentDevice: '当前设备',
+ selectMold: '选择模具',
+ reSelectMold: '重新选择模具',
+ selectMoldError: '请选择模具',
+ searchMold: '请输入模具名称',
+ noMoldInfo: '请选择模具',
+ noMoldData: '暂无可选模具',
+ taskName: '任务名称',
+ taskInfo: '任务信息',
+ placeholderTaskName: '请输入任务名称',
+ templateSelection: '模板/任务选择',
+ selectTemplate: '请选择模板',
+ selectTemplateError: '请选择点检模板',
+ noItems: '请先选择点检模板',
+ noTemplate: '暂无模板',
+ submit: '提交点检',
+ submitSuccess: '点检提交成功',
+ submitFailed: '点检提交失败',
+ reInspect: '再次点检'
+ },
moldRepair: {
moduleName: '模具维修',
createTitle: '新增模具维修',
diff --git a/src/pages.json b/src/pages.json
index b6a1bfb..36ea8fe 100644
--- a/src/pages.json
+++ b/src/pages.json
@@ -700,6 +700,27 @@
"navigationBarTitleText": "任务计划",
"navigationStyle": "custom"
}
+ },
+ {
+ "path": "moldCheck/index",
+ "style": {
+ "navigationBarTitleText": "模具点检",
+ "navigationStyle": "custom"
+ }
+ },
+ {
+ "path": "moldCheck/detail",
+ "style": {
+ "navigationBarTitleText": "点检详情",
+ "navigationStyle": "custom"
+ }
+ },
+ {
+ "path": "moldCheck/add",
+ "style": {
+ "navigationBarTitleText": "新增点检",
+ "navigationStyle": "custom"
+ }
}
]
}
diff --git a/src/pages_function/pages/moldCheck/add.vue b/src/pages_function/pages/moldCheck/add.vue
new file mode 100644
index 0000000..0042257
--- /dev/null
+++ b/src/pages_function/pages/moldCheck/add.vue
@@ -0,0 +1,490 @@
+
+
+
+
+
+
+
+
+
+
+
+ {{ t('moldCheck.moldCode') }}
+ {{ moldInfo.code || '-' }}
+
+
+ {{ t('moldCheck.moldName') }}
+ {{ moldInfo.name || '-' }}
+
+
+ {{ t('moldCheck.product') }}
+ {{ moldInfo.productName || '-' }}
+
+
+ {{ t('moldCheck.moldSize') }}
+ {{ moldInfo.moldSize || '-' }}
+
+
+ {{ t('moldCheck.status') }}
+ {{ moldInfo.statusLabel || '-' }}
+
+
+ {{ t('moldCheck.currentDevice') }}
+ {{ moldInfo.currentDevice || '-' }}
+
+
+
+ *
+ {{ moldInfo.id ? t('moldCheck.reSelectMold') : t('moldCheck.selectMold') }}
+
+
+
+
+
+
+
+
+ *{{ t('moldCheck.taskName') }}
+
+
+
+ *{{ t('moldCheck.templateSelection') }}
+
+ {{ selectedTemplate?.planName || t('moldCheck.selectTemplate') }}
+
+
+
+
+
+
+ {{ t('moldCheck.noItems') }}
+
+
+
+
+
+ {{ t('moldCheck.inspectionMethod') }}
+ {{ textValue(item.inspectionMethod) }}
+
+
+ {{ t('moldCheck.judgmentCriteria') }}
+ {{ textValue(item.judgmentCriteria) }}
+
+
+
+
+
+
+
+
+ {{ t('dashboard.back') }}
+ {{ t('moldCheck.submit') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages_function/pages/moldCheck/detail.vue b/src/pages_function/pages/moldCheck/detail.vue
new file mode 100644
index 0000000..e62205f
--- /dev/null
+++ b/src/pages_function/pages/moldCheck/detail.vue
@@ -0,0 +1,424 @@
+
+
+
+
+
+
+
+
+ {{ textValue(detailData.moldName) }}
+
+
+ {{ t('moldCheck.taskType') }}:
+ {{ planTypeText }}
+
+
+ {{ t('moldCheck.planNo') }}:
+ {{ textValue(detailData.planNo) }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ t('functionCommon.loading') }}
+ {{ t('moldCheck.noResultData') }}
+
+
+
+
+
+ {{ t('moldCheck.inspectionMethod') }}
+ {{ inspectionMethodText(item.inspectionMethod) }}
+
+
+ {{ t('moldCheck.judgmentCriteria') }}
+ {{ textValue(item.judgmentCriteria) }}
+
+
+
+ {{ t('moldCheck.textInput') }}
+
+
+
+
+
+ {{ t('moldCheck.textInput') }}
+
+ {{ textInputDisplay(item) }}
+
+
+
+ {{ t('moldCheck.images') }}
+
+
+
+ ×
+
+
+ +
+
+
+
+
+
+ {{ t('moldCheck.remark') }}
+ {{ textValue(item.remark) }}
+
+
+
+ {{ t('moldCheck.resultText') }}
+
+
+ {{ t('moldCheck.inspectionResultPass') }}
+
+
+ {{ t('moldCheck.inspectionResultFail') }}
+
+ {{ t('moldCheck.inspectionResultPending') }}
+
+
+
+
+
+
+
+
+
+ {{ t('dashboard.back') }}
+ {{ t('functionCommon.save') }}
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/pages_function/pages/moldCheck/index.vue b/src/pages_function/pages/moldCheck/index.vue
new file mode 100644
index 0000000..8e5e0f2
--- /dev/null
+++ b/src/pages_function/pages/moldCheck/index.vue
@@ -0,0 +1,556 @@
+
+
+
+
+
+
+
+
+
+
+ {{ currentJobStatusLabel }}
+
+
+
+ {{ t('functionCommon.reset') }}
+
+
+
+
+
+
+
+
+ {{ t('moldCheck.moldName') }}
+ {{ textValue(item.moldName) }}
+
+
+ {{ t('moldCheck.template') }}
+ {{ textValue(item.configName) }}
+
+
+ {{ t('moldCheck.operator') }}
+ {{ textValue(item.operatorName) }}
+
+
+ {{ t('moldCheck.taskTime') }}
+ {{ formatDateTime(item.taskTime) }}
+
+
+
+
+
+ {{ t('functionCommon.loading') }}
+ {{ t('moldCheck.empty') }}
+ {{ t('functionCommon.loadingMore') }}
+ {{ t('functionCommon.noMoreData') }}
+
+
+
+
+
+
+
+
+ +
+
+
+
+
+
+
+
\ No newline at end of file