This commit is contained in:
吴红兵
2025-12-02 10:37:49 +08:00
commit 1f645dad3e
1183 changed files with 147673 additions and 0 deletions

24
src/api/admin/audit.ts Normal file
View File

@@ -0,0 +1,24 @@
import request from '/@/utils/request';
export function fetchList(query?: Object) {
return request({
url: '/admin/audit/page',
method: 'get',
params: query,
});
}
export function getObj(id?: string) {
return request({
url: '/admin/audit/' + id,
method: 'get',
});
}
export function delObjs(ids?: Object) {
return request({
url: '/admin/audit/delete',
method: 'delete',
data: ids,
});
}

68
src/api/admin/client.ts Normal file
View File

@@ -0,0 +1,68 @@
import request from '/@/utils/request';
export function fetchList(query?: Object) {
return request({
url: '/admin/client/page',
method: 'get',
params: query,
});
}
export function addObj(obj?: Object) {
return request({
url: '/admin/client',
method: 'post',
data: obj,
});
}
export function getObj(id?: string) {
return request({
url: '/admin/client/' + id,
method: 'get',
});
}
export function delObj(ids?: object) {
return request({
url: '/admin/client',
method: 'delete',
data: ids,
});
}
export function putObj(obj?: Object) {
return request({
url: '/admin/client',
method: 'put',
data: obj,
});
}
export function refreshCache() {
return request({
url: '/admin/client/sync',
method: 'put',
});
}
export function getDetails(obj: Object) {
return request({
url: '/admin/client/getClientDetailsById/' + obj,
method: 'get',
});
}
export function validateclientId(rule: any, value: any, callback: any, isEdit: boolean) {
if (isEdit) {
return callback();
}
getDetails(value).then((res) => {
const result = res.data;
if (result !== null) {
callback(new Error('编号已经存在'));
} else {
callback();
}
});
}

64
src/api/admin/config.ts Normal file
View File

@@ -0,0 +1,64 @@
import request from "/@/utils/request"
export function fetchList(query?: Object) {
return request({
url: '/admin/system-config/page',
method: 'get',
params: query
})
}
export function addObj(obj?: Object) {
return request({
url: '/admin/system-config',
method: 'post',
data: obj
})
}
export function getObj(obj: Object) {
return request({
url: '/admin/system-config/details',
method: 'get',
params: obj
})
}
export function refreshObj() {
return request({
url: '/admin/system-config/refresh',
method: 'get'
})
}
export function delObjs(ids?: Object) {
return request({
url: '/admin/system-config',
method: 'delete',
data: ids
})
}
export function putObj(obj?: Object) {
return request({
url: '/admin/system-config',
method: 'put',
data: obj
})
}
export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) {
if (isEdit) {
return callback();
}
getObj({configKey: value}).then((response) => {
const result = response.data;
if (result !== null && result.length > 0) {
callback(new Error('数据已经存在'));
} else {
callback();
}
});
}

83
src/api/admin/dept.ts Normal file
View File

@@ -0,0 +1,83 @@
import request from '/@/utils/request';
export const deptTree = (params?: Object) => {
return request({
url: '/admin/dept/tree',
method: 'get',
params,
});
};
export const addObj = (obj: Object) => {
return request({
url: '/admin/dept',
method: 'post',
data: obj,
});
};
export const getObj = (id: string) => {
return request({
url: '/admin/dept/' + id,
method: 'get',
});
};
export const delObj = (id: string) => {
return request({
url: '/admin/dept/' + id,
method: 'delete',
});
};
export const putObj = (obj: Object) => {
return request({
url: '/admin/dept',
method: 'put',
data: obj,
});
};
export const syncUser = () => {
return request({
url: '/admin/connect/sync/ding/user',
method: 'post',
});
};
export const syncDept = () => {
return request({
url: '/admin/connect/sync/ding/dept',
method: 'post',
});
};
export const syncCpUser = () => {
return request({
url: '/admin/connect/sync/cp/user',
method: 'post',
});
};
export const syncCpDept = () => {
return request({
url: '/admin/connect/sync/cp/dept',
method: 'post',
});
};
export const orgTree = (type: String, deptId: Number) => {
return request({
url: '/admin/dept/org',
method: 'get',
params: {type: type, parentDeptId: deptId},
});
}
export const orgTreeSearcheUser = (param: Object) => {
return request({
url: '/admin/dept/org/user/search',
method: 'get',
params: param
});
}

138
src/api/admin/dict.ts Normal file
View File

@@ -0,0 +1,138 @@
import request from '/@/utils/request';
export const getDicts = (type: String) => {
return request({
url: `/admin/dict/type/${type}`,
method: 'get',
});
};
export function fetchList(query: any) {
return request({
url: '/admin/dict/list',
method: 'get',
params: query,
});
}
export function fetchItemList(query: any) {
return request({
url: '/admin/dict/item/page',
method: 'get',
params: query,
});
}
export function addItemObj(obj: any) {
return request({
url: '/admin/dict/item',
method: 'post',
data: obj,
});
}
export function getItemObj(id: string) {
return request({
url: '/admin/dict/item/details/' + id,
method: 'get',
});
}
export function getItemDetails(obj: object) {
return request({
url: '/admin/dict/item/details',
method: 'get',
params: obj,
});
}
export function delItemObj(id: string) {
return request({
url: '/admin/dict/item/' + id,
method: 'delete',
});
}
export function putItemObj(obj: any) {
return request({
url: '/admin/dict/item',
method: 'put',
data: obj,
});
}
export function addObj(obj: any) {
return request({
url: '/admin/dict',
method: 'post',
data: obj,
});
}
export function getObj(id: string) {
return request({
url: '/admin/dict/details/' + id,
method: 'get',
});
}
export function getObjDetails(obj: object) {
return request({
url: '/admin/dict/details',
method: 'get',
params: obj,
});
}
export function delObj(ids: Object) {
return request({
url: '/admin/dict',
method: 'delete',
data: ids,
});
}
export function putObj(obj: any) {
return request({
url: '/admin/dict',
method: 'put',
data: obj,
});
}
export function refreshCache() {
return request({
url: '/admin/dict/sync',
method: 'put',
});
}
export function validateDictType(rule: any, value: any, callback: any, isEdit: boolean) {
if (isEdit) {
return callback();
}
getObjDetails({ dictType: value }).then((response) => {
const result = response.data;
if (result !== null) {
callback(new Error('字典已经存在'));
} else {
callback();
}
});
}
export function validateDictItemLabel(rule: any, value: any, callback: any, type: string, isEdit: boolean) {
if (isEdit) {
return callback();
}
getItemDetails({ dictType: type, label: value }).then((response) => {
const result = response.data;
if (result !== null) {
callback(new Error('标签已经存在'));
} else {
callback();
}
});
}

92
src/api/admin/file.ts Normal file
View File

@@ -0,0 +1,92 @@
import request from '/@/utils/request';
export function fileList(query?: Object) {
return request({
url: '/admin/sys-file/page',
method: 'get',
params: query,
});
}
export function addObj(obj?: Object) {
return request({
url: '/admin/sys-file',
method: 'post',
data: obj,
});
}
export function getObj(id?: string) {
return request({
url: '/admin/sys-file/' + id,
method: 'get',
});
}
export function putObj(obj?: Object) {
return request({
url: '/admin/sys-file',
method: 'put',
data: obj,
});
}
export function fileGroupAdd(params: Record<string, any>) {
return request({
url: '/admin/sys-file/group/add',
method: 'post',
data: params,
});
}
export function fileGroupUpdate(params: Record<string, any>) {
return request({
url: '/admin/sys-file/group/update',
method: 'put',
data: params,
});
}
// 文件分类删除
export function fileGroupDelete(params: Record<string, any>) {
return request({
url: '/admin/sys-file/group/delete/' + params.id,
method: 'delete',
});
}
// 文件分类列表
export function fileCateLists(params: Record<string, any>) {
return request({
url: '/admin/sys-file/group/list',
method: 'get',
params: params,
});
}
// 文件删除
export function fileDelete(params: Record<string, any>) {
return request({
url: '/admin/sys-file',
method: 'delete',
data: params.ids,
});
}
// 文件移动
export function fileMove(params: Record<string, any>) {
return request({
url: '/admin/sys-file/group/move',
method: 'put',
data: params,
});
}
// 文件重命名
export function fileRename(params: { id: number; original: string }) {
return request({
url: '/admin/sys-file/rename',
method: 'put',
data: params,
});
}

115
src/api/admin/i18n.ts Normal file
View File

@@ -0,0 +1,115 @@
import request from '/@/utils/request';
import axios from 'axios';
import { decrypt } from '/@/utils/apiCrypto';
export function fetchList(query?: Object) {
return request({
url: '/admin/i18n/page',
method: 'get',
params: query,
});
}
export function addObj(obj?: Object) {
return request({
url: '/admin/i18n',
method: 'post',
data: obj,
});
}
export function getObj(id?: string) {
return request({
url: '/admin/i18n/details/' + id,
method: 'get',
});
}
export function getObjDetails(obj?: object) {
return request({
url: '/admin/i18n/details',
method: 'get',
params: obj,
});
}
export function delObj(ids?: object) {
return request({
url: '/admin/i18n',
method: 'delete',
data: ids,
});
}
export function putObj(obj?: Object) {
return request({
url: '/admin/i18n',
method: 'put',
data: obj,
});
}
export function refreshCache() {
return request({
url: '/admin/i18n/sync',
method: 'put',
});
}
/**
* 注意这里使用原声axios对象进行操作request 实例中依赖i18n 所以还没有初始化会报错
* @returns
*/
export function info() {
return axios.get(import.meta.env.VITE_API_URL + '/admin/i18n/info').then((response) => {
if (response.data.encryption) {
response.data = decrypt(response.data.encryption);
}
return response;
});
}
export function validateName(rule: any, value: any, callback: any, isEdit: boolean) {
if (isEdit) {
return callback();
}
getObjDetails({ name: value }).then((response) => {
const result = response.data;
if (result !== null) {
callback(new Error('国际化编码已经存在'));
} else {
callback();
}
});
}
export function validateZhCn(rule: any, value: any, callback: any, isEdit: boolean) {
if (isEdit) {
return callback();
}
getObjDetails({ zhCn: value }).then((response) => {
const result = response.data;
if (result !== null) {
callback(new Error('国际化中文已经存在'));
} else {
callback();
}
});
}
export function validateEn(rule: any, value: any, callback: any, isEdit: boolean) {
if (isEdit) {
return callback();
}
getObjDetails({ en: value }).then((response) => {
const result = response.data;
if (result !== null) {
callback(new Error('国际化英文已经存在'));
} else {
callback();
}
});
}

26
src/api/admin/log.ts Normal file
View File

@@ -0,0 +1,26 @@
import request from '/@/utils/request';
export const pageList = (params?: Object) => {
return request({
url: '/admin/log/page',
method: 'get',
params,
});
};
export const delObj = (ids: object) => {
return request({
url: '/admin/log',
method: 'delete',
data: ids,
});
};
export const getSum = (params?: Object) => {
return request({
url: '/admin/log/sum',
method: 'get',
params,
});
};

78
src/api/admin/menu.ts Normal file
View File

@@ -0,0 +1,78 @@
import request from '/@/utils/request';
export const pageList = (params?: Object) => {
return request({
url: '/admin/menu/tree',
method: 'get',
params,
});
};
export const getObj = (obj: object) => {
return request({
url: `/admin/menu/details`,
method: 'get',
params: obj
});
};
export const save = (data: Object) => {
return request({
url: '/admin/menu',
method: 'post',
data: data,
});
};
export const putObj = (data: Object) => {
return request({
url: '/admin/menu',
method: 'put',
data: data,
});
};
export const addObj = (data: Object) => {
return request({
url: '/admin/menu',
method: 'post',
data: data,
});
};
export const delObj = (id: string) => {
return request({
url: '/admin/menu/' + id,
method: 'delete',
});
};
/**
* 后端控制路由isRequestRoutes 为 true则开启后端控制路由
* @method getAdminMenu 获取后端动态路由菜单(admin)
*/
export function useMenuApi() {
return {
getAdminMenu: (params?: object) => {
return request({
url: '/admin/menu',
method: 'get',
params,
});
},
};
}
export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) {
if (isEdit) {
return callback();
}
getObj({[rule.field]: value}).then((response) => {
const result = response.data;
if (result !== null && result.length > 0) {
callback(new Error('数据已经存在'));
} else {
callback();
}
});
}

104
src/api/admin/message.ts Normal file
View File

@@ -0,0 +1,104 @@
import request from '/@/utils/request';
export function fetchUserMessageReadList(query?: Object) {
return request({
url: '/admin/sysMessage/user/read/page',
method: 'get',
params: query,
});
}
export function readUserMessage(params?: object) {
return request({
url: '/admin/sysMessage/read',
method: 'post',
params: params,
});
}
export function fetchUserMessageList(query?: Object) {
return request({
url: '/admin/sysMessage/user/page',
method: 'get',
params: query,
});
}
export function fetchList(query?: Object) {
return request({
url: '/admin/sysMessage/page',
method: 'get',
params: query,
});
}
export function addObj(obj?: Object) {
return request({
url: '/admin/sysMessage',
method: 'post',
data: obj,
});
}
export function sendObj(params?: object) {
return request({
url: '/admin/sysMessage/send',
method: 'post',
params: params,
});
}
export function getObj(id?: string) {
return request({
url: '/admin/sysMessage/' + id,
method: 'get',
});
}
export function delObjs(ids?: Object) {
return request({
url: '/admin/sysMessage',
method: 'delete',
data: ids,
});
}
export function putObj(obj?: Object) {
return request({
url: '/admin/sysMessage',
method: 'put',
data: obj,
});
}
export function sendSms(params?: object) {
return request({
url: '/admin/sysMessage/send/sms',
method: 'post',
data: params,
});
}
export function sendEmail(params?: object) {
return request({
url: '/admin/sysMessage/send/email',
method: 'post',
data: params,
});
}
export function sendHook(params?: object) {
return request({
url: '/admin/sysMessage/send/hook',
method: 'post',
data: params,
});
}
export function list(params?: object) {
return request({
url: '/admin/sysMessage/list/hook',
method: 'get',
params: params,
});
}

92
src/api/admin/param.ts Normal file
View File

@@ -0,0 +1,92 @@
import request from '/@/utils/request';
export function fetchList(query?: Object) {
return request({
url: '/admin/param/page',
method: 'get',
params: query,
});
}
export function addObj(obj?: Object) {
return request({
url: '/admin/param',
method: 'post',
data: obj,
});
}
export function getObj(id?: string) {
return request({
url: '/admin/param/details/' + id,
method: 'get',
});
}
export function delObj(ids?: Object) {
return request({
url: '/admin/param',
method: 'delete',
data: ids,
});
}
export function putObj(obj?: Object) {
return request({
url: '/admin/param',
method: 'put',
data: obj,
});
}
export function refreshCache() {
return request({
url: '/admin/param/sync',
method: 'put',
});
}
export function getObjDetails(obj?: object) {
return request({
url: '/admin/param/details',
method: 'get',
params: obj,
});
}
export function getValue(key?: String) {
return request({
url: '/admin/param/publicValue/' + key,
method: 'get'
});
}
export function validateParamsCode(rule: any, value: any, callback: any, isEdit: boolean) {
if (isEdit) {
return callback();
}
getObjDetails({publicKey: value}).then((response) => {
const result = response.data;
if (result !== null) {
callback(new Error('参数编码已经存在'));
} else {
callback();
}
});
}
export function validateParamsName(rule: any, value: any, callback: any, isEdit: boolean) {
if (isEdit) {
return callback();
}
getObjDetails({publicName: value}).then((response) => {
const result = response.data;
if (result !== null) {
callback(new Error('参数名称已经存在'));
} else {
callback();
}
});
}

86
src/api/admin/post.ts Normal file
View File

@@ -0,0 +1,86 @@
import request from '/@/utils/request';
export function fetchList(query?: Object) {
return request({
url: '/admin/post/page',
method: 'get',
params: query,
});
}
export const list = (params?: Object) => {
return request({
url: '/admin/post/list',
method: 'get',
params,
});
};
export function addObj(obj?: Object) {
return request({
url: '/admin/post',
method: 'post',
data: obj,
});
}
export function getObj(id?: string) {
return request({
url: '/admin/post/details/' + id,
method: 'get',
});
}
export function getObjDetails(obj?: object) {
return request({
url: '/admin/post/details',
method: 'get',
params: obj,
});
}
export function delObj(ids?: object) {
return request({
url: '/admin/post',
method: 'delete',
data: ids,
});
}
export function putObj(obj?: Object) {
return request({
url: '/admin/post',
method: 'put',
data: obj,
});
}
export function validatePostName(rule: any, value: any, callback: any, isEdit: boolean) {
if (isEdit) {
return callback();
}
getObjDetails({ postName: value }).then((response) => {
const result = response.data;
if (result !== null) {
callback(new Error('岗位名称已经存在'));
} else {
callback();
}
});
}
export function validatePostCode(rule: any, value: any, callback: any, isEdit: boolean) {
if (isEdit) {
return callback();
}
getObjDetails({ postCode: value }).then((response) => {
const result = response.data;
if (result !== null) {
callback(new Error('岗位编码已经存在'));
} else {
callback();
}
});
}

