Commit 3ef3f08f by zhujian

‘fix:通讯录优化1’

parent 67055fc7
...@@ -108,12 +108,10 @@ function EmployeeManage() { ...@@ -108,12 +108,10 @@ function EmployeeManage() {
useEffect(() => { useEffect(() => {
getListInfo(); getListInfo();
// initWechatConfig();
}, [storeId]); }, [storeId]);
async function initWechatConfig() {
WechatApi.initConfig({ isAgentConfig: true, url: window.location.href.split('#')[0] })
}
async function getListInfo() { async function getListInfo() {
await getStoreRole(); await getStoreRole();
...@@ -161,8 +159,8 @@ function EmployeeManage() { ...@@ -161,8 +159,8 @@ function EmployeeManage() {
{/* <span className="title">{val}</span> */} {/* <span className="title">{val}</span> */}
<span className="title"> <span className="title">
<WWOpenDataCom type="userName" openid={val}/> <WWOpenDataCom type="userName" openid={val} />
</span> </span>
</div> </div>
); );
...@@ -199,7 +197,7 @@ function EmployeeManage() { ...@@ -199,7 +197,7 @@ function EmployeeManage() {
<span className="divider-line">{" | "}</span> <span className="divider-line">{" | "}</span>
<span <span
className="delete" className="delete"
onClick={() =>{ onClick={() => {
handleDeleteWorkWechatEmployeeConfirm(record) handleDeleteWorkWechatEmployeeConfirm(record)
}} }}
> >
...@@ -248,7 +246,7 @@ function EmployeeManage() { ...@@ -248,7 +246,7 @@ function EmployeeManage() {
role: [], role: [],
avatar: "", avatar: "",
storeUserId: "", storeUserId: "",
weChatAccount:"" weChatAccount: ""
}); });
}} }}
isWorkWechat={isWorkWechat} isWorkWechat={isWorkWechat}
...@@ -279,7 +277,7 @@ function EmployeeManage() { ...@@ -279,7 +277,7 @@ function EmployeeManage() {
function handleDeleteEmployee(storeUserId: string) { function handleDeleteEmployee(storeUserId: string) {
StoreService.deleteEmployee({ storeUserId }).then((res: any) => { StoreService.deleteEmployee({ storeUserId }).then((res: any) => {
const msg = isWorkWechat ? "员工已删除":"讲师已删除"; const msg = isWorkWechat ? "员工已删除" : "讲师已删除";
message.success(msg); message.success(msg);
getEmployeeList(); getEmployeeList();
}); });
...@@ -287,147 +285,147 @@ function EmployeeManage() { ...@@ -287,147 +285,147 @@ function EmployeeManage() {
return ( return (
<div className="page employee-manage-page"> <div className="page employee-manage-page">
<div className="content-header">员工管理</div> <div className="content-header">员工管理</div>
<div className="box"> <div className="box">
<div className="box-header"> <div className="box-header">
<div <div
style={{ style={{
display: "flex", display: "flex",
alignItems: "center", alignItems: "center",
justifyContent: "flex-start", justifyContent: "flex-start",
padding: "0px 0 4px", padding: "0px 0 4px",
}} }}
> >
<div> <div>
搜索员工: 搜索员工:
<Search <Search
style={{ style={{
width: 300, width: 300,
marginRight: 40, marginRight: 40,
}} }}
placeholder={ placeholder={
isWorkWechat ? "请输入员工昵称" : "搜索员工昵称/手机号" isWorkWechat ? "请输入员工昵称" : "搜索员工昵称/手机号"
}
onSearch={(value) => {
const _query = { ...query };
// 企业微信用户只能搜索员工昵称
if (isWorkWechat) {
_query.nickName = value;
_query.current = 0;
setQuery(_query);
return;
} }
onSearch={(value) => {
const _query = { ...query };
// 企业微信用户只能搜索员工昵称
if (isWorkWechat) {
_query.nickName = value;
_query.current = 0;
setQuery(_query);
return;
}
if (value) { if (value) {
const isPhone = (value || "").match(/^\d+$/); const isPhone = (value || "").match(/^\d+$/);
const name = isPhone ? "phone" : "nickName"; const name = isPhone ? "phone" : "nickName";
const otherName = isPhone ? "nickName" : "phone"; const otherName = isPhone ? "nickName" : "phone";
_query[name] = value; _query[name] = value;
_query[otherName] = ""; _query[otherName] = "";
_query.current = 0; _query.current = 0;
} else { } else {
_query.nickName = ""; _query.nickName = "";
_query.phone = ""; _query.phone = "";
_query.current = 0; _query.current = 0;
} }
setQuery(_query); setQuery(_query);
}} }}
enterButton={<span className="icon iconfont">&#xe832;</span>} enterButton={<span className="icon iconfont">&#xe832;</span>}
/> />
</div> </div>
<div> <div>
身份: 身份:
{_.map(roleIds, (item: any) => { {_.map(roleIds, (item: any) => {
return ( return (
<CheckBox <CheckBox
key={item.roleCode} key={item.roleCode}
text={item.name} text={item.name}
name={item.roleCode} name={item.roleCode}
onChange={(e: any) => { onChange={(e: any) => {
const { checked, name } = e.target; const { checked, name } = e.target;
const _query = { ...query }; const _query = { ...query };
_query.roleCodes = []; _query.roleCodes = [];
_query.current = 0; _query.current = 0;
const _roleIds: Array<RoleItemType> = roleIds.map( const _roleIds: Array<RoleItemType> = roleIds.map(
(_item: RoleItemType) => { (_item: RoleItemType) => {
if (name === _item.roleCode) { if (name === _item.roleCode) {
if (checked) { if (checked) {
_item.isChecked = true; _item.isChecked = true;
} else { } else {
_item.isChecked = false; _item.isChecked = false;
}
}
if (_item.isChecked) {
_query.roleCodes.push(_item.roleCode);
} }
return _item;
} }
); if (_item.isChecked) {
_query.roleCodes.push(_item.roleCode);
}
return _item;
}
);
setRoleIds(_roleIds); setRoleIds(_roleIds);
setQuery(_query); setQuery(_query);
}} }}
defaultChecked={item.isChecked} defaultChecked={item.isChecked}
/> />
); );
})} })}
</div>
</div> </div>
{(User.getUserRole() === 'CloudManager' || User.getUserRole() === 'StoreManager') &&
<Button
onClick={() => {
handleToAddEmployee();
}}
type="primary"
className="add-show-btn"
>
添加员工
</Button>
}
</div> </div>
<LimitTip type="员工" total={realTotal} tip={()=>{return (<div>数据为当前学院的员工数,若员工存在多个学院,企业人数只统计为1人</div>)}}/> {(User.getUserRole() === 'CloudManager' || User.getUserRole() === 'StoreManager') &&
<div className="box-body"> <Button
<XMTable onClick={() => {
renderEmpty={{ handleToAddEmployee();
image: college,
description: '暂无数据'
}} }}
size={"middle"} type="primary"
pagination={false} className="add-show-btn"
dataSource={employeeList} >
columns={parseColumn()} 添加员工
rowKey={(item: any) => item.id} </Button>
bordered }
/> </div>
</div> <LimitTip type="员工" total={realTotal} tip={() => { return (<div>数据为当前学院的员工数,若员工存在多个学院,企业人数只统计为1人</div>) }} />
<div className="box-footer"> <div className="box-body">
<PageControl <XMTable
current={query.current} renderEmpty={{
pageSize={query.size} image: college,
total={total} description: '暂无数据'
toPage={(page: any) => { }}
const queryStates = _.clone(query); size={"middle"}
queryStates.current = page; pagination={false}
setQuery(queryStates); dataSource={employeeList}
}} columns={parseColumn()}
/> rowKey={(item: any) => item.id}
</div> bordered
/>
</div> </div>
{model} <div className="box-footer">
{employeeModal && <PageControl
<ChooseMembersModal current={query.current}
isOpen={employeeModal} pageSize={query.size}
type="USER" total={total}
handleChooseModal={(bool: any) => { toPage={(page: any) => {
setEmployeeModal(false) const queryStates = _.clone(query);
if (bool) { queryStates.current = page;
message.success('添加成功') setQuery(queryStates);
getEmployeeList();
}
}} }}
/> />
} </div>
</div>
{model}
{employeeModal &&
<ChooseMembersModal
isOpen={employeeModal}
type="USER"
handleChooseModal={(bool: any) => {
setEmployeeModal(false)
if (bool) {
message.success('添加成功')
getEmployeeList();
}
}}
/>
}
</div> </div>
); );
} }
......
...@@ -15,7 +15,7 @@ import zhCN from 'antd/es/locale/zh_CN' ...@@ -15,7 +15,7 @@ import zhCN from 'antd/es/locale/zh_CN'
import User from '@/common/js/user'; import User from '@/common/js/user';
import BaseService from "@/domains/basic-domain/baseService"; import BaseService from "@/domains/basic-domain/baseService";
import moment from 'moment'; import moment from 'moment';
import WechatApi from "@/core/wechatApi" import WechatApi from '@/common/js/wechatApi';
import { VersionContext, VersionInfo, XMContext } from '@/store/context'; import { VersionContext, VersionInfo, XMContext } from '@/store/context';
import { setStoreGroupPermission, setStorePermission, setStoreGroupList, setStoreList } from '@/store/actions/index'; import { setStoreGroupPermission, setStorePermission, setStoreGroupList, setStoreList } from '@/store/actions/index';
import Service from "@/common/js/service"; import Service from "@/common/js/service";
...@@ -29,15 +29,15 @@ declare var window: any; ...@@ -29,15 +29,15 @@ declare var window: any;
const App: React.FC = (props: any) => { const App: React.FC = (props: any) => {
const [storeUserId, setStoreUserId] = useState('') const [storeUserId, setStoreUserId] = useState('')
const ctx: any = useContext(XMContext); const ctx: any = useContext(XMContext);
const [versionInfo, setVersionInfo] = useState<VersionInfo|null>(null) const [versionInfo, setVersionInfo] = useState<VersionInfo | null>(null)
const userId = User.getUserId(); const userId = User.getUserId();
const [menuType, setMenuType] = useState(true); const [menuType, setMenuType] = useState(true);
const enterpriseId = User.getEnterpriseId(); const enterpriseId = User.getEnterpriseId();
window.ctx = ctx; window.ctx = ctx;
useEffect(() => { useEffect(() => {
WechatApi.initShareConfig(); initWechatConfig();
getStoreAndUserInfo(); getStoreAndUserInfo();
getVersion(); getVersion();
if (window.location.hash === "#/") { if (window.location.hash === "#/") {
...@@ -47,6 +47,10 @@ const App: React.FC = (props: any) => { ...@@ -47,6 +47,10 @@ const App: React.FC = (props: any) => {
} }
}, []) }, [])
async function initWechatConfig() {
WechatApi.initConfig({ isAgentConfig: true, url: window.location.href.split('#')[0] })
}
useEffect(() => { useEffect(() => {
getStorePermission(); getStorePermission();
}, [window.location.hash]) }, [window.location.hash])
...@@ -68,7 +72,7 @@ const App: React.FC = (props: any) => { ...@@ -68,7 +72,7 @@ const App: React.FC = (props: any) => {
let version = res.result; let version = res.result;
User.setVersion(version); User.setVersion(version);
User.setExpirationTime(res.result.validEndTime) User.setExpirationTime(res.result.validEndTime)
let versioninfo:VersionInfo = { let versioninfo: VersionInfo = {
dayTime: version.dayTime, dayTime: version.dayTime,
stateEnum: version.stateEnum, stateEnum: version.stateEnum,
userNum: version.userNum === -1 ? '不限人数' : version.userNum, userNum: version.userNum === -1 ? '不限人数' : version.userNum,
...@@ -87,30 +91,30 @@ const App: React.FC = (props: any) => { ...@@ -87,30 +91,30 @@ const App: React.FC = (props: any) => {
async function getStoreAndUserInfo() { async function getStoreAndUserInfo() {
await (enterpriseId ? getStoreInfo() : getStoreGroupAndStoreList()); await (enterpriseId ? getStoreInfo() : getStoreGroupAndStoreList());
} }
function getStoreInfo() { function getStoreInfo() {
console.log("currentStoreUserInfo",window.currentStoreUserInfo); console.log("currentStoreUserInfo", window.currentStoreUserInfo);
const params = { const params = {
storeId: User.getStoreId(), storeId: User.getStoreId(),
userId: User.getUserId(), userId: User.getUserId(),
}; };
Service.Hades('public/customerHades/getStoreAndUserMsg', params).then((res) => { Service.Hades('public/customerHades/getStoreAndUserMsg', params).then((res) => {
if(res.success){ if (res.success) {
const { id, storeUserId, storeName, userRole, storeType } = res.result; const { id, storeUserId, storeName, userRole, storeType } = res.result;
User.setStoreId(id); User.setStoreId(id);
User.setStoreUserId(storeUserId); User.setStoreUserId(storeUserId);
User.setStoreName(storeName); User.setStoreName(storeName);
Bus.trigger('storeNameChange',storeName); Bus.trigger('storeNameChange', storeName);
User.setUserRole(userRole); User.setUserRole(userRole);
User.setStoreType(storeType); User.setStoreType(storeType);
setCurrentStoreUserInfo(id,storeUserId) setCurrentStoreUserInfo(id, storeUserId)
setStoreUserId(storeUserId); setStoreUserId(storeUserId);
getUserPermission(); getUserPermission();
} }
}) })
} }
function setCurrentStoreUserInfo(storeId:any,storeUserId:any){ function setCurrentStoreUserInfo(storeId: any, storeUserId: any) {
window.currentStoreUserInfo.storeId = storeId; window.currentStoreUserInfo.storeId = storeId;
window.currentStoreUserInfo.storeUserId = storeUserId; window.currentStoreUserInfo.storeUserId = storeUserId;
window.currentStoreUserInfo.userId = User.getUserId(); window.currentStoreUserInfo.userId = User.getUserId();
...@@ -136,7 +140,7 @@ const App: React.FC = (props: any) => { ...@@ -136,7 +140,7 @@ const App: React.FC = (props: any) => {
Bus.trigger('storeNameChange', storeName); Bus.trigger('storeNameChange', storeName);
User.setUserRole(userRole); User.setUserRole(userRole);
User.setStoreType(storeType); User.setStoreType(storeType);
setCurrentStoreUserInfo(id,storeUserId); setCurrentStoreUserInfo(id, storeUserId);
ctx.dispatch(setStoreGroupList(storeGroupVOS)) ctx.dispatch(setStoreGroupList(storeGroupVOS))
ctx.dispatch(setStoreList(storeVOS)); ctx.dispatch(setStoreList(storeVOS));
setStoreUserId(storeUserId) setStoreUserId(storeUserId)
......
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