add manage web

master
wangning 7 years ago
parent 33db182dfb
commit 47df91b1c5

@ -1,6 +1,8 @@
package au.com.royalpay.payment.manage.mappers.risk;
import com.alibaba.fastjson.JSONObject;
import com.github.miemiedev.mybatis.paginator.domain.PageBounds;
import com.github.miemiedev.mybatis.paginator.domain.PageList;
import cn.yixblog.support.mybatis.autosql.annotations.AutoMapper;
import cn.yixblog.support.mybatis.autosql.annotations.AutoSql;
@ -10,11 +12,13 @@ import cn.yixblog.support.mybatis.autosql.annotations.SqlType;
* Create by yixian at 2017-12-21 11:45
*/
@AutoMapper(tablename = "risk_merchant_detail_log", pkName = "id")
public interface RiskMerchantDetalLogMapper {
public interface RiskMerchantDetailLogMapper {
@AutoSql(type = SqlType.INSERT)
void save(JSONObject record);
@AutoSql(type = SqlType.UPDATE)
void update(JSONObject record);
PageList<JSONObject> query(JSONObject params, PageBounds pagination);
}

@ -18,9 +18,9 @@ public interface RiskMerchantRecordMapper {
@AutoSql(type = SqlType.UPDATE)
void update(JSONObject record);
PageList<JSONObject> query(JSONObject params, PageBounds pagination);
@AutoSql(type = SqlType.SELECT)
JSONObject findById(@Param("id") String id);
PageList<JSONObject> query(JSONObject params, PageBounds pagination);
}

@ -1,26 +1,40 @@
package au.com.royalpay.payment.manage.risk.bean;
import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.annotation.JsonProperty;
import org.apache.commons.lang3.StringUtils;
public class AddRiskDetailLog {
@JsonProperty("record_id")
private String record_id;
private int client_id;
@JsonProperty("files")
private String files;
@JsonProperty("operation")
private String operation;
public JSONObject params(){
@JsonProperty("remark")
private String remark;
public JSONObject params() {
JSONObject params = new JSONObject();
params.put("record_id",this.record_id);
params.put("client_id",this.client_id);
params.put("files",this.files);
params.put("operation",this.operation);
params.put("record_id", this.record_id);
if (StringUtils.isNotEmpty(this.files)) {
params.put("files", this.files);
}
if (StringUtils.isNotEmpty(this.operation)) {
params.put("operation", this.operation);
}
if (StringUtils.isNotEmpty(this.remark)) {
params.put("remark", this.remark);
}
return params;
}
public String getRecord_id() {
return record_id;
}
@ -29,14 +43,6 @@ public class AddRiskDetailLog {
this.record_id = record_id;
}
public int getClient_id() {
return client_id;
}
public void setClient_id(int client_id) {
this.client_id = client_id;
}
public String getFiles() {
return files;
}
@ -52,4 +58,12 @@ public class AddRiskDetailLog {
public void setOperation(String operation) {
this.operation = operation;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
}

@ -0,0 +1,70 @@
package au.com.royalpay.payment.manage.risk.bean;
import com.alibaba.fastjson.JSONObject;
import org.apache.commons.lang3.time.DateUtils;
import java.text.ParseException;
public class QueryRiskDetail {
private String record_id;
private String c_end_time;
private int client_id;
private int limit = 20;
private int page;
public JSONObject toParams() {
JSONObject params = new JSONObject();
params.put("record_id", this.record_id);
params.put("client_id", this.client_id);
try {
if (c_end_time != null) {
params.put("c_end_time", DateUtils.parseDate(this.c_end_time, new String[] { "yyyy-MM-dd HH:mm:ss" }));
}
} catch (ParseException e) {
}
return params;
}
public String getRecord_id() {
return record_id;
}
public void setRecord_id(String record_id) {
this.record_id = record_id;
}
public String getC_end_time() {
return c_end_time;
}
public void setC_end_time(String c_end_time) {
this.c_end_time = c_end_time;
}
public int getClient_id() {
return client_id;
}
public void setClient_id(int client_id) {
this.client_id = client_id;
}
public int getLimit() {
return limit;
}
public void setLimit(int limit) {
this.limit = limit;
}
public int getPage() {
return page;
}
public void setPage(int page) {
this.page = page;
}
}

@ -2,6 +2,7 @@ package au.com.royalpay.payment.manage.risk.core;
import au.com.royalpay.payment.manage.risk.bean.AddRiskDetailLog;
import au.com.royalpay.payment.manage.risk.bean.DealRiskRecord;
import au.com.royalpay.payment.manage.risk.bean.QueryRiskDetail;
import au.com.royalpay.payment.manage.risk.bean.QueryRiskOrder;
import au.com.royalpay.payment.manage.risk.bean.QueryRiskRecord;
@ -17,6 +18,8 @@ public interface RiskMerchantService {
void dealRiskRecord(JSONObject account,DealRiskRecord dealRiskRecord);
void dealRiskRecordDirectly(JSONObject account,String record_id);
JSONObject getRiskOrders(QueryRiskOrder queryRiskOrder);
JSONObject getRiskRecords(QueryRiskRecord queryRiskRecord);
@ -27,6 +30,8 @@ public interface RiskMerchantService {
JSONObject getRecordById(String record_id);
JSONObject getRiskDetails(QueryRiskDetail queryRiskDetail);
}

@ -1,12 +1,13 @@
package au.com.royalpay.payment.manage.risk.core.impl;
import au.com.royalpay.payment.manage.mappers.risk.RiskMerchantDetalLogMapper;
import au.com.royalpay.payment.manage.mappers.risk.RiskMerchantDetailLogMapper;
import au.com.royalpay.payment.manage.mappers.risk.RiskMerchantRecordMapper;
import au.com.royalpay.payment.manage.mappers.risk.RiskTransactionLogMapper;
import au.com.royalpay.payment.manage.mappers.risk.RiskWhiteListMapper;
import au.com.royalpay.payment.manage.merchants.core.ClientManager;
import au.com.royalpay.payment.manage.risk.bean.AddRiskDetailLog;
import au.com.royalpay.payment.manage.risk.bean.DealRiskRecord;
import au.com.royalpay.payment.manage.risk.bean.QueryRiskDetail;
import au.com.royalpay.payment.manage.risk.bean.QueryRiskOrder;
import au.com.royalpay.payment.manage.risk.bean.QueryRiskRecord;
import au.com.royalpay.payment.manage.risk.core.RiskMerchantService;
@ -31,7 +32,7 @@ public class RiskMerchantServiceImpl implements RiskMerchantService {
@Resource
private RiskMerchantRecordMapper riskMerchantRecordMapper;
@Resource
private RiskMerchantDetalLogMapper riskMerchantDetalLogMapper;
private RiskMerchantDetailLogMapper riskMerchantDetailLogMapper;
@Resource
private RiskTransactionLogMapper riskTransactionLogMapper;
@Resource
@ -40,11 +41,23 @@ public class RiskMerchantServiceImpl implements RiskMerchantService {
private ClientManager clientManager;
@Override
@Transactional
public void addDetailLog(AddRiskDetailLog addRiskDetailLog, JSONObject account) {
JSONObject record = addRiskDetailLog.params();
record.put("auditor", account.getString("display_name"));
record.put("create_time", new Date());
riskMerchantDetalLogMapper.save(record);
JSONObject record = riskMerchantRecordMapper.findById(addRiskDetailLog.getRecord_id());
if (record == null) {
throw new NotFoundException("Risk Record Not Found Please Check");
}
JSONObject detail = addRiskDetailLog.params();
detail.put("auditor", account.getString("display_name"));
detail.put("client_id", record.getIntValue("client_id"));
detail.put("auditor_id", account.getString("manager_id"));
detail.put("create_time", new Date());
riskMerchantDetailLogMapper.save(detail);
record.put("status", 2);
JSONObject recordUpdate = new JSONObject();
recordUpdate.put("record_id", record.getString("record_id"));
recordUpdate.put("status", 2);
riskMerchantRecordMapper.update(recordUpdate);
}
@Override
@ -59,15 +72,16 @@ public class RiskMerchantServiceImpl implements RiskMerchantService {
}
JSONObject record = new JSONObject();
record.put("id", recordId);
record.put("status", "2");
record.put("status", "1");
riskMerchantRecordMapper.update(record);
JSONObject detail = new JSONObject();
detail.put("record_id", recordId);
detail.put("client_id", riskRecord.getIntValue("client_id"));
detail.put("auditor", account.getString("display_name"));
detail.put("auditor_id", account.getString("manager_id"));
detail.put("operation", "进行掉单处理");
detail.put("create_time", new Date());
riskMerchantDetalLogMapper.save(detail);
riskMerchantDetailLogMapper.save(detail);
}
@Override
@ -90,7 +104,7 @@ public class RiskMerchantServiceImpl implements RiskMerchantService {
detail.put("auditor", account.getString("display_name"));
detail.put("operation", "不做处理");
detail.put("create_time", new Date());
riskMerchantDetalLogMapper.save(detail);
riskMerchantDetailLogMapper.save(detail);
}
@Override
@ -120,8 +134,31 @@ public class RiskMerchantServiceImpl implements RiskMerchantService {
detail.put("auditor", account.getString("display_name"));
detail.put("operation", StringUtils.isEmpty(operation) ? null : (operation = "处理结果:" + operation));
detail.put("create_time", new Date());
riskMerchantDetalLogMapper.save(detail);
record.put("status", 1);
riskMerchantDetailLogMapper.save(detail);
record.put("status", 2);
riskMerchantRecordMapper.update(record);
}
@Override
public void dealRiskRecordDirectly(JSONObject account, String record_id) {
JSONObject record = riskMerchantRecordMapper.findById(record_id);
if (record == null) {
throw new NotFoundException("Risk Record Not Found Please Check");
}
if (record.getIntValue("status") != 0) {
throw new BadRequestException("The Record Has Been Handled");
}
JSONObject detail = new JSONObject();
detail.put("record_id", record_id);
detail.put("client_id", record.getIntValue("client_id"));
detail.put("auditor", account.getString("display_name"));
detail.put("auditor_id", account.getString("manager_id"));
detail.put("operation", "关结");
detail.put("create_time", new Date());
riskMerchantDetailLogMapper.save(detail);
JSONObject recordUpdate = new JSONObject();
recordUpdate.put("record_id",record_id);
recordUpdate.put("status", 1);
riskMerchantRecordMapper.update(record);
}
@ -171,4 +208,11 @@ public class RiskMerchantServiceImpl implements RiskMerchantService {
public JSONObject getRecordById(String record_id) {
return riskMerchantRecordMapper.findById(record_id);
}
@Override
public JSONObject getRiskDetails(QueryRiskDetail queryRiskDetail) {
return PageListUtils.buildPageListResult(
riskMerchantDetailLogMapper.query(queryRiskDetail.toParams(), new PageBounds(queryRiskDetail.getPage(), queryRiskDetail.getLimit())));
}
}

@ -3,6 +3,7 @@ package au.com.royalpay.payment.manage.risk.web;
import au.com.royalpay.payment.manage.permission.manager.ManagerMapping;
import au.com.royalpay.payment.manage.risk.bean.AddRiskDetailLog;
import au.com.royalpay.payment.manage.risk.bean.DealRiskRecord;
import au.com.royalpay.payment.manage.risk.bean.QueryRiskDetail;
import au.com.royalpay.payment.manage.risk.bean.QueryRiskOrder;
import au.com.royalpay.payment.manage.risk.bean.QueryRiskRecord;
import au.com.royalpay.payment.manage.risk.core.RiskMerchantService;
@ -49,6 +50,11 @@ public class RiskController {
riskMerchantService.noopRiskRecord(manager, record_id);
}
@RequestMapping(value = "/records/{record_id}/directly", method = RequestMethod.PUT)
public void directly(@ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager, @PathVariable String record_id) {
riskMerchantService.dealRiskRecordDirectly(manager, record_id);
}
@RequestMapping(value = "/records/{record_id}/deal",method = RequestMethod.PUT)
public void dealRecord(@ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager, @PathVariable String record_id, @RequestBody DealRiskRecord dealRiskRecord){
dealRiskRecord.setRecordId(record_id);
@ -60,7 +66,6 @@ public class RiskController {
return riskMerchantService.getRiskOrders(queryRiskOrder);
}
@RequestMapping(value = "/white/{client_moniker}", method = RequestMethod.POST)
public void addWhiteList(@PathVariable String client_moniker) {
riskMerchantService.addWhiteList(client_moniker);
@ -76,4 +81,14 @@ public class RiskController {
riskMerchantService.addDetailLog(addRiskDetailLog,manager);
}
@RequestMapping(value = "/details", method = RequestMethod.GET)
public JSONObject listDetails(QueryRiskDetail queryRiskDetail) {
return riskMerchantService.getRiskDetails(queryRiskDetail);
}
@RequestMapping(value = "/details/remark", method = RequestMethod.POST)
public void addDetailRemark(@ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager,@RequestBody AddRiskDetailLog addRiskDetailLog ) {
riskMerchantService.addDetailLog(addRiskDetailLog,manager);
}
}

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="au.com.royalpay.payment.manage.mappers.risk.RiskMerchantDetailLogMapper">
<select id="query" resultType="com.alibaba.fastjson.JSONObject">
select *
from risk_merchant_detail_log
<where>
<if test="record_id!=null">
and record_id = #{record_id}
</if>
<if test="client_id!=0">
and client_id = #{client_id}
</if>
</where>
order by create_time desc
</select>
</mapper>

@ -21,5 +21,6 @@
and client_id = #{client_id}
</if>
</where>
order by create_time desc
</select>
</mapper>

@ -15,5 +15,6 @@
and create_time &lt; #{c_end_time}
</if>
</where>
order by create_time desc
</select>
</mapper>

@ -2,8 +2,8 @@ define(['angular', 'static/commons/commons', 'uiBootstrap', 'uiRouter', 'ngBootS
'use strict';
var riskType = [
{code: 1, label: 'test1'},
{code: 2, label: 'test2'},
{code: '1', label: 'test1'},
{code: '2', label: 'test2'},
];
var app = angular.module('RiskManagement', ['ui.bootstrap', 'ui.router', 'frapontillo.bootstrap-switch', 'ngFileUpload']);
@ -34,6 +34,17 @@ define(['angular', 'static/commons/commons', 'uiBootstrap', 'uiRouter', 'ngBootS
});
}]
}
}).state('analysis_monitoring.risk_detail', {
url: '/risk/{record_id}/detail',
templateUrl: '/static/risk/templates/risk_detail.html',
controller: 'RecordDetailCtrl',
resolve:{
record:['$http','$stateParams', function ($http,$stateParams) {
return $http.get('/sys/risk/records/'+$stateParams.record_id).then(function (res) {
return res.data;
});
}]
}
});
}]);
app.controller('RiskManageCtrl', ['$scope', '$http', function ($scope, $http){
@ -68,7 +79,6 @@ define(['angular', 'static/commons/commons', 'uiBootstrap', 'uiRouter', 'ngBootS
};
$scope.loadOrders(1);
$scope.loadHistoryOrders = function (page) {
var historyParams = angular.copy($scope.historyParams);
historyParams.page = page || $scope.historyPagination.page || 1;
@ -125,6 +135,74 @@ define(['angular', 'static/commons/commons', 'uiBootstrap', 'uiRouter', 'ngBootS
}
}]);
app.controller('RecordDetailCtrl', ['$scope', '$http','$uibModal', 'commonDialog','record', function ($scope, $http,$uibModal,commonDialog,record) {
$scope.record = record;
$scope.pagination = {};
$scope.params = {record_id:record.id};
$scope.listDetail = function (page) {
var params = angular.copy($scope.params);
params.page = page || $scope.pagination.page || 1;
$http.get('/sys/risk/details',{params:params}).then(function (res) {
$scope.details = res.data.data;
$scope.pagination = res.data.pagination;
})
};
$scope.listDetail(1);
$scope.addRemark = function () {
$uibModal.open({
templateUrl: '/static/risk/templates/risk_remark.html',
controller: 'RiskDetailRemarkCtrl',
resolve:{record_id:function () {
return record.id;
}}
}).result.then(function () {
commonDialog.alert({
title: 'Success',
type: 'success'
});
})
}
$scope.dealDirectly = function () {
commonDialog.confirm({
title: 'Confirm',
content: '确定关结这次预警?'
}).then(function () {
$http.put('/sys/risk/records/'+ record.id+'/directly').then(function () {
commonDialog.alert({
title: 'Success',
type: 'Success'
});
$scope.listDetail(1);
}).then(function (resp) {
commonDialog.alert({
title: 'Error',
content: resp.data.message,
type: 'Error'
});
})
})
}
}]);
app.controller('RiskDetailRemarkCtrl', ['$scope', '$http','record_id','commonDialog', function ($scope, $http,record_id,commonDialog) {
$scope.addRemarkParams = {record_id:record_id};
$scope.addRemark = function () {
var params = angular.copy($scope.addRemarkParams);
$http.post('/sys/risk/details/remark',params).then(function (res) {
$scope.$close();
}).then(function (resp) {
commonDialog.alert({
title: 'Error',
content: resp.data.message,
type: 'Error'
});
})
}
}]);
app.controller('RiskRecordHandleCtrl', ['$scope', '$http','record_id','commonDialog', function ($scope, $http,record_id,commonDialog) {
$scope.params= {};
$scope.handle = function () {
@ -140,20 +218,26 @@ define(['angular', 'static/commons/commons', 'uiBootstrap', 'uiRouter', 'ngBootS
}
}]);
app.filter('risk_type', function (typeString) {
var sArr = typeString.split(",");
var result = "";
angular.forEach(sArr, function (s) {
app.filter('risk_type', function () {
return function (riskStr) {
angular.forEach(riskType,function (type) {
if (type==s){
result+=type;
result+=",";
}
riskStr = riskStr.replace(type.code,type.label);
})
});
result = result.substr(0,result.length-2);
return result;
return riskStr;
};
});
app.filter('status_type', function () {
return function (riskStr) {
var statusResult = '';
switch (riskStr){
case('0'): statusResult = '待处理';break;
case('1'): statusResult = '已处理';break;
case('2'): statusResult = '处理中';break;
default: statusResult = '';
}
return statusResult;
};
});
return app;
});

@ -14,10 +14,10 @@
<thead>
<tr>
<th>Client Moniker</th>
<th>Create Time</th>
<th>Create Time</th>r
<th>Waring Time</th>
<th>Risk Types</th>
<th>Status</th>
<th>Risk Types</th>
<th>Risk Counts</th>
<th>Operation</th>
</tr>
@ -27,7 +27,7 @@
<td>{{record.client_moniker}}</td>
<td>{{record.create_time}}</td>
<td>{{record.expiry_time}}</td>
<td>{{record.status}}</td>
<td>{{record.status|status_type}}</td>
<td>{{record.risk_types|risk_type}}</td>
<td>{{record.risk_counts}}</td>
<td>

@ -0,0 +1,63 @@
<div ui-view>
<section class="content-header">
<h1>Risk Manager</h1>
<ol class="breadcrumb">
<li><i class="fa fa-gift"></i> Risk</li>
<li class="fa fa-gift">Risk Manager</li>
<li class="active">Risk Detail</li>
</ol>
</section>
<section class="content">
<ul class="nav nav-tabs">
<li ui-sref-active-eq="active">
<a ui-sref="analysis_monitoring.risk_orders({'record_id':record.id})">Risk Orders</a>
</li>
<li ui-sref-active="active">
<a ui-sref="analysis_monitoring.risk_history({'record_id':record.id})">Risk history</a>
</li>
<li ui-sref-active="active">
<a ui-sref="analysis_monitoring.risk_detail({'record_id':record.id})">Risk Detail</a>
</li>
</ul>
<div class="box box-default">
<div class="box-header">Risk Details</div>
<div><button type="button" class="btn btn-danger" ng-click="addRemark()">Add Remark</button></div>
<div><button type="button" class="btn btn-danger" ng-click="dealDirectly()">Close record</button></div>
<div class="box-body table-responsive">
<table class="table table-hover">
<thead>
<tr>
<th>Create Time</th>
<th>auditor</th>
<th>operation</th>
<th>remark</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="record in details">
<td>{{record.create_time}}</td>
<td>{{record.auditor}}</td>
<td>{{record.operation}}</td>
<td>{{record.remark}}</td>
</tr>
</tbody>
</table>
<div class="modal-footer">
<uib-pagination ng-if="details.length"
class="pagination"
total-items="pagination.totalCount"
boundary-links="true"
ng-model="pagination.page"
items-per-page="pagination.limit"
max-size="10"
ng-change="listDetail()"
previous-text="&lsaquo;"
next-text="&rsaquo;"
first-text="&laquo;"
last-text="&raquo;"></uib-pagination>
</div>
</div>
</div>
</section>
</div>

@ -19,6 +19,7 @@
Disable Merchant
</label>
</div>
<div class="form-group">
<button class="btn btn-primary btn-block" ng-click="handle()">commit</button>
</div>

@ -9,68 +9,22 @@
</section>
<section class="content">
<ul class="nav nav-tabs">
<li ui-sref-active-eq="active">
<a ui-sref="analysis_monitoring.risk_orders({'record_id':record.id})">Record Orders</a>
</li>
<li ui-sref-active="active">
<a ui-sref="analysis_monitoring.risk_history({'record_id':record.id})">Record history</a>
</li>
<ul class="nav nav-tabs">
<li ui-sref-active-eq="active">
<a ui-sref="analysis_monitoring.risk_orders({'record_id':record.id})">Risk Orders</a>
</li>
<li ui-sref-active="active">
<a ui-sref="analysis_monitoring.risk_history({'record_id':record.id})">Risk history</a>
</li>
<li ui-sref-active="active">
<a ui-sref="analysis_monitoring.risk_detail({'record_id':record.id})">Risk Detail</a>
</li>
</ul>
</ul>
<div class="box box-default">
<div class="box-header">Record History</div>
<div class="box-body table-responsive">
<table class="table table-hover">
<thead>
<tr>
<th>Client Moniker</th>
<th>Create Time</th>
<th>Waring Time</th>
<th>Risk Types</th>
<th>Status</th>
<th>Risk Counts</th>
<th>Operation</th>
</tr>
</thead>
<tbody>
<tr>
<td>{{record.client_moniker}}</td>
<td>{{record.create_time}}</td>
<td>{{record.expiry_time}}</td>
<td>{{record.status}}</td>
<td>{{record.risk_types|risk_type}}</td>
<td>{{record.risk_counts}}</td>
<td>
<a class="text-primary" role="button" title="Detail" ng-if="record.status==0" ng-click="edit()">
<i class="fa fa-edit"></i>
</a>
<a class="text-primary" role="button" title="Detail" ng-if="record.status==0" ng-click="noop()">
<i class="fa fa-arrows"></i>
</a>
</td>
</tr>
</tbody>
</table>
<div class="modal-footer">
<uib-pagination ng-if="histories.length"
class="pagination"
total-items="pagination.totalCount"
boundary-links="true"
ng-model="pagination.page"
items-per-page="pagination.limit"
max-size="10"
ng-change="listHistory()"
previous-text="&lsaquo;"
next-text="&rsaquo;"
first-text="&laquo;"
last-text="&raquo;"></uib-pagination>
</div>
</div>
</div>
<div class="box box-default">
<!--
<div class="box-header">Latest Record</div>
-->
<div class="box-body table-responsive">
<table class="table table-hover">
<thead>

@ -9,12 +9,17 @@
</section>
<section class="content">
<ul class="nav nav-tabs">
<li ui-sref-active-eq="active">
<a ui-sref="analysis_monitoring.risk_orders({'record_id':record.id})">Record Orders</a>
</li>
<li ui-sref-active="active">
<a ui-sref="analysis_monitoring.risk_history({'record_id':record.id})">Record history</a>
</li>
<ul class="nav nav-tabs">
<li ui-sref-active-eq="active">
<a ui-sref="analysis_monitoring.risk_orders({'record_id':record.id})">Risk Orders</a>
</li>
<li ui-sref-active="active">
<a ui-sref="analysis_monitoring.risk_history({'record_id':record.id})">Risk history</a>
</li>
<li ui-sref-active="active">
<a ui-sref="analysis_monitoring.risk_detail({'record_id':record.id})">Risk Detail</a>
</li>
</ul>
</ul>
<div class="box box-default">
<div class="box-header">Reference Orders</div>
@ -25,6 +30,7 @@
<th>Order Id</th>
<th>Amount</th>
<th>Channel</th>
<th>Create Time</th>
<th>Risk Types</th>
</tr>
</thead>
@ -33,6 +39,7 @@
<td>{{order.order_id}}</td>
<td>{{order.amount}}</td>
<td>{{order.channel}}</td>
<td>{{order.create_time}}</td>
<td>{{order.risk_types|risk_type}}</td>
</tr>
</tbody>
@ -63,6 +70,7 @@
<th>Order Id</th>
<th>Amount</th>
<th>Channel</th>
<th>Create Time</th>
<th>Risk Types</th>
</tr>
</thead>
@ -71,6 +79,7 @@
<td>{{order.order_id}}</td>
<td>{{order.amount}}</td>
<td>{{order.channel}}</td>
<td>{{order.create_time}}</td>
<td>{{order.risk_types|risk_type}}</td>
</tr>
</tbody>

@ -0,0 +1,25 @@
<section class="content-header">
<h1>Phone Top Up</h1>
</section>
<div class="content">
<div class="row">
<div class="col-sm-12">
<div class="box-solid">
<div class="box box-warning">
<div class="box-header">
<form role="form" style="margin:0px auto;width: 50%">
<div class="form-group">
<label>remark</label>
<input ng-model="addRemarkParams.remark" name="code" class="form-control" type="text"/>
</div>
<div class="form-group">
<button class="btn btn-primary btn-block" ng-click="addRemark()">commit</button>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
Loading…
Cancel
Save