111
src/api/admin/role.ts Normal file
View File

@@ -0,0 +1,111 @@
import request from '/@/utils/request';
export const list = (params?: Object) => {
return request({
url: '/admin/role/list',
method: 'get',
params,
});
};
export const pageList = (params?: Object) => {
return request({
url: '/admin/role/page',
method: 'get',
params,
});
};
export const deptRoleList = () => {
return request({
url: '/admin/role/list',
method: 'get',
});
};
export const getObj = (id: string) => {
return request({
url: '/admin/role/details/' + id,
method: 'get',
});
};
export const getObjDetails = (obj: object) => {
return request({
url: '/admin/role/details',
method: 'get',
params: obj,
});
};
export const addObj = (obj: Object) => {
return request({
url: '/admin/role',
method: 'post',
data: obj,
});
};
export const putObj = (obj: Object) => {
return request({
url: '/admin/role',
method: 'put',
data: obj,
});
};
export const delObj = (ids: Object) => {
return request({
url: '/admin/role',
method: 'delete',
data: ids,
});
};
export const permissionUpd = (roleId: string, menuIds: string) => {
return request({
url: '/admin/role/menu',
method: 'put',
data: {
roleId: roleId,
menuIds: menuIds,
},
});
};
export const fetchRoleTree = (roleId: string) => {
return request({
url: '/admin/menu/tree/' + roleId,
method: 'get',
});
};
export function validateRoleCode(rule: any, value: any, callback: any, isEdit: boolean) {
if (isEdit) {
return callback();
}
getObjDetails({ roleCode: value }).then((response) => {
const result = response.data;
if (result !== null) {
callback(new Error('角色标识已经存在'));
} else {
callback();
}
});
}
export function validateRoleName(rule: any, value: any, callback: any, isEdit: boolean) {
if (isEdit) {
return callback();
}
getObjDetails({ roleName: value }).then((response) => {
const result = response.data;
if (result !== null) {
callback(new Error('角色名称已经存在'));
} else {
callback();
}
});
}

38
src/api/admin/route.ts Normal file
View File

@@ -0,0 +1,38 @@
import request from '/@/utils/request';
export const fetchList = (query?: Object) => {
return request({
url: '/admin/route',
method: 'get',
params: query,
});
};
export const addObj = (obj?: object) => {
return request({
url: '/admin/route',
method: 'post',
data: obj,
});
};
export const deleteObj = (routeId?: string) => {
return request({
url: '/admin/route/' + routeId,
method: 'delete'
});
};
export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) {
if (isEdit) {
return callback();
}
fetchList({[rule.field]: value}).then((response) => {
const result = response.data;
if (result !== null && result.length > 0) {
callback(new Error('数据已经存在'));
} else {
callback();
}
});
}

48
src/api/admin/schedule.ts Normal file
View File

@@ -0,0 +1,48 @@
import request from '/@/utils/request';
export function fetchList(query?: Object) {
return request({
url: '/admin/schedule/page',
method: 'get',
params: query,
});
}
export function list(query?: Object) {
return request({
url: '/admin/schedule/list',
method: 'get',
params: query,
});
}
export function addObj(obj?: Object) {
return request({
url: '/admin/schedule',
method: 'post',
data: obj,
});
}
export function getObj(id?: string) {
return request({
url: '/admin/schedule/' + id,
method: 'get',
});
}
export function delObjs(ids?: Object) {
return request({
url: '/admin/schedule',
method: 'delete',
data: ids,
});
}
export function putObj(obj?: Object) {
return request({
url: '/admin/schedule',
method: 'put',
data: obj,
});
}

View File

@@ -0,0 +1,71 @@
import request from "/@/utils/request"
export function fetchList(query?: Object) {
return request({
url: '/admin/sysSensitiveWord/page',
method: 'get',
params: query
})
}
export function addObj(obj?: Object) {
return request({
url: '/admin/sysSensitiveWord',
method: 'post',
data: obj
})
}
export function getObj(obj: Object) {
return request({
url: '/admin/sysSensitiveWord/details',
method: 'get',
params: obj
})
}
export function refreshObj() {
return request({
url: '/admin/sysSensitiveWord/refresh',
method: 'get'
})
}
export function delObjs(ids?: Object) {
return request({
url: '/admin/sysSensitiveWord',
method: 'delete',
data: ids
})
}
export function putObj(obj?: Object) {
return request({
url: '/admin/sysSensitiveWord',
method: 'put',
data: obj
})
}
export function testObj(obj?: Object) {
return request({
url: '/admin/sysSensitiveWord/match',
method: 'post',
data: obj
})
}
export function validateWord(rule: any, value: any, callback: any, isEdit: boolean) {
if (isEdit) {
return callback();
}
getObj({ sensitiveWord: value }).then((response) => {
const result = response.data;
if (result !== null) {
callback(new Error('敏感词已经存在'));
} else {
callback();
}
});
}

47
src/api/admin/social.ts Normal file
View File

@@ -0,0 +1,47 @@
import request from '/@/utils/request';
export function fetchList(query?: Object) {
return request({
url: '/admin/social/page',
method: 'get',
params: query,
});
}
export function addObj(obj?: Object) {
return request({
url: '/admin/social',
method: 'post',
data: obj,
});
}
export function getObj(id?: string) {
return request({
url: '/admin/social/getById/' + id,
method: 'get',
});
}
export function delObj(ids?: Object) {
return request({
url: '/admin/social',
method: 'delete',
data: ids,
});
}
export function putObj(obj?: Object) {
return request({
url: '/admin/social',
method: 'put',
data: obj,
});
}
export function getLoginAppList(id?: string) {
return request({
url: '/admin/social/getLoginAppList',
method: 'get',
});
}

63
src/api/admin/sysArea.ts Normal file
View File

@@ -0,0 +1,63 @@
import request from "/@/utils/request"
export function fetchTree(query?: Object) {
return request({
url: '/admin/sysArea/tree',
method: 'get',
params: query
})
}
export function fetchList(query?: Object) {
return request({
url: '/admin/sysArea/page',
method: 'get',
params: query
})
}
export function addObj(obj?: Object) {
return request({
url: '/admin/sysArea',
method: 'post',
data: obj
})
}
export function getObj(query?: Object,) {
return request({
url: '/admin/sysArea/details',
method: 'get',
params: query
})
}
export function delObjs(ids?: Object) {
return request({
url: '/admin/sysArea',
method: 'delete',
data: ids
})
}
export function putObj(obj?: Object) {
return request({
url: '/admin/sysArea',
method: 'put',
data: obj
})
}
export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) {
if (isEdit) {
return callback();
}
getObj({ [rule.field] : value }).then((response) => {
const result = response.data;
if (result !== null && result.length > 0) {
callback(new Error('数据已经存在'));
} else {
callback();
}
});
}

9
src/api/admin/system.ts Normal file
View File

@@ -0,0 +1,9 @@
import request from '/@/utils/request';
// 系统缓存监控
export function systemCache() {
return request({
url: '/admin/system/cache',
method: 'get',
});
}

93
src/api/admin/tenant.ts Normal file
View File

@@ -0,0 +1,93 @@
import request from '/@/utils/request';
export function fetchPage(query?: Object) {
return request({
url: '/admin/tenant/page',
method: 'get',
params: query,
});
}
export function fetchList(query?: object) {
return request({
url: '/admin/tenant/list',
method: 'get',
params: query,
});
}
export function addObj(obj?: Object) {
return request({
url: '/admin/tenant',
method: 'post',
data: obj,
});
}
export function getObj(id?: string) {
return request({
url: '/admin/tenant/details/' + id,
method: 'get',
});
}
export function getObjDetails(obj?: object) {
return request({
url: '/admin/tenant/details',
method: 'get',
params: obj,
});
}
export function delObj(ids?: Object) {
return request({
url: '/admin/tenant',
method: 'delete',
data: ids,
});
}
export function putObj(obj?: Object) {
return request({
url: '/admin/tenant',
method: 'put',
data: obj,
});
}
export function validateTenantName(rule: any, value: any, callback: any, isEdit: boolean) {
if (isEdit) {
return callback();
}
getObjDetails({ name: value }).then((response) => {
const result = response.data;
if (result !== null) {
callback(new Error('租户名称已经存在'));
} else {
callback();
}
});
}
export function validateTenantCode(rule: any, value: any, callback: any, isEdit: boolean) {
if (isEdit) {
return callback();
}
getObjDetails({ code: value }).then((response) => {
const result = response.data;
if (result !== null) {
callback(new Error('租户编码已经存在'));
} else {
callback();
}
});
}
export function treemenu() {
return request({
url: '/admin/tenant/tree/menu',
method: 'get',
});
}

17
src/api/admin/token.ts Normal file
View File

@@ -0,0 +1,17 @@
import request from '/@/utils/request';
export function fetchList(query: object) {
return request({
url: '/admin/sys-token/page',
method: 'post',
data: query,
});
}
export function delObj(accessTokens: string[]) {
return request({
url: '/admin/sys-token/delete',
method: 'delete',
data: accessTokens,
});
}

145
src/api/admin/user.ts Normal file
View File

@@ -0,0 +1,145 @@
import request from '/@/utils/request';
export const list = () => {
return request({
url: '/admin/user/list',
method: 'get',
});
};
export const pageList = (params?: Object) => {
return request({
url: '/admin/user/page',
method: 'get',
params,
});
};
export const addObj = (obj: Object) => {
return request({
url: '/admin/user',
method: 'post',
data: obj,
});
};
export const getObj = (id: String) => {
return request({
url: '/admin/user/details/' + id,
method: 'get',
});
};
export const delObj = (ids: Object) => {
return request({
url: '/admin/user',
method: 'delete',
data: ids,
});
};
export const putObj = (obj: Object) => {
return request({
url: '/admin/user',
method: 'put',
data: obj,
});
};
export function getDetails(obj: Object) {
return request({
url: '/admin/user/details',
method: 'get',
params: obj,
});
}
// 更改个人信息
export function editInfo(obj: Object) {
return request({
url: '/admin/user/personal/edit',
method: 'put',
data: obj,
});
}
// 更改个人密码
export function password(obj: Object) {
return request({
url: '/admin/user/personal/password',
method: 'put',
data: obj,
});
}
export function unbindingUser(type) {
return request({
url: '/admin/user/unbinding',
method: 'post',
params: {
type,
},
});
}
export function checkPassword(password: string) {
return request({
url: '/admin/user/check',
method: 'post',
params: {
password,
},
});
}
/**
* 注册用户
*/
export const registerUser = (userInfo: object) => {
return request({
url: '/admin/register/user',
method: 'post',
data: userInfo,
});
};
export const resetUserPassword = (userInfo: object) => {
return request({
url: '/admin/register/password',
method: 'post',
data: userInfo,
});
};
export function validateUsername(rule: any, value: any, callback: any, isEdit: boolean) {
const flag = new RegExp(/^([a-z\d]+?)$/).test(value);
if (!flag) {
callback(new Error('用户名支持小写英文、数字'));
}
if (isEdit) {
return callback();
}
getDetails({ username: value }).then((response) => {
const result = response.data;
if (result !== null) {
callback(new Error('用户名已经存在'));
} else {
callback();
}
});
}
export function validatePhone(rule: any, value: any, callback: any, isEdit: boolean) {
if (isEdit) {
return callback();
}
getDetails({ phone: value }).then((response) => {
const result = response.data;
if (result !== null) {
callback(new Error('手机号已经存在'));
} else {
callback();
}
});
}

40
src/api/app/appArticle.ts Normal file
View File

@@ -0,0 +1,40 @@
import request from '/@/utils/request';
export function fetchList(query?: Object) {
return request({
url: '/app/appArticle/page',
method: 'get',
params: query,
});
}
export function addObj(obj?: Object) {
return request({
url: '/app/appArticle',
method: 'post',
data: obj,
});
}
export function getObj(id?: string) {
return request({
url: `/app/appArticle/details/${id}/1`,
method: 'get',
});
}
export function delObjs(ids?: Object) {
return request({
url: '/app/appArticle',
method: 'delete',
data: ids,
});
}
export function putObj(obj?: Object) {
return request({
url: '/app/appArticle',
method: 'put',
data: obj,
});
}

View File

@@ -0,0 +1,47 @@
import request from '/@/utils/request';
export function fetchList(query?: Object) {
return request({
url: '/app/appArticleCategory/page',
method: 'get',
params: query,
});
}
export function addObj(obj?: Object) {
return request({
url: '/app/appArticleCategory',
method: 'post',
data: obj,
});
}
export function getObj(id?: string) {
return request({
url: '/app/appArticleCategory/' + id,
method: 'get',
});
}
export function getObjList() {
return request({
url: '/app/appArticleCategory/list',
method: 'get',
});
}
export function delObjs(ids?: Object) {
return request({
url: '/app/appArticleCategory',
method: 'delete',
data: ids,
});
}
export function putObj(obj?: Object) {
return request({
url: '/app/appArticleCategory',
method: 'put',
data: obj,
});
}

View File

@@ -0,0 +1,41 @@
import request from "/@/utils/request"
export function fetchList(query?: Object) {
return request({
url: '/app/appContacts/page',
method: 'get',
params: query
})
}
export function addObj(obj?: Object) {
return request({
url: '/app/appContacts',
method: 'post',
data: obj
})
}
export function getObj(id?: string) {
return request({
url: '/app/appContacts/' + id,
method: 'get'
})
}
export function delObjs(ids?: Object) {
return request({
url: '/app/appContacts',
method: 'delete',
data: ids
})
}
export function putObj(obj?: Object) {
return request({
url: '/app/appContacts',
method: 'put',
data: obj
})
}

134
src/api/app/approle.ts Normal file
View File

@@ -0,0 +1,134 @@
import request from '/@/utils/request';
export function fetchList(query: any) {
return request({
url: '/app/approle/page',
method: 'get',
params: query,
});
}
export function list() {
return request({
url: '/app/approle/list',
method: 'get',
});
}
export function addObj(obj: any) {
return request({
url: '/app/approle',
method: 'post',
data: obj,
});
}
export function getObj(id: string) {
return request({
url: '/app/approle/' + id,
method: 'get',
});
}
export function delObj(ids?: object) {
return request({
url: '/app/approle',
method: 'delete',
data: ids,
});
}
export function putObj(obj: any) {
return request({
url: '/app/approle',
method: 'put',
data: obj,
});
}
export function fetchRoleTree(roleId: string) {
return request({
url: '/app/appmenu/tree/' + roleId,
method: 'get',
});
}
export function permissionUpd(roleId: string, menuIds: string) {
return request({
url: '/app/approle/menu',
method: 'put',
data: {
roleId: roleId,
menuIds: menuIds,
},
});
}
export function getDetails(obj: Object) {
return request({
url: '/app/approle/details/' + obj,
method: 'get',
});
}
export function getDetailsByCode(obj: Object) {
return request({
url: '/app/approle/detailsByCode/' + obj,
method: 'get',
});
}
export function validateApproleName(rule: any, value: any, callback: any, isEdit: boolean) {
const flag = new RegExp(/^([a-z\u4e00-\u9fa5\d]+?)$/).test(value);
if (!flag) {
callback(new Error('用户名支持小写英文、数字、中文'));
}
if (isEdit) {
return callback();
}
getDetails(value).then((response) => {
const result = response.data;
if (result !== null) {
callback(new Error('用户名已经存在'));
} else {
callback();
}
});
}
export function validateAppRoleCode(rule: any, value: any, callback: any, isEdit: boolean) {
if (isEdit) {
return callback();
}
getDetailsByCode(value).then((response) => {
const result = response.data;
if (result !== null) {
callback(new Error('角色标识已经存在'));
} else {
callback();
}
});
}
// 获取工作台装饰数据
export function getWorkbenchDecorate() {
return request({
url: '/app/approle/menu',
method: 'get',
params: { id: 4 }
});
}
// 更新角色工作台菜单
export function updateRoleWorkbenchMenus(roleId: string, menuIds: string) {
return request({
url: '/app/approle',
method: 'put',
data: {
roleId: roleId,
menuId: menuIds,
},
});
}

