|
@@ -93,11 +93,12 @@ const Dashboard = ({ dispatch, departments = [] }) => {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
const handleStaffClick = id => {
|
|
const handleStaffClick = id => {
|
|
|
|
|
+ const sId = `s_${id}`
|
|
|
setState({
|
|
setState({
|
|
|
...state,
|
|
...state,
|
|
|
selectId: id,
|
|
selectId: id,
|
|
|
immediate: true,
|
|
immediate: true,
|
|
|
- params: { ...state.params, staffIds: [id] }
|
|
|
|
|
|
|
+ params: { ...state.params, staffIds: [sId] }
|
|
|
})
|
|
})
|
|
|
}
|
|
}
|
|
|
const initData = async payload => {
|
|
const initData = async payload => {
|
|
@@ -251,6 +252,7 @@ const Dashboard = ({ dispatch, departments = [] }) => {
|
|
|
...state,
|
|
...state,
|
|
|
immediate: true,
|
|
immediate: true,
|
|
|
staffList: [],
|
|
staffList: [],
|
|
|
|
|
+ selectId: '',
|
|
|
params: { ...state.params, staffIds, dataPermission: 'custom' }
|
|
params: { ...state.params, staffIds, dataPermission: 'custom' }
|
|
|
})
|
|
})
|
|
|
return
|
|
return
|
|
@@ -259,6 +261,7 @@ const Dashboard = ({ dispatch, departments = [] }) => {
|
|
|
...state,
|
|
...state,
|
|
|
immediate: true,
|
|
immediate: true,
|
|
|
staffList: [],
|
|
staffList: [],
|
|
|
|
|
+ selectId: '',
|
|
|
params: { ...state.params, staffIds: null, dataPermission }
|
|
params: { ...state.params, staffIds: null, dataPermission }
|
|
|
})
|
|
})
|
|
|
}
|
|
}
|
|
@@ -287,15 +290,17 @@ const Dashboard = ({ dispatch, departments = [] }) => {
|
|
|
/>
|
|
/>
|
|
|
</div>
|
|
</div>
|
|
|
<div className="mt-4 flex items-center flex-row">
|
|
<div className="mt-4 flex items-center flex-row">
|
|
|
- <Select
|
|
|
|
|
- disabled={state.disabled}
|
|
|
|
|
- loading={state.loading}
|
|
|
|
|
- options={cyclicalOp}
|
|
|
|
|
- dropdownMatchSelectWidth={false}
|
|
|
|
|
- defaultValue={defaultCyclicalValue}
|
|
|
|
|
- onChange={handleCyclicalChange}
|
|
|
|
|
- />
|
|
|
|
|
- <span className="ml-4">
|
|
|
|
|
|
|
+ <span className="mb-7">
|
|
|
|
|
+ <Select
|
|
|
|
|
+ disabled={state.disabled}
|
|
|
|
|
+ loading={state.loading}
|
|
|
|
|
+ options={cyclicalOp}
|
|
|
|
|
+ dropdownMatchSelectWidth={false}
|
|
|
|
|
+ defaultValue={defaultCyclicalValue}
|
|
|
|
|
+ onChange={handleCyclicalChange}
|
|
|
|
|
+ />
|
|
|
|
|
+ </span>
|
|
|
|
|
+ <span className="ml-4 mb-7">
|
|
|
<PermSelect
|
|
<PermSelect
|
|
|
loading={state.loading}
|
|
loading={state.loading}
|
|
|
disabled={state.disabled}
|
|
disabled={state.disabled}
|
|
@@ -304,7 +309,7 @@ const Dashboard = ({ dispatch, departments = [] }) => {
|
|
|
/>
|
|
/>
|
|
|
</span>
|
|
</span>
|
|
|
{state.params.dataPermission === 'all' ? (
|
|
{state.params.dataPermission === 'all' ? (
|
|
|
- <span className="ml-4">
|
|
|
|
|
|
|
+ <span className="ml-4 mr-3 mb-7">
|
|
|
<TreeSelect
|
|
<TreeSelect
|
|
|
style={{ width: 150 }}
|
|
style={{ width: 150 }}
|
|
|
dropdownStyle={{ maxHeight: 400, overflow: 'auto' }}
|
|
dropdownStyle={{ maxHeight: 400, overflow: 'auto' }}
|
|
@@ -318,34 +323,40 @@ const Dashboard = ({ dispatch, departments = [] }) => {
|
|
|
/>
|
|
/>
|
|
|
</span>
|
|
</span>
|
|
|
) : null}
|
|
) : null}
|
|
|
- {state.params.dataPermission === 'all' &&
|
|
|
|
|
- state.staffList.map(item => (
|
|
|
|
|
- <div className="ml-4" key={item.id} onClick={() => handleStaffClick(item.id)}>
|
|
|
|
|
- {state.selectId === item.id ? (
|
|
|
|
|
- <div className={['relative', 'cursor-pointer', styles.imgBg].join(' ')}>
|
|
|
|
|
- <img
|
|
|
|
|
- className="w-full max-w-30px h-30px border rounded-30px"
|
|
|
|
|
- src={
|
|
|
|
|
- (isDevMode() ? 'http://cld2qa.com' : 'http://zhcld.com') +
|
|
|
|
|
- (item?.avatar ? item.avatar : '/global/img/avtra_2.jpg')
|
|
|
|
|
- }
|
|
|
|
|
- />
|
|
|
|
|
- <span className={['absolute', styles.avtraName].join(' ')}>{item.username}</span>
|
|
|
|
|
- </div>
|
|
|
|
|
- ) : (
|
|
|
|
|
- <div className="relative cursor-pointer">
|
|
|
|
|
- <img
|
|
|
|
|
- className="w-full max-w-30px h-30px border rounded-30px"
|
|
|
|
|
- src={
|
|
|
|
|
- (isDevMode() ? 'http://cld2qa.com' : 'http://zhcld.com') +
|
|
|
|
|
- (item?.avatar ? item.avatar : '/global/img/avtra_2.jpg')
|
|
|
|
|
- }
|
|
|
|
|
- />
|
|
|
|
|
- <span className={styles.avtraName}>{item.username}</span>
|
|
|
|
|
- </div>
|
|
|
|
|
- )}
|
|
|
|
|
- </div>
|
|
|
|
|
- ))}
|
|
|
|
|
|
|
+ <div>
|
|
|
|
|
+ {state.params.dataPermission === 'all' &&
|
|
|
|
|
+ state.staffList.map(item => (
|
|
|
|
|
+ <div className="inline-block" key={item.id} onClick={() => handleStaffClick(item.id)}>
|
|
|
|
|
+ {state.selectId === item.id ? (
|
|
|
|
|
+ <div className={['relative', 'cursor-pointer', styles.imgBg].join(' ')}>
|
|
|
|
|
+ <img
|
|
|
|
|
+ className="w-full max-w-30px h-30px border rounded-30px"
|
|
|
|
|
+ src={
|
|
|
|
|
+ (isDevMode() ? 'http://cld2qa.com' : 'http://zhcld.com') +
|
|
|
|
|
+ (item?.avatar ? item.avatar : '/global/img/avtra_2.jpg')
|
|
|
|
|
+ }
|
|
|
|
|
+ />
|
|
|
|
|
+ <span className={['absolute', styles.avtraName].join(' ')}>
|
|
|
|
|
+ <span className={styles.bb}>{item.username}</span>
|
|
|
|
|
+ </span>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ ) : (
|
|
|
|
|
+ <div className={['relative', 'cursor-pointer', styles.paddingBg].join(' ')}>
|
|
|
|
|
+ <img
|
|
|
|
|
+ className="w-full max-w-30px h-30px border rounded-30px"
|
|
|
|
|
+ src={
|
|
|
|
|
+ (isDevMode() ? 'http://cld2qa.com' : 'http://zhcld.com') +
|
|
|
|
|
+ (item?.avatar ? item.avatar : '/global/img/avtra_2.jpg')
|
|
|
|
|
+ }
|
|
|
|
|
+ />
|
|
|
|
|
+ <span className={styles.avtraName}>
|
|
|
|
|
+ <span className={styles.bb}>{item.username}</span>
|
|
|
|
|
+ </span>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ )}
|
|
|
|
|
+ </div>
|
|
|
|
|
+ ))}
|
|
|
|
|
+ </div>
|
|
|
</div>
|
|
</div>
|
|
|
<div className="mt-4">
|
|
<div className="mt-4">
|
|
|
<Row gutter={[8, 8]}>
|
|
<Row gutter={[8, 8]}>
|