tuqin
4 天以前 12434edfe0a9e4e67dceba449291b9ff3a5b5662
fix(erp): 销售订单提交文案改为按流程粒度判断免审批

配合后端改为按流程 Key 判断免审批:
- import 由 automaticApproval(全局)改为 isAutoApproveByKey
- 提交前按 'sale_order_approve' 查询免审批策略
- 免审批时提示「提交成功,已自动审核通过」,不再提示「请到协同办公中处理」
- 未开启免审批时仍走原「选择审批流程」逻辑
已修改1个文件
16 ■■■■■ 文件已修改
src/views/erp/sale/order/index.vue 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/erp/sale/order/index.vue
@@ -23,7 +23,7 @@
} from '#/api/erp/sale/order';
import { generateFromSaleOrder } from '#/api/mes/wm/salesnotice';
import { $t } from '#/locales';
import { automaticApproval } from '#/store/audit-policy';
import { isAutoApproveByKey } from '#/store/audit-policy';
import { useGridColumns, useGridFormSchema } from './data';
import Form from './modules/form.vue';
@@ -112,19 +112,21 @@
/** 提交销售订单审批(协同办公) */
async function handleSubmit(row: ErpSaleOrderApi.SaleOrder) {
  // 获取可用的审批流程定义
  const processList = automaticApproval.value ? [] : await getSaleOrderApproveProcessList();
  if (!automaticApproval.value && isEmpty(processList)) {
  // 按流程 Key 判断是否免审批(全局总开关开启,或销售订单流程单独配置了免审批,都算)
  const autoApprove = await isAutoApproveByKey('sale_order_approve');
  // 未开启免审批时,必须有可用的审批流程
  const processList = autoApprove ? [] : await getSaleOrderApproveProcessList();
  if (!autoApprove && isEmpty(processList)) {
    message.error('销售订单审批流程未配置,请先在「协同办公→流程管理」中创建并发布销售订单审批流程');
    return;
  }
  const hideLoading = message.loading({
    content: automaticApproval.value ? '正在提交生效...' : '正在提交审批...',
    content: autoApprove ? '正在提交...' : '正在提交审批...',
    duration: 0,
  });
  try {
    await submitSaleOrder(row.id!, automaticApproval.value ? 'sale_order_approve' : processList[0]!.key);
    message.success(automaticApproval.value ? '已提交生效' : '提交审批成功,请到协同办公中处理');
    await submitSaleOrder(row.id!, autoApprove ? 'sale_order_approve' : processList[0]!.key);
    message.success(autoApprove ? '提交成功,已自动审核通过' : '提交审批成功,请到协同办公中处理');
    handleRefresh();
  } finally {
    hideLoading();