|
@@ -1,18 +1,7 @@
|
|
|
+import { Assembly, assemblyToMap } from '@/pages/Business/Matter/components/AssemblyDetail'
|
|
|
import { Card, Checkbox } from 'antd'
|
|
|
import { flatMapDeep } from 'lodash'
|
|
|
|
|
|
-export enum MatterPerm {
|
|
|
- FORM = 'formPermission',
|
|
|
- COST = 'costPermission',
|
|
|
- PROFILE = 'profilePermission'
|
|
|
-}
|
|
|
-
|
|
|
-const matterPermMap = {
|
|
|
- [MatterPerm.FORM]: '表单',
|
|
|
- [MatterPerm.COST]: '造价文件',
|
|
|
- [MatterPerm.PROFILE]: '资料清单'
|
|
|
-}
|
|
|
-
|
|
|
type MatterPermissionProps = {
|
|
|
defaultValue: {
|
|
|
matterID: string
|
|
@@ -25,7 +14,7 @@ type MatterPermissionProps = {
|
|
|
}
|
|
|
|
|
|
const MatterPermission: React.FC<MatterPermissionProps> = ({ defaultValue, toggleMatter, matterList }) => {
|
|
|
- const matterFlattenList = flatMapDeep(matterList, item => [item, ...item.children])
|
|
|
+ const matterFlattenList = flatMapDeep(matterList, item => [item, ...(item?.children || [])])
|
|
|
return (
|
|
|
<div
|
|
|
style={{ maxHeight: document.querySelector('body')?.clientHeight - 186 }}
|
|
@@ -36,21 +25,23 @@ const MatterPermission: React.FC<MatterPermissionProps> = ({ defaultValue, toggl
|
|
|
size="small"
|
|
|
className="mb-2!"
|
|
|
title={matterFlattenList.find(item => item.ID === matter.matterID)?.name}>
|
|
|
- {[MatterPerm.COST, MatterPerm.FORM, MatterPerm.PROFILE].map(item => (
|
|
|
- <div key={item} className="flex justify-between items-center my-1">
|
|
|
- <div className="flex-1">{matterPermMap[item]}</div>
|
|
|
- <div className="w-40">
|
|
|
- <Checkbox.Group
|
|
|
- defaultValue={matter[item]}
|
|
|
- options={[
|
|
|
- { label: '查看', value: 'view' },
|
|
|
- { label: '编辑', value: 'edit' }
|
|
|
- ]}
|
|
|
- onChange={checkedValue => toggleMatter(matter.matterID, { [item]: checkedValue })}
|
|
|
- />
|
|
|
+ {matterFlattenList
|
|
|
+ .find(item => item.ID === matter.matterID)
|
|
|
+ ?.assembly?.map((item: Assembly) => (
|
|
|
+ <div key={item} className="flex justify-between items-center my-1">
|
|
|
+ <div className="flex-1">{assemblyToMap[item].name}</div>
|
|
|
+ <div className="w-40">
|
|
|
+ <Checkbox.Group
|
|
|
+ defaultValue={matter[assemblyToMap[item].permKey]}
|
|
|
+ options={[
|
|
|
+ { label: '查看', value: 'view' },
|
|
|
+ { label: '编辑', value: 'edit' }
|
|
|
+ ]}
|
|
|
+ onChange={checkedValue => toggleMatter(matter.matterID, { [item]: checkedValue })}
|
|
|
+ />
|
|
|
+ </div>
|
|
|
</div>
|
|
|
- </div>
|
|
|
- ))}
|
|
|
+ ))}
|
|
|
</Card>
|
|
|
))}
|
|
|
</div>
|