protected void eform_onChange(object sender, eFormTableEventArgs e) { switch (e.eventType) { case eFormTableEventType.Inserting: litScript.Text += "添加前事件已调用<br>"; break; case eFormTableEventType.Inserted: litScript.Text += "添加成功,ID为:" + e.ID + "<br>5秒后返回<br><script>setTimeout(function(){document.location='" + eform.FromURL + "';},5000);</script>"; break; case eFormTableEventType.Updating: litScript.Text += "更新前事件已调用,即将修改数据的ID为:" + e.ID + "<br>"; break; case eFormTableEventType.Updated: litScript.Text += "修改成功,ID为:" + e.ID + "<br>5秒后返回<br><script>setTimeout(function(){document.location='" + eform.FromURL + "';},5000);</script>"; break; case eFormTableEventType.Deleting: litScript.Text += "删除前事件已调用,即将删除数据的ID为:" + e.ID + "<br>"; break; case eFormTableEventType.Deleted: litScript.Text += "删除成功,ID为:" + e.ID + "<br>5秒后返回<br><script>setTimeout(function(){document.location='" + eform.FromURL + "';},5000);</script>"; break; } }
public void edt_onChange(object sender, eFormTableEventArgs e) { if (e.eventType == eFormTableEventType.Inserted || e.eventType == eFormTableEventType.Updated || e.eventType == eFormTableEventType.Deleted) { eBase.clearDataCache("a_eke_sysAllowDomain"); } }
public void edt_onChange(object sender, eFormTableEventArgs e) { if (e.eventType == eFormTableEventType.Inserting) { if (user["ServiceID"].Length > 0) { edt.Fields.Add("ServiceID", user["ServiceID"]); } } }
public void edt_onChange(object sender, eFormTableEventArgs e) { if (e.eventType == eFormTableEventType.Inserting) { } if (e.eventType == eFormTableEventType.Deleted) { //string sql = "update a_eke_sysApplicationItems set delTag=1 where ApplicationID='" + e.ID + "'"; //eOleDB.Execute(sql); } }
public void edt_onChange(object sender, eFormTableEventArgs e) { if (e.eventType == eFormTableEventType.Inserting) { if (user["ServiceID"].Length > 0) { edt.Fields.Add("ServiceID", user["ServiceID"]); } } string parentID = e.ID; if (e.eventType == eFormTableEventType.Deleted) { sql = "update a_eke_sysPowers set delTag=1 where UserId='" + parentID + "' and ApplicationID is not null"; eOleDB.Execute(sql); } if (e.eventType == eFormTableEventType.Updated || e.eventType == eFormTableEventType.Inserted) { string Roles = edt.Fields["RoleID"].ToString(); DataTable rolePower = eBase.getUserPowerDefault(Roles, "", ""); //eBase.Writeln("rolePower:角色的权限"); //eBase.PrintDataTable(rolePower); string name = ""; string value = ""; sql = "select ApplicationID,MC from a_eke_sysApplications where delTag=0 order by px,addTime"; sql = "select ModelID,MC,Power from a_eke_sysModels where subModel=0 and delTag=0 and Type=1 order by px,addTime"; DataTable tb = eOleDB.getDataTable(sql); //eBase.Writeln("tb:应用下所有模块"); //eBase.PrintDataTable(tb); //continue; foreach (DataRow _dr in tb.Rows) //应用下所有模块 { #region 模块 DataRow row = rolePower.NewRow(); //row["ApplicationID"] = _dr["ApplicationID"].ToString(); row["ModelID"] = _dr["ModelID"].ToString(); for (int i = 0; i < row.Table.Columns.Count; i++) { if (row.Table.Columns[i].ColumnName.ToLower() != "modelid") { row[row.Table.Columns[i].ColumnName] = "false"; } } DataRow[] rows = rolePower.Select("ModelID='" + _dr["ModelID"].ToString() + "'"); if (rows.Length > 0) { row = rows[0]; } //eBase.Writeln("row"); //eBase.PrintDataRow(row); DataTable PowerItems = new eJson(_dr["Power"].ToString()).toRows(); //eBase.Writeln("PowerItems"); //eBase.PrintDataTable(PowerItems); #region 角色的权限 eJson rolePowerJson = new eJson(); rolePowerJson.Convert = true; #region 基本权限 foreach (DataRow dr1 in PowerItems.Rows) { if (row.Table.Columns.Contains(dr1["value"].ToString())) { value = row[dr1["value"].ToString()].ToString(); eJson _power = new eJson(); _power.Add(dr1["value"].ToString(), value); rolePowerJson.Add(_power); } } #endregion #region 审批权限 DataTable PowerCheckUpItems = eOleDB.getDataTable("SELECT CheckMC as text,LOWER(CheckCode) as value FROM a_eke_sysCheckUps where ModelID='" + _dr["ModelID"].ToString() + "' and delTag=0 and LEN(CheckMC)>0 and LEN(CheckCode)>0 order by px,addTime"); foreach (DataRow dr1 in PowerCheckUpItems.Rows) { value = row[dr1["value"].ToString()].ToString(); eJson _power = new eJson(); _power.Add(dr1["value"].ToString(), value); rolePowerJson.Add(_power); } #endregion //eBase.Writeln(rolePowerJson.ToString()); #endregion string canList = "0"; string cond = ""; #region 用户自定义权限 eJson selPower = new eJson(); selPower.Convert = true; #region 基本权限 foreach (DataRow dr1 in PowerItems.Rows) { name = "model_" + dr1["value"].ToString() + "_" + _dr["ModelID"].ToString().Replace("-", ""); value = eParameters.Form(name); if (value.Length == 0) { value = "false"; } eJson _power = new eJson(); _power.Add(dr1["value"].ToString(), value); selPower.Add(_power); if (dr1["value"].ToString().ToLower() == "list") { canList = value; } // eBase.Writeln(dr1["value"].ToString() + "::" + value); } #endregion #region 审批权限 foreach (DataRow dr1 in PowerCheckUpItems.Rows) { name = "model_" + dr1["value"].ToString() + "_" + _dr["ModelID"].ToString().Replace("-", ""); value = eParameters.Form(name); if (value.Length == 0) { value = "false"; } eJson _power = new eJson(); _power.Add(dr1["value"].ToString(), value); selPower.Add(_power); } #endregion // eBase.Writeln(selPower.ToString()); #endregion name = "model_cond_" + _dr["ModelID"].ToString().Replace("-", ""); cond = eParameters.Form(name); if (selPower.ToString() == rolePowerJson.ToString() && cond.Length == 0) //与角色的相同 { sql = " delete from a_eke_sysPowers where RoleID is Null and ApplicationID is Null and ModelID='" + _dr["ModelID"].ToString() + "' and UserID='" + parentID + "'"; eOleDB.Execute(sql); //eBase.Writeln( _dr["ModelID"].ToString() + "::" + ":::" + cond.Length.ToString()); } else { sql = "if exists (select * from a_eke_sysPowers Where RoleID is Null and ApplicationID is Null and ModelID='" + _dr["ModelID"].ToString() + "' and UserID='" + parentID + "')"; sql += " update a_eke_sysPowers set delTag=0,canList='" + canList + "',Condition='" + cond + "',power='" + selPower.ToString() + "' where RoleID is Null and ApplicationID is Null and ModelID='" + _dr["ModelID"].ToString() + "' and UserID='" + parentID + "'"; sql += " else "; sql += "insert into a_eke_sysPowers (ApplicationID,ModelID,UserID,canList,Condition,Power) "; sql += " values (Null,'" + _dr["ModelID"].ToString() + "','" + parentID + "','" + canList + "','" + cond + "','" + selPower.ToString() + "')"; eOleDB.Execute(sql); } // eBase.Writeln(_dr["ModelID"].ToString() + "::" + value); #endregion } eBase.clearDataCache("a_eke_sysPowers"); //eBase.End(); } }
public void edt_onChange(object sender, eFormTableEventArgs e) { if (e.eventType == eFormTableEventType.Inserting) { if (user["ServiceID"].Length > 0) { edt.Fields.Add("ServiceID", user["ServiceID"]); } } string type = eParameters.Form("f9"); if (type == "2") { return; } string formtable = eParameters.Form("formtable"); string tablename = eParameters.Form("f2"); string sql = ""; if (e.eventType == eFormTableEventType.Inserted || e.eventType == eFormTableEventType.Updated) { sql = "update a set a.submodel=(case when isnull(b.type,2)=1 then 1 else 0 end) "; sql += " FROM a_eke_sysModels a "; sql += " left join a_eke_sysModels b on a.ParentID=b.ModelID "; sql += " where a.ModelID='" + e.ID + "'"; eOleDB.Execute(sql); } #region 添加OK if (e.eventType == eFormTableEventType.Inserted) { #region 新建表 if (formtable.Length == 0) { sql = "Create table [" + tablename + "] ("; //sql += "[ID] [int] IDENTITY (1, 1) NOT NULL,"; sql += "[ID] [uniqueidentifier] NOT NULL Default (newid()),"; sql += "[addTime] [datetime] NULL default getdate(),"; sql += "[addUser] nvarchar(50) NULL,"; sql += "[editTime] [datetime] NULL,"; sql += "[editUser] nvarchar(50) NULL ,"; sql += "[delTime] [datetime] NULL,"; sql += "[delUser] nvarchar(50) NULL,"; sql += "[delTag] [bit] NULL default 0,"; sql += "PRIMARY KEY(ID)"; sql += ") ON [PRIMARY]"; eOleDB.Execute(sql); eOleDB.Execute("EXEC sp_addextendedproperty N'MS_Description',N'" + eParameters.Form("f1") + "','user','dbo','table','" + tablename + "',NULL,NULL"); eOleDB.Execute("EXEC sp_addextendedproperty N'MS_Description',N'编号','user','dbo','table','" + tablename + "','column','ID'"); eOleDB.Execute("EXEC sp_addextendedproperty N'MS_Description',N'添加时间','user','dbo','table','" + tablename + "','column','addTime'"); eOleDB.Execute("EXEC sp_addextendedproperty N'MS_Description',N'添加用户','user','dbo','table','" + tablename + "','column','addUser'"); eOleDB.Execute("EXEC sp_addextendedproperty N'MS_Description',N'修改时间','user','dbo','table','" + tablename + "','column','editTime'"); eOleDB.Execute("EXEC sp_addextendedproperty N'MS_Description',N'修改用户','user','dbo','table','" + tablename + "','column','editUser'"); eOleDB.Execute("EXEC sp_addextendedproperty N'MS_Description',N'删除时间','user','dbo','table','" + tablename + "','column','delTime'"); eOleDB.Execute("EXEC sp_addextendedproperty N'MS_Description',N'删除用户','user','dbo','table','" + tablename + "','column','delUser'"); eOleDB.Execute("EXEC sp_addextendedproperty N'MS_Description',N'删除标记','user','dbo','table','" + tablename + "','column','delTag'"); } #endregion if (f5.Value.ToString() == "True") //自动模块 { #region 添加模块 string ObjectID = eOleDB.getValue("SELECT id from sysobjects where name='" + tablename + "' and xtype='U'"); #region 物理数据列 sql = "SELECT a.name as code,b.[name] as type,a.length,d.text as [default],e.value as MC,a.colid as PX from syscolumns a"; sql += " inner join systypes b on a.xtype=b.xusertype "; sql += " left join sysobjects c on a.cdefault=c.id and a.cdefault>0"; sql += " left join syscomments d on c.id=d.id"; sql += " left join sys.extended_properties e on e.major_id=a.id and e.minor_id=a.colid"; sql += " where a.id='" + ObjectID + "'"; sql += " order by a.colorder"; DataTable tb = eOleDB.getDataTable(sql); if (tb.Rows.Count == 0) { sql = "SELECT a.name as code,b.[name] as type,a.length,d.text as [default],e.value as MC,a.colid as PX from syscolumns a"; sql += " inner join systypes b on a.xtype=b.xusertype "; sql += " left join sysobjects c on a.cdefault=c.id and a.cdefault>0"; sql += " left join syscomments d on c.id=d.id"; sql += " left join sysproperties e on a.id=e.id and a.colid=e.smallid"; sql += " where a.id='" + ObjectID + "'"; sql += " order by a.colorder"; tb = eOleDB.getDataTable(sql); } #endregion //eBase.PrintDataTable(tb); //eBase.End(); string zj = eOleDB.getPrimaryKey(tablename); string syscolumns = eConfig.getAllSysColumns() + "," + zj.ToLower() + ","; int Num = 1; //eBase.Writeln(zj); //eBase.Writeln(syscolumns); //eBase.Writeln(e.ID + "OK"); ///eBase.End(); #region 序号列 string formName = "M" + e.ID.Substring(0, 2) + "_" + "F" + Num.ToString(); sql = "insert into a_eke_sysModelItems (frmName,frmID,Num,ListOrder,ModelID,MC,ListHTML,Custom,showList,mShowList,ListWidth,mListWidth,Move,Size) "; sql += " values ('" + formName + "','" + formName + "','" + Num.ToString() + "','" + Num.ToString() + "','" + e.ID + "','序号','{row:index}','1','" + (f7.Value.ToString().Length > 0 ? "0" : "1") + "','1','60','60','1','1')"; eOleDB.Execute(sql); #endregion Num++; #region 其他列 // eBase.Writeln(tb.Rows.Count.ToString()); foreach (DataRow dr in tb.Rows) { string sys = (syscolumns.IndexOf("," + dr["code"].ToString().ToLower() + ",") > -1 ? "1" : "0"); string showedit = (sys == "0" ? "1" : "0"); string showlist = (sys == "0" ? "1" : "0"); formName = "M" + e.ID.Substring(0, 2) + "_" + "F" + Num.ToString(); eTable etb = new eTable("a_eke_sysModelItems"); etb.Fields.Add("ModelID", e.ID); etb.Fields.Add("Num", Num.ToString()); etb.Fields.Add("MC", dr["mc"].ToString()); etb.Fields.Add("Code", dr["code"].ToString()); etb.Fields.Add("Type", dr["Type"].ToString()); etb.Fields.Add("Length", dr["Length"].ToString()); etb.Fields.Add("Sys", sys); etb.Fields.Add("PX", dr["PX"].ToString()); etb.Fields.Add("primaryKey", (zj.ToLower() == dr["code"].ToString().ToLower() ? "1" : "0")); if (dr["code"].ToString().ToLower() == "addtime") { showlist = "1"; } etb.Fields.Add("ShowList", showlist); etb.Fields.Add("ShowView", showedit); etb.Fields.Add("ShowAdd", showedit); etb.Fields.Add("ShowEdit", showedit); if (f7.Value.ToString().Length == 0) //主模块 { etb.Fields.Add("OrderBy", showlist); etb.Fields.Add("Move", showlist); etb.Fields.Add("Size", showlist); } if (dr["type"].ToString().ToLower().IndexOf("char") > -1) { etb.Fields.Add("maxLength", dr["length"].ToString()); etb.Fields.Add("Width", "300"); } if (dr["type"].ToString().ToLower().IndexOf("date") > -1) { etb.Fields.Add("formatstring", (dr["type"].ToString().ToLower().IndexOf("datetime") > -1 ? "{0:yyyy-MM-dd HH:mm:ss}" : "{0:yyyy-MM-dd}")); } if (dr["type"].ToString().ToLower() == "bit") { if (sys == "0") { etb.Fields.Add("defaultvalue", "True"); } etb.Fields.Add("ControlType", "radio"); etb.Fields.Add("addControlType", "radio"); etb.Fields.Add("editControlType", "radio"); //etb.Fields.Add("ReplaceString", "[{text:是,value:True},{text:否,value:False}]"); etb.Fields.Add("Options", "[{text:是,value:True},{text:否,value:False}]"); } if (dr["type"].ToString().ToLower() == "text") { etb.Fields.Add("ControlType", "html"); etb.Fields.Add("addControlType", "html"); etb.Fields.Add("editControlType", "html"); } if (dr["code"].ToString().ToLower() == "show") { sql = "insert into a_eke_sysActions (ModelID,MC,Action,SQL) values ('" + e.ID + "','是否显示','show','update " + tablename + " set show=''{querystring:value}'' where " + zj + "=''{querystring:id}''')"; eOleDB.Execute(sql); etb.Fields.Add("ListHTML", "<a href=\"?act=show&modelid={querystring:modelid}&id={data:id}&value={data:showvalue}\"><img src=\"{base:virtualpath}{data:ShowPIC}\" border=\"0\"></a>"); eOleDB.Execute("update a_eke_sysModels set ListFields='CASE WHEN Show=1 THEN ''images/sw_true.gif'' ELSE ''images/sw_false.gif'' END as ShowPIC,CASE WHEN Show=1 THEN ''0'' ELSE ''1'' END as ShowValue' where ModelID='" + e.ID + "'"); //,CASE WHEN ZD=1 THEN ''<img src=\"images/sw_true.gif\" border=\"0\">'' ELSE ''<img src=\"images/sw_false.gif\" border=\"0\">'' END as ZDPIC,CASE WHEN ZD=1 THEN ''0'' ELSE ''1'' END as ZDValue //eOleDB.Execute("insert into a_eke_sysModelConditions (ModelID,MC,ControlType) values ('" + e.ID + "','是否显示','radio')"); //string condid = eOleDB.ID; //eOleDB.Execute("insert into a_eke_sysModelConditionItems (ModelID,ModelConditionID,MC,ConditionValue) values ('" + e.ID + "','" + condid + "','是','show=1')"); //eOleDB.Execute("insert into a_eke_sysModelConditionItems (ModelID,ModelConditionID,MC,ConditionValue) values ('" + e.ID + "','" + condid + "','否','show=0')"); string MaxConds = eOleDB.getValue("select count(*)+1 from a_eke_sysModelConditions where ModelID='" + e.ID + "'"); eOleDB.Execute("insert into a_eke_sysModelConditions (ModelID,MC,ControlType,Code,Operator,Options,Num) values ('" + e.ID + "','是否显示','radio','show','=','[{text:是,value:1},{text:否,value:0}]','" + MaxConds + "')"); eOleDB.Execute("update a_eke_sysModels set MaxConds='" + MaxConds + "' where ModelID='" + e.ID + "'"); } if (dr["code"].ToString().ToLower() == "deltag") { //etb.Fields.Add("Condition", "="); //etb.Fields.Add("ConditionValue", "0"); } if (dr["code"].ToString().ToLower() == "addtime") { //etb.Fields.Add("defaultOrder", "2"); string MaxConds = eOleDB.getValue("select count(*)+1 from a_eke_sysModelConditions where ModelID='" + e.ID + "'"); eOleDB.Execute("insert into a_eke_sysModelConditions (ModelID,MC,ControlType,Code,Operator,DateFormat,Width,Num) values ('" + e.ID + "','添加时间','date','addTime','>=','yyyy-MM-dd','150','" + MaxConds + "')"); eOleDB.Execute("insert into a_eke_sysModelConditions (ModelID,MC,ControlType,Code,Operator,DateFormat,Width,Num) values ('" + e.ID + "','添加时间','date','addTime','<=','yyyy-MM-dd','150'," + MaxConds + " + 1)"); eOleDB.Execute("update a_eke_sysModels set MaxConds=" + MaxConds + "+1 where ModelID='" + e.ID + "'"); } etb.Fields.Add("frmName", formName); etb.Fields.Add("frmID", formName); etb.Fields.Add("notnull", showedit); etb.Fields.Add("ListOrder", Num.ToString()); etb.Add(); Num++; } #endregion #region 操作列 formName = "M" + e.ID.Substring(0, 2) + "_" + "F" + Num.ToString(); sql = "insert into a_eke_sysModelItems (frmName,frmID,Num,ListOrder,ModelID,MC,ListHTML,Custom,showList,mShowList,ListWidth,mListWidth,Move,Size) "; sql += " values ('" + formName + "','" + formName + "','" + Num.ToString() + "','" + Num.ToString() + "','" + e.ID + "','操作','<a href=\"{base:url}act=view&id={data:ID}\">查看</a><a href=\"{base:url}act=edit&id={data:ID}\">修改</a><a href=\"{base:url}act=del&id={data:ID}\" onclick=\"javascript:return confirm(''确认要删除吗?'');\">删除</a>','1','" + (f7.Value.ToString().Length > 0 ? "0" : "1") + "','1','130','130','1','1')"; eOleDB.Execute(sql); #endregion eOleDB.Execute("update a_eke_sysModels set MaxItems='" + Num.ToString() + "' where ModelID='" + e.ID + "'"); if (f7.Value.ToString().Length == 0) //主模块 { eOleDB.Execute("update a_eke_sysModels set DefaultCondition='delTag=0',DefaultOrderby='addTime Desc' where ModelID='" + e.ID + "'"); } else { eOleDB.Execute("update a_eke_sysModels set DefaultCondition='delTag=0',DefaultOrderby='addTime' where ModelID='" + e.ID + "'"); } eOleDB.Execute("update a_eke_sysModels set Power='[{text:列表,value:list},{text:详细,value:view},{text:添加,value:add},{text:编辑,value:edit},{text:删除,value:del},{text:复制,value:copy},{text:打印,value:print},{text:导出,value:export}]' where ModelID='" + e.ID + "'"); #endregion } else { eOleDB.Execute("update a_eke_sysModels set Power='[{text:列表,value:list},{text:详细,value:view},{text:添加,value:add},{text:编辑,value:edit},{text:删除,value:del},{text:复制,value:copy},{text:打印,value:print},{text:导出,value:export}]' where ModelID='" + e.ID + "'"); } } #endregion #region 修改 if (e.eventType == eFormTableEventType.Updating) { string oldName = eOleDB.getValue("select code from a_eke_sysModels where ModelID='" + e.ID + "'"); if (oldName.ToLower() != tablename.ToLower()) { eOleDB.Execute("exec sp_rename '" + oldName + "' ,'" + tablename + "'"); } } #endregion }
private void eform_onChange(object sender, eFormTableEventArgs e) { DataRow dr; string pid = ""; string oldpid = ""; int oldindex = 0; string maxpx = ""; switch (e.eventType) { case eFormTableEventType.Inserting: #region 添加 string px = eform.Fields["px"].ToString(); pid = eform.Fields["ParentID"].ToString(); maxpx = eOleDB.getValue("select isnull(max(px),0) + 1 from Organizationals where delTag=0 " + (pid.Length == 0 ? " and ParentID IS NULL" : " and ParentID='" + pid + "'")); if (px == "" || px == "0" || px == "999999" || Convert.ToInt32(px) > Convert.ToInt32(maxpx)) { eform.Fields["px"] = maxpx; } else { sql = "update Organizationals set PX=PX+1 where delTag=0 " + (pid.Length == 0 ? " and ParentID IS NULL" : " and ParentID='" + pid + "'") + " and PX>=" + px; eOleDB.Execute(sql); } #endregion break; case eFormTableEventType.Updating: #region 修改 dr = eOleDB.getDataTable("SELECT * FROM Organizationals where OrganizationalID='" + e.ID + "'").Select()[0]; pid = eform.Fields["ParentID"].ToString(); oldpid = dr["ParentID"].ToString(); oldindex = Convert.ToInt32(dr["px"]); int index = Convert.ToInt32(eform.Fields["px"]); if (pid == oldpid) //父级不变 { if (oldindex < index) //小变大 { sql = "update Organizationals set PX=PX-1 where delTag=0 " + (pid.Length == 0 ? " and ParentID IS NULL" : " and ParentID='" + pid + "'") + " and PX>" + oldindex.ToString() + " and PX<=" + index.ToString(); eOleDB.Execute(sql); } else //大变小 { sql = "update Organizationals set PX=PX+1 where delTag=0 " + (pid.Length == 0 ? " and ParentID IS NULL" : " and ParentID='" + pid + "'") + " and PX>=" + index.ToString() + " and PX<" + oldindex.ToString(); eOleDB.Execute(sql); } maxpx = eOleDB.getValue("select isnull(max(px),0) + 1 from Organizationals where delTag=0 " + (pid.Length == 0 ? " and ParentID IS NULL" : " and ParentID='" + pid + "'")); if (index > Convert.ToInt32(maxpx)) { eform.Fields["px"] = maxpx; } } else { sql = "update Organizationals set PX=PX-1 where delTag=0 " + (oldpid.Length == 0 ? " and ParentID IS NULL" : " and ParentID='" + oldpid + "'") + " and PX>" + oldindex.ToString(); eOleDB.Execute(sql); sql = "update Organizationals set PX=PX+1 where delTag=0 " + (pid.Length == 0 ? " and ParentID IS NULL" : " and ParentID='" + pid + "'") + " and PX>=" + index.ToString(); eOleDB.Execute(sql); maxpx = eOleDB.getValue("select isnull(max(px),0) + 1 from Organizationals where delTag=0 " + (pid.Length == 0 ? " and ParentID IS NULL" : " and ParentID='" + pid + "'")); if (index > Convert.ToInt32(maxpx)) { eform.Fields["px"] = maxpx; } } #endregion break; case eFormTableEventType.Deleting: #region 除 dr = eOleDB.getDataTable("SELECT * FROM Organizationals where OrganizationalID='" + e.ID + "'").Select()[0]; oldpid = dr["ParentID"].ToString(); oldindex = Convert.ToInt32(dr["px"]); sql = "update Organizationals set PX=PX-1 where delTag=0 " + (oldpid.Length == 0 ? " and ParentID IS NULL" : " and ParentID='" + oldpid + "'") + " and PX>" + oldindex.ToString(); eOleDB.Execute(sql); sql = "update Organizationals set PX='0' where OrganizationalID='" + e.ID + "'"; eOleDB.Execute(sql); #endregion break; case eFormTableEventType.Deleted: oldpid = eOleDB.getValue("SELECT ParentID FROM Organizationals where OrganizationalID='" + e.ID + "'"); if (Request.QueryString["ajaxget"] != null) { eJson json = new eJson(); json.Add("success", "1"); json.Add("message", "删除成功!"); Response.Clear(); Response.Write(json.ToString()); Response.End(); } else { string url = "Organizationals.aspx?modelid=" + ModelID; if (oldpid.Length > 0) { url += "&act=view&id=" + oldpid; } Response.Redirect(url, true); } break; } }
private void eform_onChange(object sender, eFormTableEventArgs e) { string sql = ""; DataRow dr; string pid = ""; string oldpid = ""; int oldindex = 0; string maxpx = ""; switch (e.eventType) { case eFormTableEventType.Inserting: #region 添加 eform.Fields.Add("Type", "2"); string px = eform.Fields["px"].ToString(); pid = eform.Fields["ParentID"].ToString(); maxpx = eOleDB.getValue("select isnull(max(px),0) + 1 from a_eke_sysModels where delTag=0 " + (pid.Length == 0 ? " and ParentID IS NULL" : " and ParentID='" + pid + "'")); if (px == "" || px == "0" || px == "999999" || Convert.ToInt32(px) > Convert.ToInt32(maxpx)) { eform.Fields["px"] = maxpx; } else { sql = "update a_eke_sysModels set PX=PX+1 where delTag=0 " + (pid.Length == 0 ? " and ParentID IS NULL" : " and ParentID='" + pid + "'") + " and PX>=" + px; eOleDB.Execute(sql); } #endregion break; case eFormTableEventType.Updating: #region 修改 dr = eOleDB.getDataTable("SELECT * FROM a_eke_sysModels where ModelID='" + e.ID + "'").Select()[0]; pid = eform.Fields["ParentID"].ToString(); oldpid = dr["ParentID"].ToString(); oldindex = Convert.ToInt32(dr["px"]); int index = Convert.ToInt32(eform.Fields["px"]); if (pid == oldpid) //父级不变 { if (oldindex < index) //小变大 { sql = "update a_eke_sysModels set PX=PX-1 where delTag=0 " + (pid.Length == 0 ? " and ParentID IS NULL" : " and ParentID='" + pid + "'") + " and PX>" + oldindex.ToString() + " and PX<=" + index.ToString(); eOleDB.Execute(sql); } else //大变小 { sql = "update a_eke_sysModels set PX=PX+1 where delTag=0 " + (pid.Length == 0 ? " and ParentID IS NULL" : " and ParentID='" + pid + "'") + " and PX>=" + index.ToString() + " and PX<" + oldindex.ToString(); eOleDB.Execute(sql); } maxpx = eOleDB.getValue("select isnull(max(px),0) + 1 from a_eke_sysModels where delTag=0 " + (pid.Length == 0 ? " and ParentID IS NULL" : " and ParentID='" + pid + "'")); if (index > Convert.ToInt32(maxpx)) { eform.Fields["px"] = maxpx; } } else { sql = "update a_eke_sysModels set PX=PX-1 where delTag=0 " + (oldpid.Length == 0 ? " and ParentID IS NULL" : " and ParentID='" + oldpid + "'") + " and PX>" + oldindex.ToString(); eOleDB.Execute(sql); sql = "update a_eke_sysModels set PX=PX+1 where delTag=0 " + (pid.Length == 0 ? " and ParentID IS NULL" : " and ParentID='" + pid + "'") + " and PX>=" + index.ToString(); eOleDB.Execute(sql); maxpx = eOleDB.getValue("select isnull(max(px),0) + 1 from a_eke_sysModels where delTag=0 " + (pid.Length == 0 ? " and ParentID IS NULL" : " and ParentID='" + pid + "'")); if (index > Convert.ToInt32(maxpx)) { eform.Fields["px"] = maxpx; } } #endregion break; case eFormTableEventType.Deleting: #region 除 dr = eOleDB.getDataTable("SELECT * FROM a_eke_sysModels where ModelID='" + e.ID + "'").Select()[0]; oldpid = dr["ParentID"].ToString(); oldindex = Convert.ToInt32(dr["px"]); sql = "update a_eke_sysModels set PX=PX-1 where delTag=0 " + (oldpid.Length == 0 ? " and ParentID IS NULL" : " and ParentID='" + oldpid + "'") + " and PX>" + oldindex.ToString(); eOleDB.Execute(sql); sql = "update a_eke_sysModels set PX='0' where ModelID='" + e.ID + "'"; eOleDB.Execute(sql); sql = "update a_eke_sysModels set ParentID=NULL where Type=1 and ParentID='" + e.ID + "'"; eOleDB.Execute(sql); sql = "update a_eke_sysModels set ParentID=NULL,delTag=1 where Type=2 and ParentID='" + e.ID + "'"; eOleDB.Execute(sql); #endregion break; case eFormTableEventType.Deleted: oldpid = eOleDB.getValue("SELECT ParentID FROM Dictionaries where DictionarieID='" + e.ID + "'"); string url = "Menus.aspx"; if (oldpid.Length > 0) { url += "?act=view&id=" + oldpid; } Response.Redirect(url, true); break; } }
public void edt_onChange(object sender, eFormTableEventArgs e) { string sql = ""; if (e.eventType == eFormTableEventType.Inserting || e.eventType == eFormTableEventType.Updating || e.eventType == eFormTableEventType.Deleting) { } if (e.eventType == eFormTableEventType.Inserting) { if (user["ServiceID"].Length > 0) { edt.Fields.Add("ServiceID", user["ServiceID"]); } } if (e.eventType == eFormTableEventType.Deleted) { sql = "update a_eke_sysPowers set delTag=1 where RoleID='" + e.ID + "' and UserId is null and ApplicationID is not null"; eOleDB.Execute(sql); } if (e.eventType == eFormTableEventType.Updated || e.eventType == eFormTableEventType.Inserted) { sql = "select a.ModelID,a.MC,a.Power,b.Power as userPower,b.canList,b.Condition from a_eke_sysModels a "; sql += " left join a_eke_sysPowers b on a.ModelID=b.ModelID and b.delTag=0 and b.UserID is null and b.ApplicationID is null and b.RoleID='" + e.ID + "'"; sql += " where a.subModel=0 and a.delTag=0 and a.Type=1 order by a.px,a.addTime"; DataTable tb = eOleDB.getDataTable(sql); foreach (DataRow _dr in tb.Rows) { string name = "model_list_" + _dr["ModelID"].ToString().Replace("-", ""); string temp = eParameters.Form(name); if (temp.Length > 0) //有权限 { string canList = "0"; string cond = ""; string power = ""; eJson uPower = new eJson(); uPower.Convert = true; #region 基本权限 DataTable Power = new eJson(_dr["Power"].ToString()).toRows(); foreach (DataRow dr1 in Power.Rows) { temp = eParameters.Form("model_" + dr1["value"].ToString() + "_" + _dr["ModelID"].ToString().Replace("-", "")); eJson _power = new eJson(); if (temp.Length == 0) { _power.Add(dr1["value"].ToString(), "false"); if (dr1["value"].ToString().ToLower() == "list") { canList = "0"; } } else { _power.Add(dr1["value"].ToString(), "true"); if (dr1["value"].ToString().ToLower() == "list") { canList = "1"; } } uPower.Add(_power); } #endregion #region 审批权限 sql = "SELECT CheckMC as text,LOWER(CheckCode) as value FROM a_eke_sysCheckUps where ModelID='" + _dr["ModelID"].ToString() + "' and delTag=0 and LEN(CheckMC)>0 and LEN(CheckCode)>0 order by px,addTime"; Power = eOleDB.getDataTable(sql); foreach (DataRow dr1 in Power.Rows) { temp = eParameters.Form("model_" + dr1["value"].ToString() + "_" + _dr["ModelID"].ToString().Replace("-", "")); eJson _power = new eJson(); if (temp.Length == 0) { _power.Add(dr1["value"].ToString(), "false"); if (dr1["value"].ToString().ToLower() == "list") { canList = "0"; } } else { _power.Add(dr1["value"].ToString(), "true"); if (dr1["value"].ToString().ToLower() == "list") { canList = "1"; } } uPower.Add(_power); } power = uPower.ToString(); #endregion name = "model_cond_" + _dr["ModelID"].ToString().Replace("-", ""); cond = eParameters.Form(name); sql = "if exists (select * from a_eke_sysPowers where UserID is Null and ApplicationID is null and ModelID='" + _dr["ModelID"].ToString() + "' and RoleID='" + e.ID + "')"; sql += " update a_eke_sysPowers set delTag=0,canList='" + canList + "',Condition='" + cond + "',power='" + power + "' where UserID is Null and ApplicationID is Null and ModelID='" + _dr["ModelID"].ToString() + "' and RoleID='" + e.ID + "'"; sql += " else "; sql += "insert into a_eke_sysPowers (ApplicationID,ModelID,UserID,RoleID,canList,Condition,Power) "; sql += " values (NULL,'" + _dr["ModelID"].ToString() + "',NULL,'" + e.ID + "','" + canList + "','" + cond + "','" + power + "')"; eOleDB.Execute(sql); } else //无权限 { sql = "update a_eke_sysPowers set canList=0,Power='',Condition='',delTag=1 where userID is Null and ApplicationID is null and ModelID='" + _dr["ModelID"].ToString() + "' and RoleID='" + e.ID + "'"; sql = "delete from a_eke_sysPowers where userID is Null and ApplicationID is null and ModelID='" + _dr["ModelID"].ToString() + "' and RoleID='" + e.ID + "'"; eOleDB.Execute(sql); } } eBase.clearDataCache("a_eke_sysPowers"); } }