导航栏

This commit is contained in:
2023-03-22 14:32:30 +08:00
parent 7e8f2eee43
commit 214ae34f92
8 changed files with 304 additions and 1 deletions

View File

@@ -63,4 +63,108 @@ uni-button:after {
} }
.scan_icon::after { .scan_icon::after {
content: '\e607'; content: '\e607';
}
.content{
/* display: flex; */
width: 100%;
height: 100%;
background-color: #fff;/*
justify-content: space-between;
align-items: flex-start; */
}
.search-wrap{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
width: 100%;
padding: 0 30rpx;
}
.search-item{
display: flex;
justify-content: space-between;
width: 48%;
margin-top: 30rpx;
}
.search-label{
width: 160rpx;
height: 90rpx;
font-size: 32rpx;
line-height: 90rpx;
color: #323232;
text-align: justify;
text-align-last: justify;
}
.search-label::after {
display: inline-block;
content: '';
width: 100%;
height: 0;
visibility: hidden;
}
.search-input{
width: calc(100% - 200rpx);
height: 86rpx;
line-height: 86rpx;
font-size: 32rpx;
color: #606266;
border: 1px solid #d1d1d1;
border-radius: 8rpx;
text-indent: 40rpx;
}
.confirm-button-wrap{
display: flex;
justify-content: flex-end;
width: 100%;
height: 86rpx;
line-height: 86rpx;
margin-top: 30rpx;
padding: 0 30rpx;
}
.confirm-button{
margin-left: 30rpx !important;
margin-right: 0 !important;
background-color: #D7592F;
color: #fff;
line-height: 86rpx;
}
.grid-wrap{
width: 100%;
height: calc(100% - 324rpx); /** 88+ 30+ 90 + 30+ 86*/
padding: 30rpx;
overflow-y: scroll;
}
.grid-table{
width: 100%;
border-collapse: separate;
border-spacing: 0;
border: 1px #e1e1e1;
text-align: center;
}
.grid-table thead tr th{
font-size: 26rpx;
line-height: 86rpx;
padding: 0 10rpx;
background-color: #e1e1e1;
}
.grid-table thead tr th:first-child{
border-top-left-radius: 12rpx;
}
.grid-table thead tr th:last-child{
border-top-right-radius: 12rpx;
}
.grid-table th, .grid-table td {
color: #464646;
background-color: #fff;
border-right: 2rpx solid #e1e1e1;
border-bottom: 2rpx solid #e1e1e1;
}
.grid-table th:first-child, .grid-table td:first-child{
border-left: 2rpx solid #e1e1e1;
}
.grid-table td {
height: 88rpx;
line-height: 44rpx;
font-size: 24rpx;
padding: 0 10rpx;
} }

71
components/NavBar.vue Normal file
View File