View File

@@ -0,0 +1,39 @@
import request from '/@/utils/request';
export function fetchList(query: any) {
return request({
url: '/app/approlemenu/page',
method: 'get',
params: query,
});
}
export function addObj(obj: any) {
return request({
url: '/app/approlemenu',
method: 'post',
data: obj,
});
}
export function getObj(id: string) {
return request({
url: '/app/approlemenu/' + id,
method: 'get',
});
}
export function delObj(id: string) {
return request({
url: '/app/approlemenu/' + id,
method: 'delete',
});
}
export function putObj(obj: string) {
return request({
url: '/app/approlemenu',
method: 'put',
data: obj,
});
}

40
src/api/app/appsocial.ts Normal file
View File

@@ -0,0 +1,40 @@
import request from '/@/utils/request';
export function fetchList(query?: Object) {
return request({
url: '/app/appsocial/page',
method: 'get',
params: query,
});
}
export function addObj(obj?: Object) {
return request({
url: '/app/appsocial',
method: 'post',
data: obj,
});
}
export function getObj(id?: string) {
return request({
url: '/app/appsocial/' + id,
method: 'get',
});
}
export function delObj(ids?: object) {
return request({
url: '/app/appsocial',
method: 'delete',
data: ids,
});
}
export function putObj(obj?: Object) {
return request({
url: '/app/appsocial',
method: 'put',
data: obj,
});
}

86
src/api/app/appuser.ts Normal file
View File

@@ -0,0 +1,86 @@
import request from '/@/utils/request';
export function fetchList(query: any) {
return request({
url: '/app/appuser/page',
method: 'get',
params: query,
});
}
export function addObj(obj: any) {
return request({
url: '/app/appuser',
method: 'post',
data: obj,
});
}
export function getObj(id: string) {
return request({
url: '/app/appuser/details/' + id,
method: 'get',
});
}
export function delObj(ids?: object) {
return request({
url: '/app/appuser',
method: 'delete',
data: ids,
});
}
export function putObj(obj: any) {
return request({
url: '/app/appuser',
method: 'put',
data: obj,
});
}
export function getDetails(obj: Object) {
return request({
url: '/app/appuser/details',
method: 'get',
params: obj,
});
}
export function validateUsername(rule: any, value: any, callback: any, isEdit: boolean) {
const flag = new RegExp(/^([a-z\d]+?)$/).test(value);
if (!flag) {
callback(new Error('用户名支持小写英文、数字'));
}
if (isEdit) {
return callback();
}
getDetails({
username: value,
}).then((response) => {
const result = response.data;
if (result !== null) {
callback(new Error('用户名已经存在'));
} else {
callback();
}
});
}
export function validatePhone(rule: any, value: any, callback: any, isEdit: boolean) {
if (isEdit) {
return callback();
}
getDetails({
phone: value,
}).then((response) => {
const result = response.data;
if (result !== null) {
callback(new Error('手机号已经存在'));
} else {
callback();
}
});
}

View File

@@ -0,0 +1,47 @@
import request from '/@/utils/request';
export function fetchList(query: any) {
return request({
url: '/app/appuserrole/page',
method: 'get',
params: query,
});
}
export function addObj(obj: any) {
return request({
url: '/app/appuserrole',
method: 'post',
data: obj,
});
}
export function batchAddObj(objList: any[]) {
return request({
url: '/app/appuserrole/batch',
method: 'post',
data: objList,
});
}
export function getObj(id: string) {
return request({
url: '/app/appuserrole/' + id,
method: 'get',
});
}
export function delObj(id: string) {
return request({
url: '/app/appuserrole/' + id,
method: 'delete',
});
}
export function putObj(obj: any) {
return request({
url: '/app/appuserrole',
method: 'put',
data: obj,
});
}

40
src/api/app/page.ts Normal file
View File

@@ -0,0 +1,40 @@
import request from '/@/utils/request';
export function fetchList(query?: Object) {
return request({
url: '/app/page/page',
method: 'get',
params: query,
});
}
export function addObj(obj?: Object) {
return request({
url: '/app/appPage',
method: 'post',
data: obj,
});
}
export function getObj(id?: string) {
return request({
url: '/app/appPage/' + id,
method: 'get',
});
}
export function delObjs(ids?: Object) {
return request({
url: '/app/page',
method: 'delete',
data: ids,
});
}
export function putObj(obj?: Object) {
return request({
url: '/app/appPage',
method: 'put',
data: obj,
});
}

40
src/api/app/tabbar.ts Normal file
View File

@@ -0,0 +1,40 @@
import request from '/@/utils/request';
export function fetchList(query?: Object) {
return request({
url: '/app/appTabbar/list',
method: 'get',
params: query,
});
}
export function addObj(obj?: Object) {
return request({
url: '/app/appTabbar',
method: 'post',
data: obj,
});
}
export function getObj(id?: string) {
return request({
url: '/app/appTabbar/' + id,
method: 'get',
});
}
export function delObjs(ids?: Object) {
return request({
url: '/app/appTabbar',
method: 'delete',
data: ids,
});
}
export function putObj(obj?: Object) {
return request({
url: '/app/appTabbar',
method: 'put',
data: obj,
});
}

17
src/api/daemon/job-log.ts Normal file
View File

@@ -0,0 +1,17 @@
import request from '/@/utils/request';
export function fetchList(query: any) {
return request({
url: '/job/sys-job-log/page',
method: 'get',
params: query,
});
}
export function delObjs(ids: object) {
return request({
url: '/job/sys-job-log',
method: 'delete',
data: ids,
});
}

74
src/api/daemon/job.ts Normal file
View File

@@ -0,0 +1,74 @@
import request from '/@/utils/request';
export function fetchList(query?: Object) {
return request({
url: '/job/sys-job/page',
method: 'get',
params: query,
});
}
export function addObj(obj?: Object) {
return request({
url: '/job/sys-job',
method: 'post',
data: obj,
});
}
export function getObj(id?: string) {
return request({
url: '/job/sys-job/' + id,
method: 'get',
});
}
export function delObj(id?: string) {
return request({
url: '/job/sys-job/' + id,
method: 'delete',
});
}
export function putObj(obj?: Object) {
return request({
url: '/job/sys-job',
method: 'put',
data: obj,
});
}
export function startJobRa(jobId: string) {
return request({
url: '/job/sys-job/start-job/' + jobId,
method: 'post',
});
}
export function runJobRa(jobId: string) {
return request({
url: '/job/sys-job/run-job/' + jobId,
method: 'post',
});
}
export function shutDownJobRa(jobId: string) {
return request({
url: '/job/sys-job/shutdown-job/' + jobId,
method: 'post',
});
}
export function validateJob(rule: any, value: any, callback: any, form: any) {
request({
url: '/job/sys-job/validate',
method: 'get',
params: Object.assign(form, { field: rule.field }),
}).then(({ data }) => {
if (data) {
callback(new Error(data));
} else {
callback();
}
});
}

View File

@@ -0,0 +1,76 @@
import request from '/@/utils/request';
/**
* 创建流程
*
* @param data
*/
export function addFlow(data: any) {
return request({
url: '/task/process/create',
method: 'post',
data: data,
});
}
/**
* 获取流程详细信息
*
* @param data
*/
export function getFlowDetail(flowId: string) {
return request({
url: '/task/process/getDetail',
method: 'get',
params: {flowId},
});
}
/**
* 停用流程
*
* @param data
*/
export function disableFlow(flowId: string) {
return request({
url: '/task/process/update/' + flowId + '?type=stop',
method: 'put',
});
}
/**
* 删除流程
*
* @param data
*/
export function deleteFlow(flowId: string) {
return request({
url: '/task/process/update/' + flowId + '?type=delete',
method: 'put',
});
}
/**
* 启用流程
*
* @param data
*/
export function enableFlow(flowId: string) {
return request({
url: '/task/process/update/' + flowId + '?type=using',
method: 'put',
});
}
/**
* 发起流程
*
* @param data
*/
export function startFlow(obj: any) {
return request({
url: '/task/process-instance/startProcessInstance',
method: 'post',
data: obj,
});
}

View File

@@ -0,0 +1,16 @@
/**
* 菜单视图对象类型
*/
export interface FlowVO {
stop?: boolean;
updated?: string;
/**
* 菜单ID
*/
formId?: string;
/**
* 菜单名称
*/
formName?: string;
}

View File

@@ -0,0 +1,63 @@
import request from '/@/utils/request';
import { AxiosPromise } from 'axios';
import { Group, GroupVO } from './types';
/**
* 添加分组
*
* @param data
*/
export function addGroup(data: Group) {
return request({
url: '/task/processGroup/create',
method: 'post',
data: data,
});
}
/**
* 删除分组
*
* @param data
*/
export function delGroup(id: number) {
return request({
url: '/task/processGroup/delete/' + id,
method: 'delete',
});
}
/**
* 查询分组列表
*/
export function queryGroupList(): AxiosPromise<GroupVO[]> {
return request({
url: '/task/processGroup/list',
method: 'get',
});
}
/**
* 查询分组和流程列表
*/
export function queryGroupFlowList(params?: Object) {
return request({
url: '/task/combination/group/listGroupWithProcess',
method: 'get',
params: params,
});
}
/**
* 查询我可发起的组和流程
*/
export function queryMineStartGroupFlowList(hidden?: string): AxiosPromise<GroupVO[]> {
return request({
url: '/task/combination/group/listCurrentUserStartGroup',
method: 'get',
params: { hidden: hidden },
});
}

View File

@@ -0,0 +1,27 @@
import { FlowVO } from '/@/api/flow/flow/types';
/**
* 菜单查询参数类型
*/
export interface Group {
groupName?: string;
}
/**
* 菜单视图对象类型
*/
export interface GroupVO {
/**
* 子菜单
*/
items?: FlowVO[];
/**
* 菜单ID
*/
id?: number;
/**
* 菜单名称
*/
name?: string;
}

View File

@@ -0,0 +1,10 @@
import request from '/@/utils/request';
// 流程详情
export function detail(param: any) {
return request({
url: '/task/process-instance/detail',
method: 'get',
params: param,
});
}

115
src/api/flow/task/index.ts Normal file
View File

@@ -0,0 +1,115 @@
import request from '/@/utils/request';
// 查询用户首页数据看板
export function queryTaskData() {
return request({
url: '/task/task/queryTaskData',
method: 'get',
});
}
// 查询抄送详细信息
export function queryMineCCDetail(param: any) {
return request({
url: '/task/processCopy/querySingleDetail',
method: 'get',
params: param,
});
}
/**
* 抄送给我的
*
* @param data
*/
export function queryMineCC(data: any) {
return request({
url: '/task/process-instance/queryMineCC',
method: 'post',
data: data,
});
}
/**
* 查询待办任务
*
* @param data
*/
export function queryMineTask(data: any) {
return request({
url: '/task/process-instance/queryMineTask',
method: 'post',
data: data,
});
}
// 结束流程
export function stopProcessInstance(param: any) {
return request({
url: '/task/task/stopProcessInstance',
method: 'post',
data: param,
});
}
/**
* 查询我发起的任务
*
* @param data
*/
export function queryMineStarted(data: any) {
return request({
url: '/task/process-instance/queryMineStarted',
method: 'post',
data: data,
});
}
// 查询当前用户已办任务
export function queryMineEndTask(param) {
return request({
url: '/task/process-instance/queryMineEndTask',
method: 'post',
data: param,
});
}
/**
* 查询任务详细信息
*
* @param data
*/
export function queryTask(taskId: string, view: boolean) {
return request({
url: '/task/task/queryTask',
method: 'get',
params: {taskId, view},
});
}
// 完成任务
export function completeTask(param: Object) {
return request({
url: '/task/task/completeTask',
method: 'post',
data: param,
});
}
// 完成任务
export function transferTask(param: Object) {
return request({
url: '/task/task/setAssignee',
method: 'post',
data: param,
});
}
// 格式化流程节点显示
export function formatStartNodeShow(param: Object) {
return request({
url: '/task/process-instance/formatStartNodeShow',
method: 'post',
data: param,
});
}

View File

@@ -0,0 +1,55 @@
import request from "/@/utils/request"
export function fetchList(query?: Object) {
return request({
url: '/gen/table/create-table/page',
method: 'get',
params: query
})
}
export function addObj(obj?: Object) {
return request({
url: '/gen/table/create-table',
method: 'post',
data: obj
})
}
export function tempStore(obj: any) {
return request({
url: '/gen/table/create-table/temp-store',
method: 'post',
data: obj
})
}
export function getObj(id: any) {
return request({
url: '/gen/table/create-table/' + id,
method: 'get'
})
}
export function delObj(id: any) {
return request({
url: '/gen/table/create-table/' + id,
method: 'delete'
})
}
export function delObjs(ids?: Object) {
return request({
url: '/gen/table/create-table',
method: 'delete',
data: ids
})
}
export function putObj(obj?: Object) {
return request({
url: '/gen/table/create-table',
method: 'put',
data: obj
})
}

56
src/api/gen/datasource.ts Normal file
View File

@@ -0,0 +1,56 @@
import request from '/@/utils/request';
export function fetchList(query?: Object) {
return request({
url: '/gen/dsconf/page',
method: 'get',
params: query,
});
}
export function list(query?: Object) {
return request({
url: '/gen/dsconf/list',
method: 'get',
params: query,
});
}
export function listTable(query?: Object) {
return request({
url: '/gen/dsconf/table/list',
method: 'get',
params: query,
});
}
export function addObj(obj?: Object) {
return request({
url: '/gen/dsconf',
method: 'post',
data: obj,
});
}
export function getObj(id?: string) {
return request({
url: '/gen/dsconf/' + id,
method: 'get',
});
}
export function delObj(ids?: Object) {
return request({
url: '/gen/dsconf',
method: 'delete',
data: ids,
});
}
export function putObj(obj?: Object) {
return request({
url: '/gen/dsconf',
method: 'put',
data: obj,
});
}

71
src/api/gen/fieldtype.ts Normal file
View File

@@ -0,0 +1,71 @@
import request from '/@/utils/request';
export function fetchList(query?: Object) {
return request({
url: '/gen/fieldtype/page',
method: 'get',
params: query,
});
}
export function list(query?: Object) {
return request({
url: '/gen/fieldtype/list',
method: 'get',
params: query,
});
}
export function addObj(obj?: Object) {
return request({
url: '/gen/fieldtype',
method: 'post',
data: obj,
});
}
export function getObj(id?: string) {
return request({
url: '/gen/fieldtype/details/' + id,
method: 'get',
});
}
export function getObjDetails(obj?: object) {
return request({
url: '/gen/fieldtype/details',
method: 'get',
params: obj,
});
}
export function delObj(ids?: object) {
return request({
url: '/gen/fieldtype',
method: 'delete',
data: ids,
});
}
export function putObj(obj?: Object) {
return request({
url: '/gen/fieldtype',
method: 'put',
data: obj,
});
}
export function validateColumnType(rule: any, value: any, callback: any, isEdit: boolean) {
if (isEdit) {
return callback();
}
getObjDetails({ columnType: value }).then((response) => {
const result = response.data;
if (result !== null) {
callback(new Error('类型已经存在'));
} else {
callback();
}
});
}

47
src/api/gen/group.ts Normal file
View File

@@ -0,0 +1,47 @@
import request from '/@/utils/request';
export function fetchList(query?: Object) {
return request({
url: '/gen/group/page',
method: 'get',
params: query,
});
}
export function addObj(obj?: Object) {
return request({
url: '/gen/group',
method: 'post',
data: obj,
});
}
export function getObj(id?: string) {
return request({
url: '/gen/group/' + id,
method: 'get',
});
}
export function delObjs(ids?: Object) {
return request({
url: '/gen/group',
method: 'delete',
data: ids,
});
}
export function putObj(obj?: Object) {
return request({
url: '/gen/group',
method: 'put',
data: obj,
});
}
export function list() {
return request({
url: '/gen/group/list',
method: 'get',
});
}

136
src/api/gen/table.ts Normal file
View File

