| 
					
				 | 
			
			
				@@ -0,0 +1,281 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { useModel, useRequest } from 'umi' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { Delete, DataLock } from '@icon-park/react' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import ProForm, { ProFormCheckbox, ProFormDependency, ProFormSwitch } from '@ant-design/pro-form' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import type { FormInstance } from 'antd' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { message, Table, Tabs, Radio, Space, Popconfirm } from 'antd' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import React, { useRef, useMemo, useState, useEffect } from 'react' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  fetchRoleStaffListByRoleId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  updateRolePermission, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  getRolePermissions, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  updatePermDataByRoleId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  deleteStaff 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} from '@/services/user/api' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import type { ColumnsType } from 'antd/lib/table' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { formatPermission } from '@/utils/utils' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import RoleMenu from '../System/components/RoleMenu' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import ConnectModal from '../System/components/ConnectModal' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import FormItem from 'antd/lib/form/FormItem' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const permData = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    label: '本人', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    value: 'oneself' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    label: '本人及下属', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    value: 'underling' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    label: '本部门', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    value: 'department' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    label: '本部门及下属部门', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    value: 'departmentAll' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    label: '全部', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    value: 'all' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const Product = () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const { TabPane } = Tabs 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const formRef = useRef<FormInstance>(null) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const formRef2 = useRef<FormInstance>(null) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const { initialState } = useModel('@@initialState') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const menuId = useMemo(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return initialState?.menuList?.find(item => item.name === '产品')?.id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, initialState.menuList) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const [state, setState] = useState({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    id: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    roleStaff: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    rolePermission: {}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    dataPermission: {}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    activeKey: '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const onSelect = (id: string) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    setState({ ...state, id }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const { run: tryGetRoleStaffList } = useRequest( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    (id: string) => fetchRoleStaffListByRoleId({ id }), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      manual: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      onSuccess: result => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        setState({ ...state, roleStaff: result }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const { run: tryGetRolePermissions } = useRequest((id: string) => getRolePermissions({ id }), { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    manual: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    onSuccess: (result: API.GetRolePermissionResultModel) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const values = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        client: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        company: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        business: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ...formatPermission('init', result.permission) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      setState({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ...state, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        rolePermission: values, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        dataPermission: result.dataPermission ? JSON.parse(result.dataPermission) : null 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      formRef.current?.setFieldsValue({ ...values }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      formRef2.current?.setFieldsValue( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        result.dataPermission ? JSON.parse(result.dataPermission) : null 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const { run: tryDeleteStaff } = useRequest( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    (params: API.DeleteStaff) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return deleteStaff(params) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      manual: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      onSuccess: () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        message.success('移除员工成功') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        tryGetRoleStaffList(state.id) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  useEffect(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (state.id) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      tryGetRoleStaffList(state.id) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      tryGetRolePermissions(state.id) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (state.activeKey === '2') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      formRef.current?.setFieldsValue({ ...state.rolePermission }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (state.activeKey === '3') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      formRef2.current?.setFieldsValue({ ...state.dataPermission }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, [state.id, state.activeKey]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const columns: ColumnsType<API.RoleStaffListItem> = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      title: '用户', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      dataIndex: 'username', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      width: '15%' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      title: '手机', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      dataIndex: 'phone', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      width: '20%' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      title: '部门', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      dataIndex: 'departmentName', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      width: '20%' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      title: '岗位', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      dataIndex: 'position', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      width: '15%' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      title: '角色', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      dataIndex: 'age', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      width: '20%' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      title: '操作', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      dataIndex: 'opreate', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      width: '20%', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      render: (_, record) => ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <Popconfirm 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          title="确认删除吗?" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          okText="确认" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          cancelText="取消" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          onConfirm={() => tryDeleteStaff({ id: state.id, staffId: record.staffId })}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <div className="pl-2 text-hex-fd3995 cursor-pointer hover:text-hex-e7026e"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <Delete /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </Popconfirm> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  ] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  return ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <div className="h-full w-full flex flex-row"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <RoleMenu menuId={menuId} onSelect={onSelect} itemCount={state.roleStaff?.length || 0} /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <div className="w-max-3/4"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <div className="ml-8 bg-white p-4 shadow-md shadow-hex-3e2c5a relative"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <div className="absolute right-4 top-4 z-100"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            {state.id && ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <ConnectModal 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                title="关联员工" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                dataId={state.id} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                postUrl="/role/staff/add" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                onReload={() => tryGetRoleStaffList(state.id)} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            )} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <Tabs 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            defaultActiveKey="1" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            type="card" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            onChange={key => setState({ ...state, activeKey: key })}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <TabPane tab="员工列表" key="1"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <Table<API.RoleStaffListItem> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                dataSource={state.roleStaff} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                columns={columns} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                rowKey={row => row.staffId} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </TabPane> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <TabPane tab="角色权限" key="2"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <div className="ml-4"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                {state.id && ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <ProForm 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    formRef={formRef} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    layout="horizontal" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    onFinish={async values => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      const newValues = formatPermission('submit', values) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      await updateRolePermission({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        permission: JSON.stringify(newValues), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        id: state.id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      message.success('设置成功') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    }}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <ProFormSwitch 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      fieldProps={{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        onChange(checked) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          if (!checked) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            formRef.current?.setFieldsValue({ client: [] }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      name="showLockstore" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      label={ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        <span className="flex items-center"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          <DataLock 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            theme="outline" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            className="mr-1" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            className="flex items-baseline mr-1" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          软件锁-公共锁库 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        </span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <ProFormDependency name={['showLockstore']}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      {({ showLockstore }) => ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        <ProFormCheckbox.Group 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          wrapperCol={{ offset: 1 }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          name="lockstore" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          options={[ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            { value: 'access', label: '查看', disabled: !showLockstore }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            { value: 'delete', label: '删除', disabled: !showLockstore } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          ]} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      )} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    </ProFormDependency> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  </ProForm> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                )} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </TabPane> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <TabPane tab="数据权限" key="3"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              {state.id && ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <ProForm 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  formRef={formRef2} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  layout="vertical" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  onFinish={async values => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      await updatePermDataByRoleId({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        id: state.id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        dataPermission: JSON.stringify(values) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } catch (error) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      return message.error(error.toString()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    message.success('设置成功') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    return true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  }}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <FormItem name="access" label="客户模块可见" required> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <Radio.Group> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      <Space direction="vertical"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        {permData.map(item => ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          <Radio key={item.value} value={item.value}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            {item.label} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          </Radio> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        ))} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      </Space> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    </Radio.Group> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  </FormItem> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                </ProForm> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              )} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </TabPane> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </Tabs> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+export default Product 
			 |