ICG-智能代码生成器.(权限控制.融入平台).(表单引擎).(最低兼容IE8)

请下拉滚动条。。。

界面:

1--首先是server制作界面(BS结构)、直接上图:

   

2--点击提交生成一下文件: 各个代表什么一看就懂了、、、、、、

3--把上面的文件放到对于的位置、然后编译、然后就ok了、、、、

打开client中的IBD中的loginin.aspx页面 用admin登陆、(admin未管理员、test为普通用户、这些在平台都可以设置)

登陆进来是这样:其中邮件和分组管理还有用户管理以及app管理都是平台自带的、、、、看下图:

4--现在把刚才生成的app应用加入到平台里面并且分配权限、需要的参数很少、如下图:

点击保存即可到分配权限阶段

5--权限分配:

支持全选、反选

这里我只分配给test用户、分配好了然后用test登陆loginin.aspx页面

6--test登陆进来的:

没说的、、、点击人员管理即进入 :

再来一个:

好了介绍完了

代码实现:

这主要是平台下的控制代码、包括前端和底层以及数据库:

前端:Javascript

var userid = "feifei", tiptime = 2000, pagesize = 10, TESTTABID = -1;  //当前主ID
        var SLarray = []; //clear data obj
        var endtime = "";
        var nowappid="";

        //common data begin
        var myidarray = [];
        //for-----code
        myidarray.push("appid");
        myidarray.push("appname");
        myidarray.push("appsrc");
        myidarray.push("appcount");
        myidarray.push("appicopath");
        myidarray.push("userid");
        $(function () {
            jQuery("#divadd").validationEngine(); //验证
            //新增
            $("#btnadd").click(function () {
                appmanagertableID = -1;
                $("#divadd").show();
            });
            //取消新增
            $("#btncancel").click(function () {
                $("#divadd").hide();
                $("#divlist").show();
            });
            //保存方法
            $("#btnsave").click(function () {
                if (!jQuery("#divadd").validationEngine("validate")) {
                    return false;
                }
                var temparray = [];
                for (var s = 0; s < myidarray.length; s++) {

                    temparray.push($("input[myid=‘" + myidarray[s] + "‘]").val());
                }
                $.post("userajax/appmanagertableOP.aspx?" + new Date().toTimeString(), { "type": "add", "myidarray": temparray.toString(), "userid": userid, "appmanagertableID": appmanagertableID }, function (data) {
                    endtime = ""; //时间默认值
                    appmanagertableID = -1; if (data.length == 36) {
                        success("保存成功!");
                        for (var s = 0; s < myidarray.length; s++)
                            $("input[myid=‘" + myidarray[s] + "‘]").val("");
                        temparray = null;
                    }

                    $("#divadd").hide();
                    $("#divlist").show();
                    getlist(); //获取前20条
                });
            });
            //页面第一次加载进行渲染
            function load() {
                var obj = $("select[name=‘SLData‘]");
                $(obj).each(function () {
                    $(this).chosen();
                });
            }
            //加载页面渲染
            load();
            getlist();
            $("#btnmore").click(function () {
                getlist();
            });

            // 文件上传 ------------------------- begin(华丽的分隔符) ---------------------------
            var button = $(‘#adlaimgFile‘), interval;
            new AjaxUpload(button, {
                action: ‘userajax/FileMail.ashx‘,
                name: ‘imgFile‘,
                onSubmit: function (file, ext) {
                    this.disable();
                    interval = window.setInterval(function () {
                        var text = button.text();
                    }, 200);
                },
                onComplete: function (file, response) {
                    window.clearInterval(interval);
                    this.enable();
                    response = response.replace(/<pre>/ig, "").replace(/<\/pre>/ig, ""); //过滤
                    var obj = $.parseJSON(response);
                    if (obj[0].filetruename == "ferror") { alert("该文件类型不允许上传!"); return false; }
                    if (obj[0].filetruename == "big") { alert("文件过大!"); return false; }

                    $("#aicon").html(obj[0].filetruename);
                    $("#txticonpath").val(obj[0].filepath);
                    $("#imgicon").attr("src", "userajax/" + obj[0].filepath);

                }
            });

            //全选
            $("#Checkboxall").click(function () {
                if ($("#Checkboxall").attr("checked") == "checked") {
                    var objall = $("input[name = ‘checkboxA‘]");
                    $(objall).each(function () {
                        $(this).attr("checked", true);
                    })
                    return;
                }
                else {
                    var objall = $("input[name = ‘checkboxA‘]");
                    $(objall).each(function () {
                        $(this).attr("checked", false);
                    })
                    return;
                }
            });
            //反选
            $("#Checkboxback").click(function () {
                if ($("#Checkboxback").attr("checked") == "checked") {
                    var objall = $("input[name = ‘checkboxA‘]");
                    $(objall).each(function () {
                        if ($(this).attr("checked") == "checked")
                            $(this).attr("checked", false);
                    })
                    return;
                }
                else {
                    var objall = $("input[name = ‘checkboxA‘]");
                    $(objall).each(function () {
                        if ($(this).attr("checked") == false)
                            $(this).attr("checked", true);
                    })
                    return;
                }
            });

            //确定【分配用户】
            $("#lasure").click(function () {
                var ob = $("input[name=‘checkboxA‘]");
                var ckuserid = "";

                $(ob).each(function () {
                    if ($(this).attr("checked") == "checked") {
                        ckuserid = ckuserid + "," + $(this).attr("id");
                    }
                });

                if (ckuserid.indexOf(",") == -1) {
                    alerttip("请选择需要使用该应用的用户");
                    return false;
                }

                var para = { "type": "Allocation",
                    "useridlist": ckuserid,
                    "appid": nowappid,
                    "usebegintime": $("#txtbegintime").val(),
                    "useendtime": $("#txtendtime").val(),
                    "trycount": $("#txttrycount").val(),
                    "buymoney": $("#txtmoney").val()
                };

                $.post("userajax/appmanagertableOP.aspx?" + new Date().toTimeString(), para, function (data) {
                    if (data == "999") {
                        alerttip("登录失效!请重新登录");
                        return;
                    }
                    if (data == "1") {
                        alerttip("分配成功");
                        return;
                    }
                });

            });

        })//dom end
        //getone
        function getone(id) {
            appmanagertableID = id;
            $("#divadd").show();
            $("#divlist").hide();
            $.post("userajax/appmanagertableOP.aspx?" + new Date().toTimeString(), { "type": "getone", "id": id }, function (data) {
                var obj = $.parseJSON(data);
                for (var s = 0; s < myidarray.length; s++) {
                    $("input[myid=‘" + myidarray[s] + "‘]").val(obj[0][myidarray[s]]);
                }
                $("#imgicon").attr("src", "userajax/" + $("#txticonpath").val());
            });
        }
         //获取10行数据
        function getlist() {
            //$("#tbodydatalist").html("");
            $.post("userajax/appmanagertableOP.aspx?" + new Date().toTimeString(), { "type": "getlist", "pagesize": pagesize, "endtime": endtime }, function (data) {
                if (data == "nodata") {
                    alerttip("无数据、您可以新增数据!");
                    $("#btnmore").hide();
                }
                var obj = $.parseJSON(data);

                if (obj.length < pagesize) { $("#btnmore").hide(); }

                if (endtime == "")
                    $("#tbodydatalist").html("");

                for (var i = 0; i < obj.length; i++) {
                    $("#tbodydatalist").append("<tr id=‘tr" + obj[i].ID + "‘><td class=‘center‘>" + obj[i].appname.replace(" 0:00:00", "") + "</td><td class=‘center‘>" + obj[i].appsrc.replace(" 0:00:00", "") + "</td><td class=‘center‘>" + "<img style=‘width:32px; height:32px‘ id=‘imgicon‘ src=‘userajax/" + obj[i].appicopath.replace(" 0:00:00", "") + "‘ alt=‘桌面显示ICON图标‘ />" + "</td><td class=‘center‘><a class=‘btn btn-success‘ onclick=domains(‘view‘,‘" + obj[i].ID + "‘)><i class=‘icon-zoom-in icon-white‘></i>修改</a>&nbsp;<a class=‘btn btn-info‘ onclick=domains(‘edit‘,‘" + obj[i].ID + "‘)><i class=‘icon-edit icon-white‘></i>分配</a>&nbsp;<a class=‘btn btn-danger‘ onclick=domains(‘delete‘,‘" + obj[i].ID + "‘)><i class=‘icon-trash icon-white‘></i> 删除</a></td></tr>");
                    if (i == (obj.length - 1)) {
                        endtime = obj[i].CreatTime;
                    }
                }
            })
        }
        //domain
        function domains(type, id) {
            if (type == "delete") {
                if (confirm("确定删除吗?") == false)
                    return;
                $.post("userajax/appmanagertableOP.aspx?" + new Date().toTimeString(), { "type": "delete", "id": id, "userid": userid }, function (data) {
                    if (data == "0") {
                        error("您没有权限删除此条数据");
                        return;
                    }
                    else if (data == "1") {
                        $("#tr" + id).remove();
                        success("删除成功!");
                    }
                });
            }
            //编辑
            else if (type == "view") {
                SLarray = [];
                getone(id);
            }
            //分配
            else if (type == "edit") {
                nowappid = id;
                $("#myModalA").modal("show");
                GetUsingUserListData(id);
            }
        }

        function GetUsingUserListData(id) {
            $("#divchecklist").html("");
            //先查询使用中的
            $.post("userajax/appmanagertableOP.aspx?" + new Date().toTimeString(), { "type": "GetUsingUserListData", "appid": id, "userid": userid }, function (data) {
                if (data == "999") {
                    alerttip("登录失效!请重新登录");
                    return;
                }
                var obj = $.parseJSON(data);
                if (obj != null) {
                    for (var i = 0; i < obj.length; i++) {
                        $("#divchecklist").append("<p><input  checked=‘checked‘  type=‘checkbox‘ myname=‘" + obj[i].username + "‘ name=‘checkboxA‘ id=‘" + obj[i].userid + "‘ />" + obj[i].username + "</p>");
                    }
                }
            });

            //未使用的用户
            $.post("userajax/appmanagertableOP.aspx?" + new Date().toTimeString(), { "type": "GetUsingUserListData0", "appid": id, "userid": userid }, function (data) {
                if (data == "999") {
                    alerttip("登录失效!请重新登录");
                    return;
                }
                var obj = $.parseJSON(data);
                if (obj != null) {
                    for (var i = 0; i < obj.length; i++) {
                        $("#divchecklist").append("<p><input type=‘checkbox‘  myname=‘" + obj[i].username + "‘ name=‘checkboxA‘ id=‘" + obj[i].userid + "‘ />" + obj[i].username + "</p>");
                    }
                    obj = null;
                }
            });

            //未使用的用户
            $.post("userajax/appmanagertableOP.aspx?" + new Date().toTimeString(), { "type": "getappidinfo", "appid": id, "userid": userid }, function (data) {
                if (data == "999") {
                    alerttip("登录失效!请重新登录");
                    return;
                }
                var obj = $.parseJSON(data);
                if (obj != null) {
                    $("#txtbegintime").val(obj[0].usebegintime.replace(" 0:00:00", ""));
                    $("#txtendtime").val(obj[0].useendtime.replace(" 0:00:00", ""));
                    $("#txttrycount").val(obj[0].trycounts);
                    $("#txtmoney").val(obj[0].appcount);
                    obj = null;
                }
            });
        }

        //判断是否为第二次点击
        function SLexists(myenumid) {
            for (var i = 0; i < SLarray.length; i++) {
                if (SLarray[i] == myenumid)
                    return true;
            }
            return false;
        }
        /////----------------------common JS-------------------------------------
        //错误
        var timeoutlength = 3000;
        function error(name) {
            $.noty({ "text": name + "</br>" + new Date().toTimeString(), "layout": "topRight", "type": "error", "timeout": timeoutlength });
            return;
            asyncbox.tips(name, ‘error‘, tiptime);
        }
        //成功
        function success(name) {
            $.noty({ "text": name + "</br>" + new Date().toTimeString(), "layout": "topRight", "type": "success", "timeout": timeoutlength });
            return;
            asyncbox.tips(name, ‘success‘, tiptime);
        }
        //消息
        function alerttip(name) {
            $.noty({ "text": name + "</br>" + new Date().toTimeString(), "layout": "topRight", "type": "success", "timeout": timeoutlength });  //aler
            return;
            asyncbox.tips(name, ‘alert‘, tiptime);
        }
        //等待
        function waittips() {
            asyncbox.tips("请稍后...!", ‘wait‘, tiptime * 3);
        }

底层:C#

using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using DBS;

namespace MyDAL
{
    public class usertableOP
    {
        //实例化
        DBHelper DB = new DBHelper();
        //新增
        public string AddDB(string ID, string userid, string userfileid, string username, string userpass, string usergroupid, string isallowlogin, string userleftmoney, string usercount, string userheadlinkname, string userlastlogintime, string guid, string usertype, string usernamenike)
        {
            string sql = string.Format("insert into usertable (ID,userid,userfileid,username,userpass,usergroupid,isallowlogin,userleftmoney,usercount,userheadlinkname,userlastlogintime,usertype,usernamenike) values(@ID,@userid,@userfileid,@username,@userpass,@usergroupid,@isallowlogin,@userleftmoney,@usercount,@userheadlinkname,@userlastlogintime,@usertype,@usernamenike)");
            SqlParameter[] sqlpara = new SqlParameter[]
                        {
                      new SqlParameter("@ID",ID),
                      new SqlParameter("@userid",userid),
                      new SqlParameter("@userfileid",userfileid),
                      new SqlParameter("@username",username),
                      new SqlParameter("@userpass",userpass),
                      new SqlParameter("@usergroupid",usergroupid),
                      new SqlParameter("@isallowlogin",isallowlogin),
                      new SqlParameter("@userleftmoney",userleftmoney),
                      new SqlParameter("@usercount",usercount),
                      new SqlParameter("@userheadlinkname",userheadlinkname),
                      new SqlParameter("@userlastlogintime",DateTime.Now.ToString()),
                      new SqlParameter("@usertype",usertype),
                      new SqlParameter("@usernamenike",usernamenike)
                        };
            DB.ExecuteNonQuery(sql, sqlpara);
            return guid;
        }
        //修改
        public string UpdateDB(string username, string userpass, string usergroupid, string isallowlogin, string userleftmoney, string usercount, string userheadlinkname, string guid, string usertype,string usernamenike)
        {
            string sql = string.Format("update  usertable set [email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected]  where [email protected]");
            SqlParameter[] para = new SqlParameter[]
                          {
                    new SqlParameter("@username",username),
                    new SqlParameter("@userpass",userpass),
                    new SqlParameter("@usergroupid",usergroupid),
                    new SqlParameter("@isallowlogin",isallowlogin),
                    new SqlParameter("@userleftmoney",userleftmoney),
                    new SqlParameter("@usercount",usercount),
                    new SqlParameter("@userheadlinkname",userheadlinkname),
                    new SqlParameter("@usertype",usertype),
                    new SqlParameter("@usernamenike",usernamenike),
                    new SqlParameter("@guid", guid)
                           };
            return DB.ExecuteNonQuery(sql, para).ToString();
        }
        //删除
        public string DeleteDB(string guid)
        {
            string sql = string.Format("delete from usertable where [email protected]");
            SqlParameter[] para = new SqlParameter[] { new SqlParameter("@ID", guid) };
            return DB.ExecuteNonQuery(sql, para).ToString();
        }
        //获取一条ID值为guid的数据
        public DataTable GetOneDataByGuid(string guid)
        {
            string sql = string.Format("select usernamenike,usertype, ID, userid, userfileid, username, userpass, usergroupid, isallowlogin, userleftmoney, usercount, userheadlinkname, userlastlogintime, CreatTime from usertable where [email protected]");
            SqlParameter[] para = new SqlParameter[] { new SqlParameter("@guid", guid) };
            return DB.GetDataTable(sql, para);
        }
        //获取用户定义数量的数据列表
        public DataTable GetTopNumberData(int pagesize, string endtime)
        {
            string sql = string.Format("select top {0} userid,groupname,userfileid,username,userpass,usergroupid,isallowlogin,userleftmoney,usercount,userheadlinkname,userlastlogintime, usertable.ID as ID,usertable.CreatTime as CreatTime from usertable,grouptable  where  grouptable.groupid=usertable.usergroupid  and usertable.CreatTime<‘{1}‘ order by usertable.CreatTime DESC", pagesize, endtime);
            return DB.GetDataTable(sql, null);
        }
        /// <summary>
        /// 查询个人桌面上的app应用数据【ok】
        /// </summary>
        /// <param name="userid">用户id</param>
        /// <returns></returns>
        public DataTable GetList(string userid)
        {
            string sql = string.Format("select ID,appname,appsrc,appicopath  from appmanagertable,appmanageruser  where  appmanagertable.ID=appmanageruser.appid and appmanageruser.userid=‘{0}‘ and (usebegintime<getdate() and useendtime>getdate() or isbought=1  or  trycounts>0) ", userid);
            return DB.GetDataTable(sql, null);
        }

        /// <summary>
        /// 获取用户个人信息
        /// </summary>
        /// <param name="userid">用户id</param>
        /// <returns></returns>
        public DataTable GetUserInfo(string userid)
        {
            string sql = string.Format("select * from usertable where userid=‘{0}‘ ", userid);
            return DB.GetDataTable(sql, null);
        }

        /// <summary>
        /// 获取消息
        /// </summary>
        /// <param name="userid"></param>
        /// <returns></returns>
        public DataTable GetNews(string userid, int isread)
        {
            string sql = string.Format("select ID,fromname,content from UserNews where touserid=‘{0}‘ and isread={1} ", userid, isread);

            if (isread != 1 && isread != 0)
                sql = string.Format("select ID,fromname,content  from UserNews where touserid=‘{0}‘ ");

            return DB.GetDataTable(sql);
        }

        /// <summary>
        /// 查询是否存在
        /// </summary>
        /// <param name="name"></param>
        /// <returns></returns>
        public string Getexists(string name)
        {
            string sql = string.Format("select count(0) from usertable where username=‘{0}‘", name);
            return DB.ExecuteSingleString(sql);
        }
    }
}

相关下载:

视频+平台框架源码+生成的demo: 给我你的邮箱、发给你邮件

在线视频:http://v.youku.com/v_show/id_XNzU4ODQ2MTQ4.html                       (20M左右)

使用:

本人开发的ICG有2个端:server+client 都是BS结构的

ICG-server:就是设计界面、包括生产所有代码、

ICG-client:只需要把server产生的文件放到相对于的位置、然后根据在client端中的位置添加到APP管理中、最后就是分配权限(当前只支持“查看权限”)、后面将会考虑是否做数据修改权限。

本系统生成的代码适合用于类似OA和一个数据管理的系统、不是所有的想法都能通过它实现、www.10086bank.com 平台框架由部分是代码生成器生成的、后面只是做了些修改

最后下载:

需要平台控制权限整个源码的请给我留言、请留下你的邮箱地址、我会尽快给你邮件、、、收到邮件请在下面回复一下、非常谢谢!20140820                        QQ:502048227

ICG-智能代码生成器.(权限控制.融入平台).(表单引擎).(最低兼容IE8),布布扣,bubuko.com

时间: 2024-10-09 22:42:54

ICG-智能代码生成器.(权限控制.融入平台).(表单引擎).(最低兼容IE8)的相关文章

开发指南专题九:JEECG微云快速开发平台-表单校验组件ValidForm

开发指南专题九:JEECG微云快速开发平台表单校验组件ValidForm 10.表单校验组件ValidForm 10.1使用入门 1.引入css 请查看下载文件中的style.css,把里面Validform必须部分复制到你的css中(文件里这个注释 "/*==========以下部分是Validform必须的===========*/" 之后的部分是必须的).(之前发现有部分网友把整个style.css都引用在了页面里,然后发现样式冲突了) 2.引入js (jquery 1.4.2

开发指南专题九 JEECG微云快速开发平台-表单校验组件ValidForm

开发指南专题九:JEECG微云快速开发平台表单校验组件ValidForm 10.表单校验组件ValidForm 10.1使用入门 1.引入css 请查看下载文件中的style.css,把里面Validform必须部分复制到你的css中(文件里这个注释 "/*==========以下部分是Validform必须的===========*/" 之后的部分是必须的).(之前发现有部分网友把整个style.css都引用在了页面里,然后发现样式冲突了) 2.引入js (jquery 1.4.2

开发指南专题十:JEECG微云快速开发平台--表单校验组件ValidForm

10.4Validform对象[方法支持链式调用] 如示例 var demo=$(".formsub").Validform(),那么demo对象会有以下属性和方法可以调用: tipmsg[object] 如:demo.tipmsg.s="error! no messageinputed."; 通过该对象可以修改除 tit 以外的其他提示文字,这样可以实现同一个页面的不同表单使用不同的提示文字. 具体可修改的提示文字 $.Tipmsg={//默认提示文字; tit:

MyReport.Form表单引擎

MyReport.Form表单引擎,主要提供表单模板的设计以及表单模板的预览填报等功能集合. 支持文本框.选择框.数字框.日期框.图片框.组合框.弹出框等常用控件. 支持表格行的添加,删除,移动等常见操作,输入焦点自动导航. 支持表达式,轻松实现表格统计. 支持常见样式设置,支持条件样式.   在线演示 MyReport.Form表单引擎在线演示 相关资料 MyReport专栏 技术交流 QQ:791663094 版权声明:本文为博主原创文章,未经博主允许不得转载.

Activiti系列: 如何添加自定义表单引擎

这个功能挺有意思的,有了它,就可以不适用html的方式来展示表单了,比如可以用swing对象了 class MyFormEngine implements FormEngine { @override public String getName() { return "myformengine";} @override public Object renderStartForm(StartFormData startForm) { javax.swing.JButton jButton

MyReport有填报功能了!!!MyReport.Form表单引擎

MyReport.Form表单引擎,主要提供表单模板的设计以及表单模板的预览填报等功能集合. 支持文本框.选择框.数字框.日期框.图片框.组合框.弹出框等常用控件. 支持表格行的添加,删除,移动等常见操作,输入焦点自动导航. 支持表达式,轻松实现表格统计. 支持常见样式设置,支持条件样式.   在线演示 MyReport.Form表单引擎在线演示 相关资料 MyReport专栏 联系作者 QQ:695541918 版权声明:本文为博主原创文章,未经博主允许不得转载.

.net web 开发平台- 表单设计器 一(web版)

如今为了适应需求的不断变化,动态表单设计器应运而生.它主要是为了满足界面的不断变化和提高开发速度.比如:一些页面客户可能也无法确定页面的终于布局,控件的位置,在哪种情况下显示或不显示等可能须要随时改动.为了应对这些需求而不去多次改动源码进行公布,就能够在项目中使用动态表单设计器.如今分享一下我做的动态表单设计器的设计思路,共同学习. 想做一个表单设计器,首先要确定是做c/s的还是b/s.我考虑到以后的发展方向是c/s向b/s转化,所以就选择了b/s的方向,并且做b/s比做c/s要简单非常多.在做

Javascript控制回车键进行表单(form)提交(转)

一.采用钩子事件去捕获 键盘事件有3个: keydown,keypress,keyup分别是按下,按着没上抬,上抬键盘 . $(document).keyup(function(event){ if(event.keyCode ==13){ $("#submit").trigger("click"); } }); 推荐:keyup,防止笔记本键盘不小心触摸到. 1.有些文档中有写成这样: $(window).keydown(function(){ ... }) XP

流程引擎表单引擎的常见问题技术交流-关于广州xx公司对驰骋BPM提出

第1章: 先使用.net 再使用java,数据迁移问题?会存在哪些问题. RE: .net 版本的ccflow与java版本的jflow系列版本都是一个数据库结构,一个操作手册,流程模版,表单模版通用,前台代码html,js一致.所以不存在迁移问题. Etc: java 与.net 我们有不同的版本,选择下载复核自己的版本. 下载对应的版本: http://ccflow.org/down.htm 第2章: 集团版授权,子公司 流程定义 用户a 是子公司 业务部门的职工,定义好一支流程后,需该子公