Browse Source

Merge branch 'master' of https://gitee.com/ccsens_s/healthyCode

remotes/origin/HEAD
songsong428 5 years ago
parent
commit
2a3c569466
  1. 24
      config/api/api.js
  2. 9
      pages.json
  3. 57
      pages/statistics/statistics.vue
  4. 3
      store/index.js
  5. 79
      store/modules/statistics/actions.js
  6. 5
      store/modules/statistics/index.js
  7. 30
      store/modules/statistics/mutations.js
  8. 7
      store/modules/statistics/state.js
  9. 4
      utils/user.js

24
config/api/api.js

@ -5,34 +5,34 @@ const sites = `${HEALTH}/sites`;
const journeys = `${HEALTH}/journeys`;
// 保存个人信息
const SUBMIT_USER_INFO = `${users}/addInfo`;
export const SUBMIT_USER_INFO = `${users}/addInfo`;
// 获取个人信息
const GET_USER_INFO = `${users}/info`;
export const GET_USER_INFO = `${users}/info`;
// 获取健康打卡记录
const HEALTH_SIGN_HISTORY = `${health}/info`;
export const HEALTH_SIGN_HISTORY = `${health}/info`;
// 健康类型统计
const HEALTH_TYPE_STATISTICS = `${health}/statistics`;
// 健康上报数目统计
export const HEALTH_TYPE_STATISTICS = `${health}/statistics`;
// 查询健康状态类型
const HEALTH_TYPE_STATUS = `${health}/type`;
export const HEALTH_TYPE_STATUS = `${health}/type`;
// 健康打卡
const HEALTH_SIGN = `${health}/upload`;
export const HEALTH_SIGN = `${health}/upload`;
// 查看自己的打卡记录
const SCAN_SIGN_INFO = `${sites}/info`;
export const USER_SIGNS = `${sites}/info`;
// 扫码统计
const SCAN_SIGN_HISTORY = `${sites}/statistics`;
export const SCHOOL_SIGNS = `${sites}/statistics`;
// 扫码打卡
const SCAN_SIGN = `${sites}/upload`;
export const SCAN_SIGN = `${sites}/upload`;
// 查询行程
const GET_JOURNEYS = `${journeys}/info`;
export const GET_JOURNEYS = `${journeys}/info`;
// 上报行程
const SUBMIT_JOURNEYS = `${sites}/upload`;
export const SUBMIT_JOURNEYS = `${sites}/upload`;

9
pages.json

@ -1,5 +1,9 @@
{
"pages": [
{
"path": "pages/statistics/statistics",
"style": { "navigationBarTitleText": "统计" }
},
{
"path": "pages/index/index",
"style": {
@ -16,10 +20,7 @@
"navigationBarTitleText": "打卡"
}
},
{
"path": "pages/statistics/statistics",
"style": { "navigationBarTitleText": "统计" }
},
{
"path": "pages/get-code/get-code",
"style": {

57
pages/statistics/statistics.vue

@ -10,6 +10,7 @@
</template>
<script>
import { mapActions } from 'vuex';
import DateSelector from './components/date-selector';
import HealthData from './components/health-data';
import LocationMap from './components/location-map';
@ -17,20 +18,64 @@ import LocationMap from './components/location-map';
export default {
name: 'Statistics',
components: { DateSelector, LocationMap, HealthData },
data() {
return {};
},
onLoad() {},
onLoad() {
//
const start = this.$moment().format('YYYY-MM-DD');
const end = this.$moment().format('YYYY-MM-DD');
this.getData(start, end);
},
methods: {
...mapActions('statistics', ['getSchoolSigns', 'getSchoolSignsNumber']),
/**
* 获取数据
* @param {string} start 开始时间
* @param {string} end 截止时间
* @param {string} start 开始时间 yy-mm-dd
* @param {string} end 截止时间 yy-mm-dd
*/
getData(start, end) {
console.log('start, end: ', start, end);
const startTime =
this.$moment(start)
.startOf('day')
.format('x') - 0;
const endTime =
this.$moment(end)
.endOf('day')
.format('x') - 0;
console.log('startTime,endTime: ', startTime, endTime);
//
this.getSchoolSignsData(startTime, endTime);
//
this.getSchoolSignsNumberData(startTime, endTime);
},
/**
* 获取校园打卡的数据
* @param {number} start 开始时间
* @param {number} end 截止时间
*/
getSchoolSignsData(start, end) {
try {
const params = { param: { start, end } };
this.getSchoolSigns(params);
} catch (error) {
console.log('getSchoolSignsData error: ', error);
}
},
/**
* 获取健康上报的数目数据
* @param {number} start 开始时间
* @param {number} end 截止时间
*/
getSchoolSignsNumberData(start, end) {
try {
const params = { param: { start, end } };
this.getSchoolSignsNumber(params);
} catch (error) {
console.log('getSchoolSignsNumberData error: ', error);
}
},
},
};

3
store/index.js

@ -1,10 +1,11 @@
import Vue from 'vue';
import Vuex from 'vuex';
import user from './modules/user/index';
import statistics from './modules/statistics/index';
Vue.use(Vuex);
const store = new Vuex.Store({
modules: { user },
modules: { user, statistics },
});
export default store;

79
store/modules/statistics/actions.js

@ -0,0 +1,79 @@
import { http } from 'plugins/request/index';
import { showLoading, hideLoading, showToast } from 'utils/ui';
import { USER_SIGNS, SCHOOL_SIGNS, HEALTH_TYPE_STATISTICS } from 'api/api';
const actions = {
/**
* 获取用户的打卡记录
* @param {*} commit
* @param {object} params 提交给后台的完整参数
*/
getUserSigns({ commit }, params) {
return new Promise((resolve, reject) => {
showLoading();
http
.post(USER_SIGNS, params)
.then(res => {
hideLoading();
const { data } = res.data;
commit('setUserSign', data);
resolve(data);
})
.catch(data => {
hideLoading();
showToast(data.msg || '查询数据失败');
reject(data);
});
});
},
/**
* 获取校园打卡记录 展示热力图
* @param {*} commit
* @param {object} params 提交服务端的完整参数
*/
getSchoolSigns({ commit }, params) {
return new Promise((resolve, reject) => {
showLoading();
console.log('SCHOOL_SIGNS: ', SCHOOL_SIGNS);
http
.post(SCHOOL_SIGNS, params)
.then(res => {
hideLoading();
const { data } = res.data;
commit('setSchoolSigns', data);
resolve(data);
})
.catch(data => {
hideLoading();
showToast(data.msg || '获取数据失败');
reject(data);
});
});
},
/**
* 获取校园健康上报的 数据数目
* @param {*} commit
* @param {object} params 提交给服务端的完整数据
*/
getSchoolSignsNumber({ commit }, params) {
return new Promise((resolve, reject) => {
showLoading();
http
.post(HEALTH_TYPE_STATISTICS, params)
.then(res => {
const { data } = res.data;
commit('setShoolSignNumber', data);
resolve(data);
})
.catch(data => {
showToast(data.msg || '获取健康上报数据失败');
reject(data);
});
});
},
};
export default actions;

5
store/modules/statistics/index.js

@ -0,0 +1,5 @@
import state from './state';
import mutations from './mutations';
import actions from './actions.js';
export default { namespaced: true, state, actions, mutations };

30
store/modules/statistics/mutations.js

@ -0,0 +1,30 @@
const mutations = {
/**
* 设置userSigns 自己的打卡记录数据
* @param {*} state
* @param {array} data
*/
setUserSigns(state, data) {
state.userSigns = data || [];
},
/**
* 设置shoolSigns 校园的打卡记录
* @param {*} state
* @param {array} data
*/
setSchoolSigns(state, data) {
state.shoolSigns = data || [];
},
/**
* 设置校园健康统计数目 shoolSignNumbers
* @param {*} state
* @param {array} data
*/
setShoolSignNumber(state, data) {
state.shoolSignNumber = data || [];
},
};
export default mutations;

7
store/modules/statistics/state.js

@ -0,0 +1,7 @@
const state = {
userSigns: [], // 用户个人打卡记录
shoolSigns: [], // 校园的打卡记录
shoolSignNumber: [], // 健康上报数目统计
};
export default state;

4
utils/user.js

@ -53,7 +53,7 @@ export const wxLogin = () => {
const params = {
client: SIGN_IN_CLIENTS['mp'],
type: SIGN_IN_TYPES['mp'],
data: { identifier: response.code },
data: { identifier: response.code, credential: 'health' },
redirect: 'https://test.tall.wiki/gateway/health/initMsg',
};
resolve(params);
@ -79,7 +79,7 @@ export const wxWorkLogin = () => {
const params = {
client: SIGN_IN_CLIENTS['mp'],
type: SIGN_IN_TYPES['mp'],
data: { identifier: response.code },
data: { identifier: response.code, credential: 'health' },
redirect: 'https://test.tall.wiki/gateway/health/initMsg',
};
resolve(params);

Loading…
Cancel
Save