<template>
	<div class="app-container">
		<div v-show="viewState == 1">
			<button-bar ref="btnbar" view-title="订单列表" :btndisabled="btndisabled" @btnhandle="btnHandle" />
			<div class="main-content">
				<div class="searchcon">
					<el-button size="small" class="searchbtn" @click="clicksearchShow">
						{{ searchxianshitit }}
					</el-button>
					<div v-show="isSearchShow" class="search">
						<el-form :inline="true" class="tab-header">
							<el-form-item label="预约开始日期">
								<el-date-picker v-model="page.params.startDate" @change="selectTime1" type="date"
									placeholder="选择日期" format="yyyy-MM-dd" value-format="yyyy-MM-dd"
									style="width: 200px;">
								</el-date-picker>

							</el-form-item>
							<el-form-item label="预约结束日期">
								<el-date-picker v-model="page.params.endDate" @change="selectTime2" type="date"
									placeholder="选择日期" format="yyyy-MM-dd" value-format="yyyy-MM-dd"
									style="width: 200px;">
								</el-date-picker>

							</el-form-item>
							<el-form-item label="所属支行">
								<el-select v-model="page.params.bankSid" filterable class="item_input" clearable
									placeholder="请选择" style="width:100%" @change="bankSelect">
									<el-option v-for="item in bankList" :key="item.name" :label="item.name"
										:value="item.sid">
									</el-option>
								</el-select>
							</el-form-item>

							<el-form-item label="提货门店">
								<el-select v-model="page.params.store" filterable class="item_input" clearable
									placeholder="请选择" style="width:100%" @change="giftPackSelect">
									<el-option v-for="item in giftPackList" :key="item.text" :label="item.text"
										:value="item.text">
									</el-option>
								</el-select>
							</el-form-item>
							
							
							<el-form-item label="卡券类型">
								<el-select v-model="page.params.cardType" filterable class="item_input" clearable
									placeholder="请选择" style="width:100%" @change="cardTypeSelect">
									<el-option v-for="item in cardTypeList" :key="item.text" :label="item.text"
										:value="item.sid">
									</el-option>
								</el-select>
							</el-form-item>
							

						</el-form>
						<div class="btn" style="text-align: center;">
							<el-button type="primary" size="small" icon="el-icon-search"
								@click="dosearch">查询</el-button>
							<el-button type="primary" size="small" icon="el-icon-refresh"
								@click="resetQuery">重置</el-button>
						</div>
					</div>
				</div>
				<!-- Start 项目列表头部 -->
				<div class="listtop">
					<div class="tit">订单列表</div>
				</div>
				<!-- End 项目列表头部 -->
				<!-- Start 项目列表 -->
				<div class="">
					<el-table v-loading="tableLoading" :data="dataList" border style="width: 100%">
						<!-- <el-table-column fixed width="50" type="selection" align="center" /> -->
						<el-table-column fixed width="60" label="序号" type="index" :index="indexMethod" align="center" />
						<el-table-column label="操作" align="center" width="120">
							<template slot-scope="scope">
								<el-button type="primary" size="mini" @click="toRelevancy(scope.row)">明细</el-button>
							</template>
						</el-table-column>
						<el-table-column prop="cardType" label="卡券类型" align="center" />
						<el-table-column prop="reserveDate" label="预约日期" align="center" />
						<el-table-column prop="bankName" label="所属支行" align="center" />
							<el-table-column prop="store" label="提货地点" align="center" />
						<el-table-column prop="serialNumber" label="卡券序列号" align="center" />
						<el-table-column prop="bagName" label="礼包类型" align="center" />
						<el-table-column prop="userName" label="用户名称" align="center" />
						<el-table-column prop="userPhone" label="联系电话" align="center" />
					</el-table>
				</div>
				<!-- End 项目列表 -->
				<div class="pages">
					<div class="tit" />
					<!--  翻页  -->
					<pagination v-show="dataList.length > 0" :total="page.total" :page.sync="page.current"
						:limit.sync="page.size" class="pagination" @pagination="loadList" />
				</div>
			</div>
		</div>
		<!-- End 查询和其列表部分 -->
		<!-- 新增修改部分组件 -->
		<divAdd v-show="viewState == 2 || viewState == 3" ref="divadd" @doback="resetState" @reloadlist="loadList" />
	</div>
</template>

<script>
	import req from '@/api/order/order.js'
	import req2 from '@/api/pickupPoint/pickupPoint.js'
	import ButtonBar from '@/components/ButtonBar'
	import Pagination from '@/components/pagination'
	import pageye from '@/components/pagination/pageye'
	import divAdd from './indexInfo.vue'
	import {
		getBeforeDate
	} from '@/utils/index'
	export default {
		name: 'SupplierBankInfoIndex',
		components: {
			ButtonBar,
			Pagination,
			pageye,
			divAdd,
		},
		data() {
			return {
				btndisabled: false,
				viewState: 1, // 1、列表 2、添加 3、修改 4、查看
				isSearchShow: false,
				searchxianshitit: '显示查询条件',
				tableLoading: false,
				dataList: [],
				btnList: [{
						type: 'success',
						size: 'small',
						icon: 'export',
						btnKey: 'build',
						btnLabel: '导出'
					},
					{
						type: 'info',
						size: 'small',
						icon: 'cross',
						btnKey: 'doClose',
						btnLabel: '关闭'
					}
				],
				page: {
					total: 0, // 默认数据总数
					current: 1, // 默认开始页面
					size: 10, // 每页的数据条数
					params: {
						startDate: "",
						endDate: "",
						store: "",
						bankSid:"",
						cardType:""
					},
				},
				giftPackList: [],
				bankList: [],
				cardTypeList:[
					{
						text :"全部",
						sid:""
					},
					{
						text :"家庭卡",
						sid:"1"
					},
					{
						text :"亲情卡",
						sid:"2"
					},
					{
						text :"企业卡",
						sid:"3"
					},
					
				]
			}
		},
		mounted() {
			this.$refs['btnbar'].setButtonList(this.btnList)
		},
		created() {
			this.getAllStore()
			// this.loadList()
			this.getBankList()
		},
		methods: {
			// 搜索条件效果
			clicksearchShow() {
				this.isSearchShow = !this.isSearchShow
				if (this.isSearchShow) {
					this.searchxianshitit = '隐藏查询条件'
				} else {
					this.searchxianshitit = '显示查询条件'
				}
			},
			btnHandle(btnKey) {
				switch (btnKey) {
					case 'build': // 导出
						this.doBuild()
						break
					case 'doClose':
						this.doClose()
						break
					default:
						break
				}
			},
			selectTime1(val) {

				console.log('selectTime1:', val)
				this.page.params.startDate = val

			},
			selectTime2(val) {

				console.log('selectTime2:', val)
				this.page.params.endDate = val

			},

			giftPackSelect(val) {
				console.log('>>>>>>>>>giftPackSelect', val)
				this.page.params.store = val
			},
			getBankList() {
				req2.bankSelect()
					.then(resp => {
						console.log('>>>>>>>>>getBankList', resp.data)
						this.bankList = resp.data

					})
					.catch(() => {})
			},
			bankSelect(val) {
				console.log('>>>>>>>>>bankSelect', val)
				this.page.params.bankSid = val
			},
			cardTypeSelect(val){
				console.log('>>>>>>>>>cardTypeSelect', val)
				this.page.params.cardType = val
			},
			getAllStore() {
				req.getAllStore().then((resp) => {
					if (resp.success) {
						this.giftPackList = resp.data
					}
				}).catch(() => {})
			},

			loadList() {
				this.tableLoading = true
				req.orderList(this.page).then((resp) => {
					this.tableLoading = false
					if (resp.success) {
						const data = resp.data
						this.page.total = data.total
						this.dataList = data.records
					} else {
						// 根据resp.code进行异常情况处理
						this.dataList = []
						this.page.total = 0
					}
				}).catch(() => {
					this.tableLoading = false
				})
			},

			// 序号
			indexMethod(index) {
				var pagestart = (this.page.current - 1) * this.page.size
				var pageindex = index + 1 + pagestart
				return pageindex
			},
			dosearch() {
				this.page.current = 1
				this.loadList()
			},
			resetQuery() {
				this.page = {
					current: 1,
					size: 10,
					total: 0,
					params: {
						startDate: "",
						endDate: "",
						store: "",
						bankSid:"",
						cardType:""
					},
				}
				this.loadList()
			},

			toRelevancy(row) {
				this.viewState = 3
				this.$refs['divadd'].showEdit(row)
			},
			resetState() {
				this.viewState = 1
			},
			doClose() {
				this.$store.dispatch('tagsView/delView', this.$route)
				this.$router.go(-1)
			},

			// 导出
			doBuild() {
				const loading = this.$loading({
					lock: true,
					text: 'Loading',
					spinner: 'el-icon-loading',
					background: 'rgba(0, 0, 0, 0.7)'
				})


				req.exportExcel(this.page.params).then((resp) => {
					loading.close()
					const blob = new Blob([resp], {
						type: 'application/vnd.ms-excel'
					})
					const fileName = '订单明细_' + this.page.params.startDate + '.xls'
					const elink = document.createElement('a')
					elink.download = fileName
					elink.style.display = 'nonde'
					elink.href = URL.createObjectURL(blob)
					document.body.appendChild(elink)
					elink.click()
					URL.revokeObjectURL(elink.href)
					document.body.removeChild(elink)
				}).catch(() => {
					loading.close()
				})
			},


		}
	}
</script>
<style scoped>
</style>