项目总结

本次项目前端使用的是element,后台使用的是ssm,
model层和dao层是使用代码生成器生成,
同时建立了一个公共的base使用的是集成的一些方法,
在单个页面的数据库是单表的时候可以继承basedao,baseservice,baseserviceimpl和basecontroller
在controller层中使用base的增删改查方法无须再新写方法
如果是有与其它表关联的对象需要自己在xml中谢sql语句查询,
如果页面需要的字段超过实体类的字段则可以添加一个dto类继承实体类,然后添加多出的字段,不过在xml的requstmap中的type写的类型是dto
然后层层调用就行
其他的都可用继承的

<resultMap id="BaseResultMap" type="cn.itsource.dto.Activitydto">

查询
同时带高级查询
要从前台传page和size进来不然会报空指针

@RequestMapping(value = "/listpage",method = RequestMethod.GET)
    @ApiOperation("获取列表数据")
    public String ajaxList(Integer page, Integer size,KmsShare kmsShare) {
        PageTable<List<KmsShare>> pageTable = new PageTable<List<KmsShare>>();
        kmsShare.setDelFlag(WebConstant.NODELETECODE);
        PageInfo<KmsShare> pageInfo = kmsShareService.queryPageListByParam(page, size, kmsShare);
        pageTable.setCode(WebConstant.PAGESUCCESSCODE);
        pageTable.setMsg("获取成功");
        pageTable.setData(pageInfo.getList());
        pageTable.setCount(pageInfo.getTotal());
        return responseAPI.getJsonString(pageTable);
    }

添加和更新

@RequestMapping(value = "/saveUpdate",method = RequestMethod.POST)
public String saveUpdate(@RequestBody KmsShare kmsShare) {
    JsonReturnData<String> jsonReturnData = new JsonReturnData<>(WebConstant.ERRORCODE, "操作失败");
    if (kmsShare.getId() != null) {
        kmsShareService.updateNoNull(kmsShare);
        jsonReturnData.setCode(WebConstant.SUCCESSCODE);
        jsonReturnData.setMsg("更新成功");
    } else {
        kmsShare.setDelFlag(1);
        kmsShareService.insert(kmsShare);
        jsonReturnData.setCode(WebConstant.SUCCESSCODE);
        jsonReturnData.setMsg("添加成功");
    }
    return responseAPI.getJsonString(jsonReturnData);
}

删除

@RequestMapping(value = "/deletes",method = RequestMethod.DELETE)
public String deletes(String ids) {
    JsonReturnData<String> jsonReturnData = new JsonReturnData<>(WebConstant.ERRORCODE, "批量删除失败");
    if (!StringUtils.isEmpty(ids)) {
        kmsShareService.updateDeletes(ids);
        jsonReturnData.setCode(WebConstant.SUCCESSCODE);
        jsonReturnData.setMsg("批量删除成功");
    }

    return responseAPI.getJsonString(jsonReturnData);
}

导出

@RequestMapping(value = "/export",method = RequestMethod.GET)
@ApiOperation("导出excel")
public void export(ModelMap map, HttpServletRequest request, HttpServletResponse response) {
    List<KmsShare> list = kmsShareService.queryAllList();
    List<KmsShareExcel> listExcel = new ArrayList<KmsShareExcel>();
    for (KmsShare kmsShare : list) {
        KmsShareExcel kmsShareExcel = new KmsShareExcel();
        BeanUtils.copyProperties(kmsShare, kmsShareExcel);
        listExcel.add(kmsShareExcel);
    }
    ExportParams params = new ExportParams(null, "测试", ExcelType.XSSF);
    map.put(NormalExcelConstants.DATA_LIST, listExcel);//导出的列表集合
    map.put(NormalExcelConstants.CLASS, KmsShareExcel.class);//excel 类
    map.put(NormalExcelConstants.PARAMS, params);// 参数
    map.put(NormalExcelConstants.FILE_NAME, "用户信息"); //文件名
    PoiBaseView.render(map, request, response, NormalExcelConstants.EASYPOI_EXCEL_VIEW);
}

