Commit d7bee40b by zhangleyuan

Merge branch 'feature/zhangleyuan/20210719/personnel-organization' into rc

parents 1e44451d 33d85cba
......@@ -24,6 +24,6 @@
white-space: nowrap;
}
.edit-disable{
color:#666;
color:#666 !important;
}
}
\ No newline at end of file
......@@ -334,7 +334,7 @@ function EmployeeManage() {
if(num<3){
return confirm({
title: "确定更新列表数据吗?",
content: `员工数据来源企微通讯录,一天只能更新3次,今日还能更新${3-num}次。`,
content: <span>员工数据来源企微通讯录,一天只能更新3次,今日还能更新<span style={{color:'#2966FF'}}>{3-num}</span>次。</span>,
icon: (
<span className="icon iconfont default-confirm-icon">&#xe839; </span>
),
......@@ -348,7 +348,7 @@ function EmployeeManage() {
Modal.warning({
title: '提示',
okText: '我知道了',
content: '员工数据今日更新次数已达上限(3次),无法继续更新。',
content: <span>员工数据今日更新次数已达上限<span style={{color:'#2966FF'}}>(3次)</span>,无法继续更新。</span>,
icon: (
<span className='icon iconfont default-confirm-icon' style={{ color: '#FFBB54 !important' }}>
&#xe834;
......
......@@ -126,7 +126,11 @@ function DepartMentTabCon(props) {
<span>-</span>
// <div className="operate__item" onClick={()=>delUser('single',item.userId)}>删除</div>
:
<div className="operate__item" onClick={()=>delUser('single',item.userId)}>移出</div>
(selectDep.depLevel > 0 ?
<div className="operate__item" onClick={()=>delUser('single',item.userId)}>移出</div>
:
<span>-</span>
)
}
</div>
);
......@@ -290,7 +294,7 @@ function DepartMentTabCon(props) {
if(num<3){
return confirm({
title: "确定更新列表数据吗?",
content: `学员数据来源企微通讯录,一天只能更新3次,今日还能更新${3-num}次。`,
content: <span>学员数据来源企微通讯录,一天只能更新3次,今日还能更新<span style={{color:'#2966FF'}}>{3-num}</span>次。</span>,
icon: (
<span className="icon iconfont default-confirm-icon">&#xe839; </span>
),
......@@ -304,7 +308,7 @@ function DepartMentTabCon(props) {
Modal.warning({
title: '提示',
okText: '我知道了',
content: '学员数据今日更新次数已达上限(3次),无法继续更新。',
content: <span>学员数据今日更新次数已达上限<span style={{color:'#2966FF'}}>(3次)</span>,无法继续更新。</span>,
icon: (
<span className='icon iconfont default-confirm-icon' style={{ color: '#FFBB54 !important' }}>
&#xe834;
......@@ -379,7 +383,9 @@ function DepartMentTabCon(props) {
添加学员
</Button>
}
<Button className="del-user-btn" onClick={()=>delUser('multiple')}>移出学员</Button>
{selectDep.depLevel > 0 &&
<Button className="del-user-btn" onClick={()=>delUser('multiple')}>移出学员</Button>
}
</div>
)}
<div className="user-table">
......@@ -388,7 +394,7 @@ function DepartMentTabCon(props) {
image: college,
description: "暂无数据",
}}
scroll={{ x: 800 }}
scroll={{ x: 1200 }}
bordered
size="middle"
pagination={false}
......
......@@ -2,6 +2,7 @@
display: flex;
.table-con{
flex:1;
max-width: calc(100% - 290px);
.post-name{
max-width: 200px;
overflow: hidden;
......
......@@ -86,7 +86,10 @@ function LeftStructureTree(props) {
});
const notFoundContentNode = ()=>{
return <span>暂无数据</span>
return <div className="empty-con">
<img src="https://image.xiaomaiketang.com/xm/wRDrb2pJFb.png" className="empty-img"/>
<div className="empty-text">暂无数据</div>
</div>
}
function handlePlaceHolder(){
let placeholder = '';
......@@ -497,6 +500,10 @@ function LeftStructureTree(props) {
onSelect={confirmSearchSelect}
placeholder={handlePlaceHolder()}
>
<Search
style={{ width: 250 }}
enterButton={<span className='icon iconfont'>&#xe832;</span>}
/>
</AutoComplete>
</div>
{ (props.treeType==='postGrouptab' || props.treeType=== 'customGroupTab') && (
......
......@@ -70,7 +70,20 @@
color: #666666;
}
}
}
}
.certain-category-search-dropdown{
.empty-con{
text-align:center;
.empty-img{
width:150px;
height:150px;
}
.empty-text{
color:#666;
}
}
}
\ No newline at end of file
......@@ -3,7 +3,12 @@
color:#666;
font-size:14px;
.title-icon{
font-size:14px;
color:#999;
margin-right:8px;
}
}
.ant-tree.ant-tree-directory .ant-tree-treenode-selected:hover::before, .ant-tree.ant-tree-directory .ant-tree-treenode-selected::before{
background: none;
}
}
\ No newline at end of file
import React, { useEffect, useState } from "react";
import { withRouter } from "react-router-dom";
import { Input,Checkbox} from "antd";
import { Input,Checkbox,Tooltip} from "antd";
import StoreService from "@/domains/store-domain/storeService";
import User from '@/common/js/user';
import WWOpenDataCom from '@/components/WWOpenDataCom';
......@@ -41,6 +41,12 @@ function SearchUser(props) {
};
}
function handleDepName(depArray){
const depArrayDom = depArray.map((item, index) => {
return <span><WWOpenDataCom type="departmentName" openid={item}/></span>
});
return depArrayDom;
};
return (
<div className="search-user" style={{width:'300px'}} id="search-user">
<Search
......@@ -55,7 +61,7 @@ function SearchUser(props) {
<div className="drop-down">
<div className="drop-down__list">
{props.data.departmentUserVOList &&
<div>
( props.data.departmentUserVOList.length>0 && <div className="drop-down__item-user">
<div className="drop-down__item__title">
员工
</div>
......@@ -67,13 +73,16 @@ function SearchUser(props) {
<div className="drop-down__item__con__item">
<div className="drop-down__item__con__item__left">
<span className="icon iconfont title-icon">&#xe603;</span>
<WWOpenDataCom type="userName" openid={item.userName}/>
<WWOpenDataCom type="userName" openid={item.userName}/>
</div>
<div className="drop-down__item__con__item__right">
{item.depNamesList.map((_item,index)=>{
return <span> <WWOpenDataCom type="departmentName" openid={_item}/>{index<(item.depNamesList.length -1)?';':''}</span>
})
}
<Tooltip title={<div>{handleDepName(item.depNamesList)}</div>} placement='top' arrowPointAtCenter>
{item.depNamesList.map((_item,index)=>{
return <span> <WWOpenDataCom type="departmentName" openid={_item}/>{index<(item.depNamesList.length -1)?';':''}</span>
})
}
</Tooltip>
</div>
</div>
</Checkbox>
......@@ -82,11 +91,11 @@ function SearchUser(props) {
}
</div>
</div>
</div>
</div>)
}
{props.data.departmentVOList &&
<div>
<div className="drop-down__item__title">
{props.data.departmentVOList &&
(props.data.departmentVOList.length>0 && <div>
<div className="drop-down__item__title drop-down__item__title-dep">
部门
</div>
<div className="drop-down__item__con">
......@@ -104,10 +113,21 @@ function SearchUser(props) {
}
</div>
</div>
</div>
</div>)
}
{(!props.data.departmentUserVOList && !props.data.departmentVOList)&&
<div>暂无数据</div>
<div className="empty-con">
<img src="https://image.xiaomaiketang.com/xm/wRDrb2pJFb.png" className="empty-img"/>
<div className="empty-text">暂无数据</div>
</div>
}
{ (props.data.departmentUserVOList && props.data.departmentVOList) &&(
(props.data.departmentUserVOList.length === 0 && props.data.departmentVOList.length ===0) &&
<div className="empty-con">
<img src="https://image.xiaomaiketang.com/xm/wRDrb2pJFb.png" className="empty-img"/>
<div className="empty-text">暂无数据</div>
</div>
)
}
</div>
</div>
......
......@@ -10,14 +10,30 @@
box-shadow: 0px 2px 15px 6px rgba(0, 0, 0, 0.05);
border-radius:2px;
width:270px;
// .drop-down__item-user{
// margin-bottom:30px;
// }
.drop-down__item__title{
font-size:14px;
color:#666;
margin-bottom:14px;
}
.ant-checkbox-wrapper{
width:100%;
.drop-down__item__con__item{
margin-bottom:24px;
display:flex;
width:220px;
justify-content:space-between;
color:#333;
font-size:14px;
.drop-down__item__con__item__left{
.title-icon{
color:#999;
margin-right:3px;
}
}
.drop-down__item__con__item__right{
width:84px;
text-align:right;
......@@ -28,5 +44,15 @@
}
}
}
.empty-con{
text-align:center;
.empty-img{
width:150px;
height:150px;
}
.empty-text{
color:#666;
}
}
}
}
\ No newline at end of file
......@@ -17,7 +17,7 @@ import { DepType } from "@/domains/store-domain/constants";
import StoreService from "@/domains/store-domain/storeService";
import SearchUser from "../components/SearchUser"
import WWOpenDataCom from '@/components/WWOpenDataCom';
import './ChooseMembersModal.less';
import './NewChooseMembersModal.less';
import _ from 'underscore';
const { Search } = Input;
......@@ -57,7 +57,7 @@ class NewChooseMembersModal extends React.Component {
<div className='avatar'>
<span className="icon iconfont avatar-icon">&#xe84a;</span>
<Tooltip title={<WWOpenDataCom type="userName" openid={userName}/>}>
<span className='userImg'>
<span className='userName'>
<WWOpenDataCom type="userName" openid={userName}/>
{/* {userName} */}
</span>
......
.choose-member-modal {
.member-container{
display: flex;
height: 417px;
.container-left{
width: 50%;
padding-right: 10px;
margin-left: 10px;
.container-left-header{
margin-bottom: 12px;
}
.container-left-body{
border: 1px solid #E9E9E9;
height: 100%;
.ant-table-thead > tr > th {
font-weight:400!important;
}
.search{
width: 305px;
padding: 7px 7px;
}
.container-left-body-table{
width: 300px;
height: 330px;
overflow: scroll;
.ant-table {
border: none;
min-height: 250px !important;
.ant-table-header{
margin-bottom: -7px !important;
>table > .ant-table-thead > tr > th {
background-color: #fff !important;
}
}
.ant-table-tbody{
>tr {
>td {
border-bottom: none;
background-color: #fff !important;
padding: 11px 0!important;
}
&:hover {
>td {
background: #F3F6FA !important;
}
}
}
}
}
.ant-empty-normal {
margin: 80px 0 !important;
}
.avatar{
display: flex;
align-items: center;
.avatar-icon {
font-size:14px;
color:#999;
margin-right: 6px;
}
.userName {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
font-size:14px;
color:#333;
}
}
}
}
}
.container-right{
width: 50%;
border: 1px solid #E9E9E9;
.span-left{
line-height: 45px;
margin-left: 10px;
.span-left-l{
color: #2966FF;
cursor: pointer;
}
}
.span-right{
line-height: 45px;
float: right;
margin-right: 10px;
color: #999;
.span-right-l{
color: #2966FF;
cursor: pointer;
}
}
.container-right-body{
min-height:376px;
border-top: 1px solid #e8e8e8;
.edit {
.edit-icon {
color:#999;
font-size:14px;
}
}
.edit-img{
width: 16px;
height: 16px;
}
.ant-table .ant-table-body {
overflow: auto;
max-height: 376px!important;
}
.ant-table tbody {
tr{
background: #fff;
&:first-child {
display: block;
overflow: hidden;
}
td{
padding:12px 18px !important;
}
}
}
.ant-empty-normal {
margin: 120px 0 !important;
}
.ant-empty {
margin-top: 76px;
}
.avatar{
display: flex;
align-items: center;
.avatar-icon {
font-size:14px;
color:#999;
margin-right: 6px;
}
.userName {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
font-size:14px;
color:#333;
}
}
.ant-table-tbody{
>tr >td {
border-bottom:none;
}
>tr .ant-table-selection-column{
width: 30px !important;
}
}
}
}
}
}
\ No newline at end of file
......@@ -47,7 +47,7 @@
flex-shrink: 0;
}
&.selected {
background: rgba(255, 183, 20, 0.1);
background:rgba(41, 102, 255,0.1);
&::after {
content: '';
position: absolute;
......
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