@@ -0,0 +1,136 @@
import request from '/@/utils/request';
export function fetchList(query?: Object) {
return request({
url: '/gen/table/page',
method: 'get',
params: query,
});
}
export function addObj(obj?: Object) {
return request({
url: '/gen/table',
method: 'post',
data: obj,
});
}
export function getObj(id?: string) {
return request({
url: '/gen/table/' + id,
method: 'get',
});
}
export function delObj(id?: string) {
return request({
url: '/gen/table/' + id,
method: 'delete',
});
}
export function putObj(obj?: Object) {
return request({
url: '/gen/table',
method: 'put',
data: obj,
});
}
export const useSyncTableApi = (dsName: string, tableName: string) => {
return request.get('/gen/table/sync/' + dsName + '/' + tableName);
};
export const useTableApi = (dsName: string, tableName: string) => {
return request.get('/gen/table/' + dsName + '/' + tableName);
};
export const useListTableApi = (dsName: string) => {
return request.get('/gen/table/list/' + dsName);
};
export const useListTableColumnApi = (dsName: string, tableName: string) => {
return request.get('/gen/table/column/' + dsName + '/' + tableName);
};
export const useTableFieldSubmitApi = (dsName: string, tableName: string, fieldList: any) => {
return request.put('/gen/table/field/' + dsName + '/' + tableName, fieldList);
};
export const useGeneratorCodeApi = (tableIds: any) => {
return request({
url: '/gen/generator/code',
method: 'get',
params: { tableIds: tableIds },
});
};
export const useGeneratorVFormApi = (dsName: any, tableName: any) => {
return request({
url: '/gen/generator/vform',
method: 'get',
params: { dsName: dsName, tableName: tableName },
});
};
export const useGeneratorVFormSfcApi = (id: string) => {
return request({
url: '/gen/generator/vform/sfc',
method: 'get',
params: { formId: id },
});
};
export const useGeneratorPreviewApi = (tableId: any) => {
return request({
url: '/gen/generator/preview',
method: 'get',
params: { tableId: tableId },
});
};
export function fetchDictList() {
return request({
url: '/admin/dict/list',
method: 'get',
});
}
export function useFormConfSaveApi(obj?: Object) {
return request({
url: '/gen/form',
method: 'post',
data: obj,
});
}
export function fetchFormList(query?: Object) {
return request({
url: '/gen/form/page',
method: 'get',
params: query,
});
}
export function fetchFormById(id?: string) {
return request({
url: '/gen/form/' + id,
method: 'get',
});
}
export function delFormObj(id?: string) {
return request({
url: '/gen/form/' + id,
method: 'delete',
});
}
export function groupList() {
return request({
url: '/gen/group/list',
method: 'get',
});
}

61
src/api/gen/template.ts Normal file
View File

@@ -0,0 +1,61 @@
import request from '/@/utils/request';
export function fetchList(query?: Object) {
return request({
url: '/gen/template/page',
method: 'get',
params: query,
});
}
export function list() {
return request({
url: '/gen/template/list',
method: 'get',
});
}
export function online() {
return request({
url: '/gen/template/online',
method: 'get',
});
}
export function checkVersion() {
return request({
url: '/gen/template/checkVersion',
method: 'get',
});
}
export function addObj(obj?: Object) {
return request({
url: '/gen/template',
method: 'post',
data: obj,
});
}
export function getObj(id?: string) {
return request({
url: '/gen/template/' + id,
method: 'get',
});
}
export function delObjs(ids?: Object) {
return request({
url: '/gen/template',
method: 'delete',
data: ids,
});
}
export function putObj(obj?: Object) {
return request({
url: '/gen/template',
method: 'put',
data: obj,
});
}

View File

@@ -0,0 +1,63 @@
import request from "/@/utils/request"
export function fetchList(query?: Object) {
return request({
url: '/jsonflow/comment/page',
method: 'get',
params: query
})
}
export function addObj(obj?: Object) {
return request({
url: '/jsonflow/comment',
method: 'post',
data: obj
})
}
export function getObj(id?: string) {
return request({
url: '/jsonflow/comment/' + id,
method: 'get'
})
}
export function tempStore(obj?: any) {
return request({
url: '/jsonflow/comment/temp-store',
method: 'post',
data: obj
})
}
export function delObj(id?: any) {
return request({
url: '/jsonflow/comment/' + id,
method: 'delete'
})
}
export function delObjs(ids?: Object) {
return request({
url: '/jsonflow/comment',
method: 'delete',
data: ids
})
}
export function putObj(obj?: Object) {
return request({
url: '/jsonflow/comment',
method: 'put',
data: obj
})
}
export function fetchComment(query?: any) {
return request({
url: '/jsonflow/comment/comment',
method: 'get',
params: query
})
}

View File

@@ -0,0 +1,53 @@
/**
* 公共方法封装
* @author luolin
*/
import request from '/@/utils/request';
export function listDicData(url: string, obj?: Object) {
return request({
url: url,
method: 'post',
data: obj,
});
}
export function listDicUrl(url: string, query?) {
return request({
url: url,
method: 'get',
params: query,
})
}
export function listDicUrlArr(url: string, ids?, query?) {
const lastPart = url.split('/').pop().split('?')[0];
let name = lastPart.replace(/-(\w)/g, (match, p1) => p1.toUpperCase());
const urlArr = ids.map(id => `${name}=${encodeURIComponent(id)}`).join('&');
url = url + (url.includes('?') ? '&' : '?') + urlArr
return request({
url: url,
method: 'get',
params: query,
})
}
// 参与者选择器数据
export function fetchUserRolePicker() {
return request({
url: '/jsonflow/user-role-auditor/user-role/picker',
method: 'get',
})
}
// 查询参与者下人员
export function listUsersByRoleId(roleId, jobType) {
return request({
url: '/jsonflow/user-role-auditor/list-users/' + roleId,
method: 'get',
params: {jobType: jobType}
})
}

View File

@@ -0,0 +1,77 @@
import request from "/@/utils/request"
export function fetchList(query?: Object) {
return request({
url: '/jsonflow/def-flow/page',
method: 'get',
params: query
})
}
export function addObj(obj?: Object) {
return request({
url: '/jsonflow/def-flow',
method: 'post',
data: obj
})
}
export function getObj(id?: string) {
return request({
url: '/jsonflow/def-flow/' + id,
method: 'get'
})
}
export function tempStore(obj: any) {
return request({
url: '/jsonflow/def-flow/temp-store',
method: 'post',
data: obj
})
}
export function delObj(id: any) {
return request({
url: '/jsonflow/def-flow/' + id,
method: 'delete'
})
}
export function delObjs(ids?: Object) {
return request({
url: '/jsonflow/def-flow',
method: 'delete',
data: ids
})
}
export function putObj(obj?: Object) {
return request({
url: '/jsonflow/def-flow',
method: 'put',
data: obj
})
}
/**
* 选择流程定义ID集合
*/
export function getDefFlowIds() {
return request({
url: '/jsonflow/def-flow/list',
method: 'get'
})
}
/**
* 根据流程名称获取信息
*
* @return AxiosPromise
*/
export function getByFlowName(flowName: string) {
return request({
url: '/jsonflow/def-flow/flow-name/' + flowName,
method: 'get'
})
}

View File

@@ -0,0 +1,89 @@
import request from "/@/utils/request"
export function fetchList(query?: Object) {
return request({
url: '/jsonflow/dist-person/page',
method: 'get',
params: query
})
}
export function delegatePage(query?: Object) {
return request({
url: '/jsonflow/dist-person/delegate/page',
method: 'get',
params: query
})
}
export function addObj(obj?: Object) {
return request({
url: '/jsonflow/dist-person',
method: 'post',
data: obj
})
}
export function delegate(obj?: Object) {
return request({
url: '/jsonflow/dist-person/delegate',
method: 'post',
data: obj
})
}
export function tempStore(obj: any) {
return request({
url: '/jsonflow/dist-person/temp-store',
method: 'post',
data: obj
})
}
export function getObj(id: any) {
return request({
url: '/jsonflow/dist-person/' + id,
method: 'get'
})
}
export function delObj(id: any) {
return request({
url: '/jsonflow/dist-person/' + id,
method: 'delete'
})
}
export function delObjs(ids?: Object) {
return request({
url: '/jsonflow/dist-person',
method: 'delete',
data: ids
})
}
export function putObj(obj?: Object) {
return request({
url: '/jsonflow/dist-person',
method: 'put',
data: obj
})
}
// 流程中保存分配参与者
export function saveByFlowInstId(obj) {
return request({
url: '/jsonflow/dist-person/flow-inst-id',
method: 'put',
data: obj
})
}
// 流程中获取
export function getByFlowInstId(obj) {
return request({
url: '/jsonflow/dist-person/flow-inst-id',
method: 'get',
params: obj
})
}

131
src/api/jsonflow/do-job.ts Normal file
View File

@@ -0,0 +1,131 @@
import request from "/@/utils/request"
import {paramsFilter} from "/@/flow";
// 任务完成审批
export function complete(obj: any) {
return request({
url: '/jsonflow/run-job/complete',
method: 'post',
data: obj
})
}
// 退回首节点
export function backFirstJob(obj: any) {
return request({
url: '/jsonflow/run-job/back-first',
method: 'post',
data: obj
})
}
// 退回上一步
export function backPreJob(obj: any) {
return request({
url: '/jsonflow/run-job/back-pre',
method: 'post',
data: obj
})
}
// 任意跳转
export function anyJump(obj: any) {
return request({
url: '/jsonflow/run-job/any-jump',
method: 'post',
data: obj
})
}
// 任意驳回
export function reject(obj: any) {
return request({
url: '/jsonflow/run-job/reject',
method: 'post',
data: obj
})
}
// 加签
export function signature(obj: any) {
return request({
url: '/jsonflow/run-job/signature',
method: 'post',
data: obj
})
}
// 任务挂起/激活
export function suspension(obj: any) {
return request({
url: '/jsonflow/run-job/suspension',
method: 'put',
data: obj
})
}
// 任务签收/反签收
export function signForJob(obj: any) {
return request({
url: '/jsonflow/run-job/sign-for-job',
method: 'put',
data: obj
})
}
// 处理转办逻辑
export function turnRunJob(obj: any) {
return request({
url: '/jsonflow/run-job/turn',
method: 'put',
data: obj
})
}
// 指定人员
export function appointUser(obj: any) {
return request({
url: '/jsonflow/run-job/appoint',
method: 'put',
data: obj
})
}
// 获取待办任务
export function fetchTodoPage(query: any) {
return request({
url: '/jsonflow/run-job/todo/page',
method: 'get',
params: query
})
}
// 获取待办任务数量
export function fetchTodoSize(query: any) {
return request({
url: '/jsonflow/run-job/todo/size',
method: 'get',
params: query
})
}
// 审批前获取节点配置信息
export function getTodoDetail(query: any) {
return request({
url: '/jsonflow/run-job/todo/detail',
method: 'get',
params: query
})
}
// 是否已阅
export function isRead(obj: any) {
let query = Object.assign({}, obj, {order: null, elTabs: null, runNodeVO: null});
query = paramsFilter(query)
return request({
url: '/jsonflow/run-job/is-read',
method: 'get',
params: query
})
}

View File

@@ -0,0 +1,55 @@
import request from "/@/utils/request"
export function fetchList(query?: Object) {
return request({
url: '/jsonflow/flow-clazz/page',
method: 'get',
params: query
})
}
export function addObj(obj?: Object) {
return request({
url: '/jsonflow/flow-clazz',
method: 'post',
data: obj
})
}
export function tempStore(obj: any) {
return request({
url: '/jsonflow/flow-clazz/temp-store',
method: 'post',
data: obj
})
}
export function getObj(id: any) {
return request({
url: '/jsonflow/flow-clazz/' + id,
method: 'get'
})
}
export function delObj(id: any) {
return request({
url: '/jsonflow/flow-clazz/' + id,
method: 'delete'
})
}
export function delObjs(ids?: Object) {
return request({
url: '/jsonflow/flow-clazz',
method: 'delete',
data: ids
})
}
export function putObj(obj?: Object) {
return request({
url: '/jsonflow/flow-clazz',
method: 'put',
data: obj
})
}

View File

@@ -0,0 +1,39 @@
import request from "/@/utils/request"
export function fetchList(query?: Object) {
return request({
url: '/jsonflow/flow-rule/page',
method: 'get',
params: query
})
}
export function addObj(obj?: Object) {
return request({
url: '/jsonflow/flow-rule',
method: 'post',
data: obj
})
}
export function getObj(id?: string) {
return request({
url: '/jsonflow/flow-rule/' + id,
method: 'get'
})
}
export function delObjs(ids?: Object) {
return request({
url: '/jsonflow/flow-rule',
method: 'delete',
data: ids
})
}
export function putObj(obj?: Object) {
return request({
url: '/jsonflow/flow-rule',
method: 'put',
data: obj
})
}

View File

@@ -0,0 +1,55 @@
import request from "/@/utils/request"
export function fetchList(query?: Object) {
return request({
url: '/jsonflow/flow-variable/page',
method: 'get',
params: query
})
}
export function addObj(obj?: Object) {
return request({
url: '/jsonflow/flow-variable',
method: 'post',
data: obj
})
}
export function tempStore(obj: any) {
return request({
url: '/jsonflow/flow-variable/temp-store',
method: 'post',
data: obj
})
}
export function getObj(id: any) {
return request({
url: '/jsonflow/flow-variable/' + id,
method: 'get'
})
}
export function delObj(id: any) {
return request({
url: '/jsonflow/flow-variable/' + id,
method: 'delete'
})
}
export function delObjs(ids?: Object) {
return request({
url: '/jsonflow/flow-variable',
method: 'delete',
data: ids
})
}
export function putObj(obj?: Object) {
return request({
url: '/jsonflow/flow-variable',
method: 'put',
data: obj
})
}

View File

@@ -0,0 +1,72 @@
import request from "/@/utils/request"
export function fetchList(query?: Object) {
return request({
url: '/jsonflow/form-option/page',
method: 'get',
params: query
})
}
export function addObj(obj?: Object) {
return request({
url: '/jsonflow/form-option',
method: 'post',
data: obj
})
}
export function savePrintTemp(obj?: Object) {
return request({
url: '/jsonflow/form-option/print-temp',
method: 'post',
data: obj
})
}
export function getObj(id?: string) {
return request({
url: '/jsonflow/form-option/' + id,
method: 'get'
})
}
export function delObjs(ids?: Object) {
return request({
url: '/jsonflow/form-option',
method: 'delete',
data: ids
})
}
export function putObj(obj?: Object) {
return request({
url: '/jsonflow/form-option',
method: 'put',
data: obj
})
}
export function listFormOption(query?: Object) {
return request({
url: '/jsonflow/form-option/option',
method: 'get',
params: query
})
}
export function listStartPerm(query?: Object) {
return request({
url: '/jsonflow/form-option/start',
method: 'get',
params: query
})
}
export function listPrintTemp(query?: Object) {
return request({
url: '/jsonflow/form-option/print-temp',
method: 'get',
params: query
})
}

View File

@@ -0,0 +1,28 @@
import request from "/@/utils/request"
// 获取已办任务
export function fetchToDonePage(query: any) {
return request({
url: '/jsonflow/run-job/to-done/page',
method: 'get',
params: query
})
}
// 获取节点配置信息
export function getToDoneDetail(query: any) {
return request({
url: '/jsonflow/run-job/to-done/detail',
method: 'get',
params: query
})
}
// 取回任务
export function retakeJob(obj: any) {
return request({
url: '/jsonflow/run-job/retake-job',
method: 'put',
data: obj
})
}

View File

@@ -0,0 +1,100 @@
import request from "/@/utils/request"
export function fetchList(query?: Object) {
return request({
url: '/jsonflow/run-flow/page',
method: 'get',
params: query
})
}
export function addObj(obj?: Object) {
return request({
url: '/jsonflow/run-flow',
method: 'post',
data: obj
})
}
export function tempStore(obj: any) {
return request({
url: '/jsonflow/run-flow/temp-store',
method: 'post',
data: obj
})
}
export function getObj(id: any) {
return request({
url: '/jsonflow/run-flow/' + id,
method: 'get'
})
}
export function delObj(id: any) {
return request({
url: '/jsonflow/run-flow/' + id,
method: 'delete'
})
}
export function delObjs(ids?: Object) {
return request({
url: '/jsonflow/run-flow',
method: 'delete',
data: ids
})
}
export function putObj(obj?: Object) {
return request({
url: '/jsonflow/run-flow',
method: 'put',
data: obj
})
}
// 提前结束流程
export function earlyComplete(obj: any) {
return request({
url: '/jsonflow/run-flow/early-complete',
method: 'put',
data: obj
})
}
// 终止流程
export function terminateFlow(obj: any) {
return request({
url: '/jsonflow/run-flow/terminate',
method: 'put',
data: obj
})
}
// 通过id作废流程管理
export function invalidFlow(obj: any) {
return request({
url: '/jsonflow/run-flow/invalid',
method: 'delete',
data: obj
})
}
// 撤回或重置当前流程
export function recallReset(obj: any) {
return request({
url: '/jsonflow/run-flow/recall-reset',
method: 'put',
data: obj
})
}
// 催办流程
export function remind(obj: any) {
return request({
url: '/jsonflow/run-flow/remind',
method: 'put',
data: obj
})
}

