311 lines
6.3 KiB
Vue
311 lines
6.3 KiB
Vue
<template>
|
||
<view class="container">
|
||
<view class="menu_container">
|
||
<view class="menu">
|
||
<!-- <view class="menu_o menu_one" @click="to_dispatch">
|
||
<i class="iconfont icon-chaobiaozhipai"></i>派单
|
||
</view> -->
|
||
<view class="menu_o menu_two" @click="to_repor">
|
||
<i class="iconfont icon-shangbao"></i>报单
|
||
</view>
|
||
<view class="menu_o menu_three" @click="to_examine">
|
||
<i class="iconfont icon-shenhe"></i>审核
|
||
</view>
|
||
<view class="menu_o menu_four" @click="to_statistics">
|
||
<i class="iconfont icon-shuzhuangtu"></i>统计
|
||
</view>
|
||
</view>
|
||
<view class="list_header">
|
||
最近工单
|
||
</view>
|
||
</view>
|
||
|
||
<view class="list_content">
|
||
<scroll-view scroll-y="true" class="scroll-view-height">
|
||
<view class="list_item" v-for="item in tableData" @click="go_detail(item.id)">
|
||
<view class="left">
|
||
|
||
<view class="title">
|
||
班组:{{item.bz}}
|
||
</view>
|
||
<view class="time">
|
||
工序:{{item.gx}}
|
||
</view>
|
||
<view class="time">
|
||
款式:{{item.ks}}
|
||
</view>
|
||
<view class="user">
|
||
日期:{{item.date}}
|
||
</view>
|
||
<view class="user">
|
||
数量:{{item.number}}
|
||
</view>
|
||
</view>
|
||
<view class="right">
|
||
<uni-tag :text="item.status_text" :type="item.class" />
|
||
</view>
|
||
</view>
|
||
</scroll-view>
|
||
</view>
|
||
</view>
|
||
</template>
|
||
|
||
<script>
|
||
import config from "@/config.js";
|
||
export default {
|
||
data() {
|
||
return {
|
||
tableData: [],
|
||
is_admin:'',
|
||
keeplogin:0,
|
||
}
|
||
},
|
||
onLoad(){
|
||
let routes = getCurrentPages(); // 获取当前打开过的页面路由数组
|
||
let curRoute = routes[routes.length - 1].route //获取当前页面路由
|
||
let curParam = routes[routes.length - 1].options; //获取路由参数
|
||
var that=this,serverUrl = config.serverUrl;
|
||
that.keeplogin = uni.getStorageSync('keeplogin');
|
||
uni.getStorage({
|
||
key: 'userinfo',
|
||
success(res) {
|
||
that.uid=res.data.id
|
||
that.token=res.data.token
|
||
uni.request({
|
||
url:serverUrl+'/board/index',
|
||
method:"POST",
|
||
data: {
|
||
uid: that.uid,
|
||
},
|
||
header: {
|
||
'custom-header': 'application/x-www-form-urlencoded' //自定义请求头信息
|
||
},
|
||
success:(res)=> {
|
||
if(res.data.code==1){
|
||
var list=res.data.data.list;//最近工单
|
||
console.log(list);
|
||
that.tableData=list;
|
||
that.is_admin=res.data.data.is_admin;
|
||
}else{
|
||
uni.showToast({
|
||
title:res.data.msg,
|
||
icon:'none',
|
||
duration:1000
|
||
})
|
||
if(res.data.data=='user_hidden'){
|
||
setTimeout(() => {
|
||
uni.removeStorageSync('userinfo');
|
||
uni.removeStorageSync('openid');
|
||
uni.removeStorageSync('keeplogin');
|
||
uni.redirectTo({ url: '/pages/login/login' })
|
||
}, 0)
|
||
}
|
||
}
|
||
}
|
||
})
|
||
},
|
||
fail() {
|
||
uni.showToast({
|
||
title:'请先登录',
|
||
icon:'none',
|
||
duration:1000
|
||
})
|
||
setTimeout(()=>{
|
||
uni.redirectTo({
|
||
url: '/pages/login/login'
|
||
})
|
||
},1)
|
||
}
|
||
});
|
||
},
|
||
methods: {
|
||
to_repor(){
|
||
uni.navigateTo({
|
||
url:'/pages/repor/repor'
|
||
})
|
||
},
|
||
to_examine(){
|
||
if(this.is_admin==1){
|
||
uni.navigateTo({
|
||
url:'/pages/examine/examine'
|
||
})
|
||
}else{
|
||
uni.showToast({
|
||
title:'您没有权限',
|
||
icon:'none',
|
||
duration:3000
|
||
})
|
||
}
|
||
|
||
},
|
||
to_dispatch(){
|
||
if(this.is_admin==1){
|
||
uni.navigateTo({
|
||
url:'/pages/dispatch/dispatch'
|
||
})
|
||
}else{
|
||
uni.showToast({
|
||
title:'您没有权限',
|
||
icon:'none',
|
||
duration:3000
|
||
})
|
||
}
|
||
|
||
},
|
||
to_statistics(){
|
||
uni.switchTab({
|
||
url:'/pages/statistics/statistics'
|
||
})
|
||
},
|
||
go_detail(id){
|
||
console.log(id);
|
||
uni.navigateTo({
|
||
url:'/pages/detail/detail?id='+id
|
||
})
|
||
}
|
||
|
||
}
|
||
}
|
||
</script>
|
||
|
||
<style scoped lang="scss">
|
||
.container {
|
||
font-size: 14px;
|
||
line-height: 24px;
|
||
display: flex;
|
||
flex-direction: column;
|
||
}
|
||
.menu_container{
|
||
position: fixed;
|
||
left: 0;
|
||
right: 0;
|
||
z-index: 9;
|
||
}
|
||
.menu {
|
||
background-color: #fff;
|
||
padding: 30rpx;
|
||
display: flex;
|
||
justify-content: space-between;
|
||
align-items: center;
|
||
flex-wrap: wrap;
|
||
|
||
|
||
.iconfont {
|
||
margin-right: 10rpx;
|
||
font-size: 40rpx;
|
||
}
|
||
|
||
.menu_o {
|
||
height: 120rpx;
|
||
margin: 0 20rpx 20rpx 0;
|
||
width: calc((100% - 20rpx) / 2);
|
||
min-width: calc((100% - 20rpx) / 2);
|
||
max-width: calc((100% - 20rpx) / 2);
|
||
background-color: aquamarine;
|
||
|
||
&:nth-child(2n + 2) {
|
||
margin-right: 0;
|
||
}
|
||
|
||
text-align: center;
|
||
line-height: 120rpx;
|
||
font-size: 35rpx;
|
||
color: #fff;
|
||
border-radius: 15rpx;
|
||
}
|
||
|
||
.menu_one {
|
||
background-image: linear-gradient(#69C0FF, #259FF8);
|
||
}
|
||
|
||
.menu_two {
|
||
background-image: linear-gradient(#95DE64, #53BD0C);
|
||
}
|
||
|
||
.menu_three {
|
||
background-image: linear-gradient(#187AF3, #0050B3);
|
||
}
|
||
|
||
.menu_four {
|
||
background-image: linear-gradient(#12C9C9, #12A2A2);
|
||
}
|
||
}
|
||
.list_header {
|
||
padding-left: 30rpx;
|
||
padding-top: 20rpx;
|
||
margin-bottom: 20rpx;
|
||
background-color: #F5F5F5;
|
||
|
||
}
|
||
|
||
.list_content {
|
||
background-color: #F5F5F5;
|
||
display: flex;
|
||
flex-direction: column;
|
||
padding: 0 20rpx 20rpx 20rpx;
|
||
margin-top: 430rpx;
|
||
.list_item {
|
||
&:not(:first-child) {
|
||
margin-top: 30rpx;
|
||
}
|
||
|
||
padding: 30rpx;
|
||
background-color: #FFF;
|
||
border-radius: 8rpx;
|
||
display: flex;
|
||
flex-direction: row;
|
||
justify-content: space-between;
|
||
|
||
.operate {
|
||
display: flex;
|
||
flex-direction: row;
|
||
justify-content: space-between;
|
||
margin-bottom: 10rpx;
|
||
}
|
||
.right{
|
||
display: flex;
|
||
flex-direction: column;
|
||
justify-content: space-between;
|
||
align-items:flex-end
|
||
}
|
||
.status {
|
||
width: 130rpx;
|
||
height: 50rpx;
|
||
text-align: center;
|
||
line-height: 50rpx;
|
||
color: #fff;
|
||
border-radius: 30rpx;
|
||
|
||
}
|
||
|
||
.report{
|
||
background-color: #9BBDF7;
|
||
color: #FFF;
|
||
}
|
||
|
||
.progress {
|
||
background-color: #F3A73F;
|
||
color: #FFF;
|
||
}
|
||
|
||
.examine {
|
||
background-color: #2979FF;
|
||
color: #FFF;
|
||
}
|
||
|
||
.examined {
|
||
background-color: #18BC37;
|
||
color: #FFF;
|
||
}
|
||
.cancel {
|
||
background-color: #FD2200;
|
||
color: #FFF;
|
||
}
|
||
}
|
||
}
|
||
|
||
.scroll-view-height {
|
||
/* 页面高度减去包含状态栏、其他组件的高度 */
|
||
height: calc(100vh - var(--status-bar-height) - 630rpx);
|
||
}
|
||
</style> |