1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- import React, { useState, useEffect, useRef } from 'react';
- import { Select } from 'antd';
- import apis from '../../../../../../services/apis';
- import request from '../../../../../../utils/request'
-
- const { Option } = Select;
-
- function usePrevious(props) {
- const ref = useRef();
- useEffect(() => {
- ref.current = props;
- });
- return ref.current;
- }
-
- /**
- *
- *
- * @param {*} props
- * @returns
- */
- const BuildingSelect = props => {
- const [data, setData] = useState([])
- const [value, setValue] = useState([])
- const type = props.type
- const salesBatchId = props.salesBatchId
-
- useEffect(() => {
- getBuildList();
- }, [props.salesBatchId])
-
-
- const getBuildList = e => {
- if (salesBatchId && salesBatchId != 'undefine'){
- request({ ...apis.house.buildingIdBySalesBatchId, urlData:{id: salesBatchId}, params: { pageNum: 1, pageSize: 999 } }).then(data => {
- setData(data)
- checkValue(data)
- // 默认选中第一个
- })
- }
- else{
- request({ ...apis.building.buildingSelect, params: { pageNum: 1, pageSize: 999 } }).then(data => {
- setData(data)
- checkValue(data)
- // 默认选中第一个
- })
- }
- }
-
-
- const checkValue = (data) => {
- if (props.value) {
- const tempData = data.filter(f => f.buildingId == props.value)
- const va = (tempData.length > 0) ? props.value : '项目已下线,请重新选择项目'
- props.onChange(va)
-
- }
- }
-
- return (
- <Select
- disabled={type == 'false'?false:true}
- showSearch
- value={props.value}
- style={{ width: '300px' }}
- placeholder="请选择项目"
- onChange={props.onChange}
- filterOption={(input, option) =>
- option.props.children && option.props.children.toLowerCase().indexOf(input.toLowerCase()) >= 0
- }>
- {data.map(building => (
- <Option key={building.buildingId} value={building.buildingId}>{building.buildingName}</Option>
- ))}
- </Select>
- )
- }
- export default BuildingSelect
|