瀏覽代碼

卖家结算中心调整

hulh 9 年之前
父節點
當前提交
9d025bf5fd

+ 0 - 1
src/main/webapp/resources/js/common/query/bankInfo.js

@@ -9,7 +9,6 @@ define(['ngResource'], function(ngResource) {
 			getSaleEeterpriseBank : {
 			getSaleEeterpriseBank : {
 				url : 'trade/bankInfo/sale/enterprise',
 				url : 'trade/bankInfo/sale/enterprise',
 				method: 'GET',
 				method: 'GET',
-				isArray : true,
 				params : {type : 'sup'}
 				params : {type : 'sup'}
 			},
 			},
 			getPageStatusBankInfo : {
 			getPageStatusBankInfo : {

+ 4 - 1
src/main/webapp/resources/js/common/query/bankTransfer.js

@@ -47,7 +47,10 @@ define(['ngResource'], function(ngResource) {
 			},
 			},
 			getVendorBankTransferByMall : {
 			getVendorBankTransferByMall : {
 				url : 'trade/transfer/vendor/bankTransfer/page',
 				url : 'trade/transfer/vendor/bankTransfer/page',
-				method : 'GET'
+				method : 'GET',
+				params : {
+					type : 'sup'
+				}
 			}
 			}
 		});
 		});
 	}]);
 	}]);

