|  |  | 
 |  |  |   }; | 
 |  |  |   data: any[] = []; | 
 |  |  |   total: 0; | 
 |  |  |  | 
 |  |  |   selectedRows: any[] = []; | 
 |  |  |   curRows: any[] = []; | 
 |  |  |   allChecked = false; | 
 |  |  | 
 |  |  |       this.q.pi = 1; | 
 |  |  |     } | 
 |  |  |     this.http.get(environment.SERVER_BASH_URL + '/user/operate_user', this.q).subscribe((res: any) => { | 
 |  |  |       // let data = res.data; | 
 |  |  |       // const total = res.total; | 
 |  |  |       // | 
 |  |  |       // if (this.q.sorter !== '') { | 
 |  |  |       //   const s = this.q.sorter.split('_'); | 
 |  |  |       //   data.sort((prev, next) => { | 
 |  |  |       //     if (s[1] === 'descend') { | 
 |  |  |       //       return moment(next[s[0]]).unix() - moment(prev[s[0]]).unix(); | 
 |  |  |       //     } | 
 |  |  |       //     return moment(prev[s[0]]).unix() - moment(next[s[0]]).unix(); | 
 |  |  |       //   }); | 
 |  |  |       // } | 
 |  |  |       // | 
 |  |  |       // if (this.q.u_name) { | 
 |  |  |       //   data = data.filter(d => d.name.indexOf(this.q.u_name) > -1); | 
 |  |  |       // } | 
 |  |  |       // if (this.q.u_mobile) { | 
 |  |  |       //   data = data.filter(d => d.mobile.toString().indexOf(this.q.u_mobile) > -1); | 
 |  |  |       // } | 
 |  |  |       // | 
 |  |  |       // const start = (this.q.pi - 1) * this.q.ps; | 
 |  |  |       // this.data = data.slice(start, start + this.q.ps); | 
 |  |  |       // this.total = total; | 
 |  |  |  | 
 |  |  |       let data = res.data; | 
 |  |  |       const total = res.total; | 
 |  |  |  | 
 |  |  |       if (this.q.sorter !== '') { | 
 |  |  |         const s = this.q.sorter.split('_'); | 
 |  |  |         data.sort((prev, next) => { | 
 |  |  |           if (s[1] === 'descend') { | 
 |  |  |             return moment(next[s[0]]).unix() - moment(prev[s[0]]).unix(); | 
 |  |  |           } | 
 |  |  |           return moment(prev[s[0]]).unix() - moment(next[s[0]]).unix(); | 
 |  |  |         }); | 
 |  |  |       } | 
 |  |  |  | 
 |  |  |       if (this.q.u_name) { | 
 |  |  |         data = data.filter(d => d.name.indexOf(this.q.u_name) > -1); | 
 |  |  |       } | 
 |  |  |       if (this.q.u_mobile) { | 
 |  |  |         data = data.filter(d => d.mobile.toString().indexOf(this.q.u_mobile) > -1); | 
 |  |  |       } | 
 |  |  |  | 
 |  |  |       const start = (this.q.pi - 1) * this.q.ps; | 
 |  |  |       this.data = data.slice(start, start + this.q.ps); | 
 |  |  |       this.total = total; | 
 |  |  |       this.data = res.data; | 
 |  |  |       this.total = res.total; | 
 |  |  |     }); | 
 |  |  |   } | 
 |  |  |  | 
 |  |  | 
 |  |  |   } | 
 |  |  |  | 
 |  |  |   remove() { | 
 |  |  |     const ids = []; | 
 |  |  |     this.selectedRows.forEach(i => { | 
 |  |  |       this.http.delete(environment.SERVER_BASH_URL + '/user/operate_user/' + i.id).subscribe((res: any) => { | 
 |  |  |         // TODO | 
 |  |  |       }); | 
 |  |  |       ids.push(i.id); | 
 |  |  |     }); | 
 |  |  |     this.load(true); | 
 |  |  |     console.log(ids); | 
 |  |  |     this.http.post(environment.SERVER_BASH_URL + '/user/operate_user/deleteList', ids).subscribe((res: any) => { | 
 |  |  |       this.load(true); | 
 |  |  |     }); | 
 |  |  |   } | 
 |  |  |  | 
 |  |  |   checkAll(value: boolean) { | 
 |  |  |     this.curRows.forEach(i => { | 
 |  |  |       if (!i.disabled) i.checked = value; | 
 |  |  |       i.checked = value; | 
 |  |  |     }); | 
 |  |  |     this.refreshStatus(); | 
 |  |  |   } | 
 |  |  |  | 
 |  |  |   dataChange(res: any) { | 
 |  |  |     this.curRows = res; | 
 |  |  |     this.refreshStatus(); | 
 |  |  |   } | 
 |  |  |  | 
 |  |  |   refreshStatus() { | 
 |  |  |     const allChecked = this.curRows.every(value => value.disabled || value.checked); | 
 |  |  |     const allUnChecked = this.curRows.every(value => value.disabled || !value.checked); | 
 |  |  |     const allChecked = this.curRows.every(value => value.checked); | 
 |  |  |     const allUnChecked = this.curRows.every(value => !value.checked); | 
 |  |  |     this.allChecked = allChecked; | 
 |  |  |     this.indeterminate = (!allChecked) && (!allUnChecked); | 
 |  |  |     this.selectedRows = this.data.filter(value => value.checked); |