钉钉审批配置优化

This commit is contained in:
geht
2026-06-08 19:05:29 +08:00
parent 1d0b4c9fbb
commit fd5205e33e
44 changed files with 3730 additions and 278 deletions

View File

@@ -9,6 +9,9 @@
<!-- <j-upload-button type="primary" preIcon="ant-design:import-outlined" @click="onImportXls" v-auth="'system:user:import'">导入</j-upload-button>-->
<import-excel-progress :upload-url="getImportUrl" @success="reload"></import-excel-progress>
<a-button type="primary" @click="openModal(true, {})" preIcon="ant-design:hdd-outlined"> 回收站</a-button>
<!--update-begin---author:GHT ---date:2026-06-08 forXSLMES-20260608同步钉钉ID按钮-->
<a-button type="default" preIcon="ant-design:sync-outlined" :loading="syncDingLoading" @click="handleSyncDingUserId"> 同步钉钉ID</a-button>
<!--update-end---author:GHT ---date:2026-06-08 forXSLMES-20260608同步钉钉ID按钮-->
<a-dropdown v-if="selectedRowKeys.length > 0">
<template #overlay>
<a-menu>
@@ -66,12 +69,33 @@
import { useModal } from '/@/components/Modal';
import { useMessage } from '/@/hooks/web/useMessage';
import { columns, searchFormSchema } from './user.data';
import { listNoCareTenant, deleteUser, batchDeleteUser, getImportUrl, getExportUrl, frozenBatch, resetPassword } from './user.api';
import { listNoCareTenant, deleteUser, batchDeleteUser, getImportUrl, getExportUrl, frozenBatch, resetPassword, syncDingUserId } from './user.api';
import { usePermission } from '/@/hooks/web/usePermission';
import ImportExcelProgress from './components/ImportExcelProgress.vue';
const { createMessage, createConfirm } = useMessage();
const { isDisabledAuth, hasPermission } = usePermission();
//update-begin---author:GHT ---date:2026-06-08 for【XSLMES-20260608】同步钉钉ID-----------
const syncDingLoading = ref(false);
async function handleSyncDingUserId() {
syncDingLoading.value = true;
try {
const res: any = await syncDingUserId();
const { successCount, failCount, failDetails } = res;
let content = `同步完成:成功 ${successCount} 人,未匹配 ${failCount}`;
if (failDetails && failDetails.length > 0) {
content += `\n\n未匹配用户${failDetails.join('、')}`;
}
createMessage.info(content);
reload();
} catch (e) {
createMessage.error('同步钉钉ID失败');
} finally {
syncDingLoading.value = false;
}
}
//update-end---author:GHT ---date:2026-06-08 for【XSLMES-20260608】同步钉钉ID-----------
//注册drawer
const [registerDrawer, { openDrawer }] = useDrawer();

View File

@@ -6,6 +6,9 @@ enum Api {
list = '/sys/user/list',
save = '/sys/user/add',
edit = '/sys/user/edit',
//update-begin---author:GHT ---date:2026-06-08 for【XSLMES-20260608】同步钉钉ID-----------
syncDingUserId = '/sys/user/syncDingUserId',
//update-end---author:GHT ---date:2026-06-08 for【XSLMES-20260608】同步钉钉ID-----------
getUserRole = '/sys/user/queryUserRole',
duplicateCheck = '/sys/duplicate/check',
deleteUser = '/sys/user/delete',
@@ -241,9 +244,16 @@ export const updateUserTenantStatus = (params) => {
/**
* 根据部门id和已选中的部门岗位id获取部门下的岗位id
*
*
* @param params
*/
export const getDepPostIdByDepId = (params) => {
return defHttp.get({ url: Api.getDepPostIdByDepId, params },{ isTransformResponse: false });
};
//update-begin---author:GHT ---date:2026-06-08 for【XSLMES-20260608】同步钉钉ID接口-----------
/**
* 批量同步钉钉ID通过手机号查询钉钉userId回写到用户表
*/
export const syncDingUserId = () => defHttp.post({ url: Api.syncDingUserId });
//update-end---author:GHT ---date:2026-06-08 for【XSLMES-20260608】同步钉钉ID接口-----------

View File

@@ -104,6 +104,14 @@ export const columns: BasicColumn[] = [
width: 80,
resizable: true,
},
//update-begin---author:GHT ---date:2026-06-08 for【XSLMES-20260608】新增钉钉ID列-----------
{
title: '钉钉ID',
dataIndex: 'dingUserId',
width: 120,
resizable: true,
},
//update-end---author:GHT ---date:2026-06-08 for【XSLMES-20260608】新增钉钉ID列-----------
];
export const recycleColumns: BasicColumn[] = [