{ "@flowName":"流程名称", "flowName": "保养合约价格审核", "@systemId":"system_id 对应 flow表 system_id", "systemId": "con", "@flowId":"system_id 对应 flow表 flow_id", "flowId": "con02", "@flowList":"存放所有签核节点,节点种类 1. start_node: 开始节点以'start_node_'开头命名 ; 2. flow_node: 流程节点以'flow_code_'开头命名 ; 3. end_node: 结束节点以'end_code_' 开头命名 ; 必须要有 start_node 和 end_node ", "flowList": { "start_node_1684033305000": { "@nodeName": "节点名称", "nodeName": "申请", "@nodeId": "节点id", "nodeId": "start_node_1684033305000", "@desc": "节点描述", "desc": "申请单位签核", "@nodeType": "节点类型", "nodeType": "start_node", "@targetId": "下一个节点", "targetId": ["end_node_1684033370000"], "@sourceId": "上一个节点", "sourceId": [], "@flowCode": "当前节点的flow_code", "flowCode": "A", "@assignClass": :"存放所有签核类别 A: 无需审核,只要本人签了就行 ; B: 审核至科长; C. 审核制经理 ; D. 审核至 厂长/协理/总监 ; E. 审核至 厂长/协理/总监 ; F. 审核至 副总 ; G. 审核至 总经理 ; X. 由PHP函数返回,放在 assignClassMethod 字段 ,函数返回值必须 是 assignClass 里面的签核类别 ; ", "assignClass": "X", "@assignClassMethod":" assignClass 值为X填写, 为php函数, $flow_context存放当前流程数据,$form 为表单数据", "assignClassMethod": "function test($flow_context, $form)\n{\n //var_dump($form);\n\n $discount = empty($form['discount']) ? '' : $form['discount'];\n\n if ($discount >= '90%') return 'C';\n if ($discount >= 80 and $discount < 90) return 'C';\n if ($discount >= 60 and $discount < 80) return 'D';\n if ($discount < 60) return 'F';\n return 'C';\n}", "@assigner": "签核者列表,格式为: 1. 指定工号: F1-同意:P0081|B1-退回:P0081 2. 指定部门: F1-同意:D210 ", "assigner": "F1-同意:D210", "@allowAssign": "是否允许指派", "allowAssign": "true", "@allowPassTo": "是否允许转交", "allowPassTo": "true", "@backOption": "退回选项,B1退回给申请人, B7 退回给上一个签核者", "backOption": "B1" }, "end_node_1684033370000": { "nodeName": "结案节点", "nodeId": "end_node_1684033370000", "creator": " ", "desc": "结案节点", "nodeType": "end_node", "targetId": [], "sourceId": ["start_node_1684033305000"], "flowCode": "Z", "assignClass": "A", "assigner": "F4-结案:|", } } }