diff --git a/src/views/mapPage/realTimeMap/components/indexPage.vue b/src/views/mapPage/realTimeMap/components/indexPage.vue index 9e939e3a..e1b64960 100644 --- a/src/views/mapPage/realTimeMap/components/indexPage.vue +++ b/src/views/mapPage/realTimeMap/components/indexPage.vue @@ -31,7 +31,11 @@
+
+
+ +
{ console.log(storeData) storeDialogRef.value.open(JSON.parse(JSON.stringify(storeData))) } +const lineList = ref([]) const pointList = ref([]) const getPositionMapListFun = async (positionMapId) => { // console.log(positionMapId) @@ -163,13 +170,50 @@ const getPositionMapListFun = async (positionMapId) => { if (data && data.length > 0) { data.forEach((item) => { // console.log(JSON.parse(item.dataJson)) - item.formattedData = JSON.parse(item.dataJson) + item.formattedData = item.dataJson ?JSON.parse(item.dataJson):'' item.showData = item.dataJson ? JSON.parse(item.dataJson)[0] : null item.imgUrl = formatteTypeImg(item.type) }) } console.log(data) pointList.value = data + + console.log(pointList.value) +let lineStyle = calculateDistanceAndAngle({ + left: pointList.value[0].locationX, + top: pointList.value[0].locationY + }, { + left: pointList.value[1].locationX, + top: pointList.value[1].locationY + }) + console.log(lineStyle) + lineList.value = [{ + ...lineStyle, + color: '#1677ff', + height: 2, + }] +} + +const calculateDistanceAndAngle = (point1, point2) => { + // 计算水平和垂直方向的差值 + const dx = point2.left - point1.left; + const dy = point2.top - point1.top; + + // 计算两点之间的长度(使用勾股定理) + const distance = Math.sqrt(dx * dx + dy * dy); + + // 计算两点连线与水平轴正方向的夹角(弧度) + const angleInRadians = Math.atan2(dy, dx); + + // 将弧度转换为角度 + const angleInDegrees = angleInRadians * (180 / Math.PI); + + return { + distance: distance, + angle: angleInDegrees, + left: point1.left, + top: point1.top + }; } const formatteTypeImg = (type) => { @@ -229,6 +273,7 @@ const getMapData = async (item) => { }) imgUrl.value = data computedRatio() + } const radio = ref(1) const computedRatio = () => { @@ -353,4 +398,7 @@ onBeforeUnmount(() => { font-size: 14px; color: #0d162a; } +.line-box{ + position: absolute; +} diff --git a/src/views/parameterSetting/index.vue b/src/views/parameterSetting/index.vue index 45a79024..20f4c1f0 100644 --- a/src/views/parameterSetting/index.vue +++ b/src/views/parameterSetting/index.vue @@ -2,12 +2,10 @@
- 充电设置 + 参数设置
重置 - 确认 + 保存
@@ -23,100 +21,102 @@
- -
-
- - - - % -
-
- - - - % -
-
+ + + + + +
+ + + + +
-
-
- - - - % -
-
- - - - % -
-
+ + + +
+
+ + + + + +
- - -
-
- + +
+ -
-
-
-
- + +
+
+ +
@@ -143,10 +145,12 @@ type="number" :min="0" placeholder="充电周期" + style="width: 240px;" > - + - @@ -171,16 +175,16 @@ :step="1" type="number" :min="0" - placeholder="请输入等待时间" + style="width: 240px;" > - + - -
@@ -200,35 +204,41 @@ const message = useMessage() // 消息弹窗 const { push } = useRouter() const formData = ref({ - startAutoCharge: undefined, //自动充电开始阈值 - endAutoCharge: undefined, //自动充电结束阈值 - chanceChargeStart: undefined, //机会充电开始阈值 - chanceChargeEnd: undefined, //机会充电结束阈值 - chanceCycle: undefined, //充满电周期 - scheduleChargeStartTime: undefined, //定时充电开始时间 - scheduleChargeEndTime: undefined, //定时充电结束时间 - warnWaitTime: undefined, //等待时间 + startAutoCharge: undefined, //自动充电开始阈值 + endAutoCharge: undefined, //自动充电结束阈值 + chanceChargeStart: undefined, //机会充电开始阈值 + chanceChargeEnd: undefined, //机会充电结束阈值 + chanceCycle: undefined, //充满电周期 + scheduleChargeStartTime: undefined, //定时充电开始时间 + scheduleChargeEndTime: undefined, //定时充电结束时间 + warnWaitTime: undefined, //等待时间 + everyDay:0 }) const resData = ref(null) const getConfig = async () => { - const res = await ParameterSettingAPi.getCommonConfig({configType:1}) - if(res){ - console.log(JSON.parse(res.configStr),res) - formData.value = JSON.parse(res.configStr) - resData.value = res - } else{ - formData.value = { - startAutoCharge: undefined, //自动充电开始阈值 - endAutoCharge: undefined, //自动充电结束阈值 - chanceChargeStart: undefined, //机会充电开始阈值 - chanceChargeEnd: undefined, //机会充电结束阈值 - chanceCycle: undefined, //充满电周期 - scheduleChargeStartTime: undefined, //定时充电开始时间 - scheduleChargeEndTime: undefined, //定时充电结束时间 - warnWaitTime: undefined, //等待时间 + const res = await ParameterSettingAPi.getCommonConfig({ configType: 1 }) + if (res) { + console.log(JSON.parse(res.configStr), res) + formData.value = JSON.parse(res.configStr) + resData.value = res + } else { + formData.value = { + startAutoCharge: undefined, //自动充电开始阈值 + endAutoCharge: undefined, //自动充电结束阈值 + chanceChargeStart: undefined, //机会充电开始阈值 + chanceChargeEnd: undefined, //机会充电结束阈值 + chanceCycle: undefined, //充满电周期 + scheduleChargeStartTime: undefined, //定时充电开始时间 + scheduleChargeEndTime: undefined, //定时充电结束时间 + warnWaitTime: undefined, //等待时间 + everyDay:0 + } + resData.value = null } - resData.value = null - } +} + +const everyDayChange = () => { + console.log(formData.value.everyDay) } //重置 const resetFormData = () => { @@ -240,53 +250,54 @@ const resetFormData = () => { chanceCycle: undefined, //充满电周期 scheduleChargeStartTime: undefined, //定时充电开始时间 scheduleChargeEndTime: undefined, //定时充电结束时间 - warnWaitTime: undefined, //等待时间 + warnWaitTime: undefined //等待时间 } - + formRef.value?.resetFields() getConfig() } - - //提交表单 const formRef = ref() const formLoading = ref(false) //校验数组的 const submit = async () => { + if(formData.value.everyDay == 1 && (!formData.value.scheduleChargeStartTime || !formData.value.scheduleChargeEndTime)){ + message.warning('勾选每天,定时充电时段不能为空!') + return + } await formRef.value.validate(async (valid, fields) => { if (valid) { formLoading.value = true - if(resData.value){ + if (resData.value) { let data = { - configType: resData.value.configType, - configStr: JSON.stringify(formData.value), - id: resData.value.id - } + configType: resData.value.configType, + configStr: JSON.stringify(formData.value), + id: resData.value.id + } - try { - await ParameterSettingAPi.updateCommonConfig(data) - message.success('更新成功') - resetFormData() - } finally { - formLoading.value = false - } + try { + await ParameterSettingAPi.updateCommonConfig(data) + message.success('更新成功') + resetFormData() + } finally { + formLoading.value = false + } } else { let data = { - configType: 1, - configStr: JSON.stringify(formData.value) - } + configType: 1, + configStr: JSON.stringify(formData.value) + } - try { - await ParameterSettingAPi.createCommonConfig(data) - message.success('创建成功') - resetFormData() - } finally { - formLoading.value = false + try { + await ParameterSettingAPi.createCommonConfig(data) + message.success('创建成功') + resetFormData() + } finally { + formLoading.value = false + } } - } - } else { message.warning('请补充完整表单信息!') } @@ -300,6 +311,9 @@ onMounted(() => {