+ 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({
         })).state('pay_center', angularAMD.route({
 			url: '/payCenter',
 			url: '/payCenter',
 			templateUrl: 'static/view/vendor/forstore/pay_center.html',
 			templateUrl: 'static/view/vendor/forstore/pay_center.html',
-			controller: 'payCenterCtrl',
-			controllerUrl: 'app/controllers/forstore/pay_center_ctrl'
+			controller: 'VendorPayCtrl',
+			controllerUrl: 'app/controllers/forstore/vendor_pay_ctrl'
 		})).state('vendor_deliveryRule', angularAMD.route({
 		})).state('vendor_deliveryRule', angularAMD.route({
 			title : '配送规则',
 			title : '配送规则',
 			url: '/vendor_deliveryRule',
 			url: '/vendor_deliveryRule',

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

@@ -0,0 +1,508 @@
+/**
+ * Created by admin on 2017/6/2.
+ */
+/**
+ *  结算中心控制器
+ */
+define(['app/app'], function(app) {
+    'use strict';
+    app.register.controller('VendorPayCtrl', ['$scope', '$rootScope', 'bankInfoService', 'toaster', '$upload', 'ngTableParams', 'BaseService', 'bankTransferService', 'Purchase', '$filter', function($scope, $rootScope, bankInfoService, toaster, $upload, ngTableParams, BaseService, bankTransferService, Purchase, $filter) {
+        $rootScope.active = 'pay_center';
+
+        // 加密订单的ID过滤器
+        var enIdFilter = $filter('EncryptionFilter');
+
+        $scope.$payCenter = {};
+        $scope.param = {};
+        $scope.$payCenter.tab = "paymentRecord";
+        $scope.$$bankInfo = {};
+
+        //控制删除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') {//获取支付记录
+        //
+        //     }else {//获取企业的账户信息
+        //         bankInfoService[$scope.getMethod](null, function (data) {
+        //             $scope.bankInfos = data;
+        //         }, function (response) {
+        //             toaster.pop('error', '获取卖家的账户信息失败');
+        //         });
+        //     }
+        // };
+
+        $scope.tradeRecordTableParams = new ngTableParams({
+            page : 1,
+            count : 30
+        },{
+            total : 0,
+            getData : function ($defer, params) {
+                var param = BaseService.parseParams(params.url());
+                bankTransferService.getVendorBankTransferByMall(param, function (page) {
+                    if(page.code == 1) {
+                        $scope.bankTransRecore = 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 () {
+                    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 loadData = function() {
+            switch ($scope.$payCenter.tab) {
+                case 'paymentRecord' :
+                    loadHistory();
+                    break;
+                case 'accountTab':
+                    loadAccountData();
+                    break;
+            }
+        };
+        loadData();
+
+        //切换tab方法
+        $scope.setTab = function (tab) {
+            if($scope.$payCenter.tab !== tab) {
+                $scope.$payCenter.tab = tab;
+                loadData();
+            }
+        };
+
+        // 文件上传成功之后
+        $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;
+        }
+    })
+});

+ 13 - 14
src/main/webapp/resources/view/vendor/forstore/pay_center.html

@@ -560,14 +560,14 @@
     <div class="pay_record oder">
     <div class="pay_record oder">
         <div class="oder01">
         <div class="oder01">
             <ul>
             <ul>
-                <li ng-click="setTab('accountTab')" ng-class="{'active' : $payCenter.tab == 'accountTab'}"><a href="javascript:void(0)">交易记录</a></li>
-                <li ng-click="setTab('accountHis')" ng-class="{'active' : $payCenter.tab == 'accountHis'}"><a href="javascript:void(0)">收款帐户</a></li>
+                <li ng-click="setTab('paymentRecord')" ng-class="{'active' : $payCenter.tab == 'paymentRecord'}"><a href="javascript:void(0)">交易记录</a></li>
+                <li ng-click="setTab('accountTab')" ng-class="{'active' : $payCenter.tab == 'accountTab'}"><a href="javascript:void(0)">收款帐户</a></li>
             </ul>
             </ul>
         </div>
         </div>
         <!--支付中心列表-->
         <!--支付中心列表-->
         <div class="ticket_record_list">
         <div class="ticket_record_list">
             <!-- 交易记录-->
             <!-- 交易记录-->
-            <div class="tab" ng-if="$payCenter.tab == 'accountTab'" style="display: inline-block">
+            <div class="tab" ng-if="$payCenter.tab == 'paymentRecord'" style="display: inline-block">
                 <!--搜索时间筛选-->
                 <!--搜索时间筛选-->
                 <div class="screen" style="background: #f5f8fe;height: 40px;margin-bottom: 15px;margin-top: 5px;padding-top: 4px;padding-right: 11px;">
                 <div class="screen" style="background: #f5f8fe;height: 40px;margin-bottom: 15px;margin-top: 5px;padding-top: 4px;padding-right: 11px;">
                     <div class="sreach fr">
                     <div class="sreach fr">
@@ -652,7 +652,7 @@
                         </div>
                         </div>
                     </dd>
                     </dd>
                 </dl>
                 </dl>
-                <p style="text-align:right;margin-right:28px;margin-top:10px;">显示1-10 条,共 2506 条</p>
+                <p style="text-align:right;margin-right:28px;margin-top:10px;">显示{{$$bankInfo.start}}-{{$$bankInfo.end}} 条,共 {{$$bankInfo.totalElements}} 条</p>
                 <div style="background-color: white; width: 100%; height: 75px;">
                 <div style="background-color: white; width: 100%; height: 75px;">
                     <div class="ng-cloak ng-table-pager" ng-if="pages.length" style="float: right;margin-right: 60px;">
                     <div class="ng-cloak ng-table-pager" ng-if="pages.length" style="float: right;margin-right: 60px;">
                         <ul class="pagination ng-table-pagination">
                         <ul class="pagination ng-table-pagination">
@@ -673,7 +673,7 @@
                 </div>
                 </div>
             </div>
             </div>
             <!-- 收款账户-->
             <!-- 收款账户-->
-            <div class="tab" ng-if="$payCenter.tab == 'accountHis'" style="display: inline-block;">
+            <div class="tab" ng-if="$payCenter.tab == 'accountTab'" style="display: inline-block;">
                 <div class="tab-header">
                 <div class="tab-header">
                     <span>已设置的账户信息</span>
                     <span>已设置的账户信息</span>
                     <div ng-click="editAccount()">
                     <div ng-click="editAccount()">
@@ -693,21 +693,20 @@
                     </tr>
                     </tr>
                     </thead>
                     </thead>
                     <tbody>
                     <tbody>
-                    <tr>
-                        <!--<td colspan="8" class="hei16"></td>-->
-                        <td>111</td>
-                        <td>111</td>
-                        <td>111</td>
-                        <td>111</td>
-                        <td>111</td>
+                    <tr ng-repeat="account in accounts">
+                        <td ng-bind="account.bankname">中国银行</td>
+                        <td ng-bind="account.branchname">南山支行</td>
+                        <td ng-bind="account.number | hideBankFilter">1256325*******************5621</td>
+                        <td ng-bind="account.accountname">优软*********有限公司</td>
+                        <td ng-bind="account.status | bankStatusFilter">状态</td>
                         <td class="operate-area">
                         <td class="operate-area">
                             <span>重新使用</span>
                             <span>重新使用</span>
                             <span>删除</span>
                             <span>删除</span>
                         </td>
                         </td>
                     </tr>
                     </tr>
                 </table>
                 </table>
-                <p style="text-align:right;margin-right:28px;margin-top:10px;">显示1-10 条,共 2506 条</p>
-                <div class="com-del-box">
+                <p style="text-align:right;margin-right:28px;margin-top:10px;">显示{{$$bankInfo.start}}-{{$$bankInfo.end}} 条,共 {{$$bankInfo.totalElements}}条</p>
+                <div class="com-del-box" ng-if="false">
                     <div class="title">
                     <div class="title">
                         <i></i>
                         <i></i>
                     </div>
                     </div>