diff --git a/package.json b/package.json index f462300..e71cc07 100644 --- a/package.json +++ b/package.json @@ -55,6 +55,7 @@ "vue-router": "4.4.5", "vue-types": "5.1.3", "vue3-print-nb": "^0.1.4", + "vue3-scroll-seamless": "^1.0.6", "vxe-table": "4.5.22" }, "devDependencies": { diff --git a/src/api/gis/index.ts b/src/api/gis/index.ts new file mode 100644 index 0000000..b77fafa --- /dev/null +++ b/src/api/gis/index.ts @@ -0,0 +1,58 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { QualityVO, Query, ConstructionUserVO, MachineryrVO, MaterialsVO } from './type'; +/** + * 查询大屏质量信息 + * @param query + * @returns {*} + */ + +export const getQualityList = (query?: Query): AxiosPromise => { + return request({ + url: '/quality/qualityInspection/gis', + method: 'get', + params: query + }); +}; + +/** + * 查询施工人员大屏数据 + * @param query + * @returns {*} + */ + +export const getConstructionUserList = (query?: Query): AxiosPromise => { + return request({ + url: '/project/constructionUser/gis', + method: 'get', + params: query + }); +}; + +/** + * 查询大屏机械列表 + * @param query + * @returns {*} + */ + +export const getMachineryrList = (query?: Query): AxiosPromise => { + return request({ + url: '/machinery/machinery/list/gis', + method: 'get', + params: query + }); +}; + +/** + * 查询大屏材料信息 + * @param query + * @returns {*} + */ + +export const getMaterialsList = (query?: Query): AxiosPromise => { + return request({ + url: '/materials/materials/list/gis', + method: 'get', + params: query + }); +}; diff --git a/src/api/gis/type.ts b/src/api/gis/type.ts new file mode 100644 index 0000000..8b91c63 --- /dev/null +++ b/src/api/gis/type.ts @@ -0,0 +1,43 @@ +export interface QualityVO { + count: number; + correctSituation: string; + list: Qualitylist[]; +} +export interface Qualitylist { + id: number; + inspectionTypeLabel: string; + inspectionHeadline: string; + createTime: string; +} + +export interface Query { + projectId: string | number; + pageSize?: string | number; +} + +export interface ConstructionUserVO { + peopleCount: number; + attendanceCount: number; + attendanceRate: string; +} + +export interface MachineryrVO { + //机械名称 + machineryName: string; + //机械数量 + machineryCount: string; +} + +export interface MaterialsVO { + //材料名称 + materialsName: string; + //计量单位 + weightId: string; + //预计材料数量 + quantityCount: string; + //入库数量 + putCount: string; + //出库数量 + outCount: string; + value: number; +} diff --git a/src/main.ts b/src/main.ts index b138635..463e8f5 100644 --- a/src/main.ts +++ b/src/main.ts @@ -49,6 +49,8 @@ VXETable.config({ // 修改 el-dialog 默认点击遮照为不关闭 /*import { ElDialog } from 'element-plus'; ElDialog.props.closeOnClickModal.default = false;*/ +// **main.js** +import { vue3ScrollSeamless } from 'vue3-scroll-seamless'; const app = createApp(App); @@ -60,6 +62,7 @@ app.use(print); app.use(i18n); app.use(VXETable); app.use(plugins); +app.component('vue3ScrollSeamless', vue3ScrollSeamless); // 自定义指令 directive(app); diff --git a/src/views/gisHome/component/autoScroller.vue b/src/views/gisHome/component/autoScroller.vue new file mode 100644 index 0000000..d094745 --- /dev/null +++ b/src/views/gisHome/component/autoScroller.vue @@ -0,0 +1,125 @@ + + + + + diff --git a/src/views/gisHome/component/leftMain.vue b/src/views/gisHome/component/leftMain.vue index c04a2c0..4c0c8e3 100644 --- a/src/views/gisHome/component/leftMain.vue +++ b/src/views/gisHome/component/leftMain.vue @@ -21,21 +21,30 @@

总人数

-
259
+
+ {{ constructionUserData?.peopleCount }}人 +

出勤人

-
259
+
+ {{ constructionUserData?.attendanceCount }}人 +

出勤率

-
100%
+
+ {{ constructionUserData?.attendanceRate }}% +
@@ -75,20 +84,57 @@ diff --git a/src/views/gisHome/component/rightMain.vue b/src/views/gisHome/component/rightMain.vue index c05f840..59cdac9 100644 --- a/src/views/gisHome/component/rightMain.vue +++ b/src/views/gisHome/component/rightMain.vue @@ -17,19 +17,22 @@
-
    -
  • +
      +
    + + +
@@ -93,31 +96,28 @@ -
- - - - - - - - -
+ + +
@@ -141,30 +141,27 @@
巡检记录
-

14

+

{{ qualityData?.count }}

整改情况
-

20%

+

{{ qualityData?.correctSituation }}%

-
-
-
- - 2024-11-15 + + +
@@ -189,7 +186,12 @@ @@ -617,8 +604,9 @@ onUnmounted(() => { .qualityList { margin-left: vw(21); + display: block; height: vh(90); - overflow: auto; + overflow: hidden; margin-right: vw(10); font-size: vw(14); .qualityItem { @@ -682,12 +670,12 @@ p { height: vh(82); .events-list { height: 100%; - overflow: auto; + overflow: hidden; padding-right: vw(10); margin: 0; padding: 0; - > li { + li { width: 100%; padding-left: vw(20); background: url('@/assets/images/li.png') no-repeat 0 20%; @@ -724,11 +712,11 @@ p { } } - > li:last-child { - margin-bottom: 0; - } + // li:last-child { + // margin-bottom: 0; + // } - > li::after { + li::after { content: ''; border-left: vw(1) dashed rgba(0, 190, 247, 0.3); position: absolute; @@ -739,10 +727,10 @@ p { display: block; } - > li:last-child::after { - content: ''; - border-left: none; - } + // li:last-child::after { + // content: ''; + // border-left: none; + // } } } @@ -763,7 +751,7 @@ p { .tbody { height: vh(94); - overflow: auto; + overflow: hidden; padding-right: vw(14); } @@ -781,10 +769,22 @@ p { border: none; //这是设置透明边框 color: rgba(255, 255, 255, 1); //这是设置字体颜色 font-size: vw(12); - text-align: center; + text-align: left; padding: vh(4) 0; height: vh(26) !important; } + .nameWidth { + width: vw(114); + } + .meetingDateWidth { + width: vw(114); + } + .statusWidth { + width: vw(44); + } + .teamNameWidth { + width: vw(114); + } .el-table__row--striped { background: transparent !important; //这是设置透明背景色 @@ -815,6 +815,8 @@ p { /* 滚动条整体样式 */ ::-webkit-scrollbar { width: vw(6); + display: none; + /* 纵向滚动条宽度 */ } diff --git a/src/views/index.vue b/src/views/index.vue index ed0e91c..282b77a 100644 --- a/src/views/index.vue +++ b/src/views/index.vue @@ -17,12 +17,30 @@
+
+ + +