<template>
|
<view>
|
<!-- 刷新页面后的顶部提示框 -->
|
<view class="tips" :class="{ 'tips-ani': tipShow }">刷新成功</view>
|
<!-- 搜索框 -->
|
<view class="container">
|
<picker
|
mode="selector"
|
:range="options"
|
@change="handlePickerChange"
|
class="custom-picker picker1"
|
>
|
<view class="picker-display">
|
<text :class="['display-text', selectedIndex === -1 ? 'placeholder' : '']">
|
{{ selectedIndex === -1 ? '请选择' : options[selectedIndex] }}
|
</text>
|
<uni-icons type="arrowdown" size="16" color="#666" class="arrow-icon"/>
|
</view>
|
</picker>
|
|
<picker
|
mode="selector"
|
:range="options_user"
|
@change="userPickerChange"
|
class="custom-picker picker2"
|
>
|
<view class="picker-display">
|
<text :class="['display-text', userIndex === -1 ? 'placeholder' : '']">
|
{{ userIndex === -1 ? '请选择' : options_user[userIndex] }}
|
</text>
|
<uni-icons type="arrowdown" size="16" color="#666" class="arrow-icon"/>
|
</view>
|
</picker>
|
<view class="search-bar">
|
<view class="search-bar-box">
|
<!-- <image class="search-span" src="../../static/image/searchSpan.png"/> -->
|
<!-- <input type="text" value="" v-model="searchValue" placeholder="供应商 物料编码 物料名称 项目" class="search-text" -->
|
<input type="text" value="" v-model="searchValue" class="search-text"
|
maxlength="100" focus />
|
<button @click="btnclicked" class="search-btn">搜索</button>
|
</view>
|
</view>
|
</view>
|
|
|
<view class="newsTab">
|
<uni-segmented-control :current="current" :values="items" @clickItem="onClickItem" style-type="button"
|
active-color="#87cefa"></uni-segmented-control>
|
<view class="content">
|
<view v-show="current===0">
|
<!-- 基于 uni-list 的页面布局 -->
|
<uni-list>
|
<!-- to 属性携带参数跳转详情页面,当前只为参考 -->
|
<!-- item.jycs===1 为超时检验单,会显示红色边框,0为正常单据,蓝色边框 -->
|
<uni-list-item v-show="item.jycs===1"
|
style="margin-top: 10px;background-color:#EFEFF4;border-radius: 5px;"
|
class="list-item1" direction="column" v-for="item in data" :key="item.id"
|
:to="'Add?id='+item.id+'&lotNo='+item.lotNo+'&releaseNo='+item.releaseNo+'¤t=0'">
|
<!-- 通过header插槽定义列表的标题 -->
|
<template v-slot:header>
|
<view class="form-group uni-title" style="margin-bottom: 0;">
|
<label class="form-label">检验单号:</label>
|
<input class="form-input" disabled="true" type="text" v-model="item.releaseNo" />
|
</view>
|
</template>
|
<!-- 通过body插槽定义列表内容显示 -->
|
<template v-slot:body>
|
|
<view class="uni-title-sub uni-ellipsis-2">
|
<view class="form-group">
|
<label class="form-label lab">到货单号:</label>
|
<input class="form-input" disabled="true" type="text" v-model="item.lotNo" />
|
</view>
|
</view>
|
<checkbox-group style="background-color: white;border-bottom: 1px solid #c7c7c7;">
|
<label>
|
<checkbox value="F_TYPE" disabled="true" :checked="item.ftype == 1" />
|
委外
|
</label>
|
<label>
|
<checkbox value="URGENT_FLAG" disabled="true" :checked="item.urgentFlag == 1" />
|
急料标识
|
</label>
|
<label>
|
<checkbox value="FILST_MATERIAL" disabled="true" :checked="item.first == 1" />
|
首次来料
|
</label>
|
|
</checkbox-group>
|
<view style="margin-top: 0;">
|
<view class="uni-content">
|
<view class="uni-title-sub uni-ellipsis-2">
|
<view class="form-group">
|
<label class="form-label lab">创建时间:</label>
|
<input class="form-input" disabled="true" type="text"
|
v-model="item.createDate" />
|
</view>
|
</view>
|
<view class="uni-note">
|
<view class="form-group">
|
<label class="form-label lab">创建人:</label>
|
<input class="form-input" disabled="true" type="text"
|
v-model="item.createUserName" />
|
</view>
|
</view>
|
<view class="uni-note">
|
<view class="form-group">
|
<label class="form-label lab">负责人:</label>
|
<input class="form-input" disabled="true" type="text"
|
v-model="item.userName" />
|
</view>
|
</view>
|
|
|
<view class="uni-title-sub uni-ellipsis-2">
|
<view class="form-group">
|
<label class="form-label lab">物料编码:</label>
|
<input class="form-input" disabled="true" type="text"
|
v-model="item.itemNo" />
|
</view>
|
</view>
|
|
<view class="uni-title-sub uni-ellipsis-2">
|
<view class="form-group">
|
<label class="form-label">物料名称:</label>
|
<input class="form-input" disabled="true" type="text"
|
v-model="item.itemName" />
|
</view>
|
</view>
|
|
<view class="uni-title-sub uni-ellipsis-2">
|
<view class="form-group">
|
<label class="form-label">规格型号:</label>
|
<input class="form-input" disabled="true" type="text"
|
v-model="item.itemModel" />
|
</view>
|
</view>
|
|
<view class="uni-title-sub uni-ellipsis-2">
|
<view class="form-group">
|
<label class="form-label">数量:</label>
|
<input class="form-input" disabled="true" type="text"
|
v-model="item.fcovertQty" />
|
</view>
|
</view>
|
<view class="uni-title-sub uni-ellipsis-2">
|
<view class="form-group">
|
<label class="form-label">供应商:</label>
|
<input class="form-input" disabled="true" type="text"
|
v-model="item.suppName" />
|
</view>
|
</view>
|
<view class="uni-title-sub uni-ellipsis-2">
|
<view class="form-group">
|
<label class="form-label">项目:</label>
|
<input class="form-input" disabled="true" type="text"
|
v-model="item.projectCodes" />
|
</view>
|
</view>
|
<view class="uni-note" style="color: red">
|
<view class="form-group">
|
<label class="form-label lab">上次不良:</label>
|
<input class="form-input" disabled="true" type="text"
|
v-model="item.newFngDesc" />
|
</view>
|
</view>
|
<view class="uni-note" style="color: red">
|
<view class="form-group">
|
<label class="form-label lab">检验人:</label>
|
<input class="form-input" disabled="true" type="text"
|
v-model="item.fcheckBy" />
|
</view>
|
</view>
|
<view class="uni-note" style="color: red">
|
<view class="form-group">
|
<label class="form-label lab">检测结果:</label>
|
<input class="form-input" disabled="true" type="text"
|
v-model="item.fcheckResu" />
|
</view>
|
</view>
|
</view>
|
</view>
|
</template>
|
</uni-list-item>
|
<uni-list-item v-show="item.jycs===0"
|
style="margin-top: 10px;background-color:#EFEFF4;border-radius: 5px;"
|
class="list-item0" direction="column" v-for="item in data" :key="item.id"
|
:to="'Add?id='+item.id+'&lotNo='+item.lotNo+'&releaseNo='+item.releaseNo+'¤t=0'">
|
<!-- 通过header插槽定义列表的标题 -->
|
<template v-slot:header>
|
<view class="form-group uni-title" style="margin-bottom: 0;">
|
<label class="form-label">检验单号:</label>
|
<input class="form-input" disabled="true" type="text" v-model="item.releaseNo" />
|
</view>
|
</template>
|
<!-- 通过body插槽定义列表内容显示 -->
|
<template v-slot:body>
|
|
<view class="uni-title-sub uni-ellipsis-2">
|
<view class="form-group">
|
<label class="form-label lab">到货单号:</label>
|
<input class="form-input" disabled="true" type="text" v-model="item.lotNo" />
|
</view>
|
</view>
|
<checkbox-group style="background-color: white;border-bottom: 1px solid #c7c7c7;">
|
<label>
|
<checkbox value="F_TYPE" disabled="true" :checked="item.ftype == 1" />
|
委外
|
</label>
|
<label>
|
<checkbox value="URGENT_FLAG" disabled="true" :checked="item.urgentFlag == 1" />
|
急料标识
|
</label>
|
<label>
|
<checkbox value="FILST_MATERIAL" disabled="true" :checked="item.first == 1" />
|
首次来料
|
</label>
|
|
</checkbox-group>
|
<view style="margin-top: 0;">
|
<view class="uni-content">
|
<view class="uni-title-sub uni-ellipsis-2">
|
<view class="form-group">
|
<label class="form-label lab">创建时间:</label>
|
<input class="form-input" disabled="true" type="text"
|
v-model="item.createDate" />
|
</view>
|
</view>
|
<view class="uni-note">
|
<view class="form-group">
|
<label class="form-label lab">创建人:</label>
|
<input class="form-input" disabled="true" type="text"
|
v-model="item.createUserName" />
|
</view>
|
</view>
|
<view class="uni-note">
|
<view class="form-group">
|
<label class="form-label lab">负责人:</label>
|
<input class="form-input" disabled="true" type="text"
|
v-model="item.userName" />
|
</view>
|
</view>
|
|
|
<view class="uni-title-sub uni-ellipsis-2">
|
<view class="form-group">
|
<label class="form-label lab">物料编码:</label>
|
<input class="form-input" disabled="true" type="text"
|
v-model="item.itemNo" />
|
</view>
|
</view>
|
|
<view class="uni-title-sub uni-ellipsis-2">
|
<view class="form-group">
|
<label class="form-label">物料名称:</label>
|
<input class="form-input" disabled="true" type="text"
|
v-model="item.itemName" />
|
</view>
|
</view>
|
|
<view class="uni-title-sub uni-ellipsis-2">
|
<view class="form-group">
|
<label class="form-label">规格型号:</label>
|
<input class="form-input" disabled="true" type="text"
|
v-model="item.itemModel" />
|
</view>
|
</view>
|
|
<view class="uni-title-sub uni-ellipsis-2">
|
<view class="form-group">
|
<label class="form-label">数量:</label>
|
<input class="form-input" disabled="true" type="text"
|
v-model="item.fcovertQty" />
|
</view>
|
</view>
|
<view class="uni-title-sub uni-ellipsis-2">
|
<view class="form-group">
|
<label class="form-label">供应商:</label>
|
<input class="form-input" disabled="true" type="text"
|
v-model="item.suppName" />
|
</view>
|
</view>
|
<view class="uni-title-sub uni-ellipsis-2">
|
<view class="form-group">
|
<label class="form-label">项目:</label>
|
<input class="form-input" disabled="true" type="text"
|
v-model="item.projectCodes" />
|
</view>
|
</view>
|
<view class="uni-note" style="color: red">
|
<view class="form-group">
|
<label class="form-label lab">上次不良:</label>
|
<input class="form-input" disabled="true" type="text"
|
v-model="item.newFngDesc" />
|
</view>
|
</view>
|
<view class="uni-note" style="color: red">
|
<view class="form-group">
|
<label class="form-label lab">检验人:</label>
|
<input class="form-input" disabled="true" type="text"
|
v-model="item.fcheckBy" />
|
</view>
|
</view>
|
<view class="uni-note" style="color: red">
|
<view class="form-group">
|
<label class="form-label lab">检测结果:</label>
|
<input class="form-input" disabled="true" type="text"
|
v-model="item.fcheckResu" />
|
</view>
|
</view>
|
</view>
|
</view>
|
</template>
|
</uni-list-item>
|
|
|
</uni-list>
|
<!-- 通过 loadMore 组件实现上拉加载效果,如需自定义显示内容,可参考:https://ext.dcloud.net.cn/plugin?id=29 -->
|
<!-- <uni-load-more v-if="loading || options.status === 'noMore' " :status="options.status" /> -->
|
|
<!-- <view class="fab" @click="handleFabClick">
|
<text class="fab-icon">+</text>
|
</view> -->
|
<view class="plus-button" @click="handleFabClick">
|
+
|
</view>
|
</view>
|
<view v-show="current===1">
|
<uni-list>
|
<!-- to 属性携带参数跳转详情页面,当前只为参考 -->
|
<uni-list-item style="margin-top: 10px;background-color:#EFEFF4;border-radius:5px;"
|
class="list-item" direction="column" v-for="item in data" :key="item.id"
|
:to="'Add?id='+item.id+'&lotNo='+item.lotNo+'&releaseNo='+item.releaseNo+'¤t=1'">
|
<!-- 通过header插槽定义列表的标题 -->
|
<template v-slot:header>
|
<view class="form-group uni-title" style="margin-bottom: 0;">
|
<label class="form-label">检验单号:</label>
|
<input class="form-input" disabled="true" type="text" v-model="item.releaseNo" />
|
</view>
|
</template>
|
<!-- 通过body插槽定义列表内容显示 -->
|
<template v-slot:body>
|
<view class="uni-title-sub uni-ellipsis-2">
|
<view class="form-group">
|
<label class="form-label lab">到货单号:</label>
|
<input class="form-input" disabled="true" type="text" v-model="item.lotNo" />
|
</view>
|
</view>
|
<checkbox-group style="background-color: white;border-bottom: 1px solid #c7c7c7;">
|
<label>
|
<checkbox value="F_TYPE" disabled="true" :checked="item.fType == 1" />
|
委外
|
</label>
|
<label>
|
<checkbox value="URGENT_FLAG" disabled="true" :checked="item.urgentFlag == 1" />
|
急料标识
|
</label>
|
<label>
|
<checkbox value="FILST_MATERIAL" disabled="true" :checked="item.first == 1" />
|
首次来料
|
</label>
|
|
</checkbox-group>
|
|
<view style="margin-top: 0;">
|
<view class="uni-content">
|
<view class="uni-title-sub uni-ellipsis-2">
|
<view class="form-group">
|
<label class="form-label lab">创建时间:</label>
|
<input class="form-input" disabled="true" type="text"
|
v-model="item.createDate" />
|
</view>
|
</view>
|
<view class="uni-note">
|
<view class="form-group">
|
<label class="form-label lab">创建人:</label>
|
<input class="form-input" disabled="true" type="text"
|
v-model="item.createUserName" />
|
</view>
|
</view>
|
|
|
<view class="uni-title-sub uni-ellipsis-2">
|
<view class="form-group">
|
<label class="form-label lab">物料编码:</label>
|
<input class="form-input" disabled="true" type="text"
|
v-model="item.itemNo" />
|
</view>
|
</view>
|
|
<view class="uni-title-sub uni-ellipsis-2">
|
<view class="form-group">
|
<label class="form-label">物料名称:</label>
|
<input class="form-input" disabled="true" type="text"
|
v-model="item.itemName" />
|
</view>
|
</view>
|
|
<view class="uni-title-sub uni-ellipsis-2">
|
<view class="form-group">
|
<label class="form-label">规格型号:</label>
|
<input class="form-input" disabled="true" type="text"
|
v-model="item.itemModel" />
|
</view>
|
</view>
|
|
|
<view class="uni-title-sub uni-ellipsis-2">
|
<view class="form-group">
|
<label class="form-label">数量:</label>
|
<input class="form-input" disabled="true" type="text"
|
v-model="item.fcovertQty" />
|
</view>
|
</view>
|
</view>
|
<view class="uni-title-sub uni-ellipsis-2">
|
<view class="form-group">
|
<label class="form-label">供应商:</label>
|
<input class="form-input" disabled="true" type="text"
|
v-model="item.suppName" />
|
</view>
|
<view class="form-group">
|
<label class="form-label">项目:</label>
|
<input class="form-input" disabled="true" type="text"
|
v-model="item.projectCodes" />
|
</view>
|
<view class="uni-note" style="color: red">
|
<view class="form-group">
|
<label class="form-label lab">上次不良:</label>
|
<input class="form-input" disabled="true" type="text"
|
v-model="item.newFngDesc" />
|
</view>
|
</view>
|
<view class="uni-note" style="color: red">
|
<view class="form-group">
|
<label class="form-label lab">检验人:</label>
|
<input class="form-input" disabled="true" type="text"
|
v-model="item.fcheckBy" />
|
</view>
|
</view>
|
<view class="uni-note" style="color: red">
|
<view class="form-group">
|
<label class="form-label lab">检测结果:</label>
|
<input class="form-input" disabled="true" type="text"
|
v-model="item.fcheckResu" />
|
</view>
|
</view>
|
</view>
|
</view>
|
</template>
|
</uni-list-item>
|
</uni-list>
|
</view>
|
</view>
|
</view>
|
</view>
|
</template>
|
|
<script>
|
export default {
|
components: {},
|
data() {
|
return {
|
items: ['未检验', '已检验'],
|
current: 0,
|
data: [],
|
pageIndex: 1,
|
limit: 20,
|
totalPage: 0,
|
totalCount: 0,
|
noData: false, // 没有更多数据了
|
isLoading: false, // 是否正在加载
|
tipShow: false,
|
searchValue: '',
|
options: ['项目', '物料编号', '物料名称', '供应商', '采购员'], // 替换为您的选项
|
options_user: ['当前', '全部'], // 替换为您的选项
|
selectedText: '',
|
selectedIndex: 0,
|
userIndex:0
|
};
|
},
|
onLoad() {
|
//页面加载时调用的事件
|
this.init();
|
},
|
methods: {
|
init() {
|
|
let result = "未完成";
|
if (this.current === 1) {
|
result = "已完成";
|
}
|
|
if (this.isLoading) return; // 如果正在加载则不继续执行
|
|
this.isLoading = true;
|
|
//获取当前登录的用户
|
let userName = this.$loginInfo.account;
|
//获取搜索条件内容
|
let SearchValue = this.searchValue;
|
|
//页面加载时调用的事件
|
this.$post({
|
url: "/LLJ/getPage",
|
data: {
|
pageIndex: this.pageIndex,
|
limit: this.limit,
|
createUser: userName,
|
result: result,
|
SearchValue: SearchValue,
|
selectedIndex:this.selectedIndex,//下拉框筛选条件
|
userIndex:this.userIndex
|
}
|
}).then(res => {
|
if (this.pageIndex === 1) {
|
// 如果是第一页,直接覆盖原数据
|
this.data = res.data.tbBillList;
|
} else {
|
|
if (res.data.tbBillList.length > 0) {
|
// 如果是下一页,追加新数据
|
this.data = [...this.data, ...res.data.tbBillList];
|
}
|
|
}
|
this.totalCount = res.data.totalCount;
|
this.totalPage = Math.ceil(this.totalCount / this.limit);
|
|
this.noData = this.pageIndex >= this.totalPage;
|
this.isLoading = false; // 结束加载
|
}).catch(() => {
|
this.isLoading = false; // 出现错误时结束加载
|
});
|
},
|
handleFabClick() {
|
uni.navigateTo({
|
url: 'Add?id'
|
});
|
},
|
//搜索框点击事件
|
btnclicked() {
|
this.init();
|
},
|
onClickItem(index) {
|
if (this.current !== index.currentIndex) {
|
this.current = index.currentIndex;
|
this.data = [];
|
this.pageIndex = 1;
|
this.init();
|
}
|
},
|
handlePickerChange(e) {
|
this.selectedIndex = e.detail.value
|
// 触发后续操作
|
this.$emit('selected', this.options[this.selectedIndex])
|
}
|
,
|
userPickerChange(e) {
|
this.userIndex = e.detail.value
|
// 触发后续操作
|
this.$emit('selected', this.options[this.userIndex])
|
}
|
},
|
/**
|
* 下拉刷新回调函数
|
*/
|
onPullDownRefresh() {
|
|
this.pageIndex = 1;
|
//重新执行一遍查询
|
this.init();
|
// this.tipShow = true;
|
//关闭动画
|
uni.stopPullDownRefresh();
|
|
// setTimeout(function () {
|
// this.tipShow = false;
|
// }, 6000);
|
|
},
|
/**
|
* 上拉加载回调函数
|
*/
|
onReachBottom() {
|
if (this.noData || this.isLoading) return;
|
this.pageIndex++;
|
this.init(); // 加载更多数据
|
},
|
onShow() {
|
//每次进入页面都会执行的方法
|
// this.pageIndex = 1;
|
// this.data = [];
|
// //this.current = 0
|
this.init();
|
},
|
async onLoad() {
|
await this.init(); // 自定义的刷新函数
|
}
|
};
|
</script>
|
|
<style lang="scss">
|
@import '@/common/uni-ui.scss';
|
|
.uni-note {
|
margin-top: 0;
|
}
|
|
/* Set the input backgrounds to be gray */
|
.form-input {
|
background-color: #f2f2f2;
|
/* Or any other shade of gray you prefer */
|
}
|
|
/* Ensure automatic adaptation based on page size */
|
.form-group {
|
display: flex;
|
align-items: center;
|
}
|
|
.form-label {
|
margin-bottom: 0;
|
border-bottom: 1px solid #FFFFFF;
|
padding: 5px;
|
font-size: 12px;
|
width: 60px;
|
/* Adjust the font size as per your requirement */
|
}
|
|
.form-input {
|
flex: 1;
|
margin-bottom: 0;
|
border-bottom: 1px solid #c7c7c7;
|
padding: 5px;
|
font-size: 12px;
|
background-color: #FFFFFF;
|
/* Adjust the font size as per your requirement */
|
}
|
|
.plus-button {
|
position: fixed;
|
bottom: 20px;
|
right: 20px;
|
width: 60px;
|
height: 60px;
|
border-radius: 50%;
|
background-color: #007bff;
|
color: #ffffff;
|
text-align: center;
|
line-height: 59px;
|
font-size: 24px;
|
cursor: pointer;
|
z-index: 1000;
|
margin-bottom: 35px;
|
}
|
|
page {
|
display: flex;
|
flex-direction: column;
|
box-sizing: border-box;
|
background-color: #efeff4;
|
min-height: 100%;
|
height: auto;
|
}
|
|
.tips {
|
color: #67c23a;
|
font-size: 14px;
|
line-height: 40px;
|
text-align: center;
|
background-color: #f0f9eb;
|
height: 0;
|
opacity: 0;
|
transform: translateY(-100%);
|
transition: all 0.3s;
|
}
|
|
.tips-ani {
|
transform: translateY(0);
|
height: 40px;
|
opacity: 1;
|
}
|
|
.content {
|
width: 100%;
|
}
|
|
.list-picture {
|
width: 100%;
|
height: 145px;
|
}
|
|
.thumb-image {
|
width: 100%;
|
height: 100%;
|
}
|
|
.ellipsis {
|
display: flex;
|
overflow: hidden;
|
}
|
|
.uni-ellipsis-1 {
|
overflow: hidden;
|
white-space: nowrap;
|
text-overflow: ellipsis;
|
}
|
|
.uni-ellipsis-2 {
|
overflow: hidden;
|
text-overflow: ellipsis;
|
display: -webkit-box;
|
-webkit-line-clamp: 2;
|
-webkit-box-orient: vertical;
|
}
|
|
// 搜索框
|
.search-bar {
|
width: 100%;
|
height: 80rpx;
|
margin-top: 2%;
|
//float: left;
|
}
|
|
.search-bar-box {
|
display: flex;
|
//margin: 0 auto;
|
//margin: 2px 4.8vw 1px 3.8vh;
|
//width: 90vw;
|
height: 50rpx;
|
border: 2px solid #00a8cc;
|
border-radius: 8rpx;
|
}
|
|
.search-span {
|
width: 100rpx;
|
height: 56rpx;
|
margin-top: 6rpx;
|
margin-left: 30rpx;
|
}
|
|
.search-text {
|
width: 100%;
|
margin-top: 10rpx;
|
margin-left: 20rpx;
|
font-size: 30rpx;
|
color: #7f7f81;
|
}
|
|
.search-btn {
|
background-color: #00a8cc;
|
/* Green */
|
color: white;
|
text-align: center;
|
display: inline-block;
|
font-size: 30rpx;
|
width: 120px;
|
height: 50rpx;
|
line-height: 50rpx;
|
border-radius: 5px;
|
letter-spacing: 3rpx;
|
margin: 0px;
|
}
|
|
uni-button {
|
margin: 0px;
|
}
|
|
.custom-picker {
|
border: 2px solid #00a8cc;
|
padding: 12rpx;
|
border-radius: 8rpx;
|
width: 46%;
|
|
}
|
.picker1{
|
float: left;
|
margin-bottom: 3rpx;
|
}
|
.picker2{
|
float: right;
|
margin-bottom: 3rpx;
|
}
|
|
.picker-text {
|
color: #333;
|
}
|
|
.container {
|
margin: 2px 1.8vw 1px 2.8vh;
|
}
|
.arrow-icon{
|
float:right;
|
}
|
.newsTab{
|
margin-top: 45px;
|
}
|
.list-item0{
|
border: 5px solid #0d9ff5;
|
}
|
.list-item1{
|
border: 5px solid #ff0000;
|
}
|
</style>
|