diff --git a/controllers/project.go b/controllers/project.go index 5462851..0568348 100644 --- a/controllers/project.go +++ b/controllers/project.go @@ -4,7 +4,6 @@ import ( "OpenPBL/models" "OpenPBL/util" "encoding/json" - "fmt" "github.com/astaxie/beego" "github.com/casdoor/casdoor-go-sdk/auth" "strings" @@ -90,8 +89,8 @@ func (p *ProjectController) CreateProject() { uid := util.GetUserId(user) project := &models.Project{ TeacherId: uid, + LearnMinuteWeight: 100, } - fmt.Println(project) err := project.Create() if err != nil { resp = Response{ @@ -538,4 +537,28 @@ func (p *ProjectController) GetProjectSubjectsAndSkills() { } } p.ServeJSON() +} + +// ViewProject +// @Title +// @Description create project +// @Success 200 {object} Response +// @Failure 401 +// @Failure 400 +// @Failure 403 +// @router /:id/view [post] +func (p *ProjectController) ViewProject() { + pid := p.GetString(":id") + err := models.ViewProject(pid) + if err != nil { + p.Data["json"] = Response{ + Code: 400, + Msg: err.Error(), + } + } else { + p.Data["json"] = Response{ + Code: 200, + } + } + p.ServeJSON() } \ No newline at end of file diff --git a/models/project.go b/models/project.go index 92fddd3..fc50743 100644 --- a/models/project.go +++ b/models/project.go @@ -224,4 +224,10 @@ func GetSkills() (skills []string, err error) { Distinct("skill"). Find(&skills) return +} + +func ViewProject(pid string) (err error) { + _, err = adapter.Engine. + Exec("update project set read_num = read_num + 1 where id = ?", pid) + return } \ No newline at end of file diff --git a/web/src/api/ProjectApi.js b/web/src/api/ProjectApi.js index 7655a1d..bc91b54 100644 --- a/web/src/api/ProjectApi.js +++ b/web/src/api/ProjectApi.js @@ -91,6 +91,12 @@ const ProjectApi = { url: `/project/${pid}/subjects-skills`, method: 'get' }) + }, + viewProject(pid) { + return request({ + url: `/project/${pid}/view`, + method: 'post' + }) } } diff --git a/web/src/pages/Project/CreateProject/Section/SectionEditPage.jsx b/web/src/pages/Project/CreateProject/Section/SectionEditPage.jsx index 20a9d40..efedd65 100644 --- a/web/src/pages/Project/CreateProject/Section/SectionEditPage.jsx +++ b/web/src/pages/Project/CreateProject/Section/SectionEditPage.jsx @@ -48,9 +48,11 @@ function SectionEditPage(obj) { - - - +
+ + + +
) diff --git a/web/src/pages/Project/CreateProject/Section/component/StudentTask.jsx b/web/src/pages/Project/CreateProject/Section/component/StudentTask.jsx index 38fffa5..4a45a43 100644 --- a/web/src/pages/Project/CreateProject/Section/component/StudentTask.jsx +++ b/web/src/pages/Project/CreateProject/Section/component/StudentTask.jsx @@ -100,7 +100,8 @@ function StudentTask(obj) { }) } } - const gotoSurvey = item => { + const gotoSurvey = (item, index) => { + saveContent(item, index) window.location.href = `/project/${pid}/section/${obj.section.id}/task/${item.id}/survey/edit` } @@ -129,7 +130,7 @@ function StudentTask(obj) { changeIntroduce(e, index)} style={{marginTop: '20px'}}/> {item.taskType === 'survey' ? - + : null } diff --git a/web/src/pages/Project/component/ProjectList.jsx b/web/src/pages/Project/component/ProjectList.jsx index 88fd65f..9e73aad 100644 --- a/web/src/pages/Project/component/ProjectList.jsx +++ b/web/src/pages/Project/component/ProjectList.jsx @@ -112,6 +112,16 @@ function ProjectList(obj) { setSelectedSkills(selected) updateProjectList(page, size, selectedSubjects.toString(), selected.toString(), value) } + const viewProject = (item) => { + if (item.published && !item.closed) { + ProjectApi.viewProject(item.id) + .then(res => { + }) + .catch(e => { + }) + } + window.location.href = `/project/${item.id}/info` + } const onSearch = (v) => { setValue(v) @@ -176,10 +186,10 @@ function ProjectList(obj) { { learningProjectList.map((item, index) => ( - viewProject(item)} style={{ borderRadius: '10px', }} @@ -239,7 +249,6 @@ function ProjectList(obj) { {util.FilterMoment(item.createAt)} - )) }