| | |
| | | // pages/m_consult/consultproblem/consultproblem.js |
| | | const consultservice = require("../../../service/consultservice") |
| | | const util = require("../../../utils/util") |
| | | const app = getApp() |
| | | import ListPage from '../../../base/ListPage' |
| | | const b_questions = require('../behaviors/b_questions') |
| | | const b_elementTypes = require('../behaviors/b_elementTypes') |
| | | |
| | | Page({ |
| | | |
| | | ListPage({ |
| | | behaviors: [b_questions, b_elementTypes], |
| | | /** |
| | | * 页面的初始数据 |
| | | */ |
| | | data: { |
| | | loading: false, |
| | | menus: [ |
| | | { name: '大气', value: 1 }, |
| | | { name: '水', value: 2 }, |
| | | { name: '海洋', value: 3 }, |
| | | { name: '土壤', value: 4 }, |
| | | { name: '噪声', value: 5 }, |
| | | { name: '光', value: 6 }, |
| | | { name: '辐射', value: 7 }, |
| | | { name: '核', value: 8 }, |
| | | { name: '固体废物', value: 9 }, |
| | | { name: '化学品', value: 10 }, |
| | | { name: '台账', value: 21 }, |
| | | { name: '执法', value: 31 }, |
| | | { name: '督察', value: 41 }, |
| | | { name: '监测', value: 51 }, |
| | | { name: '服务', value: 61 }, |
| | | { name: '其他', value: 99 } |
| | | ], |
| | | items: [ |
| | | [ |
| | | { name: 'PM', value: 1 }, |
| | | { name: 'NOX', value: 2 }, |
| | | { name: 'O3', value: 3 }, |
| | | { name: 'VOCs', value: 4 }, |
| | | { name: '工业废气', value: 5 }, |
| | | { name: '机动车尾气', value: 6 }, |
| | | { name: '扬尘', value: 7 }, |
| | | { name: '餐饮油烟', value: 8 }, |
| | | { name: '恶臭', value: 9 }, |
| | | { name: '其他', value: 99 }, |
| | | ], |
| | | [ |
| | | { name: '地表水', value: 1 }, |
| | | { name: '地下水', value: 2 }, |
| | | { name: '饮用水', value: 3 }, |
| | | { name: '工业废水', value: 4 }, |
| | | { name: '生活污水', value: 5 }, |
| | | { name: '商业污水', value: 6 }, |
| | | { name: '其他', value: 99 }, |
| | | ], |
| | | [ |
| | | { name: '石油及其产品', value: 1 }, |
| | | { name: '重金属和酸碱', value: 2 }, |
| | | { name: '农药', value: 3 }, |
| | | { name: '有机物质和营养盐类', value: 4 }, |
| | | { name: '放射性核素', value: 5 }, |
| | | { name: '固体废物', value: 6 }, |
| | | { name: '废热', value: 7 }, |
| | | { name: '其他', value: 99 }, |
| | | ], |
| | | [ |
| | | { name: '农田耕地', value: 1 }, |
| | | { name: '工业企业用地', value: 2 }, |
| | | { name: '石油开采用地', value: 3 }, |
| | | { name: '矿山开采用地', value: 4 }, |
| | | { name: '其他', value: 99 }, |
| | | ], |
| | | [ |
| | | { name: '工业生产噪声', value: 1 }, |
| | | { name: '交通运输噪声', value: 2 }, |
| | | { name: '建筑施工噪声', value: 3 }, |
| | | { name: '社会生活噪声', value: 4 }, |
| | | { name: '其他', value: 99 }, |
| | | ], |
| | | [ |
| | | { name: '白亮污染', value: 1 }, |
| | | { name: '人工白昼污染', value: 2 }, |
| | | { name: '彩光污染', value: 3 }, |
| | | { name: '其他', value: 99 }, |
| | | ], |
| | | [ |
| | | { name: '电磁辐射', value: 1 }, |
| | | { name: '放射性辐射', value: 2 }, |
| | | { name: '其他', value: 99 }, |
| | | ], |
| | | [], |
| | | [], |
| | | [], |
| | | [], |
| | | [], |
| | | [], |
| | | [], |
| | | [], |
| | | ], |
| | | selected: [{ |
| | | name: '全部', |
| | | value: null |
| | |
| | | name: '全部', |
| | | value: null |
| | | }], |
| | | |
| | | questions: [] |
| | | }, |
| | | |
| | | /** |
| | | * 生命周期函数--监听页面加载 |
| | | */ |
| | | onLoad(options) { |
| | | this.getQuestionsByType(1) |
| | | this.getEnElementTypes() |
| | | this.getEnElementSubTypes() |
| | | }, |
| | | |
| | | getQuestionsByType(page = 1) { |
| | | this.setData({loading: true}) |
| | | setTimeout(() => { |
| | | this.setData({loading: false}) |
| | | }, 100000); |
| | | var that = this |
| | | consultservice.getQuestionsByType( |
| | | app.globalData.accessToken.userId, |
| | | this.data.selected[0].value, this.data.selected[1].value, |
| | | page, 10, { |
| | | onPage(head) { |
| | | that.cPage = head.page |
| | | that.tPage = head.totalPage |
| | | that.setData({ |
| | | totalCount: head.totalCount |
| | | const selectedValues = this.data.selected.map((obj, index) => { |
| | | return obj.value |
| | | }) |
| | | }, |
| | | success(res) { |
| | | res.forEach(r => { |
| | | r.cqCreateTime = util.formatTime(r.cqCreateTime) |
| | | r.answer = r.answer.replaceAll('\\n', '<br/>') |
| | | }); |
| | | let questions = that.data.questions |
| | | if (page == 1) { |
| | | questions = [] |
| | | } |
| | | questions = questions.concat(res) |
| | | that.setData({questions}) |
| | | }, |
| | | complete(e) { |
| | | that.setData({loading: false}) |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | getEnElementTypes() { |
| | | var that = this |
| | | consultservice.getEnElementTypes(app.globalData.accessToken.userId, { |
| | | success(res) { |
| | | const menus = [{ |
| | | name: '全部', |
| | | value: null, |
| | | }] |
| | | res.forEach(r => { |
| | | menus.push({ |
| | | name: r.first, |
| | | value: r.second, |
| | | }) |
| | | }); |
| | | that.setData({menus}) |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | getEnElementSubTypes() { |
| | | var that = this |
| | | consultservice.getEnElementSubTypes(app.globalData.accessToken.userId, { |
| | | success(res) { |
| | | const items = [ |
| | | [{ |
| | | name: '全部', |
| | | value: null, |
| | | }] |
| | | ] |
| | | res.forEach(r => { |
| | | const l = [] |
| | | r.forEach(s => { |
| | | l.push({ |
| | | name: s.first, |
| | | value: s.second, |
| | | }) |
| | | }); |
| | | items.push(l) |
| | | }); |
| | | that.setData({items}) |
| | | } |
| | | }) |
| | | this.getQuestionsByType(1, selectedValues) |
| | | }, |
| | | |
| | | openChooseType() { |
| | |
| | | }, |
| | | |
| | | chooseMenu(e) { |
| | | console.log('chooseMenu'); |
| | | console.log(e); |
| | | const i = e.detail |
| | | const menu = this.data.menus[i[0]] |
| | | const item = this.data.items[i[0]][i[1]] |
| | | this.setData({ |
| | | selected: [menu, item] |
| | | }) |
| | | this.getQuestionsByType() |
| | | }, |
| | | |
| | | // 去往问答详情 |
| | | gotoQA(e) { |
| | | const index = e.currentTarget.dataset.index |
| | | var qId = this.data.questions[index].cqGuid |
| | | wx.navigateTo({ |
| | | url: '/pages/m_consult/consultdetailqa/consultdetailqa', |
| | | success: (res) => { |
| | | // 通过 eventChannel 向被打开页面传送数据 |
| | | res.eventChannel.emit('acceptDataFromOpenerPage', { |
| | | qId: qId |
| | | }) |
| | | }, |
| | | }) |
| | | this.getQuestionsByType(1, [menu.value, item.value]) |
| | | }, |
| | | }) |