一、为自定义任务审批界面创建内容类型

1.新建contenttype继承任务,修改ID的0x010800为0x01080100,删除Inherits="TRUE",此时的新建的contenttype继承自工作流任务
  <ContentType ID="0x01080100a0c584dfc90b46cf8e4a14f38d87ed73"
               Name="WorkflowTask"
               Group="自定义内容类型"
               Description="工作流任务"
               Version="0">
    <FieldRefs>
      <FieldRef ID="{c042a256-787d-4a6f-8a8a-cf6ab767f12d}" Name="ContentType" Hidden="TRUE" />
      <FieldRef ID="{fa564e0f-0c70-4ab9-b863-0177e6ddd247}" Name="Title" Required="TRUE" ReadOnly="TRUE" />
      <FieldRef ID="{c15b34c3-ce7d-490a-b133-3f4de8801b76}" Name="Status"/>
      <FieldRef ID="{53101f38-dd2e-458c-b245-0c236cc13d1a}" Name="AssignedTo" ReadOnly="TRUE" />
      <FieldRef ID="{7662cd2c-f069-4dba-9e35-082cf976e170}" Name="Body" />
      <FieldRef ID="{64cd368d-2f95-4bfc-a1f9-8d4324ecb007}" Name="StartDate" ReadOnly="TRUE" />
  
      <FieldRef ID="{58ddda52-c2a3-4650-9178-3bbc1f6e36da}" Name="WorkflowLink" />
      <FieldRef ID="{16b6952f-3ce6-45e0-8f4e-42dac6e12441}" Name="OffsiteParticipant" />
      <FieldRef ID="{4a799ba5-f449-4796-b43e-aa5186c3c414}" Name="OffsiteParticipantReason" />
      <FieldRef ID="{18e1c6fa-ae37-4102-890a-cfb0974ef494}" Name="WorkflowOutcome" />
      <FieldRef ID="{e506d6ca-c2da-4164-b858-306f1c41c9ec}" Name="WorkflowName" Hidden="TRUE" />
      <FieldRef ID="{ae069f25-3ac2-4256-b9c3-15dbc15da0e0}" Name="GUID" />
      <FieldRef ID="{8d96aa48-9dff-46cf-8538-84c747ffa877}" Name="TaskType" />
      <FieldRef ID="{17ca3a22-fdfe-46eb-99b5-9646baed3f16}" Name="FormURN" />
      <FieldRef ID="{78eae64a-f5f2-49af-b416-3247b76f46a1}" Name="FormData" />
      <FieldRef ID="{8cbb9252-1035-4156-9c35-f54e9056c65a}" Name="EmailBody" />
      <FieldRef ID="{47f68c3b-8930-406f-bde2-4a8c669ee87c}" Name="HasCustomEmailBody" />
      <FieldRef ID="{cb2413f2-7de9-4afc-8587-1ca3f563f624}" Name="SendEmailNotification" />
      <FieldRef ID="{4d2444c2-0e97-476c-a2a3-e9e4a9c73009}" Name="PendingModTime" />
      <FieldRef ID="{35363960-d998-4aad-b7e8-058dfe2c669e}" Name="Completed" />
      <FieldRef ID="{1bfee788-69b7-4765-b109-d4d9c31d1ac1}" Name="WorkflowListId" />
      <FieldRef ID="{8e234c69-02b0-42d9-8046-d5f49bf0174f}" Name="WorkflowItemId" />
      <FieldRef ID="{1c5518e2-1e99-49fe-bfc6-1a8de3ba16e2}" Name="ExtendedProperties" />
      
      <RemoveFieldRef ID="{cd21b4c2-6841-4f9e-a23a-738a65f99889}" Name="DueDate"/>
      <RemoveFieldRef ID="{d2311440-1ed6-46ea-b46d-daa643dc3886}" Name="PercentComplete"/>
      <RemoveFieldRef ID="{c3a92d97-2b77-4a25-9698-3ab54874bc6f}" Name="Predecessors"/>
      <RemoveFieldRef ID="{a8eb573e-9e11-481a-a8c9-1104a54b2fbd}" Name="Priority"/>

    </FieldRefs>
  </ContentType>
</Elements>

部署成功之后可以在网站设置-〉库-〉网站内容类型看到新建的内容类型,找到工作流任务,父级为工作流任务。


2.在SPDesigner中新建栏

审批结果,选项,批准、拒绝,默认为批准,格式为单选按钮

审批结果3,选项,批准、拒绝、其他,默认为批准,格式为单选按钮

审批意见,多行文本

上述新建的栏可以通过保存将网站集另存为模板,并用vs用可重用网站定义打开

可以参照:我如何:使用 Visual Studio 2010 导入 SharePoint 站点定义?


3.在SPDesigner中新建内容类型,父类型为工作流任务

CommonTask,添加审批结果,审批意见

CommonTask3,添加审批结果3,审批意见

在SPD中可以查看此内容类型的ID


4.在SPD中打开任务列表,添加刚刚新建的两个内容类型,并设置显示在新建菜单中

注意:在任务中添加了上述内容类型后,SP会在任务的列表里面为这两个继续赋予ID,继承自网站集中的内容类型,在VS中仅仅需要网站集的内容类型ID,此处无效


5.如果需要编辑审批界面,可以在SPD的任务列表中选择用InfoPath设计表单


解释下为什么这么做:

1.目的是要能够自定义审批界面,考虑到是用CreatTaskWithContentType,所以需要建立内容类型做此准备工作

用CreatTaskWithContentType可以方便的在工作流代码中获取任务审批表单中的数据

2.项目中的审批类型基本上分为批准、拒绝,复杂的一点的可能在一个审批节点会有三种流向,当有三种流向时,可以再建一个内容类型继承CommonTask3,此时仅仅是将批准、拒绝、其他变为你想要的文字而已


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值