<template>
	<view class="container">
		<view class="list">
			<view class="item" v-for="(item,index) in list" :key="index">
				
				<view class="top flex flex-y-center box-pack-between">
					<view class="name">{{item.name}}</view>
					<view class="flex-y-center">
						<view class="del" @click="del(item.id)">删除</view>
						<switch :checked="item.state==1?true:false" @change="onTypeChange" :data-index="index"
							color="#247EFF" class="type-btn" />
					</view>
				</view>
				
				<view  
					class="content flex flex-y-center" hover-class="nav-hover">
					<view class="cell flex flex-y-center">
						<view class="title">门店：</view>
						<view class="desc">{{item.store_title}}</view>
					</view>
				</view>
				<navigator :url="`/saomaDiancan/editPrinter/editPrinter?id=${item.id}`"
					class="content flex flex-y-center" hover-class="nav-hover">
					<view class="cell flex flex-y-center">
						<view class="title">打印机类型：</view>
						<view class="desc">{{item.type==1?'1-365':item.type==2?'易联云(型号:k4)':
						item.type==3?'飞鹅(型号:FP-58W)':item.type==4?'喜讯(型号:XP58IIQR)': item.type==5?'佳搏(SH584)':
						item.type==6?'芯烨云(XP-T58H)':item.type==7?'飞鹅(型号:FP-N20W)(仅限标签打印)':item.type==8?'商米(型号:NT211)':''
						}}</view>
					</view>
					<view class="cell flex flex-y-center arr-r">
						<view class="title">打印机位置：</view>
						<view class="desc">{{item.location==1?'前台':item.location==2?'后厨':item.location==3?'排队取号':item.location==4?'标签机':''}}</view>
					</view>
				</navigator>
			</view>
			<view class="no-more">没有更多内容了~</view>
		</view>
		<view class="footer-bar">
			<view class="content flex flex-center">
				<navigator :url="`/saomaDiancan/editPrinter/editPrinter?type=${type}`" class="btn">+新增设备</navigator>
			</view>
		</view>
	</view>
</template>

<script>
	export default {
		data() {
			return {
				store_id: "",
				list: [],
				page: 1,
				is_bottom: false,
				type:2
			}
		},
		onLoad(options) {
			this.type=options.type||2;
			this.store_id =  uni.getStorageSync("store_id");
			
		},

		onShow() {
			this.getData(1)
		},

		onReachBottom() {
			if (!this.is_bottom) {
				this.getData(this.page + 1)
			}
		},
		methods: {
			del(id) {
				uni.showModal({
					title: '提示',
					content: '是否要删除？',
					showCancel: true,
					cancelText: '取消',
					confirmText: '确定',
					success: res => {
						if (res.confirm) {
							this.request({
								url: 'Smdcshop/print_delect',
								data: {
									id:id,
								},
							}).then(res => {
								console.log(res, "res")
								if (res.code === 200 || res.code === "200") {
									uni.showToast({
										title: "删除成功",
										icon: "none",
									})
									
									setTimeout(() => {
											this.getData(1)
									}, 2000)
								}
							}).catch((res) => {
								uni.showToast({
									title: res.message,
									icon: "none",
								})
							});
						}
					},
					fail: () => {},
					complete: () => {}
				});
			},

			onTypeChange(e) {
				console.log(e)
				let a = e.detail.value ? 1 : 2;
				this.checked(a, e.currentTarget.dataset.index);
			},

			checked(a, index) {
				this.request({
					url: 'Smdcshop/print_state',
					data: {
						is_show: a,
						id: this.list[index].id,
					},
				}).then(res => {
					if (res.code == "200") {
						uni.showToast({
							title: "修改成功",
							icon: "none",
						})
					}
				}).catch((res) => {
					uni.showToast({
						title: res.message,
						icon: "none",
					})
					this.$nextTick(() => {
						this.list[index].state = 2
					})
				});
			},

			getData(page) {
				if (page == 1) {
					this.list = []
					this.page = 1
					this.is_bottom = false
				}
				this.request({
					url: 'Smdcshop/print_list',
					data: {
						page,
						limit: 10,
						store_id: this.store_id,
						admin_id: uni.getStorageSync("admin_id"),
					}
				}).then(res => {
					if (res.code == 200 && res.data.length) {
						this.list = this.list.concat(res.data)
						this.page = page
					} else {
						this.is_bottom = true
					}
				})
			}

		}
	}
</script>

<style>
	@import url("../static/css/common.css");

	.del {
		height: 44rpx;
		line-height: 44rpx;
		padding: 0 15rpx;
		font-size: 24rpx;
		background-color: #FF5722;
		margin-right: 25rpx;
		color: #fff;
		border-radius: 20rpx;
	}

	page {
		background-color: #F4F5F7;
	}

	.list {
		padding: 30rpx 25rpx;
	}

	.list .item {
		border-radius: 8rpx;
		overflow: hidden;
		padding-left: 30rpx;
		border-left: 8rpx solid #247EFF;
		background-color: #fff;
		margin-bottom: 30rpx;
	}

	.list .item .top {
		height: 80rpx;
		border-bottom: 1rpx solid #f5f5f5;

	}

	.list .item .top .name {
		font-size: 30rpx;
		line-height: 80rpx;
		font-weight: bold;
	}

	.list .item .top .type-btn {
		zoom: 0.7;
		margin-right: 25rpx;
	}

	.list .item .content {
		padding: 20rpx 0 24rpx;
	}

	.list .item .content .cell {
		flex: none;
		width: 50%;
		box-sizing: border-box;
		padding-right: 30rpx;
		font-size: 26rpx;
		line-height: 37rpx;
		color: #666;
	}

	.list .item .content .cell .title {
		color: #99A0AD;
	}
</style>
