📄 系统亮点展示.htm
字号:
text-indent:-42.5pt;}
@list l11:level6
{mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6";
mso-level-tab-stop:163.0pt;
mso-level-number-position:left;
margin-left:163.0pt;
text-indent:-2.0cm;}
@list l11:level7
{mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7";
mso-level-tab-stop:191.35pt;
mso-level-number-position:left;
margin-left:191.35pt;
text-indent:-63.8pt;}
@list l11:level8
{mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.%8";
mso-level-tab-stop:219.7pt;
mso-level-number-position:left;
margin-left:219.7pt;
text-indent:-70.9pt;}
@list l11:level9
{mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.%8\.%9";
mso-level-tab-stop:255.1pt;
mso-level-number-position:left;
margin-left:255.1pt;
text-indent:-85.0pt;}
@list l12
{mso-list-id:560605600;
mso-list-type:simple;
mso-list-template-ids:-1798041342;}
@list l12:level1
{mso-level-number-format:bullet;
mso-level-style-link:项目;
mso-level-text:\F06C;
mso-level-tab-stop:42.55pt;
mso-level-number-position:left;
margin-left:42.55pt;
text-indent:-21.3pt;
font-family:Wingdings;}
@list l13
{mso-list-id:997878427;
mso-list-type:simple;
mso-list-template-ids:334426564;}
@list l13:level1
{mso-level-number-format:bullet;
mso-level-style-link:"标题 6";
mso-level-text:\F06C;
mso-level-tab-stop:42.55pt;
mso-level-number-position:left;
margin-left:42.55pt;
text-indent:-21.3pt;
font-family:Wingdings;}
@list l14
{mso-list-id:1175068352;
mso-list-type:hybrid;
mso-list-template-ids:-196838834 1001937706 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l14:level1
{mso-level-text:%1、;
mso-level-tab-stop:39.25pt;
mso-level-number-position:left;
margin-left:39.25pt;
text-indent:-18.0pt;}
@list l15
{mso-list-id:1289361798;
mso-list-type:simple;
mso-list-template-ids:-118981464;}
@list l15:level1
{mso-level-number-format:bullet;
mso-level-style-link:标题7;
mso-level-text:\F0D8;
mso-level-tab-stop:63.8pt;
mso-level-number-position:left;
margin-left:63.8pt;
text-indent:-21.25pt;
font-family:Wingdings;}
@list l16
{mso-list-id:1575627466;
mso-list-type:hybrid;
mso-list-template-ids:-629624648 2001397512 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l16:level1
{mso-level-text:%1、;
mso-level-tab-stop:18.0pt;
mso-level-number-position:left;
margin-left:18.0pt;
text-indent:-18.0pt;}
ol
{margin-bottom:0cm;}
ul
{margin-bottom:0cm;}
-->
</style>
<!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:普通表格;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.0pt;
font-family:"Times New Roman";}
</style>
<![endif]-->
</head>
<body lang=ZH-CN style='tab-interval:21.25pt;text-justify-trim:punctuation'>
<div class=Section1 style='layout-grid:15.6pt'>
<h1><span style='font-family:方正小标宋简体;mso-ascii-font-family:"Times New Roman"'>系统亮点展示</span></h1>
<h3><span lang=EN-US>1</span><span style='font-family:方正小标宋简体;mso-ascii-font-family:
"Times New Roman"'>、功能上的亮点</span></h3>
<h4><span lang=EN-US>1</span><span style='font-family:黑体;mso-ascii-font-family:
"Times New Roman"'>、流程模板</span></h4>
<p class=MsoNormal><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman"'>因为日常工作中可能有各种各样的流程,步骤和处理过程都不一样,如何在引擎中描述这么多步骤和处理过程都未知的流程?我们想到了模板技术,不同的流程,定义不同的模板,处理过程和步骤都在模板中定义好,实际应用中开始一个新的流程时,按模板定义生成流程的步骤就可以了。</span></p>
<h4><span lang=EN-US>2</span><span style='font-family:黑体;mso-ascii-font-family:
"Times New Roman"'>、流程步骤之间的触发</span></h4>
<p class=MsoNormal><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman"'>流程有一个要求就是希望一个流程一旦开始,接下来的步骤能自动触发,环环相扣,自动去触发,直到流程完成,这里我们想到了电子邮件,当前步骤的完成者指定下步的完成者,并自动给下步操作者发送电子邮件,提示下步操作者去处理流程的下步。这里我们用到了</span><span
lang=EN-US>jmail</span><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman"'>这个组件,并给出了实例代码,如何调用</span><span
lang=EN-US>jmail</span><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman"'>组件发送邮件。另外在用户登录的时候,验证成功后自动弹出登录用户所需要处理的流程。</span></p>
<h4><span lang=EN-US>3</span><span style='font-family:黑体;mso-ascii-font-family:
"Times New Roman"'>、权限控制</span></h4>
<p class=MsoNormal><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman"'>我们分功能模块定义用户权限,具有某个功能模块权限的用户才能访问那个功能模块,否则不能访问那个功能模块。</span></p>
<h4><span lang=EN-US>4</span><span style='font-family:黑体;mso-ascii-font-family:
"Times New Roman"'>、递归思维</span></h4>
<p class=MsoNormal><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman"'>我们在树型显示部门的时候,用到了递归的方法。</span></p>
<h4><span lang=EN-US>5</span><span style='font-family:黑体;mso-ascii-font-family:
"Times New Roman"'>、邮件发送</span></h4>
<p class=MsoNormal><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman"'>本章用</span><span lang=EN-US>jmail</span><span
style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>组件实现了邮件发送的功能。</span><span lang=EN-US><o:p></o:p></span></p>
<h3><span lang=EN-US>2</span><span style='font-family:方正小标宋简体;mso-ascii-font-family:
"Times New Roman"'>、技术上的亮点</span></h3>
<p class=MsoNormal><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman"'>从技术上来说,本章亮点很多,这里只列举几个最典型的。</span><span
lang=EN-US><o:p></o:p></span></p>
<h4 style='margin-left:18.0pt;text-indent:-18.0pt;mso-list:l16 level1 lfo19;
tab-stops:list 18.0pt'><![if !supportLists]><span lang=EN-US style='mso-fareast-font-family:
"Times New Roman"'><span style='mso-list:Ignore'>1、</span></span><![endif]><span
style='font-family:黑体;mso-ascii-font-family:"Times New Roman"'>子窗体判定</span></h4>
<p class=MsoNormal><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman"'>本章主窗体,为</span><span lang=EN-US>mdi</span><span
style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>窗体,为了保证窗体中只有一个子窗体的实例,本章实例在打开某个子窗体的时候,首先用</span><span
lang=EN-US>has</span><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman"'>方法,判断改子窗体是否已经存在,其实现代码如下。</span></p>
<p class=a8><span lang=EN-US style='mso-font-kerning:0pt'>//</span><span
style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman";mso-font-kerning:0pt'>判断当前主窗体中</span><span style='mso-font-kerning:
0pt'> </span><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman";mso-font-kerning:0pt'>是否已经包含名称为</span><span
lang=EN-US style='mso-font-kerning:0pt'>formName</span><span style='font-family:
宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman";
mso-font-kerning:0pt'>的窗体,保证主窗体下</span><span style='mso-font-kerning:0pt'> </span><span
style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman";mso-font-kerning:0pt'>相同的子窗体的实例只有一个</span><span lang=EN-US
style='mso-font-kerning:0pt'><o:p></o:p></span></p>
<p class=a8><span lang=EN-US style='mso-font-kerning:0pt'><span
style='mso-tab-count:2'> </span><span
style='color:blue'>public</span> <span style='color:blue'>bool</span> has(<span
style='color:blue'>string</span> formName)<o:p></o:p></span></p>
<p class=a8><span lang=EN-US style='mso-font-kerning:0pt'><span
style='mso-tab-count:2'> </span>{<o:p></o:p></span></p>
<p class=a8><span lang=EN-US style='mso-font-kerning:0pt'><span
style='mso-tab-count:3'> </span><span
style='color:blue'>bool</span> result = <span style='color:blue'>false</span>;<o:p></o:p></span></p>
<p class=a8><span lang=EN-US style='mso-font-kerning:0pt'><span
style='mso-tab-count:3'> </span><span
style='color:blue'>for</span>(<span style='color:blue'>int</span> i=0;i<<span
style='color:blue'>this</span>.MdiChildren.Length;i++)<o:p></o:p></span></p>
<p class=a8><span lang=EN-US style='mso-font-kerning:0pt'><span
style='mso-tab-count:3'> </span>{<o:p></o:p></span></p>
<p class=a8><span lang=EN-US style='mso-font-kerning:0pt'><span
style='mso-tab-count:4'> </span><span
style='color:blue'>if</span> (<span style='color:blue'>this</span>.MdiChildren[i].Name
== formName)<o:p></o:p></span></p>
<p class=a8><span lang=EN-US style='mso-font-kerning:0pt'><span
style='mso-tab-count:4'> </span>{<o:p></o:p></span></p>
<p class=a8><span lang=EN-US style='mso-font-kerning:0pt'><span
style='mso-tab-count:5'> </span>result
= <span style='color:blue'>true</span>;<o:p></o:p></span></p>
<p class=a8><span lang=EN-US style='mso-font-kerning:0pt'><span
style='mso-tab-count:5'> </span><span
style='color:blue'>break</span>;<o:p></o:p></span></p>
<p class=a8><span lang=EN-US style='mso-font-kerning:0pt'><span
style='mso-tab-count:4'> </span>}<o:p></o:p></span></p>
<p class=a8><span lang=EN-US style='mso-font-kerning:0pt'><span
style='mso-tab-count:4'> </span><span
style='color:blue'>else<o:p></o:p></span></span></p>
<p class=a8><span lang=EN-US style='mso-font-kerning:0pt'><span
style='mso-tab-count:4'> </span>{<o:p></o:p></span></p>
<p class=a8><span lang=EN-US style='mso-font-kerning:0pt'><span
style='mso-tab-count:5'> </span>result
= <span style='color:blue'>false</span>;<o:p></o:p></span></p>
<p class=a8><span lang=EN-US style='mso-font-kerning:0pt'><span
style='mso-tab-count:4'> </span>}<o:p></o:p></span></p>
<p class=a8><span lang=EN-US style='mso-font-kerning:0pt'><span
style='mso-tab-count:3'> </span>}<o:p></o:p></span></p>
<p class=a8><span lang=EN-US style='mso-font-kerning:0pt'><span
style='mso-tab-count:3'> </span><span
style='color:blue'>return</span> result;<o:p></o:p></span></p>
<p class=a8><span lang=EN-US style='mso-font-kerning:0pt'><span
style='mso-tab-count:2'> </span>}<span
style='mso-tab-count:1'> </span></span><span
lang=EN-US><o:p></o:p></span></p>
<h4><span lang=EN-US>2</span><span style='font-family:黑体;mso-ascii-font-family:
"Times New Roman"'>、权限控制</span></h4>
<p class=MsoNormal><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman"'>本章首先在主界面把所有菜单屏蔽起来。然后调用</span><span
lang=EN-US>lgoin</span><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman"'>中的方法,判定如果用户具有这个菜单的权限,则设置这个菜单为可见,实现代码如下所示。</span></p>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -