144 lines
4.2 KiB
Vue
Raw Normal View History

2025-04-14 10:57:27 +08:00
<template>
<view class="container">
<uni-section title="旧车辆编号" type="line">
<uni-forms ref="oldBikeCodeForm" :rules="ebikeInfoRules" :modelValue="ebikeInfo">
<uni-forms-item label="车辆编号" name="oldBikeCode">
<bikeCodeScan @scan-change="oldBikeCodeScanChange" :codeValue="ebikeInfo.oldBikeCode" />
</uni-forms-item>
<uni-forms-item label="中控编号" name="ecuCode">
<uni-easyinput v-model="ebikeInfo.ecuCode" placeholder="-" />
</uni-forms-item>
<uni-forms-item label="电压" name="voltage">
<uni-easyinput v-model="ebikeInfo.voltage" placeholder="-" />
</uni-forms-item>
<uni-forms-item label="坐标" name="coordinate">
<uni-easyinput v-model="ebikeInfo.coordinate" placeholder="-" />
</uni-forms-item>
<uni-forms-item label="定位时间" name="positionAt">
<uni-easyinput v-model="ebikeInfo.positionAt" placeholder="-" />
</uni-forms-item>
</uni-forms>
</uni-section>
<uni-section title="新车辆编号" type="line">
<uni-forms ref="newBikeCodeForm" :rules="ebikeEcuInfoRules" :modelValue="ebikeInfo">
<uni-forms-item label="车辆编号" name="newBikeCode">
<bikeCodeScan @scan-change="newBikeCodeScanChange" :codeValue="ebikeInfo.newBikeCode" />
</uni-forms-item><strong></strong>
<uni-forms-item label="编号状态" name="codeState">
<uni-easyinput v-model="ebikeInfo.codeState" placeholder="-" />
</uni-forms-item>
<uni-forms-item label="旧车辆码处理" required name="oldBikeCOdeSave">
<radio-group>
<label class="radio">
<radio value="notSave" checked="true" />不保留旧车辆码
</label>
<label class="radio">
<radio value="save" />保留旧车辆码
</label>
</radio-group>
</uni-forms-item>
</uni-forms>
</uni-section>
2025-04-28 11:40:00 +08:00
<!-- <view style="position: absolute;bottom: 10rpx; width: 100%;">
2025-04-14 10:57:27 +08:00
<button type="primary" @click="unUpdate">确定更换</button>
2025-04-28 11:40:00 +08:00
</view> -->
</view>
<view class="nav-panel">
<c-uni-goods-nav :fill="true" :options="[]" :buttonGroup="navButtonGroup" @buttonClick="navButtonClick" />
2025-04-14 10:57:27 +08:00
</view>
</template>
<script setup>
import {
2025-04-28 11:40:00 +08:00
ref,
reactive
2025-04-14 10:57:27 +08:00
} from 'vue';
import * as api from '@/utils/api.js';
import dayjs from 'dayjs';
const ebikeInfo = ref({
bikeId: '',
oldBikeCode: '',
ecuCode: '',
voltage: '',
positionAt: '',
newBikeCode: '',
codeState: '',
oldBikeCOdeSave: 'notSave',
ecuId: '',
ecuSn: ''
});
const oldBikeCodeScanChange = (data) => {
api.callEbikeInfo("getBikeINfoData?bikeCode=" + data).then((res) => {
ebikeInfo.value.ecuCode = res.data.ecuCode;
ebikeInfo.value.bikeId = res.data.bikeId;
ebikeInfo.value.ecuId = res.data.ecuId;
ebikeInfo.value.ecuSn = res.data.ecuSn;
const ecuSn = res.data.ecuSn;
api.callCoreApi("gps?ecuId=" + res.data.ecuId, {}, 'get').then((res) => {
api.callCoreApi("gpsMsg" + "?ecuSn=" + ecuSn, {}, 'get').then((res) => {
ebikeInfo.value.positionAt = dayjs(res.data.timestamp * 1000).format(
'YYYY-MM-DD HH:mm:ss');
ebikeInfo.value.coordinate = "东经:" + res.data.longitude + "°,北纬:" +
res.data.latitude + "°";
ebikeInfo.value.voltage = res.data.voltage + " mv";
})
});
});
ebikeInfo.value.oldBikeCode = data;
};
const newBikeCodeScanChange = (data) => {
ebikeInfo.value.newBikeCode = data;
};
const unUpdate = () => {
uni.showModal({
title: '提示',
content: '确认更换二维码吗?',
success: function(res) {
if (res.confirm) {
api.callEbikeInfo("updateBikeQRCode", ebikeInfo.value).then((res) => {
ebikeInfo.value.ecuCode = res.data.ecuCode;
2025-04-28 11:40:00 +08:00
ebikeInfo.value.bikeId = res.data.bikeId;
2025-04-14 10:57:27 +08:00
});
}
}
});
}
2025-04-28 11:40:00 +08:00
const navButtonGroup = reactive([{
text: '确定更换',
backgroundColor: '#0078D4',
color: '#fff',
disable: false
}]);
const navButtonClick = (e) =>{
const index = e.index;
if(index == 0){
unUpdate();
}
}
2025-04-14 10:57:27 +08:00
</script>
<style>
.container {
padding: 15px;
background-color: #fff;
}
/* 全局样式 */
.uni-forms .uni-forms-item__label {
width: 100px !important;
/* 或者使用其他单位 */
}
2025-04-28 11:40:00 +08:00
.nav-panel{
position: fixed;
bottom: 0rpx;
width: 100%;
padding-bottom: 10px;
z-index: 999;
background-color:#fff;
}
2025-04-14 10:57:27 +08:00
</style>