This commit is contained in:
chengdandan 2023-03-24 17:09:54 +08:00
commit dc2fb8cc7e
34 changed files with 1241 additions and 1236 deletions

View File

@ -88,64 +88,3 @@ export const getCompleteMonthStatus = (params) => {
{params},
)
};
export function filterCompanyAPI (params) {
return request({
url: '/rcm/company-credit/filterCompany',
method: 'post',
data: params
})
}
export function normalScanAPI (params) {
return request({
url: '/rcm/company-credit/report',
method: 'post',
data: params
})
}
export function deepScanAPI (params) {
return request({
url: '/rcm/company-credit/deepAuthUrl',
method: 'post',
data: params
})
}
export function reportDetailAPI (params) {
return request({
url: `/rcm/company-credit/detail?requestId=${params.id}`,
method: 'get',
data: params,
headers: {
'Content-Type': 'application/json;charset=UTF-8'
}
})
}
export function deepReportAPI (params) {
return request({
url: `/rcm/company-credit/deep-report`,
method: 'post',
data: params,
headers: {
'Content-Type': 'application/json;charset=UTF-8'
}
})
}
export function taxInfoAPI (params) {
return request({
url: `/rcm/company-credit/taxInfo`,
method: 'post',
data: params
})
}
export function saveScoreAPI (params) {
return request({
url: `/rcm/company-credit/updateScore`,
method: 'post',
data: params
})
}

View File

@ -26,4 +26,16 @@ export const getUserGroup = (params) => {
{params},
)
};
//施工人员组成
export const getGroupCensus = (params) => {
return axios.get('api/ems-third-party-service/user/groupCensus',
{params},
)
};
//考勤监控
export const getAttend = (params) => {
return axios.get('api/ems-third-party-service/user/attend',
{params},
)
};

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

BIN
src/assets/weather/gale.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

BIN
src/assets/weather/hail.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

BIN
src/assets/weather/moon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

BIN
src/assets/weather/rain.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

BIN
src/assets/weather/sand.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

BIN
src/assets/weather/smog.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

