Merge branch 'main' of http://47.109.71.130:3000/attiya/ebike-ui
This commit is contained in:
commit
0ac4513e2d
@ -3,10 +3,13 @@
|
||||
<view class="form-panel">
|
||||
<uni-forms ref="ebikeInfoForm" :modelValue="ebikeInfo" labelWidth="100px">
|
||||
<uni-section title="车辆" type="line">
|
||||
<uni-forms-item label="车辆编号" required name="bikeCode" :rules="[{ required: true, errorMessage: '请扫描或输入车辆编号' }]">
|
||||
<bikeCodeScan @scan-change="bikeCodeScanChange" :codeValue="ebikeInfo.bikeCode" ref="bikeCodeScanRef" />
|
||||
<uni-forms-item label="车辆编号" required name="bikeCode"
|
||||
:rules="[{ required: true, errorMessage: '请扫描或输入车辆编号' }]">
|
||||
<bikeCodeScan @scan-change="bikeCodeScanChange" :codeValue="ebikeInfo.bikeCode"
|
||||
ref="bikeCodeScanRef" />
|
||||
</uni-forms-item>
|
||||
<uni-forms-item label="车辆型号" required name="bikeModel" :rules="[{ required: true, errorMessage: '请输入车辆型号' }]">
|
||||
<uni-forms-item label="车辆型号" required name="bikeModel"
|
||||
:rules="[{ required: true, errorMessage: '请输入车辆型号' }]">
|
||||
<uni-easyinput v-model="ebikeInfo.bikeModel" placeholder="请输入车辆型号" />
|
||||
</uni-forms-item>
|
||||
<uni-forms-item label="车牌号" name="bikeNumber">
|
||||
@ -14,29 +17,31 @@
|
||||
</uni-forms-item>
|
||||
</uni-section>
|
||||
<uni-section title="中控" type="line">
|
||||
<uni-forms-item label="中控编号" required :name="['ebikeEcuInfo','ecuCode']" :rules="[{ required: true, errorMessage: '请扫描或输入中控编号' }]">
|
||||
<uni-forms-item label="中控编号" required :name="['ebikeEcuInfo','ecuCode']"
|
||||
:rules="[{ required: true, errorMessage: '请扫描或输入中控编号' }]">
|
||||
<ecuCodeScan @scan-change="ecuCodeScanChange" :codeValue="ebikeInfo.ebikeEcuInfo.ecuCode" />
|
||||
</uni-forms-item>
|
||||
<uni-forms-item label="中控序列号" required :name="['ebikeEcuInfo','ecuSN']" :rules="[{ required: true, errorMessage: '请输入中控序列号' }]">
|
||||
<uni-easyinput v-model="ebikeInfo.ebikeEcuInfo.ecuSN" placeholder="请输入中控序列号"/>
|
||||
<uni-forms-item label="中控序列号" required :name="['ebikeEcuInfo','ecuSN']"
|
||||
:rules="[{ required: true, errorMessage: '请输入中控序列号' }]">
|
||||
<uni-easyinput v-model="ebikeInfo.ebikeEcuInfo.ecuSN" placeholder="请输入中控序列号" />
|
||||
</uni-forms-item>
|
||||
<uni-forms-item label="中控品牌" required :name="['ebikeEcuInfo','ecuModel']" :rules="[{ required: true, errorMessage: '请选择中控品牌' }]">
|
||||
<uni-data-select
|
||||
v-model="ebikeInfo.ebikeEcuInfo.ecuModel"
|
||||
:localdata="ecuModelRange"
|
||||
@change="ecuModelChange"
|
||||
placeholder="请选择中控品牌"
|
||||
></uni-data-select>
|
||||
<uni-forms-item label="中控品牌" required :name="['ebikeEcuInfo','ecuModel']"
|
||||
:rules="[{ required: true, errorMessage: '请选择中控品牌' }]">
|
||||
<uni-data-select v-model="ebikeInfo.ebikeEcuInfo.ecuModel" :localdata="ecuModelRange"
|
||||
@change="ecuModelChange" placeholder="请选择中控品牌"></uni-data-select>
|
||||
</uni-forms-item>
|
||||
</uni-section>
|
||||
<uni-section title="电池" type="line">
|
||||
<uni-forms-item label="电池编号" required :name="['ebikeBatteryInfo','batteryCode']" :rules="[{ required: true, errorMessage: '请扫描或输入电池编号' }]">
|
||||
<bikeCodeScan @scan-change="batteryCodeScanChange" :codeValue="ebikeInfo.ebikeBatteryInfo.batteryCode" />
|
||||
<uni-forms-item label="电池编号" required :name="['ebikeBatteryInfo','batteryCode']"
|
||||
:rules="[{ required: true, errorMessage: '请扫描或输入电池编号' }]">
|
||||
<bikeCodeScan @scan-change="batteryCodeScanChange"
|
||||
:codeValue="ebikeInfo.ebikeBatteryInfo.batteryCode" />
|
||||
</uni-forms-item>
|
||||
</uni-section>
|
||||
<uni-section title="头盔" type="line">
|
||||
<uni-forms-item label="头盔编号" :name="['ebikeHelmetInfo','helmetCode']">
|
||||
<bikeCodeScan @scan-change="helmetCodeScanChange" :codeValue="ebikeInfo.ebikeHelmetInfo.helmetCode" />
|
||||
<bikeCodeScan @scan-change="helmetCodeScanChange"
|
||||
:codeValue="ebikeInfo.ebikeHelmetInfo.helmetCode" />
|
||||
</uni-forms-item>
|
||||
</uni-section>
|
||||
</uni-forms>
|
||||
@ -48,15 +53,21 @@
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { ref, reactive } from 'vue';
|
||||
import {
|
||||
ref,
|
||||
reactive
|
||||
} from 'vue';
|
||||
import * as api from '@/utils/api.js';
|
||||
import {
|
||||
showModelMessage
|
||||
} from '@/utils/tools';
|
||||
const ebikeInfoForm = ref(null);
|
||||
const bikeCodeScanRef = ref(null);
|
||||
|
||||
|
||||
const ebikeInfo = ref({
|
||||
bikeCode: '',
|
||||
bikeModel: '',
|
||||
bikeNumber:'',
|
||||
bikeNumber: '',
|
||||
ebikeEcuInfo: {
|
||||
ecuCode: '',
|
||||
ecuSN: '',
|
||||
@ -69,23 +80,28 @@
|
||||
helmetCode: ''
|
||||
}
|
||||
});
|
||||
|
||||
const ecuModelRange = [
|
||||
{ value: "乐摇摇", text: "乐摇摇" },
|
||||
{ value: "美团", text: "美团" }
|
||||
]
|
||||
|
||||
|
||||
const ecuModelRange = [{
|
||||
value: "乐摇摇",
|
||||
text: "乐摇摇"
|
||||
},
|
||||
{
|
||||
value: "美团",
|
||||
text: "美团"
|
||||
}
|
||||
]
|
||||
|
||||
const navButtonGroup = reactive([{
|
||||
text: '入库',
|
||||
backgroundColor: '#0078D4',
|
||||
color: '#fff',
|
||||
disable: false
|
||||
}]);
|
||||
|
||||
const navButtonClick = (e) =>{
|
||||
}]);
|
||||
|
||||
const navButtonClick = (e) => {
|
||||
const index = e.index;
|
||||
//navButtonGroup[index].disable = true;
|
||||
if(index == 0){
|
||||
if (index == 0) {
|
||||
if (ebikeInfoForm.value) { // 确保表单元素已挂载
|
||||
ebikeInfoForm.value.validate().then((res) => {
|
||||
handleSubmit();
|
||||
@ -97,70 +113,87 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const ecuModelChange = (value) =>{
|
||||
|
||||
const ecuModelChange = (value) => {
|
||||
ebikeInfo.value.ebikeEcuInfo.ecuModel = value;
|
||||
};
|
||||
|
||||
|
||||
const handleSubmit = () => {
|
||||
const params = ebikeInfo.value;
|
||||
api.callEbikeInfo("saveEbikeInfo", params).then((res)=>{
|
||||
const params = ebikeInfo.value;
|
||||
api.callEbikeInfo("saveEbikeInfo", params).then((res) => {
|
||||
uni.showToast({
|
||||
title: "入库成功",
|
||||
icon: 'success',
|
||||
duration: 5000,
|
||||
success: (res) => {
|
||||
setTimeout(function () {
|
||||
uni.navigateBack();
|
||||
setTimeout(function() {
|
||||
uni.navigateBack();
|
||||
}, 5000);
|
||||
}
|
||||
});
|
||||
}).catch((err)=>{
|
||||
uni.showToast({
|
||||
title: "入库失败",
|
||||
icon: 'error',
|
||||
duration: 5000
|
||||
});
|
||||
});
|
||||
}).catch((err) => {
|
||||
uni.showToast({
|
||||
title: "入库失败",
|
||||
icon: 'error',
|
||||
duration: 5000
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
let timer;
|
||||
const bikeCodeScanChange = (data) => {
|
||||
clearTimeout(timer);
|
||||
// clearTimeout(timer);
|
||||
ebikeInfo.value.bikeCode = data;
|
||||
timer = setTimeout(function () {
|
||||
api.callEbikeInfo("getBikeINfoData?bikeCode=" + data).then((res)=>{
|
||||
if(res.code == 200 && res.data && res.data.bikeId){
|
||||
uni.showToast({
|
||||
title: "车辆信息已存在",
|
||||
icon: 'error',
|
||||
duration: 2000
|
||||
});
|
||||
setTimeout(function () {
|
||||
ebikeInfo.value.bikeCode = "";
|
||||
bikeCodeScanRef.value.onSetValue("");
|
||||
}, 2000);
|
||||
}
|
||||
else
|
||||
{
|
||||
ebikeInfo.value.bikeCode = data;
|
||||
}
|
||||
}).catch((err)=>{
|
||||
ebikeInfo.value.bikeCode = data;
|
||||
});
|
||||
}, 5000);
|
||||
if (!data) return;
|
||||
// timer = setTimeout(function() {
|
||||
api.callEbikeInfo("getBikeINfoData?bikeCode=" + data).then((res) => {
|
||||
if (res.code == 200 && res.data && res.data.bikeId) {
|
||||
showModelMessage("车辆信息已存在!")
|
||||
ebikeInfo.value.bikeCode = "";
|
||||
bikeCodeScanRef.value.onSetValue("");
|
||||
} else {
|
||||
api.callOperateApi("ebikeBikeQrcode/checkBikeCodeExistence?bikeCode=" + data, {},
|
||||
"get").then(res => {
|
||||
if (res.code == 200) {
|
||||
if (res.data > 0) {
|
||||
ebikeInfo.value.bikeCode = data;
|
||||
} else {
|
||||
ebikeInfo.value.bikeCode = "";
|
||||
bikeCodeScanRef.value.onSetValue("");
|
||||
showModelMessage("车辆编号二维码未生成,请重新输入!")
|
||||
}
|
||||
}
|
||||
|
||||
})
|
||||
}
|
||||
}).catch((err) => {
|
||||
ebikeInfo.value.bikeCode = data;
|
||||
});
|
||||
// }, 1000);
|
||||
};
|
||||
const ecuCodeScanChange = (data) => {
|
||||
ebikeInfo.value.ebikeEcuInfo.ecuCode = data["imei"];
|
||||
ebikeInfo.value.ebikeEcuInfo.ecuSN = data["sn"];
|
||||
};
|
||||
|
||||
|
||||
const batteryCodeScanChange = (data) => {
|
||||
ebikeInfo.value.ebikeBatteryInfo.batteryCode = data;
|
||||
};
|
||||
|
||||
|
||||
const helmetCodeScanChange = (data) => {
|
||||
ebikeInfo.value.ebikeHelmetInfo.helmetCode = data;
|
||||
api.callOperateApi("ebikeBikeQrcode/checkhelmetCodeExistence?helmetCode=" + data, {},
|
||||
"get").then(res => {
|
||||
if (res.code == 200) {
|
||||
if (res.data > 0) {
|
||||
ebikeInfo.value.ebikeHelmetInfo.helmetCode = data;
|
||||
} else {
|
||||
ebikeInfo.value.ebikeHelmetInfo.helmetCode = "";
|
||||
// bikeCodeScanRef.value.onSetValue("");
|
||||
showModelMessage("车辆编号二维码未生成,请重新输入!")
|
||||
}
|
||||
}
|
||||
|
||||
})
|
||||
};
|
||||
</script>
|
||||
|
||||
@ -169,21 +202,22 @@
|
||||
padding: 15px;
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
|
||||
/* 全局样式 */
|
||||
/* .uni-forms .uni-forms-item__label {
|
||||
/* .uni-forms .uni-forms-item__label {
|
||||
width: 100px !important;
|
||||
} */
|
||||
|
||||
.form-panel{
|
||||
|
||||
.form-panel {
|
||||
padding-bottom: 55px;
|
||||
}
|
||||
.nav-panel{
|
||||
|
||||
.nav-panel {
|
||||
position: fixed;
|
||||
bottom: 0rpx;
|
||||
width: 100%;
|
||||
padding-bottom: 10px;
|
||||
z-index: 999;
|
||||
background-color:#fff;
|
||||
background-color: #fff;
|
||||
}
|
||||
</style>
|
||||
</style>
|
||||
@ -110,9 +110,7 @@
|
||||
<div v-if="showOrderPay" style="position: absolute;z-index: 2000;bottom: 0;width: 100vw;">
|
||||
<bike-pay :orderId="orderData.orderId" />
|
||||
</div>
|
||||
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import {
|
||||
ref,
|
||||
|
||||
@ -5,7 +5,7 @@
|
||||
<!-- 切换的页面内容 -->
|
||||
<view class="content">
|
||||
<!-- 消费页面内容 -->
|
||||
<z-paging ref="paging_consume" :fixed="false" height="85vh" v-model="ConsumeDataList"
|
||||
<z-paging ref="paging_consume" :fixed="false" height="100vh" v-model="ConsumeDataList"
|
||||
@query="loadMoreDataConsume" :default-page-no="1" :default-page-size="4" :auto-show-back-to-top="true">
|
||||
<uni-card :title="`车辆编号:${item.bikeCode}`" v-for="(item,index) in ConsumeDataList">
|
||||
<view class="flex justify-between card-header">
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user