parent
0b7616f212
commit
6daa0cf640
@ -0,0 +1,67 @@
|
||||
package au.com.royalpay.payment.manage.kyc.bean;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
/**
|
||||
* Created by yishuqian on 8/30/16.
|
||||
*/
|
||||
public class KycPartnersQuery {
|
||||
private String clientMoniker;
|
||||
private String status;
|
||||
private int page = 1;
|
||||
private int limit = 10;
|
||||
private boolean onlyMe = false;
|
||||
|
||||
public String getClientMoniker() {
|
||||
return clientMoniker;
|
||||
}
|
||||
|
||||
public void setClientMoniker(String title) {
|
||||
this.clientMoniker = title;
|
||||
}
|
||||
|
||||
public String getStatus() {
|
||||
return status;
|
||||
}
|
||||
|
||||
public void setStatus(String status) {
|
||||
this.status = status;
|
||||
}
|
||||
|
||||
public int getPage() {
|
||||
return page;
|
||||
}
|
||||
|
||||
public void setPage(int page) {
|
||||
this.page = page;
|
||||
}
|
||||
|
||||
public int getLimit() {
|
||||
return limit;
|
||||
}
|
||||
|
||||
public void setLimit(int limit) {
|
||||
this.limit = limit;
|
||||
}
|
||||
|
||||
public boolean isOnlyMe() {
|
||||
return onlyMe;
|
||||
}
|
||||
|
||||
public void setOnlyMe(boolean onlyMe) {
|
||||
this.onlyMe = onlyMe;
|
||||
}
|
||||
|
||||
public JSONObject toJsonParam() {
|
||||
JSONObject param = new JSONObject();
|
||||
if (StringUtils.isNotBlank(clientMoniker)) {
|
||||
param.put("clientMoniker", getClientMoniker());
|
||||
}
|
||||
if (StringUtils.isNotBlank(status)) {
|
||||
param.put("status", getStatus());
|
||||
}
|
||||
return param;
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,16 @@
|
||||
package au.com.royalpay.payment.manage.kyc.core;
|
||||
|
||||
import au.com.royalpay.payment.manage.kyc.bean.KycPartnersQuery;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface KycManage {
|
||||
|
||||
JSONObject listProgressClients(JSONObject manager, KycPartnersQuery query);
|
||||
|
||||
JSONObject listCompletedClients(JSONObject manager, KycPartnersQuery query);
|
||||
|
||||
List<JSONObject> listNeedHelpClients(JSONObject manager, KycPartnersQuery query);
|
||||
|
||||
}
|
@ -0,0 +1,73 @@
|
||||
package au.com.royalpay.payment.manage.kyc.core.impls;
|
||||
|
||||
import au.com.royalpay.payment.manage.kyc.bean.KycPartnersQuery;
|
||||
import au.com.royalpay.payment.manage.kyc.core.KycManage;
|
||||
import au.com.royalpay.payment.manage.mappers.financial.FinancialBDConfigMapper;
|
||||
import au.com.royalpay.payment.manage.mappers.system.ClientComplianceCompanyMapper;
|
||||
import au.com.royalpay.payment.manage.mappers.system.ClientMapper;
|
||||
import au.com.royalpay.payment.tools.permission.enums.ManagerRole;
|
||||
import au.com.royalpay.payment.tools.utils.PageListUtils;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.github.miemiedev.mybatis.paginator.domain.Order;
|
||||
import com.github.miemiedev.mybatis.paginator.domain.PageBounds;
|
||||
import com.github.miemiedev.mybatis.paginator.domain.PageList;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Service
|
||||
public class KycManageImpl implements KycManage {
|
||||
@Resource
|
||||
private ClientMapper clientMapper;
|
||||
@Resource
|
||||
private FinancialBDConfigMapper financialBDConfigMapper;
|
||||
@Resource
|
||||
private ClientComplianceCompanyMapper clientComplianceCompanyMapper;
|
||||
|
||||
@Override
|
||||
public JSONObject listProgressClients(JSONObject manager, KycPartnersQuery query) {
|
||||
JSONObject params = query.toJsonParam();
|
||||
checkManagerPermission(manager, params, query);
|
||||
PageList<JSONObject> progressClients = clientComplianceCompanyMapper.listKycProgressClients(params, new PageBounds(query.getPage(), query.getLimit(), Order.formString("create_time.desc")));
|
||||
return PageListUtils.buildPageListResult(progressClients);
|
||||
}
|
||||
|
||||
@Override
|
||||
public JSONObject listCompletedClients(JSONObject manager, KycPartnersQuery query) {
|
||||
JSONObject params = query.toJsonParam();
|
||||
checkManagerPermission(manager, params, query);
|
||||
PageList<JSONObject> completedClients = clientMapper.listCompletedContractKycClients(params, new PageBounds(query.getPage(), query.getLimit(), Order.formString("create_time.desc")));
|
||||
return PageListUtils.buildPageListResult(completedClients);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<JSONObject> listNeedHelpClients(JSONObject manager, KycPartnersQuery query) {
|
||||
JSONObject params = query.toJsonParam();
|
||||
checkManagerPermission(manager, params, query);
|
||||
return clientComplianceCompanyMapper.listNeedHelpClients(params);
|
||||
}
|
||||
|
||||
private void checkManagerPermission(JSONObject manager, JSONObject params, KycPartnersQuery query) {
|
||||
if (ManagerRole.BD_USER.hasRole(manager.getIntValue("role"))) {
|
||||
JSONObject bdConfig = financialBDConfigMapper.getBdConfig(manager.getString("manager_id"));
|
||||
if (bdConfig != null) {
|
||||
params.put("bd_group", bdConfig.getString("bd_group"));
|
||||
List<JSONObject> listGroupBds = financialBDConfigMapper.listGroupBds(bdConfig.getString("bd_group"));
|
||||
List<String> bdUserId = listGroupBds.stream().map(groupBd -> groupBd.getString("manager_id")).collect(Collectors.toList());
|
||||
if (params.containsKey("bd_user")) {
|
||||
if (!bdUserId.contains(params.getString("bd_user"))) {
|
||||
params.remove("bd_user");
|
||||
}
|
||||
}
|
||||
}
|
||||
if (query.isOnlyMe()) {
|
||||
params.put("bd_user", manager.getString("manager_id"));
|
||||
if (params.containsKey("bd_group")) {
|
||||
params.remove("bd_group");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,38 @@
|
||||
package au.com.royalpay.payment.manage.kyc.web;
|
||||
|
||||
import au.com.royalpay.payment.manage.kyc.bean.KycPartnersQuery;
|
||||
import au.com.royalpay.payment.manage.kyc.core.KycManage;
|
||||
import au.com.royalpay.payment.manage.permission.manager.ManagerMapping;
|
||||
import au.com.royalpay.payment.tools.CommonConsts;
|
||||
import au.com.royalpay.payment.tools.permission.enums.ManagerRole;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import org.springframework.web.bind.annotation.ModelAttribute;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/sys/kyc/manage")
|
||||
public class KycManageController {
|
||||
|
||||
@Resource
|
||||
private KycManage kycManage;
|
||||
|
||||
@ManagerMapping(value = "/partner/progressing", method = RequestMethod.GET, role = {ManagerRole.OPERATOR, ManagerRole.BD_USER})
|
||||
public JSONObject listProgressClients(@ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager, KycPartnersQuery query) {
|
||||
return kycManage.listProgressClients(manager, query);
|
||||
}
|
||||
|
||||
@ManagerMapping(value = "/partner/completed", method = RequestMethod.GET, role = {ManagerRole.OPERATOR, ManagerRole.BD_USER})
|
||||
public JSONObject listCompletedClients(@ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager, KycPartnersQuery query) {
|
||||
return kycManage.listCompletedClients(manager, query);
|
||||
}
|
||||
|
||||
@ManagerMapping(value = "/partner/need_help", method = RequestMethod.GET, role = {ManagerRole.OPERATOR, ManagerRole.BD_USER})
|
||||
public List<JSONObject> listNeedHelpClients(@ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager, KycPartnersQuery query) {
|
||||
return kycManage.listNeedHelpClients(manager, query);
|
||||
}
|
||||
}
|
File diff suppressed because one or more lines are too long
@ -0,0 +1,84 @@
|
||||
define(['angular', 'static/commons/commons', 'uiBootstrap', 'uiRouter', 'ngBootSwitch', 'ngFileUpload', 'uiSelect'], function (angular) {
|
||||
'use strict';
|
||||
var app = angular.module('kycManageApp', ['ui.bootstrap', 'ui.router', 'frapontillo.bootstrap-switch', 'ngFileUpload', 'ui.select']);
|
||||
app.config(['$stateProvider', function ($stateProvider) {
|
||||
$stateProvider.state('partnerKYCProgress', {
|
||||
url: '/partners/partnerKYCProgress',
|
||||
templateUrl: 'static/payment/kyc/templates/partner_kyc_progress.html',
|
||||
controller: 'partnerKYCProgressCtrl'
|
||||
})
|
||||
}]);
|
||||
|
||||
app.controller('partnerKYCProgressCtrl', ['$scope', '$sce', '$http','$uibModal',
|
||||
function ($scope, $sce, $http, $uibModal) {
|
||||
$scope.ctrl = {
|
||||
plusShow1: false,
|
||||
plusShow2: false,
|
||||
plusShow3: false
|
||||
};
|
||||
$scope.progressPagination = {};
|
||||
$scope.completedPagination = {};
|
||||
$scope.params = {};
|
||||
$scope.loadClientProgressing = function (page,status) {
|
||||
var params = angular.copy($scope.params);
|
||||
params.status = status;
|
||||
params.page = page || $scope.progressPagination.page || 1;
|
||||
$http.get('/sys/kyc/manage/partner/progressing', {params: params}).then(function (resp) {
|
||||
$scope.approving = resp.data.data;
|
||||
$scope.progressPagination = resp.data.pagination;
|
||||
});
|
||||
};
|
||||
|
||||
$scope.loadClientCompleted = function (page) {
|
||||
var params = angular.copy($scope.params);
|
||||
params.page = page || $scope.completedPagination.page || 1;
|
||||
$http.get('/sys/kyc/manage/partner/completed', {params: params}).then(function (resp) {
|
||||
$scope.completed_contract = resp.data.data;
|
||||
$scope.completedPagination = resp.data.pagination;
|
||||
});
|
||||
};
|
||||
|
||||
$scope.loadClientNeedHelp = function () {
|
||||
var params = angular.copy($scope.params);
|
||||
$http.get('/sys/kyc/manage/partner/need_help', {params: params}).then(function (resp) {
|
||||
$scope.need_help = resp.data;
|
||||
});
|
||||
};
|
||||
$scope.loadClientNeedHelp();
|
||||
$scope.loadClientCompleted();
|
||||
$scope.loadClientProgressing();
|
||||
$scope.statusSelected = function (arr) {
|
||||
return $scope.params.status != null && $scope.params.status.filter(function (status) {
|
||||
return arr.indexOf(status) >= 0
|
||||
}).length > 0 || $scope.status != null && $scope.status.filter(function (status) {
|
||||
return arr.indexOf(status) >= 0
|
||||
}).length > 0
|
||||
};
|
||||
|
||||
$scope.addHandleLog = function (info) {
|
||||
debugger
|
||||
$uibModal.open({
|
||||
templateUrl: '/static/payment/partner/templates/add_handle_log.html',
|
||||
controller: 'addHandleDetailCtrl',
|
||||
resolve:{
|
||||
compliance_id:function () {
|
||||
return info.compliance_id;
|
||||
}}
|
||||
}).result.then(function () {
|
||||
commonDialog.alert({title: 'Success', type: 'success'});
|
||||
})
|
||||
};
|
||||
}]);
|
||||
|
||||
app.controller('addHandleDetailCtrl', [ '$scope', '$http', '$state', 'compliance_id', 'commonDialog',function ($scope, $http, $state, compliance_id, commonDialog) {
|
||||
$scope.handleDetail = {compliance_id:compliance_id};
|
||||
$scope.addHandleLog = function () {
|
||||
$http.put('/register/manage', $scope.handleDetail).then(function (resp) {
|
||||
$scope.$close();
|
||||
},function (resp) {
|
||||
|
||||
});
|
||||
}
|
||||
}]);
|
||||
return app;
|
||||
});
|
@ -0,0 +1,375 @@
|
||||
<script src="static/commons/services/circleChart.min.js"></script>
|
||||
<style>
|
||||
.btn-box-tool {
|
||||
color: #97a0b3
|
||||
}
|
||||
</style>
|
||||
<script>
|
||||
$(".circleChart1").circleChart({
|
||||
value: Math.random()*100,
|
||||
redraw: false,
|
||||
startAngle: 50,
|
||||
text: 0 + '%',
|
||||
onDraw: function(el, circle){
|
||||
$(".circleChart_text", el).html(Math.round(circle.value) + '%');
|
||||
}
|
||||
});
|
||||
$(".circleChart2").circleChart({
|
||||
value: Math.random()*100,
|
||||
redraw: false,
|
||||
startAngle: 50,
|
||||
text:true,
|
||||
onDraw: function(el, circle){
|
||||
$(".circleChart_text", el).html(Math.round(circle.value) + '%');
|
||||
}
|
||||
});
|
||||
$(".circleChart3").circleChart({
|
||||
value: Math.random()*100,
|
||||
redraw: false,
|
||||
startAngle: 50,
|
||||
text: 0 + '%',
|
||||
onDraw: function(el, circle){
|
||||
$(".circleChart_text", el).html(Math.round(circle.value) + '%');
|
||||
}
|
||||
});
|
||||
</script>
|
||||
<section class="content-header" style="margin-bottom: 30px">
|
||||
<h1>商户KYC认证进度</h1>
|
||||
<ol class="breadcrumb">
|
||||
<li>
|
||||
<i class="fa fa-sitemap"></i> Partner Manage
|
||||
</li>
|
||||
<li class="active">商户KYC认证进度</li>
|
||||
</ol>
|
||||
</section>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-lg-4 col-6">
|
||||
<!-- small card -->
|
||||
<div class="small-box bg-info">
|
||||
<div class="inner">
|
||||
<h3>44</h3>
|
||||
|
||||
<p>User Registrations</p>
|
||||
</div>
|
||||
<div class="icon">
|
||||
<div class="circleChart1"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-4 col-6">
|
||||
<!-- small card -->
|
||||
<div class="small-box bg-info">
|
||||
<div class="inner">
|
||||
<h3>44</h3>
|
||||
|
||||
<p>User Registrations</p>
|
||||
</div>
|
||||
<div class="icon">
|
||||
<div class="circleChart2"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-4 col-6">
|
||||
<!-- small card -->
|
||||
<div class="small-box bg-info">
|
||||
<div class="inner">
|
||||
<h3>44</h3>
|
||||
|
||||
<p>User Registrations</p>
|
||||
</div>
|
||||
<div class="icon">
|
||||
<div class="circleChart3"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="box box-warning">
|
||||
<div class="box-header">待处理需要帮助的商户({{need_help.length}}家):
|
||||
<div class="box-tools pull-right">
|
||||
<button type="button" ng-if="!ctrl.plusShow1" class="btn btn-tool btn-box-tool" data-toggle="collapse" data-target="#need-help" ng-click="ctrl.plusShow1=true">
|
||||
<i class="fa fa-minus"></i>
|
||||
</button>
|
||||
<button type="button" ng-if="ctrl.plusShow1" class="btn btn-tool btn-box-tool" data-toggle="collapse" data-target="#need-help" ng-click="ctrl.plusShow1=false">
|
||||
<i class="fa fa-plus"></i>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="box-body table-responsive collapse in" id="need-help">
|
||||
<table class="table table-bordered table-striped table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Client Moniker</th>
|
||||
<th>Short Name</th>
|
||||
<th>Compliance Status</th>
|
||||
<th>Register Time</th>
|
||||
<th>Submit Time</th>
|
||||
<th>Source</th>
|
||||
<th>Operation</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr ng-repeat="client in need_help">
|
||||
<td>
|
||||
{{client.client_moniker}}
|
||||
</td>
|
||||
<td ng-bind="client.short_name"></td>
|
||||
<td ng-class="{'bg-green':(client.approve_result==2 && (client.client_source==1 || client.client_source==2)),'bg-red':((client.open_status==1||client.open_status==2||client.open_status==4) && client.approve_result!=3)||(client.approve_result==3 && (!client.open_status || client.open_status==1 || client.open_status == 4))||(client.approve_result==4 && !client.open_status)||(client.open_status==10)}">
|
||||
<span ng-if="client.approve_result==1 && client.approve_time">通过({{client.approve_time}})</span>
|
||||
<span ng-if="!client.open_status && !client.approve_result && client.approve_result!=5 && client.client_source!=4">资料完善中</span>
|
||||
<span ng-if="!client.open_status && !client.approve_result && client.approve_result!=5 && client.client_source==4">(自助开通)资料完善中</span>
|
||||
<span ng-if="!client.open_status && client.approve_result==2 && client.approve_time">自助开通试用中({{client.approve_time}}~{{client.expiry_time}})</span>
|
||||
<span ng-if="client.approve_result==0 && client.approve_time">不通过({{client.approve_time}})</span>
|
||||
<span ng-if="client.approve_result==5 && client.approve_time && client.refuse_remark">申请打回({{client.refuse_remark|limitTo:15}})</span>
|
||||
<span ng-if="(client.open_status==1||client.open_status==4) && client.approve_result!=3"><i
|
||||
ng-if="client.refuse_remark.length>0" class="fa fa-reply" aria-hidden="true"
|
||||
title="被打回重新提交"></i>等待合规</span>
|
||||
<span ng-if="client.approve_result==3 && (!client.open_status || client.open_status==4)">自助开通(等待合规)</span>
|
||||
<span ng-if="client.open_status==2">合同制作完成</span>
|
||||
<span ng-if="client.open_status==3 && client.approve_result!=5">等待BD上传材料审核</span>
|
||||
<span ng-if="client.open_status==10">绿色通道申请中</span>
|
||||
<span ng-if="client.approve_result==4 && !client.open_status"><i
|
||||
ng-if="client.refuse_remark.length>0" class="fa fa-reply" aria-hidden="true"
|
||||
title="被打回重新提交"></i>等待合规</span>
|
||||
</td>
|
||||
<td ng-bind="client.create_time|date:'dd/MMM/yyyy'"></td>
|
||||
<td ng-bind="client.submit_time|date:'dd/MMM/yyyy'"></td>
|
||||
<td>
|
||||
<span ng-if="client.source==1">App</span>
|
||||
<span ng-if="client.source==2">Web</span>
|
||||
</td>
|
||||
<td>
|
||||
<a class="text-primary" role="button" title="Detail"
|
||||
ui-sref="partner_apply.apply_detail({client_pre_apply_id:apply.client_pre_apply_id})">
|
||||
<i class="fa fa-search"></i> Detail
|
||||
</a>|
|
||||
<a class="text-primary" role="button" title="Detail" ng-click="addHandleLog(client)">Handle
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="box box-info" style="margin-top: 30px;">
|
||||
<div class="box-header">已提交审核({{progressPagination.totalCount}}家):
|
||||
<div class="box-tools pull-right">
|
||||
<button type="button" ng-if="!ctrl.plusShow2" class="btn btn-tool btn-box-tool" data-toggle="collapse" data-target="#approving" ng-click="ctrl.plusShow2=true">
|
||||
<i class="fa fa-minus"></i>
|
||||
</button>
|
||||
<button type="button" ng-if="ctrl.plusShow2" class="btn btn-tool btn-box-tool" data-toggle="collapse" data-target="#approving" ng-click="ctrl.plusShow2=false">
|
||||
<i class="fa fa-plus"></i>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="box-body table-responsive collapse in" id="approving">
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
<div class="form-horizontal">
|
||||
<div class="form-group col-xs-12">
|
||||
<label class="col-xs-4 col-sm-2 control-label">Partner Code</label>
|
||||
<div class="col-sm-5 col-xs-8">
|
||||
<input class="form-control" placeholder="" ng-click="loadClientProgressing(1)"
|
||||
ng-model="params.client_moniker">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group col-xs-12">
|
||||
<label class="control-label col-xs-4 col-sm-2">审核状态:</label>
|
||||
<div class="col-sm-10 col-xs-8">
|
||||
<p class="form-control-static">
|
||||
<a role="button" ng-class="{'bg-primary':status==null}"
|
||||
ng-click="status=null;loadClientProgressing(1,status)">All</a> |
|
||||
<a role="button" ng-class="{'bg-primary':statusSelected([0])}"
|
||||
ng-click="status=[0];loadClientProgressing(1,status)">待审核</a>|
|
||||
<a role="button" ng-class="{'bg-primary':statusSelected([1])}"
|
||||
ng-click="status=[1];loadClientProgressing(1,status)">通过</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<button class="btn btn-success" type="button" ng-click="loadClientProgressing()">
|
||||
<i class="fa fa-search"></i> Search
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="box-body table-responsive">
|
||||
<table class="table table-bordered table-striped table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Client Moniker</th>
|
||||
<th>Short Name</th>
|
||||
<th>Compliance Status</th>
|
||||
<th>Register Time</th>
|
||||
<th>AuthFile Status</th>
|
||||
<th>Submit Time</th>
|
||||
<th>Source</th>
|
||||
<th>Operation</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr ng-repeat="client in approving">
|
||||
<td ng-bind="client.client_moniker"></td>
|
||||
<td ng-bind="client.short_name"></td>
|
||||
<td ng-class="{'bg-green':(client.approve_result==2 && (client.client_source==1 || client.client_source==2)),'bg-red':((client.open_status==1||client.open_status==2||client.open_status==4) && client.approve_result!=3)||(client.approve_result==3 && (!client.open_status || client.open_status==1 || client.open_status == 4))||(client.approve_result==4 && !client.open_status)||(client.open_status==10)}">
|
||||
<span ng-if="client.approve_result==1 && client.approve_time">通过({{client.approve_time}})</span>
|
||||
<span ng-if="!client.open_status && !client.approve_result && client.approve_result!=5 && client.client_source!=4">资料完善中</span>
|
||||
<span ng-if="!client.open_status && !client.approve_result && client.approve_result!=5 && client.client_source==4">(自助开通)资料完善中</span>
|
||||
<span ng-if="!client.open_status && client.approve_result==2 && client.approve_time">自助开通试用中({{client.approve_time}}~{{client.expiry_time}})</span>
|
||||
<span ng-if="client.approve_result==0 && client.approve_time">不通过({{client.approve_time}})</span>
|
||||
<span ng-if="client.approve_result==5 && client.approve_time && client.refuse_remark">申请打回({{client.refuse_remark|limitTo:15}})</span>
|
||||
<span ng-if="(client.open_status==1||client.open_status==4) && client.approve_result!=3"><i
|
||||
ng-if="client.refuse_remark.length>0" class="fa fa-reply" aria-hidden="true"
|
||||
title="被打回重新提交"></i>等待合规</span>
|
||||
<span ng-if="client.approve_result==3 && (!client.open_status || client.open_status==4)">自助开通(等待合规)</span>
|
||||
<span ng-if="client.open_status==2">合同制作完成</span>
|
||||
<span ng-if="client.open_status==3 && client.approve_result!=5">等待BD上传材料审核</span>
|
||||
<span ng-if="client.open_status==10">绿色通道申请中</span>
|
||||
<span ng-if="client.approve_result==4 && !client.open_status"><i
|
||||
ng-if="client.refuse_remark.length>0" class="fa fa-reply" aria-hidden="true"
|
||||
title="被打回重新提交"></i>等待合规</span>
|
||||
</td>
|
||||
<td ng-bind="client.create_time|date:'dd/MMM/yyyy'"></td>
|
||||
<td>
|
||||
<span ng-if="client.status==0">待审核</span>
|
||||
<span ng-if="client.status==1">通过</span>
|
||||
<span ng-if="client.status==2">打回</span>
|
||||
</td>
|
||||
<td ng-bind="client.submit_time|date:'dd/MMM/yyyy'"></td>
|
||||
<td>
|
||||
<span ng-if="client.source==1">App</span>
|
||||
<span ng-if="client.source==2">Web</span>
|
||||
</td>
|
||||
<td><a class="text-primary" role="button" title="Detail"
|
||||
ui-sref="compliance_detail({client_moniker:client.client_moniker})">
|
||||
<i class="fa fa-search"></i> Detail
|
||||
</a>
|
||||
</td>
|
||||
<!--({client_id:client.client_id})-->
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<uib-pagination ng-if="approving.length"
|
||||
class="pagination"
|
||||
total-items="progressPagination.totalCount"
|
||||
boundary-links="true"
|
||||
ng-model="pagination.page"
|
||||
items-per-page="pagination.limit"
|
||||
max-size="10"
|
||||
ng-change="loadClientProgressing()"
|
||||
previous-text="‹"
|
||||
next-text="›"
|
||||
first-text="«"
|
||||
last-text="»"></uib-pagination>
|
||||
<div class="col-xs-12">Total Records:{{progressPagination.totalCount}};Total Pages:{{progressPagination.totalPages}}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="box box-danger" style="margin-top: 30px;">
|
||||
<div class="box-header">未提交审核({{completedPagination.totalCount}}家):
|
||||
<div class="box-tools pull-right">
|
||||
<button type="button" ng-if="!ctrl.plusShow3" class="btn btn-tool btn-box-tool" data-toggle="collapse" data-target="#completed_contract" ng-click="ctrl.plusShow3=true">
|
||||
<i class="fa fa-minus"></i>
|
||||
</button>
|
||||
<button type="button" ng-if="ctrl.plusShow3" class="btn btn-tool btn-box-tool" data-toggle="collapse" data-target="#completed_contract" ng-click="ctrl.plusShow3=false">
|
||||
<i class="fa fa-plus"></i>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="box-body table-responsive collapse in" id="completed_contract">
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
<div class="form-horizontal">
|
||||
<div class="form-group col-xs-12">
|
||||
<label class="col-xs-4 col-sm-2 control-label">Partner Code</label>
|
||||
<div class="col-sm-5 col-xs-8">
|
||||
<input class="form-control" placeholder="" ng-click="loadClientCompleted(1)"
|
||||
ng-model="params.client_moniker">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group col-xs-12">
|
||||
<label class="control-label col-xs-4 col-sm-2">审核状态:</label>
|
||||
<div class="col-sm-10 col-xs-8">
|
||||
<p class="form-control-static">
|
||||
<a role="button" ng-class="{'bg-primary':params.status==null}"
|
||||
ng-click="params.status=null;loadClientCompleted(1)">All</a> |
|
||||
<a role="button" ng-class="{'bg-primary':statusSelected([3])}"
|
||||
ng-click="params.status=[3];loadClientCompleted(1)">未提交</a> |
|
||||
<a role="button" ng-class="{'bg-primary':statusSelected([2])}"
|
||||
ng-click="params.status=[2];loadClientCompleted(1)">打回</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<button class="btn btn-success" type="button" ng-click="loadClientCompleted()">
|
||||
<i class="fa fa-search"></i> Search
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="box-body table-responsive">
|
||||
<table class="table table-bordered table-striped table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Client Moniker</th>
|
||||
<th>Short Name</th>
|
||||
<th>Compliance Status</th>
|
||||
<th>Register Time</th>
|
||||
<th>Operation</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr ng-repeat="client in completed_contract">
|
||||
<td ng-bind="client.client_moniker"></td>
|
||||
<td ng-bind="client.short_name"></td>
|
||||
<td ng-class="{'bg-green':(client.approve_result==2 && (client.client_source==1 || client.client_source==2)),'bg-red':((client.open_status==1||client.open_status==2||client.open_status==4) && client.approve_result!=3)||(client.approve_result==3 && (!client.open_status || client.open_status==1 || client.open_status == 4))||(client.approve_result==4 && !client.open_status)||(client.open_status==10)}">
|
||||
<span ng-if="client.approve_result==1 && client.approve_time">通过({{client.approve_time}})</span>
|
||||
<span ng-if="!client.open_status && !client.approve_result && client.approve_result!=5 && client.client_source!=4">资料完善中</span>
|
||||
<span ng-if="!client.open_status && !client.approve_result && client.approve_result!=5 && client.client_source==4">(自助开通)资料完善中</span>
|
||||
<span ng-if="!client.open_status && client.approve_result==2 && client.approve_time">自助开通试用中({{client.approve_time}}~{{client.expiry_time}})</span>
|
||||
<span ng-if="client.approve_result==0 && client.approve_time">不通过({{client.approve_time}})</span>
|
||||
<span ng-if="client.approve_result==5 && client.approve_time && client.refuse_remark">申请打回({{client.refuse_remark|limitTo:15}})</span>
|
||||
<span ng-if="(client.open_status==1||client.open_status==4) && client.approve_result!=3"><i
|
||||
ng-if="client.refuse_remark.length>0" class="fa fa-reply" aria-hidden="true"
|
||||
title="被打回重新提交"></i>等待合规</span>
|
||||
<span ng-if="client.approve_result==3 && (!client.open_status || client.open_status==4)">自助开通(等待合规)</span>
|
||||
<span ng-if="client.open_status==2">合同制作完成</span>
|
||||
<span ng-if="client.open_status==3 && client.approve_result!=5">等待BD上传材料审核</span>
|
||||
<span ng-if="client.open_status==10">绿色通道申请中</span>
|
||||
<span ng-if="client.approve_result==4 && !client.open_status"><i
|
||||
ng-if="client.refuse_remark.length>0" class="fa fa-reply" aria-hidden="true"
|
||||
title="被打回重新提交"></i>等待合规</span>
|
||||
</td>
|
||||
<td ng-bind="client.create_time|date:'dd/MMM/yyyy'"></td>
|
||||
<td><a class="text-primary" role="button" title="Detail"
|
||||
ui-sref="compliance_detail({client_moniker:client.client_moniker})">
|
||||
<i class="fa fa-search"></i> Detail
|
||||
</a>
|
||||
</td>
|
||||
<!--({client_id:client.client_id})-->
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<uib-pagination ng-if="completed_contract.length"
|
||||
class="pagination"
|
||||
total-items="completedPagination.totalCount"
|
||||
boundary-links="true"
|
||||
ng-model="completedPagination.page"
|
||||
items-per-page="completedPagination.limit"
|
||||
max-size="10"
|
||||
ng-change="loadClientCompleted()"
|
||||
previous-text="‹"
|
||||
next-text="›"
|
||||
first-text="«"
|
||||
last-text="»"></uib-pagination>
|
||||
<div class="col-xs-12">Total Records:{{completedPagination.totalCount}};Total Pages:{{completedPagination.totalPages}}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
Loading…
Reference in new issue