管理端:学习进度/会员证书
This commit is contained in:
parent
902a9a3d97
commit
5bf8a27887
Binary file not shown.
|
After Width: | Height: | Size: 32 KiB |
|
|
@ -46,7 +46,7 @@
|
||||||
pagination: $.common.visible(options.pagination), // 是否显示分页(*)
|
pagination: $.common.visible(options.pagination), // 是否显示分页(*)
|
||||||
pageNumber: 1, // 初始化加载第一页,默认第一页
|
pageNumber: 1, // 初始化加载第一页,默认第一页
|
||||||
pageSize: 10, // 每页的记录行数(*)
|
pageSize: 10, // 每页的记录行数(*)
|
||||||
pageList: [10, 25, 50,100,500,1000], // 可供选择的每页的行数(*)
|
pageList: [10,50,100,'1000'], // 可供选择的每页的行数(*)
|
||||||
clickToSelect: true, // 点击行选中
|
clickToSelect: true, // 点击行选中
|
||||||
iconSize: 'outline', // 图标大小:undefined默认的按钮尺寸 xs超小按钮sm小按钮lg大按钮
|
iconSize: 'outline', // 图标大小:undefined默认的按钮尺寸 xs超小按钮sm小按钮lg大按钮
|
||||||
toolbar: '#toolbar', // 指定工作栏
|
toolbar: '#toolbar', // 指定工作栏
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,7 @@
|
||||||
<ul class="nav" id="side-menu">
|
<ul class="nav" id="side-menu">
|
||||||
<li class="nav-header">
|
<li class="nav-header">
|
||||||
<div class="dropdown profile-element"> <span>
|
<div class="dropdown profile-element"> <span>
|
||||||
<img th:src="(${user.avatar} == '') ? @{/img/profile.jpg} : @{/profile/avatar/} + ${user.avatar}" alt="image" class="img-circle" height="60" width="60"/></span>
|
<img th:src="@{/juncong.jpg}" alt="image" class="img-circle" height="60" width="60"/></span>
|
||||||
<a data-toggle="dropdown" class="dropdown-toggle" href="#">
|
<a data-toggle="dropdown" class="dropdown-toggle" href="#">
|
||||||
<span class="clear"><span class="block m-t-xs"><strong class="font-bold" th:text="${user.userName}">用户</strong></span>
|
<span class="clear"><span class="block m-t-xs"><strong class="font-bold" th:text="${user.userName}">用户</strong></span>
|
||||||
<span class="text-muted text-xs block"><span th:text="${user.dept?.deptName}">部门</span> <b class="caret"></b></span> </span> </a>
|
<span class="text-muted text-xs block"><span th:text="${user.dept?.deptName}">部门</span> <b class="caret"></b></span> </span> </a>
|
||||||
|
|
|
||||||
|
|
@ -37,6 +37,8 @@ public class EntityUtils {
|
||||||
for (Method m : methods) {
|
for (Method m : methods) {
|
||||||
if (m.getName().equals( "setCreateBy" )) {
|
if (m.getName().equals( "setCreateBy" )) {
|
||||||
m.invoke( entity,com.ruoyi.framework.web.util.ShiroUtils.getLoginName() );
|
m.invoke( entity,com.ruoyi.framework.web.util.ShiroUtils.getLoginName() );
|
||||||
|
} else if (m.getName().equals( "setCreateDate" )) {
|
||||||
|
m.invoke( entity, new Date() );
|
||||||
} else if (m.getName().equals( "setCreateTime" )) {
|
} else if (m.getName().equals( "setCreateTime" )) {
|
||||||
m.invoke( entity, new Date() );
|
m.invoke( entity, new Date() );
|
||||||
}
|
}
|
||||||
|
|
@ -60,6 +62,8 @@ public class EntityUtils {
|
||||||
for (Method m : methods) {
|
for (Method m : methods) {
|
||||||
if (m.getName().equals( "setUpdateBy" )) {
|
if (m.getName().equals( "setUpdateBy" )) {
|
||||||
m.invoke( entity,com.ruoyi.framework.web.util.ShiroUtils.getLoginName());
|
m.invoke( entity,com.ruoyi.framework.web.util.ShiroUtils.getLoginName());
|
||||||
|
} else if (m.getName().equals( "setUpdateDate" )) {
|
||||||
|
m.invoke( entity, new Date() );
|
||||||
} else if (m.getName().equals( "setUpdateTime" )) {
|
} else if (m.getName().equals( "setUpdateTime" )) {
|
||||||
m.invoke( entity, new Date() );
|
m.invoke( entity, new Date() );
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -44,7 +44,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
(select id from train_course_category where FIND_IN_SET(#{trainCourseCategoryId},parent_ids))
|
(select id from train_course_category where FIND_IN_SET(#{trainCourseCategoryId},parent_ids))
|
||||||
or train_course.train_course_category_id = #{trainCourseCategoryId} )
|
or train_course.train_course_category_id = #{trainCourseCategoryId} )
|
||||||
</if>
|
</if>
|
||||||
<if test="name != null and name != '' "> and train_course.name = #{name}</if>
|
<if test="name != null and name != '' "> and train_course.name like CONCAT('%', #{name},'%')</if>
|
||||||
<if test="cover != null and cover != '' "> and train_course.cover = #{cover}</if>
|
<if test="cover != null and cover != '' "> and train_course.cover = #{cover}</if>
|
||||||
<if test="description != null and description != '' "> and train_course.description = #{description}</if>
|
<if test="description != null and description != '' "> and train_course.description = #{description}</if>
|
||||||
<if test="state != null and state != '' "> and train_course.state = #{state}</if>
|
<if test="state != null and state != '' "> and train_course.state = #{state}</if>
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,8 @@
|
||||||
package com.ruoyi.vip.controller;
|
package com.ruoyi.vip.controller;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import com.ruoyi.vip.domain.vo.VipUserCertificateVO;
|
||||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Controller;
|
import org.springframework.stereotype.Controller;
|
||||||
|
|
@ -20,8 +22,8 @@ import com.ruoyi.common.base.AjaxResult;
|
||||||
import com.ruoyi.common.utils.ExcelUtil;
|
import com.ruoyi.common.utils.ExcelUtil;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 我的订单 信息操作处理
|
* 证书管理 信息操作处理
|
||||||
*
|
*
|
||||||
* @author zhujj
|
* @author zhujj
|
||||||
* @date 2019-01-15
|
* @date 2019-01-15
|
||||||
*/
|
*/
|
||||||
|
|
@ -29,98 +31,99 @@ import com.ruoyi.common.utils.ExcelUtil;
|
||||||
@RequestMapping("/vip/vipUserCertificate")
|
@RequestMapping("/vip/vipUserCertificate")
|
||||||
public class VipUserCertificateController extends BaseController
|
public class VipUserCertificateController extends BaseController
|
||||||
{
|
{
|
||||||
private String prefix = "vip/vipUserCertificate";
|
private String prefix = "vip/vipUserCertificate";
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private IVipUserCertificateService vipUserCertificateService;
|
private IVipUserCertificateService vipUserCertificateService;
|
||||||
|
|
||||||
@RequiresPermissions("vip:vipUserCertificate:view")
|
@RequiresPermissions("vip:vipUserCertificate:view")
|
||||||
@GetMapping()
|
@GetMapping()
|
||||||
public String vipUserCertificate()
|
public String vipUserCertificate()
|
||||||
{
|
{
|
||||||
return prefix + "/vipUserCertificate";
|
return prefix + "/vipUserCertificate";
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询我的订单列表
|
* 查询证书管理列表
|
||||||
*/
|
*/
|
||||||
@RequiresPermissions("vip:vipUserCertificate:list")
|
@RequiresPermissions("vip:vipUserCertificate:list")
|
||||||
@PostMapping("/list")
|
@PostMapping("/list")
|
||||||
@ResponseBody
|
@ResponseBody
|
||||||
public TableDataInfo list(VipUserCertificate vipUserCertificate)
|
public TableDataInfo list(VipUserCertificateVO vipUserCertificate)
|
||||||
{
|
{
|
||||||
List<VipUserCertificate> list = vipUserCertificateService.selectVipUserCertificatePage(vipUserCertificate);
|
List<VipUserCertificateVO> list = vipUserCertificateService.selectVipUserCertificatePage(vipUserCertificate);
|
||||||
return getDataTable(list);
|
return getDataTable(list);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 导出我的订单列表
|
* 导出证书管理列表
|
||||||
*/
|
*/
|
||||||
@RequiresPermissions("vip:vipUserCertificate:export")
|
@RequiresPermissions("vip:vipUserCertificate:export")
|
||||||
@PostMapping("/export")
|
@PostMapping("/export")
|
||||||
@ResponseBody
|
@ResponseBody
|
||||||
public AjaxResult export(VipUserCertificate vipUserCertificate)
|
public AjaxResult export(VipUserCertificateVO vipUserCertificate)
|
||||||
{
|
{
|
||||||
List<VipUserCertificate> list = vipUserCertificateService.selectVipUserCertificateList(vipUserCertificate);
|
List<VipUserCertificateVO> list = vipUserCertificateService.selectVipUserCertificateList(vipUserCertificate);
|
||||||
ExcelUtil<VipUserCertificate> util = new ExcelUtil<VipUserCertificate>(VipUserCertificate.class);
|
ExcelUtil<VipUserCertificateVO> util = new ExcelUtil<VipUserCertificateVO>(VipUserCertificateVO.class);
|
||||||
return util.exportExcel(list, "vipUserCertificate");
|
return util.exportExcel(list, "vipUserCertificate");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新增我的订单
|
* 新增证书管理
|
||||||
*/
|
*/
|
||||||
@GetMapping("/add")
|
@GetMapping("/add")
|
||||||
public String add()
|
public String add()
|
||||||
{
|
{
|
||||||
return prefix + "/add";
|
return prefix + "/add";
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新增保存我的订单
|
* 新增保存证书管理
|
||||||
*/
|
*/
|
||||||
@RequiresPermissions("vip:vipUserCertificate:add")
|
@RequiresPermissions("vip:vipUserCertificate:add")
|
||||||
@Log(title = "我的订单", businessType = BusinessType.INSERT)
|
@Log(title = "证书管理", businessType = BusinessType.INSERT)
|
||||||
@PostMapping("/add")
|
@PostMapping("/add")
|
||||||
@ResponseBody
|
@ResponseBody
|
||||||
public AjaxResult addSave(VipUserCertificate vipUserCertificate)
|
public AjaxResult addSave(VipUserCertificate vipUserCertificate)
|
||||||
{
|
{
|
||||||
|
vipUserCertificate.setDelFlag( "0" );
|
||||||
return toAjax(vipUserCertificateService.insert(vipUserCertificate));
|
return toAjax(vipUserCertificateService.insert(vipUserCertificate));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 修改我的订单
|
* 修改证书管理
|
||||||
*/
|
*/
|
||||||
@GetMapping("/edit/{id}")
|
@GetMapping("/edit/{id}")
|
||||||
public String edit(@PathVariable("id") Integer id, ModelMap mmap)
|
public String edit(@PathVariable("id") Integer id, ModelMap mmap)
|
||||||
{
|
{
|
||||||
VipUserCertificate vipUserCertificate = vipUserCertificateService.selectById(id);
|
VipUserCertificate vipUserCertificate = vipUserCertificateService.selectById(id);
|
||||||
mmap.put("vipUserCertificate", vipUserCertificate);
|
mmap.put("vipUserCertificate", vipUserCertificate);
|
||||||
return prefix + "/edit";
|
return prefix + "/edit";
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 修改保存我的订单
|
* 修改保存证书管理
|
||||||
*/
|
*/
|
||||||
@RequiresPermissions("vip:vipUserCertificate:edit")
|
@RequiresPermissions("vip:vipUserCertificate:edit")
|
||||||
@Log(title = "我的订单", businessType = BusinessType.UPDATE)
|
@Log(title = "证书管理", businessType = BusinessType.UPDATE)
|
||||||
@PostMapping("/edit")
|
@PostMapping("/edit")
|
||||||
@ResponseBody
|
@ResponseBody
|
||||||
public AjaxResult editSave(VipUserCertificate vipUserCertificate)
|
public AjaxResult editSave(VipUserCertificate vipUserCertificate)
|
||||||
{
|
{
|
||||||
return toAjax(vipUserCertificateService.updateById(vipUserCertificate));
|
return toAjax(vipUserCertificateService.updateSelectiveById(vipUserCertificate));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 删除我的订单
|
* 删除证书管理
|
||||||
*/
|
*/
|
||||||
@RequiresPermissions("vip:vipUserCertificate:remove")
|
@RequiresPermissions("vip:vipUserCertificate:remove")
|
||||||
@Log(title = "我的订单", businessType = BusinessType.DELETE)
|
@Log(title = "证书管理", businessType = BusinessType.DELETE)
|
||||||
@PostMapping( "/remove")
|
@PostMapping( "/remove")
|
||||||
@ResponseBody
|
@ResponseBody
|
||||||
public AjaxResult remove(String ids)
|
public AjaxResult remove(String ids)
|
||||||
{
|
{
|
||||||
return toAjax(vipUserCertificateService.deleteByIds(ids));
|
return toAjax(vipUserCertificateService.deleteByIds(ids));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,8 @@
|
||||||
package com.ruoyi.vip.controller;
|
package com.ruoyi.vip.controller;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import com.ruoyi.vip.domain.vo.VipUserCourseSectionVO;
|
||||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Controller;
|
import org.springframework.stereotype.Controller;
|
||||||
|
|
@ -21,7 +23,7 @@ import com.ruoyi.common.utils.ExcelUtil;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 我的课程学习 信息操作处理
|
* 我的课程学习 信息操作处理
|
||||||
*
|
*
|
||||||
* @author zhujj
|
* @author zhujj
|
||||||
* @date 2019-01-15
|
* @date 2019-01-15
|
||||||
*/
|
*/
|
||||||
|
|
@ -29,53 +31,53 @@ import com.ruoyi.common.utils.ExcelUtil;
|
||||||
@RequestMapping("/vip/vipUserCourseSection")
|
@RequestMapping("/vip/vipUserCourseSection")
|
||||||
public class VipUserCourseSectionController extends BaseController
|
public class VipUserCourseSectionController extends BaseController
|
||||||
{
|
{
|
||||||
private String prefix = "vip/vipUserCourseSection";
|
private String prefix = "vip/vipUserCourseSection";
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private IVipUserCourseSectionService vipUserCourseSectionService;
|
private IVipUserCourseSectionService vipUserCourseSectionService;
|
||||||
|
|
||||||
@RequiresPermissions("vip:vipUserCourseSection:view")
|
@RequiresPermissions("vip:vipUserCourseSection:view")
|
||||||
@GetMapping()
|
@GetMapping()
|
||||||
public String vipUserCourseSection()
|
public String vipUserCourseSection()
|
||||||
{
|
{
|
||||||
return prefix + "/vipUserCourseSection";
|
return prefix + "/vipUserCourseSection";
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询我的课程学习列表
|
* 查询我的课程学习列表
|
||||||
*/
|
*/
|
||||||
@RequiresPermissions("vip:vipUserCourseSection:list")
|
@RequiresPermissions("vip:vipUserCourseSection:list")
|
||||||
@PostMapping("/list")
|
@PostMapping("/list")
|
||||||
@ResponseBody
|
@ResponseBody
|
||||||
public TableDataInfo list(VipUserCourseSection vipUserCourseSection)
|
public TableDataInfo list(VipUserCourseSectionVO vipUserCourseSection)
|
||||||
{
|
{
|
||||||
List<VipUserCourseSection> list = vipUserCourseSectionService.selectVipUserCourseSectionPage(vipUserCourseSection);
|
List<VipUserCourseSectionVO> list = vipUserCourseSectionService.selectVipUserCourseSectionPage(vipUserCourseSection);
|
||||||
return getDataTable(list);
|
return getDataTable(list);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 导出我的课程学习列表
|
* 导出我的课程学习列表
|
||||||
*/
|
*/
|
||||||
@RequiresPermissions("vip:vipUserCourseSection:export")
|
@RequiresPermissions("vip:vipUserCourseSection:export")
|
||||||
@PostMapping("/export")
|
@PostMapping("/export")
|
||||||
@ResponseBody
|
@ResponseBody
|
||||||
public AjaxResult export(VipUserCourseSection vipUserCourseSection)
|
public AjaxResult export(VipUserCourseSectionVO vipUserCourseSection)
|
||||||
{
|
{
|
||||||
List<VipUserCourseSection> list = vipUserCourseSectionService.selectVipUserCourseSectionList(vipUserCourseSection);
|
List<VipUserCourseSectionVO> list = vipUserCourseSectionService.selectVipUserCourseSectionList(vipUserCourseSection);
|
||||||
ExcelUtil<VipUserCourseSection> util = new ExcelUtil<VipUserCourseSection>(VipUserCourseSection.class);
|
ExcelUtil<VipUserCourseSectionVO> util = new ExcelUtil<VipUserCourseSectionVO>(VipUserCourseSectionVO.class);
|
||||||
return util.exportExcel(list, "vipUserCourseSection");
|
return util.exportExcel(list, "vipUserCourseSection");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新增我的课程学习
|
* 新增我的课程学习
|
||||||
*/
|
*/
|
||||||
@GetMapping("/add")
|
@GetMapping("/add")
|
||||||
public String add()
|
public String add()
|
||||||
{
|
{
|
||||||
return prefix + "/add";
|
return prefix + "/add";
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新增保存我的课程学习
|
* 新增保存我的课程学习
|
||||||
*/
|
*/
|
||||||
|
|
@ -84,7 +86,7 @@ public class VipUserCourseSectionController extends BaseController
|
||||||
@PostMapping("/add")
|
@PostMapping("/add")
|
||||||
@ResponseBody
|
@ResponseBody
|
||||||
public AjaxResult addSave(VipUserCourseSection vipUserCourseSection)
|
public AjaxResult addSave(VipUserCourseSection vipUserCourseSection)
|
||||||
{
|
{ vipUserCourseSection.setDelFlag( "0" );
|
||||||
return toAjax(vipUserCourseSectionService.insert(vipUserCourseSection));
|
return toAjax(vipUserCourseSectionService.insert(vipUserCourseSection));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -96,9 +98,9 @@ public class VipUserCourseSectionController extends BaseController
|
||||||
{
|
{
|
||||||
VipUserCourseSection vipUserCourseSection = vipUserCourseSectionService.selectById(id);
|
VipUserCourseSection vipUserCourseSection = vipUserCourseSectionService.selectById(id);
|
||||||
mmap.put("vipUserCourseSection", vipUserCourseSection);
|
mmap.put("vipUserCourseSection", vipUserCourseSection);
|
||||||
return prefix + "/edit";
|
return prefix + "/edit";
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 修改保存我的课程学习
|
* 修改保存我的课程学习
|
||||||
*/
|
*/
|
||||||
|
|
@ -107,10 +109,10 @@ public class VipUserCourseSectionController extends BaseController
|
||||||
@PostMapping("/edit")
|
@PostMapping("/edit")
|
||||||
@ResponseBody
|
@ResponseBody
|
||||||
public AjaxResult editSave(VipUserCourseSection vipUserCourseSection)
|
public AjaxResult editSave(VipUserCourseSection vipUserCourseSection)
|
||||||
{
|
{
|
||||||
return toAjax(vipUserCourseSectionService.updateById(vipUserCourseSection));
|
return toAjax(vipUserCourseSectionService.updateSelectiveById(vipUserCourseSection));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 删除我的课程学习
|
* 删除我的课程学习
|
||||||
*/
|
*/
|
||||||
|
|
@ -119,8 +121,8 @@ public class VipUserCourseSectionController extends BaseController
|
||||||
@PostMapping( "/remove")
|
@PostMapping( "/remove")
|
||||||
@ResponseBody
|
@ResponseBody
|
||||||
public AjaxResult remove(String ids)
|
public AjaxResult remove(String ids)
|
||||||
{
|
{
|
||||||
return toAjax(vipUserCourseSectionService.deleteByIds(ids));
|
return toAjax(vipUserCourseSectionService.deleteByIds(ids));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,7 @@ private static final long serialVersionUID = 1L;
|
||||||
/** 课程ID */
|
/** 课程ID */
|
||||||
private Integer trainCourseId;
|
private Integer trainCourseId;
|
||||||
/** 章节id */
|
/** 章节id */
|
||||||
private Integer trainCourseSection;
|
private Integer trainCourseSectionId;
|
||||||
/** 学习时间长度(分钟) */
|
/** 学习时间长度(分钟) */
|
||||||
private Integer duration;
|
private Integer duration;
|
||||||
/** 创建者 */
|
/** 创建者 */
|
||||||
|
|
@ -74,17 +74,15 @@ private static final long serialVersionUID = 1L;
|
||||||
return trainCourseId;
|
return trainCourseId;
|
||||||
}
|
}
|
||||||
/** 设置章节id */
|
/** 设置章节id */
|
||||||
public void setTrainCourseSection(Integer trainCourseSection)
|
public Integer getTrainCourseSectionId() {
|
||||||
{
|
return trainCourseSectionId;
|
||||||
this.trainCourseSection = trainCourseSection;
|
}
|
||||||
}
|
|
||||||
|
|
||||||
/** 获取章节id */
|
public void setTrainCourseSectionId(Integer trainCourseSectionId) {
|
||||||
public Integer getTrainCourseSection()
|
this.trainCourseSectionId = trainCourseSectionId;
|
||||||
{
|
}
|
||||||
return trainCourseSection;
|
|
||||||
}
|
/** 设置学习时间长度(分钟) */
|
||||||
/** 设置学习时间长度(分钟) */
|
|
||||||
public void setDuration(Integer duration)
|
public void setDuration(Integer duration)
|
||||||
{
|
{
|
||||||
this.duration = duration;
|
this.duration = duration;
|
||||||
|
|
@ -167,7 +165,7 @@ public String toString() {
|
||||||
.append("id", getId())
|
.append("id", getId())
|
||||||
.append("vipUserId", getVipUserId())
|
.append("vipUserId", getVipUserId())
|
||||||
.append("trainCourseId", getTrainCourseId())
|
.append("trainCourseId", getTrainCourseId())
|
||||||
.append("trainCourseSection", getTrainCourseSection())
|
.append("trainCourseSection", getTrainCourseSectionId())
|
||||||
.append("duration", getDuration())
|
.append("duration", getDuration())
|
||||||
.append("createBy", getCreateBy())
|
.append("createBy", getCreateBy())
|
||||||
.append("createDate", getCreateDate())
|
.append("createDate", getCreateDate())
|
||||||
|
|
|
||||||
|
|
@ -13,5 +13,16 @@ import com.ruoyi.vip.domain.VipUserCertificate;
|
||||||
* @Version: 1.0
|
* @Version: 1.0
|
||||||
*/
|
*/
|
||||||
public class VipUserCertificateVO extends VipUserCertificate {
|
public class VipUserCertificateVO extends VipUserCertificate {
|
||||||
|
/**
|
||||||
|
* 会员
|
||||||
|
*/
|
||||||
private SysUser user;
|
private SysUser user;
|
||||||
|
|
||||||
|
public SysUser getUser() {
|
||||||
|
return user;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUser(SysUser user) {
|
||||||
|
this.user = user;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,40 @@
|
||||||
|
package com.ruoyi.vip.domain.vo;
|
||||||
|
|
||||||
|
import com.ruoyi.vip.domain.VipUserCourseSection;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 自定义学习进度
|
||||||
|
*
|
||||||
|
* @author zhujj
|
||||||
|
* @date 2019-01-15
|
||||||
|
*/
|
||||||
|
public class VipUserCourseSectionVO extends VipUserCourseSection {
|
||||||
|
|
||||||
|
private String trainCourseName;
|
||||||
|
private String trainCourseSectionName;
|
||||||
|
private String userName;
|
||||||
|
|
||||||
|
public String getUserName() {
|
||||||
|
return userName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUserName(String userName) {
|
||||||
|
this.userName = userName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getTrainCourseName() {
|
||||||
|
return trainCourseName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTrainCourseName(String trainCourseName) {
|
||||||
|
this.trainCourseName = trainCourseName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getTrainCourseSectionName() {
|
||||||
|
return trainCourseSectionName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTrainCourseSectionName(String trainCourseSectionName) {
|
||||||
|
this.trainCourseSectionName = trainCourseSectionName;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -3,6 +3,7 @@ package com.ruoyi.vip.mapper;
|
||||||
import com.ruoyi.vip.domain.VipUserCertificate;
|
import com.ruoyi.vip.domain.VipUserCertificate;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import com.ruoyi.framework.web.base.MyMapper;
|
import com.ruoyi.framework.web.base.MyMapper;
|
||||||
|
import com.ruoyi.vip.domain.vo.VipUserCertificateVO;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 我的订单 数据层
|
* 我的订单 数据层
|
||||||
|
|
@ -19,6 +20,6 @@ public interface VipUserCertificateMapper extends MyMapper<VipUserCertificate>
|
||||||
* @param vipUserCertificate 我的订单信息
|
* @param vipUserCertificate 我的订单信息
|
||||||
* @return 我的订单集合
|
* @return 我的订单集合
|
||||||
*/
|
*/
|
||||||
public List<VipUserCertificate> selectVipUserCertificateList(VipUserCertificate vipUserCertificate);
|
public List<VipUserCertificateVO> selectVipUserCertificateList(VipUserCertificateVO vipUserCertificate);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -3,6 +3,7 @@ package com.ruoyi.vip.mapper;
|
||||||
import com.ruoyi.vip.domain.VipUserCourseSection;
|
import com.ruoyi.vip.domain.VipUserCourseSection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import com.ruoyi.framework.web.base.MyMapper;
|
import com.ruoyi.framework.web.base.MyMapper;
|
||||||
|
import com.ruoyi.vip.domain.vo.VipUserCourseSectionVO;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 我的课程学习 数据层
|
* 我的课程学习 数据层
|
||||||
|
|
@ -19,6 +20,6 @@ public interface VipUserCourseSectionMapper extends MyMapper<VipUserCourseSecti
|
||||||
* @param vipUserCourseSection 我的课程学习信息
|
* @param vipUserCourseSection 我的课程学习信息
|
||||||
* @return 我的课程学习集合
|
* @return 我的课程学习集合
|
||||||
*/
|
*/
|
||||||
public List<VipUserCourseSection> selectVipUserCourseSectionList(VipUserCourseSection vipUserCourseSection);
|
public List<VipUserCourseSectionVO> selectVipUserCourseSectionList(VipUserCourseSectionVO vipUserCourseSection);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -3,28 +3,30 @@ package com.ruoyi.vip.service;
|
||||||
import com.ruoyi.vip.domain.VipUserCertificate;
|
import com.ruoyi.vip.domain.VipUserCertificate;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import com.ruoyi.framework.web.base.AbstractBaseService;
|
import com.ruoyi.framework.web.base.AbstractBaseService;
|
||||||
|
import com.ruoyi.vip.domain.vo.VipUserCertificateVO;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 我的订单 服务层
|
* 我的订单 服务层
|
||||||
*
|
*
|
||||||
* @author zhujj
|
* @author zhujj
|
||||||
* @date 2019-01-15
|
* @date 2019-01-15
|
||||||
*/
|
*/
|
||||||
public interface IVipUserCertificateService extends AbstractBaseService<VipUserCertificate>
|
public interface IVipUserCertificateService extends AbstractBaseService<VipUserCertificate>
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* 查询我的订单分页列表
|
* 查询我的订单分页列表
|
||||||
*
|
*
|
||||||
* @param vipUserCertificate 我的订单信息
|
* @param vipUserCertificate 我的订单信息
|
||||||
* @return 我的订单集合
|
* @return 我的订单集合
|
||||||
*/
|
*/
|
||||||
public List<VipUserCertificate> selectVipUserCertificatePage(VipUserCertificate vipUserCertificate);
|
public List<VipUserCertificateVO> selectVipUserCertificatePage(VipUserCertificateVO vipUserCertificate);
|
||||||
/**
|
/**
|
||||||
* 查询我的订单列表
|
* 查询我的订单列表
|
||||||
*
|
*
|
||||||
* @param vipUserCertificate 我的订单信息
|
* @param vipUserCertificate 我的订单信息
|
||||||
* @return 我的订单集合
|
* @return 我的订单集合
|
||||||
*/
|
*/
|
||||||
public List<VipUserCertificate> selectVipUserCertificateList(VipUserCertificate vipUserCertificate);
|
public List<VipUserCertificateVO> selectVipUserCertificateList(VipUserCertificateVO vipUserCertificate);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,8 @@ package com.ruoyi.vip.service;
|
||||||
import com.ruoyi.vip.domain.VipUserCourseSection;
|
import com.ruoyi.vip.domain.VipUserCourseSection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import com.ruoyi.framework.web.base.AbstractBaseService;
|
import com.ruoyi.framework.web.base.AbstractBaseService;
|
||||||
|
import com.ruoyi.vip.domain.vo.VipUserCourseSectionVO;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 我的课程学习 服务层
|
* 我的课程学习 服务层
|
||||||
*
|
*
|
||||||
|
|
@ -17,14 +19,14 @@ public interface IVipUserCourseSectionService extends AbstractBaseService<VipUse
|
||||||
* @param vipUserCourseSection 我的课程学习信息
|
* @param vipUserCourseSection 我的课程学习信息
|
||||||
* @return 我的课程学习集合
|
* @return 我的课程学习集合
|
||||||
*/
|
*/
|
||||||
public List<VipUserCourseSection> selectVipUserCourseSectionPage(VipUserCourseSection vipUserCourseSection);
|
public List<VipUserCourseSectionVO> selectVipUserCourseSectionPage(VipUserCourseSectionVO vipUserCourseSection);
|
||||||
/**
|
/**
|
||||||
* 查询我的课程学习列表
|
* 查询我的课程学习列表
|
||||||
*
|
*
|
||||||
* @param vipUserCourseSection 我的课程学习信息
|
* @param vipUserCourseSection 我的课程学习信息
|
||||||
* @return 我的课程学习集合
|
* @return 我的课程学习集合
|
||||||
*/
|
*/
|
||||||
public List<VipUserCourseSection> selectVipUserCourseSectionList(VipUserCourseSection vipUserCourseSection);
|
public List<VipUserCourseSectionVO> selectVipUserCourseSectionList(VipUserCourseSectionVO vipUserCourseSection);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,8 @@
|
||||||
package com.ruoyi.vip.service.impl;
|
package com.ruoyi.vip.service.impl;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import com.ruoyi.vip.domain.vo.VipUserCertificateVO;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import com.ruoyi.vip.mapper.VipUserCertificateMapper;
|
import com.ruoyi.vip.mapper.VipUserCertificateMapper;
|
||||||
|
|
@ -10,28 +12,28 @@ import com.ruoyi.common.support.Convert;
|
||||||
import com.ruoyi.framework.web.base.AbstractBaseServiceImpl;
|
import com.ruoyi.framework.web.base.AbstractBaseServiceImpl;
|
||||||
/**
|
/**
|
||||||
* 我的订单 服务层实现
|
* 我的订单 服务层实现
|
||||||
*
|
*
|
||||||
* @author zhujj
|
* @author zhujj
|
||||||
* @date 2019-01-15
|
* @date 2019-01-15
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
public class VipUserCertificateServiceImpl extends AbstractBaseServiceImpl<VipUserCertificateMapper,VipUserCertificate> implements IVipUserCertificateService
|
public class VipUserCertificateServiceImpl extends AbstractBaseServiceImpl<VipUserCertificateMapper,VipUserCertificate> implements IVipUserCertificateService
|
||||||
{
|
{
|
||||||
@Autowired
|
@Autowired
|
||||||
private VipUserCertificateMapper vipUserCertificateMapper;
|
private VipUserCertificateMapper vipUserCertificateMapper;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询我的订单列表
|
* 查询我的订单列表
|
||||||
*
|
*
|
||||||
* @param vipUserCertificate 我的订单信息
|
* @param vipUserCertificate 我的订单信息
|
||||||
* @return 我的订单集合
|
* @return 我的订单集合
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public List<VipUserCertificate> selectVipUserCertificateList(VipUserCertificate vipUserCertificate)
|
public List<VipUserCertificateVO> selectVipUserCertificateList(VipUserCertificateVO vipUserCertificate)
|
||||||
{
|
{
|
||||||
return vipUserCertificateMapper.selectVipUserCertificateList(vipUserCertificate);
|
return vipUserCertificateMapper.selectVipUserCertificateList(vipUserCertificate);
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 查询我的订单分页列表
|
* 查询我的订单分页列表
|
||||||
*
|
*
|
||||||
|
|
@ -39,7 +41,7 @@ public class VipUserCertificateServiceImpl extends AbstractBaseServiceImpl<VipUs
|
||||||
* @return 我的订单集合
|
* @return 我的订单集合
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public List<VipUserCertificate> selectVipUserCertificatePage(VipUserCertificate vipUserCertificate)
|
public List<VipUserCertificateVO> selectVipUserCertificatePage(VipUserCertificateVO vipUserCertificate)
|
||||||
{
|
{
|
||||||
startPage();
|
startPage();
|
||||||
return vipUserCertificateMapper.selectVipUserCertificateList(vipUserCertificate);
|
return vipUserCertificateMapper.selectVipUserCertificateList(vipUserCertificate);
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,8 @@
|
||||||
package com.ruoyi.vip.service.impl;
|
package com.ruoyi.vip.service.impl;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import com.ruoyi.vip.domain.vo.VipUserCourseSectionVO;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import com.ruoyi.vip.mapper.VipUserCourseSectionMapper;
|
import com.ruoyi.vip.mapper.VipUserCourseSectionMapper;
|
||||||
|
|
@ -10,28 +12,28 @@ import com.ruoyi.common.support.Convert;
|
||||||
import com.ruoyi.framework.web.base.AbstractBaseServiceImpl;
|
import com.ruoyi.framework.web.base.AbstractBaseServiceImpl;
|
||||||
/**
|
/**
|
||||||
* 我的课程学习 服务层实现
|
* 我的课程学习 服务层实现
|
||||||
*
|
*
|
||||||
* @author zhujj
|
* @author zhujj
|
||||||
* @date 2019-01-15
|
* @date 2019-01-15
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
public class VipUserCourseSectionServiceImpl extends AbstractBaseServiceImpl<VipUserCourseSectionMapper,VipUserCourseSection> implements IVipUserCourseSectionService
|
public class VipUserCourseSectionServiceImpl extends AbstractBaseServiceImpl<VipUserCourseSectionMapper,VipUserCourseSection> implements IVipUserCourseSectionService
|
||||||
{
|
{
|
||||||
@Autowired
|
@Autowired
|
||||||
private VipUserCourseSectionMapper vipUserCourseSectionMapper;
|
private VipUserCourseSectionMapper vipUserCourseSectionMapper;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询我的课程学习列表
|
* 查询我的课程学习列表
|
||||||
*
|
*
|
||||||
* @param vipUserCourseSection 我的课程学习信息
|
* @param vipUserCourseSection 我的课程学习信息
|
||||||
* @return 我的课程学习集合
|
* @return 我的课程学习集合
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public List<VipUserCourseSection> selectVipUserCourseSectionList(VipUserCourseSection vipUserCourseSection)
|
public List<VipUserCourseSectionVO> selectVipUserCourseSectionList(VipUserCourseSectionVO vipUserCourseSection)
|
||||||
{
|
{
|
||||||
return vipUserCourseSectionMapper.selectVipUserCourseSectionList(vipUserCourseSection);
|
return vipUserCourseSectionMapper.selectVipUserCourseSectionList(vipUserCourseSection);
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 查询我的课程学习分页列表
|
* 查询我的课程学习分页列表
|
||||||
*
|
*
|
||||||
|
|
@ -39,7 +41,7 @@ public class VipUserCourseSectionServiceImpl extends AbstractBaseServiceImpl<Vip
|
||||||
* @return 我的课程学习集合
|
* @return 我的课程学习集合
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public List<VipUserCourseSection> selectVipUserCourseSectionPage(VipUserCourseSection vipUserCourseSection)
|
public List<VipUserCourseSectionVO> selectVipUserCourseSectionPage(VipUserCourseSectionVO vipUserCourseSection)
|
||||||
{
|
{
|
||||||
startPage();
|
startPage();
|
||||||
return vipUserCourseSectionMapper.selectVipUserCourseSectionList(vipUserCourseSection);
|
return vipUserCourseSectionMapper.selectVipUserCourseSectionList(vipUserCourseSection);
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
<mapper namespace="com.ruoyi.vip.mapper.VipUserCertificateMapper">
|
<mapper namespace="com.ruoyi.vip.mapper.VipUserCertificateMapper">
|
||||||
|
|
||||||
<resultMap type="VipUserCertificate" id="VipUserCertificateResult">
|
<resultMap type="VipUserCertificateVO" id="VipUserCertificateResult">
|
||||||
<result property="id" column="id" />
|
<result property="id" column="id" />
|
||||||
<result property="vipUserId" column="vip_user_id" />
|
<result property="vipUserId" column="vip_user_id" />
|
||||||
<result property="name" column="name" />
|
<result property="name" column="name" />
|
||||||
|
|
@ -17,27 +17,27 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
<result property="updateDate" column="update_date" />
|
<result property="updateDate" column="update_date" />
|
||||||
<result property="remarks" column="remarks" />
|
<result property="remarks" column="remarks" />
|
||||||
<result property="delFlag" column="del_flag" />
|
<result property="delFlag" column="del_flag" />
|
||||||
|
<result property="user.userName" column="user_name" />
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<sql id="selectVipUserCertificateVo">
|
<sql id="selectVipUserCertificateVo">
|
||||||
id, vip_user_id, name, image, start_date, end_date, create_by, create_date, update_by, update_date, remarks, del_flag </sql>
|
vip_user_certificate.id, vip_user_certificate.vip_user_id, vip_user_certificate.name, vip_user_certificate.image, vip_user_certificate.start_date, vip_user_certificate.end_date,
|
||||||
|
vip_user_certificate.create_by, vip_user_certificate.create_date, vip_user_certificate.update_by, vip_user_certificate.update_date, vip_user_certificate.remarks, vip_user_certificate.del_flag </sql>
|
||||||
|
|
||||||
<select id="selectVipUserCertificateList" parameterType="VipUserCertificate" resultMap="VipUserCertificateResult">
|
<select id="selectVipUserCertificateList" parameterType="VipUserCertificateVO" resultMap="VipUserCertificateResult">
|
||||||
select
|
select
|
||||||
<include refid="selectVipUserCertificateVo"/>
|
<include refid="selectVipUserCertificateVo"/>
|
||||||
|
,suser.user_name
|
||||||
from vip_user_certificate
|
from vip_user_certificate
|
||||||
<where>
|
left join sys_user suser on suser.user_id=vip_user_certificate.vip_user_id
|
||||||
<if test="id != null "> and id = #{id}</if>
|
<where>
|
||||||
<if test="vipUserId != null "> and vip_user_id = #{vipUserId}</if>
|
<if test="user != null and user.userName != null and user.userName != ''"> and suser.user_name like CONCAT('%',#{user.userName},'%') </if>
|
||||||
<if test="name != null and name != '' "> and name = #{name}</if>
|
<if test="id != null "> and vip_user_certificate.id = #{id}</if>
|
||||||
<if test="image != null and image != '' "> and image = #{image}</if>
|
<if test="vipUserId != null "> and vip_user_certificate.vip_user_id = #{vipUserId}</if>
|
||||||
<if test="startDate != null "> and start_date = #{startDate}</if>
|
<if test="name != null and name != '' "> and name like CONCAT('%',#{name},'%')</if>
|
||||||
<if test="endDate != null "> and end_date = #{endDate}</if>
|
|
||||||
<if test="createBy != null and createBy != '' "> and create_by = #{createBy}</if>
|
<if test="startDate != null "> <![CDATA[ and vip_user_certificate.start_date >= #{startDate}]]></if>
|
||||||
<if test="createDate != null "> and create_date = #{createDate}</if>
|
<if test="endDate != null "> <![CDATA[ and vip_user_certificate.end_date <= #{endDate}]]></if>
|
||||||
<if test="updateBy != null and updateBy != '' "> and update_by = #{updateBy}</if>
|
|
||||||
<if test="updateDate != null "> and update_date = #{updateDate}</if>
|
|
||||||
<if test="remarks != null and remarks != '' "> and remarks = #{remarks}</if>
|
|
||||||
<if test="delFlag != null and delFlag != '' "> and del_flag = #{delFlag}</if>
|
<if test="delFlag != null and delFlag != '' "> and del_flag = #{delFlag}</if>
|
||||||
</where>
|
</where>
|
||||||
</select>
|
</select>
|
||||||
|
|
|
||||||
|
|
@ -4,11 +4,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
<mapper namespace="com.ruoyi.vip.mapper.VipUserCourseSectionMapper">
|
<mapper namespace="com.ruoyi.vip.mapper.VipUserCourseSectionMapper">
|
||||||
|
|
||||||
<resultMap type="VipUserCourseSection" id="VipUserCourseSectionResult">
|
<resultMap type="VipUserCourseSectionVO" id="VipUserCourseSectionResult">
|
||||||
<result property="id" column="id" />
|
<result property="id" column="id" />
|
||||||
<result property="vipUserId" column="vip_user_id" />
|
<result property="vipUserId" column="vip_user_id" />
|
||||||
<result property="trainCourseId" column="train_course_id" />
|
<result property="trainCourseId" column="train_course_id" />
|
||||||
<result property="trainCourseSection" column="train_course_section" />
|
<result property="trainCourseSectionId" column="train_course_section_id" />
|
||||||
<result property="duration" column="duration" />
|
<result property="duration" column="duration" />
|
||||||
<result property="createBy" column="create_by" />
|
<result property="createBy" column="create_by" />
|
||||||
<result property="createDate" column="create_date" />
|
<result property="createDate" column="create_date" />
|
||||||
|
|
@ -16,28 +16,34 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
<result property="updateDate" column="update_date" />
|
<result property="updateDate" column="update_date" />
|
||||||
<result property="remarks" column="remarks" />
|
<result property="remarks" column="remarks" />
|
||||||
<result property="delFlag" column="del_flag" />
|
<result property="delFlag" column="del_flag" />
|
||||||
|
<result property="userName" column="user_name" />
|
||||||
|
<result property="trainCourseName" column="trainCourseName" />
|
||||||
|
<result property="trainCourseSectionName" column="trainCourseSectionName" />
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<sql id="selectVipUserCourseSectionVo">
|
<sql id="selectVipUserCourseSectionVo">
|
||||||
id, vip_user_id, train_course_id, train_course_section, duration, create_by, create_date, update_by, update_date, remarks, del_flag </sql>
|
vucs.id, vucs.vip_user_id, vucs.train_course_id, vucs.train_course_section_id, vucs.duration, vucs.create_by, vucs.create_date,
|
||||||
|
vucs.update_by, vucs.update_date, vucs.remarks, vucs.del_flag </sql>
|
||||||
|
|
||||||
<select id="selectVipUserCourseSectionList" parameterType="VipUserCourseSection" resultMap="VipUserCourseSectionResult">
|
<select id="selectVipUserCourseSectionList" parameterType="VipUserCourseSectionVO" resultMap="VipUserCourseSectionResult">
|
||||||
select
|
select
|
||||||
<include refid="selectVipUserCourseSectionVo"/>
|
<include refid="selectVipUserCourseSectionVo"/>
|
||||||
from vip_user_course_section
|
,su.user_name,tc.name trainCourseName,tcs.name trainCourseSectionName
|
||||||
|
from vip_user_course_section vucs
|
||||||
|
LEFT join sys_user su on su.user_id=vucs.vip_user_id
|
||||||
|
left join train_course tc on tc.id=vucs.train_course_id
|
||||||
|
left join train_course_section tcs on tcs.id =vucs.train_course_section_id
|
||||||
<where>
|
<where>
|
||||||
<if test="id != null "> and id = #{id}</if>
|
<if test="id != null "> and vucs.id = #{id}</if>
|
||||||
<if test="vipUserId != null "> and vip_user_id = #{vipUserId}</if>
|
<if test="vipUserId != null "> and vucs.vip_user_id = #{vipUserId}</if>
|
||||||
<if test="trainCourseId != null "> and train_course_id = #{trainCourseId}</if>
|
<if test="trainCourseId != null "> and vucs.train_course_id = #{trainCourseId}</if>
|
||||||
<if test="trainCourseSection != null "> and train_course_section = #{trainCourseSection}</if>
|
<if test="trainCourseSectionId != null "> and vucs.train_course_section_id = #{trainCourseSectionId}</if>
|
||||||
<if test="duration != null "> and duration = #{duration}</if>
|
<if test="delFlag != null and delFlag != '' "> and vucs.del_flag = #{delFlag}</if>
|
||||||
<if test="createBy != null and createBy != '' "> and create_by = #{createBy}</if>
|
|
||||||
<if test="createDate != null "> and create_date = #{createDate}</if>
|
<if test="trainCourseName != null and trainCourseName != ''"> and tc.name like CONCAT('%',#{trainCourseName},'%') </if>
|
||||||
<if test="updateBy != null and updateBy != '' "> and update_by = #{updateBy}</if>
|
<if test="trainCourseSectionName != null and trainCourseSectionName != ''"> and tcs.name like CONCAT('%',#{trainCourseSectionName},'%') </if>
|
||||||
<if test="updateDate != null "> and update_date = #{updateDate}</if>
|
|
||||||
<if test="remarks != null and remarks != '' "> and remarks = #{remarks}</if>
|
</where>
|
||||||
<if test="delFlag != null and delFlag != '' "> and del_flag = #{delFlag}</if>
|
|
||||||
</where>
|
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,9 @@
|
||||||
<html lang="zh" xmlns:th="http://www.thymeleaf.org">
|
<html lang="zh" xmlns:th="http://www.thymeleaf.org">
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<head th:include="include :: header"></head>
|
<head th:include="include :: header"></head>
|
||||||
|
<link th:href="@{/ruoyi/css/ry-ui.css}" rel="stylesheet"/>
|
||||||
|
<link th:href="@{/ajax/libs/datapicker/datepicker3.css}" rel="stylesheet"/>
|
||||||
|
<link th:href="@{/ajax/libs/layui/css/layui.css}" rel="stylesheet"/>
|
||||||
<body class="white-bg">
|
<body class="white-bg">
|
||||||
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
|
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
|
||||||
<form class="form-horizontal m" id="form-vipUserCertificate-add">
|
<form class="form-horizontal m" id="form-vipUserCertificate-add">
|
||||||
|
|
@ -20,7 +23,14 @@
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="col-sm-3 control-label">证书照片:</label>
|
<label class="col-sm-3 control-label">证书照片:</label>
|
||||||
<div class="col-sm-8">
|
<div class="col-sm-8">
|
||||||
<input id="image" name="image" class="form-control" type="text">
|
<input id="image" name="image" class="form-control" type="hidden">
|
||||||
|
<div class="layui-upload">
|
||||||
|
<button type="button" class="layui-btn" id="test1">上传图片</button>
|
||||||
|
<div class="layui-upload-list">
|
||||||
|
<img class="layui-upload-img" id="demo1">
|
||||||
|
<p id="demoText"></p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
@ -41,45 +51,19 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
|
||||||
<label class="col-sm-3 control-label">创建者:</label>
|
|
||||||
<div class="col-sm-8">
|
|
||||||
<input id="createBy" name="createBy" class="form-control" type="text">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="form-group">
|
|
||||||
<label class="col-sm-3 control-label">创建时间:</label>
|
|
||||||
<div class="col-sm-8">
|
|
||||||
<input id="createDate" name="createDate" class="form-control" type="text">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="form-group">
|
|
||||||
<label class="col-sm-3 control-label">更新者:</label>
|
|
||||||
<div class="col-sm-8">
|
|
||||||
<input id="updateBy" name="updateBy" class="form-control" type="text">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="form-group">
|
|
||||||
<label class="col-sm-3 control-label">更新时间:</label>
|
|
||||||
<div class="col-sm-8">
|
|
||||||
<input id="updateDate" name="updateDate" class="form-control" type="text">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="col-sm-3 control-label">备注信息:</label>
|
<label class="col-sm-3 control-label">备注信息:</label>
|
||||||
<div class="col-sm-8">
|
<div class="col-sm-8">
|
||||||
<input id="remarks" name="remarks" class="form-control" type="text">
|
<input id="remarks" name="remarks" class="form-control" type="text">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
|
||||||
<label class="col-sm-3 control-label">删除标记:</label>
|
|
||||||
<div class="col-sm-8">
|
|
||||||
<input id="delFlag" name="delFlag" class="form-control" type="text">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
<div th:include="include::footer"></div>
|
<div th:include="include::footer"></div>
|
||||||
|
<script th:src="@{/js/jquery-ui-1.10.4.min.js}"></script>
|
||||||
|
<script th:src="@{/ajax/libs/iCheck/icheck.min.js}"></script>
|
||||||
|
<script th:src="@{/ajax/libs//datapicker/bootstrap-datepicker.js}"></script>
|
||||||
|
<script th:src="@{/ajax/libs/beautifyhtml/beautifyhtml.js}"></script>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
var prefix = ctx + "vip/vipUserCertificate"
|
var prefix = ctx + "vip/vipUserCertificate"
|
||||||
$("#form-vipUserCertificate-add").validate({
|
$("#form-vipUserCertificate-add").validate({
|
||||||
|
|
@ -95,6 +79,44 @@
|
||||||
$.operate.save(prefix + "/add", $('#form-vipUserCertificate-add').serialize());
|
$.operate.save(prefix + "/add", $('#form-vipUserCertificate-add').serialize());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
$(".input-group.date").datepicker({todayBtn: "linked",keyboardNavigation: !1,forceParse: !1,calendarWeeks: !0,autoclose: !0});
|
||||||
|
|
||||||
|
|
||||||
|
layui.use('upload', function() {
|
||||||
|
var $ = layui.jquery
|
||||||
|
, upload = layui.upload;
|
||||||
|
//普通图片上传
|
||||||
|
var uploadInst = upload.render({
|
||||||
|
elem: '#test1'
|
||||||
|
,url: '/upload/files'
|
||||||
|
,data:{module:"vip/user/certificate"}//文件存放路径
|
||||||
|
,before: function(obj){
|
||||||
|
//预读本地文件示例,不支持ie8
|
||||||
|
obj.preview(function(index, file, result){
|
||||||
|
$('#demo1').attr('src', result); //图片链接(base64)
|
||||||
|
});
|
||||||
|
}
|
||||||
|
,done: function(res){
|
||||||
|
//如果上传失败
|
||||||
|
if(res.code !=200){
|
||||||
|
return layer.msg('上传失败');
|
||||||
|
}
|
||||||
|
//上传成功
|
||||||
|
if(res.code ==200){
|
||||||
|
$("#image").val(res.fileName)
|
||||||
|
return layer.msg('上传成功');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
,error: function(){
|
||||||
|
//演示失败状态,并实现重传
|
||||||
|
var demoText = $('#demoText');
|
||||||
|
demoText.html('<span style="color: #FF5722;">上传失败</span> <a class="layui-btn layui-btn-xs demo-reload">重试</a>');
|
||||||
|
demoText.find('.demo-reload').on('click', function(){
|
||||||
|
uploadInst.upload();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
</script>
|
</script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,9 @@
|
||||||
<html lang="zh" xmlns:th="http://www.thymeleaf.org">
|
<html lang="zh" xmlns:th="http://www.thymeleaf.org">
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<head th:include="include :: header"></head>
|
<head th:include="include :: header"></head>
|
||||||
|
<link th:href="@{/ruoyi/css/ry-ui.css}" rel="stylesheet"/>
|
||||||
|
<link th:href="@{/ajax/libs/datapicker/datepicker3.css}" rel="stylesheet"/>
|
||||||
|
<link th:href="@{/ajax/libs/layui/css/layui.css}" rel="stylesheet"/>
|
||||||
<body class="white-bg">
|
<body class="white-bg">
|
||||||
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
|
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
|
||||||
<form class="form-horizontal m" id="form-vipUserCertificate-edit" th:object="${vipUserCertificate}">
|
<form class="form-horizontal m" id="form-vipUserCertificate-edit" th:object="${vipUserCertificate}">
|
||||||
|
|
@ -21,7 +24,14 @@
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="col-sm-3 control-label">证书照片:</label>
|
<label class="col-sm-3 control-label">证书照片:</label>
|
||||||
<div class="col-sm-8">
|
<div class="col-sm-8">
|
||||||
<input id="image" name="image" th:field="*{image}" class="form-control" type="text">
|
<input id="image" name="image" class="form-control" th:field="*{image}" type="hidden">
|
||||||
|
<div class="layui-upload">
|
||||||
|
<button type="button" class="layui-btn" id="test1">上传图片</button>
|
||||||
|
<div class="layui-upload-list">
|
||||||
|
<img class="layui-upload-img" id="demo1" th:src="@{/profile/avatar/}+${image}">
|
||||||
|
<p id="demoText"></p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
|
|
@ -49,6 +59,10 @@
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
<div th:include="include::footer"></div>
|
<div th:include="include::footer"></div>
|
||||||
|
<script th:src="@{/js/jquery-ui-1.10.4.min.js}"></script>
|
||||||
|
<script th:src="@{/ajax/libs/iCheck/icheck.min.js}"></script>
|
||||||
|
<script th:src="@{/ajax/libs//datapicker/bootstrap-datepicker.js}"></script>
|
||||||
|
<script th:src="@{/ajax/libs/beautifyhtml/beautifyhtml.js}"></script>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
var prefix = ctx + "vip/vipUserCertificate"
|
var prefix = ctx + "vip/vipUserCertificate"
|
||||||
$("#form-vipUserCertificate-edit").validate({
|
$("#form-vipUserCertificate-edit").validate({
|
||||||
|
|
@ -64,6 +78,45 @@
|
||||||
$.operate.save(prefix + "/edit", $('#form-vipUserCertificate-edit').serialize());
|
$.operate.save(prefix + "/edit", $('#form-vipUserCertificate-edit').serialize());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$(".input-group.date").datepicker({todayBtn: "linked",keyboardNavigation: !1,forceParse: !1,calendarWeeks: !0,autoclose: !0});
|
||||||
|
|
||||||
|
|
||||||
|
layui.use('upload', function() {
|
||||||
|
var $ = layui.jquery
|
||||||
|
, upload = layui.upload;
|
||||||
|
//普通图片上传
|
||||||
|
var uploadInst = upload.render({
|
||||||
|
elem: '#test1'
|
||||||
|
,url: '/upload/files'
|
||||||
|
,data:{module:"vip/user/certificate"}//文件存放路径
|
||||||
|
,before: function(obj){
|
||||||
|
//预读本地文件示例,不支持ie8
|
||||||
|
obj.preview(function(index, file, result){
|
||||||
|
$('#demo1').attr('src', result); //图片链接(base64)
|
||||||
|
});
|
||||||
|
}
|
||||||
|
,done: function(res){
|
||||||
|
//如果上传失败
|
||||||
|
if(res.code !=200){
|
||||||
|
return layer.msg('上传失败');
|
||||||
|
}
|
||||||
|
//上传成功
|
||||||
|
if(res.code ==200){
|
||||||
|
$("#image").val(res.fileName)
|
||||||
|
return layer.msg('上传成功');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
,error: function(){
|
||||||
|
//演示失败状态,并实现重传
|
||||||
|
var demoText = $('#demoText');
|
||||||
|
demoText.html('<span style="color: #FF5722;">上传失败</span> <a class="layui-btn layui-btn-xs demo-reload">重试</a>');
|
||||||
|
demoText.find('.demo-reload').on('click', function(){
|
||||||
|
uploadInst.upload();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
</script>
|
</script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
|
||||||
|
|
@ -11,32 +11,22 @@
|
||||||
<div class="select-list">
|
<div class="select-list">
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
会员代码:<input type="text" name="vipUserId"/>
|
会员姓名:<input type="text" name="user.userName"/>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li>
|
<li>
|
||||||
证书名称:<input type="text" name="name"/>
|
证书名称:<input type="text" name="name"/>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li>
|
<li class="select-time">
|
||||||
证书照片:<input type="text" name="image"/>
|
<label>有效日期: </label>
|
||||||
|
|
||||||
|
<input type="text" class="time-input" id="startDate" placeholder="生效时间" name="startDate"/>
|
||||||
|
<span>-</span>
|
||||||
|
<input type="text" class="time-input" id="endDate" placeholder="截至时间" name="endDate"/>
|
||||||
|
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li>
|
|
||||||
生效日期:<input type="text" name="startDate"/>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
<li>
|
|
||||||
截止日期:<input type="text" name="endDate"/>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
<li>
|
|
||||||
创建者:<input type="text" name="createBy"/>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
<li>
|
|
||||||
创建时间:<input type="text" name="createDate"/>
|
|
||||||
</li>
|
|
||||||
<li>
|
<li>
|
||||||
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i> 搜索</a>
|
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i> 搜索</a>
|
||||||
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i> 重置</a>
|
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i> 重置</a>
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="col-sm-3 control-label">章节id:</label>
|
<label class="col-sm-3 control-label">章节id:</label>
|
||||||
<div class="col-sm-8">
|
<div class="col-sm-8">
|
||||||
<input id="trainCourseSection" name="trainCourseSection" class="form-control" type="text">
|
<input id="trainCourseSectionId" name="trainCourseSectionId" class="form-control" type="text">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
|
|
@ -29,42 +29,12 @@
|
||||||
<input id="duration" name="duration" class="form-control" type="text">
|
<input id="duration" name="duration" class="form-control" type="text">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
|
||||||
<label class="col-sm-3 control-label">创建者:</label>
|
|
||||||
<div class="col-sm-8">
|
|
||||||
<input id="createBy" name="createBy" class="form-control" type="text">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="form-group">
|
|
||||||
<label class="col-sm-3 control-label">创建时间:</label>
|
|
||||||
<div class="col-sm-8">
|
|
||||||
<input id="createDate" name="createDate" class="form-control" type="text">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="form-group">
|
|
||||||
<label class="col-sm-3 control-label">更新者:</label>
|
|
||||||
<div class="col-sm-8">
|
|
||||||
<input id="updateBy" name="updateBy" class="form-control" type="text">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="form-group">
|
|
||||||
<label class="col-sm-3 control-label">更新时间:</label>
|
|
||||||
<div class="col-sm-8">
|
|
||||||
<input id="updateDate" name="updateDate" class="form-control" type="text">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="col-sm-3 control-label">备注信息:</label>
|
<label class="col-sm-3 control-label">备注信息:</label>
|
||||||
<div class="col-sm-8">
|
<div class="col-sm-8">
|
||||||
<input id="remarks" name="remarks" class="form-control" type="text">
|
<input id="remarks" name="remarks" class="form-control" type="text">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
|
||||||
<label class="col-sm-3 control-label">删除标记:</label>
|
|
||||||
<div class="col-sm-8">
|
|
||||||
<input id="delFlag" name="delFlag" class="form-control" type="text">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
<div th:include="include::footer"></div>
|
<div th:include="include::footer"></div>
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,7 @@
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="col-sm-3 control-label">章节id:</label>
|
<label class="col-sm-3 control-label">章节id:</label>
|
||||||
<div class="col-sm-8">
|
<div class="col-sm-8">
|
||||||
<input id="trainCourseSection" name="trainCourseSection" th:field="*{trainCourseSection}" class="form-control" type="text">
|
<input id="trainCourseSectionId" name="trainCourseSectionId" th:field="*{trainCourseSectionId}" class="form-control" type="text">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
|
|
@ -30,42 +30,12 @@
|
||||||
<input id="duration" name="duration" th:field="*{duration}" class="form-control" type="text">
|
<input id="duration" name="duration" th:field="*{duration}" class="form-control" type="text">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
|
||||||
<label class="col-sm-3 control-label">创建者:</label>
|
|
||||||
<div class="col-sm-8">
|
|
||||||
<input id="createBy" name="createBy" th:field="*{createBy}" class="form-control" type="text">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="form-group">
|
|
||||||
<label class="col-sm-3 control-label">创建时间:</label>
|
|
||||||
<div class="col-sm-8">
|
|
||||||
<input id="createDate" name="createDate" th:field="*{createDate}" class="form-control" type="text">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="form-group">
|
|
||||||
<label class="col-sm-3 control-label">更新者:</label>
|
|
||||||
<div class="col-sm-8">
|
|
||||||
<input id="updateBy" name="updateBy" th:field="*{updateBy}" class="form-control" type="text">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="form-group">
|
|
||||||
<label class="col-sm-3 control-label">更新时间:</label>
|
|
||||||
<div class="col-sm-8">
|
|
||||||
<input id="updateDate" name="updateDate" th:field="*{updateDate}" class="form-control" type="text">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="col-sm-3 control-label">备注信息:</label>
|
<label class="col-sm-3 control-label">备注信息:</label>
|
||||||
<div class="col-sm-8">
|
<div class="col-sm-8">
|
||||||
<input id="remarks" name="remarks" th:field="*{remarks}" class="form-control" type="text">
|
<input id="remarks" name="remarks" th:field="*{remarks}" class="form-control" type="text">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
|
||||||
<label class="col-sm-3 control-label">删除标记:</label>
|
|
||||||
<div class="col-sm-8">
|
|
||||||
<input id="delFlag" name="delFlag" th:field="*{delFlag}" class="form-control" type="text">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
<div th:include="include::footer"></div>
|
<div th:include="include::footer"></div>
|
||||||
|
|
|
||||||
|
|
@ -22,18 +22,6 @@
|
||||||
章节id:<input type="text" name="trainCourseSection"/>
|
章节id:<input type="text" name="trainCourseSection"/>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li>
|
|
||||||
学习时间长度(分钟):<input type="text" name="duration"/>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
<li>
|
|
||||||
创建者:<input type="text" name="createBy"/>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
<li>
|
|
||||||
创建时间:<input type="text" name="createDate"/>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
<li>
|
<li>
|
||||||
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i> 搜索</a>
|
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i> 搜索</a>
|
||||||
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i> 重置</a>
|
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i> 重置</a>
|
||||||
|
|
@ -87,40 +75,30 @@
|
||||||
visible: false
|
visible: false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field : 'vipUserId',
|
field : 'userName',
|
||||||
title : '会员代码',
|
title : '会员姓名',
|
||||||
sortable: true
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field : 'trainCourseId',
|
field : 'trainCourseName',
|
||||||
title : '课程ID',
|
title : '课程名称',
|
||||||
sortable: true
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field : 'trainCourseSection',
|
field : 'trainCourseSectionName',
|
||||||
title : '章节id',
|
title : '章节名称',
|
||||||
sortable: true
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field : 'duration',
|
field : 'duration',
|
||||||
title : '学习时间(分钟)',
|
title : '学习时间(分钟)',
|
||||||
sortable: true
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field : 'createBy',
|
field : 'createBy',
|
||||||
title : '创建者',
|
title : '创建者',
|
||||||
sortable: true
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field : 'createDate',
|
field : 'createDate',
|
||||||
title : '创建时间',
|
title : '创建时间',
|
||||||
sortable: true
|
sortable: true
|
||||||
},
|
},
|
||||||
{
|
|
||||||
field : 'updateBy',
|
|
||||||
title : '更新者',
|
|
||||||
sortable: true
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
title: '操作',
|
title: '操作',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue