123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215 |
- import Ajax from '../../util/ajax'
- import api from '../../util/api'
- import toolClass from '../../util/util'
- const http = new Object
-
- // 请求数据
- http.getIndexLocation = (data) => {
- return new Promise((resolve, reject) => {
- Ajax(api.index.location.url, {
- method: api.index.location.method,
- queryData: {
- issys: data.issys,
- orgid: data.orgid
- }
- }).then(res => {
- resolve(res)
- }).catch((err) => {
- reject(err)
- })
- })
- }
-
- http.getBanner = (data) => {
- return new Promise((resolve, reject) => {
- Ajax(api.index.banner.url, {
- method: api.index.banner.method,
- queryData: {
- locationid: data.locationid,
- orgid: data.orgid
- }
- }).then(res => {
- resolve(res)
- }).catch((err) => {
- reject(err)
- })
- })
- }
-
- http.getMessage = (data) => {
- return new Promise((resolve, reject) => {
- Ajax(api.index.message.url, {
- method: api.index.message.method,
- queryData: {
- locationid: data.locationid,
- orgid: data.orgid
- }
- }).then(res => {
- resolve(res)
- }).catch((err) => {
- reject(err)
- })
- })
- }
-
- http.getProject = (data) => {
- return new Promise((resolve, reject) => {
- Ajax(api.index.project.url, {
- method: api.index.project.method,
- queryData: {
- locationid: data.locationid,
- orgid: data.orgid
- }
- }).then(res => {
- resolve(res)
- }).catch((err) => {
- reject(err)
- })
- })
- }
-
- http.getCms = (data) => {
- return new Promise((resolve, reject) => {
- Ajax(api.index.cms.url, {
- method: api.index.cms.method,
- queryData: {
- locationid: data.locationid,
- orgid: data.orgid
- }
- }).then(res => {
- resolve(res)
- }).catch((err) => {
- reject(err)
- })
- })
- }
-
- export default {
- namespaced: true,
- state: {
- banner: [],
- fiveA: [],
- message: [],
- project: [],
- cms: [],
- courseList: [],
- longitude1: 0,
- latitude1: 0
- },
- mutations: {
- setBanner (state, data) { // 获取首页轮播图
- data = data || []
- state.banner = data
- },
- setFiveA (state, data) { // 获取5A
- data = data || []
- state.fiveA = data
- },
- setMessage (state, data) { // 获取首页消息
- data = data || []
- if (data.length > 3) {
- state.message = data.slice(0, 3)
- } else {
- state.message = data
- }
- },
- setProject (state, data) { // 获取项目专题
- if (state.latitude1 === 0 && state.longitude1 === 0) {
- data.forEach((item) => {
- item.jl = '未获取到当前定位'
- })
- state.project = data
- } else {
- data = data || []
- let arr = []
- let dataNew = []
- data.forEach((item) => {
- if (item.Coordinate) {
- item.jl = parseInt(toolClass.getGreatCircleDistance(state.latitude1, state.longitude1, item.Coordinate.split(',')[0], item.Coordinate.split(',')[1]))
- arr.push({ jl: item.jl, CmsCaseId: item.CmsCaseId })
- } else {
- item.jl = 400000000
- arr.push({ jl: item.jl, CmsCaseId: item.CmsCaseId })
- }
- })
- arr.sort((a, b) => { return a.jl - b.jl })
- arr.forEach((curr) => {
- data.forEach((item) => {
- if (curr.CmsCaseId === item.CmsCaseId && item.jl === curr.jl) {
- item.jl = `距离${item.jl}米`
- dataNew.push(item)
- }
- })
- })
- state.project = dataNew
- }
- },
- setCms (state, data) { // 获取cms
- data = data || []
- state.cms = data
- },
- updateCourseList (state, data) { // 更新附近课程
- state.courseList = data.list || []
- },
- upDateLocation (state, data) {
- state.longitude1 = data.longitude1
- state.latitude1 = data.latitude1
- }
- },
- actions: {
- setLocation (context, data) {
- context.commit('upDateLocation', data)
- },
- getCourseList (context, payload) { // 获取附近课程
- return new Promise((resolve, reject) => {
- Ajax(api.index.getCourseList.url, {
- method: api.index.getCourseList.method,
- queryData: { ...payload }
- }).then(res => {
- context.commit('updateCourseList', res)
- resolve(res)
- }).catch((err) => {
- reject(err)
- })
- })
- },
- getIndexLocation (context, data) {
- return new Promise((resolve) => {
- http.getIndexLocation(data).then((res) => {
- context.commit('setFiveA', res)
- resolve(res)
- })
- })
- },
- getProjectList (context, data) {
- return new Promise((resolve, reject) => {
- Ajax(api.index.project.url, {
- method: api.index.project.method,
- queryData: {
- locationid: data.locationid,
- orgid: data.orgid
- }
- }).then(res => {
- context.commit('setProject', res)
- resolve(res)
- }).catch((err) => {
- reject(err)
- })
- })
- },
- async getIndexInfo (context, param) { // 首页全部请求
- try {
- let banner = await http.getBanner(param)
- context.commit('setBanner', banner)
- let message = await http.getMessage(param)
- context.commit('setMessage', message)
- let project = await http.getProject(param)
- context.commit('setProject', project)
- let cms = await http.getCms(param)
- context.commit('setCms', cms)
- } catch (err) {
- console.log(err)
- }
- }
- }
- }
|