diff --git a/src/components/Charts/index.vue b/src/components/Charts/index.vue index 569f465..16b5f09 100644 --- a/src/components/Charts/index.vue +++ b/src/components/Charts/index.vue @@ -108,22 +108,22 @@ export default { fontSize: 24, fontWeight: 'normal' }, - subtext: newData.year + '/' + newData.weekCategory[6], + subtext: newData.asset?.name, subtextStyle: { color: '#fff', - fontSize: 16 + fontSize: 15 }, top: 14, - left: 30 + left: 12 }, legend: { top: 128, - left: 30, + left: 12, orient: 'vertical', itemGap: 15, itemWidth: 12, itemHeight: 12, - data: ['平均指标', '我的指标'], + data: ['平均指标','我的指标'], textStyle: { color: '#fff', fontSize: 14 @@ -163,20 +163,16 @@ export default { }, indicator: [ { - name: '服务态度', - max: newData.maxData + name: '教育' }, { - name: '产品质量', - max: 10 + name: '交通' }, { - name: '任务效率', - max: 12 + name: '商圈' }, { - name: '售后保障', - max: 3.5 + name: '舒适度' } ] }, @@ -194,18 +190,17 @@ export default { color: 'rgba(255,255,255,.8)', fontSize: 12 }, - data: newData.weekCategory + data: newData.lease.map(item => item?.zulinkaishiqixian??'') }, // 下方Y轴 yAxis: { - name: '工单', + name: '租赁面积', nameLocation: 'end', nameGap: 24, nameTextStyle: { - color: 'rgba(255,255,255,.5)', + color: 'rgba(255,255,255)', fontSize: 14 }, - max: newData.maxData, splitNumber: 4, axisLine: { @@ -232,7 +227,7 @@ export default { symbolSize: 0, data: [ { - value: newData.radarDataAvg[6], + value: newData.radarDataAvg, name: '平均指标', itemStyle: { normal: { @@ -256,7 +251,7 @@ export default { } }, { - value: newData.radarData[6], + value: newData.radarData, name: '我的指标', itemStyle: { normal: { @@ -303,7 +298,7 @@ export default { color: this.colorList.areaBtoG } }, - data: newData.weekLineData, + data: newData.lease.map(i => i?.zulinmianji??0), lineSmooth: true, markLine: { silent: true, @@ -327,7 +322,7 @@ export default { }, tooltip: { position: 'top', - formatter: '{c} m', + formatter: '{c} 平方', backgroundColor: 'rgba(28,152,232,.2)', padding: 6 } @@ -344,7 +339,7 @@ export default { }, silent: true, barWidth: '50%', - data: newData.weekMaxData, + data: newData.lease.map(i => i?.zulinmianji??0), animation: false } ] diff --git a/src/views/dashboard/components/drawer.vue b/src/views/dashboard/components/drawer.vue index edadeaf..c2ed342 100644 --- a/src/views/dashboard/components/drawer.vue +++ b/src/views/dashboard/components/drawer.vue @@ -55,6 +55,12 @@ export default { zulinjieshuqixian: "租赁结束期限", zulingmianji: "租赁面积", yingshouzujin: "应收租金" + }, + t4: { + zichanmingcheng: "资产名称", + zichanleixing: "资产类型", + jianchajilu: "检查记录", + riqi: "日期" } } }, @@ -82,6 +88,7 @@ export default { if (this.type === 1) return this.t1; if (this.type === 2) return this.t2; if (this.type === 3) return this.t3; + if (this.type === 4) return this.t4; }, descriptionItem () { return function (key) { diff --git a/src/views/dashboard/index.vue b/src/views/dashboard/index.vue index 1d310b5..2966d70 100644 --- a/src/views/dashboard/index.vue +++ b/src/views/dashboard/index.vue @@ -78,6 +78,27 @@ + + +
+

安全检查

