打点连续点击bug,建图调重启接口
This commit is contained in:
@@ -13,6 +13,8 @@ export const setStation = (sn, code) => post('teaching/setStation?stationName='
|
||||
export const stopMapping = () => post('teaching/stopMapping', {})
|
||||
export const getLocalMaps = () => post('teaching/getLocalMaps', {})
|
||||
export const oneClickDeployment = (map) => post('teaching/oneClickDeployment?mapName=' + map, {})
|
||||
export const teachingRestart = () => post('teaching/restart', {})
|
||||
export const teachingStartingPointRelocate = () => post('teaching/startingPointRelocate', {})
|
||||
export const abandonMapping = () => post('teaching/abandonMapping', {})
|
||||
export const sendAutoBack = (is) => post('teaching/sendAutoBack?isBack=' + is, {})
|
||||
|
||||
|
||||
@@ -757,6 +757,15 @@ export const getMappingStatus = () => {
|
||||
}
|
||||
return res
|
||||
}
|
||||
export const teachingStartingPointRelocate = () => {
|
||||
let res = {
|
||||
code: 200,
|
||||
message: 'ok',
|
||||
mapping_return: '1',
|
||||
mapping_percent: '50'
|
||||
}
|
||||
return res
|
||||
}
|
||||
export const queryErrorDataByCode = (code) => {
|
||||
let res = {
|
||||
"error_id": "1",
|
||||
@@ -841,6 +850,13 @@ export const oneClickDeployment = (sn, code) => {
|
||||
}
|
||||
return res
|
||||
}
|
||||
export const teachingRestart = (sn, code) => {
|
||||
let res = {
|
||||
code: 200,
|
||||
message: 'ok'
|
||||
}
|
||||
return res
|
||||
}
|
||||
export const abandonMapping = (sn, code) => {
|
||||
let res = {
|
||||
code: 200,
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
</el-form>
|
||||
<el-row type="flex" justify="space-around" style="margin-top: .3rem">
|
||||
<el-col :span="7"><button class="button_control button_control_disabled" @click="dialogVisible = false"><p>{{$t('Cancel')}}</p></button></el-col>
|
||||
<el-col :span="7"><button class="button_control" @click="stationConfirm"><p>{{$t('Save')}}</p></button></el-col>
|
||||
<el-col :span="7"><button class="button_control" :disabled="disabled" @click="stationConfirm"><p>{{$t('Save')}}</p></button></el-col>
|
||||
</el-row>
|
||||
</el-dialog>
|
||||
<transition name="custom-message" >
|
||||
@@ -52,6 +52,11 @@
|
||||
></el-progress>
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="resShow" class="progress-mask">
|
||||
<div class="progress-container">
|
||||
<div class="progress_tip">系统正在重启</div>
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="tipShow" class="progress-mask" style="z-index: 2003;">
|
||||
<div class="progress-container">
|
||||
<div class="progress_tip">{{autoBackFinish === '2' ? $t('autobackfailedmanually') : $t('vehicleautobacknotmanwaitcompleted')}}</div>
|
||||
@@ -66,7 +71,7 @@
|
||||
<script>
|
||||
import DriverModal from './driver-modal.vue'
|
||||
import GlMap from './gl-map.vue'
|
||||
import { startMapping, stopMapping, getMappingStatus, setStation, oneClickDeployment, abandonMapping, sendAutoBack } from '@/config/getData.js'
|
||||
import { startMapping, stopMapping, getMappingStatus, setStation, oneClickDeployment, teachingRestart, teachingStartingPointRelocate, abandonMapping, sendAutoBack } from '@/config/getData.js'
|
||||
import { mapGetters } from 'vuex'
|
||||
export default {
|
||||
name: 'ModuleBuilding',
|
||||
@@ -144,27 +149,31 @@ export default {
|
||||
percentage: 0,
|
||||
intervalId: null, // 用于存储定时器ID
|
||||
backActive: false, // 打点完成后新增一个弹框 提示用户是否自动开回上一个点
|
||||
tipShow: false // 正在自动回退中的提示
|
||||
tipShow: false, // 正在自动回退中的提示
|
||||
resShow: false,
|
||||
pollingTimer: null,
|
||||
retryCount: 0,
|
||||
maxRetryCount: 3
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
...mapGetters(['isTop', 'carPosition', 'autoLoopEnable', 'autoBackEnable', 'autoBackFinish'])
|
||||
...mapGetters(['isTop', 'carPosition', 'autoLoopEnable', 'autoBackEnable', 'autoBackFinish', 'ready'])
|
||||
},
|
||||
watch: {
|
||||
autoBackEnable: {
|
||||
handler (val) {
|
||||
handler(val) {
|
||||
this.backHandleChange(this.backActive, val)
|
||||
},
|
||||
deep: true
|
||||
},
|
||||
backActive: {
|
||||
handler (val) {
|
||||
handler(val) {
|
||||
this.backHandleChange(val, this.autoBackEnable)
|
||||
},
|
||||
deep: true
|
||||
},
|
||||
autoBackFinish: {
|
||||
handler (val) {
|
||||
handler(val) {
|
||||
if (val === '1') {
|
||||
this.$nextTick(() => {
|
||||
this.$refs.glMap.init()
|
||||
@@ -173,12 +182,25 @@ export default {
|
||||
}
|
||||
},
|
||||
deep: true
|
||||
},
|
||||
ready: {
|
||||
handler(newVal) {
|
||||
if (newVal === '1' && this.pollingTimer) {
|
||||
this._executeTeachingStartingPointRelocate()
|
||||
}
|
||||
},
|
||||
deep: true
|
||||
}
|
||||
},
|
||||
beforeDestroy () {
|
||||
document.removeEventListener('keydown', this.handleKeydown);
|
||||
if (this.intervalId) {
|
||||
clearTimeout(this.intervalId)
|
||||
this.intervalId = null
|
||||
}
|
||||
if (this.pollingTimer) {
|
||||
clearTimeout(this.pollingTimer)
|
||||
this.pollingTimer = null
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
@@ -277,6 +299,7 @@ export default {
|
||||
},
|
||||
// 打点->保存
|
||||
stationConfirm () {
|
||||
this.disabled = true
|
||||
this.$refs.dataForm.validate((valid) => {
|
||||
if (valid) {
|
||||
this.submitSuccess = true
|
||||
@@ -285,12 +308,12 @@ export default {
|
||||
this.submitSuccess = false
|
||||
}, 3000)
|
||||
} else {
|
||||
this.disabled = false
|
||||
return false
|
||||
}
|
||||
})
|
||||
},
|
||||
async _setStation () {
|
||||
this.disabled = true
|
||||
try {
|
||||
let res = await setStation(this.dataForm.stationName, this.dataForm.stationCode)
|
||||
if (res) {
|
||||
@@ -410,12 +433,8 @@ export default {
|
||||
try {
|
||||
let res = await oneClickDeployment(this.mapName)
|
||||
if (res && res.code === 200) {
|
||||
this.$message({
|
||||
type: 'success',
|
||||
message: res.message
|
||||
})
|
||||
this.needsConfirmation = false
|
||||
this.$router.push('/index/home')
|
||||
this._startPolling()
|
||||
this.resShow = true
|
||||
} else {
|
||||
this.$message.error(res.message)
|
||||
}
|
||||
@@ -435,6 +454,65 @@ export default {
|
||||
this.loading.close()
|
||||
}
|
||||
},
|
||||
_startPolling() {
|
||||
this.retryCount = 0
|
||||
if (this.pollingTimer) {
|
||||
clearTimeout(this.pollingTimer)
|
||||
this.pollingTimer = null
|
||||
}
|
||||
this._pollingStep()
|
||||
},
|
||||
_pollingStep() {
|
||||
if (this.retryCount >= this.maxRetryCount) {
|
||||
if (this.pollingTimer) {
|
||||
clearTimeout(this.pollingTimer)
|
||||
this.pollingTimer = null
|
||||
}
|
||||
return
|
||||
}
|
||||
this._teachingRestart()
|
||||
this.pollingTimer = setTimeout(() => {
|
||||
if (this.ready === '1') {
|
||||
this._executeTeachingStartingPointRelocate()
|
||||
} else {
|
||||
this.retryCount++
|
||||
this._pollingStep()
|
||||
}
|
||||
}, 60000)
|
||||
},
|
||||
async _executeTeachingStartingPointRelocate() {
|
||||
if (this.pollingTimer) {
|
||||
clearTimeout(this.pollingTimer)
|
||||
this.pollingTimer = null
|
||||
}
|
||||
this.resShow = false
|
||||
await this._teachingStartingPointRelocate()
|
||||
},
|
||||
async _teachingRestart () {
|
||||
try {
|
||||
let res = await teachingRestart()
|
||||
console.log(this.retryCount)
|
||||
if (this.retryCount === 2) {
|
||||
this.resShow = false
|
||||
}
|
||||
} catch (e) {
|
||||
this.resShow = false
|
||||
}
|
||||
},
|
||||
async _teachingStartingPointRelocate () {
|
||||
try {
|
||||
let res = await teachingStartingPointRelocate()
|
||||
this.$message({
|
||||
type: 'success',
|
||||
message: res.message,
|
||||
duration: 0
|
||||
})
|
||||
this.needsConfirmation = false
|
||||
this.$router.push('/index/home')
|
||||
} catch (e) {
|
||||
console.log(e)
|
||||
}
|
||||
},
|
||||
closeCloud () {
|
||||
this.cloudOff = !this.cloudOff
|
||||
if (this.cloudOff) {
|
||||
@@ -529,6 +607,7 @@ export default {
|
||||
|
||||
/* 进度条容器 */
|
||||
.progress-container
|
||||
min-width 420px
|
||||
background-color: #fff;
|
||||
padding: 30px 40px;
|
||||
border-radius: 8px;
|
||||
|
||||
@@ -106,7 +106,7 @@ export default {
|
||||
// "error_id": "2",
|
||||
// "error_name": "重定位超时",
|
||||
// "zh_error_name": '重定位超时',
|
||||
// "en_error_name": '重定位超时error',
|
||||
// "en_error_name": 'out time error',
|
||||
// "error_code": "2",
|
||||
// "error_category": 1,
|
||||
// "error_description": "出现了重定位超时",
|
||||
@@ -115,9 +115,10 @@ export default {
|
||||
// "error_type": 1}
|
||||
// ],
|
||||
// forkTipObstacles: '1',
|
||||
// auto_loop_enable: '0',
|
||||
// auto_loop_enable: '1',
|
||||
// auto_back_enable: '',
|
||||
// auto_back_finish: ''
|
||||
// auto_back_finish: '',
|
||||
// ready: '0'
|
||||
// },
|
||||
taskSeq: [],
|
||||
currentStep: null,
|
||||
|
||||
@@ -231,11 +231,11 @@
|
||||
font-size .2rem
|
||||
.el-message-box__headerbtn
|
||||
font-size .2rem
|
||||
.el-message-box__content
|
||||
.el-message-box__content, .el-message__content, .el-message__icon
|
||||
font-size .2rem
|
||||
.el-message-box__message p
|
||||
font-size .2rem
|
||||
line-height: .2rem
|
||||
line-height: .22rem
|
||||
.el-progress-bar__inner,.el-progress-bar__outer
|
||||
border-radius 0
|
||||
.el-progress__text
|
||||
|
||||
@@ -7,7 +7,8 @@ const state = {
|
||||
backIoStatus: '0',
|
||||
autoLoopEnable: '0',
|
||||
autoBackEnable: '',
|
||||
autoBackFinish: ''
|
||||
autoBackFinish: '',
|
||||
ready: ''
|
||||
}
|
||||
|
||||
const getters = {
|
||||
@@ -17,7 +18,8 @@ const getters = {
|
||||
backIoStatus: state => state.backIoStatus,
|
||||
autoLoopEnable: state => state.autoLoopEnable,
|
||||
autoBackEnable: state => state.autoBackEnable,
|
||||
autoBackFinish: state => state.autoBackFinish
|
||||
autoBackFinish: state => state.autoBackFinish,
|
||||
ready: state => state.ready
|
||||
}
|
||||
|
||||
const actions = {
|
||||
@@ -52,6 +54,9 @@ const mutations = {
|
||||
if (Object.prototype.hasOwnProperty.call(data, 'auto_back_finish')) {
|
||||
state.autoBackFinish = data.auto_back_finish
|
||||
}
|
||||
if (Object.prototype.hasOwnProperty.call(data, 'ready')) {
|
||||
state.ready = data.ready
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user