Browse Source

Merge branch 'master' of ssh://10.10.100.21/source/smartschool-platform

koul 7 years ago
parent
commit
725dd98ada
57 changed files with 650 additions and 59 deletions
  1. 6 0
      applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/basic/controller/StudentController.java
  2. 2 0
      applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/basic/service/StudentService.java
  3. 8 0
      applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/basic/service/impl/StudentServiceImpl.java
  4. 44 0
      applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/business/controller/ScoreController.java
  5. 20 0
      applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/business/service/ScoreService.java
  6. 66 0
      applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/business/service/impl/ScoreServiceImpl.java
  7. 2 2
      applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/common/service/impl/MessageLogServiceImpl.java
  8. 25 0
      applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/mapper/ScoreMapper.java
  9. 2 0
      applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/mapper/SysStudentMapper.java
  10. 119 0
      applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/po/StuScore.java
  11. 12 0
      applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/po/SysParents.java
  12. 176 0
      applications/school/school-server/src/main/resources/mapper/ScoreMapper.xml
  13. 7 1
      applications/school/school-server/src/main/resources/mapper/SysStudentMapper.xml
  14. 3 0
      frontend/pc-web/app/model/basic/StudentParents.js
  15. 34 1
      frontend/pc-web/app/view/Interaction/homework/List.js
  16. 34 1
      frontend/pc-web/app/view/Interaction/notice/List.js
  17. 2 5
      frontend/pc-web/app/view/basic/class/ClassDetail.js
  18. 4 3
      frontend/pc-web/app/view/basic/class/ClassInfoController.js
  19. 3 1
      frontend/pc-web/app/view/basic/class/ListCard.js
  20. 1 1
      frontend/pc-web/app/view/basic/class/ListCardController.js
  21. 11 3
      frontend/pc-web/app/view/basic/staff/StaffDetail.js
  22. 29 29
      frontend/pc-web/app/view/basic/staff/StaffList.js
  23. 12 3
      frontend/pc-web/app/view/basic/student/StudentDetail.js
  24. 8 0
      frontend/pc-web/app/view/core/base/BasePanel.js
  25. 7 7
      frontend/pc-web/app/view/setting/operatelog/OperateLog.js
  26. 2 2
      frontend/wechat-web/src/modules/hiPages/res_apply/UserItem.js
  27. 9 0
      frontend/wechat-web/src/redux/actions/listState.js
  28. 2 0
      frontend/wechat-web/src/redux/reducers/redListState.js
  29. BIN
      frontend/wechat-web/src/style/imgs/icon_home_menu21.png
  30. BIN
      frontend/wechat-web/src/style/imgs/icon_home_menu22.png
  31. BIN
      frontend/wechat-web/src/style/imgs/icon_home_menu23.png
  32. BIN
      frontend/wechat-web/src/style/imgs/icon_home_menu24.png
  33. BIN
      frontend/wechat-web/src/style/imgs/icon_home_menu25.png
  34. BIN
      frontend/wechat-web/src/style/imgs/icon_home_menu26.png
  35. BIN
      frontend/wechat-web/src/style/imgs/icon_home_menu27.png
  36. BIN
      frontend/wechat-web/src/style/imgs/icon_home_menu28.png
  37. BIN
      frontend/wechat-web/src/style/imgs/icon_home_menu29.png
  38. BIN
      frontend/wechat-web/src/style/imgs/icon_home_menu30.png
  39. BIN
      frontend/wechat-web/src/style/imgs/icon_home_menu31.png
  40. BIN
      frontend/wechat-web/src/style/imgs/icon_home_menu32.png
  41. BIN
      frontend/wechat-web/src/style/imgs/icon_home_menu33.png
  42. BIN
      frontend/wechat-web/src/style/imgs/icon_home_menu34.png
  43. BIN
      frontend/wechat-web/src/style/imgs/icon_home_menu35.png
  44. BIN
      frontend/wechat-web/src/style/imgs/icon_home_menu_10.png
  45. BIN
      frontend/wechat-web/src/style/imgs/icon_home_menu_11.png
  46. BIN
      frontend/wechat-web/src/style/imgs/icon_home_menu_12.png
  47. BIN
      frontend/wechat-web/src/style/imgs/icon_home_menu_13.png
  48. BIN
      frontend/wechat-web/src/style/imgs/icon_home_menu_14.png
  49. BIN
      frontend/wechat-web/src/style/imgs/icon_home_menu_15.png
  50. BIN
      frontend/wechat-web/src/style/imgs/icon_home_menu_2.png
  51. BIN
      frontend/wechat-web/src/style/imgs/icon_home_menu_3.png
  52. BIN
      frontend/wechat-web/src/style/imgs/icon_home_menu_4.png
  53. BIN
      frontend/wechat-web/src/style/imgs/icon_home_menu_5.png
  54. BIN
      frontend/wechat-web/src/style/imgs/icon_home_menu_6.png
  55. BIN
      frontend/wechat-web/src/style/imgs/icon_home_menu_7.png
  56. BIN
      frontend/wechat-web/src/style/imgs/icon_home_menu_8.png
  57. BIN
      frontend/wechat-web/src/style/imgs/icon_home_menu_9.png

+ 6 - 0
applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/basic/controller/StudentController.java

@@ -57,6 +57,12 @@ public class StudentController {
         return Result.success();
     }
 
