1
guanqb
2022-12-02 a75652069920f855a06c9c0e95f0b7320e65051c
1
8 files modified
377 ■■■■ changed files
public/img/icon/monitor.png patch | view | raw | blame | history
public/img/icon/pCar.png patch | view | raw | blame | history
public/img/icon/pPhone.png patch | view | raw | blame | history
public/img/icon/recorder.png patch | view | raw | blame | history
src/assets/data/equimentsDate/car.js 40 ●●●● patch | view | raw | blame | history
src/assets/data/equimentsDate/phone.js 40 ●●●● patch | view | raw | blame | history
src/assets/data/equimentsDate/recorder.js 40 ●●●● patch | view | raw | blame | history
src/views/home/components/rightContainer.vue 257 ●●●● patch | view | raw | blame | history
public/img/icon/monitor.png

public/img/icon/pCar.png

public/img/icon/pPhone.png

public/img/icon/recorder.png

src/assets/data/equimentsDate/car.js
@@ -1,22 +1,22 @@
export default [
    { 'equimentType': '警车', 'carID': '#11111', 'carType': '大众', 'policeStation': '车站派出所', 'area': '责任区1', 'state': '运行' },
    { 'equimentType': '警车', 'carID': '#22222', 'carType': '宝马', 'policeStation': '车站派出所', 'area': '责任区1', 'state': '备用' },
    { 'equimentType': '警车', 'carID': '#33333', 'carType': '奔驰', 'policeStation': '车站派出所', 'area': '责任区2', 'state': '检修' },
    { 'equimentType': '警车', 'carID': '#44444', 'carType': '红旗', 'policeStation': '车站派出所', 'area': '责任区2', 'state': '禁用' },
    { 'equimentType': '警车', 'carID': '#55555', 'carType': '大众', 'policeStation': '沙溪派出所', 'area': '责任区1', 'state': '运行' },
    { 'equimentType': '警车', 'carID': '#66666', 'carType': '宝马', 'policeStation': '沙溪派出所', 'area': '责任区1', 'state': '备用' },
    { 'equimentType': '警车', 'carID': '#77777', 'carType': '奔驰', 'policeStation': '沙溪派出所', 'area': '责任区2', 'state': '检修' },
    { 'equimentType': '警车', 'carID': '#88888', 'carType': '红旗', 'policeStation': '沙溪派出所', 'area': '责任区2', 'state': '禁用' },
    { 'equimentType': '警车', 'carID': '*99911', 'carType': '大众', 'policeStation': '北门派出所', 'area': '责任区1', 'state': '运行' },
    { 'equimentType': '警车', 'carID': '*99922', 'carType': '宝马', 'policeStation': '北门派出所', 'area': '责任区1', 'state': '备用' },
    { 'equimentType': '警车', 'carID': '*99933', 'carType': '奔驰', 'policeStation': '北门派出所', 'area': '责任区2', 'state': '检修' },
    { 'equimentType': '警车', 'carID': '*99944', 'carType': '红旗', 'policeStation': '北门派出所', 'area': '责任区2', 'state': '禁用' },
    { 'equimentType': '警车', 'carID': '*99955', 'carType': '大众', 'policeStation': '灵溪派出所', 'area': '责任区1', 'state': '运行' },
    { 'equimentType': '警车', 'carID': '*99966', 'carType': '宝马', 'policeStation': '灵溪派出所', 'area': '责任区1', 'state': '备用' },
    { 'equimentType': '警车', 'carID': '*99977', 'carType': '奔驰', 'policeStation': '灵溪派出所', 'area': '责任区2', 'state': '检修' },
    { 'equimentType': '警车', 'carID': '*99988', 'carType': '红旗', 'policeStation': '灵溪派出所', 'area': '责任区2', 'state': '禁用' },
    { 'equimentType': '警车', 'carID': '#11***', 'carType': '大众', 'policeStation': '江光派出所', 'area': '责任区1', 'state': '运行' },
    { 'equimentType': '警车', 'carID': '#22***', 'carType': '宝马', 'policeStation': '江光派出所', 'area': '责任区1', 'state': '备用' },
    { 'equimentType': '警车', 'carID': '#33***', 'carType': '奔驰', 'policeStation': '江光派出所', 'area': '责任区2', 'state': '检修' },
    { 'equimentType': '警车', 'carID': '#44***', 'carType': '红旗', 'policeStation': '江光派出所', 'area': '责任区2', 'state': '禁用' }
    { 'equimentType': '警车', 'carID': '#11111', 'carType': '大众', 'policeStation': '车站派出所', 'area': '责任区1', 'state': '正常' },
    { 'equimentType': '警车', 'carID': '#22222', 'carType': '宝马', 'policeStation': '车站派出所', 'area': '责任区1', 'state': '故障' },
    { 'equimentType': '警车', 'carID': '#33333', 'carType': '奔驰', 'policeStation': '车站派出所', 'area': '责任区2', 'state': '保养' },
    { 'equimentType': '警车', 'carID': '#44444', 'carType': '红旗', 'policeStation': '车站派出所', 'area': '责任区2', 'state': '停用' },
    { 'equimentType': '警车', 'carID': '#55555', 'carType': '大众', 'policeStation': '沙溪派出所', 'area': '责任区1', 'state': '正常' },
    { 'equimentType': '警车', 'carID': '#66666', 'carType': '宝马', 'policeStation': '沙溪派出所', 'area': '责任区1', 'state': '故障' },
    { 'equimentType': '警车', 'carID': '#77777', 'carType': '奔驰', 'policeStation': '沙溪派出所', 'area': '责任区2', 'state': '封存' },
    { 'equimentType': '警车', 'carID': '#88888', 'carType': '红旗', 'policeStation': '沙溪派出所', 'area': '责任区2', 'state': '停用' },
    { 'equimentType': '警车', 'carID': '*99911', 'carType': '大众', 'policeStation': '北门派出所', 'area': '责任区1', 'state': '正常' },
    { 'equimentType': '警车', 'carID': '*99922', 'carType': '宝马', 'policeStation': '北门派出所', 'area': '责任区1', 'state': '故障' },
    { 'equimentType': '警车', 'carID': '*99933', 'carType': '奔驰', 'policeStation': '北门派出所', 'area': '责任区2', 'state': '保养' },
    { 'equimentType': '警车', 'carID': '*99944', 'carType': '红旗', 'policeStation': '北门派出所', 'area': '责任区2', 'state': '停用' },
    { 'equimentType': '警车', 'carID': '*99955', 'carType': '大众', 'policeStation': '灵溪派出所', 'area': '责任区1', 'state': '正常' },
    { 'equimentType': '警车', 'carID': '*99966', 'carType': '宝马', 'policeStation': '灵溪派出所', 'area': '责任区1', 'state': '故障' },
    { 'equimentType': '警车', 'carID': '*99977', 'carType': '奔驰', 'policeStation': '灵溪派出所', 'area': '责任区2', 'state': '保养' },
    { 'equimentType': '警车', 'carID': '*99988', 'carType': '红旗', 'policeStation': '灵溪派出所', 'area': '责任区2', 'state': '停用' },
    { 'equimentType': '警车', 'carID': '#11***', 'carType': '大众', 'policeStation': '江光派出所', 'area': '责任区1', 'state': '正常' },
    { 'equimentType': '警车', 'carID': '#22***', 'carType': '宝马', 'policeStation': '江光派出所', 'area': '责任区1', 'state': '封存' },
    { 'equimentType': '警车', 'carID': '#33***', 'carType': '奔驰', 'policeStation': '江光派出所', 'area': '责任区2', 'state': '保养' },
    { 'equimentType': '警车', 'carID': '#44***', 'carType': '红旗', 'policeStation': '江光派出所', 'area': '责任区2', 'state': '停用' }
]
src/assets/data/equimentsDate/phone.js
@@ -1,22 +1,22 @@
export default [
    { 'equimentType': '手台', 'phoneID': '188XXX11111', 'phoneType': '魅族', 'policeStation': '车站派出所', 'area': '责任区1', 'state': '检修' },
    { 'equimentType': '手台', 'phoneID': '188XXX22222', 'phoneType': '华为', 'policeStation': '车站派出所', 'area': '责任区1', 'state': '禁用' },
    { 'equimentType': '手台', 'phoneID': '188XXX33333', 'phoneType': '一加', 'policeStation': '车站派出所', 'area': '责任区2', 'state': '运行' },
    { 'equimentType': '手台', 'phoneID': '188XXX44444', 'phoneType': '华为', 'policeStation': '车站派出所', 'area': '责任区2', 'state': '运行' },
    { 'equimentType': '手台', 'phoneID': '188XXX55555', 'phoneType': '三星', 'policeStation': '沙溪派出所', 'area': '责任区1', 'state': '检修' },
    { 'equimentType': '手台', 'phoneID': '188XXX66666', 'phoneType': '华为', 'policeStation': '沙溪派出所', 'area': '责任区1', 'state': '禁用' },
    { 'equimentType': '手台', 'phoneID': '188XXX77777', 'phoneType': '小米', 'policeStation': '沙溪派出所', 'area': '责任区2', 'state': '运行' },
    { 'equimentType': '手台', 'phoneID': '188XXX88888', 'phoneType': '华为', 'policeStation': '沙溪派出所', 'area': '责任区2', 'state': '检修' },
    { 'equimentType': '手台', 'phoneID': '133XXX11111', 'phoneType': '魅族', 'policeStation': '北门派出所', 'area': '责任区1', 'state': '检修' },
    { 'equimentType': '手台', 'phoneID': '133XXX22222', 'phoneType': '华为', 'policeStation': '北门派出所', 'area': '责任区1', 'state': '禁用' },
    { 'equimentType': '手台', 'phoneID': '133XXX33333', 'phoneType': '一加', 'policeStation': '北门派出所', 'area': '责任区2', 'state': '运行' },
    { 'equimentType': '手台', 'phoneID': '133XXX44444', 'phoneType': '华为', 'policeStation': '北门派出所', 'area': '责任区2', 'state': '备用' },
    { 'equimentType': '手台', 'phoneID': '133XXX55555', 'phoneType': '三星', 'policeStation': '灵溪派出所', 'area': '责任区1', 'state': '检修' },
    { 'equimentType': '手台', 'phoneID': '133XXX66666', 'phoneType': '华为', 'policeStation': '灵溪派出所', 'area': '责任区1', 'state': '禁用' },
    { 'equimentType': '手台', 'phoneID': '133XXX77777', 'phoneType': '小米', 'policeStation': '灵溪派出所', 'area': '责任区2', 'state': '运行' },
    { 'equimentType': '手台', 'phoneID': '133XXX88888', 'phoneType': '华为', 'policeStation': '灵溪派出所', 'area': '责任区2', 'state': '备用' },
    { 'equimentType': '手台', 'phoneID': '175XXX11111', 'phoneType': '魅族', 'policeStation': '江光派出所', 'area': '责任区1', 'state': '检修' },
    { 'equimentType': '手台', 'phoneID': '175XXX22222', 'phoneType': '华为', 'policeStation': '江光派出所', 'area': '责任区1', 'state': '禁用' },
    { 'equimentType': '手台', 'phoneID': '175XXX33333', 'phoneType': '一加', 'policeStation': '江光派出所', 'area': '责任区2', 'state': '运行' },
    { 'equimentType': '手台', 'phoneID': '175XXX44444', 'phoneType': '华为', 'policeStation': '江光派出所', 'area': '责任区2', 'state': '运行' }
    { 'equimentType': '手台', 'phoneID': '188XXX11111', 'phoneType': '魅族', 'policeStation': '车站派出所', 'area': '责任区1', 'state': '保养' },
    { 'equimentType': '手台', 'phoneID': '188XXX22222', 'phoneType': '华为', 'policeStation': '车站派出所', 'area': '责任区1', 'state': '停用' },
    { 'equimentType': '手台', 'phoneID': '188XXX33333', 'phoneType': '一加', 'policeStation': '车站派出所', 'area': '责任区2', 'state': '正常' },
    { 'equimentType': '手台', 'phoneID': '188XXX44444', 'phoneType': '华为', 'policeStation': '车站派出所', 'area': '责任区2', 'state': '正常' },
    { 'equimentType': '手台', 'phoneID': '188XXX55555', 'phoneType': '三星', 'policeStation': '沙溪派出所', 'area': '责任区1', 'state': '保养' },
    { 'equimentType': '手台', 'phoneID': '188XXX66666', 'phoneType': '华为', 'policeStation': '沙溪派出所', 'area': '责任区1', 'state': '停用' },
    { 'equimentType': '手台', 'phoneID': '188XXX77777', 'phoneType': '小米', 'policeStation': '沙溪派出所', 'area': '责任区2', 'state': '正常' },
    { 'equimentType': '手台', 'phoneID': '188XXX88888', 'phoneType': '华为', 'policeStation': '沙溪派出所', 'area': '责任区2', 'state': '保养' },
    { 'equimentType': '手台', 'phoneID': '133XXX11111', 'phoneType': '魅族', 'policeStation': '北门派出所', 'area': '责任区1', 'state': '保养' },
    { 'equimentType': '手台', 'phoneID': '133XXX22222', 'phoneType': '华为', 'policeStation': '北门派出所', 'area': '责任区1', 'state': '停用' },
    { 'equimentType': '手台', 'phoneID': '133XXX33333', 'phoneType': '一加', 'policeStation': '北门派出所', 'area': '责任区2', 'state': '正常' },
    { 'equimentType': '手台', 'phoneID': '133XXX44444', 'phoneType': '华为', 'policeStation': '北门派出所', 'area': '责任区2', 'state': '故障' },
    { 'equimentType': '手台', 'phoneID': '133XXX55555', 'phoneType': '三星', 'policeStation': '灵溪派出所', 'area': '责任区1', 'state': '保养' },
    { 'equimentType': '手台', 'phoneID': '133XXX66666', 'phoneType': '华为', 'policeStation': '灵溪派出所', 'area': '责任区1', 'state': '封存' },
    { 'equimentType': '手台', 'phoneID': '133XXX77777', 'phoneType': '小米', 'policeStation': '灵溪派出所', 'area': '责任区2', 'state': '正常' },
    { 'equimentType': '手台', 'phoneID': '133XXX88888', 'phoneType': '华为', 'policeStation': '灵溪派出所', 'area': '责任区2', 'state': '故障' },
    { 'equimentType': '手台', 'phoneID': '175XXX11111', 'phoneType': '魅族', 'policeStation': '江光派出所', 'area': '责任区1', 'state': '保养' },
    { 'equimentType': '手台', 'phoneID': '175XXX22222', 'phoneType': '华为', 'policeStation': '江光派出所', 'area': '责任区1', 'state': '停用' },
    { 'equimentType': '手台', 'phoneID': '175XXX33333', 'phoneType': '一加', 'policeStation': '江光派出所', 'area': '责任区2', 'state': '封存' },
    { 'equimentType': '手台', 'phoneID': '175XXX44444', 'phoneType': '华为', 'policeStation': '江光派出所', 'area': '责任区2', 'state': '正常' }
]
src/assets/data/equimentsDate/recorder.js
@@ -1,22 +1,22 @@
export default [
    { 'equimentType': '执法记录仪', 'recorderID': 'ABC111', 'recorderType': '爱国', 'policeStation': '车站派出所', 'area': '责任区1', 'state': '检修' },
    { 'equimentType': '执法记录仪', 'recorderID': 'ABC222', 'recorderType': '百步', 'policeStation': '车站派出所', 'area': '责任区1', 'state': '禁用' },
    { 'equimentType': '执法记录仪', 'recorderID': 'ABC333', 'recorderType': '飞利', 'policeStation': '车站派出所', 'area': '责任区2', 'state': '运行' },
    { 'equimentType': '执法记录仪', 'recorderID': 'ABC444', 'recorderType': '途强', 'policeStation': '车站派出所', 'area': '责任区2', 'state': '备用' },
    { 'equimentType': '执法记录仪', 'recorderID': 'ABC555', 'recorderType': '鹰眼', 'policeStation': '沙溪派出所', 'area': '责任区1', 'state': '检修' },
    { 'equimentType': '执法记录仪', 'recorderID': 'ABC666', 'recorderType': '致业', 'policeStation': '沙溪派出所', 'area': '责任区1', 'state': '禁用' },
    { 'equimentType': '执法记录仪', 'recorderID': 'ABC777', 'recorderType': '联想', 'policeStation': '沙溪派出所', 'area': '责任区2', 'state': '运行' },
    { 'equimentType': '执法记录仪', 'recorderID': 'ABC888', 'recorderType': '高新', 'policeStation': '沙溪派出所', 'area': '责任区2', 'state': '备用' },
    { 'equimentType': '执法记录仪', 'recorderID': 'FFF111', 'recorderType': '爱国', 'policeStation': '北门派出所', 'area': '责任区1', 'state': '检修' },
    { 'equimentType': '执法记录仪', 'recorderID': 'FFF222', 'recorderType': '百步', 'policeStation': '北门派出所', 'area': '责任区1', 'state': '禁用' },
    { 'equimentType': '执法记录仪', 'recorderID': 'FFF333', 'recorderType': '飞利', 'policeStation': '北门派出所', 'area': '责任区2', 'state': '运行' },
    { 'equimentType': '执法记录仪', 'recorderID': 'FFF444', 'recorderType': '途强', 'policeStation': '北门派出所', 'area': '责任区2', 'state': '备用' },
    { 'equimentType': '执法记录仪', 'recorderID': 'FFF555', 'recorderType': '鹰眼', 'policeStation': '灵溪派出所', 'area': '责任区1', 'state': '检修' },
    { 'equimentType': '执法记录仪', 'recorderID': 'FFF666', 'recorderType': '致业', 'policeStation': '灵溪派出所', 'area': '责任区1', 'state': '禁用' },
    { 'equimentType': '执法记录仪', 'recorderID': 'FFF777', 'recorderType': '联想', 'policeStation': '灵溪派出所', 'area': '责任区2', 'state': '运行' },
    { 'equimentType': '执法记录仪', 'recorderID': 'FFF888', 'recorderType': '高新', 'policeStation': '灵溪派出所', 'area': '责任区2', 'state': '禁用' },
    { 'equimentType': '执法记录仪', 'recorderID': 'GGG111', 'recorderType': '爱国', 'policeStation': '江光派出所', 'area': '责任区1', 'state': '检修' },
    { 'equimentType': '执法记录仪', 'recorderID': 'GGG222', 'recorderType': '百步', 'policeStation': '江光派出所', 'area': '责任区1', 'state': '禁用' },
    { 'equimentType': '执法记录仪', 'recorderID': 'GGG333', 'recorderType': '飞利', 'policeStation': '江光派出所', 'area': '责任区2', 'state': '运行' },
    { 'equimentType': '执法记录仪', 'recorderID': 'GGG444', 'recorderType': '途强', 'policeStation': '江光派出所', 'area': '责任区2', 'state': '禁用' },
    { 'equimentType': '执法记录仪', 'recorderID': 'ABC111', 'recorderType': '爱国', 'policeStation': '车站派出所', 'area': '责任区1', 'state': '保养' },
    { 'equimentType': '执法记录仪', 'recorderID': 'ABC222', 'recorderType': '百步', 'policeStation': '车站派出所', 'area': '责任区1', 'state': '封存' },
    { 'equimentType': '执法记录仪', 'recorderID': 'ABC333', 'recorderType': '飞利', 'policeStation': '车站派出所', 'area': '责任区2', 'state': '正常' },
    { 'equimentType': '执法记录仪', 'recorderID': 'ABC444', 'recorderType': '途强', 'policeStation': '车站派出所', 'area': '责任区2', 'state': '故障' },
    { 'equimentType': '执法记录仪', 'recorderID': 'ABC555', 'recorderType': '鹰眼', 'policeStation': '沙溪派出所', 'area': '责任区1', 'state': '保养' },
    { 'equimentType': '执法记录仪', 'recorderID': 'ABC666', 'recorderType': '致业', 'policeStation': '沙溪派出所', 'area': '责任区1', 'state': '停用' },
    { 'equimentType': '执法记录仪', 'recorderID': 'ABC777', 'recorderType': '联想', 'policeStation': '沙溪派出所', 'area': '责任区2', 'state': '正常' },
    { 'equimentType': '执法记录仪', 'recorderID': 'ABC888', 'recorderType': '高新', 'policeStation': '沙溪派出所', 'area': '责任区2', 'state': '故障' },
    { 'equimentType': '执法记录仪', 'recorderID': 'FFF111', 'recorderType': '爱国', 'policeStation': '北门派出所', 'area': '责任区1', 'state': '保养' },
    { 'equimentType': '执法记录仪', 'recorderID': 'FFF222', 'recorderType': '百步', 'policeStation': '北门派出所', 'area': '责任区1', 'state': '停用' },
    { 'equimentType': '执法记录仪', 'recorderID': 'FFF333', 'recorderType': '飞利', 'policeStation': '北门派出所', 'area': '责任区2', 'state': '正常' },
    { 'equimentType': '执法记录仪', 'recorderID': 'FFF444', 'recorderType': '途强', 'policeStation': '北门派出所', 'area': '责任区2', 'state': '封存' },
    { 'equimentType': '执法记录仪', 'recorderID': 'FFF555', 'recorderType': '鹰眼', 'policeStation': '灵溪派出所', 'area': '责任区1', 'state': '保养' },
    { 'equimentType': '执法记录仪', 'recorderID': 'FFF666', 'recorderType': '致业', 'policeStation': '灵溪派出所', 'area': '责任区1', 'state': '停用' },
    { 'equimentType': '执法记录仪', 'recorderID': 'FFF777', 'recorderType': '联想', 'policeStation': '灵溪派出所', 'area': '责任区2', 'state': '正常' },
    { 'equimentType': '执法记录仪', 'recorderID': 'FFF888', 'recorderType': '高新', 'policeStation': '灵溪派出所', 'area': '责任区2', 'state': '停用' },
    { 'equimentType': '执法记录仪', 'recorderID': 'GGG111', 'recorderType': '爱国', 'policeStation': '江光派出所', 'area': '责任区1', 'state': '保养' },
    { 'equimentType': '执法记录仪', 'recorderID': 'GGG222', 'recorderType': '百步', 'policeStation': '江光派出所', 'area': '责任区1', 'state': '停用' },
    { 'equimentType': '执法记录仪', 'recorderID': 'GGG333', 'recorderType': '飞利', 'policeStation': '江光派出所', 'area': '责任区2', 'state': '正常' },
    { 'equimentType': '执法记录仪', 'recorderID': 'GGG444', 'recorderType': '途强', 'policeStation': '江光派出所', 'area': '责任区2', 'state': '停用' },
]
src/views/home/components/rightContainer.vue
@@ -54,24 +54,42 @@
                    <span :class="{ choosed: linetype == 0 }" @click="lineTabClick(0)">设备种类</span>/
                    <span :class="{ choosed: linetype == 1 }" @click="lineTabClick(1)">设备状态</span>
                </div>
                <div class="legend">
                <div class="legend" v-show="(linetype == 0)">
                    <ul>
                        <li>
                            <div>
                                <img src="/img/icon/pCar.png" alt />
                            </div>车辆
                        <li style="color:#5470c6">
                            <img src="/img/icon/pCar.png" alt />
                            车辆
                        </li>
                        <li>
                        <li style="color:#90cb75">
                            <img src="/img/icon/monitor.png" alt />
                            <div></div>摄像头
                            摄像头
                        </li>
                        <li>
                        <li style="color:#fed85e">
                            <img src="/img/icon/recorder.png" alt />
                            <div></div>执法记录仪
                            执法记录仪
                        </li>
                        <li>
                        <li style="color:#f06767">
                            <img src="/img/icon/pPhone.png" alt />
                            <div></div>手台
                            手台
                        </li>
                    </ul>
                </div>
                <div class="legend" v-show="(linetype == 1)">
                    <ul>
                        <li style="color:#4caf50">
                            <div style="background-color:#4caf50"></div>正常
                        </li>
                        <li style="color:#2979ff">
                            <div style="background-color:#2979ff"></div>保养
                        </li>
                        <li style="color:#ffd600">
                            <div style="background-color:#ffd600"></div>故障
                        </li>
                        <li style="color:#0d47a1">
                            <div style="background-color:#0d47a1"></div>停用
                        </li>
                        <li style="color:#b71c1c">
                            <div style="background-color:#b71c1c"></div>封存
                        </li>
                    </ul>
                </div>
