<template>
|
<view class="page">
|
<view class="productfeed-workstation-bg"/>
|
<!-- <u-navbar title="工作站" :background="background" :border-bottom="false" :title-bold="true" title-color="#000" back-icon-color="#000"/> -->
|
<view class="productfeed-workstation-search">
|
<u-search v-model="keywords" shape="square" bg-color="rgba(250,252,255,0.36)" :show-action="false" placeholder="请输入工作站编号" @clear="search" @custom="search" @search="search">
|
</u-search>
|
</view>
|
<view class="wrap">
|
<scroll-view class="productfeed-workstation-scroll-list" scroll-y="true" @scrolltolower="loadMore">
|
<u-cell-group class="productfeed-workstation-scroll-list-group" :border="false">
|
<view class="content" v-for="(item, index) in list" :key="item.workstationNo" :index="index"
|
@click="selectWorkstation(item)">
|
<view class="content-header">
|
<view class="content-header-icon"></view>
|
<view class="content-header-title">{{ item.workstationNo }}</view>
|
</view>
|
<view class="content-body">
|
<view class="row-list">
|
<view class="_label">
|
<view class="_label-icon-1">
|
</view>
|
<view class="_label-name">编号:</view>
|
</view>
|
<view class="_content">
|
{{ item.workstationNo }}
|
</view>
|
</view>
|
<view class="row-list">
|
<view class="_label">
|
<view class="_label-icon-2">
|
</view>
|
<view class="_label-name">名称:</view>
|
</view>
|
<view class="_content">
|
{{ item.name }}
|
</view>
|
</view>
|
<view class="row-list">
|
<view class="_label">
|
<view class="_label-icon-3">
|
</view>
|
<view class="_label-name">备注:</view>
|
</view>
|
<view class="_content s1">
|
{{ item.remark }}
|
</view>
|
</view>
|
</view>
|
</view>
|
</u-cell-group>
|
<view class="loadmore" @click="loadMore">
|
<u-loadmore :status="loadStatus"></u-loadmore>
|
</view>
|
</scroll-view>
|
<scan></scan>
|
</view>
|
</view>
|
</template>
|
<script>
|
import content_bg from '@/static/custom/product/productBg.png'
|
import scan from "@/components/scan/scan.vue";
|
export default {
|
components: {
|
scan
|
},
|
data() {
|
return {
|
background:{
|
backgroundImage: `url(${content_bg})`,
|
backgroundAttachment: 'fixed',
|
backgroundSize: '100% auto',
|
backgroundRepeat: 'no-repeat',
|
},
|
keywords: '',
|
workStationList:[],
|
originList: [],
|
list: [],
|
count: 0,
|
loadStatus: 'loadmore',
|
query: {
|
current: 1,
|
size: 10,
|
workstationNo:""
|
},
|
};
|
},
|
onLoad() {
|
this.loadList();
|
},
|
onShow() {
|
|
let that = this
|
|
uni.$off('scan') // 每次进来先 移除全局自定义事件监听器
|
uni.$on('scan', function(data) {
|
console.log('onscan');
|
//扫码成功后的回调,你可以写自己的逻辑代码在这里
|
console.log('扫码结果:', data.code);
|
that.search(data.code);
|
})
|
},
|
onNavigationBarButtonTap(e) {
|
uni.scanCode({
|
success: res => {
|
try {
|
const result = JSON.parse(res.result)
|
|
} catch (e) {}
|
}
|
});
|
},
|
methods: {
|
loadMore() {
|
this.loadStatus = "loading";
|
setTimeout(() => {
|
this.query.current += 1;
|
this.loadList();
|
}, 100);
|
},
|
loadList() {
|
|
// 查询工作站列表
|
this.$u.api.pigxFeed.fetchWorkstationList(this.query).then(res => {
|
|
if (!res.data.records || res.data.records.length == 0) {
|
this.loadStatus = "nomore";
|
return;
|
}
|
this.list = this.list.concat(res.data.records);
|
this.total = res.data.total;
|
this.query.current = res.data.current;
|
this.query.size = res.data.size;
|
this.loadStatus = "loadmore";
|
});
|
},
|
search(value) {
|
|
let that = this
|
that.list = [];
|
that.total = 0;
|
|
that.query= {
|
current: 1,
|
size: 20,
|
workstationNo:value
|
}
|
that.loadList()
|
},
|
selectWorkstation(workstation) {
|
this.refreshLastPage(workstation)
|
},
|
//刷新上一个页面
|
refreshLastPage(workstation) {
|
// 告知 A.vue 更新数据
|
// 获取页面栈
|
let pages = getCurrentPages()
|
|
// 获取上一页栈
|
let prevPage = pages[pages.length - 2]
|
let prevTwoPage = pages[pages.length - 3]
|
|
// 触发上一页 upData 函数(并携带参数)
|
prevPage.$vm.setWorkstation(workstation)
|
prevTwoPage.$vm.setWorkstation(workstation)
|
|
// 返回上一页
|
uni.navigateBack({
|
delta: 1
|
})
|
},
|
}
|
};
|
</script>
|
<style lang="scss">
|
.productfeed-workstation-bg{
|
background-color: #F6F9FF;
|
background-image: url('~@/static/custom/product/productBg.png');
|
// background: linear-gradient(180deg,rgba(206,227,254,1),rgba(206,227,254,1) 20%,rgba(206,227,254,0.5) 40%,rgba(206,227,254,0.25) 60%,rgba(206,227,254,0.08) 80%,rgba(206,227,254,0));
|
padding: 0 20rpx;
|
background-attachment: fixed;
|
background-size: 100% auto;
|
background-repeat: no-repeat;
|
position: fixed;
|
top: 0;
|
bottom: 0;
|
width: 100%;
|
z-index: -1;
|
}
|
.productfeed-workstation-search{
|
padding: 40rpx 30rpx 20rpx 30rpx;
|
}
|
.wrap .productfeed-workstation-scroll-list{
|
height:calc(100vh - var(--window-top) - var(--window-bottom) - 242rpx);
|
width:100%;
|
}
|
.productfeed-workstation-scroll-list-group{
|
::v-deep .u-cell-item-box {
|
background-color:rgba(250,252,255,0.36) !important;
|
padding:0rpx 30rpx ;
|
}
|
.content {
|
font-size: 12px;
|
background-color: #FFFFFF;
|
box-sizing: border-box;
|
border-radius: 10rpx;
|
margin: 0rpx 0rpx 16rpx;
|
height: 298rpx;
|
padding: 10rpx 20rpx;
|
box-shadow: none;
|
.content-header{
|
height: 90rpx;
|
display: flex;
|
align-items:center;
|
.content-header-icon{
|
background-image: url('~@/static/custom/moveWareHouse/header_icon.png');
|
background-size: 100% auto;
|
background-repeat: no-repeat;
|
height:28rpx;
|
width:28rpx;
|
}
|
.content-header-title{
|
margin-left: 11rpx;
|
font-size: 26rpx;
|
font-weight: bold;
|
color: #333333;
|
}
|
}
|
.content-body{
|
height:184rpx;
|
background: #F5F9FF;
|
border-radius: 10rpx;
|
padding: 0rpx 23rpx;
|
.row-list {
|
height: 60rpx;
|
display: flex;
|
flex-direction: row;
|
padding: 0px;
|
align-items: center;
|
}
|
.row-list ._label {
|
display: flex;
|
flex: 0.8;
|
color: #909399;
|
align-items: center;
|
._label-icon-1{
|
background-image: url('~@/static/custom/moveWareHouse/label-icon-1.png');
|
background-size: 100% auto;
|
background-repeat: no-repeat;
|
height:26rpx;
|
width:26rpx;
|
}
|
._label-icon-2{
|
background-image: url('~@/static/custom/moveWareHouse/label-icon-2.png');
|
background-size: 100% auto;
|
background-repeat: no-repeat;
|
height:26rpx;
|
width:26rpx;
|
}
|
._label-icon-3{
|
background-image: url('~@/static/custom/moveWareHouse/label-icon-3.png');
|
background-size: 100% auto;
|
background-repeat: no-repeat;
|
height:26rpx;
|
width:26rpx;
|
}
|
._label-name{
|
margin-left: 11rpx;
|
font-size: 26rpx;
|
font-weight: 500;
|
color: #666666;
|
}
|
}
|
|
.row-list ._content {
|
flex: 1.5;
|
text-align: right;
|
color: #909399;
|
font-size: 24rpx;
|
}
|
.row-list .s1 {
|
color:#D35651;
|
}
|
}
|
}
|
}
|
</style>
|