feat: 从localstorage中获取token

This commit is contained in:
caoqianming 2024-03-11 13:34:32 +08:00
parent 767e2d8048
commit 1a1aa3ebcb
2 changed files with 314 additions and 272 deletions

View File

@ -67,7 +67,8 @@
</el-col> </el-col>
<el-col :span="12" class="panel_item"> <el-col :span="12" class="panel_item">
<div class="panel_label"><img src="img/total_production.png" <div class="panel_label"><img src="img/total_production.png"
style="height: 24px;vertical-align:middle;" />产品产量</div> style="height: 24px;vertical-align:middle;" />产品产量
</div>
<div class="pannel_number"> <div class="pannel_number">
<span class="panel_value">{{ sectionData.total_production }}</span> <span class="panel_value">{{ sectionData.total_production }}</span>
<span class="panel_unit">(t)</span> <span class="panel_unit">(t)</span>
@ -76,7 +77,8 @@
</el-row> </el-row>
<el-row :gutter="16" style="height: 72px;margin-top: 4px"> <el-row :gutter="16" style="height: 72px;margin-top: 4px">
<el-col :span="12" class="panel_item"> <el-col :span="12" class="panel_item">
<div class="panel_label"><img src="img/run_rate.png" style="height: 24px;vertical-align:middle;" /> 运转率</div> <div class="panel_label"><img src="img/run_rate.png" style="height: 24px;vertical-align:middle;" /> 运转率
</div>
<div class="pannel_number"> <div class="pannel_number">
<span class="panel_value">{{ sectionData.run_rate }}</span> <span class="panel_value">{{ sectionData.run_rate }}</span>
<span class="panel_unit">(%)</span> <span class="panel_unit">(%)</span>
@ -402,11 +404,10 @@ export default {
}, },
init() { init() {
var that = this var that = this
// console.log(tool.cookie.get("TOKEN"))
if (typeof (WebSocket) === "undefined") { if (typeof (WebSocket) === "undefined") {
alert("您的浏览器不支持socket") alert("您的浏览器不支持socket")
} else { } else {
this.ws = new WebSocket(this.path + tool.cookie.get("TOKEN")) this.ws = new WebSocket(this.path + tool.data.get("TOKEN"))
// //
this.ws.onopen = () => { this.ws.onopen = () => {
// console.log("socket"); // console.log("socket");

View File

@ -8,60 +8,72 @@
<el-col> <el-col>
<el-card header="产量及完成度" style="border-radius: 5px;box-shadow: none;"> <el-card header="产量及完成度" style="border-radius: 5px;box-shadow: none;">
<div class="itemsWrap"> <div class="itemsWrap">
<div class="items" > <div class="items">
<div class="item-number" v-if="monthData.电石渣">{{ monthData.电石渣.total_production }}</div> <div class="item-number" v-if="monthData.电石渣">{{ monthData.电石渣.total_production
}}</div>
<div class="item-name">月电石渣产量</div> <div class="item-name">月电石渣产量</div>
<el-progress :percentage="90" :text-inside="true" :stroke-width="14"> <el-progress :percentage="90" :text-inside="true" :stroke-width="14">
<span class="item-percent">90%</span> <span class="item-percent">90%</span>
</el-progress> </el-progress>
</div> </div>
<div class="items" > <div class="items">
<div class="item-number" v-if="monthData.原料磨">{{ monthData.原料磨.total_production }}</div> <div class="item-number" v-if="monthData.原料磨">{{ monthData.原料磨.total_production
}}</div>
<div class="item-name">月生料产量</div> <div class="item-name">月生料产量</div>
<el-progress :percentage="95" :text-inside="true" :stroke-width="14"> <el-progress :percentage="95" :text-inside="true" :stroke-width="14">
<span class="item-percent">95%</span> <span class="item-percent">95%</span>
</el-progress> </el-progress>
</div> </div>
<div class="items" > <div class="items">
<div class="item-number" v-if="monthData.回转窑">{{ monthData.回转窑.total_production }}</div> <div class="item-number" v-if="monthData.回转窑">{{ monthData.回转窑.total_production
}}</div>
<div class="item-name">月熟料产量</div> <div class="item-name">月熟料产量</div>
<el-progress :percentage="98" :text-inside="true" :stroke-width="14"> <el-progress :percentage="98" :text-inside="true" :stroke-width="14">
<span class="item-percent">98%</span> <span class="item-percent">98%</span>
</el-progress> </el-progress>
</div> </div>
<div class="items" > <div class="items">
<div class="item-number" v-if="monthData.水泥磨">{{ monthData.水泥磨.total_production }}</div> <div class="item-number" v-if="monthData.水泥磨">{{ monthData.水泥磨.total_production
}}</div>
<div class="item-name">月水泥产量</div> <div class="item-name">月水泥产量</div>
<el-progress :percentage="95" :text-inside="true" :stroke-width="14"> <el-progress :percentage="95" :text-inside="true" :stroke-width="14">
<span class="item-percent">95%</span> <span class="item-percent">95%</span>
</el-progress> </el-progress>
</div> </div>
<div style="display: inline-block;"> <div style="display: inline-block;">
<div class="items" > <div class="items">
<div class="item-number" v-if="yearData.电石渣">{{ yearData.电石渣.total_production }}</div> <div class="item-number" v-if="yearData.电石渣">{{
yearData.电石渣.total_production }}</div>
<div class="item-name">本年累计电石渣产量</div> <div class="item-name">本年累计电石渣产量</div>
<el-progress :percentage="75" status="success" :text-inside="true" :stroke-width="14"> <el-progress :percentage="75" status="success" :text-inside="true"
:stroke-width="14">
<span class="item-percent">75%</span> <span class="item-percent">75%</span>
</el-progress> </el-progress>
</div> </div>
<div class="items" > <div class="items">
<div class="item-number" v-if="yearData.原料磨">{{ yearData.原料磨.total_production }}</div> <div class="item-number" v-if="yearData.原料磨">{{
yearData.原料磨.total_production }}</div>
<div class="item-name">本年累计生料产量</div> <div class="item-name">本年累计生料产量</div>
<el-progress :percentage="70" status="success" :text-inside="true" :stroke-width="14"> <el-progress :percentage="70" status="success" :text-inside="true"
:stroke-width="14">
<span class="item-percent">70%</span> <span class="item-percent">70%</span>
</el-progress> </el-progress>
</div> </div>
<div class="items" > <div class="items">
<div class="item-number" v-if="yearData.回转窑">{{ yearData.回转窑.total_production }}</div> <div class="item-number" v-if="yearData.回转窑">{{
yearData.回转窑.total_production }}</div>
<div class="item-name">本年累计熟料产量</div> <div class="item-name">本年累计熟料产量</div>
<el-progress :percentage="80" status="success" :text-inside="true" :stroke-width="14"> <el-progress :percentage="80" status="success" :text-inside="true"
:stroke-width="14">
<span class="item-percent">80%</span> <span class="item-percent">80%</span>
</el-progress> </el-progress>
</div> </div>
<div class="items" > <div class="items">
<div class="item-number" v-if="yearData.水泥磨">{{ yearData.水泥磨.total_production }}</div> <div class="item-number" v-if="yearData.水泥磨">{{
yearData.水泥磨.total_production }}</div>
<div class="item-name">本年累计水泥产量</div> <div class="item-name">本年累计水泥产量</div>
<el-progress :percentage="75" status="success" :text-inside="true" :stroke-width="14"> <el-progress :percentage="75" status="success" :text-inside="true"
:stroke-width="14">
<span class="item-percent">75%</span> <span class="item-percent">75%</span>
</el-progress> </el-progress>
</div> </div>
@ -72,74 +84,90 @@
<el-col> <el-col>
<el-card header="能耗" style="border-radius: 5px;box-shadow: none;"> <el-card header="能耗" style="border-radius: 5px;box-shadow: none;">
<div class="itemsWrap"> <div class="itemsWrap">
<div class="items" > <div class="items">
<div class="item-number" v-if="monthData.电石渣">{{ monthData.电石渣.elec_consume_unit }}</div> <div class="item-number" v-if="monthData.电石渣">{{ monthData.电石渣.elec_consume_unit
}}</div>
<div class="item-name">月电石渣分布电耗</div> <div class="item-name">月电石渣分布电耗</div>
</div> </div>
<div class="items" > <div class="items">
<div class="item-number" v-if="monthData.原料磨">{{ monthData.原料磨.elec_consume_unit }}</div> <div class="item-number" v-if="monthData.原料磨">{{ monthData.原料磨.elec_consume_unit
}}</div>
<div class="item-name">月生料分布电耗</div> <div class="item-name">月生料分布电耗</div>
</div> </div>
<div class="items" > <div class="items">
<div class="item-number" v-if="monthData.回转窑">{{ monthData.回转窑.elec_consume_unit }}</div> <div class="item-number" v-if="monthData.回转窑">{{ monthData.回转窑.elec_consume_unit
}}</div>
<div class="item-name">月熟料分布电耗</div> <div class="item-name">月熟料分布电耗</div>
</div> </div>
<div class="items" > <div class="items">
<div class="item-number" v-if="monthData.回转窑">{{ monthData.回转窑.coal_consume_unit }}</div> <div class="item-number" v-if="monthData.回转窑">{{ monthData.回转窑.coal_consume_unit
}}</div>
<div class="item-name">熟料月单位标煤耗</div> <div class="item-name">熟料月单位标煤耗</div>
</div> </div>
<div style="display: inline-block;"> <div style="display: inline-block;">
<div class="items" > <div class="items">
<div class="item-number" v-if="monthData.回转窑">{{ monthData.回转窑.celec_consume_unit }}</div> <div class="item-number" v-if="monthData.回转窑">{{
monthData.回转窑.celec_consume_unit }}</div>
<div class="item-name">熟料月综合电耗</div> <div class="item-name">熟料月综合电耗</div>
</div> </div>
<div class="items" > <div class="items">
<div class="item-number" v-if="monthData.回转窑">{{ monthData.回转窑.cen_consume_unit }}</div> <div class="item-number" v-if="monthData.回转窑">{{
monthData.回转窑.cen_consume_unit }}</div>
<div class="item-name">熟料月综合能耗</div> <div class="item-name">熟料月综合能耗</div>
</div> </div>
<div class="items" > <div class="items">
<div class="item-number" v-if="monthData.水泥磨">{{ monthData.水泥磨.elec_consume_unit }}</div> <div class="item-number" v-if="monthData.水泥磨">{{
monthData.水泥磨.elec_consume_unit }}</div>
<div class="item-name">月水泥粉磨分布电耗</div> <div class="item-name">月水泥粉磨分布电耗</div>
</div> </div>
<div class="items" > <div class="items">
<div class="item-number" v-if="monthData.水泥磨">{{ monthData.水泥磨.cen_consume_unit }}</div> <div class="item-number" v-if="monthData.水泥磨">{{
monthData.水泥磨.cen_consume_unit }}</div>
<div class="item-name">水泥月综合能耗</div> <div class="item-name">水泥月综合能耗</div>
</div> </div>
</div> </div>
</div> </div>
<div class="itemsWrap"> <div class="itemsWrap">
<div class="items" > <div class="items">
<div class="item-number" v-if="yearData.电石渣">{{ yearData.电石渣.elec_consume_unit }}</div> <div class="item-number" v-if="yearData.电石渣">{{ yearData.电石渣.elec_consume_unit
}}</div>
<div class="item-name">本年度电石渣分布电耗</div> <div class="item-name">本年度电石渣分布电耗</div>
</div> </div>
<div class="items" > <div class="items">
<div class="item-number" v-if="yearData.原料磨">{{ yearData.原料磨.elec_consume_unit }}</div> <div class="item-number" v-if="yearData.原料磨">{{ yearData.原料磨.elec_consume_unit
}}</div>
<div class="item-name">本年度生料分布电耗</div> <div class="item-name">本年度生料分布电耗</div>
</div> </div>
<div class="items" > <div class="items">
<div class="item-number" v-if="yearData.回转窑">{{ yearData.回转窑.elec_consume_unit }}</div> <div class="item-number" v-if="yearData.回转窑">{{ yearData.回转窑.elec_consume_unit
}}</div>
<div class="item-name">本年度熟料分布电耗</div> <div class="item-name">本年度熟料分布电耗</div>
</div> </div>
<div class="items" > <div class="items">
<div class="item-number" v-if="yearData.回转窑">{{ yearData.回转窑.coal_consume_unit }}</div> <div class="item-number" v-if="yearData.回转窑">{{ yearData.回转窑.coal_consume_unit
}}</div>
<div class="item-name">本年度熟料单位标煤耗</div> <div class="item-name">本年度熟料单位标煤耗</div>
</div> </div>
<div style="display: inline-block;"> <div style="display: inline-block;">
<div class="items" > <div class="items">
<div class="item-number" v-if="yearData.回转窑">{{ yearData.回转窑.celec_consume_unit }}</div> <div class="item-number" v-if="yearData.回转窑">{{
yearData.回转窑.celec_consume_unit }}</div>
<div class="item-name">本年度熟料综合电耗</div> <div class="item-name">本年度熟料综合电耗</div>
</div> </div>
<div class="items" > <div class="items">
<div class="item-number" v-if="yearData.回转窑">{{ yearData.回转窑.cen_consume_unit }}</div> <div class="item-number" v-if="yearData.回转窑">{{
yearData.回转窑.cen_consume_unit }}</div>
<div class="item-name">本年度熟料综合能耗</div> <div class="item-name">本年度熟料综合能耗</div>
</div> </div>
<div class="items" > <div class="items">
<div class="item-number" v-if="yearData.水泥磨">{{ yearData.水泥磨.elec_consume_unit }}</div> <div class="item-number" v-if="yearData.水泥磨">{{
yearData.水泥磨.elec_consume_unit }}</div>
<div class="item-name">本年度水泥粉磨分布电耗</div> <div class="item-name">本年度水泥粉磨分布电耗</div>
</div> </div>
<div class="items" > <div class="items">
<div class="item-number" v-if="yearData.水泥磨">{{ yearData.水泥磨.cen_consume_unit }}</div> <div class="item-number" v-if="yearData.水泥磨">{{
yearData.水泥磨.cen_consume_unit }}</div>
<div class="item-name">本年度水泥综合能耗</div> <div class="item-name">本年度水泥综合能耗</div>
</div> </div>
</div> </div>
@ -150,19 +178,23 @@
<el-card header="成本统计" style="border-radius: 5px;box-shadow: none;"> <el-card header="成本统计" style="border-radius: 5px;box-shadow: none;">
<div class="itemsWrap"> <div class="itemsWrap">
<div class="items"> <div class="items">
<div class="item-number" v-if="monthData.电石渣">{{ monthData.电石渣.production_cost_unit }}</div> <div class="item-number" v-if="monthData.电石渣">{{
monthData.电石渣.production_cost_unit }}</div>
<div class="item-name">月电石渣成本</div> <div class="item-name">月电石渣成本</div>
</div> </div>
<div class="items" > <div class="items">
<div class="item-number" v-if="monthData.原料磨">{{ monthData.原料磨.production_cost_unit }}</div> <div class="item-number" v-if="monthData.原料磨">{{
monthData.原料磨.production_cost_unit }}</div>
<div class="item-name">月生料成本</div> <div class="item-name">月生料成本</div>
</div> </div>
<div class="items" > <div class="items">
<div class="item-number" v-if="monthData.回转窑">{{ monthData.回转窑.production_cost_unit }}</div> <div class="item-number" v-if="monthData.回转窑">{{
monthData.回转窑.production_cost_unit }}</div>
<div class="item-name">月熟料成本</div> <div class="item-name">月熟料成本</div>
</div> </div>
<div class="items" > <div class="items">
<div class="item-number" v-if="monthData.水泥磨">{{ monthData.水泥磨.production_cost_unit }}</div> <div class="item-number" v-if="monthData.水泥磨">{{
monthData.水泥磨.production_cost_unit }}</div>
<div class="item-name">月水泥成本</div> <div class="item-name">月水泥成本</div>
</div> </div>
</div> </div>
@ -189,17 +221,17 @@
</div> </div>
</template> </template>
<script> <script>
export default { export default {
data() { data() {
return { return {
time: '', time: '',
day: '', day: '',
year_s:'', year_s: '',
month_s:'', month_s: '',
yearData:[], yearData: [],
monthData:[], monthData: [],
warningNum:0, warningNum: 0,
warningNum2:0, warningNum2: 0,
} }
}, },
mounted() { mounted() {
@ -207,7 +239,7 @@
let that = this; let that = this;
var myDate = new Date(); var myDate = new Date();
let year = myDate.getFullYear(); let year = myDate.getFullYear();
let month = myDate.getMonth()+1; let month = myDate.getMonth() + 1;
that.year_s = year; that.year_s = year;
that.month_s = month; that.month_s = month;
that.getYearData(); that.getYearData();
@ -220,31 +252,32 @@
}, },
methods: { methods: {
// Class // Class
bindClass(type){ bindClass(type) {
let classInfo = { socketDom: true, redColor: false, let classInfo = {
orangeColor:false, yellowColor:false, blueColor:true } socketDom: true, redColor: false,
if(type==''){ orangeColor: false, yellowColor: false, blueColor: true
}
if (type == '') {
classInfo.redColor = true classInfo.redColor = true
} }
return classInfo return classInfo
}, },
init() { init() {
var that = this var that = this
// console.log(tool.cookie.get("TOKEN")) if (typeof (WebSocket) === "undefined") {
if(typeof(WebSocket) === "undefined"){
alert("您的浏览器不支持socket") alert("您的浏览器不支持socket")
}else{ } else {
this.ws = new WebSocket(this.path+tool.cookie.get("TOKEN")) this.ws = new WebSocket(this.path + tool.data.get("TOKEN"))
// //
this.ws.onopen = ()=> { this.ws.onopen = () => {
// console.log("socket"); // console.log("socket");
setTimeout(()=>{ setTimeout(() => {
that.ws.send(JSON.stringify({'type': 'event'})) that.ws.send(JSON.stringify({ 'type': 'event' }))
},500) }, 500)
} }
// //
this.ws.onmessage = (msg)=>{ this.ws.onmessage = (msg) => {
let data = JSON.parse(msg.data) let data = JSON.parse(msg.data)
console.log(data) console.log(data)
that.getWraningNum(); that.getWraningNum();
@ -257,9 +290,9 @@
// } // }
}; };
// error // error
this.ws.onerror = function(error) { this.ws.onerror = function (error) {
console.log('ws断开,尝试重连') console.log('ws断开,尝试重连')
setTimeout(()=>{ setTimeout(() => {
this.ws = null; this.ws = null;
this.init() this.init()
}, 5000) }, 5000)
@ -277,17 +310,17 @@
} }
}, },
// //
getWraningNum(){ getWraningNum() {
let that = this; let that = this;
that.$API.ecm.event.list.req({cates__code__in:'consume_exceed',is_handled:0,page:1}).then((res) => { that.$API.ecm.event.list.req({ cates__code__in: 'consume_exceed', is_handled: 0, page: 1 }).then((res) => {
that.warningNum = res.count; that.warningNum = res.count;
}) })
that.$API.em.equipment.list.req({tag:'near_check',type:20,page:1}).then((res) => { that.$API.em.equipment.list.req({ tag: 'near_check', type: 20, page: 1 }).then((res) => {
debugger; debugger;
that.warningNum2 = res.count; that.warningNum2 = res.count;
}) })
}, },
getYearData(){ getYearData() {
let that = this; let that = this;
let obj = {}; let obj = {};
obj.year_s = this.year_s; obj.year_s = this.year_s;
@ -302,7 +335,7 @@
that.yearData = yearData; that.yearData = yearData;
}) })
}, },
getMonthData(){ getMonthData() {
let that = this; let that = this;
let obj = {}; let obj = {};
obj.year_s = this.year_s; obj.year_s = this.year_s;
@ -318,23 +351,23 @@
that.monthData = monthData; that.monthData = monthData;
}) })
}, },
showTime(){ showTime() {
this.time = this.$TOOL.dateFormat(new Date(), 'hh:mm:ss') this.time = this.$TOOL.dateFormat(new Date(), 'hh:mm:ss')
this.day = this.$TOOL.dateFormat(new Date(), 'yyyy年MM月dd日') this.day = this.$TOOL.dateFormat(new Date(), 'yyyy年MM月dd日')
}, },
interEvent(){ interEvent() {
this.$router.replace({path:'/events'}) this.$router.replace({ path: '/events' })
}, },
interEquipment(){ interEquipment() {
this.$router.replace({path:'/em/equipmentc'}) this.$router.replace({ path: '/em/equipmentc' })
}, },
} }
} }
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
.items{ .items {
display: inline-block; display: inline-block;
width: 200px; width: 200px;
padding: 20px; padding: 20px;
@ -343,35 +376,39 @@
border: 1px solid #cccccc; border: 1px solid #cccccc;
border-radius: 10px; border-radius: 10px;
box-shadow: 0 0 10px 6px #eeeeee57; box-shadow: 0 0 10px 6px #eeeeee57;
} }
.item-number{
.item-number {
font-weight: 600; font-weight: 600;
font-size: 24px; font-size: 24px;
color: #1e2126; color: #1e2126;
letter-spacing: .1px; letter-spacing: .1px;
text-align: left; text-align: left;
line-height: 36px; line-height: 36px;
} }
.item-name{
.item-name {
font-size: 14px; font-size: 14px;
color: #4e5b71; color: #4e5b71;
letter-spacing: .1px; letter-spacing: .1px;
text-align: left; text-align: left;
line-height: 20px; line-height: 20px;
} }
.item-percent{
.item-percent {
font-size: 12px; font-size: 12px;
color: #ffffff; color: #ffffff;
letter-spacing: .08px; letter-spacing: .08px;
text-align: left; text-align: left;
line-height: 12px; line-height: 12px;
} }
.socketDom{
.socketDom {
position: absolute; position: absolute;
top: 10vh; top: 10vh;
left: 50%; left: 50%;
font-size: 20px; font-size: 20px;
font-weight:bold; font-weight: bold;
transform: translateX(-50%); transform: translateX(-50%);
z-index: 101; z-index: 101;
color: #ffffff; color: #ffffff;
@ -381,24 +418,28 @@
border-radius: 5px; border-radius: 5px;
} }
.redColor{
.redColor {
color: red; color: red;
border: 1px solid red; border: 1px solid red;
background: rgba(255, 0, 0, 0.2); background: rgba(255, 0, 0, 0.2);
} }
.orangeColor{
.orangeColor {
color: orange; color: orange;
border: 1px solid orange; border: 1px solid orange;
background: rgba(255,165,0,.2); background: rgba(255, 165, 0, .2);
} }
.yellowColor{
.yellowColor {
color: yellow; color: yellow;
background: rgba(255,255,0,.2); background: rgba(255, 255, 0, .2);
border: 1px solid yellow; border: 1px solid yellow;
} }
.blueColor{
.blueColor {
color: #2378f7; color: #2378f7;
background: rgb(35, 120, 247,.2); background: rgb(35, 120, 247, .2);
border: 1px solid #2378f7; border: 1px solid #2378f7;
} }
</style> </style>