+    @PostMapping("/deleteDetail/{id}")
+    public Result deleteDetail(@PathVariable("id") Long id) {
+        studentService.deleteDetail(id);
+        return Result.success();
+    }
+
     @PostMapping("/batchDelete")
     public Result batchDelete(@RequestBody BatchDealBaseDTO baseDTOs) {
         studentService.batchDelete(baseDTOs);

+ 2 - 0
applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/basic/service/StudentService.java

@@ -20,4 +20,6 @@ public interface StudentService {
     void delete(Long id);
 
     void batchDelete(BatchDealBaseDTO baseDTOs);
+
+    void deleteDetail(Long id);
 }

+ 8 - 0
applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/basic/service/impl/StudentServiceImpl.java

@@ -228,4 +228,12 @@ public class StudentServiceImpl implements StudentService{
             delete(base.getId());
         }
     }
+
+    @Override
+    public void deleteDetail(Long id) {
+        if (null == id || "0".equals(id)) {
+            return;
+        }
+        sysStudentMapper.deleteRelationById(id);
+    }
 }

+ 44 - 0
applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/business/controller/ScoreController.java

@@ -0,0 +1,44 @@
+package com.usoftchina.smartschool.school.business.controller;
+
+import com.github.pagehelper.PageInfo;
+import com.usoftchina.smartschool.base.Result;
+import com.usoftchina.smartschool.page.PageDefault;
+import com.usoftchina.smartschool.page.PageRequest;
+import com.usoftchina.smartschool.school.business.service.ScoreService;
+import com.usoftchina.smartschool.school.dto.BatchDealBaseDTO;
+import com.usoftchina.smartschool.school.dto.ListReqDTO;
+import com.usoftchina.smartschool.school.po.StuScore;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * @author: guq
+ * @create: 2019-02-25 08:54
+ **/
+@RequestMapping("/score")
+@RestController
+public class ScoreController {
+
+    @Autowired
+    private ScoreService scoreService;
+
+    @GetMapping("/list")
+    public Result getList(@PageDefault PageRequest page, ListReqDTO listReqDTO) {
+        PageInfo<StuScore> record = scoreService.getListData(page, listReqDTO);
+        return Result.success(record);
+    }
+
+
+    @PostMapping("/delete/{id}")
+    public Result delete(@PathVariable("id") Long id) {
+        scoreService.delete(id);
+        return Result.success();
+    }
+
+    @PostMapping("/batchDelete")
+    public Result batchDelete(@RequestBody BatchDealBaseDTO baseDTOs) {
+        scoreService.batchDelete(baseDTOs);
+        return Result.success();
+    }
+
+}

+ 20 - 0
applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/business/service/ScoreService.java

@@ -0,0 +1,20 @@
+package com.usoftchina.smartschool.school.business.service;
+
+import com.github.pagehelper.PageInfo;
+import com.usoftchina.smartschool.page.PageRequest;
+import com.usoftchina.smartschool.school.dto.BatchDealBaseDTO;
+import com.usoftchina.smartschool.school.dto.ListReqDTO;
+import com.usoftchina.smartschool.school.po.StuScore;
+import com.usoftchina.smartschool.school.po.StuScoreDO;
+
+/**
+ * @author: guq
+ * @create: 2019-02-25 08:55
+ **/
+public interface ScoreService {
+    PageInfo<StuScore> getListData(PageRequest page, ListReqDTO listReqDTO);
+
+    void delete(Long id);
+
+    void batchDelete(BatchDealBaseDTO baseDTOs);
+}

+ 66 - 0
applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/business/service/impl/ScoreServiceImpl.java

@@ -0,0 +1,66 @@
+package com.usoftchina.smartschool.school.business.service.impl;
+
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import com.usoftchina.smartschool.context.BaseContextHolder;
+import com.usoftchina.smartschool.page.PageRequest;
+import com.usoftchina.smartschool.school.business.service.ScoreService;
+import com.usoftchina.smartschool.school.dto.BatchDealBaseDTO;
+import com.usoftchina.smartschool.school.dto.DocBaseDTO;
+import com.usoftchina.smartschool.school.dto.ListReqDTO;
+import com.usoftchina.smartschool.school.mapper.ScoreMapper;
+import com.usoftchina.smartschool.school.po.PrincipalMailboxDO;
+import com.usoftchina.smartschool.school.po.StuScore;
+import com.usoftchina.smartschool.school.po.StuScoreDO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.util.StringUtils;
+
+import java.util.List;
+
+/**
+ * @author: guq
+ * @create: 2019-02-25 08:56
+ **/
+@Service
+public class ScoreServiceImpl implements ScoreService{
+
+
+    @Autowired
+    private ScoreMapper scoreMapper;
+
+    @Override
+    public PageInfo<StuScore> getListData(PageRequest page, ListReqDTO listReqDTO) {
+        PageHelper.startPage(page.getNumber(), page.getSize());
+        Long schoolId = BaseContextHolder.getSchoolId();
+        schoolId = 1l;
+        //condition语句
+        String condition = listReqDTO.getFinalCondition();
+        if(condition == null){
+            condition = "1=1";
+        }
+        List<StuScore> data = scoreMapper.selectByConditon(condition, schoolId);
+        PageInfo<StuScore> list = new PageInfo<StuScore>(data);
+        return list;
+    }
+
+    @Override
+    public void delete(Long id) {
+        if (StringUtils.isEmpty(id) || "0".equals(id)) {
+            return;
+        }
+        scoreMapper.deleteByPrimaryKey(id);
+    }
+
+    @Override
+    public void batchDelete(BatchDealBaseDTO baseDTOs) {
+        if (null == baseDTOs || null == baseDTOs.getBaseDTOs() ||
+                baseDTOs.getBaseDTOs().size() == 0) {
+            return;
+        }
+
+        for (DocBaseDTO base : baseDTOs.getBaseDTOs()) {
+            delete(base.getId());
+        }
+    }
+}

+ 2 - 2
applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/common/service/impl/MessageLogServiceImpl.java

