<template>
	<view>
		<!-- 查询 -->
		<view class="tabs-view">
			<view class="keyword-view clearfix">
				<view class="float_left">
					<u-search
						:show-action="false"
						@clear="searchData()"
						@search="searchData()"
						:clearabled="true"
						placeholder="商品名称/条码/编码/单号/制单人"
						v-model="search_form.search"
					></u-search>
				</view>
				<view class="float_right" @click="openSel('search_show')"><text class="custom-icon custom-icon-shaixuan"></text></view>
			</view>
		</view>
		<!-- 内容 -->
		<view class="list-ul">
			<view class="list-li clearfix" @click="details(item.id)" v-for="(item, index) in outgoing_list" :key="index">
				<view class="title clearfix" >
					<view class="float_left" style="font-size: 28rpx;font-weight: 700;">{{ item.warehouseName || '--' }}</view>
					<view class="float_right">
						<text style="margin-right: 10rpx;" v-if="item.auditStatus === 1" class="warning-status">待审核</text>
						<text style="margin-right: 10rpx;" v-else class="success-status">已审核</text>
						<u-icon name="arrow-right" color="#879BBA" size="28"></u-icon>
					</view>
				</view>
				<view class="list-cont">
					<view class="list-cont-li">日期：{{ $u.timeFormat(item.createTime, 'yyyy-mm-dd') }}</view>
					<view class="list-cont-li">
						单号：{{ item.no }}
					</view>
					<view class="list-cont-li clearfix">
						<view class="float_left">种类：{{ item.num }}</view>
						<view class="float_right">制单人：{{ item.operatorName }}</view>
					</view>
				</view>
			</view>
			<addBtn v-if="$accessCheck($Access.inventoryInfoAddStocktaking)" url="/pagesT/stock/AddInventory"></addBtn>
			<u-popup v-model="search_show" mode="right">
				<view class="search-pop">
					<view class="form-view">
						<u-form label-width="160rpx" label-position="left">
							<u-form-item label-position="top" label="制单日期">
								<view class="date-li">
									<picker mode="date" @change="bindDateStartChange">
										<text class="date-li">{{ search_form.startTime ? $u.timeFormat(search_form.startTime, 'yyyy-mm-dd') : '开始日期' }}</text>
									</picker>
								</view>
								<view class="date-line">-</view>
								<view class="date-li">
									<picker mode="date" @change="bindDateEndChange">
										<text class="date-li">{{ search_form.endTime ? $u.timeFormat(search_form.endTime, 'yyyy-mm-dd') : '结束日期' }}</text>
									</picker>
								</view>
							</u-form-item>
						</u-form>
					</view>

					<view class="search-btn">
						<view class="btn-li" @click="clearValue()">重置</view>
						<view class="btn-li" @click="searchConfirm">确定</view>
					</view>
				</view>
			</u-popup>
			<view v-if="!outgoing_list.length" class="empty-view"><u-empty text="暂无数据" mode="list"></u-empty></view>
			<u-loadmore v-if="outgoing_list.length" :status="load_status" />
		</view>
	</view>
</template>

<script>
export default {
	data() {
		return {
			search_show: false,
			load_status: 'nomore',
			page: 1,
			pageSize: 10,
			total: 0,
			search_form: {
				search: '',
				startTime: '', // 制单开始时间
				endTime: '' // 制单结束时间
			},
			warehouse_name: '',
			outgoing_list: []
		};
	},
	onShow() {
		this.getAllStocktaking();
	},
	onReachBottom() {
		if (this.total / this.pageSize > this.page) {
			this.page += 1;
			this.getData();
		}
	},
	onPullDownRefresh() {
		this.searchData();
	},
	methods: {
		details(id) {
			uni.navigateTo({
				url: '/pagesT/stock/InventoryDetails?id=' + id
			});
		},
		getData() {
			const isKey = this.$utils.isSerch(this.search_form);
			if (isKey) {
				this.searchAllStocktaking();
			} else {
				this.getAllStocktaking();
			}
		},
		openSel(key) {
			this[key] = true;
		},
		bindDateStartChange(e) {
			this.search_form.startTime = this.$utils.timeByTimestamp(e.detail.value + ' 00:00:00');
		},
		bindDateEndChange(e) {
			this.search_form.endTime = this.$utils.timeByTimestamp(e.detail.value + ' 23:59:59');
		},
		// 重置搜索
		clearValue(params) {
			if (!params) {
				this.search_form = {
					startTime: '', // 制单开始时间
					endTime: '' // 制单结束时间
				};
				this.searchConfirm();
			} else {
				this.search_form[params] = '';
			}
		},
		// 搜索确定
		searchConfirm() {
			this.search_show = false;
			this.searchData();
		},
		searchData(){
			this.page = 1;
			this.getData();
		},
		getAllStocktaking() {
			this.load_status = 'loading';
			this.$u.api
				.getAllStocktaking({
					page: this.page,
					pageSize: this.pageSize
				})
				.then(res => {
					if (this.page === 1) {
						this.outgoing_list = res.data;
					} else {
						this.outgoing_list = this.outgoing_list.concat(res.data);
					}
					this.total = res.pageTotal;
					this.load_status = this.$utils.loadStatus(this.page, this.pageSize, this.total);
				});
		},
		searchAllStocktaking() {
			this.load_status = 'loading';
			this.$u.api
				.searchAllStocktaking({
					page: this.page,
					pageSize: this.pageSize,
					search: this.search_form.search,
					start: this.search_form.startTime,
					end: this.search_form.endTime
				})
				.then(res => {
					if (this.page === 1) {
						this.outgoing_list = res.data;
					} else {
						this.outgoing_list = this.outgoing_list.concat(res.data);
					}
					this.total = res.pageTotal;
					this.load_status = this.$utils.loadStatus(this.page, this.pageSize, this.total);
				});
		}
	}
};
</script>

<style lang="scss" scoped>
.tabs-view {
	position: fixed;
	width: 100%;
	top: 0;
	left: 0;
	z-index: 99;
	.keyword-view {
		padding: 20rpx 24rpx 0;
		background-color: #ffffff;
		z-index: 9;
		padding-bottom: 20rpx;
		.float_left {
			width: 640rpx;
		}

		.float_right {
			line-height: 64rpx;
			width: 50rpx;
			text-align: center;
			color: #666666;
		}
	}
}
.list-ul {
	padding-top: 100rpx;
	.list-li {
		width: 710rpx;
		margin: 20rpx auto;
		padding: 0 24rpx 20rpx;
		background-color: #ffffff;
		border-radius: 20rpx;
		.title {
			line-height: 80rpx;
			border-bottom: 1px solid #eeeeee;
			.float_left {
				font-weight: bold;
			}
			.float_rigth {
				.custom-icon-jinru {
					margin-left: 10rpx;
					font-size: 28rpx;
				}
			}
		}
		.list-cont {
			margin-top: 10rpx;
			position: relative;
			.price {
				position: absolute;
				top: 50%;
				transform: translateY(-50%);
				right: 0;
				font-weight: bold;
				color: $uni-color-error;
				.custom-icon-jinru {
					font-size: 28rpx;
					color: #6c6c6c;
					font-weight: 400;
				}
			}
			.list-cont-li {
				line-height: 40rpx;
				font-size: 24rpx;
				color: #666666;
				.mobile {
					color: $uni-color-primary;
				}
			}
		}
	}
}
</style>
