获取后续需补人节点列表

web模式调用

  1. //提取某流程图下所有需要补人的节点清单
  2. export const onSelectWorkNode = data => {
  3. let params = {
  4. curInfo: data,
  5. };
  6. return axios.post(`${gateWayRootUrl}Power.WorkFlows/Work/Send/SelectWorkNode`, qs.stringify(params) )
  7. .then(res => {
  8. return res;
  9. }
  10. );
  11. };
  1. //调用及返回
  2. 参数:
  3. var data = {
  4. FormId: 表单的唯一id M3下来自pb_widget.id
  5. KeyWord: 表单对应关键词
  6. KeyValue: 当前表单主键
  7. Params:{
  8. "Title":表单标题,
  9. "DocumentCode": 表单编号
  10. EpsProjId: 表单对应epsid
  11. EpsProjCode: 表单对应epscode
  12. EpsProjName: 表单对应epsName
  13. }, //必选参数
  14. //流程所需的所有潜在变量,可选
  15. VarList:[
  16. {"FieldName":"field1",FieldValue:"字段值"},.....
  17. ]
  18. }
  19. onSelectWorkNode(data).then(result => {
  20. if (!result || result.success == false) return;
  21. });

对应界面

image.png

无控制台模式调用

因为这个API需要连续对 流程引擎、组织架构引擎发请求,故不可能有控制台场景存在。
控制台因为没有request/response, 也无法发跨服务请求。

保存补充人员至实例中间表

web模式调用

  1. //提取补充的人员,保存并切换到下个tab页
  2. export const onSaveUserToInstanNodes = function (data, callback) {
  3. let params = new FormData();
  4. params.append('jsonInfo', JSON.stringify(data));
  5. return axios.post(`${gateWayRootUrl}Power.WorkFlows/Work/Send/SaveUserToInstanNodes`, params )
  6. .then(res => {
  7. return res;
  8. }
  9. );
  10. };
  1. var data ={
  2. NodeList:[
  3. {"NodeCode":"节点编号",ConfigUserList:[{人员包1},{人员包2}...]
  4. ]
  5. };
  6. //调用ajax获取数据
  7. onSaveUserToInstanNodes(data).then(result => {
  8. if (result && result.success == false) {
  9. that.$message.warning(result.message);
  10. return;
  11. }
  12. console.log(result.data.UserArea); //这个包可供后续界面渲染
  13. }

对应界面

image.png image.png

控制台调用

  1. private Power.WorkFlows.IService.Action.ISendService Service = null; //送审服务
  2. /// <summary>
  3. /// 保存补充人员
  4. /// </summary>
  5. private void SaveUserToInstanNodes()
  6. {
  7. TSession session = new TSession()
  8. {
  9. HumanId = "当前人humanid",
  10. HumanName = "当前人",
  11. //......
  12. };
  13. //json为传入包。存有某个节点需要补那些人信息。
  14. TSelectedUserToInstance selectUserToInstance = Newtonsoft.Json.JsonConvert.DeserializeObject<TSelectedUserToInstance>(jsonInfo);
  15. Service = Power.Core.Cache.ObjectFactory<ISendService>.Create("可选参数,为空构建默认服务");
  16. Service.SetCurSession(session); //也可以依据token获取当前人
  17. TSelectUserResult result = Service.SaveUserToInstanNodes((selectUserToInstance); //执行
  18. Console.WriteLine(result.SelectMode);// SelectMode==User则可以切换到选人提交界面了。
  19. }