Commit 83f0aadb by fanyongjun

4.9

parent dc615ba6
import React,{useState, useEffect} from "react" import React,{useState, useEffect} from "react"
import {Card,Checkbox,Button,List,Skeleton,Row,Col,Typography,Pagination ,Space,Modal} from "antd" import {Card,Checkbox,Button,List,Skeleton,Row,Col,Typography,Pagination ,Space,Modal,Switch} from "antd"
import "./AssetTable.less" import "./AssetTable.less"
import {dispatch } from '../../../../model'; import {dispatch } from '../../../../model';
import AssetModal from "./AssetModal" import AssetModal from "./AssetModal"
...@@ -29,6 +29,8 @@ export default (props) =>{ ...@@ -29,6 +29,8 @@ export default (props) =>{
const [modal, contextHolder] = Modal.useModal(); const [modal, contextHolder] = Modal.useModal();
const [visible,setVisible] = useState({visible:false,addtype:true}) const [visible,setVisible] = useState({visible:false,addtype:true})
const [visible2,setVisible2] = useState({visible:false,box:{}}) const [visible2,setVisible2] = useState({visible:false,box:{}})
const [selectBox,setSelectBox] = useState([])
const [checkValue,setCheckValue] = useState(false)
useEffect(()=>{ useEffect(()=>{
getListBasicAttrs() getListBasicAttrs()
...@@ -37,7 +39,9 @@ export default (props) =>{ ...@@ -37,7 +39,9 @@ export default (props) =>{
useEffect(()=>{ useEffect(()=>{
if(nodeId) if(nodeId)
getTable() getTable()
},[nodeId,rebuild,keyMessage]) },[nodeId,rebuild])
const changeCurrent=(page,size)=>{ const changeCurrent=(page,size)=>{
...@@ -69,6 +73,8 @@ export default (props) =>{ ...@@ -69,6 +73,8 @@ export default (props) =>{
payload: {dirId:nodeId,pageNum:page,pageSize:size,keyword:keyMessage}, payload: {dirId:nodeId,pageNum:page,pageSize:size,keyword:keyMessage},
callback: dataBox => { callback: dataBox => {
setTableBox({dataList:dataBox.data,total:dataBox.total}) setTableBox({dataList:dataBox.data,total:dataBox.total})
setSelectBox([])
setCheckValue(false)
setTableLoad(false) setTableLoad(false)
}, },
error: () => { error: () => {
...@@ -108,7 +114,7 @@ export default (props) =>{ ...@@ -108,7 +114,7 @@ export default (props) =>{
content: '该资产在所有目录上唯一存在,移除后,你可以前往“资产回收站”重新挂载。', content: '该资产在所有目录上唯一存在,移除后,你可以前往“资产回收站”重新挂载。',
onOk: () => { onOk: () => {
assetS.deleteDataAssets(nodeId,[`${data.id}`],response=>{ assetS.deleteDataAssets(nodeId,[`${data.id}`],response=>{
setPageNumber({...pageNumber,rebuild:new Date().getTime}) setPageNumber({...pageNumber,rebuild:new Date().getTime()})
showMessage("success","删除成功") showMessage("success","删除成功")
},error=>{ },error=>{
}) })
...@@ -127,6 +133,50 @@ export default (props) =>{ ...@@ -127,6 +133,50 @@ export default (props) =>{
} }
const fetchTableList=()=>{ const fetchTableList=()=>{
setKeyMessage(keyWord) setKeyMessage(keyWord)
setPageNumber({...pageNumber,page:1,rebuild:new Date().getTime()})
}
const onCheck =(checked)=>{
if(checked){
let box = []
if(dataList&&dataList[0]!==undefined){
for (let data of dataList){
box.push(String(data.id))
}
}
setSelectBox(box)
}else{
setSelectBox([])
}
setCheckValue(checked)
}
const onChange=(checkedValue)=>{
if(checkedValue.length===dataList.length){
setCheckValue(true)
}else{
setCheckValue(false)
}
setSelectBox(checkedValue)
}
const dels=()=>{
if(selectBox&&selectBox[0]!==undefined){
modal.confirm({
title: '提示',
content: `你已选择了${selectBox.length}个资产,确定把它们都从挂载目录上移除吗?`,
onOk: () => {
assetS.deleteDataAssets(nodeId,selectBox,response=>{
setPageNumber({...pageNumber,page:1,rebuild:new Date().getTime()})
showMessage("success","删除成功")
},error=>{
})
}
})
}else{
showMessage("warn","请选择删除项")
}
} }
return( return(
...@@ -154,20 +204,18 @@ export default (props) =>{ ...@@ -154,20 +204,18 @@ export default (props) =>{
} }
> >
<div style={{display:'flex',justifyContent:'space-between',height:52,padding:'10px 0',borderBottom:'1px solid #f0f0f0',lineHeight:'32px'}}> <div style={{display:'flex',justifyContent:'space-between',height:52,padding:'10px 0',borderBottom:'1px solid #f0f0f0',lineHeight:'32px'}}>
{/* <Switch checkedChildren="全选" unCheckedChildren="取消" defaultChecked style={{marginTop:4}}/> */} <Switch checkedChildren="全选" unCheckedChildren="全选" checked={checkValue} onChange={onCheck} defaultChecked={false} style={{marginTop:4}}/>
<div></div>
<Space> <Space>
<Button type="primary" onClick={add}>新增</Button> <Button type="primary" onClick={add}>新增</Button>
{/* <Button type="primary" danger>删除</Button> */} <Button type="primary" danger onClick={dels} >删除</Button>
{/* <Button type="primary" >导入</Button> {/* <Button type="primary" >导入</Button>
<Button type="primary" >导出</Button> */} <Button type="primary" >导出</Button> */}
</Space> </Space>
</div> </div>
<Checkbox.Group style={{width:'100%'}}> <Checkbox.Group style={{width:'100%'}} onChange={onChange} value={selectBox}>
<List <List
loading={tableLoad} loading={tableLoad}
itemLayout="vertical" itemLayout="vertical"
dataSource={dataList || []} dataSource={dataList || []}
...@@ -185,8 +233,8 @@ export default (props) =>{ ...@@ -185,8 +233,8 @@ export default (props) =>{
<List.Item.Meta <List.Item.Meta
title={ title={
<div> <div>
{/* <Checkbox value={item.id}></Checkbox> */} <Checkbox value={item.id}></Checkbox>
<span dangerouslySetInnerHTML={{ __html: item.id || '' }} /> <span dangerouslySetInnerHTML={{ __html: item.id || '' }} style={{marginLeft:8}}/>
</div> </div>
} }
description={ description={
......
...@@ -11,7 +11,7 @@ import './LeftTree.less'; ...@@ -11,7 +11,7 @@ import './LeftTree.less';
const {TreeNode} = Tree const {TreeNode} = Tree
export default (props)=>{ export default (props)=>{
const {setNodeId} = props const {setNodeId,nodeId} = props
const [treeBox,setTreeBox] = useState([]) const [treeBox,setTreeBox] = useState([])
const [dataList,setDataList] = useState([]) const [dataList,setDataList] = useState([])
...@@ -23,7 +23,6 @@ export default (props)=>{ ...@@ -23,7 +23,6 @@ export default (props)=>{
const [autoExpandParent,setAutoExpandParent] = useState(false) const [autoExpandParent,setAutoExpandParent] = useState(false)
const [modal, contextHolder] = Modal.useModal(); const [modal, contextHolder] = Modal.useModal();
const [searchMessage,setSearchMessage] = useState('') const [searchMessage,setSearchMessage] = useState('')
const [allTpoic,setAllTopic] = useState([])
const [detailBox,setDetailBox] = useState({}) const [detailBox,setDetailBox] = useState({})
const [visible2,setVisible2] = useState(false) const [visible2,setVisible2] = useState(false)
...@@ -36,10 +35,31 @@ export default (props)=>{ ...@@ -36,10 +35,31 @@ export default (props)=>{
}//展开树 }//展开树
const selectNode=(selectedKeys,e)=>{ const selectNode=(selectedKeys,e)=>{
setNodeId(selectedKeys[0]) // console.log('selectedKeys',selectedKeys)
setNodeBox({...nodeBox,selectKey:selectedKeys,dataBox:e.selectedNodes[0].dataRef}) // console.log('e',e)
if(e.selectedNodes[0]){
setNodeId(selectedKeys[0])
getNodeDetail(selectedKeys[0])
setNodeBox({...nodeBox,selectKey:selectedKeys,dataBox:e.selectedNodes[0].dataRef})
}else{
console.log('nodeId',nodeId)
console.log('nodeBox',nodeBox)
}
}//点击树 }//点击树
const getNodeDetail=(nodeId)=>{
dispatch({
type: 'assetmanage.getDirectoryById',
payload: {dirId:nodeId},
callback: dataBox => {
setDetailBox(dataBox)
},
error: () => {
}
})
}
const getTree =()=>{ const getTree =()=>{
setTreeLoad(true) setTreeLoad(true)
...@@ -56,9 +76,11 @@ export default (props)=>{ ...@@ -56,9 +76,11 @@ export default (props)=>{
setTreeBox(newTree) setTreeBox(newTree)
setNodeId(newTree[0].key) setNodeId(newTree[0].key)
setNodeBox({openNode:[],selectKey:[String(newTree[0].key)],dataBox:newTree[0]}) setNodeBox({openNode:[],selectKey:[String(newTree[0].key)],dataBox:newTree[0]})
getNodeDetail(newTree[0].key)
}else if(treeRebuild.type==='add'){ }else if(treeRebuild.type==='add'){
if(treeBox&&treeBox[0]){ if(treeBox&&treeBox[0]){
}else{ }else{
getNodeDetail(newTree[0].key)
setNodeBox({openNode:[],selectKey:[String(newTree[0].key)],dataBox:newTree[0]}) setNodeBox({openNode:[],selectKey:[String(newTree[0].key)],dataBox:newTree[0]})
} }
}else if(treeRebuild.type==='edit'){ }else if(treeRebuild.type==='edit'){
...@@ -66,10 +88,12 @@ export default (props)=>{ ...@@ -66,10 +88,12 @@ export default (props)=>{
}else if(treeRebuild.type==='delete'){ }else if(treeRebuild.type==='delete'){
const box = getPatentNode(newTree,nodeBox.dataBox.pid) const box = getPatentNode(newTree,nodeBox.dataBox.pid)
setNodeId(box.key) setNodeId(box.key)
getNodeDetail(box.key)
setNodeBox({...nodeBox,selectKey:[String(box.key)],dataBox:box,}) setNodeBox({...nodeBox,selectKey:[String(box.key)],dataBox:box,})
} }
}else{ }else{
setTreeBox([]) setTreeBox([])
setDetailBox({})
setNodeBox({openNode:[],selectKey:[],dataBox:{}}) setNodeBox({openNode:[],selectKey:[],dataBox:{}})
} }
setTreeLoad(false) setTreeLoad(false)
...@@ -115,62 +139,28 @@ export default (props)=>{ ...@@ -115,62 +139,28 @@ export default (props)=>{
}//获取父节点 }//获取父节点
const add = ()=>{ const add = ()=>{
if(nodeBox.dataBox.nodeId!=undefined){
for (let topic of allTpoic){
if(topic.id===nodeBox.dataBox.nodeId){
setDetailBox(topic)
}
}
}
setVisible(true) setVisible(true)
setTreeRebuild({...treeRebuild,type:'add'}) setTreeRebuild({...treeRebuild,type:'add'})
} }
const update = ()=>{ const update = ()=>{
if(nodeBox.dataBox.nodeId!=undefined){ setVisible(true)
// for (let topic of allTpoic){ setTreeRebuild({...treeRebuild,type:'edit'})
// if(topic.id===nodeBox.dataBox.nodeId){
// console.log(topic)
// setDetailBox(topic)
// }
// }
dispatch({
type: 'assetmanage.getDirectoryById',
payload: {dirId:nodeBox.dataBox.nodeId},
callback: dataBox => {
setDetailBox(dataBox)
setVisible(true)
setTreeRebuild({...treeRebuild,type:'edit'})
},
error: () => {
}
})
}
} }
const importFunction =()=>{ const importFunction =()=>{
if(nodeBox.dataBox.nodeId!=undefined){
for (let topic of allTpoic){
if(topic.id===nodeBox.dataBox.nodeId){
setDetailBox(topic)
}
}
}
setVisible2(true) setVisible2(true)
} }
const exportFunction=(type)=>{ const exportFunction=(type)=>{
if(!type){ if(!type){
window.open(`/api/dataassetmanager/directoryApi/export`); window.open(`/api/dataassetmanager/directoryApi/export`);
}else{ }else{
if(nodeBox.dataBox.nodeId!=undefined){ if(nodeBox.dataBox.nodeId!=undefined){
for (let topic of allTpoic){ window.open(`/api/dataassetmanager/directoryApi/export?parentPath=${detailBox.path}`);
if(topic.id===nodeBox.dataBox.nodeId){
window.open(`/api/dataassetmanager/directoryApi/export?parentPath=${topic.path}`);
return
}
}
}else{ }else{
showMessage("warn","请选择目录") showMessage("warn","请选择目录")
...@@ -202,7 +192,6 @@ export default (props)=>{ ...@@ -202,7 +192,6 @@ export default (props)=>{
} }
}, },
error: () => { error: () => {
} }
}) })
...@@ -232,7 +221,6 @@ export default (props)=>{ ...@@ -232,7 +221,6 @@ export default (props)=>{
return null; return null;
}) })
.filter((item, i, self) => item && self.indexOf(item) == i); .filter((item, i, self) => item && self.indexOf(item) == i);
console.log({...nodeBox,openNode:expandedKeys})
setAutoExpandParent(true) setAutoExpandParent(true)
setNodeBox({...nodeBox,openNode:expandedKeys}) setNodeBox({...nodeBox,openNode:expandedKeys})
setSearchValue(searchMessage) setSearchValue(searchMessage)
...@@ -375,8 +363,8 @@ export default (props)=>{ ...@@ -375,8 +363,8 @@ export default (props)=>{
{loop(treeBox)} {loop(treeBox)}
</Tree> </Tree>
</Spin> </Spin>
<TreeModal visible={visible} handleCancle={handleCancle} addType={treeRebuild.type==='add'?true:false} editBox={detailBox} selectKey={nodeBox.selectKey[0]} setTreeRebuild={setTreeRebuild} treeRebuild={treeRebuild} /> <TreeModal visible={visible} handleCancle={handleCancle} addType={treeRebuild.type==='add'?true:false} editBox={detailBox} selectKey={nodeBox.selectKey[0]} setTreeRebuild={setTreeRebuild} treeRebuild={treeRebuild} getNodeDetail={getNodeDetail} />
<ThemeFile fileVisible={visible2} handleCancle={handleCancle2} editBox={detailBox} selectKey={nodeBox.selectKey[0]} setTreeRebuild={setTreeRebuild} /> <ThemeFile fileVisible={visible2} handleCancle={handleCancle2} editBox={detailBox} selectKey={nodeBox.selectKey[0]} setTreeRebuild={setTreeRebuild} />
{contextHolder} {contextHolder}
</Card> </Card>
......
...@@ -129,7 +129,7 @@ export default (props)=>{ ...@@ -129,7 +129,7 @@ export default (props)=>{
> >
<Form {...formItemLayout} form={form}> <Form {...formItemLayout} form={form}>
<Form.Item <Form.Item
label="文件" label="挂载位置"
name="type" name="type"
rules={[{ required: true, message: '必填项'}]} rules={[{ required: true, message: '必填项'}]}
......
...@@ -7,7 +7,7 @@ import { showMessage } from '../../../../util'; ...@@ -7,7 +7,7 @@ import { showMessage } from '../../../../util';
const {TabPane} = Tabs const {TabPane} = Tabs
export default (props)=>{ export default (props)=>{
const {handleCancle,visible,editBox,addType,selectKey,setDataCache,setTreeRebuild,treeRebuild} = props const {handleCancle,visible,editBox,addType,selectKey,getNodeDetail,setTreeRebuild,treeRebuild} = props
const [form] = Form.useForm() const [form] = Form.useForm()
const [saveLoad,setSaveLod] = useState(false) const [saveLoad,setSaveLod] = useState(false)
...@@ -79,6 +79,7 @@ export default (props)=>{ ...@@ -79,6 +79,7 @@ export default (props)=>{
payload: {param:{parentPath:editBox.path},data:box}, payload: {param:{parentPath:editBox.path},data:box},
callback: data => { callback: data => {
setSaveLod(false) setSaveLod(false)
getNodeDetail(data.id)
showMessage("success","修改成功") showMessage("success","修改成功")
setTreeRebuild({...treeRebuild,build:new Date().getTime()}) setTreeRebuild({...treeRebuild,build:new Date().getTime()})
handleCancle() handleCancle()
......
...@@ -25,7 +25,7 @@ class Index extends React.Component { ...@@ -25,7 +25,7 @@ class Index extends React.Component {
return ( return (
<Row gutter={15}> <Row gutter={15}>
<Col span={6}> <Col span={6}>
<LeftTree setNodeId={this.setNodeId}/> <LeftTree setNodeId={this.setNodeId} nodeId={this.state.nodeId}/>
</Col> </Col>
<Col span={18}> <Col span={18}>
<AssetTable nodeId={this.state.nodeId} /> <AssetTable nodeId={this.state.nodeId} />
......
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