diff --git a/apps/web-antd/src/api/mes/pro/process/index.ts b/apps/web-antd/src/api/mes/pro/process/index.ts index 5a3893b18..a4ff1ea64 100644 --- a/apps/web-antd/src/api/mes/pro/process/index.ts +++ b/apps/web-antd/src/api/mes/pro/process/index.ts @@ -5,7 +5,7 @@ import { requestClient } from '#/api/request'; export namespace MesProProcessApi { /** MES 生产工序 */ export interface Process { - id: number; + id?: number; code?: string; name?: string; attention?: string; @@ -36,3 +36,23 @@ export function getProcess(id: number) { `/mes/pro/process/get?id=${id}`, ); } + +/** 新增生产工序 */ +export function createProcess(data: MesProProcessApi.Process) { + return requestClient.post('/mes/pro/process/create', data); +} + +/** 修改生产工序 */ +export function updateProcess(data: MesProProcessApi.Process) { + return requestClient.put('/mes/pro/process/update', data); +} + +/** 删除生产工序 */ +export function deleteProcess(id: number) { + return requestClient.delete(`/mes/pro/process/delete?id=${id}`); +} + +/** 导出生产工序 Excel */ +export function exportProcess(params: any) { + return requestClient.download('/mes/pro/process/export-excel', { params }); +} diff --git a/apps/web-antd/src/assets/imgs/iot/device.png b/apps/web-antd/src/assets/imgs/iot/device.png new file mode 100644 index 000000000..79339cdf4 Binary files /dev/null and b/apps/web-antd/src/assets/imgs/iot/device.png differ diff --git a/apps/web-antd/src/assets/svgs/iot/cube.svg b/apps/web-antd/src/assets/svgs/iot/cube.svg new file mode 100644 index 000000000..200ac1b1c --- /dev/null +++ b/apps/web-antd/src/assets/svgs/iot/cube.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/apps/web-antd/src/views/iot/device/device/detail/modules/thing-model-property-history.vue b/apps/web-antd/src/views/iot/device/device/detail/modules/thing-model-property-history.vue index bb2d59819..1a03e1293 100644 --- a/apps/web-antd/src/views/iot/device/device/detail/modules/thing-model-property-history.vue +++ b/apps/web-antd/src/views/iot/device/device/detail/modules/thing-model-property-history.vue @@ -137,16 +137,6 @@ const tableColumns = computed(() => [ }, ]); // 表格列配置 -const paginationConfig = computed(() => ({ - current: 1, - pageSize: 10, - total: total.value, - showSizeChanger: true, - showQuickJumper: true, - pageSizeOptions: ['10', '20', '50', '100'], - showTotal: (total: number) => `共 ${total} 条数据`, -})); // 分页配置 - /** 获得设备历史数据 */ async function getList() { loading.value = true; @@ -438,7 +428,7 @@ defineExpose({ open }); // 提供 open 方法,用于打开弹窗
- +
diff --git a/apps/web-antd/src/views/iot/device/group/data.ts b/apps/web-antd/src/views/iot/device/group/data.ts index af8ac6c6a..9de20e9d8 100644 --- a/apps/web-antd/src/views/iot/device/group/data.ts +++ b/apps/web-antd/src/views/iot/device/group/data.ts @@ -26,10 +26,7 @@ export function useFormSchema(): VbenFormSchema[] { componentProps: { placeholder: '请输入分组名称', }, - rules: z - .string() - .min(1, '分组名称不能为空') - .max(64, '分组名称长度不能超过 64 个字符'), + rules: z.string().min(1, '分组名称不能为空'), }, { fieldName: 'status', diff --git a/apps/web-antd/src/views/iot/home/data.ts b/apps/web-antd/src/views/iot/home/data.ts index 433db75c7..eaa9159f4 100644 --- a/apps/web-antd/src/views/iot/home/data.ts +++ b/apps/web-antd/src/views/iot/home/data.ts @@ -9,12 +9,12 @@ export const defaultStatsData: StatsData = { productCount: -1, deviceCount: -1, deviceMessageCount: -1, - productCategoryTodayCount: 0, - productTodayCount: 0, - deviceTodayCount: 0, - deviceMessageTodayCount: 0, - deviceOnlineCount: 0, - deviceOfflineCount: 0, - deviceInactiveCount: 0, + productCategoryTodayCount: -1, + productTodayCount: -1, + deviceTodayCount: -1, + deviceMessageTodayCount: -1, + deviceOnlineCount: -1, + deviceOfflineCount: -1, + deviceInactiveCount: -1, productCategoryDeviceCounts: {}, }; diff --git a/apps/web-antd/src/views/iot/home/modules/device-map-card.vue b/apps/web-antd/src/views/iot/home/modules/device-map-card.vue index 61e47f5e2..7989a478e 100644 --- a/apps/web-antd/src/views/iot/home/modules/device-map-card.vue +++ b/apps/web-antd/src/views/iot/home/modules/device-map-card.vue @@ -1,11 +1,13 @@ @@ -111,37 +103,4 @@ onMounted(() => { > - - - - - - diff --git a/apps/web-antd/src/views/iot/thingmodel/modules/components/data-definition.vue b/apps/web-antd/src/views/iot/thingmodel/modules/components/data-definition.vue index 0d87e3086..19637601b 100644 --- a/apps/web-antd/src/views/iot/thingmodel/modules/components/data-definition.vue +++ b/apps/web-antd/src/views/iot/thingmodel/modules/components/data-definition.vue @@ -1,8 +1,6 @@ diff --git a/apps/web-antd/src/views/iot/thingmodel/modules/form.vue b/apps/web-antd/src/views/iot/thingmodel/modules/form.vue index eb7217aed..03e9e204e 100644 --- a/apps/web-antd/src/views/iot/thingmodel/modules/form.vue +++ b/apps/web-antd/src/views/iot/thingmodel/modules/form.vue @@ -218,7 +218,6 @@ function removeDataSpecs(val: any) { > diff --git a/apps/web-antd/src/views/mes/utils/constants.ts b/apps/web-antd/src/views/mes/utils/constants.ts index d8b69b955..a436eabd5 100644 --- a/apps/web-antd/src/views/mes/utils/constants.ts +++ b/apps/web-antd/src/views/mes/utils/constants.ts @@ -133,10 +133,70 @@ export const MesAutoCodeRuleCode = { MD_VENDOR_CODE: 'MD_VENDOR_CODE', MD_WORKSTATION_CODE: 'MD_WORKSTATION_CODE', MD_WORKSHOP_CODE: 'MD_WORKSHOP_CODE', + PRO_CARD_CODE: 'PRO_CARD_CODE', + PRO_FEEDBACK_CODE: 'PRO_FEEDBACK_CODE', + PRO_PROCESS_CODE: 'PRO_PROCESS_CODE', + PRO_ROUTE_CODE: 'PRO_ROUTE_CODE', + PRO_TASK_CODE: 'PRO_TASK_CODE', + PRO_WORK_ORDER_CODE: 'PRO_WORK_ORDER_CODE', TM_TOOL_TYPE_CODE: 'TM_TOOL_TYPE_CODE', TM_TOOL_CODE: 'TM_TOOL_CODE', } as const; +/** MES 生产工单状态枚举 */ +export const MesProWorkOrderStatusEnum = { + PREPARE: MesOrderStatusConstants.DRAFT, + CONFIRMED: MesOrderStatusConstants.CONFIRMED, + APPROVING: MesOrderStatusConstants.APPROVING, + PRODUCING: MesOrderStatusConstants.APPROVED, + FINISHED: MesOrderStatusConstants.FINISHED, + CANCELLED: MesOrderStatusConstants.CANCELLED, +} as const; + +/** MES 生产任务状态枚举 */ +export const MesProTaskStatusEnum = { + PREPARE: MesOrderStatusConstants.DRAFT, + CONFIRMED: MesOrderStatusConstants.CONFIRMED, + APPROVING: MesOrderStatusConstants.APPROVING, + PRODUCING: MesOrderStatusConstants.APPROVED, + FINISHED: MesOrderStatusConstants.FINISHED, + CANCELLED: MesOrderStatusConstants.CANCELLED, +} as const; + +/** MES 生产报工状态枚举 */ +export const MesProFeedbackStatusEnum = { + PREPARE: MesOrderStatusConstants.DRAFT, + CONFIRMED: MesOrderStatusConstants.CONFIRMED, + APPROVING: MesOrderStatusConstants.APPROVING, + FINISHED: MesOrderStatusConstants.FINISHED, + CANCELLED: MesOrderStatusConstants.CANCELLED, +} as const; + +/** MES 流转卡状态枚举 */ +export const MesProCardStatusEnum = { + PREPARE: MesOrderStatusConstants.DRAFT, + ISSUED: MesOrderStatusConstants.CONFIRMED, + PRODUCING: MesOrderStatusConstants.APPROVED, + FINISHED: MesOrderStatusConstants.FINISHED, + CANCELLED: MesOrderStatusConstants.CANCELLED, +} as const; + +/** MES 安灯类型枚举 */ +export const MesProAndonTypeEnum = { + QUALITY: 1, + EQUIPMENT: 2, + MATERIAL: 3, + PROCESS: 4, + OTHER: 9, +} as const; + +/** MES 安灯状态枚举 */ +export const MesProAndonStatusEnum = { + TRIGGERED: 1, + HANDLING: 2, + CLOSED: 3, +} as const; + /** MES 编码规则分段类型枚举 */ export const MesAutoCodePartTypeEnum = { INPUT: 1, diff --git a/apps/web-ele/src/api/mes/pro/process/index.ts b/apps/web-ele/src/api/mes/pro/process/index.ts index 5a3893b18..a4ff1ea64 100644 --- a/apps/web-ele/src/api/mes/pro/process/index.ts +++ b/apps/web-ele/src/api/mes/pro/process/index.ts @@ -5,7 +5,7 @@ import { requestClient } from '#/api/request'; export namespace MesProProcessApi { /** MES 生产工序 */ export interface Process { - id: number; + id?: number; code?: string; name?: string; attention?: string; @@ -36,3 +36,23 @@ export function getProcess(id: number) { `/mes/pro/process/get?id=${id}`, ); } + +/** 新增生产工序 */ +export function createProcess(data: MesProProcessApi.Process) { + return requestClient.post('/mes/pro/process/create', data); +} + +/** 修改生产工序 */ +export function updateProcess(data: MesProProcessApi.Process) { + return requestClient.put('/mes/pro/process/update', data); +} + +/** 删除生产工序 */ +export function deleteProcess(id: number) { + return requestClient.delete(`/mes/pro/process/delete?id=${id}`); +} + +/** 导出生产工序 Excel */ +export function exportProcess(params: any) { + return requestClient.download('/mes/pro/process/export-excel', { params }); +} diff --git a/apps/web-ele/src/assets/imgs/iot/device.png b/apps/web-ele/src/assets/imgs/iot/device.png new file mode 100644 index 000000000..79339cdf4 Binary files /dev/null and b/apps/web-ele/src/assets/imgs/iot/device.png differ diff --git a/apps/web-ele/src/assets/svgs/iot/cube.svg b/apps/web-ele/src/assets/svgs/iot/cube.svg new file mode 100644 index 000000000..200ac1b1c --- /dev/null +++ b/apps/web-ele/src/assets/svgs/iot/cube.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/apps/web-ele/src/components/shortcut-date-range-picker/shortcut-date-range-picker.vue b/apps/web-ele/src/components/shortcut-date-range-picker/shortcut-date-range-picker.vue index 4cc1b7656..8b8295b0b 100644 --- a/apps/web-ele/src/components/shortcut-date-range-picker/shortcut-date-range-picker.vue +++ b/apps/web-ele/src/components/shortcut-date-range-picker/shortcut-date-range-picker.vue @@ -18,24 +18,20 @@ const emits = defineEmits<{ const times = ref<[Dayjs, Dayjs]>(); // 日期范围 const rangePickerProps = getRangePickerDefaultProps(); - const timeRangeOptions = [ { - label: '昨天', - value: () => [ - dayjs().subtract(1, 'day').startOf('day'), - dayjs().subtract(1, 'day').endOf('day'), - ], + label: rangePickerProps.shortcuts[1]!.text, + value: () => rangePickerProps.shortcuts[1]!.value() as [Dayjs, Dayjs], }, { - label: '最近 7 天', + label: rangePickerProps.shortcuts[2]!.text, value: () => [ dayjs().subtract(7, 'day').startOf('day'), dayjs().subtract(1, 'day').endOf('day'), ], }, { - label: '最近 30 天', + label: rangePickerProps.shortcuts[3]!.text, value: () => [ dayjs().subtract(30, 'day').startOf('day'), dayjs().subtract(1, 'day').endOf('day'), diff --git a/apps/web-ele/src/views/iot/device/device/detail/modules/thing-model-property-history.vue b/apps/web-ele/src/views/iot/device/device/detail/modules/thing-model-property-history.vue index ed943b982..000cf504f 100644 --- a/apps/web-ele/src/views/iot/device/device/detail/modules/thing-model-property-history.vue +++ b/apps/web-ele/src/views/iot/device/device/detail/modules/thing-model-property-history.vue @@ -438,7 +438,6 @@ defineExpose({ open }); // 提供 open 方法,用于打开弹窗