本次我写的模块是kms
主要页面是
在这里插入图片描述
单个页面效果
在这里插入图片描述学习管理会查出学习人姓名性别,学习内容,
学习方式,开始时间和结束时间
新增弹出框可以选择学习人姓名性别,学习内容,
学习方式,开始时间和结束时间
编辑弹出框可以修改学习人姓名性别,学习内容,
学习方式,开始时间和结束时间
删除是逻辑删除,删除时将逻辑删除字段从一变为零
在查询时只查询逻辑删除字段为一的数据
高级查询能根据填入的姓名,性别学习内容学习方式来匹配查询

学习安排会查出学习人姓名性别,学习内容,
学习地点,开始时间和结束时间
新增弹出框可以选择学习人姓名性别,学习内容,
学习地点,开始时间和结束时间
编辑弹出框可以修改学习人姓名性别,学习内容,
学习地点,开始时间和结束时间
删除是逻辑删除,删除时将逻辑删除字段从一变为零
在查询时只查询逻辑删除字段为一的数据
高级查询能根据填入的姓名,性别来匹配查询

考试管理会查出考试人姓名性别,考试内容,
考试地点,开始时间和结束时间
新增弹出框可以选择考试人姓名性别,考试内容,
考试地点,开始时间和结束时间
编辑弹出框可以修改考试人姓名性别,考试内容,
考试地点,开始时间和结束时间
删除是逻辑删除,删除时将逻辑删除字段从一变为零
在查询时只查询逻辑删除字段为一的数据
高级查询能根据填入的姓名,性别,考试内容来匹配查询

考试分数会查出考试人姓名性别,考试科目,考试内容,
考试分数,开始时间和结束时间
新增弹出框可以选择考试人姓名性别,考试内容,
考试地点,开始时间和结束时间
编辑弹出框可以修改考试人姓名性别,考试内容,
考试地点,开始时间和结束时间
删除是逻辑删除,删除时将逻辑删除字段从一变为零
在查询时只查询逻辑删除字段为一的数据
高级查询能根据填入的姓名,性别,考试科目来匹配查询

培训管理会查出培训人姓名性别,培训内容,
培训地点,开始时间和结束时间,培训师
新增弹出框可以选择培训人姓名性别,培训内容,
培训地点,开始时间和结束时间,培训师
编辑弹出框可以修改培训人姓名性别,培训内容,
培训地点,开始时间和结束时间,培训师
删除是逻辑删除,删除时将逻辑删除字段从一变为零
在查询时只查询逻辑删除字段为一的数据
高级查询能根据填入的姓名,性别来匹配查询

知识社区会查出文章名称,文章类型,文章内容,文章作者
观看人数,点赞人数,创建时间,修改时间,评论者
新增弹出框可以选择文章名称,文章类型,文章内容
观看人数,点赞人数,创建时间,修改时间,评论者
编辑弹出框可以修改文章名称,文章类型,文章内容
观看人数,点赞人数,创建时间,修改时间,评论者
删除是逻辑删除,删除时将逻辑删除字段从一变为零
在查询时只查询逻辑删除字段为一的数据
高级查询能根据填入的文章类型,文章内容,文章作者来匹配查询

知识问答会查出问答科目,科目类型,问答人员,人员性别
问答内容,问答地点,开始时间,结束时间,问答积分,出题人
新增弹出框可以选择问答科目,科目类型,问答人员,人员性别
问答内容,问答地点,开始时间,结束时间,问答积分,出题人
编辑弹出框可以修改问答科目,科目类型,问答人员,人员性别
问答内容,问答地点,开始时间,结束时间,问答积分,出题人
删除是逻辑删除,删除时将逻辑删除字段从一变为零
在查询时只查询逻辑删除字段为一的数据
高级查询能根据填入的问答科目,科目类型,问答人员来匹配查询

知识库查出知识科目,科目类型,科目内容
科目创建时间,科目修改时间,创建人员
新增弹出框可以选择知识科目,科目类型,科目内容
科目创建时间,科目修改时间,创建人员
编辑弹出框可以修改知识科目,科目类型,科目内容
科目创建时间,科目修改时间,创建人员
删除是逻辑删除,删除时将逻辑删除字段从一变为零
在查询时只查询逻辑删除字段为一的数据
高级查询能根据填入的知识科目,科目类型来匹配查询

