|
@@ -1,5 +1,5 @@
|
|
|
-import { Button, Checkbox, Dropdown, Popover } from 'antd'
|
|
|
|
|
-import React, { useState } from 'react'
|
|
|
|
|
|
|
+import { Button, Checkbox, Popover, Input } from 'antd'
|
|
|
|
|
+import React, { useState, useRef } from 'react'
|
|
|
import { connect } from 'dva'
|
|
import { connect } from 'dva'
|
|
|
import styles from './index.scss'
|
|
import styles from './index.scss'
|
|
|
import { apiConnOrDelTag } from '@/services/customer'
|
|
import { apiConnOrDelTag } from '@/services/customer'
|
|
@@ -71,7 +71,10 @@ const PersonLabel = props => {
|
|
|
) : (
|
|
) : (
|
|
|
<>
|
|
<>
|
|
|
<Button type="primary">确认</Button>
|
|
<Button type="primary">确认</Button>
|
|
|
- <Button type="default" className="zh-mg-left-5">
|
|
|
|
|
|
|
+ <Button
|
|
|
|
|
+ type="default"
|
|
|
|
|
+ className="zh-mg-left-5"
|
|
|
|
|
+ onClick={() => setDropdownType(DropdownTypeEnum.check)}>
|
|
|
取消
|
|
取消
|
|
|
</Button>
|
|
</Button>
|
|
|
</>
|
|
</>
|
|
@@ -100,7 +103,8 @@ const DropDownMenu = props => {
|
|
|
} = props
|
|
} = props
|
|
|
const [checkedIds, setCheckedIds] = useState(tagIds)
|
|
const [checkedIds, setCheckedIds] = useState(tagIds)
|
|
|
|
|
|
|
|
- console.log('personTags', personTags)
|
|
|
|
|
|
|
+ const [activeId, setActiveId] = useState('')
|
|
|
|
|
+ const inputRef = useRef(null)
|
|
|
const statusColors = {
|
|
const statusColors = {
|
|
|
[TagTypeEnum.PERSONTAG]: [
|
|
[TagTypeEnum.PERSONTAG]: [
|
|
|
'#16A085',
|
|
'#16A085',
|
|
@@ -136,6 +140,10 @@ const DropDownMenu = props => {
|
|
|
checkCallBack && checkCallBack(ids)
|
|
checkCallBack && checkCallBack(ids)
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ const labelOnClick = id => {
|
|
|
|
|
+ setActiveId(id)
|
|
|
|
|
+ }
|
|
|
return (
|
|
return (
|
|
|
<ul className={styles.labelContent}>
|
|
<ul className={styles.labelContent}>
|
|
|
{menuType === DropdownTypeEnum.check
|
|
{menuType === DropdownTypeEnum.check
|
|
@@ -162,8 +170,15 @@ const DropDownMenu = props => {
|
|
|
: null}
|
|
: null}
|
|
|
{menuType === DropdownTypeEnum.edit
|
|
{menuType === DropdownTypeEnum.edit
|
|
|
? personTags.map((item, idx) => (
|
|
? personTags.map((item, idx) => (
|
|
|
- <li key={item.id} className={styles.menuItem}>
|
|
|
|
|
- <div>
|
|
|
|
|
|
|
+ <li
|
|
|
|
|
+ key={item.id}
|
|
|
|
|
+ className={[
|
|
|
|
|
+ styles.menuItem,
|
|
|
|
|
+ styles.editMenuItem,
|
|
|
|
|
+ item.id === activeId ? styles.active : ''
|
|
|
|
|
+ ].join(' ')}
|
|
|
|
|
+ onClick={() => labelOnClick(item.id)}>
|
|
|
|
|
+ <div className={styles.editLabel}>
|
|
|
<div
|
|
<div
|
|
|
className={[
|
|
className={[
|
|
|
styles.statusIcon,
|
|
styles.statusIcon,
|
|
@@ -171,7 +186,8 @@ const DropDownMenu = props => {
|
|
|
].join(' ')}
|
|
].join(' ')}
|
|
|
style={{ backgroundColor: statusColors[tagType][idx] }}
|
|
style={{ backgroundColor: statusColors[tagType][idx] }}
|
|
|
/>
|
|
/>
|
|
|
- <span>{item.name}</span>
|
|
|
|
|
|
|
+
|
|
|
|
|
+ {activeId === item.id ? <Input ref={inputRef} /> : <span>{item.name}</span>}
|
|
|
</div>
|
|
</div>
|
|
|
</li>
|
|
</li>
|
|
|
))
|
|
))
|