123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110 |
- import React, { useState, useEffect } from 'react';
- import { Form, Select, Modal, Button, Table, Divider, Tag, Input } from 'antd';
- import { apis, fetch } from '../../utils/request';
- import Navigate from '@/components/Navigate';
-
- const { Search } = Input;
-
- const getGroupList = fetch(apis.house.taSalesBatch)
-
- export default props => {
- const {
- value,
- onChange,
- ...rest
- } = props;
-
- const [list, setList] = useState([]);
- const [visible, setVisible] = useState(false);
- const [group, setGroup] = useState({ groupId: undefined, groupName: '请选择销售批次' })
- const getGroupTitle = val => {
- return (list.filter(x => x.salesBatchId == val)[0] || {}).salesBatchName || '请选择销售批次'
- }
- const updateGroup = val => setGroup({ groupId: val, groupName: getGroupTitle(val) })
-
- const buildingId = props.buildingId()
-
- useEffect(() => {
- getGroupList({
- params: {
- buildingId,
- pageNum: 1,
- pageSize: 999,
- status: 1,
- },
- }).then(data => {
- setList(data.records || [])
-
- updateGroup(buildingId ? undefined : value);
- })
- }, [buildingId]);
- const searchGroup = (e) => {
- getGroupList({
- params: {
- buildingId,
- pageNum: 1,
- pageSize: 999,
- status: 1,
- salesBatchName: e
- }
- }).then((data) => {
- setList(data.records || [])
-
- updateGroup(buildingId ? undefined : value);
- // setAct(buildingId ? undefined : value);
- })
- }
- if (value !== group.groupId) {
- updateGroup(value);
- }
-
- const handleChange = val => {
- onChange(val)
- }
-
- const setData = val => {
- updateGroup(val)
- onChange(val)
- setVisible(false)
- }
-
- const columns = [
- {
- title: '标题',
- dataIndex: 'salesBatchName',
- key: 'salesBatchId',
- align: 'center',
- ellipsis: true,
- render: text => <a>{text}</a>,
- },
- {
- title: '操作',
- align: 'center',
- width: '20%',
- render: (text, record) => (
- <Navigate onClick={() => setData(record.salesBatchId)}>选择</Navigate>
- ),
- },
- ];
-
- return (
- <div>
- <div ><Navigate onClick={() => setVisible(true)}>{group.groupName}</Navigate></div>
- <Modal
- title="请选择"
- visible={visible}
- onCancel={() => setVisible(false)}
- footer={[]}
- >
- <Search
- placeholder="请输入标题"
- enterButton="搜索"
- size="large"
- onSearch={value => searchGroup(value)}
- style={{ marginBottom: '16px' }}
- />
- <Table rowKey={list => list.salesBatchId} columns={columns} dataSource={list} />
- </Modal>
- </div>
- );
- }
|