h5-cli
Version:
hello
134 lines (112 loc) • 2.7 kB
JavaScript
import React from 'react'
import {render} from 'react-dom'
import {Tag, Button,Menu, Table, Badge, Input, Popconfirm,Modal,Select} from 'react-piros'
import QueueCenter from '../../module/QueueCenter';
import "../../css/base/QueueBox.less"
export default class QueueBox extends React.Component{
constructor(props) {
super(props);
this.state = {
count: 0,
queueMap:new Map(),
filter:""
};
}
componentDidMount() {
}
componentWillReceiveProps(props) {
var {queueMap} = this.state;
if(this.props.display&&!props.display){
for (var [key, value] of queueMap) {
if(value){
this.refs[key].checked = false;
}
}
queueMap.clear()
this.setState({
queueMap,
count:0
})
}
}
onChange(queueCode){
var {count,queueMap} = this.state;
if(this.refs[queueCode].checked){
count++;
queueMap.set(queueCode,true)
}else{
count--;
queueMap.set(queueCode,false)
}
this.setState({
count,
queueMap
})
this.setState({
queueMap
})
}
submit(){
var {queueMap} = this.state;
for (var [key, value] of queueMap) {
if(value){
this.props.saveDoctorInfo(key)
this.refs[key].checked = false;
}
}
queueMap.clear();
this.setState({
queueMap,
count:0
})
this.props.setDisplay(false)
}
onInputChange(){
this.setState({filter : this.refs['search'].value})
}
render(){
var {list} = this.props;
var {count,filter} = this.state;
return (
<div className="queue-box">
<div className="box">
<div className="headerBox">
<div className="header-text">
<p>{"队列名称"}</p>
<p>{count}/{list.length}{"队列"}</p>
</div>
<div className="header-search">
<Input type="search" ref="search" onChange={this.onInputChange.bind(this)} placeholder={"输入队列名查询"}/>
</div>
</div>
<div className="bodyBox">
<ul>
{
list.map((item,key)=>{
if(item.queueName.includes(filter) || item.py.includes(filter) || item.simplePY.includes(filter)) {
return (
<li key={key} className="boxItem">
<span>
<label>
<input type="checkbox"
ref={item.queueCode}
onChange={this.onChange.bind(this, item.queueCode)}
value={item.queueCode}
/> {item.queueName} {item.smallDeptName ? `(${item.smallDeptName})` : null}
</label>
</span>
</li>
)
}
})
}
</ul>
</div>
</div>
<div className="submit">
<Button onClick={this.submit.bind(this)}>确认增加</Button>
</div>
</div>
)
}
}