zoukankan      html  css  js  c++  java
  • day60_BOS项目_12

    1、项目复习

    1.1、项目第一天

    • 1、项目概述
    • 2、搭建开发环境(数据库、web项目、svn)
    • 3、jQuery EasyUI
      • 详解如下:
        1、layout 页面布局
        2、accordion 折叠面板
            <div class="easyui-accordion" data-options="fit:true">
                <div title="面板一">test1</div>
                <div title="面板二">test2</div>
            </div>
        3、tabs 选项卡面板
            <div class="easyui-tabs" data-options="fit:true">
                <div title="面板一"></div>
                <div titlte="面板二"></div>
            </div>
    • 4、jQuery ztree 树形插件
    • 详解如下:
        1、使用标准json数据构造ztree
            var setting = {};
            // 构造json数据
            var zNodes = [ 
                // 每个json对象对应一个节点数据
                {name : '系统管理'}, 
                // 每个json对象对应一个节点数据
                {name : '用户管理'children : [{name : '用户添加'}, {name : '用户修改'}]}, 
                // 每个json对象对应一个节点数据
                {name : '权限管理'
            ];
            // 创建ztree
            $.fn.zTree.init($("#ztree1"), setting, zNodes);
        2、使用简单json数据构造ztree
            var setting2 = {
                data : {
                    simpleData : {
                        // 启用简单json数据描述节点数据 
                        enable : true
                    }
                }
            }; 
            // 构造json数据
            var zNodes2 = [ 
                // 每个json对象对应一个节点数据
                {id : '1'pId : '0'name : '系统管理'},
                // 每个json对象对应一个节点数据
                {id : '2'pId : '0'name : '用户管理'},
                {id : '21'pId : '2'name : '用户添加'},
                {id : '22'pId : '2'name : '用户修改'},
                // 每个json对象对应一个节点数据
                {id : '3'pId : '0'name : '权限管理'}
            ];
            // 创建ztree
            $.fn.zTree.init($("#ztree2"), setting2, zNodes2);
        3、发送ajax请求获取菜单数据构造ztree
            var setting3 = {
                data : {
                    simpleData : {
                        // 启用简单json数据描述节点数据 
                        enable : true
                    }
                }
            };
            // 发送ajax请求获取json数据构造ztree
            var url = "${pageContext.request.contextPath}/json/menu.json";
            $.post(url, {}, function(data{
                // 创建ztree
                $.fn.zTree.init($("#ztree3"), setting3, data);
            }, 'json');
    • 5、PD使用,设计数据模型

    1.2、项目第二天

    • 设计BaseDaoBaseAction
    • 设计BaseAction
    • 实现用户登录功能和退出功能
    • jQuery EasyUI 的 messager 消息提示控件
      • 1、alert 消息提示框
      • 2、show 消息提示框(在屏幕的右下角显示一个消息窗口)
      • 3、confirm 消息确认框
      • 4、prompt 带有输入功能的消息确认框
      • 5、progress 显示进度提示框
    • jQuery EasyUI 的 menubutton 菜单按钮
      示例代码如下:
        <a data-options="iconCls:'icon-help',menu:'#mm'" class="easyui-menubutton">控制面板</a>
        <!-- 使用div制作下拉菜单选项 -->
        <div id="mm">
            <!-- 使用子div制作具体的一个选项 -->
            <div onclick="alert(111)" data-options="iconCls:'icon-edit'">修改密码</div>
            <div>联系管理员</div>
            <div class="menu-sep"></div>
            <div>退出系统</div>
        </div>
    • 自定义struts2拦截器,实现用户未登录时自动跳转到登录页面
    • 基于ajax实现修改密码功能
      • 1、window创建使用 --> easyui-window
      • 2、EasyUI的validatebox
      • 3、发送ajax提交修改后的密码

    1.3、项目第三天

    • 整体分析基础设置部分需求
    • 实现取派员添加
      • 1、扩展手机号校验规则 --> 使用正则表达式校验手机号
      • 2、为保存按钮绑定事件
    • jQuery EasyUI 的 datagrid 数据网格控件 的使用方式
      • 1、将静态HTML代码渲染成datagrid样式
      • 2、由datagrid发送ajax请求获取服务端json数据,构造datagrid
      • 3、使用EasyUI提供的API(js代码)动态构造一个datagrid
    • 使用datagrid实现取派员分页查询
    • 取派员批量删除(逻辑删除)
    • 取派员修改功能
      • 1、使用datagrid行双击事件处理函数onDblClickRow,弹出修改窗口,并且回显数据(注意:页面上本来就有数据,直接回显即可,就不用去数据库查了)
        示例代码如下:
        rowIndex:被双击行的索引,从 0 开始
        rowData:被双击行对应的记录(对应的数据)
        // 当用户双击一行时触发该事件
        function doDblClickRow(rowIndex, rowData// rowData => id:xxx,name:xxx,...
            // 打开修改取派员窗口
            $('#editStaffWindow').window("open");
            // 回显数据
            // $("input[name=name]").val(rowData.name); // 显示姓名
            $('#editStaffForm').form("load", rowData);  // 显示整个表格的数据
        }

    1.4、项目第四天

    • 实现区域批量导入功能
      • 1、jQuery OCUpload(一键上传插件)
      • 2、apache POI 解析Excel文件内容
      • 3、使用 pinyin4J 生成简码和城市编码
    • 实现区域的分页查询,重构分页代码(将Action中的属性和方法统一提取到BaseAction中)
    • 实现分区的添加功能
      • 1、jQuery EasyUI 的combobox下拉框 使用(2种方式)
    • 解决区域分页查询的bug
    • 实现分区分页查询(没有过滤条件)
    • 实现分区组合条件分页查询
    • 分区数据导出功能
      • 1、查询所有数据
      • 2、使用POI创建一个Excel文件,并且写入数据
      • 3、文件下载

    1.5、项目第五天

    • 定区添加功能
      • 1、使用combobox下拉框展示取派员
      • 2、使用datagrid数据表格展示分区数据
    • 定区分页查询
    • hessian入门 --> 远程调用技术
      • httpClient --> 模拟浏览器效果(淘淘商城大量使用)
      • dubbo --> 阿里巴巴,后期自学内容
    • 基于hessian实现定区关联客户

    1.6、项目第六天

    • 业务受理分析(业务通知单、工单、工作单)
    • 实现业务受理、自动分单业务功能
    • 数据网格datagrid的编辑功能的使用
      • onAfterEdit:function(rowIndex,rowData,changes) { // 数据网格的事件:当前行结束编辑状态时触发 }
    • 基于数据网格datagrid编辑功能实现工作单快速录入功能

    1.7、项目第七天

    • 权限概述(认证、授权)
    • 常见的权限控制的方式(URL、方法注解)
    • 权限数据模型(权限表、角色表、用户表、角色权限关系表、用户角色关系表)
    • apache shiro框架调用流程
      • shiro的程序运行流程:Application Code --> Subject --> Shiro SecurityManager --> Realm
    • 将shiro引入bos项目进行认证和授权
    • shiro提供的权限控制方式
      • 1、URL拦截
      • 2、方法注解
      • 3、页面标签(shiro标签库)
      • 4、代码级别(编码方式)

    1.8、项目第八天

    • 权限管理(初始化权限(通过sql脚本)、查询、添加)
    • 角色管理(添加、查询)
    • 用户管理(添加、查询)
    • 修改自定义BOSRealm中的授权方法,通过查询数据库获得登录人的权限
    • 使用ehcache 缓存权限数据
    • 系统的左侧菜单根据当前登录用户的权限动态展示

    1.9、项目第九天

    • 工作流概念
    • 安装eclipse插件 --> 流程设计器
    • activiti框架底层有数据库支持,对应23张表
    • 创建+了解23张表
      • 1、act_re_*
      • 2、act_ru_*
      • 3、act_id_*
      • 4、act_hi_*
      • 5、act_ge_*
    • 使用activiti的API操作流程
      • 1、部署流程定义
      • 2、查询流程定义
      • 3、查看png图片
      • 4、启动流程实例
      • 5、查询流程实例
      • 6、查询组任务
      • 7、拾取组任务
      • 8、查询个人任务
      • 9、办理个人任务

    1.10、项目第十天

    • 流程变量(设置、获取)
    • 组任务(候选人、候选组)
      • 1、查询组任务
      • 2、拾取组任务
    • 排他网关的使用(常用)
    • spring 整合 activiti框架
    • 在bos中实现流程定义管理

    1.11、项目第十一天

    • 流程实例管理(查询流程、查看流程实例运行状态(查询部署id、图片名称、查询坐标))
    • 数据同步(将用户和角色数据同步到activiti对应的用户表和组表中去)
    • 设计物流配送流程
    • 启动物流配送流程
    • 查询组任务、拾取组任务
    • 查询个人任务、办理个人任务
  • 相关阅读:
    EasyUI改变Layout的Region的宽高,位置等信息
    Linq-C#左连接
    [SQL Server]如何快速查找使用了某个字段的所有存储过程
    NET联调
    Linq-Order By操作
    Java之Filter --Servlet技术中最实用的技术
    JavaWeb之JSON
    JavaSE(一)之认识java
    JavaWeb之Ajax
    【iScroll源码学习02】分解iScroll三个核心事件点
  • 原文地址:https://www.cnblogs.com/chenmingjun/p/9817415.html
Copyright © 2011-2022 走看看