From 89f33d6c59d5b840a3664e9daee8596490d41389 Mon Sep 17 00:00:00 2001 From: herenshan112 Date: Sat, 20 Jul 2024 08:09:04 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8DAPI=E8=B0=83=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/api/DesignForm/fieldUnit.ts | 6 + src/api/api/DesignForm/flow.ts | 4 + src/api/api/DesignForm/form.ts | 19 + src/api/api/DesignForm/gromGroup/api.ts | 28 + src/api/api/DesignForm/gromGroup/data.ts | 128 ++++ src/api/api/DesignForm/gromGroup/types.ts | 46 ++ src/api/api/DesignForm/index.ts | 76 ++ src/api/api/DesignForm/requestapi.ts | 583 ++++++++++++++++ src/api/api/DesignForm/system.ts | 22 + src/api/api/DesignForm/tableButton.ts | 345 ++++++++++ src/api/api/DesignForm/type.ts | 222 ++++++ src/api/api/DesignForm/types.ts | 211 ++++++ src/api/api/DesignForm/utils.ts | 108 +++ src/api/api/DesignForm/validate.ts | 96 +++ src/api/api/api/index.ts | 13 + src/api/api/auth/index.ts | 56 ++ src/api/api/auth/types.ts | 73 ++ src/api/api/calendar/Calendar.ts | 329 +++++++++ src/api/api/calendar/DateClass.ts | 463 +++++++++++++ src/api/api/calendar/config.ts | 209 ++++++ src/api/api/calendar/const.ts | 609 +++++++++++++++++ src/api/api/calendar/request.ts | 13 + src/api/api/calendar/utils.ts | 7 + src/api/api/date/apidate.ts | 16 + src/api/api/date/type.ts | 289 ++++++++ src/api/api/dept/index.ts | 77 +++ src/api/api/dept/types.ts | 71 ++ src/api/api/dict/index.ts | 217 ++++++ src/api/api/dict/types.ts | 151 ++++ src/api/api/displayboardapi/indexapi.ts | 184 +++++ src/api/api/displayboardapi/types.ts | 152 ++++ src/api/api/file/index.ts | 49 ++ src/api/api/file/types.ts | 24 + src/api/api/handle.ts | 63 ++ src/api/api/hr/duties/index.ts | 83 +++ src/api/api/hr/duties/type.ts | 72 ++ src/api/api/hr/org/index.ts | 134 ++++ src/api/api/hr/org/type.ts | 180 +++++ src/api/api/hr/people/datacont.ts | 799 ++++++++++++++++++++++ src/api/api/hr/people/index.ts | 675 ++++++++++++++++++ src/api/api/hr/people/type.ts | 751 ++++++++++++++++++++ src/api/api/hr/post/index.ts | 53 ++ src/api/api/hr/post/type.ts | 69 ++ src/api/api/hr/search/types.ts | 10 + src/api/api/knowledge/index.ts | 45 ++ src/api/api/knowledge/scroll.js | 103 +++ src/api/api/knowledge/types.ts | 171 +++++ src/api/api/matrixapi/datacont.ts | 17 + src/api/api/matrixapi/index.ts | 105 +++ src/api/api/matrixapi/type.ts | 120 ++++ src/api/api/menu/index.ts | 128 ++++ src/api/api/menu/types.ts | 125 ++++ src/api/api/opk/api.ts | 163 +++++ src/api/api/opk/news/api.ts | 51 ++ src/api/api/opk/news/type.ts | 34 + src/api/api/opk/opk/api.ts | 163 +++++ src/api/api/opk/opk/type.ts | 127 ++++ src/api/api/opk/pulic/api.ts | 45 ++ src/api/api/opk/pulic/type.ts | 28 + src/api/api/opk/type.ts | 160 +++++ src/api/api/opk/zxc/iop/api.ts | 23 + src/api/api/opk/zxc/iop/type.ts | 18 + src/api/api/opk/zxc/pulic/api.ts | 9 + src/api/api/opk/zxc/pulic/type.ts | 7 + src/api/api/opk/zxy/news/api.ts | 79 +++ src/api/api/opk/zxy/news/type.ts | 68 ++ src/api/api/publicapi.ts | 62 ++ src/api/api/role/index.ts | 112 +++ src/api/api/role/types.ts | 78 +++ src/api/api/system/redis/api.ts | 24 + src/api/api/system/redis/types.ts | 17 + src/api/api/system/roleapi/postrole.ts | 83 +++ src/api/api/system/roleapi/rolecont.ts | 104 +++ src/api/api/system/roleapi/types.ts | 267 ++++++++ src/api/api/taskapi/management.ts | 203 ++++++ src/api/api/taskapi/types.ts | 111 +++ src/api/api/user/index.ts | 159 +++++ src/api/api/user/types.ts | 111 +++ src/api/api/workflowapi/index.ts | 130 ++++ src/api/api/workflowapi/types.ts | 26 + 80 files changed, 11061 insertions(+) create mode 100644 src/api/api/DesignForm/fieldUnit.ts create mode 100644 src/api/api/DesignForm/flow.ts create mode 100644 src/api/api/DesignForm/form.ts create mode 100644 src/api/api/DesignForm/gromGroup/api.ts create mode 100644 src/api/api/DesignForm/gromGroup/data.ts create mode 100644 src/api/api/DesignForm/gromGroup/types.ts create mode 100644 src/api/api/DesignForm/index.ts create mode 100644 src/api/api/DesignForm/requestapi.ts create mode 100644 src/api/api/DesignForm/system.ts create mode 100644 src/api/api/DesignForm/tableButton.ts create mode 100644 src/api/api/DesignForm/type.ts create mode 100644 src/api/api/DesignForm/types.ts create mode 100644 src/api/api/DesignForm/utils.ts create mode 100644 src/api/api/DesignForm/validate.ts create mode 100644 src/api/api/api/index.ts create mode 100644 src/api/api/auth/index.ts create mode 100644 src/api/api/auth/types.ts create mode 100644 src/api/api/calendar/Calendar.ts create mode 100644 src/api/api/calendar/DateClass.ts create mode 100644 src/api/api/calendar/config.ts create mode 100644 src/api/api/calendar/const.ts create mode 100644 src/api/api/calendar/request.ts create mode 100644 src/api/api/calendar/utils.ts create mode 100644 src/api/api/date/apidate.ts create mode 100644 src/api/api/date/type.ts create mode 100644 src/api/api/dept/index.ts create mode 100644 src/api/api/dept/types.ts create mode 100644 src/api/api/dict/index.ts create mode 100644 src/api/api/dict/types.ts create mode 100644 src/api/api/displayboardapi/indexapi.ts create mode 100644 src/api/api/displayboardapi/types.ts create mode 100644 src/api/api/file/index.ts create mode 100644 src/api/api/file/types.ts create mode 100644 src/api/api/handle.ts create mode 100644 src/api/api/hr/duties/index.ts create mode 100644 src/api/api/hr/duties/type.ts create mode 100644 src/api/api/hr/org/index.ts create mode 100644 src/api/api/hr/org/type.ts create mode 100644 src/api/api/hr/people/datacont.ts create mode 100644 src/api/api/hr/people/index.ts create mode 100644 src/api/api/hr/people/type.ts create mode 100644 src/api/api/hr/post/index.ts create mode 100644 src/api/api/hr/post/type.ts create mode 100644 src/api/api/hr/search/types.ts create mode 100644 src/api/api/knowledge/index.ts create mode 100644 src/api/api/knowledge/scroll.js create mode 100644 src/api/api/knowledge/types.ts create mode 100644 src/api/api/matrixapi/datacont.ts create mode 100644 src/api/api/matrixapi/index.ts create mode 100644 src/api/api/matrixapi/type.ts create mode 100644 src/api/api/menu/index.ts create mode 100644 src/api/api/menu/types.ts create mode 100644 src/api/api/opk/api.ts create mode 100644 src/api/api/opk/news/api.ts create mode 100644 src/api/api/opk/news/type.ts create mode 100644 src/api/api/opk/opk/api.ts create mode 100644 src/api/api/opk/opk/type.ts create mode 100644 src/api/api/opk/pulic/api.ts create mode 100644 src/api/api/opk/pulic/type.ts create mode 100644 src/api/api/opk/type.ts create mode 100644 src/api/api/opk/zxc/iop/api.ts create mode 100644 src/api/api/opk/zxc/iop/type.ts create mode 100644 src/api/api/opk/zxc/pulic/api.ts create mode 100644 src/api/api/opk/zxc/pulic/type.ts create mode 100644 src/api/api/opk/zxy/news/api.ts create mode 100644 src/api/api/opk/zxy/news/type.ts create mode 100644 src/api/api/publicapi.ts create mode 100644 src/api/api/role/index.ts create mode 100644 src/api/api/role/types.ts create mode 100644 src/api/api/system/redis/api.ts create mode 100644 src/api/api/system/redis/types.ts create mode 100644 src/api/api/system/roleapi/postrole.ts create mode 100644 src/api/api/system/roleapi/rolecont.ts create mode 100644 src/api/api/system/roleapi/types.ts create mode 100644 src/api/api/taskapi/management.ts create mode 100644 src/api/api/taskapi/types.ts create mode 100644 src/api/api/user/index.ts create mode 100644 src/api/api/user/types.ts create mode 100644 src/api/api/workflowapi/index.ts create mode 100644 src/api/api/workflowapi/types.ts diff --git a/src/api/api/DesignForm/fieldUnit.ts b/src/api/api/DesignForm/fieldUnit.ts new file mode 100644 index 0000000..70aedaf --- /dev/null +++ b/src/api/api/DesignForm/fieldUnit.ts @@ -0,0 +1,6 @@ +export const inputUnit = ["input","varchar"] +export const timeUnit = ["time"] +export const orgUnit = ["org"] +export const choiceUnit = ["radio"] +export const switchUnit = ["switch"] +export const checkboxUnit = ["checkbox"] diff --git a/src/api/api/DesignForm/flow.ts b/src/api/api/DesignForm/flow.ts new file mode 100644 index 0000000..e686c48 --- /dev/null +++ b/src/api/api/DesignForm/flow.ts @@ -0,0 +1,4 @@ +export default { + flowSave: 'flow/save', + flowList: 'flow/list' +} diff --git a/src/api/api/DesignForm/form.ts b/src/api/api/DesignForm/form.ts new file mode 100644 index 0000000..62b626c --- /dev/null +++ b/src/api/api/DesignForm/form.ts @@ -0,0 +1,19 @@ +export default { + designSave: 'design/save', // 保存设计的表单 + designEdit: 'design/edit', // 保存设计的表单 + designList: 'design/list', // 获取所有已设计的表单 + designChange: 'design/change', // 改变设计表单部分设置内容 + designDelete: 'design/delete', // 根据id删除已设计 + designById: 'design/id', // 根据id获取已设计的表单 + sourceList: 'dataSource/list', // 获取数据源列表 + sourceDelete: 'dataSource/delete', + sourceCreat: 'dataSource/creat', // 创建数据源 + sourceEdit: 'dataSource/edit', // 编辑数据源 + sourceById: 'dataSource/id', // 根据id获取数据源 + saveFormContent: 'content/save', // 往已设计好的表单里添加内容 + editFormContent: 'content/edit', // 往已设计好的表单里添加内容 + getContentList: 'content/list', // 获取表单内容列表 + delFormContent: 'content/delete', // 删除表单内容 + getFormContent: 'content/id', // 获取表单内容 + upload: 'upload/single' // 默认el-upload上传url,也可单独在设计时填写上传地址 +} diff --git a/src/api/api/DesignForm/gromGroup/api.ts b/src/api/api/DesignForm/gromGroup/api.ts new file mode 100644 index 0000000..821cb33 --- /dev/null +++ b/src/api/api/DesignForm/gromGroup/api.ts @@ -0,0 +1,28 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { fromGroupSearch,fromGroupInfo,editFromGroupInfo,shareId } from "@/api/DesignForm/gromGroup/types"; + +/** +@ 作者: 秦东 +@ 时间: 2024-03-09 10:10:55 +@ 功能: 获取分组内容 +*/ +export function gainFormGroupInfo(data:shareId){ + return request({ + url: '/systemapi/customer_form/gainFormGroupInfo', + method: 'post', + data: data + }); +} +/** +@ 作者: 秦东 +@ 时间: 2024-03-09 13:05:37 +@ 功能: 添加表单分组内容 +*/ +export function addCustomerFormGroup(data:fromGroupInfo){ + return request({ + url: '/systemapi/customer_form/addCustomerFormGroup', + method: 'post', + data: data + }); +} diff --git a/src/api/api/DesignForm/gromGroup/data.ts b/src/api/api/DesignForm/gromGroup/data.ts new file mode 100644 index 0000000..b7465f0 --- /dev/null +++ b/src/api/api/DesignForm/gromGroup/data.ts @@ -0,0 +1,128 @@ +/** +@ 作者: 秦东 +@ 时间: 2024-03-06 16:59:53 +@ 功能: 状态数组 +*/ +export const groupStateAry = [ + { + "key":1, + "label":"启用", + "value":1 + }, + { + "key":2, + "label":"禁用", + "value":2 + } +] +/** +@ 作者: 秦东 +@ 时间: 2024-03-09 14:31:45 +@ 功能: 保存按钮 +*/ +export const submitButton = { + type: "div", + control:{}, + config:{ + textAlign: "center", + span: "" + }, + list: [ + { + type: "button", + control: + { + label: "保存", + type: "primary", + key: "submit" + }, + config: + { + textAlign: "center" + }, + styles:{ + divStyle:{}, + labelStyle:{}, + inputStyle:{} + } + } + ] +} +/** +@ 作者: 秦东 +@ 时间: 2024-03-09 14:33:07 +@ 功能: 返回按钮 +*/ +export const cancelButton = { + type: "div", + control:{}, + config:{ + textAlign: "center", + span: "" + }, + list: [ + { + type: "button", + control:{ + label: "返回", + type: "danger", + key: "cancel" + }, + config:{ + textAlign: "center" + }, + styles:{ + divStyle:{}, + labelStyle:{}, + inputStyle:{} + } + } + ] +} +/** +@ 作者: 秦东 +@ 时间: 2024-03-09 14:34:15 +@ 功能: 保存和提交 +*/ +export const submitAndCancelButton = { + type: "div", + control:{}, + config:{ + span: 24, + textAlign: "center" + }, + list: [ + { + type: "button", + control:{ + label: "保存", + type: "primary", + key: "submit" + }, + config:{ + span: 0 + }, + styles:{ + divStyle:{}, + labelStyle:{}, + inputStyle:{} + } + }, + { + type: "button", + control:{ + label: "返回", + type: "danger", + key: "cancel" + }, + config:{ + span: 0 + }, + styles:{ + divStyle:{}, + labelStyle:{}, + inputStyle:{} + } + } + ] +}; diff --git a/src/api/api/DesignForm/gromGroup/types.ts b/src/api/api/DesignForm/gromGroup/types.ts new file mode 100644 index 0000000..663f30c --- /dev/null +++ b/src/api/api/DesignForm/gromGroup/types.ts @@ -0,0 +1,46 @@ +/** +@ 作者: 秦东 +@ 时间: 2024-03-09 10:00:17 +@ 功能: 通用ID +*/ +export interface shareId{ + id: string|number; +} +/** +@ 作者?: 秦东 +@ 时间: 2024-03-06 16:24:01 +@ 功能: 搜索自定义表单分组条件 +*/ +export interface fromGroupSearch { + name?:string; + orgid?:string; + superior?:string; + state?:number; +} +/** +@ 作者: 秦东 +@ 时间: 2024-03-09 10:01:23 +@ 功能: 表单分组内容 +*/ +export interface fromGroupInfo { + title?:string; + icon?:string; + sort?:number; + ordid?:string; +} +/** +@ 作者: 秦东 +@ 时间: 2024-03-09 10:03:05 +@ 功能: 编辑表单分组内容 +*/ +export interface editFromGroupInfo extends fromGroupInfo { + id: string|number; +} +/** +@ 作者: 秦东 +@ 时间: 2024-03-09 10:03:05 +@ 功能: 编辑表单分组状态 +*/ +export interface editFromGroupState extends shareId { + status: number; +} diff --git a/src/api/api/DesignForm/index.ts b/src/api/api/DesignForm/index.ts new file mode 100644 index 0000000..5410828 --- /dev/null +++ b/src/api/api/DesignForm/index.ts @@ -0,0 +1,76 @@ +import request from '@/utils/DesignForm/request' +import form from './form' +import system from './system' +import flow from './flow' +const allApi: any = Object.assign(form, system, flow) +export const getRequest = (apiKey: string, data?: any, options: any = {}) => { + let url = allApi[apiKey] || apiKey + console.log("apiKey",apiKey) + // 解决动态url 如/api/delete/id(id为动态时) + // url设置为:/api/delete/$id + // options参数设置:options:{apikey:$id:xx} + if (Object.keys(options.apiKey || {}).length) { + for (const key in options.apiKey) { + url = url.replace(key, options.apiKey[key]) + } + } + console.log("apiKey",url) + let obj: any = Object.assign( + { + url: '/api/' + url, // 添加个前缀 + method: 'POST', + data + }, + options + ) + // github演示时使用下面地址 + if (window.location.host.indexOf('github') === -1) { + let id = '' + if (url.indexOf('/id') !== -1 && data.id) { + id = data.id + '' + } + if (url.indexOf('/id') !== -1 && data.formId) { + id += data.formId + } + if (url.indexOf('design/list') !== -1 && data.type) { + id = data.type + } + if (url.indexOf('content/list') !== -1 && data.formId) { + id = data.formId + } + if ( + url.includes('/save') || + url.includes('/edit') || + url.includes('/delete') || + url.includes('/creat') || + url.includes('/change') || + url.includes('/single') + ) { + url = 'ok' + } + if (options.method) { + delete options.method + } + obj = Object.assign( + { + url: `./docs/mock/${url}${id}.json`, + method: 'GET', + params: data + }, + options + ) + } + return request(obj) +} +// export const uploadUrl = '/api/' + allApi.upload +export const uploadUrl = import.meta.env.VITE_APP_BASE_API+"/api/upordown" +export function uploadFiledTinymce(data:any, url:any) { + return request({ + url: url || '/api/upordown', + method: 'post', + data, + headers: { + 'Content-Type': 'multipart/form-data' + } + }) +} diff --git a/src/api/api/DesignForm/requestapi.ts b/src/api/api/DesignForm/requestapi.ts new file mode 100644 index 0000000..9ea8bc1 --- /dev/null +++ b/src/api/api/DesignForm/requestapi.ts @@ -0,0 +1,583 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { + customerFormCont, + CustomerFormPageResult, + SearchForm, + customerFormConfig, + getContForId, + editFormStatus, + setupCustomerFormCont, + customerFormLogo, + customerFormVersionCont, + editFormInfo, + customerFromCont, + enableVersionId, + databaseCallBackStruct, + haveFormTabelcontInfo, + getFormTableStruct, + optimizeRepairForm, + publicFormTableStruct, + hanziToPinyin, + gogoBackFormTabelStruct, + nodeFlow, + searchUserListForm, + taskflowquery, + editFlowFormStatus +} from './type'; +//自定义表单列表 +export function getCustomerFormList(queryParams: SearchForm): AxiosPromise { + return request({ + url: '/systemapi/customer_form/customer_form_list', + method: 'post', + data: queryParams + }); +} +//生成表单基本信息 +export function getProductionMarkForm(data?: any): AxiosPromise { + return request({ + url: '/systemapi/customer_form/production_mark_form', + method: 'post', + data: data + }); +} +//保存自定义表单 +export function saveProductionForm(data: any) { + return request({ + url: '/systemapi/customer_form/save_customer_form', + method: 'post', + data: data + }); +} +//获取单一表单内容 +export function getOneProductionForm(data: getContForId) { + return request({ + url: '/systemapi/customer_form/look_customer_form', + method: 'post', + data: data + }); +} +//编辑自定义表单状态 +export function editProductionFormStatus(data: editFormStatus) { + return request({ + url: '/systemapi/customer_form/edit_customer_form_status', + method: 'post', + data: data + }); +} + +//编辑自定义表单设置 +export function saveSetupCont(data: setupCustomerFormCont) { + return request({ + url: '/systemapi/customer_form/save_setup_cont', + method: 'post', + data: data + }); +} + +//获取自定义表单版本列表 +export function haveCustomerFormVersion(data: customerFormLogo):AxiosPromise { + return request({ + url: '/systemapi/customer_form/have_customer_form_version', + method: 'post', + data: data + }); +} +//编辑自定义表单内容 +export function editCustomerFormInfo(data: editFormInfo) { + return request({ + url: '/systemapi/customer_form/edit_customer_form_info', + method: 'post', + data: data + }); +} +//另存为新版 +export function saveAsNewVersion(data: customerFromCont) { + return request({ + url: '/systemapi/customer_form/save_as_new_version', + method: 'post', + data: data + }); +} +//启用版本 +export function enableVersion(data: enableVersionId) { + return request({ + url: '/systemapi/customer_form/enable_version', + method: 'post', + data: data + }); +} +//数据库表结构(版本及数据表) +export function callBackFormTableVersion(data: enableVersionId):AxiosPromise { + return request({ + url: '/systemapi/customer_form/have_database_table_struct', + method: 'post', + data: data + }); +} +//获取表单结构 +export function haveFormTabelcont(data: haveFormTabelcontInfo):AxiosPromise { + return request({ + url: '/systemapi/customer_form/have_form_tabelcont', + method: 'post', + data: data + }); +} +//优化/修复数据表 +export function optimizeOrRepairFormTable(data: optimizeRepairForm) { + return request({ + url: '/systemapi/customer_form/optimize_repair_form', + method: 'post', + data: data + }); +} +//优化/修复数据表 +export function haveFormTablelist(data: enableVersionId):AxiosPromise{ + return request({ + url: '/systemapi/customer_form/have_form_tablelist', + method: 'post', + data: data + }); +} +//表单结构数据处理 +export function formFieldHandle(data: any):AxiosPromise{ + return request({ + url: '/systemapi/customer_form/form_field_handle', + method: 'post', + data: data + }); +} + +//表单结构数据处理 +export function editFormField(data: any){ + return request({ + url: '/systemapi/customer_form/edit_form_field', + method: 'post', + data: data + }); +} +//检测是否存在提交和返回按钮 +export function judgeSubmitCancel(data: any){ + return request({ + url: '/systemapi/customer_form/judge_submit_cancel', + method: 'post', + data: data + }); +} +//中文转拼音 +export function chineseToPinyin(data: hanziToPinyin){ + return request({ + url: '/systemapi/public/chinese_to_pinyin', + method: 'post', + data: data + }); +} + +//自定义表单搜索人员 +export function searchUserList(data: searchUserListForm){ + return request({ + url: '/systemapi/task_flow/searchUserList', + method: 'post', + data: data + }); +} +//自定义表单搜索人员 +export function gainFlowPeople(data?: string[]){ + return request({ + url: '/systemapi/task_flow/gainFlowPeople', + method: 'post', + data: data + }); +} +//发起工作流 +export function startRunFlow(data?:any){ + return request({ + url: '/systemapi/task_management/startRunWorkFlow', + // url: '/systemapi/task_flow/startRunFlow', + method: 'post', + data: data + }); +} +//流程任务 +export function taskFlowList(data?:taskflowquery){ + return request({ + url: '/systemapi/task_flow/taskFlowList', + method: 'post', + data: data + }); +} +//获取正在执行得任务流程 +export function gainRunTaskFlow(data?:customerFormLogo){ + return request({ + // url: '/systemapi/task_flow/gainRunTaskFlow', + url: '/systemapi/task_management/gainRunTaskWorkflow', + method: 'post', + data: data + }); +} +//提交审批结果 +export function submitApprovalResults(data?:customerFormLogo){ + return request({ + url: '/systemapi/task_flow/submitApprovalResults', + method: 'post', + data: data + }); +} +//改变工作流任务状态 +export function delRunFlow(data?:editFlowFormStatus){ + return request({ + url: '/systemapi/task_flow/delRunFlow', + method: 'post', + data: data + }); +} +//重新发起流程 +export function afreshRunFlow(data?:enableVersionId){ + return request({ + url: '/systemapi/task_flow/afreshRunFlow', + method: 'post', + data: data + }); +} +//已有表单数据,只发布流程 +export function onlyPublishFlow(data?:any){ + return request({ + url: '/systemapi/task_flow/onlyPublishFlow', + method: 'post', + data: data + }); +} +//撤回申请 +export function retractRunFlow(data?:enableVersionId){ + return request({ + url: '/systemapi/task_flow/retractRunFlow', + method: 'post', + data: data + }); +} + +//获取要修改的数据 +export function gainEditFormFlowInfo(data?:enableVersionId){ + return request({ + url: '/systemapi/task_flow/gainEditFormFlowInfo', + method: 'post', + data: data + }); +} +//获取要修改的数据 +export function gainNumber(data?:any){ + return request({ + url: '/systemapi/public/gainNumber', + method: 'post', + data: data + }); +} +//验证无感登录 +export function silentLogin(data?:any){ + return request({ + url: '/systemapi/public/silentLogin', + method: 'post', + data: data + }); +} +//自定义表单分组列表 +export function customerFormGroupList(data?:any){ + return request({ + url: '/systemapi/customer_form/customerFormGroupList', + method: 'post', + data: data + }); +} +//查看分组详情 +export function gainFormGroupInfo(data:getContForId){ + return request({ + url: '/systemapi/customer_form/gainFormGroupInfo', + method: 'post', + data: data + }); +} +//改变自定义表单分组内容 +export function editCustomerFormGroup(data?:any){ + return request({ + url: '/systemapi/customer_form/editCustomerFormGroup', + method: 'post', + data: data + }); +} +//改变自定义表单分组状态 +export function editFormGroupState(data?:any){ + return request({ + url: '/systemapi/customer_form/editFormGroupState', + method: 'post', + data: data + }); +} +//获取表格字段 +export function gainFormTableField(data?:any){ + return request({ + url: '/systemapi/customer_form/gainFormTableField', + method: 'post', + data: data + }); +} +//编辑自定义表单列表数据 +export function editCustomerFormList(data: any) { + return request({ + url: '/systemapi/customer_form/editCustomerFormList', + method: 'post', + data: data + }); +} +//获取表单列表数据 +export function gainFormListCont(data: getContForId) { + return request({ + url: '/systemapi/customer_form/gainFormListCont', + method: 'post', + data: data + }); +} +//获取表单列表数据 +export function gainFormPageListCont(data: any) { + return request({ + url: '/systemapi/customer_form/gainFormPageListCont', + method: 'post', + data: data + }); +} +//创建APP +export function createApp(data: any) { + return request({ + url: '/systemapi/app/createApp', + method: 'post', + data: data + }); +} +//获取应用编辑页面信息 +export function gainAppEditPsge(data: any) { + return request({ + url: '/systemapi/app/gainAppEditPsge', + method: 'post', + data: data + }); +} +//获取除固定菜单以外的数据 +export function ginOthenMenuTree(data: any) { + return request({ + url: '/systemapi/app/ginOthenMenuTree', + method: 'post', + data: data + }); +} +//新增菜单 +export function saveAppMenu(data: any) { + return request({ + url: '/systemapi/app/saveAppMenu', + method: 'post', + data: data + }); +} +//获取完整APP菜单树 +export function gainAllAppMenu(data: any) { + return request({ + url: '/systemapi/app/gainAllAppMenu', + method: 'post', + data: data + }); +} +//获取完整APP菜单树 +export function editAppMenuCont(data: any) { + return request({ + url: '/systemapi/app/editAppMenuCont', + method: 'post', + data: data + }); +} +//修改菜单名称 +export function editAppMenuLable(data: any) { + return request({ + url: '/systemapi/app/editAppMenuLable', + method: 'post', + data: data + }); +} +//显示和隐藏菜单 +export function appMenuShowOrHide(data: any) { + return request({ + url: '/systemapi/app/appMenuShowOrHide', + method: 'post', + data: data + }); +} +//编辑菜单状态 +export function delAppMenu(data: any) { + return request({ + url: '/systemapi/app/delAppMenu', + method: 'post', + data: data + }); +} +//写入app表单菜单 +export function createAppForm(data: any) { + return request({ + url: '/systemapi/app/createAppForm', + method: 'post', + data: data + }); +} +//获取app页面综合信息 +export function gainAppPageInfo(data: any) { + return request({ + url: '/systemapi/app/gainAppPageInfo', + method: 'post', + data: data + }); +} +//编辑App表单数据 +export function editAppPageInfo(data: any) { + return request({ + url: '/systemapi/app/editAppPageInfo', + method: 'post', + data: data + }); +} +//保存新版本 +export function saveOtherVersion(data: any) { + return request({ + url: '/systemapi/app/saveOtherVersion', + method: 'post', + data: data + }); +} +//预览App多版本表单页面 +export function previewAppFormVersion(data: any) { + return request({ + url: '/systemapi/app/previewAppFormVersion', + method: 'post', + data: data + }); +} +//设置App基础 +export function appBasicSettings(data: any) { + return request({ + url: '/systemapi/app/appBasicSettings', + method: 'post', + data: data + }); +} +//获取应用下属表单 +export function gianAppFormTable(data: any) { + return request({ + url: '/systemapi/app/gianAppFormTable', + method: 'post', + data: data + }); +} +//获取应用下属表单 +export function setCustomerFormState(data: any) { + return request({ + url: '/systemapi/app/setCustomerFormState', + method: 'post', + data: data + }); +} +//鉴定当权人员是否有权限使用 +export function appJwtPower(data: any) { + return request({ + url: '/systemapi/app/appJwtPower', + method: 'post', + data: data + }); +} +//获取执行流程 +export function gainRunFlowStart(data: any) { + return request({ + url: '/systemapi/task_management/gainRunFlowStart', + method: 'post', + data: data + }); +} +//获取App任务 +export function gainAppTaskList(data: any) { + return request({ + url: '/systemapi/task_flow/gainAppTaskList', + method: 'post', + data: data + }); +} +//获取App任务 +export function gainAppAllTaskList(data: any) { + return request({ + url: '/systemapi/task_flow/gainAppAllTaskList', + method: 'post', + data: data + }); +} +//获取App任务 +export function editTaskAppInfo(data: any) { + return request({ + url: '/systemapi/task_flow/editTaskAppInfo', + method: 'post', + data: data + }); +} +//再次保存草稿箱内容 +export function saveDraftAgain(data: any) { + return request({ + url: '/systemapi/task_flow/saveDraftAgain', + method: 'post', + data: data + }); +} +//编辑任务 +export function editCustomerTable(data: any) { + return request({ + url: '/systemapi/task_management/editCustomerTable', + method: 'post', + data: data + }); +} +//重新提交(有流程就发动流程,无流程就正常发表) +export function afreshAppSubmit(data: any) { + return request({ + url: '/systemapi/task_flow/afreshAppSubmit', + method: 'post', + data: data + }); +} + + +//动态获取关联的系统字段数据作为单选下拉多选的选项 +export function getFieldRecord(param1: any) { + return request({ + url: '/javasys/lowCode/AssociatedForms/getFieldRecord', + method: 'post', + data: { + optionsValue3Field:param1 + }, + }) +} +//获取数据库表字段 +export function gainTableField(data: any) { + return request({ + url: '/systemapi/customer_form/gainTableField', + method: 'post', + data: data + }); +} +//获取数据库表字段 +export function gainListTableField(data: any) { + return request({ + url: '/systemapi/customer_form/gainListTableField', + method: 'post', + data: data + + }); +} +//多视图数据处理 +export function multiViewPage(data: any) { + return request({ + url: '/systemapi/customer_form/multiViewPage', + method: 'post', + data: data + }); +} diff --git a/src/api/api/DesignForm/system.ts b/src/api/api/DesignForm/system.ts new file mode 100644 index 0000000..acc1f1c --- /dev/null +++ b/src/api/api/DesignForm/system.ts @@ -0,0 +1,22 @@ +export default { + dictSave: 'system/dict/save', + dictList: 'system/dict/list', + dictDelete: 'system/dict/delete', + dictEdit: 'system/dict/edit', + deptSave: 'system/dept/save', + deptEdit: 'system/dept/edit', + deptList: 'system/dept/list', + deptDelete: 'system/dept/delete', + menuSave: 'system/menu/save', + menuEdit: 'system/menu/edit', + menuList: 'system/menu/list', + menuDelete: 'system/menu/delete', + roleSave: 'system/role/save', + roleEdit: 'system/role/edit', + roleList: 'system/role/list', + roleDelete: 'system/role/delete', + userSave: 'system/user/save', + userEdit: 'system/user/edit', + userList: 'system/user/list', + userDelete: 'system/user/delete' +} diff --git a/src/api/api/DesignForm/tableButton.ts b/src/api/api/DesignForm/tableButton.ts new file mode 100644 index 0000000..7fb9524 --- /dev/null +++ b/src/api/api/DesignForm/tableButton.ts @@ -0,0 +1,345 @@ +export interface tableButton { + control: any; + id?: string; + name?: string; + field?: string; + type?: string; + attribute:string; + pattern?: string; + fieldClass?: string; + activeValue?: string; + inactiveValue?: string; + options?: optionsInfo[]; + config?:any; + label?: string; +} +export interface optionsInfo { + label: string; + value: string; +} +export interface attrButton { + label: string; + key: string; + type: string; + size: string; + icon: string; +} +//表头操作 +export const tableButtonList :attrButton[] = [ + { + label: "新增", + key:"newAdd", + type:"primary", + size: "small", + icon: "editPen" + }, + { + label: "批量删除", + key: "del", + type: "danger", + size: "small", + icon: "delete" + } +] +//记录操作 +export const tableLogButtonList :attrButton[] = [ + { + label: "查看", + key: "look", + type: "success", + size: "small", + icon: "view" + }, + { + label: "编辑", + key: "edit", + type: "warning", + size: "small", + icon: "delete" + }, + { + label: "删除", + key: "del", + type: "danger", + size: "small", + icon: "delete" + } +]; +//记录操作 +export const tableAttrLogButtonList :tableButton[] = [ + { + // label: "多选", + // attribute:"checkbox" + + id: "checkbox", + label: "多选", + field: "checkbox", + type: "selection", + attribute:"-", + pattern: "bigint", + fieldClass: "-", + activeValue: "", + inactiveValue: "", + options: [] + }, + { + + id: "serialNumber", + label: "序号", + field: "index", + type: "index", + attribute:"-", + pattern: "bigint", + fieldClass: "-", + activeValue: "", + inactiveValue: "", + options: [] + }, + { + id: "operate", + label: "操作", + field: "operate", + type: "", + attribute:"-", + pattern: "bigint", + fieldClass: "__control", + activeValue: "", + inactiveValue: "", + options: [] + } +]; +//新增和编辑页面展开方式 +export const diaOrDrawer = [ + { + label:"抽屉", + value:"drawer" + }, + { + label:"弹窗", + value:"dialog" + } +] + +//表单结构 +export interface FormPageList { + columns: tableButton[], + config: any, + controlBtn:tableButton[], + operateBtn:tableButton[] +} +export interface FormPageConfig{ + pageSize:number, + searchIsShow:boolean, + searchFormIsShow:boolean, + openPageMode:string +} + + +export const submitButtonEs = { + type: "div", + control:{}, + config:{ + textAlign: "center", + span: "" + }, + list: [ + { + type: "button", + control:{ + label: "保存", + type: "primary", + key: "submit" + }, + config:{ + textAlign: "center" + } + } + ] +} +export const cancelButton = { + type: "div", + control:{}, + config:{ + textAlign: "center", + span: "" + }, + list: [ + { + type: "button", + control:{ + label: "返回", + type: "danger", + key: "cancel" + }, + config:{ + textAlign: "center" + } + } + ] +} +export const submitAndCancelButton = { + type: "div", + control:{}, + config:{ + span: 24, + textAlign: "center" + }, + list: [ + { + type: "button", + control:{ + label: "保存", + type: "primary", + key: "submit" + }, + config:{ + span: 0 + } + }, + { + type: "button", + control:{ + label: "返回", + type: "danger", + key: "cancel" + }, + config:{ + span: 0 + } + } + ] +}; + +export const tipMstClass = [ + { + value: 1, + label: '流程提醒', + }, + { + value: 2, + label: '表单提醒', + }, +] +export const tipMstTypeClass = [ + { + value: 1, + label: '只提醒一次', + }, + { + value: 2, + label: '周期性提醒', + }, +] +export const repetitionPeriodClass = [ + { + value: 1, + label: '每天', + }, + { + value: 2, + label: 'N天', + }, + { + value: 3, + label: '每小时', + }, + { + value: 4, + label: 'N小时', + }, + { + value: 5, + label: 'N分钟', + }, + { + value: 6, + label: '每星期', + }, + { + value: 7, + label: '每月', + } +] +export const weekForDay = [ + { + value: 1, + label: '周一', + }, + { + value: 2, + label: '周二', + }, + { + value: 3, + label: '周三', + }, + { + value: 4, + label: '周四', + }, + { + value: 5, + label: '周五', + }, + { + value: 6, + label: '周六', + }, + { + value: 7, + label: '周日', + } +] + +export interface viewPageType { + + list:{ + status:boolean, + isClick:boolean, + form:{ + sortWord:string, + sortClass:number + } + }, + date:{ + status:boolean, + isClick:boolean, + form:{ + startTime:string, + endTime:string, + dayType:number + } + } + , + time:{ + status:boolean, + isClick:boolean, + form:{ + sortWord:string, + sort:number + } + } + , + gantt:{ + status:boolean, + isClick:boolean, + form:{ + startTime:string, + endTime:string, + dayType:number, + sortWord:string, + sort:number + } + } + , + map:{ + status:boolean, + isClick:boolean, + form:{ + mapWord:string, + sortWord:string, + sort:number + } + } + +} diff --git a/src/api/api/DesignForm/type.ts b/src/api/api/DesignForm/type.ts new file mode 100644 index 0000000..bdd04e8 --- /dev/null +++ b/src/api/api/DesignForm/type.ts @@ -0,0 +1,222 @@ +//搜索表单 +export interface SearchForm extends PageQuery{ + keywords?: string; + classify?:number; + groupId?:string; +} +//自定义表单列表内容 +export interface customerFormCont{ + id: number, + name: string, + tablename: string, + classify: number, + permit: string, + permitstr: string, + states: number, + createrTime: number, + editTime: number, + flowkey: number, + userpermit: string, + postpermit: string, + groupid: number, + icon: string, + flowIsOpen: 1, + idStr: string, + creatername: string, + creatertimeStr: string, + flowkeyStr: string +} + +export type CustomerFormPageResult = PageResult; + +//初始化表单基本信息 +export interface customerFormConfig{ + formname:string; + formlogo:string; +} +//根据Id获取信息 +export interface getContForId{ + id:string; +} +//编辑表单状态 +export interface editFormStatus{ + id:string[]; + status:number; + is_delete:boolean; +} + +//自定义表单设置字段 +export interface setupCustomerFormCont{ + id:number; + name:string; + permit:any; + states:number; + openclose:boolean; +} +//自定义表单标识符 +export interface customerFormLogo{ + id:string +} + +//自定义表单版本内容 +export interface customerFormVersionCont{ + id:number; + tablekey:string; + version:number; + status:number; + mastesform:string; + mastesformjson:string; + creater:number; + time:number; + editTime:number; + table_structure:string; + dict:string; + createrstr:string; + flowkeystr:string; +} +//编辑自定义表单内容 +export interface editFormInfo extends customerFromCont{ + id:string; + version:string; + +} +export interface customerFromCont{ + type:number; + name:string; + source:string; + dict:string; + data:string; + jsondata:string; + classify:number; +} +//启用新版本 +export interface enableVersionId{ + id:string; +} + +//通用数据表结构管理体 +export interface publicFormTableStruct{ + id:string; + name:string; + ismain:string; + isedit:string; + versionid:string; +} +//数据结构返回值 +export interface databaseCallBackStruct{ + version:publicFormTableStruct[]; + tablelist:publicFormTableStruct[]; +} +//获取表单结构 +export interface haveFormTabelcontInfo extends enableVersionId{ + name:string; +} +//表单结构体 +export interface formTabelStruct{ + field:string; + type:string; + attribute:string; + collation:string; + null:string; + key:string; + default:string; + extra:string; + privileges:string; + comment:string; + pattern:string; +} +//获取表单结构 +export interface getFormTableStruct{ + filedlist:formTabelStruct[]; + isedit:boolean; +} +//优化/修复数据表 +export interface optimizeRepairForm{ + name:string; + optimizerender:number; +} +//返回表结构 +export interface gogoBackFormTabelStruct extends formTabelStruct{ + formname:string; + integer:string; + decimal:string; +} +//汉字转拼音 +export interface hanziToPinyin{ + title:string; + types:number; + connector:string; + formJson?:string; +} +//获取工作流步进节点 +export interface nodeFlow extends enableVersionId{ + conditionList?:conditionInfo[] +} +export interface conditionInfo{ + factorid:string; + type:number; + isCheckbox?:boolean; + answers?:string[]; + oneanswer?:string; + customFields?:customFieldsInfo[]; + nodeUserList?:nodeUserInfo[]; + + +} +//自定义条件 +export interface customFieldsInfo{ + wordfield:string; + optType:string; + leftval:string; + leftoptType?:string; + rightoptType?:string; + rightval?:string; +} +//节点条件人员 +export interface nodeUserInfo{ + type:number; + targetId:string; + name?:string; + icon?:string; + iconToBase64?:string; +} +//自定义表单搜索人员 +export interface searchUserListForm extends PageQuery{ + name?: string; + department?:number; +} +//流程任务 +export interface taskflowquery extends PageQuery{ + title?: string; //任务标题 + class?:number; //类型:1、我的请求;2、待办事宜;3、已办事宜;4:草稿箱 + state?:number; //状态:状态:1、草稿;2:驳回;3:审批中;4:归档;5:删除 +} +//编辑表单状态 +export interface editFlowFormStatus{ + id:string; + status:number; +} + +//自定义列表字段 +export interface formTableField{ + masterTable:tableButtonEs[]; + sunTable?:any; +} + +export interface tableButtonEs { + id?: string; + name?: string; + field?: string; + types?: string; + attribute:string; + pattern?: string; + fieldClass?: string; + activeValue?: string; + inactiveValue?: string; + options?: optionsInfo[]; + config?:any; +} +export interface optionsInfo { + label: string; + value: string; +} diff --git a/src/api/api/DesignForm/types.ts b/src/api/api/DesignForm/types.ts new file mode 100644 index 0000000..32d431d --- /dev/null +++ b/src/api/api/DesignForm/types.ts @@ -0,0 +1,211 @@ +export interface FormList { + name: string + type: string + control: any // 当前type表单控件所有props + item?: FormItem|any // formItem组件所有props + config: any // 其他配置信息 + customRules?: any // 自定义检验规则;这个规则会合并进item.rules + columns?: any // 布局字段 + tableData?: any // 子表时 + options?: Options[] // radio;checkbox;select选项 + styles:{ + divStyle:{}, + labelStyle:{}, + inputStyle:{} + } +} +export interface Options { + label: string + value: string + disabled?: boolean +} +export interface FormItem { + label?: string; + labelWidth?: string; + required?: boolean; + rules?: any; + error?: string; + showMessage?: boolean; + inlineMessage?: boolean; + size?: string; + showLabel?: boolean; +} + +export interface FormData { + list: FormList[] + form: any // form所有props + config: { + style?: string // 表单css样式,相当于scope + hideField?: string[] // 使用v-if隐藏的字段,用于交互 + requestUrl?: string // 表单数据请求url + addUrl?: string // 提交表单 + editUrl?: string // 编辑保存 + addLoad?: boolean + expand?: boolean // 用于设置筛选条件默认展开/收起状态 + + } + events?: { + beforeRequest?: Function + afterResponse?: Function | string + beforeSubmit?: Function + afterSubmit?: Function + change?: Function + } + styles:{ + divStyle:{}, + labelStyle:{}, + inputStyle:{} + } +} + +export interface TableData { + tableProps?: any + columns: any + controlBtn?: any + events?: any + treeData?: { + show: boolean + beforeRequest?: Function + afterResponse?: Function | string + method: string + requestUrl: string + name: string + } + operateBtn?: any + config?: any +} + +export interface OpenDrawer { + //visible: boolean + title?: string + direction?: string + content?: any + codeType?: string + callback?: Function | string + type?: string +} + + +//文件 +export interface FileAttribute{ + imgPath:any; + title:any; + formData:any; +} +export interface FileAttributeAll{ + visible:boolean; + list:FileAttribute[]; +} + +//表单数据 +export interface formData{ + list: any[]; + form: { + size: any; + name:any, + formName:any, + dataTitle:any + }; + config: any; + events?:any; + styles:{ + divStyle:{}, + labelStyle:{}, + inputStyle:{} + }; + purview?:any[]; +} +//表单基本信息 +export interface formTableInfo{ + size?: any; + name?:any, + formName?:any +} +//其他表单数据 +export interface formOtherData{ + source: any; + formName: any +} +//表单结构体 +export interface formStruct{ + formData:formData; + editor: any; + loading: boolean; + formDataPreview: any; + previewVisible: boolean; // 预览窗口 + designType: any; // 当前页面设计类型,有效值search + formDict: any; + formOtherData:formOtherData +} + +export interface DrawerStruct{ + visible: boolean; + type: any; + title: any; + codeType: any; + direction: any; //弹出方向rtl / ltr + callback: any; + content?: any; +} + +//表单样式 +export interface FormDataStyle{ + list: any[]; + form: any; + config: any; +} + +//通用属性 +export interface PublicAtrr{ + label?:string; + value?:any; + placeholder?:string; + path?:string; + type?:string; + dict?:any; + vHide?:string[]; + eventName?:string; + vShow?:string[]; + clearable?:boolean; + isNum?:boolean; + inputStyle?:string; + vIf?:any; +} +//低代码视频单个属性对象 +export interface VideoMsg { + CreatedAt: string + UpdatedAt: string + fileSize: number + id: number + key: string + name: string + physicspath: string + size: string + tag: string + type: number + url: string//视频地址 + videoReady:boolean//当前视频是否成功上传 + videoHeight?:number//视频高 + videoWidth?:number//视频宽 + videoAutoPlay:boolean//是否自动播放 + attrId:string//字段标识 e.g : videoUpAndPlay1705024134559 + poster?:string//视频封面url + loop:boolean//是否循环播放 +} +//低代码轮播图单个属性对象 +export interface CarsuselConfig { + uploadFlag:boolean, + imgId:string, + imgSort:number, + imgUrl:string, + link:string +} + +export interface appSetUpContent{ + id:string; + title:string; + appSvg?:string; + groupKey:string; + appdescribe?:string; +} + diff --git a/src/api/api/DesignForm/utils.ts b/src/api/api/DesignForm/utils.ts new file mode 100644 index 0000000..7772d81 --- /dev/null +++ b/src/api/api/DesignForm/utils.ts @@ -0,0 +1,108 @@ +import { EDITTYPE } from '@/utils/DesignForm/form' + +export const aceEdit = (data: any, id?: string, type?: string | undefined) => { + id = id || 'editJson' + type = type || EDITTYPE + // @ts-ignore + const editor = ace.edit(id) + editor.setOptions({ + enableBasicAutocompletion: true, + enableSnippets: true, + enableLiveAutocompletion: true + }) + editor.setFontSize(14) + editor.setShowPrintMargin(false) + editor.session.setMode('ace/mode/' + type) + editor.setTheme('ace/theme/tomorrow_night') + editor.setValue(data) + return editor +} +// 将字符类数字转为数值类 +export const formatNumber = (val: any) => { + // 将字符类数字转为数值类 + if (typeof val === 'string' && /^\d+(\.\d+)?$/.test(val.toString())) { + // 为数字 + return Number(val) + } else { + return val + } +} +// 转所有值转为字符串类型 +export const formatToString = (val: any) => { + if (val !== undefined) { + return val.toString() + } else { + return val + } +} +// 将{key:value}转[{label:'key',value:'value'}] +export const objectToArray = (obj: any) => { + if (Object.prototype.toString.call(obj) === '[object Object]') { + const temp: any = [] + for (const key in obj) { + temp.push({ + label: obj[key], + value: key + }) + } + return temp + } + return obj +} +/**** + * 动态插入移除css + * @param id 标签id + * @param cssContent 要插入的css内容 + * @param append true插入false移除 + */ +export const appendOrRemoveStyle = ( + id: string, + cssContent: string, + append?: boolean +) => { + const styleId: any = document.getElementById(id) + if (styleId && append) { + // 存在时直接修改,不用多次插入 + styleId.innerText = cssContent + return + } + if (cssContent && append) { + const styleEl = document.createElement('style') + styleEl.id = id + styleEl.type = 'text/css' + styleEl.appendChild(document.createTextNode(cssContent)) + document.head.appendChild(styleEl) + } + if (!append || !cssContent) { + // 移除 + styleId && styleId.parentNode.removeChild(styleId) + } +} +// 定义两个空方法,用于在编辑事件时作为默认值 +export const beforeRequest = + 'opt=(data, route) => {\n' + + ' // data经过处理后返回\n' + + " console.log('beforeRequest',data)\n" + + ' return data\n' + + '}' +export const afterResponse = + 'opt=(res) => {\n' + + ' // res返回数据\n' + + " console.log('afterResponse',res)\n" + + ' return res\n' + + '}' + +export const onChange = + 'opt=(key,model) => {\n' + + ' // name当前改变组件的值,model表单的值\n' + + " console.log('onChange',key)\n" + + ' return model\n' + + '}' + +// provide 方法定义的key +const prefix = 'GK' +export const constControlChange = prefix + 'ControlChange' // 表单组件改变事件 +export const constSetFormOptions = prefix + 'SetFormOptions' // 使用setOptions设置下拉值 +export const constGetControlByName = prefix + 'GetControlByName' // 根据name从formData.list查找数据 +export const constFormBtnEvent = prefix + 'FormBtnEvent' // 按钮组件事件 +export const constFormProps = prefix + 'FormProps' // 按钮组件事件 diff --git a/src/api/api/DesignForm/validate.ts b/src/api/api/DesignForm/validate.ts new file mode 100644 index 0000000..ce6e176 --- /dev/null +++ b/src/api/api/DesignForm/validate.ts @@ -0,0 +1,96 @@ +// 快速添加 内置校验规则 +interface ValidateTypes { + type: string + label: string + regExp: RegExp + message: string + } + const validateConfig: ValidateTypes[] = [ + { + type: 'required', + label: '必填', + regExp: /^\s*$/, + message: '必填项' + }, + { + type: 'mobile', + label: '手机号码', + regExp: /^0{0,1}(13[0-9]|15[7-9]|153|156|18[7-9])[0-9]{8}$/, + message: '请输入手机号码' + }, + { + type: 'tel', + label: '固话', + regExp: /^0\d{2,3}-\d{7,8}$/, + message: '请输入固定电话号码' + }, + { + type: 'phone', + label: '固话或手机', + regExp: /^((0\d{2,3}(-?)\d{7,8})|(1[3456789]\d{9}))$/, + message: '请输入固定电话号码或手机号' + }, + { + type: 'email', + label: '邮箱', + regExp: /^[a-z0-9A-Z._%-]+@([a-z0-9A-Z-]+\.)+[a-zA-Z]{2,4}$/, + message: '请输入邮箱地址' + }, + { + type: 'int', + label: '正整数', + regExp: /^[0-9]*[1-9][0-9]*$/, + message: '请输入正整数' + }, + { + type: 'number', + label: '数字', + regExp: /^\d+(\.\d+)?$/, + message: '请输入数字' + }, + { + type: 'money', + label: '金额', + regExp: /^[0-9]+\.?[0-9]{0,2}$/, + message: '请输入正确的金额,最多两位小数' + }, + { + type: 'card', + label: '身份证', + regExp: + /(^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$)|(^[1-9]\d{5}\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{2}$)/, + message: '请输入身份证号' + }, + { + type: 'cn', + label: '中文', + regExp: /[\u4e00-\u9fa5]+/, + message: '请输入中文' + }, + { + type: 'numberLetter', + label: '数字字母', + regExp: /[0-9a-zA-Z]$/, + message: '请输入数字或字母' + }, + { + type: 'url', + label: '网址', + regExp: /^https?:\/\/((.)+(\.)?)*(:\d+)?(\/((\.)?(\?)?=?&?.(\?)?)*)*$/, + message: '请输入网址' + }, + { + type: 'longitude', + label: '经度', + regExp: /^[-+]?(0?\d{1,2}\.\d{1,10}|1[0-7]?\d\.\d{1,10}|180\.0{1,10})$/, + message: '请输入正确的经度' + }, + { + type: 'latitude', + label: '纬度', + regExp: /^[-+]?([0-8]?\d{1}\.\d{1,10}|90\.0{1,10})$/, + message: '请输入正确的纬度' + } + ] + export default validateConfig + \ No newline at end of file diff --git a/src/api/api/api/index.ts b/src/api/api/api/index.ts new file mode 100644 index 0000000..b21a350 --- /dev/null +++ b/src/api/api/api/index.ts @@ -0,0 +1,13 @@ +import request from '@/utils/request'; + + +/** + * 获取离职率http://localhost:9999/dev-api/api/upordown + */ + export function uploadFilesSysFile(data?: any) { + return request({ + url: "/api/upordown", + method: 'post', + data: data + }); +} diff --git a/src/api/api/auth/index.ts b/src/api/api/auth/index.ts new file mode 100644 index 0000000..b21b882 --- /dev/null +++ b/src/api/api/auth/index.ts @@ -0,0 +1,56 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { CaptchaResult, LoginData, LoginResult } from './types'; + +/** + * 登录API + * + * @param data {LoginData} + * @returns + */ +export function loginApi(data: LoginData): AxiosPromise { + return request({ + url: '/api/v1/auth/login', + method: 'post', + params: data + }); +} +export function loginApiIng(data: LoginData): AxiosPromise { + return request({ + url: "/kpiapi/base/login", + method: "post", + data: data, + }); +} +/** + * 注销API + */ +export function logoutApiOld() { + return request({ + url: '/api/v1/auth/logout', + method: 'delete' + }); +} + +export function logoutApi() { + return request({ + url: "/kpiapi/base/signout", + method: "post", + }); +} + +/** + * 获取验证码 + */ +export function getCaptchaApi(): AxiosPromise { + return request({ + url: '/api/v1/auth/captcha', + method: 'get' + }); +} +export function getCaptchaApiIng(): AxiosPromise { + return request({ + url: "/kpiapi/base/captcha", + method: "post", + }); +} diff --git a/src/api/api/auth/types.ts b/src/api/api/auth/types.ts new file mode 100644 index 0000000..25ccd79 --- /dev/null +++ b/src/api/api/auth/types.ts @@ -0,0 +1,73 @@ +/** + * 登录请求参数 + */ +export interface LoginData { + /** + * 用户名 + */ + username?: string; + /** + * 密码 + */ + password?: string; + + /** + * 验证码缓存key + */ + verifyCodeKey?: string; + + /** + * 验证码 + */ + verifyCode?: string; + captcha?: string; + captchaId?: string; +} + +/** + * 登录响应 + */ +export interface LoginResult { + /** + * 访问token + */ + accessToken?: string; + /** + * 过期时间(单位:毫秒) + */ + expires?: number; + /** + * 刷新token + */ + refreshToken?: string; + /** + * token 类型 + */ + tokenType?: string; + key?: string; + token?: string; + userinfo?:any; +} + +/** + * 验证码响应 + */ +export interface CaptchaResult { + /** + * 验证码缓存key + */ + verifyCodeKey: string; + /** + * 验证码图片Base64字符串 + */ + verifyCodeBase64: string; + /** + * 验证码缓存key + */ + captchaid: string; + /** + * 验证码图片Base64字符串 + */ + picPath: string; +} + diff --git a/src/api/api/calendar/Calendar.ts b/src/api/api/calendar/Calendar.ts new file mode 100644 index 0000000..553a0ba --- /dev/null +++ b/src/api/api/calendar/Calendar.ts @@ -0,0 +1,329 @@ +import constValue from '@/api/calendar/const'; +import constVal from '@/api/calendar/const'; +import DateClass from '@/api/calendar/DateClass'; +import { clockFactory } from '@/api/calendar/utils'; +import { formToJSON } from 'axios'; + +export interface dateBase { + isCurrent: boolean; + title: number; + isHolidays: boolean; + isWorks: boolean; + date: string; + lunars: string; + lunarsChina: string; + isNow: boolean; + term: string | false; + lunarsChinese: string; + solarDay: string | false; + animal: string; + astro: string; + lunarDay: string | false; + isWeek?: boolean; +} +/** + * 获得节气 + * @param y 农历年度 + * @param m 公立月份 + * @param d 公立日期 + * @returns + */ +export function getTerm(y: number, m: number, d: number) { + let firstNode = DateClass.getTerm(y, m * 2 - 1), + secondNode = DateClass.getTerm(y, m * 2); + + let term: false | string = false; + + if (Number(firstNode) === d) term = constVal.solarTerm[m * 2 - 2]; + if (Number(secondNode) == d) term = constVal.solarTerm[m * 2 - 1]; + + return term; +} + +class Calendar { + title() { + const title: string[] = []; + for (let i = 0; i <= 6; i++) { + title.push(constValue.nStr5[i % 7]); + } + return title; + } + validateDate(date: number[]) { + if (date.length === 3 && String(date[0]).length === 4) { + return date; + } else { + return DateClass.getCurrent(); + } + } + getDateParams(day: dateBase[], date: number[]) { + return day.map((el, index) => { + return { + title: el.title, + isCurrent: el.isCurrent, + value: 'tCalendar' + new Date().getTime(), + isWeek: new Date(el.date).getDay() === 6 || new Date(el.date).getDay() === 0, + isHolidays: el.isHolidays, + date: el.date, + lunars: el.lunars, + lunarsChinese: el.lunarsChinese, + lunarsChina: el.lunarDay || el.solarDay || el.term || el.lunarsChina, + isNow: el.isNow, + animal: el.animal, + astro: el.astro, + term: el.term, + solarDay: el.solarDay, + lunarDay: el.lunarDay + }; + }); + } + /** + * 获取当月前面需补齐的数组 + */ + beforDays(date: number[], last: number) { + const y = date[1] === 1 ? date[0] - 1 : date[0]; + const m = date[1] === 1 ? 12 : date[1] - 1; + let w = DateClass.solarMonth(y, m); + console.log("获取当月前面需补齐的数组-->",y,m,w,last) + const arr: dateBase[] = []; + for (let i = 0; i < last; i++) { + const lun = DateClass.getLunars(y, m, w - i); + const l = lun.split('-'); + arr.push({ + title: w - i, + isCurrent: false, + isHolidays: DateClass.getHolidays([y, m, w - i]), + isWorks: DateClass.getWorks([y, m, w - i]), + date: `${y}-${clockFactory(m)}-${clockFactory(w - i)}`, + lunars: lun, + lunarsChinese: + DateClass.toChinaMonth(Number(l[1])) + DateClass.toChinaDay(Number(l[2])), + lunarsChina: DateClass.toChinaDay(Number(l[2])), + isNow: false, + solarDay: DateClass.getSolarDay(m, w - i), + lunarDay: DateClass.getlunarDay(Number(l[0]), Number(l[1]), Number(l[2])), + animal: DateClass.getAnimal(Number(l[0])), + astro: DateClass.toAstro(y, m, w - i), + term: getTerm(Number(l[0]), m, w - i), + + }); + } + return arr; + } + /** + * 获取当月后面需补齐的数组 + */ + afterDays(day: dateBase[], date: number[]) { + const arr: dateBase[] = []; + const y = date[1] === 12 ? date[0] + 1 : date[0]; + const m = date[1] === 12 ? 1 : date[1] + 1; + for (let i = 1; i < 42 - day.length + 1; i++) { + const lun = DateClass.getLunars(y, m, i); + const l = lun.split('-'); + arr.push({ + title: i, + isCurrent: false, + isHolidays: DateClass.getHolidays([y, m, i]), + isWorks: DateClass.getWorks([y, m, i]), + date: `${y}-${clockFactory(m)}-${clockFactory(i)}`, + lunars: lun, + lunarsChinese: + DateClass.toChinaMonth(Number(l[1])) + DateClass.toChinaDay(Number(l[2])), + lunarsChina: DateClass.toChinaDay(Number(l[2])), + isNow: false, + solarDay: DateClass.getSolarDay(m, i), + lunarDay: DateClass.getlunarDay(Number(l[0]), Number(l[1]), Number(l[2])), + animal: DateClass.getAnimal(Number(l[0])), + astro: DateClass.toAstro(y, m, i), + term: getTerm(Number(l[0]), m, i) + }); + } + return [...day, ...arr]; + } + getDay(date: number[], beforDays: dateBase[]) { + const dateArray: dateBase[] = []; + const currentDayNumber = DateClass.solarMonth(date[0], date[1], date[2]); + for (let i = 1; i <= currentDayNumber; i++) { + const lun = DateClass.getLunars(date[0], date[1], i); + const l = lun.split('-'); + dateArray.push({ + title: i, + isCurrent: true, + isHolidays: DateClass.getHolidays([date[0], date[1], i]), + isWorks: DateClass.getWorks([date[0], date[1], i]), + date: `${date[0]}-${clockFactory(date[1])}-${clockFactory(i)}`, + lunars: lun, + lunarsChinese: + DateClass.toChinaMonth(Number(l[1])) + DateClass.toChinaDay(Number(l[2])), + lunarsChina: DateClass.toChinaDay(Number(l[2])), + isNow: i === date[2] ? true : false, + solarDay: DateClass.getSolarDay(date[1], i), + lunarDay: DateClass.getlunarDay(Number(l[0]), Number(l[1]), Number(l[2])), + animal: DateClass.getAnimal(Number(l[0])), + astro: DateClass.toAstro(date[0], date[1], i), + term: getTerm(Number(l[0]), date[1], i) + }); + } + return [...beforDays, ...dateArray]; + } + + table(date: number[]) { + const dateArray = []; + + const result = this.validateDate(date); + + const currentDay = DateClass.solarWeeks(result[0], result[1]); + console.log("获取当月的完整数据",currentDay,result) + // 获取当月的完整数据 + const beforDays = this.beforDays(date, currentDay).reverse(); + + const m = this.getDay(date, beforDays); + + console.log("获取当月的完整数据--->",m,date) + + const afterDays = this.afterDays(m, date); + + + // 转化成参数 + const params = this.getDateParams(afterDays, date); + + // return []; + if (params.length !== 42) return []; + + for (let row = 0; row < 6; row++) { + dateArray.push(params.splice(0, 7)); + } + // console.log("日历数据",dateArray) + return dateArray; + } + //获取单一日期格式 + gainOneDay(y: number, m: number, d: number){ + let dateStr = y + "-" + m + "-" + d; // 要转换的日期字符串 + let now = new Date(dateStr); //当前日期字符串转换成Date对象 + const lun = DateClass.getLunars(y, m, d); + const l = lun.split('-'); + let currentTime = DateClass.getCurrent() + return { + title: d, + isCurrent: true, + isHolidays: DateClass.getHolidays([y, m, d]), + isWorks: DateClass.getWorks([y, m, d]), + date: `${y}-${clockFactory(m)}-${clockFactory(d)}`, + lunars: lun, + lunarsChinese: + DateClass.toChinaMonth(Number(l[1])) + DateClass.toChinaDay(Number(l[2])), + lunarsChina: DateClass.toChinaDay(Number(l[2])), + isNow: currentTime[2] === d ? true : false, + solarDay: DateClass.getSolarDay(m, d ), + lunarDay: DateClass.getlunarDay(Number(l[0]), Number(l[1]), Number(l[2])), + animal: DateClass.getAnimal(Number(l[0])), + astro: DateClass.toAstro(y, m, d), + term: getTerm(Number(l[0]), m, d), + + } + } + + //获取指定日期所在周的时间 + gainDayOfWeek(year: number, month: number, taday: number){ + let dateStr = year + "-" + month + "-" + taday; // 要转换的日期字符串 + let now = new Date(dateStr); //当前日期字符串转换成Date对象 + let nowTime = now.getTime(); + let nowDayOfWeek = now.getDay()==0?7:now.getDay(); //今天本周的第几天 + let taDay = now.getDate() + let firstTime = now.setDate(taDay - nowDayOfWeek + 1) + let currentTime = DateClass.getCurrent() + const dateArray: dateBase[] = []; + for(let i=1; i<=7;i++){ + let nextWeekFirstDaty = new Date(firstTime + 86400000 * (i - 1)) + let y: any = nextWeekFirstDaty.getFullYear(); + let m: any = nextWeekFirstDaty.getMonth() + 1; + let d: any = nextWeekFirstDaty.getDate(); + const lun = DateClass.getLunars(y, m, d); + const l = lun.split('-'); + dateArray.push({ + title: d, + isCurrent: true, + isHolidays: DateClass.getHolidays([y, m, d]), + isWorks: DateClass.getWorks([y, m, d - i]), + date: `${y}-${clockFactory(m)}-${clockFactory(d)}`, + lunars: lun, + lunarsChinese: + DateClass.toChinaMonth(Number(l[1])) + DateClass.toChinaDay(Number(l[2])), + lunarsChina: DateClass.toChinaDay(Number(l[2])), + isNow: currentTime[2] === d ? true : false, + solarDay: DateClass.getSolarDay(m, d + i), + lunarDay: DateClass.getlunarDay(Number(l[0]), Number(l[1]), Number(l[2])), + animal: DateClass.getAnimal(Number(l[0])), + astro: DateClass.toAstro(y, m, d), + term: getTerm(Number(l[0]), m, d), + + }); + } + + + // console.log("dateStr=========>",dateStr) + // console.log("now=========>",now) + // console.log("nowTime=========>",nowTime) + // console.log("nowDayOfWeek=========>",nowDayOfWeek) + // console.log("taDay=========>",taDay) + // console.log("kjsd=========>",firstTime) + // console.log("dateArray=========>",dateArray) + + return dateArray + } + + + //获得一周的所有日期 + getWeekNumber(year: number, month: number, taday: number) { + let dateStr = year + "-" + month + "-" + taday; // 要转换的日期字符串 + let now = new Date(dateStr); + let nowTime = now.getTime(); + let second = nowTime % 86400000; + let day = (now.getDay() + 6) % 7; + let endTime = nowTime - second + new Date().getTimezoneOffset() * 60000 - day * 86400000; + // var dataAry = new Array + // for(let i = 0; i <7; i++) { + let nextWeekFirstDatysss = new Date(endTime ); + // let y: any = nextWeekFirstDaty.getFullYear(); + // let m: any = nextWeekFirstDaty.getMonth() + 1; + // let d: any = nextWeekFirstDaty.getDate(); + // dataAry.push([y,m,d]) + // } + + console.log("获得一周的所有日期---------------->",dateStr,now.getDay(),day,nextWeekFirstDatysss,endTime) + + + let currentTime = DateClass.getCurrent() + const dateArray: dateBase[] = []; + for(let i = 0; i <7; i++) { + let nextWeekFirstDaty = new Date(endTime + 86400000*(i+1) ); + let y: any = nextWeekFirstDaty.getFullYear(); + let m: any = nextWeekFirstDaty.getMonth() + 1; + let d: any = nextWeekFirstDaty.getDate(); + const lun = DateClass.getLunars(y, m, d); + const l = lun.split('-'); + console.log("获得一周的所有日期",i,d,endTime + 86400000*(i+1)) + dateArray.push({ + title: d, + isCurrent: true, + isHolidays: DateClass.getHolidays([y, m, d + i]), + isWorks: DateClass.getWorks([y, m, d - i]), + date: `${y}-${clockFactory(m)}-${clockFactory(d + i)}`, + lunars: lun, + lunarsChinese: + DateClass.toChinaMonth(Number(l[1])) + DateClass.toChinaDay(Number(l[2])), + lunarsChina: DateClass.toChinaDay(Number(l[2])), + isNow: currentTime[2] === d ? true : false, + solarDay: DateClass.getSolarDay(m, d + i), + lunarDay: DateClass.getlunarDay(Number(l[0]), Number(l[1]), Number(l[2])), + animal: DateClass.getAnimal(Number(l[0])), + astro: DateClass.toAstro(y, m, d + i), + term: getTerm(Number(l[0]), m, d + i), + + }); + } + return dateArray + + } +} + +export default new Calendar(); diff --git a/src/api/api/calendar/DateClass.ts b/src/api/api/calendar/DateClass.ts new file mode 100644 index 0000000..847ad05 --- /dev/null +++ b/src/api/api/calendar/DateClass.ts @@ -0,0 +1,463 @@ +import constValue from '@/api/calendar/const'; +import { clockFactory } from '@/api/calendar/utils'; +import config from '@/api/calendar/config'; +export const dayArr = [ '一', '二', '三', '四', '五', '六','日']; +// export const dayArr = ['日', '一', '二', '三', '四', '五', '六']; + +/** + * 日期信息的操作类 + */ +class DateClass { + getWeek(week: number) { + return `星期${dayArr[week]}`; + } + getCurrent() { + const date = new Date(); + return [date.getFullYear(), date.getMonth() + 1, date.getDate()]; + } + changeTimeStr(time: string) { + return time.split('-').map((el) => Number(el)); + } + getCurrentStr(isZero: boolean = false) { + const date = new Date(); + return isZero + ? date.getFullYear() + + '-' + + clockFactory(date.getMonth() + 1) + + '-' + + clockFactory(date.getDate()) + : date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate(); + } + getHolidays(date: number[]) { + return ( + config.Holidays.indexOf(`${date[0]}${clockFactory(date[1])}${clockFactory(date[2])}`) > + -1 + ); + } + getWorks(date: number[]) { + // console.log("日清杀杀杀",`${date[0]}${clockFactory(date[1])}${clockFactory(date[2])}`) + // console.log("日清杀杀杀--》",config.Works.indexOf(`${date[0]}${clockFactory(date[1])}${clockFactory(date[2])}`)) + // console.log("日清杀杀杀--》",( + // config.Works.indexOf(`${date[0]}${clockFactory(date[1])}${clockFactory(date[2])}`) > + // -1 + // )) + return ( + config.Works.indexOf(`${date[0]}${clockFactory(date[1])}${clockFactory(date[2])}`) > + -1 + ); + } + /** + * 获取公历月份天数 + * @param {number} y 年 + * @param {number} m 月 + * @returns {number} 返回输入月份天数 + */ + solarMonth(y: number, m: number, d?: number) { + if (m == 2) return (y % 4 == 0 && y % 100 != 0) || y % 400 == 0 ? 29 : 28; + return constValue.solarMonth[m - 1]; + } + /** + * 获得当前月份第一天是星期几 + * @param {number} y 年 + * @param {number} m 月 + * @returns {number} 返回星期数字[0-6] + */ + solarWeeks(y: number, m: number) { + return this.solarWeek(y, m, 1); + } + /** + * 获取公历某一天是星期几 + * @param {number} y 年 + * @param {number} m 月 + * @param {number} d 日 + * @returns {number} 返回星期数字[0-6] + */ + solarWeek(y: number, m: number, d: number) { + let date = new Date(y, m - 1, d); + let week = date.getDay()-1; + if(week < 0){ + week = 6 + } + // console.log("获取公历某一天是星期几",y, m ,date,week,week < 0) + return week; + } + /** + * 返回农历月份通俗表示法 + * @param {number} m 农历月 + * @returns {string} 返回农历月份通俗表示法:'正月' + */ + toChinaMonth(m: number) { + let r = String(m).slice(0, 1) == '0'; + return r + ? '\u95f0' + constValue.nStr3[m - 1] + '\u6708' + : constValue.nStr3[m - 1] + '\u6708'; // 加上"月"字 + } + /** + * 返回农历日期通俗表示法 + * @param {number} d 农历日 + * @returns {string} 返回农历日期通俗表示法:‘初一’ + */ + toChinaDay(d: number) { + + let str = d == 10 ? constValue.nStr2[0] : constValue.nStr2[Math.floor(d / 10)]; + + // console.log('返回农历日期通俗表示法',d,str) + return str + (d % 10 ? constValue.nStr1[d % 10] : constValue.nStr1[10]); + } + /** + * 农历年份转生肖 + * @param {number} y 农历年 + * @returns {string} 农历年份转生肖 + */ + getAnimal(y: number) { + return constValue.Animals[(y - 4) % 12]; + } + /** + * 返回公历日期所属星座 + * @param {number} m 月 + * @param {number} d 日 + * @returns {string} 返回星座信息 + */ + toAstro(y: number, m: number, d: number) { + let s = + '\u9b54\u7faf\u6c34\u74f6\u53cc\u9c7c\u767d\u7f8a\u91d1\u725b\u53cc\u5b50\u5de8\u87f9\u72ee\u5b50\u5904\u5973\u5929\u79e4\u5929\u874e\u5c04\u624b\u9b54\u7faf'; + let arr = [20, 19, 21, 21, 21, 22, 23, 23, 23, 23, 22, 22]; + let i = m * 2 - (d < arr[m - 1] ? 2 : 0); + return s.slice(i, i + 2) + '\u5ea7'; + } + /** + * 根据公历日期返回农历日期 + * @param {number} y 年 + * @param {number} m 月 + * @param {number} d 日 + * @returns {string} 返回农历日期,如果是闰月则月份前含0 + */ + getLunars(y: number, m: number, d: number) { + let date = new Date(y, m - 1, d), + i, + leap = 0, + temp = 0; + let offset = (Date.UTC(y, m - 1, d) - Date.UTC(1900, 0, 31)) / 86400000; + for (i = 1900; i < 2101 && offset > 0; i++) { + temp = this.lYearDays(i); + offset -= temp; + } + if (offset < 0) { + offset += temp; + i--; + } + // 获取闰月 + let year = i; + leap = this.leapMonth(i); + let isLeap = false; + // 校验闰月 + for (i = 1; i < 13 && offset > 0; i++) { + if (leap > 0 && i == leap + 1 && !isLeap) { + --i; + isLeap = true; + temp = this.leapDays(year); // 闰月天数 + } else { + temp = this.monthDays(year, i); // 普通月天数 + } + if (isLeap && i == leap + 1) isLeap = false; + offset -= temp; + } + if (offset == 0 && leap > 0 && i == leap + 1) { + if (isLeap) { + isLeap = false; + } else { + isLeap = true; + --i; + } + } + if (offset < 0) { + offset += temp; + --i; + } + // 农历月 + let month = isLeap ? '0' + i : i; + // 农历日 + let day = ++offset; + return year + '-' + month + '-' + day; + } + /** + * 返回农历年闰月,没有闰月则返回0 + * @param {number} y 农历年 + * @returns {number} 农历年闰月月份数字,没有闰月则返回0 + */ + leapMonth(y: number, m?: number, d?: number) { + return constValue.lunarInfo[y - 1900] & 0xf; + } + /** + * 返回农历年闰月的天数,没有闰月则返回0 + * @param {number} y 农历年 + * @returns {number} 闰月的天数,没有闰月则返回0 + */ + leapDays(y: number, m?: number, d?: number) { + return this.leapMonth(y, m, d) ? (constValue.lunarInfo[y - 1900] & 0x10000 ? 30 : 29) : 0; + } + /** + * 查询公历日期节日 + * @param {number} m 月 + * @param {number} d 日 + * @returns {string | boolean} 返回节日信息,不是节日则返回false + */ + getSolarDay(m: number, d: number) { + let solarDay: false | string = false; + for (let i = 0; i < constValue.sFtv.length; i++) { + if ( + parseInt(constValue.sFtv[i].slice(0, 2)) == m && + parseInt(constValue.sFtv[i].slice(2, 4)) == d + ) { + solarDay = constValue.sFtv[i].slice(5); + } + } + return solarDay; + } + /** + * 通过农历日期获取农历节日 + * @param {number} y 农历年 + * @param {number|string} m 农历月,如果是闰月则为字符串‘07’ + * @param {number} d 农历日 + * @returns {string|false} 返回农历节日,没有节日则返回false + */ + getlunarDay(y: number, m: number, d: number) { + if (String(m).slice(0, 1) == '0') return false; //如果是闰月则没有节日 + let lunarDay: false | string = false; + for (let i = 0; i < constValue.lFtv.length; i++) { + if ( + parseInt(constValue.lFtv[i].slice(0, 2)) == m && + parseInt(constValue.lFtv[i].slice(2, 4)) == d + ) { + lunarDay = constValue.lFtv[i].slice(5); + } + } + // 判断是否为除夕 + if (m == 12 && this.monthDays(y, m, d) == d) lunarDay = '除夕'; + return lunarDay; + } + /** + * 返回农历一年的天数 + * @param {number} y 农历年份 + * @returns {number} 一年的天数 + */ + lYearDays(y: number, m?: number, d?: number) { + let i, + sum = 348; + for (i = 0x8000; i > 0x8; i >>= 1) { + sum += constValue.lunarInfo[y - 1900] & i ? 1 : 0; + } + return sum + this.leapDays(y); + } + /** + * 获取农历非闰月的总天数 + * @param {number} y 农历年 + * @param {number} m 农历月 + * @returns {number} 返回农历非闰月的天数 + */ + monthDays(y: number, m: number, d?: number) { + return constValue.lunarInfo[y - 1900] & (0x10000 >> m) ? 30 : 29; + } + /** + * 获取公历年第n个节气日期 + * @param {number} y 年 + * @param {number} n 第几个节气 + * @returns {string} 返回日期,0506 + */ + getTerm(y: number, n: number) { + let _table = constValue.sTermInfo[y - 1900]; + let _info = [ + parseInt('0x' + _table.slice(0, 5)).toString(), + parseInt('0x' + _table.slice(5, 10)).toString(), + parseInt('0x' + _table.slice(10, 15)).toString(), + parseInt('0x' + _table.slice(15, 20)).toString(), + parseInt('0x' + _table.slice(20, 25)).toString(), + parseInt('0x' + _table.slice(25)).toString() + ]; + let d = [ + _info[0].slice(0, 1), + _info[0].slice(1, 3), + _info[0].slice(3, 4), + _info[0].slice(4, 6), + + _info[1].slice(0, 1), + _info[1].slice(1, 3), + _info[1].slice(3, 4), + _info[1].slice(4, 6), + + _info[2].slice(0, 1), + _info[2].slice(1, 3), + _info[2].slice(3, 4), + _info[2].slice(4, 6), + + _info[3].slice(0, 1), + _info[3].slice(1, 3), + _info[3].slice(3, 4), + _info[3].slice(4, 6), + + _info[4].slice(0, 1), + _info[4].slice(1, 3), + _info[4].slice(3, 4), + _info[4].slice(4, 6), + + _info[5].slice(0, 1), + _info[5].slice(1, 3), + _info[5].slice(3, 4), + _info[5].slice(4, 6) + ]; + return d[n - 1]; + } + /** + @ 作者: 秦东 + @ 时间: 2024-07-12 13:11:32 + @ 功能: 判断公立是不是闰年 + */ + + isLeapYear(year: number): boolean { + return (year % 4 === 0 && year % 100 !== 0) || (year % 400 === 0); + } + /** + @ 作者: 秦东 + @ 时间: 2024-07-15 09:00:20 + @ 功能: 前进时间 + @ 1: 月;2:周;3:天 + */ + moveTime(y: number, m: number, d: number,t?:number){ + switch(t){ + case 2: + let startWeek = this.getMonday(y,m,d,'s',1) + let endWeek = this.getMonday(y,m,d,'e',1) + return { + start:startWeek, + end:endWeek + } + break; + case 3: + let dateStr = y + "-" + m + "-" + d; // 要转换的日期字符串 + let now = new Date(dateStr); //当前日期字符串转换成Date对象 + let nowTime = now.getTime(); + let nextWeekFirstDaty = new Date(nowTime + 86400000) + let yy: any = nextWeekFirstDaty.getFullYear(); + let mm: any = nextWeekFirstDaty.getMonth() + 1; + let dd: any = nextWeekFirstDaty.getDate(); + return [yy,mm,dd] + break; + default: + let month = m + 1 + if(month > 12){ + y = y + 1; + m = 1 + d = this.solarMonth(y,m) + }else{ + m = month + let day = this.solarMonth(y,month) + if(d > day){ + d = day + } + + } + return [y,m,d] + } + } + /** + @ 作者: 秦东 + @ 时间: 2024-07-12 11:50:37 + @ 功能: 处理年月日回退数据 + @ 1: 月;2:周;3:天 + */ + gobackTime(y: number, m: number, d: number,t?:number, dt?:number){ + // console.log("计算时间--0--》",y,m,d,t) + switch(t){ + case 2: + let startWeek = this.getMonday(y,m,d,'s',dt?dt:0) + let endWeek = this.getMonday(y,m,d,'e',dt?dt:0) + return { + start:startWeek, + end:endWeek + } + break; + case 3: + let dateStr = y + "-" + m + "-" + d; // 要转换的日期字符串 + let now = new Date(dateStr); //当前日期字符串转换成Date对象 + let nowTime = now.getTime(); + let nextWeekFirstDaty = new Date(nowTime - 86400000) + let yy: any = nextWeekFirstDaty.getFullYear(); + let mm: any = nextWeekFirstDaty.getMonth() + 1; + let dd: any = nextWeekFirstDaty.getDate(); + return [yy,mm,dd] + break; + default: + let month = m - 1 + if(month <= 0){ + y = y -1; + m = 12 + d = this.solarMonth(y,m) + // console.log("计算时间--1--》",y,m,d) + }else{ + m = month + let day = this.solarMonth(y,month) + if(d > day){ + d = day + } + + } + return [y,m,d] + break; + + } + + } + /** + @ 作者: 秦东 + @ 时间: 2024-07-12 13:48:55 + @ 功能: 任意日期获取周 + */ + getMonday = (year: number, month: number, taday: number,type: any, dates: any) => { + // let now = new Date(); + // let nowTime = now.getTime(); + + let dateStr = year + "-" + month + "-" + taday; // 要转换的日期字符串 + // let nowTime = Date.parse(dateStr); + + let now = new Date(dateStr); + let nowTime = now.getTime(); + + let day = now.getDay(); + let longTime = 24 * 60 * 60 * 1000; + let n = longTime * 7 * (dates || 0); + let date: any = '' + + + + + + + + if (type == "s") { + date = nowTime - (day - 1) * longTime + n; + }; + if (type == "e") { + date = nowTime + (7 - day) * longTime + n; + }; + date = new Date(date); + let y: any = date.getFullYear(); + let m: any = date.getMonth() + 1; + let d: any = date.getDate(); + // m = m < 10 ? "0" + m : m; + // d = d < 10 ? "0" + d : d; + + + // console.log("now--->",date) + // console.log("nowTime--->",nowTime) + // console.log("day--->",day) + // console.log("longTime--->",longTime) + // console.log("n--->",n) + + let days = y + "-" + m + "-" + d; + return [y, m, d]; + } + + +} + +export default new DateClass(); diff --git a/src/api/api/calendar/config.ts b/src/api/api/calendar/config.ts new file mode 100644 index 0000000..eacc07e --- /dev/null +++ b/src/api/api/calendar/config.ts @@ -0,0 +1,209 @@ +export default { + /** + * 假期日期 + */ + Holidays: [ + '20181230', + '20181231', + '20190101', + '20190204', + '20190205', + '20190206', + '20190207', + '20190208', + '20190209', + '20190210', + '20190405', + '20190406', + '20190407', + '20190501', + '20190502', + '20190503', + '20190504', + '20190607', + '20190608', + '20190609', + '20190913', + '20190914', + '20190915', + '20191001', + '20191002', + '20191003', + '20191004', + '20191005', + '20191006', + '20191007', + '20200101', + '20200124', + '20200125', + '20200126', + '20200127', + '20200128', + '20200129', + '20200130', + '20200404', + '20200405', + '20200406', + '20200501', + '20200502', + '20200503', + '20200504', + '20200505', + '20200625', + '20200626', + '20200627', + '20201001', + '20201002', + '20201003', + '20201004', + '20201005', + '20201006', + '20201007', + '20201008', + '20210101', + '20210102', + '20210103', + '20210211', + '20210212', + '20210213', + '20210214', + '20210215', + '20210216', + '20210217', + '20210403', + '20210404', + '20210405', + '20210501', + '20210502', + '20210503', + '20210504', + '20210505', + '20210612', + '20210613', + '20210614', + '20210919', + '20210920', + '20210921', + '20211001', + '20211002', + '20211003', + '20211004', + '20211005', + '20211006', + '20211007', + '20220101', + '20220102', + '20220103', + '20220131', + '20220201', + '20220202', + '20220203', + '20220204', + '20220205', + '20220206', + '20220403', + '20220404', + '20220405', + '20220430', + '20220501', + '20220502', + '20220503', + '20220504', + '20220603', + '20220604', + '20220605', + '20220910', + '20220911', + '20220912', + '20221001', + '20221002', + '20221003', + '20221004', + '20221005', + '20221006', + '20221007', + '20221231', + '20230101', + '20230102', + '20230121', + '20230122', + '20230123', + '20230124', + '20230125', + '20230126', + '20230127', + '20231230', + '20240101', + '20240210', + '20240210', + '20240211', + '20240212', + '20240213', + '20240214', + '20240215', + '20240216', + '20240217', + '20240404', + '20240405', + '20240406', + '20240501', + '20240502', + '20240503', + '20240504', + '20240505', + '20240608', + '20240609', + '20240610', + '20240915', + '20240916', + '20240917', + '20241001', + '20241002', + '20241003', + '20241004', + '20241005', + '20241006', + '20241007', + ], + /** + * 补休日期 + */ + Works: [ + '20181229', + '20190202', + '20190203', + '20190428', + '20190505', + '20190929', + '20191012', + '20200119', + '20200201', + '20200426', + '20200509', + '20200628', + '20200927', + '20201010', + '20210207', + '20210220', + '20210425', + '20210508', + '20210918', + '20210926', + '20211009', + '20220129', + '20220130', + '20220402', + '20220424', + '20220507', + '20221008', + '20221009', + '20240204', + '20240218', + '20240407', + '20240428', + '20240511', + '20240914', + '20240929', + '20241012', + ], +}; diff --git a/src/api/api/calendar/const.ts b/src/api/api/calendar/const.ts new file mode 100644 index 0000000..3618f19 --- /dev/null +++ b/src/api/api/calendar/const.ts @@ -0,0 +1,609 @@ +export default { + /** + * 1900-2100各年的24节气日期速查表 + */ + sTermInfo: [ + '9778397bd097c36b0b6fc9274c91aa', + '97b6b97bd19801ec9210c965cc920e', + '97bcf97c3598082c95f8c965cc920f', + '97bd0b06bdb0722c965ce1cfcc920f', + 'b027097bd097c36b0b6fc9274c91aa', + '97b6b97bd19801ec9210c965cc920e', + '97bcf97c359801ec95f8c965cc920f', + '97bd0b06bdb0722c965ce1cfcc920f', + 'b027097bd097c36b0b6fc9274c91aa', + '97b6b97bd19801ec9210c965cc920e', + '97bcf97c359801ec95f8c965cc920f', + '97bd0b06bdb0722c965ce1cfcc920f', + 'b027097bd097c36b0b6fc9274c91aa', + '9778397bd19801ec9210c965cc920e', + '97b6b97bd19801ec95f8c965cc920f', + '97bd09801d98082c95f8e1cfcc920f', + '97bd097bd097c36b0b6fc9210c8dc2', + '9778397bd197c36c9210c9274c91aa', + '97b6b97bd19801ec95f8c965cc920e', + '97bd09801d98082c95f8e1cfcc920f', + '97bd097bd097c36b0b6fc9210c8dc2', + '9778397bd097c36c9210c9274c91aa', + '97b6b97bd19801ec95f8c965cc920e', + '97bcf97c3598082c95f8e1cfcc920f', + '97bd097bd097c36b0b6fc9210c8dc2', + '9778397bd097c36c9210c9274c91aa', + '97b6b97bd19801ec9210c965cc920e', + '97bcf97c3598082c95f8c965cc920f', + '97bd097bd097c35b0b6fc920fb0722', + '9778397bd097c36b0b6fc9274c91aa', + '97b6b97bd19801ec9210c965cc920e', + '97bcf97c3598082c95f8c965cc920f', + '97bd097bd097c35b0b6fc920fb0722', + '9778397bd097c36b0b6fc9274c91aa', + '97b6b97bd19801ec9210c965cc920e', + '97bcf97c359801ec95f8c965cc920f', + '97bd097bd097c35b0b6fc920fb0722', + '9778397bd097c36b0b6fc9274c91aa', + '97b6b97bd19801ec9210c965cc920e', + '97bcf97c359801ec95f8c965cc920f', + '97bd097bd097c35b0b6fc920fb0722', + '9778397bd097c36b0b6fc9274c91aa', + '97b6b97bd19801ec9210c965cc920e', + '97bcf97c359801ec95f8c965cc920f', + '97bd097bd07f595b0b6fc920fb0722', + '9778397bd097c36b0b6fc9210c8dc2', + '9778397bd19801ec9210c9274c920e', + '97b6b97bd19801ec95f8c965cc920f', + '97bd07f5307f595b0b0bc920fb0722', + '7f0e397bd097c36b0b6fc9210c8dc2', + '9778397bd097c36c9210c9274c920e', + '97b6b97bd19801ec95f8c965cc920f', + '97bd07f5307f595b0b0bc920fb0722', + '7f0e397bd097c36b0b6fc9210c8dc2', + '9778397bd097c36c9210c9274c91aa', + '97b6b97bd19801ec9210c965cc920e', + '97bd07f1487f595b0b0bc920fb0722', + '7f0e397bd097c36b0b6fc9210c8dc2', + '9778397bd097c36b0b6fc9274c91aa', + '97b6b97bd19801ec9210c965cc920e', + '97bcf7f1487f595b0b0bb0b6fb0722', + '7f0e397bd097c35b0b6fc920fb0722', + '9778397bd097c36b0b6fc9274c91aa', + '97b6b97bd19801ec9210c965cc920e', + '97bcf7f1487f595b0b0bb0b6fb0722', + '7f0e397bd097c35b0b6fc920fb0722', + '9778397bd097c36b0b6fc9274c91aa', + '97b6b97bd19801ec9210c965cc920e', + '97bcf7f1487f531b0b0bb0b6fb0722', + '7f0e397bd097c35b0b6fc920fb0722', + '9778397bd097c36b0b6fc9274c91aa', + '97b6b97bd19801ec9210c965cc920e', + '97bcf7f1487f531b0b0bb0b6fb0722', + '7f0e397bd07f595b0b6fc920fb0722', + '9778397bd097c36b0b6fc9274c91aa', + '97b6b97bd19801ec9210c9274c920e', + '97bcf7f0e47f531b0b0bb0b6fb0722', + '7f0e397bd07f595b0b0bc920fb0722', + '9778397bd097c36b0b6fc9210c91aa', + '97b6b97bd197c36c9210c9274c920e', + '97bcf7f0e47f531b0b0bb0b6fb0722', + '7f0e397bd07f595b0b0bc920fb0722', + '9778397bd097c36b0b6fc9210c8dc2', + '9778397bd097c36c9210c9274c920e', + '97b6b7f0e47f531b0723b0b6fb0722', + '7f0e37f5307f595b0b0bc920fb0722', + '7f0e397bd097c36b0b6fc9210c8dc2', + '9778397bd097c36b0b70c9274c91aa', + '97b6b7f0e47f531b0723b0b6fb0721', + '7f0e37f1487f595b0b0bb0b6fb0722', + '7f0e397bd097c35b0b6fc9210c8dc2', + '9778397bd097c36b0b6fc9274c91aa', + '97b6b7f0e47f531b0723b0b6fb0721', + '7f0e27f1487f595b0b0bb0b6fb0722', + '7f0e397bd097c35b0b6fc920fb0722', + '9778397bd097c36b0b6fc9274c91aa', + '97b6b7f0e47f531b0723b0b6fb0721', + '7f0e27f1487f531b0b0bb0b6fb0722', + '7f0e397bd097c35b0b6fc920fb0722', + '9778397bd097c36b0b6fc9274c91aa', + '97b6b7f0e47f531b0723b0b6fb0721', + '7f0e27f1487f531b0b0bb0b6fb0722', + '7f0e397bd097c35b0b6fc920fb0722', + '9778397bd097c36b0b6fc9274c91aa', + '97b6b7f0e47f531b0723b0b6fb0721', + '7f0e27f1487f531b0b0bb0b6fb0722', + '7f0e397bd07f595b0b0bc920fb0722', + '9778397bd097c36b0b6fc9274c91aa', + '97b6b7f0e47f531b0723b0787b0721', + '7f0e27f0e47f531b0b0bb0b6fb0722', + '7f0e397bd07f595b0b0bc920fb0722', + '9778397bd097c36b0b6fc9210c91aa', + '97b6b7f0e47f149b0723b0787b0721', + '7f0e27f0e47f531b0723b0b6fb0722', + '7f0e397bd07f595b0b0bc920fb0722', + '9778397bd097c36b0b6fc9210c8dc2', + '977837f0e37f149b0723b0787b0721', + '7f07e7f0e47f531b0723b0b6fb0722', + '7f0e37f5307f595b0b0bc920fb0722', + '7f0e397bd097c35b0b6fc9210c8dc2', + '977837f0e37f14998082b0787b0721', + '7f07e7f0e47f531b0723b0b6fb0721', + '7f0e37f1487f595b0b0bb0b6fb0722', + '7f0e397bd097c35b0b6fc9210c8dc2', + '977837f0e37f14998082b0787b06bd', + '7f07e7f0e47f531b0723b0b6fb0721', + '7f0e27f1487f531b0b0bb0b6fb0722', + '7f0e397bd097c35b0b6fc920fb0722', + '977837f0e37f14998082b0787b06bd', + '7f07e7f0e47f531b0723b0b6fb0721', + '7f0e27f1487f531b0b0bb0b6fb0722', + '7f0e397bd097c35b0b6fc920fb0722', + '977837f0e37f14998082b0787b06bd', + '7f07e7f0e47f531b0723b0b6fb0721', + '7f0e27f1487f531b0b0bb0b6fb0722', + '7f0e397bd07f595b0b0bc920fb0722', + '977837f0e37f14998082b0787b06bd', + '7f07e7f0e47f531b0723b0b6fb0721', + '7f0e27f1487f531b0b0bb0b6fb0722', + '7f0e397bd07f595b0b0bc920fb0722', + '977837f0e37f14998082b0787b06bd', + '7f07e7f0e47f149b0723b0787b0721', + '7f0e27f0e47f531b0b0bb0b6fb0722', + '7f0e397bd07f595b0b0bc920fb0722', + '977837f0e37f14998082b0723b06bd', + '7f07e7f0e37f149b0723b0787b0721', + '7f0e27f0e47f531b0723b0b6fb0722', + '7f0e397bd07f595b0b0bc920fb0722', + '977837f0e37f14898082b0723b02d5', + '7ec967f0e37f14998082b0787b0721', + '7f07e7f0e47f531b0723b0b6fb0722', + '7f0e37f1487f595b0b0bb0b6fb0722', + '7f0e37f0e37f14898082b0723b02d5', + '7ec967f0e37f14998082b0787b0721', + '7f07e7f0e47f531b0723b0b6fb0722', + '7f0e37f1487f531b0b0bb0b6fb0722', + '7f0e37f0e37f14898082b0723b02d5', + '7ec967f0e37f14998082b0787b06bd', + '7f07e7f0e47f531b0723b0b6fb0721', + '7f0e37f1487f531b0b0bb0b6fb0722', + '7f0e37f0e37f14898082b072297c35', + '7ec967f0e37f14998082b0787b06bd', + '7f07e7f0e47f531b0723b0b6fb0721', + '7f0e27f1487f531b0b0bb0b6fb0722', + '7f0e37f0e37f14898082b072297c35', + '7ec967f0e37f14998082b0787b06bd', + '7f07e7f0e47f531b0723b0b6fb0721', + '7f0e27f1487f531b0b0bb0b6fb0722', + '7f0e37f0e366aa89801eb072297c35', + '7ec967f0e37f14998082b0787b06bd', + '7f07e7f0e47f149b0723b0787b0721', + '7f0e27f1487f531b0b0bb0b6fb0722', + '7f0e37f0e366aa89801eb072297c35', + '7ec967f0e37f14998082b0723b06bd', + '7f07e7f0e47f149b0723b0787b0721', + '7f0e27f0e47f531b0723b0b6fb0722', + '7f0e37f0e366aa89801eb072297c35', + '7ec967f0e37f14998082b0723b06bd', + '7f07e7f0e37f14998083b0787b0721', + '7f0e27f0e47f531b0723b0b6fb0722', + '7f0e37f0e366aa89801eb072297c35', + '7ec967f0e37f14898082b0723b02d5', + '7f07e7f0e37f14998082b0787b0721', + '7f07e7f0e47f531b0723b0b6fb0722', + '7f0e36665b66aa89801e9808297c35', + '665f67f0e37f14898082b0723b02d5', + '7ec967f0e37f14998082b0787b0721', + '7f07e7f0e47f531b0723b0b6fb0722', + '7f0e36665b66a449801e9808297c35', + '665f67f0e37f14898082b0723b02d5', + '7ec967f0e37f14998082b0787b06bd', + '7f07e7f0e47f531b0723b0b6fb0721', + '7f0e36665b66a449801e9808297c35', + '665f67f0e37f14898082b072297c35', + '7ec967f0e37f14998082b0787b06bd', + '7f07e7f0e47f531b0723b0b6fb0721', + '7f0e26665b66a449801e9808297c35', + '665f67f0e37f1489801eb072297c35', + '7ec967f0e37f14998082b0787b06bd', + '7f07e7f0e47f531b0723b0b6fb0721', + '7f0e27f1487f531b0b0bb0b6fb0722' + ], + /** + * 24节气速查表 + * @trans["小寒","大寒","立春","雨水","惊蛰","春分","清明","谷雨","立夏","小满","芒种","夏至","小暑","大暑","立秋","处暑","白露","秋分","寒露","霜降","立冬","小雪","大雪","冬至"] + */ + solarTerm: [ + '\u5c0f\u5bd2', + '\u5927\u5bd2', + '\u7acb\u6625', + '\u96e8\u6c34', + '\u60ca\u86f0', + '\u6625\u5206', + '\u6e05\u660e', + '\u8c37\u96e8', + '\u7acb\u590f', + '\u5c0f\u6ee1', + '\u8292\u79cd', + '\u590f\u81f3', + '\u5c0f\u6691', + '\u5927\u6691', + '\u7acb\u79cb', + '\u5904\u6691', + '\u767d\u9732', + '\u79cb\u5206', + '\u5bd2\u9732', + '\u971c\u964d', + '\u7acb\u51ac', + '\u5c0f\u96ea', + '\u5927\u96ea', + '\u51ac\u81f3' + ], + /** + * 天干地支之地支速查表<=>生肖 + * @trans["鼠","牛","虎","兔","龙","蛇","马","羊","猴","鸡","狗","猪"] + */ + Animals: [ + '\u9f20', + '\u725b', + '\u864e', + '\u5154', + '\u9f99', + '\u86c7', + '\u9a6c', + '\u7f8a', + '\u7334', + '\u9e21', + '\u72d7', + '\u732a' + ], + /** + * 天干地支之天干速查表 + * @Array Of Property trans["甲","乙","丙","丁","戊","己","庚","辛","壬","癸"] + */ + Gan: [ + '\u7532', + '\u4e59', + '\u4e19', + '\u4e01', + '\u620a', + '\u5df1', + '\u5e9a', + '\u8f9b', + '\u58ec', + '\u7678' + ], + /** + * 天干地支之地支速查表 + * @trans["子","丑","寅","卯","辰","巳","午","未","申","酉","戌","亥"] + */ + Zhi: [ + '\u5b50', + '\u4e11', + '\u5bc5', + '\u536f', + '\u8fb0', + '\u5df3', + '\u5348', + '\u672a', + '\u7533', + '\u9149', + '\u620c', + '\u4ea5' + ], + /** + * 数字转中文速查表 + * @trans ['日','一','二','三','四','五','六','七','八','九','十'] + */ + nStr1: [ + '\u65e5', + '\u4e00', + '\u4e8c', + '\u4e09', + '\u56db', + '\u4e94', + '\u516d', + '\u4e03', + '\u516b', + '\u4e5d', + '\u5341' + ], + nStr5: [ + '\u4e00', + '\u4e8c', + '\u4e09', + '\u56db', + '\u4e94', + '\u516d', + '\u65e5', + '\u4e03', + '\u516b', + '\u4e5d', + '\u5341' + ], + /** + * 日期转农历称呼速查表 + * @trans ['初','十','廿','卅'] + */ + nStr2: ['\u521d', '\u5341', '\u5eff', '\u5345'], + /** + * 月份转农历称呼速查表 + * @trans ['正','一','二','三','四','五','六','七','八','九','十','冬','腊'] + */ + nStr3: [ + '\u6b63', + '\u4e8c', + '\u4e09', + '\u56db', + '\u4e94', + '\u516d', + '\u4e03', + '\u516b', + '\u4e5d', + '\u5341', + '\u51ac', + '\u814a' + ], + /** + * 公历节日 + **/ + sFtv: [ + '0101 元旦', + '0214 情人节', + '0308 妇女节', + '0312 植树节', + '0315 消费者权益日', + '0401 愚人节', + '0501 劳动节', + '0504 青年节', + '0512 护士节', + '0601 儿童节', + '0701 建党节', + '0801 建军节', + '0910 教师节', + '0928 孔子诞辰', + '1001 国庆节', + '1006 老人节', + '1024 联合国日', + '1224 平安夜', + '1225 圣诞节', + '1101 万圣节', + '1213 国家公祭日' + ], + /** + * 农历节日 + **/ + lFtv: [ + '0101 春节', + '0115 元宵节', + '0505 端午节', + '0707 七夕情人节', + '0715 中元节', + '0815 中秋节', + '0909 重阳节', + '1208 腊八节', + '1224 小年' + ], + /** + * 公历月份中文表 + **/ + monthStr: ['一', '二', '三', '四', '五', '六', '七', '八', '九', '十', '十一', '十二'], + /** + * 农历1900-2100的润大小信息表 + * @Array Of Property + * @return Hex + */ + lunarInfo: [ + 0x04bd8, + 0x04ae0, + 0x0a570, + 0x054d5, + 0x0d260, + 0x0d950, + 0x16554, + 0x056a0, + 0x09ad0, + 0x055d2, //1900-1909 + 0x04ae0, + 0x0a5b6, + 0x0a4d0, + 0x0d250, + 0x1d255, + 0x0b540, + 0x0d6a0, + 0x0ada2, + 0x095b0, + 0x14977, //1910-1919 + 0x04970, + 0x0a4b0, + 0x0b4b5, + 0x06a50, + 0x06d40, + 0x1ab54, + 0x02b60, + 0x09570, + 0x052f2, + 0x04970, //1920-1929 + 0x06566, + 0x0d4a0, + 0x0ea50, + 0x06e95, + 0x05ad0, + 0x02b60, + 0x186e3, + 0x092e0, + 0x1c8d7, + 0x0c950, //1930-1939 + 0x0d4a0, + 0x1d8a6, + 0x0b550, + 0x056a0, + 0x1a5b4, + 0x025d0, + 0x092d0, + 0x0d2b2, + 0x0a950, + 0x0b557, //1940-1949 + 0x06ca0, + 0x0b550, + 0x15355, + 0x04da0, + 0x0a5b0, + 0x14573, + 0x052b0, + 0x0a9a8, + 0x0e950, + 0x06aa0, //1950-1959 + 0x0aea6, + 0x0ab50, + 0x04b60, + 0x0aae4, + 0x0a570, + 0x05260, + 0x0f263, + 0x0d950, + 0x05b57, + 0x056a0, //1960-1969 + 0x096d0, + 0x04dd5, + 0x04ad0, + 0x0a4d0, + 0x0d4d4, + 0x0d250, + 0x0d558, + 0x0b540, + 0x0b6a0, + 0x195a6, //1970-1979 + 0x095b0, + 0x049b0, + 0x0a974, + 0x0a4b0, + 0x0b27a, + 0x06a50, + 0x06d40, + 0x0af46, + 0x0ab60, + 0x09570, //1980-1989 + 0x04af5, + 0x04970, + 0x064b0, + 0x074a3, + 0x0ea50, + 0x06b58, + 0x055c0, + 0x0ab60, + 0x096d5, + 0x092e0, //1990-1999 + 0x0c960, + 0x0d954, + 0x0d4a0, + 0x0da50, + 0x07552, + 0x056a0, + 0x0abb7, + 0x025d0, + 0x092d0, + 0x0cab5, //2000-2009 + 0x0a950, + 0x0b4a0, + 0x0baa4, + 0x0ad50, + 0x055d9, + 0x04ba0, + 0x0a5b0, + 0x15176, + 0x052b0, + 0x0a930, //2010-2019 + 0x07954, + 0x06aa0, + 0x0ad50, + 0x05b52, + 0x04b60, + 0x0a6e6, + 0x0a4e0, + 0x0d260, + 0x0ea65, + 0x0d530, //2020-2029 + 0x05aa0, + 0x076a3, + 0x096d0, + 0x04afb, + 0x04ad0, + 0x0a4d0, + 0x1d0b6, + 0x0d250, + 0x0d520, + 0x0dd45, //2030-2039 + 0x0b5a0, + 0x056d0, + 0x055b2, + 0x049b0, + 0x0a577, + 0x0a4b0, + 0x0aa50, + 0x1b255, + 0x06d20, + 0x0ada0, //2040-2049 + /**Add By JJonline@JJonline.Cn**/ + 0x14b63, + 0x09370, + 0x049f8, + 0x04970, + 0x064b0, + 0x168a6, + 0x0ea50, + 0x06b20, + 0x1a6c4, + 0x0aae0, //2050-2059 + 0x0a2e0, + 0x0d2e3, + 0x0c960, + 0x0d557, + 0x0d4a0, + 0x0da50, + 0x05d55, + 0x056a0, + 0x0a6d0, + 0x055d4, //2060-2069 + 0x052d0, + 0x0a9b8, + 0x0a950, + 0x0b4a0, + 0x0b6a6, + 0x0ad50, + 0x055a0, + 0x0aba4, + 0x0a5b0, + 0x052b0, //2070-2079 + 0x0b273, + 0x06930, + 0x07337, + 0x06aa0, + 0x0ad50, + 0x14b55, + 0x04b60, + 0x0a570, + 0x054e4, + 0x0d160, //2080-2089 + 0x0e968, + 0x0d520, + 0x0daa0, + 0x16aa6, + 0x056d0, + 0x04ae0, + 0x0a9d4, + 0x0a2d0, + 0x0d150, + 0x0f252, //2090-2099 + 0x0d520 + ], //2100 + /** + * 按星期过的节日信息 + */ + weekDays: { + '060300': '父亲节', + '050200': '母亲节' + }, + /** + * 公历每个月份的天数普通表 + * @Array Of Property + * @return Number + */ + solarMonth: [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] +}; diff --git a/src/api/api/calendar/request.ts b/src/api/api/calendar/request.ts new file mode 100644 index 0000000..74d2eca --- /dev/null +++ b/src/api/api/calendar/request.ts @@ -0,0 +1,13 @@ +import request from '@/utils/request'; + + +/** + * 获取离职率http://localhost:9999/dev-api/api/upordown + */ + export function gainCalendarList(data?: any) { + return request({ + url: "/systemapi/customer_form/gainCalendarList", + method: 'post', + data: data + }); +} diff --git a/src/api/api/calendar/utils.ts b/src/api/api/calendar/utils.ts new file mode 100644 index 0000000..2ac2825 --- /dev/null +++ b/src/api/api/calendar/utils.ts @@ -0,0 +1,7 @@ +/** + * 获得时间 + * @returns {String} 当前时间 + */ +export function clockFactory(time: number): string { + return `${time >= 10 ? time : '0' + time}`; +} diff --git a/src/api/api/date/apidate.ts b/src/api/api/date/apidate.ts new file mode 100644 index 0000000..7acd115 --- /dev/null +++ b/src/api/api/date/apidate.ts @@ -0,0 +1,16 @@ +import request from '@/utils/request'; + +export function getOrPostDate(methodStr:string,data?: any) { + return request({ + url: "/systemapi/dataCenter/gaindataCenter", + method: "POST", + data: data + }); +} +export function postSaveData(data?: any) { + return request({ + url: "/systemapi/dataCenter/postSaveData", + method: "POST", + data: data + }); +} diff --git a/src/api/api/date/type.ts b/src/api/api/date/type.ts new file mode 100644 index 0000000..3fa1ded --- /dev/null +++ b/src/api/api/date/type.ts @@ -0,0 +1,289 @@ +//数据库类型 +export const dateTypes = [ + { + value: '1', + label: '关系型数据库', + }, + { + value: '2', + label: '时序数据库', + }, + { + value: '3', + label: '非关系型数据库', + } +] +//数据库产品 +export const dataSourceTypes = [ + { + value: '1', + label: 'mysql', + }, + { + value: '2', + label: 'RTD', + }, + { + value: '3', + label: 'TIDB', + }, + { + value: '4', + label: 'sql server', + }, + { + value: '5', + label: 'redis', + } +] +//接口方式 +export const interfaceTypes = [ + { + value: '1', + label: 'SQL', + }, + { + value: '2', + label: 'API', + } +] + +//数据源表单结构 +export interface dataBaseStruct { + databaseName?: string; + port?: number; + ipAddress?: string; + datasourceType?: number; + datasourceTypeName?: string; + dataType?: number; + dataTypeName?: string; + interfaceType?: number; + interfaceTypeName?: string; + author?: string; + account?: string; + password?: string; + id?: string; + redashDatasourceId?: number; +} + +/** +@ 作者: 秦东 +@ 时间: 2024-04-22 11:43:21 +@ 功能: 自建应用菜单树结构 +*/ +export interface appMenuTreeInfo { + id:string; //节点唯一识别符 + label:string; //节点名称 + type:number; //节点类型 1:目录;2:菜单;3:必定存在 + svg?:string; //图标 + pcIsShow:number; //pc端显示与隐藏 + wapIsShow:number; //移动端显示与隐藏 + parent:string; // 父级 + appkey:string; //app唯一识别符 + isLock:number; + sort:number; //排序 + children?:appMenuTreeInfo[]; //子级 +} + +/** +@ 作者: 秦东 +@ 时间: 2024-04-23 16:03:48 +@ 功能: appCont +*/ +export interface appSetInfo { + appKey:string; + appName:string; + appSvg:string; + state:number; + uuid:string; +} +/** +@ 作者: 秦东 +@ 时间: 2024-04-22 08:31:22 +@ 功能: 实验拖拽树 +*/ +export let threeShiyanData = [ + { + id:"1", + svg:"chaoSongWoDe", + label:"Hr管理", + type:1, + children:[ + { + id:"2", + svg:"chaoSongWoDe", + label:"Hr看板", + type:2, + children:[] + }, + { + id:"3", + svg:"chaoSongWoDe", + label:"员工档案", + type:2, + children:[] + }, + { + id:"4", + svg:"chaoSongWoDe", + label:"绩效考核", + type:1, + children:[ + { + id:"5", + svg:"chaoSongWoDe", + label:"统计分析", + type:1, + children:[ + { + id:"6", + svg:"chaoSongWoDe", + label:"综合成绩", + type:2, + children:[] + }, + { + id:"7", + svg:"chaoSongWoDe", + label:"指标分析", + type:2, + children:[] + } + ] + }, + { + id:"8", + svg:"chaoSongWoDe", + label:"考核方案", + type:1, + children:[ + { + id:"9", + svg:"chaoSongWoDe", + label:"方案生成", + type:2, + children:[] + } + ] + } + ] + }, + { + id:"10", + svg:"chaoSongWoDe", + label:"考勤管理", + type:2, + children:[] + }, + ] + }, + { + id:"11", + svg:"chaoSongWoDe", + label:"应用管理", + type:1, + children:[ + { + id:"", + svg:"chaoSongWoDe", + label:"应用中心", + type:2, + children:[] + }, + ] + } +]; + +//初始化App表单数据查看 +export interface appPageDataInit { + appFlow:boolean; + appForm?:appFormInfo; + page:boolean; + pageList:boolean; + workFlow?:appWorkFlow; +} +//App表单结构 +export interface appFormInfo{ + authorizationRoles: string; + authorizedOrg: string; + authorizedPersonnel: string; + authorizedPosition: string; + cfid: number; + classify: number; + creater: number; + dict: string; + editTime: number; + flowIsOpen: number; + flowkey: number; + groupid: number; + icon: string; + id: number; + listPage: string; + listjson: string; + mastesform: string; + mastesformjson: string; + name: string; + permit: string; + permitstr: string; + postpermit: string; + powerstr: string; + signCode: number; + status: number; + table_structure: string; + tablekey: string; + time: number; + userpermit: string; + version: number; + visibility: number; +} +//app工作流结构 +export interface appWorkFlow{ + directorMaxLevel: number; + flowPermission: appFlowPermission[]; + nodeConfig: appNodeConfig; + tableId: string; +} +//节点操作人结构 +export interface appFlowPermission{ + icon: string; + iconToBase64: string; + name: string; + targetId: string; + type: number; +} +//app流程节点结构 +export interface appNodeConfig{ + attribute: number; + ccSelfSelectFlag: number; + childNode: appNodeConfig; + conditionList: string; + conditionNodes: string; + customNode: string; + directorLevel: number; + error: false + examineEndDirectorLevel: number; + examineMode: number; + executionaddress: string; + fromNode: string; + gotoNode: string[]; + matrix: appMatrix; + noHanderAction: number; + nodeName: string; + nodeNumber: string; + nodeUserList: string; + priorityLevel: number; + selectMode: number; + selectRange: number; + sendBackNode: string; + settype: number; + type: number; +} +//app工作流附件 +export interface appMatrix{ + factorName: string; + factorid: number; + matrixName: string; + matrixid: number; + outcomeName: string; + outcomeid: number; +} diff --git a/src/api/api/dept/index.ts b/src/api/api/dept/index.ts new file mode 100644 index 0000000..2ba1e20 --- /dev/null +++ b/src/api/api/dept/index.ts @@ -0,0 +1,77 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { DeptForm, DeptQuery, DeptVO } from './types'; + +/** + * 部门树形表格 + * + * @param queryParams + */ +export function listDepts(queryParams?: DeptQuery): AxiosPromise { + return request({ + url: '/api/v1/dept', + method: 'get', + params: queryParams + }); +} + +/** + * 部门下拉列表 + */ +export function listDeptOptions(): AxiosPromise<[]> { + return request({ + url: '/api/v1/dept/options', + method: 'get' + }); +} + +/** + * 获取部门详情 + * + * @param id + */ +export function getDeptForm(id: number): AxiosPromise { + return request({ + url: '/api/v1/dept/' + id + '/form', + method: 'get' + }); +} + +/** + * 新增部门 + * + * @param data + */ +export function addDept(data: DeptForm) { + return request({ + url: '/api/v1/dept', + method: 'post', + data: data + }); +} + +/** + * 修改部门 + * + * @param id + * @param data + */ +export function updateDept(id: number, data: DeptForm) { + return request({ + url: '/api/v1/dept/' + id, + method: 'put', + data: data + }); +} + +/** + * 删除部门 + * + * @param ids + */ +export function deleteDept(ids: string) { + return request({ + url: '/api/v1/dept/' + ids, + method: 'delete' + }); +} diff --git a/src/api/api/dept/types.ts b/src/api/api/dept/types.ts new file mode 100644 index 0000000..408c39c --- /dev/null +++ b/src/api/api/dept/types.ts @@ -0,0 +1,71 @@ +/** + * 部门查询参数 + */ +export interface DeptQuery { + keywords?: string; + status?: number; +} + +/** + * 部门类型 + */ +export interface DeptVO { + /** + * 子部门 + */ + children?: DeptVO[]; + /** + * 创建时间 + */ + createTime?: Date; + /** + * 部门ID + */ + id?: number; + /** + * 部门名称 + */ + name?: string; + /** + * 父部门ID + */ + parentId?: number; + /** + * 排序 + */ + sort?: number; + /** + * 状态(1:启用;0:禁用) + */ + status?: number; + /** + * 修改时间 + */ + updateTime?: Date; +} + +/** + * 部门表单类型 + */ +export interface DeptForm { + /** + * 部门ID(新增不填) + */ + id?: number; + /** + * 部门名称 + */ + name?: string; + /** + * 父部门ID + */ + parentId: number; + /** + * 排序 + */ + sort?: number; + /** + * 状态(1:启用;0:禁用) + */ + status?: number; +} diff --git a/src/api/api/dict/index.ts b/src/api/api/dict/index.ts new file mode 100644 index 0000000..5c9c61a --- /dev/null +++ b/src/api/api/dict/index.ts @@ -0,0 +1,217 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { + DictTypeQuery, + DictTypePageResult, + DictTypeForm, + DictQuery, + DictForm, + DictPageResult, + dictId +} from './types'; + +/** + * 字典类型分页列表 + * + * @param queryParams + */ +export function getDictTypePageOld( + queryParams: DictTypeQuery +): AxiosPromise { + return request({ + url: '/api/v1/dict/types/page', + method: 'get', + params: queryParams + }); +} +export function getDictTypePage( + queryParams: DictTypeQuery +): AxiosPromise { + return request({ + url: '/systemapi/dict/dict_type_list', + method: 'post', + data: queryParams + }); +} +/** + * 字典类型表单数据 + * + * @param id + */ +export function getDictTypeFormOld(id: number): AxiosPromise { + return request({ + url: '/api/v1/dict/types/' + id + '/form', + method: 'get' + }); +} +export function getDictTypeForm(id: number): AxiosPromise { + return request({ + url: '/systemapi/dict/get_dict_type_cont?id=' + id, + method: 'get' + }); +} +/** + * 新增字典类型 + * + * @param data + */ +export function addDictTypeOld(data: DictTypeForm) { + return request({ + url: '/api/v1/dict/types', + method: 'post', + data: data + }); +} + +export function addDictType(data: DictTypeForm) { + return request({ + url: '/systemapi/dict/add_dict_type', + method: 'post', + data: data + }); +} + +/** + * 修改字典类型 + * + * @param id + * @param data + */ +export function updateDictTypeOld(id: number, data: DictTypeForm) { + return request({ + url: '/api/v1/dict/types/' + id, + method: 'put', + data: data + }); +} +export function updateDictType(data: DictTypeForm) { + return request({ + url: '/systemapi/dict/edit_dict_type_cont', + method: 'post', + data: data + }); +} +/** + * 删除字典类型 + */ +export function deleteDictTypesOld(ids: string) { + return request({ + url: '/api/v1/dict/types/' + ids, + method: 'delete' + }); +} +export function deleteDictTypes(data: dictId) { + return request({ + url: '/systemapi/dict/del_dict_type_cont', + method: 'post', + data:data + }); +} +/** + * 获取字典类型的数据项 + * + * @param typeCode 字典类型编码 + */ +export function getDictOptions(typeCode: string): AxiosPromise { + return request({ + url: '/api/v1/dict/types/' + typeCode + '/items', + method: 'get' + }); +} + +/** + * 字典分页列表 + */ +export function getDictPageOld( + queryParams: DictQuery +): AxiosPromise { + return request({ + url: '/api/v1/dict/page', + method: 'get', + params: queryParams + }); +} + +export function getDictPage( + queryParams: DictQuery +): AxiosPromise { + return request({ + url: '/systemapi/dict/get_dictionary', + method: 'post', + data: queryParams + }); +} +/** + * 获取字典表单数据 + * + * @param id + */ +export function getDictFormDataOld(id: number): AxiosPromise { + return request({ + url: '/api/v1/dict/' + id + '/form', + method: 'get' + }); +} +export function getDictFormData(id: number): AxiosPromise { + return request({ + url: '/systemapi/dict/get_dictionary_cont?id=' + id, + method: 'get' + }); +} +/** + * 新增字典 + * + * @param data + */ +export function addDictOld(data: DictForm) { + return request({ + url: '/api/v1/dict', + method: 'post', + data: data + }); +} +export function addDict(data: DictForm) { + return request({ + url: '/systemapi/dict/add_dictionary_cont', + method: 'post', + data: data + }); +} +/** + * 修改字典项 + * + * @param id + * @param data + */ +export function updateDictOld(id: number, data: DictForm) { + return request({ + url: '/api/v1/dict/' + id, + method: 'put', + data: data + }); +} +export function updateDict(data: DictForm) { + return request({ + url: '/systemapi/dict/edit_dictionary_cont', + method: 'post', + data: data + }); +} +/** + * 删除字典 + * 李旭敏 + * @param ids 字典项ID,多个以英文逗号(,)分割 + */ +export function deleteDictOld(ids: string) { + return request({ + url: '/api/v1/dict/' + ids, + method: 'delete' + }); +} +export function deleteDict(data: dictId) { + return request({ + url: '/systemapi/dict/del_dictionary_cont', + method: 'post', + data:data + }); +} diff --git a/src/api/api/dict/types.ts b/src/api/api/dict/types.ts new file mode 100644 index 0000000..fd5a860 --- /dev/null +++ b/src/api/api/dict/types.ts @@ -0,0 +1,151 @@ +/** + * 字典类型查询参数 + */ +export interface DictTypeQuery extends PageQuery { + /** + * 关键字(字典类型名称/编码) + */ + keywords?: string; +} + +/** + * 字典类型分页对象 + */ +export interface DictTypePageVO { + /** + * 字典类型ID + */ + id: number; + /** + * 类型编码 + */ + code: string; + /** + * 类型名称 + */ + name: string; + /** + * 状态(1:启用;0:禁用) + */ + status?: number; + /** + * 备注 + */ + remark?: string; + /** + * 类型编码 + */ + codekey: string; +} + +/** + * 字典分页项类型声明 + */ +export type DictTypePageResult = PageResult; + +/** + * 字典表单类型声明 + */ +export interface DictTypeForm { + /** + * 字典类型ID + */ + id?: number|string; + /** + * 类型名称 + */ + name?: string; + /** + * 类型编码 + */ + code?: string; + /** + * 类型状态:1:启用;0:禁用 + */ + status: number; + /** + * 备注 + */ + remark?: string; +} + +/** + * 字典查询参数 + */ +export interface DictQuery extends PageQuery { + /** + * 字典项名称 + */ + keywords?: string; + /** + * 字典类型编码 + */ + codetype?: string; +} + +/** + * 字典分页对象 + */ +export interface DictPageVO { + /** + * 字典ID + */ + id?: number; + /** + * 字典名称 + */ + name?: string; + /** + * 状态(1:启用;0:禁用) + */ + status?: number; + /** + * 字典值 + */ + value?: string; +} + +/** + * 字典分页 + */ +export type DictPageResult = PageResult; + +/** + * 字典表单 + */ +export interface DictForm { + /** + * 字典ID + */ + id?: number; + /** + * 字典名称 + */ + name?: string; + /** + * 排序 + */ + sort?: number; + /** + * 状态(1:启用;0:禁用) + */ + status?: number; + /** + * 类型编码 + */ + typeCode?: string; + /** + * 值 + */ + value?: string; + + /** + * 备注 + */ + remark?: string; +} + +//删除字典类型 +export interface dictId { + id?:string[] +} diff --git a/src/api/api/displayboardapi/indexapi.ts b/src/api/api/displayboardapi/indexapi.ts new file mode 100644 index 0000000..523c5ce --- /dev/null +++ b/src/api/api/displayboardapi/indexapi.ts @@ -0,0 +1,184 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { dimissionRateQuery,publicId,eduStruCont,sendOrgCont,outputOrgAndUser,orgAndPeople,orgId,targetCanShu,dlTargetTbHbfenxi,dlTargetTbHbfenxis,orgGardes,attributePage } from './types'; +/** + * 获取离职率 + */ + export function getDimissionRate(data?: dimissionRateQuery) { + return request({ + url: '/hrapi/staff/dimission_rate', + method: 'post', + data: data + }); +} +/** + * 获取行政组织直接下属 + */ + export function getOrgChiled(data?: publicId): AxiosPromise { + return request({ + url: '/hrapi/org/getorgchiled', + method: 'post', + data: data + }); +} +/** + * 获取单一行政组织离职率 + */ + export function getOneOrgDimissionRate(data?: dimissionRateQuery){ + return request({ + url: '/hrapi/staff/oneorg_dimission_rate', + method: 'post', + data: data + }); +} +/** + * 获取公司指定年月的离职率 + */ + export function getOrgTimeRate(data?: dimissionRateQuery){ + return request({ + url: '/hrapi/staff/getorgtimerate', + method: 'post', + data: data + }); +} +/** + * 获取学历结构 + */ + export function getEdtuStru(data?: publicId): AxiosPromise { + return request({ + url: '/hrapi/staff/get_edu_stru', + method: 'post', + data: data + }); +} +/** + * 根据行政组织编号获取组织及人员 + */ + export function getBasisOrgChiled(data?: publicId): AxiosPromise{ + return request({ + url: '/hrapi/org/basis_org_obtain_sonorg_and_man', + method: 'post', + data: data + }); +} + +//获取组织及成员(新版) +export const getOrgEveryonePeople = (data?: publicId): AxiosPromise => { + return request({ + url: '/hrapi/org/get_org_everyone_people', + method: 'post', + data: data + }) +} +/** + * 获取当前行政组织的所有主行政部门 + */ + export const getCompanyDeparment = (data?: orgId):any => { + return request({ + url: '/hrapi/org/getcompanydeparment', + method: 'post', + data: data + }); +} + + +//搜索成员(新版) +export const getEmployees = (data?: any) => { + return request({ + url: '/kpiapi/powerpc/search_people', + method: 'post', + data: data + }) +} +//搜索角色(新版) +export const getRoles = (data?: any) => { + return request({ + url: '/kpiapi/powerpc/system_role_list_flow', + method: 'post', + data: data + }) +} + +//搜索角色(新版) +export const SearchPositionUnify = (data?: any) => { + return request({ + url: '/kpiapi/powerpc/search_position_unify', + method: 'post', + data: data + }) +} +//获取统一岗位 +export const GetPositionUnify = (data?: any) => { + return request({ + url: '/kpiapi/powerpc/get_position_unify', + method: 'post', + data: data + }) +} + +//根据部门获取指标列表 +export const targetListForDepartment = (data?: targetCanShu):any => { + return request({ + url: '/kpiapi/department_web/target_list_for_department', + method: 'post', + data: data + }) +} + +//获取审批节点或条件节点 +export const gainNodeFactor = (data?: any) => { + return request({ + url: '/systemapi/task_flow/gain_node_factor', + method: 'post', + data: data + }) +} +//定量指标同比环比分析 +export const bdTtsyoy = (data: dlTargetTbHbfenxi):any => { + return request({ + url: '/kpiapi/department_web/bdttsyoy', + method: 'post', + data: data + }) +} +//定量指标同比环比分析 +export const bdBdtTs = (data: dlTargetTbHbfenxis):any => { + return request({ + url: '/kpiapi/department_web/bdtts', + method: 'post', + data: data + }) +} +//定性指标同比环比分析 +export const bDtTsatTryoy = (data: dlTargetTbHbfenxi):any => { + return request({ + url: '/kpiapi/department_web/bdttsattryoy', + method: 'post', + data: data + }) +} +//行政组织年度成绩单 +export const orgTargetAnnualStatistics = (data: orgGardes):any => { + return request({ + url: '/kpiapi/strtistics/org_target_annual_statistics', + method: 'post', + data: data + }) +} +//统计行政组织下人员年龄比例 +export const statisticalAgeRatio = (data: publicId):any => { + return request({ + url: '/systemapi/user/statisticalAgeRatio', + method: 'post', + data: data + }) +} + +//统计行政组织下人员年龄比例 +export const hotNews = (data: attributePage):any => { + return request({ + url: '/systemapi/news/hot_news', + method: 'post', + data: data + }) +} diff --git a/src/api/api/displayboardapi/types.ts b/src/api/api/displayboardapi/types.ts new file mode 100644 index 0000000..90d6d2a --- /dev/null +++ b/src/api/api/displayboardapi/types.ts @@ -0,0 +1,152 @@ +export interface publicId{ + id?:number|string; +} +//根据部门获取指标列表 +export interface targetCanShu extends publicId{ + attribute?:number; +} +export interface orgId{ + id?:number; + idstr?:string; +} +/** + * 获取离职率参数 + */ +export interface dimissionRateQuery{ + id?:number; + time?:string; +} +/** + * 折线结构 + */ +export interface zexianStrcut{ + name: string; + type: string; + stack: string; + data: number[] +} +/** + * 行政住址结构 + */ +export interface orgInfo{ + id: number; + number: string; + name: string; + superior: number; + organizationtype: number; + abbreviation: string; + time: number; + state: number; + wechatorganizationid: number; + superiorsun: string; + schoole: number; + kingdeeid: string; + ispower: number; + sort: number; + ischild: boolean; + isActiveItem: boolean; +} +/** + * 输出行政组织 + */ +export interface sendOrgCont{ + current:number; + list:orgInfo[]; + tabval:any; +} +/** + * 学历结构 + */ +export interface eduStruCont{ + education:string; + percentage:number; +} +/** + * 面包屑 + */ +export interface breadCrumbs{ + departmentId:string // "309"; + id:string // "309"; + departmentKey:string // "GK00"; + departmentName:string // "山东恒信高科能源有限公司"; + parentId:string // "313"; + departmentNames:string // "山东恒信高科能源有限公司" +} +/** + * 输出根据行政组织编号获取组织及人员 + */ +export interface outputOrgAndUser{ + childDepartments:childDepartmentsCont[]; + employees:employeesCont[]; + titleDepartments:breadCrumbs[]; +} +export interface employeesCont{ + id:string //"95196156539179008"; + employeeName:string //"胡齐帅"; + isLeave:string //"0"; + open:boolean //"false"; + icon:string //""; + iconToBase64:string //""; + wechat:string //""; + departmentid:number //102; + departmentname:string //"企管部"; + postid:number //798; + postname:string //"岗监员"; + tema:number //0; + temaname:string //"" + ispick:boolean // +} +export interface childDepartmentsCont{ + id:string; //"103"; + departmentKey:string; //"GK0302"; + departmentName:string; //"IT"; + parentId:string; //"102"; + departmentNames:string; //"IT" + isActiveItem:boolean; // +} + +//行政组织树及相关人员(新版) 结构体 +export interface orgAndPeople{ + id: string; + orgid: number; + number: string; + name: string; + superior: string; + icon: string; + icon_photo: string; + type: number; + key: string; + sort: number; + wechat: string; + departmentid: number; + departmentname: string; + postid: number; + postname: string; + tema: number; + temaname: string; + child:orgAndPeople[]; +} +//定量指标同比环比分析 +export interface dlTargetTbHbfenxi{ + orgid:string; + targetid:string; + datetime:number[]; +} +export interface dlTargetTbHbfenxis{ + orgid:string; + targetid:string; + datetime:string; +} +export interface orgGardes{ + orgid:string; + years:string; +} +//翻页数据 +export interface setupPage { + page?:number; //页码 + pagesize?:number; //每页获取数量 +} +//属性文章 +export interface attributePage extends setupPage{ + type?:number +} diff --git a/src/api/api/file/index.ts b/src/api/api/file/index.ts new file mode 100644 index 0000000..cea0a00 --- /dev/null +++ b/src/api/api/file/index.ts @@ -0,0 +1,49 @@ +import request from '@/utils/requestfile'; +import { AxiosPromise } from 'axios'; +import { FileInfo,FileContent } from './types'; + +/** + * 上传文件 + * + * @param file + */ +export function uploadFileApi(file: File): AxiosPromise { + const formData = new FormData(); + formData.append('file', file); + return request({ + // url: '/api/v1/files', + url: '/api/upordown', + method: 'post', + data: formData, + headers: { + 'Content-Type': 'multipart/form-data' + } + }); +} + +export function newUploadFileApi(params:FormData): AxiosPromise { + return request({ + // url: '/api/v1/files', + url: '/api/upordown', + method: 'post', + data: params, + headers: { + 'Content-Type': 'multipart/form-data' + } + }); +} + + + +/** + * 删除文件 + * + * @param filePath 文件完整路径 + */ +export function deleteFileApi(filePath?: string) { + return request({ + url: '/api/v1/files', + method: 'delete', + params: { filePath: filePath } + }); +} diff --git a/src/api/api/file/types.ts b/src/api/api/file/types.ts new file mode 100644 index 0000000..b01923c --- /dev/null +++ b/src/api/api/file/types.ts @@ -0,0 +1,24 @@ +/** + * 文件API类型声明 + */ +export interface FileInfo { + name: string; + url: string; +} + +/** + * 上传文件返回信息 + */ +export interface FileContent { + id:string; + key:string; + name:string; + tag:string; + url:string; + physicspath:string; + CreatedAt:string; + UpdatedAt:string; + fileSize:number; + type:number; + size:string; +} diff --git a/src/api/api/handle.ts b/src/api/api/handle.ts new file mode 100644 index 0000000..4ae64b9 --- /dev/null +++ b/src/api/api/handle.ts @@ -0,0 +1,63 @@ +export const haveDateTime =(dateStr:string,num:number,type:boolean) =>{ + let monthnum = 0; + if(typeof(num) == 'string'){ + monthnum = parseInt(num); + }else{ + monthnum = num + } + + let tadycont = new Date(dateStr) + //获取原日 + let day = tadycont.getDate(); + //获取原月份 + let month=tadycont.getMonth(); + //设置增加月份 + tadycont.setMonth(tadycont.getMonth() + (monthnum*1), 1); + //获取增加的后的月份 + let Jmonth = tadycont.getMonth()+1; + //获取增加的后的年份 + let Jyear=tadycont.getFullYear(); + if(Jmonth == 4 || Jmonth == 6 || Jmonth == 9 || Jmonth == 11) { + //小月 + if (day > 30) { + day = 30; + } + }else if (Jmonth == 2) { + //2月判断是否闰年 + if(((Jyear % 4) == 0) && ((Jyear % 100) != 0) || ((Jyear % 400) == 0)){ + if (day > 29) { + day = 29; + } + }else{ + if (day > 28) { + day = 28 + } + } + }else{ + //大月 + if (day > 31) { + day = 31; + } + } + let tHours = tadycont.getHours(); + let tMinutes = tadycont.getMinutes(); + let tSeconds = tadycont.getSeconds(); + let Jmonthstr = doHandleMonth(Jmonth); + let daystr = doHandleMonth(day); + if(!type){ + return Jyear+"-"+Jmonthstr+"-"+daystr; + } + return Jyear+"-"+Jmonthstr+"-"+daystr+" "+tHours+":"+tMinutes+":"+tSeconds; +} +/** + * 日或月补0 + * @param month + * @returns {string} + */ + function doHandleMonth(month:number):string { + let m = month.toString(); + if(month.toString().length == 1){ + m = "0" + month; + } + return m; +} diff --git a/src/api/api/hr/duties/index.ts b/src/api/api/hr/duties/index.ts new file mode 100644 index 0000000..39a8349 --- /dev/null +++ b/src/api/api/hr/duties/index.ts @@ -0,0 +1,83 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { searchDuties,dutiesClassList,editDutiesCalssStrcue,editDutiesTypeEditOrDel,searchDutiesCont,dutiesList,dutiesInfo } from './type'; +/** + * 获取职务分类列表 + */ + export function getDutiesCalssContList(data: searchDuties): AxiosPromise{ + return request({ + url: '/hrapi/org/utiesclasslist', + method: 'post', + data: data + }); +} +/** + * 新增职务分类 + */ + export function addDutiesCalssContApi(data: editDutiesCalssStrcue){ + return request({ + url: '/hrapi/org/adddutiesclass', + method: 'post', + data: data + }); +} +/** + * 编辑职务分类 + */ + export function editDutiesCalssContApi(data: editDutiesCalssStrcue){ + return request({ + url: '/hrapi/org/neweiteutiesclassinfo', + method: 'post', + data: data + }); +} +/** + * 编辑职务分类状态或删除 + */ + export function dutiesCalssEditOrDel(data: editDutiesTypeEditOrDel){ + return request({ + url: '/hrapi/org/editdutiesclassstatus', + method: 'post', + data: data + }); +} +/** + * 获取职务列表 + */ + export function getDuitesList(data: searchDutiesCont): AxiosPromise{ + return request({ + url: '/hrapi/org/dutieslist', + method: 'post', + data: data + }); +} +/** + * 添加职务 + */ + export function addDutiesInfo(data: dutiesInfo){ + return request({ + url: '/hrapi/org/adddutiescont', + method: 'post', + data: data + }); +} +/** + * 编辑职务 + */ + export function editDutiesInfo(data: dutiesInfo){ + return request({ + url: '/hrapi/org/eitedutiescont', + method: 'post', + data: data + }); +} +/** + * 编辑职务 + */ + export function editOrDelDutiesInfo(data: editDutiesTypeEditOrDel){ + return request({ + url: '/hrapi/org/editordeldutiesstatus', + method: 'post', + data: data + }); +} diff --git a/src/api/api/hr/duties/type.ts b/src/api/api/hr/duties/type.ts new file mode 100644 index 0000000..27066ed --- /dev/null +++ b/src/api/api/hr/duties/type.ts @@ -0,0 +1,72 @@ +/** + * 搜索职务分类 + */ +export interface searchDuties extends PageQuery{ + keywords?: string; +} + +export type dutiesClassList = PageResult + +/** + * 职务列表 + */ +export interface dutiesClassListCont{ + id: string; + name?: string; + kingdeeid?:string; + state?:number; + status?:boolean; +} +/** + * 编辑职务分类 + */ +export interface editDutiesCalssStrcue{ + id?: number; + name?: string; +} +/** + * 删除或改变职务类别状态 + */ + export interface editDutiesTypeEditOrDel{ + id:string[]; + status?: number; + istrue?: number; +} +/** + * 搜索职务 + */ + export interface searchDutiesCont extends PageQuery{ + name?: string; + jobid?: string; +} +/** + * 职务信息 + */ +export interface dutiesCont{ + id: number; + name: string; + number: string; + jobtype: number; + dutiesclassname: string; + kingdeeid: string; + kingdeenum: string; + state: number; + time: number; + weight: number; + status:boolean; +} +/** + * 职务分页列表信息 + */ + export type dutiesList = PageResult +/** + * 编辑/添加职务信息 + */ +export interface dutiesInfo{ + id?: number; + name?: string; + number?: string; + jobtype?: string|number; + weight?: number; +} + diff --git a/src/api/api/hr/org/index.ts b/src/api/api/hr/org/index.ts new file mode 100644 index 0000000..3a06bc7 --- /dev/null +++ b/src/api/api/hr/org/index.ts @@ -0,0 +1,134 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { searchFormTitle,orgClassListCont,addOrgTypesCont,orgClassCont,editOrgTypeEditOrDel,searchOrgCont,orgInfo,addOrgInfo,editOrgDel,searchTeamList,orgTeamListCont,orgFormTree,archivesList } from './type'; +/** + * 获取组织类别 + */ + export function getRolePage(data?: searchFormTitle): AxiosPromise { + return request({ + url: '/hrapi/org/govclasslist', + method: 'post', + data: data + }); + } +/** + * 获取所有组织类别 + */ + export function getOrgClassAllPage(data?: addOrgTypesCont) { + return request({ + url: '/hrapi/org/govclassalllist', + method: 'post', + data: data + }); + } +/** + * 添加组织分类 + */ +export function addOrgClassInfo(data: addOrgTypesCont){ + return request({ + url: '/hrapi/org/addgovclass', + method: 'post', + data: data + }); +} +/** + * 编辑组织分类 + */ + export function editOrgClassInfo(data: orgClassCont){ + return request({ + url: '/hrapi/org/eitegovclasscont', + method: 'post', + data: data + }); +} +/** + * 编辑组织类别状态 + */ +export function editOrgClassStatus(data: editOrgTypeEditOrDel){ + return request({ + url: '/hrapi/org/base_edit_orgclass_status', + method: 'post', + data: data + }); +} +/** + * 获取行政组织树 + */ + export function getOrgTreeList(data: searchOrgCont): AxiosPromise{ + return request({ + url: '/hrapi/org/govnewthreeing', + method: 'post', + data: data + }); +} +/** + * 新增行政组织内容 + */ + export function addOrgInfoApi(data: addOrgInfo){ + return request({ + url: '/hrapi/org/newaddgovcont', + method: 'post', + data: data + }); +} +/** + * 编辑行政组织内容 + */ + export function editOrgInfoApi(data: addOrgInfo){ + return request({ + url: '/hrapi/org/neweitegovcont', + method: 'post', + data: data + }); +} +/** + * 编辑行政组织内容 + */ + export function editOrgStatusApi(data: editOrgDel){ + return request({ + url: '/hrapi/org/neweitegovstateordel', + method: 'post', + data: data + }); +} +/** + * 获取班组列表 + */ +export function getTeamListCont(data: searchTeamList): AxiosPromise{ + return request({ + url: '/hrapi/org/teamcontlist', + method: 'post', + data: data + }); +} + +/** + * 获取自定义表单行政组织树 + */ + export function getOrgFormTree(data?: editOrgDel): AxiosPromise{ + return request({ + url: '/hrapi/org/orgtreelist', + method: 'post', + data: data + }); +} +/** + * 获取人员列表 + */ + export function getOrgFormUserList(data:any): AxiosPromise{ + return request({ + url: '/hrapi/org/search_user_list', + method: 'post', + data: data + }); +} +/** + * 获取人员列表 + */ + export function searchUserCustomerFormList(data:any): AxiosPromise{ + return request({ + url: '/hrapi/org/search_userlist_customerform', + method: 'post', + data: data + }); +} diff --git a/src/api/api/hr/org/type.ts b/src/api/api/hr/org/type.ts new file mode 100644 index 0000000..d106e34 --- /dev/null +++ b/src/api/api/hr/org/type.ts @@ -0,0 +1,180 @@ +/** + * 搜索名称 + */ +export interface searchFormTitle extends PageQuery{ + name?: string; + level?: number; +} +/** + * 组织类别列表 + */ +export type orgClassListCont = PageResult +/** + * 组织类别内容 + */ +export interface orgClassCont { + id?: number; + kingdeeid?: string + level?: number; + name?: string + state?: number; + time?: number; + status?: boolean; +} +export interface orgClassInfor { + id: number; + kingdeeid?: string + level?: number; + name?: string + state?: number; + time?: number; + status?: boolean; +} +/** + * 添加组织类别 + */ +export interface addOrgTypesCont{ + name?: string; + level?: number; +} +/** + * 编辑数据 + */ +export interface editOrgTypeInfo{ + id: string; + name: string; + level?: number; +} +/** + * 删除或改变组织类别状态 + */ +export interface editOrgTypeEditOrDel{ + id:string[]; + status?: number; + istrue?: number; +} +/** + * 搜索行政组织 + */ +export interface searchOrgCont{ + orgid?:number; + keywords?: string; + class?: number; +} +/** + * 行政组织内容 + */ +export interface orgInfo{ + id?:number; + number?: string, + name?: string, + superior?: number, + organizationtype?: number, + abbreviation?: string, + time?: number, + state?: number, + wechatorganizationid?: number, + superiorsun?: string, + schoole?: number, + kingdeeid?: string, + ispower?: number, + sort?: number, + typeName?: string, + level?: number, + status?: true, + child?:orgInfo[]; +} +/** + * 行政组织树格式 + */ +export type sendOrgTreeList = PageResult +/** + * 编辑行政组织参数 + */ +export interface addOrgInfo{ + id?:number; + name?: string, //全称 + number?: string, //编号 + superior?: number|string, //上级 + govclass?: string, //分类 + abbreviation?: string, //简称 + wechatid?: string //企业微信对照吗 + kingdeeid?: string //金蝶对照码 +} +/** + * 删除行政组织 + */ + export interface editOrgDel{ + id?:number; + status?: number; + istrue?: number; +} +/** + * 搜索班组 + */ + export interface searchTeamList extends PageQuery{ + name?: string; +} +/** + * 班组返回列表 + */ + export type orgTeamListCont = PageResult + /** + * 班组内容 + */ + export interface teamInfo{ + id:number; + name?: string; + time?:number; + state?:number; + } +/** + * 自定义表单行政组织列表 + */ +export interface orgform{ + id: number; + parentId: number; + name: string; + sort: number; + status: number; + remark: string; +} +export interface orgFormTree{ + dict:any; + list:orgform[]; + pageInfo:any; +} +/** + * 自定义表单搜索用户 + */ +export interface orgFormSeachUsers{ + page:number; + pagesize:number; + +} + +export interface searchCriteriaForPeople extends PageQuery{ + total:number; + current:number; + orgid?:number; + usercont?:string; +} + +export interface criteriaForPeopleList{ + id: number + userkey: string + number: string + name: string + icon: string + company: number + companyname: string + maindeparment: number + maindeparmentname: string + adminorg: number + adminorgname: string +} +export type archivesList = PageResult + +export interface msgAry { + msg:string[] +} diff --git a/src/api/api/hr/people/datacont.ts b/src/api/api/hr/people/datacont.ts new file mode 100644 index 0000000..27b0057 --- /dev/null +++ b/src/api/api/hr/people/datacont.ts @@ -0,0 +1,799 @@ +import { id } from "element-plus/es/locale"; + +/** + * 用工关系(1:临时工 , 2:编外人员 ;3:实习&实习生;4:试用员工;5:待分配;6:待岗;7:临时调入;8:正式员工;9:长期病假;10:停薪留职;11:退休;12:辞职;13:辞退;14:离职)', + `company` 入职公司', + */ + export const emptypeOptions =[ + { + id:1, + name:"临时工" + }, + { + id:2, + name:"编外人员" + }, + { + id:3, + name:"实习&实习生" + }, + { + id:4, + name:"试用员工" + }, + { + id:5, + name:"待分配" + }, + { + id:6, + name:"待岗" + }, + { + id:7, + name:"临时调入" + }, + { + id:8, + name:"正式员工" + }, + { + id:9, + name:"长期病假" + }, + { + id:10, + name:"停薪留职" + } +]; + +export const emptypeOptionsFalse = [ + { + id:11, + name:"退休" + }, + { + id:12, + name:"辞职" + }, + { + id:13, + name:"辞退" + }, + { + id:14, + name:"离职" + } +]; +/** + * 性别 + */ + export const userGender = [ + { + id:1, + name:"男" + }, + { + id:2, + name:"女" + }, + { + id:3, + name:"中性" + } +]; +export const healthStates = [ + { + id:1, + name:"良好" + }, + { + id:2, + name:"一般" + }, + { + id:3, + name:"较弱" + }, + { + id:4, + name:"有生理缺陷" + }, + { + id:5, + name:"残废" + } +]; +/** + * 婚姻状况 + */ + export const userMaritalstatus = [ + { + id:1, + name:"未婚" + }, + { + id:2, + name:"已婚" + }, + { + id:3, + name:"丧偶" + }, + { + id:4, + name:"离异" + } +]; +/** + * 政治面貌 + */ + export const userPoliticaloutloo =[ + { + id:1, + name:"群众" + }, + { + id:2, + name:"无党派" + }, + { + id:3, + name:"台盟会员" + }, + { + id:4, + name:"九三社员" + }, + { + id:5, + name:"致公党员" + }, + { + id:6, + name:"农工党员" + }, + { + id:7, + name:"民进会员" + }, + { + id:8, + name:"民建会员" + }, + { + id:9, + name:"民盟盟员" + }, + { + id:10, + name:"民革会员" + }, + { + id:11, + name:"共青团员" + }, + { + id:12, + name:"预备党员" + }, + { + id:13, + name:"中共党员" + } +]; +/** + * 星座 + */ + export const userConstellationing =[ + { + id:1, + name:"白羊座" + }, + { + id:2, + name:"金牛座" + }, + { + id:3, + name:"双子座" + }, + { + id:4, + name:"巨蟹座" + }, + { + id:5, + name:"狮子座" + }, + { + id:6, + name:"处女座" + }, + { + id:7, + name:"天枰座" + }, + { + id:8, + name:"天蝎座" + }, + { + id:9, + name:"射手座" + }, + { + id:10, + name:"摩羯座" + }, + { + id:11, + name:"水瓶座" + }, + { + id:12, + name:"双鱼座" + } +]; +/** + * 雇佣类型 + */ + export const userHireclass = [ + { + id:1, + name:"雇佣入职" + }, + { + id:2, + name:"再入职" + } +]; +/** + * 用工关系(1:临时工 , 2:编外人员 ;3:实习&实习生;4:试用员工;5:待分配;6:待岗;7:临时调入;8:正式员工;9:长期病假;10:停薪留职;11:退休;12:辞职;13:辞退;14:离职)', + `company` 入职公司', + */ + export const emptypeOptionsAll =[ + { + id:1, + name:"临时工" + }, + { + id:2, + name:"编外人员" + }, + { + id:3, + name:"实习&实习生" + }, + { + id:4, + name:"试用员工" + }, + { + id:5, + name:"待分配" + }, + { + id:6, + name:"待岗" + }, + { + id:7, + name:"临时调入" + }, + { + id:8, + name:"正式员工" + }, + { + id:9, + name:"长期病假" + }, + { + id:10, + name:"停薪留职" + }, + { + id:11, + name:"退休" + }, + { + id:12, + name:"辞职" + }, + { + id:13, + name:"辞退" + }, + { + id:14, + name:"离职" + } +]; +/** + * 是否 + */ + export const yesOrno = [ + { + id:1, + name:"是" + }, + { + id:2, + name:"否" + } +]; +/** + * 学历 + */ +export const education =[ + { + id:1, + name:'初中及以下' + }, + { + id:2, + name:'中专' + }, + { + id:3, + name:'高中' + }, + { + id:4, + name:'中技' + }, + { + id:5, + name:'高技' + }, + { + id:6, + name:'函数专科' + }, + { + id:7, + name:'大学专科' + }, + { + id:8, + name:'函数本科' + }, + { + id:9, + name:'大学本科' + }, + { + id:10, + name:'硕士研究生' + }, + { + id:11, + name:'博士研究生' + }, + { + id:12, + name:'专家、教授' + }, +]; +//入职等级 +export const positiongrade = [ + { + id:10000, + name:'无' + }, + { + id:1, + name:'一级' + }, + { + id:2, + name:'二级' + }, + { + id:3, + name:'三级' + } +]; +//学位 +export const academicDegree = [ + { + id:1, + name:'无' + }, + { + id:2, + name:'学士' + }, + { + id:3, + name:'硕士' + }, + { + id:4, + name:'博士' + }, + { + id:5, + name:'教育学学位' + } +]; +//主职与兼职 +export const mainAndPartTimeJobs = [ + { + id:1, + name:'主职' + }, + { + id:2, + name:'兼职' + } +]; +// 职位变动类型 +export const postChangeType=[ + { + id:1, + name:'预入职' + }, + { + id:2, + name:'雇佣入职' + }, + { + id:3, + name:'转正' + }, + { + id:4, + name:'晋升' + }, + { + id:5, + name:'降级' + }, + { + id:6, + name:'职等调整' + }, + { + id:7, + name:'调动调入' + }, + { + id:8, + name:'跨公司调动调入' + }, + { + id:9, + name:'借调' + }, + { + id:10, + name:'平调' + }, + { + id:11, + name:'兼职' + }, + { + id:12, + name:'预离职' + }, + { + id:13, + name:'离职' + }, + { + id:14, + name:'退休' + }, + { + id:15, + name:'返聘' + }, + { + id:16, + name:'员工初始化' + }, + { + id:17, + name:'擅自离职' + }, + { + id:18, + name:'即辞即走' + }, + { + id:19, + name:'组织调整' + }, + { + id:20, + name:'辞退' + }, + { + id:21, + name:'跨公司借调调出' + }, + { + id:22, + name:'跨公司借调调入' + }, + { + id:23, + name:'培训期间离职' + }, + { + id:24, + name:'合同到期' + }, + { + id:25, + name:'实习结束' + } + +]; +/** + * 学历性质 + */ + export const xuliClass = [ + { + id:1, + name:"普通" + }, + { + id:2, + name:"第一学历" + }, + { + id:3, + name:"最高学历" + } +] + +//户口性质 +export const Householdregistration = [ + { + id:1, + name:'农业户口' + }, + { + id:2, + name:'非农业户口' + } +] +//年份 +export const year = [ + { + id:1, + name:'2020年' + }, + { + id:2, + name:'2021年' + }, + { + id:3, + name:'2022年' + }, + { + id:4, + name:'2023年' + }, +] +//等级 +export const level = [ + { + id:1, + name:'A' + }, + { + id:2, + name:'B' + }, + { + id:3, + name:'C' + }, + { + id:4, + name:'D' + } + , + { + id:5, + name:'E' + } + , + { + id:6, + name:'F' + } +] +//学历类型 +export const educationtype = [ + { + id:1, + name:'全日制统招' + } + , + { + id:2, + name:'成人高考' + } + , + { + id:3, + name:'网络教育' + } + , + { + id:4, + name:'国家开放大学' + } + , + { + id:5, + name:'自学考试' + } + , + { + id:6, + name:'其他' + } +] +//院校类型 +export const schooltype = [ + { + id:1, + name:'双一流院校' + } + , + { + id:2, + name:'"985"工程院校' + } + , + { + id:3, + name:'"211"工程院校' + } + , + { + id:4, + name:'公办本科院校' + } + , + { + id:5, + name:'公办专科院校' + } + , + { + id:6, + name:'民办本科院校' + } + , + { + id:7, + name:'民办专科院校' + } + , + { + id:8, + name:'部队院校' + } + , + { + id:9, + name:'高职院校' + } + , + { + id:10, + name:'公立中学' + } + , + { + id:11, + name:'公立中专' + } + , + { + id:12, + name:'其他' + } + +] +//奖惩级别 +export const rewardlevel = [ + { + id:1, + name:'公司级' + } + , + { + id:2, + name:'部门级' + } + , + { + id:3, + name:'团队级' + } + , + { + id:4, + name:'个人级' + } + , + { + id:5, + name:'县级' + } + , + { + id:6, + name:'市级' + } + , + { + id:7, + name:'省级' + } + , + { + id:8, + name:'国家级' + } + +] +//入职渠道 +export const entrychannel = [ + { + id:1, + name:'社会招聘' + } + , + { + id:2, + name:'校园招聘' + } + , + { + id:3, + name:'内部推荐' + } + , + { + id:4, + name:'其他' + } +] +//职称级别 +export const jobtitlelevel = [ + { + id:1, + name:'员级' + } + , + { + id:2, + name:'助理级' + } + , + { + id:3, + name:'中级' + } + , + { + id:4, + name:'副高级' + } + , + { + id:5, + name:'正高级' + } +] \ No newline at end of file diff --git a/src/api/api/hr/people/index.ts b/src/api/api/hr/people/index.ts new file mode 100644 index 0000000..520b2b5 --- /dev/null +++ b/src/api/api/hr/people/index.ts @@ -0,0 +1,675 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { + archivesList, + searchCriteriaForPeople, + contId, + editPwdCont, + contIdes, + userManOrFucont, + emergencyContactAdd, + emergencyContactInfo, + delJjlxr, + doubleWorkCont, + familyMembersContAdd, + familyMembersContEdit, + addEducExpInfoing, + editEducExpInfoing, + editGroupExternalWorkCont, + addGroupExternalWorkCont, + groupInnerWorkCont, + editUserIcon, + editUserAboutOrg, + teamClassQueay, + searchPeoleCont, + queryPeopleCont, + RewardsAndPunishmentsContAdd, + RewardsAndPunishmentsContEdit, + AppraisalrecordContAdd, + AppraisalrecordContEdit, + TalentinventoryContEdit, + TalentinventoryContAdd, + EmploymentrelationsContEdit, + EmploymentrelationsContAdd, + JobtitleContAdd, + JobtitleContEdit, + CertificatesContAdd, + CertificatesContEdit, + contNumber, +} from './type'; +/** + * 获取人员档案 + */ + export function getArchivesListPage(data?: searchCriteriaForPeople): AxiosPromise { + return request({ + url: '/hrapi/staff/archiveslistcont', + method: 'post', + data: data + }); +} +/** + * 获取人员行政组织关系 + */ + export function getPeopleAboutOrg(data?: contId) { + return request({ + url: '/hrapi/staff/useraboutorglist', + method: 'post', + data: data + }); +} +/** + * 获取紧急联系人 + */ + export function getEmergencyContact(data?: contId) { + return request({ + url: '/hrapi/staff/emergencycontactlist', + method: 'post', + data: data + }); +} +/** + * 获双职工 + */ + export function getWorkingCouple(data?: contId) { + return request({ + url: '/hrapi/staff/doubleworkerlist', + method: 'post', + data: data + }); +} +/** + * 获双家庭成员 + */ + export function getFamilyMembers(data?: contId) { + return request({ + url: '/hrapi/staff/familymemberslist', + method: 'post', + data: data + }); +} +/** + * 获取教育经历 + */ + export function getEducationalExperience(data?: contId) { + return request({ + url: '/hrapi/staff/personneleducationlist', + method: 'post', + data: data + }); +} +/** + * 获取集团内部工作经历 + */ + export function getInnerWork(data?: contId) { + return request({ + url: '/hrapi/staff/getinsideworkhistorylist', + method: 'post', + data: data + }); +} +/** + * 获取集团内部工作经历 + */ + export function getoOutsideWork(data?: contId) { + return request({ + url: '/hrapi/staff/workhistorylist', + method: 'post', + data: data + }); +} +/** + * 获取集团内部工作经历 + */ + export function editUserPwd(data?: editPwdCont) { + return request({ + url: '/hrapi/staff/editpassword', + method: 'post', + data: data + }); +} +/** + * 获取个人相信信息 + */ + export function getMyInfoing(data?: contIdes) { + return request({ + url: '/hrapi/staff/get_archives_cont', + method: 'post', + data: data + }); +} +/** + * 修改个人头像 + */ + export function editMyInfoIcon(data: editUserIcon) { + return request({ + url: '/hrapi/staff/edit_people_icon', + method: 'post', + data: data + }); +} +/** + * 编辑人员行政组织关系 + */ + export function editMyOrgUndertake(data: editUserAboutOrg) { + return request({ + url: '/hrapi/staff/edit_man_org_cont', + method: 'post', + data: data + }); +} +/** + * 编辑个人相信信息 + */ + export function editMyInfoing(data?: userManOrFucont) { + return request({ + url: '/hrapi/staff/edit_manmain_cont', + method: 'post', + data: data + }); +} +/** + * 添加紧急联系人 + */ + export function addEmergencyContactInfo(data?: emergencyContactAdd) { + return request({ + url: '/hrapi/staff/addemercycall', + method: 'post', + data: data + }); +} +/** + * 编辑紧急联系人 + */ + export function editEmergencyContactInfo(data?: emergencyContactInfo) { + return request({ + url: '/hrapi/staff/editemercycall', + method: 'post', + data: data + }); +} +/** + * 编辑紧急联系人状态 + */ + export function editEmergencyContactState(data?: delJjlxr) { + return request({ + url: '/hrapi/staff/editemercycallstate', + method: 'post', + data: data + }); +} +/** + * 添加双职工 + */ + export function addDoubleWorkCont(data?: doubleWorkCont) { + return request({ + url: '/hrapi/staff/adddoubleworker', + method: 'post', + data: data + }); +} +/** + * 编辑双职工内容 + */ + export function editDoubleWorkCont(data?: doubleWorkCont) { + return request({ + url: '/hrapi/staff/eidtdoubleworker', + method: 'post', + data: data + }); +} +/** + * 编辑双职工状态 + */ + export function editDoubleWorkState(data?: delJjlxr) { + return request({ + url: '/hrapi/staff/eidtdoubleworkerstate', + method: 'post', + data: data + }); +} +/** + * 添加家庭成员 + */ + export function addFamilyMembersCont(data?: familyMembersContAdd) { + return request({ + url: '/hrapi/staff/addfamilymembers', + method: 'post', + data: data + }); +} +/** + * 编辑家庭成员 + */ + export function editFamilyMembersCont(data?: familyMembersContEdit) { + return request({ + url: '/hrapi/staff/editfamilymembers', + method: 'post', + data: data + }); +} +/** + * 编辑家庭成员状态 + */ + export function editFamilyMembersContState(data?: delJjlxr) { + return request({ + url: '/hrapi/staff/editfamilymemberssatte', + method: 'post', + data: data + }); +} +/** + * 添加教育经历 + */ + export function addEducExpCont(data?: addEducExpInfoing) { + return request({ + url: '/hrapi/staff/addeducationalexperience', + method: 'post', + data: data + }); +} +/** + * 编辑教育经历 + */ + export function editEducExpCont(data?: editEducExpInfoing) { + return request({ + url: '/hrapi/staff/editeducationalexperience', + method: 'post', + data: data + }); +} +/** + * 编辑教育经历状态 + */ + export function editEducExpState(data?: delJjlxr) { + return request({ + url: '/hrapi/staff/editeduexpstate', + method: 'post', + data: data + }); +} + +/** + * 添加集团外部工作经历 + */ + export function addGroupExternalWork(data?: addGroupExternalWorkCont) { + return request({ + url: '/hrapi/staff/addworkhistorycont', + method: 'post', + data: data + }); +} +/** + * 编辑集团外部工作经历 + */ + export function editGroupExternalWork(data?: editGroupExternalWorkCont) { + return request({ + url: '/hrapi/staff/editworkhistorycont', + method: 'post', + data: data + }); +} +/** + * 编辑集团外部工作经历 + */ + export function editGroupExternalWorkState(data?: delJjlxr) { + return request({ + url: '/hrapi/staff/editworkhistorystate', + method: 'post', + data: data + }); +} +/** + * 添加集团内部工作经历 + */ + export function addGroupInnerWork(data?: groupInnerWorkCont) { + return request({ + url: '/hrapi/staff/addinsidehistory', + method: 'post', + data: data + }); +} +/** + * 编辑集团内部工作经历 + */ + export function editGroupInnerWork(data?: groupInnerWorkCont) { + return request({ + url: '/hrapi/staff/eidtinsidehistoryworkcont', + method: 'post', + data: data + }); +} +/** + * 编辑集团内部工作经历 + */ + export function editGroupInnerWorkState(data?: delJjlxr) { + return request({ + url: '/hrapi/staff/editordelinsideworkhistorystate', + method: 'post', + data: data + }); +} + +/** + * 获取工作时间列表 + */ + export function haveTeamTimeList(data: teamClassQueay) { + return request({ + url: '/hrapi/rostering/team_time_list', + method: 'post', + data: data + }); +} +/** + * 搜索成员 + */ + export function searchUserCont(data: searchPeoleCont): AxiosPromise>{ + return request({ + url: '/kpiapi/powerpc/search_people', + method: 'post', + data: data + }); +} +/** + * 获取人员档案 + */ + export function analysisRedisExelect(data?: any): AxiosPromise { + return request({ + url: '/hrapi/staff/analysisRedisExelect', + method: 'post', + data: data + }); +} + + +/** + * 根据行政组织ID获取当前行政组织人员及子行政组织 + */ + export function gainSunOrgAndUser(data: any) { + return request({ + url: '/hrapi/staff/gainSunOrgAndUser', + method: 'post', + data: data + }); +} +/** + * 搜索组织和人员 + */ +export function searchOrgUser(data: any) { + return request({ + url: '/hrapi/staff/searchOrgUser', + method: 'post', + data: data + }); +} +/** + * 获取角色列表 + */ + export function gainAllRole(data: any) { + return request({ + url: '/systemapi/public/gainAllRole', + method: 'post', + data: data + }); +} + +//获取性格色彩 +export function getCharacterColor(data?: contNumber):any { + return request({ + url: '/hrapi/staff/getPeopleColor', + method: 'post', + data: data + }); +} + +/** + * 设置可见范围 + */ + export function setLookViews(data: any) { + return request({ + url: '/systemapi/app/setLookViews', + method: 'post', + data: data + }); +} + +/** + * 设置管理使用人员 + */ + export function setAppManagerInfo(data: any) { + return request({ + url: '/systemapi/app/setAppManagerInfo', + method: 'post', + data: data + }); +} +/** + * 获取可见范围数据及应用管理 + */ + export function gainLookViews(data: any) { + return request({ + url: '/systemapi/app/gainLookViews', + method: 'post', + data: data + }); +} +/** + * 获取应用下属表单 + */ + export function gianAppFormTable(data: any) { + return request({ + url: '/systemapi/app/gianAppFormTable', + method: 'post', + data: data + }); +} + +// 获取奖惩记录 +export function getRewardsAndPunishmentsCont(data?: any) { + return request({ + url: '/hrapi/staff/rewPunList', + method: 'post', + data: data + }) +} +//添加奖惩记录 +export function addRewardsAndPunishmentsCont(data?: RewardsAndPunishmentsContAdd) { + return request({ + url: '/hrapi/', + method: 'post', + data: data + }) +} +//编辑奖惩记录 +export function editRewardsAndPunishmentsCont(data?: RewardsAndPunishmentsContEdit) { + return request({ + url: '/hrapi/', + method: 'post', + data: data + }) +} +//编辑奖惩记录状态 +export function editRewardsAndPunishmentsContState(data?: delJjlxr) { + return request({ + url: '/hrapi/', + method: 'post', + data: data + }) +} +//获取考评记录 +export function getAppraisalrecordCont(data?: any) { + return request({ + url: '/hrapi/staff/assessmentRecords', + method: 'post', + data: data + }) +} +//添加考评记录 +export function addAppraisalrecordCont(data?: AppraisalrecordContAdd) { + return request({ + url: '/hrapi/', + method: 'post', + data: data + }) +} +//编辑考评记录 +export function editAppraisalrecordCont(data?: AppraisalrecordContEdit) { + return request({ + url: '/hrapi/', + method: 'post', + data: data + }) +} +//编辑考评记录状态 +export function editAppraisalrecordContState(data?: delJjlxr) { + return request({ + url: '/hrapi/', + method: 'post', + data: data + }) +} + +//获取人才盘点 +export function getTalentinventoryCont(data?: contId) { + return request({ + url: '/hrapi/', + method: 'post', + data: data + }) +} +//添加人才盘点 +export function addTalentinventoryCont(data?: TalentinventoryContAdd) { + return request({ + url: '/hrapi/', + method: 'post', + data: data + }) +} +//编辑人才盘点 +export function editTalentinventoryCont(data?: TalentinventoryContEdit) { + return request({ + url: '/hrapi/', + method: 'post', + data: data + }) +} +//编辑人才盘点状态 +export function editTalentinventoryContState(data?: delJjlxr) { + return request({ + url: '/hrapi/', + method: 'post', + data: data + }) +} +//获取用工关系 +export function getEmploymentrelationsCont(data?: contId) { + return request({ + url: '/hrapi/staff/peopleEmploymentRelationship', + method: 'post', + data: data + }) +} +//添加用工关系 +export function addEmploymentrelationsCont(data?: EmploymentrelationsContAdd) { + return request({ + url: '/hrapi/', + method: 'post', + data: data + }) +} +//编辑用工关系 +export function editEmploymentrelationsCont(data?: EmploymentrelationsContEdit) { + return request({ + url: '/hrapi/', + method: 'post', + data: data + }) +} +//编辑用工关系状态 +export function editEmploymentrelationsContState(data?: delJjlxr) { + return request({ + url: '/hrapi/', + method: 'post', + data: data + }) +} +//获取职称信息 +export function getJobtitleCont(data?: contId) { + return request({ + url: '/hrapi/staff/peopleTitle', + method: 'post', + data: data + }) +} +//添加职称信息 +export function addJobtitleCont(data?: JobtitleContAdd) { + return request({ + url: '/hrapi/', + method: 'post', + data: data + }) +} +//编辑职称信息 +export function editJobtitleCont(data?: JobtitleContEdit) { + return request({ + url: '/hrapi/', + method: 'post', + data: data + }) +} +//编辑职称信息状态 +export function editJobtitleContState(data?: delJjlxr) { + return request({ + url: '/hrapi/', + method: 'post', + data: data + }) +} +//获取证书信息 +export function getCertificatesCont(data?: any) { + return request({ + url: '/hrapi/staff/peopleHonor', + method: 'post', + data: data + }) +} +//添加证书信息 +export function addCertificatesCont(data?: CertificatesContAdd) { + return request({ + url: '/hrapi/', + method: 'post', + data: data + }) +} +//编辑证书信息 +export function editCertificatesCont(data?: CertificatesContEdit) { + return request({ + url: '/hrapi/', + method: 'post', + data: data + }) +} +//编辑证书信息状态 +export function editCertificatesContState(data?: delJjlxr) { + return request({ + url: '/hrapi/', + method: 'post', + data: data + }) +} + +//获取人员信息 +export function getPeopleKey(data?: any) { + return request({ + url: '/hrapi/staff/getPeopleKey', + method: 'post', + data: data + }) +} +//获取人员信息 +export function getUserCont(data?: any) { + return request({ + url: '/systemapi/user/get_user_cont', + method: 'get', + data: data + }) +} diff --git a/src/api/api/hr/people/type.ts b/src/api/api/hr/people/type.ts new file mode 100644 index 0000000..9be7c57 --- /dev/null +++ b/src/api/api/hr/people/type.ts @@ -0,0 +1,751 @@ +/** + * 搜索条件 + */ +export interface searchCriteriaForPeople extends PageQuery{ + keywords?:string; //关键字 + adminorg?:number; //行政组织 + emptype?:number[]; //用工关系 +} +/** + * 人员基本信息 + */ +export interface archivesCont{ + id?:number //2909; + number?:string //"201218"; + name?:string //"苏振"; + icon?:string //""; + hireclass?:number //1; + emptype?:number //8; + company?:number //296; + maindeparment?:number //32; + sunmaindeparment?:number //0; + deparment?:string //""; + adminorg?:number //32; + teamid?:number//0; + position?:number //117; + jobclass?:number //3; + jobid?:number //25; + jobleve?:number //0; + time?:number //1657002602; + eitetime?:number //1657002602; + wechat?:string //""; + workwechat?:string //""; + state?:number //1; + key?:number //4929995352838144; + isadmin?:number //0; + password?:string //"8d135342fcc70ab05332f560031a6112"; + role?:string //""; + idcardno?:string //"370481197603084270"; + passportno?:string //""; + globalroaming?:string //""; + mobilephone?:string //"15020711996"; + email?:string //""; + gender?:number //1; + birthday?:number //195062400; + myfolk?:string //"汉族"; + nativeplace?:string //"济宁高新区恒信公馆"; + idcardstartdate?:number //1173801600; + idcardenddate?:number //1804953600; + idcardaddress?:string //""; + idcardIssued?:string //""; + health?:number //1; + maritalstatus?:number //2; + internaltelephone?:string //""; + currentresidence?:string //"滕州市西岗镇柴里矿生活去10排8号"; + constellationing?:number //12; + isdoubleworker?:number //2; + isveterans?:number //2; + veteransnumber?:string //""; + jobstartdate?:number //825609600; + entrydate?:number //0; + probationperiod:number //0; + planformaldate?:number //0; + politicaloutlook?:number //1; + nameusedbefore?:string //""; + ruleid?:number //0; + iconphoto?:string //""; + responsibledepartment?:string //""; + responsibledepartmentjson?:string //""; + companyname?:string //"山东荣信集团有限公司"; + maindeparmentname?:string //"甲醇分厂"; + sunmaindeparmentname?:string //""; + workpostname?:string //""; + positionname?:string //"副厂长"; + keystr?:string //"4929995352838144"; + teamname?:string //""; + personincharge?:number // 2 + //新增 + interests?:string + bloodtype?:string + natureofAccount?:string +} +/** + * 员工列表 + */ + export type archivesList = PageResult +/** + * id + */ +export interface contId { + id:string +} +/** + * 人员与行政组织关系 + */ +export interface peopleAboutOrg{ + id?:number + key?:number + group?:number + company?:number + department?:number + workshop?:number + workshopsection?:number + position?:number + gradepositions?:number + starttime?:number + endtime?:number + team?:number + changetype?:number + time?:number + state?:number + assigntype?:number + jobid?:number + orgallname?:string + postname?:string + starttimeing?:string + endtimeing?:string +} +/** + * 人员与行政组织关系列表 + */ + export type peopleAboutOrgList = PageResult +/** + * 紧急联系人 + */ +export interface emergencyContact{ + id:number + number?:string + name?:string + relationship?:string + tel?:string + time?:number + state?:number + key?:number +} +/** + * 双职工 + */ +export interface shuangzhigong{ + id:number + number?:string + name?:string + company?:string + department?:string + position?:string + tel?:string + time?:number + state?:number + key?:number + + workcouple?:string + section?:string + job?:string + level?:string + mobilephone?:string +} +/** + * 家庭成员 + */ +export interface jiatingchengyuan{ + id:number + number?:string + relationship?:string + name?:string + company?:string + deparment?:string + postnme?:string + tel?:string + politicaloutlook?:number + time?:number + key?:number + state?:number + politicaloutlookcn?:string +} +/** + * 教育经历 + */ +export interface jiaoyujingli{ + id:number + number?:string + education?:number + graduationschool?:string + subject?:string + admissiontime?:number + graduationtime?:number + time?:number + level?:number + academicdegree?:number + key?:number + state?:number + academicdegreecn?:string + educationcn?:string + admissiontimestr?:string + graduationtimestr?:string + educationtype?:string + faculty?:string + schooltype?:string +} +/** + * 集团内部工作 + */ +export interface innerWorkCont{ + id:string + starttimg?:string + endtimg?:string + allorgname?:string + orgid?:number + postid?:number + postname?:string + postnlevel?:number + teamid?:number + teamname?:string + changetype?:number + changetypename?:string + assigntype?:number + superiorpostname?:string + superiormanname?:null + subordinatescount?:number + jobid?:number + jobname?:string +} +/** + * 集团外部工作经历 + */ +export interface outsideWork{ + id:number + number:string + key:number + company:string + deparment:string + job:string + entrytime:number + leavedate:number + witness:string + witnesstel:string + remarks:string + time:number + state:number + starttimg:string + endtimg:string +} +/** + * 修改密码 + */ +export interface editPwdCont extends contId{ + pwd:string + pwdes:string +} + +/** + * 获取个人信息详情 + */ +export interface myinfostruct{ + id?:number //78, + number?:string //"300450", + name?:string //"秦东", + icon?:string //"https://wework.qpic.cn/wwhead/duc2TvpEgSTPk74IwG7BswsATgrfz6BGVPpX5QU5uvaCiaxk3ReIlRhdUwIeiaBBazzCLiaHI8VuA4/0", + hireclass?:number //1, + emptype?:number //8, + company?:number //309, + maindeparment?:number //102, + sunmaindeparment?:number //272, + deparment?:string //"", + adminorg?:number //272, + teamid?:number //1, + position?:number //2184, + jobclass?:number //5, + jobid?:number //36, + jobleve?:number //3, + time?:number //1656984567, + eitetime?:number //1671160648, + wechat?:string //"", + workwechat?:string //"KaiXinGuo", + state?:number //1, + key?:number //15993815826844528, + isadmin?:number //4, + password?:string //"ecffe8715d2d3c2743bab6abc90e1331", + role?:string //"1", + idcardno?:string //"370921198810151515", + passportno?:string //"", + globalroaming?:string //"", + mobilephone?:string //"15069130853", + email?:string //"", + gender?:number //1, + birthday?:number //592848000, + myfolk?:string //"汉族", + nativeplace?:string //"山东省宁阳县华丰镇白土厂村15号", + idcardstartdate?:number //0, + idcardenddate?:number //0, + idcardaddress?: string//"", + idcardIssued?:string //"", + health?:number //2, + maritalstatus?:number //2, + internaltelephone?:string //"", + currentresidence?:string //"山东省宁阳县华丰镇矿区花园小区1号楼1单元302室", + constellationing?:number //1, + isdoubleworker?:number //2, + isveterans?:number //2, + veteransnumber?:string //"", + jobstartdate?:number //0, + entrydate?:number //0, + probationperiod:number //0, + planformaldate?:number //0, + politicaloutlook?:number //1, + nameusedbefore?:string //"", + iconphoto?:string //"data:image/jpeg;base64,/9j/4AAQSkZJRgABAgAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAB4AGQDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3+iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiuK8afE3RfBhEM+65vCM+RERkfU9q8s1L9ojUpfMXTtLtoBkbTIS5Az+A9aAPoiivnSy/aJ1aIQrdaTbTgMfMcMVZhnjHYHHtXVJ+0LoTzqg0m9CFsFyy8DjnH50WA9horN0fX9L161W50y9huI2GfkbkfUda0qACiiigAooooAKKKKACvNfi94/n8IaRFaad5f268DDeSCYk6E4znPPB6cGvSq+N/G+pX3iXxxfzzyO7GYxxgrjYgOFAHYYoA5ue5utQuGklkeWRjyTyTWtp/g/Vb6MSCHYh6F+K6/QfDUNqql0DMeQxFd9Y28SxqCOg5riqYuztE76eDuryPJofhvrMr4xGBjPLVU1TwPrWmAu1uZYx1aPkV77FEkZGBjj0qd7VHjJOMnsalYqZTwsD578KeI77wrrkN/b8SRHlWHUHqK+uPDmvWviXQ7bVLQ/u5l5U9VYdRXhPj7wnFc6c19bRKlzB8x2jG9e4rq/gLqvm6Pf6UyyboHEoJOVw3B7cHj1NddKqqkbo46tJ03Y9gooorQyCiiigAooooARlDKVPQjBr5BuNOksfGd/ZlQGguJFYAYxhiK+v68I+IPh5NJ+Icmp7D9m1FFkzjgOMhh/I/jUVHaLNKSvNGfbXq+XFFDH5jg9DwK37N7yKbzJ7B44iP9YrBl/H0rmpNAu7jUVnspmjhOPuqCf1rq9Pt7rT7SQ3OpTz5J2q4TGMcDgfrXm8sbHqXka0d1HcQwsqEDndx6VKNQjuUEcNtI7DrjA/nVbQZPO0l4jgsSV3d6zIdH1a01PdFqckaDO5PKVt47cnkU4aikjWmiS8tpYnjIyCCrDmsr4K2Mtvq2vuMeRGwh6dWDHv8AQH8xW7bi5SLF08byAfeRSufwya3PAelHTdHupGUA3d5LOP8AdLYH6DP4104bRuxyYnZHU0UUV1nGFFFFABRRRQAV598WkB0GxkI+7dYz6ZU/4V6DXMfEGxS+8FagGdEaBPPRnIABXnGT6jI/Gk1dFRdpJnEaA6yW6bSOnftTPFp+xadCsQIeeUIZOy9//rfjWJ4Xvz5WD9a19V1xY0XzxhG+VQR1NeW0k7WPYTbsyx4VvbRdHbdMdyNhmxkA5xW+syysY5gN6n5Hx1FYGj6qsdoqi2mWIdcQnn3rZe7tryJfKcM6Y5HUZ7GrtbUmSd9S7MuWVVHLcV2kUawxJGgAVQAAK47SUa51GBOysGb8Oa7SurD7NnDinqkFFFFdByhRRRQAUVxHi74oaL4R1A6fNFcXV4FDPHCBhM9AxJ6kc8Zrz7Xvj1fywGLRNKjtXPWa4fzCPouAPzzVKDZLkke8V4n8cPHWmS6B/wAI3pt3Hc3M8qtcmF9yxopyFJHGS2OO2Oe1eXan4/8AFWs20i3mt3jRygrJGj7EI9Nq4GKwYrYSISRnNWqbuS6iOl8IeINsqRTPyDg5r0GWKDV5FBfKg5BU9DXjCWksM6ywN8wPavR/D8d9NBHcRo+GGC0RHOPVT3+lcOJw7i+Y9DC4hSXKeiafZFAsf2mQADocY/lU17tgdW+UMBjPqKyrCK8chSbgkdyuKzfG2pLpFglmj7tRvPlUA58tP4nJ+nT3rmUJTaijpnVUU5M1tE+Iul6VrFzFeRSNBsCrPGN2GzyMenTn2rvtK8a+HNaYJZavbNIeBE7bHJ/3WwT+FfNKjaKy5gY7n5eAen+Fe59VjCKSPB+tSnNtn2RRXyhpfi7X9ElX7Fql1HH2TeWX8VPBr0XQvjVdwsket2aXEXea3G1x7leh/Ss5UJLY0VaL3PaqKxdN8W6Dq1kl3a6pbeW3aSQIwPoQcGisrM05kfIs11dX80l1dzyTzync8srFmY+5PJpChwM0sC/IvsKsrGGBY/QV2qOhyOWpmonzTJjjINX7H/j3Q+oNQop+1Sj2FSQsLe2w5IKgnCjtmiKswbuiyAI8kDJNbHh3xNd6BeCSIGWFiBNAeVcf0Poa57z2kl8qNQMrnc57UtqUcEku/ue/07CiVpaCjeOqPoOPxT4e/sX+1fNxEB8y7TuVv7pA715JretSa7qz6i/yRE7YkIxtXt9TVDw/fxWupRSXFrHcWzHDQOThsMP16DPoTTL+2A1GZmVkyxGw9vQYrKlRUamhtWrOULMeD19KozkNNjsT+VKAUkZQxA9M8Uq88jrnqa7HqcaViAf6xoz+GakUlVKn8aimB87d6c1YADrkelSkU2S29w8MWwdM0VGvA60VauiXYu+FfD48QySILkQBV4YrnJOT0z6A1rzeCryGKIrPAyyIXG7K44Bx068iiivmcXmFejiXCL006eR6EKMJRuzOTwlfC5EjtAEc7PkYsQOTnp/+skVe1HwlCunyPDLIJo0LfvMFXwCSOBx90469KKKKWPrVEm2enh8DRlRnOS1V/wAFc4ooyQq+MvCSpHqP/wBVWUdTHmMDDDOR3oor30eEy1p8e61RyM7ZSD9Dx/hXUeIbXTLdNPFnNI92Yc3iuDhX9uOnX8AKKKqK99GcpPlaOXClpnPvToxgj0JxRRWxDGSICTz14ptucqVxlh70UVL3GtibyyaKKKsm5//Z", + responsibledepartment?:string //"", + responsibledepartmentjson?:string //"", + birthdaytime?:string //"1988-10-15", + idcardstarttimedata?:string //"", + idcardendtimedata?:string //"", + entrydatetime:string //"", + planformaldatetime?:string //"", + doubleworkerlist?:any //null, + educationalexperience?:any //null, + emergencycontact?:any //null, + memberoffamily?:any //null, + workhistorylist?:any //null, + groupworkhistorylist?:any //null, + idstr?:string //"78", + companyname?:string //"山东恒信高科能源有限公司", + maindeparmentname?:string //"企管部", + adminorgname?:string //"", + positionname?:string //"开发主管", + jobclassname?:string //"基层管理", + jobidname?:string //"主管", + politicaloutlookname?:string //"群众", + jobstartdatestr?:string //"", + entrydatestr?:string //"", + personincharge?:number //2, + sunmaindeparmentname?:string //"企管", + workpostname?:string //"", + teamname?:string //"长白班", + allorglist?:number[][] //[309,102,272], + ruleid?:string //"0", + rulename?:string //"", + orgreslist?:any //null + keystr?:string // + interests?:string + bloodtype?:string + natureofAccount?:string +} +/** + * 多重Id + */ +export interface contIdes { + id:number; + idstr:string; +} +/** + * 提交修改人员主副信息 + */ +export interface userManOrFucont{ + id?: string + name?: string + mobilephone?: string + idcardno?: string + entrydatetime?: string + probationperiod?: number + confirmationdate?: string + jobstartdatestr?: string + nameusedbefore?: string + gender?: number + myfolk?: string + politicaloutlook?: number + health?: number + birthdaytime?: string + idcardstarttimedata?: string + idcardendtimedata?: string + idcardaddress?: string + idcardIssued?: string + currentresidence?: string + nativeplace?: string + email?: string + internaltelephone?: string + hireclass?: number + emptype?: number + isveterans?: number + veteransnumber?: string + passportno?: string + globalroaming?: string + wechat?: string + workwechat?: string + constellationing?: number + maritalstatus?: number + interests?:string + bloodtype?:string + natureofAccount?:string +} +/** + * 编辑紧急联系人 + */ +export interface emergencyContactInfo extends contId{ + name?: string + relationship?: string + mobilephone?: string + political?: string + company?: string +} +/** + * 添加紧急联系人 + */ +export interface emergencyContactAdd extends contId{ + list?:emergencyContactCont[] +} +export interface emergencyContactCont{ + name?: string + relationship?: string + mobilephone?: string +} +/** + * 删除紧急联系人 + */ +export interface delJjlxr extends contId{ + state:number; + isdel:number; +} +/** + * 双职工 + */ +export interface doubleWorkCont extends contId{ + name?:string + company?:string + department?:string + position?:string + mobilephone?:string + + workcouple?:string + section?:string + job?:string + level?:string + time?:string +} +/** + * 家庭成员 + */ +export interface familyMembersCont{ + id?:string + name?: string + relationship?: string + mobilephone?: string + company?: string + department?:string + politicaloutlook?: number +} +/** + * 添加家庭成员 + */ + export interface familyMembersContAdd extends contId{ + list?:familyMembersCont[] +} +/** + * 编辑家庭成员 + */ + export interface familyMembersContEdit extends familyMembersCont{ + id?: string + } +/** + * 教育经历基础参数 + */ +export interface educExpInfo{ + graduationschool?:string //"宁阳实验高中", + subject?:string //"理科", + education?:number//3, + admissiontime?:string //"2005-09-09", + graduationtime?:string //"2008-06-06", + academicdegree?:string //"1", + level?:string //"1" + educationtype?:string + faculty?:string + schooltype?:string +} +/** + * 编辑教育经历 + */ + export interface editEducExpInfoing extends educExpInfo{ + id:string + } +/** + * 添加教育经历 + */ + export interface addEducExpInfoing extends contId{ + list?:educExpInfo[] +} +/** + * 集团外部工作经历 + */ +export interface groupExternalWork{ + company?:string //"济南易搜集团", + department?:string //"技术部", + position?:string //"程序员", + entrytime?:string //"2010-10-09", + leavedate?:string //"2013-12-06", + witness?:string //"石娟柯", + witnesstel?:string //"15069130853", + remarks?:string //"看看手机打开" +} +/** + * 编辑外部工作经历 + */ + export interface editGroupExternalWorkCont extends groupExternalWork{ + id:string + } +/** + * 添加外部工作经历 + */ + export interface addGroupExternalWorkCont extends contId{ + list?:groupExternalWork[] +} +/** + * 添加集团内部工作履历 + */ +export interface groupInnerWorkCont extends contId{ + orgid?:string + position?:string + gradepositions?:number + starttime?:string + endtime?:string + changetype?:number + assigntype?:number + team?:string + jobid?:string +} + +/** + * 修改头像 + */ +export interface editUserIcon{ + id:number; + iconpath:string; +} +/** + * 编辑人员行政组织关系 + */ +export interface editUserAboutOrg{ + id:string; + orgid?:number; + position?:number; + teamid?:number; + jobid?:number; + jobleve?:number; + ruleid?:string; + personInCharge:any; + orgreslist?:any; + resallorg?:any; +} +/** + * 排版类型 + */ +export interface teamClassQueay{ + name?:"" +} +export interface teamRule{ + id:string; + sort:number; + teamid:string; +} +export interface teamList{ + id:string; + title:string; + startTime:string; + endTime:string; +} +/** + * 排班类型模板 + */ +export interface teamClassCont{ + id:string; + state?:number; + states:boolean; + rulename:string; + name:string; + rule:teamRule[]; + list:teamList[]; +} +/** + * 搜索成员条件 + */ + export interface searchPeoleCont extends PageQuery{ + name?:number|string; //关键字 +} +/** + * 搜索成员结果 + */ +export interface queryPeopleCont{ + id:string // "15993815826844528", + employeeName:string // "秦东", + isLeave:string // "0", + open:boolean // "false", + icon:string // "https://wework.qpic.cn/wwhead/duc2TvpEgSTPk74IwG7BswsATgrfz6BGVPpX5QU5uvaCiaxk3ReIlRhdUwIeiaBBazzCLiaHI8VuA4/0", + iconToBase64:string // + wechat:string // "KaiXinGuo", + departmentid:number // 102, + departmentname:string // "企管部", + postid:number // 794, + postname:string // "主管", + tema:number // 1, + temaname:string // "长白班" +} +//根据工号获取性格色彩 +export interface contNumber{ + number:number; +} +export interface charactercolor{ + id:string; + number:number; + color?:string; +} + +//奖惩记录 +export interface jiangchengjilu{ + id:string; + level:string; + type:string; + content:string; + time:string; + company:string; +} +export interface RewardsAndPunishmentsCont{ + id?:string; + level?:string; + type?:string; + content?:string; + time?:string; + company?:string; +} +//添加奖惩记录 +export interface RewardsAndPunishmentsContAdd extends contId{ + list?:RewardsAndPunishmentsCont[] +} + +// 编辑奖惩记录 +export interface RewardsAndPunishmentsContEdit extends RewardsAndPunishmentsCont{ + id?: string +} +// 考评记录 +export interface kaopingjilu{ + id?:string; + level?:string; + year:string; +} +export interface AppraisalrecordCont{ + id?:string; + level?:string; + year?:string; +} +// 添加考评记录 +export interface AppraisalrecordContAdd extends contId{ + list?:AppraisalrecordCont[] +} +// 编辑考评记录 +export interface AppraisalrecordContEdit extends AppraisalrecordCont{ + id?: string +} +// 人才盘点 +export interface rencaipandian{ + id?:string; + career?:string; + expecthelp:string; +} +export interface TalentinventoryCont{ + id?:string; + career?:string; + expecthelp?:string; +} +// 添加人才盘点 +export interface TalentinventoryContAdd extends contId{ + list?:TalentinventoryCont[] +} +// 编辑人才盘点 +export interface TalentinventoryContEdit extends TalentinventoryCont{ + id?: string +} +// 用工关系 +export interface yonggongguanxi{ + id?:string; + entrychannel?:string; + startdate:string; + seniority?:string; + joindate?:string; + cliqueseniority?:string; +} +export interface EmploymentrelationsCont{ + id?:string; + entrychannel?:string; + startdate?:string; + seniority?:number; + joindate?:string; + cliqueseniority?:number; +} +// 添加用工关系 +export interface EmploymentrelationsContAdd extends contId{ + list?:EmploymentrelationsCont[] +} +// 编辑用工关系 +export interface EmploymentrelationsContEdit extends EmploymentrelationsCont{ + id?: string +} +// 职称信息 +export interface zhichengxinxi{ + id?:string; + level?:string; + series?:string; + profession?:string; + serialnumber?:string; + effectivetime?:string; +} +export interface JobtitleCont{ + id?:string; + level?:string; + series?:string; + profession?:string; + serialnumber?:string; + effectivetime?:string; +} +// 添加职称信息 +export interface JobtitleContAdd extends contId{ + list?:JobtitleCont[] +} +// 编辑职称信息 +export interface JobtitleContEdit extends JobtitleCont{ + id?: string +} +//证书信息 +export interface zhengshuxinxi{ + id?:string; + name?:string; + number?:string; + issuingunit?:string; + effectivetime?:string; + deadline?:string; + validity?:string; + iseffective?:string; +} +export interface CertificatesCont{ + id?:string; + name?:string; + number?:string; + issuingunit?:string; + effectivetime?:string; + deadline?:string; + validity?:string; + iseffective?:string; +} +// 添加证书信息 +export interface CertificatesContAdd extends contId{ + list?:CertificatesCont[] +} +// 编辑证书信息 +export interface CertificatesContEdit extends CertificatesCont{ + id?: string +} \ No newline at end of file diff --git a/src/api/api/hr/post/index.ts b/src/api/api/hr/post/index.ts new file mode 100644 index 0000000..c72f218 --- /dev/null +++ b/src/api/api/hr/post/index.ts @@ -0,0 +1,53 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { searchPost,postContList,postContData,editPostditOrDel } from './type'; +/** + * 获取岗位 + */ + export function getPostContPage(data?: searchPost): AxiosPromise { + return request({ + url: '/hrapi/org/positionlist', + method: 'post', + data: data + }); +} +/** + * 获取本行政组织下的职位(岗位)列表不包含子行政组织 + */ + export function getPostContNotSunPage(data?: searchPost): AxiosPromise { + return request({ + url: '/hrapi/org/get_my_posit_list', + method: 'post', + data: data + }); +} +/** + * 添加岗位信息 + */ + export function addPostCont(data?: postContData){ + return request({ + url: '/hrapi/org/addpositioncontpublic', + method: 'post', + data: data + }); +} +/** + * 编辑岗位信息 + */ + export function editPostCont(data?: postContData){ + return request({ + url: '/hrapi/org/editpositioncontpublic', + method: 'post', + data: data + }); +} +/** + * 批量删除/编辑岗位状态 + */ + export function baseDelPostCont(data?: editPostditOrDel){ + return request({ + url: '/hrapi/org/basedelpostcont', + method: 'post', + data: data + }); +} diff --git a/src/api/api/hr/post/type.ts b/src/api/api/hr/post/type.ts new file mode 100644 index 0000000..4226493 --- /dev/null +++ b/src/api/api/hr/post/type.ts @@ -0,0 +1,69 @@ +/** + * 搜索岗位 + */ + export interface searchPost extends PageQuery{ + name?: string; + number?: string; + duties?: string; + organization?: string; + incharge?:number; + department?: string; + state?:number; +} +/** + * 岗位内容分页列表信息 + */ + export type postContList = PageResult +/** + * 岗位内容 + */ +export interface postinfo{ + id?: any; + number?: string; + name?: string; + duties?: number; + time?: number; + state?: number; + administrativeorganization?: number; + superior?: number; + personincharge?: number; + department?: number; + menupermit?: string; + buttonpermit?: string; + school?: number; + kingdeeid?: string; + orglist?: string; + unifyid?: number; + dutiesname?: string; + dutiesnumber?: string; + aoname?: string; + aonumber?: string; + jobname?: string; + superiorname?: string; + superiornumber?: string; + departmentname?: string; + idstr?: string; + orglistary?: number[]; + status?:boolean; + } +/** + * 编辑岗位数据 + */ +export interface postContData{ + id?: number; + name?: string; //职位名称 + number?: string; //职位编码 + duties?: string; //职务 + organization?: string; //归属行政组织 + superior?: string|number; //上级 + incharge?: number; //是否为本部门负责人(1:是;2:否) + department?: string; //部门 +} +/** + * 删除或改变职务类别状态 + */ + export interface editPostditOrDel{ + id:string[]; + status?: number; + istrue?: number; +} diff --git a/src/api/api/hr/search/types.ts b/src/api/api/hr/search/types.ts new file mode 100644 index 0000000..bfd6fca --- /dev/null +++ b/src/api/api/hr/search/types.ts @@ -0,0 +1,10 @@ +export interface crumb{ + id:string; + title:string; +} + +export interface userOrgRole extends crumb{ + img:string; + isPick:number; + types:number; +} diff --git a/src/api/api/knowledge/index.ts b/src/api/api/knowledge/index.ts new file mode 100644 index 0000000..18b7868 --- /dev/null +++ b/src/api/api/knowledge/index.ts @@ -0,0 +1,45 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { UserDetail, UserQuery, NaviQuery, Navi ,PageParam,graphicformList} from './types'; + + +//获取当前用户详细信息 +export function getUserDetail(data: UserQuery): AxiosPromise { + return request({ + url: '/javasys/user/detail', + method: 'post', + data: data, + + }); +} + +//获取左侧导航栏信息 +export function getZxxyNavis(data: NaviQuery): AxiosPromise { + return request({ + url: '/javasys/archive/zxxy', + method: 'post', + data: data, + + }); +} + +//获取推荐分页 +export function getTuijian(data: PageParam): AxiosPromise { + return request({ + url: '/javasys/graphicform/cardlist', + method: 'post', + data: data, + + }); + +} + //获取轮播图数据 + export function getCarousel(data: PageParam): AxiosPromise { + return request({ + url: '/javasys/graphicform/carousel', + method: 'post', + data: data, + + }); + + } diff --git a/src/api/api/knowledge/scroll.js b/src/api/api/knowledge/scroll.js new file mode 100644 index 0000000..36426f0 --- /dev/null +++ b/src/api/api/knowledge/scroll.js @@ -0,0 +1,103 @@ + + +// 滚动监听器 +export function onScroll() { + + + // 获取所有锚点元素 + const navContents = document.querySelectorAll('.models') + + // 所有锚点元素的 offsetTop + const offsetTopArr = [] + navContents.forEach(item => { + offsetTopArr.push(item.offsetTop) + }) + // 获取当前文档流的 scrollTop + //const scrollTop = document.documentElement.scrollTop || document.body.scrollTop + const scrollTop = document.querySelector('.content').scrollTop || document.body.scrollTop + + // 定义当前点亮的导航下标 + let navIndex = 0 + for (let n = 0; n < offsetTopArr.length; n++) { + // 如果 scrollTop 大于等于第n个元素的 offsetTop 则说明 n-1 的内容已经完全不可见 + // 那么此时导航索引就应该是n了 + if (scrollTop + 210 >= offsetTopArr[n]) { + navIndex = n + } + //若滚动条已经到底则直接激活最后一个导航 + /* if (scrollTop + document.documentElement.clientHeight === document.documentElement.scrollHeight) { + navIndex = offsetTopArr.length - 1; + } */ + } + //active.value = navIndex + return navIndex; +} + +// 跳转到指定索引的元素 +/* export function scrollTo(index) { + + + // 获取目标的 offsetTop + // css选择器是从 1 开始计数,我们是从 0 开始,所以要 +1 + const targetOffsetTop = document.querySelector(`.content .models:nth-child(${index + 1})`).offsetTop + // 获取当前 offsetTop + let scrollTop = document.documentElement.scrollTop || document.body.scrollTop + // 定义一次跳 150 个像素 + const STEP = 50 + // 判断是往下滑还是往上滑 + if (scrollTop > targetOffsetTop) { + // 往上滑 + smoothUp() + } else { + // 往下滑 + smoothDown() + } + // 定义往下滑函数 + function smoothDown() { + // 如果当前 scrollTop 小于 targetOffsetTop 说明视口还没滑到指定位置 + if (scrollTop < targetOffsetTop) { + // 如果和目标相差距离大于等于 STEP 就跳 STEP + // 否则直接跳到目标点,目标是为了防止跳过了。 + if (targetOffsetTop - scrollTop >= STEP) { + scrollTop += STEP + } else { + scrollTop = targetOffsetTop + } + document.body.scrollTop = scrollTop + document.documentElement.scrollTop = scrollTop + // 关于 requestAnimationFrame 可以自己查一下,在这种场景下,相比 setInterval 性价比更高 + requestAnimationFrame(smoothDown) + } + } + // 定义往上滑函数 + function smoothUp() { + if (scrollTop > targetOffsetTop) { + if (scrollTop - targetOffsetTop >= STEP) { + scrollTop -= STEP + } else { + scrollTop = targetOffsetTop + } + document.body.scrollTop = scrollTop + document.documentElement.scrollTop = scrollTop + requestAnimationFrame(smoothUp) + } + } +} */ +export function formatDate(timestamp) { + var date = new Date(timestamp * 1000);//时间戳为10位需*1000,时间戳为13位的话不需乘1000 + + var Y = date.getFullYear() + '-'; + + var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-'; + + var D = date.getDate() + ' '; + + var h = date.getHours() + ':'; + + var m = date.getMinutes() + ':'; + + var s = date.getSeconds(); + + return Y + M + D + h + m + s; +} + diff --git a/src/api/api/knowledge/types.ts b/src/api/api/knowledge/types.ts new file mode 100644 index 0000000..fb111ba --- /dev/null +++ b/src/api/api/knowledge/types.ts @@ -0,0 +1,171 @@ +//用户查询 +export interface UserQuery { + userkey: string; + usertoken: string; +} + +//用户信息 +export interface UserDetail { + //证件号码 + idcardno?: string[]; + //姓名 + name: string; + //头像url + icon?: string; + //工号 + wmNumber: string; + //唯一识别码 + wmKey: string; + //adminorg + adminorg:string; + +} + +//导航栏查询 +export interface NaviQuery { + atParentId: string; + userkey: String, + usertoken: String, +} +//导航栏信息 +export interface Navi{ + + atId:string; + //档案分类名称 + atTitle:string; + //档案分类状态 + atStater:string; + //档案分类父级 + atParentId:string; + //写入时间 + atTime:string; + //添加人员 + atUid:string; + //排序 + atSort:string; + + //该导航栏中有无card + hasCard:Boolean; + +} +export type cardList = PageResult +//卡片 +export interface Graphicform { + gId?:number|string; + //标题 + gTitle?:string; + //关键字 + gKey?:string; + //描述 + gDescribe?:string; + //父级 + gParent?:number|string; + //分类 + gParentSun?:number|string; + //文档来源(1:原创;2:转载) + gSource?:number|string; + //转载地址 + gSourceUrl?:string; + //缩略图 + gThumbnail?:string; + //排序 + gSort?:number|string; + //评论设置(1:允许评论;2:禁止评论) + gComment?:number|string; + //访问权限(1:公开;2:分厂;3:工段;4:自定义) + gVisitStrat?:number|string; + //状态(1:草稿;2:发表;3:下架;4:删除) + gState?:number|string; + //写入时间 + gAddTime?:number|string; + //修改时间 + gEiteTime?:number|string; + //编辑人员 + gUserKey?:number|string; + //分厂 + gBfId?:number|string; + //工段 + gWsId?:number|string; + //班组 + gTeam?:number|string; + //是否允许下载(1:允许;2:禁止) + gDownloadState?:number|string; + //阅读量 + gRead?:number|string; + //评论数 + gComSum?:number|string; + //收藏数 + gCollectionSum?:number|string; + //点赞数 + gLikes?:number|string; + //推荐(1:推荐,2:不推荐) + gRecommend?:number|string; + //图文详情 + gContent?:string; + //踩数量 + gStepOn?:number|string; + //自定义可见范围 + gRange?:string; + //写入分厂 + gWriteBfid?:number|string; + //正文文档名称 + gTextName?:string; + //正文文档URL + gTestUrl?:string; + //物理地址 + gPhysicsPath?:string; + //写入人员组织 + gWriteGroup?:number|string; + //外部链接 + gOuterLink?:string; + +} +export interface PageParam extends PageQuery{ + total:number; + archivesTypeAtParentId?:string; //知识库or新闻资讯 + gParentSun?:string; //标题分类 + adminorg:string; + key:string; + userkey: string, + usertoken: string, + +} + +/** + * 卡片list + */ +export type graphicformList = PageResultJava + +/** + * 分页响应对象 + */ +interface PageResultJava { + /** + * 数据列表 + */ + list: T; + /** + * 数据总数 + */ + total: number; + //每页条数 + pageSize:number; + //总页数 + pages:number; + //前一页 + prePage:number; + // + size:number; + startRow:number; + //当前页 + pageNum:number; + + +} + +//标题下有无内容 +export interface ShowTitle { + atIdAndGParentSun: string;//导航栏id + hasCard:Boolean;//是否展示 +} + diff --git a/src/api/api/matrixapi/datacont.ts b/src/api/api/matrixapi/datacont.ts new file mode 100644 index 0000000..7226600 --- /dev/null +++ b/src/api/api/matrixapi/datacont.ts @@ -0,0 +1,17 @@ +//字段类型 +export const matrixType = [ + { + id:2, + name:"行政组织" + }, + { + id:3, + name:"分部" + } +]; +export const matrixTypes = [ + { + id:1, + name:"人力资源" + } +]; diff --git a/src/api/api/matrixapi/index.ts b/src/api/api/matrixapi/index.ts new file mode 100644 index 0000000..9fe50c0 --- /dev/null +++ b/src/api/api/matrixapi/index.ts @@ -0,0 +1,105 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { searchMatrix,matrixCont,editMatrixCont,editMatrixInfo,editStatus,chineseInitialFirstWord,sendMatrixField,getMatrixWord,orgAndUserMatrixCont } from './type'; + +/** + * 获取矩阵权限分页列表 + */ + export function getMatrixList(queryParams: searchMatrix): AxiosPromise> { + return request({ + url: '/systemapi/matrix/matrixlist', + method: 'post', + data: queryParams + }); + } +/** + * 添加矩阵 + */ +export function addMatrixCont(queryParams: editMatrixCont){ + return request({ + url: '/systemapi/matrix/addmatrixcont', + method: 'post', + data: queryParams + }); +} +/** + * 编辑矩阵 + */ +export function editMatrixCont(queryParams: editMatrixInfo){ + return request({ + url: '/systemapi/matrix/editmatrixcont', + method: 'post', + data: queryParams + }); +} +/** + * 编辑矩阵状态 + */ + export function editMatrixStatus(queryParams: editStatus){ + return request({ + url: '/systemapi/matrix/editstatuscont', + method: 'post', + data: queryParams + }); +} +/** + * 获取汉字首字母 + */ + export function getChineseInitial(queryParams: chineseInitialFirstWord){ + return request({ + url: '/systemapi/public/chinese_initial', + method: 'post', + data: queryParams + }); +} +/** + * 提交矩阵字段 + */ + export function sendMatrixField(queryParams: sendMatrixField){ + return request({ + url: '/systemapi/matrix/setup_matrix_field', + method: 'post', + data: queryParams + }); +} +/** + * 获取矩阵字段 + */ + export function getMatrixField(queryParams: getMatrixWord): AxiosPromise{ + return request({ + url: '/systemapi/matrix/get_matrix_field', + method: 'post', + data: queryParams + }); +} +/** + * 获取编号 + */ +export function getNumber(queryParams: getMatrixWord){ + return request({ + url: '/systemapi/public/send_number', + method: 'post', + data: queryParams + }); +} +/** + * 提交矩阵取值数据 + */ + export function submitMatrixData(queryParams: any){ + return request({ + url: '/systemapi/matrix/submit_matrix_data', + method: 'post', + data: queryParams + }); +} +/** + * 获取已经存在的矩阵信息 + */ + export function haveMatrixCont(queryParams: getMatrixWord){ + return request({ + url: '/systemapi/matrix/gain_matrix_data', + // url: 'http://localhost:9999/src/assets/data.json', + method: 'post', + data: queryParams + }); +} diff --git a/src/api/api/matrixapi/type.ts b/src/api/api/matrixapi/type.ts new file mode 100644 index 0000000..8716705 --- /dev/null +++ b/src/api/api/matrixapi/type.ts @@ -0,0 +1,120 @@ +export interface searchMatrix extends PageQuery{ + keywords?:string; //关键字 + adminorg?:number; //行政组织 +} +/** + * 矩阵类别内容 + */ +export interface matrixCont{ + id:number; + name:string; + center:string; + org:number; + orgname:string; + status:number; + time:number; +} +/** + * 编辑矩阵内容 + */ +export interface editMatrixCont{ + name:string; + center:string; + org:number|string; +} +/** + * 修改矩阵内容 + */ +export interface editMatrixInfo extends editMatrixCont{ + id:number; +} +/** + * 编辑状态 + */ +export interface editStatus{ + id:string[]; + status:number; + istrue:boolean; +} + +/** + * 矩阵字段 + */ +export interface martixFieldStruct{ + id:number; + name:string; //骨架名称 + types:number; //骨架类型(1:人力资源;2:行政组织;2:分部;) + condition:number; //骨架取值类型(1:作为条件使用;2:作为取值使用) + pinyin:string; //拼音(标识使用) + isedit:boolean; //是否可更改 + pyedit:boolean; //拼音是否可更改 +} +/** + * 矩阵字段列表 + */ +export interface martixFieldList{ + factor:martixFieldStruct[]; + outcome:martixFieldStruct[]; +} +/** + * 名称 + */ +export interface chineseInitialFirstWord{ + name:string; +} +/** + * 提交矩阵字段 + */ +export interface sendMatrixField extends martixFieldList{ + id:number; +} +/** + * 获取矩阵字段 + */ +export interface getMatrixWord{ + id:number; +} +/** + * 数据表格矩阵字段 + */ +export interface matrixTable{ + id:number; + label:string; + prop:string + types:number; +} +/** + * 自定义对象结构体 + */ +export interface objectStruct{ + [idx: string]: any +} +/** + * 穿梭框已选定值 + */ +export interface shuttleFramePickData{ + id:number|string; + name:string; + icon:string; +} +/** + * 权限矩阵具体行政组织和使用人 + */ +export interface orgAndUserMatrixCont{ + id:number|string; + number:string; + userlist:shuttleFramePickData[]; + types:number; + mcid:number; + mhid:number; +} + +//权限矩阵组合 +export interface matrixInfo{ + matrixid:number; + matrixName:string; + factorid:number; + factorName:string; + outcomeid:number; + outcomeName:string; +} diff --git a/src/api/api/menu/index.ts b/src/api/api/menu/index.ts new file mode 100644 index 0000000..edb3f48 --- /dev/null +++ b/src/api/api/menu/index.ts @@ -0,0 +1,128 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { MenuQuery, MenuVO, MenuForm,menuInfo } from './types'; + +/** + * 获取路由列表 + */ +export function listRoutesOld() { + return request({ + url: '/api/v1/menus/routes', + method: 'get' + }); +} +export function listRoutes() { + return request({ + url: '/systemapi/menus/get_routers_three', + method: 'get' + }); +} +/** + * 获取菜单树形列表 + * + * @param queryParams + */ +export function listMenusOld(queryParams: MenuQuery): AxiosPromise { + return request({ + url: '/api/v1/menus', + method: 'get', + params: queryParams + }); +} +export function listMenus(queryParams: MenuQuery): AxiosPromise { + return request({ + url: '/systemapi/menus/get_menus_three', + method: 'get', + params: queryParams + }); +} +/** + * 获取菜单下拉树形列表 + */ +export function listMenuOptionsOld(): AxiosPromise { + return request({ + url: '/api/v1/menus/options', + method: 'get' + }); +} +export function listMenuOptions(): AxiosPromise { + return request({ + url: '/systemapi/menus/menu_options', + method: 'get' + }); +} +/** + * 获取菜单表单数据 + * + * @param id + */ +export function getMenuFormOld(id: number): AxiosPromise { + return request({ + url: '/api/v1/menus/' + id + '/form', + method: 'get' + }); +} +export function getMenuForm(data: menuInfo): AxiosPromise { + return request({ + url: '/systemapi/menus/get_one_menu_cont', + method: 'post', + data:data + }); +} +/** + * 添加菜单 + * + * @param data + */ +export function addMenuOld(data: MenuForm) { + return request({ + url: '/api/v1/menus', + method: 'post', + data: data + }); +} +export function addMenu(data: MenuForm) { + return request({ + url: '/systemapi/menus/add_new_menu', + method: 'post', + data: data + }); +} +/** + * 修改菜单 + * + * @param id + * @param data + */ +export function updateMenuOld(id: string, data: MenuForm) { + return request({ + url: '/api/v1/menus/' + id, + method: 'put', + data: data + }); +} +export function updateMenu(data: MenuForm) { + return request({ + url: '/systemapi/menus/edit_menus_cont', + method: 'post', + data: data + }); +} +/** + * 删除菜单 + * + * @param id 菜单ID + */ +export function deleteMenuOld(id: number) { + return request({ + url: '/api/v1/menus/' + id, + method: 'delete' + }); +} +export function deleteMenu(data: menuInfo) { + return request({ + url: '/systemapi/menus/delt_menus_cont', + method: 'post', + data:data + }); +} diff --git a/src/api/api/menu/types.ts b/src/api/api/menu/types.ts new file mode 100644 index 0000000..0f1491c --- /dev/null +++ b/src/api/api/menu/types.ts @@ -0,0 +1,125 @@ +import { MenuTypeEnum } from '@/enums/MenuTypeEnum'; + +/** + * 菜单查询参数类型 + */ +export interface MenuQuery { + keywords?: string; +} + +/** + * 菜单视图对象类型 + */ +export interface MenuVO { + /** + * 子菜单 + */ + children?: MenuVO[]; + /** + * 组件路径 + */ + component?: string; + /** + * ICON + */ + icon?: string; + /** + * 菜单ID + */ + id?: number; + /** + * 菜单名称 + */ + name?: string; + /** + * 父菜单ID + */ + parentId?: number; + /** + * 按钮权限标识 + */ + perm?: string; + /** + * 跳转路径 + */ + redirect?: string; + /** + * 路由名称 + */ + routeName?: string; + /** + * 路由相对路径 + */ + routePath?: string; + /** + * 菜单排序(数字越小排名越靠前) + */ + sort?: number; + /** + * 菜单类型 + */ + type?: MenuTypeEnum; + /** + * 菜单是否可见(1:显示;0:隐藏) + */ + visible?: number; +} + +/** + * 菜单表单对象类型 + */ +export interface MenuForm { + /** + * 菜单ID + */ + id?: string; + /** + * 父菜单ID + */ + parentId?: number; + /** + * 菜单名称 + */ + name?: string; + /** + * 菜单是否可见(1:是;0:否;) + */ + visible: number; + icon?: string; + /** + * 排序 + */ + sort: number; + /** + * 组件路径 + */ + component?: string; + /** + * 路由路径 + */ + path?: string; + /** + * 跳转路由路径 + */ + redirect?: string; + + /** + * 菜单类型 + */ + type: MenuTypeEnum; + + /** + * 权限标识 + */ + perm?: string; + /** + * 权限标识 + */ + outside?: number; +} +/** + * 查看菜单内容 + */ + export interface menuInfo { + id:string; +} diff --git a/src/api/api/opk/api.ts b/src/api/api/opk/api.ts new file mode 100644 index 0000000..f60887b --- /dev/null +++ b/src/api/api/opk/api.ts @@ -0,0 +1,163 @@ +import request from '@/utils/request'; +import { postinfp,tarData,addlist,deltarget,getgroupData,edittarget, position, getgroup, organd, postsss, addposttar, searchorgpos, setposttarget, table_base_post_target, getdetails, neweditposttarget, get_organdpost_ary, look_work_flowcont, quantechart, gettarget, getquantechartorgandyear, summaryplanrecord, get_post_target } from './type'; +export function addPostCont(url:string,method:string,data?: postinfp){ + return request({ + url: url, + method: method, + data: data + }); +} +export function tarlist(data?:tarData){ + return request({ + url:'/kpiapi/department_pc/new_depart_tar_list', + method:'post', + data:data + }) +} +export function addtarget(data?:addlist){ + return request({ + url:'/kpiapi/department_pc/new_add_depar_target', + method:'post', + data:data + }) +} +export function deltarget(data?:deltarget){ + return request({ + url:'/kpiapi/department_pc/new_del_target', + method:'post', + data:data + }) +} +export function getgroupusers(data?:getgroupData){ + return request({ + url:'/api/group/getgroupdepartmap', + method:'post', + data:data + }) +} +export function edittarget(data?:edittarget){ + return request({ + url:'/kpiapi/department_pc/new_edit_one_target', + method:'post', + data:data + }) +} +export function positionlist(data?:position){ + return request({ + url:'/hrapi/org/positionlist', + method:'post', + data:data + }) +} +export function getgroupuser(data?:getgroup){ + return request({ + url:'/api/group/getgroupuser', + method:'post', + data:data + }) +} +export function organdpost(data?:organd){ + return request({ + url:'/hrapi/org/get_organdpost_three', + method:'post', + data:data + }) +} +export function posttarget(data?:postsss){ + return request({ + url:'/kpiapi/postpc/get_posttarget_list', + method:'post', + data:data + }) +} +export function addposttargetcont(data?:addposttar){ + return request({ + url:'/kpiapi/postpc/addposttargetcont', + method:'post', + data:data + }) +} +export function search_orgpost(data?:searchorgpos){ + return request({ + url:'/kpiapi/postpc/search_orgpost_list', + method:'post', + data:data + }) +} +export function set_posttarget(data?:setposttarget){ + return request({ + url:'/kpiapi/postpc/set_posttarget_state', + method:'post', + data:data + }) +} +export function table_base_post(data?:table_base_post_target){ + return request({ + url:'/kpiapi/postpc/table_base_post_target', + method:'post', + data:data + }) +} +export function getdetailslist(data?:getdetails){ + return request({ + url:'/kpiapi/postpc/getdetailslist', + method:'post', + data:data + }) +} +export function neweditpost(data?:neweditposttarget){ + return request({ + url:'/kpiapi/postpc/neweditposttarget', + method:'post', + data:data + }) +} +export function get_organdpost(data?:get_organdpost_ary){ + return request({ + url:'/kpiapi/postpc/get_organdpost_ary', + method:'post', + data:data + }) +} +export function look_work(data?:look_work_flowcont){ + return request({ + url:'/kpiapi/workflow/look_work_flowcont', + method:'post', + data:data + }) +} +export function quante(data?:quantechart){ + return request({ + url:'/api/quant/quantechart', + method:'post', + data:data + }) +} +export function gettar(data?:gettarget){ + return request({ + url:'/api/duty/gettarget', + method:'post', + data:data + }) +} +export function getquantechar(data?:getquantechartorgandyear){ + return request({ + url:'/api/quant/getquantechartorgandyear', + method:'post', + data:data + }) +} +export function summaryplanre(data?:summaryplanrecord){ + return request({ + url:'/kpiapi/strtistics/summaryplanrecord', + method:'post', + data:data + }) +} +export function get_post(data?:get_post_target){ + return request({ + url:'/kpiapi/postpc/get_post_target', + method:'post', + data:data + }) +} diff --git a/src/api/api/opk/news/api.ts b/src/api/api/opk/news/api.ts new file mode 100644 index 0000000..fb8e533 --- /dev/null +++ b/src/api/api/opk/news/api.ts @@ -0,0 +1,51 @@ +import request from '@/utils/request'; +import { department_programme, edit_depart_progr, edit_depart_progra_state, get_scheme_list, get_target, ge_add_scheme, have_post_target } from './type'; +export function departmentprogramme(data?:department_programme){ + return request({ + url:'kpiapi/department_pc/department_programme', + method:'post', + data:data + }) +} +export function edit_depart(data?:edit_depart_progr){ + return request({ + url:'kpiapi/department_pc/edit_depart_progra_state', + method:'post', + data:data + }) +} +export function ge_add(data?:ge_add_scheme){ + return request({ + url:'kpiapi/department_pc/ge_add_scheme_cont', + method:'post', + data:data + }) +} +export function have_post(data?:have_post_target){ + return request({ + url:'kpiapi/postpc/have_post_target', + method:'post', + data:data + }) +} +export function get_scheme(data?:get_scheme_list){ + return request({ + url:'kpiapi/postpc/get_scheme_list', + method:'post', + data:data + }) +} +export function get_target_details(data?:get_target){ + return request({ + url:'kpiapi/department_pc/get_target_details_list', + method:'post', + data:data + }) +} +export function edit_depart_progra(data?:edit_depart_progra_state){ + return request({ + url:'kpiapi/department_pc/edit_depart_progra_state', + method:'post', + data:data + }) +} diff --git a/src/api/api/opk/news/type.ts b/src/api/api/opk/news/type.ts new file mode 100644 index 0000000..07dee5b --- /dev/null +++ b/src/api/api/opk/news/type.ts @@ -0,0 +1,34 @@ +export interface department_programme{ + orgid?:string; + year?:string; + version?:string; +} +export interface edit_depart_progr{ + id?:string; + state?:number; + istrue?:number; +} +export interface ge_add_scheme{ + id?:string; +} +export interface have_post_target{ + id?:string; +} +export interface get_scheme_list{ + page:number; + pagesize:number; + versionnumber:string; + postid:string; + year:number; +} +export interface get_target{ + targetid: Number; + orglist: Array; + testmethod:Array; + cycle: Number; +} +export interface edit_depart_progra_state{ + id:string; + istrue: number; + state: number; +} diff --git a/src/api/api/opk/opk/api.ts b/src/api/api/opk/opk/api.ts new file mode 100644 index 0000000..91ab9c9 --- /dev/null +++ b/src/api/api/opk/opk/api.ts @@ -0,0 +1,163 @@ +import request from '@/utils/request'; +import { addtabledetailslist, delsontarget, del_son_tar, edit_details_cont, edit_details_state, edit_newson_target, edit_post_detailscont, edit_table_depart_man, eidtposttardetailsstrte, getcompanydeparment, getdetail, getnew_target_depart_postman, getonedetailed, getplanversionvalid, getsontargetcont, get_organdpost_three, govthreeing, look_scheme_for_deparment, newsummarydetails, orgtrant, summarydetail, summaryplanrecord, table_add_detailses } from './type'; +export function orgtranscript(data?:orgtrant){ + return request({ + url:'kpiapi/strtistics/orgtranscript', + method:'post', + data:data + }) +} +export function getplanvers(data?:getplanversionvalid){ + return request({ + url:'api/ststic/getplanversionvalid', + method:'post', + data:data + }) +} +export function newsummary(data?:newsummarydetails){ + return request({ + url:'kpiapi/strtistics/newsummarydetails', + method:'post', + data:data + }) +} +export function govthree(data?:govthreeing){ + return request({ + url:'hrapi/org/govthreeing', + method:'post', + data:data + }) +} +export function getonedetailedtarget(data?:getonedetailed){ + return request({ + url:'kpiapi/department_pc/getonedetailedtarget', + method:'post', + data:data + }) +} +export function getcompany(data?:getcompanydeparment){ + return request({ + url:'hrapi/org/getcompanydeparment', + method:'post', + data:data + }) +} +export function edit_details(data?:edit_details_state){ + return request({ + url:'kpiapi/department_pc/edit_details_state', + method:'post', + data:data + }) +} +export function getsontarget(data?:getsontargetcont){ + return request({ + url:'kpiapi/department_pc/getsontargetcont', + method:'post', + data:data + }) +} +export function table_add(data?:table_add_detailses){ + return request({ + url:'kpiapi/department_pc/table_add_detailses', + method:'post', + data:data + }) +} +export function edit_table(data?:edit_table_depart_man){ + return request({ + url:'kpiapi/department_pc/edit_table_depart_man', + method:'post', + data:data + }) +} +export function delsontar(data?:delsontarget){ + return request({ + url:'kpiapi/department_pc/delsontarget', + method:'post', + data:data + }) +} +export function getdetailscont(data?:getdetail){ + return request({ + url:'kpiapi/postpc/getdetailscont', + method:'post', + data:data + }) +} +export function edit_detail(data?:edit_details_cont){ + return request({ + url:'kpiapi/department_pc/edit_details_cont', + method:'post', + data:data + }) +} +export function getnew_target(data?:getnew_target_depart_postman){ + return request({ + url:'kpiapi/postpc/getnew_target_depart_postman', + method:'post', + data:data + }) +} +export function edit_post(data?:edit_post_detailscont){ + return request({ + url:'kpiapi/postpc/edit_post_detailscont', + method:'post', + data:data + }) +} +export function eidtposttardetail(data?:eidtposttardetailsstrte){ + return request({ + url:'kpiapi/postpc/eidtposttardetailsstrte', + method:'post', + data:data + }) +} +export function addtabledetail(data?:addtabledetailslist){ + return request({ + url:'kpiapi/postpc/addtabledetailslist', + method:'post', + data:data + }) +} +export function edit_newson(data?:edit_newson_target){ + return request({ + url:'kpiapi/postpc/edit_newson_target_cont', + method:'post', + data:data + }) +} +export function del_son(data?:del_son_tar){ + return request({ + url:'kpiapi/postpc/del_son_target_cont', + method:'post', + data:data + }) +} +export function look_scheme(data?:look_scheme_for_deparment){ + return request({ + url:'kpiapi/department_pc/look_scheme_for_deparment', + method:'post', + data:data + }) +} +export function get_organdpost(data?:get_organdpost_three){ + return request({ + url:'hrapi/org/get_organdpost_three', + method:'post', + data:data + }) +} +export function newsummaryas(data?:summarydetail){ + return request({ + url:'api/quant/summarydetailsxinglog', + method:'post', + data:data + }) +} +export function summaryplanre(data?:summaryplanrecord){ + return request({ + url:'kpiapi/strtistics/summaryplanrecord', + method:'post', + data:data + }) +} diff --git a/src/api/api/opk/opk/type.ts b/src/api/api/opk/opk/type.ts new file mode 100644 index 0000000..cd9ee81 --- /dev/null +++ b/src/api/api/opk/opk/type.ts @@ -0,0 +1,127 @@ +export interface orgtrant{ + year?:string; +} +export interface getplanversionvalid{ + group: string; + deaprtid: string; + year:string; + class: string; + title:string; +} +export interface newsummarydetails{ + department:string; + year: Number, + month: number; +} +export interface govthreeing{ + all: number, + id: number; +} +export interface getonedetailed{ + id: number; +} +export interface getcompanydeparment{ + id: number; + idstr: number; +} +export interface edit_details_state{ + id: string; + state: number; + istrue:number; +} +export interface getsontargetcont{ + id: string; +} +export interface table_add_detailses{ + targetid: string; + tableid:string; + detailslist:Array; +} + +export interface edit_table_depart_man{ + id: string; + title:string; + departmentint:Array; + userlist:Array; +} +export interface delsontarget{ + id: string; + state: number; + istrue:number; +} +export interface getdetail{ + id: string; +} +export interface edit_details_cont{ + cycle:number; + department:Array; + evidence:string; + executor:Array; + frequency:number; + id:string; + inspemethod:Array; + remarks:string; + standard:string; + title:string; + types:number; + unit:string; +} +export interface getnew_target_depart_postman{ + id: string; +} +export interface edit_post_detailscont{ + cashstandard:string; + cycle:number; + evidence:string; + frequency:number; + id:string; + inspemethod:Array + punishtype:number; + relevantpostsman:Array + remarks:string; + standard:string; + title:string; + types:number; + unit:string; +} +export interface eidtposttardetailsstrte{ + id: string; + state: number; + istrue:number; +} +export interface addtabledetailslist{ + detailslist:Array; + tableid:string; + targetid:string; +} +export interface edit_newson_target{ + repostlist:Array; + title:string; + id:string; +} +export interface del_son_tar{ + id: string; + state: number; + istrue:number; +} +export interface look_scheme_for_deparment{ + id: string; +} +export interface get_organdpost_three{ + id: string; + all:number; + levelL:number; +} +export interface summarydetail{ + department: string; + month:number; + targetid:string; + year:Number; +} +export interface summaryplanrecord{ + department: string; + month:number; + targetid:string; + year:Number; + versio:string; +} diff --git a/src/api/api/opk/pulic/api.ts b/src/api/api/opk/pulic/api.ts new file mode 100644 index 0000000..ca6de8e --- /dev/null +++ b/src/api/api/opk/pulic/api.ts @@ -0,0 +1,45 @@ +import request from '@/utils/request'; +import { postContData,editPostditOrDel,dutyclassData,getInfoData,eiteduty } from './type'; +// 获取考核维度 +export function editPostCont(data?: postContData){ + return request({ + url: '/api/duty/dutyclasslist', + method: 'post', + data: data + }); +} +// 删除 +export function handleCont(data?:editPostditOrDel){ + return request({ + url: '/api/duty/statedutyclass', + method: 'post', + data:data + }); +} +// 新增 +export function adddutyclass(data?:dutyclassData){ + return request({ + url:'/api/duty/adddutyclass', + method: 'post', + data:data + }) +} +// 查询 +export function getdutyclassinfo(data?:getInfoData){ + return request({ + url:'/api/duty/getdutyclassinfo', + method:'post', + data:data + }) +} +// 编辑 +export function eitedutyclassinfo(data?:eiteduty){ + return request({ + url:'/api/duty/eitedutyclassinfo', + method:'post', + data:data + }) +} + + + diff --git a/src/api/api/opk/pulic/type.ts b/src/api/api/opk/pulic/type.ts new file mode 100644 index 0000000..3763d56 --- /dev/null +++ b/src/api/api/opk/pulic/type.ts @@ -0,0 +1,28 @@ +export interface postContData{ + page?:number; + pagesize?:number; + title?:string; + state?:number; +} +export interface editPostditOrDel{ + id?:number; + outID?:string; + state?: number; + isdel?: number; +} +export interface dutyclassData{ + title?:string; + type?:number; + sort?:number; +} +export interface getInfoData{ + id?:number; + outid?:string; +} +export interface eiteduty{ + id?:number; + outid?:string; + title?:string; + sort?:number; +} + diff --git a/src/api/api/opk/type.ts b/src/api/api/opk/type.ts new file mode 100644 index 0000000..08e6ce9 --- /dev/null +++ b/src/api/api/opk/type.ts @@ -0,0 +1,160 @@ +export interface postinfp{ + id?:number, + number?: string, + name?:string, + superior?:number, + organizationtype?: number, + abbreviation?: string, + time?: number, + state?: number, + wechatorganizationid?: number, + superiorsun?: string, + schoole?: number, + kingdeeid?: string, + ispower?: number, + sort?: number, + classname?: string, + level?: number, + isman?: number, + status?: boolean, + child?: null, + type?:number; +} +export interface tarData{ + page?:number; + pageSize?:number; + name?:string; + dimension?:string; + attribute?:string; + orgidlist?:Array; +} +export interface addlist{ + name?:string; + share?:number; + acceptdepartmentid?:Array; + userlist?:Array; + dimension?:string; + nature?:number; + unit?:string; + cycle?:number; + cycleattr?:Number; + scoringmethod?:number; + visiblerangegroup?:Array; + visiblerangedepart?:Array; +} +export interface deltarget{ + id?:String; + state?:number; + istrue?:number; +} +export interface getgroupData{ + id?:number; + all:number; +} +export interface edittarget{ + acceptdepartmentid?:Array + cycle?:Number; + cycleattr:number; + dimension:string; + id:string; + name:string; + nature:number; + scoringmethod:Number; + unit:string; + userlist:Array +} +export interface position{ + page?:number; + pagesize?:number; + organization?:string; +} +export interface getgroup{ + id?:number; + level?:number; +} +export interface organd{ + all?:number; + id?:string; + levelL:number; +} +export interface postsss{ + attribute?:string; + dimension?:string; + page?:number; + pageSize?:number; + title?:string; + postidlist?:Array; +} +export interface addposttar{ + title?:string; + dimension?: String; + unit?:String; + type?: number; + scoringmethod?: number; + cycle?:number; + cycleattr?: number; + departmentPostOther?:Array + otherposttarget?:Array; + +} +export interface searchorgpos{ + name?:string; + orgid?:string; +} +export interface setposttarget{ + id?:string; + state?:number; + istrue?:number; +} +export interface table_base_post_target{ + id?:string; +} +export interface getdetails{ + targetid: string; + inspect: Array; + postlist: Array; + cycle:Number; +} +export interface neweditposttarget{ + title?:string; + dimension?: String; + unit?:String; + type?: number; + scoringmethod?: Number; + cycle?:Number; + cycleattr?: Number; + otherposttarget?:Array; + id:string; + visiblegroup:string; + visiblerange:string +} +export interface get_organdpost_ary{ + id: string; +} +export interface look_work_flowcont{ + id:string; +} +export interface quantechart{ + AccMethod?:Array; + targetid?:Array; + year?:Array; + analysisangle?:number; + org?:Array; + timeattribute?:Array +} +export interface gettarget{ + page:number; + pagesize:number; +} +export interface getquantechartorgandyear{ + targetid:Array; +} +export interface summaryplanrecord{ + department:string; + month:Number; + targetid:string; + year:Number; +} +export interface get_post_target{ + id:string; +} diff --git a/src/api/api/opk/zxc/iop/api.ts b/src/api/api/opk/zxc/iop/api.ts new file mode 100644 index 0000000..2cd6fac --- /dev/null +++ b/src/api/api/opk/zxc/iop/api.ts @@ -0,0 +1,23 @@ +import request from '@/utils/request'; +import { get_approval_record, get_qualitys, get_quantitative_takes } from './type'; +export function departmentlist(data?:get_qualitys){ + return request({ + url:'/api/group/departmentlist', + method:'post', + data:data + }) +} +export function get_quantitative(data?:get_quantitative_takes){ + return request({ + url:'/kpiapi/department_pc/get_quantitative_tasks', + method:'post', + data:data + }) +} +export function get_approval(data?:get_approval_record){ + return request({ + url:'/kpiapi/workflow/get_approval_record', + method:'post', + data:data + }) +} diff --git a/src/api/api/opk/zxc/iop/type.ts b/src/api/api/opk/zxc/iop/type.ts new file mode 100644 index 0000000..9773cb5 --- /dev/null +++ b/src/api/api/opk/zxc/iop/type.ts @@ -0,0 +1,18 @@ +export interface get_qualitys{ + id: number; + outid: string; + level: number; +} +export interface get_quantitative_takes{ + title: string; + orgid: string; + time: string; +} + +export interface get_approval_record{ + page: number; + pagesize: number; + state: Number; + nameornumber:string; + title: string; +} diff --git a/src/api/api/opk/zxc/pulic/api.ts b/src/api/api/opk/zxc/pulic/api.ts new file mode 100644 index 0000000..5b40c45 --- /dev/null +++ b/src/api/api/opk/zxc/pulic/api.ts @@ -0,0 +1,9 @@ +import request from '@/utils/request'; +import { get_qualitys } from './type'; +export function get_quality(data?:get_qualitys){ + return request({ + url:'/kpiapi/department_pc/get_quality_tasks', + method:'post', + data:data + }) +} diff --git a/src/api/api/opk/zxc/pulic/type.ts b/src/api/api/opk/zxc/pulic/type.ts new file mode 100644 index 0000000..865b2fa --- /dev/null +++ b/src/api/api/opk/zxc/pulic/type.ts @@ -0,0 +1,7 @@ +export interface get_qualitys{ + orgid: string; + title: string; + time: string; + page: number; + pagesize: number; +} diff --git a/src/api/api/opk/zxy/news/api.ts b/src/api/api/opk/zxy/news/api.ts new file mode 100644 index 0000000..c6273c2 --- /dev/null +++ b/src/api/api/opk/zxy/news/api.ts @@ -0,0 +1,79 @@ +import request from '@/utils/request'; +import { create_scheme_for, create_scheme_for_deparment, del_scheme_target_cont, edit_scheme_target, get_approval_record, get_org_everyone, get_runman_scheme, ge_copy_scheme, look_scheme_bylaws, new_del_target, set_posttarget_state } from './type'; +export function get_approval(data?:get_approval_record){ + return request({ + url:'kpiapi/workflow/get_approval_record', + method:'post', + data:data + }) +} +export function create_scheme(data?:create_scheme_for){ + return request({ + url:'kpiapi/department_pc/create_scheme_for_deparment', + method:'post', + data:data + }) +} +export function ge_copy(data?:ge_copy_scheme){ + return request({ + url:'kpiapi/department_pc/ge_copy_scheme_cont', + method:'post', + data:data + }) +} +export function get_runman(data?:get_runman_scheme){ + return request({ + url:'kpiapi/department_pc/get_runman_scheme', + method:'post', + data:data + }) +} +export function get_org(data?:get_org_everyone){ + return request({ + url:'hrapi/org/get_org_everyone_people', + method:'post', + data:data + }) +} +export function edit_scheme(data?:edit_scheme_target){ + return request({ + url:'kpiapi/department_pc/edit_scheme_target_cont', + method:'post', + data:data + }) +} +export function del_scheme(data?:del_scheme_target_cont){ + return request({ + url:'kpiapi/department_pc/del_scheme_target_cont', + method:'post', + data:data + }) +} +export function look_scheme(data?:look_scheme_bylaws){ + return request({ + url:'kpiapi/department_pc/look_scheme_bylaws', + method:'post', + data:data + }) +} +export function create_scheme_for(data?:create_scheme_for_deparment){ + return request({ + url:'kpiapi/department_pc/create_scheme_for_deparment', + method:'post', + data:data + }) +} +export function new_del(data?:new_del_target){ + return request({ + url:'kpiapi/department_pc/new_del_target', + method:'post', + data:data + }) +} +export function set_posttar(data?:set_posttarget_state){ + return request({ + url:'kpiapi/postpc/set_posttarget_state', + method:'post', + data:data + }) +} diff --git a/src/api/api/opk/zxy/news/type.ts b/src/api/api/opk/zxy/news/type.ts new file mode 100644 index 0000000..df2dab7 --- /dev/null +++ b/src/api/api/opk/zxy/news/type.ts @@ -0,0 +1,68 @@ +export interface get_approval_record{ + page : number; + pagesize:number; + state:number; + nameornumber:string; + title: string; + orgid: string; + years: number; + month: number; +} +export interface create_scheme_for{ + group?: string; + parentid?: string; + child?:Array; + year?: string; + orgid:string; + } + + export interface ge_copy_scheme{ + id:string; + } + export interface get_runman_scheme{ + id:string; + level:number; + orgid:string; + posid:string; + type:number; + } + export interface get_org_everyone{ + id:string; + all:number; + } + export interface edit_scheme_target{ + Operator:Array; + content:string; + orgid:string; + planversionkey:string; + state:Number; + targetid:string; + } + export interface del_scheme_target_cont{ + orgid:string; + planversionkey:string; + targetid:string; + } + + export interface look_scheme_bylaws{ + id:string; + level:number; + orgid:string; + posid:string; + type:number; + } + export interface create_scheme_for_deparment{ + child:Array; + orgid:string; + year:string; + } + export interface new_del_target{ + id:string; + istrue:number; + state:number; + } + export interface set_posttarget_state{ + id:string; + istrue:number; + state:number; + } diff --git a/src/api/api/publicapi.ts b/src/api/api/publicapi.ts new file mode 100644 index 0000000..ba5922f --- /dev/null +++ b/src/api/api/publicapi.ts @@ -0,0 +1,62 @@ +export const calculateDatesMonth =(dateStr:string,num:number,type:string) => { + let monthnum = num; + if (typeof (num) == "string"){ + monthnum = parseInt(num); + } + let date= new Date(dateStr); + //获取原日 + let day = date.getDate(); + //获取原月份 + let month=date.getMonth(); + //设置增加月份 + date.setMonth(date.getMonth() + (monthnum*1), 1); + //获取增加的后的月份 + let Jmonth = date.getMonth()+1; + //获取增加的后的年份 + let Jyear=date.getFullYear(); + if(Jmonth == 4 || Jmonth == 6 || Jmonth == 9 || Jmonth == 11) { + //小月 + if (day > 30) { + day = 30; + } + }else if (Jmonth == 2) { + //2月判断是否闰年 + if(((Jyear % 4) == 0) && ((Jyear % 100) != 0) || ((Jyear % 400) == 0)){ + if (day > 29) { + day = 29; + } + }else{ + if (day > 28) { + day = 28 + } + } + + + }else{ + //大月 + if (day > 31) { + day = 31; + } + } + let tHours = date.getHours(); + let tMinutes = date.getMinutes(); + let tSeconds = date.getSeconds(); + let Jmonthstr = doHandleMonth(Jmonth); + let daystr = doHandleMonth(day); + if(type=="0"){ + return Jyear+"-"+Jmonthstr+"-"+daystr; + } + return Jyear+"-"+Jmonthstr+"-"+daystr+" "+tHours+":"+tMinutes+":"+tSeconds; +}; +/** + * 日或月补0 + * @param month + * @returns {string} + */ +function doHandleMonth(month:number):string { + let m = month.toString(); + if(month.toString().length == 1){ + m = "0" + month; + } + return m; +} diff --git a/src/api/api/role/index.ts b/src/api/api/role/index.ts new file mode 100644 index 0000000..e0171d6 --- /dev/null +++ b/src/api/api/role/index.ts @@ -0,0 +1,112 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { RoleQuery, RolePageResult, RoleForm } from './types'; + +/** + * 获取角色分页数据 + * + * @param queryParams + */ +export function getRolePage( + queryParams?: RoleQuery +): AxiosPromise { + return request({ + url: '/api/v1/roles/page', + method: 'get', + params: queryParams + }); +} + +/** + * 获取角色下拉数据 + * + * @param queryParams + */ +export function listRoleOptions( + queryParams?: RoleQuery +): AxiosPromise { + return request({ + url: '/api/v1/roles/options', + method: 'get', + params: queryParams + }); +} + +/** + * 获取角色的菜单ID集合 + * + * @param queryParams + */ +export function getRoleMenuIds(roleId: number): AxiosPromise { + return request({ + url: '/api/v1/roles/' + roleId + '/menuIds', + method: 'get' + }); +} + +/** + * 分配菜单权限给角色 + * + * @param queryParams + */ +export function updateRoleMenus( + roleId: number, + data: number[] +): AxiosPromise { + return request({ + url: '/api/v1/roles/' + roleId + '/menus', + method: 'put', + data: data + }); +} + +/** + * 获取角色详情 + * + * @param id + */ +export function getRoleForm(id: number): AxiosPromise { + return request({ + url: '/api/v1/roles/' + id + '/form', + method: 'get' + }); +} + +/** + * 添加角色 + * + * @param data + */ +export function addRole(data: RoleForm) { + return request({ + url: '/api/v1/roles', + method: 'post', + data: data + }); +} + +/** + * 更新角色 + * + * @param id + * @param data + */ +export function updateRole(id: number, data: RoleForm) { + return request({ + url: '/api/v1/roles/' + id, + method: 'put', + data: data + }); +} + +/** + * 批量删除角色,多个以英文逗号(,)分割 + * + * @param ids + */ +export function deleteRoles(ids: string) { + return request({ + url: '/api/v1/roles/' + ids, + method: 'delete' + }); +} diff --git a/src/api/api/role/types.ts b/src/api/api/role/types.ts new file mode 100644 index 0000000..2d259c7 --- /dev/null +++ b/src/api/api/role/types.ts @@ -0,0 +1,78 @@ +/** + * 角色查询参数 + */ +export interface RoleQuery extends PageQuery { + keywords?: string; +} + +/** + * 角色分页对象 + */ +export interface RolePageVO { + /** + * 角色编码 + */ + code?: string; + + /** + * 角色ID + */ + id?: number; + /** + * 角色名称 + */ + name?: string; + /** + * 排序 + */ + sort?: number; + /** + * 角色状态 + */ + status?: number; + /** + * 创建时间 + */ + createTime?: Date; + /** + * 修改时间 + */ + updateTime?: Date; +} + +/** + * 角色分页 + */ +export type RolePageResult = PageResult; + +/** + * 角色表单对象 + */ +export interface RoleForm { + /** + * 角色ID + */ + id?: number; + + /** + * 角色编码 + */ + code: string; + /** + * 数据权限 + */ + dataScope?: number; + + /** + * 角色名称 + */ + name: string; + /** + * 排序 + */ + sort?: number; + /** + * 角色状态(1-正常;0-停用) + */ + status?: number; +} diff --git a/src/api/api/system/redis/api.ts b/src/api/api/system/redis/api.ts new file mode 100644 index 0000000..f357db7 --- /dev/null +++ b/src/api/api/system/redis/api.ts @@ -0,0 +1,24 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; + +import { + redisConfing, + copyRedisDatabase + } from './types'; + + //测试Redis数据库链接 +export const testRedisLink = (data: redisConfing):any => { + return request({ + url: '/systemapi/redis/testRedisLink', + method: 'post', + data: data + }) +} + //迁移Redis数据库 + export const moveOldRedisToNewRedis = (data: copyRedisDatabase):any => { + return request({ + url: '/systemapi/redis/moveOldRedisToNewRedis', + method: 'post', + data: data + }) +} diff --git a/src/api/api/system/redis/types.ts b/src/api/api/system/redis/types.ts new file mode 100644 index 0000000..7db82a0 --- /dev/null +++ b/src/api/api/system/redis/types.ts @@ -0,0 +1,17 @@ +export interface redisConfing { + ip: string; + port: number; + pwd: string; + state: number; +} +//Redis数据及含有的键数量 +export interface redisKeysNumber { + dbName:number; + dbNumber:number; +} +//迁移Redis数据库参数 +export interface copyRedisDatabase { + originRedis:redisConfing; + targetRedis:redisConfing; + dblist:Number[]; +} diff --git a/src/api/api/system/roleapi/postrole.ts b/src/api/api/system/roleapi/postrole.ts new file mode 100644 index 0000000..f4f7afd --- /dev/null +++ b/src/api/api/system/roleapi/postrole.ts @@ -0,0 +1,83 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { getOrgTree,submintPostPower,setupPage,submintRolePower,getSystemOrgTree,systemMenusTypeTree,getSystemMenusForRole } from './types' +/** + * 获取行政组织 + */ + export function listRoutesOld(data: getOrgTree){ + return request({ + url: '/hrapi/org/get_organdpost_three', + method: 'post', + data:data + }); +} +/** + * 获取系统类型 + */ +export function getSystemType(data: setupPage){ + return request({ + url: '/kpiapi/powerpc/system_list', + method: 'post', + data:data + }); +} +/** + * 获取各系统权限菜单 + */ + export function getSystemPoewrTree(data: getSystemOrgTree): AxiosPromise{ + return request({ + url: '/kpiapi/powerpc/system_about_power_menu', + method: 'post', + data:data + }); +} +/** + * 给指定岗位授权 + */ + export function grantSystemPostPoewr(data: submintPostPower){ + return request({ + url: '/kpiapi/powerpc/grant_post_system_powers', + method: 'post', + data:data + }); +} +/** + * 给指定岗位授权 + */ + export function getGrantPowers(data: getSystemOrgTree): AxiosPromise{ + return request({ + url: '/systemapi/grant/get_post_grant_powers', + method: 'post', + data:data + }); +} +/** + * 根据角色获取各系统权限菜单 + */ + export function getSystemPoewrTreeForRole(data: getSystemMenusForRole): AxiosPromise{ + return request({ + url: '/kpiapi/powerpc/system_about_power_menurole', + method: 'post', + data:data + }); +} +/** + * 获取指定角色授权 + */ + export function getGrantRolePowers(data: getSystemMenusForRole): AxiosPromise{ + return request({ + url: '/systemapi/grant/get_role_grant_powers', + method: 'post', + data:data + }); +} +/** + * 给指定角色授权 + */ + export function grantSystemRolePoewr(data: submintRolePower){ + return request({ + url: '/kpiapi/powerpc/grant_role_system_powers', + method: 'post', + data:data + }); +} diff --git a/src/api/api/system/roleapi/rolecont.ts b/src/api/api/system/roleapi/rolecont.ts new file mode 100644 index 0000000..271d810 --- /dev/null +++ b/src/api/api/system/roleapi/rolecont.ts @@ -0,0 +1,104 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { searchRoleWord,roleLietCont,editRoleContKeyword,editRoleStatus,addRoleContKeyword,getRoleEndUser,RoleEndUSerContList,BaseDelRoleToUser,getOrgAndUserList,RoleEndUSerTreeList,CallBackOrgUserCont,setupRolePeople } from './types' + +/** + * 获取角色列表 + */ + export function getSystemRoleList(data: searchRoleWord): AxiosPromise{ + return request({ + url: '/kpiapi/powerpc/system_role_list', + method: 'post', + data:data + }); +} +/** + * 编辑角色内容 + */ + export function addRoleCont(data: addRoleContKeyword){ + return request({ + url: '/kpiapi/powerpc/add_system_role', + method: 'post', + data:data + }); +} +/** + * 编辑角色内容 + */ + export function editRoleCont(data: editRoleContKeyword){ + return request({ + url: '/kpiapi/powerpc/edit_system_role', + method: 'post', + data:data + }); +} +/** + * 编辑角色内容状态 + */ + export function editRoleContStatus(data: editRoleStatus){ + return request({ + url: '/kpiapi/powerpc/edit_system_role_statebatch', + method: 'post', + data:data + }); +} +/** + * 获取角色使用人员列表 + */ + export function getRoleEndUserList(data: getRoleEndUser): AxiosPromise{ + return request({ + url: '/kpiapi/powerpc/role_about_people_list', + method: 'post', + data:data + }); +} +/** + * 批量删除角色使用人 + */ + export function batchDelUserFromRole(data: BaseDelRoleToUser){ + return request({ + url: '/kpiapi/powerpc/batch_del_roleman', + method: 'post', + data:data + }); +} +/** + * 获取行政组织树及相关人员 + */ + export function getOrgAndUserListCont(data: getOrgAndUserList):AxiosPromise{ + return request({ + url: '/hrapi/org/govthreeaboutman', + method: 'post', + data:data + }); +} +/** + * 搜索内容输出 + */ + export function searchOrgUserContSend(data: searchRoleWord):AxiosPromise{ + return request({ + url: '/hrapi/org/search_org_people', + method: 'post', + data:data + }); +} +/** + * 提交选择完毕的使用人 + */ + export function submittoAppointUser(data: setupRolePeople){ + return request({ + url: '/kpiapi/powerpc/add_role_user', + method: 'post', + data:data + }); +} +/** + * 一键登录地址 + */ + export function createOneClickLogin(data: any){ + return request({ + url: '/systemapi/public/create_one_click_login', + method: 'post', + data:data + }); +} diff --git a/src/api/api/system/roleapi/types.ts b/src/api/api/system/roleapi/types.ts new file mode 100644 index 0000000..3888e33 --- /dev/null +++ b/src/api/api/system/roleapi/types.ts @@ -0,0 +1,267 @@ + +/** + * 获取行政组织及岗位树 + */ +export interface getOrgTree{ + id?: string; + level?: number; + all?: number; +} + +/** + * 行政岗位树列表 + */ +export interface orgPostTreeData{ + allnumber?:[string]; + count?: number; + list:orgPostTreeList; +} +export interface orgPostTreeList { + id?: string; //id + number?: string; //编号 + name?: string; //名称 + superior?: string; //上级 + orgid?: string; //行政组织 + attribute?: number; //属性 + sort?: number; //排序 + orgname?: string; //行政组织名称 + departid?: string; //部门ID + departname?: string; //部门名称 + adminorg?: string; //岗位归属行政组织 + child?:orgPostTreeList[]; //子集 +} + +/** + * 翻页数据 + */ +export interface setupPage { + page?:number; //页码 + pagesize?:number; //每页获取数量 +} +/** + * 系统列表参数 + */ +export interface systemList{ + page?:number; //页码 + pagesize?:number; //每页获取数量 + count?: number; //记录总数 + total?: number; //每页总数 + list?: systemCont[]; // +} +export interface systemCont{ + id?:number; //id + key?:string; //识别符 + coder?:string; //关键字 + title?:string; //系统名称 + apiurl?:string; //api地址 + sort?:number; //排序 + state?:number; //状态 + time?:number; //编辑时间 +} + +//菜单列表 +export interface systemMenusType { + id?:string; // + name?:string; // + parentid?:string; // + pathurl?:string; // + istrue?:boolean; // + menukey?:string; // + key?:string; // + attribute?:string; // +} +//菜单列表树 +export interface systemMenusTypeTree { + id?:string; // + name?:string; // + parentid?:string; // + pathurl?:string; // + istrue?:boolean; // + menukey?:string; // + key?:string; // + attribute?:string; // + child?:systemMenusType[]; // + menuOperation?:systemMenusType[]; // +} +/** + * 获取行政组织及岗位树 + */ + export interface getSystemOrgTree{ + name?: string; + ordid?: string; + postid?: string; +} + +/** + * 提交岗位权限参数 + */ +export interface submintPostPower{ + systemname:string + ordid:string + postid:string + level?:number + power:systemMenusTypeTree[] +} + +/** + * 角色搜索 + */ +export interface searchRoleWord{ + name?: string; +} + +/** + * 角色列表 + */ +export interface roleLietCont{ + id:number; + name?:string; + istrue?:boolean; + sort?: number; + state?:number; + time?: number; +} +/** + * 编辑角色 + */ +export interface editRoleContKeyword{ + id?:string; + name?:string; + sort?: number; +} + +export interface addRoleContKeyword{ + name?:string; + sort?: number; +} +/** + * 获取行政组织及岗位树 + */ + export interface editRoleStatus{ + id?: string[]; + istrue?: number; + state?: number; +} +/** + * 根据角色获取权限菜单 + */ +export interface getSystemMenusForRole{ + name:string; + roleid?:string; +} +/** + * 提交角色配权数据 + */ + + export interface submintRolePower{ + systemname:string + roleid:string + level?:number + power:systemMenusTypeTree[] +} +/** + * 获取角色使用人员 + */ +export interface getRoleEndUser{ + id:string; + name?:string; + page?:number; //页码 + pagesize?:number; //每页获取数量 +} +/** + * 使用人员信息 + */ +export interface usercont{ + id?:string; + number?:string; + name?:string; + company?:string; + companyname?:string; + department?:string; + departmentname?:string; + orgId?:string; + orgname?:string; + dutiesid?:string; + dutiesname?:string; + wechat?:string; + key?:string; + departmenttitle?:string; + icon?:string; + iconbase64?:string; +} +/** + * 角色使用人员分页 + */ + export type RoleEndUSerContList = PageResult; +/** + * 批量删除角色使用人 + */ +export interface BaseDelRoleToUser{ + id:string; + mankey:string[]; +} +/** + * 获取行政组织树及相关人员 + */ +export interface getOrgAndUserList { + id:string; + all?:number; + level?:number; +} + +/** + * 行政组织及人员列表 + */ +export interface orgAndPeopleList{ + id?: string; + name?: string; + number?: string; + icon?: string; + iconbase64?: string; + parentId?: string; + orgId?: string; + isman?: number; + sort?: number; + identify?: number; + all_name?: string; + child?: orgAndPeopleList[]; +} +export interface orgAndPeopleLists{ + id: string; + name?: string; + number?: string; + icon?: string; + iconbase64?: string; + parentId: string; + orgId?: string; + isman?: number; + sort?: number; + identify?: number; + all_name?:string; +} +export interface orgUserPageResult { + /** + * 人员列表 + */ + list: orgAndPeopleLists[]; + /** + * 行政组织与人树 + */ + three: T; + } +export type RoleEndUSerTreeList = orgUserPageResult; +/** + * 搜索内容输出 + */ +export interface sendSearchOrgPeople{ + org:orgAndPeopleLists[]; + people:orgAndPeopleLists[]; +} +export type CallBackOrgUserCont = sendSearchOrgPeople; +/** + * 设定角色使用人 + */ +export interface setupRolePeople{ + roleid:string; + peoplelist:orgAndPeopleLists[]; +} diff --git a/src/api/api/taskapi/management.ts b/src/api/api/taskapi/management.ts new file mode 100644 index 0000000..15fecf4 --- /dev/null +++ b/src/api/api/taskapi/management.ts @@ -0,0 +1,203 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { + TaskLogQuery, + taskLogPageResult, + gainTaskListQuery, + gainTaskListPageResult, + customerFormLogo, + customerFormVersionCont, + nodeFlow +} from '@/api/taskapi/types' + + +/** + * 非流程表单提交数据记录 + * + * @param TaskLogQuery + */ + export function currencyFormApiSubmit(url:any,data:any){ + return request({ + url: url, + method: 'post', + data:data + }); +} + +/** + * 非流程表单提交数据记录 + * + * @param TaskLogQuery + */ + export function appFormdataLog(data: TaskLogQuery): AxiosPromise { + return request({ + url: '/systemapi/task_management/app_formdata_log', + method: 'post', + data:data + }); +} +/** + * 获取可执行得任务列表 + * + * @param gainTaskListQuery + */ + export function gainTaskList(data: gainTaskListQuery): AxiosPromise { + return request({ + url: '/systemapi/task_management/gain_task_list', + method: 'post', + data:data + }); +} + +//获取自定义表单版本列表 +export function haveCustomerFormVersion(data: customerFormLogo):AxiosPromise { + return request({ + url: '/systemapi/task_management/gain_task_versioncont', + method: 'post', + data: data + }); +} +//获取自定义表单版本列表 +export function delCustomerFormData(data: customerFormLogo) { + return request({ + url: '/systemapi/task_management/del_customer_formdata', + method: 'post', + data: data + }); +} + +//获取工作流步进节点 +export function generateFlow(data: nodeFlow):any{ + return request({ + url: '/systemapi/task_flow/generateFlow', + method: 'post', + data: data + }); +} + + +//获取任务表单内容 +export function gainTaskFormInfo(data: customerFormLogo):AxiosPromise { + return request({ + url: '/systemapi/task_management/gainTaskFormInfo', + method: 'post', + data: data + }); +} + +//获取工作流步进节点 +export function softDeletion(data: any):any{ + return request({ + url: '/systemapi/task_management/softDeletion', + method: 'post', + data: data + }); +} +//获取修改记录 +export function gainEditDataLog(data: any):any{ + return request({ + url: '/systemapi/task_management/gainEditDataLog', + method: 'post', + data: data + }); +} + +//添加任务是回显表单数据,若有流程回显流程 +export function echoTableFormPage(data: any):any{ + return request({ + url: '/systemapi/task_management/echoTableFormPage', + method: 'post', + data: data + }); +} +//根据表单数据实时更新流程 +export function realTimeUpdateFlow(data: any):any{ + return request({ + url: '/systemapi/task_management/realTimeUpdateFlow', + method: 'post', + data: data + }); +} +//根据表单数据实时更新流程 +export function draftsInitiateApproval(data?:any){ + return request({ + url: '/systemapi/task_management/draftsInitiateApproval', + method: 'post', + data: data + }); +} +//根据表单数据实时更新流程 +export function retractRunWorkFlow(data?:any){ + return request({ + url: '/systemapi/task_management/retractRunWorkFlow', + method: 'post', + data: data + }); +} +//重新发起流程 +export function afreshRunWorkflow(data?:any){ + return request({ + url: '/systemapi/task_management/afreshRunWorkflow', + method: 'post', + data: data + }); +} +//提交审批结果 +export function authorizeWorkflow(data?:any){ + return request({ + url: '/systemapi/task_management/authorizeWorkflow', + method: 'post', + data: data + }); +} + +export function runTaskFlow(data?:any){ + return request({ + url: '/systemapi/task_management/runTaskFlow', + method: 'post', + data: data + }); +} +//获取流程可见范围 +export function gainFlowLookSee(data?:any){ + return request({ + url: '/systemapi/task_flow/gainFlowLookSee', + method: 'post', + data: data + }); +} +//编辑可见范围 +export function editLookPowerView(data?:any){ + return request({ + url: '/systemapi/task_flow/editLookPowerView', + method: 'post', + data: data + }); +} + +//编辑消息提醒 +export function setUpMsg(data?:any){ + return request({ + url: '/systemapi/task_flow/setUpMsg', + method: 'post', + data: data + }); +} +//获取消息设置 +export function gainSetUpMsg(data?:any){ + return request({ + url: '/systemapi/task_flow/gainSetUpMsg', + method: 'post', + data: data + }); +} + + +//自定义App表单新增记录 +export function createAppTask(data?:any){ + return request({ + url: '/systemapi/task_management/createAppTask', + method: 'post', + data: data + }); +} diff --git a/src/api/api/taskapi/types.ts b/src/api/api/taskapi/types.ts new file mode 100644 index 0000000..e5d114e --- /dev/null +++ b/src/api/api/taskapi/types.ts @@ -0,0 +1,111 @@ +//任务记录 +export interface TaskLogQuery extends PageQuery { + keywords?: string; +} +//任务记录列表 +export interface taskLonCont{ + id:number; + title:string; + creater:number; + creater_time:number; + edit_time:number; + types:number; + version_id:number; + status:number; + masters_key:string; +} + +/** + * 任务记录列表分页 + */ + export type taskLogPageResult = PageResult; + + //获取可执行得任务列表 + export interface gainTaskListQuery extends PageQuery { + status?: number; + type?: number; +} +//执行得任务记录列表 +export interface taskListCont{ + id:string; + name:string; + createrName:string; + createrNumber:string; + createrTame:string; +} +/** + * 获取可执行得任务列表分页 + */ + export type gainTaskListPageResult = PageResult; + + //自定义表单标识符 +export interface customerFormLogo{ + id:string; +} + //自定义表单版本内容 +export interface customerFormVersionCont{ + id:number; + tablekey:string; + version:number; + status:number; + mastesform:string; + mastesformjson:string; + creater:number; + time:number; + editTime:number; + table_structure:string; + dict:string; + classify:number; + flowkeystr:string; +} +//获取工作流步进节点 +export interface nodeFlow extends customerFormLogo{ + conditionList?:conditionInfo[]; + nodelPeople?:nodelPeoples[] +} +export interface nodelPeoples { + factorid?:string; + userList?:string +} +export interface conditionInfo{ + factorid?:string; + type?:number; + isCheckbox?:boolean; + answers?:string[]; + oneanswer?:string; + customFields?:customFieldsInfo[]; + nodeUserList?:nodeUserInfo[]; +} +//自定义条件 +export interface customFieldsInfo{ + wordfield:string; + optType:string; + leftval:string; + leftoptType?:string; + rightoptType?:string; + rightval?:string; +} +//节点条件人员 +export interface nodeUserInfo{ + type:number; + targetId:string; + name?:string; + icon?:string; + iconToBase64?:string; +} + +//提醒设置表单 +export interface tipMsgInfo{ + types:number; //1:流程提醒;2:表单提醒 + tipClass:number; //1:只提醒一次;2:周期性提醒 + specifyTime?:number; //指定时间 + repetitionPeriod?:number; //重复周期 + tipMsg?:string; //提示语句 +} +//执行周期 +export interface runWeekInfo { + week:number; + day:number; + hour:number; + minute:number; +} diff --git a/src/api/api/user/index.ts b/src/api/api/user/index.ts new file mode 100644 index 0000000..650151a --- /dev/null +++ b/src/api/api/user/index.ts @@ -0,0 +1,159 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { UserForm, UserInfo, UserPageVO, UserQuery } from './types'; + +/** + * 登录成功后获取用户信息(昵称、头像、权限集合和角色集合) + */ +export function getUserInfo(): AxiosPromise { + return request({ + url: '/api/v1/users/me', + method: 'get' + }); +} +export function getUserInfoIng(): AxiosPromise { + return request({ + url: '/systemapi/user/get_user_cont', + method: 'get' + }); +} +/** + * 获取用户分页列表 + * + * @param queryParams + */ +export function getUserPage( + queryParams: UserQuery +): AxiosPromise> { + return request({ + url: '/api/v1/users/page', + method: 'get', + params: queryParams + }); +} + +/** + * 获取用户表单详情 + * + * @param userId + */ +export function getUserForm(userId: number): AxiosPromise { + return request({ + url: '/api/v1/users/' + userId + '/form', + method: 'get' + }); +} + +/** + * 添加用户 + * + * @param data + */ +export function addUser(data: any) { + return request({ + url: '/api/v1/users', + method: 'post', + data: data + }); +} + +/** + * 修改用户 + * + * @param id + * @param data + */ +export function updateUser(id: number, data: UserForm) { + return request({ + url: '/api/v1/users/' + id, + method: 'put', + data: data + }); +} + +/** + * 修改用户状态 + * + * @param id + * @param status + */ +export function updateUserStatus(id: number, status: number) { + return request({ + url: '/api/v1/users/' + id + '/status', + method: 'patch', + params: { status: status } + }); +} + +/** + * 修改用户密码 + * + * @param id + * @param password + */ +export function updateUserPassword(id: number, password: string) { + return request({ + url: '/api/v1/users/' + id + '/password', + method: 'patch', + params: { password: password } + }); +} + +/** + * 删除用户 + * + * @param ids + */ +export function deleteUsers(ids: string) { + return request({ + url: '/api/v1/users/' + ids, + method: 'delete' + }); +} + +/** + * 下载用户导入模板 + * + * @returns + */ +export function downloadTemplateApi() { + return request({ + url: '/api/v1/users/template', + method: 'get', + responseType: 'arraybuffer' + }); +} + +/** + * 导出用户 + * + * @param queryParams + * @returns + */ +export function exportUser(queryParams: UserQuery) { + return request({ + url: '/api/v1/users/_export', + method: 'get', + params: queryParams, + responseType: 'arraybuffer' + }); +} + +/** + * 导入用户 + * + * @param file + */ +export function importUser(deptId: number, file: File) { + const formData = new FormData(); + formData.append('file', file); + return request({ + url: '/api/v1/users/_import', + method: 'post', + params: { deptId: deptId }, + data: formData, + headers: { + 'Content-Type': 'multipart/form-data' + } + }); +} diff --git a/src/api/api/user/types.ts b/src/api/api/user/types.ts new file mode 100644 index 0000000..613ad6e --- /dev/null +++ b/src/api/api/user/types.ts @@ -0,0 +1,111 @@ +/** + * 登录用户信息 + */ +export interface UserInfo { + nickname: string; + avatar: string; + roles: string[]; + perms: string[]; +} + +/** + * 用户查询对象类型 + */ +export interface UserQuery extends PageQuery { + keywords?: string; + status?: number; + deptId?: number; +} + +/** + * 用户分页对象 + */ +export interface UserPageVO { + /** + * 用户头像地址 + */ + avatar?: string; + /** + * 创建时间 + */ + createTime?: Date; + /** + * 部门名称 + */ + deptName?: string; + /** + * 用户邮箱 + */ + email?: string; + /** + * 性别 + */ + genderLabel?: string; + /** + * 用户ID + */ + id?: number; + /** + * 手机号 + */ + mobile?: string; + /** + * 用户昵称 + */ + nickname?: string; + /** + * 角色名称,多个使用英文逗号(,)分割 + */ + roleNames?: string; + /** + * 用户状态(1:启用;0:禁用) + */ + status?: number; + /** + * 用户名 + */ + username?: string; +} + +/** + * 用户表单类型 + */ +export interface UserForm { + /** + * 用户头像 + */ + avatar?: string; + /** + * 部门ID + */ + deptId?: number; + /** + * 邮箱 + */ + email?: string; + /** + * 性别 + */ + gender?: number; + /** + * 用户ID + */ + id?: number; + mobile?: string; + /** + * 昵称 + */ + nickname?: string; + /** + * 角色ID集合 + */ + roleIds?: number[]; + /** + * 用户状态(1:正常;0:禁用) + */ + status?: number; + /** + * 用户名 + */ + username?: string; +} diff --git a/src/api/api/workflowapi/index.ts b/src/api/api/workflowapi/index.ts new file mode 100644 index 0000000..3495ed3 --- /dev/null +++ b/src/api/api/workflowapi/index.ts @@ -0,0 +1,130 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; + +import { + formTableName, + flowversion, + publicid +} from '@/api/workflowapi/types' + +//初始化工作流 +export function initializeWorkFlow(data: formTableName) { + return request({ + url: '/systemapi/task_flow/init_workflow', + method: 'post', + data: data + }); +} +//保存工作流 +export function setWorkFlowData(data: any):any { + return request({ + url: '/systemapi/task_flow/init_workflow', + method: 'post', + data: data + }); +} +//保存工作流 +export function getConditions(data: any):any { + return request({ + url: '/systemapi/task_flow/init_workflow', + method: 'post', + data: data + }); +} +//审批线已经存在得节点 +export function getAllParentNode(data: any) { + return request({ + url: '/kpiapi/workflowapi/get_all_parent_node', + method: 'post', + data: data + }); +} +//判断是否显示(指定审批节点自选)选项及可选节点 +export function judgeOptionalNode(data: any) { + return request({ + url: '/kpiapi/workflowapi/judge_optional_node', + method: 'post', + data: data + }); +} +//获取工作流版本列表 +export function gainFlowVersionList(data: publicid): AxiosPromise { + return request({ + url: '/systemapi/task_flow/gain_flow_version_list', + method: 'post', + data: data + }); +} +//保存工作流版本 +export function saveFlowCont(data: any) { + return request({ + url: '/systemapi/task_flow/save_flow_cont', + method: 'post', + data: data + }); +} +//获取工作流信息 +export function gainFlowInfo(data: publicid) { + return request({ + url: '/systemapi/task_flow/gain_flow_info', + method: 'post', + data: data + }); +} +//编辑工作流版本 +export function editFlowCont(data: any) { + return request({ + url: '/systemapi/task_flow/edit_flow_cont', + method: 'post', + data: data + }); +} +//编辑工作流版本 +export function saveNewFlow(data: any) { + return request({ + url: '/systemapi/task_flow/save_new_flow', + method: 'post', + data: data + }); +} +//启用&禁用工作流版本 +export function switchFlowVersion(data: any) { + return request({ + url: '/systemapi/task_flow/switch_flow_version', + method: 'post', + data: data + }); +} +//判断是否已经存在工作流以及是否开启 +export function judgeFormFlowIsOpen(data: any) { + return request({ + url: '/systemapi/task_flow/judgeFormFlowIsOpen', + method: 'post', + data: data + }); +} +//开启或关闭表单流程 +export function openFormFlow(data: any) { + return request({ + url: '/systemapi/task_flow/openFormFlow', + method: 'post', + data: data + }); +} + +//获取所有组件状态 +export function analysisForm(data: any) { + return request({ + url: '/systemapi/task_flow/analysisForm', + method: 'post', + data: data + }); +} +//编辑节点权限 +export function setFlowFormKeyPower(data: any) { + return request({ + url: '/systemapi/task_flow/setFlowFormKeyPower', + method: 'post', + data: data + }); +} diff --git a/src/api/api/workflowapi/types.ts b/src/api/api/workflowapi/types.ts new file mode 100644 index 0000000..8e5df98 --- /dev/null +++ b/src/api/api/workflowapi/types.ts @@ -0,0 +1,26 @@ +export interface publicid{ + id?: string; +} +//表单名称 +export interface formTableName{ + name?: string; +} + +//错误提示 +export interface flowversion{ + id:string; + version:string; + state:number; + key:string; +} + +//工作流判断条件 +export interface flowFactorCont{ + id:number; + factorid:string; + options:optionsInfo[] +} +export interface optionsInfo{ + label:string; + value:string; +}