20230324
|
|
@ -88,64 +88,3 @@ export const getCompleteMonthStatus = (params) => {
|
||||||
{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
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
|
||||||
|
|
@ -26,4 +26,16 @@ export const getUserGroup = (params) => {
|
||||||
{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},
|
||||||
|
)
|
||||||
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 1.8 KiB |
|
After Width: | Height: | Size: 1.7 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 1.7 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 621 B After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
|
@ -1,7 +1,7 @@
|
||||||
<template>
|
<template>
|
||||||
<div style="width:100%;height:100%;">
|
<div style="width:100%;height:100%;">
|
||||||
<div ref="chart" style="width:100%;height:100%;"></div>
|
<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="name" style="color: #fcecb8;">架子工</div>
|
||||||
<div class="nucm" style="color: #eadfb4;">33<span
|
<div class="nucm" style="color: #eadfb4;">33<span
|
||||||
style=" font-size: 18px; font-weight: 400;color: #fcecb8;">%</span></div>
|
style=" font-size: 18px; font-weight: 400;color: #fcecb8;">%</span></div>
|
||||||
|
|
@ -20,7 +20,7 @@
|
||||||
<div class="name" style="color: #53E3FF">项目监理组</div>
|
<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 class="nucm" style="color: #d9def4;">40<span style=" font-size: 18px; font-weight: 400;color:#d9def4">%</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div> -->
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
|
|
@ -39,7 +39,10 @@ export default {
|
||||||
return ['#00A572', '#007EC1', '#DA9300', '#878787']
|
return ['#00A572', '#007EC1', '#DA9300', '#878787']
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
constructionPersonnel:{
|
||||||
|
type: Array,
|
||||||
|
default:null
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
components: {
|
components: {
|
||||||
|
|
@ -49,61 +52,30 @@ export default {
|
||||||
return {}
|
return {}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
this.initCharts(window.innerHeight)
|
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
// 监听父组件中的数据变化,重新触发Echarts
|
// // 监听父组件中的数据变化,重新触发Echarts
|
||||||
chartData: {
|
// chartData: {
|
||||||
|
// deep: true,
|
||||||
|
// handler() {
|
||||||
|
// this.resetOption()
|
||||||
|
// }
|
||||||
|
// },
|
||||||
|
constructionPersonnel:{
|
||||||
deep: true,
|
deep: true,
|
||||||
handler() {
|
handler(newVal) {
|
||||||
this.resetOption()
|
this.initCharts(newVal)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
initCharts() {
|
initCharts(dataList) {
|
||||||
let myChart = this.$echarts.init(this.$refs.chart)
|
let myChart = this.$echarts.init(this.$refs.chart)
|
||||||
var val1data2 = [{
|
var val1data2 = []
|
||||||
value: 33,
|
val1data2 = Object.keys(dataList).map((item,index)=>{
|
||||||
name: '电工',
|
return {name:dataList[item].post,value:dataList[item].percent}
|
||||||
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 arr = ['middleLost', 0.6, val1data2, '今日完成进度']
|
var arr = ['middleLost', 0.6, val1data2, '今日完成进度']
|
||||||
// 绘制图表
|
// 绘制图表
|
||||||
myChart.setOption({
|
myChart.setOption({
|
||||||
|
|
@ -116,30 +88,37 @@ export default {
|
||||||
height:120
|
height:120
|
||||||
},
|
},
|
||||||
left: '162',//
|
left: '162',//
|
||||||
top: '109' //配置图片居中
|
top: '104' //配置图片居中
|
||||||
}]
|
}]
|
||||||
},
|
},
|
||||||
series: [
|
series: [
|
||||||
// ['48%', '60%']
|
// ['48%', '60%']
|
||||||
{
|
{
|
||||||
type: 'pie',
|
type: 'pie',
|
||||||
radius: this.picIsShow ? ['51%', '63%'] : ['60%', '60%'],
|
radius: this.picIsShow ? ['48%', '60%'] : ['57%', '57%'],
|
||||||
center: ['50%', '170'],
|
center: ['50%', '55%'],
|
||||||
color: this.colorList,
|
color: this.colorList,
|
||||||
hoverAnimation: true, /// /设置饼图默认的展开样式
|
hoverAnimation: true, /// /设置饼图默认的展开样式
|
||||||
label: {
|
label: {
|
||||||
show: false,
|
show: true,
|
||||||
formatter: '{b}{c}%',
|
formatter: '{b}:{c}%',
|
||||||
|
padding:[0,10,0,50],
|
||||||
|
itemStyle: { // 此配置
|
||||||
|
normal: {
|
||||||
|
borderWidth: 2,
|
||||||
|
borderColor: '#52FFC1'
|
||||||
|
}
|
||||||
|
},
|
||||||
rich: {
|
rich: {
|
||||||
d: {
|
d: {
|
||||||
color: '#fff',
|
color: '#fff',
|
||||||
fontSize: 16,
|
fontSize: 20,
|
||||||
lineHeight: 24,
|
lineHeight: 24,
|
||||||
height: 24
|
height: 24
|
||||||
},
|
},
|
||||||
c: {
|
c: {
|
||||||
color: "red",
|
color: "red",
|
||||||
fontSize: 14,
|
fontSize: 20,
|
||||||
lineHeight: 20,
|
lineHeight: 20,
|
||||||
align: 'left',
|
align: 'left',
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@
|
||||||
<span>{{totalPer}}</span>
|
<span>{{totalPer}}</span>
|
||||||
<span>人</span>
|
<span>人</span>
|
||||||
</div>
|
</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="jsBox">
|
||||||
<div class="bogJs" v-for="(item, i) in pieData" :key="i">
|
<div class="bogJs" v-for="(item, i) in pieData" :key="i">
|
||||||
<div class="jsChild">
|
<div class="jsChild">
|
||||||
|
|
@ -219,7 +219,7 @@ export default {
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
});
|
});
|
||||||
|
|
||||||
//默认第一条高亮
|
//默认第一条高亮
|
||||||
myChart.dispatchAction({ type: 'highlight', seriesIndex: [0, 1, 2], dataIndex: 0 });
|
myChart.dispatchAction({ type: 'highlight', seriesIndex: [0, 1, 2], dataIndex: 0 });
|
||||||
},
|
},
|
||||||
|
|
@ -232,7 +232,8 @@ export default {
|
||||||
.allTotle {
|
.allTotle {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
bottom: 69px;
|
bottom: 69px;
|
||||||
left: 60px;
|
left: 87%;
|
||||||
|
width: 50%;
|
||||||
div {
|
div {
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="hotelApply wl-gantt">
|
<div class="hotelApply wl-gantt">
|
||||||
<el-table
|
<el-table
|
||||||
height="520"
|
height="600"
|
||||||
:data="tableData"
|
:data="tableData"
|
||||||
class="tableListValue"
|
class="tableListValue"
|
||||||
:row-class-name="tableRowClassName"
|
:row-class-name="tableRowClassName"
|
||||||
|
|
@ -12,26 +12,29 @@
|
||||||
:cell-style="cellStyle"
|
:cell-style="cellStyle"
|
||||||
>
|
>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="room"
|
prop="name"
|
||||||
label="任务名称"
|
label="任务名称"
|
||||||
align="center"
|
align="center"
|
||||||
width="140px"
|
width="140px"
|
||||||
|
fixed
|
||||||
:show-overflow-tooltip="true"
|
:show-overflow-tooltip="true"
|
||||||
>
|
>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="beginTime"
|
prop="startDate"
|
||||||
label="开始时间"
|
label="开始时间"
|
||||||
align="center"
|
align="center"
|
||||||
width="120px"
|
width="120px"
|
||||||
|
fixed
|
||||||
:show-overflow-tooltip="true"
|
:show-overflow-tooltip="true"
|
||||||
>
|
>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="endTime"
|
prop="endDate"
|
||||||
label="结束时间"
|
label="结束时间"
|
||||||
align="center"
|
align="center"
|
||||||
width="120px"
|
width="120px"
|
||||||
|
fixed
|
||||||
:show-overflow-tooltip="true"
|
:show-overflow-tooltip="true"
|
||||||
>
|
>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
|
@ -75,94 +78,75 @@ import quarterOfYear from "dayjs/plugin/quarterOfYear";
|
||||||
dayjs.extend(quarterOfYear); //获取季度依赖
|
dayjs.extend(quarterOfYear); //获取季度依赖
|
||||||
dayjs.extend(isBetween);
|
dayjs.extend(isBetween);
|
||||||
export default {
|
export default {
|
||||||
|
props: {
|
||||||
|
tableData: {
|
||||||
|
type: Array,
|
||||||
|
default: () => {
|
||||||
|
return []
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
name: "",
|
name: "",
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
tableData: [
|
tableData: [
|
||||||
{
|
// {
|
||||||
id: 1,
|
// id: 1,
|
||||||
room: "公寓101",
|
// name: "公寓101",
|
||||||
bedName: "1号床",
|
// bedName: "1号床",
|
||||||
beginTime: "2021-08-03",
|
// startDate: "2021-08-03",
|
||||||
endTime: "2021-08-04",
|
// endDate: "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",
|
|
||||||
// liveList: []
|
// liveList: []
|
||||||
// },
|
// },
|
||||||
// {
|
// {
|
||||||
// id: 8,
|
// id: 2,
|
||||||
// room: "公寓103",
|
// name: "公寓101",
|
||||||
// bedName: "2号床",
|
// bedName: "2号床",
|
||||||
// beginTime: "2021-08-7",
|
// startDate: "2021-08-04",
|
||||||
// endTime: "2021-08-9",
|
// endDate: "2021-08-5",
|
||||||
// liveList: []
|
// liveList: []
|
||||||
// }, {
|
// },
|
||||||
// id:9,
|
// {
|
||||||
// room: "公寓103",
|
// id: 3,
|
||||||
// bedName: "2号床",
|
// name: "公寓102",
|
||||||
// beginTime: "2021-08-7",
|
// bedName: "1号床",
|
||||||
// endTime: "2021-08-9",
|
// startDate: "2021-08-05",
|
||||||
|
// endDate: "2021-08-7",
|
||||||
// liveList: []
|
// liveList: []
|
||||||
// }, {
|
// },
|
||||||
// id: 17,
|
// {
|
||||||
// room: "公寓103",
|
// id: 4,
|
||||||
|
// name: "公寓102",
|
||||||
// bedName: "2号床",
|
// bedName: "2号床",
|
||||||
// beginTime: "2021-08-7",
|
// startDate: "2021-08-01",
|
||||||
// endTime: "2021-08-9",
|
// 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: []
|
// liveList: []
|
||||||
// },
|
// },
|
||||||
],
|
],
|
||||||
showDrawer: false, //抽屉
|
showDrawer: false, //抽屉
|
||||||
drawerForm: {},
|
drawerForm: {},
|
||||||
// 甘特图
|
// 甘特图
|
||||||
self_start_date: "2021-08-01", // 项目开始时间
|
// self_start_date: "2021-08-01", // 项目开始时间
|
||||||
self_end_date: "2021-08-30", // 项目结束时间
|
// self_end_date: "2021-08-30", // 项目结束时间
|
||||||
self_start_date_day: "", //项目开始时间的日期
|
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_month: "", //项目开始时间的月份
|
||||||
self_start_date_year: "", //项目开始时间的年份
|
self_start_date_year: "", //项目开始时间的年份
|
||||||
self_date_type: "monthAndDay" // 自身日期类型
|
self_date_type: "monthAndDay" // 自身日期类型
|
||||||
|
|
@ -203,8 +187,8 @@ export default {
|
||||||
name: "name", // 任务名称字段
|
name: "name", // 任务名称字段
|
||||||
id: "id", // id字段
|
id: "id", // id字段
|
||||||
pid: "pid", // pid字段
|
pid: "pid", // pid字段
|
||||||
startDate: "beginTime", // 开始时间字段
|
startDate: "startDate", // 开始时间字段
|
||||||
endDate: "endTime", // 结束时间字段
|
endDate: "endDate", // 结束时间字段
|
||||||
realStartDate: "recordBeginTime", // 实际开始时间字段
|
realStartDate: "recordBeginTime", // 实际开始时间字段
|
||||||
realEndDate: "recordEndTime", // 实际结束时间字段
|
realEndDate: "recordEndTime", // 实际结束时间字段
|
||||||
identityId: "identityId",
|
identityId: "identityId",
|
||||||
|
|
@ -400,16 +384,17 @@ export default {
|
||||||
}
|
}
|
||||||
return months;
|
return months;
|
||||||
}
|
}
|
||||||
for (let i = start_num; i < end_num; i++) {
|
// for (let i = start_num; i < end_num; i++) {
|
||||||
// 无需要 日 的模式
|
// // 无需要 日 的模式
|
||||||
months.push({
|
// months.push({
|
||||||
name: `${i}月`,
|
// name: `${i}月`,
|
||||||
date: i,
|
// date: i,
|
||||||
full_date: `${year}-${i}`,
|
// full_date: `${year}-${i}`,
|
||||||
id: uuidv4()
|
// id: uuidv4()
|
||||||
});
|
|
||||||
}
|
// });
|
||||||
return months;
|
// }
|
||||||
|
// return months;
|
||||||
},
|
},
|
||||||
/**
|
/**
|
||||||
* 生成日期函数
|
* 生成日期函数
|
||||||
|
|
@ -421,48 +406,55 @@ export default {
|
||||||
generationDays(year, month, isLeap = false, week = false) {
|
generationDays(year, month, isLeap = false, week = false) {
|
||||||
let big_month = [1, 3, 5, 7, 8, 10, 12].includes(month);
|
let big_month = [1, 3, 5, 7, 8, 10, 12].includes(month);
|
||||||
let small_month = [4, 6, 9, 11].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 = [];
|
let days = [];
|
||||||
if (week) {
|
days.push({
|
||||||
let _day = 1; // 从周日开始
|
date: month,
|
||||||
let _start_day_inweek = this.timeInWeek(`${year}-${month}-1`);
|
name: `${month}月`,
|
||||||
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}日`,
|
|
||||||
id: uuidv4(),
|
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;
|
return days;
|
||||||
},
|
},
|
||||||
/**
|
/**
|
||||||
|
|
@ -780,7 +772,7 @@ $gantt_item_half: 4px;
|
||||||
}
|
}
|
||||||
.tableListValue{
|
.tableListValue{
|
||||||
width: 19vw;
|
width: 19vw;
|
||||||
margin-left: 0.8vh;
|
// margin-left: 0.8vh;
|
||||||
//滚动条的宽高
|
//滚动条的宽高
|
||||||
::-webkit-scrollbar {
|
::-webkit-scrollbar {
|
||||||
width: 1.1vh;
|
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 {
|
||||||
&.el-table--scrollable-y ::-webkit-scrollbar {
|
&.el-table--scrollable-y ::-webkit-scrollbar {
|
||||||
display: none !important; //隐藏滚动条
|
display: none !important; //隐藏滚动条
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,7 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="titRight">
|
<div class="titRight">
|
||||||
<span>{{dateNew}} {{getWeek}} {{time}}</span>
|
<span>{{dateNew}} {{getWeek}} {{time}}</span>
|
||||||
<span></span>
|
<span><img :src='weatherImg' alt="" style="width:100%;height:100%"></span>
|
||||||
<span> 天气 </span>
|
<span> 天气 </span>
|
||||||
<span>{{weatherItem.weather}} {{weatherItem.temperature}}℃</span>
|
<span>{{weatherItem.weather}} {{weatherItem.temperature}}℃</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -111,6 +111,7 @@ export default {
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
weatherImg:require("@/assets/pic/sun.png"),
|
||||||
//显示首页
|
//显示首页
|
||||||
indexShow:true,
|
indexShow:true,
|
||||||
//人员管理
|
//人员管理
|
||||||
|
|
@ -403,8 +404,14 @@ export default {
|
||||||
}).then(res => {
|
}).then(res => {
|
||||||
console.log(res.data,'=======================');
|
console.log(res.data,'=======================');
|
||||||
this.weatherItem = res.data.lives[0];
|
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) {
|
changeMessage(val) {
|
||||||
this.tienum = val
|
this.tienum = val
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -55,49 +55,55 @@
|
||||||
<!-- :style="{ bottom: boxNone ? '166px' : '0' }" -->
|
<!-- :style="{ bottom: boxNone ? '166px' : '0' }" -->
|
||||||
|
|
||||||
<div :class="[boxNone ? 'centerBottom' : 'centerBottom2']">
|
<div :class="[boxNone ? 'centerBottom' : 'centerBottom2']">
|
||||||
<el-scrollbar>
|
<el-scrollbar>
|
||||||
<div class="centerBottom3">
|
<div class="centerBottom3">
|
||||||
<div class="boxChild" v-for="item in boxList">
|
<div class="boxChild" v-for="item in boxList">
|
||||||
<div>{{ item.c1 }}</div>
|
<div>{{ item.c1 }}</div>
|
||||||
<div>{{ item.c2 }}</div>
|
<div>{{ item.c2 }}</div>
|
||||||
<div
|
<div
|
||||||
v-if="item.c4 === '未开始'"
|
v-if="item.c4 === '未开始'"
|
||||||
:style="{
|
:style="{
|
||||||
'background-image': `url(${require(`../assets/pic/delay.png`)}`,
|
'background-image': `url(${require(`../assets/pic/delay.png`)}`,
|
||||||
}"
|
}"
|
||||||
></div>
|
></div>
|
||||||
<!-- <div v-else-if="item.c1 === '完工'" :style="{ 'background-image': `url(${require(`../assets/pic/no.png`)}` }">
|
<!-- <div v-else-if="item.c1 === '完工'" :style="{ 'background-image': `url(${require(`../assets/pic/no.png`)}` }">
|
||||||
</div> -->
|
</div> -->
|
||||||
<div
|
<div
|
||||||
v-if="item.c4 === '实施中'"
|
v-if="item.c4 === '实施中'"
|
||||||
:style="{
|
:style="{
|
||||||
'background-image': `url(${require(`../assets/pic/no.png`)}`,
|
'background-image': `url(${require(`../assets/pic/no.png`)}`,
|
||||||
}"
|
}"
|
||||||
></div>
|
></div>
|
||||||
<!-- <div v-eles :style="{ 'background-image': `url(${require(`../assets/pic/finish.png`)}` }"></div> -->
|
<!-- <div v-eles :style="{ 'background-image': `url(${require(`../assets/pic/finish.png`)}` }"></div> -->
|
||||||
<div
|
<div
|
||||||
:style="{
|
:style="{
|
||||||
'background-image': `url(${require(`../assets/pic/finish.png`)}`,
|
'background-image': `url(${require(`../assets/pic/finish.png`)}`,
|
||||||
}"
|
}"
|
||||||
></div>
|
></div>
|
||||||
<div>{{ item.c3 }}</div>
|
<div>{{ item.c3 }}</div>
|
||||||
<div
|
<div
|
||||||
:style="{
|
:style="{
|
||||||
color:
|
color:
|
||||||
item.c4 == '逾期中' || item.c4 == '逾期完成'
|
item.c4 == '逾期中' || item.c4 == '逾期完成'
|
||||||
? '#FFA700'
|
? '#FFA700'
|
||||||
: '#00FFF6',
|
: '#00FFF6',
|
||||||
}"
|
}"
|
||||||
>
|
>
|
||||||
{{ item.c4 }}
|
{{ 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>
|
</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>
|
</el-scrollbar>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- 左侧模块1 -->
|
<!-- 左侧模块1 -->
|
||||||
|
|
@ -357,6 +363,8 @@ export default {
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
jinduList:0, //计算进度条的宽度
|
||||||
|
progress:0, //计算进度条的值
|
||||||
securityCheck: [], //安全检查统计
|
securityCheck: [], //安全检查统计
|
||||||
introduction: "", //基本情况
|
introduction: "", //基本情况
|
||||||
projectId: "", //项目Id
|
projectId: "", //项目Id
|
||||||
|
|
@ -671,6 +679,18 @@ export default {
|
||||||
getProjectStatus({
|
getProjectStatus({
|
||||||
projectId: this.projectId,
|
projectId: this.projectId,
|
||||||
}).then((res) => {
|
}).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) => {
|
this.boxList = Object.keys(res.data.data).map((item, index) => {
|
||||||
if (res.data.data[item].planEndTime != null) {
|
if (res.data.data[item].planEndTime != null) {
|
||||||
res.data.data[item].planEndTime = res.data.data[
|
res.data.data[item].planEndTime = res.data.data[
|
||||||
|
|
@ -943,32 +963,33 @@ export default {
|
||||||
bottom: 164px;
|
bottom: 164px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.centerBottom3{
|
.centerBottom3 {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
// display: flex;
|
// display: flex;
|
||||||
z-index: 999;
|
z-index: 999;
|
||||||
|
position: relative;
|
||||||
display: -webkit-box;
|
display: -webkit-box;
|
||||||
::-webkit-scrollbar {
|
::-webkit-scrollbar {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.lineBox {
|
.lineBox {
|
||||||
width: 810px;
|
// width: 100%;
|
||||||
height: 9px;
|
height: 9px;
|
||||||
// background: #ffffff;
|
// background: #ffffff;
|
||||||
// border-radius: 5px;
|
// border-radius: 5px;
|
||||||
// opacity: 0.5;
|
// opacity: 0.5;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 80px;
|
top: 80px;
|
||||||
left: 20px;
|
// left: 20px;
|
||||||
z-index: 10 !important;
|
z-index: 10 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.boxChild {
|
.boxChild {
|
||||||
// margin-left: 70px;
|
// margin-left: 70px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
width: 140px !important;
|
width: 20% !important;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
z-index: 999 !important;
|
z-index: 999 !important;
|
||||||
// display: inline;
|
// display: inline;
|
||||||
|
|
@ -1693,10 +1714,10 @@ export default {
|
||||||
/* element滚动条组件 隐藏水平滚动条 */
|
/* element滚动条组件 隐藏水平滚动条 */
|
||||||
/deep/.el-scrollbar__thumb {
|
/deep/.el-scrollbar__thumb {
|
||||||
//可设置滚动条颜色
|
//可设置滚动条颜色
|
||||||
background: greenyellow;//这里我设置成了透明色,可以根据需求添加自己想要的颜色
|
background: rgb(55,142,136); //这里我设置成了透明色,可以根据需求添加自己想要的颜色
|
||||||
}
|
}
|
||||||
/deep/ .el-scrollbar__wrap{
|
/deep/ .el-scrollbar__wrap {
|
||||||
margin-bottom:10px !important
|
margin-bottom: 10px !important;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
<style>
|
<style>
|
||||||
|
|
|
||||||
|
|
@ -164,8 +164,8 @@
|
||||||
<span>计划进度</span>
|
<span>计划进度</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="tabGtBox">
|
<div class="tabGtBox">
|
||||||
<!-- <tabGtt></tabGtt> -->
|
<TabGtt :tableData="tableData" ></TabGtt>
|
||||||
<div class="ggtHeader">
|
<!-- <div class="ggtHeader">
|
||||||
<div style="margin-left: 18px;">
|
<div style="margin-left: 18px;">
|
||||||
任务名称
|
任务名称
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -257,7 +257,7 @@
|
||||||
<span>2011-11-22</span>
|
<span>2011-11-22</span>
|
||||||
<span style="left: 790px;width:18;"></span>
|
<span style="left: 790px;width:18;"></span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div> -->
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -277,7 +277,7 @@ import lineBar from "@/components/common/lineBarChart";
|
||||||
import pieChartUnImg from "@/components/common/pieChartUnImg";
|
import pieChartUnImg from "@/components/common/pieChartUnImg";
|
||||||
import pieDateChart from "@/components/common/pieDateChart";
|
import pieDateChart from "@/components/common/pieDateChart";
|
||||||
import Resize from '../utils/Resize.vue'
|
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";
|
import {getProjectInfo,getProjectDuration,getProjectInvestment,getPlanProgress,getActualProgress,getCompleteMonthStatus} from "@/api/api";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
|
|
@ -287,7 +287,7 @@ export default {
|
||||||
lineBar,
|
lineBar,
|
||||||
pieDateChart,
|
pieDateChart,
|
||||||
Resize,
|
Resize,
|
||||||
tabGtt
|
TabGtt
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
|
@ -626,7 +626,8 @@ export default {
|
||||||
.tabGtBox {
|
.tabGtBox {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 50px;
|
top: 50px;
|
||||||
|
width: 96%;
|
||||||
|
left: 20px;
|
||||||
.ggtHeader {
|
.ggtHeader {
|
||||||
width: 820px;
|
width: 820px;
|
||||||
height: 60px;
|
height: 60px;
|
||||||
|
|
|
||||||
|
After Width: | Height: | Size: 76 KiB |
|
|
@ -1,5 +1,5 @@
|
||||||
body { padding: 0; margin: 0 }
|
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-desktop { left: 50%; top: 50%; transform: translate(-50%, -50%) }
|
||||||
#unity-container.unity-mobile { width: 100%; height: 100% }
|
#unity-container.unity-mobile { width: 100%; height: 100% }
|
||||||
#unity-canvas { background: #231F20 }
|
#unity-canvas { background: #231F20 }
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@
|
||||||
<link rel="stylesheet" href="TemplateData/style.css">
|
<link rel="stylesheet" href="TemplateData/style.css">
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="unity-container" class="unity-desktop">
|
<div id="unity-container" style="height: 100%;" class="unity-desktop">
|
||||||
<canvas id="unity-canvas" ></canvas>
|
<canvas id="unity-canvas" ></canvas>
|
||||||
<div id="unity-loading-bar">
|
<div id="unity-loading-bar">
|
||||||
<div id="unity-logo"></div>
|
<div id="unity-logo"></div>
|
||||||
|
|
@ -18,9 +18,9 @@
|
||||||
</div>
|
</div>
|
||||||
<div id="unity-warning"> </div>
|
<div id="unity-warning"> </div>
|
||||||
<div id="unity-footer">
|
<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-fullscreen-button"></div>
|
||||||
<div id="unity-build-title">MqttTest</div>
|
<div id="unity-build-title">MqttTest</div> -->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script>
|
<script>
|
||||||
|
|
@ -109,14 +109,26 @@
|
||||||
createUnityInstance(canvas, config, (progress) => {
|
createUnityInstance(canvas, config, (progress) => {
|
||||||
progressBarFull.style.width = 100 * progress + "%";
|
progressBarFull.style.width = 100 * progress + "%";
|
||||||
}).then((unityInstance) => {
|
}).then((unityInstance) => {
|
||||||
|
unity = unityInstance
|
||||||
loadingBar.style.display = "none";
|
loadingBar.style.display = "none";
|
||||||
fullscreenButton.onclick = () => {
|
// fullscreenButton.onclick = () => {
|
||||||
unityInstance.SetFullscreen(1);
|
// unityInstance.SetFullscreen(1);
|
||||||
};
|
// };
|
||||||
}).catch((message) => {
|
}).catch((message) => {
|
||||||
alert(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);
|
document.body.appendChild(script);
|
||||||
</script>
|
</script>
|
||||||
</body>
|
</body>
|
||||||
|
|
|
||||||