Compare commits

...

2 Commits

  1. 6
      folder-alias.json
  2. BIN
      src/assets/images/zw.png
  3. 24
      src/views/constructionScheduling/progress-monitoring/echartsOptions.js
  4. 14
      src/views/constructionScheduling/progress-monitoring/index.vue
  5. 51
      src/views/large-screen/index.vue
  6. 4
      src/views/sitePersonnel/access-control/index.vue
  7. 3
      src/views/sitePersonnel/work-attendance/index.vue
  8. 9
      src/views/vehicleMachinery/map.vue

@ -28,5 +28,11 @@
}, },
"src/views/constructionScheduling/resource-management": { "src/views/constructionScheduling/resource-management": {
"description": "资源管理" "description": "资源管理"
},
"src/views/sitePersonnel/access-control": {
"description": "门禁"
},
"src/views/sitePersonnel/work-attendance": {
"description": "考勤记录"
} }
} }

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

@ -6,7 +6,9 @@ export function echartsZhe({ ydata2, ydata1, xdata }) {
let server = [{ let server = [{
type: "line", type: "line",
name: "计划进度", name: "计划进度",
symbolSize: 1, showAllSymbol: true,
symbol: "circle",
symbolSize: 8,
animation: false, animation: false,
itemStyle: { itemStyle: {
normal: { normal: {
@ -18,17 +20,21 @@ export function echartsZhe({ ydata2, ydata1, xdata }) {
}, },
position: "top", position: "top",
}, },
color: color[0], color: '#fff',
borderColor: color[0],
borderWidth: 2,
lineStyle: { lineStyle: {
color: color[0], color: color[0],
width: 1, width: 2,
}, },
}, },
}, },
data: ydata1 ? ydata1 : [], data: ydata1 ? ydata1 : [],
}, { }, {
type: "line", type: "line",
symbolSize: 1, showAllSymbol: true,
symbol: "circle",
symbolSize: 8,
name: "实际进度", name: "实际进度",
animation: false, animation: false,
itemStyle: { itemStyle: {
@ -41,10 +47,12 @@ export function echartsZhe({ ydata2, ydata1, xdata }) {
}, },
position: "top", position: "top",
}, },
color: color[1], color: '#fff',
borderColor: color[1],
borderWidth: 2,
lineStyle: { lineStyle: {
color: color[1], color: color[1],
width: 1, width: 2,
}, },
}, },
}, },
@ -63,7 +71,7 @@ export function echartsZhe({ ydata2, ydata1, xdata }) {
textStyle: { textStyle: {
fontSize: 14, fontSize: 14,
}, },
data: xdata, data: xdata ? xdata : [],
}, },
tooltip: { tooltip: {
trigger: "axis", trigger: "axis",
@ -88,7 +96,7 @@ export function echartsZhe({ ydata2, ydata1, xdata }) {
axisTick: { axisTick: {
show: true, show: true,
}, },
data: [1, 2, 3, 4], data: xdata ? xdata : [],
}, },
], ],
yAxis: [ yAxis: [

@ -48,15 +48,14 @@ function getList(params) {
let ydata1 = [] let ydata1 = []
let ydata2 = [] let ydata2 = []
nextTick(() => { nextTick(() => {
console.log(res.data.datelist);
res.data.namelist.map((item, index) => { res.data.namelist.map((item, index) => {
ydata1.push(res.data.actuallist[index])
ydata2.push(res.data.planlist[index])
state.echart({ state.echart({
id: 'staff' + index, id: 'staff' + index,
grid: state.echartsZhe({ grid: state.echartsZhe({
ydata1: ydata1, ydata1: res.data.actuallist,
ydata2: ydata2, ydata2: res.data.planlist,
xdata: res.data.namelist xdata: res.data.datelist
}), }),
}); });
}) })
@ -126,5 +125,8 @@ function getList(params) {
/* 子元素超出宽度时换行 */ /* 子元素超出宽度时换行 */
} }
.app-container {} .app-container {
height: calc(100vh - 140px);
overflow: auto;
}
</style> </style>

@ -2,7 +2,7 @@
<div class="data-screen" element-loading-text="加载中请稍后..." v-loading="state.loading"> <div class="data-screen" element-loading-text="加载中请稍后..." v-loading="state.loading">
<div class="topheader"> <div class="topheader">
<div class="gradient"> <div class="gradient">
智慧工地数据大屏 智慧工地数据看板
</div> </div>
<div class="xitong" @click="Jump()"></div> <div class="xitong" @click="Jump()"></div>
</div> </div>
@ -33,7 +33,8 @@
<span>总工期</span> <span>总工期</span>
</div> </div>
<div class="data-font jbborder"> <div class="data-font jbborder">
<span class="number-font">{{ parseFloat(state.gk.gcjd).toFixed(0) }}<span>%</span></span> <span class="number-font">{{ parseFloat(state.gk.gcjd).toFixed(0)
}}<span>%</span></span>
<span>工程进度</span> <span>工程进度</span>
</div> </div>
<div class="data-font jbborder"> <div class="data-font jbborder">
@ -57,8 +58,11 @@
<div class="top-item"> <div class="top-item">
<div class="boxtitle">智能资源调度</div> <div class="boxtitle">智能资源调度</div>
<div class="boxcontent" style="display: flex;flex-direction: column;justify-content: space-around;"> <div class="boxcontent" style="display: flex;flex-direction: column;justify-content: space-around;">
<div v-if="state.dispatchList.length == 0"> <div class="zanwu" v-if="state.dispatchList.length == 0">
<el-empty :image-size="'6.25rem'" description="暂无预警" /> <img style="width: 9.375rem;" src="../../assets/images/zw.png" alt="">
<div class="zwtext">
暂无资源调度
</div>
</div> </div>
<div v-for="item, index in state.dispatchList.slice(0, 2)"> <div v-for="item, index in state.dispatchList.slice(0, 2)">
<div class="jd-title"> <div class="jd-title">
@ -150,9 +154,13 @@
<div class="right-top-item" style="overflow: hidden;"> <div class="right-top-item" style="overflow: hidden;">
<div class="top-item"> <div class="top-item">
<div class="boxtitle">进度预警</div> <div class="boxtitle">进度预警</div>
<div v-if="state.warnList.length == 0" class="boxcontent" <div class="boxcontent" v-if="state.warnList.length == 0">
style="display: grid;grid-template-columns: 1fr ;"> <div class="zanwu">
<el-empty :image-size="100" description="暂无预警" /> <img style="width: 150px;" src="../../assets/images/zw.png" alt="">
<div class="zwtext">
暂无进度预警
</div>
</div>
</div> </div>
<div v-else class="boxcontent" <div v-else class="boxcontent"
style="display: grid;grid-template-columns: 1fr 1fr ;grid-gap: .75rem;padding: 1.5625rem 1.3125rem;"> style="display: grid;grid-template-columns: 1fr 1fr ;grid-gap: .75rem;padding: 1.5625rem 1.3125rem;">
@ -166,7 +174,7 @@
</el-progress> </el-progress>
</div> </div>
</div> </div>
<div>预警信息{{ item.warnInfo?item.warnInfo:'-' }}</div> <div>预警信息{{ item.warnInfo ? item.warnInfo : '-' }}</div>
</div> </div>
</div> </div>
</div> </div>
@ -198,7 +206,10 @@
</div> </div>
</div> </div>
<div class="zanwu" v-if="state.monitorList.length == 0"> <div class="zanwu" v-if="state.monitorList.length == 0">
暂无数据 <img style="width: 9.375rem;" src="../../assets/images/zw.png" alt="">
<div class="zwtext">
暂无进度监控
</div>
</div> </div>
</vue3-seamless-scroll> </vue3-seamless-scroll>
</div> </div>
@ -243,7 +254,10 @@
</div> </div>
</div> </div>
<div class="zanwu" v-if="state.tableData.length == 0"> <div class="zanwu" v-if="state.tableData.length == 0">
暂无数据 <img style="width: 200px;" src="../../assets/images/zw.png" alt="">
<div class="zwtext">
暂无门禁记录
</div>
</div> </div>
</vue3-seamless-scroll> </vue3-seamless-scroll>
</div> </div>
@ -302,9 +316,8 @@ onMounted(async () => {
await engineeringLog() await engineeringLog()
await getQuerywarn() await getQuerywarn()
await getStatistics() await getStatistics()
// await getVehiclestat() await getVehiclestat()
// await accessControl() await accessControl()
state.loading = false state.loading = false
}) })
function Jump() { function Jump() {
@ -454,6 +467,18 @@ function engineeringLog(params) {
text-align: center; text-align: center;
color: #fff; color: #fff;
padding: .625rem; padding: .625rem;
display: flex;
flex-direction: column;
align-items: center;
position: relative;
}
.zwtext {
position: absolute;
bottom: .9375rem;
width: 100%;
text-align: center;
color: #ccc;
} }
.table-item>div { .table-item>div {

@ -35,6 +35,9 @@ const state = reactive({
delete: 'accessControl:page:list', delete: 'accessControl:page:list',
detail: 'accessControl:page:list', detail: 'accessControl:page:list',
}, },
tableResult:{
successCode:0
},
pageInfo: { total: 0, base: { limit: 8, current: 1 } }, pageInfo: { total: 0, base: { limit: 8, current: 1 } },
tableDataFormatter: function (params, res) { tableDataFormatter: function (params, res) {
res.data.total = res.data.totalRows res.data.total = res.data.totalRows
@ -49,6 +52,7 @@ onMounted(() => {
<template> <template>
<div class="app-container"> <div class="app-container">
<BaseTablePage :tableOptions="state"> <BaseTablePage :tableOptions="state">
<template v-slot:column> <template v-slot:column>
<el-table-column type="index" align="center" label="序号" width="70" /> <el-table-column type="index" align="center" label="序号" width="70" />

@ -29,6 +29,9 @@ const state = reactive({
showEditBtn: false, showEditBtn: false,
showDelBtn: false showDelBtn: false
}, },
tableResult:{
successCode:0
},
permission: {// permission: {//
add: 'workAttendance:page:list', add: 'workAttendance:page:list',
edit: 'workAttendance:page:list', edit: 'workAttendance:page:list',

@ -22,12 +22,13 @@ onMounted(() => {
<template> <template>
<div class="app-container" v-if="state.url" v-loading="state.showLoading" :element-loading-text="'Loading...'" <div class="app-container" v-if="state.url" v-loading="state.showLoading" :element-loading-text="'Loading...'"
:element-loading-background="'rgb(34, 58, 106, 0.5)'"> :element-loading-background="'rgb(34, 58, 106, 0.5)'">
<div style="display: flex;align-items: center;height: 100%;width: 100%;">
<div class="left-detail">
<div style="display: flex;align-items: center;height: 40px;"> <div style="display: flex;align-items: center;height: 40px;">
<el-button icon="Back" @click="router.back()"> <el-button icon="Back" @click="router.back()">
返回</el-button> 返回</el-button>
</div> </div>
<div style="display: flex;align-items: center;height: calc(100% - 40px);width: 100%;">
<div class="left-detail">
<div>{{ state.item.vehicleNumber ? state.item.vehicleNumber : '-' }}</div> <div>{{ state.item.vehicleNumber ? state.item.vehicleNumber : '-' }}</div>
<div class="left-detail-item"> <div class="left-detail-item">
<span>设备型号</span> <span>设备型号</span>
@ -56,7 +57,7 @@ onMounted(() => {
<style scoped lang="scss"> <style scoped lang="scss">
.app-container { .app-container {
width: 100%; width: 100%;
height: calc(100vh - 50px); height: calc(100vh - 135px);
} }
.left-detail-item { .left-detail-item {
@ -82,12 +83,12 @@ onMounted(() => {
.left-detail { .left-detail {
padding: 24px; padding: 24px;
padding-top: 10px;
height: 100%; height: 100%;
background: red; background: red;
width: 242px; width: 242px;
background: #fff; background: #fff;
border-radius: 0px 0px 0px 0px; border-radius: 0px 0px 0px 0px;
>div:nth-child(1) { >div:nth-child(1) {
font-family: Source Han Sans CN, Source Han Sans CN; font-family: Source Han Sans CN, Source Han Sans CN;
font-weight: 500; font-weight: 500;

Loading…
Cancel
Save