Commit 87f9bf0f by fanyj

tijiao

parent 984a5316
...@@ -15,6 +15,7 @@ import AssetManage from './view/Manage/AssetManage'; ...@@ -15,6 +15,7 @@ import AssetManage from './view/Manage/AssetManage';
import AssetBrowse from './view/Manage/AssetBrowse'; import AssetBrowse from './view/Manage/AssetBrowse';
import DatasourceManage from './view/Manage/DatasourceManage'; import DatasourceManage from './view/Manage/DatasourceManage';
import AssetDetailPage from './view/Manage/AssetManage/Component/AssetDetailPage'; import AssetDetailPage from './view/Manage/AssetManage/Component/AssetDetailPage';
import FlowAcceptDetail from './view/Manage/AssetManage/Component/FlowAcceptDetail';
import ImportAction from './view/Manage/Model/Component/ImportAction'; import ImportAction from './view/Manage/Model/Component/ImportAction';
import EditModel from './view/Manage/Model/Component/EditModel'; import EditModel from './view/Manage/Model/Component/EditModel';
import EditTemplate from './view/Manage/ModelConfig/Component/EditTemplate'; import EditTemplate from './view/Manage/ModelConfig/Component/EditTemplate';
...@@ -202,6 +203,7 @@ export class App extends React.Component { ...@@ -202,6 +203,7 @@ export class App extends React.Component {
<Route path={`${ContextPath}/model-template-action`} component={EditTemplate} exact /> <Route path={`${ContextPath}/model-template-action`} component={EditTemplate} exact />
<Route path={`${ContextPath}/asset-detail`} component={AssetDetailPage} exact /> <Route path={`${ContextPath}/asset-detail`} component={AssetDetailPage} exact />
<Route path={`${ContextPath}/asset-review-detail`} component={AssetReviewDetail} /> <Route path={`${ContextPath}/asset-review-detail`} component={AssetReviewDetail} />
<Route path={`${ContextPath}/assetflowdetail`} component={FlowAcceptDetail} />
<Route path={'/center-home/menu/datasource-manage'} component={DatasourceManage} exact /> <Route path={'/center-home/menu/datasource-manage'} component={DatasourceManage} exact />
<Route path={'/center-home/menu/data-model'} component={Model} exact /> <Route path={'/center-home/menu/data-model'} component={Model} exact />
...@@ -215,6 +217,7 @@ export class App extends React.Component { ...@@ -215,6 +217,7 @@ export class App extends React.Component {
<Route path={'/center-home/data-model-action'} component={EditModel} exact /> <Route path={'/center-home/data-model-action'} component={EditModel} exact />
<Route path={'/center-home/asset-detail'} component={AssetDetailPage} exact /> <Route path={'/center-home/asset-detail'} component={AssetDetailPage} exact />
<Route path={'/center-home/session/asset-detail'} component={AssetDetailPage} exact /> <Route path={'/center-home/session/asset-detail'} component={AssetDetailPage} exact />
<Route path={'/center-home/assetflowdetail'} component={FlowAcceptDetail} exact />
<Route path={'/data-govern/spreadjs-view'} component={SpreadjsView} exact /> <Route path={'/data-govern/spreadjs-view'} component={SpreadjsView} exact />
</Switch> </Switch>
</Router> </Router>
......
.omodel {
position: relative;
.header {
display: flex;
width: 100%;
height: 44px;
padding: 0 15px;
background-color: #464d6e;
align-items: center;
position: fixed;
justify-content: space-between;
border-bottom: 1px solid #EFEFEF;
z-index: 100;
}
.container {
top: 44px;
width: 100%;
height: calc(100vh - 44px - 64px);
overflow: auto;
background: #EDF0F5;
padding: 10px 20px;
position: absolute;
:global{
.ant-table-thead > tr > th {
padding: 8px 8px !important;
}
.ant-table-tbody > tr > td {
padding: 12px 8px !important;
}
.ant-table-tbody > .ant-table-measure-row > td {
padding: 0px !important;
}
.ant-table-tbody > tr .ant-table-row-selected > td {
background: #fff !important;
}
tr.ant-table-expanded-row > td {
background: #fff !important;
}
.ant-table-thead > tr > th {
background-color: #F2F5FC !important;
}
}
}
.containermore {
top: 44px;
width: 100%;
height: calc(100vh - 44px);
overflow: auto;
background: #EDF0F5;
padding: 10px 20px;
position: absolute;
:global{
.ant-table-thead > tr > th {
padding: 8px 8px !important;
}
.ant-table-tbody > tr > td {
padding: 12px 8px !important;
}
.ant-table-tbody > .ant-table-measure-row > td {
padding: 0px !important;
}
.ant-table-tbody > tr .ant-table-row-selected > td {
background: #fff !important;
}
tr.ant-table-expanded-row > td {
background: #fff !important;
}
.ant-table-thead > tr > th {
background-color: #F2F5FC !important;
}
}
}
.containercard {
padding: 20px;
background: #fff;
}
.footer {
display: flex;
bottom: 0;
width: 100%;
height: 64px;
position: fixed;
justify-content: flex-end;
opacity: 0.9;
background: #fff;
box-shadow: 0 -1px 4px 0 #e5e9ea;
padding: 0 20px;
}
}
\ No newline at end of file
import React from "react"
import styles from "./index.module.less"
interface outside{
title:string;
body:any;
footer?:any;
}
const OutSidePanel:React.FC<outside>=(props)=>{
const {title,body,footer} = props
return(
<div className={styles.omodel}>
<div className={styles.header}>
<span style={{ fontSize: 16, fontWeight: 'bold', color: '#fff' }}>{title}</span>
</div>
<div className={footer?styles.container:styles.containermore}>
<div className={styles.containercard}>
{body}
</div>
</div>
{footer&&<div className={styles.footer}>
{footer}
</div>}
</div>
)
}
export default OutSidePanel
\ No newline at end of file
...@@ -24,6 +24,33 @@ class AssetsManageService{ ...@@ -24,6 +24,33 @@ class AssetsManageService{
return result; return result;
} }
async getProcessDetail(payload={},autotip=false){
let result = await request({ url: `${asset}/takeResponsibilityApi/processDetail`, method: "get", data: payload },autotip).then(data=>{
return data;
}).catch(error=>{
return error
})
return result;
}
async saveQuestionNext(payload={},autotip=false){
let result = await request({ url: `${asset}/takeResponsibilityApi/reDistribute`, method: "post", data: payload },autotip).then(data=>{
return data;
}).catch(error=>{
return error
})
return result;
}
async saveQuestionFinal(payload={},autotip=false){
let result = await request({ url: `${asset}/takeResponsibilityApi/auditProcess`, method: "post", data: payload },autotip).then(data=>{
return data;
}).catch(error=>{
return error
})
return result;
}
} }
export default new AssetsManageService() export default new AssetsManageService()
\ No newline at end of file
...@@ -307,7 +307,8 @@ const List = React.forwardRef(function ({ items }, ref) { ...@@ -307,7 +307,8 @@ const List = React.forwardRef(function ({ items }, ref) {
) )
}) })
export const AuditUsersItem = ({ value, onChange }) => { export const AuditUsersItem = (props) => {
const { value, onChange } = props
const [loading, setLoading] = React.useState(false) const [loading, setLoading] = React.useState(false)
const [options, setOptions] = React.useState() const [options, setOptions] = React.useState()
......
import React,{useState,useEffect,useMemo} from "react" import React,{useState,useEffect,useMemo} from "react"
import {Modal,Spin,Button,Form,Row,Col,Upload,Input,Tooltip,Typography,Table} from "antd" import {Modal,Spin,Button,Form,Row,Col,Upload,Input,Tooltip,Typography,Table, message} from "antd"
import {UploadOutlined} from "@ant-design/icons" import {UploadOutlined} from "@ant-design/icons"
import { useSetState } from "ahooks"
import { AuditUsersItem,AttachesItem } from "../../AssetDraft/start-flow" import { AuditUsersItem,AttachesItem } from "../../AssetDraft/start-flow"
import { showMessage, showNotifaction } from '@/util' import { showMessage, showNotifaction } from '@/util'
import { dispatch } from '@/model' import { dispatch } from '@/model'
...@@ -13,9 +12,6 @@ const AssetFlow:React.FC<any>=(props)=>{ ...@@ -13,9 +12,6 @@ const AssetFlow:React.FC<any>=(props)=>{
const {visible,onCancel,item} = props const {visible,onCancel,item} = props
const [uploading, setUploading] = useState(false) const [uploading, setUploading] = useState(false)
const [tableDatas, setTableData] = React.useState() const [tableDatas, setTableData] = React.useState()
const [state,setState] = useSetState({
loading:false
})
const {loading,saveQuestionItem} = useGetFlowAction() const {loading,saveQuestionItem} = useGetFlowAction()
...@@ -40,17 +36,18 @@ const AssetFlow:React.FC<any>=(props)=>{ ...@@ -40,17 +36,18 @@ const AssetFlow:React.FC<any>=(props)=>{
const close=()=>{ const close=()=>{
onCancel?.() onCancel?.()
form.resetFields()
setTableData(tableData)
} }
const save=()=>{ const save=()=>{
form.validateFields().then((data)=>{ form.validateFields().then((data)=>{
data.submitItems=tableDatas; data.submitItems=tableDatas;
saveQuestionItem(data) saveQuestionItem(data,()=>{
message.success("操作成功")
close()
})
}) })
}
const onValuesChange=()=>{
} }
const uploadProps = { const uploadProps = {
...@@ -195,13 +192,12 @@ const AssetFlow:React.FC<any>=(props)=>{ ...@@ -195,13 +192,12 @@ const AssetFlow:React.FC<any>=(props)=>{
labelCol={{ span: 6 }} labelCol={{ span: 6 }}
wrapperCol={{ span: 18 }} wrapperCol={{ span: 18 }}
autoComplete="off" autoComplete="off"
onValuesChange={onValuesChange}
> >
<Row gutter={10}> <Row gutter={10}>
<Col span={12}> <Col span={12}>
<Form.Item <Form.Item
label='评审人员' label='评审人员'
name="applyUser" name="nextAuditUsers"
style={{ marginBottom:15 }} style={{ marginBottom:15 }}
rules={[{ required: true, message: '请选择评审人员!' }]} rules={[{ required: true, message: '请选择评审人员!' }]}
> >
...@@ -213,7 +209,7 @@ const AssetFlow:React.FC<any>=(props)=>{ ...@@ -213,7 +209,7 @@ const AssetFlow:React.FC<any>=(props)=>{
style={{ marginBottom:15 }} style={{ marginBottom:15 }}
> >
<Upload {...uploadProps }> <Upload {...uploadProps }>
<Button icon={<UploadOutlined />}>点击上传</Button> <Button loading={uploading} icon={<UploadOutlined />}>点击上传</Button>
</Upload> </Upload>
</Form.Item> </Form.Item>
...@@ -241,6 +237,7 @@ const AssetFlow:React.FC<any>=(props)=>{ ...@@ -241,6 +237,7 @@ const AssetFlow:React.FC<any>=(props)=>{
dataSource={tableDatas??[]} dataSource={tableDatas??[]}
pagination={false} pagination={false}
loading={tableloading} loading={tableloading}
rowKey="dataAssetId"
/> />
</Spin> </Spin>
</Modal> </Modal>
......
...@@ -34,12 +34,12 @@ export const useGetAssetQuestion = (props) => { ...@@ -34,12 +34,12 @@ export const useGetAssetQuestion = (props) => {
export const useGetFlowAction = () => { export const useGetFlowAction = () => {
const [loading, setLoading] = useState<boolean>(false); const [loading, setLoading] = useState<boolean>(false);
const saveQuestionItem = useCallback(async (params: any)=>{ const saveQuestionItem = useCallback(async (params: any,callback?:any)=>{
try { try {
setLoading(true); setLoading(true);
const response: any = await assetsManageService.saveQuestionItem(params); const response: any = await assetsManageService.saveQuestionItem(params);
if (httpUtil.checkSuccess(response, 1)) { if (httpUtil.checkSuccess(response, 1)) {
return response.data; callback?.()
} else { } else {
httpUtil.showError(response, 1); httpUtil.showError(response, 1);
} }
...@@ -48,5 +48,59 @@ export const useGetFlowAction = () => { ...@@ -48,5 +48,59 @@ export const useGetFlowAction = () => {
} }
},[]) },[])
return { saveQuestionItem, loading }; const saveQuestionItemNext = useCallback(async (params: any,callback?:any)=>{
try {
setLoading(true);
const response: any = await assetsManageService.saveQuestionNext(params);
if (httpUtil.checkSuccess(response, 1)) {
callback?.()
} else {
httpUtil.showError(response, 1);
}
} finally {
setLoading(false);
}
},[])
const saveQuestionItemFinal = useCallback(async (params: any,callback?:any)=>{
try {
setLoading(true);
const response: any = await assetsManageService.saveQuestionFinal(params);
if (httpUtil.checkSuccess(response, 1)) {
callback?.()
} else {
httpUtil.showError(response, 1);
}
} finally {
setLoading(false);
}
},[])
return { saveQuestionItem, loading,saveQuestionItemNext,saveQuestionItemFinal };
};
export const useGetProcessDetail = (props: {processId: string}) => {
const {processId} = props;
const [detail, setDetail] = useState<any>(null);
const [loading, setLoading] = useState<boolean>(false);
useEffect(() => {
const fetchData = async () => {
try {
setLoading(true);
const response: any = await assetsManageService.getProcessDetail({processId});
if (httpUtil.checkSuccess(response, 1)) {
setDetail(response.data);
} else {
httpUtil.showError(response, 1);
}
} finally {
setLoading(false);
}
};
if(processId)
fetchData();
}, [processId]);
return { detail, detalLoading:loading };
}; };
\ No newline at end of file
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