@@ -134,21 +152,24 @@
            carNewArr: [],
            recorderNewArr: [],
            workingSaveArr: [],
            spareSaveArr: [],
            overhaulSaveArr: [],
            faultSaveArr: [],
            maintainSaveArr: [],
            disableSaveArr: [],
            sealingSaveArr: [],
            workingNewArr: [],
            spareNewArr: [],
            overhaulNewArr: [],
            faultNewArr: [],
            maintainNewArr: [],
            disableNewArr: [],
            sealingNewArr: [],
            tableHeight: 0
        }
    },
    created () {
        this.workingSaveArr = this.workingSaveArr.concat(this.getEquimentChartStateData(phoneArr).workingArr).concat(this.getEquimentChartStateData(carArr).workingArr).concat(this.getEquimentChartStateData(recorderArr).workingArr)
        this.spareSaveArr = this.spareSaveArr.concat(this.getEquimentChartStateData(phoneArr).spareArr).concat(this.getEquimentChartStateData(carArr).spareArr).concat(this.getEquimentChartStateData(recorderArr).spareArr)
        this.overhaulSaveArr = this.overhaulSaveArr.concat(this.getEquimentChartStateData(phoneArr).overhaulArr).concat(this.getEquimentChartStateData(carArr).overhaulArr).concat(this.getEquimentChartStateData(recorderArr).overhaulArr)
        this.faultSaveArr = this.faultSaveArr.concat(this.getEquimentChartStateData(phoneArr).faultArr).concat(this.getEquimentChartStateData(carArr).faultArr).concat(this.getEquimentChartStateData(recorderArr).faultArr)
        this.maintainSaveArr = this.maintainSaveArr.concat(this.getEquimentChartStateData(phoneArr).maintainArr).concat(this.getEquimentChartStateData(carArr).maintainArr).concat(this.getEquimentChartStateData(recorderArr).maintainArr)
        this.disableSaveArr = this.disableSaveArr.concat(this.getEquimentChartStateData(phoneArr).disableArr).concat(this.getEquimentChartStateData(carArr).disableArr).concat(this.getEquimentChartStateData(recorderArr).disableArr)
        this.sealingSaveArr = this.sealingSaveArr.concat(this.getEquimentChartStateData(phoneArr).sealingArr).concat(this.getEquimentChartStateData(carArr).sealingArr).concat(this.getEquimentChartStateData(recorderArr).sealingArr)
    },
    mounted () {
@@ -198,31 +219,13 @@
                        if ('carCount' in params.data) {
                            tipHtml = `<span style="display: inline-block; margin-right: 4px; border-radius: 10px; width: 10px; height: 10px;background-color: #91cc75;"></span> ${params.data.name}<strong style="margin-left:10px">${params.data.value}台</strong><strong style="margin-left:10px;color:#5c7bd9">${params.percent}%</strong><br /><span style="color:#5470c6">警车:${params.data.carCount}台</span><span style="margin-left:10px;color:#91cc75">监控:${params.data.monitorCount}台</span><br /><span style="color:#fac858">手台:${params.data.phoneCount}台</span><span style="margin-left:10px;color:#ee6666">手持记录仪:${params.data.recorderCount}台</span>`
                        } else {
                            tipHtml = `<span style="display: inline-block; margin-right: 4px; border-radius: 10px; width: 10px; height: 10px;background-color: #91cc75;"></span> ${params.data.name}<strong style="margin-left:10px">${params.data.value}台</strong><strong style="margin-left:10px;color:#5c7bd9">${params.percent}%</strong><br /><span style="color:#00fe01">运行:${params.data.working}台</span><span style="margin-left:10px;color:#949494">备用:${params.data.spare}台</span><br /><span style="color:#fe2929">检修:${params.data.overhaul}台</span><span style="margin-left:10px;color:#69a9ff">禁用:${params.data.disable}台</span>`
                            tipHtml = `<span style="display: inline-block; margin-right: 4px; border-radius: 10px; width: 10px; height: 10px;background-color: #91cc75;"></span> ${params.data.name}<strong style="margin-left:10px">${params.data.value}台</strong><strong style="margin-left:10px;color:#5c7bd9">${params.percent}%</strong><br /><span style="color:#4caf50">正常:${params.data.working}台</span><span style="margin-left:10px;color:#2979ff">故障:${params.data.fault}台</span><br /><span style="color:#ffd600">保养:${params.data.maintain}台</span><span style="margin-left:10px;color:#0d47a1">停用:${params.data.disable}台</span><span style="margin-left:10px;color:#b71c1c">封存:${params.data.sealing}台</span>`
                        }
                        return tipHtml
                    },
                    backgroundColor: 'rgba(0,0,0,0.8)',
                    borderColor: 'rgba(0,0,0,0.7)',
                },
                // legend: {
                //     left: '60%',
                //     y: '25%',
                //     itemGap: 20,
                //     textStyle: {
                //         color: '#fff'
                //     },
                //     formatter: function (name) {
                //         let tarValue
                //         for (let i = 0; i < dataArr.length; i++) {
                //             if (dataArr[i].name == name) {
                //                 tarValue = dataArr[i].value
                //             }
                //         }
                //         let v = tarValue
                //         return `${name}     ${v} 台    `
                //     },
                // },
                graphic: {
                    type: "text",
                    left: "36.5%",
@@ -231,7 +234,7 @@
                        text: "设备总数",
                        textAlign: "center",
                        fill: "#fff",
                        fontSize: 20,
                        fontSize: 18,
                        fontWeight: 700
                    }
                },
