云
7 天以前 a241b66efcc41e973290a6722fb7a4d79b833ea1
src/views/mes/qc/rqc/index.vue
@@ -4,24 +4,28 @@
import { Page, useVbenModal } from '@vben/common-ui';
import { MesQcStatusEnum } from '@vben/constants';
import { downloadFileFromBlobPart } from '@vben/utils';
import { Button, message } from 'ant-design-vue';
import { ACTION_ICON, TableAction, useVbenVxeGrid } from '#/adapter/vxe-table';
import { deleteRqc, exportRqc, getRqcPage } from '#/api/mes/qc/rqc';
import { $t } from '#/locales';
import QcExportRangeModal from '#/views/mes/qc/components/export-range-modal.vue';
import QcReportGenerateModal from '#/views/mes/qc/components/report-generate-modal.vue';
import { useGridColumns, useGridFormSchema } from './data';
import Form from './modules/form.vue';
/** 本页对应 mes_qc_type 的值:4 退货检验 */
const QC_TYPE = 4;
const [FormModal, formModalApi] = useVbenModal({
  connectedComponent: Form,
  destroyOnClose: true,
});
const [ExportRangeModal, exportRangeModalApi] = useVbenModal({
  connectedComponent: QcExportRangeModal,
const [ReportModal, reportModalApi] = useVbenModal({
  connectedComponent: QcReportGenerateModal,
  destroyOnClose: true,
});
@@ -60,14 +64,16 @@
  }
}
/** 导出表格(弹窗选检验时间范围) */
function handleExport() {
  exportRangeModalApi
    .setData({
      title: '按检验时间导退货检验单',
      exportApi: exportRqc,
      fileName: '退货检验单.xls',
    })
/** 导出表格(按列表筛选条件导出) */
async function handleExport() {
  const data = await exportRqc(await gridApi.formApi.getValues());
  downloadFileFromBlobPart({ fileName: '退货检验单.xls', source: data });
}
/** 出报告:数据由后端从该质检单取,前端只选模板 */
function handleReport(row: MesQcRqcApi.Rqc) {
  reportModalApi
    .setData({ qcType: QC_TYPE, qcId: row.id, qcNo: row.code })
    .open();
}
@@ -105,7 +111,7 @@
<template>
  <Page auto-content-height>
    <FormModal @success="handleRefresh" />
    <ExportRangeModal />
    <ReportModal />
    <Grid table-title="退货检验单列表">
      <template #toolbar-tools>
        <TableAction
@@ -136,6 +142,14 @@
        <TableAction
          :actions="[
            {
              label: '出报告',
              type: 'link',
              icon: ACTION_ICON.AUDIT,
              auth: ['qc-report:instance:generate'],
              ifShow: row.status === MesQcStatusEnum.FINISHED,
              onClick: handleReport.bind(null, row),
            },
            {
              label: $t('common.edit'),
              type: 'link',
              icon: ACTION_ICON.EDIT,