Compare commits

18 Commits

Author SHA1 Message Date
b812a8eb01 1 2022-11-28 16:51:17 +08:00
6378239090 修改 2022-11-28 15:39:42 +08:00
3cbe02f50a Merge pull request '工单管理' (#19) from zjl into master
Reviewed-on: #19
2022-11-28 15:04:10 +08:00
c113ad3588 工单管理 2022-11-28 15:02:51 +08:00
29dfb47b4b Merge pull request 'lb' (#18) from lb into master
Reviewed-on: #18
2022-11-28 10:47:27 +08:00
lb
6e6a0ce257 update 2022-11-28 09:46:51 +08:00
lb
4cd6f748a9 update 2022-11-28 09:45:49 +08:00
lb
3e10beb7a6 update 2022-11-28 09:34:09 +08:00
lb
3964f8541e update 设备管理scrollbar 2022-11-28 09:15:18 +08:00
86a5d3737c Merge pull request 'lb' (#17) from lb into master
Reviewed-on: #17
2022-11-25 16:46:40 +08:00
lb
8184ee8a6f Merge branch 'master' into lb 2022-11-25 16:14:44 +08:00
lb
70b47b1ec0 update 3d index 2022-11-25 16:12:40 +08:00
569dd81dd7 Merge pull request 'zjl' (#16) from zjl into master
Reviewed-on: #16
2022-11-25 10:02:21 +08:00
8667da0332 merge master 2022-11-25 10:01:20 +08:00
f06bb38e48 11.24修改 2022-11-25 09:59:38 +08:00
935943e33b Merge pull request '11.23修改' (#15) from zjl into master
Reviewed-on: #15
2022-11-24 09:20:58 +08:00
f21ea0bc99 11.23修改 2022-11-24 09:20:27 +08:00
aa1461c298 Merge pull request 'lb' (#14) from lb into master
Reviewed-on: #14
2022-11-23 09:44:39 +08:00
14 changed files with 121 additions and 167 deletions

View File

@@ -127,6 +127,14 @@ export function rateFormatter(rateObj) {
} }
} }
export function rateFormatter2(rateObj) {
if (rateObj) {
return rateObj + '%'
} else {
return '0.00%'
}
}
export function amountFormatter(param) { export function amountFormatter(param) {
if (param) { if (param) {
return parseFloat(param).toFixed(2) return parseFloat(param).toFixed(2)

View File

@@ -239,7 +239,7 @@ export default {
const colorGradient = colors[dataIndex] const colorGradient = colors[dataIndex]
if (totalRate + percent < 25) { if (totalRate + percent < 25) {
/** 也许这里需要完善,但目前工作良好 */ /** 也许这里需要完善,但目前工作良好 */
;(() => {})() (() => {})()
} else if (totalRate + percent < 50) { } else if (totalRate + percent < 50) {
colorGradient.x = 0 colorGradient.x = 0
colorGradient.y = 0 colorGradient.y = 0
@@ -252,7 +252,7 @@ export default {
colorGradient.y2 = 0 colorGradient.y2 = 0
} else if (totalRate + percent < 100) { } else if (totalRate + percent < 100) {
/** 也许这里需要完善,但目前工作良好 */ /** 也许这里需要完善,但目前工作良好 */
;(() => {})() (() => {})()
} }
totalRate += percent totalRate += percent
@@ -290,8 +290,8 @@ export default {
return beilv * baseSize return beilv * baseSize
}, },
applyChartOption() { applyChartOption() {
const fs1 = this.calcFontsize(1 /** px*/) // const fs1 = this.calcFontsize(1 /** px*/)
const fs3 = this.calcFontsize(3 /** px*/) // const fs3 = this.calcFontsize(3 /** px*/)
const fs5 = this.calcFontsize(5 /** px*/) const fs5 = this.calcFontsize(5 /** px*/)
const fs8 = this.calcFontsize(8 /** px*/) const fs8 = this.calcFontsize(8 /** px*/)
const fs10 = this.calcFontsize(10 /** px*/) const fs10 = this.calcFontsize(10 /** px*/)

View File

@@ -1,63 +0,0 @@
<template>
<div class="techy-fake-table">
<div class="table-inner">
<section class="table-header" />
<section class="table-body" />
</div>
</div>
</template>
<script>
export default {
name: '',
props: {
tableProps: {
type: Array,
default: () => []
},
tableData: {
type: Array,
default: () => []
}
},
data() {
return {
headMap: {}
}
},
created() {},
mounted() {
this.renderHeadRow().then(() => {
this.renderCommonRow()
})
},
methods: {
renderHeadRow() {
return new Promise((resolve, reject) => {
// do something...
})
},
renderCommonRow() {
return new Promise((resolve, reject) => {
// do something...
})
}
}
}
</script>
<style scoped>
.techy-fake-table {
position: relative;
width: 100%;
height: 100px;
background: #3333;
overflow: hidden;
overflow-x: scroll;
}
.table-inner {
max-width: 10000px;
color: white;
white-space: nowrap;
}
</style>

View File

@@ -1,9 +1,9 @@
<template> <template>
<div id="v3d-outter" ref="v3d-outter"> <div id="v3d-outter" ref="v3d-outter">
<!-- <div id="V3DData" style="position: fixed; top: 0; left: 0; display: hidden;" rel=""></div> <div id="V3DData" style="position: fixed; top: 0; left: 0; display: hidden;" rel="" />
<V3DApp @3d-loaded="handle3DLoaded" @click.native="handle3DClick" /> <V3DApp @3d-loaded="handle3DLoaded" @click.native="handle3DClick" />
<div v-if="showPage" id="v3d-main-content"> --> <div v-if="showPage" id="v3d-main-content">
<div v-if="true" id="v3d-main-content"> <!-- <div v-if="true" id="v3d-main-content"> -->
<techy-header :head-title="'合肥新能源数字工厂总览'" @toggle-full-screen="toggleFullScreen" /> <techy-header :head-title="'合肥新能源数字工厂总览'" @toggle-full-screen="toggleFullScreen" />
<section id="techy-body-part"> <section id="techy-body-part">
@@ -20,7 +20,7 @@
</techy-container> </techy-container>
</div> </div>
<div class="techy-body-part__middle" v-if="currentEquipment"> <div v-if="currentEquipment" class="techy-body-part__middle">
<TechyBox> <TechyBox>
<div class="techy-body-part__middle__inner"> <div class="techy-body-part__middle__inner">
<p> <p>
@@ -45,7 +45,7 @@
'red-dot': currentEquipment.status === '故障', 'red-dot': currentEquipment.status === '故障',
'yellow-dot': currentEquipment.status === '调试中' 'yellow-dot': currentEquipment.status === '调试中'
}" }"
></span> />
{{ currentEquipment.status }} {{ currentEquipment.status }}
</span> </span>
</p> </p>
@@ -286,19 +286,11 @@ export default {
width: calc(472px * var(--beilv)); width: calc(472px * var(--beilv));
} }
/* 现场实时监控 */
.ft-monitor {
}
/* 缺陷分类分析 */ /* 缺陷分类分析 */
.fault-analysis { .fault-analysis {
width: calc(290px * var(--beilv)); width: calc(290px * var(--beilv));
} }
/* 设备报警提示 */
.eq-alert {
}
.techy-body-part__left, .techy-body-part__left,
.techy-body-part__right { .techy-body-part__right {
/* height: 100%; */ /* height: 100%; */

View File

@@ -226,23 +226,22 @@ export default {
</script> </script>
<style scoped> <style scoped>
::-webkit-scrollbar { .visual-container >>> ::-webkit-scrollbar {
width: calc(8px * var(--beilv)); width: calc(8px * var(--beilv));
} }
::-webkit-scrollbar-track { .visual-container >>> ::-webkit-scrollbar-track {
background-color: #14243f; background-color: #14243f;
border-radius: 0; border-radius: 0;
} }
::-webkit-scrollbar-button { .visual-container >>> ::-webkit-scrollbar-button {
width: calc(8px * var(--beilv)); display: none;
height: calc(8px * var(--beilv));
background: #5bc4bf9f; background: #5bc4bf9f;
position: relative; position: relative;
} }
::-webkit-scrollbar-thumb { .visual-container >>> ::-webkit-scrollbar-thumb {
border-radius: calc(8px * var(--beilv)); border-radius: calc(8px * var(--beilv));
background: #5bc4bf9f; background: #5bc4bf9f;
} }
@@ -394,10 +393,6 @@ export default {
left: calc(140px * var(--beilv)); left: calc(140px * var(--beilv));
} }
.pl-select {
/* height: calc(18px * var(--beilv)); */
}
.pl-select >>> input { .pl-select >>> input {
/* height: 100%; */ /* height: 100%; */
outline: none; outline: none;

View File

@@ -126,8 +126,9 @@ export default {
} }
.visual-base-table-container >>> ::-webkit-scrollbar-button { .visual-base-table-container >>> ::-webkit-scrollbar-button {
width: calc(8px * var(--beilv)); display: none;
height: calc(8px * var(--beilv)); /* width: calc(8px * var(--beilv));
height: calc(8px * var(--beilv)); */
background: #5bc4bf9f; background: #5bc4bf9f;
position: relative; position: relative;
} }

View File

@@ -45,6 +45,28 @@ export default {
color: white; color: white;
} }
.techy-vertical-table >>> ::-webkit-scrollbar {
width: calc(8px * var(--beilv));
}
.techy-vertical-table >>> ::-webkit-scrollbar-track {
background-color: #14243f;
border-radius: 0;
}
.techy-vertical-table >>> ::-webkit-scrollbar-button {
display: none;
/* width: calc(8px * var(--beilv));
height: calc(8px * var(--beilv)); */
background: #5bc4bf9f;
position: relative;
}
.techy-vertical-table >>> ::-webkit-scrollbar-thumb {
border-radius: calc(8px * var(--beilv));
background: #5bc4bf9f;
}
.trow { .trow {
width: 100%; width: 100%;
white-space: nowrap; white-space: nowrap;

View File

@@ -207,7 +207,7 @@
:class="{ 'pl-select__active': dateMode2 === 'day' }" :class="{ 'pl-select__active': dateMode2 === 'day' }"
@click=" @click="
dateMode2 = 'day' dateMode2 = 'day'
dataUpdateToken = Math.random()+'' dataUpdateToken = Math.random() + ''
" "
> >
@@ -216,7 +216,7 @@
:class="{ 'pl-select__active': dateMode2 === 'month' }" :class="{ 'pl-select__active': dateMode2 === 'month' }"
@click=" @click="
dateMode2 = 'month' dateMode2 = 'month'
dataUpdateToken = Math.random()+'' dataUpdateToken = Math.random() + ''
" "
> >
@@ -307,7 +307,7 @@ import TechyBox from './components/TechyBox.vue'
import TechyTable from './components/TechyTable.vue' import TechyTable from './components/TechyTable.vue'
import TechyAnalysisBar from './components/TechyAnalysisBar.vue' import TechyAnalysisBar from './components/TechyAnalysisBar.vue'
import TechyAnalysisHeader from './components/TechyAnalysisHeader.vue' import TechyAnalysisHeader from './components/TechyAnalysisHeader.vue'
import productionRateHeader from './components/productionRateHeader.vue' // import productionRateHeader from './components/productionRateHeader.vue'
// import FaultCategoryChart from './components/charts/FaultCategoryChart.vue' // import FaultCategoryChart from './components/charts/FaultCategoryChart.vue'
import PlFaultAnalysisPieChart from './components/charts/PlFaultAnalysisPieChart.vue' import PlFaultAnalysisPieChart from './components/charts/PlFaultAnalysisPieChart.vue'
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
@@ -330,8 +330,8 @@ export default {
// FaultCategoryChart, // FaultCategoryChart,
PlFaultAnalysisPieChart, PlFaultAnalysisPieChart,
TechyBar, TechyBar,
NewLineStack, NewLineStack
productionRateHeader // productionRateHeader
}, },
data() { data() {
const quexianDatalist = [ const quexianDatalist = [
@@ -668,47 +668,13 @@ export default {
width: calc(375px * var(--beilv)); width: calc(375px * var(--beilv));
} }
.fake-legend{ .fake-legend {
cursor: unset; cursor: unset;
} }
.fake-legend span { .fake-legend span {
background: none; background: none;
cursor: none; cursor: none;
color: #DFF1FE; color: #dff1fe;
} }
/* @media all and (max-width: 1680px) {
.production-rate {
text-align: center;
}
.production-rate >>> .top-icon,
.production-rate >>> .date-select {
display: none;
}
}
@media all and (min-width: 1680px) {
.production-rate {
text-align: left;
}
.production-rate >>> .top-icon {
display: none;
}
}
@media all and (min-width: 2048px) {
.production-rate {
text-align: center;
}
.production-rate >>> .date-select > span {
background-color: #568588;
}
.production-rate >>> .date-select > span.date-select__active {
background-color: #42bbb7;
}
} */
</style> </style>

View File

@@ -126,8 +126,9 @@ export default {
} }
.visual-base-table-container >>> ::-webkit-scrollbar-button { .visual-base-table-container >>> ::-webkit-scrollbar-button {
width: calc(8px * var(--beilv)); /* width: calc(8px * var(--beilv));
height: calc(8px * var(--beilv)); height: calc(8px * var(--beilv)); */
display: none;
background: #5bc4bf9f; background: #5bc4bf9f;
position: relative; position: relative;
} }
@@ -137,15 +138,10 @@ export default {
background: #5bc4bf9f; background: #5bc4bf9f;
} }
/* .visual-base-table-container {
min-width: 30vw;
} */
.visual-base-table-container { .visual-base-table-container {
height: 100%; height: 100%;
} }
/* .visual-base-table-container >>> .el-table {
min-width: 120%;
} */
/* 清除默认样式 */ /* 清除默认样式 */
.visual-base-table-container >>> th.gutter { .visual-base-table-container >>> th.gutter {
display: none; display: none;

View File

@@ -243,20 +243,20 @@ export default {
const colorGradient = colors[dataIndex] const colorGradient = colors[dataIndex]
if (totalRate + percent < 25) { if (totalRate + percent < 25) {
/** 也许这里需要完善,但目前工作良好 */ /** 也许这里需要完善,但目前工作良好 */
;(() => {})() (() => {})()
} else if (totalRate + percent < 50) { } else if (totalRate + percent < 50) {
colorGradient.x = 0 colorGradient.x = 0
colorGradient.y = 0 colorGradient.y = 0
colorGradient.x2 = 1 colorGradient.x2 = 1
colorGradient.y2 = 1 colorGradient.y2 = 1
} else if (totalRate + percent >= 50 && dataIndex == 1) { } else if (totalRate + percent >= 50 && dataIndex === 1) {
colorGradient.x = 1 colorGradient.x = 1
colorGradient.y = 1 colorGradient.y = 1
colorGradient.x2 = 0 colorGradient.x2 = 0
colorGradient.y2 = 0 colorGradient.y2 = 0
} else if (totalRate + percent < 100) { } else if (totalRate + percent < 100) {
/** 也许这里需要完善,但目前工作良好 */ /** 也许这里需要完善,但目前工作良好 */
;(() => {})() (() => {})()
} }
totalRate += percent totalRate += percent
@@ -306,21 +306,19 @@ export default {
applyChartOption(datalist) { applyChartOption(datalist) {
const fs5 = this.calcFontsize(5 /** px*/) const fs5 = this.calcFontsize(5 /** px*/)
const fs8 = this.calcFontsize(8 /** px*/) const fs8 = this.calcFontsize(8 /** px*/)
const fs10 = this.calcFontsize(10 /** px*/) // const fs10 = this.calcFontsize(10 /** px*/)
const fs12 = this.calcFontsize(12 /** px*/) const fs12 = this.calcFontsize(12 /** px*/)
const fs13 = this.calcFontsize(13 /** px*/) const fs13 = this.calcFontsize(13 /** px*/)
const fs18 = this.calcFontsize(18 /** px*/) // const fs18 = this.calcFontsize(18 /** px*/)
const fs20 = this.calcFontsize(20 /** px*/) const fs20 = this.calcFontsize(20 /** px*/)
const legendTextFixWidth = this.calcFontsize(48 /** px*/) const legendTextFixWidth = this.calcFontsize(48 /** px*/)
const legnedTop = this.calcFontsize(72 /** px*/) const legnedTop = this.calcFontsize(72 /** px*/)
const legendTopRate = this.calcFontsize(30 /** % */) // const legendTopRate = this.calcFontsize(30 /** % */)
this.configs.title.text = this.configs.title.text =
this.dataPeriod === 'month' this.dataPeriod === 'month'
? // 如果是月数据,单位为 千片 ? this.dataList.reduce((prev, curr) => prev + curr.value * 1000, 0) // 如果是月数据,单位为 千片
this.dataList.reduce((prev, curr) => prev + curr.value * 1000, 0) : this.dataList.reduce((prev, curr) => prev + curr.value, 0) // 如果是日数据,单位为 片
: // 如果是日数据,单位为 片
this.dataList.reduce((prev, curr) => prev + curr.value, 0)
this.configs.title.textStyle.fontSize = fs20 this.configs.title.textStyle.fontSize = fs20
this.configs.title.subtextStyle.fontSize = fs13 this.configs.title.subtextStyle.fontSize = fs13

View File

@@ -176,16 +176,21 @@ export default {
const arr = [] const arr = []
const temp = [] const temp = []
const productList = ['2.0-1128*1716', '2.0-1128*2251', '2.0-1128*2272', '3.2-1128*1716', '3.2-1128*1718','3.2-1032*1747', '3.2-1033*2089'] const productList = ['2.0-1128*1716', '2.0-1128*2251', '2.0-1128*2272', '3.2-1128*1716', '3.2-1128*1718','3.2-1032*1747', '3.2-1033*2089']
let cnum = 1
for (let i = 0; i < 20; i++) { for (let i = 0; i < 20; i++) {
const obj = {} const obj = {}
const sj = parseInt(Math.random() * 15) const sj = parseInt(Math.random() * 3 + 1)
obj.time = moment().subtract(sj, 'days').subtract(sj, 'hours').subtract(sj, 'minute').subtract(sj, 'second').format('YYYY-MM-DD HH:mm:ss') cnum += sj
obj.time = moment('20221101 081002').add(cnum, 'days').add(cnum, 'hours').add(cnum, 'minute').add(cnum, 'second').format('YYYY-MM-DD HH:mm:ss')
obj.productLine = sj % 2 ? 'A' : 'B' obj.productLine = sj % 2 ? 'A' : 'B'
obj.spec = productList[parseInt(Math.random() * (productList.length))] obj.spec = productList[parseInt(Math.random() * (productList.length))]
obj.batch = moment().subtract(sj, 'days').format('YYYYMMDD') obj.batch = moment('20221101 081002').add(cnum, 'days').add(cnum, 'hours').add(cnum, 'minute').add(cnum, 'second').format('YYYYMMDDHH')
obj.num = parseInt(Math.random() * 800 + 100) + ' (片)' obj.num = parseInt(Math.random() * 800 + 100) + ' (片)'
arr.push(obj) arr.push(obj)
} }
arr.sort(function (a, b) {
return new Date(a.time) - new Date(b.time)
})
this.originalFilmList = arr this.originalFilmList = arr
const eqList = [ const eqList = [
{name: '磨边机', fc: ''}, {name: '磨边机', fc: ''},
@@ -193,18 +198,23 @@ export default {
{name: '镀膜机', fc: ['镀膜液', '异丙醇']}, {name: '镀膜机', fc: ['镀膜液', '异丙醇']},
{name: '包装机', fc: ['隔离纸', '包装辅材']} {name: '包装机', fc: ['隔离纸', '包装辅材']}
] ]
let cnum2 = 1
for (let i = 0; i < 20; i++) { for (let i = 0; i < 20; i++) {
const obj = {} const obj = {}
const sj = parseInt(Math.random() * 15) const sj = parseInt(Math.random() * 3 + 1)
const sj2 = parseInt(Math.random() * eqList.length) const sj2 = parseInt(Math.random() * eqList.length)
const sj3 = sj % 2 ? 1 : 0 const sj3 = sj % 2 ? 1 : 0
obj.time = moment().subtract(sj, 'days').subtract(sj, 'hours').subtract(sj, 'minute').subtract(sj, 'second').format('YYYY-MM-DD HH:mm:ss') cnum2 += sj
obj.time = moment('20221015 110314').add(cnum2, 'days').add(cnum2, 'hours').add(cnum2, 'minute').add(cnum2, 'second').format('YYYY-MM-DD HH:mm:ss')
obj.eqName = eqList[sj2].name obj.eqName = eqList[sj2].name
obj.spec = eqList[sj2].fc ? (eqList[sj2].fc[sj3]) : '' obj.spec = eqList[sj2].fc ? (eqList[sj2].fc[sj3]) : ''
obj.batch = moment().subtract(sj, 'days').format('YYYYMMDD') obj.batch = moment('20221015 110314').add(cnum2, 'days').add(cnum2, 'hours').add(cnum2, 'minute').add(cnum2, 'second').format('YYYYMMDD')
obj.num = parseInt(Math.random() * 800 + 100) obj.num = parseInt(Math.random() * 800 + 100)
temp.push(obj) temp.push(obj)
} }
temp.sort(function (a, b) {
return new Date(a.time) - new Date(b.time)
})
this.materialList = temp this.materialList = temp
this.bomMsg = [ this.bomMsg = [
{ name: '2.0-1128*1716' }, { name: '2.0-1128*1716' },

View File

@@ -72,6 +72,7 @@ import screenfull from 'screenfull'
import BaseTable from './components/baseTable.vue' import BaseTable from './components/baseTable.vue'
import moment from 'moment' import moment from 'moment'
import orderStatus from './components/orderStatus.vue' import orderStatus from './components/orderStatus.vue'
import { rateFormatter2 } from '@/filters/index'
const orderPool = [ const orderPool = [
{ {
prop: 'customerName', prop: 'customerName',
@@ -125,6 +126,7 @@ const orderMonitiring = [
{ {
prop: 'completion', prop: 'completion',
label: '完成率', label: '完成率',
filter: rateFormatter2,
minWidth: 24.8 minWidth: 24.8
}, },
{ {
@@ -224,6 +226,7 @@ export default {
arr1.push(obj) arr1.push(obj)
} }
this.orderList = arr1 this.orderList = arr1
const timeArr = ["2022-10-01", "2022-10-03", "2022-10-04", "2022-10-07","2022-10-11", "2022-10-12", "2022-10-15", "2022-10-18", "2022-10-19", "2022-10-21", "2022-10-23", "2022-10-26", "2022-10-27"]
for (let i = 0; i < 20; i++) { for (let i = 0; i < 20; i++) {
const obj = {} const obj = {}
const sj = parseInt(Math.random() * 200) const sj = parseInt(Math.random() * 200)
@@ -231,8 +234,7 @@ export default {
obj.orderCode = 'ODFG' + moment().subtract(sj, 'days').subtract(sj, 'hours').subtract(sj, 'minute').subtract(sj, 'second').format('YYYYMMDDHHmmss') obj.orderCode = 'ODFG' + moment().subtract(sj, 'days').subtract(sj, 'hours').subtract(sj, 'minute').subtract(sj, 'second').format('YYYYMMDDHHmmss')
obj.productName = productList[parseInt(Math.random() * (productList.length))] obj.productName = productList[parseInt(Math.random() * (productList.length))]
obj.planNum = parseInt(Math.random() * 800 + 100) + '(m²)' obj.planNum = parseInt(Math.random() * 800 + 100) + '(m²)'
obj.planDelivery = moment().add(sj, 'days').format('YYYY-MM-DD') obj.planDelivery = timeArr[i]
// obj.status = parseInt(Math.random() * 3 + 1)
obj.status = 4 obj.status = 4
arr2.push(obj) arr2.push(obj)
} }
@@ -243,8 +245,8 @@ export default {
obj.customerName = compList[parseInt(Math.random() * (compList.length))] obj.customerName = compList[parseInt(Math.random() * (compList.length))]
obj.orderCode = 'ODFG' + moment().subtract(sj, 'days').subtract(sj, 'hours').subtract(sj, 'minute').subtract(sj, 'second').format('YYYYMMDDHHmmss') obj.orderCode = 'ODFG' + moment().subtract(sj, 'days').subtract(sj, 'hours').subtract(sj, 'minute').subtract(sj, 'second').format('YYYYMMDDHHmmss')
obj.status = parseInt(Math.random() * 3 + 1) obj.status = parseInt(Math.random() * 3 + 1)
obj.completion = obj.status === 1 ? '0.00%' : (obj.status === 3 ? '100%' : parseInt(Math.random() * 100) + '%') obj.completion = obj.status === 1 ? 0.00 : (obj.status === 3 ? 100 : parseInt(Math.random() * 100))
obj.yield = parseInt(Math.random() * 50 + 50) + '%' obj.yield = parseInt(Math.random() * 10 + 90) + '%'
// obj.shiftCosts = obj.status === 1 ? parseInt(0).toFixed(2) : parseInt(Math.random() * 800 + 100).toFixed(2) // obj.shiftCosts = obj.status === 1 ? parseInt(0).toFixed(2) : parseInt(Math.random() * 800 + 100).toFixed(2)
// obj.energyCosts = obj.status === 1 ? parseInt(0).toFixed(2) : parseInt(Math.random() * 800 + 100).toFixed(2) // obj.energyCosts = obj.status === 1 ? parseInt(0).toFixed(2) : parseInt(Math.random() * 800 + 100).toFixed(2)
// obj.equipmentCost = obj.status === 1 ? parseInt(0).toFixed(2) : parseInt(Math.random() * 800 + 100).toFixed(2) // obj.equipmentCost = obj.status === 1 ? parseInt(0).toFixed(2) : parseInt(Math.random() * 800 + 100).toFixed(2)
@@ -257,6 +259,9 @@ export default {
obj.totalCost = '0' obj.totalCost = '0'
temp.push(obj) temp.push(obj)
} }
temp.sort(function (a, b) {
return new Date(a.completion) - new Date(b.completion)
})
this.orderMonitiringList = temp this.orderMonitiringList = temp
}, },
change() { change() {

View File

@@ -1,19 +1,19 @@
<template> <template>
<div class="state-box"> <div class="state-box">
<span v-if="this.injectData.status === 1"> <span v-if="this.injectData.status === 1">
<svg-icon icon-class="yellow_dot" style="font-size: 14px; position: relative; top: .08em" /> <svg-icon icon-class="yellow_dot" class="tip"/>
在途 在途
</span> </span>
<span v-if="this.injectData.status === 2"> <span v-if="this.injectData.status === 2">
<svg-icon icon-class="blue_dot" style="font-size: 14px; position: relative; top: .08em" /> <svg-icon icon-class="blue_dot" class="tip"/>
已下发 已下发
</span> </span>
<span v-if="this.injectData.status === 3"> <span v-if="this.injectData.status === 3">
<svg-icon icon-class="green_dot" style="font-size: 14px; position: relative; top: .08em" /> <svg-icon icon-class="green_dot" class="tip" />
已完成 已完成
</span> </span>
<span v-if="this.injectData.status === 4"> <span v-if="this.injectData.status === 4">
<svg-icon icon-class="orange_dot" style="font-size: 14px; position: relative; top: .08em" /> <svg-icon icon-class="orange_dot" class="tip" />
待下发 待下发
</span> </span>
</div> </div>
@@ -44,8 +44,11 @@ export default {
} }
} }
</script> </script>
<style scoped> <style lang="scss" scoped>
.state-box { .state-box {
height: calc(15px * var(--beilv)) .tip {
font-size: calc(14px * var(--beilv));
vertical-align: middle;
}
} }
</style> </style>

View File

@@ -63,6 +63,7 @@ export default {
justify-content: space-between; justify-content: space-between;
.box { .box {
width: 49.5%; width: 49.5%;
height: 49.5%;
margin-bottom: 8px; margin-bottom: 8px;
background-image: url('../../../../assets/img/cockpit/module-back.png'); background-image: url('../../../../assets/img/cockpit/module-back.png');
background-repeat: no-repeat; background-repeat: no-repeat;
@@ -92,6 +93,26 @@ export default {
background: #366F5D; background: #366F5D;
} }
} }
::-webkit-scrollbar {
width: calc(8px * var(--beilv));
}
::-webkit-scrollbar-track {
background-color: #14243f;
border-radius: 0;
}
::-webkit-scrollbar-button {
width: calc(8px * var(--beilv));
height: calc(8px * var(--beilv));
background: #5bc4bf9f;
position: relative;
}
::-webkit-scrollbar-thumb {
border-radius: calc(8px * var(--beilv));
background: #5bc4bf9f;
}
} }
.progress-box { .progress-box {
border-radius: 5px; border-radius: 5px;