136 lines
3.2 KiB
Vue
136 lines
3.2 KiB
Vue
<template>
|
|
<view class="container">
|
|
|
|
<view>
|
|
<uni-forms>
|
|
<uni-forms-item label="车辆编号">
|
|
<bikeCodeScan ref="childComponent" @scan-change="bikeCodeScanChange" :codeValue="newbikeCode" />
|
|
</uni-forms-item>
|
|
</uni-forms>
|
|
</view>
|
|
<view class="button-container">
|
|
<view class="button-group flex justify-between padding">
|
|
<button class="cu-btn bg-blue margin-tb-sm lg">开锁</button>
|
|
<button class="cu-btn bg-blue margin-tb-sm lg"><strong>推车</strong></button>
|
|
</view>
|
|
</view>
|
|
<view class="table-container">
|
|
<uni-table>
|
|
<uni-tr>
|
|
<uni-th width="100" align="center">车辆编号</uni-th>
|
|
<uni-th width="50" align="center">状态</uni-th>
|
|
<uni-th width="80" align="center">响铃</uni-th>
|
|
<uni-th width="80" align="center">操作</uni-th>
|
|
</uni-tr>
|
|
<uni-tr v-for="(item, index) in dispatchRecords" :key="index">
|
|
<uni-td>{{ item.bikeCode }}</uni-td>
|
|
<uni-td>
|
|
<view class="name">离线</view>
|
|
</uni-td>
|
|
<uni-td align="center">
|
|
<view class="cu-tag line-blue">
|
|
<uni-icons type="plus" color="rgb(102,179,255)" size="20"></uni-icons>
|
|
</view>
|
|
</uni-td>
|
|
<uni-td align="center">
|
|
<uni-icons type="minus-filled" color="black" size="30"
|
|
@click="deleteDispatchRecord(item.id,index)"></uni-icons>
|
|
</uni-td>
|
|
</uni-tr>
|
|
</uni-table>
|
|
</view>
|
|
|
|
<view class="dispatch-btn-container">
|
|
<view class="cu-btn bg-blue" @click="getInfoList">
|
|
调度
|
|
</view>
|
|
</view>
|
|
|
|
</view>
|
|
</template>
|
|
|
|
|
|
<script setup>
|
|
import {
|
|
ref
|
|
} from 'vue';
|
|
import * as api from '@/utils/api.js';
|
|
import {
|
|
onLoad
|
|
} from '@dcloudio/uni-app';
|
|
import {
|
|
showModelMessage
|
|
} from '@/utils/tools.js';
|
|
|
|
const orderId = ref("");
|
|
|
|
const newbikeCode = ref("");
|
|
|
|
const dispatchRecords = ref([]);
|
|
|
|
onLoad((options) => {
|
|
orderId.value = options.orderId;;
|
|
})
|
|
const getInfoList = () => {
|
|
api.callEbikeInfo("getDispatchVehicleByOrderId?orderId=" + orderId.value, {}, "get").then(
|
|
res => {
|
|
if (res.code == 200) {
|
|
|
|
dispatchRecords.value = res.data.dispatchRecords;
|
|
}
|
|
})
|
|
}
|
|
|
|
const deleteDispatchRecord = (recordId,index) => {
|
|
|
|
// 使用 splice 删除指定索引的元素
|
|
dispatchRecords.value.splice(index, 1);
|
|
// api.callEbikeInfo("deleteDispatchRecord?recordId=" + recordId, {}, "get").then(res=>{
|
|
// if(res.code==200){
|
|
// dispatchRecords.value.slice(index,1)
|
|
// }
|
|
// })
|
|
|
|
}
|
|
const bikeCodeScanChange = (bikeCode) => {
|
|
api.callEbikeInfo("getBikeINfoData?bikeCode=" + bikeCode).then((res) => {
|
|
if (res.code == 200) {
|
|
const params = {
|
|
"orderId": orderId.value,
|
|
"bikeCode": bikeCode,
|
|
"dispatchState": 0
|
|
}
|
|
debugger;
|
|
newbikeCode.value = bikeCode;
|
|
api.callEbikeInfo("createDispatchRecord", params)
|
|
.then(re => {
|
|
if (re.code == "200") {
|
|
dispatchRecords.value.push(re.data)
|
|
} else {
|
|
showModelMessage(re.msg)
|
|
}
|
|
|
|
})
|
|
} else {
|
|
showModelMessage("车辆不存在!")
|
|
}
|
|
});
|
|
};
|
|
</script>
|
|
|
|
<style scoped>
|
|
.container {
|
|
padding: 10px
|
|
}
|
|
|
|
.button-group button {
|
|
width: 48%;
|
|
}
|
|
|
|
.table-container {
|
|
height: 400px;
|
|
width: 100%;
|
|
padding: 5px;
|
|
|
|
}
|
|
</style> |