<template>
	<uni-popup ref="popup" @change="change">
		<view class="popup_box">
			<view class="pop_title">
				扫描{{title}}
				<text class="fr" @click="closeScanPopup()">关闭</text>
			</view>
			<view class="pop_tab">
				<!-- 	<view class="uni-flex uni-row">
					<view class="tab_tit tab_tit_active">扫描{{title}}</view>
				</view> -->
				<view class="tab_info">
					<win-com-scan ref="scan" @getScanResult="getScanResult" :placeholder='title' :clearResult="false">
					</win-com-scan>
					<view class="uni-flex">
						<button class="clean_scan_btn" @click="cancelClick()">清空</button>
						<button class="scan_btn" @click="scanClick()">扫描</button>
					</view>
				</view>
			</view>
		</view>
	</uni-popup>
</template>

<script>
	import winComScan from '@/mycomponents/wincom/winComScan.vue'
	export default {
		name: 'winScanByCode',
		components: {
			winComScan
		},
		props: {
			title: {
				type: String,
				default: ''
			}
		},
		data() {
			return {
				code: '',
				isShow: false
			}

		},

		created() {

		},
		methods: {
			openScanPopup() {
				this.$refs.popup.open('bottom')
			},
			closeScanPopup() {
				this.$refs.popup.close()
			},
			getfocus() {
				if (this.isShow) {
					this.$refs.scan.getfocus()
				}
			},
			losefocus() {
				this.$refs.scan.losefocus()
			},

			scanClick() {
				this.$refs.scan.handelScanMsg();
			},
			cancelClick() {
				this.$refs.scan.clearScanValue();
			},
			getScanResult(result) {
				if (result.data.scanType === 'qrcode') {
					this.code = result.data.itemCode;
				} else if (result.data.scanType === 'barcode') {
					this.code = result.data.code;
				}
				this.callBack();
			},
			callBack() {
				this.$refs.scan.clear();
				this.$emit("getScanCode", this.code);
			},
			change(e) {
				this.isShow = e.show
			}
		}
	}
</script>

<style>
</style>