diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..b5d0e34 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,14 @@ +{ + "tailwindCSS.experimental.configFile": "src/assets/style/index.css", + "tailwindCSS.includeLanguages": { + "vue": "html", + "vue-html": "html" + }, + "editor.quickSuggestions": { + "other": true, + "comments": false, + "strings": true + }, + "css.validate": true, + "tailwindCSS.emmetCompletions": true +} diff --git a/src/api/business.ts b/src/api/business.ts deleted file mode 100644 index 3eddb55..0000000 --- a/src/api/business.ts +++ /dev/null @@ -1,138 +0,0 @@ -import axios from 'axios'; -import { - AllProjectListRes, - ProjectListRes, - CreateProjectParam, - ProjectDetailRes, - TopBuildingTagsRes, -} from '@/types/business'; -import { - ProjectPaginationParams, - CommonCityRes, - PaginationParams, -} from '@/types/comm'; -import { HttpResponse } from './interceptor'; -// import type { RouteRecordNormalized } from 'vue-router'; -// import { UserState } from '@/store/modules/user/types'; - -export interface ProjectRecord { - id: string; - name: string; - type: string; -} - -// 全部项目列表(包含楼栋) -export function getAllProjectList(): Promise { - return axios.get(`project/getProjectBuildingList`); -} -// 项目列表(分页) -export function getProjectList( - params: ProjectPaginationParams -): Promise { - return axios.post('project/getProjectList', params); -} -// 创建项目 -export function createProject( - params: CreateProjectParam -): Promise { - return axios.post('project/createProject', params); -} -// 项目信息 -export function getProjectDetail(id: number): Promise { - return axios.get(`project/getProject?id=${id}`); -} -// 更新项目 -export function updateProject( - params: CreateProjectParam -): Promise { - return axios.post('project/updateProject', params); -} -// 全部项目的城市列表 -export function getProjectCityList(): Promise { - return axios.get(`project/getCityList`); -} -// 删除项目 -export function delProject(id: number): Promise { - return axios.get(`project/delProject?id=${id}`); -} -// ------------- 空间管理 ------------- -// 创建房源 -export function createRoom(params: any): Promise { - return axios.post('rooms/createRoom', params); -} -// 房源列表(分页) -export function getRoomList(params: PaginationParams): Promise { - return axios.post('rooms/getRoomList', params); -} -// 更新房源 -export function updateRoom(params: any): Promise { - return axios.post('rooms/updateRoom', params); -} -// 删除房源 -export function delRoom(id: number): Promise { - return axios.get(`rooms/delRoom?id=${id}`); -} -// 房源详情 -export function getRoom(id: number): Promise { - return axios.get(`rooms/getRoom?id=${id}`); -} -// 修改房源状态 status:1招商 2保留 3下架 4在租 -export function changeRoomStatus(params: any): Promise { - return axios.post('rooms/changeRoomStatus', params); -} -// 房源获取头部楼栋tags -export function getTopBuildingTagsByProjectId( - id: number -): Promise { - return axios.get(`roomOver/getTopBuildingTags?project_id=${id}`); -} -// 房源剖视-数据统计 -export function getStatisticsData(params: any): Promise { - return axios.post('roomOver/getStatisticsData', params); -} -// 房源剖视-房源列表 -export function getRoomOverList(params: any): Promise { - return axios.post('roomOver/getRoomList', params); -} -// 房源图谱列表 -export function getRoomsGraphList(params: any): Promise { - return axios.post('roomsGraph/getRoomList', params); -} - -// ------------- 租客管理 ------------- -//创建租客 -export function createTenant(params: any): Promise { - return axios.post('tenants/createTenant', params); -} -// 租客列表(分页) -export function getTenantList(params: PaginationParams): Promise { - return axios.post('tenants/getTenantList', params); -} -// 更新租客信息 -export function updateTenant(params: any): Promise { - return axios.post('tenants/updateTenant', params); -} -// 删除租客 -export function delTenant(id: number): Promise { - return axios.get(`tenants/delTenant?id=${id}`); -} -// 租客详情 -export function getTenantDetail(id: number): Promise { - return axios.get(`tenants/getTenant?id=${id}`); -} -// 租客归档 -export function filingTenant(params: any): Promise { - return axios.post('tenants/filingTenant', params); -} -// 租客下拉列表(不分页) -export function getTenantAllList( - params: PaginationParams -): Promise { - return axios.post('tenants/getTenantAllList', params); -} -// 租客归档列表(分页) -export function getTenantFilingList( - params: PaginationParams -): Promise { - return axios.post('tenants/getTenantFilingList', params); -} diff --git a/src/api/contracts.ts b/src/api/contracts.ts new file mode 100644 index 0000000..55c5679 --- /dev/null +++ b/src/api/contracts.ts @@ -0,0 +1,279 @@ +import axios from 'axios'; +import { + SettingContractNumbeRes, + CreateCodeSettingParam, + DisableUserParam, + CreateTermSettingParam, + SettingContractTermListRes, + SettingContractTermInfo, + SettingContractTemplateListRes, + CreateTemplateSettingParam, + ContractWordFormParam, + ContractWordSettingListRes, + SettingContractFileInfoRes, +} from '@/types/setting'; +import { PaginationParams } from '@/types/comm'; +import { HttpResponse } from './interceptor'; + +// ==================== 合同设置 API (contractSetting 路由) ==================== +// 合同设置-合同编号设置-全部启用列表 +export function getAllCodeSettingList(): Promise { + return axios.get(`contractSetting/getAllCodeSettingList`); +} + +// 合同设置-合同编号设置-新增 +export function createCodeSetting( + params: CreateCodeSettingParam +): Promise { + return axios.post(`contractSetting/createCodeSetting`, params); +} + +// 合同设置-合同编号设置-编辑 +export function updateCodeSetting( + params: CreateCodeSettingParam +): Promise { + return axios.post(`contractSetting/updateCodeSetting`, params); +} + +// 合同设置-合同编号设置-删除 +export function delCodeSetting(id: number): Promise { + return axios.get(`contractSetting/delCodeSetting?id=${id}`); +} + +// 合同设置-合同编号设置-单个详情 +export function getCodeSettingFromId( + id: number +): Promise { + return axios.get(`contractSetting/getCodeSetting?id=${id}`); +} + +// 合同设置-合同编号设置-启用/禁用 +export function disableCodeSetting( + params: DisableUserParam +): Promise { + return axios.post(`contractSetting/disableCodeSetting`, params); +} + +// 合同设置-合同编号设置-列表(带分页) +export function getCodeSettingList( + params: PaginationParams +): Promise { + return axios.post(`contractSetting/getCodeSettingList`, params); +} + +// 合同设置-合同条款设置-全部启用列表 +export function getAllTermsSettingList(): Promise { + return axios.get(`contractSetting/getAllTermsSettingList`); +} + +// 合同设置-合同条款设置-新增 +export function createTermsSetting( + params: CreateTermSettingParam +): Promise { + return axios.post(`contractSetting/createTermsSetting`, params); +} + +// 合同设置-合同条款设置-编辑 +export function updateTermsSetting( + params: CreateTermSettingParam +): Promise { + return axios.post(`contractSetting/updateTermsSetting`, params); +} + +// 合同设置-合同条款设置-删除 +export function delTermsSetting(id: number): Promise { + return axios.get(`contractSetting/delTermsSetting?id=${id}`); +} + +// 合同设置-合同条款设置-单个条款配置详情 +export function getTermsSettingFromId( + id: number +): Promise { + return axios.get(`contractSetting/getTermsSetting?id=${id}`); +} + +// 合同设置-合同条款设置-单个条款数据详情 +export function getTermsDataFromId(params: any): Promise { + return axios.post(`contractSetting/getTerm`, params); +} + +// 合同设置-合同条款设置-启用/禁用 +export function disableTermsSetting( + params: DisableUserParam +): Promise { + return axios.post(`contractSetting/disableTermsSetting`, params); +} + +// 合同设置-合同条款设置-列表(带分页) +export function getTermsSettingList( + params: PaginationParams +): Promise { + return axios.post(`contractSetting/getTermsSettingList`, params); +} + +// 合同设置-合同模板管理-全部启用列表 +export function getAllTemplateSettingList(): Promise { + return axios.get(`contractSetting/getAllTemplateSettingList`); +} + +// 合同设置-合同模板管理-新增 +export function createTemplateSetting( + params: CreateTemplateSettingParam +): Promise { + return axios.post(`contractSetting/createTemplateSetting`, params); +} + +// 合同设置-合同模板管理-编辑 +export function updateTemplateSetting(params: any): Promise { + return axios.post(`contractSetting/saveTemplateSetting`, params); +} + +// 合同设置-合同模板管理-删除 +export function delTemplateSetting(id: number): Promise { + return axios.get(`contractSetting/delTemplateSetting?id=${id}`); +} + +// 合同设置-合同模板管理-单个详情 +export function getTemplateSettingFromId(id: number): Promise { + return axios.get(`contractSetting/getTemplateSetting?id=${id}`); +} + +// 合同设置-合同模板管理-启用/禁用 +export function disableTemplateSetting( + params: DisableUserParam +): Promise { + return axios.post(`contractSetting/disableTemplateSetting`, params); +} + +// 合同设置-合同模板管理-列表(带分页) +export function getTemplateSettingList( + params: PaginationParams +): Promise { + return axios.post(`contractSetting/getTemplateSettingList`, params); +} + +// 合同设置-合同文档模板管理-全部启用列表 +export function getAllWordSettingList(): Promise { + return axios.get(`contractSetting/getAllWordSettingList`); +} + +// 合同设置-合同文档模板管理-新增 +export function createWordSetting( + params: ContractWordFormParam +): Promise { + return axios.post(`contractSetting/createWordSetting`, params); +} + +// 合同设置-合同文档模板管理-编辑(更新) +export function updateWordSetting( + params: ContractWordFormParam +): Promise { + return axios.post(`contractSetting/updateWordSetting`, params); +} + +// 合同设置-合同文档模板管理-删除 +export function delWordSetting(id: number): Promise { + return axios.get(`contractSetting/delWordSetting?id=${id}`); +} + +// 合同设置-合同文档模板管理-单个详情 +export function getWordSettingFromId( + id: number +): Promise { + return axios.get(`contractSetting/getWordSetting?id=${id}`); +} + +// 合同设置-合同文档模板管理-启用/禁用 +export function disableWordSetting( + params: DisableUserParam +): Promise { + return axios.post(`contractSetting/disableWordSetting`, params); +} + +// 合同设置-合同文档模板管理-列表(带分页) +export function getWordSettingList( + params: PaginationParams +): Promise { + return axios.post(`contractSetting/getWordSettingList`, params); +} + +// 获取合同占位符列表 +export function getContractPlaceholderList(params: any): Promise { + // type 类型:1租赁,2物业 + return axios.post(`contractSetting/getPlaceholderList`, params); +} + +// ==================== 合同管理 API (contracts 路由) ==================== +// 合同管理-头部数据列表 +export function getContractsListTopData(type: number): Promise { + return axios.post(`contracts/getListTopData`, type); +} +// 合同管理-列表 +export interface ContractPaginationParams extends PaginationParams { + type?: number; +} +export function getContractsList( + params: ContractPaginationParams +): Promise { + return axios.post(`contracts/getList`, params); +} +// 合同管理-草稿合同列表 +export function getDraftList(type: number): Promise { + return axios.get(`contracts/getDraftList?type=${type}`); +} +// 合同管理-编辑合同详情 +export function getEditDetail(id: number): Promise { + return axios.get(`contracts/getEditDetail?id=${id}`); +} +// 合同管理-编辑合同标签详情 +export function getEditTagDetail(params: any): Promise { + return axios.post(`contracts/getEditTagDetail`, params); +} +// 合同管理-合同详情 +export function getContractDetail(id: number): Promise { + return axios.get(`contracts/getDetail?id=${id}`); +} +// 合同管理-标签详情 +export function getTagDetail(params: any): Promise { + return axios.post(`contracts/getTagDetail`, params); +} +// 合同管理-保存合同 +export function saveContracts(params: any): Promise { + return axios.post(`contracts/save`, params); +} +// 合同管理-禁用/启用合同 +export function disableContracts(params: any): Promise { + return axios.post(`contracts/disable`, params); +} +// 合同管理-删除合同 +export function delContract(id: number): Promise { + return axios.get(`contracts/del?id=${id}`); +} +// 合同管理-提交审批 +export function approvalContract(id: number): Promise { + return axios.get(`contracts/approval?id=${id}`); +} +// 合同管理-归档 +export function filingContract(id: number): Promise { + return axios.get(`contracts/filing?id=${id}`); +} +// 合同管理-生成合同 +export function createContracts(params: any): Promise { + return axios.post(`contracts/createWord`, params); +} +// 合同管理-合同文件上传 +export function uploadFileContracts(params: any): Promise { + return axios.post(`contracts/uploadFile`, params); +} +// 合同管理-合同文件更新 +export function updateFileContracts(params: any): Promise { + return axios.post(`contracts/updateFile`, params); +} +// 合同管理-取消审批 +export function cancelApprovalContract(id: number): Promise { + return axios.get(`contracts/cancelApproval?id=${id}`); +} +// 合同归档-列表 +export function getFilingContractList(params: any): Promise { + return axios.post(`contracts/getFilingList`, params); +} diff --git a/src/api/department.ts b/src/api/department.ts new file mode 100644 index 0000000..016ef8a --- /dev/null +++ b/src/api/department.ts @@ -0,0 +1,51 @@ +import axios from 'axios'; +import { + DepartmentFormParams, + DepartmentFormRes, + DepartmentListRes, + DepartmentDetailRes, +} from '@/types/setting'; +import { HttpResponse } from './interceptor'; + +// ==================== 部门相关 API ==================== +export function createDepartment( + params: DepartmentFormParams +): Promise { + return axios.post('/department/createDepartment', params); +} + +export function updateDepartment( + params: DepartmentFormParams +): Promise { + return axios.post('/department/updateDepartment', params); +} + +export function getDepartmentList(): Promise { + return axios.get('/department/getDepartmentList'); +} + +export function getDepartmentDetail(id: number): Promise { + return axios.get(`/department/getDepartment?id=${id}`); +} + +export function departmentSetUp(id: number): Promise { + return axios.get(`/department/setUp?id=${id}`); +} + +export function departmentSetDown(id: number): Promise { + return axios.get(`/department/setDown?id=${id}`); +} + +export function delDepartment(id: number): Promise { + return axios.get(`/department/delDepartment?id=${id}`); +} + +// 保存部门项目数据 +export function saveDataPermission(params: any): Promise { + return axios.post('/department/saveDataPermission', params); +} + +// 获取部门项目数据 +export function getDataPermission(id: number): Promise { + return axios.get(`/department/getDataPermission?id=${id}`); +} diff --git a/src/api/dictionary.ts b/src/api/dictionary.ts new file mode 100644 index 0000000..468ffdc --- /dev/null +++ b/src/api/dictionary.ts @@ -0,0 +1,221 @@ +import axios from 'axios'; +import { + SettingProjectTypeListRes, + SettingProjectTypeRes, + SettingProjectProvinceRes, + DictionaryForm, + CheckProjectParam, + SettingRoomTagsRes, + SettingRoomTagRes, + SettingTenantDictionaryRes, +} from '@/types/setting'; +import { TenantDictionaryType } from '@/types/comm'; +import { HttpResponse } from './interceptor'; + +// ==================== 数据字典 API (dictionary 路由) ==================== +// 数据字典-项目管理-全部项目类型列表 +export function getAllProjectTypeList(): Promise { + return axios.get('dictionary/getAllProjectTypeList'); +} + +// 数据字典-项目管理-单个项目类型信息 +export function getProjectTypeById(id: number): Promise { + return axios.get(`dictionary/getProjectType?id=${id}`); +} + +// 数据字典-项目管理-项目地址列表 +export function getProvinceList(): Promise { + return axios.get(`dictionary/getProvinceList`); +} + +// 数据字典-项目管理-创建项目类型 +export function createProjectType( + params: DictionaryForm +): Promise { + return axios.post(`dictionary/createProjectType`, params); +} + +// 数据字典-项目管理-更新项目类型信息 +export function updateProjectType( + params: DictionaryForm +): Promise { + return axios.post(`dictionary/updateProjectType`, params); +} + +// 数据字典-项目管理-删除项目类型 +export function delProjectType(id: number): Promise { + return axios.get(`dictionary/delProjectType?id=${id}`); +} + +// 数据字典-项目管理-启用/禁用项目类型(单个) +export function checkProjectType( + params: CheckProjectParam +): Promise { + return axios.post(`dictionary/checkProjectType`, params); +} + +// 数据字典-项目管理-启用/禁用项目类型(全选) +export function checkAllProjectType( + params: CheckProjectParam +): Promise { + return axios.post(`dictionary/checkAllProjectType`, params); +} + +// 数据字典-项目管理-启用/禁用省份(单个) +export function checkProvince( + params: CheckProjectParam +): Promise { + return axios.post(`dictionary/checkProvince`, params); +} + +// 数据字典-项目管理-启用/禁用省份(全选) +export function checkAllProvince( + params: CheckProjectParam +): Promise { + return axios.post(`dictionary/checkAllProvince`, params); +} + +// 数据字典-空间管理-全部房源标签列表 +export function getRoomTagList(): Promise { + return axios.get(`dictionary/getRoomTagList`); +} + +// 数据字典-项目管理-单个房源标签信息 +export function getRoomTagById(id: number): Promise { + return axios.get(`dictionary/getRoomTag?id=${id}`); +} + +// 数据字典-空间管理-创建房源标签 +export function createRoomTag(params: DictionaryForm): Promise { + return axios.post(`dictionary/createRoomTag`, params); +} + +// 数据字典-空间管理-更新房源标签 +export function updateRoomTag(params: DictionaryForm): Promise { + return axios.post(`dictionary/updateRoomTag`, params); +} + +// 数据字典-空间管理-删除房源标签 +export function delRoomTag(id: number): Promise { + return axios.get(`dictionary/delRoomTag?id=${id}`); +} + +// 数据字典-空间管理-禁用/启用 房源标签(单个) +export function checkRoomTag(params: CheckProjectParam): Promise { + return axios.post(`dictionary/checkRoomTag`, params); +} + +// 数据字典-空间管理-禁用/启用 房源标签(全选) +export function checkAllRoomTag( + params: CheckProjectParam +): Promise { + return axios.post(`dictionary/checkAllRoomTag`, params); +} + +// 数据字典-租客管理-全部租客标签列表(包含所有类型标签) +export function getAllTenantDictionaryList(): Promise { + return axios.get(`dictionary/getAllTenantDictionaryList`); +} + +// 数据字典-租客管理-单个租客标签信息 +export function getTenantDictionary( + id: number, + type: TenantDictionaryType +): Promise { + return axios.get(`dictionary/getTenantDictionary?id=${id}&type=${type}`); +} + +// 数据字典-租客管理-创建租客标签 +export function createTenantDictionary( + params: DictionaryForm +): Promise { + return axios.post(`dictionary/createTenantDictionary`, params); +} + +// 数据字典-租客管理-更新租客标签 +export function updateTenantDictionary( + params: DictionaryForm +): Promise { + return axios.post(`dictionary/updateTenantDictionary`, params); +} + +// 数据字典-租客管理-删除租客标签 +export function delTenantDictionary( + id: number, + type: TenantDictionaryType +): Promise { + return axios.get(`dictionary/delTenantDictionary?id=${id}&type=${type}`); +} + +// 数据字典-租客管理-禁用/启用 租客标签(单个) +export function checkTenantDictionary( + params: CheckProjectParam +): Promise { + return axios.post(`dictionary/checkTenantDictionary`, params); +} + +// 数据字典-租客管理-禁用/启用 租客标签(全选) +export function checkAllTenantDictionary( + params: CheckProjectParam +): Promise { + return axios.post(`dictionary/checkAllTenantDictionary`, params); +} + +// 数据字典-租客管理--已启用列表(type:1租客类型,2租客来源,3租客行业分类,4租客企业规模) +export function getTenantDictionaryListByType( + type: TenantDictionaryType +): Promise { + return axios.get(`dictionary/getTenantDictionaryList?type=${type}`); +} + +// 合同标签列表(已勾选) +export function getContractTagsList(): Promise { + return axios.get(`dictionary/getContractTagsList`); +} + +// 数据字典-合同管理-合同标签列表(全部) +export function getAllContractTagsList(): Promise { + return axios.get(`dictionary/getAllContractTagsList`); +} + +// 数据字典-合同管理-创建合同标签 +export function createContractTags( + params: DictionaryForm +): Promise { + return axios.post(`dictionary/createContractTags`, params); +} + +// 数据字典-合同管理-更新合同标签 +export function updateContractTags( + params: DictionaryForm +): Promise { + return axios.post(`dictionary/updateContractTags`, params); +} + +// 数据字典-合同管理-删除合同标签 +export function delContractTags( + id: number +): Promise { + return axios.get(`dictionary/delContractTags?id=${id}`); +} + +// 数据字典-合同管理-禁用/启用 合同标签(单个) +export function checkContractTags( + params: CheckProjectParam +): Promise { + return axios.post(`dictionary/checkContractTags`, params); +} + +// 数据字典-合同管理-禁用/启用 合同标签(全选) +export function checkAllContractTags( + params: CheckProjectParam +): Promise { + return axios.post(`dictionary/checkAllContractTags`, params); +} + +// 数据字典-合同管理-单个合同标签信息 +export function getContractTags( + id: number +): Promise { + return axios.get(`dictionary/getContractTags?id=${id}`); +} diff --git a/src/api/finance-setting.ts b/src/api/finance-setting.ts new file mode 100644 index 0000000..b67fbae --- /dev/null +++ b/src/api/finance-setting.ts @@ -0,0 +1,55 @@ +import axios from 'axios'; +import { + FeeManagementListRes, + CreateFeeParams, + FeeManagementDetailRes, + FeeSelectListParams, + DisableUserParam, +} from '@/types/setting'; +import { PaginationParams } from '@/types/comm'; +import { HttpResponse } from './interceptor'; + +// ==================== 财务设置 API (financeSetting 路由) ==================== +// 合同设置-财务设置-全部列表(带分页) +export function getFeeList( + params: PaginationParams +): Promise { + return axios.post(`financeSetting/getFeeList`, params); +} + +// 合同设置-财务设置-新增 +export function createFee(params: CreateFeeParams): Promise { + return axios.post(`financeSetting/createFee`, params); +} + +// 合同设置-财务设置-编辑 +export function updateFee(params: CreateFeeParams): Promise { + return axios.post(`financeSetting/updateFee`, params); +} + +// 合同设置-财务设置-删除 +export function delFee(id: number): Promise { + return axios.get(`financeSetting/delFee?id=${id}`); +} + +// 合同设置-财务设置-单个详情 +export function getFeeFromId(id: number): Promise { + return axios.get(`financeSetting/getFee?id=${id}`); +} + +// 合同设置-财务设置-启用/禁用 +export function disableFee(params: DisableUserParam): Promise { + return axios.post(`financeSetting/disableFee`, params); +} + +// 合同设置-财务设置-获取下拉列表 +export function getUseFeeList( + params: FeeSelectListParams +): Promise { + return axios.post(`financeSetting/getUseFeeList`, params); +} + +// 合同设置-流水账户管理--获取下拉列表 +export function getUseTurnoverAccountList(params: any): Promise { + return axios.get(`financeSetting/getUseTurnoverAccountList`, params); +} diff --git a/src/api/project.ts b/src/api/project.ts new file mode 100644 index 0000000..ed8a42d --- /dev/null +++ b/src/api/project.ts @@ -0,0 +1,51 @@ +import axios from 'axios'; +import { + AllProjectListRes, + ProjectListRes, + CreateProjectParam, + ProjectDetailRes, +} from '@/types/business'; +import { ProjectPaginationParams, CommonCityRes } from '@/types/comm'; +import { HttpResponse } from './interceptor'; + +export interface ProjectRecord { + id: string; + name: string; + type: string; +} + +// ==================== 项目相关 API (project 路由) ==================== +// 全部项目列表(包含楼栋) +export function getAllProjectList(): Promise { + return axios.get(`project/getProjectBuildingList`); +} +// 项目列表(分页) +export function getProjectList( + params: ProjectPaginationParams +): Promise { + return axios.post('project/getProjectList', params); +} +// 创建项目 +export function createProject( + params: CreateProjectParam +): Promise { + return axios.post('project/createProject', params); +} +// 项目信息 +export function getProjectDetail(id: number): Promise { + return axios.get(`project/getProject?id=${id}`); +} +// 更新项目 +export function updateProject( + params: CreateProjectParam +): Promise { + return axios.post('project/updateProject', params); +} +// 全部项目的城市列表 +export function getProjectCityList(): Promise { + return axios.get(`project/getCityList`); +} +// 删除项目 +export function delProject(id: number): Promise { + return axios.get(`project/delProject?id=${id}`); +} diff --git a/src/api/role.ts b/src/api/role.ts new file mode 100644 index 0000000..0386cff --- /dev/null +++ b/src/api/role.ts @@ -0,0 +1,56 @@ +import axios from 'axios'; +import { + AllUserListRes, + RoleListRes, + RoleFormParam, + PermissionRes, + RolePermissionRes, + SaveRolePermissionParam, + UpdateUserRoleParam, +} from '@/types/setting'; +import { PaginationParams } from '@/types/comm'; +import { HttpResponse } from './interceptor'; + +// ==================== 角色相关 API ==================== +export function getRoleList(): Promise { + return axios.get('/role/getRoleList'); +} + +export function createRole(params: RoleFormParam): Promise { + return axios.post('/role/createRole', params); +} + +export function updateRole(params: RoleFormParam): Promise { + return axios.post('/role/updateRole', params); +} + +export function delRole(id: number): Promise { + return axios.get(`/role/delRole?id=${id}`); +} + +export function getPermissionList(): Promise { + return axios.get('/role/getPermissionList'); +} + +export function getRolePermission(id: number): Promise { + return axios.get(`/role/getRolePermission?id=${id}`); +} + +export function saveRolePermission( + params: SaveRolePermissionParam +): Promise { + return axios.post('/role/saveRolePermission', params); +} + +// 角色下的用户列表 +export function getUserListFromRole( + params: PaginationParams +): Promise { + return axios.post('/role/getUserList', params); +} + +export function updateUserRole( + params: UpdateUserRoleParam +): Promise { + return axios.post('/role/updateUserRole', params); +} diff --git a/src/api/room.ts b/src/api/room.ts new file mode 100644 index 0000000..018189a --- /dev/null +++ b/src/api/room.ts @@ -0,0 +1,52 @@ +import axios from 'axios'; +import { TopBuildingTagsRes } from '@/types/business'; +import { PaginationParams } from '@/types/comm'; +import { HttpResponse } from './interceptor'; + +// ==================== 空间管理 - rooms 路由 ==================== +// 创建房源 +export function createRoom(params: any): Promise { + return axios.post('rooms/createRoom', params); +} +// 房源列表(分页) +export function getRoomList(params: PaginationParams): Promise { + return axios.post('rooms/getRoomList', params); +} +// 更新房源 +export function updateRoom(params: any): Promise { + return axios.post('rooms/updateRoom', params); +} +// 删除房源 +export function delRoom(id: number): Promise { + return axios.get(`rooms/delRoom?id=${id}`); +} +// 房源详情 +export function getRoom(id: number): Promise { + return axios.get(`rooms/getRoom?id=${id}`); +} +// 修改房源状态 status:1招商 2保留 3下架 4在租 +export function changeRoomStatus(params: any): Promise { + return axios.post('rooms/changeRoomStatus', params); +} + +// ==================== 空间管理 - roomOver 路由 ==================== +// 房源获取头部楼栋tags +export function getTopBuildingTagsByProjectId( + id: number +): Promise { + return axios.get(`roomOver/getTopBuildingTags?project_id=${id}`); +} +// 房源剖视-数据统计 +export function getStatisticsData(params: any): Promise { + return axios.post('roomOver/getStatisticsData', params); +} +// 房源剖视-房源列表 +export function getRoomOverList(params: any): Promise { + return axios.post('roomOver/getRoomList', params); +} + +// ==================== 空间管理 - roomsGraph 路由 ==================== +// 房源图谱列表 +export function getRoomsGraphList(params: any): Promise { + return axios.post('roomsGraph/getRoomList', params); +} diff --git a/src/api/setting.ts b/src/api/setting.ts index 2752052..a6a2e34 100644 --- a/src/api/setting.ts +++ b/src/api/setting.ts @@ -1,570 +1,31 @@ import axios from 'axios'; import { - DepartmentFormParams, - DepartmentFormRes, - DepartmentListRes, - DepartmentDetailRes, - AllUserListRes, - FormUserItem, - UserInfoRes, - DisableUserParam, - RoleListRes, - RoleFormParam, - PermissionRes, - RolePermissionRes, - SaveRolePermissionParam, - UpdateUserRoleParam, SafeInfoRes, SafeParams, SettingProjectRes, SettingProjectParam, - SettingProjectTypeListRes, - SettingProjectTypeRes, - SettingProjectProvinceRes, - DictionaryForm, - CheckProjectParam, - SettingRoomTagsRes, - SettingRoomTagRes, - SettingTenantDictionaryRes, - SettingContractNumbeRes, - CreateCodeSettingParam, - FeeManagementListRes, - CreateFeeParams, - FeeManagementDetailRes, - FeeSelectListParams, - CreateTermSettingParam, - SettingContractTermListRes, - SettingContractTermInfo, - SettingContractTemplateListRes, - CreateTemplateSettingParam, - ContractWordFormParam, - ContractWordSettingListRes, - SettingContractFileInfoRes, } from '@/types/setting'; -import { PaginationParams, TenantDictionaryType } from '@/types/comm'; import { HttpResponse } from './interceptor'; -// ==================== 部门相关 API ==================== -export function createDepartment( - params: DepartmentFormParams -): Promise { - return axios.post('/department/createDepartment', params); -} - -export function updateDepartment( - params: DepartmentFormParams -): Promise { - return axios.post('/department/updateDepartment', params); -} - -export function getDepartmentList(): Promise { - return axios.get('/department/getDepartmentList'); -} - -export function getDepartmentDetail(id: number): Promise { - return axios.get(`/department/getDepartment?id=${id}`); -} - -export function departmentSetUp(id: number): Promise { - return axios.get(`/department/setUp?id=${id}`); -} - -export function departmentSetDown(id: number): Promise { - return axios.get(`/department/setDown?id=${id}`); -} - -export function delDepartment(id: number): Promise { - return axios.get(`/department/delDepartment?id=${id}`); -} -// 保存部门项目数据 -export function saveDataPermission(params: any): Promise { - return axios.post('/department/saveDataPermission', params); -} -// 获取部门项目数据 -export function getDataPermission(id: number): Promise { - return axios.get(`/department/getDataPermission?id=${id}`); -} -// ==================== 用户相关 API ==================== -export function getAllUserList( - params: PaginationParams -): Promise { - return axios.post('/user/getAllUserList', params); -} - -export function getUserList(params: PaginationParams): Promise { - return axios.post('/user/getUserList', params); -} - -export function createUser(params: FormUserItem): Promise { - return axios.post('/user/createUser', params); -} - -export function updateUser(params: FormUserItem): Promise { - return axios.post('/user/updateUser', params); -} - -export function getUserInfo(id: number): Promise { - return axios.get(`/user/getUser?id=${id}`); -} - -export function delUser(id: number): Promise { - return axios.get(`/user/delUser?id=${id}`); -} - -export function disableUser(params: DisableUserParam): Promise { - return axios.post('/user/disableUser', params); -} - -// ==================== 角色相关 API ==================== -export function getRoleList(): Promise { - return axios.get('/role/getRoleList'); -} - -export function createRole(params: RoleFormParam): Promise { - return axios.post('/role/createRole', params); -} - -export function updateRole(params: RoleFormParam): Promise { - return axios.post('/role/updateRole', params); -} - -export function delRole(id: number): Promise { - return axios.get(`/role/delRole?id=${id}`); -} - -export function getPermissionList(): Promise { - return axios.get('/role/getPermissionList'); -} - -export function getRolePermission(id: number): Promise { - return axios.get(`role/getRolePermission?id=${id}`); -} - -export function saveRolePermission( - params: SaveRolePermissionParam -): Promise { - return axios.post('role/saveRolePermission', params); -} - -// 角色下的用户列表 -export function getUserListFromRole( - params: PaginationParams -): Promise { - return axios.post('role/getUserList', params); -} -// 角色下的用户列表 -export function updateUserRole( - params: UpdateUserRoleParam -): Promise { - return axios.post('role/updateUserRole', params); -} - -// ==================== 系统设置相关 API ==================== +// ==================== 系统设置相关 API (setting 路由) ==================== // 通用设置-安全设置信息 export function getSafeSettingInfo(): Promise { return axios.get('setting/getSafeSetting'); } + // 通用设置-安全设置信息保存 export function saveSafeSetting(params: SafeParams): Promise { return axios.post('setting/saveSafeSetting', params); } + // 项目设置信息 export function getProjectSetting(): Promise { return axios.get('setting/getProjectSetting'); } + // 项目设置信息保存 export function saveProjectSetting( params: SettingProjectParam ): Promise { return axios.post('setting/saveProjectSetting', params); } -// 数据字典-项目管理-全部项目类型列表 -export function getAllProjectTypeList(): Promise { - return axios.get('dictionary/getAllProjectTypeList'); -} -// 数据字典-项目管理-单个项目类型信息 -export function getProjectTypeById(id: number): Promise { - return axios.get(`dictionary/getProjectType?id=${id}`); -} -// 数据字典-项目管理-项目地址列表 -export function getProvinceList(): Promise { - return axios.get(`dictionary/getProvinceList`); -} -// 数据字典-项目管理-创建项目类型 -export function createProjectType( - params: DictionaryForm -): Promise { - return axios.post(`dictionary/createProjectType`, params); -} -// 数据字典-项目管理-更新项目类型信息 -export function updateProjectType( - params: DictionaryForm -): Promise { - return axios.post(`dictionary/updateProjectType`, params); -} -// 数据字典-项目管理-删除项目类型 -export function delProjectType(id: number): Promise { - return axios.get(`dictionary/delProjectType?id=${id}`); -} -// 数据字典-项目管理-启用/禁用项目类型(单个) -export function checkProjectType( - params: CheckProjectParam -): Promise { - return axios.post(`dictionary/checkProjectType`, params); -} -// 数据字典-项目管理-启用/禁用项目类型(全选) -export function checkAllProjectType( - params: CheckProjectParam -): Promise { - return axios.post(`dictionary/checkAllProjectType`, params); -} -// 数据字典-项目管理-启用/禁用省份(单个) -export function checkProvince( - params: CheckProjectParam -): Promise { - return axios.post(`dictionary/checkProvince`, params); -} -// 数据字典-项目管理-启用/禁用省份(全选) -export function checkAllProvince( - params: CheckProjectParam -): Promise { - return axios.post(`dictionary/checkAllProvince`, params); -} -// 数据字典-空间管理-全部房源标签列表 -export function getRoomTagList(): Promise { - return axios.get(`dictionary/getRoomTagList`); -} -// 数据字典-项目管理-单个房源标签信息 -export function getRoomTagById(id: number): Promise { - return axios.get(`dictionary/getRoomTag?id=${id}`); -} -// 数据字典-空间管理-创建房源标签 -export function createRoomTag(params: DictionaryForm): Promise { - return axios.post(`dictionary/createRoomTag`, params); -} -// 数据字典-空间管理-更新房源标签 -export function updateRoomTag(params: DictionaryForm): Promise { - return axios.post(`dictionary/updateRoomTag`, params); -} -// 数据字典-空间管理-删除房源标签 -export function delRoomTag(id: number): Promise { - return axios.get(`dictionary/delRoomTag?id=${id}`); -} -// 数据字典-空间管理-禁用/启用 房源标签(单个) -export function checkRoomTag(params: CheckProjectParam): Promise { - return axios.post(`dictionary/checkRoomTag`, params); -} -// 数据字典-空间管理-禁用/启用 房源标签(全选) -export function checkAllRoomTag( - params: CheckProjectParam -): Promise { - return axios.post(`dictionary/checkAllRoomTag`, params); -} -// 数据字典-租客管理-全部租客标签列表(包含所有类型标签) -export function getAllTenantDictionaryList(): Promise { - return axios.get(`dictionary/getAllTenantDictionaryList`); -} -// 数据字典-租客管理-单个租客标签信息 -export function getTenantDictionary( - id: number, - type: TenantDictionaryType -): Promise { - return axios.get(`dictionary/getTenantDictionary?id=${id}&type=${type}`); -} -// 数据字典-租客管理-创建租客标签 -export function createTenantDictionary( - params: DictionaryForm -): Promise { - return axios.post(`dictionary/createTenantDictionary`, params); -} -// 数据字典-租客管理-更新租客标签 -export function updateTenantDictionary( - params: DictionaryForm -): Promise { - return axios.post(`dictionary/updateTenantDictionary`, params); -} -// 数据字典-租客管理-删除租客标签 -export function delTenantDictionary( - id: number, - type: TenantDictionaryType -): Promise { - return axios.get(`dictionary/delTenantDictionary?id=${id}&type=${type}`); -} -// 数据字典-租客管理-禁用/启用 租客标签(单个) -export function checkTenantDictionary( - params: CheckProjectParam -): Promise { - return axios.post(`dictionary/checkTenantDictionary`, params); -} -// 数据字典-租客管理-禁用/启用 租客标签(全选) -export function checkAllTenantDictionary( - params: CheckProjectParam -): Promise { - return axios.post(`dictionary/checkAllTenantDictionary`, params); -} -// 数据字典-租客管理--已启用列表(type:1租客类型,2租客来源,3租客行业分类,4租客企业规模) -export function getTenantDictionaryListByType( - type: TenantDictionaryType -): Promise { - return axios.get(`dictionary/getTenantDictionaryList?type=${type}`); -} -// 合同设置-合同编号设置-全部启用列表 -export function getAllCodeSettingList(): Promise { - return axios.get(`contractSetting/getAllCodeSettingList`); -} -// 合同设置-合同编号设置-新增 -export function createCodeSetting( - params: CreateCodeSettingParam -): Promise { - return axios.post(`contractSetting/createCodeSetting`, params); -} -// 合同设置-合同编号设置-编辑 -export function updateCodeSetting( - params: CreateCodeSettingParam -): Promise { - return axios.post(`contractSetting/updateCodeSetting`, params); -} -// 合同设置-合同编号设置-删除 -export function delCodeSetting(id: number): Promise { - return axios.get(`contractSetting/delCodeSetting?id=${id}`); -} -// 合同设置-合同编号设置-单个详情 -export function getCodeSettingFromId( - id: number -): Promise { - return axios.get(`contractSetting/getCodeSetting?id=${id}`); -} -// 合同设置-合同编号设置-启用/禁用 -export function disableCodeSetting( - params: DisableUserParam -): Promise { - return axios.post(`contractSetting/disableCodeSetting`, params); -} -// 合同设置-合同编号设置-列表(带分页) -export function getCodeSettingList( - params: PaginationParams -): Promise { - return axios.post(`contractSetting/getCodeSettingList`, params); -} -// 合同设置-合同条款设置-全部启用列表 -export function getAllTermsSettingList(): Promise { - return axios.get(`contractSetting/getAllTermsSettingList`); -} -// 合同设置-合同条款设置-新增 -export function createTermsSetting( - params: CreateTermSettingParam -): Promise { - return axios.post(`contractSetting/createTermsSetting`, params); -} -// 合同设置-合同条款设置-编辑 -export function updateTermsSetting( - params: CreateTermSettingParam -): Promise { - return axios.post(`contractSetting/updateTermsSetting`, params); -} -// 合同设置-合同条款设置-删除 -export function delTermsSetting(id: number): Promise { - return axios.get(`contractSetting/delTermsSetting?id=${id}`); -} -// 合同设置-合同条款设置-单个条款配置详情 -export function getTermsSettingFromId( - id: number -): Promise { - return axios.get(`contractSetting/getTermsSetting?id=${id}`); -} -// 合同设置-合同条款设置-单个条款数据详情 -export function getTermsDataFromId(params: any): Promise { - return axios.post(`contractSetting/getTerm`, params); -} -// 合同设置-合同条款设置-启用/禁用 -export function disableTermsSetting( - params: DisableUserParam -): Promise { - return axios.post(`contractSetting/disableTermsSetting`, params); -} -// 合同设置-合同条款设置-列表(带分页) -export function getTermsSettingList( - params: PaginationParams -): Promise { - return axios.post(`contractSetting/getTermsSettingList`, params); -} - -// 合同设置-财务设置-全部列表(带分页) -export function getFeeList( - params: PaginationParams -): Promise { - return axios.post(`financeSetting/getFeeList`, params); -} -// 合同设置-财务设置-新增 -export function createFee(params: CreateFeeParams): Promise { - return axios.post(`financeSetting/createFee`, params); -} -// 合同设置-财务设置-编辑 -export function updateFee(params: CreateFeeParams): Promise { - return axios.post(`financeSetting/updateFee`, params); -} -// 合同设置-财务设置-删除 -export function delFee(id: number): Promise { - return axios.get(`financeSetting/delFee?id=${id}`); -} -// 合同设置-财务设置-单个详情 -export function getFeeFromId(id: number): Promise { - return axios.get(`financeSetting/getFee?id=${id}`); -} -// 合同设置-财务设置-启用/禁用 -export function disableFee(params: DisableUserParam): Promise { - return axios.post(`financeSetting/disableFee`, params); -} -// 合同设置-财务设置-获取下拉列表 -export function getUseFeeList( - params: FeeSelectListParams -): Promise { - return axios.post(`financeSetting/getUseFeeList`, params); -} -// 合同设置-流水账户管理--获取下拉列表 -export function getUseTurnoverAccountList(params: any): Promise { - return axios.get(`financeSetting/getUseTurnoverAccountList`, params); -} - -// 合同设置-合同模板管理-全部启用列表 -export function getAllTemplateSettingList(): Promise { - return axios.get(`contractSetting/getAllTemplateSettingList`); -} -// 合同设置-合同模板管理-新增 -export function createTemplateSetting( - params: CreateTemplateSettingParam -): Promise { - return axios.post(`contractSetting/createTemplateSetting`, params); -} -// 合同设置-合同模板管理-编辑 -export function updateTemplateSetting(params: any): Promise { - return axios.post(`contractSetting/saveTemplateSetting`, params); -} -// 合同设置-合同模板管理-删除 -export function delTemplateSetting(id: number): Promise { - return axios.get(`contractSetting/delTemplateSetting?id=${id}`); -} -// 合同设置-合同模板管理-单个详情 -export function getTemplateSettingFromId(id: number): Promise { - return axios.get(`contractSetting/getTemplateSetting?id=${id}`); -} -// 合同设置-合同模板管理-启用/禁用 -export function disableTemplateSetting( - params: DisableUserParam -): Promise { - return axios.post(`contractSetting/disableTemplateSetting`, params); -} -// 合同设置-合同模板管理-列表(带分页) -export function getTemplateSettingList( - params: PaginationParams -): Promise { - return axios.post(`contractSetting/getTemplateSettingList`, params); -} - -// 合同设置-合同文档模板管理-全部启用列表 -export function getAllWordSettingList(): Promise { - return axios.get(`contractSetting/getAllWordSettingList`); -} -// 合同设置-合同文档模板管理-新增 -export function createWordSetting( - params: ContractWordFormParam -): Promise { - return axios.post(`contractSetting/createWordSetting`, params); -} -// 合同设置-合同文档模板管理-编辑(更新) -export function updateWordSetting( - params: ContractWordFormParam -): Promise { - return axios.post(`contractSetting/updateWordSetting`, params); -} -// 合同设置-合同文档模板管理-删除 -export function delWordSetting(id: number): Promise { - return axios.get(`contractSetting/delWordSetting?id=${id}`); -} -// 合同设置-合同文档模板管理-单个详情 -export function getWordSettingFromId( - id: number -): Promise { - return axios.get(`contractSetting/getWordSetting?id=${id}`); -} -// 合同设置-合同文档模板管理-启用/禁用 -export function disableWordSetting( - params: DisableUserParam -): Promise { - return axios.post(`contractSetting/disableWordSetting`, params); -} -// 合同设置-合同文档模板管理-列表(带分页) -export function getWordSettingList( - params: PaginationParams -): Promise { - return axios.post(`contractSetting/getWordSettingList`, params); -} -// 合同标签列表(已勾选) -export function getContractTagsList(): Promise { - return axios.get(`dictionary/getContractTagsList`); -} -// 数据字典-合同管理-合同标签列表(全部) -export function getAllContractTagsList(): Promise { - return axios.get(`dictionary/getAllContractTagsList`); -} -// 数据字典-合同管理-创建合同标签 -export function createContractTags( - params: DictionaryForm -): Promise { - return axios.post(`dictionary/createContractTags`, params); -} -// 数据字典-合同管理-更新合同标签 -export function updateContractTags( - params: DictionaryForm -): Promise { - return axios.post(`dictionary/updateContractTags`, params); -} -// 数据字典-合同管理-删除合同标签 -export function delContractTags( - id: number -): Promise { - return axios.get(`dictionary/delContractTags?id=${id}`); -} -// 数据字典-合同管理-禁用/启用 合同标签(单个) -export function checkContractTags( - params: CheckProjectParam -): Promise { - return axios.post(`dictionary/checkContractTags`, params); -} -// 数据字典-合同管理-禁用/启用 合同标签(全选) -export function checkAllContractTags( - params: CheckProjectParam -): Promise { - return axios.post(`dictionary/checkAllContractTags`, params); -} -// 数据字典-合同管理-单个合同标签信息 -export function getContractTags( - id: number -): Promise { - return axios.get(`dictionary/getContractTags?id=${id}`); -} -// 系统配置-流程设置-流程设置列表 -// 类型:1审批流,2工作流 -export function getWorkflowsList(type: number): Promise { - return axios.get(`workflows/getList?type=${type}`); -} -// 创建流程 -export function createWorkflows(params: any): Promise { - return axios.post(`workflows/create`, params); -} -// 保存流程 -export function saveWorkflows(params: any): Promise { - return axios.post(`workflows/save`, params); -} -// 审批流详情 -export function getWorkflowsDetail(id: number): Promise { - return axios.get(`workflows/getDetail?id=${id}`); -} -// 审批流启用禁用 -export function toggleWorkflowsDisable(params: any): Promise { - return axios.post('workflows/disable', params); -} -// 删除审批流 -export function delWorkflows(id: number): Promise { - return axios.get(`workflows/del?id=${id}`); -} diff --git a/src/api/tenants.ts b/src/api/tenants.ts new file mode 100644 index 0000000..85dcd92 --- /dev/null +++ b/src/api/tenants.ts @@ -0,0 +1,41 @@ +import axios from 'axios'; +import { PaginationParams } from '@/types/comm'; +import { HttpResponse } from './interceptor'; + +// ==================== 租客管理 API (tenants 路由) ==================== +// 创建租客 +export function createTenant(params: any): Promise { + return axios.post('tenants/createTenant', params); +} +// 租客列表(分页) +export function getTenantList(params: PaginationParams): Promise { + return axios.post('tenants/getTenantList', params); +} +// 更新租客信息 +export function updateTenant(params: any): Promise { + return axios.post('tenants/updateTenant', params); +} +// 删除租客 +export function delTenant(id: number): Promise { + return axios.get(`tenants/delTenant?id=${id}`); +} +// 租客详情 +export function getTenantDetail(id: number): Promise { + return axios.get(`tenants/getTenant?id=${id}`); +} +// 租客归档 +export function filingTenant(params: any): Promise { + return axios.post('tenants/filingTenant', params); +} +// 租客下拉列表(不分页) +export function getTenantAllList( + params: PaginationParams +): Promise { + return axios.post('tenants/getTenantAllList', params); +} +// 租客归档列表(分页) +export function getTenantFilingList( + params: PaginationParams +): Promise { + return axios.post('tenants/getTenantFilingList', params); +} diff --git a/src/api/user.ts b/src/api/user.ts index 22eca35..3eea4cb 100644 --- a/src/api/user.ts +++ b/src/api/user.ts @@ -1,6 +1,13 @@ import axios from 'axios'; -import type { RouteRecordNormalized } from 'vue-router'; import { UserPermission } from '@/types/api'; +import { + AllUserListRes, + FormUserItem, + UserInfoRes, + DisableUserParam, +} from '@/types/setting'; +import { PaginationParams } from '@/types/comm'; +import { HttpResponse } from './interceptor'; export interface LoginData { username: string; @@ -61,6 +68,33 @@ export function getUserInfo() { return axios.get('/auth/profile'); } -export function getMenuList() { - return axios.post('/api/user/menu'); +// ==================== 用户管理 API (user 路由) ==================== +export function getAllUserList( + params: PaginationParams +): Promise { + return axios.post('/user/getAllUserList', params); +} + +export function getUserList(params: PaginationParams): Promise { + return axios.post('/user/getUserList', params); +} + +export function createUser(params: FormUserItem): Promise { + return axios.post('/user/createUser', params); +} + +export function updateUser(params: FormUserItem): Promise { + return axios.post('/user/updateUser', params); +} + +export function getUserById(id: number): Promise { + return axios.get(`/user/getUser?id=${id}`); +} + +export function delUser(id: number): Promise { + return axios.get(`/user/delUser?id=${id}`); +} + +export function disableUser(params: DisableUserParam): Promise { + return axios.post('/user/disableUser', params); } diff --git a/src/api/workflows.ts b/src/api/workflows.ts new file mode 100644 index 0000000..a18a201 --- /dev/null +++ b/src/api/workflows.ts @@ -0,0 +1,33 @@ +import axios from 'axios'; + +// ==================== 流程设置 API (workflows 路由) ==================== +// 系统配置-流程设置-流程设置列表 +// 类型:1审批流,2工作流 +export function getWorkflowsList(type: number): Promise { + return axios.get(`workflows/getList?type=${type}`); +} + +// 创建流程 +export function createWorkflows(params: any): Promise { + return axios.post(`workflows/create`, params); +} + +// 保存流程 +export function saveWorkflows(params: any): Promise { + return axios.post(`workflows/save`, params); +} + +// 审批流详情 +export function getWorkflowsDetail(id: number): Promise { + return axios.get(`workflows/getDetail?id=${id}`); +} + +// 审批流启用禁用 +export function toggleWorkflowsDisable(params: any): Promise { + return axios.post('workflows/disable', params); +} + +// 删除审批流 +export function delWorkflows(id: number): Promise { + return axios.get(`workflows/del?id=${id}`); +} diff --git a/src/components/common/FileUpload.vue b/src/components/common/FileUpload.vue index ee123e4..1a6e4ea 100644 --- a/src/components/common/FileUpload.vue +++ b/src/components/common/FileUpload.vue @@ -1,20 +1,29 @@ @@ -30,14 +39,24 @@ objectKey: string; } - const props = defineProps<{ - objectKeys: string[]; - signedPutURL: string[]; - uploadType: UploadType; - maxSize?: number; // 单位字节 - maxCount?: number; - accept?: string; // 限制类型,例如 "application/pdf" 或 ".doc,.docx,.xls" 或 "application/pdf,.docx" - }>(); + const props = withDefaults( + defineProps<{ + objectKeys?: string[]; + signedPutURL?: string[]; + uploadType: UploadType; + maxSize?: number; // 单位字节 + maxCount?: number; + accept?: string; // 限制类型,例如 "application/pdf" 或 ".doc,.docx,.xls" 或 "application/pdf,.docx" + showFileList?: boolean; + disabled?: boolean; + }>(), + { + objectKeys: () => [], + signedPutURL: () => [], + showFileList: true, + disabled: false, + } + ); const emit = defineEmits<{ (e: 'update:objectKeys', value: string[]): void; @@ -51,6 +70,10 @@ const maxCount = props.maxCount ?? 1; const accept = props.accept ?? '*/*'; // 默认支持所有文件 + // 达到 limit 后仍显示上传按钮,方便替换文件(Arco 默认会隐藏) + const showUploadButtonConfig = computed(() => + maxCount > 0 ? { showOnExceedLimit: true } : true + ); const maxSizeText = computed(() => { const size = props.maxSize || 10 * 1024 * 1024; return `${Math.round(size / 1024 / 1024)}MB`; diff --git a/src/composables/useDepartmentList.ts b/src/composables/useDepartmentList.ts index 7b2e575..09428ea 100644 --- a/src/composables/useDepartmentList.ts +++ b/src/composables/useDepartmentList.ts @@ -1,5 +1,5 @@ import { ref, onMounted } from 'vue'; -import { getDepartmentList, getDepartmentDetail } from '@/api/setting'; +import { getDepartmentList, getDepartmentDetail } from '@/api/department'; import { DepartmentItem } from '@/types/setting'; export default function useDepartmentList(autoFetch = true) { @@ -40,8 +40,8 @@ export default function useDepartmentList(autoFetch = true) { ); departmentListData.value = fetchDepartmentList; } - } catch (error) { - console.error('获取部门列表失败:', error); + } catch { + // 获取部门列表失败,静默处理 } }; @@ -52,8 +52,7 @@ export default function useDepartmentList(autoFetch = true) { return data; } return null; - } catch (error) { - console.error('获取部门详情失败:', error); + } catch { return null; } }; diff --git a/src/store/modules/app/index.ts b/src/store/modules/app/index.ts index 24f6093..d2319d8 100644 --- a/src/store/modules/app/index.ts +++ b/src/store/modules/app/index.ts @@ -1,9 +1,6 @@ import { defineStore } from 'pinia'; -import { Notification } from '@arco-design/web-vue'; -import type { NotificationReturn } from '@arco-design/web-vue/es/notification/interface'; import type { RouteRecordRaw } from 'vue-router'; import defaultSettings from '@/config/settings.json'; -import { getMenuList } from '@/api/user'; import { AppState } from './types'; const useAppStore = defineStore('app', { @@ -42,7 +39,7 @@ const useAppStore = defineStore('app', { actions: { // Update app settings updateSettings(partial: Partial) { - // @ts-ignore-next-line + // @ts-expect-error pinia $patch typing with partial this.$patch(partial); }, @@ -62,30 +59,6 @@ const useAppStore = defineStore('app', { toggleMenu(value: boolean) { this.hideMenu = value; }, - async fetchServerMenuConfig() { - let notifyInstance: NotificationReturn | null = null; - try { - notifyInstance = Notification.info({ - id: 'menuNotice', // Keep the instance id the same - content: 'loading', - closable: true, - }); - const { data } = await getMenuList(); - this.serverMenu = data; - notifyInstance = Notification.success({ - id: 'menuNotice', - content: 'success', - closable: true, - }); - } catch (error) { - // eslint-disable-next-line @typescript-eslint/no-unused-vars - notifyInstance = Notification.error({ - id: 'menuNotice', - content: 'error', - closable: true, - }); - } - }, clearServerMenu() { this.serverMenu = []; }, diff --git a/src/views/business/project/drawer/project-form-drawer.vue b/src/views/business/project/drawer/project-form-drawer.vue index 221a786..d484ed4 100644 --- a/src/views/business/project/drawer/project-form-drawer.vue +++ b/src/views/business/project/drawer/project-form-drawer.vue @@ -185,11 +185,11 @@ getCityListByProvinceId, getDistrictListByCityId, } from '@/api/common'; - import { createProject, updateProject } from '@/api/business'; + import { createProject, updateProject } from '@/api/project'; import { CreateProjectParam } from '@/types/business'; import { projectTypeInfo } from '@/types/setting'; import ImageUpload from '@/components/common/ImageUpload.vue'; - import { getAllProjectTypeList } from '@/api/setting'; + import { getAllProjectTypeList } from '@/api/dictionary'; import draggable from 'vuedraggable'; import { generateRandomId } from '@/utils'; diff --git a/src/views/business/project/drawer/project-list-filter-drawer.vue b/src/views/business/project/drawer/project-list-filter-drawer.vue index a1c5d6d..c2ca627 100644 --- a/src/views/business/project/drawer/project-list-filter-drawer.vue +++ b/src/views/business/project/drawer/project-list-filter-drawer.vue @@ -52,7 +52,7 @@ @@ -152,7 +471,6 @@ margin-top: 16px; border: 1px solid #e5e6eb; border-radius: 6px; - overflow: hidden; background: #fff; } @@ -162,28 +480,7 @@ background: #f7f8fa; } - .system-setting-contract-file { - height: 100vh; - overflow: hidden; - } - - .full_height { - height: calc(100vh - 120px); - overflow: hidden; - } - - :deep(.arco-card-body) { - height: 100%; - padding: 20px; - overflow: hidden; - } - - :deep(.arco-row) { - height: 100%; - } - - :deep(.arco-col) { - height: 100%; - overflow: hidden; - } + /* .system-setting-contract-file { + height: 100vh; +} */ diff --git a/src/views/setting/system/contract-settings/contract-file.vue b/src/views/setting/system/contract-settings/contract-file.vue index a51ef09..c4f4a36 100644 --- a/src/views/setting/system/contract-settings/contract-file.vue +++ b/src/views/setting/system/contract-settings/contract-file.vue @@ -64,8 +64,8 @@ delWordSetting, getWordSettingList, disableWordSetting, - getDepartmentList, - } from '@/api/setting'; + } from '@/api/contracts'; + import { getDepartmentList } from '@/api/department'; import { ContractWordItem, DepartmentItem } from '@/types/setting'; import { UserStatus } from '@/types/comm'; import { camelToSnake } from '@/utils/caseConvert'; diff --git a/src/views/setting/system/contract-settings/contract-number.vue b/src/views/setting/system/contract-settings/contract-number.vue index adb7d2b..50455bb 100644 --- a/src/views/setting/system/contract-settings/contract-number.vue +++ b/src/views/setting/system/contract-settings/contract-number.vue @@ -65,7 +65,7 @@ getCodeSettingFromId, disableCodeSetting, delCodeSetting, - } from '@/api/setting'; + } from '@/api/contracts'; import { ContractTermInfo } from '@/types/setting'; import { UserStatus } from '@/types/comm'; import { camelToSnake } from '@/utils/caseConvert'; diff --git a/src/views/setting/system/contract-settings/contract-template-edit.vue b/src/views/setting/system/contract-settings/contract-template-edit.vue index cf97fcc..b67a4fc 100644 --- a/src/views/setting/system/contract-settings/contract-template-edit.vue +++ b/src/views/setting/system/contract-settings/contract-template-edit.vue @@ -256,13 +256,13 @@ import { getTemplateSettingFromId, getTermsSettingFromId, - getDepartmentList, getAllCodeSettingList, getContractTagsList, updateTemplateSetting, getAllTermsSettingList, getTermsDataFromId, - } from '@/api/setting'; + } from '@/api/contracts'; + import { getDepartmentList } from '@/api/department'; import contractTemplateForm from './modal/contract-template-form.vue'; import { DepartmentItem } from '@/types/setting'; import type { FormInstance } from '@arco-design/web-vue'; diff --git a/src/views/setting/system/contract-settings/contract-template.vue b/src/views/setting/system/contract-settings/contract-template.vue index fd1cfc9..4db6b70 100644 --- a/src/views/setting/system/contract-settings/contract-template.vue +++ b/src/views/setting/system/contract-settings/contract-template.vue @@ -63,9 +63,9 @@ import { delTemplateSetting, getTemplateSettingList, - getDepartmentList, disableTemplateSetting, - } from '@/api/setting'; + } from '@/api/contracts'; + import { getDepartmentList } from '@/api/department'; import { ContractTemplateSettingItem, DepartmentItem } from '@/types/setting'; import { UserStatus } from '@/types/comm'; import contractTemplateForm from './modal/contract-template-form.vue'; diff --git a/src/views/setting/system/contract-settings/contract-terms.vue b/src/views/setting/system/contract-settings/contract-terms.vue index 00b2cbe..a9b7e52 100644 --- a/src/views/setting/system/contract-settings/contract-terms.vue +++ b/src/views/setting/system/contract-settings/contract-terms.vue @@ -65,7 +65,7 @@ getTermsSettingFromId, disableTermsSetting, delTermsSetting, - } from '@/api/setting'; + } from '@/api/contracts'; import { TermSettingItem } from '@/types/setting'; import { UserStatus } from '@/types/comm'; import contractNumberFormDrawer from './drawer/contract-terms-form-drawer.vue'; diff --git a/src/views/setting/system/contract-settings/drawer/contract-number-form-drawer.vue b/src/views/setting/system/contract-settings/drawer/contract-number-form-drawer.vue index c12f893..a7073c8 100644 --- a/src/views/setting/system/contract-settings/drawer/contract-number-form-drawer.vue +++ b/src/views/setting/system/contract-settings/drawer/contract-number-form-drawer.vue @@ -105,7 +105,7 @@ import { ref, watch, reactive, computed } from 'vue'; import type { FormInstance } from '@arco-design/web-vue'; import { Message } from '@arco-design/web-vue'; - import { createCodeSetting, updateCodeSetting } from '@/api/setting'; + import { createCodeSetting, updateCodeSetting } from '@/api/contracts'; // import { CreateCodeSettingParam } from '@/types/setting' import draggable from 'vuedraggable'; diff --git a/src/views/setting/system/contract-settings/drawer/contract-terms-form-drawer.vue b/src/views/setting/system/contract-settings/drawer/contract-terms-form-drawer.vue index e5a855c..7b2eab3 100644 --- a/src/views/setting/system/contract-settings/drawer/contract-terms-form-drawer.vue +++ b/src/views/setting/system/contract-settings/drawer/contract-terms-form-drawer.vue @@ -102,11 +102,8 @@ import { ref, watch, reactive, onMounted } from 'vue'; import type { FormInstance } from '@arco-design/web-vue'; import { Message } from '@arco-design/web-vue'; - import { - createTermsSetting, - updateTermsSetting, - getUseFeeList, - } from '@/api/setting'; + import { createTermsSetting, updateTermsSetting } from '@/api/contracts'; + import { getUseFeeList } from '@/api/finance-setting'; import { feeTypeList, financeFeeFeriodicityList } from '@/utils/constant'; import { CreateTermSettingParam, FeeManagement } from '@/types/setting'; import { FeeManagementType } from '@/types/comm'; diff --git a/src/views/setting/system/contract-settings/modal/contract-file-form.vue b/src/views/setting/system/contract-settings/modal/contract-file-form.vue index eb28b0d..4c48d69 100644 --- a/src/views/setting/system/contract-settings/modal/contract-file-form.vue +++ b/src/views/setting/system/contract-settings/modal/contract-file-form.vue @@ -64,7 +64,7 @@