liu
3 天以前 fb8ebb92202e59b902d3976e75ddae7ad2e60cb8
src/views/erp/sale/order/index.vue
@@ -24,6 +24,7 @@
import { useGridColumns, useGridFormSchema } from './data';
import Form from './modules/form.vue';
import SaleOrderPrint from './modules/print.vue';
import SalesNoticeForm from '#/views/wls/salesnotice/modules/form.vue';
/** ERP 销售订单列表 */
@@ -140,6 +141,12 @@
  formModalApi.setData({ formType: 'detail', id: row.id }).open();
}
/** 打印/导出销售订单详情,供企业盖章留存 */
const printRef = ref<InstanceType<typeof SaleOrderPrint>>();
function handlePrint(row: ErpSaleOrderApi.SaleOrder) {
  printRef.value?.print(row.id!);
}
/** 查看关联合同 */
function handleViewContract(row: ErpSaleOrderApi.SaleOrder) {
  if (row.contractId) {
@@ -220,6 +227,7 @@
  <Page auto-content-height>
    <FormModal @success="handleRefresh" />
    <SalesNoticeFormModal />
    <SaleOrderPrint ref="printRef" />
    <Grid table-title="销售订单列表">
      <template #toolbar-tools>
        <TableAction
@@ -304,6 +312,13 @@
              onClick: handleDetail.bind(null, row),
            },
            {
              label: '打印',
              type: 'link',
              icon: 'lucide:printer',
              auth: ['erp:sale-order:query'],
              onClick: handlePrint.bind(null, row),
            },
            {
              label: $t('common.edit'),
              type: 'link',
              icon: ACTION_ICON.EDIT,
@@ -360,7 +375,7 @@
              type: 'link',
              icon: 'ant-design:file-protect-outlined',
              auth: ['mes:wm-sales-notice:create'],
              ifShow: () => row.status === 20 && row.canCreateSalesNotice,
              ifShow: () => row.status === 20 && !!row.canCreateSalesNotice,
              onClick: handleGenerateNotice.bind(null, row),
            },
            {