@@ -241,7 +244,7 @@
                    top: "56%",
                    textStyle: {
                        color: "#27D9C8",
                        fontSize: 22,
                        fontSize: 20,
                        fontWeight: 700,
                        align: "center"
                    }
@@ -252,6 +255,7 @@
                        type: 'pie',
                        radius: ['40%', '70%'],
                        center: ['47%', '57%'],
                        data: dataArr,
                        avoidLabelOverlap: false,
                        labelLine: {
                            normal: {
@@ -262,34 +266,22 @@
                            }
                        },
                        label: {
                            show: false,
                            position: 'center',
                            normal: {
                                formatter: '{b}',
                                // formatter: function (params) {
                                //     // return params.name + "\n\n" + params.percent + "%"
                                //     console.log(params, 22222)
                                //     let tipHtml = ``
                                //     if ('carCount' in params.data) {
                                //         tipHtml = `${params.data.name}${params.data.value}台${params.percent}%警车:${params.data.carCount}台\n\n监控:${params.data.monitorCount}台手台:${params.data.phoneCount}台手持记录仪:${params.data.recorderCount}台`
                                //     } else {
                                //         tipHtml = `${params.data.name}${params.data.value}台${params.percent}%运行:${params.data.working}台\n\n备用:${params.data.spare}台检修:${params.data.overhaul}台禁用:${params.data.disable}台`
                                //     }
                                //     return tipHtml
                                // },
                                textStyle: {
                                    color: '#fff',
                                    fontSize: 14
                            color: function (params) {
                                let colorList = []
                                if ('carCount' in params.data) {
                                    colorList = ['#4caf50', '#2979ff', '#ffd600', '#0d47a1', '#b71c1c']
                                } else {
                                    colorList = ['#5470c6', '#91cc75', '#fac858', '#ee6666', '#73c0de', '#3ba272', '#fc8452', '#9a60b4', '#ea7ccc']
                                }
                                return colorList[params.dataIndex]
                            }
                        },
                        data: dataArr,
                        itemStyle: {
                            normal: {
                                color: function (params) {
                                    let colorList = []
                                    if ('carCount' in params.data) {
                                        colorList = ['#00fe01', '#949494', '#fe2929', '#69a9ff']
                                        colorList = ['#4caf50', '#2979ff', '#ffd600', '#0d47a1', '#b71c1c']
                                    } else {
                                        colorList = ['#5470c6', '#91cc75', '#fac858', '#ee6666', '#73c0de', '#3ba272', '#fc8452', '#9a60b4', '#ea7ccc']
                                    }
@@ -320,12 +312,6 @@
                equipmentmyChart.dispatchAction({
                    type: 'highlight', seriesIndex: 0, dataIndex: curIndex
                })
                // equipmentmyChart.dispatchAction({ select
                //     type: "showTip",
                //     seriesIndex: 0,
                //     dataIndex: curIndex,
                //     // position: ['5%', '5%'],
                // })
            }, 1000)
            equipmentmyChart.on('mouseover', function (param) {
                clearInterval(timer)
@@ -352,12 +338,6 @@
                    equipmentmyChart.dispatchAction({
                        type: 'highlight', seriesIndex: 0, dataIndex: curIndex
                    })
                    // equipmentmyChart.dispatchAction({
                    //     type: "showTip",
                    //     seriesIndex: 0,
                    //     dataIndex: curIndex,
                    //     // position: ['5%', '5%'],
                    // })
                }, 1000)
            })
        },
