|
@@ -351,7 +351,100 @@ function Detail(props) {
|
|
|
});
|
|
|
};
|
|
|
|
|
|
- const onApprove = (flag, taskId) => {
|
|
|
+ const onApprove = flag => {
|
|
|
+ if (!flag) {
|
|
|
+ setAuditVisible(true);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ let isSingle = false;
|
|
|
+ let serviceNode;
|
|
|
+ const flowNode = flow.currentNode;
|
|
|
+ const getLastTemplateNodeId = data => {
|
|
|
+ let result;
|
|
|
+ const getFun = item => {
|
|
|
+ if (item.flow_path?.length > 0) {
|
|
|
+ getFun(item.flow_path[0]);
|
|
|
+ } else {
|
|
|
+ result = item.template_node_id;
|
|
|
+ }
|
|
|
+ };
|
|
|
+ if (!data) return version.template_node_id;
|
|
|
+ getFun(data[0]);
|
|
|
+ return result;
|
|
|
+ };
|
|
|
+ let lastTemplateNodeId = version.template_node_id;
|
|
|
+ if (version.flow_path) {
|
|
|
+ //如果多节点审批 获取当前是否审批流程的最后一个审批节点
|
|
|
+ let flowPathList = JSON.parse(version.flow_path);
|
|
|
+ lastTemplateNodeId = getLastTemplateNodeId(flowPathList);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 判断是否为最后一个审批节点
|
|
|
+ if (
|
|
|
+ lastTemplateNodeId == version.template_node_id &&
|
|
|
+ flow.current == flow.list.FlowNodes.length - 1
|
|
|
+ ) {
|
|
|
+ serviceNode = flowDetail.nodes.find?.(item => item.Id == version.next_template_node_id);
|
|
|
+ if (!serviceNode.muti_version) {
|
|
|
+ //audit_status=4 表示为清单推进后留存的副本.不计入多清单计算
|
|
|
+ isSingle = versionList.find(
|
|
|
+ item => item.audit_status != 4 && item.template_node_id == serviceNode.Id
|
|
|
+ );
|
|
|
+ }
|
|
|
+ }
|
|
|
+ Modal.confirm({
|
|
|
+ title: '提示',
|
|
|
+ content: isSingle
|
|
|
+ ? `节点【${serviceNode.label}】只能拥有一个清单,是否覆盖?`
|
|
|
+ : `是否通过审批。`,
|
|
|
+ okText: '确定',
|
|
|
+ cancelText: '取消',
|
|
|
+ onOk: () => {
|
|
|
+ dispatch({
|
|
|
+ type: 'detail/approve',
|
|
|
+ payload: {
|
|
|
+ id: flow.active_id,
|
|
|
+ project_id: projectId,
|
|
|
+ audit_status: 3,
|
|
|
+ flow_id: flowNode.flow_id,
|
|
|
+ node_id: flowNode.seq,
|
|
|
+ },
|
|
|
+ callback: newVersion => {
|
|
|
+ // 更新flow流程图
|
|
|
+ dispatch({
|
|
|
+ type: 'xflow/queryBoomFlowDetail',
|
|
|
+ payload: {
|
|
|
+ id: templateId,
|
|
|
+ },
|
|
|
+ });
|
|
|
+
|
|
|
+ // 更新审批流
|
|
|
+ dispatch({
|
|
|
+ type: 'detail/queryAuditList',
|
|
|
+ payload: {
|
|
|
+ template_id: version.template_id,
|
|
|
+ template_node_id: version.template_node_id,
|
|
|
+ flow_id: version.flow_id,
|
|
|
+ version_id: version.version_id,
|
|
|
+ },
|
|
|
+ });
|
|
|
+ if (flow.current == flow.list.FlowNodes.length - 1) {
|
|
|
+ // 最后一个审核节点通过后 需要更新version id 不更不更,留在原地
|
|
|
+ // localStorage.excelId = newVersion.id;
|
|
|
+ // setVersion({
|
|
|
+ // ...version,
|
|
|
+ // flow_id: newVersion.flow_id,
|
|
|
+ // id: newVersion.id,
|
|
|
+ // });
|
|
|
+ }
|
|
|
+ },
|
|
|
+ });
|
|
|
+ },
|
|
|
+ });
|
|
|
+ };
|
|
|
+
|
|
|
+ const onApprove1 = (flag, taskId) => {
|
|
|
const callback = () => {
|
|
|
// 更新flow流程图
|
|
|
dispatch({
|
|
@@ -796,12 +889,12 @@ function Detail(props) {
|
|
|
version_id: version.version_id,
|
|
|
},
|
|
|
});
|
|
|
- dispatch({
|
|
|
- type: 'detail/queryDingInstanceDetail',
|
|
|
- payload: {
|
|
|
- process_instance_id: version.ding_instance_id, //创建表单成功返回的id
|
|
|
- },
|
|
|
- });
|
|
|
+ // dispatch({
|
|
|
+ // type: 'detail/queryDingInstanceDetail',
|
|
|
+ // payload: {
|
|
|
+ // process_instance_id: version.ding_instance_id, //创建表单成功返回的id
|
|
|
+ // },
|
|
|
+ // });
|
|
|
}
|
|
|
};
|
|
|
|
|
@@ -879,6 +972,9 @@ function Detail(props) {
|
|
|
dispatch({
|
|
|
type: 'user/fetch',
|
|
|
});
|
|
|
+ dispatch({
|
|
|
+ type: 'user/fetchDepV2',
|
|
|
+ });
|
|
|
dispatch({
|
|
|
type: 'detail/queryListParentByUser',
|
|
|
payload: {
|
|
@@ -958,10 +1054,10 @@ function Detail(props) {
|
|
|
onChange={e => exportExcl(e.target.files)}
|
|
|
/>
|
|
|
</div>
|
|
|
- {/* <TimeNode flow={flow} isAuditor={isAuditor} onApprove={onApprove}></TimeNode> */}
|
|
|
- {version.flow_id ? (
|
|
|
+ <TimeNode flow={flow} isAuditor={isAuditor} onApprove={onApprove}></TimeNode>
|
|
|
+ {/* {version.flow_id ? (
|
|
|
<AuditFlow {...auditDetail} canShowAudit={true} onApprove={onApprove} />
|
|
|
- ) : null}
|
|
|
+ ) : null} */}
|
|
|
|
|
|
{/* {renderAlert()} */}
|
|
|
{/* 判断是否为比对模式 */}
|