YangYuGang
2025-03-11 7462fd192326d7cf3418b6185ca437b2667cbeab
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
<template>
  <PageWrapper
    :title="`任务` + JobName + `的资料`"
    content="这是任务详情页面。"
    contentBackground
    @back="goBack"
  >
    <template #footer>
      <a-tabs default-active-key="detail" v-model:activeKey="currentKey">
        <a-tab-pane key="detail" tab="任务详情" />
        <a-tab-pane key="logs" tab="任务日志" />
      </a-tabs>
    </template>
    <div>
      <div v-if="currentKey == 'logs'">
        <BasicTable @register="logsTable" />
      </div>
      <div v-if="currentKey == 'detail'">
        <BasicTable @register="registerTable" />
      </div>
    </div>
  </PageWrapper>
</template>
 
<script lang="ts">
  import { defineComponent, ref } from 'vue';
  import { useRoute } from 'vue-router';
  import { PageWrapper } from '/@/components/Page';
  import { useTabs } from '/@/hooks/web/useTabs';
  import { Tabs } from 'ant-design-vue';
  import { useModal } from '/@/components/Modal';
  import { useGo } from '/@/hooks/web/usePage';
  //详情列表
  import { BasicTable, useTable } from '/@/components/Table';
  import { getTsk_TrigListByPage } from '/@/api/tigerapi/tsk/tsk_trig';
  import { columns } from './trig.data';
  import { logcolumns, searchFormSchema } from './log.data';
  import { getListByPage } from '/@/api/tigerapi/system';
 
  export default defineComponent({
    name: 'JobManagement',
    components: { BasicTable, PageWrapper, ATabs: Tabs, ATabPane: Tabs.TabPane },
    setup() {
      const route = useRoute();
      const go = useGo();
      const [registerModal, { openModal }] = useModal();
      //获取JobId
      const JobId = ref(route.params?.JobName.split(',')[0]);
      const [logsTable, { reload1 }] = useTable({
        title: '任务日志列表',
        api: getListByPage,
        searchInfo: {
          JobId: JobId,
          TABLE_NAME: 'TSK_LOG',
          // option: {
          //   //根据据点查询,必需带这个参数
          //   UserId: useUserStore().getUserInfo.userId,
          //   ByOrg: true,
          //   CurOrg: useUserStore().getUserInfo.orgCode,
          // },
          NeedInclude: true,
          // order: 'descend',
          // field: 'StartTime'
        },
        columns: logcolumns,
        useSearchForm: true,
        showTableSetting: true,
        bordered: true,
        canResize: true,
        showIndexColumn: false,
        formConfig: {
          labelWidth: 120,
          schemas: searchFormSchema,
        },
      });
      const [registerTable, { reload }] = useTable({
        title: '任务详情',
        api: getTsk_TrigListByPage,
        columns,
        formConfig: {
          labelWidth: 120,
          //schemas: searchFormSchema,
        },
        useSearchForm: false,
        searchInfo: { JobId },
        showTableSetting: false,
        bordered: true,
        canResize: true,
        showIndexColumn: false,
      });
      // 此处可以得到用户ID
      const JobName = ref(route.params?.JobName.split(',')[1]);
      const currentKey = ref('detail');
      const { setTitle } = useTabs();
      // TODO
      // 本页代码仅作演示,实际应当通过userId从接口获得用户的相关资料
 
      // 设置Tab的标题(不会影响页面标题)
      setTitle('详情:任务' + JobName.value);
 
      // 页面左侧点击返回链接时的操作
      function goBack() {
        // 本例的效果时点击返回始终跳转到账号列表页,实际应用时可返回上一页
        go('/tsk_job');
      }
      function goPassword() {
        openModal(true, {
          passwordOld: JobName.value,
        });
      }
      return { JobName, currentKey, registerModal, goBack, goPassword, registerTable, logsTable };
    },
  });
</script>