更改全局样式
BIN
src/assets/images/dataBoard/wisdomBuild/cim+.png
Normal file
|
After Width: | Height: | Size: 842 KiB |
BIN
src/assets/images/dataBoard/wisdomBuild/main.png
Normal file
|
After Width: | Height: | Size: 452 KiB |
BIN
src/assets/images/dataBoard/wisdomBuild/map.jpg
Normal file
|
After Width: | Height: | Size: 416 KiB |
BIN
src/assets/images/dataBoard/wisdomBuild/menu-active.png
Normal file
|
After Width: | Height: | Size: 750 B |
BIN
src/assets/images/dataBoard/wisdomBuild/menu.png
Normal file
|
After Width: | Height: | Size: 912 B |
BIN
src/assets/images/dataBoard/wisdomBuild/tab2.png
Normal file
|
After Width: | Height: | Size: 668 KiB |
BIN
src/assets/images/dataBoard/wisdomBuild/tabs-item-active.png
Normal file
|
After Width: | Height: | Size: 562 B |
BIN
src/assets/images/dataBoard/wisdomBuild/tabs-item.png
Normal file
|
After Width: | Height: | Size: 2.6 KiB |
@ -41,6 +41,7 @@ if (process.env.NODE_ENV == 'development') {
|
||||
// axios.defaults.baseURL = 'http://124.71.178.44:100/'
|
||||
// tag: 本地
|
||||
axios.defaults.baseURL = 'http://192.168.34.125:6023/'; //本地 http/1.1
|
||||
// axios.defaults.baseURL = 'http://120.196.217.6:7000/'; // 鹤洲
|
||||
// axios.defaults.baseURL = 'http://182.90.224.237:7000/'; // 广西
|
||||
// axios.defaults.baseURL = 'http://120.196.217.6:7000/' //鹤洲
|
||||
|
||||
|
||||
@ -1443,7 +1443,7 @@ const routes2 = [
|
||||
}, {
|
||||
path: 'digitalSite',
|
||||
name: '数据看板-数字工地',
|
||||
component: () => import('@/views/projectAdmin/dataBoardTwo/digitalSite.vue'),
|
||||
component: () => import('@/views/projectAdmin/dataBoardTwo/digitalSite'),
|
||||
}, {
|
||||
path: 'laborManage',
|
||||
name: '数据看板-劳务管理',
|
||||
|
||||
@ -1,8 +1,5 @@
|
||||
<template>
|
||||
<div>
|
||||
</div>
|
||||
<div>
|
||||
<img src="@/assets/images/dataBoard/wisdomBuild/cim+.png" style="width: 100%;" alt="">
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
</script>
|
||||
<style lang="less" scoped>
|
||||
</style>
|
||||
@ -6,11 +6,12 @@
|
||||
<img v-if="headerLogo" style="width: auto;height: 30px;margin-right: 16px;" :src="headerLogo" />
|
||||
<span v-if="company != 'longguang'">
|
||||
<!-- 智慧工地云平台 -->
|
||||
{{$t('message.dataBoard.headerTitle')}}
|
||||
<!-- {{$t('message.dataBoard.headerTitle')}} -->
|
||||
中建科创数字建造管控平台
|
||||
</span>
|
||||
<span v-else style="color:#fff;margin-top:15px">
|
||||
<!-- 龙光智慧工地平台 -->
|
||||
{{$t('message.dataBoard.headerTitle2')}}
|
||||
<!-- {{$t('message.dataBoard.headerTitle2')}} -->
|
||||
</span>
|
||||
<!-- {{ $t("message.carOverview.vehicleStatistics") }} -->
|
||||
</h1>
|
||||
|
||||
6192
src/views/projectAdmin/dataBoardTwo/digitalSite/index.vue
Normal file
@ -1,193 +1,197 @@
|
||||
<template>
|
||||
<!-- 进度管理 -->
|
||||
<div v-if="COMPANY != 'longguang'" class="fullHeight">
|
||||
<!-- <vue-scroll>
|
||||
<img src="@/assets/images/dataBoard/6.png" style="height:auto;width:100%"/>
|
||||
</vue-scroll> -->
|
||||
<div class="aside fullHeight">
|
||||
<div class="blockBox">
|
||||
<div class="blockTitle"><!-- 倒计时 -->{{$t('message.dataBoard.countDown')}}
|
||||
<!-- 配置项目竣工日期 -->
|
||||
<el-tooltip class="configBtn" effect="dark" :content="$t('message.dataBoard.configProjectCompleteDate')" placement="top">
|
||||
<i class="el-icon-s-tools" @click="dialogVisible=true"></i>
|
||||
</el-tooltip>
|
||||
</div>
|
||||
<div class="blockContent">
|
||||
<p>
|
||||
<!-- 项目整体倒计时: -->
|
||||
{{$t('message.dataBoard.projectCountDown')+':'}}
|
||||
</p>
|
||||
<div class="days">
|
||||
<span class="num">{{endDate?leftDays:'--'}}</span><span>
|
||||
<!-- 天 -->
|
||||
{{$t('message.dataBoard.textList')[0]}}
|
||||
</span>
|
||||
</div>
|
||||
<img src="@/assets/images/daysBG.png" class="daysBG">
|
||||
<p class="endDate"><!-- 竣工时间: -->{{$t('message.dataBoard.completeTime')+':'}}{{endDate}}</p>
|
||||
<!-- <div class="numContent">
|
||||
<div class="numBox">
|
||||
<div class="bg1 medium">
|
||||
<span class="num">10</span>
|
||||
</div>
|
||||
<p>完成任务数</p>
|
||||
</div>
|
||||
<div class="numBox">
|
||||
<div class="bg1 medium">
|
||||
<span class="num">10</span>
|
||||
</div>
|
||||
<p>完成率</p>
|
||||
</div>
|
||||
<div class="numBox">
|
||||
<div class="bg1 medium">
|
||||
<span class="num">10</span>
|
||||
</div>
|
||||
<p>延期天数</p>
|
||||
</div>
|
||||
</div> -->
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="blockBox">
|
||||
<div class="blockTitle">
|
||||
<!-- 状态统计 -->
|
||||
{{$t('message.dataBoard.statusStatistics')}}
|
||||
</div>
|
||||
<div class="blockContent">
|
||||
<div class="companyChart" ref="companyChart"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="blockBox">
|
||||
<div class="blockTitle"><!-- 进度预警 -->{{$t('message.dataBoard.progressAlarm')}}
|
||||
<el-select v-model="alarmType" size="mini" class="alarmTypeBox" @change="changeAlarmType">
|
||||
<!-- 按人员 -->
|
||||
<el-option :value="1" :label="$t('message.dataBoard.accordingtoPeople')"></el-option>
|
||||
<!-- 按任务 -->
|
||||
<el-option :value="2" :label="$t('message.dataBoard.accordingtoTask')"></el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
<div class="blockContent">
|
||||
<vue-scroll>
|
||||
<table class="greenTable" v-show="alarmType==1">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>
|
||||
<!-- 人员姓名 -->
|
||||
{{$t('message.dataBoard.peopleName')}}
|
||||
</th>
|
||||
<th>
|
||||
<!-- 超期任务数 -->
|
||||
{{$t('message.dataBoard.extendedTaskNum')}}
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr v-for="(item, index) in alarmList" :key="index">
|
||||
<td>
|
||||
{{ item.personChargeName }}
|
||||
</td>
|
||||
<td>{{ item.num }}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<table class="greenTable" v-show="alarmType==2">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>
|
||||
<!-- 任务 -->
|
||||
{{$t('message.dataBoard.task')}}
|
||||
</th>
|
||||
<th>
|
||||
<!-- 负责人 -->
|
||||
{{$t('message.dataBoard.principal')}}
|
||||
</th>
|
||||
<th>
|
||||
<!-- 超期天数 -->
|
||||
{{$t('message.dataBoard.extendedDays')}}
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr v-for="(item, index) in alarmList" :key="index">
|
||||
<td>
|
||||
{{ item.subitemProjectName }}
|
||||
</td>
|
||||
<td>{{ item.personChargeName }}</td>
|
||||
<td>{{ item.overdueDayNum }}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div
|
||||
class="placeholderBox placeholderBox2"
|
||||
v-if="alarmList.length == 0"
|
||||
>
|
||||
<img src="@/assets/images/noData3.png" alt="" srcset="" />
|
||||
<p>
|
||||
<!-- 暂无数据 -->
|
||||
{{$t('message.dataBoard.nodata')}}
|
||||
</p>
|
||||
</div>
|
||||
</vue-scroll>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="right fullHeight">
|
||||
<div class="blockBox blockBox3" style="height: calc(66.66% - 25px)">
|
||||
<div class="blockTitle">
|
||||
<!-- 甘特图 -->
|
||||
{{$t('message.dataBoard.ganttChart')}}
|
||||
</div>
|
||||
<div class="blockContent">
|
||||
<iframe :src="'doc/ExtGantt/Ext甘特图.html?url='+baseURL+'&projectSn='+$store.state.projectSn+'&token='+$store.state.userInfo.token" id="iframe" class="Extgantt" > </iframe>
|
||||
</div>
|
||||
</div>
|
||||
<div class="blockBox blockBox2">
|
||||
<div class="blockTitle">
|
||||
<!-- 多维计划 -->
|
||||
{{$t('message.dataBoard.manyDimensionsPlan')}}
|
||||
</div>
|
||||
<div class="blockContent" style=" display: flex;align-items: center;">
|
||||
<div class="stageBox">
|
||||
<vue-scroll :ops="ops" ref="stageScroll">
|
||||
<div
|
||||
class="stageItem"
|
||||
v-for="(item, index) in stageList"
|
||||
:key="index"
|
||||
:class="
|
||||
projectData.constructionStage - 1 > index
|
||||
? 'finish'
|
||||
: projectData.constructionStage - 1 == index
|
||||
? 'ongoing'
|
||||
: ''
|
||||
"
|
||||
>
|
||||
<div class="statusImg"></div>
|
||||
<p>{{ item.name }}</p>
|
||||
<div class="line" v-show="stageList.length != index + 1"></div>
|
||||
<div>
|
||||
<!-- 进度管理 -->
|
||||
<div v-if="false && COMPANY != 'longguang'" class="fullHeight">
|
||||
<!-- <vue-scroll>
|
||||
<img src="@/assets/images/dataBoard/6.png" style="height:auto;width:100%"/>
|
||||
</vue-scroll> -->
|
||||
<div class="aside fullHeight">
|
||||
<div class="blockBox">
|
||||
<div class="blockTitle"><!-- 倒计时 -->{{$t('message.dataBoard.countDown')}}
|
||||
<!-- 配置项目竣工日期 -->
|
||||
<el-tooltip class="configBtn" effect="dark" :content="$t('message.dataBoard.configProjectCompleteDate')" placement="top">
|
||||
<i class="el-icon-s-tools" @click="dialogVisible=true"></i>
|
||||
</el-tooltip>
|
||||
</div>
|
||||
<div class="blockContent">
|
||||
<p>
|
||||
<!-- 项目整体倒计时: -->
|
||||
{{$t('message.dataBoard.projectCountDown')+':'}}
|
||||
</p>
|
||||
<div class="days">
|
||||
<span class="num">{{endDate?leftDays:'--'}}</span><span>
|
||||
<!-- 天 -->
|
||||
{{$t('message.dataBoard.textList')[0]}}
|
||||
</span>
|
||||
</div>
|
||||
</vue-scroll>
|
||||
<img src="@/assets/images/daysBG.png" class="daysBG">
|
||||
<p class="endDate"><!-- 竣工时间: -->{{$t('message.dataBoard.completeTime')+':'}}{{endDate}}</p>
|
||||
<!-- <div class="numContent">
|
||||
<div class="numBox">
|
||||
<div class="bg1 medium">
|
||||
<span class="num">10</span>
|
||||
</div>
|
||||
<p>完成任务数</p>
|
||||
</div>
|
||||
<div class="numBox">
|
||||
<div class="bg1 medium">
|
||||
<span class="num">10</span>
|
||||
</div>
|
||||
<p>完成率</p>
|
||||
</div>
|
||||
<div class="numBox">
|
||||
<div class="bg1 medium">
|
||||
<span class="num">10</span>
|
||||
</div>
|
||||
<p>延期天数</p>
|
||||
</div>
|
||||
</div> -->
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="blockBox">
|
||||
<div class="blockTitle">
|
||||
<!-- 状态统计 -->
|
||||
{{$t('message.dataBoard.statusStatistics')}}
|
||||
</div>
|
||||
<div class="blockContent">
|
||||
<div class="companyChart" ref="companyChart"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="blockBox">
|
||||
<div class="blockTitle"><!-- 进度预警 -->{{$t('message.dataBoard.progressAlarm')}}
|
||||
<el-select v-model="alarmType" size="mini" class="alarmTypeBox" @change="changeAlarmType">
|
||||
<!-- 按人员 -->
|
||||
<el-option :value="1" :label="$t('message.dataBoard.accordingtoPeople')"></el-option>
|
||||
<!-- 按任务 -->
|
||||
<el-option :value="2" :label="$t('message.dataBoard.accordingtoTask')"></el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
<div class="blockContent">
|
||||
<vue-scroll>
|
||||
<table class="greenTable" v-show="alarmType==1">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>
|
||||
<!-- 人员姓名 -->
|
||||
{{$t('message.dataBoard.peopleName')}}
|
||||
</th>
|
||||
<th>
|
||||
<!-- 超期任务数 -->
|
||||
{{$t('message.dataBoard.extendedTaskNum')}}
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr v-for="(item, index) in alarmList" :key="index">
|
||||
<td>
|
||||
{{ item.personChargeName }}
|
||||
</td>
|
||||
<td>{{ item.num }}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<table class="greenTable" v-show="alarmType==2">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>
|
||||
<!-- 任务 -->
|
||||
{{$t('message.dataBoard.task')}}
|
||||
</th>
|
||||
<th>
|
||||
<!-- 负责人 -->
|
||||
{{$t('message.dataBoard.principal')}}
|
||||
</th>
|
||||
<th>
|
||||
<!-- 超期天数 -->
|
||||
{{$t('message.dataBoard.extendedDays')}}
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr v-for="(item, index) in alarmList" :key="index">
|
||||
<td>
|
||||
{{ item.subitemProjectName }}
|
||||
</td>
|
||||
<td>{{ item.personChargeName }}</td>
|
||||
<td>{{ item.overdueDayNum }}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div
|
||||
class="placeholderBox placeholderBox2"
|
||||
v-if="alarmList.length == 0"
|
||||
>
|
||||
<img src="@/assets/images/noData3.png" alt="" srcset="" />
|
||||
<p>
|
||||
<!-- 暂无数据 -->
|
||||
{{$t('message.dataBoard.nodata')}}
|
||||
</p>
|
||||
</div>
|
||||
</vue-scroll>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<el-dialog :modal-append-to-body="false" :title="$t('message.dataBoard.configProjectCompleteDate')" :visible.sync="dialogVisible" width="667px">
|
||||
<div style="text-align:center;margin-bottom:30px">
|
||||
<el-date-picker size="medium"
|
||||
v-model="endDate"
|
||||
type="date"
|
||||
:placeholder="$t('message.dataBoard.chooseDate')" value-format="yyyy-MM-dd">
|
||||
</el-date-picker>
|
||||
<!-- <br> -->
|
||||
<el-button type="primary" size="medium" @click="saveDataFn" style="margin-left: 20px">
|
||||
<!-- 保存 -->
|
||||
{{$t('message.dataBoard.save')}}
|
||||
</el-button>
|
||||
<div class="right fullHeight">
|
||||
<div class="blockBox blockBox3" style="height: calc(66.66% - 25px)">
|
||||
<div class="blockTitle">
|
||||
<!-- 甘特图 -->
|
||||
{{$t('message.dataBoard.ganttChart')}}
|
||||
</div>
|
||||
<div class="blockContent">
|
||||
<iframe :src="'doc/ExtGantt/Ext甘特图.html?url='+baseURL+'&projectSn='+$store.state.projectSn+'&token='+$store.state.userInfo.token" id="iframe" class="Extgantt" > </iframe>
|
||||
</div>
|
||||
</div>
|
||||
<div class="blockBox blockBox2">
|
||||
<div class="blockTitle">
|
||||
<!-- 多维计划 -->
|
||||
{{$t('message.dataBoard.manyDimensionsPlan')}}
|
||||
</div>
|
||||
<div class="blockContent" style=" display: flex;align-items: center;">
|
||||
<div class="stageBox">
|
||||
<vue-scroll :ops="ops" ref="stageScroll">
|
||||
<div
|
||||
class="stageItem"
|
||||
v-for="(item, index) in stageList"
|
||||
:key="index"
|
||||
:class="
|
||||
projectData.constructionStage - 1 > index
|
||||
? 'finish'
|
||||
: projectData.constructionStage - 1 == index
|
||||
? 'ongoing'
|
||||
: ''
|
||||
"
|
||||
>
|
||||
<div class="statusImg"></div>
|
||||
<p>{{ item.name }}</p>
|
||||
<div class="line" v-show="stageList.length != index + 1"></div>
|
||||
</div>
|
||||
</vue-scroll>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<el-dialog :modal-append-to-body="false" :title="$t('message.dataBoard.configProjectCompleteDate')" :visible.sync="dialogVisible" width="667px">
|
||||
<div style="text-align:center;margin-bottom:30px">
|
||||
<el-date-picker size="medium"
|
||||
v-model="endDate"
|
||||
type="date"
|
||||
:placeholder="$t('message.dataBoard.chooseDate')" value-format="yyyy-MM-dd">
|
||||
</el-date-picker>
|
||||
<!-- <br> -->
|
||||
<el-button type="primary" size="medium" @click="saveDataFn" style="margin-left: 20px">
|
||||
<!-- 保存 -->
|
||||
{{$t('message.dataBoard.save')}}
|
||||
</el-button>
|
||||
</div>
|
||||
|
||||
</el-dialog>
|
||||
</el-dialog>
|
||||
</div>
|
||||
<!-- <PlanTwo v-else></PlanTwo> -->
|
||||
<img src="@/assets/images/dataBoard/wisdomBuild/main.png" style="width: 100%" alt="" />
|
||||
</div>
|
||||
<PlanTwo v-else></PlanTwo>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import echarts from 'echarts4';;
|
||||
import { getProjectDetail,getProjectExtendInfoApi,editProjectExtendApi } from "@/assets/js/api/baseInfo.js";
|
||||
|
||||
@ -272,6 +272,10 @@ export default {
|
||||
this.queryParams.enterpriseId = this.projectList[this.activeIndex].enterpriseId;
|
||||
// 查询数据
|
||||
this.getList()
|
||||
// 查询班组列表
|
||||
this.getTeamList()
|
||||
// 查询部门列表
|
||||
this.getDepartmentList()
|
||||
})
|
||||
},
|
||||
/** 查询用户数据 */
|
||||
|
||||