+ +
+ 更多 + +
+
+ +
+
+ {{ item.zichanmingcheng }} + {{ $moment(new Date(item.riqi)).format('YYYY-MM-DD') }} +
+ + +
+
+
@@ -245,6 +266,20 @@ }, systems: [], systemTotal: 0, + assetSafetyInspectionsSelect: { + table_name: 'asset_safety_inspections', + page: 1, + page_size: 10, + filter: [ + { + key: "riqi", + op: "range", + value: `${this.$moment().format("YYYY-MM-DD")},2999-01-01` + } + ] + }, + assetSafetyInspectionsTotal: 0, + assetSafetyInspections: [], noticeSelect: { table_name: 'notices', page: 1, @@ -436,6 +471,12 @@ this.notices = res; this.noticeTotal = res.length; }, + async getAssetSafetyInspections () { + this.assetSafetyInspectionsSelect.filter[0].value = `${this.$moment().format("YYYY-MM-DD")},${this.$moment().add(this.config.time, this.config.unit).format("YYYY-MM-DD")}` + const res = await index(this.assetSafetyInspectionsSelect,false); + this.assetSafetyInspections = res.data; + this.assetSafetyInspectionsTotal = res.total; + }, async getSystems () { const res = await index(this.systemSelect,false); this.systems = res.data; @@ -458,6 +499,7 @@ this.getSystems(); this.getConfig().then(_ => { this.getLeases(); + this.getAssetSafetyInspections(); }) //this.loadData(); }, diff --git a/src/views/dataShow/index.vue b/src/views/dataShow/index.vue index a65fdbe..c7f6311 100644 --- a/src/views/dataShow/index.vue +++ b/src/views/dataShow/index.vue @@ -79,7 +79,7 @@ export default { } ] }) - console.log(res) + this.leases = res.data }, async getData () { await Promise.all([ diff --git a/src/views/dataShow/right3.vue b/src/views/dataShow/right3.vue index 48d4dd2..0d40b4a 100644 --- a/src/views/dataShow/right3.vue +++ b/src/views/dataShow/right3.vue @@ -25,6 +25,7 @@ import SvgIcon from "@/components/SvgIcon" import Chart from "@/components/Charts" export default { + inject: ["assets","leases"], components: { SvgIcon, Chart @@ -57,48 +58,38 @@ export default { }, 6000); }, setData () { - // 清空轮询数据 - this.cdata.weekCategory = []; - this.cdata.weekMaxData = []; - this.cdata.weekLineData = []; - this.cdata.radarData = []; - this.cdata.radarDataAvg = []; - - let dateBase = new Date(); - this.cdata.year = dateBase.getFullYear(); - // 周数据 - for (let i = 0; i < 7; i++) { - // 日期 - let date = new Date(); - this.cdata.weekCategory.unshift([date.getMonth() + 1, date.getDate()-i].join("/")); - - // 折线图数据 - this.cdata.weekMaxData.push(this.cdata.maxData); - let distance = Math.round(Math.random() * 11000 + 500); - this.cdata.weekLineData.push(distance); - - // 雷达图数据 - // 我的指标 - let averageSpeed = +(Math.random() * 5 + 3).toFixed(3); - let maxSpeed = averageSpeed + +(Math.random() * 3).toFixed(2); - let hour = +(distance / 1000 / averageSpeed).toFixed(1); - let radarDayData = [distance, averageSpeed, maxSpeed, hour]; - this.cdata.radarData.unshift(radarDayData); - - // 平均指标 - let distanceAvg = Math.round(Math.random() * 8000 + 4000); - let averageSpeedAvg = +(Math.random() * 4 + 4).toFixed(3); - let maxSpeedAvg = averageSpeedAvg + +(Math.random() * 2).toFixed(2); - let hourAvg = +(distance / 1000 / averageSpeed).toFixed(1); - let radarDayDataAvg = [ - distanceAvg, - averageSpeedAvg, - maxSpeedAvg, - hourAvg - ]; - this.cdata.radarDataAvg.unshift(radarDayDataAvg); + let myAsset,assets; + if (this.assetsList instanceof Array) { + assets = this.assetsList.filter(i => !!(i.jiaotong || i.jiaoyu || i.shangquan || i.shushidu)) + myAsset = assets[Math.floor(Math.random() * assets.length)]; } - + console.log(myAsset) + // if (this.leaseList instanceof Array) { + // console.log(this.leaseList) + // myLease = this.leaseList[Math.floor(Math.random() * this.leaseList.length)]; + // console.log(myLease) + // } + // 清空轮询数据 + this.cdata.asset = myAsset??{}; + this.cdata.lease = myAsset ? myAsset["id_leases_land_id_relation"] : []; + console.log(this.cdata.lease) + this.cdata.radarData = myAsset ? [myAsset.jiaotong, myAsset.jiaoyu, myAsset.shangquan, myAsset.shushidu] : []; + this.cdata.radarDataAvg = assets ? + [ + assets.reduce((a,b) => (a + Number(b.jiaotong??0)),0)/assets.length, + assets.reduce((a,b) => (a + Number(b.jiaoyu??0)),0)/assets.length, + assets.reduce((a,b) => (a + Number(b.shangquan??0)),0)/assets.length, + assets.reduce((a,b) => (a + Number(b.shushidu??0)),0)/assets.length + ] : + [0, 0, 0, 0]; + } + }, + computed: { + assetsList () { + return this.assets()[1] + }, + leaseList () { + return this.leases() } } };