View File

@@ -0,0 +1,84 @@
import request from "/@/utils/request"
export function fetchList(query?: Object) {
return request({
url: '/jsonflow/run-job/page',
method: 'get',
params: query
})
}
export function addObj(obj?: Object) {
return request({
url: '/jsonflow/run-job',
method: 'post',
data: obj
})
}
export function tempStore(obj: any) {
return request({
url: '/jsonflow/run-job/temp-store',
method: 'post',
data: obj
})
}
export function getObj(id: any) {
return request({
url: '/jsonflow/run-job/' + id,
method: 'get'
})
}
export function delObj(id: any) {
return request({
url: '/jsonflow/run-job/' + id,
method: 'delete'
})
}
export function delObjs(ids?: Object) {
return request({
url: '/jsonflow/run-job',
method: 'delete',
data: ids
})
}
export function putObj(obj?: Object) {
return request({
url: '/jsonflow/run-job',
method: 'put',
data: obj
})
}
/**
* 任务交接:查询交接人是自己未完成的任务
*/
export function fetchNodeHandover(query: any) {
return request({
url: '/jsonflow/run-job/page/job-handover',
method: 'get',
params: query
})
}
// 减签任务
export function signOff(obj: any) {
return request({
url: '/jsonflow/run-job/sign-off',
method: 'put',
data: obj
})
}
// 催办任务
export function remind(obj: any) {
return request({
url: '/jsonflow/run-job/remind',
method: 'put',
data: obj
})
}

View File

@@ -0,0 +1,73 @@
import request from "/@/utils/request"
export function fetchList(query?: Object) {
return request({
url: '/jsonflow/run-node/page',
method: 'get',
params: query
})
}
export function addObj(obj?: Object) {
return request({
url: '/jsonflow/run-node',
method: 'post',
data: obj
})
}
export function tempStore(obj: any) {
return request({
url: '/jsonflow/run-node/temp-store',
method: 'post',
data: obj
})
}
export function getObj(id: any) {
return request({
url: '/jsonflow/run-node/' + id,
method: 'get'
})
}
export function delObj(id: any) {
return request({
url: '/jsonflow/run-node/' + id,
method: 'delete'
})
}
export function delObjs(ids?: Object) {
return request({
url: '/jsonflow/run-node',
method: 'delete',
data: ids
})
}
export function putObj(obj?: Object) {
return request({
url: '/jsonflow/run-node',
method: 'put',
data: obj
})
}
// 催办节点
export function remind(obj: any) {
return request({
url: '/jsonflow/run-node/remind',
method: 'put',
data: obj
})
}
// 加签
export function signature(obj: any) {
return request({
url: '/jsonflow/run-node/signature',
method: 'post',
data: obj
})
}

View File

@@ -0,0 +1,55 @@
import request from "/@/utils/request"
export function fetchList(query?: Object) {
return request({
url: '/jsonflow/run-reject/page',
method: 'get',
params: query
})
}
export function addObj(obj?: Object) {
return request({
url: '/jsonflow/run-reject',
method: 'post',
data: obj
})
}
export function tempStore(obj: any) {
return request({
url: '/jsonflow/run-reject/temp-store',
method: 'post',
data: obj
})
}
export function getObj(id: any) {
return request({
url: '/jsonflow/run-reject/' + id,
method: 'get'
})
}
export function delObj(id: any) {
return request({
url: '/jsonflow/run-reject/' + id,
method: 'delete'
})
}
export function delObjs(ids?: Object) {
return request({
url: '/jsonflow/run-reject',
method: 'delete',
data: ids
})
}
export function putObj(obj?: Object) {
return request({
url: '/jsonflow/run-reject',
method: 'put',
data: obj
})
}

View File

@@ -0,0 +1,55 @@
import request from "/@/utils/request"
export function fetchList(query?: Object) {
return request({
url: '/jsonflow/ws-notice/page',
method: 'get',
params: query
})
}
export function addObj(obj?: Object) {
return request({
url: '/jsonflow/ws-notice',
method: 'post',
data: obj
})
}
export function tempStore(obj: any) {
return request({
url: '/jsonflow/ws-notice/temp-store',
method: 'post',
data: obj
})
}
export function getObj(id: any) {
return request({
url: '/jsonflow/ws-notice/' + id,
method: 'get'
})
}
export function delObj(id: any) {
return request({
url: '/jsonflow/ws-notice/' + id,
method: 'delete'
})
}
export function delObjs(ids?: Object) {
return request({
url: '/jsonflow/ws-notice',
method: 'delete',
data: ids
})
}
export function putObj(obj?: Object) {
return request({
url: '/jsonflow/ws-notice',
method: 'put',
data: obj
})
}

View File

@@ -0,0 +1,50 @@
import request from "/@/utils/request"
export function fetchList(query?: Object) {
return request({
url: '/knowledge/aiBill/page',
method: 'get',
params: query
})
}
export function addObj(obj?: Object) {
return request({
url: '/knowledge/aiBill',
method: 'post',
data: obj
})
}
export function getObj(id?: string) {
return request({
url: '/knowledge/aiBill/' + id,
method: 'get'
})
}
export function delObjs(ids?: Object) {
return request({
url: '/knowledge/aiBill',
method: 'delete',
data: ids
})
}
export function putObj(obj?: Object) {
return request({
url: '/knowledge/aiBill',
method: 'put',
data: obj
})
}
export const getSum = (params?: Object) => {
return request({
url: '/knowledge/aiBill/sum',
method: 'get',
params,
});
};

View File

@@ -0,0 +1,41 @@
import request from "/@/utils/request"
export function fetchList(query?: Object) {
return request({
url: '/knowledge/aiChatRecord/page',
method: 'get',
params: query
})
}
export function addObj(obj?: Object) {
return request({
url: '/knowledge/aiChatRecord',
method: 'post',
data: obj
})
}
export function getObj(id?: string) {
return request({
url: '/knowledge/aiChatRecord/' + id,
method: 'get'
})
}
export function delObjs(ids?: Object) {
return request({
url: '/knowledge/aiChatRecord',
method: 'delete',
data: ids
})
}
export function putObj(obj?: Object) {
return request({
url: '/knowledge/aiChatRecord',
method: 'put',
data: obj
})
}

View File

@@ -0,0 +1,41 @@
import request from "/@/utils/request"
export function fetchList(query?: Object) {
return request({
url: '/knowledge/aiData/page',
method: 'get',
params: query
})
}
export function addObj(obj?: Object) {
return request({
url: '/knowledge/aiData',
method: 'post',
data: obj
})
}
export function getObj(id?: string) {
return request({
url: '/knowledge/aiData/' + id,
method: 'get'
})
}
export function delObjs(ids?: Object) {
return request({
url: '/knowledge/aiData',
method: 'delete',
data: ids
})
}
export function putObj(obj?: Object) {
return request({
url: '/knowledge/aiData',
method: 'put',
data: obj
})
}

View File

@@ -0,0 +1,30 @@
import request from '/@/utils/request';
export function fetchByTableId(id: string, tableName: string) {
return request({
url: `/knowledge/aiDataField/table/${id}/${tableName}`,
method: 'get',
});
}
export function syncByTableId(id: string, tableName: string) {
return request({
url: `/knowledge/aiDataField/sync/${id}/${tableName}`,
method: 'post',
});
}
export function batchUpdateObj(data: any[]) {
return request({
url: '/knowledge/aiDataField/batch',
method: 'put',
data,
});
}
export function assessByTableId(id: string, tableName: string) {
return request({
url: `/knowledge/aiDataField/assess/${id}/${tableName}`,
method: 'post',
});
}

View File

@@ -0,0 +1,55 @@
import request from '/@/utils/request';
export function fetchList(query?: Object) {
return request({
url: '/knowledge/aiDataTable/page',
method: 'get',
params: query,
});
}
export function addObj(obj?: Object) {
return request({
url: '/knowledge/aiDataTable',
method: 'post',
data: obj,
});
}
export function getObj(id?: string) {
return request({
url: '/knowledge/aiDataTable/' + id,
method: 'get',
});
}
export function delObjs(ids?: Object) {
return request({
url: '/knowledge/aiDataTable',
method: 'delete',
data: ids,
});
}
export function putObj(obj?: Object) {
return request({
url: '/knowledge/aiDataTable',
method: 'put',
data: obj,
});
}
export function syncObj() {
return request({
url: '/knowledge/aiDataTable/sync',
method: 'post',
});
}
export function listTables(dsName: string) {
return request({
url: '/knowledge/aiDataTable/list',
method: 'get',
params: { dsName },
});
}

View File

@@ -0,0 +1,70 @@
import request from '/@/utils/request';
export function fetchDataList(query?: Object) {
return request({
url: '/knowledge/aiDataset/list',
method: 'get',
params: query,
});
}
export function fetchList(query?: Object) {
return request({
url: '/knowledge/aiDataset/page',
method: 'get',
params: query,
});
}
export function addObj(obj: AiDataset) {
return request({
url: '/knowledge/aiDataset',
method: 'post',
data: obj,
});
}
export function getDetails(obj?: Object) {
return request({
url: '/knowledge/aiDataset/details',
method: 'get',
params: obj,
});
}
export function delObjs(ids?: Object) {
return request({
url: '/knowledge/aiDataset',
method: 'delete',
data: ids,
});
}
export function putObj(obj: AiDataset) {
return request({
url: '/knowledge/aiDataset',
method: 'put',
data: obj,
});
}
export function validateName(rule: any, value: any, callback: any, isEdit: boolean) {
if (isEdit) {
return callback();
}
getDetails({ name: value }).then((response) => {
const result = response.data;
if (result !== null) {
callback(new Error('名称已经存在'));
} else {
callback();
}
});
}
interface AiDataset {
// ... existing fields ...
embeddingModel: string;
summaryModel: string;
}

View File

@@ -0,0 +1,100 @@
import request from "/@/utils/request"
/**
* 根据分页查询参数获取列表数据。
* @param {Object} [query] - 查询参数。
* @returns {Promise} 请求的 Promise 分页对象。
*/
export function fetchList(query?: Object) {
return request({
url: '/knowledge/aiDatasetUser/page',
method: 'get',
params: query
})
}
/**
* 添加一个新对象。
* @param {Object} [obj] - 要添加的对象。
* @returns {Promise} 请求的 Promise 对象 true/false
*/
export function addObj(obj?: Object) {
return request({
url: '/knowledge/aiDatasetUser',
method: 'post',
data: obj
})
}
/**
* 根据查询参数获取对象详情。
* @param {Object} [obj] - 查询参数。
* @returns {Promise} 请求的 Promise 对象数组。
*/
export function getObj(obj?: Object) {
return request({
url: '/knowledge/aiDatasetUser/details',
method: 'get',
params: obj
})
}
/**
* 根据 ID 删除对象。
* @param {Object} [ids] - 要删除的对象 ID。
* @returns {Promise} 请求的 Promise 对象。
*/
export function delObjs(ids?: Object) {
return request({
url: '/knowledge/aiDatasetUser',
method: 'delete',
data: ids
})
}
/**
* 更新一个已存在的对象。
* @param {Object} [obj] - 要更新的对象。
* @returns {Promise} 请求的 Promise 对象。
*/
export function putObj(obj?: Object) {
return request({
url: '/knowledge/aiDatasetUser',
method: 'put',
data: obj
})
}
/**
* 验证某个字段的值是否已经存在。
* @param {Object} rule - 验证规则对象。
* @param {*} value - 要验证的值。
* @param {Function} callback - 验证完成后的回调函数。
* @param {boolean} isEdit - 当前操作是否为编辑。
*
* 示例用法:
* 字段名: [
* {
* validator: (rule, value, callback) => {
* validateExist(rule, value, callback, form.datasetId !== '');
* },
* trigger: 'blur',
* },
* ]
*/
export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) {
if (isEdit) {
return callback();
}
getObj({ [rule.field]: value }).then((response) => {
const result = response.data;
if (result !== null && result.length > 0) {
callback(new Error('数据已经存在'));
} else {
callback();
}
});
}

View File

@@ -0,0 +1,72 @@
import request from '/@/utils/request';
export function fetchList(query?: Object) {
return request({
url: '/knowledge/aiDocument/page',
method: 'get',
params: query,
});
}
export function addObj(obj?: Object) {
return request({
url: '/knowledge/aiDocument',
method: 'post',
data: obj,
});
}
export function crawleObj(obj?: Object) {
return request({
url: '/knowledge/aiDocument/crawle',
method: 'post',
data: obj,
});
}
export function getObj(id?: string) {
return request({
url: '/knowledge/aiDocument/' + id,
method: 'get',
});
}
export function delObjs(ids?: Object) {
return request({
url: '/knowledge/aiDocument',
method: 'delete',
data: ids,
});
}
export function putObj(obj?: Object) {
return request({
url: '/knowledge/aiDocument',
method: 'put',
data: obj,
});
}
export function retrySlice(obj?: Object) {
return request({
url: '/knowledge/aiDocument/retry/slice',
method: 'post',
data: obj,
});
}
export function retryIssue(obj?: Object) {
return request({
url: '/knowledge/aiDocument/retry/issue',
method: 'post',
data: obj,
});
}
export function embedDocument(obj?: Object) {
return request({
url: '/knowledge/aiDocument/embed',
method: 'post',
data: obj,
});
}

View File

@@ -0,0 +1,62 @@
import request from '/@/utils/request';
export function fetchList(query?: Object) {
return request({
url: '/knowledge/aiEmbedStore/page',
method: 'get',
params: query,
});
}
export function list() {
return request({
url: '/knowledge/aiEmbedStore/list',
method: 'get',
});
}
export function addObj(obj?: Object) {
return request({
url: '/knowledge/aiEmbedStore',
method: 'post',
data: obj,
});
}
export function getObj(obj: object) {
return request({
url: '/knowledge/aiEmbedStore/details',
method: 'get',
params: obj,
});
}
export function delObjs(ids?: Object) {
return request({
url: '/knowledge/aiEmbedStore',
method: 'delete',
data: ids,
});
}
export function putObj(obj?: Object) {
return request({
url: '/knowledge/aiEmbedStore',
method: 'put',
data: obj,
});
}
export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) {
if (isEdit) {
return callback();
}
getObj({ [rule.field]: value }).then((response) => {
const result = response.data;
if (result !== null) {
callback(new Error('数据已经存在'));
} else {
callback();
}
});
}

575
src/api/knowledge/aiFlow.ts Normal file
View File

