diff --git a/src/api/customer/sampleList.ts b/src/api/customer/sampleList.ts index e82a99e..65acbce 100644 --- a/src/api/customer/sampleList.ts +++ b/src/api/customer/sampleList.ts @@ -60,18 +60,18 @@ } // 查询检定记录 -export function getMesureRecords(data: { customerId?: string; sampleId?: string }) { +export function getMesureRecords(data: { customerId?: string; sampleId?: string; offset: number; limit: number }) { return request({ - url: `${prefix}/sample/measureRecordsById`, + url: `${prefix}/sample/measureRecordsById?offset=${data.offset}&limit=${data.limit}`, method: 'post', data, }) } // 查询检定证书 -export function getCertification(data: { customerId?: string; sampleId?: string }) { +export function getCertification(data: { customerId?: string; sampleId?: string; offset: number; limit: number }) { return request({ - url: '/business/certificateReport/certificateRecordsById', + url: `/business/certificateReport/certificateRecordsById?offset=${data.offset}&limit=${data.limit}`, method: 'post', data, }) diff --git a/src/api/customer/sampleList.ts b/src/api/customer/sampleList.ts index e82a99e..65acbce 100644 --- a/src/api/customer/sampleList.ts +++ b/src/api/customer/sampleList.ts @@ -60,18 +60,18 @@ } // 查询检定记录 -export function getMesureRecords(data: { customerId?: string; sampleId?: string }) { +export function getMesureRecords(data: { customerId?: string; sampleId?: string; offset: number; limit: number }) { return request({ - url: `${prefix}/sample/measureRecordsById`, + url: `${prefix}/sample/measureRecordsById?offset=${data.offset}&limit=${data.limit}`, method: 'post', data, }) } // 查询检定证书 -export function getCertification(data: { customerId?: string; sampleId?: string }) { +export function getCertification(data: { customerId?: string; sampleId?: string; offset: number; limit: number }) { return request({ - url: '/business/certificateReport/certificateRecordsById', + url: `/business/certificateReport/certificateRecordsById?offset=${data.offset}&limit=${data.limit}`, method: 'post', data, }) diff --git a/src/assets/icons/business-board.svg b/src/assets/icons/business-board.svg new file mode 100644 index 0000000..990fe35 --- /dev/null +++ b/src/assets/icons/business-board.svg @@ -0,0 +1 @@ + diff --git a/src/api/customer/sampleList.ts b/src/api/customer/sampleList.ts index e82a99e..65acbce 100644 --- a/src/api/customer/sampleList.ts +++ b/src/api/customer/sampleList.ts @@ -60,18 +60,18 @@ } // 查询检定记录 -export function getMesureRecords(data: { customerId?: string; sampleId?: string }) { +export function getMesureRecords(data: { customerId?: string; sampleId?: string; offset: number; limit: number }) { return request({ - url: `${prefix}/sample/measureRecordsById`, + url: `${prefix}/sample/measureRecordsById?offset=${data.offset}&limit=${data.limit}`, method: 'post', data, }) } // 查询检定证书 -export function getCertification(data: { customerId?: string; sampleId?: string }) { +export function getCertification(data: { customerId?: string; sampleId?: string; offset: number; limit: number }) { return request({ - url: '/business/certificateReport/certificateRecordsById', + url: `/business/certificateReport/certificateRecordsById?offset=${data.offset}&limit=${data.limit}`, method: 'post', data, }) diff --git a/src/assets/icons/business-board.svg b/src/assets/icons/business-board.svg new file mode 100644 index 0000000..990fe35 --- /dev/null +++ b/src/assets/icons/business-board.svg @@ -0,0 +1 @@ + diff --git a/src/assets/icons/icon-create.svg b/src/assets/icons/icon-create.svg new file mode 100644 index 0000000..5d651db --- /dev/null +++ b/src/assets/icons/icon-create.svg @@ -0,0 +1 @@ + diff --git a/src/api/customer/sampleList.ts b/src/api/customer/sampleList.ts index e82a99e..65acbce 100644 --- a/src/api/customer/sampleList.ts +++ b/src/api/customer/sampleList.ts @@ -60,18 +60,18 @@ } // 查询检定记录 -export function getMesureRecords(data: { customerId?: string; sampleId?: string }) { +export function getMesureRecords(data: { customerId?: string; sampleId?: string; offset: number; limit: number }) { return request({ - url: `${prefix}/sample/measureRecordsById`, + url: `${prefix}/sample/measureRecordsById?offset=${data.offset}&limit=${data.limit}`, method: 'post', data, }) } // 查询检定证书 -export function getCertification(data: { customerId?: string; sampleId?: string }) { +export function getCertification(data: { customerId?: string; sampleId?: string; offset: number; limit: number }) { return request({ - url: '/business/certificateReport/certificateRecordsById', + url: `/business/certificateReport/certificateRecordsById?offset=${data.offset}&limit=${data.limit}`, method: 'post', data, }) diff --git a/src/assets/icons/business-board.svg b/src/assets/icons/business-board.svg new file mode 100644 index 0000000..990fe35 --- /dev/null +++ b/src/assets/icons/business-board.svg @@ -0,0 +1 @@ + diff --git a/src/assets/icons/icon-create.svg b/src/assets/icons/icon-create.svg new file mode 100644 index 0000000..5d651db --- /dev/null +++ b/src/assets/icons/icon-create.svg @@ -0,0 +1 @@ + diff --git a/src/router/modules/business.ts b/src/router/modules/business.ts index 015814f..4de6ce2 100644 --- a/src/router/modules/business.ts +++ b/src/router/modules/business.ts @@ -29,6 +29,41 @@ ], }, { + path: '/board', + component: Layout, + redirect: '/board/overdueReminderList', + name: 'Board', + meta: { + title: '业务看板', + icon: 'ep:key', + auth: '/business/board', + }, + children: [ + { + path: 'overdueReminderList', + name: 'OverdueReminderList', + component: () => import('@/views/business/board/overdueReminder/list.vue'), + meta: { + title: '样品超期提醒', + icon: 'ep:key', + auth: '/business/board/overdueReminder', + }, + }, + { + path: 'overdueReminderDetail/:id', + name: 'OverdueReminderDetail', + component: () => import('@/views/business/board/overdueReminder/detail.vue'), + meta: { + title: '样品超期提醒详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/board/overdueReminderList', + }, + }, + ], + }, + { path: '/schedule', component: Layout, redirect: '/schedule/orderList', @@ -314,7 +349,7 @@ { path: '/:type/:id?', name: 'taskDetail', - component: () => import('@/views/business/schedule/certificate/edit.vue'), + component: () => import('@/views/business/subpackage/certificate/edit.vue'), meta: { title: '分包证书详情', icon: 'ep:key', diff --git a/src/api/customer/sampleList.ts b/src/api/customer/sampleList.ts index e82a99e..65acbce 100644 --- a/src/api/customer/sampleList.ts +++ b/src/api/customer/sampleList.ts @@ -60,18 +60,18 @@ } // 查询检定记录 -export function getMesureRecords(data: { customerId?: string; sampleId?: string }) { +export function getMesureRecords(data: { customerId?: string; sampleId?: string; offset: number; limit: number }) { return request({ - url: `${prefix}/sample/measureRecordsById`, + url: `${prefix}/sample/measureRecordsById?offset=${data.offset}&limit=${data.limit}`, method: 'post', data, }) } // 查询检定证书 -export function getCertification(data: { customerId?: string; sampleId?: string }) { +export function getCertification(data: { customerId?: string; sampleId?: string; offset: number; limit: number }) { return request({ - url: '/business/certificateReport/certificateRecordsById', + url: `/business/certificateReport/certificateRecordsById?offset=${data.offset}&limit=${data.limit}`, method: 'post', data, }) diff --git a/src/assets/icons/business-board.svg b/src/assets/icons/business-board.svg new file mode 100644 index 0000000..990fe35 --- /dev/null +++ b/src/assets/icons/business-board.svg @@ -0,0 +1 @@ + diff --git a/src/assets/icons/icon-create.svg b/src/assets/icons/icon-create.svg new file mode 100644 index 0000000..5d651db --- /dev/null +++ b/src/assets/icons/icon-create.svg @@ -0,0 +1 @@ + diff --git a/src/router/modules/business.ts b/src/router/modules/business.ts index 015814f..4de6ce2 100644 --- a/src/router/modules/business.ts +++ b/src/router/modules/business.ts @@ -29,6 +29,41 @@ ], }, { + path: '/board', + component: Layout, + redirect: '/board/overdueReminderList', + name: 'Board', + meta: { + title: '业务看板', + icon: 'ep:key', + auth: '/business/board', + }, + children: [ + { + path: 'overdueReminderList', + name: 'OverdueReminderList', + component: () => import('@/views/business/board/overdueReminder/list.vue'), + meta: { + title: '样品超期提醒', + icon: 'ep:key', + auth: '/business/board/overdueReminder', + }, + }, + { + path: 'overdueReminderDetail/:id', + name: 'OverdueReminderDetail', + component: () => import('@/views/business/board/overdueReminder/detail.vue'), + meta: { + title: '样品超期提醒详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/board/overdueReminderList', + }, + }, + ], + }, + { path: '/schedule', component: Layout, redirect: '/schedule/orderList', @@ -314,7 +349,7 @@ { path: '/:type/:id?', name: 'taskDetail', - component: () => import('@/views/business/schedule/certificate/edit.vue'), + component: () => import('@/views/business/subpackage/certificate/edit.vue'), meta: { title: '分包证书详情', icon: 'ep:key', diff --git a/src/views/business/board/overdueReminder/detail.vue b/src/views/business/board/overdueReminder/detail.vue new file mode 100644 index 0000000..fd22d7c --- /dev/null +++ b/src/views/business/board/overdueReminder/detail.vue @@ -0,0 +1,591 @@ + + + + + + + diff --git a/src/api/customer/sampleList.ts b/src/api/customer/sampleList.ts index e82a99e..65acbce 100644 --- a/src/api/customer/sampleList.ts +++ b/src/api/customer/sampleList.ts @@ -60,18 +60,18 @@ } // 查询检定记录 -export function getMesureRecords(data: { customerId?: string; sampleId?: string }) { +export function getMesureRecords(data: { customerId?: string; sampleId?: string; offset: number; limit: number }) { return request({ - url: `${prefix}/sample/measureRecordsById`, + url: `${prefix}/sample/measureRecordsById?offset=${data.offset}&limit=${data.limit}`, method: 'post', data, }) } // 查询检定证书 -export function getCertification(data: { customerId?: string; sampleId?: string }) { +export function getCertification(data: { customerId?: string; sampleId?: string; offset: number; limit: number }) { return request({ - url: '/business/certificateReport/certificateRecordsById', + url: `/business/certificateReport/certificateRecordsById?offset=${data.offset}&limit=${data.limit}`, method: 'post', data, }) diff --git a/src/assets/icons/business-board.svg b/src/assets/icons/business-board.svg new file mode 100644 index 0000000..990fe35 --- /dev/null +++ b/src/assets/icons/business-board.svg @@ -0,0 +1 @@ + diff --git a/src/assets/icons/icon-create.svg b/src/assets/icons/icon-create.svg new file mode 100644 index 0000000..5d651db --- /dev/null +++ b/src/assets/icons/icon-create.svg @@ -0,0 +1 @@ + diff --git a/src/router/modules/business.ts b/src/router/modules/business.ts index 015814f..4de6ce2 100644 --- a/src/router/modules/business.ts +++ b/src/router/modules/business.ts @@ -29,6 +29,41 @@ ], }, { + path: '/board', + component: Layout, + redirect: '/board/overdueReminderList', + name: 'Board', + meta: { + title: '业务看板', + icon: 'ep:key', + auth: '/business/board', + }, + children: [ + { + path: 'overdueReminderList', + name: 'OverdueReminderList', + component: () => import('@/views/business/board/overdueReminder/list.vue'), + meta: { + title: '样品超期提醒', + icon: 'ep:key', + auth: '/business/board/overdueReminder', + }, + }, + { + path: 'overdueReminderDetail/:id', + name: 'OverdueReminderDetail', + component: () => import('@/views/business/board/overdueReminder/detail.vue'), + meta: { + title: '样品超期提醒详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/board/overdueReminderList', + }, + }, + ], + }, + { path: '/schedule', component: Layout, redirect: '/schedule/orderList', @@ -314,7 +349,7 @@ { path: '/:type/:id?', name: 'taskDetail', - component: () => import('@/views/business/schedule/certificate/edit.vue'), + component: () => import('@/views/business/subpackage/certificate/edit.vue'), meta: { title: '分包证书详情', icon: 'ep:key', diff --git a/src/views/business/board/overdueReminder/detail.vue b/src/views/business/board/overdueReminder/detail.vue new file mode 100644 index 0000000..fd22d7c --- /dev/null +++ b/src/views/business/board/overdueReminder/detail.vue @@ -0,0 +1,591 @@ + + + + + + + diff --git a/src/views/business/board/overdueReminder/list.vue b/src/views/business/board/overdueReminder/list.vue new file mode 100644 index 0000000..387fadc --- /dev/null +++ b/src/views/business/board/overdueReminder/list.vue @@ -0,0 +1,268 @@ + + + + + + diff --git a/src/api/customer/sampleList.ts b/src/api/customer/sampleList.ts index e82a99e..65acbce 100644 --- a/src/api/customer/sampleList.ts +++ b/src/api/customer/sampleList.ts @@ -60,18 +60,18 @@ } // 查询检定记录 -export function getMesureRecords(data: { customerId?: string; sampleId?: string }) { +export function getMesureRecords(data: { customerId?: string; sampleId?: string; offset: number; limit: number }) { return request({ - url: `${prefix}/sample/measureRecordsById`, + url: `${prefix}/sample/measureRecordsById?offset=${data.offset}&limit=${data.limit}`, method: 'post', data, }) } // 查询检定证书 -export function getCertification(data: { customerId?: string; sampleId?: string }) { +export function getCertification(data: { customerId?: string; sampleId?: string; offset: number; limit: number }) { return request({ - url: '/business/certificateReport/certificateRecordsById', + url: `/business/certificateReport/certificateRecordsById?offset=${data.offset}&limit=${data.limit}`, method: 'post', data, }) diff --git a/src/assets/icons/business-board.svg b/src/assets/icons/business-board.svg new file mode 100644 index 0000000..990fe35 --- /dev/null +++ b/src/assets/icons/business-board.svg @@ -0,0 +1 @@ + diff --git a/src/assets/icons/icon-create.svg b/src/assets/icons/icon-create.svg new file mode 100644 index 0000000..5d651db --- /dev/null +++ b/src/assets/icons/icon-create.svg @@ -0,0 +1 @@ + diff --git a/src/router/modules/business.ts b/src/router/modules/business.ts index 015814f..4de6ce2 100644 --- a/src/router/modules/business.ts +++ b/src/router/modules/business.ts @@ -29,6 +29,41 @@ ], }, { + path: '/board', + component: Layout, + redirect: '/board/overdueReminderList', + name: 'Board', + meta: { + title: '业务看板', + icon: 'ep:key', + auth: '/business/board', + }, + children: [ + { + path: 'overdueReminderList', + name: 'OverdueReminderList', + component: () => import('@/views/business/board/overdueReminder/list.vue'), + meta: { + title: '样品超期提醒', + icon: 'ep:key', + auth: '/business/board/overdueReminder', + }, + }, + { + path: 'overdueReminderDetail/:id', + name: 'OverdueReminderDetail', + component: () => import('@/views/business/board/overdueReminder/detail.vue'), + meta: { + title: '样品超期提醒详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/board/overdueReminderList', + }, + }, + ], + }, + { path: '/schedule', component: Layout, redirect: '/schedule/orderList', @@ -314,7 +349,7 @@ { path: '/:type/:id?', name: 'taskDetail', - component: () => import('@/views/business/schedule/certificate/edit.vue'), + component: () => import('@/views/business/subpackage/certificate/edit.vue'), meta: { title: '分包证书详情', icon: 'ep:key', diff --git a/src/views/business/board/overdueReminder/detail.vue b/src/views/business/board/overdueReminder/detail.vue new file mode 100644 index 0000000..fd22d7c --- /dev/null +++ b/src/views/business/board/overdueReminder/detail.vue @@ -0,0 +1,591 @@ + + + + + + + diff --git a/src/views/business/board/overdueReminder/list.vue b/src/views/business/board/overdueReminder/list.vue new file mode 100644 index 0000000..387fadc --- /dev/null +++ b/src/views/business/board/overdueReminder/list.vue @@ -0,0 +1,268 @@ + + + + + + diff --git a/src/views/business/board/overdueReminder/overdueReminder_interface.ts b/src/views/business/board/overdueReminder/overdueReminder_interface.ts new file mode 100644 index 0000000..28bdcb1 --- /dev/null +++ b/src/views/business/board/overdueReminder/overdueReminder_interface.ts @@ -0,0 +1,30 @@ +// 筛选 +export interface IListQuery { + sampleNo: string // 样品编号 + sampleName: string // 样品名称 + orderNo: string // 委托书编号 + customerNo: string // 委托方代码 + offset: number + limit: number + startTime: string // 预计送达开始时间 + endTime: string // 预计送达结束时间 + isUrgent: string // 是否加急 //2全部 + sampleBelong: string // 样品属性 //2全部 + sampleStatus: string // 样品状态 +} +// 表格 +export interface IList { + id: string // 主键 + sampleId: string // 样品id + sampleNo: string // 样品编号 + sampleName: string// 样品名称 + sampleModel: string// 型号 + manufacturingNo: string// 出厂编号 + orderId: string // 委托书id + orderCode: string// 委托书编号 + customerNo: string// 委托方代码 + customerName: string// 委托方名称 + deliverer: string// 送检人 + remark: string// 备注 +} + diff --git a/src/api/customer/sampleList.ts b/src/api/customer/sampleList.ts index e82a99e..65acbce 100644 --- a/src/api/customer/sampleList.ts +++ b/src/api/customer/sampleList.ts @@ -60,18 +60,18 @@ } // 查询检定记录 -export function getMesureRecords(data: { customerId?: string; sampleId?: string }) { +export function getMesureRecords(data: { customerId?: string; sampleId?: string; offset: number; limit: number }) { return request({ - url: `${prefix}/sample/measureRecordsById`, + url: `${prefix}/sample/measureRecordsById?offset=${data.offset}&limit=${data.limit}`, method: 'post', data, }) } // 查询检定证书 -export function getCertification(data: { customerId?: string; sampleId?: string }) { +export function getCertification(data: { customerId?: string; sampleId?: string; offset: number; limit: number }) { return request({ - url: '/business/certificateReport/certificateRecordsById', + url: `/business/certificateReport/certificateRecordsById?offset=${data.offset}&limit=${data.limit}`, method: 'post', data, }) diff --git a/src/assets/icons/business-board.svg b/src/assets/icons/business-board.svg new file mode 100644 index 0000000..990fe35 --- /dev/null +++ b/src/assets/icons/business-board.svg @@ -0,0 +1 @@ + diff --git a/src/assets/icons/icon-create.svg b/src/assets/icons/icon-create.svg new file mode 100644 index 0000000..5d651db --- /dev/null +++ b/src/assets/icons/icon-create.svg @@ -0,0 +1 @@ + diff --git a/src/router/modules/business.ts b/src/router/modules/business.ts index 015814f..4de6ce2 100644 --- a/src/router/modules/business.ts +++ b/src/router/modules/business.ts @@ -29,6 +29,41 @@ ], }, { + path: '/board', + component: Layout, + redirect: '/board/overdueReminderList', + name: 'Board', + meta: { + title: '业务看板', + icon: 'ep:key', + auth: '/business/board', + }, + children: [ + { + path: 'overdueReminderList', + name: 'OverdueReminderList', + component: () => import('@/views/business/board/overdueReminder/list.vue'), + meta: { + title: '样品超期提醒', + icon: 'ep:key', + auth: '/business/board/overdueReminder', + }, + }, + { + path: 'overdueReminderDetail/:id', + name: 'OverdueReminderDetail', + component: () => import('@/views/business/board/overdueReminder/detail.vue'), + meta: { + title: '样品超期提醒详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/board/overdueReminderList', + }, + }, + ], + }, + { path: '/schedule', component: Layout, redirect: '/schedule/orderList', @@ -314,7 +349,7 @@ { path: '/:type/:id?', name: 'taskDetail', - component: () => import('@/views/business/schedule/certificate/edit.vue'), + component: () => import('@/views/business/subpackage/certificate/edit.vue'), meta: { title: '分包证书详情', icon: 'ep:key', diff --git a/src/views/business/board/overdueReminder/detail.vue b/src/views/business/board/overdueReminder/detail.vue new file mode 100644 index 0000000..fd22d7c --- /dev/null +++ b/src/views/business/board/overdueReminder/detail.vue @@ -0,0 +1,591 @@ + + + + + + + diff --git a/src/views/business/board/overdueReminder/list.vue b/src/views/business/board/overdueReminder/list.vue new file mode 100644 index 0000000..387fadc --- /dev/null +++ b/src/views/business/board/overdueReminder/list.vue @@ -0,0 +1,268 @@ + + + + + + diff --git a/src/views/business/board/overdueReminder/overdueReminder_interface.ts b/src/views/business/board/overdueReminder/overdueReminder_interface.ts new file mode 100644 index 0000000..28bdcb1 --- /dev/null +++ b/src/views/business/board/overdueReminder/overdueReminder_interface.ts @@ -0,0 +1,30 @@ +// 筛选 +export interface IListQuery { + sampleNo: string // 样品编号 + sampleName: string // 样品名称 + orderNo: string // 委托书编号 + customerNo: string // 委托方代码 + offset: number + limit: number + startTime: string // 预计送达开始时间 + endTime: string // 预计送达结束时间 + isUrgent: string // 是否加急 //2全部 + sampleBelong: string // 样品属性 //2全部 + sampleStatus: string // 样品状态 +} +// 表格 +export interface IList { + id: string // 主键 + sampleId: string // 样品id + sampleNo: string // 样品编号 + sampleName: string// 样品名称 + sampleModel: string// 型号 + manufacturingNo: string// 出厂编号 + orderId: string // 委托书id + orderCode: string// 委托书编号 + customerNo: string// 委托方代码 + customerName: string// 委托方名称 + deliverer: string// 送检人 + remark: string// 备注 +} + diff --git a/src/views/business/schedule/interchange/interchangeDetail.vue b/src/views/business/schedule/interchange/interchangeDetail.vue index 789505f..3ce754d 100644 --- a/src/views/business/schedule/interchange/interchangeDetail.vue +++ b/src/views/business/schedule/interchange/interchangeDetail.vue @@ -4,6 +4,7 @@ import { ElMessage, ElMessageBox } from 'element-plus' import type { FormInstance, UploadUserFile } from 'element-plus' import { ref } from 'vue' +import type { IRecord } from './interchange_interface' import type { ISampleEdit, Menu, SimpleCertification, SimpleMeasureRecord, dictType } from '@/views/customer/sample/list/sample_list_interface' import selectCustomer from '@/views/customer/sample/list/selectCustomer.vue' import showPhoto from '@/views/system/tool/showPhoto.vue' @@ -27,6 +28,7 @@ const mesureCategoryList = ref([]) // 校检类别 const measureTypeList = ref([]) // 检定方式 const powerVoltageList = ref([]) // 电源电压 +const total = ref(0) const dataForm: Ref = ref({ id: '', sampleNo: '', // 样品编号 @@ -109,11 +111,21 @@ } getDict() +// --------------------------检定记录、检定证书----------------------------------------- +const listQuery = ref({ + sampleId: infoId.value, // 样品id + customerId: '', // 客户id + offset: 1, + limit: 10, +}) +const totalRecords = ref(0) // 检定记录 +const totalCertifications = ref(0) // 检定证书 // 获取检定记录 const fetchMeasureRecords = (query = null) => { if (pageType.value === 'detail') { - getMesureRecords({ sampleId: infoId.value, customerId: '' }).then((res) => { + getMesureRecords(listQuery.value).then((res) => { dataList.value.measureRecords = res.data.rows + totalRecords.value = parseInt(res.data.total) }) } } @@ -121,8 +133,9 @@ // 获取检定证书 const fetchCertifications = (query = null) => { if (pageType.value === 'detail') { - getCertification({ sampleId: infoId.value, customerId: '' }).then((res) => { + getCertification(listQuery.value).then((res) => { dataList.value.certificationRecords = res.data.rows + totalCertifications.value = parseInt(res.data.total) }) } } @@ -162,6 +175,23 @@ const currentMenuObj = computed(() => { return menu.find(item => item.name === currentMenu.value) }) +watch(currentMenuObj, () => { + listQuery.value.offset = 1 + currentMenuObj.value?.searchFunc() +}, +{ + deep: true, + immediate: true, +}) + +// 监听检定记录和证书报告页数变化 +const changePage = (val: any) => { + if (val.value && currentMenuObj) { + listQuery.value.offset = val.value.offset + listQuery.value.limit = val.value.limit + currentMenuObj.value?.searchFunc() + } +} // 从路由中获取页面类型参数 const $route = useRoute() @@ -615,7 +645,8 @@ - + + diff --git a/src/api/customer/sampleList.ts b/src/api/customer/sampleList.ts index e82a99e..65acbce 100644 --- a/src/api/customer/sampleList.ts +++ b/src/api/customer/sampleList.ts @@ -60,18 +60,18 @@ } // 查询检定记录 -export function getMesureRecords(data: { customerId?: string; sampleId?: string }) { +export function getMesureRecords(data: { customerId?: string; sampleId?: string; offset: number; limit: number }) { return request({ - url: `${prefix}/sample/measureRecordsById`, + url: `${prefix}/sample/measureRecordsById?offset=${data.offset}&limit=${data.limit}`, method: 'post', data, }) } // 查询检定证书 -export function getCertification(data: { customerId?: string; sampleId?: string }) { +export function getCertification(data: { customerId?: string; sampleId?: string; offset: number; limit: number }) { return request({ - url: '/business/certificateReport/certificateRecordsById', + url: `/business/certificateReport/certificateRecordsById?offset=${data.offset}&limit=${data.limit}`, method: 'post', data, }) diff --git a/src/assets/icons/business-board.svg b/src/assets/icons/business-board.svg new file mode 100644 index 0000000..990fe35 --- /dev/null +++ b/src/assets/icons/business-board.svg @@ -0,0 +1 @@ + diff --git a/src/assets/icons/icon-create.svg b/src/assets/icons/icon-create.svg new file mode 100644 index 0000000..5d651db --- /dev/null +++ b/src/assets/icons/icon-create.svg @@ -0,0 +1 @@ + diff --git a/src/router/modules/business.ts b/src/router/modules/business.ts index 015814f..4de6ce2 100644 --- a/src/router/modules/business.ts +++ b/src/router/modules/business.ts @@ -29,6 +29,41 @@ ], }, { + path: '/board', + component: Layout, + redirect: '/board/overdueReminderList', + name: 'Board', + meta: { + title: '业务看板', + icon: 'ep:key', + auth: '/business/board', + }, + children: [ + { + path: 'overdueReminderList', + name: 'OverdueReminderList', + component: () => import('@/views/business/board/overdueReminder/list.vue'), + meta: { + title: '样品超期提醒', + icon: 'ep:key', + auth: '/business/board/overdueReminder', + }, + }, + { + path: 'overdueReminderDetail/:id', + name: 'OverdueReminderDetail', + component: () => import('@/views/business/board/overdueReminder/detail.vue'), + meta: { + title: '样品超期提醒详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/board/overdueReminderList', + }, + }, + ], + }, + { path: '/schedule', component: Layout, redirect: '/schedule/orderList', @@ -314,7 +349,7 @@ { path: '/:type/:id?', name: 'taskDetail', - component: () => import('@/views/business/schedule/certificate/edit.vue'), + component: () => import('@/views/business/subpackage/certificate/edit.vue'), meta: { title: '分包证书详情', icon: 'ep:key', diff --git a/src/views/business/board/overdueReminder/detail.vue b/src/views/business/board/overdueReminder/detail.vue new file mode 100644 index 0000000..fd22d7c --- /dev/null +++ b/src/views/business/board/overdueReminder/detail.vue @@ -0,0 +1,591 @@ + + + + + + + diff --git a/src/views/business/board/overdueReminder/list.vue b/src/views/business/board/overdueReminder/list.vue new file mode 100644 index 0000000..387fadc --- /dev/null +++ b/src/views/business/board/overdueReminder/list.vue @@ -0,0 +1,268 @@ + + + + + + diff --git a/src/views/business/board/overdueReminder/overdueReminder_interface.ts b/src/views/business/board/overdueReminder/overdueReminder_interface.ts new file mode 100644 index 0000000..28bdcb1 --- /dev/null +++ b/src/views/business/board/overdueReminder/overdueReminder_interface.ts @@ -0,0 +1,30 @@ +// 筛选 +export interface IListQuery { + sampleNo: string // 样品编号 + sampleName: string // 样品名称 + orderNo: string // 委托书编号 + customerNo: string // 委托方代码 + offset: number + limit: number + startTime: string // 预计送达开始时间 + endTime: string // 预计送达结束时间 + isUrgent: string // 是否加急 //2全部 + sampleBelong: string // 样品属性 //2全部 + sampleStatus: string // 样品状态 +} +// 表格 +export interface IList { + id: string // 主键 + sampleId: string // 样品id + sampleNo: string // 样品编号 + sampleName: string// 样品名称 + sampleModel: string// 型号 + manufacturingNo: string// 出厂编号 + orderId: string // 委托书id + orderCode: string// 委托书编号 + customerNo: string// 委托方代码 + customerName: string// 委托方名称 + deliverer: string// 送检人 + remark: string// 备注 +} + diff --git a/src/views/business/schedule/interchange/interchangeDetail.vue b/src/views/business/schedule/interchange/interchangeDetail.vue index 789505f..3ce754d 100644 --- a/src/views/business/schedule/interchange/interchangeDetail.vue +++ b/src/views/business/schedule/interchange/interchangeDetail.vue @@ -4,6 +4,7 @@ import { ElMessage, ElMessageBox } from 'element-plus' import type { FormInstance, UploadUserFile } from 'element-plus' import { ref } from 'vue' +import type { IRecord } from './interchange_interface' import type { ISampleEdit, Menu, SimpleCertification, SimpleMeasureRecord, dictType } from '@/views/customer/sample/list/sample_list_interface' import selectCustomer from '@/views/customer/sample/list/selectCustomer.vue' import showPhoto from '@/views/system/tool/showPhoto.vue' @@ -27,6 +28,7 @@ const mesureCategoryList = ref([]) // 校检类别 const measureTypeList = ref([]) // 检定方式 const powerVoltageList = ref([]) // 电源电压 +const total = ref(0) const dataForm: Ref = ref({ id: '', sampleNo: '', // 样品编号 @@ -109,11 +111,21 @@ } getDict() +// --------------------------检定记录、检定证书----------------------------------------- +const listQuery = ref({ + sampleId: infoId.value, // 样品id + customerId: '', // 客户id + offset: 1, + limit: 10, +}) +const totalRecords = ref(0) // 检定记录 +const totalCertifications = ref(0) // 检定证书 // 获取检定记录 const fetchMeasureRecords = (query = null) => { if (pageType.value === 'detail') { - getMesureRecords({ sampleId: infoId.value, customerId: '' }).then((res) => { + getMesureRecords(listQuery.value).then((res) => { dataList.value.measureRecords = res.data.rows + totalRecords.value = parseInt(res.data.total) }) } } @@ -121,8 +133,9 @@ // 获取检定证书 const fetchCertifications = (query = null) => { if (pageType.value === 'detail') { - getCertification({ sampleId: infoId.value, customerId: '' }).then((res) => { + getCertification(listQuery.value).then((res) => { dataList.value.certificationRecords = res.data.rows + totalCertifications.value = parseInt(res.data.total) }) } } @@ -162,6 +175,23 @@ const currentMenuObj = computed(() => { return menu.find(item => item.name === currentMenu.value) }) +watch(currentMenuObj, () => { + listQuery.value.offset = 1 + currentMenuObj.value?.searchFunc() +}, +{ + deep: true, + immediate: true, +}) + +// 监听检定记录和证书报告页数变化 +const changePage = (val: any) => { + if (val.value && currentMenuObj) { + listQuery.value.offset = val.value.offset + listQuery.value.limit = val.value.limit + currentMenuObj.value?.searchFunc() + } +} // 从路由中获取页面类型参数 const $route = useRoute() @@ -615,7 +645,8 @@ - + + diff --git a/src/views/business/schedule/interchange/interchangeList.vue b/src/views/business/schedule/interchange/interchangeList.vue index 61ca5e5..51321f8 100644 --- a/src/views/business/schedule/interchange/interchangeList.vue +++ b/src/views/business/schedule/interchange/interchangeList.vue @@ -32,7 +32,7 @@ sampleNo: '', // 样品编号 sampleName: '', // 样品名称 orderNo: '', // 委托书编号 - customerId: '', // 委托方代码 + customerNo: '', // 委托方代码 startTime: '', // 预计送达开始时间 endTime: '', // 预计送达结束时间 isUrgent: '2', // 是否加急 //2全部 @@ -174,12 +174,12 @@ sampleNo: '', // 样品编号 sampleName: '', // 样品名称 orderNo: '', // 委托书编号 - customerId: '', // 委托方代码 + customerNo: '', // 委托方代码 startTime: '', // 预计送达开始时间 endTime: '', // 预计送达结束时间 isUrgent: '2', // 是否加急 sampleBelong: '2', // 样品属性 - sampleStatus: '', + sampleStatus: '', // 样品状态 offset: 1, limit: 20, } @@ -238,7 +238,7 @@ sampleNo: listQuery.value.sampleNo, // 样品编号 sampleName: listQuery.value.sampleName, // 样品名称 orderNo: listQuery.value.orderNo, // 委托书编号 - customerId: listQuery.value.customerId, // 委托方代码 + customerNo: listQuery.value.customerNo, // 委托方代码 startTime: listQuery.value.startTime, // 预计送达开始时间 endTime: listQuery.value.endTime, // 预计送达结束时间 isUrgent: listQuery.value.isUrgent, // 是否加急 @@ -363,6 +363,11 @@ $router.push(`/schedule/interchange/${pageType}/${row.sampleId}`) } +// 点击生成设备交接单 +const createInterchangeReceipt = () => { + $router.push('/schedule/receipt/add') +} + onMounted(async () => { await getDict() // 字典 if (window.sessionStorage.getItem('interchangeActive')) { @@ -407,7 +412,7 @@ - + + diff --git a/src/views/business/schedule/interchange/interchangeList.vue b/src/views/business/schedule/interchange/interchangeList.vue index 61ca5e5..51321f8 100644 --- a/src/views/business/schedule/interchange/interchangeList.vue +++ b/src/views/business/schedule/interchange/interchangeList.vue @@ -32,7 +32,7 @@ sampleNo: '', // 样品编号 sampleName: '', // 样品名称 orderNo: '', // 委托书编号 - customerId: '', // 委托方代码 + customerNo: '', // 委托方代码 startTime: '', // 预计送达开始时间 endTime: '', // 预计送达结束时间 isUrgent: '2', // 是否加急 //2全部 @@ -174,12 +174,12 @@ sampleNo: '', // 样品编号 sampleName: '', // 样品名称 orderNo: '', // 委托书编号 - customerId: '', // 委托方代码 + customerNo: '', // 委托方代码 startTime: '', // 预计送达开始时间 endTime: '', // 预计送达结束时间 isUrgent: '2', // 是否加急 sampleBelong: '2', // 样品属性 - sampleStatus: '', + sampleStatus: '', // 样品状态 offset: 1, limit: 20, } @@ -238,7 +238,7 @@ sampleNo: listQuery.value.sampleNo, // 样品编号 sampleName: listQuery.value.sampleName, // 样品名称 orderNo: listQuery.value.orderNo, // 委托书编号 - customerId: listQuery.value.customerId, // 委托方代码 + customerNo: listQuery.value.customerNo, // 委托方代码 startTime: listQuery.value.startTime, // 预计送达开始时间 endTime: listQuery.value.endTime, // 预计送达结束时间 isUrgent: listQuery.value.isUrgent, // 是否加急 @@ -363,6 +363,11 @@ $router.push(`/schedule/interchange/${pageType}/${row.sampleId}`) } +// 点击生成设备交接单 +const createInterchangeReceipt = () => { + $router.push('/schedule/receipt/add') +} + onMounted(async () => { await getDict() // 字典 if (window.sessionStorage.getItem('interchangeActive')) { @@ -407,7 +412,7 @@ - + + diff --git a/src/views/business/schedule/interchange/interchangeList.vue b/src/views/business/schedule/interchange/interchangeList.vue index 61ca5e5..51321f8 100644 --- a/src/views/business/schedule/interchange/interchangeList.vue +++ b/src/views/business/schedule/interchange/interchangeList.vue @@ -32,7 +32,7 @@ sampleNo: '', // 样品编号 sampleName: '', // 样品名称 orderNo: '', // 委托书编号 - customerId: '', // 委托方代码 + customerNo: '', // 委托方代码 startTime: '', // 预计送达开始时间 endTime: '', // 预计送达结束时间 isUrgent: '2', // 是否加急 //2全部 @@ -174,12 +174,12 @@ sampleNo: '', // 样品编号 sampleName: '', // 样品名称 orderNo: '', // 委托书编号 - customerId: '', // 委托方代码 + customerNo: '', // 委托方代码 startTime: '', // 预计送达开始时间 endTime: '', // 预计送达结束时间 isUrgent: '2', // 是否加急 sampleBelong: '2', // 样品属性 - sampleStatus: '', + sampleStatus: '', // 样品状态 offset: 1, limit: 20, } @@ -238,7 +238,7 @@ sampleNo: listQuery.value.sampleNo, // 样品编号 sampleName: listQuery.value.sampleName, // 样品名称 orderNo: listQuery.value.orderNo, // 委托书编号 - customerId: listQuery.value.customerId, // 委托方代码 + customerNo: listQuery.value.customerNo, // 委托方代码 startTime: listQuery.value.startTime, // 预计送达开始时间 endTime: listQuery.value.endTime, // 预计送达结束时间 isUrgent: listQuery.value.isUrgent, // 是否加急 @@ -363,6 +363,11 @@ $router.push(`/schedule/interchange/${pageType}/${row.sampleId}`) } +// 点击生成设备交接单 +const createInterchangeReceipt = () => { + $router.push('/schedule/receipt/add') +} + onMounted(async () => { await getDict() // 字典 if (window.sessionStorage.getItem('interchangeActive')) { @@ -407,7 +412,7 @@ - + + diff --git a/src/views/business/schedule/interchange/interchangeList.vue b/src/views/business/schedule/interchange/interchangeList.vue index 61ca5e5..51321f8 100644 --- a/src/views/business/schedule/interchange/interchangeList.vue +++ b/src/views/business/schedule/interchange/interchangeList.vue @@ -32,7 +32,7 @@ sampleNo: '', // 样品编号 sampleName: '', // 样品名称 orderNo: '', // 委托书编号 - customerId: '', // 委托方代码 + customerNo: '', // 委托方代码 startTime: '', // 预计送达开始时间 endTime: '', // 预计送达结束时间 isUrgent: '2', // 是否加急 //2全部 @@ -174,12 +174,12 @@ sampleNo: '', // 样品编号 sampleName: '', // 样品名称 orderNo: '', // 委托书编号 - customerId: '', // 委托方代码 + customerNo: '', // 委托方代码 startTime: '', // 预计送达开始时间 endTime: '', // 预计送达结束时间 isUrgent: '2', // 是否加急 sampleBelong: '2', // 样品属性 - sampleStatus: '', + sampleStatus: '', // 样品状态 offset: 1, limit: 20, } @@ -238,7 +238,7 @@ sampleNo: listQuery.value.sampleNo, // 样品编号 sampleName: listQuery.value.sampleName, // 样品名称 orderNo: listQuery.value.orderNo, // 委托书编号 - customerId: listQuery.value.customerId, // 委托方代码 + customerNo: listQuery.value.customerNo, // 委托方代码 startTime: listQuery.value.startTime, // 预计送达开始时间 endTime: listQuery.value.endTime, // 预计送达结束时间 isUrgent: listQuery.value.isUrgent, // 是否加急 @@ -363,6 +363,11 @@ $router.push(`/schedule/interchange/${pageType}/${row.sampleId}`) } +// 点击生成设备交接单 +const createInterchangeReceipt = () => { + $router.push('/schedule/receipt/add') +} + onMounted(async () => { await getDict() // 字典 if (window.sessionStorage.getItem('interchangeActive')) { @@ -407,7 +412,7 @@ - + + diff --git a/src/api/customer/sampleList.ts b/src/api/customer/sampleList.ts index e82a99e..65acbce 100644 --- a/src/api/customer/sampleList.ts +++ b/src/api/customer/sampleList.ts @@ -60,18 +60,18 @@ } // 查询检定记录 -export function getMesureRecords(data: { customerId?: string; sampleId?: string }) { +export function getMesureRecords(data: { customerId?: string; sampleId?: string; offset: number; limit: number }) { return request({ - url: `${prefix}/sample/measureRecordsById`, + url: `${prefix}/sample/measureRecordsById?offset=${data.offset}&limit=${data.limit}`, method: 'post', data, }) } // 查询检定证书 -export function getCertification(data: { customerId?: string; sampleId?: string }) { +export function getCertification(data: { customerId?: string; sampleId?: string; offset: number; limit: number }) { return request({ - url: '/business/certificateReport/certificateRecordsById', + url: `/business/certificateReport/certificateRecordsById?offset=${data.offset}&limit=${data.limit}`, method: 'post', data, }) diff --git a/src/assets/icons/business-board.svg b/src/assets/icons/business-board.svg new file mode 100644 index 0000000..990fe35 --- /dev/null +++ b/src/assets/icons/business-board.svg @@ -0,0 +1 @@ + diff --git a/src/assets/icons/icon-create.svg b/src/assets/icons/icon-create.svg new file mode 100644 index 0000000..5d651db --- /dev/null +++ b/src/assets/icons/icon-create.svg @@ -0,0 +1 @@ + diff --git a/src/router/modules/business.ts b/src/router/modules/business.ts index 015814f..4de6ce2 100644 --- a/src/router/modules/business.ts +++ b/src/router/modules/business.ts @@ -29,6 +29,41 @@ ], }, { + path: '/board', + component: Layout, + redirect: '/board/overdueReminderList', + name: 'Board', + meta: { + title: '业务看板', + icon: 'ep:key', + auth: '/business/board', + }, + children: [ + { + path: 'overdueReminderList', + name: 'OverdueReminderList', + component: () => import('@/views/business/board/overdueReminder/list.vue'), + meta: { + title: '样品超期提醒', + icon: 'ep:key', + auth: '/business/board/overdueReminder', + }, + }, + { + path: 'overdueReminderDetail/:id', + name: 'OverdueReminderDetail', + component: () => import('@/views/business/board/overdueReminder/detail.vue'), + meta: { + title: '样品超期提醒详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/board/overdueReminderList', + }, + }, + ], + }, + { path: '/schedule', component: Layout, redirect: '/schedule/orderList', @@ -314,7 +349,7 @@ { path: '/:type/:id?', name: 'taskDetail', - component: () => import('@/views/business/schedule/certificate/edit.vue'), + component: () => import('@/views/business/subpackage/certificate/edit.vue'), meta: { title: '分包证书详情', icon: 'ep:key', diff --git a/src/views/business/board/overdueReminder/detail.vue b/src/views/business/board/overdueReminder/detail.vue new file mode 100644 index 0000000..fd22d7c --- /dev/null +++ b/src/views/business/board/overdueReminder/detail.vue @@ -0,0 +1,591 @@ + + + + + + + diff --git a/src/views/business/board/overdueReminder/list.vue b/src/views/business/board/overdueReminder/list.vue new file mode 100644 index 0000000..387fadc --- /dev/null +++ b/src/views/business/board/overdueReminder/list.vue @@ -0,0 +1,268 @@ + + + + + + diff --git a/src/views/business/board/overdueReminder/overdueReminder_interface.ts b/src/views/business/board/overdueReminder/overdueReminder_interface.ts new file mode 100644 index 0000000..28bdcb1 --- /dev/null +++ b/src/views/business/board/overdueReminder/overdueReminder_interface.ts @@ -0,0 +1,30 @@ +// 筛选 +export interface IListQuery { + sampleNo: string // 样品编号 + sampleName: string // 样品名称 + orderNo: string // 委托书编号 + customerNo: string // 委托方代码 + offset: number + limit: number + startTime: string // 预计送达开始时间 + endTime: string // 预计送达结束时间 + isUrgent: string // 是否加急 //2全部 + sampleBelong: string // 样品属性 //2全部 + sampleStatus: string // 样品状态 +} +// 表格 +export interface IList { + id: string // 主键 + sampleId: string // 样品id + sampleNo: string // 样品编号 + sampleName: string// 样品名称 + sampleModel: string// 型号 + manufacturingNo: string// 出厂编号 + orderId: string // 委托书id + orderCode: string// 委托书编号 + customerNo: string// 委托方代码 + customerName: string// 委托方名称 + deliverer: string// 送检人 + remark: string// 备注 +} + diff --git a/src/views/business/schedule/interchange/interchangeDetail.vue b/src/views/business/schedule/interchange/interchangeDetail.vue index 789505f..3ce754d 100644 --- a/src/views/business/schedule/interchange/interchangeDetail.vue +++ b/src/views/business/schedule/interchange/interchangeDetail.vue @@ -4,6 +4,7 @@ import { ElMessage, ElMessageBox } from 'element-plus' import type { FormInstance, UploadUserFile } from 'element-plus' import { ref } from 'vue' +import type { IRecord } from './interchange_interface' import type { ISampleEdit, Menu, SimpleCertification, SimpleMeasureRecord, dictType } from '@/views/customer/sample/list/sample_list_interface' import selectCustomer from '@/views/customer/sample/list/selectCustomer.vue' import showPhoto from '@/views/system/tool/showPhoto.vue' @@ -27,6 +28,7 @@ const mesureCategoryList = ref([]) // 校检类别 const measureTypeList = ref([]) // 检定方式 const powerVoltageList = ref([]) // 电源电压 +const total = ref(0) const dataForm: Ref = ref({ id: '', sampleNo: '', // 样品编号 @@ -109,11 +111,21 @@ } getDict() +// --------------------------检定记录、检定证书----------------------------------------- +const listQuery = ref({ + sampleId: infoId.value, // 样品id + customerId: '', // 客户id + offset: 1, + limit: 10, +}) +const totalRecords = ref(0) // 检定记录 +const totalCertifications = ref(0) // 检定证书 // 获取检定记录 const fetchMeasureRecords = (query = null) => { if (pageType.value === 'detail') { - getMesureRecords({ sampleId: infoId.value, customerId: '' }).then((res) => { + getMesureRecords(listQuery.value).then((res) => { dataList.value.measureRecords = res.data.rows + totalRecords.value = parseInt(res.data.total) }) } } @@ -121,8 +133,9 @@ // 获取检定证书 const fetchCertifications = (query = null) => { if (pageType.value === 'detail') { - getCertification({ sampleId: infoId.value, customerId: '' }).then((res) => { + getCertification(listQuery.value).then((res) => { dataList.value.certificationRecords = res.data.rows + totalCertifications.value = parseInt(res.data.total) }) } } @@ -162,6 +175,23 @@ const currentMenuObj = computed(() => { return menu.find(item => item.name === currentMenu.value) }) +watch(currentMenuObj, () => { + listQuery.value.offset = 1 + currentMenuObj.value?.searchFunc() +}, +{ + deep: true, + immediate: true, +}) + +// 监听检定记录和证书报告页数变化 +const changePage = (val: any) => { + if (val.value && currentMenuObj) { + listQuery.value.offset = val.value.offset + listQuery.value.limit = val.value.limit + currentMenuObj.value?.searchFunc() + } +} // 从路由中获取页面类型参数 const $route = useRoute() @@ -615,7 +645,8 @@ - + + diff --git a/src/views/business/schedule/interchange/interchangeList.vue b/src/views/business/schedule/interchange/interchangeList.vue index 61ca5e5..51321f8 100644 --- a/src/views/business/schedule/interchange/interchangeList.vue +++ b/src/views/business/schedule/interchange/interchangeList.vue @@ -32,7 +32,7 @@ sampleNo: '', // 样品编号 sampleName: '', // 样品名称 orderNo: '', // 委托书编号 - customerId: '', // 委托方代码 + customerNo: '', // 委托方代码 startTime: '', // 预计送达开始时间 endTime: '', // 预计送达结束时间 isUrgent: '2', // 是否加急 //2全部 @@ -174,12 +174,12 @@ sampleNo: '', // 样品编号 sampleName: '', // 样品名称 orderNo: '', // 委托书编号 - customerId: '', // 委托方代码 + customerNo: '', // 委托方代码 startTime: '', // 预计送达开始时间 endTime: '', // 预计送达结束时间 isUrgent: '2', // 是否加急 sampleBelong: '2', // 样品属性 - sampleStatus: '', + sampleStatus: '', // 样品状态 offset: 1, limit: 20, } @@ -238,7 +238,7 @@ sampleNo: listQuery.value.sampleNo, // 样品编号 sampleName: listQuery.value.sampleName, // 样品名称 orderNo: listQuery.value.orderNo, // 委托书编号 - customerId: listQuery.value.customerId, // 委托方代码 + customerNo: listQuery.value.customerNo, // 委托方代码 startTime: listQuery.value.startTime, // 预计送达开始时间 endTime: listQuery.value.endTime, // 预计送达结束时间 isUrgent: listQuery.value.isUrgent, // 是否加急 @@ -363,6 +363,11 @@ $router.push(`/schedule/interchange/${pageType}/${row.sampleId}`) } +// 点击生成设备交接单 +const createInterchangeReceipt = () => { + $router.push('/schedule/receipt/add') +} + onMounted(async () => { await getDict() // 字典 if (window.sessionStorage.getItem('interchangeActive')) { @@ -407,7 +412,7 @@ - + + diff --git a/src/views/customer/sample/list/list.vue b/src/views/customer/sample/list/list.vue index 322a197..434d21c 100644 --- a/src/views/customer/sample/list/list.vue +++ b/src/views/customer/sample/list/list.vue @@ -1,3 +1,4 @@ + + + + + + diff --git a/src/views/business/board/overdueReminder/list.vue b/src/views/business/board/overdueReminder/list.vue new file mode 100644 index 0000000..387fadc --- /dev/null +++ b/src/views/business/board/overdueReminder/list.vue @@ -0,0 +1,268 @@ + + + + + + diff --git a/src/views/business/board/overdueReminder/overdueReminder_interface.ts b/src/views/business/board/overdueReminder/overdueReminder_interface.ts new file mode 100644 index 0000000..28bdcb1 --- /dev/null +++ b/src/views/business/board/overdueReminder/overdueReminder_interface.ts @@ -0,0 +1,30 @@ +// 筛选 +export interface IListQuery { + sampleNo: string // 样品编号 + sampleName: string // 样品名称 + orderNo: string // 委托书编号 + customerNo: string // 委托方代码 + offset: number + limit: number + startTime: string // 预计送达开始时间 + endTime: string // 预计送达结束时间 + isUrgent: string // 是否加急 //2全部 + sampleBelong: string // 样品属性 //2全部 + sampleStatus: string // 样品状态 +} +// 表格 +export interface IList { + id: string // 主键 + sampleId: string // 样品id + sampleNo: string // 样品编号 + sampleName: string// 样品名称 + sampleModel: string// 型号 + manufacturingNo: string// 出厂编号 + orderId: string // 委托书id + orderCode: string// 委托书编号 + customerNo: string// 委托方代码 + customerName: string// 委托方名称 + deliverer: string// 送检人 + remark: string// 备注 +} + diff --git a/src/views/business/schedule/interchange/interchangeDetail.vue b/src/views/business/schedule/interchange/interchangeDetail.vue index 789505f..3ce754d 100644 --- a/src/views/business/schedule/interchange/interchangeDetail.vue +++ b/src/views/business/schedule/interchange/interchangeDetail.vue @@ -4,6 +4,7 @@ import { ElMessage, ElMessageBox } from 'element-plus' import type { FormInstance, UploadUserFile } from 'element-plus' import { ref } from 'vue' +import type { IRecord } from './interchange_interface' import type { ISampleEdit, Menu, SimpleCertification, SimpleMeasureRecord, dictType } from '@/views/customer/sample/list/sample_list_interface' import selectCustomer from '@/views/customer/sample/list/selectCustomer.vue' import showPhoto from '@/views/system/tool/showPhoto.vue' @@ -27,6 +28,7 @@ const mesureCategoryList = ref([]) // 校检类别 const measureTypeList = ref([]) // 检定方式 const powerVoltageList = ref([]) // 电源电压 +const total = ref(0) const dataForm: Ref = ref({ id: '', sampleNo: '', // 样品编号 @@ -109,11 +111,21 @@ } getDict() +// --------------------------检定记录、检定证书----------------------------------------- +const listQuery = ref({ + sampleId: infoId.value, // 样品id + customerId: '', // 客户id + offset: 1, + limit: 10, +}) +const totalRecords = ref(0) // 检定记录 +const totalCertifications = ref(0) // 检定证书 // 获取检定记录 const fetchMeasureRecords = (query = null) => { if (pageType.value === 'detail') { - getMesureRecords({ sampleId: infoId.value, customerId: '' }).then((res) => { + getMesureRecords(listQuery.value).then((res) => { dataList.value.measureRecords = res.data.rows + totalRecords.value = parseInt(res.data.total) }) } } @@ -121,8 +133,9 @@ // 获取检定证书 const fetchCertifications = (query = null) => { if (pageType.value === 'detail') { - getCertification({ sampleId: infoId.value, customerId: '' }).then((res) => { + getCertification(listQuery.value).then((res) => { dataList.value.certificationRecords = res.data.rows + totalCertifications.value = parseInt(res.data.total) }) } } @@ -162,6 +175,23 @@ const currentMenuObj = computed(() => { return menu.find(item => item.name === currentMenu.value) }) +watch(currentMenuObj, () => { + listQuery.value.offset = 1 + currentMenuObj.value?.searchFunc() +}, +{ + deep: true, + immediate: true, +}) + +// 监听检定记录和证书报告页数变化 +const changePage = (val: any) => { + if (val.value && currentMenuObj) { + listQuery.value.offset = val.value.offset + listQuery.value.limit = val.value.limit + currentMenuObj.value?.searchFunc() + } +} // 从路由中获取页面类型参数 const $route = useRoute() @@ -615,7 +645,8 @@ - + + diff --git a/src/views/business/schedule/interchange/interchangeList.vue b/src/views/business/schedule/interchange/interchangeList.vue index 61ca5e5..51321f8 100644 --- a/src/views/business/schedule/interchange/interchangeList.vue +++ b/src/views/business/schedule/interchange/interchangeList.vue @@ -32,7 +32,7 @@ sampleNo: '', // 样品编号 sampleName: '', // 样品名称 orderNo: '', // 委托书编号 - customerId: '', // 委托方代码 + customerNo: '', // 委托方代码 startTime: '', // 预计送达开始时间 endTime: '', // 预计送达结束时间 isUrgent: '2', // 是否加急 //2全部 @@ -174,12 +174,12 @@ sampleNo: '', // 样品编号 sampleName: '', // 样品名称 orderNo: '', // 委托书编号 - customerId: '', // 委托方代码 + customerNo: '', // 委托方代码 startTime: '', // 预计送达开始时间 endTime: '', // 预计送达结束时间 isUrgent: '2', // 是否加急 sampleBelong: '2', // 样品属性 - sampleStatus: '', + sampleStatus: '', // 样品状态 offset: 1, limit: 20, } @@ -238,7 +238,7 @@ sampleNo: listQuery.value.sampleNo, // 样品编号 sampleName: listQuery.value.sampleName, // 样品名称 orderNo: listQuery.value.orderNo, // 委托书编号 - customerId: listQuery.value.customerId, // 委托方代码 + customerNo: listQuery.value.customerNo, // 委托方代码 startTime: listQuery.value.startTime, // 预计送达开始时间 endTime: listQuery.value.endTime, // 预计送达结束时间 isUrgent: listQuery.value.isUrgent, // 是否加急 @@ -363,6 +363,11 @@ $router.push(`/schedule/interchange/${pageType}/${row.sampleId}`) } +// 点击生成设备交接单 +const createInterchangeReceipt = () => { + $router.push('/schedule/receipt/add') +} + onMounted(async () => { await getDict() // 字典 if (window.sessionStorage.getItem('interchangeActive')) { @@ -407,7 +412,7 @@ - + + diff --git a/src/views/customer/sample/list/list.vue b/src/views/customer/sample/list/list.vue index 322a197..434d21c 100644 --- a/src/views/customer/sample/list/list.vue +++ b/src/views/customer/sample/list/list.vue @@ -1,3 +1,4 @@ + + + + + + diff --git a/src/views/business/board/overdueReminder/list.vue b/src/views/business/board/overdueReminder/list.vue new file mode 100644 index 0000000..387fadc --- /dev/null +++ b/src/views/business/board/overdueReminder/list.vue @@ -0,0 +1,268 @@ + + + + + + diff --git a/src/views/business/board/overdueReminder/overdueReminder_interface.ts b/src/views/business/board/overdueReminder/overdueReminder_interface.ts new file mode 100644 index 0000000..28bdcb1 --- /dev/null +++ b/src/views/business/board/overdueReminder/overdueReminder_interface.ts @@ -0,0 +1,30 @@ +// 筛选 +export interface IListQuery { + sampleNo: string // 样品编号 + sampleName: string // 样品名称 + orderNo: string // 委托书编号 + customerNo: string // 委托方代码 + offset: number + limit: number + startTime: string // 预计送达开始时间 + endTime: string // 预计送达结束时间 + isUrgent: string // 是否加急 //2全部 + sampleBelong: string // 样品属性 //2全部 + sampleStatus: string // 样品状态 +} +// 表格 +export interface IList { + id: string // 主键 + sampleId: string // 样品id + sampleNo: string // 样品编号 + sampleName: string// 样品名称 + sampleModel: string// 型号 + manufacturingNo: string// 出厂编号 + orderId: string // 委托书id + orderCode: string// 委托书编号 + customerNo: string// 委托方代码 + customerName: string// 委托方名称 + deliverer: string// 送检人 + remark: string// 备注 +} + diff --git a/src/views/business/schedule/interchange/interchangeDetail.vue b/src/views/business/schedule/interchange/interchangeDetail.vue index 789505f..3ce754d 100644 --- a/src/views/business/schedule/interchange/interchangeDetail.vue +++ b/src/views/business/schedule/interchange/interchangeDetail.vue @@ -4,6 +4,7 @@ import { ElMessage, ElMessageBox } from 'element-plus' import type { FormInstance, UploadUserFile } from 'element-plus' import { ref } from 'vue' +import type { IRecord } from './interchange_interface' import type { ISampleEdit, Menu, SimpleCertification, SimpleMeasureRecord, dictType } from '@/views/customer/sample/list/sample_list_interface' import selectCustomer from '@/views/customer/sample/list/selectCustomer.vue' import showPhoto from '@/views/system/tool/showPhoto.vue' @@ -27,6 +28,7 @@ const mesureCategoryList = ref([]) // 校检类别 const measureTypeList = ref([]) // 检定方式 const powerVoltageList = ref([]) // 电源电压 +const total = ref(0) const dataForm: Ref = ref({ id: '', sampleNo: '', // 样品编号 @@ -109,11 +111,21 @@ } getDict() +// --------------------------检定记录、检定证书----------------------------------------- +const listQuery = ref({ + sampleId: infoId.value, // 样品id + customerId: '', // 客户id + offset: 1, + limit: 10, +}) +const totalRecords = ref(0) // 检定记录 +const totalCertifications = ref(0) // 检定证书 // 获取检定记录 const fetchMeasureRecords = (query = null) => { if (pageType.value === 'detail') { - getMesureRecords({ sampleId: infoId.value, customerId: '' }).then((res) => { + getMesureRecords(listQuery.value).then((res) => { dataList.value.measureRecords = res.data.rows + totalRecords.value = parseInt(res.data.total) }) } } @@ -121,8 +133,9 @@ // 获取检定证书 const fetchCertifications = (query = null) => { if (pageType.value === 'detail') { - getCertification({ sampleId: infoId.value, customerId: '' }).then((res) => { + getCertification(listQuery.value).then((res) => { dataList.value.certificationRecords = res.data.rows + totalCertifications.value = parseInt(res.data.total) }) } } @@ -162,6 +175,23 @@ const currentMenuObj = computed(() => { return menu.find(item => item.name === currentMenu.value) }) +watch(currentMenuObj, () => { + listQuery.value.offset = 1 + currentMenuObj.value?.searchFunc() +}, +{ + deep: true, + immediate: true, +}) + +// 监听检定记录和证书报告页数变化 +const changePage = (val: any) => { + if (val.value && currentMenuObj) { + listQuery.value.offset = val.value.offset + listQuery.value.limit = val.value.limit + currentMenuObj.value?.searchFunc() + } +} // 从路由中获取页面类型参数 const $route = useRoute() @@ -615,7 +645,8 @@ - + + diff --git a/src/views/business/schedule/interchange/interchangeList.vue b/src/views/business/schedule/interchange/interchangeList.vue index 61ca5e5..51321f8 100644 --- a/src/views/business/schedule/interchange/interchangeList.vue +++ b/src/views/business/schedule/interchange/interchangeList.vue @@ -32,7 +32,7 @@ sampleNo: '', // 样品编号 sampleName: '', // 样品名称 orderNo: '', // 委托书编号 - customerId: '', // 委托方代码 + customerNo: '', // 委托方代码 startTime: '', // 预计送达开始时间 endTime: '', // 预计送达结束时间 isUrgent: '2', // 是否加急 //2全部 @@ -174,12 +174,12 @@ sampleNo: '', // 样品编号 sampleName: '', // 样品名称 orderNo: '', // 委托书编号 - customerId: '', // 委托方代码 + customerNo: '', // 委托方代码 startTime: '', // 预计送达开始时间 endTime: '', // 预计送达结束时间 isUrgent: '2', // 是否加急 sampleBelong: '2', // 样品属性 - sampleStatus: '', + sampleStatus: '', // 样品状态 offset: 1, limit: 20, } @@ -238,7 +238,7 @@ sampleNo: listQuery.value.sampleNo, // 样品编号 sampleName: listQuery.value.sampleName, // 样品名称 orderNo: listQuery.value.orderNo, // 委托书编号 - customerId: listQuery.value.customerId, // 委托方代码 + customerNo: listQuery.value.customerNo, // 委托方代码 startTime: listQuery.value.startTime, // 预计送达开始时间 endTime: listQuery.value.endTime, // 预计送达结束时间 isUrgent: listQuery.value.isUrgent, // 是否加急 @@ -363,6 +363,11 @@ $router.push(`/schedule/interchange/${pageType}/${row.sampleId}`) } +// 点击生成设备交接单 +const createInterchangeReceipt = () => { + $router.push('/schedule/receipt/add') +} + onMounted(async () => { await getDict() // 字典 if (window.sessionStorage.getItem('interchangeActive')) { @@ -407,7 +412,7 @@ - + + diff --git a/src/views/customer/sample/list/list.vue b/src/views/customer/sample/list/list.vue index 322a197..434d21c 100644 --- a/src/views/customer/sample/list/list.vue +++ b/src/views/customer/sample/list/list.vue @@ -1,3 +1,4 @@ + + + + + + diff --git a/src/views/business/board/overdueReminder/list.vue b/src/views/business/board/overdueReminder/list.vue new file mode 100644 index 0000000..387fadc --- /dev/null +++ b/src/views/business/board/overdueReminder/list.vue @@ -0,0 +1,268 @@ + + + + + + diff --git a/src/views/business/board/overdueReminder/overdueReminder_interface.ts b/src/views/business/board/overdueReminder/overdueReminder_interface.ts new file mode 100644 index 0000000..28bdcb1 --- /dev/null +++ b/src/views/business/board/overdueReminder/overdueReminder_interface.ts @@ -0,0 +1,30 @@ +// 筛选 +export interface IListQuery { + sampleNo: string // 样品编号 + sampleName: string // 样品名称 + orderNo: string // 委托书编号 + customerNo: string // 委托方代码 + offset: number + limit: number + startTime: string // 预计送达开始时间 + endTime: string // 预计送达结束时间 + isUrgent: string // 是否加急 //2全部 + sampleBelong: string // 样品属性 //2全部 + sampleStatus: string // 样品状态 +} +// 表格 +export interface IList { + id: string // 主键 + sampleId: string // 样品id + sampleNo: string // 样品编号 + sampleName: string// 样品名称 + sampleModel: string// 型号 + manufacturingNo: string// 出厂编号 + orderId: string // 委托书id + orderCode: string// 委托书编号 + customerNo: string// 委托方代码 + customerName: string// 委托方名称 + deliverer: string// 送检人 + remark: string// 备注 +} + diff --git a/src/views/business/schedule/interchange/interchangeDetail.vue b/src/views/business/schedule/interchange/interchangeDetail.vue index 789505f..3ce754d 100644 --- a/src/views/business/schedule/interchange/interchangeDetail.vue +++ b/src/views/business/schedule/interchange/interchangeDetail.vue @@ -4,6 +4,7 @@ import { ElMessage, ElMessageBox } from 'element-plus' import type { FormInstance, UploadUserFile } from 'element-plus' import { ref } from 'vue' +import type { IRecord } from './interchange_interface' import type { ISampleEdit, Menu, SimpleCertification, SimpleMeasureRecord, dictType } from '@/views/customer/sample/list/sample_list_interface' import selectCustomer from '@/views/customer/sample/list/selectCustomer.vue' import showPhoto from '@/views/system/tool/showPhoto.vue' @@ -27,6 +28,7 @@ const mesureCategoryList = ref([]) // 校检类别 const measureTypeList = ref([]) // 检定方式 const powerVoltageList = ref([]) // 电源电压 +const total = ref(0) const dataForm: Ref = ref({ id: '', sampleNo: '', // 样品编号 @@ -109,11 +111,21 @@ } getDict() +// --------------------------检定记录、检定证书----------------------------------------- +const listQuery = ref({ + sampleId: infoId.value, // 样品id + customerId: '', // 客户id + offset: 1, + limit: 10, +}) +const totalRecords = ref(0) // 检定记录 +const totalCertifications = ref(0) // 检定证书 // 获取检定记录 const fetchMeasureRecords = (query = null) => { if (pageType.value === 'detail') { - getMesureRecords({ sampleId: infoId.value, customerId: '' }).then((res) => { + getMesureRecords(listQuery.value).then((res) => { dataList.value.measureRecords = res.data.rows + totalRecords.value = parseInt(res.data.total) }) } } @@ -121,8 +133,9 @@ // 获取检定证书 const fetchCertifications = (query = null) => { if (pageType.value === 'detail') { - getCertification({ sampleId: infoId.value, customerId: '' }).then((res) => { + getCertification(listQuery.value).then((res) => { dataList.value.certificationRecords = res.data.rows + totalCertifications.value = parseInt(res.data.total) }) } } @@ -162,6 +175,23 @@ const currentMenuObj = computed(() => { return menu.find(item => item.name === currentMenu.value) }) +watch(currentMenuObj, () => { + listQuery.value.offset = 1 + currentMenuObj.value?.searchFunc() +}, +{ + deep: true, + immediate: true, +}) + +// 监听检定记录和证书报告页数变化 +const changePage = (val: any) => { + if (val.value && currentMenuObj) { + listQuery.value.offset = val.value.offset + listQuery.value.limit = val.value.limit + currentMenuObj.value?.searchFunc() + } +} // 从路由中获取页面类型参数 const $route = useRoute() @@ -615,7 +645,8 @@ - + + diff --git a/src/views/business/schedule/interchange/interchangeList.vue b/src/views/business/schedule/interchange/interchangeList.vue index 61ca5e5..51321f8 100644 --- a/src/views/business/schedule/interchange/interchangeList.vue +++ b/src/views/business/schedule/interchange/interchangeList.vue @@ -32,7 +32,7 @@ sampleNo: '', // 样品编号 sampleName: '', // 样品名称 orderNo: '', // 委托书编号 - customerId: '', // 委托方代码 + customerNo: '', // 委托方代码 startTime: '', // 预计送达开始时间 endTime: '', // 预计送达结束时间 isUrgent: '2', // 是否加急 //2全部 @@ -174,12 +174,12 @@ sampleNo: '', // 样品编号 sampleName: '', // 样品名称 orderNo: '', // 委托书编号 - customerId: '', // 委托方代码 + customerNo: '', // 委托方代码 startTime: '', // 预计送达开始时间 endTime: '', // 预计送达结束时间 isUrgent: '2', // 是否加急 sampleBelong: '2', // 样品属性 - sampleStatus: '', + sampleStatus: '', // 样品状态 offset: 1, limit: 20, } @@ -238,7 +238,7 @@ sampleNo: listQuery.value.sampleNo, // 样品编号 sampleName: listQuery.value.sampleName, // 样品名称 orderNo: listQuery.value.orderNo, // 委托书编号 - customerId: listQuery.value.customerId, // 委托方代码 + customerNo: listQuery.value.customerNo, // 委托方代码 startTime: listQuery.value.startTime, // 预计送达开始时间 endTime: listQuery.value.endTime, // 预计送达结束时间 isUrgent: listQuery.value.isUrgent, // 是否加急 @@ -363,6 +363,11 @@ $router.push(`/schedule/interchange/${pageType}/${row.sampleId}`) } +// 点击生成设备交接单 +const createInterchangeReceipt = () => { + $router.push('/schedule/receipt/add') +} + onMounted(async () => { await getDict() // 字典 if (window.sessionStorage.getItem('interchangeActive')) { @@ -407,7 +412,7 @@ - + + diff --git a/src/views/customer/sample/list/list.vue b/src/views/customer/sample/list/list.vue index 322a197..434d21c 100644 --- a/src/views/customer/sample/list/list.vue +++ b/src/views/customer/sample/list/list.vue @@ -1,3 +1,4 @@ + + + + + + diff --git a/src/views/business/board/overdueReminder/list.vue b/src/views/business/board/overdueReminder/list.vue new file mode 100644 index 0000000..387fadc --- /dev/null +++ b/src/views/business/board/overdueReminder/list.vue @@ -0,0 +1,268 @@ + + + + + + diff --git a/src/views/business/board/overdueReminder/overdueReminder_interface.ts b/src/views/business/board/overdueReminder/overdueReminder_interface.ts new file mode 100644 index 0000000..28bdcb1 --- /dev/null +++ b/src/views/business/board/overdueReminder/overdueReminder_interface.ts @@ -0,0 +1,30 @@ +// 筛选 +export interface IListQuery { + sampleNo: string // 样品编号 + sampleName: string // 样品名称 + orderNo: string // 委托书编号 + customerNo: string // 委托方代码 + offset: number + limit: number + startTime: string // 预计送达开始时间 + endTime: string // 预计送达结束时间 + isUrgent: string // 是否加急 //2全部 + sampleBelong: string // 样品属性 //2全部 + sampleStatus: string // 样品状态 +} +// 表格 +export interface IList { + id: string // 主键 + sampleId: string // 样品id + sampleNo: string // 样品编号 + sampleName: string// 样品名称 + sampleModel: string// 型号 + manufacturingNo: string// 出厂编号 + orderId: string // 委托书id + orderCode: string// 委托书编号 + customerNo: string// 委托方代码 + customerName: string// 委托方名称 + deliverer: string// 送检人 + remark: string// 备注 +} + diff --git a/src/views/business/schedule/interchange/interchangeDetail.vue b/src/views/business/schedule/interchange/interchangeDetail.vue index 789505f..3ce754d 100644 --- a/src/views/business/schedule/interchange/interchangeDetail.vue +++ b/src/views/business/schedule/interchange/interchangeDetail.vue @@ -4,6 +4,7 @@ import { ElMessage, ElMessageBox } from 'element-plus' import type { FormInstance, UploadUserFile } from 'element-plus' import { ref } from 'vue' +import type { IRecord } from './interchange_interface' import type { ISampleEdit, Menu, SimpleCertification, SimpleMeasureRecord, dictType } from '@/views/customer/sample/list/sample_list_interface' import selectCustomer from '@/views/customer/sample/list/selectCustomer.vue' import showPhoto from '@/views/system/tool/showPhoto.vue' @@ -27,6 +28,7 @@ const mesureCategoryList = ref([]) // 校检类别 const measureTypeList = ref([]) // 检定方式 const powerVoltageList = ref([]) // 电源电压 +const total = ref(0) const dataForm: Ref = ref({ id: '', sampleNo: '', // 样品编号 @@ -109,11 +111,21 @@ } getDict() +// --------------------------检定记录、检定证书----------------------------------------- +const listQuery = ref({ + sampleId: infoId.value, // 样品id + customerId: '', // 客户id + offset: 1, + limit: 10, +}) +const totalRecords = ref(0) // 检定记录 +const totalCertifications = ref(0) // 检定证书 // 获取检定记录 const fetchMeasureRecords = (query = null) => { if (pageType.value === 'detail') { - getMesureRecords({ sampleId: infoId.value, customerId: '' }).then((res) => { + getMesureRecords(listQuery.value).then((res) => { dataList.value.measureRecords = res.data.rows + totalRecords.value = parseInt(res.data.total) }) } } @@ -121,8 +133,9 @@ // 获取检定证书 const fetchCertifications = (query = null) => { if (pageType.value === 'detail') { - getCertification({ sampleId: infoId.value, customerId: '' }).then((res) => { + getCertification(listQuery.value).then((res) => { dataList.value.certificationRecords = res.data.rows + totalCertifications.value = parseInt(res.data.total) }) } } @@ -162,6 +175,23 @@ const currentMenuObj = computed(() => { return menu.find(item => item.name === currentMenu.value) }) +watch(currentMenuObj, () => { + listQuery.value.offset = 1 + currentMenuObj.value?.searchFunc() +}, +{ + deep: true, + immediate: true, +}) + +// 监听检定记录和证书报告页数变化 +const changePage = (val: any) => { + if (val.value && currentMenuObj) { + listQuery.value.offset = val.value.offset + listQuery.value.limit = val.value.limit + currentMenuObj.value?.searchFunc() + } +} // 从路由中获取页面类型参数 const $route = useRoute() @@ -615,7 +645,8 @@ - + + diff --git a/src/views/business/schedule/interchange/interchangeList.vue b/src/views/business/schedule/interchange/interchangeList.vue index 61ca5e5..51321f8 100644 --- a/src/views/business/schedule/interchange/interchangeList.vue +++ b/src/views/business/schedule/interchange/interchangeList.vue @@ -32,7 +32,7 @@ sampleNo: '', // 样品编号 sampleName: '', // 样品名称 orderNo: '', // 委托书编号 - customerId: '', // 委托方代码 + customerNo: '', // 委托方代码 startTime: '', // 预计送达开始时间 endTime: '', // 预计送达结束时间 isUrgent: '2', // 是否加急 //2全部 @@ -174,12 +174,12 @@ sampleNo: '', // 样品编号 sampleName: '', // 样品名称 orderNo: '', // 委托书编号 - customerId: '', // 委托方代码 + customerNo: '', // 委托方代码 startTime: '', // 预计送达开始时间 endTime: '', // 预计送达结束时间 isUrgent: '2', // 是否加急 sampleBelong: '2', // 样品属性 - sampleStatus: '', + sampleStatus: '', // 样品状态 offset: 1, limit: 20, } @@ -238,7 +238,7 @@ sampleNo: listQuery.value.sampleNo, // 样品编号 sampleName: listQuery.value.sampleName, // 样品名称 orderNo: listQuery.value.orderNo, // 委托书编号 - customerId: listQuery.value.customerId, // 委托方代码 + customerNo: listQuery.value.customerNo, // 委托方代码 startTime: listQuery.value.startTime, // 预计送达开始时间 endTime: listQuery.value.endTime, // 预计送达结束时间 isUrgent: listQuery.value.isUrgent, // 是否加急 @@ -363,6 +363,11 @@ $router.push(`/schedule/interchange/${pageType}/${row.sampleId}`) } +// 点击生成设备交接单 +const createInterchangeReceipt = () => { + $router.push('/schedule/receipt/add') +} + onMounted(async () => { await getDict() // 字典 if (window.sessionStorage.getItem('interchangeActive')) { @@ -407,7 +412,7 @@ - + + diff --git a/src/views/customer/sample/list/list.vue b/src/views/customer/sample/list/list.vue index 322a197..434d21c 100644 --- a/src/views/customer/sample/list/list.vue +++ b/src/views/customer/sample/list/list.vue @@ -1,3 +1,4 @@ + - + + diff --git a/src/views/business/schedule/interchange/interchangeList.vue b/src/views/business/schedule/interchange/interchangeList.vue index 61ca5e5..51321f8 100644 --- a/src/views/business/schedule/interchange/interchangeList.vue +++ b/src/views/business/schedule/interchange/interchangeList.vue @@ -32,7 +32,7 @@ sampleNo: '', // 样品编号 sampleName: '', // 样品名称 orderNo: '', // 委托书编号 - customerId: '', // 委托方代码 + customerNo: '', // 委托方代码 startTime: '', // 预计送达开始时间 endTime: '', // 预计送达结束时间 isUrgent: '2', // 是否加急 //2全部 @@ -174,12 +174,12 @@ sampleNo: '', // 样品编号 sampleName: '', // 样品名称 orderNo: '', // 委托书编号 - customerId: '', // 委托方代码 + customerNo: '', // 委托方代码 startTime: '', // 预计送达开始时间 endTime: '', // 预计送达结束时间 isUrgent: '2', // 是否加急 sampleBelong: '2', // 样品属性 - sampleStatus: '', + sampleStatus: '', // 样品状态 offset: 1, limit: 20, } @@ -238,7 +238,7 @@ sampleNo: listQuery.value.sampleNo, // 样品编号 sampleName: listQuery.value.sampleName, // 样品名称 orderNo: listQuery.value.orderNo, // 委托书编号 - customerId: listQuery.value.customerId, // 委托方代码 + customerNo: listQuery.value.customerNo, // 委托方代码 startTime: listQuery.value.startTime, // 预计送达开始时间 endTime: listQuery.value.endTime, // 预计送达结束时间 isUrgent: listQuery.value.isUrgent, // 是否加急 @@ -363,6 +363,11 @@ $router.push(`/schedule/interchange/${pageType}/${row.sampleId}`) } +// 点击生成设备交接单 +const createInterchangeReceipt = () => { + $router.push('/schedule/receipt/add') +} + onMounted(async () => { await getDict() // 字典 if (window.sessionStorage.getItem('interchangeActive')) { @@ -407,7 +412,7 @@ - + + diff --git a/src/views/customer/sample/list/list.vue b/src/views/customer/sample/list/list.vue index 322a197..434d21c 100644 --- a/src/views/customer/sample/list/list.vue +++ b/src/views/customer/sample/list/list.vue @@ -1,3 +1,4 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +