123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143 |
- import { connect } from 'herculex';
- import { getIn } from 'herculex/dist/utils/manipulate';
- import { getCourtlistInfo } from './../utils';
- import { setPagesQuery } from "../../../../core/utils/index";
- const app = getApp();
- Component(connect({
- mapStateToProps: {
- userInfo: state => state.$global.userInfo,
- currentCourt: state => state.currentCourt
- }
- })({
- props: {
- componentData: {}
- },
- data: {
- imgSrcPrefix: app.globalData.imgSrcPrefix
- },
- async didMount() {
- const {
- longitude,
- latitude
- } = getApp().globalData.regionData;
- const [err, res] = await getCourtlistInfo({
- lng: longitude,
- lat: latitude
- });
- if (err || !res) return [err, null];
- let currentCourt = null;
- for (const item of res.list) {
- currentCourt = item.list.find(every => every.id === res.currentId);
- currentCourt.courtName = item.name;
- if (currentCourt) break;
- }
- this.commit('$global:updateState', {
- courtInfo: res
- }); // 全部小区列表信息
- this.commit('$global:updateState', {
- currentCourt
- }); // 全部小区列表信息
- // 设置app.js中全局的参数
- const {
- id,
- name
- } = currentCourt;
- setPagesQuery({
- communityCode: id,
- communityName: name
- });
- },
- didUpdate(preProps) {
- // eslint-disable-next-line max-len
- if (preProps.componentData.componentExtInfo.memberInfo && this.props.componentData.componentExtInfo.memberInfo) {
- const preFlag = preProps.componentData.componentExtInfo.memberInfo.flag || false;
- const flag = this.props.componentData.componentExtInfo.memberInfo.flag || false;
- if (!preFlag && flag) {
- const {
- serviceList = []
- } = this.props.componentData;
- const {
- url,
- urlType
- } = serviceList[0] || {};
- const payload = {
- urlType,
- url
- };
- if (url) {
- return this.$page.dispatchGlobal('handleJumpService', payload);
- }
- }
- }
- },
- methods: {
- async addCard(e) {
- const {
- componentExtInfo: {
- applyUrl,
- cardTemplateId
- }
- } = this.props.componentData;
- const index = getIn(e, ['target', 'dataset', 'index']);
- const result = await this.dispatch('addCard', {
- index,
- applyUrl,
- cardTemplateId
- });
- if (result.code && result.code === 'USER_BACK') return; // 失败
- if (result !== 'addCardSuccess') {
- const {
- serviceList = []
- } = this.props.componentData;
- const {
- url,
- urlType
- } = serviceList[1] || {};
- const payload = {
- urlType,
- url
- };
- if (url) {
- return this.$page.dispatchGlobal('handleJumpService', payload);
- }
- }
- },
- goToCardDetail(e) {
- const memberInfo = getIn(e, ['target', 'dataset', 'memberInfo'], {});
- const {
- passId
- } = memberInfo;
- if (passId) {
- this.commit({
- memberInfo: {
- isOpenCardDeail: true,
- ...memberInfo
- }
- });
- my.openCardDetail({
- passId
- });
- }
- },
- onJumpAreaSelect() {
- my.navigateTo({
- url: '/antbuilder/industry/smartcommunity/pages/area-select/index'
- });
- }
- }
- }));
|