@@ -0,0 +1,575 @@
import other from '/@/utils/other';
import request from '/@/utils/request';
import { fetchEventSource } from '@microsoft/fetch-event-source';
import { Session } from '/@/utils/storage';
export interface IOrchestrationScope {
id?: string;
username: string;
}
export enum EOrchestrationType {
WORK_FLOW = 'WORK_FLOW',
SIMPLE = 'SIMPLE',
}
export interface IOrchestrationItem {
id?: string;
name?: string;
type?: EOrchestrationType;
description?: string;
isPublic?: boolean;
publicAddress?: string;
apiAddress?: string;
apiBaseUrl?: string;
fullScreenUrl?: string;
fixedUrl?: string;
questionLimit?: number;
whiteListEnable?: boolean;
whiteList?: string;
showSource?: boolean;
modelId?: string;
createBy?: string;
createTime?: string;
updateTime?: string;
modelSetting?: {
prompt?: string;
system?: string;
noReferencesPrompt?: string;
};
dialogueNumber?: number;
datasetIdList?: any[];
datasetSetting?: {
searchMode?: string;
similarity?: number;
topN?: number;
maxParagraphCharNumber?: number;
noReferencesSetting?: {
status?: string;
designatedAnswer?: string;
};
};
problemOptimizationPrompt?: string;
problemOptimization?: boolean;
prologue?: string;
sttModelEnable?: boolean;
sttModelId?: string;
ttsModelEnable?: boolean;
ttsType?: string;
ttsModelId?: string;
ttsModelParamsSetting?: {};
fileUploadSetting?: {
audio?: boolean;
image?: boolean;
video?: boolean;
document?: boolean;
maxFiles?: number;
fileLimit?: number;
};
disclaimerValue?: string;
}
export interface IOrchestrationAPIKey {
id?: string;
allowCrossDomain?: boolean;
application?: string;
createTime?: string;
crossDomainList?: string;
isActive?: boolean;
secretKey?: string;
updateTime?: string;
}
export function fetchList(query?: Object) {
return request({
url: '/knowledge/aiFlow/page',
method: 'get',
params: query,
});
}
export function addObj(obj?: Object) {
return request({
url: '/knowledge/aiFlow',
method: 'post',
data: obj,
});
}
export function getObj(id?: string) {
return request({
url: '/knowledge/aiFlow/' + id,
method: 'get',
});
}
export function delObjs(ids?: Object) {
return request({
url: '/knowledge/aiFlow',
method: 'delete',
data: ids,
});
}
export function putObj(obj?: Object) {
return request({
url: '/knowledge/aiFlow',
method: 'put',
data: obj,
});
}
export function exportFlow(id: string, name: string) {
return other.downBlobFile(`/knowledge/aiFlow/export/${id}`, {}, `${name}.dsl`);
}
export function copyFlow(id: string) {
return request.post(`/knowledge/aiFlow/copy/${id}`);
}
export function importFlow(data: FormData) {
return request.post(`/knowledge/aiFlow/import`, data);
}
export interface IOrchestrationAPIKey {
id?: string;
allowCrossDomain?: boolean;
application?: string;
createTime?: string;
crossDomainList?: string;
isActive?: boolean;
secretKey?: string;
updateTime?: string;
}
/**
* @description : 编排 发起导入
* @return {any}
*/
export async function orchestrationImportContent(data: FormData) {
return request.post(`/knowledge/orchestration/import/content`, data);
}
/**
* @description : 编排 发起导出
* @return {any}
*/
export async function orchestrationExportContent(id: string, name: string) {
return other.downBlobFile(`/knowledge/orchestration/export/content/${id}`, {}, name);
}
/**
* @description : 复制 编排
* @param {string} originId
* @param {IOrchestrationItem} data
* @return {any}
*/
export async function orchestrationCopy(originId: string, data: IOrchestrationItem) {
return request.post(`/knowledge/orchestration/copy/${originId}`, data);
}
/**
* @description : 获取 编排 详情
* @param {string} id
* @return {any}
*/
export async function fetchOrchestrationInfo(id: string) {
return request.get(`/knowledge/orchestration/info/${id}`);
}
export async function fetchChartRecord(id: string, data: { startTime: string; endTime: string }) {
return request.get(`/knowledge/orchestration/chart/record/${id}`, { params: data });
}
export async function fetchOrchestrationAPIKeyList(data: { id: string }) {
return request.get(`/knowledge/orchestration/apikey/${data.id}`);
}
export async function orchestrationAPIKeyUpdate(data: any) {
return request.put(`/knowledge/orchestration/apikey/update`, data);
}
export async function orchestrationAPIKeyAdd(id: string) {
return request.post(`/knowledge/orchestration/apikey/${id}/add`);
}
export async function orchestrationAPIKeyRemove(id: string) {
return request.delete(`/knowledge/orchestration/apikey/${id}/delete`);
}
/**
* @description : 获取模型的参数设置
* @param {string} orchestrationId
* @param {string} modelId
* @return {any}
*/
export async function fetchModelParamsForm(orchestrationId: string, modelId: string) {
return request.get(`/knowledge/orchestration/${orchestrationId}/modelParamsForm/${modelId}`);
}
/**
* @description : 播放测试文本
* @param {string} id
* @param {any} data
* @return {any}
*/
export function playDemoText(id: string, data: any) {
return request.post(`/knowledge/orchestration/playDemoText/${id}`, data, {
responseType: 'blob',
});
}
/**
* @description : 文件上传
* @param {String} application_id
* @param {String} chat_id
* @param {any} data
* @return {any}
*/
export function chatUploadFile(application_id: string, chat_id: String, data: any) {
return request.post(`/knowledge/orchestration/uploadFile/${application_id}/${chat_id}`, data);
}
/**
* @description : 上传录音文件
* @param {string} application_id
* @param {any} data
* @return {any}
*/
export function chatPostSpeechToText(application_id: string, data: any) {
return request.post(`/knowledge/orchestration/chatPostSpeechToText/${application_id}`, data);
}
export interface FlowExecutionResult {
nodes: any[];
executed: boolean;
result: any;
duration: number;
error?: string;
totalTokens?: number;
}
export interface FlowExecutionEvent {
type: 'start' | 'progress' | 'complete' | 'error' | 'chat_message';
nodeId?: string;
nodeName?: string;
data?: any;
progress?: number;
error?: string;
result?: FlowExecutionResult;
content?: string;
tokens?: number; // 添加 tokens 字段
duration?: number; // 添加 duration 字段
nodes?: Array<any>; // 添加 nodes 字段
isStreaming?: boolean;
}
export interface FlowExecutionCallbacks {
onStart?: () => void;
onProgress?: (event: FlowExecutionEvent) => void;
onComplete?: (result: FlowExecutionResult) => void;
onError?: (error: string) => void;
onChatMessage?: (content: string, isComplete: boolean, tokens?: number, duration?: number, nodes?: Array<any>) => void;
}
export function executeFlow(data: { id: string; params: any; envs: any; stream?: boolean }) {
return request.post(`/knowledge/aiFlow/execute`, data, {
timeout: 300000 // 设置超时时间为300秒 (300000毫秒)
});
}
/**
* 使用SSE执行工作流提供实时执行状态更新
* @param data 执行参数
* @param callbacks 回调函数
* @returns Promise<FlowExecutionResult>
*/
export async function executeFlowSSE(
data: { id: string; params: any; envs: any; stream?: boolean },
callbacks?: FlowExecutionCallbacks
): Promise<FlowExecutionResult> {
const token = Session.getToken();
const tenant = Session.getTenant();
return new Promise<FlowExecutionResult>((resolve, reject) => {
let controller: AbortController | null = new AbortController();
let result: FlowExecutionResult | null = null;
const cleanup = () => {
if (controller) {
controller.abort();
controller = null;
}
};
// 解析SSE返回的数据
const parseSSEResponse = (eventData: string) => {
try {
const parsed = JSON.parse(eventData);
// 处理聊天格式的数据: {"data":{"content":"...", "tokens": 123, "duration": 22986, "nodes": [...]}}
if (parsed.data && parsed.data.content !== undefined) {
return {
type: 'chat_message',
content: parsed.data.content,
tokens: parsed.data.tokens, // 添加 tokens 字段
duration: parsed.data.duration, // 添加 duration 字段
nodes: parsed.data.nodes, // 添加 nodes 字段
isStreaming: true
} as FlowExecutionEvent;
}
// 处理标准的FlowExecutionEvent格式
return parsed as FlowExecutionEvent;
} catch (e) {
return null;
}
};
const fetchOptions = {
method: 'POST',
headers: {
'Content-Type': 'application/json',
Authorization: `Bearer ${token}`,
'TENANT-ID': tenant,
},
body: JSON.stringify(data),
signal: controller.signal,
async onopen(response: Response) {
if (response.ok && response.headers.get('content-type')?.includes('text/event-stream')) {
callbacks?.onStart?.();
return;
}
throw new Error(`Failed to connect: ${response.status} ${response.statusText}`);
},
onmessage(event: { data: string }) {
const parsed = parseSSEResponse(event.data);
if (!parsed) return;
switch (parsed.type) {
case 'start':
callbacks?.onStart?.();
break;
case 'progress':
callbacks?.onProgress?.(parsed);
break;
case 'chat_message':
// 处理聊天消息流
if (parsed.content !== undefined) {
// 检查是否收到完成标记
if (parsed.content === '[DONE]') {
// 标记聊天消息完成并关闭连接,传递 tokens、duration 和 nodes 信息
callbacks?.onChatMessage?.('', true, parsed.tokens, parsed.duration, parsed.nodes);
cleanup();
// 如果没有正式的结果,创建一个默认结果
if (!result) {
result = {
nodes: parsed.nodes || [],
executed: true,
result: {},
duration: parsed.duration || 0,
totalTokens: parsed.tokens || 0
};
callbacks?.onComplete?.(result);
resolve(result);
}
return;
}
callbacks?.onChatMessage?.(parsed.content, false, parsed.tokens, parsed.duration, parsed.nodes);
}
break;
case 'complete':
if (parsed.result) {
result = parsed.result;
callbacks?.onComplete?.(parsed.result);
resolve(parsed.result);
}
break;
case 'error':
const errorMsg = parsed.error || 'Unknown error occurred';
callbacks?.onError?.(errorMsg);
reject(new Error(errorMsg));
break;
}
},
onclose() {
// 连接关闭时,如果有未完成的聊天消息,标记为完成
if (callbacks?.onChatMessage) {
callbacks.onChatMessage('', true);
}
cleanup();
},
onerror(error: Error) {
cleanup();
const errorMsg = error.message || 'Connection error';
callbacks?.onError?.(errorMsg);
// 抛出错误以停止自动重试
throw error;
},
};
// 启动SSE连接
fetchEventSource(`${request.defaults.baseURL}${other.adaptationUrl('/knowledge/aiFlow/execute')}`, fetchOptions)
.catch((error) => {
cleanup();
if (error.name === 'AbortError') {
reject(new Error('Request was cancelled'));
} else {
reject(error);
}
});
// 返回清理函数以便外部可以取消请求
return cleanup;
});
}
/**
* 取消SSE工作流执行
* @param executionId 执行ID
*/
export async function cancelFlowExecution(executionId: string) {
return request.post(`/knowledge/aiFlow/cancel/${executionId}`);
}
/**
* 专为聊天格式设计的SSE工作流执行函数
* 处理 {"data":{"content":"..."}} 格式的流式响应
* @param data 执行参数
* @param callbacks 回调函数
* @returns Promise<{chatMessage: string, result: any}>
*/
export async function executeFlowSSEWithChat(
data: { id: string; conversationId: string; params: any; envs: any; stream?: boolean },
callbacks?: FlowExecutionCallbacks
): Promise<{chatMessage: string, result: any}> {
const token = Session.getToken();
const tenant = Session.getTenant();
return new Promise<{chatMessage: string, result: any}>((resolve, reject) => {
let controller: AbortController | null = new AbortController();
let chatMessageContent = '';
let hasReceivedData = false;
const cleanup = () => {
if (controller) {
controller.abort();
controller = null;
}
};
const fetchOptions = {
method: 'POST',
headers: {
'Content-Type': 'application/json',
Authorization: `Bearer ${token}`,
'TENANT-ID': tenant,
},
body: JSON.stringify(data),
signal: controller.signal,
async onopen(response: Response) {
if (response.ok && response.headers.get('content-type')?.includes('text/event-stream')) {
callbacks?.onStart?.();
return;
}
throw new Error(`Failed to connect: ${response.status} ${response.statusText}`);
},
onmessage(event: { data: string }) {
try {
const parsed = JSON.parse(event.data);
// 处理聊天格式的数据: {"data":{"content":"...", "tokens": 123, "duration": 22986}}
if (parsed.data && parsed.data.content !== undefined) {
hasReceivedData = true;
// 检查是否收到完成标记
if (parsed.data.content === '[DONE]') {
const result = {
chatMessage: chatMessageContent,
result: {
nodes: parsed.data.nodes || [],
executed: true,
result: {},
duration: parsed.data.duration || 0,
totalTokens: parsed.data.tokens || 0
}
};
callbacks?.onChatMessage?.('', true, parsed.data.tokens, parsed.data.duration, parsed.data.nodes); // 标记聊天消息完成,传递 tokens、duration 和 nodes
callbacks?.onComplete?.(result.result);
cleanup();
resolve(result);
return;
}
chatMessageContent += parsed.data.content;
callbacks?.onChatMessage?.(parsed.data.content, false, parsed.data.tokens, parsed.data.duration, parsed.data.nodes);
return;
}
// 处理其他类型的事件
if (parsed.type) {
switch (parsed.type) {
case 'start':
callbacks?.onStart?.();
break;
case 'progress':
callbacks?.onProgress?.(parsed);
break;
case 'complete':
const result = {
chatMessage: chatMessageContent,
result: parsed.result || {}
};
callbacks?.onChatMessage?.('', true); // 标记聊天消息完成
callbacks?.onComplete?.(parsed.result);
resolve(result);
break;
case 'error':
const errorMsg = parsed.error || 'Unknown error occurred';
callbacks?.onError?.(errorMsg);
reject(new Error(errorMsg));
break;
}
}
} catch (e) {
// 忽略无法解析的数据
}
},
onclose() {
// 连接关闭时,如果有数据但没有收到完成事件,自动完成
if (hasReceivedData) {
const result = {
chatMessage: chatMessageContent,
result: {}
};
callbacks?.onChatMessage?.('', true);
resolve(result);
}
cleanup();
},
onerror(error: Error) {
cleanup();
const errorMsg = error.message || 'Connection error';
callbacks?.onError?.(errorMsg);
// 抛出错误以停止自动重试
throw error;
},
};
// 启动SSE连接
fetchEventSource(`${request.defaults.baseURL}${other.adaptationUrl('/knowledge/aiFlow/execute')}`, fetchOptions)
.catch((error) => {
cleanup();
if (error.name === 'AbortError') {
reject(new Error('Request was cancelled'));
} else {
reject(error);
}
});
});
}

View File

@@ -0,0 +1,80 @@
import request from '/@/utils/request';
export const genText = (content: object) => {
return request({
url: '/knowledge/chat/generate/text',
method: 'post',
data: content,
});
};
export const genTts = (prompt: String) => {
return request({
url: '/knowledge/chat/generate/tts',
method: 'post',
data: { prompt },
});
};
export const genImage = (params: {
prompt: string;
negativePrompt?: string;
imageSize: string;
batchSize: number;
seed?: number | string;
numInferenceSteps: number;
guidanceScale: number;
image?: string;
model: string;
}) => {
return request({
url: '/knowledge/completions/image',
method: 'post',
data: params,
});
};
export interface VideoCompletionParams {
model: string;
imageSize: string;
seed?: number;
negativePrompt?: string;
prompt: string;
image?: string;
}
export const generateVideoCompletion = (params: VideoCompletionParams) => {
return request({
url: '/knowledge/completions/video',
method: 'post',
data: params,
});
};
export const getVideoCompletionStatus = (requestId: string, modelName: string) => {
return request({
url: `/knowledge/completions/video/status`,
params: {
requestId,
modelName,
},
method: 'get',
});
};
export interface VoiceCompletionParams {
input: string;
model: string;
voice?: string;
speed?: number; // Range: 0.25 <= x <= 4, default: 1
gain?: number; // Range: -10 <= x <= 10, default: 0
}
// mock 数据: return { data: 'https://audio.transistor.fm/m/shows/15/dai/67e8213447a11492c2bd33d777d596bf.mp3' };
export const genAudio = (params: VoiceCompletionParams) => {
return request({
url: '/knowledge/completions/voice',
method: 'post',
data: params,
});
};

View File

@@ -0,0 +1,41 @@
import request from "/@/utils/request"
export function fetchList(query?: Object) {
return request({
url: '/knowledge/aiMaterialLog/page',
method: 'get',
params: query
})
}
export function addObj(obj?: Object) {
return request({
url: '/knowledge/aiMaterialLog',
method: 'post',
data: obj
})
}
export function getObj(id?: string) {
return request({
url: '/knowledge/aiMaterialLog/' + id,
method: 'get'
})
}
export function delObjs(ids?: Object) {
return request({
url: '/knowledge/aiMaterialLog',
method: 'delete',
data: ids
})
}
export function putObj(obj?: Object) {
return request({
url: '/knowledge/aiMaterialLog',
method: 'put',
data: obj
})
}

View File

@@ -0,0 +1,57 @@
import request from '/@/utils/request';
export function fetchList(query?: Object) {
return request({
url: '/knowledge/aiMcpConfig/page',
method: 'get',
params: query,
});
}
export function list() {
return request({
url: '/knowledge/aiMcpConfig/list',
method: 'get',
});
}
export function addObj(obj?: Object) {
return request({
url: '/knowledge/aiMcpConfig',
method: 'post',
data: obj,
});
}
export function getObj(id?: string) {
return request({
url: '/knowledge/aiMcpConfig/' + id,
method: 'get',
});
}
export function delObjs(ids?: Object) {
return request({
url: '/knowledge/aiMcpConfig',
method: 'delete',
data: ids,
});
}
export function putObj(obj?: Object) {
return request({
url: '/knowledge/aiMcpConfig',
method: 'put',
data: obj,
});
}
export function getTools(mcpId: string) {
return request({
url: `/knowledge/aiMcpConfig/list/tools`,
method: 'get',
params: {
mcpId,
},
});
}

View File

