工单列表
This commit is contained in:
parent
5880d99258
commit
c2a305cedf
@ -50,6 +50,11 @@
|
||||
"style": {
|
||||
"navigationBarTitleText": "景上运维"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/devops/workorder/workorderlist",
|
||||
"style": {
|
||||
"navigationBarTitleText": "工单列表"
|
||||
}
|
||||
}
|
||||
],
|
||||
"subPackages": [{
|
||||
@ -405,6 +410,11 @@
|
||||
"iconPath": "static/tabbar/home.png",
|
||||
"selectedIconPath": "static/tabbar/home_active.png",
|
||||
"text": "主页"
|
||||
}, {
|
||||
"pagePath": "pages/devops/workorder/workorderlist",
|
||||
"iconPath": "static/tabbar/order.png",
|
||||
"selectedIconPath": "static/tabbar/order_active.png",
|
||||
"text": "工单任务"
|
||||
}, {
|
||||
"pagePath": "pages/mine/mine",
|
||||
"iconPath": "static/tabbar/my.png",
|
||||
|
||||
@ -380,7 +380,7 @@
|
||||
const params = {
|
||||
"bikeCode": ebikeInfo.value.bikeCode,
|
||||
"faultIds": faultIds,
|
||||
"receiver": userInfo.value.staffId
|
||||
"receiverId": userInfo.value.staffId
|
||||
}
|
||||
api.callEbikeInfo("createWorkOrder", params).then((res) => {
|
||||
if (res.code == 200) { //工单生成成功 跳转
|
||||
|
||||
200
ebike-maintenance/pages/devops/workorder/workorderlist.vue
Normal file
200
ebike-maintenance/pages/devops/workorder/workorderlist.vue
Normal file
@ -0,0 +1,200 @@
|
||||
<template>
|
||||
<view class="container">
|
||||
<view class="query-selector">
|
||||
<view class="query-option" :class="{ 'query-select': selectedOption === option.value }"
|
||||
v-for="(option, index) in options" :key="index" @click="selectOption(option.value)">
|
||||
{{ option.name }}
|
||||
</view>
|
||||
</view>
|
||||
<view class="">
|
||||
<uni-search-bar @confirm="search" v-model="searchValue" @blur="blur" @cancel="cancel"
|
||||
placeholder="输入车辆编号" clearButton="always" cancelButton="always">
|
||||
</uni-search-bar>
|
||||
</view>
|
||||
<z-paging ref="paging" :fixed="false" height="85vh" v-model="dataList" @query="loadMoreData"
|
||||
:default-page-no="1" :default-page-size="4" :auto-show-back-to-top="true">
|
||||
<view v-for="(item,index) in dataList" :key="index">
|
||||
<uni-card>
|
||||
<template v-slot:title>
|
||||
<view class="flex justify-between cardtitle">
|
||||
<view class="flex align-center ">
|
||||
<view class="cardtitleri">
|
||||
{{item.orderTypeName}}
|
||||
</view>
|
||||
<view style="margin-left: 10px;">
|
||||
<view class="cu-tag radius line-green"
|
||||
style="background-color:rgba(203,240,204,0.4);">图标</view>
|
||||
</view>
|
||||
</view>
|
||||
<view>
|
||||
<uni-icons type="right" size="20"></uni-icons>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
<uni-forms>
|
||||
<uni-forms-item v-if="item.longitude" label="">
|
||||
<view class="deepBlackBoldText">
|
||||
{{getAreaByCoordinates(item.longitude,item.latitude)}}
|
||||
</view>
|
||||
</uni-forms-item>
|
||||
<uni-forms-item v-if="item.bikeCode" label="车辆编号">
|
||||
<view class="deepBlackBoldText">
|
||||
{{item.bikeCode}}
|
||||
</view>
|
||||
</uni-forms-item>
|
||||
<uni-forms-item v-if="item.bikeCount" label="车辆数量">
|
||||
<view class="deepBlackBoldText">
|
||||
{{item.bikeCount}}
|
||||
</view>
|
||||
</uni-forms-item>
|
||||
<uni-forms-item v-if="item.dispatchType" label="调度类型">
|
||||
<view class="deepBlackBoldText">
|
||||
{{item.dispatchType}}
|
||||
</view>
|
||||
</uni-forms-item>
|
||||
<uni-forms-item label="创建时间">
|
||||
<view class="deepBlackBoldText">
|
||||
{{item.createdAt}}
|
||||
</view>
|
||||
</uni-forms-item>
|
||||
|
||||
</uni-forms>
|
||||
</uni-card>
|
||||
|
||||
</view>
|
||||
</z-paging>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import QQMapWX from "@/utils/qqmap-wx-jssdk.js";
|
||||
import * as map from "@/utils/map.js";
|
||||
import {
|
||||
ref,
|
||||
onMounted
|
||||
} from 'vue';
|
||||
import * as api from '@/utils/api.js';
|
||||
import config from '@/utils/config';
|
||||
import {
|
||||
onLoad
|
||||
} from '@dcloudio/uni-app';
|
||||
|
||||
|
||||
var qqmapsdk = new QQMapWX({
|
||||
key: map.sdkKey
|
||||
});
|
||||
const dataList = ref([]);
|
||||
const scrollHeight = ref(null);
|
||||
const paging = ref(null);
|
||||
const userInfo = ref(null);
|
||||
const searchValue = ref("");
|
||||
const options = ref([{
|
||||
name: "全部",
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
name: "换电",
|
||||
value: '2'
|
||||
},
|
||||
{
|
||||
name: "调度",
|
||||
value: '3'
|
||||
},
|
||||
{
|
||||
name: "维修",
|
||||
value: '1'
|
||||
}
|
||||
]);
|
||||
const selectedOption = ref("");
|
||||
onLoad((options) => {
|
||||
const systemInfo = uni.getSystemInfoSync();
|
||||
userInfo.value = uni.getStorageSync('userInfo');
|
||||
const screenHeight = systemInfo.screenHeight;
|
||||
const statusBarHeight = systemInfo.statusBarHeight;
|
||||
scrollHeight.value = screenHeight - statusBarHeight;
|
||||
});
|
||||
|
||||
const loadMoreData = (pageNo, pageSize) => {
|
||||
const params = {
|
||||
"orderType": 1,
|
||||
"pageParam": {
|
||||
"pageNum": pageNo,
|
||||
"pageSize": pageSize
|
||||
}
|
||||
};
|
||||
api.callEbikeInfo("getWorkOrderList", params).then((res) => {
|
||||
if (res.code === 200) {
|
||||
const records = res.data.records;
|
||||
paging.value.complete(records);
|
||||
} else {
|
||||
paging.value.complete([]);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
const selectOption = (option) => {
|
||||
selectedOption.value = option;
|
||||
};
|
||||
const blur = () => {
|
||||
};
|
||||
|
||||
const cancel = () => {
|
||||
};
|
||||
|
||||
const getAreaByCoordinates =(lng, lat)=>{
|
||||
debugger;
|
||||
map.reverseGeocoder(qqmapsdk, lng, lat, (res) => {
|
||||
debugger;
|
||||
return city;
|
||||
}, (res) => {
|
||||
return "";
|
||||
});
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.query-selector {
|
||||
margin: 15px 10px 0px 10px;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
.container {
|
||||
height: 100vh;
|
||||
padding: 0px 0px;
|
||||
background-color: #ffffff;
|
||||
}
|
||||
|
||||
.query-option {
|
||||
padding: 5px 15px;
|
||||
font-size: 13px;
|
||||
font-weight: 400;
|
||||
background: #f5f5f5;
|
||||
margin: 5px 5px;
|
||||
border-radius: 3px;
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
.query-select {
|
||||
color: #ffffff;
|
||||
background: rgb(0, 132, 255);
|
||||
}
|
||||
|
||||
.cardtitleri {
|
||||
font-size: 15px;
|
||||
color: #3a3a3a;
|
||||
padding: 5px;
|
||||
font-weight: bold;
|
||||
|
||||
}
|
||||
|
||||
.cardtitle {
|
||||
margin: 5px 0px;
|
||||
padding: 5px 0px;
|
||||
border-bottom: solid 1px #f1f1f1;
|
||||
}
|
||||
|
||||
.deepBlackBoldText {
|
||||
font-weight: bold;
|
||||
}
|
||||
</style>
|
||||
@ -338,7 +338,7 @@
|
||||
const params = {
|
||||
"bikeCode": ebikeInfo.value.bikeCode,
|
||||
"faultIds": faultIds,
|
||||
"receiver": userInfo.value.staffId
|
||||
"receiverId": userInfo.value.staffId
|
||||
}
|
||||
|
||||
api.callEbikeInfo("createWorkOrder", params).then((res) => {
|
||||
|
||||
@ -301,7 +301,7 @@
|
||||
"bikeCodes": customFormData.value.deviceValues, // 车辆编号
|
||||
"status": statusZT.value,
|
||||
"siteId": customFormData.value.reginvalue,
|
||||
"DispatchType": "仓库车调度"
|
||||
"dispatchType": "仓库车调度"
|
||||
}
|
||||
// 例如,调用API处理投放
|
||||
api.callEbikeInfo("createWorkOrderDispatch", params).then((res) => {
|
||||
|
||||
@ -171,24 +171,46 @@
|
||||
}
|
||||
const bikeCodeScanChange = (bikeCode) => {
|
||||
api.callEbikeInfo("getBikeINfoData?bikeCode=" + bikeCode).then((res) => {
|
||||
if (res.code == 200) {
|
||||
const params = {
|
||||
"orderId": orderId.value,
|
||||
"bikeCode": bikeCode,
|
||||
"dispatchState": 0
|
||||
}
|
||||
newbikeCode.value = bikeCode;
|
||||
api.callEbikeInfo("createDispatchRecord", params)
|
||||
.then(re => {
|
||||
if (re.code == "200") {
|
||||
dispatchRecords.value.push(re.data)
|
||||
} else {
|
||||
showModelMessage(re.msg)
|
||||
}
|
||||
|
||||
})
|
||||
if (res.code == 200) {
|
||||
const ecuSn = res.data.ecuSn;
|
||||
const ecuId = res.data.ecuId;
|
||||
const bikeId = res.data.bikeId;
|
||||
//获取车辆经纬度
|
||||
api.callCoreApi("gps?ecuId=" + ecuSn + "&bikeId=" + bikeId, {}, 'get')
|
||||
.then((res) => {
|
||||
api.callCoreApi("gpsMsg" + "?ecuSn=" + ecuSn, {}, 'get').then((res) => {
|
||||
|
||||
if (res.code == 200) {
|
||||
const latitude = res.data.latitude;
|
||||
const longitude = res.data.longitude;
|
||||
const params = {
|
||||
"orderId": orderId.value,
|
||||
"bikeCode": bikeCode,
|
||||
"dispatchState": 0,
|
||||
"startVehicleLat":latitude,
|
||||
"startVehicleLng":longitude
|
||||
}
|
||||
newbikeCode.value = bikeCode;
|
||||
api.callEbikeInfo("createDispatchRecord", params)
|
||||
.then(re => {
|
||||
if (re.code == "200") {
|
||||
dispatchRecords.value.push(re.data)
|
||||
} else {
|
||||
showModelMessage(re.msg)
|
||||
}
|
||||
|
||||
})
|
||||
} else {
|
||||
showModelMessage("车辆经纬度获取失败!");
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
});
|
||||
|
||||
} else {
|
||||
showModelMessage("车辆不存在!")
|
||||
showModelMessage("车辆不存在!");
|
||||
}
|
||||
});
|
||||
};
|
||||
@ -203,7 +225,7 @@
|
||||
{
|
||||
const params = {
|
||||
"orderId": orderId.value,
|
||||
"fileLists":fileLists.value
|
||||
"fileLists": fileLists.value
|
||||
}
|
||||
api.callEbikeInfo("completeDeployment", params).then(res => {
|
||||
if (res.code == 200) {
|
||||
@ -255,7 +277,7 @@
|
||||
// 处理推车逻辑
|
||||
console.log("推车操作");
|
||||
}
|
||||
const onRingClick=(bikeCode)=>{
|
||||
const onRingClick = (bikeCode) => {
|
||||
uni.showLoading({
|
||||
title: "指令下发中...",
|
||||
mask: true
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user