新增手动拉取钉钉审批结果功能,支持强制重跑集成,优化审批台账管理。涉及多个文件的更新,包括API接口、服务逻辑及前端页面。
This commit is contained in:
@@ -4,6 +4,7 @@ enum Api {
|
||||
list = '/xslmes/mesXslApprovalRecord/list',
|
||||
queryById = '/xslmes/mesXslApprovalRecord/queryById',
|
||||
exportXls = '/xslmes/mesXslApprovalRecord/exportXls',
|
||||
pullDingResult = '/xslmes/mesXslApprovalRecord/pullDingResult',
|
||||
}
|
||||
|
||||
export const getExportUrl = Api.exportXls;
|
||||
@@ -11,3 +12,7 @@ export const getExportUrl = Api.exportXls;
|
||||
export const list = (params) => defHttp.get({ url: Api.list, params });
|
||||
|
||||
export const queryById = (params: { id: string }) => defHttp.get({ url: Api.queryById, params });
|
||||
|
||||
/** 手动拉取钉钉审批结果并强制重跑集成(含钉钉API与多节点集成,超时放宽) */
|
||||
export const pullDingResult = (params: { id: string }) =>
|
||||
defHttp.post({ url: Api.pullDingResult, params, timeout: 120 * 1000 }, { joinParamsToUrl: true });
|
||||
|
||||
@@ -19,6 +19,16 @@
|
||||
onClick: handleDetail.bind(null, record),
|
||||
auth: 'xslmes:mes_xsl_approval_record:list',
|
||||
},
|
||||
{
|
||||
label: '拉取钉钉结果',
|
||||
color: 'success',
|
||||
ifShow: record.channel === 'DINGTALK' && !!record.externalInstanceId,
|
||||
popConfirm: {
|
||||
title: '将拉取钉钉最新审批结果并强制重跑集成方案,确认继续?',
|
||||
confirm: handlePullDingResult.bind(null, record),
|
||||
},
|
||||
auth: 'xslmes:mes_xsl_approval_record:list',
|
||||
},
|
||||
{
|
||||
label: '补发IM卡片',
|
||||
color: 'warning',
|
||||
@@ -43,7 +53,7 @@
|
||||
import { useListPage } from '/@/hooks/system/useListPage';
|
||||
import MesXslApprovalRecordDetailModal from './components/MesXslApprovalRecordDetailModal.vue';
|
||||
import { columns, searchFormSchema } from './MesXslApprovalRecord.data';
|
||||
import { list, getExportUrl } from './MesXslApprovalRecord.api';
|
||||
import { list, getExportUrl, pullDingResult } from './MesXslApprovalRecord.api';
|
||||
import { resendApprovalCard } from '/@/views/approval/flow/approvalHandle.api';
|
||||
import { useMessage } from '/@/hooks/web/useMessage';
|
||||
|
||||
@@ -63,7 +73,7 @@
|
||||
showAdvancedButton: true,
|
||||
},
|
||||
actionColumn: {
|
||||
width: 180,
|
||||
width: 280,
|
||||
fixed: 'right',
|
||||
},
|
||||
},
|
||||
@@ -73,7 +83,7 @@
|
||||
},
|
||||
});
|
||||
|
||||
const [registerTable] = tableContext;
|
||||
const [registerTable, { reload }] = tableContext;
|
||||
|
||||
function handleDetail(record: Recordable) {
|
||||
openModal(true, { record });
|
||||
@@ -87,4 +97,17 @@
|
||||
createMessage.error(e?.message || '补发失败');
|
||||
}
|
||||
}
|
||||
|
||||
async function handlePullDingResult(record: Recordable) {
|
||||
const hide = createMessage.loading('正在拉取钉钉结果并重跑集成,请稍候…', 0);
|
||||
try {
|
||||
const msg = await pullDingResult({ id: record.id });
|
||||
createMessage.success(msg || '拉取并重跑完成');
|
||||
reload();
|
||||
} catch (e: any) {
|
||||
createMessage.error(e?.message || '拉取钉钉结果失败');
|
||||
} finally {
|
||||
hide();
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
Reference in New Issue
Block a user