@@ -0,0 +1,77 @@
import request from '/@/utils/request';
export function fetchList(query?: Object) {
return request({
url: '/knowledge/aiModel/page',
method: 'get',
params: query,
});
}
export function details(query?: Object) {
return request({
url: '/knowledge/aiModel/details',
method: 'get',
params: query,
});
}
export function list(query?: Object) {
return request({
url: '/knowledge/aiModel/list',
method: 'get',
params: query,
});
}
export function addObj(obj?: Object) {
return request({
url: '/knowledge/aiModel',
method: 'post',
data: obj,
});
}
export function sync() {
return request({
url: '/knowledge/aiModel/sync',
method: 'post',
});
}
export function getObj(id?: string) {
return request({
url: '/knowledge/aiModel/' + id,
method: 'get',
});
}
export function delObjs(ids?: Object) {
return request({
url: '/knowledge/aiModel',
method: 'delete',
data: ids,
});
}
export function putObj(obj?: Object) {
return request({
url: '/knowledge/aiModel',
method: 'put',
data: obj,
});
}
export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) {
if (isEdit) {
return callback();
}
details({ [rule.field]: value }).then((response) => {
const result = response.data;
if (result !== null && result.length > 0) {
callback(new Error('数据已经存在'));
} else {
callback();
}
});
}

View File

@@ -0,0 +1,48 @@
import request from '/@/utils/request';
export function fetchList(query?: Object) {
return request({
url: '/knowledge/aiPoster/list',
method: 'get',
params: query,
});
}
export function addObj(obj?: Object) {
return request({
url: '/knowledge/aiPoster',
method: 'post',
data: obj,
});
}
export function getObj(id?: string) {
return request({
url: '/knowledge/aiPoster/' + id,
method: 'get',
});
}
export function delObjs(ids?: Object) {
return request({
url: '/knowledge/aiPoster',
method: 'delete',
data: ids,
});
}
export function putObj(obj?: Object) {
return request({
url: '/knowledge/aiPoster',
method: 'put',
data: obj,
});
}
export function generate(obj?: Object) {
return request({
url: '/knowledge/aiPoster/generate',
method: 'post',
data: obj,
});
}

View File

@@ -0,0 +1,64 @@
import request from '/@/utils/request';
export function list(query?: Object) {
return request({
url: '/knowledge/aiPrompt/list',
method: 'get',
params: query,
});
}
export function functions(query?: Object) {
return request({
url: '/knowledge/aiFunc/functions',
method: 'get',
params: query,
});
}
export function fetchList(query?: Object) {
return request({
url: '/knowledge/aiPrompt/page',
method: 'get',
params: query,
});
}
export function addObj(obj?: Object) {
return request({
url: '/knowledge/aiPrompt',
method: 'post',
data: obj,
});
}
export function getObj(id?: string) {
return request({
url: '/knowledge/aiPrompt/' + id,
method: 'get',
});
}
export function delObjs(ids?: Object) {
return request({
url: '/knowledge/aiPrompt',
method: 'delete',
data: ids,
});
}
export function putObj(obj?: Object) {
return request({
url: '/knowledge/aiPrompt',
method: 'put',
data: obj,
});
}
export function optimizeAiPrompt(obj?: Object) {
return request({
url: '/knowledge/aiPrompt/optimize',
method: 'post',
data: obj,
});
}

View File

@@ -0,0 +1,57 @@
import request from '/@/utils/request';
export function fetchList(query?: Object) {
return request({
url: '/knowledge/aiReportConf/page',
method: 'get',
params: query,
});
}
export function addObj(obj?: Object) {
return request({
url: '/knowledge/aiReportConf',
method: 'post',
data: obj,
});
}
export function getObj(id?: string) {
return request({
url: '/knowledge/aiReportConf/' + id,
method: 'get',
});
}
export function delObjs(ids?: Object) {
return request({
url: '/knowledge/aiReportConf',
method: 'delete',
data: ids,
});
}
export function putObj(obj?: Object) {
return request({
url: '/knowledge/aiReportConf',
method: 'put',
data: obj,
});
}
export function parseDoc(obj?: Object) {
return request({
url: '/knowledge/aiReportConf/parse',
method: 'post',
data: obj,
});
}
export function generateReport(obj?: Object) {
return request({
url: '/knowledge/aiReportConf/download',
method: 'post',
data: obj,
responseType: 'blob',
});
}

View File

@@ -0,0 +1,49 @@
import request from "/@/utils/request"
export function fetchList(query?: Object) {
return request({
url: '/knowledge/aiSlice/page',
method: 'get',
params: query
})
}
export function fetchRecall(query?: Object) {
return request({
url: '/knowledge/aiSlice/recall',
method: 'get',
params: query
})
}
export function addObj(obj?: Object) {
return request({
url: '/knowledge/aiSlice',
method: 'post',
data: obj
})
}
export function getObj(id?: string) {
return request({
url: '/knowledge/aiSlice/' + id,
method: 'get'
})
}
export function delObjs(ids?: Object) {
return request({
url: '/knowledge/aiSlice',
method: 'delete',
data: ids
})
}
export function putObj(obj?: Object) {
return request({
url: '/knowledge/aiSlice',
method: 'put',
data: obj
})
}

107
src/api/knowledge/ocr.ts Normal file
View File

@@ -0,0 +1,107 @@
import request from '/@/utils/request';
/**
* 根据分页查询参数获取列表数据。
* @param {Object} [query] - 查询参数。
* @returns {Promise} 请求的 Promise 分页对象。
*/
export function fetchList(query?: Object) {
return request({
url: '/knowledge/ocr/page',
method: 'get',
params: query,
});
}
/**
* 添加一个新对象。
* @param {Object} [obj] - 要添加的对象。
* @returns {Promise} 请求的 Promise 对象 true/false
*/
export function addObj(obj?: Object) {
return request({
url: '/knowledge/ocr',
method: 'post',
data: obj,
});
}
export function parseObj(obj?: Object) {
return request({
url: '/knowledge/ocr/parse',
method: 'post',
data: obj,
timeout: 100000, // 设置该请求的超时时间为100秒
});
}
/**
* 根据查询参数获取对象详情。
* @param {Object} [obj] - 查询参数。
* @returns {Promise} 请求的 Promise 对象数组。
*/
export function getObj(obj?: Object) {
return request({
url: '/knowledge/ocr/details',
method: 'get',
params: obj,
});
}
/**
* 根据 ID 删除对象。
* @param {Object} [ids] - 要删除的对象 ID。
* @returns {Promise} 请求的 Promise 对象。
*/
export function delObjs(ids?: Object) {
return request({
url: '/knowledge/ocr',
method: 'delete',
data: ids,
});
}
/**
* 更新一个已存在的对象。
* @param {Object} [obj] - 要更新的对象。
* @returns {Promise} 请求的 Promise 对象。
*/
export function putObj(obj?: Object) {
return request({
url: '/knowledge/ocr',
method: 'put',
data: obj,
});
}
/**
* 验证某个字段的值是否已经存在。
* @param {Object} rule - 验证规则对象。
* @param {*} value - 要验证的值。
* @param {Function} callback - 验证完成后的回调函数。
* @param {boolean} isEdit - 当前操作是否为编辑。
*
* 示例用法:
* 字段名: [
* {
* validator: (rule, value, callback) => {
* validateExist(rule, value, callback, form.id !== '');
* },
* trigger: 'blur',
* },
* ]
*/
export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) {
if (isEdit) {
return callback();
}
getObj({ [rule.field]: value }).then((response) => {
const result = response.data;
if (result !== null && result.length > 0) {
callback(new Error('数据已经存在'));
} else {
callback();
}
});
}

188
src/api/login/index.ts Normal file
View File

@@ -0,0 +1,188 @@
import request from '/@/utils/request';
import { Session } from '/@/utils/storage';
import { validateNull } from '/@/utils/validate';
import { useUserInfo } from '/@/stores/userInfo';
import other from '/@/utils/other';
/**
* https://www.ietf.org/rfc/rfc6749.txt
* OAuth 协议 4.3.1 要求格式为 form 而不是 JSON 注意!
*/
const FORM_CONTENT_TYPE = 'application/x-www-form-urlencoded';
// 登录方式
export enum LoginTypeEnum {
PASSWORD,
MOBILE,
REGISTER,
EXPIRE,
QRCODE,
}
// 登录错误信息
export enum LoginErrorEnum {
CREDENTIALS_EXPIRED = 'credentials_expired', // 密码过期
}
/**
* 社交登录方式枚举
*/
export enum SocialLoginEnum {
SMS = 'SMS', // 验证码登录
DINGTALK = 'DINGTALK', // 钉钉
WEIXIN_CP = 'WEIXIN_CP', // 企业微信
APP_SMS = 'APP-SMS', // APP验证码登录
QQ = 'QQ', // QQ登录
WECHAT = 'WX', // 微信登录
MINI_APP = 'MINI', // 微信小程序
GITEE = 'GITEE', // 码云登录
OSC = 'OSC', // 开源中国登录
CAS = 'CAS', // CAS 登录
}
/**
* 登录
* @param data
*/
export const login = (data: any) => {
const basicAuth = 'Basic ' + window.btoa(import.meta.env.VITE_OAUTH2_PASSWORD_CLIENT);
Session.set('basicAuth', basicAuth);
// 密码加密
const encPassword = other.encryption(data.password, import.meta.env.VITE_PWD_ENC_KEY);
const { username, randomStr, code, grant_type, scope } = data;
return request({
url: '/auth/oauth2/token',
method: 'post',
params: { username, randomStr, code, grant_type, scope },
data: { password: encPassword },
headers: {
skipToken: true,
Authorization: basicAuth,
'Content-Type': FORM_CONTENT_TYPE,
"Enc-Flag": "false",
},
});
};
export const loginByMobile = (mobile: any, code: any) => {
const grant_type = 'mobile';
const scope = 'server';
const basicAuth = 'Basic ' + window.btoa(import.meta.env.VITE_OAUTH2_MOBILE_CLIENT);
Session.set('basicAuth', basicAuth);
return request({
url: '/auth/oauth2/token',
headers: {
skipToken: true,
Authorization: basicAuth,
'Content-Type': FORM_CONTENT_TYPE,
},
method: 'post',
params: { mobile: `${SocialLoginEnum.SMS}@${mobile}`, code: code, grant_type, scope },
});
};
export const loginBySocial = (state: SocialLoginEnum, code: string) => {
const grant_type = 'mobile';
const scope = 'server';
const basicAuth = 'Basic ' + window.btoa(import.meta.env.VITE_OAUTH2_SOCIAL_CLIENT);
Session.set('basicAuth', basicAuth);
return request({
url: '/auth/oauth2/token',
headers: {
skipToken: true,
Authorization: basicAuth,
'Content-Type': FORM_CONTENT_TYPE,
},
method: 'post',
params: { mobile: `${state}@${code}`, code: code, grant_type, scope },
});
};
export const sendMobileCode = (mobile: string) => {
return request({
url: '/admin/sysMessage/send/smsCode',
method: 'get',
params: { mobile },
});
};
export const refreshTokenApi = (refresh_token: string) => {
const grant_type = 'refresh_token';
const scope = 'server';
// 获取当前选中的 basic 认证信息
const basicAuth = Session.get('basicAuth');
return request({
url: '/auth/oauth2/token',
headers: {
skipToken: true,
Authorization: basicAuth,
'Content-Type': FORM_CONTENT_TYPE,
},
method: 'post',
params: { refresh_token, grant_type, scope },
});
};
/**
* 校验令牌,若有效期小于半小时自动续期
* @param refreshLock
*/
export const checkToken = (refreshTime: number, refreshLock: boolean) => {
const basicAuth = Session.get('basicAuth');
request({
url: '/auth/token/check_token',
headers: {
skipToken: true,
Authorization: basicAuth,
'Content-Type': FORM_CONTENT_TYPE,
},
method: 'get',
params: { token: Session.getToken() },
})
.then((response) => {
if (validateNull(response) || response.code === 1) {
clearInterval(refreshTime);
return;
}
const expire = Date.parse(response.data.expiresAt);
if (expire) {
const expiredPeriod = expire - new Date().getTime();
//小于半小时自动续约
if (expiredPeriod <= 30 * 60 * 1000) {
if (!refreshLock) {
refreshLock = true;
useUserInfo()
.refreshToken()
.catch(() => {
clearInterval(refreshTime);
});
refreshLock = false;
}
}
}
})
.catch(() => {
// 发生异常关闭定时器
clearInterval(refreshTime);
});
};
/**
* 获取用户信息
*/
export const getUserInfo = () => {
return request({
url: '/admin/user/info',
method: 'get',
});
};
export const logout = () => {
return request({
url: '/auth/token/logout',
method: 'delete',
});
};

View File

@@ -0,0 +1,79 @@
/*
* Copyright (c) 2018-2025, cloud All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the pig4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: cloud
*/
import request from '/@/utils/request';
export function fetchList(query) {
return request({
url: '/mp/wx-account-fans/page',
method: 'get',
params: query,
});
}
export function addObj(obj) {
return request({
url: '/mp/wx-account-fans',
method: 'post',
data: obj,
});
}
export function sync(appId) {
return request({
url: '/mp/wx-account-fans/sync/' + appId,
method: 'post',
});
}
export function getObj(id) {
return request({
url: '/mp/wx-account-fans/' + id,
method: 'get',
});
}
export function delObjs(id) {
return request({
url: '/mp/wx-account-fans/' + id,
method: 'delete',
});
}
export function putObj(obj) {
return request({
url: '/mp/wx-account-fans',
method: 'put',
data: obj,
});
}
export function black(obj, appid) {
return request({
url: '/mp/wx-account-fans/black/' + appid,
method: 'post',
data: obj,
});
}
export function unblack(obj, appid) {
return request({
url: '/mp/wx-account-fans/unblack/' + appid,
method: 'post',
data: obj,
});
}

View File

@@ -0,0 +1,65 @@
/*
* Copyright (c) 2018-2025, cloud All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the pig4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: cloud
*/
import request from '/@/utils/request';
export function getPage(query) {
return request({
url: '/mp/wx-account-tag/page',
method: 'get',
params: query,
});
}
export function addObj(obj) {
return request({
url: '/mp/wx-account-tag',
method: 'post',
data: obj,
});
}
export function delObjs(obj) {
return request({
url: '/mp/wx-account-tag',
method: 'delete',
data: obj,
});
}
export function putObj(obj) {
return request({
url: '/mp/wx-account-tag',
method: 'put',
data: obj,
});
}
export function sync(appId) {
return request({
url: '/mp/wx-account-tag/sync/' + appId,
method: 'post',
});
}
export function list(appId) {
return request({
url: '/mp/wx-account-tag/list',
method: 'get',
params: { wxAccountAppid: appId },
});
}

86
src/api/mp/wx-account.ts Normal file
View File

@@ -0,0 +1,86 @@
/*
* Copyright (c) 2018-2025, cloud All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the pig4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: cloud
*/
import request from '/@/utils/request';
export function fetchList(query) {
return request({
url: '/mp/wx-account/page',
method: 'get',
params: query,
});
}
export function addObj(obj) {
return request({
url: '/mp/wx-account',
method: 'post',
data: obj,
});
}
export function getObj(id) {
return request({
url: '/mp/wx-account/' + id,
method: 'get',
});
}
export function generateQr(appid) {
return request({
url: '/mp/wx-account/qr/' + appid,
method: 'post',
});
}
export function clearQuota(appid) {
return request({
url: '/mp/wx-account/clear-quota/' + appid,
method: 'post',
});
}
export function delObjs(id) {
return request({
url: '/mp/wx-account/' + id,
method: 'delete',
});
}
export function putObj(obj) {
return request({
url: '/mp/wx-account',
method: 'put',
data: obj,
});
}
export function fetchAccountList(obj?: object) {
return request({
url: '/mp/wx-account/list',
method: 'get',
params: obj,
});
}
export function fetchStatistics(q) {
return request({
url: '/mp/wx-account/statistics',
method: 'get',
params: q,
});
}

View File

@@ -0,0 +1,39 @@
import request from '/@/utils/request';
export function getPage(query) {
return request({
url: '/mp/wx-auto-reply/page',
method: 'get',
params: query,
});
}
export function addObj(obj) {
return request({
url: '/mp/wx-auto-reply',
method: 'post',
data: obj,
});
}
export function getObj(id) {
return request({
url: '/mp/wx-auto-reply/' + id,
method: 'get',
});
}
export function delObj(id) {
return request({
url: '/mp/wx-auto-reply/' + id,
method: 'delete',
});
}
export function putObj(obj) {
return request({
url: '/mp/wx-auto-reply',
method: 'put',
data: obj,
});
}

79
src/api/mp/wx-fans-msg.ts Normal file
View File

