| | |
| | | field: 'type', |
| | | title: '检测项类型', |
| | | width: 120, |
| | | cellRender: { |
| | | name: 'CellDict', |
| | | props: { type: DICT_TYPE.MES_INDICATOR_TYPE }, |
| | | }, |
| | | slots: { default: 'type' }, |
| | | }, |
| | | { |
| | | field: 'level', |
| | |
| | | import { Page, useVbenModal } from '@vben/common-ui'; |
| | | import { downloadFileFromBlobPart } from '@vben/utils'; |
| | | |
| | | import { message } from 'ant-design-vue'; |
| | | import { message, Tag } from 'ant-design-vue'; |
| | | |
| | | import { ACTION_ICON, TableAction, useVbenVxeGrid } from '#/adapter/vxe-table'; |
| | | import { deleteDefect, exportDefect, getDefectPage } from '#/api/mes/qc/defect'; |
| | | import { DICT_TYPE } from '@vben/constants'; |
| | | import { getDictOptions } from '@vben/hooks'; |
| | | import { $t } from '#/locales'; |
| | | |
| | | import { useGridColumns, useGridFormSchema } from './data'; |
| | |
| | | connectedComponent: Form, |
| | | destroyOnClose: true, |
| | | }); |
| | | |
| | | const TAG_COLORS = ['blue', 'green', 'orange', 'purple', 'cyan', 'magenta', 'geekblue', 'volcano'] as const; |
| | | |
| | | const typeDictOptions = getDictOptions(DICT_TYPE.MES_INDICATOR_TYPE, 'number'); |
| | | const typeColorMap = new Map<number, string>(); |
| | | typeDictOptions.forEach((item, index) => { |
| | | typeColorMap.set(item.value as number, TAG_COLORS[index % TAG_COLORS.length]!); |
| | | }); |
| | | |
| | | function getTypeColor(type: number): string { |
| | | return typeColorMap.get(type) || 'default'; |
| | | } |
| | | |
| | | function getTypeLabel(type: number): string { |
| | | const item = typeDictOptions.find((d) => d.value === type); |
| | | return item?.label || String(type); |
| | | } |
| | | |
| | | /** 刷新表格 */ |
| | | function handleRefresh() { |
| | |
| | | ]" |
| | | /> |
| | | </template> |
| | | <template #type="{ row }"> |
| | | <Tag v-if="row.type !== undefined && row.type !== null" :color="getTypeColor(row.type)"> |
| | | {{ getTypeLabel(row.type) }} |
| | | </Tag> |
| | | </template> |
| | | <template #actions="{ row }"> |
| | | <TableAction |
| | | :actions="[ |
| | |
| | | field: 'type', |
| | | title: '检测项类型', |
| | | width: 120, |
| | | cellRender: { |
| | | name: 'CellDict', |
| | | props: { type: DICT_TYPE.MES_INDICATOR_TYPE }, |
| | | }, |
| | | slots: { default: 'type' }, |
| | | }, |
| | | { |
| | | field: 'tool', |
| | |
| | | field: 'type', |
| | | title: '检测项类型', |
| | | width: 120, |
| | | cellRender: { |
| | | name: 'CellDict', |
| | | props: { type: DICT_TYPE.MES_INDICATOR_TYPE }, |
| | | }, |
| | | slots: { default: 'type' }, |
| | | }, |
| | | { |
| | | field: 'tool', |
| | |
| | | import { Page, useVbenModal } from '@vben/common-ui'; |
| | | import { downloadFileFromBlobPart } from '@vben/utils'; |
| | | |
| | | import { message } from 'ant-design-vue'; |
| | | import { message, Tag } from 'ant-design-vue'; |
| | | |
| | | import { ACTION_ICON, TableAction, useVbenVxeGrid } from '#/adapter/vxe-table'; |
| | | import { |
| | |
| | | exportIndicator, |
| | | getIndicatorPage, |
| | | } from '#/api/mes/qc/indicator'; |
| | | import { DICT_TYPE } from '@vben/constants'; |
| | | import { getDictOptions } from '@vben/hooks'; |
| | | import { $t } from '#/locales'; |
| | | |
| | | import { useGridColumns, useGridFormSchema } from './data'; |
| | |
| | | connectedComponent: Form, |
| | | destroyOnClose: true, |
| | | }); |
| | | |
| | | const TAG_COLORS = ['blue', 'green', 'orange', 'purple', 'cyan', 'magenta', 'geekblue', 'volcano'] as const; |
| | | |
| | | const typeDictOptions = getDictOptions(DICT_TYPE.MES_INDICATOR_TYPE, 'number'); |
| | | const typeColorMap = new Map<number, string>(); |
| | | typeDictOptions.forEach((item, index) => { |
| | | typeColorMap.set(item.value as number, TAG_COLORS[index % TAG_COLORS.length]!); |
| | | }); |
| | | |
| | | function getTypeColor(type: number): string { |
| | | return typeColorMap.get(type) || 'default'; |
| | | } |
| | | |
| | | function getTypeLabel(type: number): string { |
| | | const item = typeDictOptions.find((d) => d.value === type); |
| | | return item?.label || String(type); |
| | | } |
| | | |
| | | /** 刷新表格 */ |
| | | function handleRefresh() { |
| | |
| | | ]" |
| | | /> |
| | | </template> |
| | | <template #type="{ row }"> |
| | | <Tag v-if="row.type !== undefined && row.type !== null" :color="getTypeColor(row.type)"> |
| | | {{ getTypeLabel(row.type) }} |
| | | </Tag> |
| | | </template> |
| | | <template #actions="{ row }"> |
| | | <TableAction |
| | | :actions="[ |