Commit 173c142e by zhaochengxiang

模型负责人

parent c940cb75
......@@ -15,8 +15,6 @@ const FC = (props) => {
const { editable, form, modelerData, action, onChange } = props
const [isCollapse, setCollapse] = React.useState(true)
const [maintenanceRecords, setMaintenanceRecords] = React.useState()
const [loadingUsers, setLoadingUsers] = React.useState(false)
const [users, setUsers] = React.useState()
React.useEffect(() => {
const $importActionSubject = importActionSubject.subscribe((props) => {
......@@ -31,10 +29,6 @@ const FC = (props) => {
}, [action])
React.useEffect(() => {
getUsers()
}, [])
React.useEffect(() => {
if (modelerData?.id) {
getMaintenanceRecords()
}
......@@ -125,12 +119,12 @@ const FC = (props) => {
<Row gutter={10}>
<Col xs={24} sm={24} lg={12} xl={8}>
<Form.Item label='技术负责人' name='technicalManagerUser'>
<UsersItem loading={loadingUsers} users={users} />
<UsersItem />
</Form.Item>
</Col>
<Col xs={24} sm={24} lg={12} xl={8}>
<Form.Item label='业务负责人' name='businessManagerUser'>
<UsersItem loading={loadingUsers} users={users} />
<UsersItem />
</Form.Item>
</Col>
<Col xs={24} sm={24} lg={12} xl={8}>
......@@ -145,10 +139,10 @@ const FC = (props) => {
) : (
<Descriptions column={3}>
<Descriptions.Item label={<div style={{ textAlign: 'right', width: 106 }} >技术负责人</div>}>
{modelerData?.technicalManagerUser?.name}
{`${modelerData?.technicalManagerUser?.dname}(${modelerData?.technicalManagerUser?.name})`}
</Descriptions.Item>
<Descriptions.Item label={<div style={{ textAlign: 'right', width: 106 }} >业务负责人</div>}>
{modelerData?.businessManagerUser?.name}
{`${modelerData?.businessManagerUser?.dname}(${modelerData?.businessManagerUser?.name})`}
</Descriptions.Item>
<Descriptions.Item label={<div style={{ textAlign: 'right', width: 106 }} >维护历史</div>} >
<div style={{ maxHeight: 70, overflow: 'auto' }}>
......@@ -170,25 +164,46 @@ const FC = (props) => {
export default FC
const UsersItem = ({ loading, users, value, onChange }) => {
const UsersItem = ({ value, onChange }) => {
const [loading, setLoading] = React.useState(false)
const [searchValue, setSearchValue] = React.useState()
const [options, setOptions] = React.useState()
useDebounceEffect(() => {
if (searchValue) {
getUsers()
} else {
setOptions()
}
}, [searchValue], { wait: 300 })
const getUsers = () => {
setLoading(true)
dispatch({
type: 'datamodel.getCooperationUsers',
payload: {
match: searchValue,
},
callback: data => {
setLoading(false)
setOptions(
(users??[])
.filter(item => !searchValue|| (item.name??'').indexOf(searchValue)!==-1 || (item.dname??'').indexOf(searchValue)!==-1)
.map(item => ({
label: item.name,
value: item.name,
(data??[]).map(item => ({
label: `${item.dname}(${item.name})`,
value: `${item.dname}(${item.name})`,
...item
}))
)
}, [searchValue, users], { wait: 300 })
},
error: () => {
setLoading(false)
}
})
}
return (
<Select loading={loading} allowClear showSearch
placeholder='请选择用户'
value={(options??[]).length>0?value?.name:undefined}
value={value?`${value.dname}(${value.name})`:undefined}
searchValue={searchValue}
onSearch={(val) => {
setSearchValue(val)
......@@ -200,9 +215,9 @@ const UsersItem = ({ loading, users, value, onChange }) => {
options={options}
onChange={(val) => {
if (val) {
const index = (users??[]).findIndex(item => item.name === val)
const index = (options??[]).findIndex(item => item.value === val)
if (index !== -1) {
onChange?.(users[index])
onChange?.(options[index])
}
} else {
onChange?.()
......
......@@ -220,6 +220,8 @@ const RuleReviewItem = ({ value = {}, onChange }) => {
useDebounceEffect(() => {
if (searchValue) {
getUsers()
} else {
setOptions()
}
}, [searchValue], { wait: 300 })
......
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