food/src/store/index.js

704 lines
22 KiB
JavaScript

import Vue from 'vue'
import Vuex from 'vuex'
import app from './modules/app'
import settings from './modules/settings'
import user from './modules/user'
import api from '@/utils/api'
import { Message, MessageBox } from 'element-ui'
Vue.use(Vuex)
const store = new Vuex.Store({
state: {
shopList: [], // 商铺列表
adminList: [], // 管理员列表
airList: [], // 所有飞机列表
siteList: [], // 站点列表
routeList: [], // 航线列表
categoryList: [], // 分类列表(小程序)
productList: [], // 产品列表
questList: [], // 订单列表
logList: [], // 操作日志列表
crosFrequency: null // 对频macadd
},
mutations: {
/**
* @description: 设置商铺列表
*/
setShopList (state, list) {
state.shopList = list
},
/**
* @description: 设置管理员列表
*/
setAdminList (state, list) {
state.adminList = list
},
/**
* @description: 设置飞机列表
*/
setAirList (state, list) {
state.airList = list
},
/**
* @description: 设置站点列表
*/
setSiteList (state, list) {
state.siteList = list
},
/**
* @description: 设置航线列表
*/
setRouteList (state, list) {
state.routeList = list
},
/**
* @description: 设置分类列表
*/
setCategoryList (state, list) {
state.categoryList = list
},
/**
* @description: 设置产品列表
*/
setProductList (state, list) {
state.productList = list
},
/**
* @description: 设置订单列表
*/
setQuestList (state, list) {
state.questList = list
},
/**
* @description: 向操作日志列表最后插入新的信息
* @param {*} logData
*/
insertNewLog (state, logData) {
state.logList.push(logData)
},
/**
* @description: 登记对频信息
*/
setCrosFrequency (state, macAdd) {
state.crosFrequency = macAdd
}
},
actions: {
/**
* @description: 获取商铺列表
*/
async fetchShopList ({ commit }) {
const res = await api.get('getShopList', 'Admin')
if (res.data.status === 1) {
commit('setShopList', res.data.shopList)
} else {
Message.error(res.data.msg)
}
},
/**
* @description: 添加商铺
* @param {*} 商铺信息表单
* @return {*} 服务器返回值
*/
async fetchAddShop ({ dispatch }, form) {
const params = new URLSearchParams()
params.append('name', form.name)
params.append('waiter', form.waiter)
params.append('service_wx', form.service_wx)
params.append('tel', form.tel)
params.append('email', form.email)
params.append('price_min', form.price_min)
params.append('weight_max', form.weight_max)
params.append('desc', form.desc)
params.append('upFile', form.upFile)
params.append('opening_time', form.opening_time)
params.append('closeing_time', form.closeing_time)
const res = await api.post('addShop', params, 'Admin')
if (res.data.status === 1) {
await dispatch('fetchShopList')// 刷新商铺列表
Message.success(res.data.msg)
} else {
Message.error(res.data.msg)
}
return res
},
/**
* @description: 更新管商铺信息
* @param {*} 商铺信息表单
* @return {*} 服务器返回值
*/
async fetchSaveShop ({ dispatch }, form) {
const params = new URLSearchParams()
params.append('shop_id', form.shop_id)
params.append('name', form.name)
params.append('waiter', form.waiter)
params.append('service_wx', form.service_wx)
params.append('tel', form.tel)
params.append('email', form.email)
params.append('price_min', form.price_min)
params.append('weight_max', form.weight_max)
params.append('desc', form.desc)
params.append('upFile', form.upFile)
params.append('oldFile', form.oldFile)
params.append('opening_time', form.opening_time)
params.append('closeing_time', form.closeing_time)
const res = await api.post('saveShop', params, 'Admin')
if (res.data.status === 1) {
await dispatch('fetchShopList')// 刷新商铺列表
Message.success(res.data.msg)
} else {
Message.error(res.data.msg)
}
return res
},
/**
* @description: 获取管理员列表
*/
async fetchAdminList ({ commit }) {
const res = await api.get('getAdminList', 'Admin')
if (res.data.status === 1) {
res.data.adminList.forEach(item => { // 判断如果是当前登录用户 最后登录时间字段 从本地缓存中获取 PS:既登陆前缓存到本地的“最后登陆时间” 因为登录后 服务端会把当前登录的时间刷到lasttime字段
if (item.shop_id === store.state.user.shop_id) {
item.lasttime = store.state.user.lasttime
}
})
commit('setAdminList', res.data.adminList)
} else {
Message.error(res.data.msg)
}
},
/**
* @description: 添加新的管理员
* @param {*} 管理员信息表单
* @return {*} 服务器返回值
*/
async fetchAddAdmin ({ dispatch }, form) {
const params = new URLSearchParams()
params.append('name', form.name)
params.append('uname', form.uname)
params.append('pwd', form.pwd)
params.append('shop_id', form.shop_id)
if (form.upFile) {
params.append('upFile', form.upFile)
}
const res = await api.post('addAdmin', params, 'Admin')
if (res.data.status === 1) {
await dispatch('fetchAdminList')// 刷新用户列表
Message.success(res.data.msg)
} else {
Message.error(res.data.msg)
}
return res
},
/**
* @description: 更新管理员账号信息
* @param {*} 管理员信息表单
* @return {*} 服务器返回值
*/
async fetchSaveAdmin ({ dispatch }, form) {
console.log(form)
const params = new URLSearchParams()
params.append('id', form.id)
params.append('shop_id', form.shop_id)
params.append('uname', form.uname)
params.append('pwd', form.pwd)
if (form.upFile) {
params.append('upFile', form.upFile)
}
if (form.oldFile) {
params.append('oldFile', form.oldFile)
}
const res = await api.post('saveAdmin', params, 'Admin')
if (res.data.status === 1) {
await dispatch('fetchAdminList')// 刷新用户列表
Message.success(res.data.msg)
} else {
Message.error(res.data.msg)
}
return res
},
/**
* @description: 删除账号
* @param {*} 多选id组
*/
async fetchDelAdmin ({ dispatch }, idArr) {
if (idArr.length === 0) {
Message.error('未勾选记录')
} else {
MessageBox.confirm('请谨慎操作 确认删除?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const params = new URLSearchParams()
params.append('idArr', idArr)
api.post('deleteAdmin', params, 'Admin').then(res => {
if (res.data.status === 1) {
Message.success(res.data.msg)
dispatch('fetchAdminList')// 刷新管理员列表
} else {
Message.error(res.data.msg)
}
})
}).catch(() => {
Message.info('取消操作')
})
}
},
/**
* @description: 获取飞机列表
*/
async fetchAirList ({ commit, state }) {
const res = await api.get('getAirList')
res.data.airList.forEach(plane => {
plane.planeState = { // 飞机状态初始化字段
heartBeat: null, // 心跳
heartRandom: null, // 每次接收到心跳创建一个随机数 用于watch监听
voltagBattery: null, // 电压信息
currentBattery: null, // 电流信息
batteryRemaining: null, // 电池电量
positionAlt: null, // 高度信息
groundSpeed: null, // 对地速度
satCount: null, // 卫星数量
latitude: null, // 纬度
longitude: null, // 经度
fixType: null, // 定位状态
state: 1, // 飞机状态 默认初始状态为1
pingNet: null, // 网速测试
getPlaneMode: null, // 飞机模式
loadweight: null, // 重量
hookstatus: null, // 钩子状态
position: []// [[经度,维度,海拔高度]]累计数组
}
})
if (res.data.status === 1) {
commit('setAirList', res.data.airList)
} else {
Message.warning(res.data.msg)
}
return res.data.airList
},
/**
* @description: 创建新飞机
* @param {*} form 表单.飞机信息
* @return {*} 服务器返回信息
*/
async fetchAddAir ({ dispatch }, form) {
const params = new URLSearchParams()
params.append('shop_id', form.shop_id)
params.append('name', form.name)
params.append('date', form.date)
if (form.onoff) {
params.append('onoff', '1')
} else {
params.append('onoff', '0')
}
params.append('desc', form.desc)
const res = await api.post('addAir', params)
if (res.data.status === 1) {
await dispatch('fetchAirList')// 刷新飞机列表
Message.success(res.data.msg)
} else {
Message.error(res.data.msg)
}
return res
},
/**
* @description: 更新新飞机数据
* @param {*} form 表单.飞机信息
* @return {*} 服务器返回信息
*/
async fetchSaveAir ({ dispatch }, form) {
const params = new URLSearchParams()
params.append('shop_id', form.shop_id)
params.append('name', form.name)
params.append('date', form.date)
if (form.onoff) {
params.append('onoff', '1')
} else {
params.append('onoff', '0')
}
params.append('desc', form.desc)
params.append('id', form.id)
const res = await api.post('saveAir', params)
if (res.data.status === 1) {
await dispatch('fetchAirList')// 刷新飞机列表
Message.success(res.data.msg)
} else {
Message.error(res.data.msg)
}
return res
},
/**
* @description: 删除指定序号飞机
* @param {*} idArray 飞机序号数组
*/
fetchDelAir ({ dispatch }, idArr) {
if (idArr.length === 0) {
Message.error('未勾选记录')
} else {
MessageBox.confirm('请谨慎操作 确认删除?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const params = new URLSearchParams()
params.append('idArr', idArr)
api.post('deleteAir', params).then(res => {
if (res.data.status === 1) {
Message.success(res.data.msg)
dispatch('fetchAirList')// 刷新飞机列表
} else {
Message.error(res.data.msg)
}
})
}).catch(() => {
Message.info('取消操作')
})
}
},
/**
* @description: 获取站点列表
*/
async fetchSiteList ({ commit }) {
const res = await api.get('getSiteList')
if (res.data.status === 1) {
commit('setSiteList', res.data.siteList)
} else {
Message.warning(res.data.msg)
}
},
/**
* @description: 锁定站点
* @param {*} form 表单.站点信息
* @return {*} 服务器返回信息
*/
async fetchLockSite ({ dispatch }, form) {
const params = new URLSearchParams()
params.append('id', form.id)
params.append('runing', form.runing)
const res = await api.post('lockSite', params)
if (res.data.status === 1) {
await dispatch('fetchSiteList')// 刷新站点列表
Message.success(res.data.msg)
} else {
Message.error(res.data.msg)
}
return res
},
/**
* @description: 创建新站点
* @param {*} form 表单.站点信息
* @return {*} 服务器返回信息
*/
async fetchAddSite ({ dispatch }, form) {
const params = new URLSearchParams()
params.append('shop_id', form.shop_id)
params.append('sitename', form.sitename)
params.append('desc', form.desc)
params.append('upFile', form.upFile)
params.append('size', form.size)
params.append('bindroute', form.bindroute)
const res = await api.post('addSite', params)
if (res.data.status === 1) {
await dispatch('fetchSiteList')// 刷新站点列表
Message.success(res.data.msg)
} else {
Message.error(res.data.msg)
}
return res
},
/**
* @description: 创建新站点
* @param {*} form 表单.站点信息
* @return {*} 服务器返回信息
*/
async fetchSaveSite ({ dispatch }, form) {
const params = new URLSearchParams()
params.append('id', form.id)
params.append('shop_id', form.shop_id)
params.append('sitename', form.sitename)
params.append('desc', form.desc)
params.append('upFile', form.upFile)
params.append('size', form.size)
params.append('bindroute', form.bindroute)
const res = await api.post('saveSite', params)
if (res.data.status === 1) {
await dispatch('fetchSiteList')// 刷新站点列表
Message.success(res.data.msg)
} else {
Message.error(res.data.msg)
}
return res
},
/**
* @description: 删除指定序号站点
* @param {*} idArray 站点序号数组
*/
fetchDelSite ({ dispatch }, idArr) {
if (idArr.length === 0) {
Message.error('未勾选记录')
} else {
MessageBox.confirm('请谨慎操作 确认删除?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const params = new URLSearchParams()
params.append('idArr', idArr)
api.post('deleteSite', params).then(res => {
if (res.data.status === 1) {
Message.success(res.data.msg)
dispatch('fetchSiteList')// 刷新站点列表
} else {
Message.error(res.data.msg)
}
})
}).catch(() => {
Message.info('取消操作')
})
}
},
/**
* @description: 获取航线列表
*/
async fetchRouteList ({ commit }) {
const res = await api.get('getRouteList')
if (res.data.status === 1) {
commit('setRouteList', res.data.routeList)
} else {
Message.warning(res.data.msg)
}
return res.data.routeList
},
/**
* @description: 创建新航线
* @param {*} form 表单.航线信息
* @return {*} 服务器返回信息
*/
async fetchAddRoute ({ dispatch }, form) {
const params = new URLSearchParams()
params.append('shop_id', form.shop_id)
params.append('name', form.name)
params.append('desc', form.desc)
params.append('upFile', form.upFile)
const res = await api.post('addRoute', params)
if (res.data.status === 1) {
await dispatch('fetchRouteList')// 刷新站点列表
Message.success(res.data.msg)
} else {
Message.error(res.data.msg)
}
return res
},
/**
* @description: 更新航线
* @param {*} form 表单.航线信息
* @return {*} 服务器返回信息
*/
async fetchSaveRoute ({ dispatch }, form) {
const params = new URLSearchParams()
params.append('id', form.id)
params.append('shop_id', form.shop_id)
params.append('name', form.name)
params.append('desc', form.desc)
params.append('upFile', form.upFile)
const res = await api.post('saveRoute', params)
if (res.data.status === 1) {
await dispatch('fetchRouteList')// 刷新站点列表
Message.success(res.data.msg)
} else {
Message.error(res.data.msg)
}
return res
},
/**
* @description: 删除指定序号航线
* @param {*} idArray 航线序号数组
*/
fetchDelRoute ({ dispatch }, idArr) {
if (idArr.length === 0) {
Message.error('未勾选记录')
} else {
MessageBox.confirm('请谨慎操作 确认删除?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const params = new URLSearchParams()
params.append('idArr', idArr)
api.post('deleteRoute', params).then(res => {
if (res.data.status === 1) {
Message.success(res.data.msg)
dispatch('fetchRouteList')// 刷新航线列表
dispatch('fetchSiteList')// 刷新站点列表
} else {
Message.error(res.data.msg)
}
})
}).catch(() => {
Message.info('取消操作')
})
}
},
/**
* @description: 获取分类列表
* @return {*} 列表
*/
async fetchCategoryList ({ commit }) {
const res = await api.get('getCategoryList', 'Admin')
if (res.data.status === 1) {
commit('setCategoryList', res.data.categoryList)
}
return res
},
/**
* @description: 添加分类信息
* @param {*} 分类信息表单
* @return {*} 服务器返回值
*/
async fetchAddCategory ({ dispatch }, form) {
const params = new URLSearchParams()
params.append('shop_id', form.shop_id)
params.append('id', form.id)
params.append('path', form.path)
params.append('name', form.name)
params.append('sort', form.sort)
params.append('show', form.show)
params.append('desc', form.desc)
params.append('upFile', form.upFile)
const res = await api.post('addCategory', params, 'Admin')
if (res.data.status === 1) {
await dispatch('fetchCategoryList')// 刷新商铺列表
Message.success(res.data.msg)
} else {
Message.error(res.data.msg)
}
return res
},
/**
* @description: 更新分类信息
* @param {*} 分类信息表单
* @return {*} 服务器返回值
*/
async fetchSaveCategory ({ dispatch }, form) {
const params = new URLSearchParams()
params.append('shop_id', form.shop_id)
params.append('id', form.id)
params.append('name', form.name)
params.append('sort', form.sort)
params.append('show', form.show)
params.append('desc', form.desc)
params.append('upFile', form.upFile)
params.append('oldFile', form.oldFile)
const res = await api.post('saveCategory', params, 'Admin')
if (res.data.status === 1) {
await dispatch('fetchCategoryList')// 刷新商铺列表
Message.success(res.data.msg)
} else {
Message.error(res.data.msg)
}
return res
},
/**
* @description: 获取产品列表
* @return {*} 列表
*/
async fetchProductList ({ commit }) {
const res = await api.get('getProductList', 'Admin')
if (res.data.status === 1) {
commit('setProductList', res.data.productList)
}
return res
},
/**
* @description: 产品排序
* @param {*} 产品信息
*/
async fetchOrderProduct ({ dispatch }, form) {
const params = new URLSearchParams()
params.append('shop_id', form.shop_id)
params.append('id', form.id)
params.append('sort', form.sort)
const res = await api.post('orderProduct', params, 'Admin')
if (res.data.status === 1) {
await dispatch('fetchProductList')// 刷新产品列表
Message.success(res.data.msg)
} else {
Message.error(res.data.msg)
}
return res
},
/**
* @description: 产品前端显示隐藏
* @param {*} 产品信息
*/
async fetchShowProduct ({ dispatch }, form) {
const params = new URLSearchParams()
params.append('shop_id', form.shop_id)
params.append('id', form.id)
params.append('show', form.show)
const res = await api.post('showProduct', params, 'Admin')
if (res.data.status === 1) {
await dispatch('fetchProductList')// 刷新产品列表
Message.success(res.data.msg)
} else {
Message.error(res.data.msg)
}
return res
},
/**
* @description: 产品前端推荐位
* @param {*} 产品信息
*/
async fetchRecommendProduct ({ dispatch }, form) {
const params = new URLSearchParams()
params.append('shop_id', form.shop_id)
params.append('id', form.id)
params.append('recommend', form.recommend)
const res = await api.post('recommendProduct', params, 'Admin')
if (res.data.status === 1) {
await dispatch('fetchProductList')// 刷新产品列表
Message.success(res.data.msg)
} else {
Message.error(res.data.msg)
}
return res
},
/**
* @description: 获取订单列表 ps:待发货及待收货 并且不是退款成功状态
* @return {*} 列表
*/
async fetchQuestList ({ commit }) {
const res = await api.get('getQuestList')
if (res.data.status === 1) {
commit('setQuestList', res.data.questList)
}
return res
},
/**
* @description: 向操作日志插入信息 并在积攒多条之后 向服务器提交
* @param {logData} content 日志内容 logData.color 时间
* @param {logData} color 标点颜色 默认#409EFF
* @param {logData} timestamp 插入时间 默认当前时间
*/
fetchLog ({ commit }, logData) {
/* 插入日志 */
logData.color = typeof logData.color !== 'undefined' ? logData.color : '#409EFF'
logData.timestamp = typeof logData.timestamp !== 'undefined' ? logData.color : new Date().getTime()
commit('insertNewLog', logData)
/* 积攒 向服务器提交 日志 待续写... */
}
},
modules: {
app,
settings,
user
},
getters: {
}
})
export default store