123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205 |
- // pages/ZCWDK/index/index.js
- import {
- imgUrl,
- request
- } from "../../api/request"
- Page({
- /**
- * 页面的初始数据
- */
- data: {
- // 图片前缀
- imgUrl: imgUrl,
- // 默认搜索类型
- defaultSearch: '全部',
- // 搜索内容
- searchContent: '',
- // 搜索分类
- searchItems: [],
- // 搜索分类显示
- showModal: false,
- // 热门问题列表
- questionList: [],
- // 共计问答数
- questionCount: 0
- },
- /**
- * 生命周期函数--监听页面加载
- */
- onLoad(options) {
- // 是否为搜索跳转
- if (options.content || options.dept) {
- this.setData({
- defaultSearch: options.dept,
- searchContent: options.content,
- questionCount: options.count
- })
- this.searchQuestion();
- } else {
- // 获取热门问题
- this.searchHot();
- }
- // 获取所有分类
- this.getSubDeptAll();
- },
- /**
- * 生命周期函数--监听页面初次渲染完成
- */
- onReady() {
- },
- /**
- * 生命周期函数--监听页面显示
- */
- onShow() {
- },
- /**
- * 生命周期函数--监听页面隐藏
- */
- onHide() {
- },
- /**
- * 生命周期函数--监听页面卸载
- */
- onUnload() {
- },
- /**
- * 页面相关事件处理函数--监听用户下拉动作
- */
- onPullDownRefresh() {
- },
- /**
- * 页面上拉触底事件的处理函数
- */
- onReachBottom() {
- },
- /**
- * 用户点击右上角分享
- */
- onShareAppMessage() {
- return {
- title: '政策问答库'
- }
- },
- // 输入搜索框
- bindKeyInput: function (e) {
- this.setData({
- searchContent: e.detail.value
- })
- },
- // 搜索热门问题
- searchQuestion() {
- let dept;
- if (this.data.defaultSearch === '全部') {
- dept = ''
- } else {
- dept = this.data.defaultSearch;
- }
- request({
- url: '/elk/search',
- data: {
- page: 1,
- limit: 5,
- content: this.data.searchContent,
- dept: dept
- }
- }).then(res => {
- let temp = [];
- let data = res.data.data;
- for (let i = 0; i < data.length; i++) {
- let text = data[i]._source.content.replace(/<[^>]+>/g, "");
- temp.push({
- sourceAsMap: {
- highlight: data[i]._source.title,
- title: res.data.highlightArr[i].title,
- contentText: text,
- content: data[i]._source.content,
- departmentname: data[i]._source.departmentname
- }
- })
- }
- this.setData({
- questionList: temp
- })
- })
- },
- // 获取所有的分类
- getSubDeptAll() {
- request({
- url: '/elk/getSubDeptAll',
- method: 'GET'
- }).then(res => {
- res.data.unshift("全部");
- this.setData({
- searchItems: res.data
- })
- })
- },
- // 获取热门问题
- searchHot() {
- request({
- url: '/elk/searchHot?page=1&limit=8'
- }).then(res => {
- for (let i = 0; i < res.data.array.length; i++) {
- res.data.array[i].sourceAsMap.contentText = res.data.array[i].sourceAsMap.content.replace(/<[^>]+>/g, "");
- }
- this.setData({
- questionList: res.data.array,
- questionCount: res.data.count
- })
- })
- },
- // 选择类型
- chooseType(data) {
- this.setData({
- defaultSearch: data.currentTarget.dataset.name,
- showModal: false
- })
- },
- // 打开类型选择界面
- selectType() {
- this.setData({
- showModal: !this.data.showModal
- })
- },
- // 关闭类型选择界面
- closedlg() {
- this.setData({
- showModal: false
- })
- },
- // 前往详细界面
- toinfo(data) {
- let content = JSON.stringify(data.currentTarget.dataset.content)
- wx.navigateTo({
- url: "/pages/ZCWDK/info/info?questionContent=" + encodeURIComponent(content),
- })
- },
- // 返回
- back() {
- wx.navigateBack({
- delta: 1
- });
- },
- // 我要提问
- askQuestion() {
- wx.navigateTo({
- url: '/pages/ZCWDK/add/add',
- })
- }
- })
|