@@ -459,14 +439,16 @@
                    this.$emit('showequimentdetail', params.name, false, true, [false, true, false], this.carNewArr)
                } else if (params.name == '执法记录仪') {
                    this.$emit('showequimentdetail', params.name, false, true, [true, false, false], this.recorderNewArr)
                } else if (params.name == '运行') {
                } else if (params.name == '正常') {
                    this.$emit('showequimentdetail', params.name, false, true, [false, false, false, true], this.workingNewArr)
                } else if (params.name == '备用') {
                    this.$emit('showequimentdetail', params.name, false, true, [false, false, false, true], this.spareNewArr)
                } else if (params.name == '检修') {
                    this.$emit('showequimentdetail', params.name, false, true, [false, false, false, true], this.overhaulNewArr)
                } else if (params.name == '禁用') {
                } else if (params.name == '故障') {
                    this.$emit('showequimentdetail', params.name, false, true, [false, false, false, true], this.faultNewArr)
                } else if (params.name == '保养') {
                    this.$emit('showequimentdetail', params.name, false, true, [false, false, false, true], this.maintainNewArr)
                } else if (params.name == '停用') {
                    this.$emit('showequimentdetail', params.name, false, true, [false, false, false, true], this.disableNewArr)
                } else if (params.name == '封存') {
                    this.$emit('showequimentdetail', params.name, false, true, [false, false, false, true], this.sealingNewArr)
                }
            })
        },