@@ -91,13 +91,13 @@ public class MessageLogServiceImpl implements MessageLogService{
 
     private List<Messagelog> getListByMode(ListReqDTO req) {
         List<Messagelog> list = null;
-        Long companyId = BaseContextHolder.getCompanyId();
+        Long schoolId = BaseContextHolder.getSchoolId();
         String con = req.getFinalCondition();
         if (null == con) {
             con = "1=1";
         }
         if (null == req || StringUtils.isEmpty(req.getMode()) || "MAIN".equals(req.getMode())) {
-            list = messagelogMapper.selectMessageLog(con, companyId);
+            list = messagelogMapper.selectMessageLog(con, schoolId);
         }
         return list;
     }

+ 25 - 0
applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/mapper/ScoreMapper.java

@@ -0,0 +1,25 @@
+package com.usoftchina.smartschool.school.mapper;
+
+import com.usoftchina.smartschool.school.po.StuScore;
+import com.usoftchina.smartschool.school.po.StuScoreDO;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+@Mapper
+public interface ScoreMapper {
+    int deleteByPrimaryKey(Long score_id);
+
+    int insert(StuScoreDO record);
+
+    int insertSelective(StuScoreDO record);
+
+    StuScoreDO selectByPrimaryKey(Long score_id);
+
+    int updateByPrimaryKeySelective(StuScoreDO record);
+
+    int updateByPrimaryKey(StuScoreDO record);
+
+    List<StuScore> selectByConditon(@Param("con") String con, @Param("school_id") Long schoolId);
+}

+ 2 - 0
applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/mapper/SysStudentMapper.java

@@ -42,4 +42,6 @@ public interface SysStudentMapper {
     void deleteRelation(Long id);
 
     Integer checkStu(Long id);
+
+    void deleteRelationById(Long id);
 }

+ 119 - 0
applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/po/StuScore.java

@@ -0,0 +1,119 @@
+package com.usoftchina.smartschool.school.po;
+
+import java.util.Date;
+
+/**
+ * @author: guq
+ * @create: 2019-02-25 09:09
+ **/
+public class StuScore {
+    private Long score_id;
+
+    private String score_type;
+
+    private String score_name;
+
+    private Long stu_id;
+
+    private Double score_total;
+
+    private Double score_num;
+
+    private String score_scope;
+
+    private Date score_date;
+
+    private String score_remarks;
+
+    private Long school_id;
+
+    private Long subject_id;
+
+    public Long getScore_id() {
+        return score_id;
+    }
+
+    public void setScore_id(Long score_id) {
+        this.score_id = score_id;
+    }
+
+    public String getScore_type() {
+        return score_type;
+    }
+
+    public void setScore_type(String score_type) {
+        this.score_type = score_type == null ? null : score_type.trim();
+    }
+
+    public String getScore_name() {
+        return score_name;
+    }
+
+    public void setScore_name(String score_name) {
+        this.score_name = score_name == null ? null : score_name.trim();
+    }
+
+    public Long getStu_id() {
+        return stu_id;
+    }
+
+    public void setStu_id(Long stu_id) {
+        this.stu_id = stu_id;
+    }
+
+    public Double getScore_total() {
+        return score_total;
+    }
+
+    public void setScore_total(Double score_total) {
+        this.score_total = score_total;
+    }
+
+    public Double getScore_num() {
+        return score_num;
+    }
+
+    public void setScore_num(Double score_num) {
+        this.score_num = score_num;
+    }
+
+    public String getScore_scope() {
+        return score_scope;
+    }
+
+    public void setScore_scope(String score_scope) {
+        this.score_scope = score_scope == null ? null : score_scope.trim();
+    }
+
+    public Date getScore_date() {
+        return score_date;
+    }
+
+    public void setScore_date(Date score_date) {
+        this.score_date = score_date;
+    }
+
+    public String getScore_remarks() {
+        return score_remarks;
+    }
+
+    public void setScore_remarks(String score_remarks) {
+        this.score_remarks = score_remarks == null ? null : score_remarks.trim();
+    }
+
+    public Long getSchool_id() {
+        return school_id;
+    }
+
+    public void setSchool_id(Long school_id) {
+        this.school_id = school_id;
+    }
+
+    public Long getSubject_id() {
+        return subject_id;
+    }
+
+    public void setSubject_id(Long subject_id) {
+        this.subject_id = subject_id;
+    }
+}

+ 12 - 0
applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/po/SysParents.java

@@ -40,6 +40,18 @@ public class SysParents {
 
     private String pa_phone;
 
+    private Long parent_stu_id;
+
+    private String ps_relation;
+
+    public Long getParent_stu_id() {
+        return parent_stu_id;
+    }
+
+    public void setParent_stu_id(Long parent_stu_id) {
+        this.parent_stu_id = parent_stu_id;
+    }
+
     public String getPa_phone() {
         return pa_phone;
     }

+ 176 - 0
applications/school/school-server/src/main/resources/mapper/ScoreMapper.xml

@@ -0,0 +1,176 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="com.usoftchina.smartschool.school.mapper.ScoreMapper" >
+  <resultMap id="BaseResultMap" type="com.usoftchina.smartschool.school.po.StuScore" >
+    <id column="score_id" property="score_id" jdbcType="BIGINT" />
+    <result column="score_type" property="score_type" jdbcType="VARCHAR" />
+    <result column="score_name" property="score_name" jdbcType="VARCHAR" />
+    <result column="stu_id" property="stu_id" jdbcType="BIGINT" />
+    <result column="score_total" property="score_total" jdbcType="DOUBLE" />
+    <result column="score_num" property="score_num" jdbcType="DOUBLE" />
+    <result column="score_scope" property="score_scope" jdbcType="VARCHAR" />
+    <result column="score_date" property="score_date" jdbcType="TIMESTAMP" />
+    <result column="score_remarks" property="score_remarks" jdbcType="VARCHAR" />
+    <result column="school_id" property="school_id" jdbcType="BIGINT" />
+    <result column="subject_id" property="subject_id" jdbcType="BIGINT" />
+  </resultMap>
+  <sql id="Base_Column_List" >
+    score_id, score_type, score_name, stu_id, score_total, score_num, score_scope, score_date,
+    score_remarks, school_id, subject_id
+  </sql>
+  <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Long" >
+    select
+    <include refid="Base_Column_List" />
+    from stu_score
+    where score_id = #{score_id,jdbcType=BIGINT}
+  </select>
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.Long" >
+    delete from stu_score
+    where score_id = #{score_id,jdbcType=BIGINT}
+  </delete>
+  <insert id="insert" parameterType="com.usoftchina.smartschool.school.po.StuScore" >
+    insert into stu_score (score_id, score_type, score_name,
+    stu_id, score_total, score_num,
+    score_scope, score_date, score_remarks,
+    school_id, subject_id)
+    values (#{score_id,jdbcType=BIGINT}, #{score_type,jdbcType=VARCHAR}, #{score_name,jdbcType=VARCHAR},
+    #{stu_id,jdbcType=BIGINT}, #{score_total,jdbcType=DOUBLE}, #{score_num,jdbcType=DOUBLE},
+    #{score_scope,jdbcType=VARCHAR}, #{score_date,jdbcType=TIMESTAMP}, #{score_remarks,jdbcType=VARCHAR},
+    #{school_id,jdbcType=BIGINT}, #{subject_id,jdbcType=BIGINT})
+  </insert>
+  <insert id="insertSelective" parameterType="com.usoftchina.smartschool.school.po.StuScore" >
+    insert into stu_score
+    <trim prefix="(" suffix=")" suffixOverrides="," >
+      <if test="score_id != null" >
+        score_id,
+      </if>
+      <if test="score_type != null" >
+        score_type,
+      </if>
+      <if test="score_name != null" >
+        score_name,
+      </if>
+      <if test="stu_id != null" >
+        stu_id,
+      </if>
+      <if test="score_total != null" >
+        score_total,
+      </if>
+      <if test="score_num != null" >
+        score_num,
+      </if>
+      <if test="score_scope != null" >
+        score_scope,
+      </if>
+      <if test="score_date != null" >
+        score_date,
+      </if>
+      <if test="score_remarks != null" >
+        score_remarks,
+      </if>
+      <if test="school_id != null" >
+        school_id,
+      </if>
+      <if test="subject_id != null" >
+        subject_id,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides="," >
+      <if test="score_id != null" >
+        #{score_id,jdbcType=BIGINT},
+      </if>
+      <if test="score_type != null" >
+        #{score_type,jdbcType=VARCHAR},
+      </if>
+      <if test="score_name != null" >
+        #{score_name,jdbcType=VARCHAR},
+      </if>
+      <if test="stu_id != null" >
+        #{stu_id,jdbcType=BIGINT},
+      </if>
+      <if test="score_total != null" >
+        #{score_total,jdbcType=DOUBLE},
+      </if>
+      <if test="score_num != null" >
+        #{score_num,jdbcType=DOUBLE},
+      </if>
+      <if test="score_scope != null" >
+        #{score_scope,jdbcType=VARCHAR},
+      </if>
+      <if test="score_date != null" >
+        #{score_date,jdbcType=TIMESTAMP},
+      </if>
+      <if test="score_remarks != null" >
+        #{score_remarks,jdbcType=VARCHAR},
+      </if>
+      <if test="school_id != null" >
+        #{school_id,jdbcType=BIGINT},
+      </if>
+      <if test="subject_id != null" >
+        #{subject_id,jdbcType=BIGINT},
+      </if>
+    </trim>
+  </insert>
+  <update id="updateByPrimaryKeySelective" parameterType="com.usoftchina.smartschool.school.po.StuScore" >
+    update stu_score
+    <set >
+      <if test="score_type != null" >
+        score_type = #{score_type,jdbcType=VARCHAR},
+      </if>
+      <if test="score_name != null" >
+        score_name = #{score_name,jdbcType=VARCHAR},
+      </if>
+      <if test="stu_id != null" >
+        stu_id = #{stu_id,jdbcType=BIGINT},
+      </if>
+      <if test="score_total != null" >
+        score_total = #{score_total,jdbcType=DOUBLE},
+      </if>
+      <if test="score_num != null" >
+        score_num = #{score_num,jdbcType=DOUBLE},
+      </if>
+      <if test="score_scope != null" >
+        score_scope = #{score_scope,jdbcType=VARCHAR},
+      </if>
+      <if test="score_date != null" >
+        score_date = #{score_date,jdbcType=TIMESTAMP},
+      </if>
+      <if test="score_remarks != null" >
+        score_remarks = #{score_remarks,jdbcType=VARCHAR},
+      </if>
+      <if test="school_id != null" >
+        school_id = #{school_id,jdbcType=BIGINT},
+      </if>
+      <if test="subject_id != null" >
+        subject_id = #{subject_id,jdbcType=BIGINT},
+      </if>
+    </set>
+    where score_id = #{score_id,jdbcType=BIGINT}
+  </update>
+  <update id="updateByPrimaryKey" parameterType="com.usoftchina.smartschool.school.po.StuScore" >
+    update stu_score
+    set score_type = #{score_type,jdbcType=VARCHAR},
+    score_name = #{score_name,jdbcType=VARCHAR},
+    stu_id = #{stu_id,jdbcType=BIGINT},
+    score_total = #{score_total,jdbcType=DOUBLE},
+    score_num = #{score_num,jdbcType=DOUBLE},
+    score_scope = #{score_scope,jdbcType=VARCHAR},
+    score_date = #{score_date,jdbcType=TIMESTAMP},
+    score_remarks = #{score_remarks,jdbcType=VARCHAR},
+    school_id = #{school_id,jdbcType=BIGINT},
+    subject_id = #{subject_id,jdbcType=BIGINT}
+    where score_id = #{score_id,jdbcType=BIGINT}
+  </update>
+
+  <select id="selectByConditon" resultMap="BaseResultMap">
+    select * from stu_score <where>
+      <if test="con != null">
+        ${con}
+      </if>
+      <if test="school_id != null">
+        and  school_id = #{school_id}
+      </if>
+    </where>
+    order by score_id DESC
+  </select>
+</mapper>

+ 7 - 1
applications/school/school-server/src/main/resources/mapper/SysStudentMapper.xml

@@ -234,13 +234,15 @@
     <result column="parents_address" property="parents_address" jdbcType="VARCHAR" />
     <result column="parents_honor" property="parents_honor" jdbcType="VARCHAR" />
     <result column="parents_remarks" property="parents_remarks" jdbcType="VARCHAR" />
+    <result column="ps_relation" property="ps_relation" jdbcType="VARCHAR" />
+    <result column="parent_stu_id" property="parent_stu_id" jdbcType="BIGINT" />
   </resultMap>
   <resultMap id="ResultMapWithBLOBs" type="com.usoftchina.smartschool.school.po.SysParents" extends="parentMap" >
     <result column="parents_photo" property="parents_photo" jdbcType="LONGVARCHAR" />
   </resultMap>
 
   <select id="selectParent" resultMap="parentMap">
-    select sys_parents.* from sys_parents left join sys_parents_stu on sys_parents.parent_id =
+    select sys_parents.*, sys_parents_stu.parent_stu_id,sys_parents_stu.ps_relation from sys_parents left join sys_parents_stu on sys_parents.parent_id =
     sys_parents_stu.parent_id where sys_parents_stu.stu_id=#{id}
   </select>
 
@@ -354,6 +356,10 @@
     delete  from sys_parents_stu where stu_id = #{id}
   </delete>
 
+  <delete id="deleteRelationById" parameterType="long">
+    delete from sys_parents_stu where parent_stu_id = #{id}
+  </delete>
+
   <select id="checkStu" parameterType="long" resultType="integer">
     select count(1) from sys_student where clazz_id=#{id}
   </select>

+ 3 - 0
frontend/pc-web/app/model/basic/StudentParents.js

@@ -51,5 +51,8 @@ Ext.define('school.model.basic.StudentParents', {
     }, {
         name: 'user_id',
         type: 'int'
+    }, {
+        name: 'parent_rel',
+        type: 'string'
     }],
 });

+ 34 - 1
frontend/pc-web/app/view/Interaction/homework/List.js

@@ -45,7 +45,40 @@ Ext.define('school.view.interaction.homework.List', {
                 hiddenTools: false,
                 toolBtns: [{
                     xtype: 'button',
-                    text: '删除'
+                    text: '删除',
+                    handler: function() {
+                        let grid = this.up('grid'),
+                        selectedRecords = grid.getSelection();
+                        let data;
+
+                        data = selectedRecords.map(function(r) {
+                            return {
+                                id: r.get('task_id')
+                            };
+                        });
+
+                        if(data.length == 0) {
+                            school.util.BaseUtil.showErrorToast('请先勾选需要删除的记录');
+                            return;
+                        }
+
+                        grid.setLoading(true);
+                        school.util.BaseUtil.request({
+                            // url: 'http://10.1.80.47:9560/teacher/batchDelete',
+                            url: '/api/school/homework/batchDelete',
+                            method: 'POST',
+                            params: JSON.stringify({
+                                baseDTOs: data
+                            })
+                        }).then(function(res) {
+                            grid.setLoading(false);
+                            school.util.BaseUtil.showSuccessToast('成功删除' + data.length + '条记录');
+                            grid.store.loadPage(grid.store.currentPage);
+                        }).catch(function(e) {
+                            grid.setLoading(false);
+                            school.util.BaseUtil.showErrorToast('删除失败: ' + e.message);
+                        });
+                    }
                 }, {
                     xtype: 'button',
                     text: '新增',

+ 34 - 1
frontend/pc-web/app/view/Interaction/notice/List.js

@@ -46,7 +46,40 @@ Ext.define('school.view.interaction.notice.List', {
                 hiddenTools: false,
                 toolBtns: [{
                     xtype: 'button',
-                    text: '删除'
+                    text: '删除',
+                    handler: function() {
+                        let grid = this.up('grid'),
+                        selectedRecords = grid.getSelection();
+                        let data;
+
+                        data = selectedRecords.map(function(r) {
+                            return {
+                                id: r.get('notify_id')
+                            };
+                        });
+
+                        if(data.length == 0) {
+                            school.util.BaseUtil.showErrorToast('请先勾选需要删除的记录');
+                            return;
+                        }
+
+                        grid.setLoading(true);
+                        school.util.BaseUtil.request({
+                            // url: 'http://10.1.80.47:9560/teacher/batchDelete',
+                            url: '/api/school/notice/batchDelete',
+                            method: 'POST',
+                            params: JSON.stringify({
+                                baseDTOs: data
+                            })
+                        }).then(function(res) {
+                            grid.setLoading(false);
+                            school.util.BaseUtil.showSuccessToast('成功删除' + data.length + '条记录');
+                            grid.store.loadPage(grid.store.currentPage);
+                        }).catch(function(e) {
+                            grid.setLoading(false);
+                            school.util.BaseUtil.showErrorToast('删除失败: ' + e.message);
+                        });
+                    }
                 }, {
                     xtype: 'button',
                     text: '新增',

+ 2 - 5
frontend/pc-web/app/view/basic/class/ClassDetail.js

@@ -10,11 +10,8 @@ Ext.define('school.view.basic.class.ClassDetail', {
     _codeField: null,
 
     _readUrl: '/api/school/class/read',
-    _saveUrl: '/api/purchase/purchase/save',
-    _auditUrl: '/api/purchase/purchase/audit',
-    _unAuditUrl: '/api/purchase/purchase/unAudit',
-    _deleteUrl: '/api/purchase/purchase/delete',
-    _turnInUrl: '/api/purchase/purchase/turnProdin',
+    _saveUrl: '/api/school/class/save',
+    _deleteUrl: '/api/school/class/delete',
 
     initId: 0,
     initComponent: function () {

+ 4 - 3
frontend/pc-web/app/view/basic/class/ClassInfoController.js

@@ -108,7 +108,7 @@ Ext.define('school.view.basic.class.ClassInfoController', {
         store = tree.store,
         record = store.getAt(row);
 
-        me.showTreeAddWin(record.data, record);
+        me.showTreeAddWin(record);
 
     },
 
@@ -156,17 +156,18 @@ Ext.define('school.view.basic.class.ClassInfoController', {
         });
     },
 
-    showTreeAddWin: function(data, record) {
+    showTreeAddWin: function(record, count) {
         let me = this,
         view = me.getView(),
         refs = me.getReferences(),
         treeList = refs.treelist,
         listCard = refs.listcard,
         win = refs.treeaddwin,
+        data = record.data,
         id = data.id,
         _id = data._id,
         type = data.type,
-        childCount = record.childNodes.length;
+        childCount = count >= 0 ? count : record.childNodes.length;
 
         let title = type == 'SCHOOL' ? '新增年级' : '新增班级';
         let sumType = type == 'SCHOOL' ? 'GRADE' : 'CLASS';

+ 3 - 1
frontend/pc-web/app/view/basic/class/ListCard.js

@@ -91,9 +91,11 @@ Ext.define('school.view.basic.class.ListCard', {
             cardList = Ext.Array.merge(list, [{
                 addBtn: true,
                 id: node.data.id,
+                _id: node.data._id,
                 type: node.data.type,
                 itemCls: 'item-add',
-                textCls: 'text-add x-ss ss-add'
+                textCls: 'text-add x-ss ss-add',
+                count: list.length
             }]);
 
             currentlist.loadData(cardList);

+ 1 - 1
frontend/pc-web/app/view/basic/class/ListCardController.js

@@ -22,7 +22,7 @@ Ext.define('school.view.basic.class.ListCardController', {
         var node;
 
         if(!!record.get('addBtn')) {
-            classInfoController.showTreeAddWin(record.data);
+            classInfoController.showTreeAddWin(record, record.get('count'));
         }else {
             node = rootNode.findChild('id', record.get('id'), true);
             view.showNode(node);

+ 11 - 3
frontend/pc-web/app/view/basic/staff/StaffDetail.js

@@ -35,9 +35,17 @@ Ext.define('school.view.basic.staff.StaffDetail', {
                 name: 'teacher_name',
                 fieldLabel: '姓名'
             }, {
-                xtype: "textfield",
-                name: "teacher_sex",
-                fieldLabel: "性别"
+                xtype: 'combobox',
+                name: 'teacher_sex',
+                fieldLabel: '性别',
+                displayField: 'name',
+                valueField: 'value',
+                editable: false,
+                store: {
+                    type: 'store_gender'
+                },
+                minChars: 0,
+                queryMode: 'local'
             }, {
                 xtype: 'textfield',
                 name: 'teacher_phone',

+ 29 - 29
frontend/pc-web/app/view/basic/staff/StaffList.js

@@ -9,15 +9,15 @@ Ext.define('school.view.basic.staff.StaffList', {
     _title: '教职工信息导入',
     caller: 'Teacher',
     pathKey: 'teacher',
-    
 
-    initComponent: function() {
+
+    initComponent: function () {
         var me = this;
         Ext.apply(this, {
             searchField: [{
                 xtype: 'textfield',
                 name: 'code',
-                fieldLabel:'教职工号'
+                fieldLabel: '教职工号'
             }, {
                 xtype: 'textfield',
                 name: 'name',
@@ -27,7 +27,7 @@ Ext.define('school.view.basic.staff.StaffList', {
                 name: 'job',
                 fieldLabel: '职位'
             }],
-        
+
             gridConfig: {
                 addTitle: '教职工信息',
                 addXtype: 'basic-staff-staffdetail',
@@ -39,10 +39,10 @@ Ext.define('school.view.basic.staff.StaffList', {
                 totalProperty: 'data.total',
                 actionColumn: [],
                 selModel: {
-                    checkOnly:true,
-                    type:'checkboxmodel',
-                    mode : "MULTI" ,
-                    ignoreRightMouseSelection : false
+                    checkOnly: true,
+                    type: 'checkboxmodel',
+                    mode: "MULTI",
+                    ignoreRightMouseSelection: false
                 },
                 hiddenTools: false,
                 toolBtns: [{
@@ -50,7 +50,7 @@ Ext.define('school.view.basic.staff.StaffList', {
                     belong: me,
                     caller: me.caller,
                     pathKey: me.pathKey,
-                    onSuccess: function() {
+                    onSuccess: function () {
                         //刷新界面
                         var g = me.down('grid');
                         g.store.loadPage(g.store.currentPage);
@@ -61,18 +61,18 @@ Ext.define('school.view.basic.staff.StaffList', {
                 }, {
                     xtype: 'button',
                     text: '删除',
-                    handler: function() {
+                    handler: function () {
                         let grid = this.up('grid'),
-                        selectedRecords = grid.getSelection();
+                            selectedRecords = grid.getSelection();
                         let data;
 
-                        data = selectedRecords.map(function(r) {
+                        data = selectedRecords.map(function (r) {
                             return {
                                 id: r.get('teacher_id')
                             };
                         });
 
-                        if(data.length == 0) {
+                        if (data.length == 0) {
                             school.util.BaseUtil.showErrorToast('请先勾选需要删除的记录');
                             return;
                         }
@@ -85,11 +85,11 @@ Ext.define('school.view.basic.staff.StaffList', {
                             params: JSON.stringify({
                                 baseDTOs: data
                             })
-                        }).then(function(res) {
+                        }).then(function (res) {
                             grid.setLoading(false);
                             school.util.BaseUtil.showSuccessToast('成功删除' + data.length + '条记录');
                             grid.store.loadPage(grid.store.currentPage);
-                        }).catch(function(e) {
+                        }).catch(function (e) {
                             grid.setLoading(false);
                             school.util.BaseUtil.showErrorToast('删除失败: ' + e.message);
                         });
@@ -97,11 +97,11 @@ Ext.define('school.view.basic.staff.StaffList', {
                 }, {
                     xtype: 'button',
                     text: '新增',
-                    handler: function() {
+                    handler: function () {
                         school.util.BaseUtil.openTab('basic-staff-staffdetail', '新增教职工信息', 'basic-staff-staffdetail-add');
                     }
                 }],
-                columns : [{
+                columns: [{
                     text: 'ID',
                     dataIndex: 'teacher_id',
                     hidden: true
@@ -120,7 +120,7 @@ Ext.define('school.view.basic.staff.StaffList', {
                 }, {
                     text: '性别',
                     dataIndex: 'teacher_sex',
-                    renderer: function(v, m, r) {
+                    renderer: function (v, m, r) {
                         return v == 1 ? '男' : (v == 0 ? '女' : '未知');
                     }
                 }, {
@@ -172,33 +172,33 @@ Ext.define('school.view.basic.staff.StaffList', {
         return conditionValue;
     },
 
-    getExtraParams: function(store, op, condition) {
+    getExtraParams: function (store, op, condition) {
         var temp = {};
 
-        for(let x = 0; x < condition.length; x++) {
+        for (let x = 0; x < condition.length; x++) {
             let c = condition[x];
-            if(c.field == 'keyword') {
+            if (c.field == 'keyword') {
                 temp.keyword = c.value;
-            }else if(c.field == 'date') {
+            } else if (c.field == 'date') {
                 temp.fromDate = new Date(c.value.split(',')[0]).getTime();
                 temp.endDate = new Date(c.value.split(',')[1]).getTime();
-            }else if(c.field == 'quoted') {
+            } else if (c.field == 'quoted') {
                 temp.quoted = c.value == 'all' ? null : c.value;
-            }else if(c.field == 'closed') {
+            } else if (c.field == 'closed') {
                 // temp.endDate = c.value == 'all' ? null : (
                 //     c.value == '0' ? 
                 // );
             }
         }
         let obj = {
-            pageNumber: store.exportNumber?store.exportNumber:op._page,
-            pageSize: store.exportPageSize?store.exportPageSize:store.pageSize
+            pageNumber: store.exportNumber ? store.exportNumber : op._page,
+            pageSize: store.exportPageSize ? store.exportPageSize : store.pageSize
         };
-        for(let k in temp) {
-            if(!!temp[k]) {
+        for (let k in temp) {
+            if (!!temp[k]) {
                 obj[k] = temp[k];
             }
         }
         return obj;
-     },
+    },
 });

+ 12 - 3
frontend/pc-web/app/view/basic/student/StudentDetail.js

@@ -13,7 +13,7 @@ Ext.define('school.view.basic.student.StudentDetail', {
     _statusCodeField: null,
     _auditmanField: null,
     _auditdateField: null,
-    // _readUrl: 'http://10.1.80.35:8560/api/sale/saledown/read',
+    // _readUrl: 'http://10.1.80.47:9560/student/read',
     _readUrl: '/api/school/student/read',
     // _saveUrl: 'http://10.1.80.47:9560/student/save',
     _saveUrl: '/api/school/student/save',
@@ -24,6 +24,10 @@ Ext.define('school.view.basic.student.StudentDetail', {
     initComponent: function () {
         Ext.apply(this, {
             defaultItems: [{
+                xtype: 'hidden',
+                name: 'stu_id',
+                fieldLabel: 'id',
+            }, {
                 xtype: 'textfield',
                 name: 'stu_number',
                 fieldLabel: '学号'
@@ -90,13 +94,18 @@ Ext.define('school.view.basic.student.StudentDetail', {
             }, {
                 name: "parent",
                 xtype: "detailGridField",
-                idColumn: 'parent_id',
+                idColumn: 'parent_stu_id',
                 detnoColumn: 'sd_detno',
                 storeModel: 'school.model.basic.StudentParents',
-                deleteDetailUrl: '/api/sale/sale/deleteDetail',
+                // deleteDetailUrl: 'http://10.1.80.47:9560/student/deleteDetail',
+                deleteDetailUrl: '/api/school/student/deleteDetail',
                 allowEmpty: true,
                 showCount: false,
                 columns: [{
+                    text: '家长姓名',
+                    dataIndex: 'parent_stu_id',
+                    hidden: true
+                }, {
                     text: '家长姓名',
                     dataIndex: 'parents_name',
                     editor: {

+ 8 - 0
frontend/pc-web/app/view/core/base/BasePanel.js

@@ -113,6 +113,14 @@ Ext.define('school.view.core.base.BasePanel', {
         grid.store.loadPage(1);
     },
 
+    getExtraParams: function(store, op, condition) {
+        let obj = {
+            pageNumber: store.exportNumber?store.exportNumber:op._page,
+            pageSize: store.exportPageSize?store.exportPageSize:store.pageSize
+        };
+        return obj;
+     },
+
     /**
      * 获得过滤条件
      */

+ 7 - 7
frontend/pc-web/app/view/setting/operatelog/OperateLog.js

@@ -6,7 +6,7 @@ Ext.define('school.view.setting.operatelog.OperateLog', {
     xtype: 'setting-operatelog-operatelog',
 
     viewName: 'setting-operatelog-operatelog',
-    dataUrl: '/api/commons/operatelog/list',
+    dataUrl: '/api/school/messagelog/list',
     initComponent: function () {
         var me = this;
         Ext.apply(this, {
@@ -16,12 +16,12 @@ Ext.define('school.view.setting.operatelog.OperateLog', {
                 xtype: 'textfield',
                 emptyText : '对象',
             }, {
-                columnWidth: 0.5,
-                name: 'time',
-                xtype: 'condatefield',
-                fieldLabel : '时间',
-                labelWidth: 50
-            }, {
+            //     // columnWidth: 0.5,
+            //     // name: 'time',
+            //     // xtype: 'condatefield',
+            //     // fieldLabel : '时间',
+            //     // labelWidth: 50
+            // }, {
                 width: 110,
                 name: 'man',
                 xtype: 'textfield',

+ 2 - 2
frontend/wechat-web/src/modules/hiPages/res_apply/UserItem.js

@@ -30,7 +30,7 @@ export default class UserItem extends Component{
                 <div className="comhline_sty1"></div>
                 <div className="item_sty">
                     <div className="left_title">数量</div>
-                    <input   ref='itemnumber' className="text-right right_input" type="number" placeholder="请输入" maxLength={3} value={this.props.itemata.artCount} />
+                    <input   ref='itemnumber' className="text-right right_input" type="number" placeholder="请输入" maxLength={6} value={this.props.itemata.artCount} />
                 </div>
                 <div className="comhline_sty1"></div>
             </div>
@@ -49,7 +49,7 @@ export default class UserItem extends Component{
         console.log('itemnumber%1 === 0',itemnumber%1 == 0)
         if(itemnumber.length > 0){
             if(itemnumber%1 == 0 && itemnumber > 0){
-                if(itemnumber.length > 3){
+                if(itemnumber.length > 6){
                     Toast.show('可申请数量有限',1)
                     this.props.handelRItem({
                         artName:itemuser,

+ 9 - 0
frontend/wechat-web/src/redux/actions/listState.js

@@ -6,6 +6,11 @@
 import {CLEAR_LIST_STATE, LIST_STATE} from "../constants/actionTypes";
 import store from '../store/store'
 
+/**
+ * 保存列表状态
+ * @param data
+ * @returns {Function}
+ */
 export const saveListState = (data) => {
     return () => {
         store.dispatch({
@@ -15,6 +20,10 @@ export const saveListState = (data) => {
     }
 }
 
+/**
+ * 清除列表状态
+ * @returns {Function}
+ */
 export const clearListState = () => {
     return () => {
         store.dispatch({

+ 2 - 0
frontend/wechat-web/src/redux/reducers/redListState.js

@@ -20,11 +20,13 @@ const redListState = (state = initListState, action) => {
 
     switch (action.type) {
         case LIST_STATE:
+            //更新列表状态
             return {
                 ...state,
                 ...action
             }
         case CLEAR_LIST_STATE:
+            //清空列表状态
             return initListState
         default:
             return state

BIN
frontend/wechat-web/src/style/imgs/icon_home_menu21.png


BIN
frontend/wechat-web/src/style/imgs/icon_home_menu22.png


BIN
frontend/wechat-web/src/style/imgs/icon_home_menu23.png


BIN
frontend/wechat-web/src/style/imgs/icon_home_menu24.png


BIN
frontend/wechat-web/src/style/imgs/icon_home_menu25.png


BIN
frontend/wechat-web/src/style/imgs/icon_home_menu26.png


BIN
frontend/wechat-web/src/style/imgs/icon_home_menu27.png


BIN
frontend/wechat-web/src/style/imgs/icon_home_menu28.png


BIN
frontend/wechat-web/src/style/imgs/icon_home_menu29.png


BIN
frontend/wechat-web/src/style/imgs/icon_home_menu30.png


BIN
frontend/wechat-web/src/style/imgs/icon_home_menu31.png


BIN
frontend/wechat-web/src/style/imgs/icon_home_menu32.png


BIN
frontend/wechat-web/src/style/imgs/icon_home_menu33.png


BIN
frontend/wechat-web/src/style/imgs/icon_home_menu34.png


BIN
frontend/wechat-web/src/style/imgs/icon_home_menu35.png


BIN
frontend/wechat-web/src/style/imgs/icon_home_menu_10.png


BIN
frontend/wechat-web/src/style/imgs/icon_home_menu_11.png


BIN
frontend/wechat-web/src/style/imgs/icon_home_menu_12.png


BIN
frontend/wechat-web/src/style/imgs/icon_home_menu_13.png


BIN
frontend/wechat-web/src/style/imgs/icon_home_menu_14.png


BIN
frontend/wechat-web/src/style/imgs/icon_home_menu_15.png


BIN
frontend/wechat-web/src/style/imgs/icon_home_menu_2.png


BIN
frontend/wechat-web/src/style/imgs/icon_home_menu_3.png


BIN
frontend/wechat-web/src/style/imgs/icon_home_menu_4.png


BIN
frontend/wechat-web/src/style/imgs/icon_home_menu_5.png


BIN
frontend/wechat-web/src/style/imgs/icon_home_menu_6.png


BIN
frontend/wechat-web/src/style/imgs/icon_home_menu_7.png


BIN
frontend/wechat-web/src/style/imgs/icon_home_menu_8.png


BIN
frontend/wechat-web/src/style/imgs/icon_home_menu_9.png