基于web工作流的开发(一)

最近把比较大的项目完成了,现把之前的经验分享给大家。分两部份,一是流程自定义,二是表单自定义。

一:

目的:达到在web页面上进行拖拉拽自定义流程,流程步骤数可无限配置,流程节点可设人员,岗位,部门等。

第一我采取的是基于vml的图形化进行可视化操作。

先定义基本的流程数据框架。文件如下

<?xml version="1.0" encoding="utf-16"?>

<Process>

         <Attributes>

                   <ProcessKindGUID>F2AFE8B4-CC99-4B3F-8656-5E231EFD0128</ProcessKindGUID>

                 <ProcessName>发起步骤</ProcessName>

                   <BUGUID>F2AFE8B4-CC99-4B3F-8656-5E231EFD0128</BUGUID>

                   <CanChildBU></CanChildBU>

                   <LimitDay>0</LimitDay>

                   <IsActive>1</IsActive>

                   <ModifyDate></ModifyDate>

                   <ModifyMember></ModifyMember>

                   <ModifyMemberName></ModifyMemberName>

                   <Description></Description>

                   <WatchMembers></WatchMembers>

                   <WatchMembersName></WatchMembersName>

                   <D_Document>5805e820-a075-48ae-bff5-02ad1468904f</D_Document>

                   <CanDataSave>1</CanDataSave>

         </Attributes>

         <Steps>

                   <Step>

                            <Attributes>

                                     <Description></Description>

                                     <StepGUID>50deb909-1525-4a6f-9f52-c651873468b8</StepGUID>

                                     <ProcessGUID>f2e9d822-81f6-459e-9a54-85a3646834ef</ProcessGUID>

                                     <ProcessKindGUID>d7bbe23e-0f9a-49d7-b686-57c690a5a326</ProcessKindGUID>

                                     <XYPos>400,20</XYPos>

                                     <StepID>1</StepID>

                                     <StepName>开始</StepName>

                                     <StepType>0</StepType>

                                     <StepTypeName>开始</StepTypeName>

                                     <StepStatusName />

                                     <StepStatus />

                                     <XYPos />

                            </Attributes>

                            <Bands>

                                     <Band>

                                               <Attributes>

                                                        <StepGUID>50deb909-1525-4a6f-9f52-c651873468b8</StepGUID>

                                                        <AuditorScope>2a3ef8d4-5b70-401b-af6f-d3a58eedb6fe</AuditorScope>

                                                        <AuditorName>[发起人]</AuditorName>

                                                        <AuditorType>4</AuditorType>

                                                        <AuditorRightValue></AuditorRightValue>

                                                        <ProcessGUID>f2e9d822-81f6-459e-9a54-85a3646834ef</ProcessGUID>

                                                        <BandGUID>d39f31ca-2f46-4558-ac58-9c8894ba6963</BandGUID>

                                                        <BandName>[发起人]</BandName>

                                                        <NodeStatus />

                                               </Attributes>

                                     </Band>

                            </Bands>

                            <Relations>

                                     <Relation>

                                               <Attributes>

                                                        <StepGUID>50deb909-1525-4a6f-9f52-c651873468b8</StepGUID>

                                                        <NextStepGUID>5b02deba-1205-446d-bf4e-e8f1a8ef5623</NextStepGUID>

                                                        <Expression></Expression>

                                                        <IsActive>1</IsActive>

                                                        <ProcessGUID>f2e9d822-81f6-459e-9a54-85a3646834ef</ProcessGUID>

                                                        <ExpressionStru></ExpressionStru>

                                                        <RelationGUID>c389e7e3-3f42-4223-8109-4561e3dbbcdb</RelationGUID>

                                                        <Position>NodeBottom,NodeTop</Position>

                                                        <NextStepID>2</NextStepID>

                                                        <Position>NodeBottom,NodeTop</Position>

                                               </Attributes>

                                     </Relation>

                            </Relations>

                   </Step>

                   <Step>

                            <Attributes>

                                     <Description></Description>

                                     <NotifyDay>0</NotifyDay>

                                     <IsInitMemberAssign>0</IsInitMemberAssign>

                                     <IsMulti>0</IsMulti>

                                     <IsSerial>0</IsSerial>

                                     <CanCancel>1</CanCancel>

                                     <CanClose>1</CanClose>

                                     <CanRollBack>1</CanRollBack>

                                     <CanAssign>1</CanAssign>

                                     <HandleRevolution>1</HandleRevolution>

                                     <IsOverPass>0</IsOverPass>

                                     <OverPassDay>0</OverPassDay>

                                     <CanDocFinalize>0</CanDocFinalize>

                                     <CanDocModify>1</CanDocModify>

                                     <CanDocComment>1</CanDocComment>

                                     <CanDocNumber>0</CanDocNumber>

                                     <DispBusinessDomain></DispBusinessDomain>

                                     <EditBusinessDomain></EditBusinessDomain>

                                     <ThreshodeValue>1</ThreshodeValue>

                                     <StepGUID>5b02deba-1205-446d-bf4e-e8f1a8ef5623</StepGUID>

                                     <ProcessGUID>f2e9d822-81f6-459e-9a54-85a3646834ef</ProcessGUID>

                                     <ProcessKindGUID>d7bbe23e-0f9a-49d7-b686-57c690a5a326</ProcessKindGUID>

                                     <XYPos>400,80</XYPos>

                                     <StepID>2</StepID>

                                     <StepName>部门主管审批 </StepName>

                                     <StepType>1</StepType>

                                     <StepTypeName>审批</StepTypeName>

                                     <StepStatusName />

                                     <StepStatus />

                                     <XYPos />

                            </Attributes>

                            <Bands>

                                     <Band>

                                               <Attributes>

                                                        <StepGUID>5b02deba-1205-446d-bf4e-e8f1a8ef5623</StepGUID>

                                                        <AuditorScope>244ef982-beb6-4703-9bf7-e55584b926dd</AuditorScope>

                                                        <AuditorName>user02</AuditorName>

                                                        <AuditorType>5</AuditorType>

                                                        <AuditorRightValue></AuditorRightValue>

                                                        <ProcessGUID>f2e9d822-81f6-459e-9a54-85a3646834ef</ProcessGUID>

                                                        <BandGUID>dfb7c00e-568b-45aa-bc9e-7219a37830ea</BandGUID>

                                                        <BandName>user02</BandName>

                                                        <NodeStatus />

                                               </Attributes>

                                     </Band>

                            </Bands>

                            <Relations>

                                     <Relation>

                                               <Attributes>

                                                        <StepGUID>5b02deba-1205-446d-bf4e-e8f1a8ef5623</StepGUID>

                                                        <NextStepGUID>8b422683-4402-49e9-9eb1-8c07bcb0125f</NextStepGUID>

                                                        <Expression></Expression>

                                                        <IsActive>1</IsActive>

                                                        <ProcessGUID>f2e9d822-81f6-459e-9a54-85a3646834ef</ProcessGUID>

                                                        <ExpressionStru></ExpressionStru>

                                                        <RelationGUID>bf771087-4192-47e9-820b-eba3ab93c72c</RelationGUID>

                                                        <Position>NodeBottom,NodeTop</Position>

                                                        <NextStepID>3</NextStepID>

                                                        <Position>NodeBottom,NodeTop</Position>

                                               </Attributes>

                                     </Relation>

                            </Relations>

                   </Step>

                   <Step>

                            <Attributes>

                                     <Description></Description>

                                     <NotifyDay>0</NotifyDay>

                                     <IsInitMemberAssign>0</IsInitMemberAssign>

                                     <IsMulti>0</IsMulti>

                                     <IsSerial>0</IsSerial>

                                     <CanCancel>1</CanCancel>

                                     <CanClose>1</CanClose>

                                     <CanRollBack>1</CanRollBack>

                                     <CanAssign>1</CanAssign>

                                     <HandleRevolution>1</HandleRevolution>

                                     <IsOverPass>0</IsOverPass>

                                     <OverPassDay>0</OverPassDay>

                                     <CanDocFinalize>0</CanDocFinalize>

                                     <CanDocModify>1</CanDocModify>

                                     <CanDocComment>1</CanDocComment>

                                     <CanDocNumber>0</CanDocNumber>

                                     <DispBusinessDomain></DispBusinessDomain>

                                     <EditBusinessDomain></EditBusinessDomain>

                                     <ThreshodeValue>1</ThreshodeValue>

                                     <StepGUID>8b422683-4402-49e9-9eb1-8c07bcb0125f</StepGUID>

                                     <ProcessGUID>f2e9d822-81f6-459e-9a54-85a3646834ef</ProcessGUID>

                                     <ProcessKindGUID>d7bbe23e-0f9a-49d7-b686-57c690a5a326</ProcessKindGUID>

                                     <XYPos>400,140</XYPos>

                                      <StepID>3</StepID>

                                     <StepName>人力资源经理审批</StepName>

                                     <StepType>1</StepType>

                                     <StepTypeName>审批</StepTypeName>

                                     <StepStatusName />

                                     <StepStatus />

                                     <XYPos />

                            </Attributes>

                            <Bands>

                                     <Band>

                                               <Attributes>

                                                        <StepGUID>8b422683-4402-49e9-9eb1-8c07bcb0125f</StepGUID>

                                                        <AuditorScope>2e3f68e4-f853-4675-b9c5-eb4aac6d4bb3</AuditorScope>

                                                        <AuditorName>user03</AuditorName>

                                                        <AuditorType>5</AuditorType>

                                                        <AuditorRightValue></AuditorRightValue>

                                                        <ProcessGUID>f2e9d822-81f6-459e-9a54-85a3646834ef</ProcessGUID>

                                                        <BandGUID>2e4017ab-a6d7-4f5f-94f4-9e120d20b507</BandGUID>

                                                        <BandName>user03</BandName>

                                                        <NodeStatus />

                                               </Attributes>

                                     </Band>

                            </Bands>

                            <Relations>

                                     <Relation>

                                               <Attributes>

                                                        <StepGUID>8b422683-4402-49e9-9eb1-8c07bcb0125f</StepGUID>

                                                        <NextStepGUID>9c00c3eb-fa93-43ce-a75c-bb1c53f94614</NextStepGUID>

                                                        <Expression></Expression>

                                                        <IsActive>1</IsActive>

                                                        <ProcessGUID>f2e9d822-81f6-459e-9a54-85a3646834ef</ProcessGUID>

                                                        <ExpressionStru></ExpressionStru>

                                                        <RelationGUID>0eab991f-7a0d-46be-bd34-20e707f8378c</RelationGUID>

                                                        <Position>NodeBottom,NodeTop</Position>

                                                        <NextStepID>4</NextStepID>

                                                        <Position>NodeBottom,NodeTop</Position>

                                               </Attributes>

                                     </Relation>

                            </Relations>

                   </Step>

                   <Step>

                            <Attributes>

                                     <Description></Description>

                                     <NotifyDay>0</NotifyDay>

                                     <IsInitMemberAssign>0</IsInitMemberAssign>

                                     <IsMulti>0</IsMulti>

                                     <IsSerial>0</IsSerial>

                                     <CanCancel>1</CanCancel>

                                     <CanClose>1</CanClose>

                                     <CanRollBack>1</CanRollBack>

                                     <CanAssign>1</CanAssign>

                                     <HandleRevolution>1</HandleRevolution>

                                     <IsOverPass>0</IsOverPass>

                                     <OverPassDay>0</OverPassDay>

                                     <CanDocFinalize>0</CanDocFinalize>

                                     <CanDocModify>1</CanDocModify>

                                     <CanDocComment>1</CanDocComment>

                                     <CanDocNumber>0</CanDocNumber>

                                     <DispBusinessDomain></DispBusinessDomain>

                                     <EditBusinessDomain></EditBusinessDomain>

                                     <ThreshodeValue>1</ThreshodeValue>

                                     <StepGUID>9c00c3eb-fa93-43ce-a75c-bb1c53f94614</StepGUID>

                                     <ProcessGUID>f2e9d822-81f6-459e-9a54-85a3646834ef</ProcessGUID>

                                     <ProcessKindGUID>d7bbe23e-0f9a-49d7-b686-57c690a5a326</ProcessKindGUID>

                                     <XYPos>400,200</XYPos>

                                     <StepID>4</StepID>

                                     <StepName>财务经理审批</StepName>

                                     <StepType>1</StepType>

                                     <StepTypeName>审批</StepTypeName>

                                     <StepStatusName />

                                     <StepStatus />

                                     <XYPos />

                            </Attributes>

                            <Bands>

                                     <Band>

                                               <Attributes>

                                                        <StepGUID>9c00c3eb-fa93-43ce-a75c-bb1c53f94614</StepGUID>

                                                        <AuditorScope>0c13b5fe-bd1f-4ebb-a9e9-68b225c35a75</AuditorScope>

                                                        <AuditorName>user04</AuditorName>

                                                        <AuditorType>5</AuditorType>

                                                        <AuditorRightValue></AuditorRightValue>

                                                        <ProcessGUID>f2e9d822-81f6-459e-9a54-85a3646834ef</ProcessGUID>

                                                        <BandGUID>1a13e64e-928e-43f4-9cb9-0e5643b80101</BandGUID>

                                                        <BandName>user04</BandName>

                                                        <NodeStatus />

                                               </Attributes>

                                     </Band>

                            </Bands>

                            <Relations>

                                     <Relation>

                                               <Attributes>

                                                        <StepGUID>9c00c3eb-fa93-43ce-a75c-bb1c53f94614</StepGUID>

                                                        <NextStepGUID>006a8200-2a0a-4c40-9895-abab83894cd9</NextStepGUID>

                                                        <Expression></Expression>

                                                        <IsActive>1</IsActive>

                                                        <ProcessGUID>f2e9d822-81f6-459e-9a54-85a3646834ef</ProcessGUID>

                                                        <ExpressionStru></ExpressionStru>

                                                        <RelationGUID>5c254157-4811-45b2-8ddc-54b0938d7939</RelationGUID>

                                                        <Position>NodeBottom,NodeTop</Position>

                                                        <NextStepID>5</NextStepID>

                                                        <Position>NodeBottom,NodeTop</Position>

                                               </Attributes>

                                     </Relation>

                            </Relations>

                   </Step>

                   <Step>

                            <Attributes>

                                     <Description></Description>

                                     <NotifyDay>0</NotifyDay>

                                     <IsInitMemberAssign>0</IsInitMemberAssign>

                                     <IsMulti>0</IsMulti>

                                     <IsSerial>0</IsSerial>

                                     <CanCancel>1</CanCancel>

                                     <CanClose>1</CanClose>

                                     <CanRollBack>1</CanRollBack>

                                     <CanAssign>1</CanAssign>

                                     <HandleRevolution>1</HandleRevolution>

                                     <IsOverPass>0</IsOverPass>

                                     <OverPassDay>0</OverPassDay>

                                     <CanDocFinalize>0</CanDocFinalize>

                                     <CanDocModify>1</CanDocModify>

                                     <CanDocComment>1</CanDocComment>

                                     <CanDocNumber>0</CanDocNumber>

                                     <DispBusinessDomain></DispBusinessDomain>

                                     <EditBusinessDomain></EditBusinessDomain>

                                     <ThreshodeValue>1</ThreshodeValue>

                                     <StepGUID>006a8200-2a0a-4c40-9895-abab83894cd9</StepGUID>

                                     <ProcessGUID>f2e9d822-81f6-459e-9a54-85a3646834ef</ProcessGUID>

                                     <ProcessKindGUID>d7bbe23e-0f9a-49d7-b686-57c690a5a326</ProcessKindGUID>

                                     <XYPos>400,260</XYPos>

                                     <StepID>5</StepID>

                                     <StepName>总经理审核</StepName>

                                     <StepType>1</StepType>

                                     <StepTypeName>审批</StepTypeName>

                                     <StepStatusName />

                                     <StepStatus/>

                                     <XYPos />

                            </Attributes>

                            <Bands>

                                     <Band>

                                               <Attributes>

                                                        <StepGUID>006a8200-2a0a-4c40-9895-abab83894cd9</StepGUID>

                                                        <AuditorScope>72012b1f-3701-4944-b70d-7e6ef292d733</AuditorScope>

                                                        <AuditorName>user05</AuditorName>

                                                        <AuditorType>5</AuditorType>

                                                        <AuditorRightValue></AuditorRightValue>

                                                        <ProcessGUID>f2e9d822-81f6-459e-9a54-85a3646834ef</ProcessGUID>

                                                        <BandGUID>02641b2a-244e-43bc-acea-f5d2f9bde177</BandGUID>

                                                        <BandName>user05</BandName>

                                                        <NodeStatus />

                                               </Attributes>

                                     </Band>

                            </Bands>

                            <Relations>

                                     <Relation>

                                               <Attributes>

                                                        <StepGUID>006a8200-2a0a-4c40-9895-abab83894cd9</StepGUID>

                                                        <NextStepGUID>faf96013-4097-4856-ab0d-7b4f8bb2c882</NextStepGUID>

                                                        <Expression></Expression>

                                                        <IsActive>1</IsActive>

                                                        <ProcessGUID>f2e9d822-81f6-459e-9a54-85a3646834ef</ProcessGUID>

                                                        <ExpressionStru></ExpressionStru>

                                                        <RelationGUID>b710235c-c072-47eb-83ae-6d804163222d</RelationGUID>

                                                        <Position>NodeBottom,NodeTop</Position>

                                                        <NextStepID>6</NextStepID>

                                                        <Position>NodeBottom,NodeTop</Position>

                                               </Attributes>

                                     </Relation>

                            </Relations>

                   </Step>

                   <Step>

                            <Attributes>

                                     <Description></Description>

                                     <NotifyDay>0</NotifyDay>

                                     <IsInitMemberAssign>0</IsInitMemberAssign>

                                     <IsMulti>0</IsMulti>

                                     <IsSerial>0</IsSerial>

                                     <CanCancel>1</CanCancel>

                                     <CanClose>1</CanClose>

                                     <CanRollBack>1</CanRollBack>

                                     <CanAssign>1</CanAssign>

                                     <HandleRevolution>1</HandleRevolution>

                                     <IsOverPass>0</IsOverPass>

                                     <OverPassDay>0</OverPassDay>

                                     <CanDocFinalize>0</CanDocFinalize>

                                     <CanDocModify>1</CanDocModify>

                                     <CanDocComment>1</CanDocComment>

                                     <CanDocNumber>0</CanDocNumber>

                                     <DispBusinessDomain></DispBusinessDomain>

                                     <EditBusinessDomain></EditBusinessDomain>

                                     <ThreshodeValue>1</ThreshodeValue>

                                     <StepGUID>faf96013-4097-4856-ab0d-7b4f8bb2c882</StepGUID>

                                     <ProcessGUID>f2e9d822-81f6-459e-9a54-85a3646834ef</ProcessGUID>

                                     <ProcessKindGUID>d7bbe23e-0f9a-49d7-b686-57c690a5a326</ProcessKindGUID>

                                     <XYPos>400,320</XYPos>

                                     <StepID>6</StepID>

                                     <StepName>董事长审批</StepName>

                                     <StepType>1</StepType>

                                     <StepTypeName>审批</StepTypeName>

                                     <StepStatusName />

                                     <StepStatus/>

                                     <XYPos />

                            </Attributes>

                            <Bands>

                                     <Band>

                                               <Attributes>

                                                        <StepGUID>faf96013-4097-4856-ab0d-7b4f8bb2c882</StepGUID>

                                                        <AuditorScope>a8bf0155-453e-4fd7-9215-c13fa03b1254</AuditorScope>

                                                        <AuditorName>user06</AuditorName>

                                                        <AuditorType>5</AuditorType>

                                                        <AuditorRightValue></AuditorRightValue>

                                                        <ProcessGUID>f2e9d822-81f6-459e-9a54-85a3646834ef</ProcessGUID>

                                                        <BandGUID>d3ede3d4-12fe-4ec4-900f-2e8f124d288d</BandGUID>

                                                        <BandName>user06</BandName>

                                                        <NodeStatus />

                                               </Attributes>

                                     </Band>

                            </Bands>

                            <Relations>

                                     <Relation>

                                               <Attributes>

                                                        <StepGUID>faf96013-4097-4856-ab0d-7b4f8bb2c882</StepGUID>

                                                        <NextStepGUID>14073588-eb87-40a7-9de7-76a5932dac2a</NextStepGUID>

                                                        <Expression></Expression>

                                                        <IsActive>1</IsActive>

                                                        <ProcessGUID>f2e9d822-81f6-459e-9a54-85a3646834ef</ProcessGUID>

                                                        <ExpressionStru></ExpressionStru>

                                                        <RelationGUID>ca61ac20-d256-47ed-8219-4c0cf277f496</RelationGUID>

                                                        <Position>NodeBottom,NodeTop</Position>

                                                        <NextStepID>7</NextStepID>

                                                        <Position>NodeBottom,NodeTop</Position>

                                               </Attributes>

                                     </Relation>

                            </Relations>

                   </Step>

                   <Step>

                            <Attributes>

                                     <Description></Description>

                                     <NotifyDay>0</NotifyDay>

                                     <IsInitMemberAssign>0</IsInitMemberAssign>

                                     <IsMulti>0</IsMulti>

                                     <IsSerial>0</IsSerial>

                                     <CanCancel>0</CanCancel>

                                     <CanClose>0</CanClose>

                                     <CanRollBack>0</CanRollBack>

                                     <CanAssign>0</CanAssign>

                                     <HandleRevolution>0</HandleRevolution>

                                     <IsOverPass>0</IsOverPass>

                                     <OverPassDay>0</OverPassDay>

                                     <CanDocFinalize>0</CanDocFinalize>

                                     <CanDocModify>0</CanDocModify>

                                     <CanDocComment>0</CanDocComment>

                                     <CanDocNumber>1</CanDocNumber>

                                     <DispBusinessDomain></DispBusinessDomain>

                                     <EditBusinessDomain></EditBusinessDomain>

                                     <ThreshodeValue>1</ThreshodeValue>

                                     <StepGUID>14073588-eb87-40a7-9de7-76a5932dac2a</StepGUID>

                                     <ProcessGUID>f2e9d822-81f6-459e-9a54-85a3646834ef</ProcessGUID>

                                     <ProcessKindGUID>d7bbe23e-0f9a-49d7-b686-57c690a5a326</ProcessKindGUID>

                                     <XYPos>400,380</XYPos>

                                      <StepID>7</StepID>

                                     <StepName>结束</StepName>

                                     <StepType>3</StepType>

                                     <StepTypeName>结束</StepTypeName>

                                     <StepStatusName />

                                     <StepStatus />

                                     <XYPos />

                            </Attributes>

                            <Bands>

                                     <Band>

                                               <Attributes>

                                                        <StepGUID>14073588-eb87-40a7-9de7-76a5932dac2a</StepGUID>

                                                        <AuditorScope>2a3ef8d4-5b70-401b-af6f-d3a58eedb6fe</AuditorScope>

                                                        <AuditorName>[发起人]</AuditorName>

                                                        <AuditorType>4</AuditorType>

                                                        <AuditorRightValue></AuditorRightValue>

                                                        <ProcessGUID>f2e9d822-81f6-459e-9a54-85a3646834ef</ProcessGUID>

                                                        <BandGUID>8be57a40-eae2-4ecd-893f-4f25eb25de11</BandGUID>

                                                        <BandName>[发起人]</BandName>

                                                        <NodeStatus />

                                               </Attributes>

                                     </Band>

                            </Bands>

                            <Relations></Relations>

                   </Step>

         </Steps>

</Process>

然后把文件信息读取到客户端,用VML展示在页面上,效果如下图。

天啊我不知道如何把图片放编辑器里,只能放在附件中了。22.gif

下一节讲如何来展示图形。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值