육현진

add usermode page

This diff is collapsed. Click to expand it.
...@@ -16,17 +16,16 @@ import Toolbar from '@material-ui/core/Toolbar'; ...@@ -16,17 +16,16 @@ import Toolbar from '@material-ui/core/Toolbar';
16 import IconButton from '@material-ui/core/IconButton'; 16 import IconButton from '@material-ui/core/IconButton';
17 import Typography from '@material-ui/core/Typography'; 17 import Typography from '@material-ui/core/Typography';
18 import InputBase from '@material-ui/core/InputBase'; 18 import InputBase from '@material-ui/core/InputBase';
19 -import { fade } from '@material-ui/core/styles/colorManipulator'; 19 +import { fade, makeStyles } from '@material-ui/core/styles';
20 import MenuIcon from '@material-ui/icons/Menu'; 20 import MenuIcon from '@material-ui/icons/Menu';
21 import SearchIcon from '@material-ui/icons/Search'; 21 import SearchIcon from '@material-ui/icons/Search';
22 22
23 -
24 const styles = theme => ({ 23 const styles = theme => ({
25 root: { 24 root: {
26 width: '100%', 25 width: '100%',
27 minWidth:1080 26 minWidth:1080
28 }, 27 },
29 - table: { 28 + paper: {
30 marginLeft:18, 29 marginLeft:18,
31 marginRight:18 30 marginRight:18
32 }, 31 },
...@@ -96,8 +95,8 @@ const styles = theme => ({ ...@@ -96,8 +95,8 @@ const styles = theme => ({
96 const students = [ 95 const students = [
97 { 96 {
98 'st_Code': 6666, 97 'st_Code': 6666,
99 - 'st_Name': '육현진', 98 + //'st_Name': '육현진',
100 - 'st_Id': 2018102210, 99 + //'st_Id': 2018102210,
101 'st_Major':'컴퓨터공학과', 100 'st_Major':'컴퓨터공학과',
102 'st_Midscore': 100, 101 'st_Midscore': 100,
103 'st_Finalscore': 100, 102 'st_Finalscore': 100,
...@@ -107,8 +106,8 @@ const students = [ ...@@ -107,8 +106,8 @@ const students = [
107 }, 106 },
108 { 107 {
109 'st_Code': 1111, 108 'st_Code': 1111,
110 - 'st_Name': '김창동', 109 + //'st_Name': '김창동',
111 - 'st_Id': 2020021120, 110 + //'st_Id': 2020021120,
112 'st_Major':'컴퓨터공학과', 111 'st_Major':'컴퓨터공학과',
113 'st_Midscore': 79, 112 'st_Midscore': 79,
114 'st_Finalscore': 85, 113 'st_Finalscore': 85,
...@@ -174,8 +173,8 @@ class App extends Component{ ...@@ -174,8 +173,8 @@ class App extends Component{
174 return <Student stateRefresh={this.stateRefresh} 173 return <Student stateRefresh={this.stateRefresh}
175 key={c.st_Code} 174 key={c.st_Code}
176 st_Code={c.st_Code} 175 st_Code={c.st_Code}
177 - st_Name={c.st_Name} 176 + //st_Name={c.st_Name}
178 - st_Id={c.st_Id} 177 + //st_Id={c.st_Id}
179 st_Major={c.st_Major} 178 st_Major={c.st_Major}
180 st_Midscore={c.st_Midscore} 179 st_Midscore={c.st_Midscore}
181 st_Finalscore={c.st_Finalscore} 180 st_Finalscore={c.st_Finalscore}
...@@ -186,7 +185,7 @@ class App extends Component{ ...@@ -186,7 +185,7 @@ class App extends Component{
186 } 185 }
187 186
188 const {classes}= this.props; 187 const {classes}= this.props;
189 - const cellList=["코드번호","이름","학번","전공","중간","기말","과제","출석","설정"]; 188 + const cellList=["코드번호","이름","학번","전공","중간","기말","과제","출석","성적","설정"];
190 return ( 189 return (
191 <div className={classes.root}> 190 <div className={classes.root}>
192 <AppBar position="static"> 191 <AppBar position="static">
...@@ -200,8 +199,9 @@ class App extends Component{ ...@@ -200,8 +199,9 @@ class App extends Component{
200 <MenuIcon /> 199 <MenuIcon />
201 </IconButton> 200 </IconButton>
202 <Typography className={classes.title} variant="h6" noWrap> 201 <Typography className={classes.title} variant="h6" noWrap>
203 - 학생 성적 관리 프로그램 202 + 성적 조회 프로그램
204 </Typography> 203 </Typography>
204 +
205 <div className={classes.search}> 205 <div className={classes.search}>
206 <div className={classes.searchIcon}> 206 <div className={classes.searchIcon}>
207 <SearchIcon /> 207 <SearchIcon />
...@@ -212,14 +212,15 @@ class App extends Component{ ...@@ -212,14 +212,15 @@ class App extends Component{
212 root: classes.inputRoot, 212 root: classes.inputRoot,
213 input: classes.inputInput, 213 input: classes.inputInput,
214 }} 214 }}
215 - name="searchKeyword" 215 + st_Name="searchKeyword"
216 value={this.state.searchKeyword} 216 value={this.state.searchKeyword}
217 onChange={this.handleValueChange} 217 onChange={this.handleValueChange}
218 - //inputProps={{ 'aria-label': 'search' }} 218 + inputProps={{ 'aria-label': 'search' }}
219 /> 219 />
220 </div> 220 </div>
221 </Toolbar> 221 </Toolbar>
222 </AppBar> 222 </AppBar>
223 +
223 <div className={classes.menu}> 224 <div className={classes.menu}>
224 <StudentAdd stateRefresh={this.stateRefresh}/> 225 <StudentAdd stateRefresh={this.stateRefresh}/>
225 </div> 226 </div>
......
...@@ -36,8 +36,8 @@ class StudentAdd extends React.Component{ ...@@ -36,8 +36,8 @@ class StudentAdd extends React.Component{
36 super(props); 36 super(props);
37 this.state={ 37 this.state={
38 st_Code:'', 38 st_Code:'',
39 - st_Name:'', 39 + //st_Name:'',
40 - st_Id:'', 40 + //st_Id:'',
41 st_Major:'', 41 st_Major:'',
42 st_Midscore:'', 42 st_Midscore:'',
43 st_Finalscore:'', 43 st_Finalscore:'',
...@@ -57,8 +57,8 @@ class StudentAdd extends React.Component{ ...@@ -57,8 +57,8 @@ class StudentAdd extends React.Component{
57 }) 57 })
58 this.setState({ 58 this.setState({
59 st_Code:'', 59 st_Code:'',
60 - st_Name:'', 60 + //st_Name:'',
61 - st_Id:'', 61 + //st_Id:'',
62 st_Major:'', 62 st_Major:'',
63 st_Midscore:'', 63 st_Midscore:'',
64 st_Finalscore:'', 64 st_Finalscore:'',
...@@ -80,8 +80,8 @@ class StudentAdd extends React.Component{ ...@@ -80,8 +80,8 @@ class StudentAdd extends React.Component{
80 const url ='/api/students'; 80 const url ='/api/students';
81 const formData=new FormData(); 81 const formData=new FormData();
82 formData.append('st_Code',this.state.st_Code); 82 formData.append('st_Code',this.state.st_Code);
83 - formData.append('st_Name',this.state.st_Name); 83 + //formData.append('st_Name',this.state.st_Name);
84 - formData.append('st_Id',this.state.st_Id); 84 + //formData.append('st_Id',this.state.st_Id);
85 formData.append('st_Major',this.state.st_Major); 85 formData.append('st_Major',this.state.st_Major);
86 formData.append('st_Midscore',this.state.st_Midscore); 86 formData.append('st_Midscore',this.state.st_Midscore);
87 formData.append('st_Finalscore',this.state.st_Finalscore); 87 formData.append('st_Finalscore',this.state.st_Finalscore);
...@@ -106,8 +106,8 @@ class StudentAdd extends React.Component{ ...@@ -106,8 +106,8 @@ class StudentAdd extends React.Component{
106 handleClose = () => { 106 handleClose = () => {
107 this.setState({ 107 this.setState({
108 st_Code:'', 108 st_Code:'',
109 - st_Name:'', 109 + //st_Name:'',
110 - st_Id:'', 110 + //st_Id:'',
111 st_Major:'', 111 st_Major:'',
112 st_Midscore:'', 112 st_Midscore:'',
113 st_Finalscore:'', 113 st_Finalscore:'',
...@@ -123,20 +123,22 @@ class StudentAdd extends React.Component{ ...@@ -123,20 +123,22 @@ class StudentAdd extends React.Component{
123 return( 123 return(
124 <div> 124 <div>
125 <Button variant="contained" color="primary" onClick={this.handleClickOpen}> 125 <Button variant="contained" color="primary" onClick={this.handleClickOpen}>
126 - 학생 추가하기 126 + 등수확인
127 </Button> 127 </Button>
128 +
128 <Dialog open={this.state.open} onClose={this.handleClose}> 129 <Dialog open={this.state.open} onClose={this.handleClose}>
129 <DialogTitle>학생 추가</DialogTitle> 130 <DialogTitle>학생 추가</DialogTitle>
131 +
130 <DialogContent> 132 <DialogContent>
131 <Textfield label="코드 번호" type="text" name="st_Code" value={this.state.st_Code} onChange={this.handleValueChange}/><br/> 133 <Textfield label="코드 번호" type="text" name="st_Code" value={this.state.st_Code} onChange={this.handleValueChange}/><br/>
132 - <Textfield label="이름" name="st_Name" value={this.state.st_Name} onChange={this.handleValueChange}/><br/> 134 +
133 - <Textfield label="학번" name="st_Id" value={this.state.st_Id} onChange={this.handleValueChange}/><br/> 135 +
134 - <Textfield label="전공" name="st_Major" value={this.state.st_Major} onChange={this.handleValueChange}/><br/> 136 + <Textfield label="전공" type="text" name="st_Major" value={this.state.st_Major} onChange={this.handleValueChange}/><br/>
135 - <Textfield label="중간 점수" name="st_Midscore" value={this.state.st_Midscore} onChange={this.handleValueChange}/><br/> 137 + <Textfield label="중간 점수" type="text" name="st_Midscore" value={this.state.st_Midscore} onChange={this.handleValueChange}/><br/>
136 - <Textfield label="기말 점수" name="st_Finalscore" value={this.state.st_Finalscore} onChange={this.handleValueChange}/><br/> 138 + <Textfield label="기말 점수" type="text" name="st_Finalscore" value={this.state.st_Finalscore} onChange={this.handleValueChange}/><br/>
137 - <Textfield label="과제 점수" name="st_Assignscore" value={this.state.st_Assignscore} onChange={this.handleValueChange}/><br/> 139 + <Textfield label="과제 점수" type="text" name="st_Assignscore" value={this.state.st_Assignscore} onChange={this.handleValueChange}/><br/>
138 - <Textfield label="출석 점수" name="st_Attendscore" value={this.state.st_Attendscore} onChange={this.handleValueChange}/><br/> 140 + <Textfield label="출석 점수" type="text" name="st_Attendscore" value={this.state.st_Attendscore} onChange={this.handleValueChange}/><br/>
139 - <Textfield label="학점" name="st_Score" value={this.state.st_Score} onChange={this.handleValueChange}/><br/> 141 + <Textfield label="학점" type="text" name="st_Score" value={this.state.st_Score} onChange={this.handleValueChange}/><br/>
140 </DialogContent> 142 </DialogContent>
141 <DialogActions> 143 <DialogActions>
142 <Button varient="contained" color="primary" onClick={this.handleFormSubmit}>추가</Button> 144 <Button varient="contained" color="primary" onClick={this.handleFormSubmit}>추가</Button>
...@@ -144,6 +146,12 @@ class StudentAdd extends React.Component{ ...@@ -144,6 +146,12 @@ class StudentAdd extends React.Component{
144 </DialogActions> 146 </DialogActions>
145 </Dialog> 147 </Dialog>
146 </div> 148 </div>
149 +
150 + )
151 + }
152 +}
153 +
154 +export default withStyles(styles)(StudentAdd);
147 /* 155 /*
148 <form onSubmit={this.handleFormSubmit}> 156 <form onSubmit={this.handleFormSubmit}>
149 <h1>학생 추가</h1> 157 <h1>학생 추가</h1>
...@@ -160,8 +168,3 @@ class StudentAdd extends React.Component{ ...@@ -160,8 +168,3 @@ class StudentAdd extends React.Component{
160 168
161 </form> 169 </form>
162 */ 170 */
...\ No newline at end of file ...\ No newline at end of file
163 - )
164 - }
165 -}
166 -
167 -export default withStyles(styles)(StudentAdd);
...\ No newline at end of file ...\ No newline at end of file
......
...@@ -52,7 +52,7 @@ class StudentDelete extends React.Component{ ...@@ -52,7 +52,7 @@ class StudentDelete extends React.Component{
52 52
53 return( 53 return(
54 <div> 54 <div>
55 - <Button variant="contained" color="secondary" onClick={this.handleClickOpen}>삭제</Button> 55 +
56 <Dialog open={this.state.open} onClose={this.handleClose}> 56 <Dialog open={this.state.open} onClose={this.handleClose}>
57 <DialogTitle onClose={this.handleClose}> 57 <DialogTitle onClose={this.handleClose}>
58 삭제 경고 58 삭제 경고
......
...@@ -29,6 +29,7 @@ app.get('/api/students', (req, res)=>{ ...@@ -29,6 +29,7 @@ app.get('/api/students', (req, res)=>{
29 "SELECT * FROM dbproject.Students WHERE isDeleted=0", 29 "SELECT * FROM dbproject.Students WHERE isDeleted=0",
30 (err,rows,fields)=>{ 30 (err,rows,fields)=>{
31 res.send(rows); 31 res.send(rows);
32 + console.log(err);
32 } 33 }
33 ); 34 );
34 }); 35 });
...@@ -36,10 +37,10 @@ app.get('/api/students', (req, res)=>{ ...@@ -36,10 +37,10 @@ app.get('/api/students', (req, res)=>{
36 app.use('/image', express.static('./upload')); 37 app.use('/image', express.static('./upload'));
37 38
38 app.post('/api/students',upload.single('image'), (req, res) =>{ 39 app.post('/api/students',upload.single('image'), (req, res) =>{
39 - let sql = 'INSERT INTO dbproject.Students VALUES (?,?,?,?,?,?,?,?,?,now(),0)'; 40 + let sql = 'INSERT INTO dbproject.Students VALUES (?,?,?,?,?,?,?,?,?,now)';
40 let st_Code= req.body.st_Code; 41 let st_Code= req.body.st_Code;
41 - let st_Name = req.body.st_Name; 42 + //let st_Name = req.body.st_Name;
42 - let st_Id = req.body.st_Id; 43 + //let st_Id = req.body.st_Id;
43 let st_Major = req.body.st_Major; 44 let st_Major = req.body.st_Major;
44 let st_Midscore = req.body.st_Midscore; 45 let st_Midscore = req.body.st_Midscore;
45 let st_Finalscore = req.body.st_Finalscore; 46 let st_Finalscore = req.body.st_Finalscore;
...@@ -47,8 +48,8 @@ app.post('/api/students',upload.single('image'), (req, res) =>{ ...@@ -47,8 +48,8 @@ app.post('/api/students',upload.single('image'), (req, res) =>{
47 let st_Attendscore = req.body.st_Attendscore; 48 let st_Attendscore = req.body.st_Attendscore;
48 let st_Score = req.body.st_Score; 49 let st_Score = req.body.st_Score;
49 console.log(st_Code); 50 console.log(st_Code);
50 - console.log(st_Name); 51 + //console.log(st_Name);
51 - console.log(st_Id); 52 + //console.log(st_Id);
52 console.log(st_Major); 53 console.log(st_Major);
53 console.log(st_Midscore); 54 console.log(st_Midscore);
54 console.log(st_Finalscore); 55 console.log(st_Finalscore);
...@@ -56,8 +57,9 @@ app.post('/api/students',upload.single('image'), (req, res) =>{ ...@@ -56,8 +57,9 @@ app.post('/api/students',upload.single('image'), (req, res) =>{
56 console.log(st_Attendscore); 57 console.log(st_Attendscore);
57 console.log(st_Score); 58 console.log(st_Score);
58 59
59 - let params=[st_Code, st_Name, 60 + let params=[st_Code,
60 - st_Id, 61 + //st_Name,
62 + //st_Id,
61 st_Major, 63 st_Major,
62 st_Midscore, 64 st_Midscore,
63 st_Finalscore, 65 st_Finalscore,
......
1 + st_Code:'',
2 + st_Name
3 + st_Id
4 + st_Major
5 + st_Midscore
6 + st_Finalscore
7 + st_Assignscore
8 + st_Attendscore
9 + st_Score
10 +
11 + this.state.students.map(c=>{
12 + return (
13 + <Student stateRefresh={this.stateRefresh}
14 + key={c.st_Code}
15 + st_Code={c.st_Code}
16 + st_Name={c.st_Name}
17 + st_Id={c.st_Id}
18 + st_Major={c.st_Major}
19 + st_Midscore={c.st_Midscore}
20 + st_Finalscore={c.st_Finalscore}
21 + st_Assignscore={c.st_Assignscore}
22 + st_Attendscore={c.st_Attendscore}
23 + st_Score={c.st_Score}
24 + />
25 + );
26 + //<Button variant="contained" color = "secondary" onClick={this.handleClickOpen}>삭제</Button>
27 +
28 +<Textfield label="이름" type="text" name="st_Name" value={this.state.st_Name} onChange={this.handleValueChange}/><br/>
29 +<Textfield label="학번" type="text" name="st_Id" value={this.state.st_Id} onChange={this.handleValueChange}/><br/>
30 +
31 +SELECT @RNUM := @RNUM + 1 AS ROWNUM, t.*
32 +
33 +FROM
34 +
35 + (
36 +
37 + SELECT *
38 +
39 + FROM dbproject.Students
40 +
41 + ORDER BY st_Score
42 +
43 + ) t,
44 +
45 + ( SELECT @RNUM := 0 ) R
...\ No newline at end of file ...\ No newline at end of file