| | |
| | | isBuiltinTemplate, |
| | | mapTemplateFromApi, |
| | | mapTemplateToApi, |
| | | nodeDisplayName, |
| | | nodeSignModeLabel, |
| | | formatDisplayTime, |
| | | unwrapTemplateDetail, |
| | |
| | | }, |
| | | { |
| | | label: "流程概要", |
| | | prop: "flowNodes", |
| | | prop: "flowSummary", |
| | | minWidth: 220, |
| | | showOverflowTooltip: true, |
| | | formatData: (v) => flowNodesSummary(v), |
| | | }, |
| | | { |
| | | label: "状态", |
| | |
| | | showOverflowTooltip: true, |
| | | formatData: (v) => formatDisplayTime(v), |
| | | }, |
| | | { |
| | | label: "更新时间", |
| | | prop: "updatedTime", |
| | | width: 170, |
| | | showOverflowTooltip: true, |
| | | formatData: (v) => formatDisplayTime(v), |
| | | }, |
| | | // { |
| | | // label: "更新时间", |
| | | // prop: "updatedTime", |
| | | // width: 170, |
| | | // showOverflowTooltip: true, |
| | | // formatData: (v) => formatDisplayTime(v), |
| | | // }, |
| | | { |
| | | dataType: "action", |
| | | label: "操作", |
| | |
| | | buildApprovalTemplateListParams({ page, searchForm }) |
| | | ); |
| | | const data = res?.data || {}; |
| | | tableData.value = (data.records || []).map(mapTemplateFromApi); |
| | | // 流程概要按「审批类型·层级」展示,需要把模板名带进文案里 |
| | | tableData.value = (data.records || []).map(mapTemplateFromApi).map((row) => ({ |
| | | ...row, |
| | | flowSummary: flowNodesSummary(row.flowNodes, row.templateName), |
| | | })); |
| | | page.total = Number(data.total || 0); |
| | | } catch { |
| | | tableData.value = []; |
| | |
| | | }); |
| | | } |
| | | |
| | | function openFormDialog(mode, row) { |
| | | async function openFormDialog(mode, row) { |
| | | formDialog.mode = mode; |
| | | formDialog.title = mode === "add" ? "新建审批模板" : "编辑审批模板"; |
| | | resetForm(mode === "edit" ? row : null); |
| | | if (mode === "edit" && row?.id) { |
| | | // 编辑时先查询详情获取完整数据(包含附件) |
| | | try { |
| | | const res = await getApprovalTemplateDetail(row.id); |
| | | const detailData = mapTemplateFromApi(unwrapTemplateDetail(res)); |
| | | resetForm(detailData); |
| | | } catch { |
| | | resetForm(row); |
| | | } |
| | | } else { |
| | | resetForm(mode === "edit" ? row : null); |
| | | } |
| | | formDialog.visible = true; |
| | | } |
| | | |
| | |
| | | templateTypeLabel, |
| | | fetchTemplateList, |
| | | nodeSignModeLabel, |
| | | nodeDisplayName, |
| | | flowNodesSummary, |
| | | searchForm, |
| | | tableLoading, |