/** * @file 基础框架 能力接口 * 不要将其它项目接口写在这个里面 * 现在可能混有其它项目接口 */ import { Dicts } from '@src/views/emission/Show/type'; import { OrganSearchParamsOwer } from '@views/auth/organization/service'; import { TreeAddForm } from '@views/auth/routeAuth/service'; import { AxiosRequestConfig } from 'axios'; import { BackendRes } from './carbon-international/types'; import { ClassifyModule, ClassifyQueryByPage, MaterialsqueryById, PlasticModelInfos, TargetScopeQueryPage } from './plastic/type'; import { request, requestPython, QBrequest } from './request'; import { BackendResponse, BroadcastDetailData, Citys, DataPermissions, DataPermissionsPayload, Identify, Industrys, JavaPagePayload, JavaPageResponse, JavaPageResponseRowInData, ListNotice, NoticeRedDot, NoticesCenter, ProductPermisions, QuideList, SaasNotices, QueryByTree, Staff, SwitchoverCompanyData, UserInfo } from './types'; const requestNO = request; const requestMRMOTION = request; function apiPath() { return '/management'; } // eslint-disable-next-line @typescript-eslint/naming-convention export const logout_send = () => { return request({ url: '/auth/token/logout', method: 'GET' }); }; // 获取权限管理的tree信息 export const apiGetTreeList = () => { return request({ url: 'permission/menus/', params: { page_size: 900 }, method: 'get' }); }; // 新增权限管理的权限 export const apiAddTreeList = (params: TreeAddForm) => { return request({ url: 'permission/menus/', data: params, method: 'post' }); }; // 修改权限管理的权限 export const apiEditTreeList = (params: TreeAddForm) => { return request({ url: `permission/menus/${params.id}/`, data: params, method: 'put' }); }; // 删除权限管理的节点 export const apiDeleteTreeList = (params: TreeAddForm) => { return request({ url: `permission/menus/${params.id}/`, data: params, method: 'delete' }); }; // 获取组织管理的列表数据 export const apiGeTorganizationList = (params: OrganSearchParamsOwer) => { return request({ url: 'user/enterprise/admin/', params, method: 'get' }); }; // 获取当前表格中列表的详细信息 export const apiGeTorganizationListDeatil = (id: number) => { return request({ url: `/user/enterprise/admin/${id}/`, method: 'get' }); }; // 修改当前企业的权限配置信息 export const apiEditorganizationListDeatil = (id: number, data: { menus_ids: number[] }) => { return request({ url: `/user/enterprise/admin/${id}/`, data, method: 'put' }); }; // 城市 export const apiCity = (): BackendRes => { return requestPython({ url: `/basedata/basedata/city/`, method: 'get' }); }; // 行业 export const apiIndustry = (): BackendRes => { return requestPython({ url: `/basedata/basedata/industry/`, method: 'get' }); }; // 规模 export const apiPersionel = (): BackendRes => { return requestPython({ url: `/basedata/basedata/persionel/`, method: 'get' }); }; // 创建公司,同时自动赋角色和权限 export const apiAddCompany = (data: { area: string[]; company_name: string; industry: string; scale: string }) => { return requestNO({ url: `/auth/token/addCompany`, method: 'POST', data }); }; /* 创建公司,同时自动赋角色和权限 */ export const apiInfoList = (params: string) => { return request>({ url: `${apiPath()}/user/info?username=${params}`, method: 'GET' }); }; // 切换组织 获取权限点 export const switchoverCompany = (data: { companyId: string; userId: string | number; productId?: string; }): BackendRes => { return request({ url: `/auth/token/switchoverCompany`, method: 'POST', data }); }; export const getProductPermisions = (data: { companyId: string | number; userId: string | number; productId: string; }): BackendRes => { return request({ url: `${apiPath()}/permission/getProductPermisions`, method: 'POST', data }); }; // 切换组织 获取导航 export const apiQuideList = () => { return request>({ url: `${apiPath()}/guide/guideList`, method: 'get' }); }; export const updateUserInfo = (data: { id: string | number | null; identify: string | number | null; newPassword: string | number | null; nickName: string | number | null; oldPassword: string | number | null; username: string | number | null; sex: string | number | null; }) => { return request({ url: `/user/editUser`, method: 'POST', data }); }; // 产品碳足迹——再生塑料 /** 获取产品 查询行业下的分类 */ export const queryCompanyMaterials = (data: { industryId: string | number | null; page: string | number | null; size: string | number | null; }) => { return QBrequest>({ url: `/classify/queryByPage`, method: 'POST', data }); }; /** saas你选完行业分类产品后,返boss配置的模型, eg:产品模型、对照模型 */ export const classifyModulequeryByPage = (data: { industryId: string | number | null; classifyId: string | number | null; }) => { return QBrequest>({ url: `/classifyModule/queryByPage`, method: 'POST', data }); }; /** 查询模型数据 */ export const targetScopequeryPage = (data: { companyId?: string | number | null; classifyId?: string | number | null; industryId?: string | number | null; moduleId?: string | number | null; page: string | number | null; size: string | number | null; productName?: string | number | null; }) => { return QBrequest>({ url: `/targetScope/queryPage`, method: 'POST', data }); }; /** java 文件上传接口 */ export const fileupload = (data: any) => { return request({ url: `/file/file/uploadImg`, method: 'POST', data }); }; /* java 反馈文件上传 */ export const javaFileUpload = (file: File) => { const fd = new FormData(); fd.append('file', file); return request>({ method: 'post', url: `/management/system/file/uploadImg`, data: fd }); }; // 新增 目标范围 export const addTargetScope = (data: { productName: string | number | null; // 产品名称 false - specification: string | number | null; // 规格型号 false - functionUnit: string | number | null; // 功能 false - year: string | number | null; // 年份 false - technologyPic: string | number | null; // 流程图 false - companyId: string | number | null; classifyId: string | number | null; // 分类产品id false - industryId: string | number | null; // 行业id false - moduleId: string | number | null; }) => { return QBrequest({ url: `/targetScope/addTargetScope`, method: 'POST', data }); }; // /** 复制模型数据 */ export const targetScopecp = (data: { id: number | string; companyId: number | string; classifyId: number | string; industryId: number | string; moduleId: number | string; }) => { return QBrequest>({ url: `/targetScope/cp`, method: 'POST', data }); }; export const editTargetScope = (data: { id: number | string; relevanceId: number | string; delflag: number | string | null; moduleId: number | string | null; productName?: string | number | null; // 产品名称 false - specification?: string | number | null; // 规格型号 false - functionUnit?: string | number | null; // 功能 false - year?: string | number | null; // 年份 false - technologyPic?: string | number | null; // 流程图 false - }) => { return QBrequest({ url: `/targetScope/editTargetScope`, method: 'POST', data }); }; export const selectOne = (params: { id: number | string | null }) => { return QBrequest({ url: `/targetScope/selectOne`, method: 'GET', params }); }; export const updateRe = (params: { id: number | string }) => { return QBrequest({ url: `/targetScope/updateRe`, method: 'GET', params }); }; // 树形结构图 export const queryByTree = (data: { classifyId: number | string; companyId: number | string; industryId: number | string; moduleId: number | string; cmcId: number | string; }) => { return QBrequest>({ url: `/classifyModelProcess/queryByTree`, method: 'POST', data }); }; export const modelMaterialsqueryByPageS = (data: { processId: string | number | null; companyId: string | number | null; parentId: string | number | null; industryId: string | number | null; moduleId: string | number | null; grandpaId: string | number | null; cmcId: string | number | null; page: string | number | null; size: string | number | null; }) => { return QBrequest({ url: `/modelMaterials/queryByPage`, method: 'POST', data }); }; // 新增LCA数据 export const measureDicqueryByPage = (data: { measureName: string }) => { return QBrequest({ url: `/measureDic/queryByPage`, method: 'POST', data }); }; export const modelMaterialsqueryFactorDic = (data: { type: number | string }) => { return QBrequest({ url: `/modelMaterials/queryFactorDic`, method: 'POST', data }); }; export const modelMaterialsqueryFactor = (data: { name: string | number; year: string | number; countries: string | number | null; type?: string | number; pageNum: string | number | null | undefined; productId?: string | number | null | undefined; companyId: string | number | null | undefined; pageSize: string | number | null | undefined; factorType?: string; queryKey?: string; }) => { return QBrequest>>>({ url: `/modelMaterials/queryFactor`, method: 'POST', data }); }; // 编辑 export const modelMaterialsEdit = (data: { distance: string | number | null; maMeasure: string | number | null; materialName: string | number | null; measurement: string | number | null; transportMachine: string | number | null; weight: string | number | null; cCarbonFactor: any; diMeasure: string | number | null; id: string | number | null; divisor: string | number | null; }) => { return QBrequest({ url: `/modelMaterials/edit`, method: 'POST', data }); }; export const measureDicjudgeUnit = (data: { measureName: string | number | null; unit: string | number | null; judge: string | number | null; }) => { return QBrequest({ url: `/modelMaterials/judgeUnit`, method: 'POST', data }); }; export const modelMaterialsadd = (data: { distance: string | number | null; maMeasure: string | number | null; materialName: string | number | null; measurement: string | number | null; transportMachine: string | number | null; weight: string | number | null; cCarbonFactor: any; diMeasure: string | number | null; divisor: string | number | null; }) => { return QBrequest({ url: `/modelMaterials/add`, method: 'POST', data }); }; export const modelMaterialsqueryById = (params: { id: string | number | null }) => { return QBrequest>({ url: `/modelMaterials/queryById`, method: 'GET', params }); }; export const cpModelMaterialsSaas = (params: { id: string | number | null }) => { return QBrequest({ url: `/modelMaterials/cpModelMaterialsSaas`, method: 'GET', params }); }; export const modelMaterialsdeleteById = (data: { cmcId: string | number | null; moduleId: string | number | null; materialsId: string | number | null; }) => { return QBrequest({ url: `/modelMaterials/deleteById`, method: 'POST', data }); }; export const countAllLca = (data: { cmcId: string | number | null }) => { return QBrequest({ url: `/modelMaterials/countAllLca`, method: 'POST', data }); }; export const report = (data: { receiveCompanyId: string | number | null; page: number; size: number }) => { return QBrequest({ url: `/report/receiveReport`, method: 'POST', data }); }; export const reportsendReport = (data: { sendCompanyId: string | number | null; receiveCompanyId: string | number | null; classifyId: string | number | null; industryId: string | number | null; moduleId: string | number | null; cmcId: string | number | null; }) => { return QBrequest({ url: `/report/sendReport`, method: 'POST', data }); }; export const countInAndOut = (data: { cmcId: string | number | null; processId: string | number | null }) => { return QBrequest({ url: `/modelMaterials/countInAndOut`, method: 'POST', data }); }; export const sendCompanyMsg = (data: { cmcId: string | number | null }) => { return QBrequest({ url: `/report/sendCompanyMsg`, method: 'POST', data }); }; export const editReports = (data: { id: number | string; relevanceId: number | string; delflag: number | string | null; moduleId: number | string | null; productName?: string | number | null; // 产品名称 false - specification?: string | number | null; // 规格型号 false - functionUnit?: string | number | null; // 功能 false - year?: string | number | null; // 年份 false - technologyPic?: string | number | null; // 流程图 false - }) => { return QBrequest({ url: `/report/editReport`, method: 'POST', data }); }; export const hasAnyModelMaterials = (params: { id: string | number | null }) => { return QBrequest({ url: `/modelMaterials/hasAnyModelMaterials`, method: 'GET', params }); }; export const targetScopecreateRe = (data: { cmcId: string | number | null }) => { return QBrequest({ url: `/targetScope/createRe`, method: 'POST', data }); }; export const getCompanyFactor = (params: { name: string | number | null; year: string | number | null; area: string | number | null; pageSize: string | number | null; pageNum: string | number | null; companyId: string | number | null; }) => { return QBrequest({ url: `/modelMaterials/getCompanyFactor`, method: 'GET', params }); }; export const selectMaterialsByParentId = (data: { industryId: string | number | null; classifyId: string | number | null; moduleId: string | number | null; cmcId: string | number | null; parentId: string | number | null; }) => { return QBrequest>({ url: `/modelMaterials/selectMaterialsByParentId`, method: 'POST', data }); }; export const modelMaterialscountLca = (data: { cmcId: string | number | null; grandpaId: string | number | null; }) => { return QBrequest({ url: `/modelMaterials/countLca`, method: 'POST', data }); }; /** 获取模型 标识、名称 查询行业模型 */ export const getIdentify = (data: { productId?: string | number }) => { return QBrequest>({ url: `/industry/getIdentify`, method: 'POST', data }); }; // 单位内容 /* 获取字典所有的枚举值 */ export const listALLByDictType = (params: { dictType: string | number | null }) => { return requestMRMOTION>({ url: `/management/system/data/listALLByDictType`, method: 'GET', params }); }; /* 获取字典分类下面的所有枚举值 */ export const listALLByDictTypeData = (params: { dictType: string | number | null; labelValue: string | number | null; }) => { return requestMRMOTION>({ url: `/management/system/enum/listALLByDictTypeData`, method: 'GET', params }); }; /* 获取boss 字典枚举值 不分页 */ export const listALLByDictTypeBatch = >({ dictTypes, ...axiosConfig }: { dictTypes: string; } & AxiosRequestConfig) => { return requestMRMOTION>({ url: `/management/system/enum/listALLByDictTypeBatch`, method: 'GET', params: { dictTypes }, ...axiosConfig }); }; export const removecompany = (params: { id: string | number | null }) => { return requestMRMOTION({ url: `/management/system/company/remove`, method: 'DELETE', params }); }; export const addCollect = (data: { factorId: string | number | null; companyId: string | number | null }) => { return requestMRMOTION({ url: `/management/system/collect/addCollect`, method: 'POST', data }); }; /** * @description 3、变更负责人 负责人和新负责人发送验证码 */ export const changeAdminSendSms = (params: { number: string | number }): BackendRes => request({ url: `management/userCompany/sendCode`, params }); /** * @description 下一步校验验证码 */ export const changeAdminTest = (data: { userName: string | number; code: string | number }): BackendRes => request({ method: 'post', url: `management/userCompany/checkCode`, data }); /** * @description 3.3、新负责人待选列表 */ export const getUsers = (): BackendRes => request({ url: `management/userCompany/getStaffs` }); /** * @description 3.4、变更负责人 */ export const changeMaster = (data: { oldUserName: string; oldCode: string; newUserName: string; newCode: string; }): BackendRes => request({ url: `management/userCompany/changeMaster`, method: 'post', data }); interface countResFace { wasteWater?: string; importCod?: string; exitCod?: string; methaneRecycle?: string; methaneAmend?: string; methaneHumidifying?: string; amType?: string; huType?: string; userId?: string; companyId?: string; } export const countResult = (data: countResFace): BackendRes => request({ url: `management/toolboxWasteWater/countResult`, method: 'post', data }); interface hotWaterface { temperature: string; quality: string; heatDivisor: string; userId: string; companyId: string; } export const toolboxHotWater = (data: hotWaterface): BackendRes => request({ url: `management/toolboxHotWater/countResult`, method: 'post', data }); interface toolboxWasteWaterPage { page: number; size: number; userId: string; companyId: string | null; } export const toolboxWasteWater = (data: toolboxWasteWaterPage): BackendRes => request({ url: `management/toolboxWasteWater/queryByPage`, method: 'post', data }); export const toolboxHotWaterpage = (data: toolboxWasteWaterPage): BackendRes => request({ url: `management/toolboxHotWater/queryByPage`, method: 'post', data }); export const getCompanyInfo = (params: { id: string }): BackendRes => request({ url: `management/system/company/getCompanyInfo`, method: 'get', params }); /** 数据权限管理列表接口,查询权限列表 */ export const dataPermissions = (params: DataPermissionsPayload) => request>({ url: `management/dataPermission/list`, params }); /** 修改保存数据权限管理 */ export const editDataPermission = (data: DataPermissions[]) => request>({ url: 'management/dataPermission/editBatch', data, method: 'post' }); /** saas通知详情查看接口 */ export const getNotice = (id: string | number) => request>({ url: `/management/system/notice/query_saas?id=${id}` }); /** 查询消息详情-saas详情 */ export const getMessage = (id: string | number) => request>({ url: `/management/system/messageUser/query_saas?id=${id}` }); /* saas通知单条读取操作处理接口 */ export const noticeReaded = (id: string | number) => request>({ method: 'post', url: `management/system/notice/noticeRead`, data: { id } }); /* saas通知单条读取操作处理接口 */ export const messageReaded = (id: string | number) => request>({ method: 'post', url: `management/system/messageUser/messageRead`, data: { id } }); /** 消息中心小红点-未读消息數量查詢 */ export const queryNoticeRedDot = () => request>({ url: `management/system/notice/queryNoticeRedDot` }); /** 消息中心小红点-未读消息數量查詢 */ export const allNoticeRead = (readType: number) => request({ url: `management/system/notice/allNoticeRead`, method: 'post', data: { readType } }); /** saas用户通知历史列表-readStatus 0 未读 1 已读 */ export const getNotices = (params: JavaPagePayload & { readStatus: string }) => request>({ url: `/management/system/notice/list_saas`, params }); /** saas用户消息中心弹窗通知列表查询 所有的通知 带时间轴 */ export const getNoticesWithTime = (params: JavaPagePayload) => request>({ url: `management/system/notice/list_saasCneter`, params }); /** saas用户弹窗通知查询 所有的消息 带时间轴 */ export const getMessagesWithTime = (params: JavaPagePayload) => request>({ url: `/management/system/messageUser/list_saasCneter`, params }); /** saas用户弹窗通知查询 所有的消息 readStatus 0 未读 1 已读 */ export const getMessages = (params: JavaPagePayload & { readStatus: string }) => request>({ url: `management/system/messageUser/list_saas`, params }); /** saas用户弹窗通知查询 */ export const getSaasModalNotices = (params: JavaPagePayload) => request>({ url: `/management/system/notice/listPopupNotice`, params }); /** saas用户滚动通知查询 */ export const getRollingNotices = (params: JavaPagePayload) => request>({ url: `management/system/notice/listRollingNotice`, params }); /** 文件上传oss */ export const ApiIploadOSS = (data: FormData) => request({ url: `file/file/uploadOSS`, method: 'post', data });