food/src/utils/api/table.js

289 lines
9.3 KiB
JavaScript
Raw Normal View History

2023-09-20 21:33:11 +08:00
import store from '@/store'
import api from '@/utils/api'
// import { Message, MessageBox } from 'element-ui'
import { Message } from 'element-ui'
/**
* @description: 向对频api 提交数据
*/
export async function apiCrosFrequency (params) {
const data = new URLSearchParams()// post对象参数 转成 字符串连接
data.append('macAdd', params.macAdd)
data.append('id', params.id)
const res = await api.post('crosFrequency', data)
if (res.data.status === 1) {
Message.success(res.data.msg)
store.dispatch('fetchAirList')// 更新飞机列表
} else {
Message.error(res.data.msg)
}
return res
2023-09-20 21:33:11 +08:00
}
/**
* @description: 锁定地块 相关操作 同步操作订单表 和地块表接口
* @param {*} form 表单.地块信息
* @return {*} 服务器返回信息
*/
export async function lockSite (form) {
const params = new URLSearchParams()
params.append('site_id', form.site_id)
params.append('shop_id', form.shop_id)
params.append('runing', form.runing)
params.append('order_id', form.order_id)
params.append('shipment_status', form.shipment_status)
params.append('by_plane_id', form.by_plane_id)
const res = await api.post('lockSite', params)
if (res.data.status === 1) {
await store.dispatch('fetchSiteList')// 刷新地块列表
store.dispatch('fetchRouteList')// 刷新航线列表
store.dispatch('fetchPaidOrderList')// 刷订单点列表
Message.success(res.data.msg)
} else {
Message.error(res.data.msg)
}
return res
}
2023-09-20 21:33:11 +08:00
/**
* @description: 向改变订单承接任务api 提交数据,参数可以是数组 提交多个字段和字段内容 () 并更新订单列表
2023-09-20 21:33:11 +08:00
* @param {*} id 订单id
* @param {array string} type 主状态"main_status" 货物状态"shipment_status" 退款状态"refund_status" 执行飞机"by_plane_id"
* @param {array string} val 修改字段的值 ps:by_plane_id值给'' 数据库改为null
2023-09-20 21:33:11 +08:00
*/
export async function questAss (id, type, val) {
const params = new URLSearchParams()// post对象参数 转成 字符串连接
params.append('id', id)
// 判断 type 和 val 是否为数组
if (Array.isArray(type) && Array.isArray(val)) {
if (type.length !== val.length) {
return
}
for (let i = 0; i < type.length; i++) {
params.append(type[i], val[i])
}
} else if (typeof type === 'string' && typeof val === 'string') {
params.append(type, val)
} else {
return
}
const res = await api.post('questAss', params)
if (res.data.status === 1) {
Message.success(res.data.msg)
store.dispatch('fetchPaidOrderList')// 更新订单列表
} else {
Message.error(res.data.msg)
store.dispatch('fetchPaidOrderList')// 更新订单列表
}
return res
2023-09-20 21:33:11 +08:00
}
/**
* @description: 获取订单列表
* @param {*} orderSerch 搜索条件
*/
export async function getOrderList (orderSerch = {}) {
const params = new URLSearchParams()// post对象参数 转成 字符串连接
params.append('shop_id', orderSerch.shop_id)
params.append('start_time', orderSerch.start_time)
params.append('end_time', orderSerch.end_time)
params.append('main_status', orderSerch.main_status)
params.append('shipment_status', orderSerch.shipment_status)
params.append('refund_status', orderSerch.refund_status)
params.append('search', orderSerch.search)
// 发送查询订单列表请求
const res = await api.post('getOrderList', params, 'Admin')
return res
}
/**
* @description: 获取订单详情
* @param {*} order_id 订单id
*/
export async function getOrderDetails (id) {
const params = new URLSearchParams()// post对象参数 转成 字符串连接
params.append('id', id)
// 发送查询订单详情 求情
const res = await api.post('getOrderDetails', params, 'Admin')
return res
}
/**
* @description: 退款函数
* @param {*} orderSn 订单号
* @param {*} shopId 单位id
* @param {*} refundPrice 退款金额 单位元
* @param {*} refundType 退款类型 'buyer'买家申请 'seller'卖家主动
*/
export async function refund (orderSn, shopId, refundPrice, refundType) {
// 构建请求参数
const params = new URLSearchParams()
params.append('order_sn', orderSn)
params.append('shop_id', shopId)
params.append('refund_price', refundPrice)
params.append('refund_type', refundType)
// 发送退款请求
const res = await api.post('refund', params, 'Pay')
if (res.data.status === 1) {
Message.success('退款申请中...')
console.log('退款成功', res.data.msg)
} else {
Message.error(res.data.msg)
console.error('退款失败:', res.data.msg)
}
return res
}
/**
* @abstract 录入日志
* @param {*} log 日志内容
*/
export async function addLog (log) {
// 构建请求参数
const params = new URLSearchParams()
params.append('log', log)
const res = await api.post('addLog', params)
return res
}
/**
* @description: 向管理员用户发布公告
* @param {*} shop_id 单位 ID
* @param {*} tit 公告标题
* @param {*} message 公告内容
* @param {*} idArr 接收公告的管理员ID数组
* @param {*} endTime 公告截止时间时间戳秒级
*/
export async function pubMessage (shopId, tit, message, idArr, endTime) {
const params = new URLSearchParams()
params.append('shop_id', shopId)
params.append('tit', tit)
params.append('message', message)
params.append('idArr', idArr.join(',')) // 后端只收字符串
params.append('endTime', endTime)
const res = await api.post('pubMessage', params, 'Admin') // 第三个参数为模块名
return res
}
/**
* @description 获取全部公告列表不限制过期无admin_id限制
* @returns {Promise} 返回接口响应对象
*/
export async function getAllMessageList () {
const res = await api.get('getAllMessageList', 'Admin')
return res
}
/**
* @description 删除指定公告
* @param {Array} delIdArr 要删除的公告 ID 数组
* @returns {Promise}
*/
export async function delMessage (delIdArr) {
const params = new URLSearchParams()
params.append('delIdArr', delIdArr.join(',')) // 后端通过 $_POST['delIdArr'] 接收
const res = await api.post('deleteMessage', params, 'Admin')
return res
}
/**
* @abstract 获取指定飞机组的飞行数据按时间范围
* @param {Array} idArr 飞机ID数组
* @param {Number} startTime 开始时间
* @param {Number} endTime 结束时间
* @returns 飞行数据列表
*/
export async function getFlyData (idArr, startTime, endTime) {
const params = new URLSearchParams()
params.append('idArr', idArr.join(',')) // 后端只收字符串,用逗号分隔
params.append('startTime', startTime)
params.append('endTime', endTime)
const res = await api.post('getFlyDataByIdArr', params, 'Plane')
return res
}
/**
* @abstract 删除指定的飞行数据记录
* @param {Array} idArr 飞行数据记录ID数组
* @returns 删除结果
*/
export async function deleteFlyData (idArr) {
if (!Array.isArray(idArr) || idArr.length === 0) {
throw new Error('参数错误idArr 应为非空数组')
}
const params = new URLSearchParams()
params.append('idArr', idArr.join(',')) // 逗号分隔传给后端
const res = await api.post('deleteFlyDataByIdArr', params, 'Plane')
return res
}
/**
* @abstract 上传保存飞机飞行数据解锁至加锁 即飞行结束触发
* @param {Object} data 包含 id, start_time, end_time, gps_path, distance, power_used
*/
export async function saveFlyData (data) {
const params = new URLSearchParams()
for (const key in data) {
params.append(key, data[key])
}
const res = await api.post('saveFlyData', params, 'Plane')
return res
}
/**
* @description: 保存禁飞区数据
* @param {string|number} shop_id 单位ID
* @param {Array} nofly_data 禁飞区数据数组
* @param {Array} restrictfly_data 限制飞区数据数组
* @returns {Object|null} 返回接口响应数据 null 表示失败
*/
export async function setNoflyData (shopId, noflyData) {
try {
const params = new URLSearchParams()
params.append('shop_id', shopId || '')
params.append('nofly_data', JSON.stringify(noflyData || []))
const res = await api.post('setNoflyData', params)
if (res.data.status === 1) {
store.dispatch('fetchNoflyData', shopId)// 更新禁限飞区数据
Message.success(res.data.msg)
} else {
Message.warning(res.data.msg)
}
return res.data
} catch (error) {
Message.error('保存禁飞区数据失败')
return null
}
}
/**
* @description: 保存限飞区数据
* @param {string|number} shop_id 单位ID
* @param {Array} restrictfly_data 限制飞区数据数组
* @param {Array} restrictfly_height 限制飞区数据高度组
* @returns {Object|null} 返回接口响应数据 null 表示失败
*/
export async function setRestrictflyData (shopId, restrictflyData, restrictflyHeight) {
try {
const params = new URLSearchParams()
params.append('shop_id', shopId || '')
params.append('restrictfly_data', JSON.stringify(restrictflyData || []))
params.append('restrictfly_height', JSON.stringify(restrictflyHeight || []))
const res = await api.post('setNoflyData', params)
if (res.data.status === 1) {
store.dispatch('fetchNoflyData', shopId)// 更新禁限飞区数据
Message.success(res.data.msg)
} else {
Message.warning(res.data.msg)
}
return res.data
} catch (error) {
Message.error('保存限飞区数据失败')
return null
}
}