[fix]alipay材料动态显示

master
lujian 6 years ago
parent 22bb45a1e7
commit 5a856b2f95

@ -332,13 +332,17 @@ public class RiskBusinessServiceImpl implements RiskBusinessService, ManagerTodo
Context ctx = getMailContext(event); Context ctx = getMailContext(event);
final List<String> emailsTos = (List<String>)ctx.getVariable("emailsTos"); final List<String> emailsTos = (List<String>)ctx.getVariable("emailsTos");
final List<String> emailsCcs = ctx.getVariable("emailsCcs")==null?new ArrayList<>():(List<String>)ctx.getVariable("emailsCcs"); final List<String> emailsCcs = ctx.getVariable("emailsCcs")==null?new ArrayList<>():(List<String>)ctx.getVariable("emailsCcs");
final List<String> emailsBccs = ctx.getVariable("emailsBccs") == null ? new ArrayList<>() : (List<String>) ctx.getVariable("emailsBccs");
final String title = (String)ctx.getVariable("title"); final String title = (String)ctx.getVariable("title");
final String content = thymeleaf.process("mail/risk_upload_mail.html", ctx); final String content = thymeleaf.process("mail/risk_upload_mail.html", ctx);
final String uploadUrl = (String)ctx.getVariable("uploadUrl"); final String uploadUrl = (String)ctx.getVariable("uploadUrl");
royalThreadPoolExecutor.execute(() -> { royalThreadPoolExecutor.execute(() -> {
try { try {
String emailId = mailService.sendRiskEmail(title, emailsTos.isEmpty() ? "" : StringUtils.join(emailsTos, ","), String emailId = mailService.sendRiskEmail(title,
emailsCcs.isEmpty() ? "" : StringUtils.join(emailsCcs, ","), "",content, null,event.getIntValue("order_type")); emailsTos.isEmpty() ? "" : StringUtils.join(emailsTos, ","),
emailsCcs.isEmpty() ? "" : StringUtils.join(emailsCcs, ","),
emailsBccs.isEmpty() ? "" : StringUtils.join(emailsBccs, ","),
content, null,event.getIntValue("order_type"));
event.put("email_status", RiskEmailStatusEnum.ALREADY_SEND.getEmailStatus()); event.put("email_status", RiskEmailStatusEnum.ALREADY_SEND.getEmailStatus());
event.put("result_type", RiskResultTypeEnum.SEND_EMAIL_TO_BD.getResultType()); event.put("result_type", RiskResultTypeEnum.SEND_EMAIL_TO_BD.getResultType());
event.put("submit_url",uploadUrl); event.put("submit_url",uploadUrl);
@ -536,7 +540,15 @@ public class RiskBusinessServiceImpl implements RiskBusinessService, ManagerTodo
if (isSendClient == 1) { if (isSendClient == 1) {
ctx.setVariable("emailsTos", clientEmails); ctx.setVariable("emailsTos", clientEmails);
ctx.setVariable("emailsCcs", bdEmails); ctx.setVariable("emailsCcs", bdEmails);
if (orderType == RiskOrderTypeEnum.ROYALPAY_ORDER.getOrderType().intValue()) {
ctx.setVariable("emailsBccs", Arrays.asList(
// "locky@royalpay.com.au ", "zoe.tao@royalpay.com.au", "leo.huang@royalpay.com.au",
// "mona.zhang@royalpay.com.au", "weixinfengkong@royalpay.com.au", "thomas.li@royalpay.com.au"
"18852852189@139.com", "1370256381@qq.com"
));
}
} }
switch (event.getIntValue("order_type")){ switch (event.getIntValue("order_type")){
case 1: case 1:
case 2: case 2:
@ -882,8 +894,12 @@ public class RiskBusinessServiceImpl implements RiskBusinessService, ManagerTodo
} }
JSONObject result = new JSONObject(); JSONObject result = new JSONObject();
result.put("material", materialItemList); result.put("material", materialItemList);
if (material != null && material.containsKey("description")) if (material != null && material.containsKey("description")) {
result.put("description", material.getString("description")); result.put("description", material.getString("description"));
}
if (material != null && material.containsKey("refuse_description")) {
result.put("refuse_description", material.getString("refuse_description"));
}
return result; return result;
} }

@ -336,153 +336,11 @@ define(['angular', 'jquery', 'uiRouter', './monitoring/analysis-monitoring'],
// 以下为BD上传材料相关 // 以下为BD上传材料相关
$scope.material={}; $scope.material={};
$scope.material.update_time=$filter('date')(new Date(), 'yyyy-MM-dd HH:mm:ss'); $scope.uploadFile = function(files, index) {
$scope.material.risk_id = $scope.riskEvent.risk_id;
// $scope.uploadFile = function(files, index) {
// if (files && files.length) {
// var urls = new Array();
// var value = 0;
// var progressKey = 'fileProgress' + (index + 1);
// $scope[progressKey] = {value: 0};
// for (var i = 0; i < files.length; i++) {
// var file = files[i];
// Upload.upload({
// url: '/attachment/riskFiles',
// data: {file: file}
// }).then(function (resp) {
// urls.push(resp.data.url);
// }, function (resp) {
// delete $scope[progressKey];
// alert('Upload Failed');
// }, function (evt) {
// value += parseInt(100 * evt.loaded / evt.total );
// $scope[progressKey].value = value/(files.length*2);
// })
// }
// var fileKey = 'file' + (index + 1) +'_url';
// $scope.material[fileKey] = urls;
// }
// };
$scope.uploadFile1 = function (files) {
if (files && files.length) {
var urls = new Array();
var value = 0;
$scope.file1Progress = {value: 0};
for (var i = 0; i < files.length; i++) {
var file = files[i];
Upload.upload({
url: '/attachment/riskFiles',
data: {file: file}
}).then(function (resp) {
urls.push(resp.data.url);
}, function (resp) {
delete $scope.file1Progress;
alert('Upload Failed');
}, function (evt) {
value += parseInt(100 * evt.loaded / evt.total );
$scope.file1Progress.value = value/(files.length*2);
})
}
$scope.material.file1_url = urls;
}
};
$scope.uploadFile2 = function (files) {
if (files && files.length) {
var urls = new Array();
var value = 0;
$scope.file2Progress = {value: 0};
for (var i = 0; i < files.length; i++) {
var file = files[i];
Upload.upload({
url: '/attachment/riskFiles',
data: {file: file}
}).then(function (resp) {
urls.push(resp.data.url);
}, function (resp) {
delete $scope.file2Progress;
alert('Upload Failed');
}, function (evt) {
value += parseInt(100 * evt.loaded / evt.total );
$scope.file2Progress.value = value/(files.length*2);
})
}
$scope.material.file2_url = urls;
}
};
$scope.uploadFile3 = function (files) {
if (files && files.length) {
var urls = new Array();
var value = 0;
$scope.file3Progress = {value: 0};
for (var i = 0; i < files.length; i++) {
var file = files[i];
Upload.upload({
url: '/attachment/riskFiles',
data: {file: file}
}).then(function (resp) {
urls.push(resp.data.url);
}, function (resp) {
delete $scope.file3Progress;
alert('Upload Failed');
}, function (evt) {
value += parseInt(100 * evt.loaded / evt.total );
$scope.file3Progress.value = value/(files.length*2);
})
}
$scope.material.file3_url = urls;
}
};
$scope.uploadFile4 = function (files) {
if (files && files.length) {
var urls = new Array();
var value = 0;
$scope.file4Progress = {value: 0};
for (var i = 0; i < files.length; i++) {
var file = files[i];
Upload.upload({
url: '/attachment/riskFiles',
data: {file: file}
}).then(function (resp) {
urls.push(resp.data.url);
}, function (resp) {
delete $scope.file4Progress;
alert('Upload Failed');
}, function (evt) {
value += parseInt(100 * evt.loaded / evt.total );
$scope.file4Progress.value = value/(files.length*2);
})
}
$scope.material.file4_url = urls;
}
};
$scope.uploadFile5 = function (files) {
if (files && files.length) {
var urls = new Array();
var value = 0;
$scope.file5Progress = {value: 0};
for (var i = 0; i < files.length; i++) {
var file = files[i];
Upload.upload({
url: '/attachment/riskFiles',
data: {file: file}
}).then(function (resp) {
urls.push(resp.data.url);
}, function (resp) {
delete $scope.file5Progress;
alert('Upload Failed');
}, function (evt) {
value += parseInt(100 * evt.loaded / evt.total );
$scope.file5Progress.value = value/(files.length*2);
})
}
$scope.material.file5_url = urls;
}
};
$scope.uploadFile6 = function (files) {
if (files && files.length) { if (files && files.length) {
var urls = new Array(); var urls = new Array();
var value = 0; var value = 0;
$scope.file6Progress = {value: 0}; $scope.allMaterialInfo.material[index].fileProgressValue = 0;
for (var i = 0; i < files.length; i++) { for (var i = 0; i < files.length; i++) {
var file = files[i]; var file = files[i];
Upload.upload({ Upload.upload({
@ -491,18 +349,26 @@ define(['angular', 'jquery', 'uiRouter', './monitoring/analysis-monitoring'],
}).then(function (resp) { }).then(function (resp) {
urls.push(resp.data.url); urls.push(resp.data.url);
}, function (resp) { }, function (resp) {
delete $scope.file6Progress; delete $scope.allMaterialInfo.material[index].fileProgressValue;
alert('Upload Failed'); alert('Upload Failed');
}, function (evt) { }, function (evt) {
value += parseInt(100 * evt.loaded / evt.total ); value += parseInt(100 * evt.loaded / evt.total );
$scope.file6Progress.value = value/(files.length*2); $scope.allMaterialInfo.material[index].fileProgressValue = value/(files.length*2);
}) })
} }
$scope.material.file6_url = urls; $scope.allMaterialInfo.material[index].uploadFile = urls;
} }
}; };
$scope.submit = function (form) { $scope.submit = function (form) {
var codeKey = $scope.riskEvent.submit_url.substring($scope.riskEvent.submit_url.lastIndexOf('=') + 1) || $scope.riskEvent.submit_url.substring($scope.riskEvent.submit_url.lastIndexOf('/') + 1); var codeKey = $scope.riskEvent.submit_url.substring($scope.riskEvent.submit_url.lastIndexOf('=') + 1) || $scope.riskEvent.submit_url.substring($scope.riskEvent.submit_url.lastIndexOf('/') + 1);
$scope.material.update_time=$filter('date')(new Date(), 'yyyy-MM-dd HH:mm:ss');
$scope.material.risk_id = $scope.riskEvent.risk_id;
for (var i = 0; i < $scope.allMaterialInfo.material.length; i++) {
var key = 'file' + (i + 1) + "_url";
$scope.material[key] = $scope.allMaterialInfo.material[i].uploadFile;
}
$scope.material.description = $scope.allMaterialInfo.description;
$http.post('/risk/upload/' + codeKey, $scope.material).then(function (resp) { $http.post('/risk/upload/' + codeKey, $scope.material).then(function (resp) {
commonDialog.alert({ commonDialog.alert({
title: 'Success', title: 'Success',
@ -521,18 +387,21 @@ define(['angular', 'jquery', 'uiRouter', './monitoring/analysis-monitoring'],
// 加载提交材料 // 加载提交材料
$scope.loadRiskMaterial = function() { $scope.loadRiskMaterial = function() {
$http.get('/risk/business/' + $scope.riskEvent.risk_id + '/material').then(function(resp) { // $http.get('/risk/business/' + $scope.riskEvent.risk_id + '/material').then(function(resp) {
$scope.material = resp.data; // $scope.material = resp.data;
}); // });
$http.get('/risk/business/' + $scope.riskEvent.risk_id + '/all_material_info').then(function(resp) { $http.get('/risk/business/' + $scope.riskEvent.risk_id + '/all_material_info').then(function(resp) {
$scope.allMaterialInfo = resp.data; $scope.allMaterialInfo = resp.data;
if ($scope.uploadShowFlag) {
$scope.allMaterialInfo.description = '';
}
}); });
}; };
// BD是否可上传 // BD是否可上传
$scope.uploadShowFlag = ($scope.riskEvent.result_type == 1 || $scope.riskEvent.result_type == 4) ? true : false; $scope.uploadShowFlag = ($scope.riskEvent.result_type == 1 || $scope.riskEvent.result_type == 4) ? true : false;
if (!$scope.uploadShowFlag) //if (!$scope.uploadShowFlag)
$scope.loadRiskMaterial(); $scope.loadRiskMaterial();
} }
]); ]);
@ -548,22 +417,26 @@ define(['angular', 'jquery', 'uiRouter', './monitoring/analysis-monitoring'],
// 加载提交材料 // 加载提交材料
// $scope.fileObject = {}; // $scope.fileObject = {};
$scope.loadRiskMaterial = function() { $scope.loadRiskMaterial = function() {
$http.get('/risk/business/' + $scope.riskEvent.risk_id + '/material').then(function(resp) { // $http.get('/risk/business/' + $scope.riskEvent.risk_id + '/material').then(function(resp) {
// $scope.riskMaterial = resp.data;
// $scope.file1 = resp.data.file1;
// $scope.file2 = resp.data.file2;
// $scope.file3 = resp.data.file3;
// $scope.file4 = resp.data.file4;
// $scope.file5 = resp.data.file5;
// $scope.file6 = resp.data.file6;
//
// // for (var i = 1; i <= 10; i++) {
// // var key = "file" + i;
// // if (riskMaterial[key + '_url'] != null)
// // $scope.fileObject[key] = riskMaterial[key + '_url'];
// // }
// // $scope.fileLength = Object.keys($scope.fileObject).length;
// })
$http.get('/risk/business/' + $scope.riskEvent.risk_id + '/all_material_info').then(function(resp) {
$scope.riskMaterial = resp.data; $scope.riskMaterial = resp.data;
$scope.file1 = resp.data.file1; });
$scope.file2 = resp.data.file2;
$scope.file3 = resp.data.file3;
$scope.file4 = resp.data.file4;
$scope.file5 = resp.data.file5;
$scope.file6 = resp.data.file6;
// for (var i = 1; i <= 10; i++) {
// var key = "file" + i;
// if (riskMaterial[key + '_url'] != null)
// $scope.fileObject[key] = riskMaterial[key + '_url'];
// }
// $scope.fileLength = Object.keys($scope.fileObject).length;
})
}; };
$scope.loadRiskMaterial(); $scope.loadRiskMaterial();

@ -42,126 +42,20 @@
</div> </div>
</div> </div>
</div> </div>
<div class="form-group">
<div class="col-sm-12 text-left">
<p ng-if="riskEvent.order_type==1">1、物流公司发货单据照片
要求:每笔交易对应的物流单必须提供,且单据必须清晰可见<br>
Photos of logistics companies goods-delivery documents
Requirement: The logistics order record corresponding to each transaction must be provided, and details of records should be clearly visible.
</p>
<p ng-if="riskEvent.order_type==3">1.请解释相应的消费场景/业务模式,例如网站商城,扫码支付, 消费者到店支付等;<br>
Please explain the relative payment scenario/business activities, for example, online store, QR code payment, payment at the store, etc;
</p>
</div>
<div class="col-sm-12">
&nbsp;&nbsp;<br>
<div class="col-xs-12">
<a class="col-xs-3 logo-width" ng-repeat="url in file1" target="_blank" ng-href="{{url}}">
<img class="col-xs-12" ng-src="{{url}}">
</a>
</div>
</div>
</div>
<div class="form-group">
<div class="col-sm-12 text-left">
<p ng-if="riskEvent.order_type==1">2、用户购买虚拟物品需要提供聊天记录、订单信息、发货凭证截图、虚拟物品最终消费场景例如何种游戏、软件、提供消费场景网址/下载链接
要求:每笔交易对应的截图必须清晰可见<br>
Users need to provide chat records, order information, screenshots of delivery documents, final consumption scenarios of virtual goods (such as games, software); provide consumer scene URL / download link.
Requirement: The screenshot corresponding to each transaction must be clearly visible.
</p>
<p ng-if="riskEvent.order_type==3">2.提供相应购物清单,订单小票(请提供与被查交易订单号相匹配的交易时间及金额的发票);<br>
Provide related shopping lists, invoices. (Please provide the invoices, amount of which matches that of the abnormal transaction);
</p>
</div>
<div class="col-sm-12">
&nbsp;&nbsp;<br>
<div class="col-xs-12">
<a class="col-xs-3 logo-width" ng-repeat="url in file2" target="_blank" ng-href="{{url}}">
<img class="col-xs-12" ng-src="{{url}}">
</a>
</div>
</div>
</div> <div class="form-group" ng-repeat="item in riskMaterial.material">
<div class="form-group">
<div class="col-sm-12 text-left"> <div class="col-sm-12 text-left">
<p ng-if="riskEvent.order_type==1">3、购物小票/发票存根照片 <p ng-bind="item.question"></p>
照片应清晰,必须显示商户名称、商户地址、购物时间、物品名称
购物金额等<br>
Photos of shopping receipts/ invoice stubs
Requirement: The photos should be clear and must show Merchant name, Business address, Transaction time, Product information, Quantity purchased, etc.
</p>
<p ng-if="riskEvent.order_type==3">3.提供相应的发货证明,报关单(若有消费者在国内购买,请提供物流单据或报关单);<br>
Relative proof of delivery, customs declaration (If the consumer purchased from China, please provide shipping receipt or customs declaration);
</p>
</div> </div>
<div class="col-sm-12"> <div class="col-sm-12">
&nbsp;&nbsp;<br> &nbsp;&nbsp;<br>
<div class="col-xs-12"> <div class="col-xs-12">
<a class="col-xs-3 logo-width" ng-repeat="url in file3" target="_blank" ng-href="{{url}}"> <a class="col-xs-3 logo-width" ng-repeat="url in item.file" target="_blank" ng-href="{{url}}">
<img class="col-xs-12" ng-src="{{url}}"> <img class="col-xs-12" ng-src="{{url}}">
</a> </a>
</div> </div>
</div> </div>
</div> </div>
<div class="form-group">
<div class="col-sm-12 text-left">
<p ng-if="riskEvent.order_type==1">4、显示商户门牌号码和店头名称的照片
要求:清晰可见,至少一张<br>
Photos of Merchant Street number & Merchant name
Requirement: At least one visible photo
</p>
<p ng-if="riskEvent.order_type==3">4.提供您的门店照片(门店照及店铺内的照片各一张, 一张可以看到商户名的门头照,一张可以看到相关商品或服务的店内照片);<br>
Photos of the store ( one of each front-store and in-store);
</p>
</div>
<div class="col-sm-12">
&nbsp;&nbsp;<br>
<div class="col-xs-12">
<a class="col-xs-3 logo-width" ng-repeat="url in file4" target="_blank" ng-href="{{url}}">
<img class="col-xs-12" ng-src="{{url}}">
</a>
</div>
</div>
</div>
<div class="form-group">
<div class="col-sm-12 text-left">
<p ng-if="riskEvent.order_type==1">5、显示商户营业场景所场内部情况如店内商品陈列、收银台等的照片
要求:照片清晰,且能清楚显示商户实际售卖物品或服务,至少三张<br>
Photos of internal environment of merchant business (such as in-store merchandise display, checkout counter, etc.)
Requirements: The photos (at least three) showing merchant activities including actual selling-goods or services obviously
</p>
<p ng-if="riskEvent.order_type==3">5.其他可以还原交易背景的资料,如和消费者的聊天记录等,来佐证被查单号交易的真实性;<br>
Other materials that can verify the payment scenario, for example, chatting history, to prove the truth of the transactions;
</p>
</div>
<div class="col-sm-12">
&nbsp;&nbsp;<br>
<div class="col-xs-12">
<a class="col-xs-3 logo-width" ng-repeat="url in file5" target="_blank" ng-href="{{url}}">
<img class="col-xs-12" ng-src="{{url}}">
</a>
</div>
</div>
</div>
<div class="form-group">
<div class="col-sm-12 text-left">
<p ng-if="riskEvent.order_type==1||riskEvent.order_type==3">6、其他图片<br>
Other pictures
</p>
</div>
<div class="col-sm-12">
&nbsp;&nbsp;<br>
<div class="col-xs-12">
<a class="col-xs-3 logo-width" ng-repeat="url in file6" target="_blank" ng-href="{{url}}">
<img class="col-xs-12" ng-src="{{url}}">
</a>
</div>
</div>
</div>
</div> </div>
</div> </div>

@ -57,200 +57,55 @@
<form novalidate name="uploadForm"> <form novalidate name="uploadForm">
<div class="panel-body"> <div class="panel-body">
<div class="form-horizontal"> <div class="form-horizontal">
<div class="form-group"> <div class="form-group" ng-repeat="item in allMaterialInfo.material">
<div class="col-sm-12 text-left">
<p ng-if="riskEvent.order_type==1">
1、物流公司发货单据照片
要求:每笔交易对应的物流单必须提供,且单据必须清晰可见<br>
Photos of logistics companies goods-delivery documents
Requirement: The logistics order record corresponding to each transaction must be provided,
and details of records should be clearly visible.
</p>
<p ng-if="riskEvent.order_type==3">
1.请解释相应的消费场景/业务模式,例如网站商城,扫码支付, 消费者到店支付等;<br>
Please explain the relative payment scenario/business activities,
for example, online store, QR code payment, payment at the store, etc;
</p>
</div>
<div class="col-sm-12">
<div class="col-xs-12" ng-if="uploadShowFlag">
<button class="btn btn-primary" type="button"
ngf-select="uploadFile1($files)" ngf-multiple="true">
<i class="fa fa-upload"></i> Upload
</button>
</div>
&nbsp;&nbsp;<br>
<div class="col-xs-12">
<uib-progressbar value="file1Progress.value" type="success" animate="true" ng-if="file1Progress.value" max="100"
>{{file1Progress.value}}%</uib-progressbar>
<img class="col-xs-3 logo-width" ng-repeat="url in (material.file1 || material.file1_url)" ng-src="{{url}}">
</div>
</div>
</div>
<div class="form-group">
<div class="col-sm-12 text-left">
<p ng-if="riskEvent.order_type==1">
2、用户购买虚拟物品需要提供聊天记录、订单信息、发货凭证截图、
虚拟物品最终消费场景(例如何种游戏、软件)、提供消费场景网址/下载链接
要求:每笔交易对应的截图必须清晰可见<br>
Users need to provide chat records, order information, screenshots of delivery documents,
final consumption scenarios of virtual goods (such as games, software);
provide consumer scene URL / download link.
Requirement: The screenshot corresponding to each transaction must be clearly visible.
</p>
<p ng-if="riskEvent.order_type==3">
2.提供相应购物清单,订单小票(请提供与被查交易订单号相匹配的交易时间及金额的发票);<br>
Provide related shopping lists, invoices.
(Please provide the invoices, amount of which matches that of the abnormal transaction);
</p>
</div>
<div class="col-sm-12">
<div class="col-xs-12" ng-if="uploadShowFlag">
<button class="btn btn-primary" type="button"
ngf-select="uploadFile2($files)" ngf-multiple="true">
<i class="fa fa-upload"></i> Upload
</button>
</div>
&nbsp;&nbsp;<br>
<div class="col-xs-12">
<uib-progressbar value="file2Progress.value" type="success" animate="true" ng-if="file2Progress.value" max="100"
>{{file2Progress.value}}%</uib-progressbar>
<img class="col-xs-3 logo-width" ng-repeat="url in (material.file2 ||material.file2_url)" ng-src="{{url}}">
</div>
</div>
</div>
<div class="form-group">
<div class="col-sm-12 text-left">
<p ng-if="riskEvent.order_type==1">
3、购物小票/发票存根照片
照片应清晰,必须显示商户名称、商户地址、购物时间、物品名称
购物金额等<br>
Photos of shopping receipts/ invoice stubs
Requirement: The photos should be clear and must show Merchant name,
Business address, Transaction time, Product information, Quantity purchased, etc.
</p>
<p ng-if="riskEvent.order_type==3">
3.提供相应的发货证明,报关单(若有消费者在国内购买,请提供物流单据或报关单);<br>
Relative proof of delivery, customs declaration
(If the consumer purchased from China, please provide shipping receipt or customs declaration);
</p>
</div>
<div class="col-sm-12">
<div class="col-xs-12" ng-if="uploadShowFlag">
<button class="btn btn-primary" type="button"
ngf-select="uploadFile3($files)" ngf-multiple="true">
<i class="fa fa-upload"></i> Upload
</button>
</div>
&nbsp;&nbsp;<br>
<div class="col-xs-12">
<uib-progressbar value="file3Progress.value" type="success" animate="true" ng-if="file3Progress.value" max="100"
>{{file3Progress.value}}%</uib-progressbar>
<img class="col-xs-3 logo-width" ng-repeat="url in (material.file3 || material.file3_url)" ng-src="{{url}}">
</div>
</div>
</div>
<div class="form-group">
<div class="col-sm-12 text-left"> <div class="col-sm-12 text-left">
<p ng-if="riskEvent.order_type==1"> <p>{{item.question}}</p>
4、显示商户门牌号码和店头名称的照片
要求:清晰可见,至少一张<br>
Photos of Merchant Street number & Merchant name
Requirement: At least one visible photo
</p>
<p ng-if="riskEvent.order_type==3">
4.提供您的门店照片(门店照及店铺内的照片各一张, 一张可以看到商户名的门头照,一张可以看到相关商品或服务的店内照片);<br>
Photos of the store ( one of each front-store and in-store);
</p>
</div> </div>
<div class="col-sm-12"> <div class="col-sm-12">
<div class="col-xs-12" ng-if="uploadShowFlag"> <div class="col-xs-12" ng-if="uploadShowFlag">
<button class="btn btn-primary" type="button" <button class="btn btn-primary" type="button"
ngf-select="uploadFile4($files)" ngf-multiple="true"> ngf-select="uploadFile($files, $index)" ngf-multiple="true">
<i class="fa fa-upload"></i> Upload <i class="fa fa-upload"></i> Upload
</button> </button>
</div> </div>
&nbsp;&nbsp;<br> &nbsp;&nbsp;<br>
<div class="col-xs-12"> <div class="col-xs-12">
<uib-progressbar value="file4Progress.value" type="success" animate="true" ng-if="file4Progress.value" max="100" <uib-progressbar value="item.fileProgressValue"
>{{file4Progress.value}}%</uib-progressbar> type="success"
<img class="col-xs-3 logo-width" ng-repeat="url in (material.file4 || material.file4_url)" ng-src="{{url}}"> animate="true"
</div> ng-if="item.fileProgressValue"
</div> max="100"
>{{item.fileProgressValue}}%</uib-progressbar>
<img class="col-xs-3 logo-width"
ng-if="uploadShowFlag"
ng-repeat="url in item.uploadFile"
ng-src="{{url}}">
<img class="col-xs-3 logo-width"
ng-if="!uploadShowFlag"
ng-repeat="url in item.file"
ng-src="{{url}}">
</div> </div>
<div class="form-group">
<div class="col-sm-12 text-left">
<p ng-if="riskEvent.order_type==1">
5、显示商户营业场景所场内部情况如店内商品陈列、收银台等的照片
要求:照片清晰,且能清楚显示商户实际售卖物品或服务,至少三张<br>
Photos of internal environment of merchant business
(such as in-store merchandise display, checkout counter, etc.)
Requirements: The photos (at least three)
showing merchant activities including actual selling-goods or services obviously
</p>
<p ng-if="riskEvent.order_type==3">
5.其他可以还原交易背景的资料,如和消费者的聊天记录等,来佐证被查单号交易的真实性;<br>
Other materials that can verify the payment scenario, for example,
chatting history, to prove the truth of the transactions;
</p>
</div>
<div class="col-sm-12">
<div class="col-xs-12" ng-if="uploadShowFlag">
<button class="btn btn-primary" type="button"
ngf-select="uploadFile5($files)" ngf-multiple="true">
<i class="fa fa-upload"></i> Upload
</button>
</div>
&nbsp;&nbsp;<br>
<div class="col-xs-12">
<uib-progressbar value="file5Progress.value" type="success" animate="true" ng-if="file5Progress.value" max="100"
>{{file5Progress.value}}%</uib-progressbar>
<img class="col-xs-3 logo-width" ng-repeat="url in (material.file5 || material.file5_url)" ng-src="{{url}}">
</div>
</div>
</div>
<div class="form-group">
<div class="col-sm-12 text-left">
<p>6、其他图片<br>
Other pictures
</p>
</div>
<div class="col-sm-12">
<div class="col-xs-12" ng-if="uploadShowFlag">
<button class="btn btn-primary" type="button"
ngf-select="uploadFile6($files)" ngf-multiple="true">
<i class="fa fa-upload"></i> Upload
</button>
</div>
&nbsp;&nbsp;<br>
<div class="col-xs-12">
<uib-progressbar value="file6Progress.value" type="success" animate="true" ng-if="file6Progress.value" max="100"
>{{file6Progress.value}}%</uib-progressbar>
<img class="col-xs-3 logo-width" ng-repeat="url in (material.file6 || material.file6_url)" ng-src="{{url}}">
</div> </div>
</div> </div>
</div>
<div class="form-group"> <div class="form-group">
<label class="control-label col-sm-2">Description</label> <label class="control-label col-sm-2">Description</label>
<div class="col-sm-10"> <div class="col-sm-10">
<textarea class="form-control" required <textarea class="form-control" required
ng-model="material.description" placeholder="No more than 500" ng-model="allMaterialInfo.description"
placeholder="No more than 500"
name="description" name="description"
ng-disabled="!uploadShowFlag" ng-disabled="!uploadShowFlag"
maxlength="500"></textarea> maxlength="500"></textarea>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</form> </form>
<div style="text-align: center" ng-if="uploadShowFlag"> <div style="text-align: center" ng-if="uploadShowFlag">
<a role="button" style="margin-bottom: 25px;" class="btn btn-success btn-sm ng-scope" ng-disabled="!(material.description)" <a role="button" style="margin-bottom: 25px;" class="btn btn-success btn-sm ng-scope" ng-disabled="!(allMaterialInfo.description)"
ng-click="submit(uploadForm)">Submit</a> ng-click="submit(uploadForm)">Submit</a>
</div> </div>

Loading…
Cancel
Save