add link to detail page
authorHongyuan Ma <[email protected]>
Sun, 24 Jun 2018 04:00:48 +0000 (12:00 +0800)
committerHongyuan Ma <[email protected]>
Sun, 24 Jun 2018 04:00:48 +0000 (12:00 +0800)
front-end/src/app.jsx
front-end/src/component/nav-top/index.jsx
front-end/src/page/detailInfo/index.jsx
front-end/src/service/record-service.jsx
front-end/src/util/basic-table/index.jsx
front-end/webpack.config.js

index 8788c3272c1246d35e5e87095921c5692024e4eb..7b5b0f9b3a00acbe8b81c55bb97bc5fa18e12e02 100644 (file)
@@ -1,6 +1,8 @@
 import React from 'react';
 import ReactDom from 'react-dom';
 import {BrowserRouter as Router, Route, Link, Redirect, Switch} from 'react-router-dom';
+import createHistory from 'history/createHashHistory'
+const history = createHistory()
 import {spring, AnimatedRoute, AnimatedSwitch} from 'react-router-transition';
 // layout
 import Layout from 'component/layout/index.jsx'
@@ -56,20 +58,21 @@ class App extends React.Component {
     render() {
         let LayoutRouter = (
             <Layout>
-                    <Route exact path="/login" component={Login}/>
+                    <Route exact path="/login/" component={Login}/>
                     <Route exact path="/" component={Home}/>
 
-                    <Route exact path="/home" component={Home}/>
-                    <Route exact path="/status" component={Status}/>
-                    <Route exact path="/ppolicy" component={PPolicy}/>
-                    <Route exact path="/detail" component={DetailInfo}/>
+                    <Route exact path="/home/" component={Home}/>
+                    <Route exact path="/status/" component={Status}/>
+                    <Route exact path="/ppolicy/" component={PPolicy}/>
+                    <Route path="/detailInfo/:uuid" component={DetailInfo}/>
+                    {/*<Route path="/detail/:uuid" component={DetailInfo}/>*/}
                     {/*<Redirect exact from="/order" to="/order/index"/>*/}
                     {/*<Redirect exact from="/user" to="/user/index"/>*/}
                     {/*<Route component={ErrorPage}/>*/}
             </Layout>
         );
         return (
-            <Router>
+            <Router history={history}>
                 <AnimatedSwitch
                     atEnter={bounceTransition.atEnter}
                     atLeave={bounceTransition.atLeave}
index 7ea58afb7a72d2a365d37f2443fca99b40ffe65d..a9843b28ce4c9879297995dc473144bc8e1c271d 100644 (file)
@@ -65,10 +65,12 @@ class NavTop extends React.Component {
                         Farm</b></a>
                 </div>
                 <ul className="nav navbar-top-links navbar-left">
-                    <li><a href="/home"> <span className="glyphicon glyphicon-home" aria-hidden="true"></span> Home</a>
+                    <li><Link to="/home"> <span className="glyphicon glyphicon-home" aria-hidden="true"></span> Home</Link>
                     </li>
-                    <li><a href="/status"> <span className="glyphicon glyphicon-tasks" aria-hidden="true"></span> Status</a>
+                    <li><Link to="/status"><span className="glyphicon glyphicon-tasks" aria-hidden="true"></span>Status</Link>
                     </li>
+                    {/*<li><Link to="/classifiedDisplay">分类展示</Link><a href="/status"> <span className="glyphicon glyphicon-tasks" aria-hidden="true"></span> Status</a>*/}
+                    {/*</li>*/}
                     <li><a href="#"> <span className="glyphicon glyphicon-blackboard" aria-hidden="true"></span>Machine</a>
                     </li>
 
index 7668449851d37687a5be6550f313cdac1658b99a..93dd26f9103ea1299c37e1ff87631523b7d2a2fe 100644 (file)
@@ -1,7 +1,6 @@
 import React from 'react';
 import './index.css';
-import {Table, Divider, Segment, Image, Label, Card, Button} from 'semantic-ui-react'
-import TestResultCard from 'component/test-result-card/index.jsx';
+import {Table, Divider, Segment, Image, Label, Card, Button, List, Icon} from 'semantic-ui-react'
 import PGUtil        from 'util/util.jsx'
 import Record      from 'service/record-service.jsx'
 const _util = new PGUtil();
@@ -10,9 +9,8 @@ class DetailInfo extends React.Component {
     constructor(props) {
         super(props);
         this.state = {
-            recordNo: 1,
-            detailInfo: {},
-
+            recordNo: this.props.match.params.uuid,
+            recordInfo: {},
         }
 
         // this.onPageChange = this.onPageChange.bind(this);
@@ -42,23 +40,35 @@ class DetailInfo extends React.Component {
         return (
             <div className="container-fluid detail-container">
                 <div className="col-md-3">
+                    <h2>{this.state.recordNo}</h2>
                     <Segment vertical>Farmer Info</Segment>
                     <Card>
                         <Card.Content>
-                            <Image floated='right' size='mini' src='http://www.semantic-ui.cn/images/avatar2/small/lena.png' />
-                            <Card.Header>Steve Sanders</Card.Header>
-                            <Card.Meta>Friends of Elliot</Card.Meta>
+                            <Image floated='right' size='mini'
+                                   src='http://www.semantic-ui.cn/images/avatar2/small/lena.png'/>
+                            <Card.Header>Farmer: Cabbage</Card.Header>
+                            <Card.Meta>report num: 4</Card.Meta>
                             <Card.Description>
-                                Steve wants to add you to the group <strong>best friends</strong>
+                                <List>
+                                    <List.Item icon='computer' content='ubuntu 16' />
+                                    <List.Item icon='microchip' content='x86 64' />
+                                    <List.Item
+                                        icon='mail'
+                                        content={<a href='mailto:[email protected]'>[email protected]</a>}
+                                    />
+                                </List>
+                                {/*<div>*/}
+                                    {/*<ul className="list-group" >*/}
+                                        {/*<li className="list-group-item">system os:ubuntu 16</li>*/}
+                                        {/*<li className="list-group-item">camp: x86 64</li>*/}
+                                    {/*</ul>*/}
+                                {/*</div>*/}
                             </Card.Description>
                         </Card.Content>
                         <Card.Content extra>
                             <div className='ui two buttons'>
                                 <Button basic color='green'>
-                                    Approve
-                                </Button>
-                                <Button basic color='red'>
-                                    Decline
+                                    Other records
                                 </Button>
                             </div>
                         </Card.Content>
index 3108aaa9f1025aad7958bba9de8857544bf20996..33ba6277f206d4cd2a6b2fed7c7a6e8035187182 100644 (file)
@@ -18,15 +18,13 @@ class Record{
     }
 
     // get record detail info
-    getRecordInfo(recordId){
-        let url = PGConstant.base_url + '/detail';
-
+    getRecordInfo(listParam){
+        let url = PGConstant.base_url + '/detail/';
+        url = url + listParam.recordNo
         return _util.request({
             type    : 'get',
-            url     : '/detail',
-            data    : {
-                productId : recordId || 0
-            }
+            url     : url,
+            // data    : {'Ldw7RrdP7jj4q89kgXCfeY'}
         });
     }
 }
index e63141dd5f2d79f01903e0ce7bcc1e876596b8fe..bcd26782e5d268791f397c825c5aff235b892595 100644 (file)
@@ -1,4 +1,5 @@
 import React from 'react';
+import {Link}     from 'react-router-dom';
 import {Icon, Table, Label, Message, Button} from 'semantic-ui-react'
 import Pagination from 'util/pagination/index.jsx'
 import './index.css';
@@ -28,7 +29,6 @@ class BasicTable extends React.Component {
     }
 
 
-
     onPageNumChange(current) {
         this.setState({
             currentPage: current
@@ -81,11 +81,9 @@ class BasicTable extends React.Component {
                         <Bubble num={trend.regressive} name="regressive"/>
                     </Table.Cell>
                     <Table.Cell textAlign='center'>
-                        <a color='linkedin' href={'detailInfo/' + record.uuid}>
-                            {/*<Button size='mini' color='linkedin'>*/}
+                        <Link color='linkedin' to={'detailInfo/' + record.uuid}>
                             <Icon name='linkify'/> Link
-                            {/*</Button>*/}
-                        </a>
+                        </Link>
                     </Table.Cell>
                     {/*date*/}
                     <Table.Cell>{record.add_time}</Table.Cell>
index 63b164a8346b4f80a2d6e2edc905d179d0b92c7a..4eeec6b05cce3d6fa3e291d8ff2b7af043d80e62 100644 (file)
@@ -14,26 +14,26 @@ module.exports = {
     },
     resolve: {
         // extensions: ['', '.js', '.jsx'],
-        alias : {
-            page : path.resolve(__dirname, 'src/page'),
-            image : path.resolve(__dirname, 'src/image'),
-            component : path.resolve(__dirname, 'src/component'),
-            service : path.resolve(__dirname, 'src/service'),
-            util : path.resolve(__dirname, 'src/util'),
+        alias: {
+            page: path.resolve(__dirname, 'src/page'),
+            image: path.resolve(__dirname, 'src/image'),
+            component: path.resolve(__dirname, 'src/component'),
+            service: path.resolve(__dirname, 'src/service'),
+            util: path.resolve(__dirname, 'src/util'),
         }
     },
 
     module: {
         rules: [{
-                test: /\.jsx$/,
-                exclude: /(node_modules)/,
-                use: {
-                    loader: 'babel-loader',
-                    options: {
-                        presets: ['env', 'react']
-                    }
-                },
+            test: /\.jsx$/,
+            exclude: /(node_modules)/,
+            use: {
+                loader: 'babel-loader',
+                options: {
+                    presets: ['env', 'react']
+                }
             },
+        },
             {
                 test: /\.css$/,
                 use: ExtractTextPlugin.extract({
@@ -83,7 +83,7 @@ module.exports = {
         })
     ],
     devServer: {
-        contentBase: path.join(__dirname, "dist"),
+        contentBase: path.join(__dirname, "/dist/"),
         //compress: true,
         port: 8086,
         historyApiFallback: true,