<!DOCTYPE html>
<html>

<head>
	<meta charset="utf-8">
	<title>计算单位列表</title>
	<meta name="renderer" content="webkit">
	<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
	<meta name="viewport"
		content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
	<link rel="stylesheet" href="../../layuiadmin/layui/css/layui.css" media="all">
	<link rel="stylesheet" href="../../layuiadmin/style/admin.css" media="all">
	<script>
		// 这里是需要在页面渲染之前执行的代码
		document.addEventListener("DOMContentLoaded", function() {
			
			//获取table默认显示数
			pageCntFirst();
		});
	  </script>
</head>

<body id="body">

	<div class="layui-fluid" style="padding-bottom: 0;">
		<div class="layui-card">
			<div class="layui-form layui-card-header layuiadmin-card-header-auto" style="border-bottom:1px solid #CCC" id="top">
				<div class="layui-form-item">
					<div class="layui-inline">
						<label class="layui-form-label" style="width: 60px;">单位编码</label>
						<div class="layui-input-inline">
							<input type="text" id="UnitNo" name="UnitNo" placeholder="单位编码" autocomplete="off"
								class="layui-input" onkeyup="this.value=this.value.replace(/[, ]/g,'')">
						</div>
					</div>
					<div class="layui-inline">
						<label class="layui-form-label" style="width: 60px;">单位名称</label>
						<div class="layui-input-inline">
							<input type="text" id="UnitName" name="UnitName" placeholder="单位名称" autocomplete="off"
								class="layui-input" onkeyup="this.value=this.value.replace(/[, ]/g,'')">
						</div>
					</div>
					<div class="layui-inline">
						<button class="layui-btn layui-btn-sm layuiadmin-btn-list" lay-submit
							lay-filter="LAY-app-contlist-search">
							<i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>搜索
						</button>
					</div>
					<div class="layui-inline">
						<button style="margin-right: 10px;" class="layui-btn layui-btn-sm layuiadmin-btn-list addClass"
							data-type="add" id="approvalBtn">
							<i class="layui-icon layuiadmin-button-btn">&#xe654;</i>添加
						</button>
					</div>
				</div>
			</div>

			<div id="center"></div>

			<div class="layui-card-body">
				<table id="LAY-app-content-list" lay-filter="LAY-app-content-list"></table>
				 
				<script type="text/html" id="table-content-list">
						<a class="layui-btn layui-btn-normal layui-btn-xs editClass" lay-event="edit"><i
								class="layui-icon layui-icon-edit"></i>编辑</a>
						<a class="layui-btn layui-btn-danger layui-btn-xs delClass" lay-event="del"><i
								class="layui-icon layui-icon-delete"></i>删除</a>
					</script>
			</div>
		</div>
	</div>

	<script src="../../layuiadmin/layui/layui.js"></script>
	<script src="../../js/public.js"></script>
	<script src="../../js/jquery-3.5.1.min.js"></script>
	<script src="../../js/jquery.cookie.js"></script>
	<script type="text/javascript">

	</script>
	<script>
		layui.config({
			base: '../../layuiadmin/' //静态资源所在路径
		}).extend({
			index: 'lib/index' //主入口模块
		}).use(['index', 'table', 'laypage', 'layer'], function () {
			var table = layui.table,
				form = layui.form,
				laypage = layui.laypage,
				layer = layui.layer;
				
			var h1 = GetTableHeight();

			var param = {
				Id: $.cookie('userId')
			}
			var time = "/Date(1641810689570)/".substring(6, 19);


			var url = IP + "/Basis/GetUnitList"
			var where = { 
				UnitNo: $("#UnitNo").val(),
				UnitName: $("#UnitName").val(),
			};
			 
			var tableIns = table.render({
				elem: '#LAY-app-content-list',
				height: h1,
				id: 'LAY-app-content-list',
				url: url,
				method: 'post',
				where: where,
				contentType: 'application/json',
				headers:{ToKen:$.cookie('token')},
				page: true,
				limit: pageCnt, //默认多少页
				limits: pageLimits, //默认数组[10,20,30,40,50]
				cellMinWidth: 80, //全局定义常规单元格的最小宽度,layui 2.2.1 新增
				// even: true,
				done: function () {

					$(function () {
						$(".editClass").hide();
					});
					$(function () {
						$(".delClass").hide();
					});
					sendData(IP + "/Basis/GetRoleRightList", {}, 'get', function (res) {
						if (res.code == 0) { //成功

							for (var k = 0; k < res.data.length; k++) {
								if (res.data[k].MenuName == "编辑单位") {
									$(function () {
										$(".editClass").show();
									});
								}
								if (res.data[k].MenuName == "删除单位") {
									$(function () {
										$(".delClass").show();
									});
								}

							}
						} else { //不成功
							layer.msg('获取信息失败', {
								icon: 2,
								time: 2000 //2秒关闭(如果不配置,默认是3秒)
							}, function () {
								//回调
							});
						}
					});

				},
				cols: [
					[{ 
						title: '序号',
						type: 'numbers',
						width: 65,
						align: 'center',
						fixed: 'left'
					}, {
						field: 'UnitNo',
						title: '单位编码',
						width: 100,
						align: 'center',
					}, {
						field: 'UnitName',
						title: '单位名称',
						align: 'center',
					}, {
						field: 'Abbrev',
						title: '英文缩写',
						align: 'center',
					}, {
						field: 'CreateUserName',
						title: '创建人',
						align: 'center',
					}, {
						field: 'CreateTime',
						title: '创建时间',
						align: 'center',
						width: 200,
						templet: function (d) {
							return formatDate(d.CreateTime);
						}
					}, {
						field: 'UpdateUserName',
						title: '修改人',
						align: 'center',
					}, {
						field: 'UpdateTime',
						title: '修改时间',
						align: 'center',
						width: 200,
						templet: function (d) {
							return formatDate(d.UpdateTime);
						}
					}, {
						title: '操作',
						fixed: 'right',
						width: 178,
						align: 'center',
						toolbar: '#table-content-list'
					}]
				],

			});
			
			//监听搜索
			form.on('submit(LAY-app-contlist-search)', function (data) {
				
				tableIns.reload({
					where: { //设定异步数据接口的额外参数,任意设
						UnitNo: $("#UnitNo").val(),
						UnitName: $("#UnitName").val(),
					},
					page: {
						curr: 1 //重新从第 1 页开始
					}
				});
			});
			// ------------------------------------多删除、新增---------------------------------------------------
			// var $ = layui.$,
			var doing = true;
			active = {
				batchdel: function () {
					var checkStatus = table.checkStatus('LAY-app-content-list'),
						checkData = checkStatus.data; //得到选中的数据
					
					if (checkData.length === 0) {
						return layer.msg('请选择数据');
					}
					layer.confirm('确定删除吗?', function (index) {
						
						var msg = [];
						for (var i = 0; i < checkData.length; i++) {
							// msg.push(checkData[i].Id);
							msg.push(checkData[i].Id)
						}
						console.log(msg);
						var param = {
							ids: msg,
						};
						if (doing) {
							doing = false;
							synData(IP + "/Basis/DelsUnit", param, 'post', function (res) {
								console.log(res);
								if (res.code == 0) { //成功
									layer.msg(res.msg, {
										icon: 1,
										time: 2000 //2秒关闭(如果不配置,默认是3秒)
									}, function () {
										tableIns.reload({
											where: { //设定异步数据接口的额外参数,任意设
												UnitNo: $("#UnitNo").val(),
												UnitName: $("#UnitName").val(),
											},
											page: {
												curr: 1 //重新从第 1 页开始
											}
										});
										doing = true;
									});
								} else { //不成功
									layer.msg(res.msg, {
										icon: 2,
										time: 2000 //2秒关闭(如果不配置,默认是3秒)
									}, function () {
										doing = true;
									});
								}
							});
						}

					});
				},
				add: function () {
					layer.open({
						type: 2,
						title: '添加单位信息',
						content: 'UnitFrom.html',
						maxmin: true,
						area: ['450px', '350px'],
						btn: ['确定', '取消'],
						yes: function (index, layero) {
							var iframeWindow = window['layui-layer-iframe' + index],
								submitID = 'layuiadmin-app-form-submit',
								submit = layero.find('iframe').contents().find('#' + submitID);
							//监听提交
							iframeWindow.layui.form.on('submit(' + submitID + ')', function (
								data) {
								var field = data.field; //获取提交的字段
								console.log(field);
 
								//提交 Ajax 成功后,静态更新表格中的数据
								var param = { 
									UnitNo: field.UnitNo,
									UnitName: field.UnitName,
									Abbrev: field.Abbrev,
								};
								if (doing) {
									doing = false;
									sendData(IP + "/Basis/AddUnit", param, 'post',
										function (res) {
											console.log(res);
											if (res.code == 0) { //成功
												layer.msg(res.msg, {
													icon: 1,
													time: 2000 //2秒关闭(如果不配置,默认是3秒)
												}, function () {
													tableIns.reload({
														where: { //设定异步数据接口的额外参数,任意设
															UnitNo: $("#UnitNo").val(),
															UnitName: $("#UnitName").val(),
														},
														page: {
															curr: 1 //重新从第 1 页开始
														}
													});
													layer.close(index); //关闭弹层
													doing = true;
												});
											} else if(res.code == 1){ //不成功
												layer.msg(res.msg, {
													icon: 2,
													time: 2000 //2秒关闭(如果不配置,默认是3秒)
												}, function () {
													doing = true;
												});
											}else {
												layer.msg(res.statusText, {
													icon: 2,
													time: 2000 //2秒关闭(如果不配置,默认是3秒)
												}, function () {
													doing = true;
												});
											}
										});
								}

								//$.ajax({});
							});
							submit.trigger('click');
						}
					});
				}
			};
			$('.layui-btn.layuiadmin-btn-list').on('click', function () {
				var type = $(this).data('type');
				active[type] ? active[type].call(this) : '';
			});

			//判断是否有按钮权限
			$(function () {
				$(".addClass").hide();
			});
			$(function () {
				$(".delClass").hide();
			});
			sendData(IP + "/Basis/GetRoleRightList", {}, 'get', function (res) {
				if (res.code == 0) { //成功
					for (var k = 0; k < res.data.length; k++) {
						if (res.data[k].MenuName == "添加单位") {
							$(function () {
								$(".addClass").show();
							});
						}
						if (res.data[k].MenuName == "删除单位") {
							$(function () {
								$(".delClass").show();
							});
						}
					}
				} else { //不成功
					layer.msg('获取信息失败', {
						icon: 2,
						time: 2000 //2秒关闭(如果不配置,默认是3秒)
					}, function () {
						//回调
					});
				}
			});





			// ------------------------------------删除、编辑---------------------------------------------------

			table.on('tool(LAY-app-content-list)', function (obj) {
				var data = obj.data;
				 console.log(data );
				if (obj.event === 'del') {
					layer.confirm('确定删除选中的单位?', function (index) {
						
						cusid = data.Id;
						console.log(cusid);

						var param = {
							Id: cusid,
						};
						console.log(param);
						if (doing) {
							doing = false;
							sendData(IP + "/Basis/DelUnit", param, 'post', function (res) {
								console.log(res);
								if (res.code == 0) { //成功
									layer.msg(res.msg, {
										icon: 1,
										time: 2000 //2秒关闭(如果不配置,默认是3秒)
									}, function () {
										tableIns.reload({
											where: { //设定异步数据接口的额外参数,任意设
												UnitNo: $("#UnitNo").val(),
												UnitName: $("#UnitName").val(),
											},
											page: {
												curr: 1 //重新从第 1 页开始
											}
										});
										doing = true;
									});
								} else { //不成功
									layer.msg(res.msg, {
										icon: 2,
										time: 2000 //2秒关闭(如果不配置,默认是3秒)
									},function(){
										doing = true;
									});
								}
							});
						}
					});
				} else if (obj.event === 'edit') {
					cusId = data.Id;
					layer.open({
						type: 2,
						title: '编辑单位信息',
						content: 'UnitFrom.html?id=' + cusId,
						maxmin: true,
						area: ['450px', '350px'],
						btn: ['确定', '取消'],
						yes: function (index, layero) {
							var iframeWindow = window['layui-layer-iframe' + index],
								submitID = 'layuiadmin-app-form-edit',
								submit = layero.find('iframe').contents().find('#' + submitID);
							//监听提交
							iframeWindow.layui.form.on('submit(' + submitID + ')', function (
								data) {
								var field = data.field; //获取提交的字段
								console.log(field);
								
								//提交 Ajax 成功后,静态更新表格中的数据
								var param = {
									Id: cusId,
									UnitName: field.UnitName,
									Abbrev: field.Abbrev,
								};
								if(doing){
									doing = false;
								
									sendData(IP + "/Basis/EditUnit", param, 'post',
										function (res) {
											console.log(res);
											if (res.code == 0) { //成功
												layer.msg("修改成功", {
													icon: 1,
													time: 1000 //2秒关闭(如果不配置,默认是3秒)
												}, function () {
													tableIns.reload({
														where: { //设定异步数据接口的额外参数,任意设
															UnitNo: $("#UnitNo").val(),
															UnitName: $("#UnitName").val(),
														},
														page: {
															curr: 1
														}
													});
													layer.close(index); //关闭弹层
													doing = true;
												});
											} else { //不成功
												layer.msg(res.msg, {
													icon: 2,
													time: 2000 //2秒关闭(如果不配置,默认是3秒)
												}, function () {doing = true; });
											}
										});
								}
								//$.ajax({});
							});
							submit.trigger('click');
						}
					});
				}
			});
		});
	</script>

</body>

</html>