| | |
| | | <script lang="ts" setup> |
| | | <script lang="ts" setup> |
| | | import type { VxeTableGridOptions } from '#/adapter/vxe-table'; |
| | | import type { MesProWorkOrderApi } from '#/api/mes/pro/workorder'; |
| | | |
| | |
| | | gridApi.query(); |
| | | } |
| | | |
| | | /** 创建工单 */ |
| | | /** 创建订单 */ |
| | | function handleCreate() { |
| | | formModalApi.setData({ formType: 'create' }).open(); |
| | | } |
| | | |
| | | /** 新增子工单 */ |
| | | /** 新增子订单 */ |
| | | function handleAddChild(row: MesProWorkOrderApi.WorkOrder) { |
| | | formModalApi.setData({ formType: 'create', parentRow: row }).open(); |
| | | } |
| | | |
| | | /** 查看工单详情 */ |
| | | /** 查看订单详情 */ |
| | | function handleDetail(row: MesProWorkOrderApi.WorkOrder) { |
| | | formModalApi.setData({ formType: 'detail', id: row.id }).open(); |
| | | } |
| | | |
| | | /** 编辑工单 */ |
| | | /** 编辑订单 */ |
| | | function handleEdit(row: MesProWorkOrderApi.WorkOrder) { |
| | | formModalApi.setData({ formType: 'update', id: row.id }).open(); |
| | | } |
| | | |
| | | /** 完成工单 */ |
| | | /** 完成订单 */ |
| | | function handleFinish(row: MesProWorkOrderApi.WorkOrder) { |
| | | formModalApi.setData({ formType: 'finish', id: row.id }).open(); |
| | | } |
| | | |
| | | /** 删除工单 */ |
| | | /** 删除订单 */ |
| | | async function handleDelete(row: MesProWorkOrderApi.WorkOrder) { |
| | | const hideLoading = message.loading({ |
| | | content: $t('ui.actionMessage.deleting', [row.code]), |
| | |
| | | } |
| | | } |
| | | |
| | | /** 取消工单 */ |
| | | /** 取消订单 */ |
| | | async function handleCancel(row: MesProWorkOrderApi.WorkOrder) { |
| | | await cancelWorkOrder(row.id!); |
| | | message.success('工单已取消'); |
| | | message.success('订单已取消'); |
| | | handleRefresh(); |
| | | } |
| | | |
| | | /** 查看工单条码 */ |
| | | /** 查看订单条码 */ |
| | | function handleBarcode(row: MesProWorkOrderApi.WorkOrder) { |
| | | barcodeDetailRef.value?.openByBusiness( |
| | | row.id!, |
| | |
| | | /** 导出表格 */ |
| | | async function handleExport() { |
| | | const data = await exportWorkOrder(await gridApi.formApi.getValues()); |
| | | downloadFileFromBlobPart({ fileName: '生产工单.xls', source: data }); |
| | | downloadFileFromBlobPart({ fileName: '生产订单.xls', source: data }); |
| | | } |
| | | |
| | | const [Grid, gridApi] = useVbenVxeGrid({ |
| | |
| | | <template> |
| | | <Page auto-content-height><FormModal @success="handleRefresh" /> |
| | | |
| | | <Grid table-title="生产工单列表"> |
| | | <Grid table-title="生产订单列表"> |
| | | <template #toolbar-tools> |
| | | <TableAction |
| | | :actions="[ |
| | | { |
| | | label: $t('ui.actionTitle.create', ['工单']), |
| | | label: $t('ui.actionTitle.create', ['订单']), |
| | | type: 'primary', |
| | | icon: ACTION_ICON.ADD, |
| | | auth: ['mes:pro-work-order:create'], |
| | |
| | | auth: ['mes:pro-work-order:update'], |
| | | ifShow: row.status === MesProWorkOrderStatusEnum.CONFIRMED, |
| | | popConfirm: { |
| | | title: '确认要取消该工单吗?取消后不可恢复。', |
| | | title: '确认要取消该订单吗?取消后不可恢复。', |
| | | confirm: handleCancel.bind(null, row), |
| | | }, |
| | | }, |