BIN
src/assets/weather/snow.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 621 B

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@ -1,7 +1,7 @@
<template>
<div style="width:100%;height:100%;">
<div ref="chart" style="width:100%;height:100%;"></div>
<div class="boxPeople aa">
<!-- <div class="boxPeople aa">
<div class="name" style="color: #fcecb8;">架子工</div>
<div class="nucm" style="color: #eadfb4;">33<span
style=" font-size: 18px; font-weight: 400;color: #fcecb8;">%</span></div>
@ -20,7 +20,7 @@
<div class="name" style="color: #53E3FF">项目监理组</div>
<div class="nucm" style="color: #d9def4;">40<span style=" font-size: 18px; font-weight: 400;color:#d9def4">%</span>
</div>
</div>
</div> -->
</div>
</template>
<script>
@ -39,7 +39,10 @@ export default {
return ['#00A572', '#007EC1', '#DA9300', '#878787']
}
},
constructionPersonnel:{
type: Array,
default:null
}
},
components: {
@ -49,61 +52,30 @@ export default {
return {}
},
mounted() {
this.initCharts(window.innerHeight)
},
watch: {
// Echarts
chartData: {
// // Echarts
// chartData: {
// deep: true,
// handler() {
// this.resetOption()
// }
// },
constructionPersonnel:{
deep: true,
handler() {
this.resetOption()
handler(newVal) {
this.initCharts(newVal)
}
}
},
methods: {
initCharts() {
initCharts(dataList) {
let myChart = this.$echarts.init(this.$refs.chart)
var val1data2 = [{
value: 33,
name: '电工',
itemStyle: { //
normal: {
borderWidth: 2,
borderColor: '#52FFC1'
}
},
},
{
value: 13,
name: '项目监理组',
itemStyle: { //
normal: {
borderWidth: 2,
borderColor: '#B6F9FF'
}
},
},
{
value: 14,
name: '土建专工',
itemStyle: { //
normal: {
borderWidth: 2,
borderColor: '#DCD6FF'
}
},
},
{
value: 43,
name: '架子工',
itemStyle: { //
normal: {
borderWidth: 2,
borderColor: '#FFF6DA'
}
},
}
]
var val1data2 = []
val1data2 = Object.keys(dataList).map((item,index)=>{
return {name:dataList[item].post,value:dataList[item].percent}
})
var arr = ['middleLost', 0.6, val1data2, '今日完成进度']
//
myChart.setOption({
@ -116,30 +88,37 @@ export default {
height:120
},
left: '162',//
top: '109' //
top: '104' //
}]
},
series: [
// ['48%', '60%']
{
type: 'pie',
radius: this.picIsShow ? ['51%', '63%'] : ['60%', '60%'],
center: ['50%', '170'],
radius: this.picIsShow ? ['48%', '60%'] : ['57%', '57%'],
center: ['50%', '55%'],
color: this.colorList,
hoverAnimation: true, /// /
label: {
show: false,
formatter: '{b}{c}%',
show: true,
formatter: '{b}{c}%',
padding:[0,10,0,50],
itemStyle: { //
normal: {
borderWidth: 2,
borderColor: '#52FFC1'
}
},
rich: {
d: {
color: '#fff',
fontSize: 16,
fontSize: 20,
lineHeight: 24,
height: 24
},
c: {
color: "red",
fontSize: 14,
fontSize: 20,
lineHeight: 20,
align: 'left',
}

View File

@ -5,7 +5,7 @@
<span>{{totalPer}}</span>
<span></span>
</div>
<div ref="chart" style="width:100%;height:100%;"></div>
<div ref="chart" style="width:100%;height:100%;position: relative;left: 53%;"></div>
<div class="jsBox">
<div class="bogJs" v-for="(item, i) in pieData" :key="i">
<div class="jsChild">
@ -219,7 +219,7 @@ export default {
},
]
});
//
myChart.dispatchAction({ type: 'highlight', seriesIndex: [0, 1, 2], dataIndex: 0 });
},
@ -232,7 +232,8 @@ export default {
.allTotle {
position: absolute;
bottom: 69px;
left: 60px;
left: 87%;
width: 50%;
div {
font-size: 14px;
font-weight: 500;

View File

@ -1,7 +1,7 @@
<template>
<div class="hotelApply wl-gantt">
<el-table
height="520"
height="600"
:data="tableData"
class="tableListValue"
:row-class-name="tableRowClassName"
@ -12,26 +12,29 @@
:cell-style="cellStyle"
>
<el-table-column
prop="room"
prop="name"
label="任务名称"
align="center"
width="140px"
fixed
:show-overflow-tooltip="true"
>
</el-table-column>
<el-table-column
prop="beginTime"
prop="startDate"
label="开始时间"
align="center"
width="120px"
fixed
:show-overflow-tooltip="true"
>
</el-table-column>
<el-table-column
prop="endTime"
prop="endDate"
label="结束时间"
align="center"
width="120px"
fixed
:show-overflow-tooltip="true"
>
</el-table-column>
@ -75,94 +78,75 @@ import quarterOfYear from "dayjs/plugin/quarterOfYear";
dayjs.extend(quarterOfYear); //
dayjs.extend(isBetween);
export default {
props: {
tableData: {
type: Array,
default: () => {
return []
}
}
},
name: "",
data() {
return {
tableData: [
{
id: 1,
room: "公寓101",
bedName: "1号床",
beginTime: "2021-08-03",
endTime: "2021-08-04",
},
{
id: 2,
room: "公寓101",
bedName: "2号床",
beginTime: "2021-08-04",
endTime: "2021-08-5",
liveList: []
},
{
id: 3,
room: "公寓102",
bedName: "1号床",
beginTime: "2021-08-05",
endTime: "2021-08-7",
liveList: []
},
{
id: 4,
room: "公寓102",
bedName: "2号床",
beginTime: "2021-08-01",
endTime: "2021-08-3",
liveList: []
},
{
id: 5,
room: "公寓103",
bedName: "1号床",
beginTime: "2021-08-06",
endTime: "2021-08-8",
liveList: []
},
{
id: 6,
room: "公寓103",
bedName: "2号床",
beginTime: "2021-08-7",
endTime: "2021-08-9",
liveList: []
},
// {
// id: 7,
// room: "103",
// bedName: "2",
// beginTime: "2021-08-7",
// endTime: "2021-08-9",
// {
// id: 1,
// name: "101",
// bedName: "1",
// startDate: "2021-08-03",
// endDate: "2021-08-04",
// liveList: []
// },
// {
// id: 8,
// room: "103",
// id: 2,
// name: "101",
// bedName: "2",
// beginTime: "2021-08-7",
// endTime: "2021-08-9",
// startDate: "2021-08-04",
// endDate: "2021-08-5",
// liveList: []
// }, {
// id:9,
// room: "103",
// bedName: "2",
// beginTime: "2021-08-7",
// endTime: "2021-08-9",
// },
// {
// id: 3,
// name: "102",
// bedName: "1",
// startDate: "2021-08-05",
// endDate: "2021-08-7",
// liveList: []
// }, {
// id: 17,
// room: "103",
// },
// {
// id: 4,
// name: "102",
// bedName: "2",
// beginTime: "2021-08-7",
// endTime: "2021-08-9",
// startDate: "2021-08-01",
// endDate: "2021-08-3",
// liveList: []
// },
// {
// id: 5,
// name: "103",
// bedName: "1",
// startDate: "2021-08-06",
// endDate: "2021-08-8",
// liveList: []
// },
// {
// id: 6,
// name: "103",
// bedName: "2",
// startDate: "2021-08-7",
// endDate: "2021-08-9",
// liveList: []
// },
],
showDrawer: false, //
drawerForm: {},
//
self_start_date: "2021-08-01", //
self_end_date: "2021-08-30", //
self_start_date_day: "", //
// self_start_date: "2021-08-01", //
// self_end_date: "2021-08-30", //
self_start_date: "2023-01-01", //
self_end_date: "2023-12-30", //
self_start_date_day: "2023-01-01", //
self_start_date_month: "", //
self_start_date_year: "", //
self_date_type: "monthAndDay" //
@ -203,8 +187,8 @@ export default {
name: "name", //
id: "id", // id
pid: "pid", // pid
startDate: "beginTime", //
endDate: "endTime", //
startDate: "startDate", //
endDate: "endDate", //
realStartDate: "recordBeginTime", //
realEndDate: "recordEndTime", //
identityId: "identityId",
@ -400,16 +384,17 @@ export default {
}
return months;
}
for (let i = start_num; i < end_num; i++) {
//
months.push({
name: `${i}`,
date: i,
full_date: `${year}-${i}`,
id: uuidv4()
});
}
return months;
// for (let i = start_num; i < end_num; i++) {
// //
// months.push({
// name: `${i}`,
// date: i,
// full_date: `${year}-${i}`,
// id: uuidv4()
// });
// }
// return months;
},
/**
* 生成日期函数
@ -421,48 +406,55 @@ export default {
generationDays(year, month, isLeap = false, week = false) {
let big_month = [1, 3, 5, 7, 8, 10, 12].includes(month);
let small_month = [4, 6, 9, 11].includes(month);
let dates_num = big_month ? 32 : small_month ? 31 : isLeap ? 30 : 29;
// let dates_num = big_month ? 32 : small_month ? 31 : isLeap ? 30 : 29;
// let days = [];
// if (week) {
// let _day = 1; //
// let _start_day_inweek = this.timeInWeek(`${year}-${month}-1`);
// if (_start_day_inweek !== 0) {
// _day = 8 - _start_day_inweek;
// }
// for (let i = _day; i < dates_num; i += 7) {
// days.push({
// date: i,
// name: `${month}${i}`,
// id: uuidv4(),
// full_date: `${year}-${month}-${i}`
// });
// }
// } else {
// //
// if (
// year == this.self_start_date_year &&
// month == this.self_start_date_month
// ) {
// for (let i = this.self_start_date_day; i < dates_num; i++) {
// days.push({
// date: i,
// name: `${month}${i}`,
// id: uuidv4(),
// full_date: `${year}-${month}-${i}`
// });
// }
// //
// } else {
// for (let i = 1; i < dates_num; i++) {
// days.push({
// date: i,
// name: `${month}${i}`,
// id: uuidv4(),
// full_date: `${year}-${month}-${i}`
// });
// }
// }
// }
let days = [];
if (week) {
let _day = 1; //
let _start_day_inweek = this.timeInWeek(`${year}-${month}-1`);
if (_start_day_inweek !== 0) {
_day = 8 - _start_day_inweek;
}
for (let i = _day; i < dates_num; i += 7) {
days.push({
date: i,
name: `${i}`,
days.push({
date: month,
name: `${month}`,
id: uuidv4(),
full_date: `${year}-${month}-${i}`
full_date: `${year}-${month}`
});
}
} else {
//
if (
year == this.self_start_date_year &&
month == this.self_start_date_month
) {
for (let i = this.self_start_date_day; i < dates_num; i++) {
days.push({
date: i,
name: `${i}`,
id: uuidv4(),
full_date: `${year}-${month}-${i}`
});
}
//
} else {
for (let i = 1; i < dates_num; i++) {
days.push({
date: i,
name: `${i}`,
id: uuidv4(),
full_date: `${year}-${month}-${i}`
});
}
}
}
return days;
},
/**
@ -780,7 +772,7 @@ $gantt_item_half: 4px;
}
.tableListValue{
width: 19vw;
margin-left: 0.8vh;
// margin-left: 0.8vh;
//
::-webkit-scrollbar {
width: 1.1vh;
@ -797,7 +789,9 @@ $gantt_item_half: 4px;
}
}
.el-table__body tr.hover-row.current-row>td.el-table__cell, .el-table__body tr.hover-row.el-table__row--striped.current-row>td.el-table__cell, .el-table__body tr.hover-row.el-table__row--striped>td.el-table__cell, .el-table__body tr.hover-row>td.el-table__cell {
background-color: #2f807d!important;
}
.el-table {
&.el-table--scrollable-y ::-webkit-scrollbar {
display: none !important; //

View File

@ -17,7 +17,7 @@
</div>
<div class="titRight">
<span>{{dateNew}}&nbsp;{{getWeek}}&nbsp;{{time}}</span>
<span></span>
<span><img :src='weatherImg' alt="" style="width:100%;height:100%"></span>
<span>&nbsp;&nbsp;天气&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
<span>{{weatherItem.weather}} &nbsp;{{weatherItem.temperature}}</span>
</div>
@ -111,6 +111,7 @@ export default {
},
data() {
return {
weatherImg:require("@/assets/pic/sun.png"),
//
indexShow:true,
//
@ -403,8 +404,14 @@ export default {
}).then(res => {
console.log(res.data,'=======================');
this.weatherItem = res.data.lives[0];
this.weatherImg = changeWeatherImg(res.data.lives[0].weather)
});
} ,
},
changeWeatherImg(weather){
if(weather=='雾'){
return require("@/assets/weather/sun.png")
}
},
changeMessage(val) {
this.tienum = val
},

View File

@ -55,49 +55,55 @@
<!-- :style="{ bottom: boxNone ? '166px' : '0' }" -->
<div :class="[boxNone ? 'centerBottom' : 'centerBottom2']">
<el-scrollbar>
<div class="centerBottom3">
<div class="boxChild" v-for="item in boxList">
<div>{{ item.c1 }}</div>
<div>{{ item.c2 }}</div>
<div
v-if="item.c4 === '未开始'"
:style="{
'background-image': `url(${require(`../assets/pic/delay.png`)}`,
}"
></div>
<!-- <div v-else-if="item.c1 === '完工'" :style="{ 'background-image': `url(${require(`../assets/pic/no.png`)}` }">
<el-scrollbar>
<div class="centerBottom3">
<div class="boxChild" v-for="item in boxList">
<div>{{ item.c1 }}</div>
<div>{{ item.c2 }}</div>
<div
v-if="item.c4 === '未开始'"
:style="{
'background-image': `url(${require(`../assets/pic/delay.png`)}`,
}"
></div>
<!-- <div v-else-if="item.c1 === '完工'" :style="{ 'background-image': `url(${require(`../assets/pic/no.png`)}` }">
</div> -->
<div
v-if="item.c4 === '实施中'"
:style="{
'background-image': `url(${require(`../assets/pic/no.png`)}`,
}"
></div>
<!-- <div v-eles :style="{ 'background-image': `url(${require(`../assets/pic/finish.png`)}` }"></div> -->
<div
:style="{
'background-image': `url(${require(`../assets/pic/finish.png`)}`,
}"
></div>
<div>{{ item.c3 }}</div>
<div
:style="{
color:
item.c4 == '逾期中' || item.c4 == '逾期完成'
? '#FFA700'
: '#00FFF6',
}"
>
{{ item.c4 }}
<div
v-if="item.c4 === '实施中'"
:style="{
'background-image': `url(${require(`../assets/pic/no.png`)}`,
}"
></div>
<!-- <div v-eles :style="{ 'background-image': `url(${require(`../assets/pic/finish.png`)}` }"></div> -->
<div
:style="{
'background-image': `url(${require(`../assets/pic/finish.png`)}`,
}"
></div>
<div>{{ item.c3 }}</div>
<div
:style="{
color:
item.c4 == '逾期中' || item.c4 == '逾期完成'
? '#FFA700'
: '#00FFF6',
}"
>
{{ item.c4 }}
</div>
</div>
<div class="lineBox" :style="'width:' + jinduList * 20 + '%;'">
<el-progress
:text-inside="true"
status="success"
:show-text="false"
:stroke-width="9"
:percentage="progress"
style="z-index: 10"
></el-progress>
</div>
</div>
<div class="lineBox">
<!-- <el-progress :text-inside="true" status="success" :stroke-width="9" :percentage="70" style="z-index:10"></el-progress> -->
</div>
</div>
</el-scrollbar>
</div>
<!-- 左侧模块1 -->
@ -357,6 +363,8 @@ export default {
},
data() {
return {
jinduList:0, //
progress:0, //
securityCheck: [], //
introduction: "", //
projectId: "", //Id
@ -671,6 +679,18 @@ export default {
getProjectStatus({
projectId: this.projectId,
}).then((res) => {
this.jinduList = res.data.data.length
for(var i = 0; i < res.data.data.length; i++){
if (res.data.data[i].completionStatusValue == '正常完成') {
if (i==0) {
this.progress = (i + 1) * 5
}else if (i+1 >= this.jinduList) {
this.progress = 95
}else{
this.progress = (i + 1) * 12.5
}
}
}
this.boxList = Object.keys(res.data.data).map((item, index) => {
if (res.data.data[item].planEndTime != null) {
res.data.data[item].planEndTime = res.data.data[
@ -943,32 +963,33 @@ export default {
bottom: 164px;
}
}
.centerBottom3{
.centerBottom3 {
width: 100%;
height: 100%;
// display: flex;
z-index: 999;
position: relative;
display: -webkit-box;
::-webkit-scrollbar {
display: none;
}
}
.lineBox {
width: 810px;
// width: 100%;
height: 9px;
// background: #ffffff;
// border-radius: 5px;
// opacity: 0.5;
position: absolute;
top: 80px;
left: 20px;
// left: 20px;
z-index: 10 !important;
}
.boxChild {
// margin-left: 70px;
text-align: center;
width: 140px !important;
width: 20% !important;
height: 100%;
z-index: 999 !important;
// display: inline;
@ -1693,10 +1714,10 @@ export default {
/* element滚动条组件 隐藏水平滚动条 */
/deep/.el-scrollbar__thumb {
//
background: greenyellow;//,
background: rgb(55,142,136); //,
}
/deep/ .el-scrollbar__wrap{
margin-bottom:10px !important
/deep/ .el-scrollbar__wrap {
margin-bottom: 10px !important;
}
</style>
<style>

File diff suppressed because it is too large Load Diff

View File

@ -164,8 +164,8 @@
<span>计划进度</span>
</div>
<div class="tabGtBox">
<!-- <tabGtt></tabGtt> -->
<div class="ggtHeader">
<TabGtt :tableData="tableData" ></TabGtt>
<!-- <div class="ggtHeader">
<div style="margin-left: 18px;">
任务名称
</div>
@ -257,7 +257,7 @@
<span>2011-11-22</span>
<span style="left: 790px;width:18;"></span>
</div>
</div>
</div> -->
</div>
</div>
@ -277,7 +277,7 @@ import lineBar from "@/components/common/lineBarChart";
import pieChartUnImg from "@/components/common/pieChartUnImg";
import pieDateChart from "@/components/common/pieDateChart";
import Resize from '../utils/Resize.vue'
import tabGtt from '@/components/common/tableGantt'
import TabGtt from '@/components/common/tableGantt'
import {getProjectInfo,getProjectDuration,getProjectInvestment,getPlanProgress,getActualProgress,getCompleteMonthStatus} from "@/api/api";
export default {
@ -287,7 +287,7 @@ export default {
lineBar,
pieDateChart,
Resize,
tabGtt
TabGtt
},
data() {
return {
@ -626,7 +626,8 @@ export default {
.tabGtBox {
position: absolute;
top: 50px;
width: 96%;
left: 20px;
.ggtHeader {
width: 820px;
height: 60px;

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

View File

@ -1,5 +1,5 @@
body { padding: 0; margin: 0 }
#unity-container { position: absolute;width: 1920px;height: 1080px; }
#unity-container { position: absolute }
#unity-container.unity-desktop { left: 50%; top: 50%; transform: translate(-50%, -50%) }
#unity-container.unity-mobile { width: 100%; height: 100% }
#unity-canvas { background: #231F20 }

View File

@ -8,7 +8,7 @@
<link rel="stylesheet" href="TemplateData/style.css">
</head>
<body>
<div id="unity-container" class="unity-desktop">
<div id="unity-container" style="height: 100%;" class="unity-desktop">
<canvas id="unity-canvas" ></canvas>
<div id="unity-loading-bar">
<div id="unity-logo"></div>
@ -18,9 +18,9 @@
</div>
<div id="unity-warning"> </div>
<div id="unity-footer">
<div id="unity-webgl-logo"></div>
<!-- <div id="unity-webgl-logo"></div>
<div id="unity-fullscreen-button"></div>
<div id="unity-build-title">MqttTest</div>
<div id="unity-build-title">MqttTest</div> -->
</div>
</div>
<script>
@ -109,14 +109,26 @@
createUnityInstance(canvas, config, (progress) => {
progressBarFull.style.width = 100 * progress + "%";
}).then((unityInstance) => {
unity = unityInstance
loadingBar.style.display = "none";
fullscreenButton.onclick = () => {
unityInstance.SetFullscreen(1);
};
// fullscreenButton.onclick = () => {
// unityInstance.SetFullscreen(1);
// };
}).catch((message) => {
alert(message);
});
};
function fullScreen(){
if(unity!=null){
unity.SendMessage("GameManager",'FullScreen');
}
}
function exitFullScreen(){
if(unity!=null){
unity.SendMessage("GameManager",'ExitFullScreen');
}
}
document.body.appendChild(script);
</script>
</body>