Commit b4a64d27 by zhaochengxiang

评审模型详情增加版本历史

parent cabbef77
......@@ -334,6 +334,9 @@ const EditModel = (props) => {
title = '模型编辑';
} else if (action === 'detail' || action === 'flow') {
title = '模型详情';
if (approvalData) {
title = `${approvalData?.creator?.userName??''}发起的物理模型评审流程-${approvalType==='design'?'设计评审':'规范评审'}-模型详情`
}
} else if (action === 'detail-version') {
title = '模型版本详情';
}
......@@ -450,9 +453,15 @@ const EditModel = (props) => {
data={approvalData}
id={currentApprovalModelId}
type={approvalType}
onHistory={() => {
setHistoryAndVersionDrawerVisible(true)
}}
onChange={(val) => {
setApprovalModelId(val)
}}
onOk={() => {
getApprovalDetail()
}}
/>
} else {
actionsBtn = (
......@@ -555,8 +564,9 @@ const EditModel = (props) => {
export default EditModel;
const PhysicalModelApprovalBottom = ({ loading, type, data, id, onChange, onOk }) => {
const PhysicalModelApprovalBottom = ({ loading, type, data, id, onChange, onOk, onHistory }) => {
const [item, setItem] = useState()
const [waiting, setWaiting] = useState(false)
useEffect(() => {
if (data && id) {
......@@ -578,6 +588,10 @@ const PhysicalModelApprovalBottom = ({ loading, type, data, id, onChange, onOk }
return [0, false, false]
}, [data, id])
const onHistoryClick = () => {
onHistory?.()
}
const onPrevClick = () => {
if (data?.modelInfoList[index-1]) {
onChange?.(data?.modelInfoList[index-1].id)
......@@ -590,10 +604,36 @@ const PhysicalModelApprovalBottom = ({ loading, type, data, id, onChange, onOk }
}
}
const onOkClick = () => {
setWaiting(true);
let newModelInfoList = [...data?.modelInfoList??[]];
(newModelInfoList??[]).splice(index, 1, item);
dispatch({
type: 'datamodel.updatePhysicalModelApproval',
payload: {
params: {
physicalModelApprovalId: data?.id,
},
data: newModelInfoList,
},
callback: (data) => {
setWaiting(false)
showMessage('success', '保存成功')
onOk?.()
LocalStorage.set('approvalChange', !LocalStorage.get('approvalChange'));
},
error: () => {
setWaiting(false)
}
})
}
return (
<div className='flex' style={{ justifyContent: 'space-between' }}>
<div className='flex' style={{ width: '100%', justifyContent: 'space-between' }}>
<Space>
<Button type='primary' onClick={onHistoryClick}>版本历史</Button>
</Space>
<Space>
<Select
......@@ -618,10 +658,10 @@ const PhysicalModelApprovalBottom = ({ loading, type, data, id, onChange, onOk }
<Select.Option value={true}>通过</Select.Option>
<Select.Option value={false}>不通过</Select.Option>
</Select>
<Input.TextArea rows={1}
<Input
value={(type==='design')?item?.designReviewComment:item?.standardReviewComment}
placeholder='请输入评审意见'
autoSize={{ minRows: 1, maxRows: 3 }}
style={{ width: 500 }}
allowClear
onChange={(e) => {
setItem(prev => {
......@@ -635,9 +675,9 @@ const PhysicalModelApprovalBottom = ({ loading, type, data, id, onChange, onOk }
})
}}
/>
<Button type='primary'>确定</Button>
<Button type='text' icon={<LeftCircleFilled className='pointer' style={{ fontSize: 26, color: '#196AD2' }}/>} onClick={onPrevClick} disabled={!canPrev}></Button>
<Button type='text' icon={<RightCircleFilled className='pointer' style={{ fontSize: 26, color: '#196AD2' }}/>} onClick={onNextClick} disabled={!canNext}></Button>
<Button loading={waiting} type='primary' onClick={onOkClick}>确定</Button>
<Button type='text' icon={<LeftCircleFilled className='pointer' style={{ fontSize: 26, color: canPrev?'#196AD2':'#B5B5B5' }}/>} onClick={onPrevClick} disabled={!canPrev}></Button>
<Button type='text' icon={<RightCircleFilled className='pointer' style={{ fontSize: 26, color: canNext?'#196AD2':'#B5B5B5' }}/>} onClick={onNextClick} disabled={!canNext}></Button>
</Space>
</div>
)
......
......@@ -21,8 +21,19 @@ const FC = (props) => {
React.useEffect(() => {
getDetail()
window?.addEventListener("storage", storageChange);
return () => {
window?.removeEventListener("storage", storageChange)
}
}, [])
const storageChange = (e) => {
if (e.key === 'approvalChange') {
getDetail()
}
}
const getDetail = () => {
setLoading(true)
dispatch({
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment