<template>
	<div>
		<use-table ref="tbl"></use-table>
		<div class="container padding_b_0">
			<!-- <div class="dflex_wrap">
				<div class="dflex_vertical_c margin_r_40 margin_b_20">
					<div class="search_name">导航名称：</div>
					<el-input v-model="req.name" placeholder="请输入" @keyup.enter.native="loadData" @input="loadData"
						class="search_input"></el-input>
				</div>
				<div class="dflex_vertical_c margin_r_40 margin_b_20" v-if="advancedSearch">
					<div class="search_name">跳转地址：</div>
					<el-input v-model="req.url" placeholder="请输入" @keyup.enter.native="loadData" @input="loadData"
						class="search_input"></el-input>
				</div>
				<div class="dflex_vertical_c margin_r_40 margin_b_20" v-if="advancedSearch">
					<div class="search_name">跳转类型：</div>
					<el-select v-model="req.type" class="search_input" @change="loadData">
						<el-option v-for="(item, idx) in typeOptions" :key="idx" :label="item.label"
							:value="item.value"></el-option>
					</el-select>
				</div>
				<div class="dflex_vertical_c margin_r_40 margin_b_20" v-if="advancedSearch">
					<div class="search_name">状态：</div>
					<el-select v-model="req.state" class="search_input" @change="loadData">
						<el-option v-for="(item, idx) in stateOptions" :key="idx" :label="item.label"
							:value="item.value"></el-option>
					</el-select>
				</div>
				<el-button size="mini" class="search_btn margin_b_20 margin_r_40" @click="loadData">搜索</el-button>
				<div class="search_advanced margin_b_20" @click="advancedSearch = !advancedSearch"
					v-if="!advancedSearch">高级筛选</div>
				<div class="search_common margin_b_20" @click="advancedSearch = !advancedSearch" v-if="advancedSearch">
					常用筛选</div>
			</div> -->
		</div>
		<div class="container use-table">
			<div class="dflex_sb margin_b_15">
				<div>
					<el-button class="batch_btn padding0" @click="removes">删除</el-button>
				</div>
				<el-button class="add_btn pos_r padding0" icon="iconfont iconxinzeng" @click="toAdd">新增</el-button>
			</div>
			<el-table :height="tblHeight" :data="tableDatas" @selection-change="selectionChange" highlight-current-row>
				<el-table-column type="selection"></el-table-column>
				<el-table-column label="排序" width="200" align="center">
					<template slot-scope="scope">
						<el-input-number size="small" :min="1" v-model="scope.row.sort" @change="sortChange(scope.row)"
							@blur="sortChange(scope.row)"></el-input-number>
					</template>
				</el-table-column>
				<el-table-column property="name" label="导航名称" align="center"></el-table-column>
				<el-table-column label="分类图片" align="center">
					<template slot-scope="scope">
						<el-image style="width: 70px;height: 70px;" :src="scope.row.iconName || require('static/img/noimage.png')" :preview-src-list="scope.row.iconName"
							fit="contain"></el-image>
					</template>
				</el-table-column>
				<el-table-column label="跳转类型" align="center">
					<template slot-scope="scope">
						<template v-if="scope.row.type==0">不跳转</template>
						<template v-if="scope.row.type==1">跳转页面</template>
						<template v-if="scope.row.type==2">跳转网页</template>
					</template>
				</el-table-column>
				<el-table-column property="url" label="跳转地址" width="250" align="center"></el-table-column>
				<el-table-column property="state" label="状态" align="center">
					<template slot-scope="scope">
						<el-tooltip :content="scope.row.state == '1' ? '点击禁用' : '点击启用'" placement="top"
							:hide-after="1000" :enterable="false" effect="light">
							<el-switch v-model="scope.row.state" active-color="#ff6a6c" inactive-color="#bbb"
								active-value="1" inactive-value="0" @change="stateChange(scope.row)"></el-switch>
						</el-tooltip>
					</template>
				</el-table-column>
				<el-table-column property="remark" label="备注" align="center"></el-table-column>
				<el-table-column label="操作" align="center" fixed="right">
					<template slot-scope="scope">
						<el-tooltip content="编辑" placement="top" :hide-after="1000" :enterable="false" effect="light">
							<el-button type="text" icon="iconfont iconbianji" class="bbb"
								@click="toEdit(scope.row.id)"></el-button>
						</el-tooltip>
						<el-tooltip content="删除" placement="top" :hide-after="1000" :enterable="false" effect="light">
							<el-button type="text" icon="iconfont iconshanchu" class="bbb"
								@click="remove(scope.row.id)"></el-button>
						</el-tooltip>
					</template>
				</el-table-column>
			</el-table>
			<!-- 分页 -->
			<el-pagination :current-page="req.page" :page-sizes="[10, 20, 30, 50, 100]" :page-size="req.rows"
				layout="total, sizes, prev, pager, next, jumper" :total="tableTotal" @size-change="sizeChange"
				@current-change="currentChange"></el-pagination>
		</div>
	</div>
</template>

<script>
	import {
		delfendao
	} from '@/util/loginJie.js'
	const __name = 'usemall-app-category';
	export default {
		data() {
			return {
				advancedSearch: false,
				typeOptions: [{
						value: '',
						label: '全部'
					},
					{
						value: '网页',
						label: '网页'
					},
					{
						value: '页面',
						label: '页面'
					}
				],
				stateOptions: [{
						value: '',
						label: '全部'
					},
					{
						value: '启用',
						label: '启用'
					},
					{
						value: '禁用',
						label: '禁用'
					}
				],
				req: {
					page: 1,
					rows: 10,
					orderby: 'sort asc',
					name: '',
					url: '',
					type: '',
					state: ''
				},
				tblHeight: 0,
				tableDatas: [],
				tableTotal: 0,
				selectDatas: [],
				now_date:'',//更新时间
			};
		},
		methods: {
			loadData() {
				this.$axios.get("/navigation/open/list",
				{
					params:{
						'curPage':this.req.page,
						'pageSize':this.req.rows,
						'order':'asc',
						'orderField':'sort'
					},
					headers:{
					}
				}).then(response => {
					let res = response
					console.log(res)
					if (res.success) {
						res.data.list.forEach((row, idx) => {
							row.imgs = [row.img];
						});
						this.tableDatas = res.data.list;
						this.tableTotal = res.data.totalCount;
					} else {
					}
				}).catch(res =>{
				});	
			},
			toAdd() {
				uni.navigateTo({
					url: `/pages/shop/classify/classify_navigation_add_edit?tab=添加分类`,
					events: {
						refreshData: () => {
							this.loadData();
						}
					}
				});
			},
			toEdit(id) {
				uni.navigateTo({
					url: `/pages/shop/classify/classify_navigation_add_edit?id=${id}&tab=编辑分类`,
					events: {
						refreshData: () => {
							this.loadData();
						}
					}
				});
			},
			remove(id) {
				var data=[id]
				var headers={
					'Content-Type': 'application/json; charset=utf-8',
					"Mall-Token": uni.getStorageSync('token')
				}
				this.$confirm('此操作将永久删除该数据！', '提示', {
					confirmButtonText: '确定',
					cancelButtonText: '取消',
					type: 'warning'
				}).then(() => {
					delfendao(data,headers).then((res) => {
						if (res.success) {
							this.loadData();
						}
					})
				});
			},
			selectionChange(datas) {
				this.selectDatas = datas;
			},
			removes() {
				if (this.selectDatas.length <= 0) {
					this.$message('请勾选需要删除的数据');
					return;
				}

				let data = this.selectDatas.map(x => x.id);
				var headers={
					'Content-Type': 'application/json; charset=utf-8',
					"Mall-Token": uni.getStorageSync('token')
				}

				this.$confirm('此操作将永久删除勾选数据！', '提示', {
					confirmButtonText: '确定',
					cancelButtonText: '取消',
					type: 'warning'
				}).then(() => {
					delfendao(data,headers).then((res) => {
						if (res.success) {
							this.loadData();
						}
					})
				});
			},
			stateChange(row) {
				this.$axios.put("/navigation/admin/update",
				{
					'createBy':row.createBy,//创建人
					'createTime':row.createTime,//创建时间
					'name':row.name,
					'iconName':row.iconName,
					'updateBy':uni.getStorageSync("nickName"),//更新人
					'updateTime':this.now_date,//更新时间
					'remark':row.remark,//备注
					'sort':row.sort,//排序
					'state':row.state,//状态0禁用1启用
					'type':row.type,//跳转类型0不跳转 1跳转页面 2跳转网页
					'url':row.url,//跳转地址type不为0时不能为空
					'id':row.id
				},
				{
					headers:{
						'Mall-Token': uni.getStorageSync("token")
					}
				}).then(response => {
					let res = response
					if (res.success) {
						this.loadData()
					} else {
						alert(res.message)
					}
				})
			},
			sortChange(row) {
				if (row.sort == '') {
					return;
				}

				this.$axios.put("/navigation/admin/update",
				{
					'createBy':row.createBy,//创建人
					'createTime':row.createTime,//创建时间
					'name':row.name,
					'iconName':row.iconName,
					'updateBy':uni.getStorageSync("nickName"),//更新人
					'updateTime':this.now_date,//更新时间
					'remark':row.remark,//备注
					'sort':row.sort,//排序
					'state':row.state,//状态0禁用1启用
					'type':row.type,//跳转类型0不跳转 1跳转页面 2跳转网页
					'url':row.url,//跳转地址type不为0时不能为空
					'id':row.id
				},
				{
					headers:{
						'Mall-Token': uni.getStorageSync("token")
					}
				}).then(response => {
					let res = response
					if (res.success) {
						this.loadData()
					} else {
						alert(res.message)
					}
				})
			},
			sizeChange(size) {
				this.req.rows = size;
				this.loadData();
			},
			currentChange(current) {
				this.req.page = current;
				this.loadData();
			},
			//获取当前时间
			getNowDate() {
			  var _this = this;
			  // this.timer = setInterval(function() {
				var aData = new Date();
				var month = aData.getMonth() < 9 ? "0" + (aData.getMonth() + 1) : aData.getMonth() + 1;
				var date = aData.getDate() <= 9 ? "0" + aData.getDate() : aData.getDate();
				var date2 = aData.getDate() <= 9 ? "0" + (aData.getDate()-1) : (aData.getDate()-1);
				var Hour = aData.getHours() <= 9 ? "0" + (aData.getHours()) : aData.getHours();
				var Miunte = aData.getMinutes() <= 9 ? "0" + (aData.getMinutes()) : aData.getMinutes();
				var Seconds = aData.getSeconds() <= 9 ? "0" + (aData.getSeconds()) : aData.getSeconds();
				// console.log(aData.getTime())
				_this.now_date = aData.getFullYear() + "-" + month + "-" + date + ' '+ Hour +":"+ Miunte +":"+ Seconds;
				// console.log(aData.getFullYear() + "-" + month + "-" + date2)昨天
			  // }, 86400000);
			},
		},
		created() {
			this.loadData();
		},
		updated() {
			if (!this.tblHeight) {
				this.tblHeight = this.$refs.tbl.tblHeight;
			}
		}
	};
</script>

<style></style>
