88 分钟以前 5367b3b4d92588c4e76728e6bd4ad6aae0cbb967
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
<script lang="ts" setup>
import type { FormType } from '../../data';
 
import type { VxeTableGridOptions } from '#/adapter/vxe-table';
import type { MesPdDrawingReviewApi } from '#/api/mes/pd/drawing-review';
 
import { useVbenModal } from '#/packages/effects/common-ui/src';
 
import { ACTION_ICON, TableAction, useVbenVxeGrid } from '#/adapter/vxe-table';
import { getPdDrawingReviewPage } from '#/api/mes/pd/drawing-review';
 
import {
  useDrawingReviewGridColumns,
  useDrawingReviewGridFormSchema,
} from './data';
import ReviewForm from './review-form.vue';
 
const props = defineProps<{
  formType: FormType;
  projectId: number;
}>();
 
const [ReviewModal, reviewModalApi] = useVbenModal({
  connectedComponent: ReviewForm,
  destroyOnClose: true,
});
 
function handleRefresh() {
  gridApi.query();
}
 
function handleReview(row: MesPdDrawingReviewApi.DrawingReview) {
  reviewModalApi.setData({ id: row.id }).open();
}
 
const [Grid, gridApi] = useVbenVxeGrid({
  formOptions: { schema: useDrawingReviewGridFormSchema() },
  gridOptions: {
    columns: useDrawingReviewGridColumns(),
    height: 360,
    keepSource: true,
    proxyConfig: {
      ajax: {
        query: async ({ page }, formValues) => {
          return await getPdDrawingReviewPage({
            pageNo: page.currentPage,
            pageSize: page.pageSize,
            projectId: props.projectId,
            ...formValues,
          });
        },
      },
    },
    rowConfig: { keyField: 'id', isHover: true },
    toolbarConfig: { refresh: true, search: true },
  } as VxeTableGridOptions<MesPdDrawingReviewApi.DrawingReview>,
});
</script>
 
<template>
  <ReviewModal @success="handleRefresh" />
  <Grid table-title="资料审核">
    <template #actions="{ row }">
      <TableAction
        :actions="[
          {
            label: '审核',
            type: 'link',
            icon: ACTION_ICON.EDIT,
            auth: ['mes:pd-drawing-review:review'],
            onClick: handleReview.bind(null, row),
          },
        ]"
      />
    </template>
  </Grid>
</template>