172 lines
5.2 KiB
Vue
172 lines
5.2 KiB
Vue
|
|
<!--
|
|||
|
|
* @Author: your name
|
|||
|
|
* @Date: 2023-11-15 11:21:20
|
|||
|
|
* @LastEditTime: 2024-02-19 11:17:14
|
|||
|
|
* @LastEditors: Please set LastEditors
|
|||
|
|
* @Description: In User Settings Edit
|
|||
|
|
* @FilePath: \my_web_new\src\views\lz\home\components\workCondition.vue
|
|||
|
|
-->
|
|||
|
|
<template>
|
|||
|
|
<div class="boxContent">
|
|||
|
|
<div class="box-title">工作情况</div>
|
|||
|
|
<ul class="boxInfo cntinfo">
|
|||
|
|
<!-- <li class="item">
|
|||
|
|
<div class="bt">在岗警力:</div>
|
|||
|
|
<span class="label" @click="show_Dialog('zgjl','mj')"><span class="xbt">民警:</span><span :title="jl.zgmjsl || 0" class="num-one">{{ jl.zgmjsl || 0 }}</span></span>
|
|||
|
|
<span class="label" @click="show_Dialog('zgjl','fj')"><span class="xbt">辅警:</span><span :title="jl.zgfjsl || 0" class="num-two">{{ jl.zgfjsl || 0 }}</span></span>
|
|||
|
|
</li> -->
|
|||
|
|
<li class="item">
|
|||
|
|
<div class="bt">街面巡组:</div>
|
|||
|
|
<span class="label" @click="show_Dialog('jmxz', 'jh')"><span class="xbt">计划:</span><span :title="xz.jhsl || 0"
|
|||
|
|
class="num-one">{{ xz.jhsl || 0 }}</span></span>
|
|||
|
|
<span class="label" @click="show_Dialog('jmxz', 'sj')"><span class="xbt">实际:</span><span :title="xz.sjsl || 0"
|
|||
|
|
class="num-two">{{ xz.sjsl || 0 }}</span></span>
|
|||
|
|
</li>
|
|||
|
|
<li class="item">
|
|||
|
|
<div class="bt">街面力量:</div>
|
|||
|
|
<span class="label" @click="show_Dialog('jmll', 'mj')"><span class="xbt">民警:</span><span :title="xz.jmmjsl || 0"
|
|||
|
|
class="num-one">{{ xz.jmmjsl || 0 }}</span></span>
|
|||
|
|
<span class="label" @click="show_Dialog('jmll', 'fj')"><span class="xbt">辅警:</span><span :title="xz.jmfjsl || 0"
|
|||
|
|
class="num-two">{{ xz.jmfjsl || 0 }}</span></span>
|
|||
|
|
</li>
|
|||
|
|
<!-- <li class="item">
|
|||
|
|
<div class="bt">当日巡逻:</div>
|
|||
|
|
<span class="label" @click="show_Dialog('xlsc', 'xs')"><span class="xbt">时长(h):</span><span :title="xz.xfsc || 0"
|
|||
|
|
class="num-one">{{ xz.xfsc || 0 }}</span></span>
|
|||
|
|
<span class="label" @click="show_Dialog('xlsc', 'lc')"><span class="xbt">里程(km):</span><span :title="xz.xflc || 0"
|
|||
|
|
class="num-two">{{ xz.xflc || 0 }}</span></span>
|
|||
|
|
</li>
|
|||
|
|
<li class="item">
|
|||
|
|
<div class="bt">任务情况:</div>
|
|||
|
|
<span class="label" @click="show_Dialog('zlzx', 'zs')"><span class="xbt">总数:</span><span class="num-one">{{
|
|||
|
|
zlzx.zlzs || 0 }}</span></span>
|
|||
|
|
<span class="label" @click="show_Dialog('zlzx', 'zx')"><span class="xbt">执行:</span><span class="num-two">{{
|
|||
|
|
zlzx.zlzxs || 0 }}</span></span>
|
|||
|
|
</li> -->
|
|||
|
|
</ul>
|
|||
|
|
</div>
|
|||
|
|
</template>
|
|||
|
|
|
|||
|
|
<script setup>
|
|||
|
|
import emitter from "@/utils/eventBus.js";
|
|||
|
|
import { getZgjlData, getSelectDeck, getSelectCarCount, getSelectInstructCount } from "@/api/dpApi/home.js";
|
|||
|
|
import { ref, onMounted } from "vue";
|
|||
|
|
const jl = ref({}); //左上方统计数据 警力
|
|||
|
|
const xz = ref({}); //左上方统计数据 巡组
|
|||
|
|
const pc = ref(0); //左上方统计数据 盘车
|
|||
|
|
const pr = ref(0); //左上方统计数据 盘人
|
|||
|
|
const zlzx = ref({}); //左上方统计数据 指令执行状况
|
|||
|
|
|
|||
|
|
onMounted(() => {
|
|||
|
|
_getZgjlData();
|
|||
|
|
_getSelectDeck();
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
// 在岗警力
|
|||
|
|
function _getZgjlData() {
|
|||
|
|
getZgjlData().then((res) => {
|
|||
|
|
jl.value = res;
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// 街面巡组 | 巡逻时长里程 |街面力量
|
|||
|
|
function _getSelectDeck() {
|
|||
|
|
getSelectDeck().then((res) => {
|
|||
|
|
if (res.xfsc != 0) res.xfsc = (res.xfsc / 3600).toFixed(2);
|
|||
|
|
if (res.xflc != 0) res.xflc = (res.xflc / 1000).toFixed(2);
|
|||
|
|
xz.value = res;
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
// 展示弹窗
|
|||
|
|
function show_Dialog(val, type) {
|
|||
|
|
switch (val) {
|
|||
|
|
case 'zgjl':
|
|||
|
|
emitter.emit("showJLWindow", type); //展示在岗警力的弹框
|
|||
|
|
break;
|
|||
|
|
case 'jmxz':
|
|||
|
|
emitter.emit("showJMXZWindow", type); //展示在巡组的弹框
|
|||
|
|
break;
|
|||
|
|
case 'jmll':
|
|||
|
|
emitter.emit("showJMLLWindow", type); //展示街面力量的弹框
|
|||
|
|
break;
|
|||
|
|
case 'xlsc':
|
|||
|
|
emitter.emit("showXLSCWindow", type); //巡逻时长的弹框
|
|||
|
|
break;
|
|||
|
|
case 'pcgz':
|
|||
|
|
emitter.emit("showPCGZWindow", type); //展示盘查工作的弹框
|
|||
|
|
break;
|
|||
|
|
case 'zlzx':
|
|||
|
|
emitter.emit("showZlzxWindow", type); //点击打开指令弹窗
|
|||
|
|
break;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
</script>
|
|||
|
|
<style lang="scss" scoped>
|
|||
|
|
@import "@/assets/css/homeScreen.scss";
|
|||
|
|
|
|||
|
|
.cntinfo {
|
|||
|
|
display: flex;
|
|||
|
|
flex-direction: column;
|
|||
|
|
justify-content: space-between;
|
|||
|
|
|
|||
|
|
.item {
|
|||
|
|
display: flex;
|
|||
|
|
align-items: center;
|
|||
|
|
padding: 0 6px;
|
|||
|
|
box-sizing: border-box;
|
|||
|
|
flex: 1;
|
|||
|
|
line-height: 35px;
|
|||
|
|
font-size: 14px;
|
|||
|
|
|
|||
|
|
>span {
|
|||
|
|
flex: 1;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.bt {
|
|||
|
|
color: #01E9ED;
|
|||
|
|
display: inline-block;
|
|||
|
|
width: 80px;
|
|||
|
|
font-size: 16px;
|
|||
|
|
font-weight: 700;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.xbt {
|
|||
|
|
display: inline-block;
|
|||
|
|
width: 70px;
|
|||
|
|
cursor: pointer;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.num-one {
|
|||
|
|
color: #00BFFF;
|
|||
|
|
font-size: 16px;
|
|||
|
|
cursor: pointer;
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.num-two {
|
|||
|
|
color: #01E9ED;
|
|||
|
|
font-size: 16px;
|
|||
|
|
cursor: pointer;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.label {
|
|||
|
|
white-space: nowrap;
|
|||
|
|
overflow: hidden;
|
|||
|
|
text-overflow: ellipsis;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.label:nth-child(1) .xbt {
|
|||
|
|
width: 60px;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.item:nth-child(2n+1) {
|
|||
|
|
background-image: linear-gradient(to right, rgba(1, 127, 216, 1), rgba(4, 56, 131, .5), rgba(1, 130, 218, .0));
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
</style>
|