123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282 |
- // index.js
- // 获取应用实例
- const app = getApp()
- const $request = require('../../utils/request.js');
- const $util = require('../../utils/util.js');
- Page({
- data: {
- currentIndex: 0,
- keyword: "",
- // tab
- tabData: [
- {
- text: "全部",
- value: "all"
- },
- {
- text: "我关注的",
- value: "my"
- },
- {
- text: "工商类",
- value: "工商类"
- },
- {
- text: "财税类",
- value: "财税类"
- },
- {
- text: "资质类",
- value: "资质类"
- },
- ],
- currentTab: "all",
- // 更多tab
- moreTabOption: [
- {
- text: "公司转让",
- value: "公司转让"
- },
- {
- text: "知识产权",
- value: "知识产权"
- },
- {
- text: "银行服务",
- value: "银行服务"
- },
- {
- text: "法律服务",
- value: "法律服务"
- },
- {
- text: "其他",
- value: "其他"
- },
- ],
- moreTab: "gengduo",
- moreTitle: "更多",
- // list数据加载
- // list块加载
- listLoading: true,
- // item行加载
- itemLoading: false,
- // 数据是否加载完成
- isFinished: false,
- listData: [],
- page: 1,
- size: 10,
- total: 0,
- // 是否加载数据,true加载,false不加载
- onRefresh: true,
- // 当前登录用户已设置的关注类型
- attentionTypeIds: "",
- // 用来判断关注显示按钮
- paramIsInterest:0,
- customerId:null,
- },
- onLoad() {
- },
- onShow() {
- // console.log(`会触发吗?`)
- this.toSearch();
- const businessCommunicationCustomer = wx.getStorageSync('businessCommunicationCustomer') || null;
- if (businessCommunicationCustomer) {
- this.setData({
- attentionTypeIds: businessCommunicationCustomer.attentionTypeIds.split(','),
- customerId:businessCommunicationCustomer.customerId
- })
- }
- },
- toggleMore() {
- this.selectComponent('#item').toggle();
- },
- // 搜索框输入同步值
- bindKeyInput: function (e) {
- this.setData({
- keyword: e.detail.value
- })
- },
- // 点击搜索
- toSearch(e) {
- this.setData({
- listData: [],
- onRefresh: true,
- isFinished: false,
- listLoading: true,
- page: 1,
- })
- this.getListData();
- },
- // tab切换
- tabChange(e) {
- let dataset = e.currentTarget.dataset;
- // 如果实在加载中点击无效
- if (this.data.listLoading) {
- return
- }
- // 如果当前tab是选中直接点击无效
- if (this.data.currentTab == dataset.value) {
- return
- }
- this.setData({
- currentTab: dataset.value,
- moreTitle: "更多",
- moreTab: "gengduo"
- })
- this.toSearch();
- },
- // 更多tab切换
- moreTabChange(e) {
- // 如果实在加载中点击无效
- if (this.data.listLoading) {
- return
- }
- // 如果当前tab是选中直接点击无效
- if (this.data.moreTab == e.detail) {
- return
- }
- let moreTitle = "";
- this.data.moreTabOption.forEach(el => {
- if (el.value == e.detail) {
- moreTitle = el.text;
- }
- })
- this.setData({
- currentTab: "more",
- moreTab: e.detail,
- moreTitle
- })
- this.toSearch();
- },
- // 进入详情
- goDetails(e) {
- wx.setStorageSync('listDetail', e.detail)
- wx.navigateTo({
- url: '/pages/index/components/listDetails/Details',
- })
- },
- // 获取tab数据
- getAllType() {
- $request.get('/businessCommunicationType/getAllType.action').then(res => {
- if (res.status == 0) {
- let { tabData, moreTabOption } = this.data;
- let datas = res.data;
- datas.forEach(el => {
- if (tabData.length < 5) {
- tabData.push({
- text: el.typeName,
- value: el.typeName
- })
- } else {
- moreTabOption.push({
- text: el.typeName,
- value: el.typeName
- })
- }
- })
- this.setData({
- tabData,
- moreTabOption
- })
- this.getListData();
- }
- }).catch(error => {
- console.log(error, 'error appletLogin')
- })
- },
- // 获取list数据
- getListData(isInterest) {
- let { page, size, keyword, currentTab, moreTab } = this.data;
- let type = currentTab;
- if (currentTab == 'more') {
- type = moreTab;
- }
- if (type == 'all') {
- type = "";
- }
- if (currentTab == 'my') {
- type = app.globalData.businessCommunicationCustomer.attentionTypeIds;
- }
- let paramIsInterest = 0;
- if(isInterest){
- paramIsInterest = isInterest;
- }
- this.setData({
- paramIsInterest
- })
- $request.get('/businessCommunicationDemand/getDemandByKeywordOrType.action',
- { page, size, keyword, type, isInterest: paramIsInterest }
- ).then(res => {
- // console.log(res);
-
- let tempListData = this.data.listData;
- if (res.status == 0) {
- let datas = res.data;
- // 先push数据
- tempListData.push(...datas.demandList);
- tempListData.forEach(el => {
- el.createdOn = $util.formatTime(new Date(el.createdOn), true);
- if (typeof el.type == 'string') {
- el.type = el.type.split(',');
- }
- })
- // 设置总数
- this.setData({
- listData: tempListData,
- total: res.data.total,
- })
- // 如果数据大于了返回的总数
- if (tempListData.length >= this.data.total) {
- // 停止累加数据
- this.setData({
- onRefresh: false,
- itemLoading: false,
- isFinished: true,
- })
- } else {
- this.setData({
- onRefresh: true,
- itemLoading: false,
- isFinished: false,
- page: page + 1
- })
- }
- }
- this.setData({
- listLoading: false
- })
- if(this.data.attentionTypeIds.length > 0 && res.data.total == 0){
- this.getListData(1);
- }
- }).catch(error => {
- console.log(error, 'error appletLogin')
- })
- },
-
- /**
- * 页面上拉触底事件的处理函数
- */
- onReachBottom() {
- if (this.data.onRefresh) {
- this.setData({
- itemLoading: true
- })
- this.getListData();
- }
- },
- setAttention() {
- if (!app.globalData.customerId) {
- app.goLogin();
- return
- }
- let customerid = app.globalData.customerId;
- wx.navigateTo({
- url: "/pages/myModule/components/myAttention/myAttention",
- success: function (res) {
- // 通过eventChannel向被打开页面传送数据
- res.eventChannel.emit('customerid', { customerid })
- }
- })
- },
- })
|