@@ -537,13 +519,14 @@
            this.recorderNewArr = []
            // 设备状态
            this.workingNewArr = []
            this.spareNewArr = []
            this.overhaulNewArr = []
            this.faultNewArr = []
            this.maintainNewArr = []
            this.disableNewArr = []
            this.sealingNewArr = []
            let phoneState = {}
            let carState = {}
            let recorderState = {}
            let monitorState = { 'working': 4, 'spare': 2, 'overhaul': 3, 'disable': 1 }
            let monitorState = { 'working': 4, 'fault': 2, 'maintain': 2, 'disable': 1, 'sealing': 1 }
            if (policeStationName == '全部') {
                phoneCount = phoneArr.length
@@ -554,9 +537,10 @@
                this.recorderNewArr = recorderArr
                monitorCount = 10
                this.workingNewArr = this.workingSaveArr
                this.spareNewArr = this.spareSaveArr
                this.overhaulNewArr = this.overhaulSaveArr
                this.faultNewArr = this.faultSaveArr
                this.maintainNewArr = this.maintainSaveArr
                this.disableNewArr = this.disableSaveArr
                this.sealingNewArr = this.sealingSaveArr
            } else {
                this.phoneNewArr = this.getEquimentDataCountandArr(phoneArr, policeStationName).arr
                phoneCount = this.getEquimentDataCountandArr(phoneArr, policeStationName).count
@@ -566,46 +550,51 @@
                recorderCount = this.getEquimentDataCountandArr(recorderArr, policeStationName).count
                monitorCount = 10
                this.workingNewArr = this.getEquimentDataCountandArr(this.workingSaveArr, policeStationName).arr
                this.spareNewArr = this.getEquimentDataCountandArr(this.spareSaveArr, policeStationName).arr
                this.overhaulNewArr = this.getEquimentDataCountandArr(this.overhaulSaveArr, policeStationName).arr
                this.faultNewArr = this.getEquimentDataCountandArr(this.faultSaveArr, policeStationName).arr
                this.maintainNewArr = this.getEquimentDataCountandArr(this.maintainSaveArr, policeStationName).arr
                this.disableNewArr = this.getEquimentDataCountandArr(this.disableSaveArr, policeStationName).arr
                this.sealingNewArr = this.getEquimentDataCountandArr(this.sealingSaveArr, policeStationName).arr
            }
            phoneState = this.getEquimentChartStateData(this.phoneNewArr)
            carState = this.getEquimentChartStateData(this.carNewArr)
            recorderState = this.getEquimentChartStateData(this.recorderNewArr)
            if (this.linetype == 0) {
                dataArr = [
                    { value: carCount, name: '车辆', working: carState.working, spare: carState.spare, overhaul: carState.overhaul, disable: carState.disable },
                    { value: monitorCount, name: '摄像头', working: monitorState.working, spare: monitorState.spare, overhaul: monitorState.overhaul, disable: monitorState.disable },
                    { value: recorderCount, name: '执法记录仪', working: recorderState.working, spare: recorderState.spare, overhaul: recorderState.overhaul, disable: recorderState.disable },
                    { value: phoneCount, name: '手台', working: phoneState.working, spare: phoneState.spare, overhaul: phoneState.overhaul, disable: phoneState.disable },
                    { value: carCount, name: '车辆', working: carState.working, fault: carState.fault, maintain: carState.maintain, disable: carState.disable, sealing: carState.sealing },
                    { value: monitorCount, name: '摄像头', working: monitorState.working, fault: monitorState.fault, maintain: monitorState.maintain, disable: monitorState.disable, sealing: monitorState.sealing },
                    { value: recorderCount, name: '执法记录仪', working: recorderState.working, fault: recorderState.fault, maintain: recorderState.maintain, disable: recorderState.disable, sealing: recorderState.sealing },
                    { value: phoneCount, name: '手台', working: phoneState.working, fault: phoneState.fault, maintain: phoneState.maintain, disable: phoneState.disable, sealing: phoneState.sealing },
                ]
                this.regionTotal = phoneCount + monitorCount + carCount + recorderCount
            } else {
                let workingObj = this.getEquimentChartTypeData(phoneState, carState, recorderState, monitorState).workingObj
                let spareObj = this.getEquimentChartTypeData(phoneState, carState, recorderState, monitorState).spareObj
                let overhaulObj = this.getEquimentChartTypeData(phoneState, carState, recorderState, monitorState).overhaulObj
                let faultObj = this.getEquimentChartTypeData(phoneState, carState, recorderState, monitorState).faultObj
                let maintainObj = this.getEquimentChartTypeData(phoneState, carState, recorderState, monitorState).maintainObj
                let disableObj = this.getEquimentChartTypeData(phoneState, carState, recorderState, monitorState).disableObj
                let sealingObj = this.getEquimentChartTypeData(phoneState, carState, recorderState, monitorState).sealingObj
                dataArr = [
                    { value: workingObj.total, name: '运行', carCount: workingObj.carCount, monitorCount: workingObj.monitorCount, recorderCount: workingObj.recorderCount, phoneCount: workingObj.phoneCount },
                    { value: spareObj.total, name: '备用', carCount: spareObj.carCount, monitorCount: spareObj.monitorCount, recorderCount: spareObj.recorderCount, phoneCount: spareObj.phoneCount },
                    { value: overhaulObj.total, name: '检修', carCount: overhaulObj.carCount, monitorCount: overhaulObj.monitorCount, recorderCount: overhaulObj.recorderCount, phoneCount: overhaulObj.phoneCount },
                    { value: disableObj.total, name: '禁用', carCount: disableObj.carCount, monitorCount: disableObj.monitorCount, recorderCount: disableObj.recorderCount, phoneCount: disableObj.phoneCount },
                    { value: workingObj.total, name: '正常', carCount: workingObj.carCount, monitorCount: workingObj.monitorCount, recorderCount: workingObj.recorderCount, phoneCount: workingObj.phoneCount, color: '#4caf50' },
                    { value: maintainObj.total, name: '保养', carCount: maintainObj.carCount, monitorCount: maintainObj.monitorCount, recorderCount: maintainObj.recorderCount, phoneCount: maintainObj.phoneCount, color: '#2979ff' },
                    { value: faultObj.total, name: '故障', carCount: faultObj.carCount, monitorCount: faultObj.monitorCount, recorderCount: faultObj.recorderCount, phoneCount: faultObj.phoneCount, color: '#ffd600' },
                    { value: disableObj.total, name: '停用', carCount: disableObj.carCount, monitorCount: disableObj.monitorCount, recorderCount: disableObj.recorderCount, phoneCount: disableObj.phoneCount, color: '#0d47a1' },
                    { value: sealingObj.total, name: '封存', carCount: sealingObj.carCount, monitorCount: sealingObj.monitorCount, recorderCount: sealingObj.recorderCount, phoneCount: sealingObj.phoneCount, color: '#b71c1c' },
                ]
                this.regionTotal = workingObj.total + spareObj.total + overhaulObj.total + disableObj.total
                this.regionTotal = workingObj.total + faultObj.total + maintainObj.total + disableObj.total + sealingObj.total
            }
            return dataArr
        },
        getEquimentChartStateData (newArr) {
            let working = 0
            let spare = 0
            let overhaul = 0
            let fault = 0
            let maintain = 0
            let disable = 0
            let sealing = 0
            let workingArr = []
            let spareArr = []
            let overhaulArr = []
            let faultArr = []
            let maintainArr = []
            let disableArr = []
            let sealingArr = []
            newArr.forEach(item => {
                for (let p in item) {
@@ -613,28 +602,32 @@
                        item['id'] = item[p]
                    }
                }
                if (item.state == '运行') {
                if (item.state == '正常') {
                    working++
                    workingArr.push(item)
                } else if (item.state == '备用') {
                    spare++
                    spareArr.push(item)
                } else if (item.state == '检修') {
                    overhaul++
                    overhaulArr.push(item)
                } else if (item.state == '禁用') {
                } else if (item.state == '故障') {
                    fault++
                    faultArr.push(item)
                } else if (item.state == '保养') {
                    maintain++
                    maintainArr.push(item)
                } else if (item.state == '停用') {
                    disable++
                    disableArr.push(item)
                } else if (item.state == '封存') {
                    sealing++
                    sealingArr.push(item)
                }
            })
            return { 'working': working, 'spare': spare, 'overhaul': overhaul, 'disable': disable, 'workingArr': workingArr, 'spareArr': spareArr, 'overhaulArr': overhaulArr, 'disableArr': disableArr }
            return { 'working': working, 'fault': fault, 'maintain': maintain, 'disable': disable, 'sealing': sealing, 'workingArr': workingArr, 'faultArr': faultArr, 'maintainArr': maintainArr, 'disableArr': disableArr, 'sealingArr': sealingArr }
        },
        getEquimentChartTypeData (phoneState, carState, recorderState, monitorState) {
            let workingObj = {}
            let spareObj = {}
            let overhaulObj = {}
            let faultObj = {}
            let maintainObj = {}
            let disableObj = {}
            let sealingObj = {}
            workingObj.phoneCount = phoneState.working
            workingObj.carCount = carState.working
@@ -642,17 +635,17 @@
            workingObj.monitorCount = monitorState.working
            workingObj.total = monitorState.working + recorderState.working + carState.working + phoneState.working
            spareObj.phoneCount = phoneState.spare
            spareObj.carCount = carState.spare
            spareObj.recorderCount = recorderState.spare
            spareObj.monitorCount = monitorState.spare
            spareObj.total = monitorState.spare + recorderState.spare + carState.spare + phoneState.spare
            faultObj.phoneCount = phoneState.fault
            faultObj.carCount = carState.fault
            faultObj.recorderCount = recorderState.fault
            faultObj.monitorCount = monitorState.fault
            faultObj.total = monitorState.fault + recorderState.fault + carState.fault + phoneState.fault
            overhaulObj.phoneCount = phoneState.overhaul
            overhaulObj.carCount = carState.overhaul
            overhaulObj.recorderCount = recorderState.overhaul
            overhaulObj.monitorCount = monitorState.overhaul
            overhaulObj.total = monitorState.overhaul + recorderState.overhaul + carState.overhaul + phoneState.overhaul
            maintainObj.phoneCount = phoneState.maintain
            maintainObj.carCount = carState.maintain
            maintainObj.recorderCount = recorderState.maintain
            maintainObj.monitorCount = monitorState.maintain
            maintainObj.total = monitorState.maintain + recorderState.maintain + carState.maintain + phoneState.maintain
            disableObj.phoneCount = phoneState.disable
            disableObj.carCount = carState.disable
@@ -660,7 +653,13 @@
            disableObj.monitorCount = monitorState.disable
            disableObj.total = monitorState.disable + recorderState.disable + carState.disable + phoneState.disable
            return { 'workingObj': workingObj, 'spareObj': spareObj, 'overhaulObj': overhaulObj, 'disableObj': disableObj }
            sealingObj.phoneCount = phoneState.sealing
            sealingObj.carCount = carState.sealing
            sealingObj.recorderCount = recorderState.sealing
            sealingObj.monitorCount = monitorState.sealing
            sealingObj.total = monitorState.sealing + recorderState.sealing + carState.sealing + phoneState.sealing
            return { 'workingObj': workingObj, 'faultObj': faultObj, 'maintainObj': maintainObj, 'disableObj': disableObj, 'sealingObj': sealingObj }
        },
        activityRowClick (row) {
@@ -773,19 +772,27 @@
                width: calc(100% - 36px);
                height: 70%;
                top: 100%;
                font-style: normal;
                font-weight: normal;
                ul {
                    display: flex;
                    height: 100%;
                    li {
                        height: 100%;
                        display: flex;
                        line-height: 100%;
                        line-height: 160%;
                        margin-right: 10px;
                        img {
                            height: 80%;
                            height: 60%;
                        }
                        // div::before {
                        //     content: '';
                        // }
                        div {
                            width: 20px;
                            height: 42%;
                            background-color: #fff;
                            border-radius: 4px;
                            margin-top: 5px;
                            margin-right: 2px;
                        }
                    }
                }
            }