b5d70ee4 by lihua

组织架构管理

1 parent d7b78de0
import request from "@/utils/request";
/** 获取租户列表(分页) */
export const getTenantSinglePage = (params) => request({
url: `${import.meta.env.VITE_APP_PERSONAL_URL}/tenant/single-page`,
method: 'post',
data: params
})
/** 删除租户 */
export const removeTenant = (data) => request({
url: `${import.meta.env.VITE_APP_PERSONAL_URL}/tenant/remove`,
method: 'delete',
data
})
export const addTenant = (params) => request({
url: `${import.meta.env.VITE_APP_PERSONAL_URL}/tenant/update`,
method: 'post',
data: params
})
export const updateTenant = (params) => request({
url: `${import.meta.env.VITE_APP_PERSONAL_URL}/tenant/update`,
method: 'put',
data: params
})
/** 更新租户状态 */
export const updateTenantState = (guid, state: string = 'Y') => request({
url: `${import.meta.env.VITE_APP_PERSONAL_URL}/tenant/update-state?tenantGuid=${guid}&state=${state}`,
method: 'get'
})
/** 获取会员进度列表 */
export const getMemberGressList = (params) => request({
url: `${import.meta.env.VITE_APP_PERSONAL_URL}/pending-task/page-list`,
method: 'post',
data: params
})
/** 获取任务执行日志 */
export const getTaskExecutionLog = (guid) => request({
url: `${import.meta.env.VITE_APP_PERSONAL_URL}/pending-task/task-info?guid=${guid}`,
method: 'get'
})
/** 任务重启 */
export const getTaskRestart = (guid) => request({
url: `${import.meta.env.VITE_APP_PERSONAL_URL}/pending-task/restart?guid=${guid}`,
method: 'get'
})
/**
* 获取部门tree列表
* @param param
* @returns
*/
export const getOrganisationTreeList = (params) => request({
url: `${import.meta.env.VITE_APP_PERSONAL_URL}/organisation/get-tree-list`,
method: 'post',
data: params
})
export const removeOrganisation = (guids) => request({
url: `${import.meta.env.VITE_APP_PERSONAL_URL}/organisation/removeListByGuids`,
method: 'delete',
data: guids
})
/**
* 修改部门关系
* @param param
* @returns
*/
export const updateOrganisation= (params) => request({
url: `${import.meta.env.VITE_APP_PERSONAL_URL}/organisation/update`,
method: 'put',
data: params
});
/**
* 新增部门
* @param param
* @returns
*/
export const addOrganisation = (params) => request({
url: `${import.meta.env.VITE_APP_PERSONAL_URL}/organisation/save`,
method: 'post',
data: params
});
......@@ -330,6 +330,53 @@ export const useValidator = () => {
};
};
/**
* 中文名字限制校验(表单验证函数)
* @param {*} message 错误提示
* @param {*} minChineseCount 最小中文长度
*/
const minChineseCount = (message?, minChineseCount = 2) => {
const chinesePattern = new RegExp(`^[\u4e00-\u9fa5]{${minChineseCount},}$`);
return {
validator: (_, val, callback) => {
let trimmedInput = val ? val.replace(/\s+/g, '') : '';
if (!chinesePattern.test(trimmedInput) && val) {
callback(new Error(message || `输入必须包含至少${minChineseCount}个中文字符!`))
} else {
callback()
}
},
trigger: 'blur'
}
}
const email = (message?: string): FormItemRule => {
return {
validator: (_, val, callback) => {
if (val && !/^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.[a-zA-Z0-9]{2,6}$/.test(val)) {
callback(new Error(message || '邮箱格式不正确!'))
} else {
callback()
}
},
trigger: 'blur'
}
}
const mobileNumber = (message?: string): FormItemRule => {
return {
validator: (_, val, callback) => {
if (val && !/^1[3-9]\d{9}$/.test(val)) {
callback(new Error(message || '手机号码格式不正确!'))
} else {
callback()
}
},
trigger: 'blur'
}
}
return {
required,
regexpValidate,
......@@ -343,6 +390,9 @@ export const useValidator = () => {
isUSCCCode,
idCode,
validateIPList,
validateDomainList
validateDomainList,
minChineseCount,
email,
mobileNumber
}
}
......
import type { RouteRecordRaw } from 'vue-router'
function Layout() {
return import('@/layouts/index.vue')
}
const routes: RouteRecordRaw[] = [
{
path: '/data-basic/department-manage',
component: Layout,
meta: {
title: '组织架构管理',
icon: 'sidebar-videos',
},
children: [{
path: '',
name: 'departmentInfoList',
component: () => import('@/views/data_basic/departmentInfoList.vue'),
meta: {
title: '组织架构管理',
sidebar: false,
breadcrumb: false,
cache: true
},
}]
},
]
export default routes
\ No newline at end of file
......@@ -8,6 +8,7 @@ import DataFacilitator from './modules/dataFacilitator';
import HomeIndex from './modules/homeIndex';
import DataDelivery from './modules/dataDelivery';
import DataAnonymization from './modules/dataAnonymization';
import DataBasic from './modules/dataBasic';
import useSettingsStore from '@/store/modules/settings'
......@@ -101,6 +102,7 @@ const asyncRoutes: RouteRecordRaw[] = [
...HomeIndex,
...DataDelivery,
...DataAnonymization,
...DataBasic,
// ...DataAssetRegistry,
]
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!