考核评价查出考核人员,人员性别,考核内容
考核地点,开始时间,结束时间,考核分数,评论员,评价等级
新增弹出框可以选择考核人员,人员性别,考核内容
考核地点,开始时间,结束时间,考核分数,评论员,评价等级
编辑弹出框可以修改考核人员,人员性别,考核内容
考核地点,开始时间,结束时间,考核分数,评论员,评价等级
删除是逻辑删除,删除时将逻辑删除字段从一变为零
在查询时只查询逻辑删除字段为一的数据
高级查询能根据填入的考核人员和性别来匹配查询

文档管理查出文档名称,文档类型,文档内容
文档地址,文档作者,创建时间,修改时间
新增弹出框可以选择文档名称,文档类型,文档内容
文档地址,文档作者,创建时间,修改时间
编辑弹出框可以修改文档名称,文档类型,文档内容
文档地址,文档作者,创建时间,修改时间
删除是逻辑删除,删除时将逻辑删除字段从一变为零
在查询时只查询逻辑删除字段为一的数据
高级查询能根据填入的文档名称,文档类型,文档作者来匹配查询

邮件通知查出员工姓名,员工性别,邮箱账号
邮箱标题,邮箱内容,发送状态,发送时间
新增弹出框可以选择员工姓名,员工性别,邮箱账号
邮箱标题,邮箱内容,发送状态,发送时间
编辑弹出框可以修改员工姓名,员工性别,邮箱账号
邮箱标题,邮箱内容,发送状态,发送时间
删除是逻辑删除,删除时将逻辑删除字段从一变为零
在查询时只查询逻辑删除字段为一的数据
高级查询能根据填入的用户名,性别来匹配查询

员工经验分享查出分享人员,人员性别,标题
类型,内容,地址,开始时间,结束时间,观看人数
新增弹出框可以选择分享人员,人员性别,标题
类型,内容,地址,开始时间,结束时间,观看人数
编辑弹出框可以修改分享人员,人员性别,标题
类型,内容,地址,开始时间,结束时间,观看人数
删除是逻辑删除,删除时将逻辑删除字段从一变为零
在查询时只查询逻辑删除字段为一的数据
高级查询能根据填入的用户名,性别,类型来匹配查询

基本上所以页面都是增删改查和高级查询组成
考试管理有所不同本模块带考试系统用户可以进行考试
考试结束后会继续成绩计算并将本次考试的数据插入考试管理中

自己负责的模块比较简单在做完后去其它组进行了学习
如下拉框的数据获取

<el-form-item label="组织人">
                    <el-select v-model="editForm.empId" @click="showname()" clearable filterable placeholder="请选择性别">
                        <el-option
                                v-for="item in options"
                                :key="item.id"
                                :label="item.empname"
                                :value="item.empId">
                        </el-option>
                    </el-select>
                </el-form-item>
showname(){
                this.getempname()

             },
            getempname(){
                let para = {
                    page: this.page,
                    size:this.size
                };
                getActivityListPage(para).then((res) => {
                    this.options=res.data.data
                    console.log(this.options)

                })
            }    

将showname放在mounted()中在页面加载完就能将获取的数据存入options中循环就能获取
以及前台传入后台和后台传出的时间需要格式话不然会报错

 para.initatetime = (!para.initatetime || para.initatetime == '') ? '' : util.formatDate.format(new Date(para.initatetime), 'yyyy-MM-dd hh:mm:ss');
 para.endtime = (!para.endtime || para.endtime == '') ? '' : util.formatDate.format(new Date(para.endtime), 'yyyy-MM-dd hh:mm:ss');
para.createtime = (!para.createtime || para.createtime == '') ? '' : util.formatDate.format(new Date(para.createtime), 'yyyy-MM-dd hh:mm:ss');
para.updatetime = (!para.updatetime || para.updatetime == '') ? '' : util.formatDate.format(new Date(para.updatetime), 'yyyy-MM-dd hh:mm:ss');

以及在新增页面中点击按钮继续弹出一个表格
就和弹出新增界面一样继续写一个表格按照新增界面来写就行

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值