commit
7949ad9e8a
@ -0,0 +1,68 @@
|
||||
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 client_moniker;
|
||||
private String status;
|
||||
private int page = 1;
|
||||
private int limit = 10;
|
||||
private boolean onlyMe = false;
|
||||
|
||||
|
||||
public String getClient_moniker() {
|
||||
return client_moniker;
|
||||
}
|
||||
|
||||
public void setClient_moniker(String client_moniker) {
|
||||
this.client_moniker = client_moniker;
|
||||
}
|
||||
|
||||
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(client_moniker)) {
|
||||
param.put("client_moniker", getClient_moniker());
|
||||
}
|
||||
if (StringUtils.isNotBlank(status)) {
|
||||
param.put("status", getStatus());
|
||||
}
|
||||
return param;
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,30 @@
|
||||
package au.com.royalpay.payment.manage.kyc.core;
|
||||
|
||||
import au.com.royalpay.payment.manage.kyc.bean.KycPartnersQuery;
|
||||
import au.com.royalpay.payment.manage.merchants.beans.ClientKycFilesInfo;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface KycService {
|
||||
|
||||
JSONObject listProgressClients(JSONObject manager, KycPartnersQuery query);
|
||||
|
||||
JSONObject listCompletedClients(JSONObject manager, KycPartnersQuery query);
|
||||
|
||||
JSONObject getKycDashboard(JSONObject manager);
|
||||
|
||||
List<JSONObject> listNeedHelpClients(JSONObject manager, KycPartnersQuery query);
|
||||
|
||||
void sendNotify(JSONObject complianceInfo);
|
||||
|
||||
void kycNotifyBd(JSONObject account, String source);
|
||||
|
||||
JSONObject getKycFilesForBdHelp(JSONObject manager, String clientMoniker);
|
||||
|
||||
void commitAuthKycFilesToCompliance(String clientMoniker, JSONObject account, String source);
|
||||
|
||||
void uploadKycFiles(JSONObject manager, String clientMoniker, ClientKycFilesInfo kycFilesInfo);
|
||||
|
||||
void deleteAuthFiles(String fileId, JSONObject manager);
|
||||
}
|
@ -0,0 +1,41 @@
|
||||
|
||||
package au.com.royalpay.payment.manage.kyc.enums;
|
||||
|
||||
/**
|
||||
* @Author: liuxinxin
|
||||
* @Date: 2019-12-13
|
||||
*/
|
||||
public enum FilesAuthEnum {
|
||||
|
||||
PASS_OPR(new int[]{2},1),
|
||||
COMMIT_OPR(new int[]{0,3},2),
|
||||
REFUSE_OPR(new int[]{2},3);
|
||||
|
||||
private final int[] beforeStatus;
|
||||
private final int afterStatus;
|
||||
|
||||
public int[] getBeforeStatus() {
|
||||
return beforeStatus;
|
||||
}
|
||||
|
||||
public int getAfterStatus() {
|
||||
return afterStatus;
|
||||
}
|
||||
|
||||
FilesAuthEnum(int[] beforeStatus, int afterStatus) {
|
||||
this.beforeStatus = beforeStatus;
|
||||
this.afterStatus = afterStatus;
|
||||
}
|
||||
|
||||
public String[] getAuthType(String type) {
|
||||
switch (type) {
|
||||
case "kyc":
|
||||
return new String[]{"client_bank_file","client_id_file","kyc_utility_bill_file"};
|
||||
case "compliance":
|
||||
return new String[]{"client_bank_file","client_id_file","client_agree_file","client_company_file"};
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,40 @@
|
||||
package au.com.royalpay.payment.manage.kyc.web;
|
||||
|
||||
import au.com.royalpay.payment.manage.kyc.core.KycService;
|
||||
import au.com.royalpay.payment.manage.mappers.system.ClientComplianceCompanyMapper;
|
||||
import au.com.royalpay.payment.manage.merchants.beans.ClientKycFilesInfo;
|
||||
import au.com.royalpay.payment.manage.merchants.core.ClientManager;
|
||||
import au.com.royalpay.payment.manage.permission.manager.PartnerMapping;
|
||||
import au.com.royalpay.payment.tools.CommonConsts;
|
||||
import au.com.royalpay.payment.tools.exceptions.BadRequestException;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/sys/kyc/partner")
|
||||
public class KycController {
|
||||
@Resource
|
||||
private KycService kycService;
|
||||
@Resource
|
||||
private ClientManager clientManager;
|
||||
@Resource
|
||||
private ClientComplianceCompanyMapper clientComplianceCompanyMapper;
|
||||
|
||||
@PartnerMapping(value = "/notifyBd", method = RequestMethod.PUT)
|
||||
@ResponseBody
|
||||
public void clientKycBdIntervention(@ModelAttribute(CommonConsts.PARTNER_STATUS) JSONObject account) {
|
||||
kycService.kycNotifyBd(account, "web");
|
||||
}
|
||||
|
||||
@PartnerMapping(value = "/update/wait_kyc_file", method = RequestMethod.PUT)
|
||||
@ResponseBody
|
||||
public void updateWaitKycFile(@ModelAttribute(CommonConsts.PARTNER_STATUS) JSONObject account, @RequestBody ClientKycFilesInfo filesInfo) {
|
||||
JSONObject kycFilesAuth = clientComplianceCompanyMapper.findKycFileComplete(account.getIntValue("client_id"));
|
||||
if (kycFilesAuth != null) {
|
||||
throw new BadRequestException("已通过审核,暂不能提交和修改");
|
||||
}
|
||||
clientManager.uploadKycFilesForWaitCompliance(account, account.getString("client_moniker"), filesInfo);
|
||||
}
|
||||
}
|
@ -0,0 +1,62 @@
|
||||
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.KycService;
|
||||
import au.com.royalpay.payment.manage.merchants.beans.ClientKycFilesInfo;
|
||||
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.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/sys/kyc/manage")
|
||||
public class KycManageController {
|
||||
@Resource
|
||||
private KycService kycService;
|
||||
|
||||
@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 kycService.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 kycService.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 kycService.listNeedHelpClients(manager, query);
|
||||
}
|
||||
|
||||
@ManagerMapping(value = "/partner/dashboard", method = RequestMethod.GET, role = {ManagerRole.OPERATOR, ManagerRole.BD_USER})
|
||||
public JSONObject getKycDashboard(@ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager) {
|
||||
return kycService.getKycDashboard(manager);
|
||||
}
|
||||
|
||||
@ManagerMapping(value = "/{clientMoniker}/bd_help",method = RequestMethod.GET, role = {ManagerRole.OPERATOR, ManagerRole.BD_USER})
|
||||
public JSONObject getKycFilesForBdHelp(@ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager, @PathVariable String clientMoniker) {
|
||||
return kycService.getKycFilesForBdHelp(manager,clientMoniker);
|
||||
}
|
||||
|
||||
@ManagerMapping(value = "/{clientMoniker}/kycCommit", method = RequestMethod.POST, role = {ManagerRole.OPERATOR, ManagerRole.BD_USER})
|
||||
public void clientKycFilesViewCommit(@PathVariable String clientMoniker ,@RequestBody JSONObject params,@ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager) {
|
||||
manager.put("id_type", params.getString("id_type"));
|
||||
manager.put("bd_handle", params.getString("bd_handle"));
|
||||
kycService.commitAuthKycFilesToCompliance(clientMoniker, manager, "Web");
|
||||
}
|
||||
|
||||
@ManagerMapping(value = "/{clientMoniker}/update", role = {ManagerRole.OPERATOR, ManagerRole.BD_USER})
|
||||
public void updateKycFile(@PathVariable String clientMoniker, @ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager, @RequestBody ClientKycFilesInfo filesInfo) {
|
||||
kycService.uploadKycFiles(manager, clientMoniker, filesInfo);
|
||||
}
|
||||
|
||||
@ManagerMapping(value = "/auth_file/{fileId}/delete", method = RequestMethod.PUT, role = {ManagerRole.OPERATOR, ManagerRole.BD_USER})
|
||||
public void deleteAuthFiles(@PathVariable String fileId, @ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager) {
|
||||
kycService.deleteAuthFiles(fileId, manager);
|
||||
}
|
||||
}
|
@ -0,0 +1,54 @@
|
||||
package au.com.royalpay.payment.manage.merchants.beans;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
|
||||
/**
|
||||
* Created by liuxinxin on 09/12/2019.
|
||||
*/
|
||||
public class ClientKycFilesInfo {
|
||||
|
||||
private String file_bank_info;
|
||||
|
||||
private String file_id_info;
|
||||
|
||||
private String utility_bill_info;
|
||||
|
||||
private int authStatus=0;
|
||||
|
||||
public JSONObject toJson(){
|
||||
return (JSONObject)JSONObject.toJSON(this);
|
||||
}
|
||||
|
||||
public String getFile_bank_info() {
|
||||
return file_bank_info;
|
||||
}
|
||||
|
||||
public void setFile_bank_info(String file_bank_info) {
|
||||
this.file_bank_info = file_bank_info;
|
||||
}
|
||||
|
||||
public String getFile_id_info() {
|
||||
return file_id_info;
|
||||
}
|
||||
|
||||
public void setFile_id_info(String file_id_info) {
|
||||
this.file_id_info = file_id_info;
|
||||
}
|
||||
|
||||
public String getUtility_bill_info() {
|
||||
return utility_bill_info;
|
||||
}
|
||||
|
||||
public void setUtility_bill_info(String utility_bill_info) {
|
||||
this.utility_bill_info = utility_bill_info;
|
||||
}
|
||||
|
||||
public int getAuthStatus() {
|
||||
return authStatus;
|
||||
}
|
||||
|
||||
public void setAuthStatus(int authStatus) {
|
||||
this.authStatus = authStatus;
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,28 @@
|
||||
<html xmlns:th="http://www.thymeleaf.org" lang="zh">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1.0">
|
||||
</head>
|
||||
<body>
|
||||
<div style="width: 91%;border: 1px #F2F2F2 solid;margin: 0 auto; ">
|
||||
<div style="height: 3%;background-color: #F2F2F2;"></div>
|
||||
<div style="text-align: center;margin-top: 2.5%;">
|
||||
<img th:src="${img_url}"/>
|
||||
</div>
|
||||
<div style="width: 80.3%;margin: 0 auto;">
|
||||
<p>您好,<span th:text="${name}"></span></p>
|
||||
<p>商户:<span th:text="${client_moniker}"></span>需要您协助上传KYC材料。(申请时间:<span th:text="${submit_time}"></span>)</p>
|
||||
<p>请尽快联系商户,您可以帮助商户提交材料或填写无法提供材料文件的原因。</p>
|
||||
<p>商户联系人:<span th:text="${contact_person}"></span></p>
|
||||
<p>联系电话:<span th:text="${contact_phone}"></span></p>
|
||||
<p>邮箱:<span th:text="${contact_email}"></span></p>
|
||||
|
||||
<span>此致</span><br />
|
||||
<span>RoyalPay</span>
|
||||
</div>
|
||||
<div style="height: 3%;background-color: #F2F2F2;margin-top: 6.5%;"></div>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
File diff suppressed because one or more lines are too long
@ -0,0 +1,380 @@
|
||||
<script src="static/commons/services/circleChart.min.js"></script>
|
||||
<style>
|
||||
.btn-box-tool {
|
||||
color: #97a0b3
|
||||
}
|
||||
.bg-info4 {
|
||||
color: white;
|
||||
background-color: #00c0ef;
|
||||
margin: 0 10px 20px 10px;
|
||||
}
|
||||
.bg-info1 {
|
||||
color: white;
|
||||
background-color: #dd4b39;
|
||||
margin: 0 10px 20px 10px;
|
||||
}
|
||||
.bg-info2 {
|
||||
color: white;
|
||||
background-color: #00a65a;
|
||||
margin: 0 10px 20px 10px;
|
||||
}
|
||||
.bg-info3 {
|
||||
color: white;
|
||||
background-color: #f39c12;
|
||||
margin: 0 10px 20px 10px;
|
||||
}
|
||||
.circleChart_canvas {
|
||||
display: none;
|
||||
}
|
||||
</style>
|
||||
<section class="content-header">
|
||||
<h1>商户KYC认证进度</h1>
|
||||
<ol class="breadcrumb">
|
||||
<li>
|
||||
<i class="fa fa-sitemap"></i> Partner Manage
|
||||
</li>
|
||||
<li class="active">商户KYC认证进度</li>
|
||||
</ol>
|
||||
</section>
|
||||
<div ui-view>
|
||||
<div class="row" style="padding: 0 30px;margin-top: 30px;">
|
||||
<div class="col-lg-3 col-6">
|
||||
<!-- small card -->
|
||||
<div class="small-box bg-info4">
|
||||
<div class="inner" style="height: 130px;">
|
||||
<h2 class="bg-title">{{total_need_help}}</h2>
|
||||
<p class="bg-title1">{{total_need_help}}/{{total_partner}}</p>
|
||||
<p class="bg-title2">需要帮助的商户/总商户数</p>
|
||||
</div>
|
||||
<div class="icon" style="position: absolute;top: 2px;right: 10px;">
|
||||
<div class="circleChart1" style="color: white"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-3 col-6">
|
||||
<!-- small card -->
|
||||
<div class="small-box bg-info3">
|
||||
<div class="inner" style="height: 130px;">
|
||||
<h2 class="bg-title">{{total_progressing}}</h2>
|
||||
<p class="bg-title1">{{total_progressing}}/{{total_partner}}</p>
|
||||
<p class="bg-title2">已提交材料/总商户数</p>
|
||||
</div>
|
||||
<div class="icon" style="position: absolute;top: 2px;right: 10px;">
|
||||
<div class="circleChart2" style="color: white"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-3 col-6">
|
||||
<!-- small card -->
|
||||
<div class="small-box bg-info2">
|
||||
<div class="inner" style="height: 130px;">
|
||||
<h2 class="bg-title">{{total_pass_partner}}</h2>
|
||||
<p class="bg-title1">{{total_pass_partner}}/{{total_partner}}</p>
|
||||
<p class="bg-title2">已通过/总商户数</p>
|
||||
</div>
|
||||
<div class="icon" style="position: absolute;top: 2px;right: 10px;">
|
||||
<div class="circleChart3" style="color: white"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-3 col-6">
|
||||
<!-- small card -->
|
||||
<div class="small-box bg-info1">
|
||||
<div class="inner" style="height: 130px;">
|
||||
<h2 class="bg-title">{{total_refuse_partner}}</h2>
|
||||
<p class="bg-title1">{{total_refuse_partner}}/{{total_progressing}}</p>
|
||||
<p class="bg-title2">材料打回/提交审核商户数</p>
|
||||
</div>
|
||||
<div class="icon" style="position: absolute;top: 2px;right: 10px;">
|
||||
<div class="circleChart4" style="color: white"></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="partners.detail({clientMoniker:client.client_moniker})">
|
||||
<i class="fa fa-search"></i> Detail
|
||||
</a>|
|
||||
<a class="text-primary" role="button" title="Detail" ui-sref="partnerKYCProgress.bdHelpKycProgress({clientMoniker:client.client_moniker})">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.progress_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.progress_status==null}"
|
||||
ng-click="params.progress_status=null;loadClientProgressing(1,params.progress_status)">All</a> |
|
||||
<a role="button" ng-class="{'bg-primary':statusSelected([0])}"
|
||||
ng-click="params.progress_status=[0];loadClientProgressing(1,params.progress_status)">待审核</a>|
|
||||
<a role="button" ng-class="{'bg-primary':statusSelected([1])}"
|
||||
ng-click="params.progress_status=[1];loadClientProgressing(1,params.progress_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="partners.detail({clientMoniker: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="progressPagination"
|
||||
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.completed_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="partners.detail({clientMoniker: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>
|
||||
</div>
|
||||
|
||||
|
@ -0,0 +1,37 @@
|
||||
<section class="content-header">
|
||||
<h1>商户合规文件审核</h1>
|
||||
<ol class="breadcrumb">
|
||||
<li>
|
||||
<i class="fa fa-sitemap"></i> Compliance Management
|
||||
</li>
|
||||
<li class="active">商户合规文件审核</li>
|
||||
</ol>
|
||||
</section>
|
||||
<div class="content">
|
||||
<div class="row">
|
||||
<div class="col-sm-12 analysis-nav">
|
||||
<ul class="nav nav-pills">
|
||||
<li ui-sref-active-eq="active">
|
||||
<a ui-sref="partner_compliance_auth.partner_authfile"><span>合规文件审核</span></a>
|
||||
</li>
|
||||
<li ui-sref-active="active">
|
||||
<a ui-sref="partner_compliance_auth.partner_kyc_files_auth"> <span>KYC文件审核</span></a>
|
||||
</li>
|
||||
<li ui-sref-active="active">
|
||||
<a ui-sref="partnerKYCProgress"> <span>CustomerService商户KYC认证进度</span></a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="content">
|
||||
<div class="row">
|
||||
<div class="nav-tabs-custom" ui-view>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
@ -0,0 +1,119 @@
|
||||
<div class="tab-content">
|
||||
<div class="content">
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
<div class="box-solid">
|
||||
<div class="box box-warning">
|
||||
<div class="box-header">
|
||||
<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="loadClientCompliance(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;loadClientCompliance(1)">All</a> |
|
||||
|
||||
<a role="button" ng-class="{'bg-primary':statusSelected([0])}"
|
||||
ng-click="params.status=[0];loadClientCompliance(1)">待审核</a>|
|
||||
<a role="button" ng-class="{'bg-primary':statusSelected([1])}"
|
||||
ng-click="params.status=[1];loadClientCompliance(1)">通过</a>|
|
||||
<a role="button" ng-class="{'bg-primary':statusSelected([2])}"
|
||||
ng-click="params.status=[2];loadClientCompliance(1)">打回</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<button class="btn btn-success" type="button" ng-click="loadClientCompliance()">
|
||||
<i class="fa fa-search"></i> Search
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="box">
|
||||
<div class="box-header">
|
||||
|
||||
</div>
|
||||
<div class="box-body">
|
||||
<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>BD</th>
|
||||
<th>AuthFile Status</th>
|
||||
<th>Submit Time</th>
|
||||
<th>Source</th>
|
||||
<th>Operation</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr ng-repeat="compliance_company in compliances">
|
||||
<td ng-bind="compliance_company.client_moniker"></td>
|
||||
<td ng-bind="compliance_company.short_name"></td>
|
||||
<td ng-class="{'bg-green':(compliance_company.approve_result==2 && (compliance_company.client_source==1 || compliance_company.client_source==2)),'bg-red':((compliance_company.open_status==1||compliance_company.open_status==2||compliance_company.open_status==4) && compliance_company.approve_result!=3)||(compliance_company.approve_result==3 && (!compliance_company.open_status || compliance_company.open_status==1 || compliance_company.open_status == 4))||(compliance_company.approve_result==4 && !compliance_company.open_status)||(compliance_company.open_status==10)}">
|
||||
<span ng-if="compliance_company.approve_result==1 && compliance_company.approve_time">通过({{compliance_company.approve_time}})</span>
|
||||
<span ng-if="!compliance_company.open_status && !compliance_company.approve_result && compliance_company.approve_result!=5 && compliance_company.client_source!=4">资料完善中</span>
|
||||
<span ng-if="!compliance_company.open_status && !compliance_company.approve_result && compliance_company.approve_result!=5 && compliance_company.client_source==4">(自助开通)资料完善中</span>
|
||||
<span ng-if="!compliance_company.open_status && compliance_company.approve_result==2 && compliance_company.approve_time">自助开通试用中({{compliance_company.approve_time}}~{{compliance_company.expiry_time}})</span>
|
||||
<span ng-if="compliance_company.approve_result==0 && compliance_company.approve_time">不通过({{compliance_company.approve_time}})</span>
|
||||
<span ng-if="compliance_company.approve_result==5 && compliance_company.approve_time && compliance_company.refuse_remark">申请打回({{compliance_company.refuse_remark|limitTo:15}})</span>
|
||||
<span ng-if="(compliance_company.open_status==1||compliance_company.open_status==4) && compliance_company.approve_result!=3"><i
|
||||
ng-if="compliance_company.refuse_remark.length>0" class="fa fa-reply" aria-hidden="true"
|
||||
title="被打回重新提交"></i>等待合规</span>
|
||||
<span ng-if="compliance_company.approve_result==3 && (!compliance_company.open_status || compliance_company.open_status==4)">自助开通(等待合规)</span>
|
||||
<span ng-if="compliance_company.open_status==2">合同制作完成</span>
|
||||
<span ng-if="compliance_company.open_status==3 && compliance_company.approve_result!=5">等待BD上传材料审核</span>
|
||||
<span ng-if="compliance_company.open_status==10">绿色通道申请中</span>
|
||||
<span ng-if="compliance_company.approve_result==4 && !compliance_company.open_status"><i
|
||||
ng-if="compliance_company.refuse_remark.length>0" class="fa fa-reply" aria-hidden="true"
|
||||
title="被打回重新提交"></i>等待合规</span>
|
||||
</td>
|
||||
<td ng-bind="compliance_company.create_time|date:'dd/MMM/yyyy'"></td>
|
||||
<td ng-bind="compliance_company.bd_user_name"></td>
|
||||
<td>
|
||||
<span ng-if="compliance_company.status==0">待审核</span>
|
||||
<span ng-if="compliance_company.status==1">通过</span>
|
||||
<span ng-if="compliance_company.status==2">打回</span>
|
||||
</td>
|
||||
<td ng-bind="compliance_company.submit_time|date:'dd/MMM/yyyy'"></td>
|
||||
<td>
|
||||
<span ng-if="compliance_company.source==1">App</span>
|
||||
<span ng-if="compliance_company.source==2">Web</span>
|
||||
</td>
|
||||
<td><a class="text-primary" role="button" title="Detail"
|
||||
ui-sref="partner_compliance_auth.complianceDetail({client_moniker:compliance_company.client_moniker})">
|
||||
<i class="fa fa-search"></i> Detail
|
||||
</a>
|
||||
</td>
|
||||
<!--({client_id:compliance_company.client_id})-->
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<uib-pagination ng-if="compliances.length"
|
||||
class="pagination"
|
||||
total-items="pagination.totalCount"
|
||||
boundary-links="true"
|
||||
ng-model="pagination.page"
|
||||
items-per-page="pagination.limit"
|
||||
max-size="10"
|
||||
ng-change="loadClientCompliance()"
|
||||
previous-text="‹"
|
||||
next-text="›"
|
||||
first-text="«"
|
||||
last-text="»"></uib-pagination>
|
||||
<div class="col-xs-12">Total Records:{{pagination.totalCount}};Total Pages:{{pagination.totalPages}}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
@ -0,0 +1,228 @@
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
Partner Basic Information
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<div class="form-horizontal">
|
||||
<div class="form-group">
|
||||
<label class="control-label col-sm-2">Partner Code</label>
|
||||
|
||||
<div class="col-sm-10">
|
||||
<p class="form-control-static">
|
||||
<span id="parent_code">{{partner.client_moniker}}</span>
|
||||
<span ng-if="partner.parent_client_id!=null">(Sub Partner of
|
||||
<a ui-sref="partners.detail({clientMoniker:partner.parent_client.client_moniker})"
|
||||
ng-bind="partner.parent_client.client_moniker"></a>)
|
||||
</span>
|
||||
<span ng-if="partner.is_valid==0"
|
||||
ng-class="{pass_timeout:partner.is_valid==0}">(已禁用)</span>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-sm-2">Company Name</label>
|
||||
|
||||
<div class="col-sm-10">
|
||||
<p class="form-control-static">
|
||||
<span ng-bind="partner.company_name"></span>
|
||||
<span
|
||||
ng-if="isComplianceOfCompanyName && partner.open_status"
|
||||
style="margin-left: 10px;font-weight: 700;color: red;">
|
||||
注意:(微信渠道可能不合规)
|
||||
</span>
|
||||
<span class="description-text text-red" ng-if="('10000000010' | withRole)" ng-bind="partner.same_company_name"></span>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-sm-2">Short Name</label>
|
||||
|
||||
<div class="col-sm-10">
|
||||
<p class="form-control-static pull-left" ng-bind="partner.short_name"></p>
|
||||
<p class="form-control-static pull-left"
|
||||
ng-if="isComplianceOfShortName && partner.open_status"
|
||||
style="margin-left: 10px;font-weight: 700;color: red;">
|
||||
注意:(微信渠道可能不合规)
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-sm-2">Business Name</label>
|
||||
|
||||
<div class="col-sm-10">
|
||||
<p class="form-control-static" ng-bind="partner.business_name"></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-sm-2">Store Name</label>
|
||||
<div class="col-sm-10">
|
||||
<p class="form-control-static pull-left" ng-bind="partner.store_name"></p>
|
||||
<p class="form-control-static pull-left"
|
||||
ng-if="isComplianceOfShortName && partner.open_status"
|
||||
style="margin-left: 10px;font-weight: 700;color: red;">
|
||||
注意:(微信渠道可能不合规)
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="control-label col-sm-2">Business Structure</label>
|
||||
|
||||
<div class="col-sm-10">
|
||||
<p class="form-control-static pull-left"
|
||||
ng-bind="partner.business_structure|business_structure"></p>
|
||||
<p class="form-control-static pull-left"
|
||||
ng-if="isComplianceOfBusinessStructure && partner.open_status"
|
||||
style="margin-left: 10px;font-weight: 700;color: red;">
|
||||
注意:(微信渠道可能不合规)
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-sm-2">Logo</label>
|
||||
<div class="col-sm-10">
|
||||
<img ng-src="{{partner.logo_url}}" style="max-height: 100px;">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group" ng-if="partner.abn">
|
||||
<label class="control-label col-sm-2">ABN</label>
|
||||
|
||||
<div class="col-sm-10">
|
||||
<p class="form-control-static" ng-bind="partner.abn"></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group" ng-if="partner.acn">
|
||||
<label class="control-label col-sm-2">ACN</label>
|
||||
<div class="col-sm-10">
|
||||
<p class="form-control-static" ng-bind="partner.acn"></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-sm-2">Industry</label>
|
||||
|
||||
<div class="col-sm-10">
|
||||
<p class="form-control-static" ng-bind="partner.industry|partner_industry"></p>
|
||||
</div>
|
||||
</div>
|
||||
<div hidden class="form-group">
|
||||
<label class="control-label col-sm-2">Sector</label>
|
||||
|
||||
<div class="col-sm-10">
|
||||
<p class="form-control-static" ng-bind="partner.sector"></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-sm-2">Service Phone</label>
|
||||
|
||||
<div class="col-sm-10">
|
||||
<p class="form-control-static" ng-bind="partner.company_phone||'-'"></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-sm-2">Major Products/Service</label>
|
||||
|
||||
<div class="col-sm-10">
|
||||
<p class="form-control-static" ng-bind="partner.description"></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-sm-2">Remark</label>
|
||||
|
||||
<div class="col-sm-10">
|
||||
<p class="form-control-static" ng-bind="partner.remark"></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group" ng-if="partner.referrer_id">
|
||||
<label class="control-label col-sm-2">Referrer</label>
|
||||
<div class="col-sm-10">
|
||||
<p class="form-control-static" ng-bind="partner.referrer_name"></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!--end 商户基本资料-->
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">Partner Contact Information</div>
|
||||
<div class="panel-body">
|
||||
<div class="form-horizontal">
|
||||
<div class="form-group">
|
||||
<label class="control-label col-sm-2">Contact Person Name</label>
|
||||
|
||||
<div class="col-sm-10">
|
||||
<p class="form-control-static" ng-bind="partner.contact_person"></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group col-sm-6">
|
||||
<label class="control-label col-sm-4">Phone</label>
|
||||
|
||||
<div class="col-sm-8">
|
||||
<p class="form-control-static" ng-bind="partner.contact_phone"></p>
|
||||
<p class="description-text text-red" ng-if="('10000000010' | withRole)" ng-bind="partner.same_phone"></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group col-sm-6">
|
||||
<label class="control-label col-sm-4">E-mail</label>
|
||||
|
||||
<div class="col-sm-8">
|
||||
<p class="form-control-static">
|
||||
<span ng-bind="partner.contact_email"></span>
|
||||
</span>
|
||||
</p>
|
||||
<p class="description-text text-red" ng-if="('10000000010' | withRole)" ng-bind="partner.same_email"></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!--end 商户联系资料-->
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">Address Information</div>
|
||||
<div class="panel-body">
|
||||
<div class="form-horizontal">
|
||||
|
||||
<div class="form-group col-sm-6">
|
||||
<label class="control-label col-sm-4">Address</label>
|
||||
|
||||
<div class="col-sm-8">
|
||||
<p class="form-control-static" ng-bind="partner.address"></p>
|
||||
<p class="description-text text-red" ng-if="('10000000010' | withRole)" ng-bind="partner.same_address"></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group col-sm-6">
|
||||
<label class="control-label col-sm-4">Suburb</label>
|
||||
|
||||
<div class="col-sm-8">
|
||||
<p class="form-control-static" ng-bind="partner.suburb"></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group col-sm-6">
|
||||
<label class="control-label col-sm-4">PostCode</label>
|
||||
|
||||
<div class="col-sm-8">
|
||||
<p class="form-control-static" ng-bind="partner.postcode"></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group col-sm-6">
|
||||
<label class="control-label col-sm-4">State</label>
|
||||
|
||||
<div class="col-sm-8">
|
||||
<p class="form-control-static" ng-bind="partner.state"></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group col-sm-6">
|
||||
<label class="control-label col-sm-4">Country</label>
|
||||
|
||||
<div class="col-sm-8">
|
||||
<p class="form-control-static" ng-bind="partner.country"></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group ">
|
||||
<label class="control-label col-sm-2">Timezone</label>
|
||||
<div class="col-sm-10">
|
||||
<p class="form-control-static" ng-bind="partner.timezone|timezoneLabel"></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
@ -0,0 +1,18 @@
|
||||
<div class="content">
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
<div class="nav-tabs-custom">
|
||||
<ul class="nav nav-tabs">
|
||||
<li ui-sref-active-eq="active">
|
||||
<a ui-sref=".partner_detail({client_moniker:clientMoniker})">Partner Detail</a>
|
||||
</li>
|
||||
<li ui-sref-active="active">
|
||||
<a ui-sref=".compliance_detail({client_moniker:clientMoniker})">Compliance Files Audit</a>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="tab-content" ui-view>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
@ -0,0 +1,119 @@
|
||||
<div class="tab-content">
|
||||
<div class="content">
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
<div class="box-solid">
|
||||
<div class="box box-warning">
|
||||
<div class="box-header">
|
||||
<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="loadClientCompliance(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;loadClientCompliance(1)">All</a> |
|
||||
|
||||
<a role="button" ng-class="{'bg-primary':statusSelected([0])}"
|
||||
ng-click="params.status=[0];loadClientCompliance(1)">待审核</a>|
|
||||
<a role="button" ng-class="{'bg-primary':statusSelected([1])}"
|
||||
ng-click="params.status=[1];loadClientCompliance(1)">通过</a>|
|
||||
<a role="button" ng-class="{'bg-primary':statusSelected([2])}"
|
||||
ng-click="params.status=[2];loadClientCompliance(1)">打回</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<button class="btn btn-success" type="button" ng-click="loadClientCompliance()">
|
||||
<i class="fa fa-search"></i> Search
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="box">
|
||||
<div class="box-header">
|
||||
|
||||
</div>
|
||||
<div class="box-body">
|
||||
<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>BD</th>
|
||||
<th>AuthFile Status</th>
|
||||
<th>Submit Time</th>
|
||||
<th>Source</th>
|
||||
<th>Operation</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr ng-repeat="compliance_company in compliances">
|
||||
<td ng-bind="compliance_company.client_moniker"></td>
|
||||
<td ng-bind="compliance_company.short_name"></td>
|
||||
<td ng-class="{'bg-green':(compliance_company.approve_result==2 && (compliance_company.client_source==1 || compliance_company.client_source==2)),'bg-red':((compliance_company.open_status==1||compliance_company.open_status==2||compliance_company.open_status==4) && compliance_company.approve_result!=3)||(compliance_company.approve_result==3 && (!compliance_company.open_status || compliance_company.open_status==1 || compliance_company.open_status == 4))||(compliance_company.approve_result==4 && !compliance_company.open_status)||(compliance_company.open_status==10)}">
|
||||
<span ng-if="compliance_company.approve_result==1 && compliance_company.approve_time">通过({{compliance_company.approve_time}})</span>
|
||||
<span ng-if="!compliance_company.open_status && !compliance_company.approve_result && compliance_company.approve_result!=5 && compliance_company.client_source!=4">资料完善中</span>
|
||||
<span ng-if="!compliance_company.open_status && !compliance_company.approve_result && compliance_company.approve_result!=5 && compliance_company.client_source==4">(自助开通)资料完善中</span>
|
||||
<span ng-if="!compliance_company.open_status && compliance_company.approve_result==2 && compliance_company.approve_time">自助开通试用中({{compliance_company.approve_time}}~{{compliance_company.expiry_time}})</span>
|
||||
<span ng-if="compliance_company.approve_result==0 && compliance_company.approve_time">不通过({{compliance_company.approve_time}})</span>
|
||||
<span ng-if="compliance_company.approve_result==5 && compliance_company.approve_time && compliance_company.refuse_remark">申请打回({{compliance_company.refuse_remark|limitTo:15}})</span>
|
||||
<span ng-if="(compliance_company.open_status==1||compliance_company.open_status==4) && compliance_company.approve_result!=3"><i
|
||||
ng-if="compliance_company.refuse_remark.length>0" class="fa fa-reply" aria-hidden="true"
|
||||
title="被打回重新提交"></i>等待合规</span>
|
||||
<span ng-if="compliance_company.approve_result==3 && (!compliance_company.open_status || compliance_company.open_status==4)">自助开通(等待合规)</span>
|
||||
<span ng-if="compliance_company.open_status==2">合同制作完成</span>
|
||||
<span ng-if="compliance_company.open_status==3 && compliance_company.approve_result!=5">等待BD上传材料审核</span>
|
||||
<span ng-if="compliance_company.open_status==10">绿色通道申请中</span>
|
||||
<span ng-if="compliance_company.approve_result==4 && !compliance_company.open_status"><i
|
||||
ng-if="compliance_company.refuse_remark.length>0" class="fa fa-reply" aria-hidden="true"
|
||||
title="被打回重新提交"></i>等待合规</span>
|
||||
</td>
|
||||
<td ng-bind="compliance_company.create_time|date:'dd/MMM/yyyy'"></td>
|
||||
<td ng-bind="compliance_company.bd_user_name"></td>
|
||||
<td>
|
||||
<span ng-if="compliance_company.status==0">待审核</span>
|
||||
<span ng-if="compliance_company.status==1">通过</span>
|
||||
<span ng-if="compliance_company.status==2">打回</span>
|
||||
</td>
|
||||
<td ng-bind="compliance_company.submit_time|date:'dd/MMM/yyyy'"></td>
|
||||
<td>
|
||||
<span ng-if="compliance_company.source==1">App</span>
|
||||
<span ng-if="compliance_company.source==2">Web</span>
|
||||
</td>
|
||||
<td><a class="text-primary" role="button" title="Detail"
|
||||
ui-sref="partner_compliance_auth.kycDetail({client_moniker:compliance_company.client_moniker})">
|
||||
<i class="fa fa-search"></i> Detail
|
||||
</a>
|
||||
</td>
|
||||
<!--({client_id:compliance_company.client_id})-->
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<uib-pagination ng-if="compliances.length"
|
||||
class="pagination"
|
||||
total-items="pagination.totalCount"
|
||||
boundary-links="true"
|
||||
ng-model="pagination.page"
|
||||
items-per-page="pagination.limit"
|
||||
max-size="10"
|
||||
ng-change="loadClientCompliance()"
|
||||
previous-text="‹"
|
||||
next-text="›"
|
||||
first-text="«"
|
||||
last-text="»"></uib-pagination>
|
||||
<div class="col-xs-12">Total Records:{{pagination.totalCount}};Total Pages:{{pagination.totalPages}}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
@ -0,0 +1,18 @@
|
||||
<div class="content">
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
<div class="nav-tabs-custom">
|
||||
<ul class="nav nav-tabs">
|
||||
<li ui-sref-active-eq="active">
|
||||
<a ui-sref=".partner_detail({client_moniker:clientMoniker})">Partner Detail</a>
|
||||
</li>
|
||||
<li ui-sref-active="active">
|
||||
<a ui-sref=".kyc_files_detail({client_moniker:clientMoniker})">KYC Files Audit</a>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="tab-content" ui-view>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
@ -1,128 +0,0 @@
|
||||
<section class="content-header">
|
||||
<h1>商户合规文件审核</h1>
|
||||
<ol class="breadcrumb">
|
||||
<li>
|
||||
<i class="fa fa-sitemap"></i> Compliance Management
|
||||
</li>
|
||||
<li class="active">商户合规文件审核</li>
|
||||
</ol>
|
||||
</section>
|
||||
|
||||
<div class="box box-warning" style="margin-top: 30px;">
|
||||
<div class="box-header">
|
||||
<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="loadClientCompliance(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;loadClientCompliance(1)">All</a> |
|
||||
|
||||
<a role="button" ng-class="{'bg-primary':statusSelected([0])}"
|
||||
ng-click="params.status=[0];loadClientCompliance(1)">待审核</a>|
|
||||
<a role="button" ng-class="{'bg-primary':statusSelected([1])}"
|
||||
ng-click="params.status=[1];loadClientCompliance(1)">通过</a>|
|
||||
<a role="button" ng-class="{'bg-primary':statusSelected([2])}"
|
||||
ng-click="params.status=[2];loadClientCompliance(1)">打回</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<button class="btn btn-success" type="button" ng-click="loadClientCompliance()">
|
||||
<i class="fa fa-search"></i> Search
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="box box-danger">
|
||||
<div class="modal-body">
|
||||
<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>BD</th>
|
||||
<th>AuthFile Status</th>
|
||||
<th>Submit Time</th>
|
||||
<th>Source</th>
|
||||
<th>Operation</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr ng-repeat="compliance_company in compliances">
|
||||
<td ng-bind="compliance_company.client_moniker"></td>
|
||||
<td ng-bind="compliance_company.short_name"></td>
|
||||
<td ng-class="{'bg-green':(compliance_company.approve_result==2 && (compliance_company.client_source==1 || compliance_company.client_source==2)),'bg-red':((compliance_company.open_status==1||compliance_company.open_status==2||compliance_company.open_status==4) && compliance_company.approve_result!=3)||(compliance_company.approve_result==3 && (!compliance_company.open_status || compliance_company.open_status==1 || compliance_company.open_status == 4))||(compliance_company.approve_result==4 && !compliance_company.open_status)||(compliance_company.open_status==10)}">
|
||||
<span ng-if="compliance_company.approve_result==1 && compliance_company.approve_time">通过({{compliance_company.approve_time}})</span>
|
||||
<span ng-if="!compliance_company.open_status && !compliance_company.approve_result && compliance_company.approve_result!=5 && compliance_company.client_source!=4">资料完善中</span>
|
||||
<span ng-if="!compliance_company.open_status && !compliance_company.approve_result && compliance_company.approve_result!=5 && compliance_company.client_source==4">(自助开通)资料完善中</span>
|
||||
<span ng-if="!compliance_company.open_status && compliance_company.approve_result==2 && compliance_company.approve_time">自助开通试用中({{compliance_company.approve_time}}~{{compliance_company.expiry_time}})</span>
|
||||
<span ng-if="compliance_company.approve_result==0 && compliance_company.approve_time">不通过({{compliance_company.approve_time}})</span>
|
||||
<span ng-if="compliance_company.approve_result==5 && compliance_company.approve_time && compliance_company.refuse_remark">申请打回({{compliance_company.refuse_remark|limitTo:15}})</span>
|
||||
<span ng-if="(compliance_company.open_status==1||compliance_company.open_status==4) && compliance_company.approve_result!=3"><i
|
||||
ng-if="compliance_company.refuse_remark.length>0" class="fa fa-reply" aria-hidden="true"
|
||||
title="被打回重新提交"></i>等待合规</span>
|
||||
<span ng-if="compliance_company.approve_result==3 && (!compliance_company.open_status || compliance_company.open_status==4)">自助开通(等待合规)</span>
|
||||
<span ng-if="compliance_company.open_status==2">合同制作完成</span>
|
||||
<span ng-if="compliance_company.open_status==3 && compliance_company.approve_result!=5">等待BD上传材料审核</span>
|
||||
<span ng-if="compliance_company.open_status==10">绿色通道申请中</span>
|
||||
<span ng-if="compliance_company.approve_result==4 && !compliance_company.open_status"><i
|
||||
ng-if="compliance_company.refuse_remark.length>0" class="fa fa-reply" aria-hidden="true"
|
||||
title="被打回重新提交"></i>等待合规</span>
|
||||
</td>
|
||||
<td ng-bind="compliance_company.create_time|date:'dd/MMM/yyyy'"></td>
|
||||
<td ng-bind="compliance_company.bd_user_name"></td>
|
||||
<td>
|
||||
<span ng-if="compliance_company.status==0">待审核</span>
|
||||
<span ng-if="compliance_company.status==1">通过</span>
|
||||
<span ng-if="compliance_company.status==2">打回</span>
|
||||
</td>
|
||||
<td ng-bind="compliance_company.submit_time|date:'dd/MMM/yyyy'"></td>
|
||||
<td>
|
||||
<span ng-if="compliance_company.source==1">App</span>
|
||||
<span ng-if="compliance_company.source==2">Web</span>
|
||||
</td>
|
||||
<td><a class="text-primary" role="button" title="Detail"
|
||||
ui-sref="compliance_detail({client_moniker:compliance_company.client_moniker})">
|
||||
<i class="fa fa-search"></i> Detail
|
||||
</a>
|
||||
</td>
|
||||
<!--({client_id:compliance_company.client_id})-->
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="modal-footer">
|
||||
<uib-pagination ng-if="compliances.length"
|
||||
class="pagination"
|
||||
total-items="pagination.totalCount"
|
||||
boundary-links="true"
|
||||
ng-model="pagination.page"
|
||||
items-per-page="pagination.limit"
|
||||
max-size="10"
|
||||
ng-change="loadClientCompliance()"
|
||||
previous-text="‹"
|
||||
next-text="›"
|
||||
first-text="«"
|
||||
last-text="»"></uib-pagination>
|
||||
<div class="col-xs-12">Total Records:{{pagination.totalCount}};Total Pages:{{pagination.totalPages}}</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
Loading…
Reference in new issue