diff --git a/.env.local b/.env.local
index 8eb2bb63..c8407918 100644
--- a/.env.local
+++ b/.env.local
@@ -4,9 +4,9 @@ NODE_ENV=development
VITE_DEV=true
# 请求路径
-VITE_BASE_URL='http://192.168.0.74:48080'
+# VITE_BASE_URL='http://192.168.0.74:48080'
# VITE_BASE_URL='http://192.168.0.153:48080'
-# VITE_BASE_URL='http://192.168.0.45:48080'
+VITE_BASE_URL='http://192.168.0.45:48080'
# 文件上传类型:server - 后端上传, client - 前端直连上传,仅支持 S3 服务
VITE_UPLOAD_TYPE=server
diff --git a/src/views/mapPage/components/locationSelectionDialog.vue b/src/views/mapPage/components/locationSelectionDialog.vue
index 12947333..d63dfb6b 100644
--- a/src/views/mapPage/components/locationSelectionDialog.vue
+++ b/src/views/mapPage/components/locationSelectionDialog.vue
@@ -280,7 +280,9 @@ const getAllNodeList = async () => {
allMapPointInfo.value.push(item)
}
- item.dataList = item.dataList.reverse()
+ if (item.dataList && item.dataList.length > 0) {
+ item.dataList = item.dataList.reverse()
+ }
})
}
//将节点实际宽高cm转换成px
@@ -369,7 +371,7 @@ defineExpose({ open }) // 提供 open 方法,用于打开弹窗
display: flex;
flex-direction: column;
align-items: center;
- padding: 11px 0;
+ padding: 11px 10px;
font-family:
PingFangSC,
PingFang SC;
diff --git a/src/views/mapPage/realTimeMap/components-tool/editNodeProperties.vue b/src/views/mapPage/realTimeMap/components-tool/editNodeProperties.vue
index b7dd0ad5..07acee15 100644
--- a/src/views/mapPage/realTimeMap/components-tool/editNodeProperties.vue
+++ b/src/views/mapPage/realTimeMap/components-tool/editNodeProperties.vue
@@ -118,7 +118,7 @@
cm
-
+
diff --git a/src/views/mapPage/realTimeMap/components/indexPage.vue b/src/views/mapPage/realTimeMap/components/indexPage.vue
index f2e89b33..eed8f3c5 100644
--- a/src/views/mapPage/realTimeMap/components/indexPage.vue
+++ b/src/views/mapPage/realTimeMap/components/indexPage.vue
@@ -117,7 +117,7 @@
position: absolute;
top: 50%;
left: 40%;
- transform: translateX(-50%) translateY(-50%) ;
+ transform: translateX(-50%) translateY(-50%);
color: greenyellow;
"
>
@@ -717,21 +717,15 @@ const linkWebSocket = (url) => {
data: JSON.parse(data[key])
})
}
-
- // testCarList.value = JSON.parse(JSON.stringify(dataList))
- // testCarList.value = mergeCarArrays(testCarList.value, dataList)
testCarList.value = mergeArraysWithoutDelete(testCarList.value, dataList)
-
testCarList.value.forEach((item) => {
- item.originWidth = imgBgObj.width
- item.originHeight = imgBgObj.height
- item.origin = imgBgObj.origin
- item.realX = convertActualToBrowser(item.data.pose2d.x, item.data.pose2d.y).x
- item.realY = convertActualToBrowser(item.data.pose2d.x, item.data.pose2d.y).y
- item.robotNo =item.data.pose2d.robotNo
- })
-
- // console.log(testCarList.value)
+ item.originWidth = imgBgObj.width
+ item.originHeight = imgBgObj.height
+ item.origin = imgBgObj.origin
+ item.realX = convertActualToBrowser(item.data.pose2d.x, item.data.pose2d.y).x
+ item.realY = convertActualToBrowser(item.data.pose2d.x, item.data.pose2d.y).y
+ item.robotNo = item.data.pose2d.robotNo
+ })
}
//告警信息
if (jsonMsg.type == 'agv_warn') {
@@ -778,22 +772,20 @@ const linkWebSocket = (url) => {
})
}
}
-// 现在车辆的逻辑是这样 websoket map_push类型推送消息 每次推送新车 我就添加到车辆列表中 testCarList 不删除车辆
+// 现在车辆的逻辑是这样 websoket map_push类型推送消息 每次推送新车 我就添加到车辆列表中 testCarList 不删除车辆
// 每几秒轮询调用查看当前楼层区域的在线车辆 如果不存在 则再把testCarList 中的车辆删除
-const robotByFloorAndAreaList = ref([]) // 机器人列表
+const robotByFloorAndAreaList = ref([]) // 机器人列表
const robotListTimer = ref(5) //轮询时间
-const robotListTimerRef = ref(null) //轮询定时器
-const getRobotByFloorAndAreaList = () => {
- if(robotListTimerRef.value){
+const robotListTimerRef = ref(null) //轮询定时器
+const getRobotByFloorAndAreaList = () => {
+ if (robotListTimerRef.value) {
clearInterval(robotListTimerRef.value)
robotListTimerRef.value = null
}
- // robotByFloorAndAreaList.value = []
robotListTimerRef.value = setInterval(() => {
MapApi.getRobotByFloorAndArea({ floor: imgBgObj.floor, area: imgBgObj.area }).then((res) => {
- // console.log(res)
robotByFloorAndAreaList.value = res
- if(testCarList.value.length){
+ if (testCarList.value.length) {
testCarList.value = filterArrayByRobotNo(testCarList.value, robotByFloorAndAreaList.value)
}
})
@@ -801,14 +793,13 @@ const getRobotByFloorAndAreaList = () => {
}
// 删掉不在线的车辆
-const filterArrayByRobotNo = (arr1, arr2) =>{
- return arr1.filter(item => {
- const robotNo = item.data.pose2d.robotNo;
- return arr2.includes(robotNo);
- });
+const filterArrayByRobotNo = (arr1, arr2) => {
+ return arr1.filter((item) => {
+ const robotNo = item.data.pose2d.robotNo
+ return arr2.includes(robotNo)
+ })
}
-
const mergeCarArrays = (arr1, arr2) => {
const result = []
const macAddressSet = new Set()
@@ -961,7 +952,7 @@ const computedRatio = () => {
//偏航率斜率算旋转
const radianToDegree = (radian) => {
const degree = radian * (180 / Math.PI)
- return `${degree}`
+ return `${-degree}`
}
const state = reactive({
@@ -1097,8 +1088,7 @@ const carDbClick = (item, index) => {
defineExpose({ getMapData }) // 提供 open 方法,用于打开弹窗
onMounted(() => {})
onBeforeUnmount(() => {
- // console.log('onBeforeUnmount')
- if(robotListTimerRef.value){
+ if (robotListTimerRef.value) {
clearInterval(robotListTimerRef.value)
robotListTimerRef.value = null
}
diff --git a/src/views/mapPage/taskManagement/createTask.vue b/src/views/mapPage/taskManagement/createTask.vue
index be9c9ee6..74138670 100644
--- a/src/views/mapPage/taskManagement/createTask.vue
+++ b/src/views/mapPage/taskManagement/createTask.vue
@@ -48,7 +48,7 @@
:disabled="montageNumberDisable"
class="!w-220px"
v-model="formData.montageNumber"
- :min="0"
+ :min="1"
:max="10"
@change="montageNumberChange"
/>
@@ -890,74 +890,49 @@ const taskTypeChange = (item, index) => {
let nextItem = formData.value.taskDetailList[index + 1]
if (!nextItem) return
- if (item.taskType === 1) {
- nextItem.taskTypeList = [
- { label: '取放货', value: 1 },
- { label: '移动', value: 4 },
- { label: '仅取货', value: 5 }
- ]
- } else if (item.taskType === 2) {
- formData.value.taskDetailList = formData.value.taskDetailList.slice(0, index + 1)
- formData.value.montageNumber = formData.value.taskDetailList.length
- } else if (item.taskType === 3) {
- formData.value.taskDetailList = formData.value.taskDetailList.slice(0, index + 1)
- formData.value.montageNumber = formData.value.taskDetailList.length
- } else if (item.taskType === 4) {
- nextItem.taskTypeList = [
- { label: '取放货', value: 1 },
- { label: '移动', value: 4 },
- { label: '仅取货', value: 5 }
- ]
- } else if (item.taskType === 5) {
- nextItem.taskTypeList = [
- { label: '移动', value: 4 },
- { label: '仅放货', value: 6 }
- ]
- } else if (item.taskType === 6) {
- nextItem.taskTypeList = [
- { label: '取放货', value: 1 },
- { label: '移动', value: 4 },
- { label: '仅取货', value: 5 }
- ]
- }
-}
-
-//搬空区域改变
-const doMoveAllChange = (e) => {
- return new Promise((resolve, reject) => {
- if (formData.value.doMoveAll === 1) {
- resolve(true)
+ //搬空线库
+ if (formData.value.doMoveAll === 1) {
+ nextItem.taskTypeList = [{ label: '取放货', value: 1 }]
+ } else {
+ //开启了任务循环
+ if (formData.value.doCycle === 1) {
+ nextItem.taskTypeList = [
+ { label: '取放货', value: 1 },
+ { label: '移动', value: 4 }
+ ]
} else {
- try {
- ElMessageBox.confirm('开启搬空所选线库/区域,任务类型只能选择取放货,是否切换?', '提示', {
- confirmButtonText: '确定',
- cancelButtonText: '取消',
- type: 'warning'
- })
- .then(async () => {
- resolve(true)
- formData.value.taskDetailList = formData.value.taskDetailList.filter((item) => {
- return item.taskType === 1
- })
- formData.value.montageNumber = formData.value.taskDetailList.length //拼接任务数量
- })
- .catch(() => {
- ElMessage({
- type: 'info',
- message: '取消成功'
- })
- reject(false)
- })
- } catch (err) {
- reject(false)
+ if (item.taskType === 1) {
+ nextItem.taskTypeList = [
+ { label: '取放货', value: 1 },
+ { label: '移动', value: 4 },
+ { label: '仅取货', value: 5 }
+ ]
+ } else if (item.taskType === 2) {
+ formData.value.taskDetailList = formData.value.taskDetailList.slice(0, index + 1)
+ formData.value.montageNumber = formData.value.taskDetailList.length
+ } else if (item.taskType === 3) {
+ formData.value.taskDetailList = formData.value.taskDetailList.slice(0, index + 1)
+ formData.value.montageNumber = formData.value.taskDetailList.length
+ } else if (item.taskType === 4) {
+ nextItem.taskTypeList = [
+ { label: '取放货', value: 1 },
+ { label: '移动', value: 4 },
+ { label: '仅取货', value: 5 }
+ ]
+ } else if (item.taskType === 5) {
+ nextItem.taskTypeList = [
+ { label: '移动', value: 4 },
+ { label: '仅放货', value: 6 }
+ ]
+ } else if (item.taskType === 6) {
+ nextItem.taskTypeList = [
+ { label: '取放货', value: 1 },
+ { label: '移动', value: 4 },
+ { label: '仅取货', value: 5 }
+ ]
}
}
- })
- // if (e === 1) {
- // formData.value.taskDetailList.forEach((item) => {
- // item.taskType = 1
- // })
- // }
+ }
}
//拼接的任务数量改变
@@ -1029,7 +1004,7 @@ const montageNumberChange = (currentValue: number, oldValue: number) => {
robotNo: undefined, //车辆编号
needLock: 0, //停车后锁定(0:否、1:是)
electricity: undefined, //所选车辆电量(充电模式)
- taskTypeList: taskTypeList
+ taskTypeList: index === 0 ? taskTypeList : []
})
}
} else {
@@ -1046,26 +1021,48 @@ const montageTaskChange = (e) => {
}
}
-//任务循环切换
-const doCycleChange = () => {
+//搬空区域改变
+const doMoveAllChange = (e) => {
return new Promise((resolve, reject) => {
- if (formData.value.doCycle === 1) {
- formData.value.cycleNumber = 0 //循环次数
+ if (formData.value.doMoveAll === 1) {
+ if (formData.value.doCycle === 1) {
+ formData.value.taskDetailList.forEach((item, index) => {
+ item.taskTypeList = [
+ { label: '取放货', value: 1 },
+ { label: '移动', value: 4 }
+ ]
+ })
+ } else {
+ formData.value.taskDetailList.forEach((item, index) => {
+ item.taskType = undefined
+ if (index === 0) {
+ item.taskTypeList = [
+ { label: '取放货', value: 1 },
+ { label: '停车', value: 2 },
+ { label: '充电', value: 3 },
+ { label: '移动', value: 4 },
+ { label: '仅取货', value: 5 },
+ { label: '仅放货', value: 6 }
+ ]
+ } else {
+ item.taskTypeList = []
+ }
+ })
+ }
resolve(true)
} else {
try {
- ElMessageBox.confirm('开启循环任务,任务类型只能选择取放货和移动,是否切换?', '提示', {
+ ElMessageBox.confirm('开启搬空所选线库/区域,任务类型只能选择取放货,是否切换?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
})
.then(async () => {
resolve(true)
- formData.value.cycleNumber = 1 //循环次数
- formData.value.taskDetailList = formData.value.taskDetailList.filter(
- (item, index) => item.taskType === 1 || item.taskType === 4
- )
- formData.value.montageNumber = formData.value.taskDetailList.length //拼接任务数量
+ formData.value.taskDetailList.forEach((item) => {
+ item.taskType = undefined
+ item.taskTypeList = [{ label: '取放货', value: 1 }]
+ })
})
.catch(() => {
ElMessage({
@@ -1079,17 +1076,63 @@ const doCycleChange = () => {
}
}
})
+}
- // if (e === 0) {
- // formData.value.cycleNumber = 0 //循环次数
- // } else {
- // formData.value.cycleNumber = 1 //循环次数
- // formData.value.taskDetailList = formData.value.taskDetailList.filter(
- // (item, index) => item.taskType === 1
- // )
- // formData.value.montageNumber = formData.value.taskDetailList.length //拼接任务数量
- // message.warning('开启循环任务任务类型只能选择取放货')
- // }
+//任务循环切换
+const doCycleChange = () => {
+ return new Promise((resolve, reject) => {
+ if (formData.value.doCycle === 1) {
+ formData.value.cycleNumber = 0 //循环次数
+ formData.value.taskDetailList.forEach((item, index) => {
+ item.taskType = undefined
+ if (index === 0) {
+ item.taskTypeList = [
+ { label: '取放货', value: 1 },
+ { label: '停车', value: 2 },
+ { label: '充电', value: 3 },
+ { label: '移动', value: 4 },
+ { label: '仅取货', value: 5 },
+ { label: '仅放货', value: 6 }
+ ]
+ } else {
+ item.taskTypeList = []
+ }
+ })
+ resolve(true)
+ } else {
+ try {
+ ElMessageBox.confirm('开启循环任务,任务类型只能选择取放货和移动,是否切换?', '提示', {
+ confirmButtonText: '确定',
+ cancelButtonText: '取消',
+ type: 'warning'
+ })
+ .then(async () => {
+ resolve(true)
+ formData.value.cycleNumber = 1 //循环次数
+ formData.value.taskDetailList.forEach((item) => {
+ item.taskType = undefined
+ if (formData.value.doMoveAll === 1) {
+ item.taskTypeList = [{ label: '取放货', value: 1 }]
+ } else {
+ item.taskTypeList = [
+ { label: '取放货', value: 1 },
+ { label: '移动', value: 4 }
+ ]
+ }
+ })
+ })
+ .catch(() => {
+ ElMessage({
+ type: 'info',
+ message: '取消成功'
+ })
+ reject(false)
+ })
+ } catch (err) {
+ reject(false)
+ }
+ }
+ })
}
//取货类型切换
diff --git a/src/views/mapPage/taskManagement/taskList.vue b/src/views/mapPage/taskManagement/taskList.vue
index bcff3003..23d4cdfe 100644
--- a/src/views/mapPage/taskManagement/taskList.vue
+++ b/src/views/mapPage/taskManagement/taskList.vue
@@ -176,7 +176,7 @@
-
+
+