@@ -0,0 +1,71 @@
<template>
<view class="header">
<span @tap="goBack" class="iconfont icon_back">&#xe6db;</span>
<span class="page_name">{{title}}</span>
<span @tap="backHome" class="iconfont icon_home" :class="{'vhide': show1 === false}">&#xe69b;</span>
</view>
</template>
<script>
export default {
data() {
return {
};
},
props: {
title: String,
inner: {
type: Boolean,
default: false
},
inner2: {
type: Boolean,
default: false
},
show1: {
type: Boolean,
default: true
}
},
methods: {
goBack () {
if (this.inner) {
uni.navigateBack()
} else if (this.inner2) {
this.$emit('goIn')
} else {
uni.redirectTo({
url: '/pages/home/home'
})
}
},
backHome () {
uni.redirectTo({
url: '/pages/home/home'
})
}
}
}
</script>
<style lang="stylus">
@import '@/common/style/mixin.styl';
.header
_fj()
_wh(100%, 88rpx)
background-color $red
z-index 200
padding 0 20rpx
.page_name
_font(32rpx, 32rpx, #fff,700,center)
.icon_back {
font-size: 52rpx;
line-height: 52rpx;
color: #fff;
}
.icon_home {
font-size: 52rpx;
line-height: 52rpx;
color: #fff;
}
</style>

View File

@@ -11,6 +11,12 @@
"style": { "style": {
"navigationStyle": "custom" "navigationStyle": "custom"
} }
},
{
"path": "pages/management/inscanerror",
"style": {
"navigationStyle": "custom"
}
} }
], ],
"globalStyle": { "globalStyle": {

View File

@@ -10,7 +10,7 @@
</view> </view>
<view class="nav-wrap"> <view class="nav-wrap">
<view class="nav-item"> <view class="nav-item">
<text class="nav-text" @click="toJump('/pages/equipStatus/equipStatus')">入箱扫码异常</text> <text class="nav-text" @click="toJump('/pages/management/inscanerror')">入箱扫码异常</text>
</view> </view>
<view class="nav-item"> <view class="nav-item">
<text class="nav-text" @click="toJump('/pages/equipStatus/equipStatus')">出箱扫码异常</text> <text class="nav-text" @click="toJump('/pages/equipStatus/equipStatus')">出箱扫码异常</text>

View File

@@ -0,0 +1,122 @@
<template>
<view class="content">
<nav-bar title="入箱扫码异常"></nav-bar>
<view class="search-wrap">
<view class="search-item">
<label class="search-label">关键字</label>
<input type="text" class="search-input" placeholder="任务号、指令号、载具号" v-model="keyword">
</view>
<view class="search-item">
<label class="search-label">起点</label>
<input type="text" class="search-input" v-model="startPoint">
</view>
</view>
<view class="confirm-button-wrap">
<button class="confirm-button" :disabled="disabled0" @click="toSearch()">查询</button>
<button class="confirm-button" :disabled="disabled1" @click="toSure('1')">撤销指令</button>
<button class="confirm-button" :disabled="disabled1" @click="toSure('2')">重新下发</button>
<button class="confirm-button" :disabled="disabled1" @click="toSure('3')">强制完成</button>
</view>
<view class="grid-wrap">
<table class="grid-table">
<thead>
<tr>
<th>选择</th>
<th>指令号</th>
<th>任务号</th>
<th>起点</th>
<th>终点</th>
<th>状态</th>
<th>agv车号</th>
<th>物料类型</th>
<th>优先级</th>
<th>时间</th>
</tr>
</thead>
<tbody>
<tr v-for="e in dataList" :key="e.inst_uuid" @click="toRadio(e)">
<td>
<view class="iconfont icon-check" :class="{'icon-checked': pkId === e.inst_uuid}"></view>
</td>
<td>{{e.inst_no}}</td>
<td>{{e.task_no}}</td>
<td>{{e.start_devicecode}}</td>
<td>{{e.next_devicecode}}</td>
<td>{{e.inst_status_name}}</td>
<td>{{e.carno}}</td>
<td>{{e.material_type_name}}</td>
<td>{{e.priority}}</td>
<td>{{e.create_time}}</td>
</tr>
</tbody>
</table>
</view>
</view>
</template>
<script>
import NavBar from '@/components/NavBar.vue'
// import {queryInstraction, instOperation} from '@/utils/api.js'
export default {
components: {
NavBar
},
data() {
return {
dataList: [],
keyword: '',
startPoint: '',
endPoint: '',
pkId: '',
disabled0: false,
disabled1: false
};
},
mounted () {
this.queryInstraction(this.keyword, this.startPoint, this.endPoint)
},
methods: {
onNavigationBarButtonTap(e) {
uni.redirectTo({
url: '/pages/index/index'
});
},
toSearch () {
this.pkId = ''
this.dataList = []
this.disabled0 = true
this.queryInstraction()
},
toSure (type) {
if (this.pkId) {
this.disabled1 = true
this.instOperation(type)
} else {
uni.showToast({
title: '请查询后进行选择',
icon: 'none'
})
}
},
toRadio (e) {
this.pkId = this.pkId === e.inst_uuid ? '' : e.inst_uuid
}
}
}
</script>
<style lang="stylus" scoped>
@import '../../common/style/mixin.styl';
.content1
flex-direction column
justify-content flex-start
padding 30rpx
box-sizing border-box
.icon-check
_wh(44rpx, 44rpx)
background-color #ffffff
border-radius 50%
margin 0 auto
.icon-checked
background-color $red
</style>

Binary file not shown.

Binary file not shown.

Binary file not shown.