|
@@ -46,6 +46,7 @@ function FlowModal(props) {
|
|
NAME: '0',
|
|
NAME: '0',
|
|
TYPE: '1',
|
|
TYPE: '1',
|
|
CREATOR: '2',
|
|
CREATOR: '2',
|
|
|
|
+ STATE: '3',
|
|
};
|
|
};
|
|
const {
|
|
const {
|
|
visible,
|
|
visible,
|
|
@@ -72,7 +73,7 @@ function FlowModal(props) {
|
|
const [stepsData, setStepsData] = useState([]);
|
|
const [stepsData, setStepsData] = useState([]);
|
|
const [versionVisible, setVersionVisible] = useState(false);
|
|
const [versionVisible, setVersionVisible] = useState(false);
|
|
const [selectType, setSelectType] = useState(SELECT_TYPE.NAME);
|
|
const [selectType, setSelectType] = useState(SELECT_TYPE.NAME);
|
|
- const [inputValue, setInputValue] = useState('');
|
|
|
|
|
|
+ const [inputValue, setInputValue] = useState();
|
|
|
|
|
|
const [sealLoading, setSealLoading] = useState(false);
|
|
const [sealLoading, setSealLoading] = useState(false);
|
|
// const [currentTempNodeId, setCurrentTempNodeId] = useState();
|
|
// const [currentTempNodeId, setCurrentTempNodeId] = useState();
|
|
@@ -106,6 +107,8 @@ function FlowModal(props) {
|
|
const id = args.nodeId || args.nodeIds[0];
|
|
const id = args.nodeId || args.nodeIds[0];
|
|
if (!id) return;
|
|
if (!id) return;
|
|
let node = graphData.nodes.find(item => item.id == id);
|
|
let node = graphData.nodes.find(item => item.id == id);
|
|
|
|
+ //清除上次的筛选条件
|
|
|
|
+ clearSelected();
|
|
initData(node.Id);
|
|
initData(node.Id);
|
|
};
|
|
};
|
|
|
|
|
|
@@ -374,8 +377,24 @@ function FlowModal(props) {
|
|
updateSteps([]);
|
|
updateSteps([]);
|
|
};
|
|
};
|
|
|
|
|
|
|
|
+ const clearSelected = () => {
|
|
|
|
+ setSelectType(SELECT_TYPE.NAME);
|
|
|
|
+ setInputValue(null);
|
|
|
|
+ };
|
|
|
|
+
|
|
|
|
+ const filterState = () => {
|
|
|
|
+ const childrens = data
|
|
|
|
+ .map(item => (!item.flow_id && item.isParent ? item.children : item))
|
|
|
|
+ .flat(1);
|
|
|
|
+ if (inputValue !== STATE.FAILURE) {
|
|
|
|
+ return childrens.filter(item => item.status == 0 && item.audit_status == inputValue);
|
|
|
|
+ } else {
|
|
|
|
+ return childrens.filter(item => item.status == 1);
|
|
|
|
+ }
|
|
|
|
+ };
|
|
|
|
+
|
|
useEffect(() => {
|
|
useEffect(() => {
|
|
- if (!inputValue) {
|
|
|
|
|
|
+ if (!inputValue && inputValue !== 0) {
|
|
setShowData(data);
|
|
setShowData(data);
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
@@ -390,10 +409,22 @@ function FlowModal(props) {
|
|
case SELECT_TYPE.CREATOR:
|
|
case SELECT_TYPE.CREATOR:
|
|
resultData = data.filter(item => item.AuthorInfo?.CName.includes(inputValue));
|
|
resultData = data.filter(item => item.AuthorInfo?.CName.includes(inputValue));
|
|
break;
|
|
break;
|
|
|
|
+ case SELECT_TYPE.STATE:
|
|
|
|
+ resultData = filterState();
|
|
|
|
+ break;
|
|
}
|
|
}
|
|
setShowData(resultData);
|
|
setShowData(resultData);
|
|
}, [inputValue, data]);
|
|
}, [inputValue, data]);
|
|
|
|
|
|
|
|
+ //列表筛选状态
|
|
|
|
+ const STATE = {
|
|
|
|
+ NOSUBMIT: 0, //未提交
|
|
|
|
+ NOAPPROVE: 1, //待审批
|
|
|
|
+ REJECT: 2, //已拒绝
|
|
|
|
+ PASS: 3, //已通过
|
|
|
|
+ SUBMIT: 4, //已提交
|
|
|
|
+ FAILURE: 5, //已失效
|
|
|
|
+ };
|
|
return (
|
|
return (
|
|
<>
|
|
<>
|
|
<Modal
|
|
<Modal
|
|
@@ -419,7 +450,7 @@ function FlowModal(props) {
|
|
<div style={{ display: 'flex', justifyContent: 'space-between' }}>
|
|
<div style={{ display: 'flex', justifyContent: 'space-between' }}>
|
|
<div style={{ width: '60%' }}>
|
|
<div style={{ width: '60%' }}>
|
|
<Select
|
|
<Select
|
|
- defaultValue={selectType}
|
|
|
|
|
|
+ value={selectType}
|
|
style={{ width: '30%' }}
|
|
style={{ width: '30%' }}
|
|
onChange={value => {
|
|
onChange={value => {
|
|
setSelectType(value);
|
|
setSelectType(value);
|
|
@@ -429,8 +460,9 @@ function FlowModal(props) {
|
|
<Option value={SELECT_TYPE.NAME}>名称:</Option>
|
|
<Option value={SELECT_TYPE.NAME}>名称:</Option>
|
|
<Option value={SELECT_TYPE.TYPE}>分类:</Option>
|
|
<Option value={SELECT_TYPE.TYPE}>分类:</Option>
|
|
<Option value={SELECT_TYPE.CREATOR}>创建人:</Option>
|
|
<Option value={SELECT_TYPE.CREATOR}>创建人:</Option>
|
|
|
|
+ <Option value={SELECT_TYPE.STATE}>状态:</Option>
|
|
</Select>
|
|
</Select>
|
|
- {selectType != SELECT_TYPE.TYPE && (
|
|
|
|
|
|
+ {(selectType == SELECT_TYPE.NAME || selectType == SELECT_TYPE.CREATOR) && (
|
|
<Input
|
|
<Input
|
|
style={{ width: '70%' }}
|
|
style={{ width: '70%' }}
|
|
placeholder="请输入"
|
|
placeholder="请输入"
|
|
@@ -451,6 +483,23 @@ function FlowModal(props) {
|
|
}
|
|
}
|
|
/>
|
|
/>
|
|
)}
|
|
)}
|
|
|
|
+ {selectType == SELECT_TYPE.STATE && (
|
|
|
|
+ <Select
|
|
|
|
+ showSearch
|
|
|
|
+ allowClear
|
|
|
|
+ style={{ width: '70%' }}
|
|
|
|
+ placeholder="请选择状态"
|
|
|
|
+ // options={typeOptions}
|
|
|
|
+ onChange={id => setInputValue(id)}
|
|
|
|
+ >
|
|
|
|
+ <Option value={STATE.NOSUBMIT}>未提交</Option>
|
|
|
|
+ <Option value={STATE.NOAPPROVE}>待审批</Option>
|
|
|
|
+ <Option value={STATE.REJECT}>已拒绝</Option>
|
|
|
|
+ <Option value={STATE.PASS}>已通过</Option>
|
|
|
|
+ <Option value={STATE.SUBMIT}>已提交</Option>
|
|
|
|
+ <Option value={STATE.FAILURE}>已失效</Option>
|
|
|
|
+ </Select>
|
|
|
|
+ )}
|
|
</div>
|
|
</div>
|
|
{isOut && (
|
|
{isOut && (
|
|
<Button type="primary" onClick={() => setVersionVisible(true)}>
|
|
<Button type="primary" onClick={() => setVersionVisible(true)}>
|