Merge remote-tracking branch 'origin/main' into main

feature/2.0-sales-trade
尹诚诚 3 years ago
commit ce6e77efaf

@ -1,42 +1,34 @@
import React, {useContext, useEffect} from 'react';
import {Row, Col, List, Avatar, Table, Space, Radio, Tooltip} from 'antd';
import {
ContainerOutlined,
SearchOutlined,
} from '@ant-design/icons';
import React, {Component} from 'react';
import {Row, Col, List, Avatar} from 'antd';
import {stores_Context} from '../config'
import {Line} from "@ant-design/charts";
import {observer} from 'mobx-react';
import DatePickerCharts from '../charts/DatePickerCharts'
import {NavLink, useParams} from "react-router-dom";
import * as comm from "../utils/commons";
import * as config from "../config";
import SiteSelect from "../charts/SiteSelect";
import GroupSelect from "../charts/GroupSelect";
import {utils, writeFileXLSX} from "xlsx";
import { toJS } from "mobx";
const Wechat_session = () => {
class Wechat_session extends Component {
const {orders_store, date_picker_store, customer_store} = useContext(stores_Context);
const inchina_data = customer_store.inchina_data;
static contextType = stores_Context;
constructor(props) {
super(props);
}
useEffect(() => {
componentDidMount() {
const {wechatStore} = this.context;
wechatStore.fetchWechatUserList();
}
}, [])
const data = [
{
title: 'Ant Design Title 1',
},
{
title: 'Ant Design Title 2',
},
{
title: 'Ant Design Title 3',
},
{
title: 'Ant Design Title 4',
},
];
handleUserClick(user) {
const {wechatStore} = this.context;
wechatStore.fetchContactList(user);
}
handleContactClick(contact) {
const {wechatStore} = this.context;
wechatStore.fetchChatMsgList(contact);
}
render() {
const {wechatStore} = this.context;
const userList = wechatStore.userList;
const contactList = wechatStore.contactList;
const chatMsgList = wechatStore.chatMsgList;
return (
<div>
@ -44,22 +36,53 @@ const Wechat_session = () => {
<Col span={8}>
<List
itemLayout="horizontal"
dataSource={data}
renderItem={(item) => (
<List.Item>
dataSource={userList}
renderItem={(user) => (
<List.Item onClick={() => {this.handleUserClick(user)}}>
<List.Item.Meta
avatar={<Avatar src={user.avatar} />}
title={user.username}
description=""
/>
</List.Item>
)}
/>
</Col>
<Col span={8}>
<List
itemLayout="horizontal"
dataSource={contactList}
renderItem={(contact) => (
<List.Item onClick={() => {this.handleContactClick(contact)}}>
<List.Item.Meta
avatar={<Avatar src="https://joeschmoe.io/api/v1/random" />}
title={<a href="https://ant.design">{item.title}</a>}
avatar={<Avatar src={contact.avatar} />}
title={contact.username}
description=""
/>
</List.Item>
)}
/>
</Col>
<Col span={8}>
<List
itemLayout="horizontal"
dataSource={chatMsgList}
renderItem={(chatMsg) => (
<List.Item>
<List.Item.Meta
avatar={<Avatar src={chatMsg.from_avatar} />}
title={chatMsg.from_name}
description={chatMsg.content.text}
/>
</List.Item>
)}
/>
</Col>
</Row>
</div>
);
}
}
export default observer(Wechat_session);

@ -6,6 +6,7 @@ import CustomerStore from "./CustomerStore";
import AuthStore from "./AuthStore";
import ChatSessionStore from "./ChatSessionStore";
import FinancialStore from "./FinancialStore";
import WechatStore from "./Wechat";
class Index {
@ -17,6 +18,7 @@ class Index {
this.auth_store = new AuthStore(this);
this.chat_session_store = new ChatSessionStore(this);
this.financial_store = new FinancialStore(this);
this.wechatStore = new WechatStore(this);
makeAutoObservable(this);
}

@ -0,0 +1,72 @@
import {makeAutoObservable, runInAction} from "mobx"
import {
CaretUpOutlined,
CaretDownOutlined
} from '@ant-design/icons';
import {Tag} from 'antd';
import * as config from "../config";
import moment from "moment";
import {NavLink} from "react-router-dom";
import * as req from '../utils/request';
class Wechat {
constructor(rootStore) {
this.rootStore = rootStore;
makeAutoObservable(this);
// req.fetchJSON(config.HT_HOST + '/weixin/wxwork/get_permit_user_list')
// .then(json => {
// runInAction(() => {
// this.userList = json.Result.filter(user => {
// return user.SMPlatform === 'weixin';
// });
// });
// });
}
fetchWechatUserList() {
req.fetchJSON(config.HT_HOST + '/weixin/wxwork/get_permit_user_list')
.then(json => {
runInAction(() => {
this.userList = json.Result.filter(user => {
return user.SMPlatform === 'weixin';
});
});
});
}
//
fetchContactList(user) {
req.fetchJSON(config.HT_HOST + '/weixin/wxwork/get_externalcontact_list?userid='+user.userid)
.then(json => {
runInAction(() => {
this.contactList = json.Result.filter(user => {
return user.SMPlatform === 'weixin';
});
});
});
}
fetchChatMsgList(contact) {
req.fetchJSON(config.HT_HOST + '/weixin/wxwork/GetChatmsg?external_userid='+contact.userid+'&Page_count=20&curr_page=0')
.then(json => {
runInAction(() => {
console.info(json.chatmsg);
this.chatMsgList = json.chatmsg;
});
});
}
userList = [{username: '---', avatar: 'https://joeschmoe.io/api/v1/random'}];
contactList = [{username: '---', avatar: 'https://joeschmoe.io/api/v1/random'}];
chatMsgList = [{from_name: '---', from_avatar: 'https://joeschmoe.io/api/v1/random', content: {text: '---'}}];
}
export default Wechat;
Loading…
Cancel
Save