Pārlūkot izejas kodu

Merge branch 'master' of http://gogsb.soaringnova.com/liutao/ai-proj-demo

nobody 2 gadi atpakaļ
vecāks
revīzija
dd8119b8b1

+ 24 - 0
Dockerfile

@@ -0,0 +1,24 @@
+FROM node:14-buster as build
+WORKDIR /workspace
+COPY package.json .
+RUN npm install
+ADD . /workspace
+RUN npm run build
+
+
+FROM nginx:mainline
+WORKDIR /usr/share/nginx/html
+COPY --from=build /workspace/build /usr/share/nginx/html/dag
+RUN echo "\
+server {\n\
+    listen 80;\n\
+    listen [::]:80;\n\
+\n\
+    root /usr/share/nginx/html/dag;\n\
+    index index.html index.htm;\n\
+\n\
+    location / {\n\
+    try_files \$uri \$uri/ =404;\n\
+    }\n\
+}\n\
+" > /etc/nginx/conf.d/default.conf

+ 2 - 0
src/index.js

@@ -6,6 +6,7 @@ import reportWebVitals from './reportWebVitals';
 import { BrowserRouter, Routes, Route } from 'react-router-dom';
 import DatasourceView from './module/datasource/page/DatasourceView.jsx'
 import SyncTaskAdd from './module/datasource/component/SyncTaskAdd.jsx'
+import LogWatcher from './module/datasource/component/LogWatcher.jsx'
 
 const root = ReactDOM.createRoot(document.getElementById('root'));
 
@@ -14,6 +15,7 @@ root.render(
     <Routes>
       <Route path="/" element={<DatasourceView />} />
       <Route path="sync" element={<SyncTaskAdd />} />
+      <Route path="log" element={<LogWatcher />} />
     </Routes>
   </BrowserRouter>
 );

+ 6 - 1
src/module/datasource/component/DatasourceLog.jsx

@@ -2,6 +2,7 @@ import React, { useState, useEffect } from 'react'
 import { Table, Space } from 'antd'
 import { getJoblog } from '../services'
 import moment from 'moment'
+import { useNavigate } from 'react-router-dom'
 
 const DatasourceLog = () => {
   // 初始化日志列表
@@ -9,8 +10,12 @@ const DatasourceLog = () => {
   // 表格Loading状态
   const [dataLoading, setDataLoading] = useState(false)
 
+  const navigate = useNavigate()
+
   const changeTask = () => {}
-  const checkLog = () => {}
+  const checkLog = id => {
+    navigate('/log', { state: { id } })
+  }
   const columns = [
     {
       title: '同步ID',

+ 39 - 0
src/module/datasource/component/LogWatcher.jsx

@@ -0,0 +1,39 @@
+import React, { useEffect, useState } from 'react'
+import { useLocation } from 'react-router-dom'
+import styled from 'styled-components'
+import { getOnceJoblog } from '../services/index'
+
+const LogWrapper = styled.div`
+  padding: 30px;
+  width: 100%;
+  height: 800px;
+  background-color: #fff;
+  .log {
+    background-color: #012b36;
+    height: 100%;
+    overflow-y: scroll;
+    color: #638691;
+  }
+`
+
+const LogWatcher = () => {
+  const { state } = useLocation()
+  const [logData, setLogData] = useState(null)
+
+  const fetchOnceJoblog = async () => {
+    const { data } = await getOnceJoblog(state.id)
+    if (data.code === 200) {
+      setLogData(data.data.handle_msg)
+    }
+  }
+  useEffect(() => {
+    fetchOnceJoblog()
+  }, [state])
+  return (
+    <LogWrapper>
+      <pre className="log">{logData}</pre>
+    </LogWrapper>
+  )
+}
+
+export default LogWatcher

+ 6 - 1
src/module/datasource/services/index.js

@@ -59,8 +59,13 @@ export const getJoblog = () => request({
   method: 'get',
 })
 
+export const getOnceJoblog = params => request({
+  url: `/jpt/joblog/getOnce/` + params,
+  method: 'get',
+})
+
 export const buildJsonData = params => request({
   url: '/jpt/datax',
   method: 'post',
   data: { ...params }
-})
+})