Merge branch 'shenzhen-dev' of http://10.0.0.60/dhp/zhgdyun into shenzhen-dev

This commit is contained in:
yjl 2022-12-17 09:25:46 +08:00
commit 4b9fa5c78b
17 changed files with 680 additions and 262 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 274 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 373 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 402 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 705 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@ -51,6 +51,14 @@ export const getAllDevApi = params => get('xmgl/dev/getAllDev', params);
*/
export const listProgressOfTheTask = params => get('xmgl/progressItem/getScheduleList', params);
//进度管理--最近七天末级节点
export const getLastSevenDaysApi = params => get('/xmgl/progressTask/lastSevenDays', params);
//进度管理--第一级任务列表
export const getProgressTaskParentListApi = params => get('/xmgl/progressTask/parentList', params);
//进度管理-无人机
export const getUavVideoApi = params => get('/xmgl/uavVideo/listByShootingDate', params);
/* --------------安全管理------------ */
// 人员管理

View File

@ -45,9 +45,9 @@ export default new Vuex.Store({
PAGESIZRS: [10, 20, 30, 50],
// UPLOADURL:'http://10.0.1.43:6023/upload/image',//测试
// FILEURL:'http://10.0.1.43:6023/image/',//测试
BASEURL: baseUrl ? baseUrl : window.location.protocol + '//' + window.location.host + '/', //
UPLOADURL: window.location.protocol + '//' + window.location.host + '/upload/image', //
FILEURL: window.location.protocol + '//' + window.location.host + '/image/', //测试 // tag: 本地测试接口
// BASEURL: baseUrl ? baseUrl : window.location.protocol + '//' + window.location.host + '/', //
// UPLOADURL: window.location.protocol + '//' + window.location.host + '/upload/image', //
// FILEURL: window.location.protocol + '//' + window.location.host + '/image/', //测试 // tag: 本地测试接口
/* 2022-05-16 */
// tag: 部署河南项目时,需要打开这两行代码
// UPLOADURL: 'http://139.9.66.234:6324/upload/image',
@ -57,9 +57,9 @@ export default new Vuex.Store({
// UPLOADURL: 'http://182.90.224.237:7000/upload/image',
// FILEURL: 'http://182.90.224.237:7000/image/',
// 邱平毅的
// BASEURL:'http://192.168.34.116:6023/',
// UPLOADURL: 'http://192.168.34.116:6023/upload/image',
// FILEURL: 'http://192.168.34.116:6023/image/',
BASEURL:'http://192.168.34.116:6023/',
UPLOADURL: 'http://192.168.34.116:6023/upload/image',
FILEURL: 'http://192.168.34.116:6023/image/',
// UPLOADURL: 'http://124.71.67.160:8088/upload/image',
// FILEURL: 'http://124.71.67.160:8088/image/',

View File

@ -18,6 +18,7 @@
</p>
<p style="font-size: 16px">累计减少碳排放</p>
</div>
</div>
<!-- <div class="cOCumulative">累计减少碳排放</div> -->
</div>
@ -29,6 +30,10 @@
:color="color"
:grid="grid"
/>
<!-- <div v-else class="empty" style="position: absolute;left: 50%;top: 50%;transform: translate(-50%, -50%);">
<img src="@/assets/images/noData3.png">
<div style="text-align: center;color: #5b626b;font-size: 14px;">暂无数据</div>
</div> -->
</div>
</Card>
</template>
@ -42,7 +47,7 @@ export default {
data() {
return {
xData: ["办公区", "生活区", "施工现场", "大门口", "其他"],
xData: [],
series: [{ data: [] }, { data: [] }],
color: ["#E7622A", "#6EE4F0"],
grid: ["15%", "0%", "30%", "0%"],
@ -69,8 +74,8 @@ export default {
console.log("看数据1", this.workercount);
this.workercount.forEach((item) => {
this.series[0].data.push(item.electric);
this.series[1].data.push(item.water);
this.xData.push(item.location)
});
this.isShow = true;

View File

@ -105,7 +105,7 @@ list:{
.textKwh{
font-size: 32px;
font-weight: bold;
margin: 19px 0 0 70px;
margin: 19px 0 0 43px;
}
.textBottom{
font-size: 20px;

View File

@ -1,7 +1,47 @@
<template>
<Card title="当前模型">
<Card title="模型列表">
<div class="videos">
<div class="video" v-for="i in 6" :key="i"><p>2022-08-11</p></div>
<div class="videosList"><span style="margin-left:45px">模型名称</span></div>
<div class="video" style="color:#66D3D8">
<span style="margin-right:20px;margin-left:10px">01</span>
<span>EHE-CPAS0301SB1航空基地宿舍楼...</span>
</div>
<div class="video" >
<span style="margin-right:20px;margin-left:10px">02</span>
<span>EHE-CPAS0301SB1航空基地宿舍楼...</span>
</div>
<div class="video" >
<span style="margin-right:20px;margin-left:10px">03</span>
<span>EHE-CPAS0301SB1航空基地宿舍楼...</span>
</div>
<div class="video" >
<span style="margin-right:20px;margin-left:10px">04</span>
<span>EHE-CPAS0301SB1航空基地宿舍楼...</span>
</div>
<div class="video" >
<span style="margin-right:20px;margin-left:10px">05</span>
<span>EHE-CPAS0301SB1航空基地宿舍楼...</span>
</div>
<div class="video" >
<span style="margin-right:20px;margin-left:10px">06</span>
<span>EHE-CPAS0301SB1航空基地宿舍楼...</span>
</div>
<div class="video" >
<span style="margin-right:20px;margin-left:10px">07</span>
<span>EHE-CPAS0301SB1航空基地宿舍楼...</span>
</div>
<div class="video" >
<span style="margin-right:20px;margin-left:10px">08</span>
<span>EHE-CPAS0301SB1航空基地宿舍楼...</span>
</div>
<div class="video" >
<span style="margin-right:20px;margin-left:10px">09</span>
<span>EHE-CPAS0301SB1航空基地宿舍楼...</span>
</div>
<div class="video" >
<span style="margin-right:20px;margin-left:10px">10</span>
<span>EHE-CPAS0301SB1航空基地宿舍楼...</span>
</div>
</div>
</Card>
</template>
@ -19,23 +59,22 @@ export default {
padding-top: 10px;
width: 100%;
height: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
.video {
width: 48%;
height: 29%;
// border: 1px solid skyblue;
background-image: url(../assets/images/common/bgc_small.png);
background-repeat: no-repeat;
background-size: 100%;
}
p{
font-size: 14px;
color: #fff;
opacity: 0.7;
margin: 2px 2px;
}
.video{
width: 350px;
border-bottom: 2px solid #ccc;
margin: 0px 0 0 8px;
height: 32px;
line-height: 32px;
}
.videosList{
width: 350px;
height: 32px;
line-height: 32px;
background-color: #66D3D8;
color:#00292A;
margin: 14px 0 0 8px;
font-size: 14px;
}
}
</style>

View File

@ -1,16 +1,42 @@
<template>
<Card title="图纸审">
<Card title="图纸审">
<div class="table">
<div class="row">
<div class="td" id="tr">规划报批</div>
<div class="td" id="tr">施工图审查</div>
<div class="td" id="tr">竣工验收</div>
<p style="color:#5CE2F6">航空基地宿舍楼地上9层机电模型送审图纸文件_V3.0...</p><br/>
<div class="row_box">
<span style="margin-bottom:10px">当前节点:<span style="color:#3CCA8F">施工单位</span></span>
<span style="margin-left:50px">更新时间:<span style="color:#3CCA8F">2022-02-07</span></span>
</div>
</div>
<div class="row" :class="{ warning: !row[0] }" v-for="(row, i) in list" :key="i">
<div class="td">{{ row[0] ? '符合' : '不符合' }}</div>
<div class="td">{{ row[1] ? '符合' : '不符合' }}</div>
<div class="td">{{ row[2] ? '已验收' : '未验收' }}</div>
<div class="row">
<p style="color:#5CE2F6">航空基地宿舍楼室外工程C区景观玻璃廊深化图纸文...</p><br/>
<div class="row_box">
<span>当前节点:<span style="color:#3CCA8F">造价单位</span></span>
<span style="margin-left:50px">更新时间:<span style="color:#3CCA8F">2022-02-03</span></span>
</div>
</div>
<div class="row">
<p style="color:#5CE2F6">航空基地宿舍楼智能照明模型文件_V1.010_链接图纸...</p><br/>
<div class="row_box">
<span>当前节点:<span style="color:#3CCA8F">设计单位</span></span>
<span style="margin-left:50px">更新时间:<span style="color:#3CCA8F">2022-02-03</span></span>
</div>
</div>
<div class="row">
<p style="color:#5CE2F6">航空基地宿舍楼室外主楼区喷灌深化图纸送审文件...</p><br/>
<div class="row_box">
<span>当前节点:<span style="color:#3CCA8F">工程部领导</span></span>
<span style="margin-left:40px">更新时间:<span style="color:#3CCA8F">2022-02-02</span></span>
</div>
</div>
<div class="row">
<p style="color:#5CE2F6">航空基地宿舍楼室外主楼区给水井深化图纸送审文件...</p><br/>
<div class="row_box">
<span>当前节点:<span style="color:#3CCA8F">造价单位</span></span>
<span style="margin-left:55px">更新时间:<span style="color:#3CCA8F">2022-02-02</span></span>
</div>
</div>
</div>
</Card>
</template>
@ -35,36 +61,12 @@ export default {
padding: 20px 10px 0;
width: 100%;
height: 100%;
margin-top: -20px;
.row {
margin-bottom: 12px;
height: 22px;
line-height: 22px;
font-size: 12px;
display: flex;
.td {
color: #fff;
// opacity: 0.5;
flex: 1;
text-align: center;
}
#tr{
color: #66D4D9 ;
// opacity: 0.5;
}
&:nth-child(1) {
font-size: 14px;
color: #67d4d9;
}
&.warning {
background: linear-gradient(90deg, #a45133, #a4513338);
&::before {
content: '';
width: 4px;
height: 100%;
background-color: #e7622a;
}
}
width: 100%;
margin-top: 25px;
font-size: 14.5px;
}
}
</style>

View File

@ -1,86 +1,239 @@
<template>
<Card title="归档文件">
<div class="chart">
<JNestedRingChart :title="{ text: '73', subTitle: '问题总数' }" :series="series" :legend="{ show: false }" />
</div>
<div class="legend">
<div class="legend-item">未查看</div>
<div class="legend-item">已查看</div>
<div class="legend-item">已解决</div>
<div class="legend-item">已回复</div>
<div class="down-tree">
<el-tree
style="color: #66d3d8"
:data="data"
:props="defaultProps"
accordion
@node-click="handleNodeClick"
>
<span class="custom-tree-node" slot-scope="{ node, data }">
<span>
<img src="~@/assets/images/zjsj/Group2.png" alt />
<span class="textBox"> {{ node.label }} </span>
</span>
</span>
</el-tree>
</div>
</Card>
</template>
<script>
import Card from '../components/Card.vue'
// ../../jChart/pie/JNestedRingChart.vue
import JNestedRingChart from '../../common/jChart/pie/JNestedRingChart.vue'
import Card from "../components/Card.vue";
export default {
components: { Card, JNestedRingChart },
components: { Card },
data() {
return {
series: [
data: [
{
roseType: 'area',
radius: ['58%', '52%'],
color: ['#182337', '#4A8C9C'],
data: [30, 40, 30, 40],
startAngle:90,
label: "中建四局金融城东区AT091429地块项目",
children: [
{
label: "总体文件",
children: [
{
label: "政府主管部门批文",
},
{
label: "项目基本信息文件",
},
{
label: "往来函件",
},
{
label: "会议纪要",
},
],
},
{
label: "前期资料",
children: [
{
label: "选址资料",
},
{
label: "预可行性研究报告",
},
{
label: "可行性研究报告",
},
{
label: "可行性研究报告",
},
{
label: "项目策划报告",
},
{
label: "规划设计",
},
{
label: "工程报建",
},
],
},
{
label: "设计管理文件",
children: [
{
label: "地质勘察资料",
},
{
label: "方案设计",
},
{
label: "初步设计",
},
{
label: "施工图设计",
},
{
label: "招投标文件",
},
{
label: "合同管理文件",
},
],
},
{
label: "施工管理文件",
children: [
{
label: "项目管理资料",
},
{
label: "招投标资料",
},
{
label: "施工深化设计",
},
{
label: "合同管理",
},
{
label: "进度管理",
},
{
label: "成本管理",
},
{
label: "BIM实施成果管理",
},
{
label: "质量管理",
},
{
label: "施工技术",
},
{
label: "设备与材料",
},
{
label: "理单位资料",
},
{
label: "安全管理",
},
],
},
{
label: "竣工文件",
children: [
{
label: "工程竣工总结文件",
},
{
label: "单位工程质量验收记录",
},
{
label: "工程质量保修书",
},
{
label: "结算文件",
},
{
label: "声像、电子档案",
},
{
label: "项目后评估文件",
},
],
},
],
},
{
radius: ['65%', '82%'],
startAngle:90,
color: ['#FFFFFF', '#E86129', '#FFC303', '#6EE4F0'],
data: [
{ value: 11, name: '未查看' },
{ value: 11, name: '已查看' },
{ value: 11, name: '已解决' },
{ value: 11, name: '已回复' }
]
},
]
}
}
}
],
defaultProps: {
children: "children",
label: "label",
},
};
},
methods: {
handleNodeClick(data) {
console.log(data);
},
},
};
</script>
<style lang="less" scoped>
.chart {
box-sizing: border-box;
padding-top: 20px;
height: 70%;
.down-tree {
height: 400px;
display: block;
overflow-y: scroll;
margin: 20px 0 0 10px;
}
.legend {
margin-top: 30px;
display: flex;
justify-content: space-around;
flex-wrap: wrap;
.legend-item {
margin-bottom: 26px;
width: 45%;
display: flex;
justify-content: center;
align-items: center;
&::before {
content: '';
margin-right: 8px;
width: 8px;
height: 8px;
border-radius: 50%;
}
&:nth-child(1)::before {
background-color: #ffffff;
}
&:nth-child(2)::before {
background-color: #e86129;
}
&:nth-child(3)::before {
background-color: #ffc303;
}
&:nth-child(4)::before {
background-color: #6ee4f0;
}
}
::v-deep .el-tree-node__content {
margin-top: 20px;
}
::v-deep .el-tree-node__content > .el-tree-node__expand-icon {
margin-top: 5px;
}
::v-deep .el-tree .el-icon svg {
//
display: none !important;
height: 0;
width: 0;
}
::v-deep .el-tree-node__expand-icon {
//size =>
font-size: 16px;
}
//900
::v-deep .el-tree .el-tree-node__expand-icon.expanded {
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
}
::v-deep .el-tree .el-tree-node__expand-icon:before {
//
background: url("~@/assets/images/zjsj/Group.png") no-repeat 0 1px;
content: "";
display: block;
width: 18px;
height: 18px;
}
::v-deep .el-tree .el-tree-node__expand-icon.expanded:before {
//
background: url("~@/assets/images/zjsj/Group.png") no-repeat 0 1px;
content: "";
display: block;
width: 18px;
height: 18px;
margin-top: 4px;
}
::v-deep .el-tree .is-leaf.el-tree-node__expand-icon::before {
//
display: block;
background: none !important;
content: "";
width: 18px;
height: 18px;
}
</style>

View File

@ -1,76 +1,73 @@
<template>
<Card title="模型报审">
<div class="chart">
<JNestedRingChart :title="{ text: '33', subTitle: '问题总数' }" :series="series" :legend="{ show: false }" />
</div>
<div class="legend">
<div class="legend-item">未查看</div>
<div class="legend-item">未解决</div>
<div class="legend-item">已解决</div>
<Card title="模型审核">
<div class="table">
<div class="row">
<p style="color:#5CE2F6">航空基地宿舍楼地上9层机电模型送审图纸文件_V3.0...</p><br/>
<div class="row_box">
<span style="margin-bottom:10px">当前节点:<span style="color:#3CCA8F">施工单位</span></span>
<span style="margin-left:50px">更新时间:<span style="color:#3CCA8F">2022-02-07</span></span>
</div>
</div>
<div class="row">
<p style="color:#5CE2F6">航空基地宿舍楼室外工程C区景观玻璃廊深化图纸文...</p><br/>
<div class="row_box">
<span>当前节点:<span style="color:#3CCA8F">造价单位</span></span>
<span style="margin-left:50px">更新时间:<span style="color:#3CCA8F">2022-02-03</span></span>
</div>
</div>
<div class="row">
<p style="color:#5CE2F6">航空基地宿舍楼智能照明模型文件_V1.010_链接图纸...</p><br/>
<div class="row_box">
<span>当前节点:<span style="color:#3CCA8F">设计单位</span></span>
<span style="margin-left:50px">更新时间:<span style="color:#3CCA8F">2022-02-03</span></span>
</div>
</div>
<div class="row">
<p style="color:#5CE2F6">航空基地宿舍楼室外主楼区喷灌深化图纸送审文件...</p><br/>
<div class="row_box">
<span>当前节点:<span style="color:#3CCA8F">工程部领导</span></span>
<span style="margin-left:40px">更新时间:<span style="color:#3CCA8F">2022-02-02</span></span>
</div>
</div>
<div class="row">
<p style="color:#5CE2F6">航空基地宿舍楼室外主楼区给水井深化图纸送审文件...</p><br/>
<div class="row_box">
<span>当前节点:<span style="color:#3CCA8F">造价单位</span></span>
<span style="margin-left:55px">更新时间:<span style="color:#3CCA8F">2022-02-02</span></span>
</div>
</div>
</div>
</Card>
</template>
<script>
import Card from '../components/Card.vue'
import JNestedRingChart from '../../common/jChart/pie/JNestedRingChart.vue'
export default {
components: { Card, JNestedRingChart },
components: { Card },
data() {
const list = new Array(11).fill(0).map((item, index) => new Array(3).fill(0).map(() => (index === 3 ? 0 : 1)))
return {
series: [
{
roseType: 'area',
radius: ['58%', '52%'],
color: ['#182337', '#4A8C9C'],
data: [30, 40, 30, 40],
startAngle:90,
},
{
radius: ['65%', '82%'],
startAngle:90,
color: ['#E86129', '#FFC303', '#6EE4F0'],
data: [
{ value: 11, name: '未查看' },
{ value: 11, name: '未解决' },
{ value: 11, name: '已解决' }
]
}
]
list
}
}
},
methods: {}
}
</script>
<style lang="less" scoped>
.chart {
.table {
box-sizing: border-box;
padding-top: 20px;
height: 70%;
}
.legend {
margin-top: 30px;
display: flex;
justify-content: space-around;
.legend-item {
display: flex;
align-items: center;
&::before {
content: '';
margin-right: 8px;
width: 8px;
height: 8px;
border-radius: 50%;
}
&:nth-child(1)::before {
background-color: #e86129;
}
&:nth-child(2)::before {
background-color: #ffc303;
}
&:nth-child(3)::before {
background-color: #6ee4f0;
}
padding: 20px 10px 0;
width: 100%;
height: 100%;
margin-top: -20px;
.row {
width: 100%;
margin-top: 25px;
font-size: 14.5px;
}
}
</style>

View File

@ -17,9 +17,11 @@
</div>
</div>
<!-- 无人机 -->
<div class="left2" v-if="currentIndex == 1"></div>
<div class="left2" v-if="currentIndex == 1">
<UAV></UAV>
</div>
<!-- 全景成像 -->
<div class="views" v-if="currentIndex == 2" >
<div class="views" v-if="currentIndex == 2">
<!-- <div class="left">
<div class="leftone">
<LeftOne />
@ -31,47 +33,65 @@
<LeftThree />
</div>
</div> -->
<div class="right"> <iframe src="https://fjvsaps.jqmkj.com:20020/api/main/index?ak=ZJ4J0001&ts=1670286176897&token=%2BpldKJhzmMj5GUhAwJqEpYTsrQ4%3D&proId=2201-440106-04-01-829828-2001&proIdtoken=202212060821"></iframe></div>
<div class="right">
<iframe
src="https://fjvsaps.jqmkj.com:20020/api/main/index?ak=ZJ4J0001&ts=1670286176897&token=%2BpldKJhzmMj5GUhAwJqEpYTsrQ4%3D&proId=2201-440106-04-01-829828-2001&proIdtoken=202212060821"
></iframe>
</div>
</div>
<div class="bottom" v-if="currentIndex == 0">
<div class="list progress">
<vue-scroll :ops="ops">
<div class="list progress" >
<div
:ops="ops"
class="list-item progress-item"
v-for="(item, index) in stageList"
:key="index"
>
<div
:class="[
'progress-item-dot',
{ active: projectData.constructionStage - 1 >= index },
]"
></div>
<div class="partingLine">
............
</div>
<img
:src="
item.status == 0
? require('@/assets/images/zjsj/doing.png')
: item.status == 1
? require('@/assets/images/zjsj/doing.png')
: require('@/assets/images/zjsj/ed.png')
"
/>
<div class="info">
<span class="label" >{{ item.name }}</span>
<span class="label" style="font-size:16px">{{ item.taskName }}</span>
<span class="label" style="font-size:12px">{{ item.startDate }}</span>
</div>
</div>
</div>
</vue-scroll>
</div>
</div>
</template>
<script>
// import { listProgressOfTheTask } from "@/assets/js/api/zhongjianFourth";
import {
// listProgressOfTheTask,
getProgressTaskParentListApi,
} from "@/assets/js/api/zhongjianFourth";
import { getProjectDetail } from "@/assets/js/api/baseInfo.js";
import TopRight from "./topRight.vue";
import UAV from './uav.vue'
// import LeftOne from "./leftOne.vue";
// import LeftTwo from "./leftTwo.vue";
// import LeftThree from "./leftThree.vue";
import { mapState } from "vuex";
import { resizeFn } from '../../../../components/videoModule/isc_plugin/video_isc_plugin';
export default {
components: { TopRight,
components: {
TopRight,
UAV,
// LeftOne, LeftTwo, LeftThree
},
},
data() {
return {
projectData: {
@ -84,7 +104,8 @@ export default {
},
//
numberOfCompleted: 2,
stageList: this.$t("message.companyDiagram.CONSTRUCTIONSTAGE"),
// stageList: this.$t("message.companyDiagram.CONSTRUCTIONSTAGE"),
stageList: [], //,
//
options: [],
firstValue: undefined,
@ -99,26 +120,45 @@ export default {
},
created() {
this.getDataDateils();
this.getListProgressData()
},
computed: {
...mapState(["projectSn"]),
},
methods: {
change(val) {
// console.log("", val);
this.currentIndex = val;
},
getDataDateils() {
let data = { projectSn: this.$store.state.projectSn };
getProjectDetail(data).then((res) => {
if (res.code == 200) {
console.log("查询进度", res);
// console.log("", res);
this.projectData = res.result;
}
});
},
//
getListProgressData(){
getProgressTaskParentListApi({
projectSn:this.$store.state.projectSn
}).then(res=>{
this.stageList=res.result
this.stageList[this.stageList.length-1].startDate = "2016-01-01"
this.stageList.sort(function(a, b) {
let obj1 = a['startDate']
let obj2 = b['startDate']
const val1 = Math.floor(new Date(obj1).getTime() / 1000)
const val2 = Math.floor(new Date(obj2).getTime() / 1000)
return val1 - val2
// return val2 - val1
});
console.log('进度数据',res);
})
}
// getList() {
// listProgressOfTheTask({
// projectSn: this.projectSn,
@ -155,6 +195,8 @@ export default {
height: 100%;
margin-top: 20px;
position: relative;
overflow: hidden;
// background: url(../assets/temp/4.png) no-repeat;
// background-size: 100% 100%;
.changeTab {
@ -230,9 +272,7 @@ export default {
.left2 {
width: 100%;
height: 100%;
background: url(../assets/temp/tab6.png) center center;
background-repeat: no-repeat;
background-size: 100%;
color: #fafbfa;
}
@ -281,9 +321,9 @@ export default {
background-repeat: no-repeat;
background-size: 100%;
color: #fafbfa;
iframe{
iframe {
width: 100%;
height: 100%;
height: 100%;
}
}
}
@ -309,6 +349,7 @@ export default {
color: #fff;
display: grid;
place-items: center;
margin-left: 20px;
// overflow: scroll;
// display: flex;
@ -328,6 +369,7 @@ export default {
align-items: center;
width: 125px;
color: #fff;
margin: 0 20px 0 40px;
.progress-item-dot {
width: 10px;
height: 10px;
@ -369,6 +411,7 @@ export default {
align-items: center;
margin-top: 10px;
height: 60px;
margin-left: -125px;
.label {
margin-bottom: 20px;
}
@ -385,6 +428,15 @@ export default {
.progress-item:nth-child(7) {
width: 135px;
}
.partingLine{
margin:0 0 0 65px;
}
img{
width: 40px;
height: 50px;
margin: -30px 0 0px -121px;
}
}
}
</style>

View File

@ -7,14 +7,19 @@
<div class="list" style="position: relative;">
<vue-scroll v-if="todoList.length">
<div class="list-item" v-for="(item, i) in todoList" :key="i">
<div class="todo">{{ item.subitemProjectName }}</div>
<div class="delay orange">
<span class="delayDiv" style="display:inline-block;margin-top:20px">已延期 {{ Number(item.day) }} </span>
</div>
<div class="todo">{{ item.taskName }}</div>
<el-progress :percentage="item.progressRatio"></el-progress>
<div class="startTime">
<span class="grey">计划开始时间</span><span class="blue">{{ item.startTime }}</span>
<img style="width:16px;height:16px" src="~@/assets/images/zjsj/dateIcon.png" alt="">
<span class="grey">计划开始时间</span><span class="blue">{{ item.startDate }}</span>
</div>
<div class="endTime">
<span class="grey">计划结束时间</span><span class="blue">{{ item.endTime }}</span>
<img style="width:16px;height:16px" src="~@/assets/images/zjsj/dateIcon.png" alt="">
<span class="grey">计划结束时间</span><span class="blue">{{ item.finishDate }}</span>
</div>
<div class="delay orange" v-if="item.deferreddays > 0">已延期 {{ item.deferreddays }} </div>
</div>
</vue-scroll>
<div v-else class="empty" style="position: absolute;left: 50%;top: 50%;transform: translate(-50%, -50%);">
@ -26,7 +31,7 @@
</template>
<script>
// import { listProgressOfTheTask } from '@/assets/js/api/zhongjianFourth'
import { getLastSevenDaysApi } from '@/assets/js/api/zhongjianFourth'
import { mapState } from 'vuex'
import Card from '../components/Card.vue'
@ -37,42 +42,37 @@ export default {
// tab
activeTab: 0,
//
todoList: [
{subitemProjectName:"1#楼10层墙体钢筋捆扎",startTime:"2022-01-26",endTime:"2022-01-26",deferreddays:"3"},
{subitemProjectName:"1#楼10层墙体钢筋捆扎",startTime:"2022-01-26",endTime:"2022-01-26",deferreddays:"3"},
{subitemProjectName:"1#楼10层墙体钢筋捆扎",startTime:"2022-01-26",endTime:"2022-01-26",deferreddays:"3"},
{subitemProjectName:"1#楼10层墙体钢筋捆扎",startTime:"2022-01-26",endTime:"2022-01-26",deferreddays:"3"},
{subitemProjectName:"1#楼10层墙体钢筋捆扎",startTime:"2022-01-26",endTime:"2022-01-26",deferreddays:"3"},
],
// todoList: [
// {subitemProjectName:"1#10",startTime:"2022-01-26",endTime:"2022-01-26",deferreddays:"3"},
// {subitemProjectName:"1#10",startTime:"2022-01-26",endTime:"2022-01-26",deferreddays:"3"},
// {subitemProjectName:"1#10",startTime:"2022-01-26",endTime:"2022-01-26",deferreddays:"3"},
// {subitemProjectName:"1#10",startTime:"2022-01-26",endTime:"2022-01-26",deferreddays:"3"},
// {subitemProjectName:"1#10",startTime:"2022-01-26",endTime:"2022-01-26",deferreddays:"3"},
// ],
todoList: [],
}
},
created() {
// this.getList()
this.getLastSevenDaysData()
},
computed: {
...mapState(['projectSn'])
},
methods: {
/** 查询待办事项列表 */
// getList() {
// if (this.activeTab == 0) {
// listProgressOfTheTask({ projectSn: this.projectSn, state: 1 }).then(res => {
// console.log(': ', res);
// this.todoList = res.result;
// })
// } else {
// listProgressOfTheTask({ projectSn: this.projectSn, state: 0 }).then(res => {
// console.log(': ', res);
// this.todoList = res.result;
// })
// }
// },
/** tab点击事件 */
// handleTabClick(index) {
// if (this.activeTab == index) return
// this.activeTab = index;
// this.getList()
// },
//
getLastSevenDaysData(){
getLastSevenDaysApi({
projectSn:this.$store.state.projectSn
}).then(res=>{
this.todoList=res.result
console.log('进度任务列表数据',this.todoList);
})
},
format(percentage) {
return percentage === 100 ? '满' : `${percentage}%`;
}
},
}
</script>
@ -93,11 +93,15 @@ export default {
}
}
.list {
padding-top: 50px;
padding-left: 25px;
height: calc(100% - 40px);
padding-top: 20px;
// padding-left: 25px;
height: calc(100% - 17px);
color: #fff;
.list-item {
width: 400px;
height: 220px;
background: url('~@/assets/images/zjsj/frameBG.png')no-repeat;
background-size: 88% 100%;
font-size: 16px;
.todo{
font-size: 24px;
@ -110,14 +114,36 @@ export default {
}
div {
&:not(:first-child) {
margin-top: 6px;
margin-top: 15px;
margin-left: 20px;
}
}
}
}
}
.delayDiv{
width: 120px;
height: 30px;
line-height: 30px;
background: url('~@/assets/images/zjsj/framBG2.png')no-repeat;
background-size: 100% 100%;
font-size: 14px;
margin-left: 20px;
text-align: center;
}
}
::v-deep .el-progress-bar{
width: 88%;
}
::v-deep .el-progress__text {
color: #fff;
}
::v-deep .el-progress-bar__inner {
background-color: #5CE2F6
}
.grey {
color: #FFFFFF ;
color: #ccc ;
margin-left: 10px;
font-weight: normal;
}
.blue {
color: #66D4D9 ;
@ -125,4 +151,5 @@ export default {
.orange {
color: #F56C35;
}
</style>

View File

@ -0,0 +1,130 @@
<template>
<div class="monitor">
<div class="listLeft">
<el-date-picker v-model="value1" type="date" placeholder="请选择日期">
</el-date-picker>
<vue-scroll>
<div class="list-item" v-for="(item,index) in list" :key="index">
<div class="areaName"><span>{{item.name}}</span></div>
<div class="date">
<span>拍摄时间</span><span>{{item.date}}</span>
</div>
</div>
</vue-scroll>
</div>
<div class="mpRight"></div>
</div>
</template>
<script>
import { getUavVideoApi } from '@/assets/js/api/zhongjianFourth'
export default {
data() {
return {
value1: "",
list:[
{
name:'中建科创大厦121401',
date:"2022-12-05 11:24:20"
},
{
name:'中建科创大厦121401',
date:"2022-12-05 11:24:20"
},
{
name:'中建科创大厦121401',
date:"2022-12-05 11:24:20"
},
{
name:'中建科创大厦121401',
date:"2022-12-05 11:24:20"
},
{
name:'中建科创大厦121401',
date:"2022-12-05 11:24:20"
},
{
name:'中建科创大厦121401',
date:"2022-12-05 11:24:20"
},
{
name:'中建科创大厦121401',
date:"2022-12-05 11:24:20"
},
{
name:'中建科创大厦121401',
date:"2022-12-05 11:24:20"
},
{
name:'中建科创大厦121401',
date:"2022-12-05 11:24:20"
},
{
name:'中建科创大厦121401',
date:"2022-12-05 11:24:20"
},
{
name:'中建科创大厦121401',
date:"2022-12-05 11:24:20"
},
{
name:'中建科创大厦121401',
date:"2022-12-05 11:24:20"
},
]
};
},
};
</script>
<style lang="less" scoped>
.monitor {
width: 100%;
height: 100%;
display: flex;
justify-content: space-between;
.listLeft {
width: 15%;
height: 100%;
.list-item {
width: 300px;
height: 120px;
background: url("~@/assets/images/zjsj/frameBG.png") no-repeat;
background-size: 90% 100%;
font-size: 16px;
margin-top: 20px;
.areaName {
font-size: 20px;
span{
display: inline-block;
margin: 25px 0 0 30px }
}
.date {
font-size: 12px;
margin: 30px 0 0 30px;
}
}
}
.mpRight {
width: 84%;
height: 96%;
background: url(../assets/temp/tab6.png) center center;
background-repeat: no-repeat;
background-size: 100%;
}
}
::v-deep .el-date-editor.el-input,
.el-date-editor.el-input__inner {
width: 275px;
}
::v-deep .el-input__inner {
background: transparent !important ;
border: 1px solid #66d3d8 !important;
}
::v-deep .el-input__icon {
line-height: 30px;
color: #66d3d8;
}
</style>

View File

@ -358,7 +358,6 @@ export default {
console.log("删除任务后触发,", id);
deleteTaskAlarmApi({ id: id }).then((res) => {
console.log("添加的数据", res);
gantt.parse(this.$props.tasks);
this_.getParentChildList();
});
});
@ -411,6 +410,7 @@ export default {
//
changeTask() {
// return
console.log("开始数据整理")
const taskCount = gantt.getTaskCount();
let taskData = [];
let openTask = [];
@ -418,8 +418,8 @@ export default {
let taskOne = {};
const obj = gantt.getTaskByIndex(i);
console.log("整理数据的 ", obj);
console.log("整理数据的 大小", taskCount);
if (obj == null) {
console.log("整理数据的 大小", typeof(obj.id));
if (obj == null || typeof(obj.id) === "number") {
continue;
}
taskOne.taskName = obj.taskName;
@ -460,7 +460,8 @@ export default {
taskOne.description = obj.remark;
taskOne.predecessorIds = obj.predecessorIds;
taskOne.parent = obj.parent;
taskOne.color = "#3db9d3";
// 0 ,12
taskOne.color = obj.status === 0 ? "#ccc" : obj.status === 1 ? "yellow" : "green";
taskOne.status = obj.status + 1;
taskOne.taskTypeId = obj.taskTypeId + 1;
@ -470,7 +471,6 @@ export default {
taskData.push(taskOne);
}
this.$props.tasks.data = taskData;
console.log(this.$props.tasks);
//
gantt.clearAll();
//
@ -482,11 +482,16 @@ export default {
},
//
getParentChildList() {
this.tasks.data = []
getParentChildListApi({ projectSn: this.projectSn }).then((res) => {
this.check(res.result);
this.dataList = res.result;
console.log("甘特图列表数据", this.tasks.data);
console.log(" this.dataList", this.dataList);
console.log(" this.$props.tasks", this.$props.tasks);
this.$props.tasks.data = this.tasks.data
console.log(" this.$props.tasks 赋值后", this.$props.tasks);
gantt.parse(this.$props.tasks);
this.changeTask();