You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							128 lines
						
					
					
						
							3.5 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							128 lines
						
					
					
						
							3.5 KiB
						
					
					
				| import {maporg, commonDemandList, userdemandList} from "../../../../../utils/statisticsApi"; | |
| 
 | |
| Page({ | |
|     data: { | |
|         orgList: [], | |
|         orgIndex: 0, | |
|         natureIndex: 0, | |
|         natureOptions: [{ | |
|             value: '1', | |
|             label: '个性需求', | |
|         }, { | |
|             value: '2', | |
|             label: '共性需求', | |
|         }], | |
|         statusIndex: 0, | |
|         statusOptions: [ | |
|           { | |
|             label: '按状态', | |
|             value: '' | |
|         }, | |
|             { | |
|                 label: '待响应', | |
|                 value: '1' | |
|             }, | |
|             { | |
|                 label: '已指派服务', | |
|                 value: '2' | |
|             }, | |
|             { | |
|                 label: '已完成', | |
|                 value: '3' | |
|             }, | |
|         ], | |
|         list: [], | |
|         total: 0, | |
|         pageNo: 1, | |
|         pageSize: 20, | |
|         listType: "1", | |
|     }, | |
|     onLoad(options) { | |
| 
 | |
|         this.getOrg() | |
|     }, | |
|     setVal(e) { | |
|         this.setData({ | |
|             [e.currentTarget.dataset.key]: e.detail.value | |
|         }) | |
|     }, | |
|     getOrg() { | |
|         maporg().then(async ({data}) => { | |
|             let parent = {value: data.id, label: data.name, level: data.level} | |
|             this.setData({ | |
|                 orgList: [ | |
|                     parent, ...data.children.map(item => { | |
|                         return { | |
|                             value: item.id, | |
|                             label: item.name, | |
|                             level: item.level | |
|                         } | |
|                     }) | |
|                 ] | |
|             }) | |
|             console.log(this.data.orgList, 'orgList') | |
|             this.getList() | |
|         }) | |
|     }, | |
|     onConfirm() { | |
|         this.setData({ | |
|             list: [], | |
|             pageNo: 1, | |
|         }) | |
|         this.getList() | |
|     }, | |
| 
 | |
|     getList() { | |
| 
 | |
|         if (this.data.natureOptions[this.data.natureIndex].value === '1') { | |
|             this.getPersonalityList() | |
|         } else { | |
|             this.getCommonnessList() | |
|         } | |
|     }, | |
|     getPersonalityList() { | |
|         let params = { | |
|             pageNo: this.data.pageNo, | |
|             pageSize: this.data.pageSize, | |
|             orgId: this.data.orgList[this.data.orgIndex].value, | |
|             orgLevel: this.data.orgList[this.data.orgIndex].level, | |
|             status: this.data.statusIndex >= 0 ? this.data.statusOptions[this.data.statusIndex].value : '', | |
|         } | |
|         userdemandList(params).then(res => { | |
|             this.setData({ | |
|                 list: this.data.list.concat(res.data.list), | |
|                 total: res.data.total, | |
|                 listType: "1" | |
|             }) | |
|         }) | |
|     }, | |
|     getCommonnessList() { | |
|         let params = { | |
|             pageNo: this.data.pageNo, | |
|             pageSize: this.data.pageSize, | |
|             agencyId: this.data.orgList[this.data.orgIndex].value, | |
|             level: this.data.orgList[this.data.orgIndex].level, | |
|             status: this.data.statusIndex >= 0 ? this.data.statusOptions[this.data.statusIndex].value : '', | |
|         } | |
|         commonDemandList(params).then(res => { | |
|             this.setData({ | |
|                 list: this.data.list.concat(res.data.list), | |
|                 total: res.data.total, | |
|                 listType: "2" | |
|             }) | |
|         }) | |
|     }, | |
|     gotopage(e) { | |
|         wx.navigateTo({ | |
|             url: '/subpages/statistics/pages/demand/detail/detail?id=' + e.currentTarget.dataset.id + '&type=' + this.data.listType | |
|         }) | |
|     }, | |
|     scrolltolower() { | |
|         if (this.data.list.length < this.data.total) { | |
|             this.setData({ | |
|                 pageNo: this.data.pageNo + 1 | |
|             }) | |
|             this.getList() | |
|         } | |
|     } | |
| }) |