diff --git a/src/views/mapPage/realTimeMap/components-tool/editMapRouteDialog.vue b/src/views/mapPage/realTimeMap/components-tool/editMapRouteDialog.vue index 65ebe257..01d9a643 100644 --- a/src/views/mapPage/realTimeMap/components-tool/editMapRouteDialog.vue +++ b/src/views/mapPage/realTimeMap/components-tool/editMapRouteDialog.vue @@ -7,7 +7,7 @@ class="map-edit-route-dialog" @close="dialogClose" > - + @@ -15,7 +15,6 @@ style="width: 100%" v-model="form.startPointX" :min="0" - :max="imgBgObj.width" placeholder="请输入开始点位x轴" controls-position="right" /> @@ -27,7 +26,6 @@ style="width: 100%" v-model="form.startPointY" :min="0" - :max="imgBgObj.height" placeholder="请输入开始点位y轴" controls-position="right" /> @@ -41,7 +39,6 @@ style="width: 100%" v-model="form.endPointX" :min="0" - :max="imgBgObj.width" placeholder="请输入结束点位x轴" controls-position="right" /> @@ -53,7 +50,6 @@ style="width: 100%" v-model="form.endPointY" :min="0" - :max="imgBgObj.height" placeholder="请输入结束点位y轴" controls-position="right" /> @@ -210,8 +206,50 @@ const ruleFormRef = ref() const dialogFormVisible = ref(false) //列表的 const rules = reactive({ - skuInfo: [{ required: true, message: '请输入物料区域名称', trigger: 'blur' }], - areaName: [{ required: true, message: '请输入物料名称', trigger: 'blur' }] + startPointX: [ + { required: true, message: '请输入开始点位x轴坐标', trigger: 'blur' }, + { + type: 'number', + min: 0, + max: Number(props.imgBgObj.width), + message: `不能超过地图宽度${props.imgBgObj.width}`, + trigger: 'blur' + } + ], + startPointY: [ + { required: true, message: '请输入开始点位y轴坐标', trigger: 'blur' }, + { + type: 'number', + min: 0, + max: Number(props.imgBgObj.height), + message: `不能超过地图宽度${props.imgBgObj.height}`, + trigger: 'blur' + } + ], + endPointX: [ + { required: true, message: '请输入结束点位x轴坐标', trigger: 'blur' }, + { + type: 'number', + min: 0, + max: Number(props.imgBgObj.width), + message: `不能超过地图宽度${props.imgBgObj.width}`, + trigger: 'blur' + } + ], + endPointY: [ + { required: true, message: '请输入结束点位y轴坐标', trigger: 'blur' }, + { + type: 'number', + min: 0, + max: Number(props.imgBgObj.height), + message: `不能超过地图宽度${props.imgBgObj.height}`, + trigger: 'blur' + } + ], + expansionZoneFront: [{ required: true, message: '请输入膨胀区域前', trigger: 'blur' }], + expansionZoneAfter: [{ required: true, message: '请输入膨胀区域后', trigger: 'blur' }], + expansionZoneLeft: [{ required: true, message: '请输入膨胀区域左', trigger: 'blur' }], + expansionZoneRight: [{ required: true, message: '请输入膨胀区域右', trigger: 'blur' }] }) //新增 diff --git a/src/views/mapPage/realTimeMap/components-tool/editNodeProperties.vue b/src/views/mapPage/realTimeMap/components-tool/editNodeProperties.vue index c92c09f7..fa1dcf16 100644 --- a/src/views/mapPage/realTimeMap/components-tool/editNodeProperties.vue +++ b/src/views/mapPage/realTimeMap/components-tool/editNodeProperties.vue @@ -12,7 +12,6 @@ style="width: 100%" v-model="form.locationX" :min="0" - :max="imgBgObj.width" placeholder="请输入" controls-position="right" /> @@ -22,21 +21,10 @@ style="width: 100%" v-model="form.locationY" :min="0" - :max="imgBgObj.height" placeholder="请输入" controls-position="right" /> - - - @@ -47,10 +35,21 @@ + + +
(最大层数:4) - + (最大值:10000000) @@ -100,10 +99,10 @@
cm
@@ -111,10 +110,10 @@
cm
@@ -195,16 +194,73 @@ const form = ref({ locationYaw: undefined //弧度 }) +const mapWidthCm = ref(0) +const mapHeightCm = ref(0) + +watch( + () => props.imgBgObj, + (val) => { + mapWidthCm.value = (Number(val.width) * Number(val.resolution) * 100).toFixed(2) + mapHeightCm.value = (Number(val.height) * Number(val.resolution) * 100).toFixed(2) + }, + { immediate: true } +) + const rules = reactive({ - locationX: [{ required: true, message: '请输入X', trigger: 'blur' }], - locationY: [{ required: true, message: '请输入Y', trigger: 'blur' }], + locationX: [ + { required: true, message: '请输入X', trigger: 'blur' }, + { + type: 'number', + min: 0, + max: Number(props.imgBgObj.width), + message: `不能超过地图宽度${props.imgBgObj.width}`, + trigger: 'blur' + } + ], + locationY: [ + { required: true, message: '请输入Y', trigger: 'blur' }, + { + type: 'number', + min: 0, + max: Number(props.imgBgObj.height), + message: `不能超过地图长度${props.imgBgObj.height}`, + trigger: 'blur' + } + ], locationYaw: [{ required: true, message: '请输入弧度', trigger: 'blur' }], type: [{ required: true, message: '请选择类型', trigger: 'blur' }], layersNumber: [{ required: true, message: '请输入层数', trigger: 'blur' }], - locationNumber: [{ required: true, message: '请输入排序', trigger: 'blur' }], + locationNumber: [ + { required: true, message: '请输入排序', trigger: 'blur' }, + { + type: 'number', + min: 0, + max: 10000000, + message: `不能超过10000000`, + trigger: 'blur' + } + ], deviceId: [{ required: true, message: '请选择设备编号', trigger: 'blur' }], - locationDeep: [{ required: true, message: '请选择库位长度', trigger: 'blur' }], - locationWide: [{ required: true, message: '请选择库位宽度', trigger: 'blur' }] + locationDeep: [ + { required: true, message: '请选择库位长度', trigger: 'blur' }, + { + type: 'number', + min: 0, + max: Number(mapWidthCm.value), + message: `不能超过${Number(mapWidthCm.value)}cm`, + trigger: 'blur' + } + ], + locationWide: [ + { required: true, message: '请选择库位宽度', trigger: 'blur' }, + { + type: 'number', + min: 0, + max: Number(mapHeightCm.value), + message: `不能超过${Number(mapHeightCm.value)}cm`, + trigger: 'blur' + } + ] }) const emit = defineEmits(['submitNodeSuccess', 'addEventListener']) @@ -280,7 +336,6 @@ const dialogClose = () => { const equipmentList = ref([]) //用过的设备列表 const open = (item, list) => { - console.log(item) form.value = item form.value.layersNumber = item.dataList?.length || '' form.value.deviceId = item?.deviceId || item?.dataObj?.id || '' diff --git a/src/views/mapPage/realTimeMap/editMap.vue b/src/views/mapPage/realTimeMap/editMap.vue index a25ea387..b783ec7c 100644 --- a/src/views/mapPage/realTimeMap/editMap.vue +++ b/src/views/mapPage/realTimeMap/editMap.vue @@ -315,7 +315,7 @@ > { state.currentDragTarget.index = null } addEditHistory() + setTimeout(() => { + toolbarSwitchType.value = '' + }, 200) break case 'tools': //工具