123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146 |
- import React, { useState, useEffect } from 'react';
- import { Form, Icon, Input, Button, DatePicker, Select, Card, Row, Col, Pagination, Alert, Table, Avatar, Radio, Modal, Descriptions, notification } from 'antd';
- import moment from 'moment';
- import request from '../../../../utils/request';
- import apis from '../../../../services/apis';
- import Styles from '../style.less';
-
-
- const { Option } = Select;
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- const { Meta } = Card;
-
- /**
- * 调整归属
- *
- * @param {*} props
- * @returns
- */
- class ModalAttribution extends React.Component {
- constructor(props) {
- super(props);
- this.state = {
- dataSource: { records: [] },
- visibleData: { visible: false, customerId: '', realtyConsultant: '', buildingId: '' },
- }
- }
-
- // 挂载之后
- componentDidMount() {
- // this.getList({ pageNumber: 1, pageSize: 5 })
- }
-
- componentDidUpdate(preProps, preState) {
- console.log(this.props.visibleData)
- if (this.props.visibleData.visible !== preState.visibleData.visible) {
- this.getList({ pageNumber: 1, pageSize: 5, buildingId: this.props.visibleData.buildingId })
- this.setState({ visibleData: this.props.visibleData });
- }
- }
-
- // 弹框确定按钮
- // eslint-disable-next-line react/sort-comp
- handleOk() {
- this.props.onCancel()
- }
-
- // 弹框取消按钮
- handleCancel() {
- this.props.onCancel()
- }
-
- getList(params) {
- console.log('params: ', params)
- if (params.buildingId === '' || params.buildingId === null || params.buildingId === undefined) {
- return
- }
- // 网路请求
- request({ ...apis.customer.buildingConsultant, params: { ...params } }).then(res => {
- console.log('res',res);
- this.setState({ dataSource: res })
- }).catch(err => {
- // eslint-disable-next-line no-unused-expressions
-
- })
- }
-
- openNotificationWithIcon = (type, message) => {
- notification[type]({
- message,
- description:
- '',
- });
- };
-
- // 分页
- onChange(pageNum) {
- this.getList({ pageNumber: pageNum, pageSize: 5, buildingId: this.props.visibleData.buildingId })
- }
-
- // 提交
- submitGm(record) {
- // 网路请求
- request({ ...apis.customer.recommendEdit, urlData: { id: this.state.visibleData.customerId }, data: { customerId: this.state.visibleData.customerId, realtyConsultant: record.userId } }).then(res => {
- // eslint-disable-next-line no-unused-expressions
- this.openNotificationWithIcon('success', '操作成功')
- this.handleCancel()
- }).catch(err => {
- // eslint-disable-next-line no-unused-expressions
- this.openNotificationWithIcon('error', err)
- })
- }
-
- render() {
- const columns = [
- // {
- // title: '编号',
- // dataIndex: 'userId',
- // key: 'userId',
- // },
- {
- title: '姓名',
- dataIndex: 'userName',
- key: 'userName',
- },
- {
- title: '电话',
- dataIndex: 'phone',
- key: 'phone',
- },
- {
- title: '部门',
- dataIndex: 'department',
- key: 'department',
- },
- {
- title: '岗位',
- dataIndex: 'position',
- key: 'position',
- },
- {
- title: '操作',
- dataIndex: 'personId',
- key: 'personId',
- // eslint-disable-next-line no-nested-ternary
- render: (_, record) => <>{ this.props.visibleData.realtyConsultant != record.userId && <Button type="danger" onClick={() => this.submitGm(record)}>确定</Button>}</>,
- },
- ]
- return (
- <>
- <Modal
- title="选择置业顾问"
- width={800}
- destroyOnClose="true"
- footer={null}
- visible={this.state.visibleData.visible}
- // onOk={() => this.handleOk()}
- onCancel={(e) => this.handleCancel(e)}
- >
- <Table rowKey="attribution" dataSource={this.state.dataSource.records} columns={columns} pagination={{ total: this.state.dataSource.total, pageSize: this.state.dataSource.size, onChange: e => this.onChange(e) }} />
- </Modal>
- </>
- );
- }
- }
-
- export default ModalAttribution
|