Commit 984a5316 by fanyj

tijiao

parent 360b070e
import qs from "qs"
import config from "../commons"
import request from "../utils/request"
const {api:{asset}} = config
class AssetsManageService{
async getAllQuestionWarning(payload={},autotip=false){
let result = await request({ url: `${asset}/takeResponsibilityApi/listSubmitForAuditAssetsInfo`, method: "get", data: payload },autotip).then(data=>{
return data;
}).catch(error=>{
return error
})
return result;
}
async saveQuestionItem(payload={},autotip=false){
let result = await request({ url: `${asset}/takeResponsibilityApi/submitForAudit`, method: "post", data: payload },autotip).then(data=>{
return data;
}).catch(error=>{
return error
})
return result;
}
}
export default new AssetsManageService()
\ No newline at end of file
import standardsService from "./standardsService"
import assetsManageService from "./assetsManageService"
export {
standardsService
standardsService,
assetsManageService
}
\ No newline at end of file
import React,{useState} from "react"
import React,{useState,useEffect,useMemo} from "react"
import {Modal,Spin,Button,Form,Row,Col,Upload,Input,Tooltip,Typography,Table} from "antd"
import {UploadOutlined} from "@ant-design/icons"
import { useSetState } from "ahooks"
......@@ -6,25 +6,47 @@ import { AuditUsersItem,AttachesItem } from "../../AssetDraft/start-flow"
import { showMessage, showNotifaction } from '@/util'
import { dispatch } from '@/model'
import produce from 'immer'
import {useGetAssetQuestion,useGetFlowAction} from "../hooks/Detail"
const AssetFlow:React.FC<any>=(props)=>{
const {visible,onCancel,item} = props
const [loading, setLoading] = useState(false)
const [uploading, setUploading] = useState(false)
const [tableData, setTableData] = React.useState()
const [tableDatas, setTableData] = React.useState()
const [state,setState] = useSetState({
loading:false
})
const {loading,saveQuestionItem} = useGetFlowAction()
const [form] = Form.useForm()
const ids = useMemo(()=>{
if(item.length){
return (item||[]).map((item:any)=>{
return item.id
})
}else{
return []
}
},[item])
const {tableData,tableloading} = useGetAssetQuestion({ids})
useEffect(()=>{
setTableData(tableData)
},[tableData])
const close=()=>{
onCancel?.()
}
const save=()=>{
form.validateFields().then((data)=>{
data.submitItems=tableDatas;
saveQuestionItem(data)
})
}
const onValuesChange=()=>{
......@@ -119,6 +141,24 @@ const AssetFlow:React.FC<any>=(props)=>{
)
},
{
title: '待完成属性',
key: 'columns',
dataIndex:'responsibilityAttributeMap',
render: (text, record) => {
const name = Object.values((text||{})).map((item:any)=>{
return item.cnName
})
return (
<Tooltip title={name.join(',')}>
<Typography.Text ellipsis={true}>
{name.join(',')}
</Typography.Text>
</Tooltip>
)
}
},
{
title: '送审备注',
dataIndex: 'remarks',
render: (_, __, index) => (
......@@ -140,15 +180,16 @@ const AssetFlow:React.FC<any>=(props)=>{
return(
<Modal
visible={visible}
confirmLoading={state.loading}
confirmLoading={loading}
width='80%'
bodyStyle={{ padding: '15px', overflowX: 'auto', height: '80vh' }}
title='资产问责'
centered
destroyOnClose
onOk={save}
onCancel={() => { close() }}
>
<Spin spinning={state.loading}>
<Spin spinning={tableloading}>
<Form
form={form}
labelCol={{ span: 6 }}
......@@ -160,7 +201,7 @@ const AssetFlow:React.FC<any>=(props)=>{
<Col span={12}>
<Form.Item
label='评审人员'
name="nextAuditUsers"
name="applyUser"
style={{ marginBottom:15 }}
rules={[{ required: true, message: '请选择评审人员!' }]}
>
......@@ -197,8 +238,9 @@ const AssetFlow:React.FC<any>=(props)=>{
</Form>
<Table
columns={cols??[]}
dataSource={tableData??[]}
dataSource={tableDatas??[]}
pagination={false}
loading={tableloading}
/>
</Spin>
</Modal>
......
import React,{ useState, useEffect, useRef, useContext, useMemo } from "react";
import { Button, Pagination, Space, Modal, Input, Tooltip, Checkbox, Typography, Dropdown, Menu, Divider, Select } from "antd";
import { Button, Pagination, Space, Modal, Input, Tooltip, Checkbox, Typography, Dropdown, Menu, Divider, Select, message } from "antd";
import classNames from 'classnames';
import { Resizable } from 'react-resizable';
import ResizeObserver from 'rc-resize-observer';
......@@ -1063,7 +1063,7 @@ const AssetTable = (props) => {
id: contextMenuItem?.id
})
}else if(key ==='发起问责'){
questionModal.openModal(contextMenuItem)
questionModal.openModal([contextMenuItem])
}
}
......@@ -1120,6 +1120,12 @@ const AssetTable = (props) => {
onBatchAddTagClick()
} else if (key === 'visibleColSetting') {
onFilterElementClick()
}else if(key==='questionwaring'){
if(selectedRows.length){
questionModal.openModal(selectedRows)
}else{
message.info("请选择资产")
}
}
}
......
import { useEffect, useState,useCallback } from 'react';
import {httpUtil} from "@/utils"
import { assetsManageService } from '@/services';
export const useGetAssetQuestion = (props) => {
const {ids} = props
const [data, setData] = useState<any>(null);
const [loading, setLoading] = useState<boolean>(false);
useEffect(() => {
const fetchData = async () => {
if (!ids || ids.length === 0) return;
try {
setLoading(true);
const response:any = await assetsManageService.getAllQuestionWarning({dataAssetIds:ids.join(',')})
if(httpUtil.checkSuccess(response,1)){
setData(response.data);
}else{
httpUtil.showError(response,1)
}
} finally {
setLoading(false);
}
};
fetchData();
}, [ids]);
return { tableData:data, tableloading:loading };
};
export const useGetFlowAction = () => {
const [loading, setLoading] = useState<boolean>(false);
const saveQuestionItem = useCallback(async (params: any)=>{
try {
setLoading(true);
const response: any = await assetsManageService.saveQuestionItem(params);
if (httpUtil.checkSuccess(response, 1)) {
return response.data;
} else {
httpUtil.showError(response, 1);
}
} finally {
setLoading(false);
}
},[])
return { saveQuestionItem, loading };
};
\ No newline at end of file
export * from "./Detail"
\ 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