@@ -0,0 +1,79 @@
/*
* Copyright (c) 2018-2025, cloud All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the pig4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: cloud
*/
import request from '/@/utils/request';
export function fetchList(query) {
return request({
url: '/mp/wx-fans-msg/page',
method: 'get',
params: query,
});
}
export function addObj(obj) {
return request({
url: '/mp/wx-fans-msg',
method: 'post',
data: obj,
});
}
export function getObj(id) {
return request({
url: '/mp/wxfansmsg/' + id,
method: 'get',
});
}
export function delObjs(id) {
return request({
url: '/mp/wxfansmsg/' + id,
method: 'delete',
});
}
export function putObj(obj) {
return request({
url: '/mp/wxfansmsg',
method: 'put',
data: obj,
});
}
export function fetchResList(query) {
return request({
url: '/mp/wx-fans-msg/page',
method: 'get',
params: query,
});
}
export function addResObj(obj) {
return request({
url: '/mp/wx-fans-msg',
method: 'post',
data: obj,
});
}
export function delResObj(id) {
return request({
url: '/mp/wx-fans-msg/' + id,
method: 'delete',
});
}

74
src/api/mp/wx-material.ts Normal file
View File

@@ -0,0 +1,74 @@
import request from '/@/utils/request';
export function getPage(query) {
return request({
url: '/mp/wx-material/page',
method: 'get',
params: query,
});
}
export function addObj(obj) {
return request({
url: '/mp/wx-material/materialNews',
method: 'post',
data: obj,
});
}
export function materialNewsUpdate(obj) {
return request({
url: '/mp/wx-material/materialNews',
method: 'put',
data: obj,
});
}
export function getObj(id) {
return request({
url: '/mp/wx-material/' + id,
method: 'get',
});
}
export function delObj(query) {
return request({
url: '/mp/wx-material',
method: 'delete',
params: query,
});
}
export function putObj(obj) {
return request({
url: '/mp/wx-material',
method: 'put',
data: obj,
});
}
export function getMaterialOther(query) {
return request({
url: '/mp/wx-material/materialOther',
method: 'get',
params: query,
responseType: 'blob',
});
}
export function getMaterialVideo(query) {
return request({
url: '/mp/wx-material/materialVideo',
method: 'get',
params: query,
});
}
export function getTempMaterialOther(query) {
return request({
url: '/mp/wx-material/tempMaterialOther',
method: 'get',
params: query,
responseType: 'blob',
});
}

40
src/api/mp/wx-menu.ts Normal file
View File

@@ -0,0 +1,40 @@
/*
* Copyright (c) 2018-2025, cloud All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the pig4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: cloud
*/
import request from '/@/utils/request';
export function getObj(id) {
return request({
url: '/mp/wx-menu/' + id,
method: 'get',
});
}
export function saveObj(appId, data) {
return request({
url: '/mp/wx-menu/' + appId,
method: 'post',
data: data,
});
}
export function publishObj(id) {
return request({
url: '/mp/wx-menu/' + id,
method: 'put',
});
}

View File

@@ -0,0 +1,55 @@
import request from "/@/utils/request"
export function fetchList(query?: Object) {
return request({
url: '/order/ask-leave/page',
method: 'get',
params: query
})
}
export function addObj(obj?: Object) {
return request({
url: '/order/ask-leave',
method: 'post',
data: obj
})
}
export function tempStore(obj: any) {
return request({
url: '/order/ask-leave/temp-store',
method: 'post',
data: obj
})
}
export function getObj(id: any) {
return request({
url: '/order/ask-leave/' + id,
method: 'get'
})
}
export function delObj(id: any) {
return request({
url: '/order/ask-leave/' + id,
method: 'delete'
})
}
export function delObjs(ids?: Object) {
return request({
url: '/order/ask-leave',
method: 'delete',
data: ids
})
}
export function putObj(obj?: Object) {
return request({
url: '/order/ask-leave',
method: 'put',
data: obj
})
}

View File

@@ -0,0 +1,55 @@
import request from "/@/utils/request"
export function fetchList(query?: Object) {
return request({
url: '/order/create-table/page',
method: 'get',
params: query
})
}
export function addObj(obj?: Object) {
return request({
url: '/order/create-table',
method: 'post',
data: obj
})
}
export function tempStore(obj: any) {
return request({
url: '/order/create-table/temp-store',
method: 'post',
data: obj
})
}
export function getObj(id: any) {
return request({
url: '/order/create-table/' + id,
method: 'get'
})
}
export function delObj(id: any) {
return request({
url: '/order/create-table/' + id,
method: 'delete'
})
}
export function delObjs(ids?: Object) {
return request({
url: '/order/create-table',
method: 'delete',
data: ids
})
}
export function putObj(obj?: Object) {
return request({
url: '/order/create-table',
method: 'put',
data: obj
})
}

View File

@@ -0,0 +1,63 @@
import request from "/@/utils/request"
export function fetchList(query?: Object) {
return request({
url: '/order/flow-application/page',
method: 'get',
params: query
})
}
export function addObj(obj?: Object) {
return request({
url: '/order/flow-application',
method: 'post',
data: obj
})
}
export function tempStore(obj: any) {
return request({
url: '/order/flow-application/temp-store',
method: 'post',
data: obj
})
}
export function getObj(id: any) {
return request({
url: '/order/flow-application/' + id,
method: 'get'
})
}
export function delObj(id: any) {
return request({
url: '/order/flow-application/' + id,
method: 'delete'
})
}
export function delObjs(ids?: Object) {
return request({
url: '/order/flow-application',
method: 'delete',
data: ids
})
}
export function putObj(obj?: Object) {
return request({
url: '/order/flow-application',
method: 'put',
data: obj
})
}
export function listByPerms(query: any) {
return request({
url: '/order/flow-application/list/perm',
method: 'get',
params: query
})
}

View File

@@ -0,0 +1,82 @@
import request from "/@/utils/request"
export function fetchList(query?: Object) {
return request({
url: '/order/handover-flow/page',
method: 'get',
params: query
})
}
export function addObj(obj?: Object) {
return request({
url: '/order/handover-flow',
method: 'post',
data: obj
})
}
export function tempStore(obj: any) {
return request({
url: '/order/handover-flow/temp-store',
method: 'post',
data: obj
})
}
export function getObj(id: any) {
return request({
url: '/order/handover-flow/' + id,
method: 'get'
})
}
export function delObj(id: any) {
return request({
url: '/order/handover-flow/' + id,
method: 'delete'
})
}
export function delObjs(ids?: Object) {
return request({
url: '/order/handover-flow',
method: 'delete',
data: ids
})
}
export function putObj(obj?: Object) {
return request({
url: '/order/handover-flow',
method: 'put',
data: obj
})
}
// 驳回选中项
export function checkToReject(obj: any) {
return request({
url: '/order/handover-flow/check/to-reject',
method: 'post',
data: obj
})
}
// 确认接收
export function confirmReceive(obj: any) {
return request({
url: '/order/handover-flow/confirm/receive',
method: 'post',
data: obj
})
}
// 分配参与者
export function distributePerson(obj: any) {
return request({
url: '/order/handover-flow/distribute',
method: 'put',
data: obj
})
}

View File

@@ -0,0 +1,65 @@
import request from "/@/utils/request"
export function fetchList(query?: Object) {
return request({
url: '/order/handover-node-record/page',
method: 'get',
params: query
})
}
export function addObj(obj?: Object) {
return request({
url: '/order/handover-node-record',
method: 'post',
data: obj
})
}
export function getObj(id: any) {
return request({
url: '/order/handover-node-record/' + id,
method: 'get'
})
}
export function delObj(id: any) {
return request({
url: '/order/handover-node-record/' + id,
method: 'delete'
})
}
export function delObjs(ids?: Object) {
return request({
url: '/order/handover-node-record',
method: 'delete',
data: ids
})
}
export function putObj(obj?: Object) {
return request({
url: '/order/handover-node-record',
method: 'put',
data: obj
})
}
// 流程中获取数据
export function fetchFlowList(query: any) {
return request({
url: '/order/handover-node-record/flow/page',
method: 'get',
params: query
})
}
// 批量新增或修改交接任务记录
export function batchSaveOrUpdate(obj: any) {
return request({
url: '/order/handover-node-record/batch',
method: 'post',
data: obj
})
}

View File

@@ -0,0 +1,135 @@
/**
* 用于获取表单组件路径
* @author luolin
*/
import {validateNull} from "/@/utils/validate";
import {DIC_PROP} from "/@/flow/support/dict-prop";
import {PROP_CONST} from "/@/flow/support/prop-const";
import {deepClone} from "/@/utils/other";
// 定制化工单Key
export const orderKeyMap = {
HandoverFlow: "HandoverFlow"
, AskLeave: "AskLeave"
}
// 跳转页面路径
export const locationHash = {
TodoJobHash :'#/jsonflow/run-job/do-job'
, RunApplicationHash :'#/order/run-application/index'
, SignJobHash :'#/jsonflow/run-job/sign-job'
, HiJobHash :'#/jsonflow/run-job/hi-job'
}
// Vue页面路径
export const vueKey = {
HandoverNodeRecordFlow: '/order/handover-node-record/flow'
, RunApplicationForm: '/order/run-application/flow'
, CommentFlow: '/jsonflow/comment/flow'
, CommentFlowId: '1'
, FlowDesignView: '/jsonflow/flow-design/view'
, FlowDesignViewId: '2'
, CommentTimeline: '/jsonflow/comment/timeline'
}
export const vueKeySys = {
sysPaths: [vueKey.CommentFlow, vueKey.CommentTimeline, vueKey.FlowDesignView],
sysPathIds: [vueKey.CommentFlowId, vueKey.FlowDesignViewId]
}
export function handleCustomForm(data, row) {
// TODO form为默认发起页面
let rowClone = deepClone(row);
rowClone.path = rowClone.path.replace('flow', 'form')
data.currFlowForm.currElTab = deepClone(rowClone)
}
/**
* 用于控制页面的显隐
* 显隐条件->工单path
*/
export function handleElTab(currJob) {
let order = currJob.order, conditions: any = [];
// 业务任务页面无order信息
if (validateNull(order)) return conditions;
// 判断工作交接切换不同页面
if (currJob.flowKey === orderKeyMap.HandoverFlow) {
let handoverNode = order.type === '-1'
conditions.push({isShow: handoverNode ? '1' : '0', path: vueKey.HandoverNodeRecordFlow})
}
return conditions
}
export function compatibleAppHeight(isApp) {
if (!isApp) return
// 兼容移动端 自适应页面高度
let app = document.getElementById('app');
if (app) app.style.overflow = 'auto'
}
export function validateFormTypeSave(form) {
// 设计表单默认表
let isDesign = form.type !== DIC_PROP.FORM_TYPE[1].value;
if (isDesign && !form.tableName) form.tableName = PROP_CONST.COMMON.tableName
// 设计表单path
if (isDesign) {
form.path = vueKey.RunApplicationForm
} else {
form.formInfo = null
}
}
export function currElTabIsExist(currJob, elTabId) {
// 兼容移动端
let currElTab = currJob.elTabs.find(f => f.id === elTabId)
// 查看则只读
if (currJob.hiJob) {
currElTab.isAutoAudit = '0'
currElTab.isFormEdit = '0'
}
return currElTab
}
// 发起时只读或可编辑
export async function currFormIsView(_this, find, existRoleId, callback?, widgetList?) {
if (find.isFormEdit === '0' || !existRoleId) {
if (callback) await callback(_this)
if (_this && _this.disableForm) _this.disableForm(true)
if (_this && _this.disableSubmit) _this.disableSubmit()
return
}
// 全部只读部分可编辑
if (find.defFormEdit === '0') {
if (_this && _this.disableForm) _this.disableForm(null, widgetList)
if (_this && _this.enableSubmit) _this.enableSubmit()
if (callback) await callback(_this)
} else {
if (callback) await callback(_this)
}
}
// 审批时只读或可编辑
export async function currElTabIsView(_this, currJob, elTabId, submitForm?, callback?, widgetList?) {
// 从elTabs中获取
let find = currElTabIsExist(currJob, elTabId)
if (find.isFormEdit !== '0' || find.isAutoAudit === '1') {
if (submitForm) currJob.resolveSaves?.push(submitForm)
}
await currFormIsView(_this, find, currJob.roleId, callback, widgetList)
// 重置保存按钮状态
currElTabIsSave(currJob, elTabId, false)
}
// 处理修改时保存状态
export function currElTabIsSave(currJob, elTabId, bool, emits?) {
// 从elTabs中获取
let find = currElTabIsExist(currJob, elTabId)
if (find.isFormEdit !== '0') find.isSave = bool
// 提交时自动审批
if (emits && find.isAutoAudit === '1') {
emits("handleJob", DIC_PROP.JOB_BTNS[0].value);
}
}

View File

@@ -0,0 +1,70 @@
import request from "/@/utils/request"
export function fetchList(query?: Object) {
return request({
url: '/order/run-application/page',
method: 'get',
params: query
})
}
export function addObj(obj?: Object) {
return request({
url: '/order/run-application',
method: 'post',
data: obj
})
}
export function tempStore(obj: any) {
return request({
url: '/order/run-application/temp-store',
method: 'post',
data: obj
})
}
export function getObj(id: any) {
return request({
url: '/order/run-application/' + id,
method: 'get'
})
}
export function getByFlowInstId(flowInstId: any) {
return request({
url: '/order/run-application/flow-inst-id/' + flowInstId,
method: 'get'
})
}
export function delObj(id: any) {
return request({
url: '/order/run-application/' + id,
method: 'delete'
})
}
export function delObjs(ids?: Object) {
return request({
url: '/order/run-application',
method: 'delete',
data: ids
})
}
export function putObjNoStatus(obj?: Object) {
return request({
url: '/order/run-application/no-status',
method: 'put',
data: obj
})
}
export function putObj(obj?: Object) {
return request({
url: '/order/run-application',
method: 'put',
data: obj
})
}

9
src/api/pay/cd.ts Normal file
View File

@@ -0,0 +1,9 @@
import request from '/@/utils/request';
export function useBuyApi(amount?: any) {
return request({
url: '/pay/goods/merge/buy',
method: 'get',
params: { amount: amount },
});
}

40
src/api/pay/channel.ts Normal file
View File

@@ -0,0 +1,40 @@
import request from '/@/utils/request';
export function fetchList(query?: Object) {
return request({
url: '/pay/channel/page',
method: 'get',
params: query,
});
}
export function addObj(obj?: Object) {
return request({
url: '/pay/channel',
method: 'post',
data: obj,
});
}
export function getObj(id?: string) {
return request({
url: '/pay/channel/' + id,
method: 'get',
});
}
export function delObjs(ids?: Object) {
return request({
url: '/pay/channel',
method: 'delete',
data: ids,
});
}
export function putObj(obj?: Object) {
return request({
url: '/pay/channel',
method: 'put',
data: obj,
});
}

40
src/api/pay/goods.ts Normal file
View File

@@ -0,0 +1,40 @@
import request from '/@/utils/request';
export function fetchList(query?: Object) {
return request({
url: '/pay/goods/page',
method: 'get',
params: query,
});
}
export function addObj(obj?: Object) {
return request({
url: '/pay/goods',
method: 'post',
data: obj,
});
}
export function getObj(id?: string) {
return request({
url: '/pay/goods/' + id,
method: 'get',
});
}
export function delObjs(ids?: Object) {
return request({
url: '/pay/goods',
method: 'delete',
data: ids,
});
}
export function putObj(obj?: Object) {
return request({
url: '/pay/goods',
method: 'put',
data: obj,
});
}

40
src/api/pay/record.ts Normal file
View File

@@ -0,0 +1,40 @@
import request from '/@/utils/request';
export function fetchList(query?: Object) {
return request({
url: '/pay/notify/page',
method: 'get',
params: query,
});
}
export function addObj(obj?: Object) {
return request({
url: '/pay/notify',
method: 'post',
data: obj,
});
}
export function getObj(id?: string) {
return request({
url: '/pay/notify/' + id,
method: 'get',
});
}
export function delObjs(ids?: Object) {
return request({
url: '/pay/notify',
method: 'delete',
data: ids,
});
}
export function putObj(obj?: Object) {
return request({
url: '/pay/notify',
method: 'put',
data: obj,
});
}

40
src/api/pay/refund.ts Normal file
View File

@@ -0,0 +1,40 @@
import request from '/@/utils/request';
export function fetchList(query?: Object) {
return request({
url: '/pay/refund/page',
method: 'get',
params: query,
});
}
export function useRefundApi(obj?: Object) {
return request({
url: '/pay/refund',
method: 'post',
data: obj,
});
}
export function getObj(id?: string) {
return request({
url: '/pay/refund/' + id,
method: 'get',
});
}
export function delObjs(ids?: Object) {
return request({
url: '/pay/refund',
method: 'delete',
data: ids,
});
}
export function putObj(obj?: Object) {
return request({
url: '/pay/refund',
method: 'put',
data: obj,
});
}

Some files were not shown because too many files have changed in this diff Show More