【类 型】:feat 飞机操作模块 正在执行订单 增加风险提示标签功能
【原 因】: 【过 程】: 【影 响】:
This commit is contained in:
parent
d90fe9982d
commit
b32d1075ca
@ -62,6 +62,9 @@
|
|||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<template v-else>
|
<template v-else>
|
||||||
|
<el-form-item v-if="waringTags.length > 0" label="提示:">
|
||||||
|
<el-tag v-for="(tag, index) in waringTags" :key="index" class="m-r-5" type="warning">{{ tag }}</el-tag>
|
||||||
|
</el-form-item>
|
||||||
<el-form-item label="订单ID:">
|
<el-form-item label="订单ID:">
|
||||||
{{ executeOrder.id }}
|
{{ executeOrder.id }}
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@ -78,8 +81,8 @@
|
|||||||
icon="f-s-14 iconfont icon-chakanzhihangrizhi" @click="checkQuest">
|
icon="f-s-14 iconfont icon-chakanzhihangrizhi" @click="checkQuest">
|
||||||
<font class="m-l-5">上传航点</font>
|
<font class="m-l-5">上传航点</font>
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button size="mini" class="f-s-14" v-else-if="Number(plane.planeState.state) === 2" key="wirteBut" type="info"
|
<el-button size="mini" class="f-s-14" v-else-if="Number(plane.planeState.state) === 2" key="wirteBut"
|
||||||
:loading="true" disabled>
|
type="info" :loading="true" disabled>
|
||||||
<font class="m-l-5">航点写入中···</font>
|
<font class="m-l-5">航点写入中···</font>
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button size="mini" class="f-s-14" v-else-if="Number(plane.planeState.state) === 4" type="warning"
|
<el-button size="mini" class="f-s-14" v-else-if="Number(plane.planeState.state) === 4" type="warning"
|
||||||
@ -96,8 +99,7 @@
|
|||||||
@click="publishFun('{setPlaneState:{bit:5,state:1}'); speakText('准备起飞,执行送餐任务')">
|
@click="publishFun('{setPlaneState:{bit:5,state:1}'); speakText('准备起飞,执行送餐任务')">
|
||||||
<font class="m-l-5">执行任务</font>
|
<font class="m-l-5">执行任务</font>
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button size="mini" class="f-s-14" v-else-if="isShipped" type="info"
|
<el-button size="mini" class="f-s-14" v-else-if="isShipped" type="info" :loading="true" disabled>
|
||||||
:loading="true" disabled>
|
|
||||||
<font class="m-l-5">执行任务中...</font>
|
<font class="m-l-5">执行任务中...</font>
|
||||||
</el-button>
|
</el-button>
|
||||||
</el-button-group>
|
</el-button-group>
|
||||||
@ -106,7 +108,7 @@
|
|||||||
<el-button-group>
|
<el-button-group>
|
||||||
<el-button size="mini" class="f-s-14" type="danger" icon="iconfont icon-cuowu" key="celBUt"
|
<el-button size="mini" class="f-s-14" type="danger" icon="iconfont icon-cuowu" key="celBUt"
|
||||||
@click="reQuest">
|
@click="reQuest">
|
||||||
<font class="m-l-5">取消任务</font>
|
<font class="m-l-5">取消</font>
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button size="mini" class="f-s-14" type="success" icon="iconfont icon-qiandai" key="bingBut"
|
<el-button size="mini" class="f-s-14" type="success" icon="iconfont icon-qiandai" key="bingBut"
|
||||||
@click="overQuest">
|
@click="overQuest">
|
||||||
@ -290,7 +292,8 @@ export default {
|
|||||||
tabIsOpen: false, // 判断tab 是否弹出
|
tabIsOpen: false, // 判断tab 是否弹出
|
||||||
questForm: { // 送餐任务表单
|
questForm: { // 送餐任务表单
|
||||||
id: ''
|
id: ''
|
||||||
}
|
},
|
||||||
|
waringTags: []// 任务栏 提示标签 有退款 超重 等
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
@ -431,8 +434,8 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
/**
|
/**
|
||||||
* @description: 执行任务前 先检测订单是否合法,例如:订单重量会不会超出飞机载重上限
|
* @description: 执行任务前 先检测订单是否合法,例如:订单重量会不会超出飞机载重上限
|
||||||
*/
|
*/
|
||||||
checkQuest () {
|
checkQuest () {
|
||||||
let checkOrder // 要检查的订单
|
let checkOrder // 要检查的订单
|
||||||
// 如果有正在执行的订单,检查正在执行的;否则检查当前选中的订单
|
// 如果有正在执行的订单,检查正在执行的;否则检查当前选中的订单
|
||||||
@ -660,7 +663,7 @@ export default {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
const confirmation = await this.$confirm('取消已发货状态,并使飞机复位?', '提示', {
|
const confirmation = await this.$confirm('确认货物未送达,取消已发货状态,并使飞机复位?', '提示', {
|
||||||
confirmButtonText: '确定',
|
confirmButtonText: '确定',
|
||||||
cancelButtonText: '取消',
|
cancelButtonText: '取消',
|
||||||
type: 'warning'
|
type: 'warning'
|
||||||
@ -705,7 +708,7 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const confirmation = await this.$confirm('确认订单已送达?', '提示', {
|
const confirmation = await this.$confirm('确认货物已送达?', '提示', {
|
||||||
confirmButtonText: '确定',
|
confirmButtonText: '确定',
|
||||||
cancelButtonText: '取消',
|
cancelButtonText: '取消',
|
||||||
type: 'warning'
|
type: 'warning'
|
||||||
@ -780,12 +783,62 @@ export default {
|
|||||||
const isOverWaight = Number(item.total_weight) >= Number(this.plane.weight_max)// 是否超重
|
const isOverWaight = Number(item.total_weight) >= Number(this.plane.weight_max)// 是否超重
|
||||||
const isQuestIng = (item.runing ?? '').split(',').some(i => i !== '') // 是否有飞机正在执行
|
const isQuestIng = (item.runing ?? '').split(',').some(i => i !== '') // 是否有飞机正在执行
|
||||||
return isOverWaight || isQuestIng
|
return isOverWaight || isQuestIng
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 设置执行订单 提示标签
|
||||||
|
* @param order 执行订单
|
||||||
|
*/
|
||||||
|
setExecuteOrderTag (order) {
|
||||||
|
const aIndex = this.waringTags.indexOf('已申请退款')
|
||||||
|
const bIndex = this.waringTags.indexOf('已退款')
|
||||||
|
const cIndex = this.waringTags.indexOf('超出飞机载重')
|
||||||
|
const dIndex = this.waringTags.indexOf('站点多架执行')
|
||||||
|
// 退款提示
|
||||||
|
if (order.refund_status === '申请中') {
|
||||||
|
if (aIndex === -1) {
|
||||||
|
this.waringTags.push('已申请退款')
|
||||||
|
}
|
||||||
|
} else if (order.refund_status === '已同意') {
|
||||||
|
if (bIndex === -1) {
|
||||||
|
this.waringTags.push('已退款')
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (aIndex !== -1) {
|
||||||
|
this.waringTags.splice(aIndex, 1)
|
||||||
|
}
|
||||||
|
if (bIndex !== -1) {
|
||||||
|
this.waringTags.splice(bIndex, 1)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 超出飞机载重 提示
|
||||||
|
if (this.plane.weight_max < order.total_weight) {
|
||||||
|
if (cIndex === -1) {
|
||||||
|
this.waringTags.push('超出飞机载重')
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (cIndex !== -1) {
|
||||||
|
this.waringTags.splice(cIndex, 1)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 站点多飞机执行 提示
|
||||||
|
const splitArray = order.runing.split(',')// 分割执行任务的飞机s
|
||||||
|
const nonEmptyArray = splitArray.filter(item => item.trim() !== '')// 过滤掉空值
|
||||||
|
if (nonEmptyArray.length > 1) { // 不止一架
|
||||||
|
this.waringTags.push('站点多架执行')
|
||||||
|
} else {
|
||||||
|
if (dIndex !== -1) {
|
||||||
|
this.waringTags.splice(dIndex, 1)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted () {
|
mounted () {
|
||||||
// 初始化
|
// 初始化
|
||||||
if (this.executeOrder) { // 有正在执行单点
|
if (this.executeOrder) { // 有正在执行单点
|
||||||
this.makeRouteForMap()// 绘制地图
|
// 设置提示标签
|
||||||
|
this.setExecuteOrderTag(this.executeOrder)
|
||||||
|
// 绘制地图
|
||||||
|
this.makeRouteForMap()
|
||||||
} else { // 没有执行订单
|
} else { // 没有执行订单
|
||||||
if (this.plane) {
|
if (this.plane) {
|
||||||
this.publishFun('{"resetState":1}')// 发送设置飞机状态主题 状态设为闲置
|
this.publishFun('{"resetState":1}')// 发送设置飞机状态主题 状态设为闲置
|
||||||
@ -794,10 +847,13 @@ export default {
|
|||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
executeOrder (val) {
|
executeOrder (val) {
|
||||||
if (val) { // 如果当前飞机正在执行任务 把航线绘制到地图上
|
if (val) {
|
||||||
|
/* 如果当前飞机正在执行任务 把航线绘制到地图上 */
|
||||||
this.makeRouteForMap()
|
this.makeRouteForMap()
|
||||||
} else { // 如果没有执行任务 把地图上航线清除
|
/* 检查添加提示标签 */
|
||||||
this.$emit('clearRoute')
|
this.setExecuteOrderTag(val)
|
||||||
|
} else {
|
||||||
|
this.$emit('clearRoute')// 如果没有执行任务 把地图上航线清除
|
||||||
this.publishFun('{"resetState":1}')// 发送设置飞机状态主题 状态设为闲置
|
this.publishFun('{"resetState":1}')// 发送设置飞机状态主题 状态设为闲置
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
Loading…
Reference in New Issue
Block a user