This commit is contained in:
周源 2022-05-23 11:36:29 +08:00
parent 4ce99ca39a
commit d954dfe656
14 changed files with 525 additions and 23 deletions

View File

@ -1,10 +1,16 @@
package com.ydool.boot.modules.rddb.web;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.stereotype.Controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ydool.boot.common.result.Ret;
import com.ydool.boot.core.web.BaseController;
import com.ydool.boot.modules.rddb.entity.AppointComment;
import com.ydool.boot.modules.rddb.service.AppointCommentService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
/**
* <p>
@ -15,7 +21,20 @@ import com.ydool.boot.core.web.BaseController;
* @since 2022-05-17
*/
@Controller
@RequestMapping("/rddb/appointComment")
@RequestMapping("${ydool.path}/rddb/appoint_comment")
public class AppointCommentController extends BaseController {
@Autowired
private AppointCommentService appointCommentService;
@RequestMapping("list")
@ResponseBody
public void list(String id) {
QueryWrapper<AppointComment> wrapper = new QueryWrapper<>();
wrapper.eq("appoint_id", id);
wrapper.orderByDesc("created_at");
Page page = appointCommentService.page(new Page(getPageNum(), getPageSize()), wrapper);
render(Ret.ok().paged(page));
}
}

View File

@ -46,6 +46,21 @@ public class AppointController extends BaseAdminController {
public String index() {
return "modules/rddb/appoint/index.html";
}
@GetMapping("vote")
public String vote(String id) {
request.setAttribute("id",id);
return "modules/rddb/appoint/vote.html";
}
@GetMapping("perform")
public String perform(String id) {
request.setAttribute("id",id);
return "modules/rddb/appoint/perform.html";
}
@GetMapping("comment")
public String comment(String id) {
request.setAttribute("id",id);
return "modules/rddb/appoint/comment.html";
}
@PostMapping("list")
@ResponseBody

View File

@ -1,21 +1,40 @@
package com.ydool.boot.modules.rddb.web;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.stereotype.Controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ydool.boot.common.result.Ret;
import com.ydool.boot.core.web.BaseController;
import com.ydool.boot.modules.rddb.entity.ReviewComment;
import com.ydool.boot.modules.rddb.service.ReviewCommentService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
/**
* <p>
* 工作评议评论 前端控制器
* 评议评论 前端控制器
* </p>
*
* @author zhouyuan
* @since 2022-05-12
*/
@Controller
@RequestMapping("/rddb/reviewComment")
@RequestMapping("${ydool.path}/rddb/review_comment")
public class ReviewCommentController extends BaseController {
@Autowired
private ReviewCommentService reviewCommentService;
@RequestMapping("list")
@ResponseBody
public void list(String id) {
QueryWrapper<ReviewComment> wrapper = new QueryWrapper<>();
wrapper.eq("review_id", id);
wrapper.orderByDesc("created_at");
Page page = reviewCommentService.page(new Page(getPageNum(), getPageSize()), wrapper);
render(Ret.ok().paged(page));
}
}

View File

@ -48,9 +48,25 @@ public class ReviewController extends BaseAdminController {
ReviewAttachmentService reviewAttachmentService;
@GetMapping
public String index() {
public String index(String type) {
request.setAttribute("type", type);
return "modules/rddb/review/index.html";
}
@GetMapping("audit")
public String vote(String id) {
request.setAttribute("id",id);
return "modules/rddb/review/audit.html";
}
@GetMapping("comment")
public String comment(String id) {
request.setAttribute("id",id);
return "modules/rddb/review/comment.html";
}
@GetMapping("check")
public String check(String id) {
request.setAttribute("id",id);
return "modules/rddb/review/check.html";
}
@PostMapping("list")
@ResponseBody
@ -59,8 +75,8 @@ public class ReviewController extends BaseAdminController {
if (StringUtils.isNotBlank(review.getType())) wrapper.eq(Review::getType, review.getType());
if (StringUtils.isNotBlank(review.getReviewSubject()))
wrapper.like(Review::getReviewSubject, review.getReviewSubject());
if (review.getState()!=null) wrapper.eq(Review::getState, review.getState());
if (review.getStatus()!=null) wrapper.eq(Review::getStatus, review.getStatus());
if (review.getState() != null) wrapper.eq(Review::getState, review.getState());
if (review.getStatus() != null) wrapper.eq(Review::getStatus, review.getStatus());
wrapper.orderByDesc(Review::getCreatedAt);
Page page = reviewService.page(new Page(getPageNum(), getPageSize()), wrapper);
render(Ret.ok().paged(page));
@ -68,7 +84,7 @@ public class ReviewController extends BaseAdminController {
@PreAuth("rddb:review:form")
@GetMapping("form")
public String form(String id, Model model) throws Exception {
public String form(String id, String type, Model model) throws Exception {
Review review = new Review();
if (ObjectUtil.isNotEmpty(id)) {
review = reviewService.getById(id);
@ -90,6 +106,7 @@ public class ReviewController extends BaseAdminController {
model.addAttribute("resultAttachmentListStr", JsonMapper.getInstance().writeValueAsString(resultAttachmentList));
}
model.addAttribute("review", review);
model.addAttribute("type", type);
return "modules/rddb/review/form.html";
}

View File

@ -22,7 +22,7 @@ import org.springframework.web.bind.annotation.ResponseBody;
/**
* <p>
* 工作评议人员 前端控制器
* 评议人员 前端控制器
* </p>
*
* @author zhouyuan

View File

@ -0,0 +1,57 @@
<% layout('/layouts/default.html', {title: '评论管理', libs: ['print','fileupload',"dataGrid",'summernote']}){ %>
<div class="main-content">
<div class="box box-main">
<div class="box-header">
<div class="box-title">
<i class="fa icon-book-open"></i> 查看评论
</div>
</div>
<div class="box-body">
<div class="pl10 pb20">
<table id="userGrid"></table>
</div>
<div class="box-footer" style="margin-top: 10px">
<div class="row">
<div class="col-sm-offset-2 col-sm-10">
<button type="button" class="btn btn-sm btn-default" id="btnCancel"
onclick="act.closeCurrentTabPage()"><i class="fa fa-reply-all"></i> 关闭
</button>
</div>
</div>
</div>
</div>
</div>
</div>
<% } %>
<script>
var userGrid = $("#userGrid").dataGrid({
url: '${ctx}/rddb/appoint_comment/list?id=${id}',
columnModel: [
{header: '评论人', name: 'userName', sortable: false, width: 100, align: "center"},
{header: '评论内容', name: 'content', sortable: false, width: 100, align: "center"},
{header: '评论时间', name: 'createdAt', sortable: false, width: 100, align: "center"},
],
showCheckbox: false,
autoGridHeight: function () {
return 'auto';
},
autoGridWidth: function () {
return $('.box-body').width() - 20;
}
});
</script>
<script>
function updateResult(resp) {
if (resp.state === 1) {
act.closeCurrentTabPage(function (win) {
win.$('#dataGrid').dataGrid('refresh');
});
}
}
</script>

View File

@ -70,6 +70,16 @@
actions.push('<a href="${ctx}/rddb/appoint/delete?id=' + row.id + '" class="btnList" title="删除" data-confirm="确认要删除该数据吗?"><i class="fa fa-trash-o"></i></a>&nbsp;');
<% } %>
<% if(hasAuth("rddb:appoint:vote")) { %>
actions.push('<a href="${ctx}/rddb/appoint/vote?id=' + row.id + '" class="btnList" title="查看投票"><i class="fa fa-map"></i></a>&nbsp;');
<% } %>
<% if(hasAuth("rddb:appoint:comment")) { %>
actions.push('<a href="${ctx}/rddb/appoint/comment?id=' + row.id + '" class="btnList" title="查看评论"><i class="fa fa-list"></i></a>&nbsp;');
<% } %>
<% if(hasAuth("rddb:appoint:perform")) { %>
actions.push('<a href="${ctx}/rddb/appoint/perform?id=' + row.id + '" class="btnList" title="查看评分"><i class="fa fa-eye"></i></a>&nbsp;');
<% } %>
return actions.join('');
}
}

View File

@ -0,0 +1,57 @@
<% layout('/layouts/default.html', {title: '打分管理', libs: ['print','fileupload',"dataGrid",'summernote']}){ %>
<div class="main-content">
<div class="box box-main">
<div class="box-header">
<div class="box-title">
<i class="fa icon-book-open"></i> 查看打分
</div>
</div>
<div class="box-body">
<div class="pl10 pb20">
<table id="userGrid"></table>
</div>
<div class="box-footer" style="margin-top: 10px">
<div class="row">
<div class="col-sm-offset-2 col-sm-10">
<button type="button" class="btn btn-sm btn-default" id="btnCancel"
onclick="act.closeCurrentTabPage()"><i class="fa fa-reply-all"></i> 关闭
</button>
</div>
</div>
</div>
</div>
</div>
</div>
<% } %>
<script>
var userGrid = $("#userGrid").dataGrid({
url: '${ctx}/rddb/appoint_user/list?id=${id}&type=6',
columnModel: [
{header: '打分人', name: 'userName', sortable: false, width: 100, align: "center"},
{header: '分数', name: 'score', sortable: false, width: 100, align: "center"},
{header: '打分时间', name: 'scoreAt', sortable: false, width: 100, align: "center"},
],
showCheckbox: false,
autoGridHeight: function () {
return 'auto';
},
autoGridWidth: function () {
return $('.box-body').width() - 20;
}
});
</script>
<script>
function updateResult(resp) {
if (resp.state === 1) {
act.closeCurrentTabPage(function (win) {
win.$('#dataGrid').dataGrid('refresh');
});
}
}
</script>

View File

@ -0,0 +1,71 @@
<% layout('/layouts/default.html', {title: '投票管理', libs: ['print','fileupload',"dataGrid",'summernote']}){ %>
<div class="main-content">
<div class="box box-main">
<div class="box-header">
<div class="box-title">
<i class="fa icon-book-open"></i> 查看投票
</div>
</div>
<div class="box-body">
<div class="pl10 pb20">
<table id="userGrid"></table>
</div>
<div class="box-footer" style="margin-top: 10px">
<div class="row">
<div class="col-sm-offset-2 col-sm-10">
<button type="button" class="btn btn-sm btn-default" id="btnCancel"
onclick="act.closeCurrentTabPage()"><i class="fa fa-reply-all"></i> 关闭
</button>
</div>
</div>
</div>
</div>
</div>
</div>
<% } %>
<script>
var userGrid = $("#userGrid").dataGrid({
url: '${ctx}/rddb/appoint_user/list?id=${id}&type=4',
columnModel: [
{header: '投票人', name: 'userName', sortable: false, width: 100, align: "center"},
{
header: '投票结果',
name: 'vote',
sortable: false,
width: 100,
align: "center",
formatter: function (val, obj, row, act) {
//投票 (0待投票 1赞成 2反对 3弃权)
if (val ==0) return "待投票"
if (val ==1) return "赞成"
if (val ==2) return "反对"
if (val ==3) return "弃权"
return "";
}
},
{header: '投票时间', name: 'voteAt', sortable: false, width: 100, align: "center"},
],
showCheckbox: false,
autoGridHeight: function () {
return 'auto';
},
autoGridWidth: function () {
return $('.box-body').width() - 20;
}
});
</script>
<script>
function updateResult(resp) {
if (resp.state === 1) {
act.closeCurrentTabPage(function (win) {
win.$('#dataGrid').dataGrid('refresh');
});
}
}
</script>

View File

@ -0,0 +1,100 @@
<% layout('/layouts/default.html', {title: '审批管理', libs: ['print','fileupload',"dataGrid",'summernote']}){ %>
<div class="main-content">
<div class="box box-main">
<div class="box-header">
<div class="box-title">
<i class="fa icon-book-open"></i> 查看审批
</div>
</div>
<div class="box-body">
<div class="pl10 pb20">
<div class="form-unit">一级审批人员</div>
<table id="userGrid"></table>
<div class="form-unit">二级审批人员</div>
<table id="userGrid2"></table>
</div>
<div class="box-footer" style="margin-top: 10px">
<div class="row">
<div class="col-sm-offset-2 col-sm-10">
<button type="button" class="btn btn-sm btn-default" id="btnCancel"
onclick="act.closeCurrentTabPage()"><i class="fa fa-reply-all"></i> 关闭
</button>
</div>
</div>
</div>
</div>
</div>
</div>
<% } %>
<script>
var userGrid = $("#userGrid").dataGrid({
url: '${ctx}/rddb/review_audit/list?id=${id}&type=1',
columnModel: [
{header: '审核人', name: 'userName', sortable: false, width: 100, align: "center"},
{
header: '审核结果',
name: 'status',
sortable: false,
width: 100,
align: "center",
formatter: function (val, obj, row, act) {
return act.getDictLabel(${@DictUtils.getDictListJson('sys_wait_pass_refuse')}, val, '', false);
}
},
{header: '拒绝原因', name: 'reason', sortable: false, width: 100, align: "center"},
{header: '审核时间', name: 'auditAt', sortable: false, width: 100, align: "center"},
],
showCheckbox: false,
autoGridHeight: function () {
return 'auto';
},
autoGridWidth: function () {
return $('.box-body').width() - 20;
}
});
var userGrid2 = $("#userGrid2").dataGrid({
url: '${ctx}/rddb/review_audit/list?id=${id}&type=2',
columnModel: [
{header: '审核人', name: 'userName', sortable: false, width: 100, align: "center"},
{
header: '审核结果',
name: 'status',
sortable: false,
width: 100,
align: "center",
formatter: function (val, obj, row, act) {
if (val ==0) return "待审批"
if (val ==1) return "通过"
if (val ==2) return "拒绝"
return "";
}
},
{header: '拒绝原因', name: 'reason', sortable: false, width: 100, align: "center"},
{header: '审核时间', name: 'auditAt', sortable: false, width: 100, align: "center"},
],
showCheckbox: false,
autoGridHeight: function () {
return 'auto';
},
autoGridWidth: function () {
return $('.box-body').width() - 20;
}
});
</script>
<script>
function updateResult(resp) {
if (resp.state === 1) {
act.closeCurrentTabPage(function (win) {
win.$('#dataGrid').dataGrid('refresh');
});
}
}
</script>

View File

@ -0,0 +1,57 @@
<% layout('/layouts/default.html', {title: '打分管理', libs: ['print','fileupload',"dataGrid",'summernote']}){ %>
<div class="main-content">
<div class="box box-main">
<div class="box-header">
<div class="box-title">
<i class="fa icon-book-open"></i> 查看打分
</div>
</div>
<div class="box-body">
<div class="pl10 pb20">
<table id="userGrid"></table>
</div>
<div class="box-footer" style="margin-top: 10px">
<div class="row">
<div class="col-sm-offset-2 col-sm-10">
<button type="button" class="btn btn-sm btn-default" id="btnCancel"
onclick="act.closeCurrentTabPage()"><i class="fa fa-reply-all"></i> 关闭
</button>
</div>
</div>
</div>
</div>
</div>
</div>
<% } %>
<script>
var userGrid = $("#userGrid").dataGrid({
url: '${ctx}/rddb/review_user/list?id=${id}',
columnModel: [
{header: '打分人', name: 'userName', sortable: false, width: 100, align: "center"},
{header: '分数', name: 'score', sortable: false, width: 100, align: "center"},
{header: '打分时间', name: 'scoreAt', sortable: false, width: 100, align: "center"},
],
showCheckbox: false,
autoGridHeight: function () {
return 'auto';
},
autoGridWidth: function () {
return $('.box-body').width() - 20;
}
});
</script>
<script>
function updateResult(resp) {
if (resp.state === 1) {
act.closeCurrentTabPage(function (win) {
win.$('#dataGrid').dataGrid('refresh');
});
}
}
</script>

View File

@ -0,0 +1,57 @@
<% layout('/layouts/default.html', {title: '评论管理', libs: ['print','fileupload',"dataGrid",'summernote']}){ %>
<div class="main-content">
<div class="box box-main">
<div class="box-header">
<div class="box-title">
<i class="fa icon-book-open"></i> 查看评论
</div>
</div>
<div class="box-body">
<div class="pl10 pb20">
<table id="userGrid"></table>
</div>
<div class="box-footer" style="margin-top: 10px">
<div class="row">
<div class="col-sm-offset-2 col-sm-10">
<button type="button" class="btn btn-sm btn-default" id="btnCancel"
onclick="act.closeCurrentTabPage()"><i class="fa fa-reply-all"></i> 关闭
</button>
</div>
</div>
</div>
</div>
</div>
</div>
<% } %>
<script>
var userGrid = $("#userGrid").dataGrid({
url: '${ctx}/rddb/review_comment/list?id=${id}',
columnModel: [
{header: '评论人', name: 'userName', sortable: false, width: 100, align: "center"},
{header: '评论内容', name: 'content', sortable: false, width: 100, align: "center"},
{header: '评论时间', name: 'createdAt', sortable: false, width: 100, align: "center"},
],
showCheckbox: false,
autoGridHeight: function () {
return 'auto';
},
autoGridWidth: function () {
return $('.box-body').width() - 20;
}
});
</script>
<script>
function updateResult(resp) {
if (resp.state === 1) {
act.closeCurrentTabPage(function (win) {
win.$('#dataGrid').dataGrid('refresh');
});
}
}
</script>

View File

@ -11,13 +11,24 @@
<act:form id="inputForm" model="${review!}" action="${ctx}/rddb/review/save" remote="true"
before="before" result="updateResult">
<input type="hidden" name="id" value="${review.id!}">
<input type="hidden" name="type" value="${type!}">
<div class="box-body">
<div class="form-unit">评议信息</div>
<act:title title="" fields="4"/>
<act:input text="评议类型" name="type" as="select" dictType="dict_review_type" required="true" />
<act:input text="评议主题" name="reviewSubject" col="1" required="true"/>
<act:title title="" fields="3"/>
<% if(type=="work") { %>
<act:input text="评议部门" name="reviewSubject" col="1" required="true"/>
<act:input text="评议描述" name="reviewDesc" col="1"/>
<% } %>
<% if(type=="subject") { %>
<act:input text="评议专题" name="reviewSubject" col="1" required="true"/>
<act:input text="专题描述" name="reviewDesc" col="1"/>
<% } %>
<% if(type=="officer") { %>
<act:input text="评议对象" name="reviewSubject" col="1" required="true"/>
<act:input text="评议对象职位" name="reviewDesc" col="1"/>
<% } %>
<act:input text="上传时间" as="date" format="yyyy-MM-dd HH:mm:ss" name="reviewUploadAt" col="1"/>
<act:mupload text="评议附件" name="inReportAttachment" listStr="${inReportAttachmentListStr!}"/>
<act:person text="一级审批人员" router="review_audit" id="${review.id!}" name="inReportAudit1" type="1"

View File

@ -11,7 +11,7 @@
<a href="#" class="btn btn-default" id="btnSearch" title="查询"><i class="fa fa-filter"></i> 查询</a>
<a href="#" class="btn btn-default" id="btnRefresh" title="刷新"><i class="fa fa-refresh"></i> 刷新</a>
<% if(hasAuth("rddb:review:add")) { %>
<a href="${ctx}/rddb/review/form" class="btn btn-default btnTool" title="新增评议"><i
<a href="${ctx}/rddb/review/form?type=${type}" class="btn btn-default btnTool" title="新增评议"><i
class="fa fa-plus"></i> 新增</a>
<% } %>
@ -27,19 +27,21 @@
<act:text name="reviewSubject" maxlength="50"/>
</div>
</div>
<div class="form-group">
<!--<div class="form-group">
<label class="control-label">评议类型</label>
<div class="control-inline width-160">
<act:select name="type" dictType="dict_review_type"/>
</div>
</div>
</div>-->
<div class="form-group">
<label class="control-label">审核状态</label>
<div class="control-inline width-160">
<act:select name="status" dictType="sys_wait_pass_refuse"/>
</div>
</div>
<input type="hidden" name="type" value="${type}">
<div class="form-group">
<button type="submit" class="btn btn-primary btn-sm">查询</button>
<button type="reset" class="btn btn-default btn-sm">重置</button>
@ -77,7 +79,7 @@
var actions = [];
<% if (hasAuth("rddb:review:edit")) { %>
actions.push('<a href="${ctx}/rddb/review/form?id=' + row.id + '" class="btnList" title="编辑"><i class="fa fa-pencil"></i></a>&nbsp;');
actions.push('<a href="${ctx}/rddb/review/form?type=${type}&id=' + row.id + '" class="btnList" title="编辑"><i class="fa fa-pencil"></i></a>&nbsp;');
<%
}
%>
@ -88,6 +90,16 @@
}
%>
<% if(hasAuth("rddb:review:audit")) { %>
actions.push('<a href="${ctx}/rddb/review/audit?id=' + row.id + '" class="btnList" title="查看审批"><i class="fa fa-map"></i></a>&nbsp;');
<% } %>
<% if(hasAuth("rddb:review:comment")) { %>
actions.push('<a href="${ctx}/rddb/review/comment?id=' + row.id + '" class="btnList" title="查看评论"><i class="fa fa-list"></i></a>&nbsp;');
<% } %>
<% if(hasAuth("rddb:review:check")) { %>
actions.push('<a href="${ctx}/rddb/review/check?id=' + row.id + '" class="btnList" title="查看评分"><i class="fa fa-eye"></i></a>&nbsp;');
<% } %>
return actions.join('');
}
}