diff --git a/mes-ui/src/api/concessionApply.ts b/mes-ui/src/api/concessionApply.ts deleted file mode 100644 index 042db53..0000000 --- a/mes-ui/src/api/concessionApply.ts +++ /dev/null @@ -1,82 +0,0 @@ -import { request } from '@/utils/request' - -// 让步接收申请表 类型定义 -export interface ConcessionApply { - id?: number - - qcId?: number - - concessionQty?: number - - applyRemark?: string - - applyContent?: string - - applyFile?: string - - applyUserId?: number - - deptId?: number - - instanceId?: string - - approveStatus?: number - - createTime?: string - - updateTime?: string - -} - -// 让步接收申请表 API -export const concessionApplyApi = { - // 分页查询 - page(params: { page: number; pageSize: number; id?: number }) { - return request({ url: '/biz/concessionApply/page', method: 'get', params }) - }, - - // 获取详情 - detail(id: string) { - return request({ url: `/biz/concessionApply/${id}`, method: 'get' }) - }, - - // 新增 - create(data: ConcessionApply) { - return request({ url: '/biz/concessionApply', method: 'post', data }) - }, - - // 修改 - update(data: ConcessionApply) { - return request({ url: '/biz/concessionApply', method: 'put', data }) - }, - - // 删除 - delete(ids: string[]) { - return request({ url: `/biz/concessionApply/${ids.join(',')}`, method: 'delete' }) - }, - - // 导出 - export(params?: { ids?: string[]; id?: number }) { - const p: Record = {} - if (params?.ids?.length) p.ids = params.ids.join(',') - if (params?.id !== undefined && params?.id !== null) p.id = params.id - return request({ url: `/biz/concessionApply/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/concessionApply/import`, - method: 'post', - data: formData, - headers: { 'Content-Type': 'multipart/form-data' } - }) - }, - - // 下载导入模板 - downloadTemplate() { - return request({ url: `/biz/concessionApply/template`, method: 'get', responseType: 'blob' }) - } -} diff --git a/mes-ui/src/api/maintenanceRecord.ts b/mes-ui/src/api/maintenanceRecord.ts deleted file mode 100644 index 3218c32..0000000 --- a/mes-ui/src/api/maintenanceRecord.ts +++ /dev/null @@ -1,80 +0,0 @@ -import { request } from '@/utils/request' - -// MES设备维修保养记录表 类型定义 -export interface MaintenanceRecord { - recordId?: string - - equipmentId?: string - - recordType?: string - - itemContent?: string - - handleContent?: string - - executorId?: number - - startTime?: string - - endTime?: string - - recordStatus?: string - - createTime?: string - - updateTime?: string - -} - -// MES设备维修保养记录表 API -export const maintenanceRecordApi = { - // 分页查询 - page(params: { page: number; pageSize: number; recordId?: string }) { - return request({ url: '/biz/maintenanceRecord/page', method: 'get', params }) - }, - - // 获取详情 - detail(recordId: string) { - return request({ url: `/biz/maintenanceRecord/${recordId}`, method: 'get' }) - }, - - // 新增 - create(data: MaintenanceRecord) { - return request({ url: '/biz/maintenanceRecord', method: 'post', data }) - }, - - // 修改 - update(data: MaintenanceRecord) { - return request({ url: '/biz/maintenanceRecord', method: 'put', data }) - }, - - // 删除 - delete(recordIds: string[]) { - return request({ url: `/biz/maintenanceRecord/${recordIds.join(',')}`, method: 'delete' }) - }, - - // 导出 - export(params?: { ids?: string[]; recordId?: string }) { - const p: Record = {} - if (params?.ids?.length) p.ids = params.ids.join(',') - if (params?.recordId !== undefined && params?.recordId !== null) p.recordId = params.recordId - return request({ url: `/biz/maintenanceRecord/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/maintenanceRecord/import`, - method: 'post', - data: formData, - headers: { 'Content-Type': 'multipart/form-data' } - }) - }, - - // 下载导入模板 - downloadTemplate() { - return request({ url: `/biz/maintenanceRecord/template`, method: 'get', responseType: 'blob' }) - } -} diff --git a/mes-ui/src/api/outsourcing.ts b/mes-ui/src/api/outsourcing.ts deleted file mode 100644 index cd1e044..0000000 --- a/mes-ui/src/api/outsourcing.ts +++ /dev/null @@ -1,100 +0,0 @@ -import { request } from '@/utils/request' - -// 委外记录表 类型定义 -export interface Outsourcing { - id?: number - - name?: string - - code?: string - - businessType?: number - - businessId?: number - - businessCode?: string - - orderItemId?: number - - quantity?: number - - supplierId?: number - - supplierName?: string - - unitPrice?: string - - totalAmount?: string - - beginPreparationTime?: string - - endPreparationTime?: string - - beginTime?: string - - endTime?: string - - remark?: string - - createTime?: string - - createBy?: string - - overdue?: number - -} - -// 委外记录表 API -export const outsourcingApi = { - // 分页查询 - page(params: { page: number; pageSize: number; id?: number; name?: string; businessType?: number }) { - return request({ url: '/biz/outsourcing/page', method: 'get', params }) - }, - - // 获取详情 - detail(id: string) { - return request({ url: `/biz/outsourcing/${id}`, method: 'get' }) - }, - - // 新增 - create(data: Outsourcing) { - return request({ url: '/biz/outsourcing', method: 'post', data }) - }, - - // 修改 - update(data: Outsourcing) { - return request({ url: '/biz/outsourcing', method: 'put', data }) - }, - - // 删除 - delete(ids: string[]) { - return request({ url: `/biz/outsourcing/${ids.join(',')}`, method: 'delete' }) - }, - - // 导出 - export(params?: { ids?: string[]; id?: number; name?: string; businessType?: number }) { - 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?.name !== undefined && params?.name !== null) p.name = params.name - if (params?.businessType !== undefined && params?.businessType !== null) p.businessType = params.businessType - return request({ url: `/biz/outsourcing/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/outsourcing/import`, - method: 'post', - data: formData, - headers: { 'Content-Type': 'multipart/form-data' } - }) - }, - - // 下载导入模板 - downloadTemplate() { - return request({ url: `/biz/outsourcing/template`, method: 'get', responseType: 'blob' }) - } -} diff --git a/src/api/errorNotification.ts b/src/api/errorNotification.ts index 5a81a83..526afaf 100644 --- a/src/api/errorNotification.ts +++ b/src/api/errorNotification.ts @@ -2,82 +2,82 @@ import { request } from '@/utils/request' // ErrorNotification 类型定义 export interface ErrorNotification { - id?: number + id?: number - subscriptionKey?: string + subscriptionKey?: string - title?: string + title?: string - subscriptionDeviceIds?: string + subscriptionDeviceIds?: string - subscriptionDiscoverField?: string + subscriptionDiscoverField?: string - sendingMethod?: string + sendingMethod?: string - discoverValue?: string + discoverValue?: string - detectionMethod?: string + detectionMethod?: string - notifier?: string + notifier?: string - createBy?: number + createBy?: number - crateTime?: string + crateTime?: string - notifierContent?: string + notifierContent?: string - abnormalReporting?: number + abnormalReporting?: number } // ErrorNotification API export const errorNotificationApi = { - // 分页查询 - page(params: { page: number; pageSize: number }) { - return request({ url: '/biz/errorNotification/page', method: 'get', params }) - }, + // 分页查询 + page(params: { page: number; pageSize: number }) { + return request({ url: '/biz/errorNotification/page', method: 'get', params }) + }, - // 获取详情 - detail(id: string) { - return request({ url: `/biz/errorNotification/${id}`, method: 'get' }) - }, + // 获取详情 + detail(id: number) { + return request({ url: `/biz/errorNotification/${id}`, method: 'get' }) + }, - // 新增 - create(data: ErrorNotification) { - return request({ url: '/biz/errorNotification', method: 'post', data }) - }, + // 新增 + create(data: ErrorNotification) { + return request({ url: '/biz/errorNotification', method: 'post', data }) + }, - // 修改 - update(data: ErrorNotification) { - return request({ url: '/biz/errorNotification', method: 'put', data }) - }, + // 修改 + update(data: ErrorNotification) { + return request({ url: '/biz/errorNotification', method: 'put', data }) + }, - // 删除 - delete(ids: string[]) { - return request({ url: `/biz/errorNotification/${ids.join(',')}`, method: 'delete' }) - }, + // 删除 + delete(ids: string[]) { + return request({ url: `/biz/errorNotification/${ids.join(',')}`, method: 'delete' }) + }, - // 导出 - export(params?: { ids?: string[] }) { - const p: Record = {} - if (params?.ids?.length) p.ids = params.ids.join(',') - return request({ url: `/biz/errorNotification/export`, method: 'get', params: p, responseType: 'blob' }) - }, + // 导出 + export(params?: { ids?: string[] }) { + const p: Record = {} + if (params?.ids?.length) p.ids = params.ids.join(',') + return request({ url: `/biz/errorNotification/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/errorNotification/import`, - method: 'post', - data: formData, - headers: { 'Content-Type': 'multipart/form-data' } - }) - }, + // 导入 + importData(file: File) { + const formData = new FormData() + formData.append('file', file) + return request<{ success: number; fail: number; errors: string[] }>({ + url: `/biz/errorNotification/import`, + method: 'post', + data: formData, + headers: { 'Content-Type': 'multipart/form-data' } + }) + }, - // 下载导入模板 - downloadTemplate() { - return request({ url: `/biz/errorNotification/template`, method: 'get', responseType: 'blob' }) - } -} + // 下载导入模板 + downloadTemplate() { + return request({ url: `/biz/errorNotification/template`, method: 'get', responseType: 'blob' }) + } +} \ No newline at end of file diff --git a/src/api/exceptionFilter.ts b/src/api/exceptionFilter.ts new file mode 100644 index 0000000..eea0f55 --- /dev/null +++ b/src/api/exceptionFilter.ts @@ -0,0 +1,71 @@ +import { request } from '@/utils/request' + +// 异常过滤表 类型定义 +export interface ExceptionFilter { + id?: number + + title?: string + + filterCondition?: string + + description?: string + + status?: 0 + + deleted?: number + +} + +// 异常过滤表 API +export const exceptionFilterApi = { + // 分页查询 + page(params: { page: number; pageSize: number; id?: number; status?: number }) { + return request({ url: '/biz/exceptionFilter/page', method: 'get', params }) + }, + + // 获取详情 + detail(id: string) { + return request({ url: `/biz/exceptionFilter/${id}`, method: 'get' }) + }, + + // 新增 + create(data: ExceptionFilter) { + return request({ url: '/biz/exceptionFilter', method: 'post', data }) + }, + + // 修改 + update(data: ExceptionFilter) { + return request({ url: '/biz/exceptionFilter', method: 'put', data }) + }, + + // 删除 + delete(ids: string[]) { + return request({ url: `/biz/exceptionFilter/${ids.join(',')}`, method: 'delete' }) + }, + + // 导出 + export(params?: { ids?: string[]; id?: number; status?: number }) { + 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/exceptionFilter/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/exceptionFilter/import`, + method: 'post', + data: formData, + headers: { 'Content-Type': 'multipart/form-data' } + }) + }, + + // 下载导入模板 + downloadTemplate() { + return request({ url: `/biz/exceptionFilter/template`, method: 'get', responseType: 'blob' }) + } +} diff --git a/src/api/message.ts b/src/api/message.ts index 00b66ad..ee64d78 100644 --- a/src/api/message.ts +++ b/src/api/message.ts @@ -13,7 +13,13 @@ export interface SysNotice { status: number createBy?: number createName?: string - createTime?: string + createTime?: string, + abnormalReporting?:number, + reportReason?:string, + errorNotificationId?:number, + filler?:number, + filingStatus?:number, + deviceName?:string } export interface NoticeChannelOption { diff --git a/src/api/nccode.ts b/src/api/nccode.ts index a13d29e..d940394 100644 --- a/src/api/nccode.ts +++ b/src/api/nccode.ts @@ -97,6 +97,7 @@ export function exportNccode(params:any) { return request({ url: `biz/ncCode/export`, method: 'get', - params + params, + responseType: 'blob' }) } diff --git a/src/api/orderProcessPlan.ts b/src/api/orderProcessPlan.ts index 9fdc400..605e16a 100644 --- a/src/api/orderProcessPlan.ts +++ b/src/api/orderProcessPlan.ts @@ -132,6 +132,8 @@ export interface ProcessPlanItemVO { assignWorkList?: AssignWorkItem[] + proWorkshop?: string + } @@ -230,6 +232,8 @@ export function processItemToEntity( orderItemId?: number, + proWorkshop?:string + ): OrderProcessPlan { return { @@ -262,7 +266,9 @@ export function processItemToEntity( storageEntry: item.storageEntry, - workCenterName:item.workCenterName + workCenterName:item.workCenterName, + + proWorkshop } diff --git a/src/api/qualityTesting.ts b/src/api/qualityTesting.ts index e038d50..54df286 100644 --- a/src/api/qualityTesting.ts +++ b/src/api/qualityTesting.ts @@ -103,5 +103,10 @@ export const qualityTestingApi = { // 下载导入模板 downloadTemplate() { return request({ url: `/biz/qualityTesting/template`, method: 'get', responseType: 'blob' }) + }, + + //加载质检单 + loadQualityTestingList(assingId:number) { + return request({url:`/mes/qc/loadQualityTestingList/${assingId}`,method:'get'}) } } \ No newline at end of file diff --git a/src/api/section.ts b/src/api/section.ts index 97c2110..a145595 100644 --- a/src/api/section.ts +++ b/src/api/section.ts @@ -68,7 +68,7 @@ export const sectionApi = { }) }, - list(params:{sectionName:string}) { + list(params:{sectionName:string,workShop:string}) { return request({ url:"/biz/section/listBySectionName", method:"get", diff --git a/src/api/submitLog.ts b/src/api/submitLog.ts index 7d8c5c6..97f7962 100644 --- a/src/api/submitLog.ts +++ b/src/api/submitLog.ts @@ -87,5 +87,19 @@ export const submitLogApi = { //按派工单id查询汇报 getByDispatch(dispatchId:number){ return request({url:`/mes/report/bydispatch/${dispatchId}`,method:"get"}) + }, + + //根据工序Id查询汇报 + getProcessReportDetail(params?:{page?:number;pageSize?:number;submitStatus?:number;processId?:number;}){ + return request({url:`/mes/report/submitLogToProcess`,method:"get",params}) + }, + //根据订单Id查询汇报 + getOrderItemReportDetail(params?:{page?:number;pageSize?:number;submitStatus?:number;orderItemId?:number;}){ + return request({url:`/mes/report/allSubmitLogByorderItemId`,method:"get",params}) + }, + + //加载汇报列表 + loadSumbitLog(assingId?:number){ + return request({url:`/mes/report/loadSumbitLog/${assingId}`,method:'get'}) } } diff --git a/src/components/ErrorReportModal.vue b/src/components/ErrorReportModal.vue new file mode 100644 index 0000000..c41425d --- /dev/null +++ b/src/components/ErrorReportModal.vue @@ -0,0 +1,217 @@ + + + + + \ No newline at end of file diff --git a/src/layout/index.vue b/src/layout/index.vue index a91bac8..ad563e5 100644 --- a/src/layout/index.vue +++ b/src/layout/index.vue @@ -331,6 +331,13 @@ + + + @@ -382,6 +389,8 @@ import TabBar from '@/components/TabBar.vue' import SiteLogoMark from '@/components/SiteLogoMark.vue' import { noticeApi, chatApi, type SysNotice, type ChatMessage } from '@/api/message' import { iconMap as externalIconMap } from '@/utils/icons' +import ErrorReportModal from "@/components/ErrorReportModal.vue"; +import {errorNotificationApi} from "@/api/errorNotification.ts"; const route = useRoute() const router = useRouter() @@ -405,6 +414,7 @@ window.$message = message const collapsed = ref(false) const showProfileModal = ref(false) const showPasswordModal = ref(false) +const showErrorReportModal = ref(false) const messageTab = ref('notice') // 消息相关 @@ -599,18 +609,27 @@ function stripHtml(html: string | undefined): string { } // 点击通知 +//是否需要填报 +const notice = ref( {}) async function handleNoticeClick(item: SysNotice) { - // 标记已读 - if (item.id) { - try { - await noticeApi.markAsRead(item.id) - // 刷新未读数量 - loadUnreadCount() - } catch (error) { - // 忽略 - } - } - router.push({ path: '/message/notice', query: { id: item.id?.toString() } }) + notice.value = item + //异常填报直接弹窗 + showErrorReportModal.value = true + // if (item.abnormalReporting) { + // + // }else { + // // 标记已读 + // if (item.id) { + // try { + // await noticeApi.markAsRead(item.id) + // // 刷新未读数量 + // loadUnreadCount() + // } catch (error) { + // // 忽略 + // } + // } + // router.push({ path: '/message/notice', query: { id: item.id?.toString() } }) + // } } // 点击聊天 diff --git a/src/router/index.ts b/src/router/index.ts index c0e6301..0036c26 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -289,18 +289,18 @@ const routes: RouteRecordRaw[] = [ component: () => import('@/views/biz/outsourcing/index.vue'), meta: { title: '工序委外', icon: 'ListOutline' } }, - { - path: 'biz/tool', - name: 'tool', - component: () => import('@/views/biz/tool/index.vue'), - meta: { title: '刀具管理', icon: 'ToolOutline' } - }, - { - path: 'biz/tool/usage', - name: 'toolUsage', - component: () => import('@/views/biz/tool/usage.vue'), - meta: { title: '刀具使用记录', icon: 'ToolOutline', activeMenu: '/biz/tool' } - }, + // { + // path: 'biz/tool', + // name: 'tool', + // component: () => import('@/views/biz/tool/index.vue'), + // meta: { title: '刀具管理', icon: 'ToolOutline' } + // }, + // { + // path: 'biz/tool/usage', + // name: 'toolUsage', + // component: () => import('@/views/biz/tool/usage.vue'), + // meta: { title: '刀具使用记录', icon: 'ToolOutline', activeMenu: '/biz/tool' } + // }, { path: 'biz/errorNotification', name: 'errorNotification', diff --git a/src/views/NCcode/index.vue b/src/views/NCcode/index.vue deleted file mode 100644 index 972f49e..0000000 --- a/src/views/NCcode/index.vue +++ /dev/null @@ -1,828 +0,0 @@ - - - - - diff --git a/src/views/biz/device/DeviceDispatchLog.vue b/src/views/biz/device/DeviceDispatchLog.vue index eb2992d..7f5bafd 100644 --- a/src/views/biz/device/DeviceDispatchLog.vue +++ b/src/views/biz/device/DeviceDispatchLog.vue @@ -19,7 +19,7 @@ const searchForm = ref({ const pagination = reactive({ page: 1, - pageSize: 2, + pageSize: 10, itemCount: 0, showSizePicker: true, pageSizes: [10, 20, 50] @@ -62,8 +62,12 @@ const load = async()=>{ const columns = [ { - title: '下发编号', - key: 'issueCode' + title: '工序名称', + key: 'processName' + }, + { + title: '工序名称', + key: 'assingCode' }, { title: '下发类型', @@ -89,6 +93,12 @@ const columns = [ title: '下发时间', key: 'issueTime' }, + // { + // title: '下发文件', + // render(row) { + // return row. + // } + // }, { title: '备注', key: 'remark' @@ -138,11 +148,6 @@ onMounted(()=>{ - - - - -
- + diff --git a/mes-ui/src/views/biz/concessionApply/index.vue b/src/views/biz/exceptionFilter/index.vue similarity index 67% rename from mes-ui/src/views/biz/concessionApply/index.vue rename to src/views/biz/exceptionFilter/index.vue index f6415ae..b27115d 100644 --- a/mes-ui/src/views/biz/concessionApply/index.vue +++ b/src/views/biz/exceptionFilter/index.vue @@ -4,8 +4,11 @@
- - + + + + + @@ -61,29 +64,26 @@ - - + + - - + + - - + + - - - - - - - - - - - - - - + + + + + 启用 + + + 禁用 + + + @@ -570,7 +589,7 @@ import { AddOutline, RemoveOutline, SearchOutline, RefreshOutline, CloudUploadOutline, DownloadOutline, ChevronDownOutline, CheckmarkCircleOutline, CheckmarkCircle, EllipseOutline, TimeOutline, PrintOutline, SyncOutline, PeopleOutline, - GitBranchOutline, CloseCircleOutline, LockClosedOutline, TrashOutline, + GitBranchOutline, CloseCircleOutline, LockClosedOutline, TrashOutline, EyeSharp, } from '@vicons/ionicons5' import { orderProcessPlanApi, @@ -588,8 +607,8 @@ import ProcessCard from './components/ProcessCard.vue' import PlmModelDrawer from '@/components/PlmModelDrawer.vue' import type { PlmModelOpenContext } from '@/api/plmModel' import Pgitem from './pgitem.vue' -import { submitLogApi } from '@/api/submitLog.ts' - +import ReportDetailPage from "@/views/biz/orderProcessPlan/components/ReportDetail.vue"; +import OrderReportDetailPage from "@/views/biz/orderProcessPlan/components/OrderReportDetail.vue"; const message = useMessage() @@ -629,16 +648,15 @@ const dispatchmodal = ref(false) const dispatchLoading = ref(false) const dispatchformRef = ref() const dispatchform = reactive({ - id: '', name: '', beginTime: '', endTime: '', quantity: '', workCenterName: '', - completedQty: 0, - remainQty: 0, - list: [{ sectionId: '', deviceId: '', userList: '', quantity: '' }], + id: '', name: '', beginTime: '', endTime: '', quantity: '',workCenterName:'', + list: [{ sectionId:'',deviceId:'', quantity: '' }], }) const dispatchrules = {} const importModalVisible = ref(false) const plmModelDrawerRef = ref | null>(null) +const submitModalVisible = ref(false) const outsourceModalVisible = ref(false) const outsourceOptionsLoading = ref(false) @@ -681,13 +699,14 @@ function openPlmModel(order: OrderProcessPlanVO, process?: ProcessPlanItemVO) { //汇报记录详情 const submitLogModalVisible = ref(false) - +const processId = ref(null) //汇报详情 -function openDetailModel(order:ProcessPlanItemVO,procces?:OrderProcessPlanVO) { +function openDetailModel(order:ProcessPlanItemVO,process?:OrderProcessPlanVO) { - // submitLogModalVisible.value = true - // const processId = procces.planId + submitLogModalVisible.value = true + console.log(process.planId) + processId.value = process.planId } @@ -726,6 +745,7 @@ const moreOptions = [ { label: '创建返工单', key: 'createRework', icon: dropdownIcon(SyncOutline) }, { label: '创建工序委外', key: 'createOutsource', icon: dropdownIcon(PeopleOutline) }, { label: '拆分工单', key: 'splitWorkOrder', icon: dropdownIcon(GitBranchOutline) }, + { label: '汇报详情', key: 'reportDetailView', icon: dropdownIcon(EyeSharp) }, ], }, { @@ -880,6 +900,11 @@ function onMoreSelect(key: string, order: OrderProcessPlanVO) { openOutsource(order) return } + if (key === 'reportDetailView') { + openReportDetail(order) + return; + } + const labels: Record = { print: '打印', createRework: '创建返工单', @@ -1056,7 +1081,7 @@ async function handleSubmit() { } function disphand(process: ProcessPlanItemVO, order?: OrderProcessPlanVO) { - const entity = processItemToEntity(process, order?.orderItemId) + const entity = processItemToEntity(process, order?.orderItemId,order?.proWorkshop) const planQty = Number(entity.quantity) || 0 const completedQty = Number(process.completedQty) || 0 @@ -1075,6 +1100,12 @@ function disphand(process: ProcessPlanItemVO, order?: OrderProcessPlanVO) { dispatchform.orderItemId = entity.orderItemId dispatchform.sort = entity.sort dispatchform.workCenterName = entity.workCenterName + dispatchform.workShop = entity.proWorkshop + dispatchform.list = [{ sectionId:'',deviceId:'', quantity: '' }] + + console.log(dispatchform) + + dispatchform.list = [{ sectionId: '', deviceId: '', userList: '', quantity: remainQty || '' }] } @@ -1156,6 +1187,15 @@ async function handleImportUpload({ file }: UploadCustomRequestOptions) { loadData() } + +const orderItemId = ref(null) + +function openReportDetail(order) { + submitModalVisible.value = true + orderItemId.value = order.orderItemId + +} + onMounted(loadData) diff --git a/src/views/biz/orderProcessPlan/components/OrderReportDetail.vue b/src/views/biz/orderProcessPlan/components/OrderReportDetail.vue new file mode 100644 index 0000000..e89e2ed --- /dev/null +++ b/src/views/biz/orderProcessPlan/components/OrderReportDetail.vue @@ -0,0 +1,211 @@ + + + + + \ No newline at end of file diff --git a/src/views/biz/orderProcessPlan/components/ProcessCard.vue b/src/views/biz/orderProcessPlan/components/ProcessCard.vue index a8c1950..6f157e5 100644 --- a/src/views/biz/orderProcessPlan/components/ProcessCard.vue +++ b/src/views/biz/orderProcessPlan/components/ProcessCard.vue @@ -96,7 +96,7 @@ >委外 汇报 diff --git a/src/views/biz/orderProcessPlan/components/ReportDetail.vue b/src/views/biz/orderProcessPlan/components/ReportDetail.vue new file mode 100644 index 0000000..ea77693 --- /dev/null +++ b/src/views/biz/orderProcessPlan/components/ReportDetail.vue @@ -0,0 +1,209 @@ + + + + + \ No newline at end of file diff --git a/src/views/biz/orderProcessPlan/pgitem.vue b/src/views/biz/orderProcessPlan/pgitem.vue index 115f17b..6d736dc 100644 --- a/src/views/biz/orderProcessPlan/pgitem.vue +++ b/src/views/biz/orderProcessPlan/pgitem.vue @@ -95,6 +95,7 @@ obj:any, index:any section:string + workShop: string }>(), { obj:{} }) @@ -155,23 +156,23 @@ //加载工段 async function loadSection() { //根据section 进行匹配 - const res = await sectionApi.list({sectionName:props.section}) + const res = await sectionApi.list({sectionName:props.section,workShop:props.workShop}) const mesSection = res.MesSection; const mesDevice = res.MesDevice console.log(mesSection); - + sectionList.push({ label:mesSection.sectionName, value:mesSection.id - }) - props.obj.sectionId = mesSection.id - + }) + props.obj.sectionId = mesSection.id + deviceList.value = mesDevice.map((n:any)=>{ return { label:n.deviceName, value:n.id+'' } - }) + }) } // function searchSection(sectionId?:number){ diff --git a/src/views/biz/qualityItem/index.vue b/src/views/biz/qualityItem/index.vue index 7d22e58..99f94f6 100644 --- a/src/views/biz/qualityItem/index.vue +++ b/src/views/biz/qualityItem/index.vue @@ -311,7 +311,7 @@ const defaultFormData: QcItem = { plans: '', description: '', createby: undefined, - status:undefined + status:0 } const formData = reactive({ ...defaultFormData }) @@ -319,6 +319,8 @@ const formData = reactive({ ...defaultFormData }) // 表单校验规则 const formRules = { + name: [{ required: true, message: '请输入质检项名称', trigger: 'blur' }], + spec: [{ required: true, message: '请输入质检项规格', trigger: 'blur' }], } // 表格列 @@ -497,15 +499,16 @@ async function handleSubmit() { if (typeof submitData.updateTime === 'number') { submitData.updateTime = new Date(submitData.updateTime).toISOString().slice(0, 19).replace('T', ' ') } - if (submitData.id) { - await qcItemApi.update(submitData) - message.success('修改成功') - } else { - await qcItemApi.create(submitData) - message.success('新增成功') - } - modalVisible.value = false - loadData() + console.log(submitData) + // if (submitData.id) { + // await qcItemApi.update(submitData) + // message.success('修改成功') + // } else { + // await qcItemApi.create(submitData) + // message.success('新增成功') + // } + // modalVisible.value = false + // loadData() } catch (error) { // 错误已在拦截器处理 } diff --git a/src/views/production/componets/AssingWorkTreeTable.vue b/src/views/production/componets/AssingWorkTreeTable.vue index 4d9660d..afce329 100644 --- a/src/views/production/componets/AssingWorkTreeTable.vue +++ b/src/views/production/componets/AssingWorkTreeTable.vue @@ -11,17 +11,20 @@
- + + + +
@@ -506,10 +509,11 @@ async function loadDictOptions() { } //汇报信息弹窗 +const assingId = ref(null) function handleReportRecords(row:any) { showQcReport.value = true reportTitle.value = "汇报信息" - submitLogList.value = row.submitLogList + assingId.value = row.id baseInfo.value = {...row} baseInfo.value.logOrQuality = "log" } @@ -520,8 +524,7 @@ function handleReportRecords(row:any) { function handleQualityRecords(row:any) { showQcReport.value = true reportTitle.value = "质检信息" - qualityList.value = row.qualityTestingList - console.log(qualityList.value) + assingId.value = row.id baseInfo.value = {...row} baseInfo.value.logOrQuality = "Quality" } diff --git a/src/views/production/componets/QualityInfoPage.vue b/src/views/production/componets/QualityInfoPage.vue index 6feee68..9db9414 100644 --- a/src/views/production/componets/QualityInfoPage.vue +++ b/src/views/production/componets/QualityInfoPage.vue @@ -27,7 +27,7 @@ @@ -39,11 +39,11 @@ import { NCard, NDataTable, NGi,NTag, NGrid,DataTableColumns} from "naive-ui"; import {onMounted, ref,h} from "vue"; import { dictDataApi } from '@/api/org' -import {QualityTesting} from "@/api/qualityTesting.ts"; +import {QualityTesting,qualityTestingApi} from "@/api/qualityTesting.ts"; const props =defineProps( { - qualityTestingList:Object, + assingId:Object, baseInfo:Object } ) @@ -91,9 +91,15 @@ async function loadDictOptions() { } +const qualityTestingList = ref([]) +async function loadQualityTestingList() { + const res = await qualityTestingApi.loadQualityTestingList(props.assingId) + qualityTestingList.value = res +} onMounted(()=>{ loadDictOptions() + loadQualityTestingList() })