|
@@ -90,7 +90,7 @@
|
90
|
90
|
</template>
|
91
|
91
|
<template slot-scope="{ row }" slot="actionSlot">
|
92
|
92
|
<div class="action_list">
|
93
|
|
- <div @click="toView(row)">查看</div>
|
|
93
|
+ <div v-if="row.sn" @click="toView(row)">查看</div>
|
94
|
94
|
<div @click="toStrategy(row)">策略</div>
|
95
|
95
|
<div v-if="row.sn" @click="toPsw(row)">设备密码</div>
|
96
|
96
|
</div>
|
|
@@ -349,6 +349,117 @@
|
349
|
349
|
<Button @click="strategyInfo.show = false">关闭</Button>
|
350
|
350
|
</div>
|
351
|
351
|
</Modal>
|
|
352
|
+ <Modal
|
|
353
|
+ class="modal2"
|
|
354
|
+ :mask-closable="false"
|
|
355
|
+ v-model="deviceDetailInfo.show"
|
|
356
|
+ :title="`查看【${deviceDetailInfo.username}】`"
|
|
357
|
+ >
|
|
358
|
+ <div class="section_title">基本信息</div>
|
|
359
|
+ <div class="section_item">
|
|
360
|
+ <div class="device_base">
|
|
361
|
+ <div class="device_base_left"></div>
|
|
362
|
+ <div class="device_base_right">
|
|
363
|
+ <Form :label-width="90">
|
|
364
|
+ <FormItem label="使用人">{{
|
|
365
|
+ deviceDetailInfo.detail.users[0] &&
|
|
366
|
+ deviceDetailInfo.detail.users[0].username
|
|
367
|
+ }}</FormItem>
|
|
368
|
+ <FormItem label="型号">{{
|
|
369
|
+ deviceDetailInfo.detail.deviceModel
|
|
370
|
+ }}</FormItem>
|
|
371
|
+ <FormItem label="OS版本">{{
|
|
372
|
+ deviceDetailInfo.detail.deviceVersion
|
|
373
|
+ }}</FormItem>
|
|
374
|
+ <FormItem label="设备名称">{{
|
|
375
|
+ deviceDetailInfo.detail.deviceName
|
|
376
|
+ }}</FormItem>
|
|
377
|
+ <FormItem label="是否root">{{
|
|
378
|
+ deviceDetailInfo.detail.root === 1 ? "是" : "否"
|
|
379
|
+ }}</FormItem>
|
|
380
|
+ <FormItem label="账号">{{
|
|
381
|
+ deviceDetailInfo.detail.users[0] &&
|
|
382
|
+ deviceDetailInfo.detail.users[0].loginname
|
|
383
|
+ }}</FormItem>
|
|
384
|
+ </Form>
|
|
385
|
+ </div>
|
|
386
|
+ </div>
|
|
387
|
+ <div class="device_users">
|
|
388
|
+ <Table
|
|
389
|
+ :columns="usersColumns"
|
|
390
|
+ :data="deviceDetailInfo.detail.users"
|
|
391
|
+ ></Table>
|
|
392
|
+ </div>
|
|
393
|
+ </div>
|
|
394
|
+ <div class="section_title">详细信息</div>
|
|
395
|
+ <div class="section_item">
|
|
396
|
+ <div class="detail_left">
|
|
397
|
+ <table class="my_table">
|
|
398
|
+ <tr>
|
|
399
|
+ <th style="width: 110px">设备号</th>
|
|
400
|
+ <td></td>
|
|
401
|
+ </tr>
|
|
402
|
+ <tr>
|
|
403
|
+ <th>SN/IMEI</th>
|
|
404
|
+ <td></td>
|
|
405
|
+ </tr>
|
|
406
|
+ <tr>
|
|
407
|
+ <th>WiFi/MAC</th>
|
|
408
|
+ <td></td>
|
|
409
|
+ </tr>
|
|
410
|
+ <tr>
|
|
411
|
+ <th>蓝牙MAC</th>
|
|
412
|
+ <td></td>
|
|
413
|
+ </tr>
|
|
414
|
+ </table>
|
|
415
|
+ </div>
|
|
416
|
+ <div class="detail_center">
|
|
417
|
+ <table class="my_table">
|
|
418
|
+ <tr>
|
|
419
|
+ <th style="width: 110px">系统内核</th>
|
|
420
|
+ <td></td>
|
|
421
|
+ </tr>
|
|
422
|
+ <tr>
|
|
423
|
+ <th>Rom版本</th>
|
|
424
|
+ <td></td>
|
|
425
|
+ </tr>
|
|
426
|
+ <tr>
|
|
427
|
+ <th>SIM序列号</th>
|
|
428
|
+ <td></td>
|
|
429
|
+ </tr>
|
|
430
|
+ </table>
|
|
431
|
+ </div>
|
|
432
|
+ <div class="detail_right"></div>
|
|
433
|
+ <div></div>
|
|
434
|
+ </div>
|
|
435
|
+ <div class="section_title">已安装应用</div>
|
|
436
|
+ <div class="section_table_wrap">
|
|
437
|
+ <Table
|
|
438
|
+ :columns="installsColumns"
|
|
439
|
+ :data="deviceDetailInfo.detail.installs"
|
|
440
|
+ ></Table>
|
|
441
|
+ </div>
|
|
442
|
+ <div class="section_title">地理位置</div>
|
|
443
|
+ <div class="section_title">应用使用统计</div>
|
|
444
|
+ <div class="section_table_wrap">
|
|
445
|
+ <Table :columns="usesColumns" :data="deviceDetailInfo.detail.uses">
|
|
446
|
+ <template slot-scope="{ row }" slot="durationSlot">
|
|
447
|
+ <div>{{ formatSeconds(row.duration) }}</div>
|
|
448
|
+ </template>
|
|
449
|
+ </Table>
|
|
450
|
+ </div>
|
|
451
|
+ <div class="section_title">设备日志</div>
|
|
452
|
+ <div class="section_table_wrap">
|
|
453
|
+ <Table :columns="logsColumns" :data="deviceDetailInfo.detail.logs">
|
|
454
|
+ <template slot-scope="{ row }" slot="doEventSlot">
|
|
455
|
+ <div>{{ doEventInfo[row.doEvent] }}</div>
|
|
456
|
+ </template>
|
|
457
|
+ </Table>
|
|
458
|
+ </div>
|
|
459
|
+ <div slot="footer" style="text-align: center">
|
|
460
|
+ <Button @click="deviceDetailInfo.show = false">关闭</Button>
|
|
461
|
+ </div>
|
|
462
|
+ </Modal>
|
352
|
463
|
</div>
|
353
|
464
|
</template>
|
354
|
465
|
|
|
@@ -360,18 +471,27 @@ import { class_list, user_list_cs } from "@/api/school";
|
360
|
471
|
import {
|
361
|
472
|
device_manager_list_d,
|
362
|
473
|
device_manager_export_d,
|
363
|
|
- device_manager_export_id
|
|
474
|
+ device_manager_export_id,
|
|
475
|
+ device_manager_detail_d
|
364
|
476
|
} from "@/api/device_manager";
|
365
|
477
|
import { password_detail_userpwd } from "@/api/setting";
|
366
|
478
|
import { stPad_detail_web } from "@/api/stPad";
|
367
|
479
|
import { logPush_add } from "@/api/log";
|
368
|
|
-import { weekDay, padDeviceIcon, padViolatesInfo } from "@/utils";
|
|
480
|
+import {
|
|
481
|
+ weekDay,
|
|
482
|
+ padDeviceIcon,
|
|
483
|
+ padViolatesInfo,
|
|
484
|
+ doEventInfo,
|
|
485
|
+ formatSeconds
|
|
486
|
+} from "@/utils";
|
369
|
487
|
export default {
|
370
|
488
|
data() {
|
371
|
489
|
return {
|
372
|
490
|
weekDay,
|
373
|
491
|
padDeviceIcon,
|
374
|
492
|
padViolatesInfo,
|
|
493
|
+ doEventInfo,
|
|
494
|
+ formatSeconds,
|
375
|
495
|
userInfo: {},
|
376
|
496
|
// ws连接后回发信息
|
377
|
497
|
wsEnterInfo: {
|
|
@@ -400,7 +520,8 @@ export default {
|
400
|
520
|
title: "",
|
401
|
521
|
content: "",
|
402
|
522
|
classid: null,
|
403
|
|
- list: []
|
|
523
|
+ snList: [],
|
|
524
|
+ useridList: []
|
404
|
525
|
},
|
405
|
526
|
rules: {
|
406
|
527
|
title: [
|
|
@@ -515,6 +636,120 @@ export default {
|
515
|
636
|
slot: "violationHandling",
|
516
|
637
|
align: "center"
|
517
|
638
|
}
|
|
639
|
+ ],
|
|
640
|
+ // 查看详情
|
|
641
|
+ deviceDetailInfo: {
|
|
642
|
+ show: false,
|
|
643
|
+ username: null,
|
|
644
|
+ detail: {
|
|
645
|
+ usedMemory: null,
|
|
646
|
+ createtime: null,
|
|
647
|
+ romVersion: null,
|
|
648
|
+ positions: [],
|
|
649
|
+ deviceVersion: null,
|
|
650
|
+ userid: null,
|
|
651
|
+ wifyMac: null,
|
|
652
|
+ deviceName: null,
|
|
653
|
+ users: [],
|
|
654
|
+ installs: [],
|
|
655
|
+ sysKernel: null,
|
|
656
|
+ totalMemory: null,
|
|
657
|
+ ddid: null,
|
|
658
|
+ regionid: null,
|
|
659
|
+ sim: null,
|
|
660
|
+ root: null,
|
|
661
|
+ blueMac: null,
|
|
662
|
+ deviceModel: null,
|
|
663
|
+ uses: [],
|
|
664
|
+ sn: null,
|
|
665
|
+ logs: []
|
|
666
|
+ }
|
|
667
|
+ },
|
|
668
|
+ usersColumns: [
|
|
669
|
+ {
|
|
670
|
+ title: "历史登录账号",
|
|
671
|
+ key: "loginname",
|
|
672
|
+ align: "center"
|
|
673
|
+ },
|
|
674
|
+ {
|
|
675
|
+ title: "设备使用人",
|
|
676
|
+ key: "username",
|
|
677
|
+ align: "center"
|
|
678
|
+ },
|
|
679
|
+ {
|
|
680
|
+ title: "操作时间",
|
|
681
|
+ key: "createtime",
|
|
682
|
+ width: 190,
|
|
683
|
+ align: "center"
|
|
684
|
+ }
|
|
685
|
+ ],
|
|
686
|
+ installsColumns: [
|
|
687
|
+ {
|
|
688
|
+ title: "应用名称",
|
|
689
|
+ key: "appName",
|
|
690
|
+ align: "center"
|
|
691
|
+ },
|
|
692
|
+ {
|
|
693
|
+ title: "版本名称",
|
|
694
|
+ key: "appVersion",
|
|
695
|
+ align: "center"
|
|
696
|
+ },
|
|
697
|
+ {
|
|
698
|
+ title: "版本号",
|
|
699
|
+ key: "appNum",
|
|
700
|
+ align: "center"
|
|
701
|
+ },
|
|
702
|
+ {
|
|
703
|
+ title: "包名",
|
|
704
|
+ key: "appPackage",
|
|
705
|
+ align: "center"
|
|
706
|
+ },
|
|
707
|
+ {
|
|
708
|
+ title: "创建时间",
|
|
709
|
+ key: "createtime",
|
|
710
|
+ width: 190,
|
|
711
|
+ align: "center"
|
|
712
|
+ }
|
|
713
|
+ ],
|
|
714
|
+ usesColumns: [
|
|
715
|
+ {
|
|
716
|
+ title: "应用名称",
|
|
717
|
+ key: "appName",
|
|
718
|
+ align: "center"
|
|
719
|
+ },
|
|
720
|
+ {
|
|
721
|
+ title: "使用时长",
|
|
722
|
+ slot: "durationSlot",
|
|
723
|
+ align: "center"
|
|
724
|
+ },
|
|
725
|
+ {
|
|
726
|
+ title: "启动次数",
|
|
727
|
+ key: "num",
|
|
728
|
+ align: "center"
|
|
729
|
+ }
|
|
730
|
+ ],
|
|
731
|
+ logsColumns: [
|
|
732
|
+ {
|
|
733
|
+ title: "设备使用人",
|
|
734
|
+ key: "username",
|
|
735
|
+ align: "center"
|
|
736
|
+ },
|
|
737
|
+ {
|
|
738
|
+ title: "事件",
|
|
739
|
+ slot: "doEventSlot",
|
|
740
|
+ align: "center"
|
|
741
|
+ },
|
|
742
|
+ {
|
|
743
|
+ title: "描述",
|
|
744
|
+ key: "comm",
|
|
745
|
+ align: "center"
|
|
746
|
+ },
|
|
747
|
+ {
|
|
748
|
+ title: "操作时间",
|
|
749
|
+ key: "createtime",
|
|
750
|
+ width: 190,
|
|
751
|
+ align: "center"
|
|
752
|
+ }
|
518
|
753
|
]
|
519
|
754
|
};
|
520
|
755
|
},
|
|
@@ -711,7 +946,19 @@ export default {
|
711
|
946
|
});
|
712
|
947
|
},
|
713
|
948
|
// 查看
|
714
|
|
- toView() {},
|
|
949
|
+ toView(row) {
|
|
950
|
+ device_manager_detail_d({
|
|
951
|
+ name: row.sn
|
|
952
|
+ }).then((data) => {
|
|
953
|
+ if (data.code === 0) {
|
|
954
|
+ this.deviceDetailInfo.show = true;
|
|
955
|
+ this.deviceDetailInfo.username = row.username;
|
|
956
|
+ this.deviceDetailInfo.detail = data.obj;
|
|
957
|
+ } else {
|
|
958
|
+ this.$Message.error(data.msg);
|
|
959
|
+ }
|
|
960
|
+ });
|
|
961
|
+ },
|
715
|
962
|
// 策略
|
716
|
963
|
toStrategy(row) {
|
717
|
964
|
stPad_detail_web({ objectid: row.userid }).then((res) => {
|
|
@@ -774,9 +1021,13 @@ export default {
|
774
|
1021
|
this.$Message.error("推送服务不可用");
|
775
|
1022
|
return;
|
776
|
1023
|
}
|
777
|
|
- let snList = this.tableSelection
|
778
|
|
- .filter((row) => row.sn)
|
779
|
|
- .map((item) => item.sn);
|
|
1024
|
+ let userList = this.tableSelection.filter((row) => row.sn);
|
|
1025
|
+ let snList = [];
|
|
1026
|
+ let useridList = [];
|
|
1027
|
+ userList.forEach((item) => {
|
|
1028
|
+ snList.push(item.sn);
|
|
1029
|
+ useridList.push(item.userid);
|
|
1030
|
+ });
|
780
|
1031
|
if (name === "1") {
|
781
|
1032
|
// 恢复出厂
|
782
|
1033
|
if (snList.length === 0) {
|
|
@@ -787,7 +1038,7 @@ export default {
|
787
|
1038
|
title: "提示",
|
788
|
1039
|
content: "确定对所选设备进行恢复出厂设置操作吗?",
|
789
|
1040
|
onOk: () => {
|
790
|
|
- this.controlRestoreFactory(snList);
|
|
1041
|
+ this.controlRestoreFactory(snList, useridList);
|
791
|
1042
|
},
|
792
|
1043
|
onCancel: () => {}
|
793
|
1044
|
});
|
|
@@ -802,7 +1053,8 @@ export default {
|
802
|
1053
|
title: "",
|
803
|
1054
|
content: "",
|
804
|
1055
|
classid: null,
|
805
|
|
- list: snList
|
|
1056
|
+ snList,
|
|
1057
|
+ useridList
|
806
|
1058
|
};
|
807
|
1059
|
} else if (name === "3") {
|
808
|
1060
|
// 整班发送消息
|
|
@@ -819,7 +1071,8 @@ export default {
|
819
|
1071
|
title: "",
|
820
|
1072
|
content: "",
|
821
|
1073
|
classid: this.searchForm.classid,
|
822
|
|
- list: data.obj
|
|
1074
|
+ snList: data.obj,
|
|
1075
|
+ useridList: []
|
823
|
1076
|
};
|
824
|
1077
|
} else {
|
825
|
1078
|
this.$Message.error(data.msg);
|
|
@@ -835,7 +1088,7 @@ export default {
|
835
|
1088
|
title: "提示",
|
836
|
1089
|
content: "确定对所选设备进行解除限制操作吗?",
|
837
|
1090
|
onOk: () => {
|
838
|
|
- this.controlRemoveLimit(snList);
|
|
1091
|
+ this.controlRemoveLimit(snList, useridList);
|
839
|
1092
|
},
|
840
|
1093
|
onCancel: () => {}
|
841
|
1094
|
});
|
|
@@ -849,7 +1102,7 @@ export default {
|
849
|
1102
|
title: "提示",
|
850
|
1103
|
content: "确定对所选设备进行限制使用操作吗?",
|
851
|
1104
|
onOk: () => {
|
852
|
|
- this.controlLimitedUse(snList);
|
|
1105
|
+ this.controlLimitedUse(snList, useridList);
|
853
|
1106
|
},
|
854
|
1107
|
onCancel: () => {}
|
855
|
1108
|
});
|
|
@@ -863,7 +1116,7 @@ export default {
|
863
|
1116
|
title: "提示",
|
864
|
1117
|
content: "确定对所选设备进行更新策略操作吗?",
|
865
|
1118
|
onOk: () => {
|
866
|
|
- this.controlUpdateStrategy(snList);
|
|
1119
|
+ this.controlUpdateStrategy(snList, useridList);
|
867
|
1120
|
},
|
868
|
1121
|
onCancel: () => {}
|
869
|
1122
|
});
|
|
@@ -877,14 +1130,14 @@ export default {
|
877
|
1130
|
title: "提示",
|
878
|
1131
|
content: "确定对所选设备进行重启设备操作吗?",
|
879
|
1132
|
onOk: () => {
|
880
|
|
- this.controlRebootDevice(snList);
|
|
1133
|
+ this.controlRebootDevice(snList, useridList);
|
881
|
1134
|
},
|
882
|
1135
|
onCancel: () => {}
|
883
|
1136
|
});
|
884
|
1137
|
}
|
885
|
1138
|
},
|
886
|
1139
|
// 恢复出厂设置
|
887
|
|
- controlRestoreFactory(snList) {
|
|
1140
|
+ controlRestoreFactory(snList, useridList) {
|
888
|
1141
|
let controlWSMsg = new ControlWSMsg(
|
889
|
1142
|
controlWs.ws,
|
890
|
1143
|
this.userInfo.adminid,
|
|
@@ -897,9 +1150,9 @@ export default {
|
897
|
1150
|
pushObj: 1
|
898
|
1151
|
};
|
899
|
1152
|
if (snList.length > 1) {
|
900
|
|
- form.userids = snList;
|
|
1153
|
+ form.userids = useridList;
|
901
|
1154
|
} else {
|
902
|
|
- form.pushObjid = snList[0];
|
|
1155
|
+ form.pushObjid = useridList[0];
|
903
|
1156
|
}
|
904
|
1157
|
this.addPushLog(form);
|
905
|
1158
|
},
|
|
@@ -908,7 +1161,8 @@ export default {
|
908
|
1161
|
this.$refs.sendMsgForm.validate((valid) => {
|
909
|
1162
|
if (valid) {
|
910
|
1163
|
this.controlMessageInfo.show = false;
|
911
|
|
- let snList = this.controlMessageInfo.list;
|
|
1164
|
+ let snList = this.controlMessageInfo.snList;
|
|
1165
|
+ let useridList = this.controlMessageInfo.useridList;
|
912
|
1166
|
let controlWSMsg = new ControlWSMsg(
|
913
|
1167
|
controlWs.ws,
|
914
|
1168
|
this.userInfo.adminid,
|
|
@@ -925,9 +1179,9 @@ export default {
|
925
|
1179
|
form.pushObjid = this.controlMessageInfo.classid;
|
926
|
1180
|
} else {
|
927
|
1181
|
if (snList.length > 1) {
|
928
|
|
- form.userids = snList;
|
|
1182
|
+ form.userids = useridList;
|
929
|
1183
|
} else {
|
930
|
|
- form.pushObjid = snList[0];
|
|
1184
|
+ form.pushObjid = useridList[0];
|
931
|
1185
|
}
|
932
|
1186
|
}
|
933
|
1187
|
this.addPushLog(form);
|
|
@@ -935,7 +1189,7 @@ export default {
|
935
|
1189
|
});
|
936
|
1190
|
},
|
937
|
1191
|
// 解除限制
|
938
|
|
- controlRemoveLimit(snList) {
|
|
1192
|
+ controlRemoveLimit(snList, useridList) {
|
939
|
1193
|
let controlWSMsg = new ControlWSMsg(
|
940
|
1194
|
controlWs.ws,
|
941
|
1195
|
this.userInfo.adminid,
|
|
@@ -948,14 +1202,14 @@ export default {
|
948
|
1202
|
pushObj: 1
|
949
|
1203
|
};
|
950
|
1204
|
if (snList.length > 1) {
|
951
|
|
- form.userids = snList;
|
|
1205
|
+ form.userids = useridList;
|
952
|
1206
|
} else {
|
953
|
|
- form.pushObjid = snList[0];
|
|
1207
|
+ form.pushObjid = useridList[0];
|
954
|
1208
|
}
|
955
|
1209
|
this.addPushLog(form);
|
956
|
1210
|
},
|
957
|
1211
|
// 限制使用
|
958
|
|
- controlLimitedUse(snList) {
|
|
1212
|
+ controlLimitedUse(snList, useridList) {
|
959
|
1213
|
let controlWSMsg = new ControlWSMsg(
|
960
|
1214
|
controlWs.ws,
|
961
|
1215
|
this.userInfo.adminid,
|
|
@@ -968,14 +1222,14 @@ export default {
|
968
|
1222
|
pushObj: 1
|
969
|
1223
|
};
|
970
|
1224
|
if (snList.length > 1) {
|
971
|
|
- form.userids = snList;
|
|
1225
|
+ form.userids = useridList;
|
972
|
1226
|
} else {
|
973
|
|
- form.pushObjid = snList[0];
|
|
1227
|
+ form.pushObjid = useridList[0];
|
974
|
1228
|
}
|
975
|
1229
|
this.addPushLog(form);
|
976
|
1230
|
},
|
977
|
1231
|
// 更新策略
|
978
|
|
- controlUpdateStrategy(snList) {
|
|
1232
|
+ controlUpdateStrategy(snList, useridList) {
|
979
|
1233
|
let controlWSMsg = new ControlWSMsg(
|
980
|
1234
|
controlWs.ws,
|
981
|
1235
|
this.userInfo.adminid,
|
|
@@ -988,14 +1242,14 @@ export default {
|
988
|
1242
|
pushObj: 1
|
989
|
1243
|
};
|
990
|
1244
|
if (snList.length > 1) {
|
991
|
|
- form.userids = snList;
|
|
1245
|
+ form.userids = useridList;
|
992
|
1246
|
} else {
|
993
|
|
- form.pushObjid = snList[0];
|
|
1247
|
+ form.pushObjid = useridList[0];
|
994
|
1248
|
}
|
995
|
1249
|
this.addPushLog(form);
|
996
|
1250
|
},
|
997
|
1251
|
// 重启设备
|
998
|
|
- controlRebootDevice(snList) {
|
|
1252
|
+ controlRebootDevice(snList, useridList) {
|
999
|
1253
|
let controlWSMsg = new ControlWSMsg(
|
1000
|
1254
|
controlWs.ws,
|
1001
|
1255
|
this.userInfo.adminid,
|
|
@@ -1008,9 +1262,9 @@ export default {
|
1008
|
1262
|
pushObj: 1
|
1009
|
1263
|
};
|
1010
|
1264
|
if (snList.length > 1) {
|
1011
|
|
- form.userids = snList;
|
|
1265
|
+ form.userids = useridList;
|
1012
|
1266
|
} else {
|
1013
|
|
- form.pushObjid = snList[0];
|
|
1267
|
+ form.pushObjid = useridList[0];
|
1014
|
1268
|
}
|
1015
|
1269
|
this.addPushLog(form);
|
1016
|
1270
|
},
|
|
@@ -1297,4 +1551,93 @@ export default {
|
1297
|
1551
|
}
|
1298
|
1552
|
}
|
1299
|
1553
|
}
|
|
1554
|
+.section_title {
|
|
1555
|
+ padding-left: 10px;
|
|
1556
|
+ font-size: 18px;
|
|
1557
|
+ line-height: 20px;
|
|
1558
|
+ font-weight: bold;
|
|
1559
|
+ border-left: 4px solid #339dff;
|
|
1560
|
+}
|
|
1561
|
+.section_table_wrap {
|
|
1562
|
+ margin: 16px 0;
|
|
1563
|
+ border: 1px solid #ced9f2;
|
|
1564
|
+ border-bottom: none;
|
|
1565
|
+}
|
|
1566
|
+.section_item {
|
|
1567
|
+ display: flex;
|
|
1568
|
+ justify-content: space-between;
|
|
1569
|
+ align-items: flex-start;
|
|
1570
|
+ margin: 16px 0;
|
|
1571
|
+ .device_base {
|
|
1572
|
+ display: flex;
|
|
1573
|
+ justify-content: space-between;
|
|
1574
|
+ align-items: flex-start;
|
|
1575
|
+ margin: 16px 0;
|
|
1576
|
+ width: 50%;
|
|
1577
|
+ .device_base_left {
|
|
1578
|
+ margin-left: 10px;
|
|
1579
|
+ width: 120px;
|
|
1580
|
+ height: 240px;
|
|
1581
|
+ border-radius: 15px;
|
|
1582
|
+ border: 3px solid #000;
|
|
1583
|
+ }
|
|
1584
|
+ .device_base_right {
|
|
1585
|
+ width: calc(100% - 140px);
|
|
1586
|
+ /deep/.ivu-form-item {
|
|
1587
|
+ margin-bottom: 0;
|
|
1588
|
+ .ivu-form-item-content {
|
|
1589
|
+ line-height: 36px;
|
|
1590
|
+ font-size: 16px;
|
|
1591
|
+ font-weight: bold;
|
|
1592
|
+ color: #253a70;
|
|
1593
|
+ }
|
|
1594
|
+ }
|
|
1595
|
+ }
|
|
1596
|
+ }
|
|
1597
|
+ .device_users {
|
|
1598
|
+ width: calc(50% - 10px);
|
|
1599
|
+ border: 1px solid #ced9f2;
|
|
1600
|
+ border-bottom: none;
|
|
1601
|
+ }
|
|
1602
|
+ .my_table {
|
|
1603
|
+ width: 100%;
|
|
1604
|
+ empty-cells: show;
|
|
1605
|
+ border-collapse: collapse;
|
|
1606
|
+ table-layout: fixed;
|
|
1607
|
+ border: 1px solid #dcdee2;
|
|
1608
|
+ border-spacing: 0;
|
|
1609
|
+ box-sizing: border-box;
|
|
1610
|
+ color: #253a70;
|
|
1611
|
+ font-size: 16px;
|
|
1612
|
+ th {
|
|
1613
|
+ padding: 0;
|
|
1614
|
+ line-height: 46px;
|
|
1615
|
+ font-weight: normal;
|
|
1616
|
+ text-align: center;
|
|
1617
|
+ vertical-align: middle;
|
|
1618
|
+ white-space: nowrap;
|
|
1619
|
+ background-color: #edf3ff;
|
|
1620
|
+ border: 1px solid #ced9f2;
|
|
1621
|
+ }
|
|
1622
|
+ td {
|
|
1623
|
+ position: relative;
|
|
1624
|
+ padding: 0;
|
|
1625
|
+ line-height: 46px;
|
|
1626
|
+ color: #798cb5;
|
|
1627
|
+ text-align: center;
|
|
1628
|
+ vertical-align: middle;
|
|
1629
|
+ white-space: nowrap;
|
|
1630
|
+ border: 1px solid #ced9f2;
|
|
1631
|
+ }
|
|
1632
|
+ }
|
|
1633
|
+ .detail_left {
|
|
1634
|
+ width: calc(33.33% - 30px);
|
|
1635
|
+ }
|
|
1636
|
+ .detail_center {
|
|
1637
|
+ width: calc(33.33% - 20px);
|
|
1638
|
+ }
|
|
1639
|
+ .detail_right {
|
|
1640
|
+ width: 33.33%;
|
|
1641
|
+ }
|
|
1642
|
+}
|
1300
|
1643
|
</style>
|