Browse Source

小区浏览统计

feature/3.1.0-小区合伙人
lfs3 6 years ago
parent
commit
305d905f1e
3 changed files with 129 additions and 73 deletions
  1. 168
      src/common/util.js
  2. 30
      src/view/choose-community.vue
  3. 4
      src/view/home.vue

168
src/common/util.js

@ -1,69 +1,131 @@
/**
* Created by jerry on 2017/4/14.
*/
import homeApi from "../models/home-model.js";
var SIGN_REGEXP = /([yMdhsm])(\1*)/g
var DEFAULT_PATTERN = 'yyyy-MM-dd'
function padding (s, len) {
let l = len - (s + '').length
for (var i = 0; i < l; i++) { s = '0' + s }
return s
function padding(s, len) {
let l = len - (s + '').length
for (var i = 0; i < l; i++) { s = '0' + s }
return s
};
export default {
getQueryStringByName: function (name) {
var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i')
var r = window.location.search.substr(1).match(reg)
var context = ''
if (r != null) { context = r[2] }
reg = null
r = null
return context === null || context === '' || context === 'undefined' ? '' : context
},
formatDate: {
format: function (date, pattern) {
pattern = pattern || DEFAULT_PATTERN
return pattern.replace(SIGN_REGEXP, function ($0) {
switch ($0.charAt(0)) {
case 'y': return padding(date.getFullYear(), $0.length)
case 'M': return padding(date.getMonth() + 1, $0.length)
case 'd': return padding(date.getDate(), $0.length)
case 'w': return date.getDay() + 1
case 'h': return padding(date.getHours(), $0.length)
case 'm': return padding(date.getMinutes(), $0.length)
case 's': return padding(date.getSeconds(), $0.length)
}
})
getQueryStringByName: function (name) {
var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i')
var r = window.location.search.substr(1).match(reg)
var context = ''
if (r != null) { context = r[2] }
reg = null
r = null
return context === null || context === '' || context === 'undefined' ? '' : context
},
parse: function (dateString, pattern) {
var matchs1 = pattern.match(SIGN_REGEXP)
var matchs2 = dateString.match(/(\d)+/g)
if (matchs1.length === matchs2.length) {
var _date = new Date(1970, 0, 1)
for (var i = 0; i < matchs1.length; i++) {
var _int = parseInt(matchs2[i])
var sign = matchs1[i]
switch (sign.charAt(0)) {
case 'y': _date.setFullYear(_int); break
case 'M': _date.setMonth(_int - 1); break
case 'd': _date.setDate(_int); break
case 'h': _date.setHours(_int); break
case 'm': _date.setMinutes(_int); break
case 's': _date.setSeconds(_int); break
}
formatDate: {
format: function (date, pattern) {
pattern = pattern || DEFAULT_PATTERN
return pattern.replace(SIGN_REGEXP, function ($0) {
switch ($0.charAt(0)) {
case 'y': return padding(date.getFullYear(), $0.length)
case 'M': return padding(date.getMonth() + 1, $0.length)
case 'd': return padding(date.getDate(), $0.length)
case 'w': return date.getDay() + 1
case 'h': return padding(date.getHours(), $0.length)
case 'm': return padding(date.getMinutes(), $0.length)
case 's': return padding(date.getSeconds(), $0.length)
}
})
},
parse: function (dateString, pattern) {
var matchs1 = pattern.match(SIGN_REGEXP)
var matchs2 = dateString.match(/(\d)+/g)
if (matchs1.length === matchs2.length) {
var _date = new Date(1970, 0, 1)
for (var i = 0; i < matchs1.length; i++) {
var _int = parseInt(matchs2[i])
var sign = matchs1[i]
switch (sign.charAt(0)) {
case 'y': _date.setFullYear(_int); break
case 'M': _date.setMonth(_int - 1); break
case 'd': _date.setDate(_int); break
case 'h': _date.setHours(_int); break
case 'm': _date.setMinutes(_int); break
case 's': _date.setSeconds(_int); break
}
}
return _date
}
return null
}
return _date
}
return null
}
},
},
};
export function isEmpty(val) {
return (
val === undefined ||
val === null ||
val === "undefined" ||
val === "")
val === undefined ||
val === null ||
val === "undefined" ||
val === "")
}
export function countPartner() {
var estateId = "";
let estateStr = localStorage.getItem("estate") || "";
if (!estateStr) {
} else {
let estateArr = estateStr.split("&");
estateId = estateArr[0];
}
if(estateId !== ""){
let keyStr = "1hjz_open_housing_log_" + estateId
let open_housing = localStorage.getItem(keyStr) || "";
if (!open_housing) {
return new Promise((resolve, reject) => {
var params = {
buryingPointType: 0,
housingEstateId: estateId,
timeStr: getTime(Date.now())
};
homeApi.countPartner(params).then(res => {
localStorage.setItem(keyStr, getTime(Date.now()))
resolve();
});
});
}else{
if(open_housing !== getTime(Date.now())){
return new Promise((resolve, reject) => {
var params = {
buryingPointType: 0,
housingEstateId: estateId,
timeStr: getTime(Date.now())
};
homeApi.countPartner(params).then(res => {
localStorage.setItem(keyStr, getTime(Date.now()))
resolve();
});
});
}
}
}
}
export function getTime(time) {
let date = new Date(time);
let year = date.getFullYear();
let month = checkTime(date.getMonth() + 1);
let day = checkTime(date.getDate());
let str = year + "-" + month + "-" + day;
return str;
}
export function checkTime(i) {
if (i < 10) {
i = "0" + i;
}
return i;
}

30
src/view/choose-community.vue

@ -58,6 +58,7 @@ import homeApi from "../models/home-model.js";
import { Alert, Toast, Loading } from "vux";
import popupPicker from "../components/popup-picker.vue";
import chooseCommunity from "../api/chooseCommunity";
import { countPartner } from "@/common/util";
export default {
components: {
Toast,
@ -158,9 +159,10 @@ export default {
this.$vux.toast.text("请选择一个小区", "middle");
return;
}
this.$router.push({
name: "首页"
});
history.go(-1)
// this.$router.push({
// name: ""
// });
},
//
confirm(list) {
@ -281,10 +283,11 @@ export default {
item.housingEstateId + "&" + item.housingEstateName
);
this.estateId = item.housingEstateId;
this.countPartner();
this.$router.push({
name: "首页"
});
countPartner();
history.go(-1)
// this.$router.push({
// name: ""
// });
},
ShareWenXin() {
var merchantNo = this.merchantNo;
@ -307,18 +310,7 @@ export default {
});
});
},
countPartner() {
return new Promise((resolve, reject) => {
var params = {
buryingPointType: 0,
housingEstateId: this.estateId,
timeStr: this.getTime(Date.now())
};
homeApi.countPartner(params).then(res => {
resolve();
});
});
},
getTime(time) {
let date = new Date(time);
let year = date.getFullYear();

4
src/view/home.vue

@ -152,6 +152,7 @@ import { Alert, Toast, Loading } from "vux";
import {isEmpty} from "@/common/util";
import routerFooter from "../components/nav-bottom";
import popupPicker from "../components/popup-picker.vue";
import { countPartner } from "@/common/util";
import Qs from "qs";
//BMap
import BMap from "BMap";
@ -382,6 +383,7 @@ export default {
});
} else if (data.userAddress.type == 0) {
this.getGoodsList();
countPartner();
} else if (data.userAddress.type == -1) {
// this.state = -1;
this.$vux.alert.show({
@ -528,6 +530,7 @@ export default {
: this.defaultCommunity;
if(!isEmpty(this.estateId)){
localStorage.setItem("estate",this.estateId + "&" + this.defaultCommunity);
countPartner();
}
}
@ -539,7 +542,6 @@ mounted() {
// this.getLocation();
this.getId();
let eId = this.$route.query.estateId;
this.wxLocation({});
if (!isEmpty(eId) ) {
if (!isEmpty(this.estateId)) {
this.showLoading = true;

Loading…
Cancel
Save