📄 userright.pas
字号:
begin
datashare_form.Dbs.Rollback;
application.MessageBox(pchar(e.Message),'恩普软件',MB_OK+MB_IconStop+MB_SystemModal);
end;
end;
end;
end;
procedure Tuseradmin_form.Save_butExecute(Sender: TObject);
var
Str:String;
CurItem:TfcTreeNode;
begin
inherited;
if fctreeview2.Selected.StringData2='1' then
begin
application.MessageBox('当前用户身份为系统管理员,具有所有权限!','恩普软件',MB_OK+MB_IconInformation+MB_SystemModal);
exit;
end;
datashare_form.Dbs.StartTransaction;
try
with datashare_form.Query1 do
begin
close;
sql.Clear;
str:='delete from USERRIGHT where OPERID=:p1';
sql.Add(str);
params[0].AsInteger:=strtoint(fctreeview2.Selected.StringData);
Execsql;
end;
//遍历所有结点,并将权限设置存入数据库
CurItem:=fcTreeView1.Items.GetFirstNode;
while CurItem <> nil do
begin
if CurItem.Checked then
begin
with datashare_form.Query1 do
begin
close;
sql.Clear;
str:='insert into USERRIGHT(OPERID,ITEMNO) values(:p1,:p2)';
sql.Add(str);
params[0].AsInteger:=strtoint(fctreeview2.Selected.StringData);
params[1].AsInteger:=strtoint(CurItem.StringData);
execsql;
end;
end;
CurItem:=CurItem.GetNext;
end;
with datashare_form.Query1 do
begin
close;
sql.Clear;
str:='delete from UNITRIGHT where OPERID=:p1';
sql.Add(str);
params[0].AsInteger:=strtoint(fctreeview2.Selected.StringData);
Execsql;
end;
//遍历所有结点,并将权限设置存入单位部门存入数据库
CurItem:=fcTreeView3.Items.GetFirstNode;
while CurItem<>Nil do
begin
if Curitem.Checked then
begin
with datashare_form.Query1 do
begin
close;
sql.Clear;
str:='insert into UNITRIGHT(OPERID,ORGANID) values(:p1,:p2)';
sql.Add(str);
params[0].AsInteger:=strtoint(fcTreeView2.Selected.StringData);
params[1].AsInteger:=Strtoint(CurItem.StringData);
execsql;
end;
end;
CurItem:=CurItem.GetNext;
end;
datashare_form.Dbs.Commit;
application.MessageBox('设置信息保存成功!','恩普软件',MB_OK+MB_IconInformation+MB_SystemModal);
except
on e:exception do
begin
datashare_form.Dbs.Rollback;
application.MessageBox(pchar(e.Message),'恩普软件',MB_OK+MB_IconStop+MB_SystemModal);
end;
end;
end;
procedure Tuseradmin_form.TreeView1KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
inherited;
//按键为enter,向上,向下,HOME,END,PAGEUP,PAGEDOWN
//if (key in [13,40,38,34,33,35,36]) then
//TreeView1Click(self)
end;
procedure Tuseradmin_form.Modi_userExecute(Sender: TObject);
begin
inherited;
if fcTreeView2.Selected.Level<>1 then
begin
application.MessageBox('请选择操作人员!','恩普软件',MB_OK+MB_IconInformation+MB_SystemModal);
exit;
end;
try
Oper_type:='1';
useroption_form:=Tuseroption_form.create(application);
useroption_form.showmodal;
finally
useroption_form.free;
end;
end;
procedure Tuseradmin_form.fcTreeView1ToggleCheckbox(
TreeView: TfcCustomTreeView; Node: TfcTreeNode);
var
i,n:integer;
ParentItem,CurItem:TfcTreeNode;
Stat:boolean;
begin
inherited;
if (node.StringData='25')and(fctreeview2.Selected.StringData2='0') then
begin
node.Checked:=false;
// application.MessageBox('普通用户无用户权限管理功能!','恩普软件',MB_OK+MB_IconInformation+MB_SystemModal);
exit;
end;
if (Node.Level=0) then
begin
CurItem:=Node;
Stat:=CurItem.Checked;
for i:=1 to Node.Count do
begin
CurItem:=CurItem.GetNext;
CurItem.Checked:=Stat;
end;
end;
end;
procedure Tuseradmin_form.InitTree(Tree:TfcTreeView;Sour:string;const flag:boolean);
var
CurItem:TfcTreeNode;
begin
CurItem:=Tree.Items.GetFirstNode;
while CurItem <> nil do
begin
if (pos(','+CurItem.StringData+',',Sour)<>0)or(flag) then
CurItem.Checked:=true
else
CurItem.Checked:=false;
CurItem:=CurItem.GetNext;
end;
end;
procedure Tuseradmin_form.fcTreeView2Click(Sender: TObject);
var
str,combstr1,combstr2:string;
k,i:integer;
CurItem:TfcTreeNode;
begin
inherited;
if fctreeview2.Selected.Level=0 then
begin
modifyuser_button.Enabled:=false;
modifyuser_submenu.Enabled:=false;
deleteuser_button.Enabled:=false;
deluser_submenu.Enabled:=false;
save_button.Enabled:=false;
save_submenu.Enabled:=false;
StatusBar1.Panels[0].Text:=copy(StatusBar1.Panels[0].Text,1,14);
statusbar1.Panels[1].Text:=copy(statusbar1.Panels[1].Text,1,10);
exit;
end else
begin
modifyuser_button.Enabled:=true;
modifyuser_submenu.Enabled:=true;
deleteuser_button.Enabled:=true;
deluser_submenu.Enabled:=true;
save_button.Enabled:=true;
save_submenu.Enabled:=true;
end;
fctreeview2.Selected.Checked:=true;
//列出权限的设置
with datashare_form.Query1 do
begin
close;
sql.Clear;
str:='AND ITEMNO in (select ITEMNO from VERSION where VER='+#39+ESIIS_VERSION+#39+')';
str:='select ITEMNO from USERRIGHT where OPERID=:p1 '+str+' order by ITEMNO';
sql.Add(str);
params[0].AsInteger:=strtoint(fcTreeView2.Selected.StringData);
prepare;
open;
combstr1:=',';
while not eof do
begin
combstr1:=combstr1+fieldbyname('ITEMNO').AsString+',';
next;
end;
close;
sql.Clear;
str:='select ORGANID from UNITRIGHT where OPERID=:p1 order by ORGANID';
sql.Add(str);
params[0].AsInteger:=strtoint(fcTreeView2.Selected.StringData);
prepare;
open;
combstr2:=',';
while not eof do
begin
combstr2:=combstr2+fieldbyname('ORGANID').AsString+',';
next;
end;
end;
if fctreeview2.Selected.StringData2='1' then
InitTree(fcTreeView1,combstr1,true)
else
InitTree(fcTreeView1,combstr1,false);
InitTree(fcTreeView3,combstr2,false);
StatusBar1.Panels[0].Text:=copy(StatusBar1.Panels[0].Text,1,14)+fctreeview2.Selected.Text;
if (fctreeview2.Selected.StringData2='1') then
begin
// fctreeview1.Enabled:=false;
// fctreeview3.Enabled:=false;
statusbar1.Panels[1].Text:=copy(statusbar1.Panels[1].Text,1,10)+'系统管理员';
//fctreeview1.FullExpand;
fctreeview3.FullExpand;
end else
begin
// fctreeview1.Enabled:=true;
// fctreeview3.Enabled:=true;
statusbar1.Panels[1].Text:=copy(statusbar1.Panels[1].Text,1,10)+'普通用户';
fctreeview3.FullExpand;
end;
end;
procedure Tuseradmin_form.SetNode(item:TfctreeNode;state:boolean);
var
i:integer;
currnode:TfctreeNode;
begin
// currnode:=item.GetFirstChild;
// showmessage(currnode.Text);
// currnode:=item.GetNextChild(currnode);
for i:=1 to item.Count do
begin
if i=1 then
currnode:=item.GetFirstChild
else
currnode:=item.GetNextChild(currnode);
currnode.Checked:=state;
//currnode.Text:='abc';
end;
// currnode:=item.
// for i:=1 to item.Count do
// begin
// end;
//item.Checked:=state;
// SetNode(item.GetNext,state);
end;
procedure Tuseradmin_form.fcTreeView3ToggleCheckbox(
TreeView: TfcCustomTreeView; Node: TfcTreeNode);
var
state:boolean;
currnode:TfcTreeNode;
begin
inherited;
if node.Checked=true then
state:=true
else
state:=false;
setNode(node,state);
end;
procedure Tuseradmin_form.help_butExecute(Sender: TObject);
begin
inherited;
if (HHCtrlHandle = 0) then
application.MessageBox('帮助文件不存在!','恩普软件',MB_OK+MB_IconStop+MB_SystemModal)
else
FHelpSystemHook.HelpContext(1080100);
end;
}
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -