Преглед на файлове

买卖家支付结算调整

hulh преди 8 години
родител
ревизия
3a7593b7c2

+ 2 - 2
src/main/webapp/resources/js/usercenter/app.js

@@ -80,8 +80,8 @@ define([ 'angularAMD', 'ui.router', 'ui-bootstrap', 'ngLocal', 'ngTable', 'commo
 		})).state('pay_center', angularAMD.route({
 			url: '/payCenter',
 			templateUrl: 'static/view/usercenter/forstore/pay_center.html',
-			controller: 'BuyerPayCtrl',
-			controllerUrl: 'app/controllers/forstore/buyer_pay_ctrl'
+			controller: 'payCenterCtrl',
+			controllerUrl: 'app/controllers/forstore/pay_center_ctrl'
 		})).state('my_seek_purchase', angularAMD.route({
 			url: '/seekPurchase',
 			templateUrl: 'static/view/usercenter/forstore/seek_purchase.html',

+ 0 - 750
src/main/webapp/resources/js/usercenter/controllers/forstore/buyer_pay_ctrl.js

@@ -1,750 +0,0 @@
-/**
- *  支付中心控制器
- */
-define(['app/app'], function(app) {
-	'use strict';
-	app.register.controller('BuyerPayCtrl', ['$scope', '$rootScope', 'ngTableParams', 'BaseService', 'bankInfoService', '$filter', 'SessionService', '$modal', 'toaster', 'OrderSimpleInfo', 'Loading', function($scope, $rootScope, ngTableParams, BaseService, bankInfoService, $filter, SessionService, $modal, toaster, OrderSimpleInfo, Loading) {
-		$rootScope.active = 'pay_center';
-
-		var hideBankFilter = $filter("hideBankFilter");
-
-		//历史记录的状态
-		var hiStatus= SessionService.getCookie("buyCenter");
-
-		$scope.status = hiStatus == null ? 'pay-history' : hiStatus;
-
-		//切换银行账户信息,历史记录的状态
-		$scope.toggleStatus = function(status) {
-			if($scope.status != status) {
-				$scope.status = status;
-				SessionService.setCookie('buyCenter', status);
-				loadData();
-			}
-		};
-
-		/**********************************************************************
-		 * 初始化
-		 **********************************************************************/
-
-		/**
-		 * 保存获取的分页数据
-		 */
-		$scope.tradeRecordPage = {};
-
-		$scope.$$record = {};
-
-		$scope.AllOrderInfo = {};
-
-		$scope.param = {};
-
-		$scope.currency = 'ALL';
-
-		$scope.paytype = 'ALL';
-
-		/**
-		 * 使用ngTable 获取支付记录信息
-		 */
-		$scope.tradeRecordTableParams = new ngTableParams({
-			page : 1,
-			count : 30,
-			sorting : {
-				paytime : 'DESC'
-			}
-		}, {
-			total : 0,
-			getData : function ($defer, params) {
-				const param = BaseService.parseParams(params.url());
-				if ($scope.keyword && $scope.keyword.length > 0){
-					param.keyword = $scope.keyword;
-				}
-				if ($scope.currency && $scope.currency != 'ALL'){
-					param.currencyName = $scope.currency;
-				}
-				if ($scope.paytype && $scope.paytype != 'ALL'){
-					param.method = $scope.paytype;
-				}
-				if ($scope.startDate){
-					param.fromDate = $scope.startDate.getTime();
-				}
-				if ($scope.endDate){
-					param.toDate = $scope.endDate.getTime();
-				}
-				//目前直接从订单中获取信息 --支付记录
-				OrderSimpleInfo.getBuyPayRecord(param, function (page) {
-					$scope.tradeRecordPage = page.content;
-					$scope.AllOrderInfo.totalPages = page.totalPages;
-					$scope.param.page = page.number;
-
-
-					$scope.$$record.totalElements = page.totalElements;
-					if(Number(page.totalElements) > 0) {
-						$scope.$$record.start = Number(page.size) * (Number(page.number) - 1) + 1;
-					}else {
-						$scope.$$record.start = 0;
-					}
-					$scope.$$record.end = Number(page.size) * (Number(page.number) - 1) + Number(page.numberOfElements);
-					$scope.acculatePages(page.number, $scope.AllOrderInfo.totalPages);
-				}, function (response) {
-
-				});
-			}
-		});
-
-		$scope.$$bankInfo = {};
-		$scope.bankInfoTableParams = new ngTableParams({
-			page : 1,
-			count : 10,
-			sorting : {
-				num : 'ASC'
-			}
-		},{
-			total : 0,
-			getData : function ($defer, params) {
-				var param = BaseService.parseParams(params.url());
-				bankInfoService.getBuyPersonalBank(param, {}, function(page) {
-					$scope.accounts = page.content;
-
-					$scope.$$bankInfo.totalElements = page.totalElements;
-					if(Number(page.totalElements) > 0) {
-						$scope.$$bankInfo.start = Number(page.size) * (Number(page.number) - 1) + 1;
-					}else {
-						$scope.$$bankInfo.start = 0;
-					}
-					$scope.$$bankInfo.end = Number(page.size) * (Number(page.number) - 1) + Number(page.numberOfElements);
-
-					params.total(page.totalElements);
-					$defer.resolve(page.content);
-				}, function() {
-					toaster.pop('error', '获取账户信息失败');
-				});
-			}
-		});
-
-		$scope.condition = [];
-		var start = {
-			open : false
-		};
-		var end = {
-			open : false
-		};
-		$scope.condition.push(start);
-		$scope.condition.push(end);
-
-		// 打开日期选择框
-		$scope.openDatePicker = function($event, item, openParam, status) {
-			if (status != null) {
-				if (status == 1) {
-					if ($scope.startDate != null) {
-						return;
-					}
-				}
-				if (status == 2) {
-					if ($scope.endDate != null) {
-						return;
-					}
-				}
-			}
-			$event.preventDefault();
-			$event.stopPropagation();
-			openParam == 0 ? $scope.condition[1].open = false : $scope.condition[0].open = false;
-			item[openParam].open = !item[openParam].open;
-		};
-
-		$scope.onDateCondition = function (bool) {
-			var text = '';
-			var datePattern = /^(\d{4})-(\d{2})-(\d{2})$/;
-			if (bool == 1){
-				text = document.getElementById("start").value;
-				if (text != '' && !datePattern.test(text)){
-					// $scope.startDate = text;
-					toaster.pop("info", "请输入正确开始时间格式");
-					return;
-				}
-				if (text != '' && !validateDate(text)){
-					// $scope.startDate = text;
-					toaster.pop("info", "请输入正确开始时间格式");
-					return;
-				}
-				if (!$scope.startDate && text != ''){
-					$scope.startDate = convertTextToDate(text);
-				}
-				if ($scope.startDate && !$scope.endDate){
-					var nowTime = new Date();
-					$scope.endDate = new Date(nowTime.getFullYear(), nowTime.getMonth(), nowTime.getDate());
-				}
-				if ($scope.endDate && $scope.startDate.getTime() > $scope.endDate.getTime()){
-					$scope.endDate = new Date($scope.startDate.getTime() + 86400000);
-				}
-			}else {
-				text = document.getElementById("end").value;
-				if (text != '' && !datePattern.test(text)){
-					// $scope.endDate = text;
-					toaster.pop("info", "请输入正确结束时间格式");
-					return;
-				}
-				if (text != '' && !validateDate(text)){
-					// $scope.endDate = text;
-					toaster.pop("info", "请输入正确结束时间格式");
-					return;
-				}
-				if (!$scope.endDate && text != ''){
-					$scope.endDate = convertTextToDate(text);
-				}
-				if ($scope.startDate && $scope.startDate.getTime() > $scope.endDate.getTime()){
-					$scope.startDate = new Date($scope.endDate.getTime() - 86400000);
-				}
-			}
-		};
-
-		/**
-		 * 将文本转化为日期
-		 * @param value
-		 * @returns {Date}
-		 */
-		var convertTextToDate = function (value) {
-			var date = value;
-			var result = date.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);
-
-			return new Date(result[1], result[3] - 1, result[4]);
-		};
-
-		/**
-		 * 验证日期格式是否正确
-		 * @param value
-		 * @returns {boolean}
-		 */
-		var validateDate = function (value) {
-			var date = value;
-			var result = date.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);
-
-			if (result == null)
-				return false;
-			var d = new Date(result[1], result[3] - 1, result[4]);
-			return (d.getFullYear() == result[1] && (d.getMonth() + 1) == result[3] && d.getDate() == result[4]);
-		};
-
-		var loadAccountData = function() {
-			$scope.bankInfoTableParams.page(1);
-			$scope.bankInfoTableParams.reload();
-		};
-
-		var clearHistoryParams = function () {
-			$scope.keyword = null;
-			$scope.currency = 'ALL';
-			$scope.paytype = 'ALL';
-			$scope.startDate = null;
-			$scope.endDate = null;
-		};
-
-		$scope.filterLoad = function () {
-			loadPayHistory();
-		};
-
-		var loadPayHistory = function () {
-			$scope.tradeRecordTableParams.page(1);
-			$scope.tradeRecordTableParams.reload();
-		};
-
-		$scope.setDefaultAccount = function(id) {
-			bankInfoService.setDefaultAccount({id : id}, function() {
-				toaster.pop('success', '设置成功');
-				loadAccountData();
-			}, function(response) {
-				toaster.pop('error', '设置默认账户失败');
-			})
-		};
-
-		$scope.showDeleteFrame = function (item) {
-			$scope.showDelete = true;
-			$scope.deleteObject = item;
-		};
-
-		$scope.cancelDelete = function () {
-			$scope.showDelete = false;
-			$scope.deleteObject = null;
-		};
-		//删除账户
-		$scope.deleteAccount = function() {
-			if ($scope.deleteObject){
-				bankInfoService.deleteBank({id: $scope.deleteObject.id}, function(data) {
-					if (data){
-						toaster.pop('success', '删除成功');
-						$scope.showDelete = false;
-						loadAccountData();
-					}
-				}, function() {
-					toaster.pop('error', '删除失败');
-				})
-			}
-		};
-
-		//编辑账户
-		$scope.editAccount = function(data) {
-			var modalInstance = $modal.open({
-				templateUrl : 'static/view/common/bankInfoModal.html',
-				controller : 'BankInfoCtrl',
-				resolve : {
-					account : function() {
-						//深拷贝一份
-						return angular.copy(data);
-					}
-				}
-			});
-
-			modalInstance.result.then(function(account) {
-				if(data) {
-					$scope.accounts.splice(data.num - 1, 1, account);
-				}else {//如果是新增。
-					if(account.kind == 1) {
-						$scope.accountStatus='personal';
-					}else if(account.kind == 2) {
-						$scope.accountStatus='enterprise';
-					}
-					loadAccountData();
-				}
-
-			}, function() {
-
-			});
-		};
-
-		//获取数据的方法。
-		var loadData = function() {
-			switch ($scope.status) {
-				case 'pay-info' :
-					clearHistoryParams();
-					loadAccountData();
-					break;
-				case 'pay-history':
-					loadPayHistory();
-					break;
-			}
-		};
-		loadData();
-
-		$scope.search = function () {
-			if (!$scope.startDate && $scope.endDate){
-				toaster.pop("info", "请输入起始日期");
-				return ;
-			}
-			if ($scope.startDate && !$scope.endDate){
-				toaster.pop("info", "请输入结束日期");
-				return ;
-			}
-			loadPayHistory();
-		};
-
-		$scope.exportToExcel = function () {
-			if ($scope.$$record.totalElements == 0) {
-				toaster.pop('info', '当前支付记录为空,无法导出');
-				return ;
-			}
-			exportByAjax();
-		};
-
-		var exportByAjax = function () {
-			var url = 'trade/order/export/payRecord';
-			var strArray = [];
-			if ($scope.keyword && $scope.keyword.length > 0){
-				var wordStr = "keyword=" + $scope.keyword;
-				strArray.push(wordStr);
-			}
-			if ($scope.currency && $scope.currency != 'ALL'){
-				var currencyStr = "currencyName=" + $scope.currency;
-				strArray.push(currencyStr);
-			}
-			if ($scope.paytype && $scope.paytype != 'ALL'){
-				var typeStr = "method=" + $scope.paytype;
-				strArray.push(typeStr);
-			}
-			if ($scope.startDate){
-				var startStr = "fromDate=" + $scope.startDate.getTime();
-				strArray.push(startStr);
-			}
-			if ($scope.endDate){
-				var endStr = "toDate=" + $scope.endDate.getTime();
-				strArray.push(endStr);
-			}
-			if (strArray.length != 0){
-				var str = strArray.join("&");
-				url = url + "?" + str;
-			}
-			var form = $("<form>");   //定义一个form表单
-			form.attr('style', 'display:none');   //在form表单中添加查询参数
-			form.attr('target', '');
-			form.attr('method', 'POST');
-			form.attr('action', url);
-
-			$('body').append(form);  //将表单放置在web中
-			form.submit();
-
-			$scope.$$record.clockID = setInterval(function() {
-				getDownLoadStatus();
-			}, 500);
-		};
-
-		var getDownLoadStatus = function () {
-			Loading.show();
-			$.ajax({
-				url : 'trade/order/export/payRecord',
-				data : {isAjax : true},
-				method : 'POST',
-				dataType : 'json',
-				success : function (data) {
-					if(!data.loading){
-						$scope.$apply(function () {
-							toaster.pop('info', '数据处理完毕,正在下载文件,请稍等。');
-							Loading.hide();
-						});
-						if($scope.$$record.clockID) {
-							clearInterval($scope.$$record.clockID);
-						}
-					}
-				},
-				error : function () {
-					Loading.hide();
-					if($scope.$$record.clockID) {
-						clearInterval($scope.$$record.clockID);
-					}
-				}
-			});
-		};
-
-		/******************根据页数设置翻页的信息********start**************************/
-
-		//输入框监听Enter事件
-		$scope.listenEnter = function () {
-			if(event.keyCode == 13) {
-				$scope.setPage("page", $scope.tradeRecordPage.number);
-			}
-		};
-
-		$scope.setPage = function(type, number) {
-			if(type != 'prev' &&  type != 'page' && type != 'next' && type != 'last' && type != 'first') {
-				return ;
-			};
-			var page = -1;
-			switch (type) {
-				case "page":
-					if(number < 1) {
-						page = 1;
-					}else if(number > $scope.AllOrderInfo.totalPages) {
-						page = $scope.AllOrderInfo.totalPages;
-					}else {
-						page = number;
-					};
-					break;
-				case "prev":
-					if($scope.param.page <= 1) {
-						page = 1;
-					}else {
-						page =$scope.param.page - 1;
-					};
-					break;
-				case "next":
-					if($scope.param.page >= $scope.AllOrderInfo.totalPages) {
-						page = $scope.AllOrderInfo.totalPages
-					}else {
-						page =$scope.param.page + 1;
-					}
-					break;
-				case "first":
-					page = 1;
-					break;
-				case "last":
-					page = $scope.AllOrderInfo.totalPages;
-					break;
-			}
-			if(page == $scope.param.page || page < 1 || page > $scope.AllOrderInfo.totalPages) {
-				$scope.param.currentPage = $scope.param.page;
-				return ;
-			}
-			$scope.param.page = page;
-			$scope.tradeRecordTableParams.page($scope.param.page);
-			$scope.tradeRecordTableParams.reload();
-		};
-
-		//当前页在前段的计算方式
-		$scope.frontSegment = function (currentPage, totalElementPages) {
-			angular.forEach($scope.pages, function (page) {
-				switch (page.number) {
-					case 8:
-						page.type = 'more';
-						page.active = false;
-						break;
-					case 0:
-						if(currentPage == 1) {
-							page.active = false;
-						}
-					default : {
-						page.current = (currentPage == page.number);
-					}
-				}
-			});
-		};
-
-		//当前页在后端计算方式
-		$scope.endSegment = function (currentPage, totalElementPages) {
-			angular.forEach($scope.pages, function (page) {
-				switch (page.number) {
-					case 2:
-						page.active = false;
-						page.type = 'more';
-						break;
-					case 10:
-						if(currentPage == totalElementPages) {
-							page.active = false;
-						}
-						break;
-					case 0:
-					case 1:
-						break;
-					default:
-						if(page.number != totalElementPages) {
-							page.number = totalElementPages - 9 + page.number;
-						}
-						page.current = (currentPage == page.number);
-						break;
-				}
-			});
-		};
-
-		//当前页在中间计算方式
-		$scope.middleSegment = function (currentPage) {
-			angular.forEach($scope.pages, function (page) {
-				switch (page.number) {
-					case 2:
-					case 8:
-						page.type ='more';
-						page.active = false;
-						break;
-					case 3:
-						page.number = currentPage - 2;
-						break;
-					case 4:
-						page.number = currentPage - 1;
-						break;
-					case 5:
-						page.number = currentPage;
-						page.current = true;
-						break;
-					case 6:
-						page.number = currentPage + 1;
-						break;
-					case 7:
-						page.number = currentPage + 2;
-						break;
-				}
-			});
-		}
-
-		//初始化页数信息
-		$scope.initPages = function (totalElementPages) {
-			var pageNum = [];
-			if(totalElementPages == 1) {
-				return ;
-			}else if(totalElementPages < 10) {
-				for(var i = 0; i < totalElementPages + 2; i++) {
-					pageNum.push(i);
-				}
-			}else {
-				pageNum = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
-			}
-			angular.forEach(pageNum, function (number) {
-				var page = {active : true, type : 'page', number : number};
-				if(number == 0) {
-					page.type = 'prev';
-				}else if(number == 1) {
-					page.type = 'first';
-				}else if(number == pageNum.length - 2) {
-					page.type = 'last';
-					page.number = totalElementPages;
-				}else if(number == pageNum.length - 1){
-					page.type = 'next';
-				}
-				$scope.pages.push(page);
-			});
-		}
-
-		//计算页数的方式。
-		$scope.acculatePages = function(currentPage, totalElementPages) {
-			$scope.pages = [];
-			if(totalElementPages < 1)  {
-				return ;
-			}
-			//初始化页面数据
-			$scope.initPages(totalElementPages);
-			if(totalElementPages < 10) {
-				angular.forEach($scope.pages, function (page) {
-					if(page.number == currentPage) {
-						page.current = true;
-					}
-				});
-			}else if(currentPage < 6) {//当期页小于6
-				$scope.frontSegment(currentPage, totalElementPages);
-			}else if(currentPage > totalElementPages - 5) { //当期页在后面
-				$scope.endSegment(currentPage, totalElementPages);
-			}else { //当期页在中间
-				$scope.middleSegment(currentPage);
-			}
-		};
-
-		$rootScope.$on('$stateChangeStart',function(event,toState,toParams,fromState,fromParams){
-			if(fromState.name == 'pay_center' || toState.name == 'pay_center'){
-				SessionService.removeCookie("buyCenter");
-			}
-		});
-	}]);
-
-
-
-	app.register.controller('BankInfoCtrl', ['$scope', '$modalInstance', 'account', 'bankInfoService', 'toaster', function($scope, $modalInstance, account, bankInfoService, toaster){
-
-		/**
-		 * 目前只支持的银行
-		 * @type {string[]}
-		 */
-		$scope.bankList = [
-			'中国银行','中国建设银行','中国工商银行','中国农业银行','交通银行','招商银行','中国民生银行',
-			'兴业银行','中信银行','中国光大银行','广发银行','平安银行','中国邮政储蓄银行','华夏银行','浦发银行'
-		];
-
-		$scope.showList = function () {
-			$scope.showBankFrame = !$scope.showBankFrame;
-			$scope.matchData = true;
-			$scope.resultList = $scope.bankList;
-		};
-
-		$scope.inputBankName = function () {
-			$scope.showBankFrame = true;
-		};
-
-		$scope.fitBankToAccount = function (item) {
-			$scope.account.bankname = item;
-			$scope.showBankFrame = false;
-		};
-
-		$scope.account = account;
-		if($scope.account) {
-			$scope.title = "修改账户";
-		}else {
-			$scope.title = "新增账户";
-			$scope.account = {};
-		}
-
-		var matchArray = function () {
-			$scope.account.bankname = $scope.account.bankname ? $scope.account.bankname : '';
-			$scope.resultList = $scope.bankList.filter(function (data) {
-				if (data.indexOf($scope.account.bankname) >= 0){
-					return data;
-				}
-			});
-			if ($scope.resultList.length > 0){
-				$scope.matchData = true;
-			}else{
-				$scope.matchData = false;
-			}
-		};
-
-		/**
-		 * 验证新增账户格式
-		 * @param num
-		 */
-		$scope.checkAccount = function (num) {
-			var size;
-			if (num == 1){
-				//验证开户银行名称
-				$scope.showBankFrame = true;
-				matchArray();
-			}else if(num == 2){
-				//验证开户支行名称
-				if($scope.account.branchname){
-					size = $scope.account.branchname.replace(/[^\x00-\xff]/g,'**').length;
-					if (size > 40){
-						$scope.branchError = true;
-					}else {
-						$scope.branchError = false;
-					}
-					var telPatt = new RegExp("^[\u2E80-\u9FFF]+$");
-					if (telPatt.test($scope.account.branchname)){
-						$scope.branchPattError = false;
-					}else {
-						$scope.branchPattError = true;
-					}
-				}
-			}else if(num == 3){
-				//验证银行账号
-				if ($scope.account.number){
-					size = $scope.account.number.replace(/[^\x00-\xff]/g,'**').length;
-					if (size > 30){
-						$scope.numberError = true;
-					}else {
-						$scope.numberError = false;
-					}
-					var numPatt = new RegExp("^[0-9]+$");
-					if (numPatt.test($scope.account.number)){
-						$scope.numberPattError = false;
-					}else {
-						$scope.numberPattError = true;
-					}
-					validateRepeat($scope.account.number);
-				}
-			}else if(num == 4){
-				//验证开户名称
-				if ($scope.account.accountname){
-					size = $scope.account.accountname.replace(/[^\x00-\xff]/g,'**').length;
-					if (size > 100){
-						$scope.nameError = true;
-					}else {
-						$scope.nameError = false;
-					}
-				}
-			}
-		};
-
-		var validateRepeat = function (number) {
-			bankInfoService.getCountByNumber({type:1061, number:number}, {}, function (data) {
-				if (data.success){
-					if (data.data != 0){
-						$scope.repeatError = true;
-					}else {
-						$scope.repeatError = false;
-					}
-				}else {
-					toaster.pop("info", data.message);
-				}
-			});
-		};
-
-		$scope.confirm = function() {
-			var account = $scope.account;
-
-			if (!account){
-				toaster.pop('error', '请按要求填写正确的信息');
-				return ;
-			}
-			if (!account.bankname || !account.branchname || !account.number || !account.accountname){
-				toaster.pop('error', '请按要求填写正确的信息');
-				return ;
-			}
-			if (!$scope.matchData || $scope.branchError || $scope.branchPattError || $scope.numberError || $scope.numberPattError ||
-				$scope.nameError || $scope.repeatError){
-				toaster.pop('error', '请按要求填写正确的信息');
-				return ;
-			}
-
-			var method = 'saveBuyPersonalBank'; //不区分个人和企业账户
-			bankInfoService[method].call(null, null, $scope.account, function(data) {
-				toaster.pop('success', '保存成功');
-				$modalInstance.close(data)
-			},function (response) {
-				toaster.pop('warning', '保存信息失败');
-			});
-		};
-
-		$scope.cancel = function() {
-			$modalInstance.dismiss();
-		}
-
-	}]);
-});

+ 440 - 60
src/main/webapp/resources/js/usercenter/controllers/forstore/pay_center_ctrl.js

@@ -3,22 +3,21 @@
  */
 define(['app/app'], function(app) {
 	'use strict';
-	app.register.controller('payCenterCtrl', ['$scope', '$rootScope', 'ngTableParams', 'Ysepay', 'BaseService', 'bankInfoService', '$filter', '$modal', 'toaster', 'OrderSimpleInfo', 'SessionService', function($scope, $rootScope, ngTableParams, Ysepay, BaseService, bankInfoService, $filter, $modal, toaster, OrderSimpleInfo, SessionService) {
+	app.register.controller('payCenterCtrl', ['$scope', '$rootScope', 'ngTableParams', 'BaseService', 'bankInfoService', '$filter', 'SessionService', '$modal', 'toaster', 'OrderSimpleInfo', 'Loading', function($scope, $rootScope, ngTableParams, BaseService, bankInfoService, $filter, SessionService, $modal, toaster, OrderSimpleInfo, Loading) {
 		$rootScope.active = 'pay_center';
 
 		var hideBankFilter = $filter("hideBankFilter");
 
+		//历史记录的状态
+		var hiStatus= SessionService.getCookie("buyCenter");
 
-		//银行账户信息,历史记录的的的状态
-		var hiStatus= SessionService.get('paycenter');
+		$scope.status = hiStatus == null ? 'pay-history' : hiStatus;
 
-		$scope.status = hiStatus == null ? 'pay-info' : hiStatus;
-
-		//切换银行账户信息,历史记录的的的状态
+		//切换银行账户信息,历史记录的状态
 		$scope.toggleStatus = function(status) {
 			if($scope.status != status) {
 				$scope.status = status;
-				SessionService.set('paycenter', status);
+				SessionService.setCookie('buyCenter', status);
 				loadData();
 			}
 		};
@@ -32,16 +31,22 @@ define(['app/app'], function(app) {
 		 */
 		$scope.tradeRecordPage = {};
 
+		$scope.$$record = {};
+
 		$scope.AllOrderInfo = {};
 
 		$scope.param = {};
 
+		$scope.currency = 'ALL';
+
+		$scope.paytype = 'ALL';
+
 		/**
 		 * 使用ngTable 获取支付记录信息
 		 */
 		$scope.tradeRecordTableParams = new ngTableParams({
 			page : 1,
-			count : 10,
+			count : 30,
 			sorting : {
 				paytime : 'DESC'
 			}
@@ -49,43 +54,198 @@ define(['app/app'], function(app) {
 			total : 0,
 			getData : function ($defer, params) {
 				const param = BaseService.parseParams(params.url());
+				if ($scope.keyword && $scope.keyword.length > 0){
+					param.keyword = $scope.keyword;
+				}
+				if ($scope.currency && $scope.currency != 'ALL'){
+					param.currencyName = $scope.currency;
+				}
+				if ($scope.paytype && $scope.paytype != 'ALL'){
+					param.method = $scope.paytype;
+				}
+				if ($scope.startDate){
+					param.fromDate = $scope.startDate.getTime();
+				}
+				if ($scope.endDate){
+					param.toDate = $scope.endDate.getTime();
+				}
 				//目前直接从订单中获取信息 --支付记录
 				OrderSimpleInfo.getBuyPayRecord(param, function (page) {
-					$scope.tradeRecordPage = page.data;
-					$scope.AllOrderInfo.totalPages = $scope.tradeRecordPage.totalPages;
-					$scope.param.page = $scope.tradeRecordPage.number;
-					$scope.acculatePages($scope.tradeRecordPage.number, $scope.tradeRecordPage.totalPages);
+					$scope.tradeRecordPage = page.content;
+					$scope.AllOrderInfo.totalPages = page.totalPages;
+					$scope.param.page = page.number;
+
+
+					$scope.$$record.totalElements = page.totalElements;
+					if(Number(page.totalElements) > 0) {
+						$scope.$$record.start = Number(page.size) * (Number(page.number) - 1) + 1;
+					}else {
+						$scope.$$record.start = 0;
+					}
+					$scope.$$record.end = Number(page.size) * (Number(page.number) - 1) + Number(page.numberOfElements);
+					$scope.acculatePages(page.number, $scope.AllOrderInfo.totalPages);
 				}, function (response) {
+
+				});
+			}
+		});
+
+		$scope.$$bankInfo = {};
+		$scope.bankInfoTableParams = new ngTableParams({
+			page : 1,
+			count : 10,
+			sorting : {
+				num : 'ASC'
+			}
+		},{
+			total : 0,
+			getData : function ($defer, params) {
+				var param = BaseService.parseParams(params.url());
+				bankInfoService.getBuyPersonalBank(param, {}, function(page) {
+					$scope.accounts = page.content;
+
+					$scope.$$bankInfo.totalElements = page.totalElements;
+					if(Number(page.totalElements) > 0) {
+						$scope.$$bankInfo.start = Number(page.size) * (Number(page.number) - 1) + 1;
+					}else {
+						$scope.$$bankInfo.start = 0;
+					}
+					$scope.$$bankInfo.end = Number(page.size) * (Number(page.number) - 1) + Number(page.numberOfElements);
+
+					params.total(page.totalElements);
+					$defer.resolve(page.content);
+				}, function() {
+					toaster.pop('error', '获取账户信息失败');
 				});
-				// Ysepay.findTradeRecordChartOfUser(param, {}, function (page) {
-				// 	$scope.tradeRecordPage = page;
-				// 	if (!page.content) {
-				// 		$scope.tradeRecordPage.content = [];
-				// 	}
-					// angular.forEach($scope.tradeRecordPage.content, function (tradeRecord) {
-					// 	if (tradeRecord.state == '已付款') {
-					// 		tradeRecord.amount = tradeRecord.totalAmount;
-					// 		tradeRecord.recordStatus = '支付成功';
-					// 	} else if (tradeRecord.state == '已退款') {
-					// 		tradeRecord.amount = tradeRecord.refundAmount;
-					// 		tradeRecord.recordStatus = '退款成功';
-					// 	}
-					// 	console.log(tradeRecord);
-					// });
-					// console.log(page);
-				// }, function (resp) {
-				// 	console.log(resp);
-				// });
 			}
 		});
 
+		$scope.condition = [];
+		var start = {
+			open : false
+		};
+		var end = {
+			open : false
+		};
+		$scope.condition.push(start);
+		$scope.condition.push(end);
+
+		// 打开日期选择框
+		$scope.openDatePicker = function($event, item, openParam, status) {
+			// if (status != null) {
+			// 	if (status == 1) {
+			// 		if ($scope.startDate != null) {
+			// 			return;
+			// 		}
+			// 	}
+			// 	if (status == 2) {
+			// 		if ($scope.endDate != null) {
+			// 			return;
+			// 		}
+			// 	}
+			// }
+			$event.preventDefault();
+			$event.stopPropagation();
+			openParam == 0 ? $scope.condition[1].open = false : $scope.condition[0].open = false;
+			item[openParam].open = !item[openParam].open;
+		};
+
+		$scope.onDateCondition = function (bool) {
+			// var text = '';
+			// var datePattern = /^(\d{4})-(\d{2})-(\d{2})$/;
+			if (bool == 1){
+				// text = document.getElementById("start").value;
+				// if (text != '' && !datePattern.test(text)){
+				// 	toaster.pop("info", "请输入正确开始时间格式");
+				// 	return;
+				// }
+				// if (text != '' && !validateDate(text)){
+				// 	toaster.pop("info", "请输入正确开始时间格式");
+				// 	return;
+				// }
+				// if (!$scope.startDate && text != ''){
+				// 	$scope.startDate = convertTextToDate(text);
+				// }
+				if ($scope.startDate && !$scope.endDate){
+					var nowTime = new Date();
+					$scope.endDate = new Date(nowTime.getFullYear(), nowTime.getMonth(), nowTime.getDate());
+				}
+				if ($scope.startDate && $scope.endDate){
+					if ($scope.startDate.getTime() > $scope.endDate.getTime()){
+						$scope.endDate = new Date($scope.startDate.getTime() + 86400000);
+					}
+				}
+			}else {
+				// text = document.getElementById("end").value;
+				// if (text != '' && !datePattern.test(text)){
+				// 	// $scope.endDate = text;
+				// 	toaster.pop("info", "请输入正确结束时间格式");
+				// 	return;
+				// }
+				// if (text != '' && !validateDate(text)){
+				// 	// $scope.endDate = text;
+				// 	toaster.pop("info", "请输入正确结束时间格式");
+				// 	return;
+				// }
+				// if (!$scope.endDate && text != ''){
+				// 	$scope.endDate = convertTextToDate(text);
+				// }
+				if ($scope.startDate && $scope.endDate){
+					if ($scope.startDate.getTime() > $scope.endDate.getTime()){
+						$scope.startDate = new Date($scope.endDate.getTime() - 86400000);
+					}
+				}
+			}
+		};
+
+		/**
+		 * 将文本转化为日期
+		 * @param value
+		 * @returns {Date}
+		 */
+		var convertTextToDate = function (value) {
+			var date = value;
+			var result = date.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);
+
+			return new Date(result[1], result[3] - 1, result[4]);
+		};
+
+		/**
+		 * 验证日期格式是否正确
+		 * @param value
+		 * @returns {boolean}
+		 */
+		var validateDate = function (value) {
+			var date = value;
+			var result = date.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);
+
+			if (result == null)
+				return false;
+			var d = new Date(result[1], result[3] - 1, result[4]);
+			return (d.getFullYear() == result[1] && (d.getMonth() + 1) == result[3] && d.getDate() == result[4]);
+		};
+
 		var loadAccountData = function() {
-			bankInfoService[$scope.getAccountData].call(null,{}, function(data) {
-				$scope.accounts = data;
-			}, function(response) {
-				toaster.pop('error', '获取账户信息失败');
-			});
-		}
+			$scope.bankInfoTableParams.page(1);
+			$scope.bankInfoTableParams.reload();
+		};
+
+		var clearHistoryParams = function () {
+			$scope.keyword = null;
+			$scope.currency = 'ALL';
+			$scope.paytype = 'ALL';
+			$scope.startDate = null;
+			$scope.endDate = null;
+		};
+
+		$scope.filterLoad = function () {
+			loadPayHistory();
+		};
+
+		var loadPayHistory = function () {
+			$scope.tradeRecordTableParams.page(1);
+			$scope.tradeRecordTableParams.reload();
+		};
 
 		$scope.setDefaultAccount = function(id) {
 			bankInfoService.setDefaultAccount({id : id}, function() {
@@ -94,20 +254,31 @@ define(['app/app'], function(app) {
 			}, function(response) {
 				toaster.pop('error', '设置默认账户失败');
 			})
-		}
+		};
+
+		$scope.showDeleteFrame = function (item) {
+			$scope.showDelete = true;
+			$scope.deleteObject = item;
+		};
 
+		$scope.cancelDelete = function () {
+			$scope.showDelete = false;
+			$scope.deleteObject = null;
+		};
 		//删除账户
-		$scope.deleteAccount = function(buyAccount) {
-			var  isSure = confirm('确认删除本银行账户?删除后无法恢复,请谨慎操作');
-			if(isSure){
-				bankInfoService.deleteBank({id: buyAccount.id}, function(data) {
-					toaster.pop('success', '删除成功');
-					loadAccountData();
-				}, function(response) {
+		$scope.deleteAccount = function() {
+			if ($scope.deleteObject){
+				bankInfoService.deleteBank({id: $scope.deleteObject.id}, function(data) {
+					if (data){
+						toaster.pop('success', '删除成功');
+						$scope.showDelete = false;
+						loadAccountData();
+					}
+				}, function() {
 					toaster.pop('error', '删除失败');
 				})
 			}
-		}
+		};
 
 		//编辑账户
 		$scope.editAccount = function(data) {
@@ -126,11 +297,6 @@ define(['app/app'], function(app) {
 				if(data) {
 					$scope.accounts.splice(data.num - 1, 1, account);
 				}else {//如果是新增。
-					if(account.kind == 1) {
-						$scope.accountStatus='personal';
-					}else if(account.kind == 2) {
-						$scope.accountStatus='enterprise';
-					}
 					loadAccountData();
 				}
 
@@ -143,18 +309,103 @@ define(['app/app'], function(app) {
 		var loadData = function() {
 			switch ($scope.status) {
 				case 'pay-info' :
-					$scope.getAccountData = 'getBuyPersonalBank';
-					loadAccountData();
+					clearHistoryParams();
+					// loadAccountData();
 					break;
 				case 'pay-history':
-					$scope.tradeRecordTableParams.page(1);
-					$scope.tradeRecordTableParams.reload();
+					loadPayHistory();
 					break;
 			}
 		};
-
 		loadData();
 
+		$scope.search = function () {
+			if (!$scope.startDate && $scope.endDate){
+				toaster.pop("info", "请输入起始日期");
+				return ;
+			}
+			if ($scope.startDate && !$scope.endDate){
+				toaster.pop("info", "请输入结束日期");
+				return ;
+			}
+			loadPayHistory();
+		};
+
+		$scope.exportToExcel = function () {
+			if ($scope.$$record.totalElements == 0) {
+				toaster.pop('info', '当前支付记录为空,无法导出');
+				return ;
+			}
+			exportByAjax();
+		};
+
+		var exportByAjax = function () {
+			var url = 'trade/order/export/payRecord';
+			var strArray = [];
+			if ($scope.keyword && $scope.keyword.length > 0){
+				var wordStr = "keyword=" + $scope.keyword;
+				strArray.push(wordStr);
+			}
+			if ($scope.currency && $scope.currency != 'ALL'){
+				var currencyStr = "currencyName=" + $scope.currency;
+				strArray.push(currencyStr);
+			}
+			if ($scope.paytype && $scope.paytype != 'ALL'){
+				var typeStr = "method=" + $scope.paytype;
+				strArray.push(typeStr);
+			}
+			if ($scope.startDate){
+				var startStr = "fromDate=" + $scope.startDate.getTime();
+				strArray.push(startStr);
+			}
+			if ($scope.endDate){
+				var endStr = "toDate=" + $scope.endDate.getTime();
+				strArray.push(endStr);
+			}
+			if (strArray.length != 0){
+				var str = strArray.join("&");
+				url = url + "?" + str;
+			}
+			var form = $("<form>");   //定义一个form表单
+			form.attr('style', 'display:none');   //在form表单中添加查询参数
+			form.attr('target', '');
+			form.attr('method', 'POST');
+			form.attr('action', url);
+
+			$('body').append(form);  //将表单放置在web中
+			form.submit();
+
+			$scope.$$record.clockID = setInterval(function() {
+				getDownLoadStatus();
+			}, 500);
+		};
+
+		var getDownLoadStatus = function () {
+			Loading.show();
+			$.ajax({
+				url : 'trade/order/export/payRecord',
+				data : {isAjax : true},
+				method : 'POST',
+				dataType : 'json',
+				success : function (data) {
+					if(!data.loading){
+						$scope.$apply(function () {
+							toaster.pop('info', '数据处理完毕,正在下载文件,请稍等。');
+							Loading.hide();
+						});
+						if($scope.$$record.clockID) {
+							clearInterval($scope.$$record.clockID);
+						}
+					}
+				},
+				error : function () {
+					Loading.hide();
+					if($scope.$$record.clockID) {
+						clearInterval($scope.$$record.clockID);
+					}
+				}
+			});
+		};
 
 		/******************根据页数设置翻页的信息********start**************************/
 
@@ -334,12 +585,42 @@ define(['app/app'], function(app) {
 				$scope.middleSegment(currentPage);
 			}
 		};
-		/******************根据页数设置翻页的信息********end**************************/
+
+		$rootScope.$on('$stateChangeStart',function(event,toState,toParams,fromState,fromParams){
+			if(fromState.name == 'pay_center' || toState.name == 'pay_center'){
+				SessionService.removeCookie("buyCenter");
+			}
+		});
 	}]);
 
 
 
-	app.register.controller('BankInfoCtrl', ['$scope', '$modalInstance', 'account', 'kind', 'bankInfoService', 'toaster', function($scope, $modalInstance, account, kind, bankInfoService, toaster){
+	app.register.controller('BankInfoCtrl', ['$scope', '$modalInstance', 'account', 'bankInfoService', 'toaster', function($scope, $modalInstance, account, bankInfoService, toaster){
+
+		/**
+		 * 目前只支持的银行
+		 * @type {string[]}
+		 */
+		$scope.bankList = [
+			'中国银行','中国建设银行','中国工商银行','中国农业银行','交通银行','招商银行','中国民生银行',
+			'兴业银行','中信银行','中国光大银行','广发银行','平安银行','中国邮政储蓄银行','华夏银行','浦发银行'
+		];
+
+		$scope.showList = function () {
+			$scope.showBankFrame = !$scope.showBankFrame;
+			$scope.matchData = true;
+			$scope.resultList = $scope.bankList;
+		};
+
+		$scope.inputBankName = function () {
+			$scope.showBankFrame = true;
+		};
+
+		$scope.fitBankToAccount = function (item) {
+			$scope.account.bankname = item;
+			$scope.showBankFrame = false;
+		};
+
 		$scope.account = account;
 		if($scope.account) {
 			$scope.title = "修改账户";
@@ -348,16 +629,115 @@ define(['app/app'], function(app) {
 			$scope.account = {};
 		}
 
+		var matchArray = function () {
+			$scope.account.bankname = $scope.account.bankname ? $scope.account.bankname : '';
+			$scope.resultList = $scope.bankList.filter(function (data) {
+				if (data.indexOf($scope.account.bankname) >= 0){
+					return data;
+				}
+			});
+			if ($scope.resultList.length > 0){
+				$scope.matchData = true;
+			}else{
+				$scope.matchData = false;
+			}
+		};
+
+		/**
+		 * 验证新增账户格式
+		 * @param num
+		 */
+		$scope.checkAccount = function (num) {
+			var size;
+			if (num == 1){
+				//验证开户银行名称
+				$scope.showBankFrame = true;
+				matchArray();
+			}else if(num == 2){
+				//验证开户支行名称
+				if($scope.account.branchname){
+					size = $scope.account.branchname.replace(/[^\x00-\xff]/g,'**').length;
+					if (size > 40){
+						$scope.branchError = true;
+					}else {
+						$scope.branchError = false;
+					}
+					var telPatt = new RegExp("^[\u2E80-\u9FFF]+$");
+					if (telPatt.test($scope.account.branchname)){
+						$scope.branchPattError = false;
+					}else {
+						$scope.branchPattError = true;
+					}
+				}
+			}else if(num == 3){
+				//验证银行账号
+				if ($scope.account.number){
+					size = $scope.account.number.replace(/[^\x00-\xff]/g,'**').length;
+					if (size > 30){
+						$scope.numberError = true;
+					}else {
+						$scope.numberError = false;
+					}
+					var numPatt = new RegExp("^[0-9]+$");
+					if (numPatt.test($scope.account.number)){
+						$scope.numberPattError = false;
+					}else {
+						$scope.numberPattError = true;
+					}
+					validateRepeat($scope.account.number);
+				}
+			}else if(num == 4){
+				//验证开户名称
+				if ($scope.account.accountname){
+					size = $scope.account.accountname.replace(/[^\x00-\xff]/g,'**').length;
+					if (size > 100){
+						$scope.nameError = true;
+					}else {
+						$scope.nameError = false;
+					}
+				}
+			}
+		};
+
+		var validateRepeat = function (number) {
+			bankInfoService.getCountByNumber({type:1061, number:number}, {}, function (data) {
+				if (data.success){
+					if (data.data != 0){
+						$scope.repeatError = true;
+					}else {
+						$scope.repeatError = false;
+					}
+				}else {
+					toaster.pop("info", data.message);
+				}
+			});
+		};
+
 		$scope.confirm = function() {
-			var method = 'saveBuyPersonalBank'; //不区分个人和企业账户
+			var account = $scope.account;
+
+			if (!account){
+				toaster.pop('error', '请按要求填写正确的信息');
+				return ;
+			}
+			if (!account.bankname || !account.branchname || !account.number || !account.accountname){
+				toaster.pop('error', '请按要求填写正确的信息');
+				return ;
+			}
+			if (!$scope.matchData || $scope.branchError || $scope.branchPattError || $scope.numberError || $scope.numberPattError ||
+				$scope.nameError || $scope.repeatError){
+				toaster.pop('error', '请按要求填写正确的信息');
+				return ;
+			}
 
+			var method = 'saveBuyPersonalBank'; //不区分个人和企业账户
 			bankInfoService[method].call(null, null, $scope.account, function(data) {
 				toaster.pop('success', '保存成功');
 				$modalInstance.close(data)
 			},function (response) {
 				toaster.pop('warning', '保存信息失败');
 			});
-		}
+		};
 
 		$scope.cancel = function() {
 			$modalInstance.dismiss();

+ 367 - 0
src/main/webapp/resources/js/usercenter/controllers/forstore/pay_center_old_ctrl.js

@@ -0,0 +1,367 @@
+/**
+ *  支付中心控制器 --老版本,弃用
+ */
+define(['app/app'], function(app) {
+	'use strict';
+	app.register.controller('payCenterCtrl', ['$scope', '$rootScope', 'ngTableParams', 'Ysepay', 'BaseService', 'bankInfoService', '$filter', '$modal', 'toaster', 'OrderSimpleInfo', 'SessionService', function($scope, $rootScope, ngTableParams, Ysepay, BaseService, bankInfoService, $filter, $modal, toaster, OrderSimpleInfo, SessionService) {
+		$rootScope.active = 'pay_center';
+
+		var hideBankFilter = $filter("hideBankFilter");
+
+
+		//银行账户信息,历史记录的的的状态
+		var hiStatus= SessionService.get('paycenter');
+
+		$scope.status = hiStatus == null ? 'pay-info' : hiStatus;
+
+		//切换银行账户信息,历史记录的的的状态
+		$scope.toggleStatus = function(status) {
+			if($scope.status != status) {
+				$scope.status = status;
+				SessionService.set('paycenter', status);
+				loadData();
+			}
+		};
+
+		/**********************************************************************
+		 * 初始化
+		 **********************************************************************/
+
+		/**
+		 * 保存获取的分页数据
+		 */
+		$scope.tradeRecordPage = {};
+
+		$scope.AllOrderInfo = {};
+
+		$scope.param = {};
+
+		/**
+		 * 使用ngTable 获取支付记录信息
+		 */
+		$scope.tradeRecordTableParams = new ngTableParams({
+			page : 1,
+			count : 10,
+			sorting : {
+				paytime : 'DESC'
+			}
+		}, {
+			total : 0,
+			getData : function ($defer, params) {
+				const param = BaseService.parseParams(params.url());
+				//目前直接从订单中获取信息 --支付记录
+				OrderSimpleInfo.getBuyPayRecord(param, function (page) {
+					$scope.tradeRecordPage = page.data;
+					$scope.AllOrderInfo.totalPages = $scope.tradeRecordPage.totalPages;
+					$scope.param.page = $scope.tradeRecordPage.number;
+					$scope.acculatePages($scope.tradeRecordPage.number, $scope.tradeRecordPage.totalPages);
+				}, function (response) {
+				});
+				// Ysepay.findTradeRecordChartOfUser(param, {}, function (page) {
+				// 	$scope.tradeRecordPage = page;
+				// 	if (!page.content) {
+				// 		$scope.tradeRecordPage.content = [];
+				// 	}
+					// angular.forEach($scope.tradeRecordPage.content, function (tradeRecord) {
+					// 	if (tradeRecord.state == '已付款') {
+					// 		tradeRecord.amount = tradeRecord.totalAmount;
+					// 		tradeRecord.recordStatus = '支付成功';
+					// 	} else if (tradeRecord.state == '已退款') {
+					// 		tradeRecord.amount = tradeRecord.refundAmount;
+					// 		tradeRecord.recordStatus = '退款成功';
+					// 	}
+					// 	console.log(tradeRecord);
+					// });
+					// console.log(page);
+				// }, function (resp) {
+				// 	console.log(resp);
+				// });
+			}
+		});
+
+		var loadAccountData = function() {
+			bankInfoService[$scope.getAccountData].call(null,{}, function(data) {
+				$scope.accounts = data;
+			}, function(response) {
+				toaster.pop('error', '获取账户信息失败');
+			});
+		}
+
+		$scope.setDefaultAccount = function(id) {
+			bankInfoService.setDefaultAccount({id : id}, function() {
+				toaster.pop('success', '设置成功');
+				loadAccountData();
+			}, function(response) {
+				toaster.pop('error', '设置默认账户失败');
+			})
+		}
+
+		//删除账户
+		$scope.deleteAccount = function(buyAccount) {
+			var  isSure = confirm('确认删除本银行账户?删除后无法恢复,请谨慎操作');
+			if(isSure){
+				bankInfoService.deleteBank({id: buyAccount.id}, function(data) {
+					toaster.pop('success', '删除成功');
+					loadAccountData();
+				}, function(response) {
+					toaster.pop('error', '删除失败');
+				})
+			}
+		}
+
+		//编辑账户
+		$scope.editAccount = function(data) {
+			var modalInstance = $modal.open({
+				templateUrl : 'static/view/common/bankInfoModal.html',
+				controller : 'BankInfoCtrl',
+				resolve : {
+					account : function() {
+						//深拷贝一份
+						return angular.copy(data);
+					}
+				}
+			});
+
+			modalInstance.result.then(function(account) {
+				if(data) {
+					$scope.accounts.splice(data.num - 1, 1, account);
+				}else {//如果是新增。
+					if(account.kind == 1) {
+						$scope.accountStatus='personal';
+					}else if(account.kind == 2) {
+						$scope.accountStatus='enterprise';
+					}
+					loadAccountData();
+				}
+
+			}, function() {
+
+			});
+		};
+
+		//获取数据的方法。
+		var loadData = function() {
+			switch ($scope.status) {
+				case 'pay-info' :
+					$scope.getAccountData = 'getBuyPersonalBank';
+					loadAccountData();
+					break;
+				case 'pay-history':
+					$scope.tradeRecordTableParams.page(1);
+					$scope.tradeRecordTableParams.reload();
+					break;
+			}
+		};
+
+		loadData();
+
+
+		/******************根据页数设置翻页的信息********start**************************/
+
+		//输入框监听Enter事件
+		$scope.listenEnter = function () {
+			if(event.keyCode == 13) {
+				$scope.setPage("page", $scope.tradeRecordPage.number);
+			}
+		};
+
+		$scope.setPage = function(type, number) {
+			if(type != 'prev' &&  type != 'page' && type != 'next' && type != 'last' && type != 'first') {
+				return ;
+			};
+			var page = -1;
+			switch (type) {
+				case "page":
+					if(number < 1) {
+						page = 1;
+					}else if(number > $scope.AllOrderInfo.totalPages) {
+						page = $scope.AllOrderInfo.totalPages;
+					}else {
+						page = number;
+					};
+					break;
+				case "prev":
+					if($scope.param.page <= 1) {
+						page = 1;
+					}else {
+						page =$scope.param.page - 1;
+					};
+					break;
+				case "next":
+					if($scope.param.page >= $scope.AllOrderInfo.totalPages) {
+						page = $scope.AllOrderInfo.totalPages
+					}else {
+						page =$scope.param.page + 1;
+					}
+					break;
+				case "first":
+					page = 1;
+					break;
+				case "last":
+					page = $scope.AllOrderInfo.totalPages;
+					break;
+			}
+			if(page == $scope.param.page || page < 1 || page > $scope.AllOrderInfo.totalPages) {
+				$scope.param.currentPage = $scope.param.page;
+				return ;
+			}
+			$scope.param.page = page;
+			$scope.tradeRecordTableParams.page($scope.param.page);
+			$scope.tradeRecordTableParams.reload();
+		};
+
+		//当前页在前段的计算方式
+		$scope.frontSegment = function (currentPage, totalElementPages) {
+			angular.forEach($scope.pages, function (page) {
+				switch (page.number) {
+					case 8:
+						page.type = 'more';
+						page.active = false;
+						break;
+					case 0:
+						if(currentPage == 1) {
+							page.active = false;
+						}
+					default : {
+						page.current = (currentPage == page.number);
+					}
+				}
+			});
+		};
+
+		//当前页在后端计算方式
+		$scope.endSegment = function (currentPage, totalElementPages) {
+			angular.forEach($scope.pages, function (page) {
+				switch (page.number) {
+					case 2:
+						page.active = false;
+						page.type = 'more';
+						break;
+					case 10:
+						if(currentPage == totalElementPages) {
+							page.active = false;
+						}
+						break;
+					case 0:
+					case 1:
+						break;
+					default:
+						if(page.number != totalElementPages) {
+							page.number = totalElementPages - 9 + page.number;
+						}
+						page.current = (currentPage == page.number);
+						break;
+				}
+			});
+		};
+
+		//当前页在中间计算方式
+		$scope.middleSegment = function (currentPage) {
+			angular.forEach($scope.pages, function (page) {
+				switch (page.number) {
+					case 2:
+					case 8:
+						page.type ='more';
+						page.active = false;
+						break;
+					case 3:
+						page.number = currentPage - 2;
+						break;
+					case 4:
+						page.number = currentPage - 1;
+						break;
+					case 5:
+						page.number = currentPage;
+						page.current = true;
+						break;
+					case 6:
+						page.number = currentPage + 1;
+						break;
+					case 7:
+						page.number = currentPage + 2;
+						break;
+				}
+			});
+		}
+
+		//初始化页数信息
+		$scope.initPages = function (totalElementPages) {
+			var pageNum = [];
+			if(totalElementPages == 1) {
+				return ;
+			}else if(totalElementPages < 10) {
+				for(var i = 0; i < totalElementPages + 2; i++) {
+					pageNum.push(i);
+				}
+			}else {
+				pageNum = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
+			}
+			angular.forEach(pageNum, function (number) {
+				var page = {active : true, type : 'page', number : number};
+				if(number == 0) {
+					page.type = 'prev';
+				}else if(number == 1) {
+					page.type = 'first';
+				}else if(number == pageNum.length - 2) {
+					page.type = 'last';
+					page.number = totalElementPages;
+				}else if(number == pageNum.length - 1){
+					page.type = 'next';
+				}
+				$scope.pages.push(page);
+			});
+		}
+
+		//计算页数的方式。
+		$scope.acculatePages = function(currentPage, totalElementPages) {
+			$scope.pages = [];
+			if(totalElementPages < 1)  {
+				return ;
+			}
+			//初始化页面数据
+			$scope.initPages(totalElementPages);
+			if(totalElementPages < 10) {
+				angular.forEach($scope.pages, function (page) {
+					if(page.number == currentPage) {
+						page.current = true;
+					}
+				});
+			}else if(currentPage < 6) {//当期页小于6
+				$scope.frontSegment(currentPage, totalElementPages);
+			}else if(currentPage > totalElementPages - 5) { //当期页在后面
+				$scope.endSegment(currentPage, totalElementPages);
+			}else { //当期页在中间
+				$scope.middleSegment(currentPage);
+			}
+		};
+		/******************根据页数设置翻页的信息********end**************************/
+	}]);
+
+
+
+	app.register.controller('BankInfoCtrl', ['$scope', '$modalInstance', 'account', 'kind', 'bankInfoService', 'toaster', function($scope, $modalInstance, account, kind, bankInfoService, toaster){
+		$scope.account = account;
+		if($scope.account) {
+			$scope.title = "修改账户";
+		}else {
+			$scope.title = "新增账户";
+			$scope.account = {};
+		}
+
+		$scope.confirm = function() {
+			var method = 'saveBuyPersonalBank'; //不区分个人和企业账户
+
+			bankInfoService[method].call(null, null, $scope.account, function(data) {
+				toaster.pop('success', '保存成功');
+				$modalInstance.close(data)
+			},function (response) {
+				toaster.pop('warning', '保存信息失败');
+			});
+		}
+
+		$scope.cancel = function() {
+			$modalInstance.dismiss();
+		}
+
+	}]);
+});

+ 2 - 2
src/main/webapp/resources/js/vendor/app.js

@@ -519,8 +519,8 @@ define([ 'angularAMD', 'ngLocal', 'common/services', 'common/directives', 'commo
         })).state('pay_center', angularAMD.route({
 			url: '/payCenter',
 			templateUrl: 'static/view/vendor/forstore/pay_center.html',
-			controller: 'VendorPayCtrl',
-			controllerUrl: 'app/controllers/forstore/vendor_pay_ctrl'
+			controller: 'payCenterCtrl',
+			controllerUrl: 'app/controllers/forstore/pay_center_ctrl'
 		})).state('vendor_deliveryRule', angularAMD.route({
 			title : '配送规则',
 			url: '/vendor_deliveryRule',

+ 489 - 147
src/main/webapp/resources/js/vendor/controllers/forstore/pay_center_ctrl.js

@@ -1,121 +1,441 @@
-/**
- * Created by admin on 2017/6/2.
- */
 /**
  *  结算中心控制器
  */
 define(['app/app'], function(app) {
     'use strict';
-    app.register.controller('payCenterCtrl', ['$scope', '$rootScope', 'bankInfoService', 'toaster', '$upload', 'bankTransferService', 'Purchase', '$filter', function($scope, $rootScope, bankInfoService, toaster, $upload, bankTransferService, Purchase, $filter) {
+    app.register.controller('payCenterCtrl', ['$scope', '$rootScope', 'bankInfoService', 'Loading', 'toaster', '$upload', 'ngTableParams', 'BaseService', 'SessionService', 'bankTransferService', 'Purchase', '$filter', function($scope, $rootScope, bankInfoService, Loading, toaster, $upload, ngTableParams, BaseService, SessionService, bankTransferService, Purchase, $filter) {
         $rootScope.active = 'pay_center';
 
-        $scope.param = {};
-        $scope.param.page = 1;
-        $scope.param.count = 5;
-        $scope.param.type='sup';
-        $scope.param.sorting = {};
-        $scope.param.sorting.tranferCreateTime = 'DESC';
-
         // 加密订单的ID过滤器
         var enIdFilter = $filter('EncryptionFilter');
 
-        $scope.$payCenter = {};
-        $scope.$payCenter.tab = "accountTab";
-        //控制删除div显示
-        $scope.$payCenter.deleteDiv = false;
-        //删除id
-        $scope.$payCenter.deleteID = null;
+        //历史记录的状态
+        var hiStatus= SessionService.getCookie('vendorCenter');
 
-        $scope.$payCenter.newAccount = false;
+        $scope.$payCenter = {};
+        $scope.param = {};
 
-        //获取数据的方法;
-        $scope.getMethod = "getSaleEeterpriseBank";
+        $scope.tab = hiStatus == null ? 'paymentRecord' : hiStatus;
+        $scope.$$bankInfo = {};
 
-        $scope.bankInfo = {};
+        $scope.paytype = 'ALL';
+        $scope.$$transfer = {};
 
-        //获取订单数据
-        var getData = function () {
-            if($scope.$payCenter.tab === 'paymentRecode') {//获取支付记录
-                bankTransferService.getVendorBankTransferByMall($scope.param, function (page) {
+        $scope.tradeRecordTableParams = new ngTableParams({
+            page : 1,
+            count : 30,
+            sorting : {
+                transferTime : 'DESC'
+            }
+        },{
+            total : 0,
+            getData : function ($defer, params) {
+                var param = BaseService.parseParams(params.url());
+                if ($scope.keyword && $scope.keyword.length > 0){
+                    param.keyword = $scope.keyword;
+                }
+                if ($scope.startDate){
+                    param.fromDate = $scope.startDate.getTime();
+                }
+                if ($scope.endDate){
+                    param.toDate = $scope.endDate.getTime();
+                }
+                bankTransferService.getVendorBankTransferByMall(param, function (page) {
                     if(page.code == 1) {
-                        $scope.bankTransRecode = page.data.content;
+                        $scope.bankTransRecore = page.data.data.content;
+                        if ($scope.bankTransRecore.length > 0){
+                            $scope.currencySymbol = $scope.bankTransRecore[0].currencyName;
+                        }
+                        var pageObject = page.data.data;
+                        $scope.totalPrice = page.data.total;
                         angular.forEach($scope.bankTransRecode, function (bankT) {
                             bankT.jsonReceive = angular.fromJson(bankT.jsonReceive);
                         });
-
-                        $scope.totalPages = page.data.totalPages;
-                        $scope.param.currentPage = page.data.number;
+                        $scope.totalPages = pageObject.totalPages;
+                        $scope.param.currentPage = pageObject.number;
+                        $scope.totalElements = pageObject.totalElements;
+
+                        if(Number($scope.totalElements) > 0) {
+                            $scope.$$transfer.start = Number(pageObject.size) * (Number(pageObject.number) - 1) + 1;
+                        }else {
+                            $scope.$$transfer.start = 0;
+                        }
+                        $scope.$$transfer.end = Number(pageObject.size) * (Number(pageObject.number) - 1) + Number(pageObject.numberOfElements);
                         //计算页数
-                        $scope.acculatePages(page.data.number, page.data.totalPages);
+                        $scope.acculatePages(pageObject.number, pageObject.totalPages);
                     }else {
                         toaster.pop('info', '获取信息失败:' + page.message);
                     }
-                }, function (response) {
+                }, function () {
                     toaster.pop('error', '获取信息失败');
                 });
-            }else {//获取企业的账户信息
-                bankInfoService[$scope.getMethod](null, function (data) {
-                    $scope.bankInfos = data;
-                }, function (response) {
-                    toaster.pop('error', '获取卖家的账户信息失败');
+            }
+        });
+
+        $scope.bankInfoTableParams = new ngTableParams({
+            page : 1,
+            count : 10,
+            sorting : {
+                num : 'ASC'
+            }
+        },{
+            total : 0,
+            getData : function ($defer, params) {
+                var param = BaseService.parseParams(params.url());
+                bankInfoService.getSaleEeterpriseBank(param, {}, function(page) {
+                    $scope.accounts = page.content;
+
+                    $scope.$$bankInfo.totalElements = page.totalElements;
+                    if(Number(page.totalElements) > 0) {
+                        $scope.$$bankInfo.start = Number(page.size) * (Number(page.number) - 1) + 1;
+                    }else {
+                        $scope.$$bankInfo.start = 0;
+                    }
+                    $scope.$$bankInfo.end = Number(page.size) * (Number(page.number) - 1) + Number(page.numberOfElements);
+
+                    params.total(page.totalElements);
+                    $defer.resolve(page.content);
+                }, function() {
+                    toaster.pop('error', '获取账户信息失败');
                 });
             }
-        }
-        getData();
+        });
+
+        var loadAccountData = function() {
+            $scope.bankInfoTableParams.page(1);
+            $scope.bankInfoTableParams.reload();
+        };
+
+        var loadHistory = function () {
+            $scope.tradeRecordTableParams.page(1);
+            $scope.tradeRecordTableParams.reload();
+        };
+
+        var clearRecordParams = function () {
+            $scope.keyword = null;
+            $scope.startDate = null;
+            $scope.endDate = null;
+        };
+
+        $scope.search = function () {
+            if (!$scope.startDate && $scope.endDate){
+                toaster.pop("info", "请输入起始日期");
+                return ;
+            }
+            if ($scope.startDate && !$scope.endDate){
+                toaster.pop("info", "请输入结束日期");
+                return ;
+            }
+            loadHistory();
+        };
 
+        //获取数据的方法。
+        var loadData = function() {
+            switch ($scope.tab) {
+                case 'paymentRecord' :
+                    loadHistory();
+                    break;
+                case 'accountTab':
+                    clearRecordParams();
+                    // loadAccountData();
+                    break;
+            }
+        };
+        loadData();
 
         //切换tab方法
         $scope.setTab = function (tab) {
-            if($scope.$payCenter.tab !== tab) {
-                $scope.bankInfos = null;
-                $scope.$payCenter.tab = tab;
-                if($scope.$payCenter.tab === 'accountTab') {
-                    // $scope.getMethod = "getSaleEeterpriseBankAudit";
-                }else if($scope.$payCenter.tab === 'accountHis'){
-                    $scope.getMethod = "getSaleEeterpriseBank";
+            if($scope.tab !== tab) {
+                $scope.tab = tab;
+                SessionService.setCookie('vendorCenter', tab);
+                loadData();
+            }
+        };
+
+        $scope.condition = [];
+        var start = {
+            open : false
+        };
+        var end = {
+            open : false
+        };
+        $scope.condition.push(start);
+        $scope.condition.push(end);
+
+        // 打开日期选择框
+        $scope.openDatePicker = function($event, item, openParam, status) {
+            // if (status != null) {
+            //     if (status == 1) {
+            //         if ($scope.startDate != null) {
+            //             return;
+            //         }
+            //     }
+            //     if (status == 2) {
+            //         if ($scope.endDate != null) {
+            //             return;
+            //         }
+            //     }
+            // }
+            $event.preventDefault();
+            $event.stopPropagation();
+            openParam == 0 ? $scope.condition[1].open = false : $scope.condition[0].open = false;
+            item[openParam].open = !item[openParam].open;
+        };
+
+        $scope.onDateCondition = function (bool) {
+            // var text = '';
+            // var datePattern = /^(\d{4})-(\d{2})-(\d{2})$/;
+            if (bool == 1){
+                // text = document.getElementById("start").value;
+                // if (text != '' && !datePattern.test(text)){
+                //     // $scope.startDate = text;
+                //     toaster.pop("info", "请输入正确开始时间格式");
+                //     return;
+                // }
+                // if (text != '' && !validateDate(text)){
+                //     // $scope.startDate = text;
+                //     toaster.pop("info", "请输入正确开始时间格式");
+                //     return;
+                // }
+                // if (!$scope.startDate && text != ''){
+                //     $scope.startDate = convertTextToDate(text);
+                // }
+                if ($scope.startDate && !$scope.endDate){
+                    var nowTime = new Date();
+                    $scope.endDate = new Date(nowTime.getFullYear(), nowTime.getMonth(), nowTime.getDate());
+                }
+                if ($scope.startDate && $scope.endDate){
+                    if ($scope.startDate.getTime() > $scope.endDate.getTime()){
+                        $scope.endDate = new Date($scope.startDate.getTime() + 86400000);
+                    }
+                }
+            }else {
+                // text = document.getElementById("end").value;
+                // if (text != '' && !datePattern.test(text)){
+                //     // $scope.endDate = text;
+                //     toaster.pop("info", "请输入正确结束时间格式");
+                //     return;
+                // }
+                // if (text != '' && !validateDate(text)){
+                //     // $scope.endDate = text;
+                //     toaster.pop("info", "请输入正确结束时间格式");
+                //     return;
+                // }
+                // if (!$scope.endDate && text != ''){
+                //     $scope.endDate = convertTextToDate(text);
+                // }
+                if ($scope.startDate && $scope.endDate){
+                    if ($scope.startDate.getTime() > $scope.endDate.getTime()){
+                        $scope.startDate = new Date($scope.endDate.getTime() - 86400000);
+                    }
                 }
-                getData();
             }
         };
 
+        /**
+         * 将文本转化为日期
+         * @param value
+         * @returns {Date}
+         */
+        var convertTextToDate = function (value) {
+            var date = value;
+            var result = date.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);
+
+            return new Date(result[1], result[3] - 1, result[4]);
+        };
+
+        /**
+         * 验证日期格式是否正确
+         * @param value
+         * @returns {boolean}
+         */
+        var validateDate = function (value) {
+            var date = value;
+            var result = date.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);
+
+            if (result == null)
+                return false;
+            var d = new Date(result[1], result[3] - 1, result[4]);
+            return (d.getFullYear() == result[1] && (d.getMonth() + 1) == result[3] && d.getDate() == result[4]);
+        };
+
         // 文件上传成功之后
-        $scope.change = function(){
-            var text = document.getElementById("upload_text");
-            var dom = document.getElementById("InputFile");
-            var fileName = dom.files[0].name;
-            if (text.value != fileName) {
-                text.value = '';
+        $scope.uploadChange = function(){
+            var fileName = $scope.account.files[0].name;
+            if ($scope.account.attachUrl != fileName) {
+                $scope.account.attachUrl = '';
             }
             var ext,idx;
             idx = fileName.lastIndexOf(".");
             if (idx != -1){
                 ext = fileName.substr(idx+1).toUpperCase();
                 ext = ext.toLowerCase( );
-                // console.log(ext);
-                // alert("ext="+ext);
                 if (ext != 'jpg' && ext != 'png' && ext != 'gif' && ext != 'pdf'){
-                    alert("请上传可支持的格式");
-                    return;
+                    $scope.fileError = true;
+                }else {
+                    $scope.fileError = false;
                 }
             }
-            // console.log(dom.files[0]);
-            var len = dom.files[0].size;
+            var len = $scope.account.files[0].size;
             if (len > 3145728) {
-                // console.log(text.value.length);
-                alert('请勿超过3M');
+                $scope.fileLegError = true;
+            }else {
+                $scope.fileLegError = false;
+            }
+            if($scope.fileError || $scope.fileLegError){
+                $scope.account.attachUrl = '';
+                $scope.account.files = null;
                 return;
             }
-            // console.log(len);
-            text.value = fileName;
+            $scope.account.attachUrl = fileName;
             toaster.pop('success', '上传成功');
         };
 
+        $scope.account = {};
         $scope.newAccount = function () {
-           if($scope.bankInfos.length  > 0) {
-               toaster.pop('info', '目前仅支持邦定一个银行账户信息,如需修改或更换,可把原账户信息删除再重新添加.');
-           }else {
-               $scope.$payCenter.newAccount = true;
-           }
+            $scope.showAddFrame = true;
+        };
+
+        $scope.cancelAdd = function () {
+            $scope.showAddFrame = false;
+            $scope.account = {};
+            $scope.account.files = null;
+        };
+
+        /**
+         * 验证账户格式
+         * @param num
+         */
+        $scope.checkAccount = function (num) {
+            var size;
+            if (num == 1){
+                //验证开户银行名称
+                $scope.showBankFrame = true;
+                matchArray();
+            }else if(num == 2){
+                //验证开户支行名称
+                if($scope.account.branchname){
+                    size = $scope.account.branchname.replace(/[^\x00-\xff]/g,'**').length;
+                    if (size > 40){
+                        $scope.branchError = true;
+                    }else {
+                        $scope.branchError = false;
+                    }
+                    var telPatt = new RegExp("^[\u2E80-\u9FFF]+$");
+                    if (telPatt.test($scope.account.branchname)){
+                        $scope.branchPattError = false;
+                    }else {
+                        $scope.branchPattError = true;
+                    }
+                }
+            }else if(num == 3){
+                //验证银行账号
+                if ($scope.account.number){
+                    size = $scope.account.number.replace(/[^\x00-\xff]/g,'**').length;
+                    if (size > 30){
+                        $scope.numberError = true;
+                    }else {
+                        $scope.numberError = false;
+                    }
+                    var numPatt = new RegExp("^[0-9]+$");
+                    if (numPatt.test($scope.account.number)){
+                        $scope.numberPattError = false;
+                    }else {
+                        $scope.numberPattError = true;
+                    }
+                    validateRepeat($scope.account.number);
+                }
+            }else if(num == 4){
+                //验证开户名称
+                if ($scope.account.accountname){
+                    size = $scope.account.accountname.replace(/[^\x00-\xff]/g,'**').length;
+                    if (size > 100){
+                        $scope.nameError = true;
+                    }else {
+                        $scope.nameError = false;
+                    }
+                }
+            }
+        };
+
+        var validateRepeat = function (number) {
+            bankInfoService.getCountByNumber({type:1063,number:number}, {}, function (data) {
+                if (data.success){
+                    if (data.data != 0){
+                        $scope.repeatError = true;
+                    }else {
+                        $scope.repeatError = false;
+                    }
+                }else {
+                    toaster.pop("info", data.message);
+                }
+            });
+        };
+
+        $scope.reuseAccount = function (item) {
+            $scope.showReuseFrame = true;
+            $scope.reuseObject = item;
+        };
+
+        $scope.cancelReuse = function () {
+            $scope.showReuseFrame = false;
+        };
+
+        $scope.ensureReuse = function () {
+            if(!$scope.reuseObject){
+                toaster.pop("info", "请选择重新使用的账户");
+            }
+            bankInfoService.setDefaultAccount({id:$scope.reuseObject.id},{},function (data) {
+                toaster.pop("info", "重新使用成功");
+                $scope.reuseObject = {};
+                $scope.showReuseFrame = false;
+                loadAccountData();
+            },function () {
+                toaster.pop("info", "重新使用失败");
+            })
+        };
+
+        $scope.ensureAddAccount = function () {
+            var account = $scope.account;
+
+            if (!account){
+                toaster.pop('error', '请按要求填写正确的信息');
+                return ;
+            }
+            if (!account.bankname || !account.branchname || !account.number ||
+                !account.accountname || !account.attachUrl){
+                toaster.pop('error', '请按要求填写正确的信息');
+                return ;
+            }
+            if (!$scope.matchData || $scope.branchError || $scope.branchPattError || $scope.numberError || $scope.numberPattError ||
+                $scope.nameError || $scope.repeatError || $scope.fileError || $scope.fileLegError){
+                toaster.pop('error', '请按要求填写正确的信息');
+                return ;
+            }
+
+            var file = null;
+            if($scope.account.files && $scope.account.files[0]) {
+                file = $scope.account.files[0];
+            }
+            $upload.upload({
+                url: 'trade/bankInfo/save/enterprise',
+                file: file,
+                method: 'POST',
+                params : {type : 'sup'},
+                data: {
+                    bankInfo: $scope.account
+                }
+            }).success(function(data){
+                if(data){
+                    $scope.showAddFrame = false;
+                    $scope.account = {};
+                    $scope.account.files = null;
+                    toaster.pop('success', '保存成功');
+                    loadAccountData();
+                }
+            }).error(function(){
+                toaster.pop('error', "保存账户信息失败");
+            });
         };
 
         //删除账户
@@ -126,15 +446,12 @@ define(['app/app'], function(app) {
             }else {
                 toaster.pop('info', '请选择要删除的信息');
             }
-        }
-
+        };
 
-        //取消删除的操作
-        $scope.cancleDelete = function () {
+        $scope.cancelDelete = function () {
             $scope.$payCenter.deleteDiv = false;
             $scope.$payCenter.deleteID = null;
-        }
-
+        };
 
         //确认删除账户信息
         $scope.confirmDelete = function () {
@@ -146,95 +463,113 @@ define(['app/app'], function(app) {
                 toaster.pop('success', '删除账户成功');
                 $scope.$payCenter.deleteDiv = false;
                 $scope.$payCenter.deleteID = null;
-                getData();
+                loadAccountData();
             }, function() {
                 toaster.pop('error', '删除失败');
             })
-        }
-
-        //观察是否已经选中文件了
-        $scope.$watch('bankInfo.files', function (newValue, oldValue, scope) {
-            var dom = document.getElementById('upload_text');
-            if (dom) {
-                var str = dom.value;
-                // console.log(str.length);
-            }
-            if(newValue && newValue.length != 0 && str && str.length > 0) {
-                $scope.$payCenter.fileVal = true;
-            }else {
-                $scope.$payCenter.fileVal = false;
-            }
-        });
+        };
 
         /**
-         * 验证企业名称和开户银行
-         * @param name
+         * 目前只支持的银行
+         * @type {string[]}
          */
-        $scope.validateName = function (name, index) {
-            if(name) {
-                if(index == 1) {
-                    $scope.$payCenter.accountNameVal = true;
-                }else {
-                    $scope.$payCenter.bankNameVal = true;
-                }
-            }else {
-                if(index == 1) {
-                    $scope.$payCenter.accountNameVal = false;
-                }else {
-                    $scope.$payCenter.bankNameVal = false;
+        $scope.bankList = [
+            '中国银行','中国建设银行','中国工商银行','中国农业银行','交通银行','招商银行','中国民生银行',
+            '兴业银行','中信银行','中国光大银行','广发银行','平安银行','中国邮政储蓄银行','华夏银行','浦发银行'
+        ];
+
+        var matchArray = function () {
+            $scope.account.bankname = $scope.account.bankname ? $scope.account.bankname : '';
+            $scope.resultList = $scope.bankList.filter(function (data) {
+                if (data.indexOf($scope.account.bankname) >= 0){
+                    return data;
                 }
+            });
+            if ($scope.resultList.length > 0){
+                $scope.matchData = true;
+            }else{
+                $scope.matchData = false;
             }
+        };
 
-        }
+        $scope.fitBankToAccount = function (item) {
+            $scope.account.bankname = item;
+            $scope.showBankFrame = false;
+        };
 
-        /**
-         * 验证银行账号信息是否正确
-         * @param number
-         * number 全部是数字,并且小于 31位 和 大于 7位数字
-         */
-        $scope.validateNumber = function (number) {
-            if(number) {
-                if(/^\d+$/.test(number)) {
-                    if(number.length < 31 && number.length > 7) {
-                        $scope.$payCenter.numberVal = true;
-                        return ;
-                    }
-                }
-            }
-            $scope.$payCenter.numberVal = false;
+        $scope.showList = function () {
+            $scope.showBankFrame = !$scope.showBankFrame;
+            $scope.matchData = true;
+            $scope.resultList = $scope.bankList;
         };
 
-        //取消新增账户
-        $scope.cancle = function () {
-            $scope.$payCenter.newAccount = false;
-            $scope.bankInfo = {};
-            $scope.bankInfo.files = null;
-        }
+        $scope.exportToExcel = function () {
+            if ($scope.totalElements == 0) {
+                toaster.pop('info', '当前收款记录为空,无法导出');
+                return ;
+            }
+            exportByAjax();
+        };
 
-        //保存账户信息
-        $scope.confirm = function () {
-            var file = null;
-            if($scope.bankInfo.files&&$scope.bankInfo.files[0]) {
-                file = $scope.bankInfo.files[0];
+        var exportByAjax = function () {
+            var url = 'trade/transfer/export/bankTransfer';
+            var strArray = [];
+            if ($scope.keyword && $scope.keyword.length > 0){
+                var wordStr = "keyword=" + $scope.keyword;
+                strArray.push(wordStr);
             }
-            $upload.upload({
-                url: 'trade/bankInfo/save/enterprise',
-                file: file,
-                method: 'POST',
-                params : {type : 'sup'},
-                data: {
-                    bankInfo: $scope.bankInfo
+            if ($scope.startDate){
+                var startStr = "fromDate=" + $scope.startDate.getTime();
+                strArray.push(startStr);
+            }
+            if ($scope.endDate){
+                var endStr = "toDate=" + $scope.endDate.getTime();
+                strArray.push(endStr);
+            }
+            if (strArray.length != 0){
+                var str = strArray.join("&");
+                url = url + "?" + str;
+            }
+            var form = $("<form>");   //定义一个form表单
+            form.attr('style', 'display:none');   //在form表单中添加查询参数
+            form.attr('target', '');
+            form.attr('method', 'POST');
+            form.attr('action', url);
+
+            $('body').append(form);  //将表单放置在web中
+            form.submit();
+
+            $scope.$$transfer.clockID = setInterval(function() {
+                getDownLoadStatus();
+            }, 500);
+        };
+
+        var getDownLoadStatus = function () {
+            Loading.show();
+            $.ajax({
+                url : 'trade/transfer/export/bankTransfer',
+                data : {isAjax : true},
+                method : 'POST',
+                dataType : 'json',
+                success : function (data) {
+                    if(!data.loading){
+                        $scope.$apply(function () {
+                            toaster.pop('info', '数据处理完毕,正在下载文件,请稍等。');
+                            Loading.hide();
+                        });
+                        if($scope.$$transfer.clockID) {
+                            clearInterval($scope.$$transfer.clockID);
+                        }
+                    }
+                },
+                error : function () {
+                    Loading.hide();
+                    if($scope.$$transfer.clockID) {
+                        clearInterval($scope.$$transfer.clockID);
+                    }
                 }
-            }).success(function(data){
-                $scope.$payCenter.newAccount = false;
-                $scope.bankInfo = {};
-                $scope.bankInfo.files = null;
-                toaster.pop('success', '保存成功');
-                getData();
-            }).error(function(data){
-                toaster.pop('error', "保存账户信息失败");
             });
-        }
+        };
 
         //获取传入买家订单获取采购单的信息
         $scope.goToPurchaseDetail = function (orderNum) {
@@ -300,7 +635,8 @@ define(['app/app'], function(app) {
                 return ;
             }
             $scope.param.page = page;
-            getData();
+            $scope.tradeRecordTableParams.page($scope.param.page);
+            $scope.tradeRecordTableParams.reload();
         };
 
         //当前页在前段的计算方式
@@ -348,6 +684,12 @@ define(['app/app'], function(app) {
                 });
         };
 
+        $rootScope.$on('$stateChangeStart',function(event,toState,toParams,fromState,fromParams){
+            if(fromState.name == 'pay_center' || toState.name == 'pay_center'){
+                SessionService.removeCookie("vendorCenter");
+            }
+        });
+
         //当前页在中间计算方式
         $scope.middleSegment = function (currentPage) {
             angular.forEach($scope.pages, function (page) {

+ 457 - 0
src/main/webapp/resources/js/vendor/controllers/forstore/pay_center_old_ctrl.js

@@ -0,0 +1,457 @@
+/**
+ * Created by admin on 2017/6/2.
+ */
+/**
+ *  结算中心控制器,已弃用
+ */
+define(['app/app'], function(app) {
+    'use strict';
+    app.register.controller('payCenterCtrl', ['$scope', '$rootScope', 'bankInfoService', 'toaster', '$upload', 'bankTransferService', 'Purchase', '$filter', function($scope, $rootScope, bankInfoService, toaster, $upload, bankTransferService, Purchase, $filter) {
+        $rootScope.active = 'pay_center';
+
+        $scope.param = {};
+        $scope.param.page = 1;
+        $scope.param.count = 5;
+        $scope.param.type='sup';
+        $scope.param.sorting = {};
+        $scope.param.sorting.tranferCreateTime = 'DESC';
+
+        // 加密订单的ID过滤器
+        var enIdFilter = $filter('EncryptionFilter');
+
+        $scope.$payCenter = {};
+        $scope.$payCenter.tab = "accountTab";
+        //控制删除div显示
+        $scope.$payCenter.deleteDiv = false;
+        //删除id
+        $scope.$payCenter.deleteID = null;
+
+        $scope.$payCenter.newAccount = false;
+
+        //获取数据的方法;
+        $scope.getMethod = "getSaleEeterpriseBank";
+
+        $scope.bankInfo = {};
+
+        //获取订单数据
+        var getData = function () {
+            if($scope.$payCenter.tab === 'paymentRecode') {//获取支付记录
+                bankTransferService.getVendorBankTransferByMall($scope.param, function (page) {
+                    if(page.code == 1) {
+                        $scope.bankTransRecode = page.data.content;
+                        angular.forEach($scope.bankTransRecode, function (bankT) {
+                            bankT.jsonReceive = angular.fromJson(bankT.jsonReceive);
+                        });
+
+                        $scope.totalPages = page.data.totalPages;
+                        $scope.param.currentPage = page.data.number;
+                        //计算页数
+                        $scope.acculatePages(page.data.number, page.data.totalPages);
+                    }else {
+                        toaster.pop('info', '获取信息失败:' + page.message);
+                    }
+                }, function (response) {
+                    toaster.pop('error', '获取信息失败');
+                });
+            }else {//获取企业的账户信息
+                bankInfoService[$scope.getMethod](null, function (data) {
+                    $scope.bankInfos = data;
+                }, function (response) {
+                    toaster.pop('error', '获取卖家的账户信息失败');
+                });
+            }
+        }
+        getData();
+
+
+        //切换tab方法
+        $scope.setTab = function (tab) {
+            if($scope.$payCenter.tab !== tab) {
+                $scope.bankInfos = null;
+                $scope.$payCenter.tab = tab;
+                if($scope.$payCenter.tab === 'accountTab') {
+                    // $scope.getMethod = "getSaleEeterpriseBankAudit";
+                }else if($scope.$payCenter.tab === 'accountHis'){
+                    $scope.getMethod = "getSaleEeterpriseBank";
+                }
+                getData();
+            }
+        };
+
+        // 文件上传成功之后
+        $scope.change = function(){
+            var text = document.getElementById("upload_text");
+            var dom = document.getElementById("InputFile");
+            var fileName = dom.files[0].name;
+            if (text.value != fileName) {
+                text.value = '';
+            }
+            var ext,idx;
+            idx = fileName.lastIndexOf(".");
+            if (idx != -1){
+                ext = fileName.substr(idx+1).toUpperCase();
+                ext = ext.toLowerCase( );
+                // console.log(ext);
+                // alert("ext="+ext);
+                if (ext != 'jpg' && ext != 'png' && ext != 'gif' && ext != 'pdf'){
+                    alert("请上传可支持的格式");
+                    return;
+                }
+            }
+            // console.log(dom.files[0]);
+            var len = dom.files[0].size;
+            if (len > 3145728) {
+                // console.log(text.value.length);
+                alert('请勿超过3M');
+                return;
+            }
+            // console.log(len);
+            text.value = fileName;
+            toaster.pop('success', '上传成功');
+        };
+
+        $scope.newAccount = function () {
+           if($scope.bankInfos.length  > 0) {
+               toaster.pop('info', '目前仅支持邦定一个银行账户信息,如需修改或更换,可把原账户信息删除再重新添加.');
+           }else {
+               $scope.$payCenter.newAccount = true;
+           }
+        };
+
+        //删除账户
+        $scope.deleteAccount = function(account) {
+            if(account.id) {
+                $scope.$payCenter.deleteDiv = true;
+                $scope.$payCenter.deleteID = account.id;
+            }else {
+                toaster.pop('info', '请选择要删除的信息');
+            }
+        }
+
+
+        //取消删除的操作
+        $scope.cancleDelete = function () {
+            $scope.$payCenter.deleteDiv = false;
+            $scope.$payCenter.deleteID = null;
+        }
+
+
+        //确认删除账户信息
+        $scope.confirmDelete = function () {
+            if(!$scope.$payCenter.deleteID) {
+                toaster.pop('info', '请选择要删除的信息');
+                return ;
+            }
+            bankInfoService.deleteBank({id: $scope.$payCenter.deleteID}, function() {
+                toaster.pop('success', '删除账户成功');
+                $scope.$payCenter.deleteDiv = false;
+                $scope.$payCenter.deleteID = null;
+                getData();
+            }, function() {
+                toaster.pop('error', '删除失败');
+            })
+        }
+
+        //观察是否已经选中文件了
+        $scope.$watch('bankInfo.files', function (newValue, oldValue, scope) {
+            var dom = document.getElementById('upload_text');
+            if (dom) {
+                var str = dom.value;
+                // console.log(str.length);
+            }
+            if(newValue && newValue.length != 0 && str && str.length > 0) {
+                $scope.$payCenter.fileVal = true;
+            }else {
+                $scope.$payCenter.fileVal = false;
+            }
+        });
+
+        /**
+         * 验证企业名称和开户银行
+         * @param name
+         */
+        $scope.validateName = function (name, index) {
+            if(name) {
+                if(index == 1) {
+                    $scope.$payCenter.accountNameVal = true;
+                }else {
+                    $scope.$payCenter.bankNameVal = true;
+                }
+            }else {
+                if(index == 1) {
+                    $scope.$payCenter.accountNameVal = false;
+                }else {
+                    $scope.$payCenter.bankNameVal = false;
+                }
+            }
+
+        }
+
+        /**
+         * 验证银行账号信息是否正确
+         * @param number
+         * number 全部是数字,并且小于 31位 和 大于 7位数字
+         */
+        $scope.validateNumber = function (number) {
+            if(number) {
+                if(/^\d+$/.test(number)) {
+                    if(number.length < 31 && number.length > 7) {
+                        $scope.$payCenter.numberVal = true;
+                        return ;
+                    }
+                }
+            }
+            $scope.$payCenter.numberVal = false;
+        };
+
+        //取消新增账户
+        $scope.cancle = function () {
+            $scope.$payCenter.newAccount = false;
+            $scope.bankInfo = {};
+            $scope.bankInfo.files = null;
+        }
+
+        //保存账户信息
+        $scope.confirm = function () {
+            var file = null;
+            if($scope.bankInfo.files&&$scope.bankInfo.files[0]) {
+                file = $scope.bankInfo.files[0];
+            }
+            $upload.upload({
+                url: 'trade/bankInfo/save/enterprise',
+                file: file,
+                method: 'POST',
+                params : {type : 'sup'},
+                data: {
+                    bankInfo: $scope.bankInfo
+                }
+            }).success(function(data){
+                $scope.$payCenter.newAccount = false;
+                $scope.bankInfo = {};
+                $scope.bankInfo.files = null;
+                toaster.pop('success', '保存成功');
+                getData();
+            }).error(function(data){
+                toaster.pop('error', "保存账户信息失败");
+            });
+        }
+
+        //获取传入买家订单获取采购单的信息
+        $scope.goToPurchaseDetail = function (orderNum) {
+            if(!orderNum) {
+               return ;
+            }
+            var tempwindow = window.open("vendor#/order/center");
+            Purchase.getPurchaseByOrder({orderid : orderNum}, function (data) {
+                tempwindow.location = "vendor#/purchase/detail/" + enIdFilter(data.purchaseid);
+                // window.open("vendor#/purchase/detail/" + enIdFilter(data.purchaseid));
+            }, function (response) {
+            });
+        }
+
+
+        /******************根据页数设置翻页的信息********start**************************/
+
+        //输入框监听Enter事件
+        $scope.listenEnter = function () {
+            if(event.keyCode == 13) {
+                $scope.setPage("page", $scope.param.currentPage);
+            }
+        };
+
+        $scope.setPage = function(type, number) {
+            if(type != 'prev' &&  type != 'page' && type != 'next' && type != 'last' && type != 'first') {
+                return ;
+            };
+            var page = -1;
+            switch (type) {
+                case "page":
+                    if(number < 1) {
+                        page = 1;
+                    }else if(number > $scope.totalPages) {
+                        page = $scope.totalPages;
+                    }else {
+                        page = number;
+                    };
+                    break;
+                case "prev":
+                    if($scope.param.page <= 1) {
+                        page = 1;
+                    }else {
+                        page =$scope.param.page - 1;
+                    };
+                    break;
+                case "next":
+                    if($scope.param.page >= $scope.totalPages) {
+                        page = $scope.totalPages;
+                    }else {
+                        page =$scope.param.page + 1;
+                    }
+                    break;
+                case "first":
+                    page = 1;
+                    break;
+                case "last":
+                    page = $scope.totalPages;
+                    break;
+            }
+            if(page == $scope.param.page || page < 1 || page > $scope.totalPages) {
+                $scope.param.currentPage = $scope.param.page;
+                return ;
+            }
+            $scope.param.page = page;
+            getData();
+        };
+
+        //当前页在前段的计算方式
+        $scope.frontSegment = function (currentPage, totalElementPages) {
+                angular.forEach($scope.pages, function (page) {
+                    switch (page.number) {
+                        case 8:
+                            page.type = 'more';
+                            page.active = false;
+                            break;
+                        case 0:
+                            if(currentPage == 1) {
+                                page.active = false;
+                            }
+                        default : {
+                            page.current = (currentPage == page.number);
+                        }
+                    }
+                });
+        };
+
+        //当前页在后端计算方式
+        $scope.endSegment = function (currentPage, totalElementPages) {
+                angular.forEach($scope.pages, function (page) {
+                    switch (page.number) {
+                        case 2:
+                            page.active = false;
+                            page.type = 'more';
+                            break;
+                        case 10:
+                            if(currentPage == totalElementPages) {
+                                page.active = false;
+                            }
+                            break;
+                        case 0:
+                        case 1:
+                            break;
+                        default:
+                            if(page.number != totalElementPages) {
+                                page.number = totalElementPages - 9 + page.number;
+                            }
+                            page.current = (currentPage == page.number);
+                            break;
+                    }
+                });
+        };
+
+        //当前页在中间计算方式
+        $scope.middleSegment = function (currentPage) {
+            angular.forEach($scope.pages, function (page) {
+                switch (page.number) {
+                    case 2:
+                    case 8:
+                        page.type ='more';
+                        page.active = false;
+                        break;
+                    case 3:
+                        page.number = currentPage - 2;
+                        break;
+                    case 4:
+                        page.number = currentPage - 1;
+                        break;
+                    case 5:
+                        page.number = currentPage;
+                        page.current = true;
+                        break;
+                    case 6:
+                        page.number = currentPage + 1;
+                        break;
+                    case 7:
+                        page.number = currentPage + 2;
+                        break;
+                }
+            });
+        }
+
+        //初始化页数信息
+        $scope.initPages = function (totalElementPages) {
+            var pageNum = [];
+            if(totalElementPages == 1) {
+                return ;
+            }else if(totalElementPages < 10) {
+                for(var i = 0; i < totalElementPages + 2; i++) {
+                    pageNum.push(i);
+                }
+            }else {
+                pageNum = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
+            }
+            angular.forEach(pageNum, function (number) {
+                var page = {active : true, type : 'page', number : number};
+                if(number == 0) {
+                    page.type = 'prev';
+                }else if(number == 1) {
+                    page.type = 'first';
+                }else if(number == pageNum.length - 2) {
+                    page.type = 'last';
+                    page.number = totalElementPages;
+                }else if(number == pageNum.length - 1){
+                    page.type = 'next';
+                }
+                $scope.pages.push(page);
+            });
+        }
+
+        //计算页数的方式。
+        $scope.acculatePages = function(currentPage, totalElementPages) {
+            $scope.pages = [];
+            if(totalElementPages < 1)  {
+                return ;
+            }
+            //初始化页面数据
+            $scope.initPages(totalElementPages);
+            if(totalElementPages < 10) {
+                angular.forEach($scope.pages, function (page) {
+                    if(page.number == currentPage) {
+                        page.current = true;
+                    }
+                });
+            }else if(currentPage < 6) {//当期页小于6
+                $scope.frontSegment(currentPage, totalElementPages);
+            }else if(currentPage > totalElementPages - 5) { //当期页在后面
+                $scope.endSegment(currentPage, totalElementPages);
+            }else { //当期页在中间
+                $scope.middleSegment(currentPage);
+            }
+        };
+        /******************根据页数设置翻页的信息********end**************************/
+
+    }]);
+
+    app.register.filter('bankStatusFilter', function () {
+        return function (status) {
+            var result = '未知状态';
+            switch (status) {
+                case 101 :
+                    result = '待审核';
+                    break;
+                case 104:
+                    result = '使用中';
+                    break;
+                case 103:
+                    result = '未通过';
+                    break;
+                case 105:
+                    result = '已失效';
+                    break;
+                case 112:
+                    result = '已删除';
+                    break;
+            }
+            return result;
+        }
+    })
+});

+ 0 - 798
src/main/webapp/resources/js/vendor/controllers/forstore/vendor_pay_ctrl.js

@@ -1,798 +0,0 @@
-/**
- * Created by admin on 2017/6/2.
- */
-/**
- *  结算中心控制器
- */
-define(['app/app'], function(app) {
-    'use strict';
-    app.register.controller('VendorPayCtrl', ['$scope', '$rootScope', 'bankInfoService', 'Loading', 'toaster', '$upload', 'ngTableParams', 'BaseService', 'SessionService', 'bankTransferService', 'Purchase', '$filter', function($scope, $rootScope, bankInfoService, Loading, toaster, $upload, ngTableParams, BaseService, SessionService, bankTransferService, Purchase, $filter) {
-        $rootScope.active = 'pay_center';
-
-        // 加密订单的ID过滤器
-        var enIdFilter = $filter('EncryptionFilter');
-
-        //历史记录的状态
-        var hiStatus= SessionService.getCookie('vendorCenter');
-
-        $scope.$payCenter = {};
-        $scope.param = {};
-
-        $scope.tab = hiStatus == null ? 'paymentRecord' : hiStatus;
-        $scope.$$bankInfo = {};
-
-        $scope.paytype = 'ALL';
-        $scope.$$transfer = {};
-
-        $scope.tradeRecordTableParams = new ngTableParams({
-            page : 1,
-            count : 30,
-            sorting : {
-                transferTime : 'DESC'
-            }
-        },{
-            total : 0,
-            getData : function ($defer, params) {
-                var param = BaseService.parseParams(params.url());
-                if ($scope.keyword && $scope.keyword.length > 0){
-                    param.keyword = $scope.keyword;
-                }
-                if ($scope.startDate){
-                    param.fromDate = $scope.startDate.getTime();
-                }
-                if ($scope.endDate){
-                    param.toDate = $scope.endDate.getTime();
-                }
-                bankTransferService.getVendorBankTransferByMall(param, function (page) {
-                    if(page.code == 1) {
-                        $scope.bankTransRecore = page.data.data.content;
-                        if ($scope.bankTransRecore.length > 0){
-                            $scope.currencySymbol = $scope.bankTransRecore[0].currencyName;
-                        }
-                        var pageObject = page.data.data;
-                        $scope.totalPrice = page.data.total;
-                        angular.forEach($scope.bankTransRecode, function (bankT) {
-                            bankT.jsonReceive = angular.fromJson(bankT.jsonReceive);
-                        });
-                        $scope.totalPages = pageObject.totalPages;
-                        $scope.param.currentPage = pageObject.number;
-                        $scope.totalElements = pageObject.totalElements;
-
-                        if(Number($scope.totalElements) > 0) {
-                            $scope.$$transfer.start = Number(pageObject.size) * (Number(pageObject.number) - 1) + 1;
-                        }else {
-                            $scope.$$transfer.start = 0;
-                        }
-                        $scope.$$transfer.end = Number(pageObject.size) * (Number(pageObject.number) - 1) + Number(pageObject.numberOfElements);
-                        //计算页数
-                        $scope.acculatePages(pageObject.number, pageObject.totalPages);
-                    }else {
-                        toaster.pop('info', '获取信息失败:' + page.message);
-                    }
-                }, function () {
-                    toaster.pop('error', '获取信息失败');
-                });
-            }
-        });
-
-        $scope.bankInfoTableParams = new ngTableParams({
-            page : 1,
-            count : 10,
-            sorting : {
-                num : 'ASC'
-            }
-        },{
-            total : 0,
-            getData : function ($defer, params) {
-                var param = BaseService.parseParams(params.url());
-                bankInfoService.getSaleEeterpriseBank(param, {}, function(page) {
-                    $scope.accounts = page.content;
-
-                    $scope.$$bankInfo.totalElements = page.totalElements;
-                    if(Number(page.totalElements) > 0) {
-                        $scope.$$bankInfo.start = Number(page.size) * (Number(page.number) - 1) + 1;
-                    }else {
-                        $scope.$$bankInfo.start = 0;
-                    }
-                    $scope.$$bankInfo.end = Number(page.size) * (Number(page.number) - 1) + Number(page.numberOfElements);
-
-                    params.total(page.totalElements);
-                    $defer.resolve(page.content);
-                }, function() {
-                    toaster.pop('error', '获取账户信息失败');
-                });
-            }
-        });
-
-        var loadAccountData = function() {
-            $scope.bankInfoTableParams.page(1);
-            $scope.bankInfoTableParams.reload();
-        };
-
-        var loadHistory = function () {
-            $scope.tradeRecordTableParams.page(1);
-            $scope.tradeRecordTableParams.reload();
-        };
-
-        var clearRecordParams = function () {
-            $scope.keyword = null;
-            $scope.startDate = null;
-            $scope.endDate = null;
-        };
-
-        $scope.search = function () {
-            if (!$scope.startDate && $scope.endDate){
-                toaster.pop("info", "请输入起始日期");
-                return ;
-            }
-            if ($scope.startDate && !$scope.endDate){
-                toaster.pop("info", "请输入结束日期");
-                return ;
-            }
-            loadHistory();
-        };
-
-        //获取数据的方法。
-        var loadData = function() {
-            switch ($scope.tab) {
-                case 'paymentRecord' :
-                    loadHistory();
-                    break;
-                case 'accountTab':
-                    clearRecordParams();
-                    loadAccountData();
-                    break;
-            }
-        };
-        loadData();
-
-        //切换tab方法
-        $scope.setTab = function (tab) {
-            if($scope.tab !== tab) {
-                $scope.tab = tab;
-                SessionService.setCookie('vendorCenter', tab);
-                loadData();
-            }
-        };
-
-        $scope.condition = [];
-        var start = {
-            open : false
-        };
-        var end = {
-            open : false
-        };
-        $scope.condition.push(start);
-        $scope.condition.push(end);
-
-        // 打开日期选择框
-        $scope.openDatePicker = function($event, item, openParam, status) {
-            if (status != null) {
-                if (status == 1) {
-                    if ($scope.startDate != null) {
-                        return;
-                    }
-                }
-                if (status == 2) {
-                    if ($scope.endDate != null) {
-                        return;
-                    }
-                }
-            }
-            $event.preventDefault();
-            $event.stopPropagation();
-            openParam == 0 ? $scope.condition[1].open = false : $scope.condition[0].open = false;
-            item[openParam].open = !item[openParam].open;
-        };
-
-        $scope.onDateCondition = function (bool) {
-            var text = '';
-            var datePattern = /^(\d{4})-(\d{2})-(\d{2})$/;
-            if (bool == 1){
-                text = document.getElementById("start").value;
-                if (text != '' && !datePattern.test(text)){
-                    // $scope.startDate = text;
-                    toaster.pop("info", "请输入正确开始时间格式");
-                    return;
-                }
-                if (text != '' && !validateDate(text)){
-                    // $scope.startDate = text;
-                    toaster.pop("info", "请输入正确开始时间格式");
-                    return;
-                }
-                if (!$scope.startDate && text != ''){
-                    $scope.startDate = convertTextToDate(text);
-                }
-                if ($scope.startDate && !$scope.endDate){
-                    var nowTime = new Date();
-                    $scope.endDate = new Date(nowTime.getFullYear(), nowTime.getMonth(), nowTime.getDate());
-                }
-                if ($scope.endDate && $scope.startDate.getTime() > $scope.endDate.getTime()){
-                    $scope.endDate = new Date($scope.startDate.getTime() + 86400000);
-                }
-            }else {
-                text = document.getElementById("end").value;
-                if (text != '' && !datePattern.test(text)){
-                    // $scope.endDate = text;
-                    toaster.pop("info", "请输入正确结束时间格式");
-                    return;
-                }
-                if (text != '' && !validateDate(text)){
-                    // $scope.endDate = text;
-                    toaster.pop("info", "请输入正确结束时间格式");
-                    return;
-                }
-                if (!$scope.endDate && text != ''){
-                    $scope.endDate = convertTextToDate(text);
-                }
-                if ($scope.startDate && $scope.startDate.getTime() > $scope.endDate.getTime()){
-                    $scope.startDate = new Date($scope.endDate.getTime() - 86400000);
-                }
-            }
-        };
-
-        /**
-         * 将文本转化为日期
-         * @param value
-         * @returns {Date}
-         */
-        var convertTextToDate = function (value) {
-            var date = value;
-            var result = date.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);
-
-            return new Date(result[1], result[3] - 1, result[4]);
-        };
-
-        /**
-         * 验证日期格式是否正确
-         * @param value
-         * @returns {boolean}
-         */
-        var validateDate = function (value) {
-            var date = value;
-            var result = date.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);
-
-            if (result == null)
-                return false;
-            var d = new Date(result[1], result[3] - 1, result[4]);
-            return (d.getFullYear() == result[1] && (d.getMonth() + 1) == result[3] && d.getDate() == result[4]);
-        };
-
-        // 文件上传成功之后
-        $scope.uploadChange = function(){
-            var fileName = $scope.account.files[0].name;
-            if ($scope.account.attachUrl != fileName) {
-                $scope.account.attachUrl = '';
-            }
-            var ext,idx;
-            idx = fileName.lastIndexOf(".");
-            if (idx != -1){
-                ext = fileName.substr(idx+1).toUpperCase();
-                ext = ext.toLowerCase( );
-                if (ext != 'jpg' && ext != 'png' && ext != 'gif' && ext != 'pdf'){
-                    $scope.fileError = true;
-                }else {
-                    $scope.fileError = false;
-                }
-            }
-            var len = $scope.account.files[0].size;
-            if (len > 3145728) {
-                $scope.fileLegError = true;
-            }else {
-                $scope.fileLegError = false;
-            }
-            if($scope.fileError || $scope.fileLegError){
-                $scope.account.attachUrl = '';
-                $scope.account.files = null;
-                return;
-            }
-            $scope.account.attachUrl = fileName;
-            toaster.pop('success', '上传成功');
-        };
-
-        $scope.account = {};
-        $scope.newAccount = function () {
-            $scope.showAddFrame = true;
-        };
-
-        $scope.cancelAdd = function () {
-            $scope.showAddFrame = false;
-            $scope.account = {};
-            $scope.account.files = null;
-        };
-
-        /**
-         * 验证账户格式
-         * @param num
-         */
-        $scope.checkAccount = function (num) {
-            var size;
-            if (num == 1){
-                //验证开户银行名称
-                $scope.showBankFrame = true;
-                matchArray();
-            }else if(num == 2){
-                //验证开户支行名称
-                if($scope.account.branchname){
-                    size = $scope.account.branchname.replace(/[^\x00-\xff]/g,'**').length;
-                    if (size > 40){
-                        $scope.branchError = true;
-                    }else {
-                        $scope.branchError = false;
-                    }
-                    var telPatt = new RegExp("^[\u2E80-\u9FFF]+$");
-                    if (telPatt.test($scope.account.branchname)){
-                        $scope.branchPattError = false;
-                    }else {
-                        $scope.branchPattError = true;
-                    }
-                }
-            }else if(num == 3){
-                //验证银行账号
-                if ($scope.account.number){
-                    size = $scope.account.number.replace(/[^\x00-\xff]/g,'**').length;
-                    if (size > 30){
-                        $scope.numberError = true;
-                    }else {
-                        $scope.numberError = false;
-                    }
-                    var numPatt = new RegExp("^[0-9]+$");
-                    if (numPatt.test($scope.account.number)){
-                        $scope.numberPattError = false;
-                    }else {
-                        $scope.numberPattError = true;
-                    }
-                    validateRepeat($scope.account.number);
-                }
-            }else if(num == 4){
-                //验证开户名称
-                if ($scope.account.accountname){
-                    size = $scope.account.accountname.replace(/[^\x00-\xff]/g,'**').length;
-                    if (size > 100){
-                        $scope.nameError = true;
-                    }else {
-                        $scope.nameError = false;
-                    }
-                }
-            }
-        };
-
-        var validateRepeat = function (number) {
-            bankInfoService.getCountByNumber({type:1063,number:number}, {}, function (data) {
-                if (data.success){
-                    if (data.data != 0){
-                        $scope.repeatError = true;
-                    }else {
-                        $scope.repeatError = false;
-                    }
-                }else {
-                    toaster.pop("info", data.message);
-                }
-            });
-        };
-
-        $scope.reuseAccount = function (item) {
-            $scope.showReuseFrame = true;
-            $scope.reuseObject = item;
-        };
-
-        $scope.cancelReuse = function () {
-            $scope.showReuseFrame = false;
-        };
-
-        $scope.ensureReuse = function () {
-            if(!$scope.reuseObject){
-                toaster.pop("info", "请选择重新使用的账户");
-            }
-            bankInfoService.setDefaultAccount({id:$scope.reuseObject.id},{},function (data) {
-                toaster.pop("info", "重新使用成功");
-                $scope.reuseObject = {};
-                $scope.showReuseFrame = false;
-                loadData();
-            },function () {
-                toaster.pop("info", "重新使用失败");
-            })
-        };
-
-        $scope.ensureAddAccount = function () {
-            var account = $scope.account;
-
-            if (!account){
-                toaster.pop('error', '请按要求填写正确的信息');
-                return ;
-            }
-            if (!account.bankname || !account.branchname || !account.number ||
-                !account.accountname || !account.attachUrl){
-                toaster.pop('error', '请按要求填写正确的信息');
-                return ;
-            }
-            if (!$scope.matchData || $scope.branchError || $scope.branchPattError || $scope.numberError || $scope.numberPattError ||
-                $scope.nameError || $scope.repeatError || $scope.fileError || $scope.fileLegError){
-                toaster.pop('error', '请按要求填写正确的信息');
-                return ;
-            }
-
-            var file = null;
-            if($scope.account.files && $scope.account.files[0]) {
-                file = $scope.account.files[0];
-            }
-            $upload.upload({
-                url: 'trade/bankInfo/save/enterprise',
-                file: file,
-                method: 'POST',
-                params : {type : 'sup'},
-                data: {
-                    bankInfo: $scope.account
-                }
-            }).success(function(data){
-                if(data){
-                    $scope.showAddFrame = false;
-                    $scope.account = {};
-                    $scope.account.files = null;
-                    toaster.pop('success', '保存成功');
-                    loadData();
-                }
-            }).error(function(){
-                toaster.pop('error', "保存账户信息失败");
-            });
-        };
-
-        //删除账户
-        $scope.deleteAccount = function(account) {
-            if(account.id) {
-                $scope.$payCenter.deleteDiv = true;
-                $scope.$payCenter.deleteID = account.id;
-            }else {
-                toaster.pop('info', '请选择要删除的信息');
-            }
-        };
-
-        $scope.cancelDelete = function () {
-            $scope.$payCenter.deleteDiv = false;
-            $scope.$payCenter.deleteID = null;
-        };
-
-        //确认删除账户信息
-        $scope.confirmDelete = function () {
-            if(!$scope.$payCenter.deleteID) {
-                toaster.pop('info', '请选择要删除的信息');
-                return ;
-            }
-            bankInfoService.deleteBank({id: $scope.$payCenter.deleteID}, function() {
-                toaster.pop('success', '删除账户成功');
-                $scope.$payCenter.deleteDiv = false;
-                $scope.$payCenter.deleteID = null;
-                loadData();
-            }, function() {
-                toaster.pop('error', '删除失败');
-            })
-        };
-
-        /**
-         * 目前只支持的银行
-         * @type {string[]}
-         */
-        $scope.bankList = [
-            '中国银行','中国建设银行','中国工商银行','中国农业银行','交通银行','招商银行','中国民生银行',
-            '兴业银行','中信银行','中国光大银行','广发银行','平安银行','中国邮政储蓄银行','华夏银行','浦发银行'
-        ];
-
-        var matchArray = function () {
-            $scope.account.bankname = $scope.account.bankname ? $scope.account.bankname : '';
-            $scope.resultList = $scope.bankList.filter(function (data) {
-                if (data.indexOf($scope.account.bankname) >= 0){
-                    return data;
-                }
-            });
-            if ($scope.resultList.length > 0){
-                $scope.matchData = true;
-            }else{
-                $scope.matchData = false;
-            }
-        };
-
-        $scope.fitBankToAccount = function (item) {
-            $scope.account.bankname = item;
-            $scope.showBankFrame = false;
-        };
-
-        $scope.showList = function () {
-            $scope.showBankFrame = !$scope.showBankFrame;
-            $scope.matchData = true;
-            $scope.resultList = $scope.bankList;
-        };
-
-        $scope.exportToExcel = function () {
-            if ($scope.totalElements == 0) {
-                toaster.pop('info', '当前收款记录为空,无法导出');
-                return ;
-            }
-            exportByAjax();
-        };
-
-        var exportByAjax = function () {
-            var url = 'trade/transfer/export/bankTransfer';
-            var strArray = [];
-            if ($scope.keyword && $scope.keyword.length > 0){
-                var wordStr = "keyword=" + $scope.keyword;
-                strArray.push(wordStr);
-            }
-            if ($scope.startDate){
-                var startStr = "fromDate=" + $scope.startDate.getTime();
-                strArray.push(startStr);
-            }
-            if ($scope.endDate){
-                var endStr = "toDate=" + $scope.endDate.getTime();
-                strArray.push(endStr);
-            }
-            if (strArray.length != 0){
-                var str = strArray.join("&");
-                url = url + "?" + str;
-            }
-            var form = $("<form>");   //定义一个form表单
-            form.attr('style', 'display:none');   //在form表单中添加查询参数
-            form.attr('target', '');
-            form.attr('method', 'POST');
-            form.attr('action', url);
-
-            $('body').append(form);  //将表单放置在web中
-            form.submit();
-
-            $scope.$$transfer.clockID = setInterval(function() {
-                getDownLoadStatus();
-            }, 500);
-        };
-
-        var getDownLoadStatus = function () {
-            Loading.show();
-            $.ajax({
-                url : 'trade/transfer/export/bankTransfer',
-                data : {isAjax : true},
-                method : 'POST',
-                dataType : 'json',
-                success : function (data) {
-                    if(!data.loading){
-                        $scope.$apply(function () {
-                            toaster.pop('info', '数据处理完毕,正在下载文件,请稍等。');
-                            Loading.hide();
-                        });
-                        if($scope.$$transfer.clockID) {
-                            clearInterval($scope.$$transfer.clockID);
-                        }
-                    }
-                },
-                error : function () {
-                    Loading.hide();
-                    if($scope.$$transfer.clockID) {
-                        clearInterval($scope.$$transfer.clockID);
-                    }
-                }
-            });
-        };
-
-        //获取传入买家订单获取采购单的信息
-        $scope.goToPurchaseDetail = function (orderNum) {
-            if(!orderNum) {
-               return ;
-            }
-            var tempwindow = window.open("vendor#/order/center");
-            Purchase.getPurchaseByOrder({orderid : orderNum}, function (data) {
-                tempwindow.location = "vendor#/purchase/detail/" + enIdFilter(data.purchaseid);
-                // window.open("vendor#/purchase/detail/" + enIdFilter(data.purchaseid));
-            }, function (response) {
-            });
-        }
-
-
-        /******************根据页数设置翻页的信息********start**************************/
-
-        //输入框监听Enter事件
-        $scope.listenEnter = function () {
-            if(event.keyCode == 13) {
-                $scope.setPage("page", $scope.param.currentPage);
-            }
-        };
-
-        $scope.setPage = function(type, number) {
-            if(type != 'prev' &&  type != 'page' && type != 'next' && type != 'last' && type != 'first') {
-                return ;
-            };
-            var page = -1;
-            switch (type) {
-                case "page":
-                    if(number < 1) {
-                        page = 1;
-                    }else if(number > $scope.totalPages) {
-                        page = $scope.totalPages;
-                    }else {
-                        page = number;
-                    };
-                    break;
-                case "prev":
-                    if($scope.param.page <= 1) {
-                        page = 1;
-                    }else {
-                        page =$scope.param.page - 1;
-                    };
-                    break;
-                case "next":
-                    if($scope.param.page >= $scope.totalPages) {
-                        page = $scope.totalPages;
-                    }else {
-                        page =$scope.param.page + 1;
-                    }
-                    break;
-                case "first":
-                    page = 1;
-                    break;
-                case "last":
-                    page = $scope.totalPages;
-                    break;
-            }
-            if(page == $scope.param.page || page < 1 || page > $scope.totalPages) {
-                $scope.param.currentPage = $scope.param.page;
-                return ;
-            }
-            $scope.param.page = page;
-            $scope.tradeRecordTableParams.page($scope.param.page);
-            $scope.tradeRecordTableParams.reload();
-        };
-
-        //当前页在前段的计算方式
-        $scope.frontSegment = function (currentPage, totalElementPages) {
-                angular.forEach($scope.pages, function (page) {
-                    switch (page.number) {
-                        case 8:
-                            page.type = 'more';
-                            page.active = false;
-                            break;
-                        case 0:
-                            if(currentPage == 1) {
-                                page.active = false;
-                            }
-                        default : {
-                            page.current = (currentPage == page.number);
-                        }
-                    }
-                });
-        };
-
-        //当前页在后端计算方式
-        $scope.endSegment = function (currentPage, totalElementPages) {
-                angular.forEach($scope.pages, function (page) {
-                    switch (page.number) {
-                        case 2:
-                            page.active = false;
-                            page.type = 'more';
-                            break;
-                        case 10:
-                            if(currentPage == totalElementPages) {
-                                page.active = false;
-                            }
-                            break;
-                        case 0:
-                        case 1:
-                            break;
-                        default:
-                            if(page.number != totalElementPages) {
-                                page.number = totalElementPages - 9 + page.number;
-                            }
-                            page.current = (currentPage == page.number);
-                            break;
-                    }
-                });
-        };
-
-        $rootScope.$on('$stateChangeStart',function(event,toState,toParams,fromState,fromParams){
-            if(fromState.name == 'pay_center' || toState.name == 'pay_center'){
-                SessionService.removeCookie("vendorCenter");
-            }
-        });
-
-        //当前页在中间计算方式
-        $scope.middleSegment = function (currentPage) {
-            angular.forEach($scope.pages, function (page) {
-                switch (page.number) {
-                    case 2:
-                    case 8:
-                        page.type ='more';
-                        page.active = false;
-                        break;
-                    case 3:
-                        page.number = currentPage - 2;
-                        break;
-                    case 4:
-                        page.number = currentPage - 1;
-                        break;
-                    case 5:
-                        page.number = currentPage;
-                        page.current = true;
-                        break;
-                    case 6:
-                        page.number = currentPage + 1;
-                        break;
-                    case 7:
-                        page.number = currentPage + 2;
-                        break;
-                }
-            });
-        }
-
-        //初始化页数信息
-        $scope.initPages = function (totalElementPages) {
-            var pageNum = [];
-            if(totalElementPages == 1) {
-                return ;
-            }else if(totalElementPages < 10) {
-                for(var i = 0; i < totalElementPages + 2; i++) {
-                    pageNum.push(i);
-                }
-            }else {
-                pageNum = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
-            }
-            angular.forEach(pageNum, function (number) {
-                var page = {active : true, type : 'page', number : number};
-                if(number == 0) {
-                    page.type = 'prev';
-                }else if(number == 1) {
-                    page.type = 'first';
-                }else if(number == pageNum.length - 2) {
-                    page.type = 'last';
-                    page.number = totalElementPages;
-                }else if(number == pageNum.length - 1){
-                    page.type = 'next';
-                }
-                $scope.pages.push(page);
-            });
-        }
-
-        //计算页数的方式。
-        $scope.acculatePages = function(currentPage, totalElementPages) {
-            $scope.pages = [];
-            if(totalElementPages < 1)  {
-                return ;
-            }
-            //初始化页面数据
-            $scope.initPages(totalElementPages);
-            if(totalElementPages < 10) {
-                angular.forEach($scope.pages, function (page) {
-                    if(page.number == currentPage) {
-                        page.current = true;
-                    }
-                });
-            }else if(currentPage < 6) {//当期页小于6
-                $scope.frontSegment(currentPage, totalElementPages);
-            }else if(currentPage > totalElementPages - 5) { //当期页在后面
-                $scope.endSegment(currentPage, totalElementPages);
-            }else { //当期页在中间
-                $scope.middleSegment(currentPage);
-            }
-        };
-        /******************根据页数设置翻页的信息********end**************************/
-
-    }]);
-
-    app.register.filter('bankStatusFilter', function () {
-        return function (status) {
-            var result = '未知状态';
-            switch (status) {
-                case 101 :
-                    result = '待审核';
-                    break;
-                case 104:
-                    result = '使用中';
-                    break;
-                case 103:
-                    result = '未通过';
-                    break;
-                case 105:
-                    result = '已失效';
-                    break;
-                case 112:
-                    result = '已删除';
-                    break;
-            }
-            return result;
-        }
-    })
-});

+ 19 - 4
src/main/webapp/resources/view/usercenter/forstore/pay_center.html

@@ -228,7 +228,6 @@
 		padding-bottom: 48px;
 	}
 	#pay_center .tab .user-account-table {
-		margin: 0 auto;
 		width:98%;
 		text-align: center;
 	}
@@ -370,6 +369,19 @@
 	.screen .sreach .date input.form-control{
 		padding: 6px 6px;
 	}
+	.pagination li:last-child a {
+		font-size: 14px;
+	}
+	.pagination li:last-child a {
+		font-size: 12px;
+	}
+	body div.ng-table-pager a.page-a{
+		color:#fff!important;
+	}
+	.pagination>li {
+		display: inline;
+		float: left;
+	}
 </style>
 <!--右侧主体部分-->
 <div class="user_right fr" id="pay_center">
@@ -414,6 +426,9 @@
 						</tr>
 					</tbody>
 				</table>
+				<div style="text-align: right;margin-right:25px;margin-top:-15px;">
+					<span class="count-tip">显示 {{$$bankInfo.start}}-{{$$bankInfo.end}} 条,共 <em ng-bind="$$bankInfo.totalElements" style="color: #5078cb">2506</em> 条</span>
+				</div>
 				<div class="com-del-box" ng-if="showDelete">
 					<div class="title">
 						<i ng-click="cancelDelete()"></i>
@@ -434,20 +449,20 @@
 					<div class="sreach fr">
 						<div class="date fl">
 							<div class="data-input">
-								<input id="start" type="text" ng-model="startDate"
+								<input id="start" type="text" ng-model="startDate" readonly="readonly"
 									   class="form-control select-adder" placeholder="起始时间"
 									   datepicker-popup="yyyy-MM-dd"
 									   is-open="condition[0].open"
 									   current-text="今天" clear-text="清除" close-text="关闭"
 									   datepicker-options="{formatDayTitle: 'yyyy年M月', formatMonth: 'M月', showWeeks: false}"
 									   ng-click="openDatePicker($event, condition, 0,1)"
-									   ng-blur="onDateCondition(1)"/>
+									   ng-change="onDateCondition(1)"/>
 								<button class="open" ng-click="openDatePicker($event, condition, 0)"></button>
 							</div>
 
 							<em>–</em>
 							<div class="data-input">
-								<input id="end" type="text" ng-model="endDate"
+								<input id="end" type="text" ng-model="endDate" readonly="readonly"
 									   class="form-control select-adder" placeholder="结束时间"
 									   datepicker-popup="yyyy-MM-dd"
 									   is-open="condition[1].open"

+ 7 - 4
src/main/webapp/resources/view/vendor/forstore/pay_center.html

@@ -603,6 +603,9 @@
     .ng-table-pager .ng-table-pagination a {
         color:#fff;
     }
+    div.ng-table-pager a.page-a{
+        color:#fff!important;
+    }
 </style>
 <!--右侧主体部分-->
 <div class="user_right fr" id="pay_center">
@@ -623,27 +626,27 @@
                     <div class="sreach fr">
                         <div class="date fl">
                             <div class="data-input">
-                                <input id="start" type="text" ng-model="startDate"
+                                <input id="start" type="text" ng-model="startDate" readonly="readonly"
                                        class="form-control select-adder" placeholder="起始时间"
                                        datepicker-popup="yyyy-MM-dd"
                                        is-open="condition[0].open"
                                        current-text="今天" clear-text="清除" close-text="关闭"
                                        datepicker-options="{formatDayTitle: 'yyyy年M月', formatMonth: 'M月', showWeeks: false}"
                                        ng-click="openDatePicker($event, condition, 0,1)"
-                                       ng-blur="onDateCondition(1)"/>
+                                       ng-change="onDateCondition(1)"/>
                                 <button class="open" ng-click="openDatePicker($event, condition, 0)"></button>
                             </div>
 
                             <em>–</em>
                             <div class="data-input">
-                                <input id="end" type="text" ng-model="endDate"
+                                <input id="end" type="text" ng-model="endDate" readonly="readonly"
                                        class="form-control select-adder" placeholder="结束时间"
                                        datepicker-popup="yyyy-MM-dd"
                                        is-open="condition[1].open"
                                        current-text="今天" clear-text="清除" close-text="关闭"
                                        datepicker-options="{formatDayTitle: 'yyyy年M月', formatMonth: 'M月', showWeeks: false}"
                                        ng-click="openDatePicker($event, condition, 1, 2)"
-                                       ng-blur="onDateCondition(2)"/>
+                                       ng-change="onDateCondition(2)"/>
                                 <button class="open" ng-click="openDatePicker($event, condition, 1)"></button>
                             </div>
                         </div>