diff --git a/src/main/java/cn/stylefeng/guns/modular/dict/DictTypeViewController.java b/src/main/java/cn/stylefeng/guns/modular/dict/DictTypeViewController.java index 192ef6d5..8c24cfcc 100644 --- a/src/main/java/cn/stylefeng/guns/modular/dict/DictTypeViewController.java +++ b/src/main/java/cn/stylefeng/guns/modular/dict/DictTypeViewController.java @@ -9,53 +9,45 @@ import org.springframework.stereotype.Controller; /** * 字典类型视图控制器 * - * @Author: huangyao - * @Date: 2021/1/6 20:53 + * @author huangyao + * @date 2021/1/6 20:53 **/ @Controller @Slf4j @ApiResource(name = "字典类型管理相关的界面渲染") public class DictTypeViewController { - private String PREFIX = "/modular/system/dictType"; - /** * 字典类型管理-字典类型-视图 * - * @param - * @return * @author huangyao * @date 2021/1/6 21:08 */ @GetResource(name = "字典类型管理-列表-视图", path = "/view/dictType") public String indexView() { - return PREFIX + "/dictType.html"; + return "/modular/system/dictType/dictType.html"; } /** * 字典类型管理-添加-视图 * - * @param - * @return * @author huangyao * @date 2021/1/6 21:25 */ @GetResource(name = "字典类型管理-添加-视图", path = "/view/dictType/addView") public String addView() { - return PREFIX + "/dictType_add.html"; + return "/modular/system/dictType/dictType_add.html"; } /** * 字典类型管理-编辑-视图 * - * @param - * @return * @author huangyao * @date 2021/1/6 21:26 */ @GetResource(name = "字典类型管理-编辑-视图", path = "/view/dictType/editView") public String editView() { - return PREFIX + "/dictType_edit.html"; + return "/modular/system/dictType/dictType_edit.html"; } } diff --git a/src/main/java/cn/stylefeng/guns/modular/file/FileViewController.java b/src/main/java/cn/stylefeng/guns/modular/file/FileViewController.java new file mode 100644 index 00000000..2602c433 --- /dev/null +++ b/src/main/java/cn/stylefeng/guns/modular/file/FileViewController.java @@ -0,0 +1,30 @@ +package cn.stylefeng.guns.modular.file; + +import cn.stylefeng.roses.kernel.resource.api.annotation.ApiResource; +import cn.stylefeng.roses.kernel.resource.api.annotation.GetResource; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Controller; + +/** + * 文件管理界面 + * + * @author lgq + * @date 2021/1/9 + */ +@Controller +@Slf4j +@ApiResource(name = "文件管理界面") +public class FileViewController { + + /** + * 文件管理首页 + * + * @author lgq + * @date 2021/1/9 + */ + @GetResource(name = "文件管理首页", path = "/view/file") + public String fileIndex() { + return "/modular/system/fileInfo/file_info.html"; + } + +} diff --git a/src/main/java/cn/stylefeng/guns/modular/index/service/IndexService.java b/src/main/java/cn/stylefeng/guns/modular/index/service/IndexService.java index 5688bc92..e9f44159 100644 --- a/src/main/java/cn/stylefeng/guns/modular/index/service/IndexService.java +++ b/src/main/java/cn/stylefeng/guns/modular/index/service/IndexService.java @@ -7,6 +7,9 @@ import cn.stylefeng.roses.kernel.auth.api.pojo.login.LoginUser; import cn.stylefeng.roses.kernel.auth.api.pojo.login.basic.SimpleRoleInfo; import cn.stylefeng.roses.kernel.auth.api.pojo.login.basic.SimpleUserInfo; import cn.stylefeng.roses.kernel.menu.modular.service.SysMenuService; +import cn.stylefeng.roses.kernel.message.api.MessageApi; +import cn.stylefeng.roses.kernel.message.api.enums.MessageReadFlagEnum; +import cn.stylefeng.roses.kernel.message.api.pojo.MessageParam; import cn.stylefeng.roses.kernel.system.modular.organization.entity.HrOrganization; import cn.stylefeng.roses.kernel.system.modular.organization.service.HrOrganizationService; import cn.stylefeng.roses.kernel.system.modular.user.service.SysUserService; @@ -36,6 +39,8 @@ public class IndexService { @Resource private HrOrganizationService hrOrganizationService; + @Resource + private MessageApi messageApi; /** * 获取首页需要渲染的参数 * @@ -59,6 +64,11 @@ public class IndexService { // 获取人员姓名 renderMap.put("name", simpleUserInfo.getRealName()); + // 未读消息数量 + MessageParam messageParam = new MessageParam(); + messageParam.setReadFlag(MessageReadFlagEnum.UNREAD.getCode()); + renderMap.put("msgUnReadCount", messageApi.queryCountCurrentUser(messageParam)); + return renderMap; } diff --git a/src/main/java/cn/stylefeng/guns/modular/message/controller/MessageViewController.java b/src/main/java/cn/stylefeng/guns/modular/message/controller/MessageViewController.java new file mode 100644 index 00000000..93e9b7e1 --- /dev/null +++ b/src/main/java/cn/stylefeng/guns/modular/message/controller/MessageViewController.java @@ -0,0 +1,75 @@ +package cn.stylefeng.guns.modular.message.controller; + +import cn.stylefeng.guns.modular.index.service.IndexService; +import cn.stylefeng.roses.kernel.auth.api.context.LoginContext; +import cn.stylefeng.roses.kernel.message.api.MessageApi; +import cn.stylefeng.roses.kernel.message.api.enums.MessageReadFlagEnum; +import cn.stylefeng.roses.kernel.message.api.pojo.MessageParam; +import cn.stylefeng.roses.kernel.message.api.pojo.MessageResponse; +import cn.stylefeng.roses.kernel.resource.api.annotation.ApiResource; +import cn.stylefeng.roses.kernel.resource.api.annotation.GetResource; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.web.bind.annotation.RequestMapping; + +import javax.annotation.Resource; +import java.util.List; + +/** + * 系统消息相关的界面渲染 + * + * @author liuhanqing + * @date 2021/1/11 19:37 + */ +@Controller +@Slf4j +@ApiResource(name = "系统消息相关的界面渲染") +public class MessageViewController { + + @Resource + private MessageApi messageApi; + + + + /** + * 系统消息界面 + * + * @author liuhanqing + * @date 2021/1/10 17:42 + */ + @GetResource(name = "系统消息界面", path = "/view/message", requiredPermission = false) + public String message(Model model) { + MessageParam messageParam = new MessageParam(); + messageParam.setReadFlag(MessageReadFlagEnum.UNREAD.getCode()); + Integer messageCount = messageApi.queryCountCurrentUser(messageParam); + List messageList = messageApi.queryListCurrentUser(messageParam); + model.addAttribute("msgUnReadCount", messageCount); + model.addAttribute("msgUnReadList", messageList); + return "/modular/index/message.html"; + } + + /** + * 我的消息界面 + * + * @author liuhanqing + * @date 2021/1/12 20:22 + */ + @GetResource(name = "操作日志管理列表", path = "/view/message_list") + public String indexView() { + return "/modular/system/message/message_list.html"; + } + + /** + * 我的消息界面 + * + * @author liuhanqing + * @date 2021/1/12 20:22 + */ + @GetResource(name = "操作日志管理列表", path = "/view/message_view") + public String view(Model model) { + model.addAttribute("openType", "view"); + return "/modular/system/message/message_view.html"; + } + +} diff --git a/src/main/webapp/assets/modular/frame/message.css b/src/main/webapp/assets/modular/frame/message.css index c23503d3..5139c3a5 100644 --- a/src/main/webapp/assets/modular/frame/message.css +++ b/src/main/webapp/assets/modular/frame/message.css @@ -1,68 +1,82 @@ +/** 消息列表样式 */ .message-list { position: absolute; - top: 51px; - bottom: 44px; + top: 48px; left: 0; right: 0; + bottom: 45px; overflow-y: auto; + -webkit-overflow-scrolling: touch; } .message-list-item { - padding: 10px 24px; + display: block; + padding: 10px 20px; + line-height: 24px; + position: relative; border-bottom: 1px solid #e8e8e8; - -ms-flex-align: start; - align-items: flex-start; - display: flex; - -ms-flex: 1 1; - flex: 1 1; } .message-list-item:hover, .message-btn-clear:hover, .message-btn-more:hover { background: #F2F2F2; } -.message-item-icon { +.message-list-item .message-item-icon { width: 40px; height: 40px; - margin-right: 16px; - display: block; - margin-top: 4px; + line-height: 40px; + margin-top: -20px; + border-radius: 50%; + position: absolute; + left: 20px; + top: 50%; } -.message-item-right { - display: block; - flex: 1 0; - line-height: 24px; +.message-list-item .message-item-icon.layui-icon { + color: #fff; + font-size: 22px; + text-align: center; + background-color: #FE5D58; } -.message-item-title { +.message-list-item .message-item-icon + .message-item-right { + margin-left: 55px; +} + +.message-list-item .message-item-title { + color: #666; font-size: 14px; - color: rgba(0, 0, 0, .65); } -.message-item-text { - color: rgba(0, 0, 0, .45); +.message-list-item .message-item-text { + color: #999; font-size: 12px; } -.pull-right { - float: right; +.message-list-item > .layui-badge { + position: absolute; + right: 20px; + top: 12px; +} + +.message-list-item > .layui-badge + .message-item-right { + margin-right: 50px; } .message-btn-clear, .message-btn-more { + color: #666; display: block; padding: 10px 5px; - text-align: center; line-height: 24px; - color: #333; + text-align: center; + cursor: pointer; } .message-btn-clear { position: absolute; - bottom: 0; left: 0; - background: white; right: 0; + bottom: 0; border-top: 1px solid #e8e8e8; } @@ -71,13 +85,30 @@ font-size: 13px; } -.message-list-empty { - text-align: center; - color: rgba(0, 0, 0, .45); - padding: 73px 0 88px; +.message-btn-more.ew-btn-loading > .ew-btn-loading-text { + font-size: 13px !important; } -.message-list-empty img { - height: 76px; - margin-bottom: 16px; -} \ No newline at end of file +.message-list-empty { + color: #999; + padding: 100px 0; + text-align: center; + display: none; +} + +.message-list-empty > .layui-icon { + color: #ccc; + display: block; + font-size: 45px; + margin-bottom: 15px; +} + +.show-empty .message-list-empty { + display: block; +} + +.show-empty .message-btn-clear, .show-empty .message-list { + display: none; +} + +/** //消息列表样式结束 */ \ No newline at end of file diff --git a/src/main/webapp/assets/modular/frame/message.js b/src/main/webapp/assets/modular/frame/message.js index daca2aff..e105384c 100644 --- a/src/main/webapp/assets/modular/frame/message.js +++ b/src/main/webapp/assets/modular/frame/message.js @@ -1,22 +1,44 @@ -layui.use(['element'], function () { +var Message = {} +layui.use(['element', 'admin', 'HttpRequest'], function () { var $ = layui.jquery; - var element = layui.element; + var admin = layui.admin; + var HttpRequest = layui.HttpRequest; - // 加载更多按钮点击事件 - $('#btn-more1').click(function () { + /* 加载更多按钮点击事件 */ + /*$('#messageMoreBtn2').click(function () { var $that = $(this); - var str = $that.prev()[0].outerHTML; - for (var i = 0; i < 5; i++) { - $that.before(str); - } + admin.btnLoading($that); + setTimeout(function () { + admin.btnLoading($that, false); + $that.before($that.prev()[0].outerHTML); + }, 300); + });*/ + /** + * 全部标记为已读 + */ + Message.allReadMessage = function () { + var httpRequest = new HttpRequest(Feng.ctxPath + "/sysMessage/allMessageReadFlag", 'get', function (data) { + $('#messageClearBtn').parents('.layui-tab-item').addClass('show-empty'); + $('#msgCount').html(0); + Feng.success("标记已读成功!"); + }, function (data) { + Feng.error("标记已读失败!" + data.responseJSON.message); + }); + httpRequest.setAsync(true) + httpRequest.start(); + + /* var HttpRequest = new HttpRequest(Feng.ctxPath + "/sysMessage/allMessageReadFlag", 'get', function (data) { + Feng.success("已读成功!"); + }, function (data) { + Feng.error("标记已读失败!" + data.responseJSON.message + "!"); + }); + HttpRequest.setAsync(true) + HttpRequest.start();*/ + }; + /* 清空消息点击事件 */ + $('#messageClearBtn').click(function () { + + Message.allReadMessage() }); - // 清空消息点击事件 - $('.message-btn-clear').click(function () { - $(this).css('display', 'none'); - $(this).prev().find('.message-list-item').remove(); - $(this).prev().find('.message-btn-more').remove(); - $(this).prev().find('.message-list-empty').css('display', 'block'); - }); - -}); +}); \ No newline at end of file diff --git a/src/main/webapp/assets/modular/system/common/form.all.js b/src/main/webapp/assets/modular/system/common/form.all.js new file mode 100644 index 00000000..42795752 --- /dev/null +++ b/src/main/webapp/assets/modular/system/common/form.all.js @@ -0,0 +1,392 @@ +var form = {}; +form.type = {}; +form.formSelects = null; +formPriv = {}; + +var map = new Map(); +// var $ = layui.jquery + +formPriv.initType = function () { + map.put("1", "textinput"); + map.put("2", "textinput"); + map.put("3", "textinput"); + map.put("4", "radio"); + map.put("5", "checkbox"); + map.put("6", "select"); + map.put("7", "userSelect"); + map.put("8", "attach"); + map.put("9", "editor"); + map.put("10", "autoRow"); + map.put("11", "autoRow-Column"); + map.put("12", "suggest"); + map.put("13", "button"); + map.put("14", "container"); + map.put("-1", "textinput"); +} + +formPriv.doView = function (){ + var jqueryForm = "form"; + var formObj = layui.jquery(jqueryForm); + if (formObj.length == 0) { + Feng.error("没有找到对应的表单") + return; + } + formObj = layui.jquery(formObj[0]); + formObj.find("[viewForm]").each(function () { + var item = layui.jquery(this); + var itemType = layui.jquery(this).attr("viewForm"); + formPriv.type[itemType].read(item); + }); + layui.jquery("#closeBtn").html(" 关闭 ") + return; +} + + +//各个组件的状态判断 +formPriv.type = {}; +formPriv.type["hidden"] = { + hide: function (obj) { + }, + read: function (obj) { + } +} +formPriv.type["textinput"] = { + hide: function (obj) { + formPriv.removeStar(obj); + obj.remove(); + }, + read: function (obj) { + formPriv.removeStar(obj); + if (obj.is('input') || obj.is('textarea')) { + /* var label = obj.val(); + label = label.replace(/\r\n/g, "
"); + label = label.replace(/\n/g, "
"); + + var ip = layui.jquery("").addClass("layui-input layui-disabled").attr("value", obj.attr("name")).val( label ); + obj.parent().html(ip)*/ + // obj.attr("readonly", "readonly"); + var label = obj.val(); + var style = obj.attr("style"); + label = label.replace(/\r\n/g, "
"); + label = label.replace(/\n/g, "
"); + if(!label){ + label = " " + } + if(obj.is('input')){ + label = ""+label+""; + }else{ + label = ""+label+""; //layui-disabled + } + + obj.parent().html(label); + } else { + var label = obj.find('input').val(); + var style = obj.find('input').attr("style"); + /* var ip = layui.jquery("").addClass("layui-input layui-disabled").attr("value", obj.attr("name")).val( label ); + obj.html(ip);*/ + // label.attr("readonly", "readonly"); + if(!label){ + label = " " + } + label = ""+label+""; + obj.html(label); + } + + } +} + +formPriv.type["input-url"] = { + hide: function (obj) { + formPriv.removeStar(obj); + obj.remove(); + }, + read: function (obj) { + formPriv.removeStar(obj); + if (obj.is('input') || obj.is('textarea')) { + var label = obj.val(); + if(!label){ + label = " " + }else{ + label = ""+label+""; + } + if(obj.is('input')){ + label = ""+label+""; + }else{ + label = ""+label+""; //layui-disabled + } + + obj.parent().html(label); + } else { + var label = obj.find('input').val(); + if(!label){ + label = " " + }else{ + label = ""+label+""; + } + label = ""+label+""; + obj.html(label); + } + + } +} + +formPriv.type["radio"] = { + hide: function (obj) { + obj.remove(); + }, + read: function (obj) { + formPriv.removeStar(obj); + var checkedLabel = ""; + var checkEle = obj.find("input:radio:checked"); + if (checkEle.length == 1) { + checkedLabel = checkEle.attr("label"); + if(checkedLabel==undefined){ + checkedLabel = checkEle.attr("title"); + } + } + checkedLabel = ""+checkedLabel+""; + obj.html(checkedLabel); + } +} + +formPriv.type["xm-select"] = { + hide: function (obj) { + obj.remove(); + }, + read: function (obj) { + var xm_select = obj.attr("xm-ele-id"); + obj.find("input.xm-input[placeholder='请选择']").removeAttr('placeholder') + form.formSelects.disabled(xm_select) + /*formPriv.removeStar(obj); + var label = ""; + var xm_select = obj.find("dd.xm-select-this"); + debugger + layui.jquery.each(xm_select, function (i, xm_span) { + debugger + var span = layui.jquery(xm_span).find("span").attr("name") + label += span + ","; + }) + if (label.length > 0) { + label = label.substring(0, label.length - 1); + } + if(!label){ + label = " " + } + label = ""+label+""; + obj.html(label);*/ + } +} + + +formPriv.type["tags-input"] = { + hide: function (obj) { + obj.remove(); + }, + read: function (obj) { + obj.find("#tags_tagsinput").find("span.tag").find("a").remove(); + obj.find("#tags_tagsinput").find("#tags_addTag").remove(); + } +} + +formPriv.type["user-head"] = { + hide: function (obj) { + obj.remove(); + }, + read: function (obj) { + obj.addClass("user-info-head-no-hover").removeClass("user-info-head") + var img = obj.find("img").attr("src"); + obj.unbind("click"); + obj.bind("click",function(){ + var imgData = { + "alt": "头像", + "src": img, //原图地址 + "thumb": img //缩略图地址 + } + var json = { + photos: { + title: "头像", + data: [imgData] + } + ,zIndex:99999999 + ,anim: 5 //0-6的选择,指定弹出图片动画类型,默认随机(请注意,3.0之前的版本用shift参数) + ,shade: .1 + ,closeBtn: true + } + top.indexModule.photos(JSON.stringify(json)); + }); + + } +} + +formPriv.type["checkbox"] = { + hide: function (obj) { + obj.remove(); + }, + read: function (obj) { + formPriv.removeStar(obj); + var checkedLabel = ""; + var checkboxs = obj.find("input[type=checkbox]"); + layui.jquery.each(checkboxs, function (i, checkbox) { + if(layui.jquery(checkbox).is(":checked")){ + checkedLabel += layui.jquery(checkbox).attr("title") + ","; + } + }) + if (checkedLabel.length > 0) { + checkedLabel = checkedLabel.substring(0, checkedLabel.length - 1); + } + checkedLabel = ""+checkedLabel+""; + obj.html(checkedLabel); + } +} + +formPriv.type["attach"] = { + hide: function (obj) { + obj.remove(); + }, + read: function (obj) { + formPriv.removeStar(obj); + if (obj.is('button')) { + obj.remove(); + } else { + var button = obj.find('button'); + obj.find('a').first().remove(); + layui.jquery(button).remove(); + } + } +} + +formPriv.type["select"] = { + hide: function (obj) { + obj.remove(); + }, + read: function (obj) { + formPriv.removeStar(obj); + var selectLabel = ""; + obj.find("select:not(.noneWorkflow) option:checked").each(function (index, item) { + if (layui.jquery(item).val() == null || layui.jquery(item).val().length == 0) { + selectLabel = ""; + } else { + selectLabel = layui.jquery(item).html(); + } + }); + if(!selectLabel){ + selectLabel = " " + } + selectLabel = ""+selectLabel+""; + obj.html(selectLabel); + + } +} + +formPriv.type["button"] = { + hide: function (obj) { + obj.remove(); + }, + read: function (obj) { + //暂时没有添加只读操作 + obj.hide(); + } +} + +//人员选择框 +formPriv.type["userSelect"] = { + hide: function (obj) { + obj.remove(); + }, + read: function (obj) { + formPriv.removeStar(obj); + + if (obj.is('input') || obj.is('textarea')) { + obj.unbind("click"); //移除click事件 + var label = obj.val(); + label = label.replace(/\r\n/g, "
"); + label = label.replace(/\n/g, "
"); + if(!label){ + label = " " + } + label = ""+label+""; + obj.parent().html(label); + } else { + obj.find('input').unbind("click"); //移除click事件 + var label = obj.find('input').val(); + if(!label){ + label = " " + } + label = ""+label+""; + obj.html(label); + } + } +} +formPriv.type["suggest"]={ + hide:function(obj){ + obj.hide(); + }, + read:function(obj){ + formPriv.removeStar(obj); + if (obj.is('input') || obj.is('textarea')) { + obj.addClass("layui-disabled").attr("readonly", "readonly").removeAttr("name").removeAttr("lay-verify").removeAttr("placeholder"); + } else { + var label = obj.find('input'); + if(label==null||label.length==0){ + label = obj.find('textarea'); + } + label.addClass("layui-disabled").attr("readonly", "readonly").removeAttr("name").removeAttr("lay-verify").removeAttr("placeholder"); + } + } +} +formPriv.type["container"]={ + hide:function(obj){ + obj.remove(); + // obj.hide(); + }, + read:function(obj){ + } +} + + +formPriv.removeStar = function(obj){ + if(obj.length>0){ + if(obj.is('div')&&obj.hasClass('workflow-form-item')){ + var star = layui.jquery(obj).prev(); + if(star){ + if(layui.jquery(star).find('span').hasClass('required')){ + layui.jquery(star).find('span').remove(); + } + } + + }else{ + obj = obj.parent(); + formPriv.removeStar(obj); + } + } +} + + + +function Map() { + this.container = new Object(); +} + +Map.prototype.put = function (key, value) { + this.container[key] = value; +} + +Map.prototype.get = function (key) { + return this.container[key]; +} + +Map.prototype.remove = function (key) { + delete this.container[key]; +} + + +layui.use(['form', 'admin', 'ax', 'formSelects'], function () { + var $ = layui.jquery; + form.formSelects = layui.formSelects; + // var $ax = layui.ax; + /* var openType = $("#formOpenType_").val(); + if(openType == "view"){ + formPriv.doView() + }*/ + +}); diff --git a/src/main/webapp/assets/modular/system/fileInfo/file_info.js b/src/main/webapp/assets/modular/system/fileInfo/file_info.js new file mode 100644 index 00000000..664c359b --- /dev/null +++ b/src/main/webapp/assets/modular/system/fileInfo/file_info.js @@ -0,0 +1,181 @@ +layui.use(['table', 'form', 'func', 'HttpRequest', 'util', 'upload'], function () { + var $ = layui.$; + var table = layui.table; + var form = layui.form; + var func = layui.func; + var HttpRequest = layui.HttpRequest; + var util = layui.util; + var upload = layui.upload; + var layer = layui.layer; + + + // 职位表管理 + var FileInfo = { + tableId: "fileTable" + }; + + // 初始化表格的列 + FileInfo.initColumn = function () { + return [[ + {type: 'checkbox'}, + {field: 'fileId', hide: true, title: '主键id'}, + {field: 'fileLocation', sort: true, title: '存储位置'}, + {field: 'fileOriginName', sort: true, title: '文件名称'}, + {field: 'secretFlag', sort: true, title: '是否机密'}, + {field: 'fileSuffix', sort: true, title: '文件后缀'}, + {field: 'fileSizeInfo', sort: true, title: '文件大小'}, + { + field: 'createTime', sort: true, title: '创建时间', templet: function (d) { + return util.toDateString(d.createTime); + } + }, + {field: 'createUserName', sort: true, title: '创建人'}, + {align: 'center', toolbar: '#tableBar', title: '操作', width: 230} + ]]; + }; + + + + //上传 + var uploadInst = upload.render({ + elem: '#btnUpload' //绑定元素 + ,url: Feng.ctxPath + '/sysFileInfo/upload?secretFlag=N' //上传接口 + ,done: function(res){ + //上传完毕回调 + Feng.success("上传成功!"); + + FileInfo.search(); + } + ,error: function(err){ + //请求异常回调 + Feng.error("上传失败!"+ err.message); + } + }); + + + // 点击查询按钮 + FileInfo.search = function () { + var queryData = {}; + queryData['fileOriginName'] = $("#fileOriginName").val(); + //queryData['positionCode'] = $("#positionCode").val(); + table.reload(FileInfo.tableId, { + where: queryData, + page: {curr: 1} + }); + }; + + + + // 点击编辑 + FileInfo.openEditDlg = function (data) { + func.open({ + height: 800, + title: '修改职位', + content: Feng.ctxPath + '/position/editView?positionId=' + data.positionId, + tableId: FileInfo.tableId + }); + }; + + + // 点击删除 + FileInfo.onDeleteFile = function (data) { + var operation = function () { + var httpRequest = new HttpRequest(Feng.ctxPath + "/sysFileInfo/deleteReally", 'post', function (data) { + Feng.success("删除成功!"); + table.reload(FileInfo.tableId); + }, function (data) { + Feng.error("删除失败!" + data.message + "!"); + }); + httpRequest.set(data); + httpRequest.start(true); + }; + Feng.confirm("是否删除?", operation); + }; + + + // 下载 + FileInfo.onFileDownload = function (data) { + if (data.secretFlag === 'Y'){ + window.location.href = Feng.ctxPath + '/sysFileInfo/privateDownload?fileId='+ data.fileId; + }else { + window.location.href = Feng.ctxPath + '/sysFileInfo/publicDownload?fileId='+ data.fileId; + } + } + + // 预览 + FileInfo.openPreview = function (data) { + var imgUrl = Feng.ctxPath + '/sysFileInfo/previewByObjectName?fileBucket=' + data.fileBucket + '&fileObjectName=' + data.fileObjectName; + + // layer.open({ + // type: 1, + // title: false, + // closeBtn: 0, + // skin: 'layui-layer-nobg', //没有背景色 + // shadeClose: true, + // content: '
' + + // '' + + // '
' + // // content: Feng.ctxPath + '/sysFileInfo/previewByObjectName?fileBucket=' + data.fileBucket + '&fileObjectName=' + data.fileObjectName, + // }); + // + + var imgUrl = Feng.ctxPath + '/sysFileInfo/previewByObjectName?fileBucket=' + data.fileBucket + '&fileObjectName=' + data.fileObjectName; + + layer.open({ + type: 2, + title: false, + closeBtn: 0, + area: ['500px', '300px'], + shadeClose: true, + content: imgUrl + }) + + + + + }; + + + + // 渲染表格 + var tableResult = table.render({ + elem: '#' + FileInfo.tableId, + url: Feng.ctxPath + '/sysFileInfo/fileInfoListPage', + page: true, + request: {pageName: 'pageNo', limitName: 'pageSize'}, //自定义分页参数 + height: "full-158", + cellMinWidth: 100, + cols: FileInfo.initColumn(), + parseData: Feng.parseData + }); + + // 搜索按钮点击事件 + $('#btnSearch').click(function () { + FileInfo.search(); + }); + + + // 工具条点击事件 + table.on('tool(' + FileInfo.tableId + ')', function (obj) { + var data = obj.data; + var event = obj.event; + if (event === 'edit') { + FileInfo.openEditDlg(data); + } else if (event === 'delete') { + FileInfo.onDeleteFile(data); + }else if (event === 'download'){ + FileInfo.onFileDownload(data); + }else if(event === 'preview'){ + FileInfo.openPreview(data); + } + }); + + // 修改状态 + form.on('switch(status)', function (obj) { + var fileInfoId = obj.elem.value; + var checked = obj.elem.checked ? 1 : 2; + FileInfo.updateStatus(fileInfoId, checked); + }); +}); diff --git a/src/main/webapp/assets/modular/system/message/message_list.js b/src/main/webapp/assets/modular/system/message/message_list.js new file mode 100644 index 00000000..cdedb168 --- /dev/null +++ b/src/main/webapp/assets/modular/system/message/message_list.js @@ -0,0 +1,142 @@ +layui.use(['table', 'form', 'func', 'HttpRequest', 'util'], function () { + var $ = layui.$; + var table = layui.table; + var form = layui.form; + var func = layui.func; + var HttpRequest = layui.HttpRequest; + var util = layui.util; + + // 系统消息管理 + var Message = { + tableId: "messageTable" + }; + + // 初始化表格的列 + Message.initColumn = function () { + return [[ + {type: 'checkbox'}, + {field: 'messageId', hide: true, title: '主键id'}, + {field: 'messageTitle', sort: true, title: '消息标题'}, + // {field: 'messageType', sort: true, title: '消息类型'}, + // {field: 'priorityLevelValue', sort: true, title: '优先级'}, + {field: 'priorityLevel', sort: true, title: '优先级', templet: function (d) { + if (d.priorityLevel === "high") { + return "高"; + } else if (d.priorityLevel === "middle") { + return "中"; + } else { + return "低"; + } + }}, + {field: 'readFlag', sort: true, title: '阅读状态', templet: function (d) { + if (d.readFlag === 0) { + return "未读"; + } else { + return "已读"; + } + }}, + {field: 'messageSendTime', sort: true, title: '收到时间'}, + {align: 'center', toolbar: '#tableBar', title: '操作'} + ]]; + }; + + // 点击查询按钮 + Message.search = function () { + var queryData = {}; + queryData['messageTitle'] = $("#messageTitle").val(); + //queryData['messageCode'] = $("#messageCode").val(); + table.reload(Message.tableId, { + where: queryData, + page: {curr: 1} + }); + }; + /** + * 点击查看 + * + * @param data 点击按钮时候的行数据 + */ + Message.openViewDlg = function (data) { + func.open({ + title: '查看消息', + // height: 900, + content: Feng.ctxPath + '/view/message_view?messageId=' + data.messageId, + tableId: Message.tableId + }); + }; + + + // 导出excel按钮 + Message.exportExcel = function () { + var checkRows = table.checkStatus(Message.tableId); + if (checkRows.data.length === 0) { + Feng.error("请选择要导出的数据"); + } else { + table.exportFile(tableResult.config.id, checkRows.data, 'xls'); + } + }; + + // 点击删除 + Message.delete = function (data) { + var operation = function () { + var httpRequest = new HttpRequest(Feng.ctxPath + "/sysMessage/delete", 'post', function (data) { + Feng.success("删除成功!"); + table.reload(Message.tableId); + }, function (data) { + Feng.error("删除失败!" + data.message + "!"); + }); + httpRequest.set(data); + httpRequest.start(true); + }; + Feng.confirm("是否删除?", operation); + }; + + // 标记为已读状态 + Message.allReadFlag = function () { + var httpRequest = new HttpRequest(Feng.ctxPath + "/sysMessage/allMessageReadFlag", 'get', function (data) { + table.reload(Message.tableId); + Feng.success("标记已读成功!"); + }, function (data) { + table.reload(Message.tableId); + Feng.error("标记已读失败!" + data.responseJSON.message); + }); + httpRequest.start(); + }; + + // 渲染表格 + var tableResult = table.render({ + elem: '#' + Message.tableId, + url: Feng.ctxPath + '/sysMessage/page', + page: true, + request: {pageName: 'pageNo', limitName: 'pageSize'}, //自定义分页参数 + height: "full-158", + cellMinWidth: 100, + cols: Message.initColumn(), + parseData: Feng.parseData + }); + + // 搜索按钮点击事件 + $('#btnSearch').click(function () { + Message.search(); + }); + + // 全部已读点击事件 + $('#allReadFlag').click(function () { + Message.allReadFlag(); + }); + + // 导出excel + $('#btnExp').click(function () { + Message.exportExcel(); + }); + + // 工具条点击事件 + table.on('tool(' + Message.tableId + ')', function (obj) { + var data = obj.data; + var event = obj.event; + if (event === 'view') { + Message.openViewDlg(data); + } else if (event === 'delete') { + Message.delete(data); + } + }); +}); diff --git a/src/main/webapp/assets/modular/system/message/message_view.js b/src/main/webapp/assets/modular/system/message/message_view.js new file mode 100644 index 00000000..6f66da97 --- /dev/null +++ b/src/main/webapp/assets/modular/system/message/message_view.js @@ -0,0 +1,50 @@ +/** + * 详情对话框 + */ +var MessageInfoDlg = {}; + +layui.use(['form', 'admin', 'HttpRequest', 'laydate'], function () { + var $ = layui.jquery; + var HttpRequest = layui.HttpRequest; + var form = layui.form; + var laydate = layui.laydate; + lay('input.date-input').each(function(){ + laydate.render({ + elem: this + ,trigger: 'click' + }); + }); + + //获取详情信息,填充表单 + var HttpRequest = new HttpRequest(Feng.ctxPath + "/sysMessage/detail?messageId=" + Feng.getUrlParam("messageId"), 'get'); + var result = HttpRequest.start(); + form.val('messageForm', result.data); + + /* //表单提交事件 + form.on('submit(btnSubmit)', function (data) { + var HttpRequest = new HttpRequest(Feng.ctxPath + "/sysMessage/editItem", 'post', function (data) { + Feng.success("更新成功!"); + + //传给上个页面,刷新table用 + admin.putTempData('formOk', true); + + //关掉对话框 + admin.closeThisDialog(); + + }, function (data) { + Feng.error("更新失败!" + data.responseJSON.message) + }); + data.field.fileIds = MessageInfoDlg.layUploader.getUploadFileIds().join(","); //获取上传附件ID 暂时注释掉 + HttpRequest.set(data.field); + HttpRequest.start(); + + return false; + });*/ + + + //查看模式 + var openType = $("#formOpenType_").val(); + if(openType == "view"){ + formPriv.doView() + } +}); diff --git a/src/main/webapp/assets/modular/system/onlineUser/online_user.js b/src/main/webapp/assets/modular/system/onlineUser/online_user.js index 5f1a41f2..21fe59cb 100644 --- a/src/main/webapp/assets/modular/system/onlineUser/online_user.js +++ b/src/main/webapp/assets/modular/system/onlineUser/online_user.js @@ -51,7 +51,6 @@ layui.use(['table', 'HttpRequest'], function () { }, function (data) { Feng.error(data.message + "!"); }); - console.log(data) httpRequest.set('token', data.token); httpRequest.start(true); }; diff --git a/src/main/webapp/assets/modular/system/organization/organization.js b/src/main/webapp/assets/modular/system/organization/organization.js index de91700f..4dfa9cf2 100644 --- a/src/main/webapp/assets/modular/system/organization/organization.js +++ b/src/main/webapp/assets/modular/system/organization/organization.js @@ -33,7 +33,6 @@ layui.use(['layer', 'form', 'table', 'ztree', 'laydate', 'admin', 'HttpRequest', // 选择部门时 Organization.onClickDept = function (obj) { - console.log(obj); Organization.condition.orgParentId = obj.data.id; Organization.search(); }; diff --git a/src/main/webapp/assets/modular/system/organization/organization_edit.js b/src/main/webapp/assets/modular/system/organization/organization_edit.js index 3a55c222..aef0c5eb 100644 --- a/src/main/webapp/assets/modular/system/organization/organization_edit.js +++ b/src/main/webapp/assets/modular/system/organization/organization_edit.js @@ -14,10 +14,11 @@ layui.use(['form', 'admin', 'HttpRequest', 'xmSelect'], function () { // 初始化组织树 new HttpRequest(Feng.ctxPath + "/hrOrganization/treeLayui", 'get', function (data) { + console.log(result.data); organizationXmSel = xmSelect.render({ el: '#organization', data: data.data, - initValue: [result.data.orgId], + initValue: [result.data.orgParentId], layVerify: 'required', model: {label: {type: 'text'}}, prop: {name: 'title', value: 'id'}, diff --git a/src/main/webapp/assets/modular/system/user/user.js b/src/main/webapp/assets/modular/system/user/user.js index a8ecf7e6..6a693935 100644 --- a/src/main/webapp/assets/modular/system/user/user.js +++ b/src/main/webapp/assets/modular/system/user/user.js @@ -45,7 +45,6 @@ layui.use(['layer', 'form', 'table', 'ztree', 'laydate', 'admin', 'HttpRequest', * 选择部门时 */ MgrUser.onClickDept = function (obj) { - console.log(obj); MgrUser.condition.orgId = obj.data.id; MgrUser.search(); }; diff --git a/src/main/webapp/assets/modular/system/user/user_role.js b/src/main/webapp/assets/modular/system/user/user_role.js index 99ad13d4..d72a745f 100644 --- a/src/main/webapp/assets/modular/system/user/user_role.js +++ b/src/main/webapp/assets/modular/system/user/user_role.js @@ -11,7 +11,6 @@ layui.use(['layer', 'form', 'admin', 'laydate', 'HttpRequest', 'xmSelect'], func var result = request.start(); form.val('userForm', result.data); - console.log(result.data.grantRoleIdList); // 初始化角色 new HttpRequest(Feng.ctxPath + "/sysRole/dropDown", 'get', function (data) { roleXmSel = xmSelect.render({ @@ -27,7 +26,6 @@ layui.use(['layer', 'form', 'admin', 'laydate', 'HttpRequest', 'xmSelect'], func // 表单提交事件 form.on('submit(btnSubmit)', function (data) { // 角色ids - console.log(Feng.getUrlParam("userId")); data.field.grantRoleIdList = roleXmSel.getValue('value'); data.field.userId = Feng.getUrlParam("userId"); diff --git a/src/main/webapp/pages/layout/_header.html b/src/main/webapp/pages/layout/_header.html index 8bffb849..b7478d0b 100644 --- a/src/main/webapp/pages/layout/_header.html +++ b/src/main/webapp/pages/layout/_header.html @@ -21,6 +21,14 @@