From 3d5a77b7329a11c13e5ea11d9f460d9bb91b7d5e Mon Sep 17 00:00:00 2001 From: Teo <2642673902@qq.com> Date: Wed, 30 Jul 2025 16:25:45 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=A7=E5=B1=8F=E4=BB=A5=E5=8F=8A=E8=B4=A8?= =?UTF-8?q?=E9=87=8F=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/gis/index.ts | 86 ++++++++++--- src/api/project/constructionUser/index.ts | 8 +- src/api/project/projectTeam/index.ts | 25 ++-- src/api/project/projectTeamMember/index.ts | 18 +-- .../quality/qualityConstructionLog/index.ts | 9 +- src/api/quality/qualityInspection/index.ts | 16 ++- src/api/types.ts | 1 + src/components/ProjectSelector/index.vue | 2 + src/store/modules/user.ts | 11 +- src/utils/projectTeam.ts | 4 +- src/utils/request-go.ts | 41 ++++++- src/views/gisHome/component/autoScroller.vue | 5 +- src/views/gisHome/component/carousel.vue | 30 +++-- src/views/gisHome/component/leftMain.vue | 84 +++++++++---- src/views/gisHome/component/rightMain.vue | 114 +++++++++++------- src/views/gisHome/index.vue | 80 ++++++------ .../projectTeam/component/UserListDialog.vue | 39 ++---- src/views/project/projectTeam/index.vue | 38 +++--- .../cpmponent/qualityConstructionDetail.vue | 107 ++-------------- .../quality/qualityConstructionLog/index.vue | 53 +++----- .../component/qualityInspectionDetail.vue | 46 ++++--- src/views/quality/qualityInspection/index.vue | 109 +++-------------- src/views/workflows/leave/leaveEdit.vue | 20 +-- .../workflows/processDefinition/design.vue | 6 +- 24 files changed, 479 insertions(+), 473 deletions(-) diff --git a/src/api/gis/index.ts b/src/api/gis/index.ts index e6c9de9..8486dcc 100644 --- a/src/api/gis/index.ts +++ b/src/api/gis/index.ts @@ -1,4 +1,4 @@ -import request from '@/utils/request'; +import request from '@/utils/request-go'; import { AxiosPromise } from 'axios'; import { QualityVO, @@ -12,15 +12,29 @@ import { weatherVO, safetyDayVO } from './type'; +/** + * 查询大屏质量列表 + * @param query + * @returns {*} + */ + +export const getQualityList = (query?: any): AxiosPromise => { + return request({ + url: '/zm/api/v1/system/busInspectionTicket/gisQualityManagementList', + method: 'get', + params: query + }); +}; + /** * 查询大屏质量信息 * @param query * @returns {*} */ -export const getQualityList = (query?: Query): AxiosPromise => { +export const getQualityMsg = (query?: any): AxiosPromise => { return request({ - url: '/quality/qualityInspection/gis', + url: '/zm/api/v1/system/busInspectionTicket/gisQualityManagement', method: 'get', params: query }); @@ -32,14 +46,27 @@ export const getQualityList = (query?: Query): AxiosPromise => { * @returns {*} */ -export const getprojectNewsList = (query?: Query): AxiosPromise => { +export const getprojectNewsList = (query?: any): AxiosPromise => { return request({ - url: '/project/projectNews/list/gis', + url: '/zm/api/v1/system/sysProjectIntroduce/list', method: 'get', params: query }); }; +/** + * 查询进度管理列表 + * @param query + * @returns {*} + */ +export const getProgressList = (): AxiosPromise => { + return request({ + url: '/zm/api/v1/system/workStatus/getParentProgress', + method: 'get', + params: { fangzhenId: 22034 } + }); +}; + /** * 获取项目新闻详细信息 * @param query @@ -48,8 +75,9 @@ export const getprojectNewsList = (query?: Query): AxiosPromise export const getprojectNewsDetailList = (id: number): AxiosPromise => { return request({ - url: '/project/projectNews/' + id, - method: 'get' + url: '/zm/api/v1/system/sysProjectIntroduce/get', + method: 'get', + params: { id } }); }; @@ -59,9 +87,23 @@ export const getprojectNewsDetailList = (id: number): AxiosPromise => { +export const getsafetyInspectionMsg = (query?: Query): AxiosPromise => { return request({ - url: '/safety/safetyInspection/gis', + url: '/zm/api/v1/system/busHseManagement/gisSafetyManagement', + method: 'get', + params: query + }); +}; + +/** + * 查询大屏安全列表 + * @param query + * @returns {*} + */ + +export const getsafetyInspectionList = (query?: any): AxiosPromise => { + return request({ + url: '/zm/api/v1/system/busHseManagement/gisSafetyManagementList', method: 'get', params: query }); @@ -75,7 +117,7 @@ export const getsafetyInspectionList = (query?: Query): AxiosPromise => { return request({ - url: '/project/constructionUser/gis', + url: '/zm/api/wxApplet/wxApplet/busConstructionUser/attendanceCount', method: 'get', params: query }); @@ -89,7 +131,7 @@ export const getConstructionUserList = (query?: Query): AxiosPromise => { return request({ - url: '/machinery/machinery/list/gis', + url: '/zm/api/v1/system/busMachinery/mechanicalCondition', method: 'get', params: query }); @@ -103,7 +145,7 @@ export const getMachineryrList = (query?: Query): AxiosPromise = export const getMaterialsList = (query?: Query): AxiosPromise => { return request({ - url: '/materials/materials/list/gis', + url: '/zm/api/v1/system/busEquipmentMaterialsInventory/excelindex', method: 'get', params: query }); @@ -115,10 +157,11 @@ export const getMaterialsList = (query?: Query): AxiosPromise => * @returns {*} */ -export const getweatherList = (id?: string): AxiosPromise => { +export const getweatherList = (): AxiosPromise => { return request({ - url: '/project/project/weather/' + id, - method: 'get' + url: '/zm/api/wxApplet/wxApplet/busConstructionUser/weather', + method: 'get', + params: { location: '106.54,23.47' } }); }; @@ -134,3 +177,16 @@ export const getSafetyDay = (id?: string): AxiosPromise => { method: 'get' }); }; + +/** + * 查询项目Ai检测 + * @param query + * @returns {*} + */ +export const getAISafetyInspectionList = (query?: any): AxiosPromise => { + return request({ + url: '/zm/api/v1/system/busTour/tourSearchAllList', + method: 'get', + params: query + }); +}; diff --git a/src/api/project/constructionUser/index.ts b/src/api/project/constructionUser/index.ts index 35ec956..f0ca083 100644 --- a/src/api/project/constructionUser/index.ts +++ b/src/api/project/constructionUser/index.ts @@ -1,4 +1,4 @@ -import request, { download } from '@/utils/request'; +import request from '@/utils/request-go'; import { AxiosPromise } from 'axios'; import { ConstructionUserForm, @@ -177,7 +177,7 @@ export const getConstructionUserExit = (query: ConstructionUserExitForm) => { export const dowloadConstructionUserTemplate = (query: ConstructionUserTemplateForm) => { let { projectId } = query; const fileName = projectId + '_project.zip'; - return download('/contractor/constructionUserFile/exportFileTemplate', query, fileName); + return request.download('/contractor/constructionUserFile/exportFileTemplate', query, fileName); }; /** @@ -186,8 +186,8 @@ export const dowloadConstructionUserTemplate = (query: ConstructionUserTemplateF */ export const delConstructionUserMember = (data: ConstructionUserMembeForm) => { return request({ - url: '/contractor/projectTeamMember/', - method: 'delete', + url: '/zm/api/v1/system/busConstructionUser/departure', + method: 'post', data }); }; diff --git a/src/api/project/projectTeam/index.ts b/src/api/project/projectTeam/index.ts index 8a55f69..bbf4dc1 100644 --- a/src/api/project/projectTeam/index.ts +++ b/src/api/project/projectTeam/index.ts @@ -1,4 +1,4 @@ -import request from '@/utils/request'; +import request from '@/utils/request-go'; import { AxiosPromise } from 'axios'; import { ProjectTeamForemanResp, ProjectTeamForm, ProjectTeamQuery, ProjectTeamVO } from '@/api/project/projectTeam/types'; @@ -10,7 +10,7 @@ import { ProjectTeamForemanResp, ProjectTeamForm, ProjectTeamQuery, ProjectTeamV export const listProjectTeam = (query?: ProjectTeamQuery): AxiosPromise => { return request({ - url: '/project/projectTeam/list', + url: '/zm/api/wxApplet/wxApplet/sysProjectTeam/list', method: 'get', params: query }); @@ -22,8 +22,9 @@ export const listProjectTeam = (query?: ProjectTeamQuery): AxiosPromise => { return request({ - url: '/project/projectTeam/listForeman/' + projectId, - method: 'get' + url: '/zm/api/wxApplet/wxApplet/sysProjectTeam/get', + method: 'get', + params: { projectId } }); }; @@ -33,8 +34,9 @@ export const listProjectTeamForeman = (projectId: string | number): AxiosPromise */ export const getProjectTeam = (id: string | number): AxiosPromise => { return request({ - url: '/project/projectTeam/' + id, - method: 'get' + url: '/zm/api/wxApplet/wxApplet/sysProjectTeam/get', + method: 'get', + params: { id } }); }; @@ -44,7 +46,7 @@ export const getProjectTeam = (id: string | number): AxiosPromise */ export const addProjectTeam = (data: ProjectTeamForm): AxiosPromise => { return request({ - url: '/project/projectTeam', + url: '/zm/api/wxApplet/wxApplet/sysProjectTeam/add', method: 'post', data: data }); @@ -56,7 +58,7 @@ export const addProjectTeam = (data: ProjectTeamForm): AxiosPromise { return request({ - url: '/project/projectTeam', + url: '/zm/api/wxApplet/wxApplet/sysProjectTeam/edit', method: 'put', data: data }); @@ -66,9 +68,10 @@ export const updateProjectTeam = (data: ProjectTeamForm) => { * 删除项目班组 * @param id */ -export const delProjectTeam = (id: string | number | Array) => { +export const delProjectTeam = (ids: string | number | Array) => { return request({ - url: '/project/projectTeam/' + id, - method: 'delete' + url: '/zm/api/wxApplet/wxApplet/sysProjectTeam/delete', + method: 'delete', + params: { ids } }); }; diff --git a/src/api/project/projectTeamMember/index.ts b/src/api/project/projectTeamMember/index.ts index c64cee2..f2658bd 100644 --- a/src/api/project/projectTeamMember/index.ts +++ b/src/api/project/projectTeamMember/index.ts @@ -1,4 +1,4 @@ -import request from '@/utils/request'; +import request from '@/utils/request-go'; import { AxiosPromise } from 'axios'; import { ProjectTeamMemberForm, ProjectTeamMemberQuery, ProjectTeamMemberVO } from '@/api/project/projectTeamMember/types'; @@ -10,7 +10,7 @@ import { ProjectTeamMemberForm, ProjectTeamMemberQuery, ProjectTeamMemberVO } fr export const listProjectTeamMember = (query?: ProjectTeamMemberQuery): AxiosPromise => { return request({ - url: '/project/projectTeamMember/list', + url: '/zm/api/wxApplet/wxApplet/sysProjectTeamMember/list', method: 'get', params: query }); @@ -22,8 +22,9 @@ export const listProjectTeamMember = (query?: ProjectTeamMemberQuery): AxiosProm */ export const getProjectTeamMember = (id: string | number): AxiosPromise => { return request({ - url: '/project/projectTeamMember/' + id, - method: 'get' + url: '/zm/api/wxApplet/wxApplet/sysProjectTeamMember/get', + method: 'get', + params: { id } }); }; @@ -33,7 +34,7 @@ export const getProjectTeamMember = (id: string | number): AxiosPromise => { return request({ - url: '/project/projectTeamMember', + url: '/zm/api/wxApplet/wxApplet/sysProjectTeamMember/add', method: 'post', data: data }); @@ -45,7 +46,7 @@ export const addProjectTeamMember = (data: ProjectTeamMemberForm): AxiosPromise< */ export const updateProjectTeamMember = (data: ProjectTeamMemberForm) => { return request({ - url: '/project/projectTeamMember', + url: '/zm/api/wxApplet/wxApplet/sysProjectTeamMember/edit', method: 'put', data: data }); @@ -57,7 +58,8 @@ export const updateProjectTeamMember = (data: ProjectTeamMemberForm) => { */ export const delProjectTeamMember = (id: string | number | Array) => { return request({ - url: '/project/projectTeamMember/' + id, - method: 'delete' + url: '/zm/api/wxApplet/wxApplet/sysProjectTeamMember/delete', + method: 'delete', + params: { ids: id } }); }; diff --git a/src/api/quality/qualityConstructionLog/index.ts b/src/api/quality/qualityConstructionLog/index.ts index fbcb46c..82dd839 100644 --- a/src/api/quality/qualityConstructionLog/index.ts +++ b/src/api/quality/qualityConstructionLog/index.ts @@ -1,4 +1,4 @@ -import request from '@/utils/request'; +import request from '@/utils/request-go'; import { AxiosPromise } from 'axios'; import { QualityConstructionLogVO, QualityConstructionLogForm, QualityConstructionLogQuery } from '@/api/quality/qualityConstructionLog/types'; @@ -10,7 +10,7 @@ import { QualityConstructionLogVO, QualityConstructionLogForm, QualityConstructi export const listQualityConstructionLog = (query?: QualityConstructionLogQuery): AxiosPromise => { return request({ - url: '/quality/qualityConstructionLog/list', + url: '/zm/api/v1/system/busConstructionLog/list', method: 'get', params: query }); @@ -22,8 +22,9 @@ export const listQualityConstructionLog = (query?: QualityConstructionLogQuery): */ export const getQualityConstructionLog = (id: string | number): AxiosPromise => { return request({ - url: '/quality/qualityConstructionLog/' + id, - method: 'get' + url: 'zm/api/v1/system/busConstructionLog/get', + method: 'get', + params: { id } }); }; diff --git a/src/api/quality/qualityInspection/index.ts b/src/api/quality/qualityInspection/index.ts index 82c8a4f..5c1219e 100644 --- a/src/api/quality/qualityInspection/index.ts +++ b/src/api/quality/qualityInspection/index.ts @@ -1,4 +1,4 @@ -import request from '@/utils/request'; +import request from '@/utils/request-go'; import { AxiosPromise } from 'axios'; import { QualityInspectionVO, QualityInspectionForm, QualityInspectionQuery } from '@/api/quality/qualityInspection/types'; @@ -10,7 +10,7 @@ import { QualityInspectionVO, QualityInspectionForm, QualityInspectionQuery } fr export const listQualityInspection = (query?: QualityInspectionQuery): AxiosPromise => { return request({ - url: '/quality/qualityInspection/list', + url: '/zm/api/v1/system/busInspectionTicket/list', method: 'get', params: query }); @@ -22,8 +22,9 @@ export const listQualityInspection = (query?: QualityInspectionQuery): AxiosProm */ export const getQualityInspection = (id: string | number): AxiosPromise => { return request({ - url: '/quality/qualityInspection/' + id, - method: 'get' + url: '/zm/api/v1/system/busInspectionTicket/get', + method: 'get', + params: { id } }); }; @@ -33,7 +34,7 @@ export const getQualityInspection = (id: string | number): AxiosPromise { return request({ - url: '/quality/qualityInspection', + url: '/zm/api/v1/system/busInspectionTicket/add', method: 'post', data: data }); @@ -61,3 +62,8 @@ export const delQualityInspection = (id: string | number | Array }, url: string, fileName: string) { + return request.download(url, ossId, fileName); +} diff --git a/src/api/types.ts b/src/api/types.ts index 59f7850..affa38c 100644 --- a/src/api/types.ts +++ b/src/api/types.ts @@ -67,6 +67,7 @@ export interface UserProject { projectId: string; projectName: string; shortName: string; + goId: string; } export interface IdAndNameVO { diff --git a/src/components/ProjectSelector/index.vue b/src/components/ProjectSelector/index.vue index 5ba301d..2e78ede 100644 --- a/src/components/ProjectSelector/index.vue +++ b/src/components/ProjectSelector/index.vue @@ -38,6 +38,8 @@ watch( ); const handleSelect = (projectId: string) => { + console.log(projects.value); + const selectedProject = projects.value.find((p) => p.id === projectId); if (selectedProject) { userStore.setSelectedProject(selectedProject); diff --git a/src/store/modules/user.ts b/src/store/modules/user.ts index 4198eae..045e2cc 100644 --- a/src/store/modules/user.ts +++ b/src/store/modules/user.ts @@ -42,9 +42,9 @@ export const useUserStore = defineStore('user', () => { const roles = ref>([]); // 用户角色编码集合 → 判断路由权限 const permissions = ref>([]); // 用户权限编码集合 → 判断按钮权限 - const projects = ref>([]); + const projects = ref>([]); // 从localStorage获取缓存的项目,如果没有则默认为null - const selectedProject = ref<{ id: string; name: string } | null>(getSelectedProjectFromStorage()); + const selectedProject = ref<{ id: string; name: string; goId: string } | null>(getSelectedProjectFromStorage()); const ProjectTeamList = ref(getProjectTeamListFromStorage()); /** @@ -88,7 +88,8 @@ export const useUserStore = defineStore('user', () => { if (projectRes?.data) { const projectList = projectRes.data.map((p) => ({ id: p.projectId, - name: p.projectName || '未知项目' + name: p.projectName || '未知项目', + goId: p.goId })); setProjects(projectList); @@ -125,11 +126,11 @@ export const useUserStore = defineStore('user', () => { avatar.value = value; }; - const setProjects = (projectList: Array<{ id: string; name: string }>) => { + const setProjects = (projectList: Array<{ id: string; name: string; goId: string }>) => { projects.value = projectList; }; - const setSelectedProject = (project: { id: string; name: string }) => { + const setSelectedProject = (project: { id: string; name: string; goId: string }) => { selectedProject.value = project; saveSelectedProjectToStorage(project); }; diff --git a/src/utils/projectTeam.ts b/src/utils/projectTeam.ts index 1134b68..2dc27ef 100644 --- a/src/utils/projectTeam.ts +++ b/src/utils/projectTeam.ts @@ -12,9 +12,9 @@ export const getProjectTeam = async () => { projectId: id }); - const list = res.rows.map((projectTeam: ProjectTeamVO) => ({ + const list = res.data.list.map((projectTeam: ProjectTeamVO) => ({ value: projectTeam.id, - label: projectTeam.teamName + label: projectTeam.name })); $cache.local.setJSON('ProjectTeamList', list); }; diff --git a/src/utils/request-go.ts b/src/utils/request-go.ts index c367513..d4d59dd 100644 --- a/src/utils/request-go.ts +++ b/src/utils/request-go.ts @@ -1,14 +1,19 @@ import $cache from '@/plugins/cache'; -// src/utils/request-go.ts import request from '@/utils/request'; -const BASE_GO_URL = import.meta.env.VITE_APP_BASE_API_GO; - /** * 包装 request 请求,统一使用 Go 服务地址作为 baseURL * @param config 原始请求配置 */ -export default function requestGo(config: any) { + +const BASE_GO_URL = import.meta.env.VITE_APP_BASE_API_GO; + +interface RequestGo extends Function { + (config: any): Promise; + download?: (url: string, params: any, filename: string) => void; +} + +const requestGo: RequestGo = (config: any) => { return request({ baseURL: BASE_GO_URL, ...config, @@ -16,4 +21,30 @@ export default function requestGo(config: any) { 'Authorization': `Bearer ${$cache.local.get('goToken') || ''}` } }); -} +}; + +requestGo.download = function (url: string, params: any, filename: string) { + return request({ + url, + method: 'post', + baseURL: BASE_GO_URL, + data: params, + headers: { + 'Authorization': `Bearer ${$cache.local.get('goToken') || ''}` + }, + responseType: 'blob' + }).then((response) => { + // ✅ 只取 response.data + const blob = new Blob([response.data]); + const link = document.createElement('a'); + link.style.display = 'none'; + link.href = URL.createObjectURL(blob); + link.setAttribute('download', filename); + document.body.appendChild(link); + link.click(); + document.body.removeChild(link); + URL.revokeObjectURL(link.href); + }); +}; + +export default requestGo; diff --git a/src/views/gisHome/component/autoScroller.vue b/src/views/gisHome/component/autoScroller.vue index 671bd35..a098f64 100644 --- a/src/views/gisHome/component/autoScroller.vue +++ b/src/views/gisHome/component/autoScroller.vue @@ -71,7 +71,10 @@ function onMouseEnter() { } function onMouseLeave() { - if (!manualControl && props.autoScroll) startScroll(); + // ✅ 仅在 scrollEnabled 才重新开始滚动 + if (!manualControl && props.autoScroll && scrollEnabled.value) { + startScroll(); + } } function onWheel(e: WheelEvent) { diff --git a/src/views/gisHome/component/carousel.vue b/src/views/gisHome/component/carousel.vue index 718576f..41e1243 100644 --- a/src/views/gisHome/component/carousel.vue +++ b/src/views/gisHome/component/carousel.vue @@ -15,23 +15,39 @@
- +
-
- -
03-18 15:00
-
未佩戴安全帽
+
+ +
{{ parseTime(item.createdAt, '{m}-{d} {h}:{i}') }}
+
{{ item.describe }}
- +
- +