|
@@ -1,4 +1,4 @@
|
|
|
-import { iModalProps, TenderTree } from '@/types/tender'
|
|
|
+import { iModalProps, iTenderFormValue, TenderTree } from '@/types/tender'
|
|
|
import { Form, Input, message, Modal, TreeSelect } from 'antd'
|
|
|
import React, { useEffect, useState } from 'react'
|
|
|
|
|
@@ -9,10 +9,11 @@ interface Option {
|
|
|
children?: Option[];
|
|
|
}
|
|
|
|
|
|
+
|
|
|
interface iModalFormProps {
|
|
|
treeObj: TenderTree
|
|
|
modalObj: iModalProps
|
|
|
- onCreate: (values, type ) => void
|
|
|
+ onCreate: (values: iTenderFormValue, type: string ) => void
|
|
|
onCancel: () => void
|
|
|
}
|
|
|
|
|
@@ -50,10 +51,12 @@ const ModalForm: React.FC<iModalFormProps> = ({
|
|
|
},
|
|
|
delFolder: {
|
|
|
title: '删除文件夹',
|
|
|
+ nameTitle: '',
|
|
|
okText: '确认删除'
|
|
|
},
|
|
|
delTender: {
|
|
|
title: '删除标段',
|
|
|
+ nameTitle: '',
|
|
|
okText: '确认删除'
|
|
|
},
|
|
|
move: {
|
|
@@ -70,9 +73,8 @@ const ModalForm: React.FC<iModalFormProps> = ({
|
|
|
useEffect(() => {
|
|
|
form.setFieldsValue({ [type === 'tender' ? 'folderId' : 'id']: id })
|
|
|
if (type === 'move') {
|
|
|
- console.log('iiiid', id)
|
|
|
|
|
|
- setCascader(mapTree([ treeObj ], id, isFolder))
|
|
|
+ setCascader(mapTree([ treeObj ], id, isFolder) as Option[])
|
|
|
}
|
|
|
if (type === 'move' || type.indexOf('del') !== -1) {
|
|
|
setShowNameInput(false)
|
|
@@ -94,7 +96,7 @@ const ModalForm: React.FC<iModalFormProps> = ({
|
|
|
onCancel={onCancel}
|
|
|
closable={false}
|
|
|
onOk={() => {
|
|
|
- form.validateFields().then((values) => {
|
|
|
+ form.validateFields().then(values => {
|
|
|
form.resetFields()
|
|
|
onCreate(values, type)
|
|
|
}).catch(info => {
|
|
@@ -129,32 +131,23 @@ const ModalForm: React.FC<iModalFormProps> = ({
|
|
|
}
|
|
|
|
|
|
function mapTree(treeArr:TenderTree[], id: string, isFolder: boolean) {
|
|
|
- console.log(treeArr)
|
|
|
- console.log('id', id)
|
|
|
- console.log('isFolder', isFolder)
|
|
|
+ const arr = treeArr?.map((tree:TenderTree) => {
|
|
|
+ console.log(tree.id === id, tree.id)
|
|
|
|
|
|
- const arr = treeArr.map((tree:TenderTree) => {
|
|
|
- const newTree = { value: tree.id, title: tree.name, disabled: tree.id === id }
|
|
|
+ const newTree: Option = { value: tree.id, title: tree.name, disabled: tree.id === id }
|
|
|
// 要移动的是文件夹
|
|
|
if (isFolder && tree.isBid) {
|
|
|
// 该目录下已有标段不可移动文件夹至此目录
|
|
|
newTree.disabled = true
|
|
|
- console.log(newTree)
|
|
|
-
|
|
|
- return newTree
|
|
|
}
|
|
|
- if (tree.isfolder || tree.hasFolder) {
|
|
|
- if (tree.childsTotal > 0) {
|
|
|
- if (tree.children.findIndex(item => item.id === id) !== -1) {
|
|
|
- newTree.disabled = true
|
|
|
- }
|
|
|
- newTree.children = mapTree(tree.children, tree.id, Boolean(tree.isfolder))
|
|
|
+ if (tree.children?.length) {
|
|
|
+ if (tree.children.findIndex(item => item.id === id) !== -1) {
|
|
|
+ newTree.disabled = true
|
|
|
}
|
|
|
- return newTree
|
|
|
+ newTree.children = mapTree(tree.children, id, Boolean(tree.isfolder)) as Option[]
|
|
|
}
|
|
|
+ return newTree
|
|
|
}).filter(item => item) // filter过滤滤掉map可能产生的underfined item
|
|
|
- console.log('arr', arr)
|
|
|
-
|
|
|
return arr
|
|
|
}
|
|
|
|