onlineDevice.vue 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. <template>
  2. <div>
  3. <el-table :data="devices" style="width: 100%; height: 100%; font-size: 14px">
  4. <el-table-column label="设备类型" align="center">
  5. <template #default="scope">
  6. <dict-tag :options="sys_device_type" :value="scope.row.deviceType" />
  7. </template>
  8. </el-table-column>
  9. <el-table-column label="主机" align="center" prop="ipaddr" :show-overflow-tooltip="true" />
  10. <el-table-column label="登录地点" align="center" prop="loginLocation" :show-overflow-tooltip="true" />
  11. <el-table-column label="操作系统" align="center" prop="os" :show-overflow-tooltip="true" />
  12. <el-table-column label="浏览器" align="center" prop="browser" :show-overflow-tooltip="true" />
  13. <el-table-column label="登录时间" align="center" prop="loginTime" width="180">
  14. <template #default="scope">
  15. <span>{{ proxy.parseTime(scope.row.loginTime) }}</span>
  16. </template>
  17. </el-table-column>
  18. <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
  19. <template #default="scope">
  20. <el-tooltip content="删除" placement="top">
  21. <el-button link type="primary" icon="Delete" @click="handldDelOnline(scope.row)"> </el-button>
  22. </el-tooltip>
  23. </template>
  24. </el-table-column>
  25. </el-table>
  26. </div>
  27. </template>
  28. <script setup name="Online" lang="ts">
  29. import { delOnline } from '@/api/monitor/online';
  30. import { propTypes } from '@/utils/propTypes';
  31. const { proxy } = getCurrentInstance() as ComponentInternalInstance;
  32. const { sys_device_type } = toRefs<any>(proxy?.useDict('sys_device_type'));
  33. const props = defineProps({
  34. devices: propTypes.any.isRequired
  35. });
  36. const devices = computed(() => props.devices);
  37. /** 删除按钮操作 */
  38. const handldDelOnline = (row: any) => {
  39. ElMessageBox.confirm('删除设备后,在该设备登录需要重新进行验证')
  40. .then(() => {
  41. return delOnline(row.tokenId);
  42. })
  43. .then((res: any) => {
  44. if (res.code === 200) {
  45. proxy?.$modal.msgSuccess('删除成功');
  46. proxy?.$tab.refreshPage();
  47. } else {
  48. proxy?.$modal.msgError(res.msg);
  49. }
  50. })
  51. .catch(() => {});
  52. };
  53. </script>