请下拉滚动条。。。

代码生成器、附带客户端代码

个人平台:www.10086bank.com

界面:

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 username=@username,userpass=@userpass,usergroupid=@usergroupid,isallowlogin=@isallowlogin,userleftmoney=@userleftmoney,usercount=@usercount,userheadlinkname=@userheadlinkname,usertype=@usertype,usernamenike=@usernamenike where ID=@guid");
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 ID=@ID");
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 ID=@guid");
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 != && isread != )
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://pan.baidu.com/s/1eQiVqeu

在线视频、不太清晰: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)的更多相关文章

  1. 表单界面的兼容PC手机端解决方案

    就当写一篇随笔吧~上星期还在做加盟模块(兼容微信端),这星期已经加班做快递扫码模块(react+node),所以我感觉只有弹药备足了才能稍微轻松些应对各种需求.实话说在同个部门的大佬面前差距确实大,如 ...

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

    这个功能挺有意思的,有了它,就可以不适用html的方式来展示表单了,比如可以用swing对象了 class MyFormEngine implements FormEngine {     @over ...

  3. MyReport.Form表单引擎

    MyReport.Form表单引擎.主要提供表单模板的设计以及表单模板的预览填报等功能集合. 支持文本框.选择框.数字框.日期框.图片框.组合框.弹出框等经常使用控件. watermark/2/tex ...

  4. 关于广州xx公司对驰骋BPM, 流程引擎表单引擎 常见问题解答

    关于广州xx公司对驰骋BPM, 流程引擎表单引擎 常见问题解答 @驰骋工作流,ccflow周朋 周总早, ccflow 功能很强大,在体验过程中,以下几个问题需沟通下: 先使用.net 再使用java ...

  5. 驰骋BPM系统-表单引擎-流程引擎 2020年大换装

      关键字:驰骋表单引擎,流程引擎,界面升级. 前言概述: 感谢美工与同事们的辛苦工作,ccbpm新年大换装,迎接爱好着,为这阴霾多日的疫情气愤增添一笔光彩. 本次的色系以浅灰色为主,因为ccbpm大 ...

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

    如今为了适应需求的不断变化,动态表单设计器应运而生.它主要是为了满足界面的不断变化和提高开发速度.比如:一些页面客户可能也无法确定页面的终于布局,控件的位置,在哪种情况下显示或不显示等可能须要随时改动 ...

  7. 用js怎么控制submit提交表单

    需求: 1. 要在点击submit按钮的时候,弹出一个询问框,"你确定要修改?".如果按了"确定"那么就提交表单,否则就保留在原页面,既不提交不跳转. 2. 要 ...

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

    一.采用钩子事件去捕获 键盘事件有3个: keydown,keypress,keyup分别是按下,按着没上抬,上抬键盘 . $(document).keyup(function(event){ if( ...

  9. Java工作流引擎表单引擎之JS表单字段输入脚本验证

    关键字: 表单设计器, 字段验证. workflow,ccform, ccBPM. 工作流快速开发平台  工作流流设计  业务流程管理   asp.net 开源工作流bpm工作流系统  java工作流 ...

随机推荐

  1. Ubuntu 如何将桌面上的Home中的文件夹除去

    安装Ubuntu后, 由于无法用Terminal(终端)进入带中文的文件夹,会引起很多操作不便.很多朋友想到了将它们都改成中文,但是当再次开机重启使却会发现,原本光洁的桌面现在竟然出现了一堆文件夹?? ...

  2. POJ-3067 Japan---树状数组逆序对变形

    题目链接: https://vjudge.net/problem/POJ-3067 题目大意: 日本岛东海岸与西海岸分别有N和M个城市,现在修高速公路连接东西海岸的城市,求交点个数. 解题思路: 记每 ...

  3. Android(java)学习笔记62:android.intent.action.MAIN 与 android.intent.category.LAUNCHER 理解

    1. 先看看网路上的说法: android.intent.action.MAIN 决定应用程序最先启动的 Activity android.intent.category.LAUNCHER 决定应用程 ...

  4. 两次DFS,POJ(1481)

    题目链接:http://poj.org/problem?id=1481 两次DFS,这里的思路是,没找到*,就说明,有一个骰子,因此,每搜索到一个*,深搜4个方向,并且变为'.',要是搜到'X',就是 ...

  5. SQL Server 2008 R2 附加数据库 “尝试打开或创建物理文件 拒绝访问”的解决办法

    其实是来自一篇SQL Server 2005同样错误的帖子,不过试了在SQL Server 2008 R2下面也有效,记录一下. 解决方法: 在所有程序—Microsoft SQL Server 20 ...

  6. idea中使用maven方式使用jetty+cmd中使用Jetty运行(maven)Web项目

    进度条件:必须是web项目 一.使用idea 导入项目或者打开(如果有可以忽略) 导入项目 . 全部next 导入成功,进行打开pom文件加入插件 <plugins> <!-- je ...

  7. IBM区块链总经理谈区块链

    IBM区块链总经理谈区块链:3.4年前IBM的区块链人员就达到了1500人  Captain Hiro 2018-03-20 16:22 发布在 区块链 3 18349 CCN的记者Eric Eiss ...

  8. 第5章 什么是寄存器—零死角玩转STM32-F429系列

    第5章     什么是寄存器 集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/firege 本章参考资料 ...

  9. python的模块

    前言 在开发过程中,为了编写可维护的代码,我们会将很多函数进行分组,放到不同的文件中去.这样每个包的代码相对来说就会减少,也利于后期的维护和重复的使用.很多编程语言都采用这样的组织代码方式,在pyth ...

  10. typeid操作符

    typeid() operator返回type_info,返回值不可拷贝.不可赋值 // Illustrates the typeid operator. #include <iostream& ...