| | |
| | | const { graphqlRequest } = require('../../lib/utils') |
| | | |
| | | function formatTime(dateString) { |
| | | if (!dateString) return '-' |
| | | const date = new Date(dateString) |
| | | const year = date.getFullYear() |
| | | const month = String(date.getMonth() + 1).padStart(2, '0') |
| | | const day = String(date.getDate()).padStart(2, '0') |
| | | const hours = String(date.getHours()).padStart(2, '0') |
| | | const minutes = String(date.getMinutes()).padStart(2, '0') |
| | | return `${year}-${month}-${day} ${hours}:${minutes}` |
| | | } |
| | | |
| | | const LIST_QUERY = ` |
| | | query EmployeeReviewApplications($keyword: String, $state: Int, $page: Int, $size: Int) { |
| | | employeeReviewApplications(keyword: $keyword, state: $state, page: $page, size: $size) { |
| | |
| | | }, |
| | | |
| | | onLoad() { |
| | | this.initData() |
| | | this.initializeReviewData() |
| | | }, |
| | | |
| | | onShow() { |
| | | if (this.data.needRefresh) { |
| | | this.initData() |
| | | this.initializeReviewData() |
| | | this.setData({ needRefresh: false }) |
| | | } |
| | | }, |
| | | |
| | | onPullDownRefresh() { |
| | | this.initData().finally(() => { |
| | | this.initializeReviewData().finally(() => { |
| | | wx.stopPullDownRefresh() |
| | | }) |
| | | }, |
| | |
| | | } |
| | | }, |
| | | |
| | | async initData() { |
| | | async initializeReviewData() { |
| | | this.setData({ loading: true, page: 1, list: [], hasMore: true }) |
| | | |
| | | try { |
| | |
| | | const result = await graphqlRequest(LIST_QUERY, variables) |
| | | const pageData = result && result.employeeReviewApplications |
| | | const items = pageData && Array.isArray(pageData.content) ? pageData.content : [] |
| | | items.forEach(item => { |
| | | item.applyTime = formatTime(item.applyTime) |
| | | }) |
| | | const list = reset ? items : this.data.list.concat(items) |
| | | const total = pageData && typeof pageData.totalElements === 'number' ? pageData.totalElements : 0 |
| | | const hasMore = nextPage * this.data.pageSize < total |
| | |
| | | }, |
| | | |
| | | onSearch() { |
| | | this.initData() |
| | | this.initializeReviewData() |
| | | }, |
| | | |
| | | clearSearch() { |
| | | if (!this.data.searchKeyword) return |
| | | this.setData({ searchKeyword: '' }) |
| | | this.initData() |
| | | this.initializeReviewData() |
| | | }, |
| | | |
| | | switchTab(e) { |
| | |
| | | hasMore: true |
| | | }) |
| | | |
| | | this.initData() |
| | | this.initializeReviewData() |
| | | }, |
| | | |
| | | getStateByTab(index) { |