Commit c2cbd62e150c18cfe21d6087f900ae272ba047b4

Authored by ww
1 parent fe3c949f

feat: add up and down record jump online record page

@@ -135,6 +135,11 @@ @@ -135,6 +135,11 @@
135 onClick: handleDispatchCustomer.bind(null, record), 135 onClick: handleDispatchCustomer.bind(null, record),
136 }, 136 },
137 { 137 {
  138 + label: '上下线记录',
  139 + icon: 'ant-design:rise-outlined',
  140 + onClick: handleUpAndDownRecord.bind(null, record),
  141 + },
  142 + {
138 label: '删除', 143 label: '删除',
139 auth: 'api:yt:device:delete', 144 auth: 'api:yt:device:delete',
140 icon: 'ant-design:delete-outlined', 145 icon: 'ant-design:delete-outlined',
@@ -193,6 +198,7 @@ @@ -193,6 +198,7 @@
193 import { useCopyToClipboard } from '/@/hooks/web/useCopyToClipboard'; 198 import { useCopyToClipboard } from '/@/hooks/web/useCopyToClipboard';
194 import { QuestionCircleOutlined } from '@ant-design/icons-vue'; 199 import { QuestionCircleOutlined } from '@ant-design/icons-vue';
195 import { Authority } from '/@/components/Authority'; 200 import { Authority } from '/@/components/Authority';
  201 + import { useRouter } from 'vue-router';
196 202
197 export default defineComponent({ 203 export default defineComponent({
198 name: 'DeviceManagement', 204 name: 'DeviceManagement',
@@ -215,6 +221,7 @@ @@ -215,6 +221,7 @@
215 setup(_) { 221 setup(_) {
216 const { createMessage } = useMessage(); 222 const { createMessage } = useMessage();
217 const go = useGo(); 223 const go = useGo();
  224 + const ROUTER = useRouter();
218 const immediateStatus = ref(false); 225 const immediateStatus = ref(false);
219 const searchInfo = reactive<Recordable>({}); 226 const searchInfo = reactive<Recordable>({});
220 const { organizationIdTreeRef, resetFn } = useResetOrganizationTree(searchInfo); 227 const { organizationIdTreeRef, resetFn } = useResetOrganizationTree(searchInfo);
@@ -385,6 +392,13 @@ @@ -385,6 +392,13 @@
385 openGatewayDetailDrawer(true, data); 392 openGatewayDetailDrawer(true, data);
386 }; 393 };
387 394
  395 + const handleUpAndDownRecord = (record: Record<'name', string>) => {
  396 + ROUTER.push({
  397 + path: '/operation/onlinerecord',
  398 + query: { deviceName: record.name },
  399 + });
  400 + };
  401 +
388 return { 402 return {
389 registerTable, 403 registerTable,
390 handleCreate, 404 handleCreate,
@@ -412,6 +426,7 @@ @@ -412,6 +426,7 @@
412 handleOpenTbDeviceDetail, 426 handleOpenTbDeviceDetail,
413 handleOpenGatewayDetail, 427 handleOpenGatewayDetail,
414 registerGatewayDetailDrawer, 428 registerGatewayDetailDrawer,
  429 + handleUpAndDownRecord,
415 }; 430 };
416 }, 431 },
417 }); 432 });
@@ -48,7 +48,7 @@ @@ -48,7 +48,7 @@
48 </template> 48 </template>
49 49
50 <script lang="ts" setup> 50 <script lang="ts" setup>
51 - import { nextTick } from 'vue'; 51 + import { nextTick, onMounted } from 'vue';
52 import { BasicTable, useTable, TableAction } from '/@/components/Table'; 52 import { BasicTable, useTable, TableAction } from '/@/components/Table';
53 import { useDrawer } from '/@/components/Drawer'; 53 import { useDrawer } from '/@/components/Drawer';
54 import OnlineRecordDrawer from './OnlineRecordDrawer.vue'; 54 import OnlineRecordDrawer from './OnlineRecordDrawer.vue';
@@ -58,9 +58,11 @@ @@ -58,9 +58,11 @@
58 import { useBatchDelete } from '/@/hooks/web/useBatchDelete'; 58 import { useBatchDelete } from '/@/hooks/web/useBatchDelete';
59 import { Popconfirm } from 'ant-design-vue'; 59 import { Popconfirm } from 'ant-design-vue';
60 import { Authority } from '/@/components/Authority'; 60 import { Authority } from '/@/components/Authority';
  61 + import { useRoute } from 'vue-router';
61 62
62 - const [registerTable, { setProps, reload }] = useTable({ 63 + const [registerTable, { setProps, reload, getForm }] = useTable({
63 title: '上下线记录', 64 title: '上下线记录',
  65 + immediate: false,
64 api: deviceStateLogPage, 66 api: deviceStateLogPage,
65 columns, 67 columns,
66 showIndexColumn: false, 68 showIndexColumn: false,
@@ -117,4 +119,14 @@ @@ -117,4 +119,14 @@
117 record, 119 record,
118 }); 120 });
119 }; 121 };
  122 + const ROUTE = useRoute();
  123 +
  124 + onMounted(async () => {
  125 + const formActionType = getForm();
  126 + const params = ROUTE.query;
  127 + if (params) {
  128 + await formActionType.setFieldsValue(params);
  129 + }
  130 + await reload();
  131 + });
120 </script> 132 </script>