From 4c974947afdc0d800fe8e99da4c0e6618a0667a6 Mon Sep 17 00:00:00 2001 From: shaoleiliu-netizen123 <480188199@qq.com> Date: Sat, 25 Jul 2026 20:52:44 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=B4=A8=E6=A3=80=E9=A1=B9?= =?UTF-8?q?=E7=AE=A1=E7=90=86=20=E5=B7=A5=E5=BA=8F=E7=AE=A1=E7=90=86=20?= =?UTF-8?q?=E5=B7=A5=E4=BD=8D=E4=BA=A4=E6=8E=A5=E9=A1=B5=E9=9D=A2=E9=97=AE?= =?UTF-8?q?=E9=A2=98=20=20=E7=BC=96=E5=86=99=E6=B4=BE=E5=B7=A5=E5=B7=A5?= =?UTF-8?q?=E5=8D=95=20=E6=B1=87=E6=8A=A5=E4=BF=A1=E6=81=AF=20=E8=B4=A8?= =?UTF-8?q?=E6=A3=80=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/basicProcessPlan.ts | 2 + src/api/device.ts | 1 + src/api/deviceAbnormalRecord.ts | 112 +++++ src/api/nccode.ts | 14 + src/api/qcItem.ts | 6 +- src/api/qcitemProcess.ts | 3 + src/api/section.ts | 10 +- src/views/NCcode/index.vue | 97 ++--- src/views/biz/basicProcessPlan/index.vue | 35 +- src/views/biz/device/DeviceAbnomarlRecord.vue | 58 +++ src/views/biz/device/index.vue | 399 ++++++++++++------ src/views/biz/qualityItem/index.vue | 97 +++-- src/views/biz/station/index.vue | 2 +- .../componets/AssingWorkTreeTable.vue | 288 +++++++++---- .../production/componets/QualityInfoPage.vue | 101 +++++ .../componets/SubmitLogInfoPage.vue | 86 ++++ src/views/production/myassigtask/index.vue | 10 +- 17 files changed, 969 insertions(+), 352 deletions(-) create mode 100644 src/api/deviceAbnormalRecord.ts create mode 100644 src/views/biz/device/DeviceAbnomarlRecord.vue create mode 100644 src/views/production/componets/QualityInfoPage.vue create mode 100644 src/views/production/componets/SubmitLogInfoPage.vue diff --git a/src/api/basicProcessPlan.ts b/src/api/basicProcessPlan.ts index fce885d..03ae68f 100644 --- a/src/api/basicProcessPlan.ts +++ b/src/api/basicProcessPlan.ts @@ -28,6 +28,8 @@ export interface BasicProcessPlan { createTime?: string + status?:number + } // 基础主数据--工序表 API diff --git a/src/api/device.ts b/src/api/device.ts index 98274c9..ad1776b 100644 --- a/src/api/device.ts +++ b/src/api/device.ts @@ -20,6 +20,7 @@ export interface Device{ synEquipId?: number | null, createTime:string, updateTime:string + abnormalRecordList:[] } export interface DeviceRealtimeVO { diff --git a/src/api/deviceAbnormalRecord.ts b/src/api/deviceAbnormalRecord.ts new file mode 100644 index 0000000..f0b1aef --- /dev/null +++ b/src/api/deviceAbnormalRecord.ts @@ -0,0 +1,112 @@ +import { request } from '@/utils/request' + +// 设备异常记录表 类型定义 +export interface DeviceAbnormalRecord { + id?: number + + abnormalCode?: string + + deviceId?: number + + deviceCode?: string + + deviceName?: string + + stationId?: number + + stationName?: string + + abnormalType?: string + + abnormalTypeName?: string + + abnormalLevel?: string + + abnormalLevelName?: string + + abnormalDesc?: string + + abnormalTime?: string + + status?: string + + statusName?: string + + handler?: string + + handleTime?: string + + handleResult?: string + + affectDuration?: number + + abnormalFrequency?: string + + remark?: string + + createTime?: string + + createBy?: string + +} + +// 设备异常记录表 API +export const deviceAbnormalRecordApi = { + // 分页查询 + page(params: { page: number; pageSize: number; id?: number; status?: string }) { + return request({ url: '/biz/deviceAbnormalRecord/page', method: 'get', params }) + }, + + // 获取详情 + detail(id: number) { + return request({ url: `/biz/deviceAbnormalRecord/${id}`, method: 'get' }) + }, + + // 新增 + create(data: DeviceAbnormalRecord) { + return request({ url: '/biz/deviceAbnormalRecord', method: 'post', data }) + }, + + // 修改 + update(data: DeviceAbnormalRecord) { + return request({ url: '/biz/deviceAbnormalRecord', method: 'put', data }) + }, + + // 删除 + delete(ids: number[]) { + return request({ url: `/biz/deviceAbnormalRecord/${ids.join(',')}`, method: 'delete' }) + }, + + // 导出 + export(params?: { ids?: number[]; id?: number; status?: string }) { + const p: Record = {} + if (params?.ids?.length) p.ids = params.ids.join(',') + if (params?.id !== undefined && params?.id !== null) p.id = params.id + if (params?.status !== undefined && params?.status !== null) p.status = params.status + return request({ url: `/biz/deviceAbnormalRecord/export`, method: 'get', params: p, responseType: 'blob' }) + }, + + // 导入 + importData(file: File) { + const formData = new FormData() + formData.append('file', file) + return request<{ success: number; fail: number; errors: string[] }>({ + url: `/biz/deviceAbnormalRecord/import`, + method: 'post', + data: formData, + headers: { 'Content-Type': 'multipart/form-data' } + }) + }, + + // 下载导入模板 + downloadTemplate() { + return request({ url: `/biz/deviceAbnormalRecord/template`, method: 'get', responseType: 'blob' }) + }, + //根据设备Id获取异常记录列表 + getDeviceErrorLogList(deviceId: number) { + return request({ + url: `/biz/deviceAbnormalRecord/getDeviceErrorLogList/${deviceId}`, + method: 'get' + }) + } +} diff --git a/src/api/nccode.ts b/src/api/nccode.ts index ba893a7..57c67e6 100644 --- a/src/api/nccode.ts +++ b/src/api/nccode.ts @@ -1,5 +1,19 @@ import { request } from '@/utils/request' +export interface ncCode { + id?: number, + ncCode?: string, + ncName?: string, + ncContent?: string, + ncDesc?: string, + status?: number, + createTime?: string, + updateTime?: string, + remark?: string, + createBy?: string, +} + + //新增代码库 export function addnccode(data:any) { return request({ diff --git a/src/api/qcItem.ts b/src/api/qcItem.ts index 9b8d4d2..c04d2cc 100644 --- a/src/api/qcItem.ts +++ b/src/api/qcItem.ts @@ -1,5 +1,5 @@ import { request } from '@/utils/request' -import { any } from 'three/tsl' + // 质检项表 类型定义 export interface QcItem { @@ -11,7 +11,9 @@ export interface QcItem { plans?: string - desc?: string + description?: string + + status?: number createby?: number diff --git a/src/api/qcitemProcess.ts b/src/api/qcitemProcess.ts index f8f7a47..c223391 100644 --- a/src/api/qcitemProcess.ts +++ b/src/api/qcitemProcess.ts @@ -8,6 +8,9 @@ export interface QcitemProcess { processId?: number + page?:number + + pageSize?:number } // 质检项和工序关联表 API diff --git a/src/api/section.ts b/src/api/section.ts index 52b7fa6..97c2110 100644 --- a/src/api/section.ts +++ b/src/api/section.ts @@ -1,5 +1,5 @@ import { request } from '@/utils/request' -import { st } from 'vue-router/dist/router-CWoNjPRp.mjs' + export interface Section{ id?: number, @@ -70,10 +70,16 @@ export const sectionApi = { list(params:{sectionName:string}) { return request({ - url:"/biz/section/list", + url:"/biz/section/listBySectionName", method:"get", params }) + }, + listNoParam(){ + return request({ + url:"/biz/section/list", + method:"get" + }) } } \ No newline at end of file diff --git a/src/views/NCcode/index.vue b/src/views/NCcode/index.vue index f649d24..8378a5c 100644 --- a/src/views/NCcode/index.vue +++ b/src/views/NCcode/index.vue @@ -276,7 +276,6 @@ import { reactive, h, onMounted, - watch, } from 'vue' @@ -285,30 +284,29 @@ import { NIcon, NSpace, NPagination, - NGrid, - // NGi, - NTag, + NGrid, useMessage, useDialog, - //type FormInst, + NDropdown, } from 'naive-ui' import { SearchOutline, RefreshOutline, AddOutline, - ArrowDownCircleOutline + ArrowDownCircleOutline, + EllipsisHorizontalOutline } from '@vicons/ionicons5' import { useUserStore } from '@/stores/user' -//import { dictDataApi } from '@/api/org' + import { addnccode, nccodelist, batchIssue, - deleteIssue, editccode, - issuecopy + issuecopy, + ncCode } from '@/api/nccode' @@ -323,6 +321,7 @@ const userStore = useUserStore() // 权限检查 const hasPermission = (permission: string) => userStore.hasPermission(permission) +const ncDispatchRecords = ref([]) //派工状态字典 //const qcAssingStatusOptions = ref<{ label: string; value: any;class:any }[]>([]) @@ -409,31 +408,6 @@ const columns = [ return '禁用' } }, - { - align:"center", - title:"是否下发", - key:"isIssued", - minWidth:150, - render(row:any) { - if(row.status == 1){ - return '已下发' - } - return '未下发' - } - }, - { - align:"center", - title:"下发时间", - key:"issueTime", - minWidth:150 - }, - - { - align:"center", - title:"下发人", - key:"issueBy", - minWidth:150 - }, { align:"center", title:"备注", @@ -484,33 +458,29 @@ const columns = [ { default: () => '编辑'} )) } - if(hasPermission('biz:ncCode:remove')){ - buttons.push(h(NButton, { - size: 'small', - type:'error', - ghost:true, - onClick: () => { - dialog.warning({ - title: '警告', - content: `你确定删除NC代码编号为:${row.ncCode}的数据`, - positiveText: '确定', - negativeText: '取消', - //draggable: true, - onPositiveClick: () => { - deleteIssue(row.id).then(() => { - message.success('操作成功') - }) - - }, - onNegativeClick: () => { - - } - }) + + buttons.push( + h(NDropdown,{ + trigger:'click', + options:[ + {label:"下发记录",key:"dispatchRecord"}, + {type: 'divider' }, + ], + onSelect:(key:string)=>{ + switch(key) { + case "dispatchRecord": + handleDispatchRecord(row) + break - } }, - { default: () => '删除'} - )) - } + } + } + },{ + // 下拉触发按钮:三点图标 / 更多文字 + default: () => h(NButton, { size: 'small', quaternary: true }, { + default: () => [h(NIcon, null, { default: () => h(EllipsisHorizontalOutline) })] + }) + }) + ) return buttons.length > 0 ? h(NSpace, {justify:'center'}, { default: () => buttons }) : '-' @@ -756,6 +726,13 @@ function isssavehand() { getlist() +//查看下发记录 +async function handleDispatchRecord(row:ncCode){ + const ncId = row.id + // ncDispatchRecords.value = await +} + + onMounted(() => { //loadDictOptions() diff --git a/src/views/biz/basicProcessPlan/index.vue b/src/views/biz/basicProcessPlan/index.vue index a213140..eaac2a1 100644 --- a/src/views/biz/basicProcessPlan/index.vue +++ b/src/views/biz/basicProcessPlan/index.vue @@ -33,10 +33,10 @@ 导出{{ selectedIds.length > 0 ? `(${selectedIds.length})` : '' }} - + @@ -287,6 +287,7 @@ const defaultFormData: BasicProcessPlan = { workCenterName: '', departmentName: '', operDescription: '', + status:undefined } const formData = reactive({ ...defaultFormData }) @@ -328,6 +329,30 @@ const columns: DataTableColumns = [ { title: '工作中心', key: 'workCenterName' }, { title: '生产车间', key: 'departmentName' }, { title: '工序说明', key: 'operDescription' }, + { title: '状态', key: 'status', + render(row){ + if(row.status == 0){ + return h(NTag, { + type:'error', + size: 'small' + }, + { + default: () => '禁用' + } + ) + } + if(row.status == 1){ + return h(NTag, { + type:'success', + size: 'small' + }, + { + default: () => '启用' + } + ) + } + } + }, { title: '创建人', key: 'createBy' }, { title: '创建时间', key: 'createTime', width: 180 }, { @@ -340,9 +365,9 @@ const columns: DataTableColumns = [ h(NButton, { size: 'small', quaternary: true, onClick: () => handleEdit(row) }, { default: () => [h(NIcon, null, { default: () => h(CreateOutline) }), ' 编辑'] }), - h(NButton, { size: 'small', quaternary: true, type: 'error', onClick: () => handleDelete(row) }, { - default: () => [h(NIcon, null, { default: () => h(TrashOutline) }), ' 删除'] - }), + // h(NButton, { size: 'small', quaternary: true, type: 'error', onClick: () => handleDelete(row) }, { + // default: () => [h(NIcon, null, { default: () => h(TrashOutline) }), ' 删除'] + // }), h(NButton, { size: 'small', quaternary: true, onClick: () => handleOpenRelateModel(row) }, { default: () => ['关联质检项'] }) diff --git a/src/views/biz/device/DeviceAbnomarlRecord.vue b/src/views/biz/device/DeviceAbnomarlRecord.vue new file mode 100644 index 0000000..895ef06 --- /dev/null +++ b/src/views/biz/device/DeviceAbnomarlRecord.vue @@ -0,0 +1,58 @@ + + + + + \ No newline at end of file diff --git a/src/views/biz/device/index.vue b/src/views/biz/device/index.vue index a677b4c..dd4cf32 100644 --- a/src/views/biz/device/index.vue +++ b/src/views/biz/device/index.vue @@ -5,16 +5,24 @@
- + - + 搜索 - + 重置 @@ -26,7 +34,11 @@
- + 新增设备 @@ -37,11 +49,19 @@ 导入 --> - + 导出{{ selectedIds.length > 0 ? `(${selectedIds.length})` : '' }} - + 删除 @@ -49,23 +69,23 @@
+ + + + + + + +
+ \ No newline at end of file diff --git a/src/views/production/componets/SubmitLogInfoPage.vue b/src/views/production/componets/SubmitLogInfoPage.vue new file mode 100644 index 0000000..5aa497b --- /dev/null +++ b/src/views/production/componets/SubmitLogInfoPage.vue @@ -0,0 +1,86 @@ + + + + + \ No newline at end of file diff --git a/src/views/production/myassigtask/index.vue b/src/views/production/myassigtask/index.vue index 11c7880..cb92ff5 100644 --- a/src/views/production/myassigtask/index.vue +++ b/src/views/production/myassigtask/index.vue @@ -193,12 +193,12 @@