xiaoyi
2026-10-30 3b9beae0effa70aff27566608e05e97d37dbf34a
fix 上
已修改2个文件
38 ■■■■■ 文件已修改
src/views/bpm/processInstance/detail/index.vue 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
vite.config.ts 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/bpm/processInstance/detail/index.vue
@@ -88,9 +88,8 @@
/** 获取详情 */
async function getDetail() {
  // 获得审批详情
  // 两个请求相互独立:任一失败都不应阻断另一个,也不应让页面白屏
  await getApprovalDetail();
  // 获得流程模型视图
  await getProcessModelView();
}
@@ -106,9 +105,11 @@
    const data = await getApprovalDetailApi(param);
    if (!data) {
      message.error('查询不到审批详情信息!');
      return;
    }
    if (!data.processDefinition || !data.processInstance) {
      message.error('查询不到流程信息!');
      return;
    }
    processInstance.value = data.processInstance;
@@ -162,15 +163,25 @@
/** 获取流程模型视图*/
async function getProcessModelView() {
  if (BpmModelType.BPMN === processDefinition.value?.modelType) {
    // 重置,解决 BPMN 流程图刷新不会重新渲染问题
    processModelView.value = {
      bpmnXml: '',
    };
  // 流程实例不存在时(例如历史遗留数据、或实例已被清理),
  // 这里会抛异常。必须兜住,否则整个详情页白屏。
  if (!props.id) {
    return;
  }
  const data = await getProcessInstanceBpmnModelView(props.id);
  if (data) {
    processModelView.value = data;
  try {
    if (BpmModelType.BPMN === processDefinition.value?.modelType) {
      // 重置,解决 BPMN 流程图刷新不会重新渲染问题
      processModelView.value = {
        bpmnXml: '',
      };
    }
    const data = await getProcessInstanceBpmnModelView(props.id);
    if (data) {
      processModelView.value = data;
    }
  } catch {
    // 流程图取不到不影响表单和审批记录展示,静默降级即可
    processModelView.value = { bpmnXml: '' };
  }
}
vite.config.ts
@@ -33,6 +33,13 @@
    application: {},
    vite: {
      define: defineVars,
      // Windows 下编辑器写文件会短暂占用 .tmpdir/*.tmp,chokidar 收到 EBUSY 会直接
      // 抛错并终止 dev server。忽略这些临时文件并容错,开发过程中保存代码不再断服。
      server: {
        watch: {
          ignored: ['**/*.tmpdir/**', '**/*.tmp'],
        },
      },
      resolve: {
        alias: {
          '@vue-office/pdf': resolve(__dirname, 'node_modules/@vue-office/pdf/lib/v3/vue-office-pdf.mjs'),