|
@@ -22,11 +22,11 @@ $(function () {
|
|
|
colModel: [
|
|
|
{label: 'id', name: 'id', index: 'id', key: true, hidden: true},
|
|
|
{label: '所属门店', name: 'storeName', index: 'storeName',align: 'center', width: 70},
|
|
|
- {label: '订单号', name: 'orderSn', index: 'order_sn', align: 'center',width: 110},
|
|
|
- {label: '会员', name: 'userName', index: 'user_name', align: 'center',width: 60},
|
|
|
- {label: '商户订单号', name: 'merchOrderSn', index: 'merchOrderSn',align: 'center', width: 110},
|
|
|
+ {label: '订单号', name: 'orderSn', index: 'order_sn', align: 'center',width: 100},
|
|
|
+ {label: '会员', name: 'userName', index: 'user_name', align: 'center',width: 50},
|
|
|
+ // {label: '商户订单号', name: 'merchOrderSn', index: 'merchOrderSn',align: 'center', width: 80},
|
|
|
{
|
|
|
- label: '订单业务类型', name: 'orderBizType', index: 'order_biz_type',align: 'center', width: 70,
|
|
|
+ label: '订单业务类型', name: 'orderBizType', index: 'order_biz_type',align: 'center', width: 60,
|
|
|
formatter: function (value) {
|
|
|
if (value == '00') {
|
|
|
return '保税备货';
|
|
@@ -41,7 +41,7 @@ $(function () {
|
|
|
}
|
|
|
},
|
|
|
{
|
|
|
- label: '订单状态', name: 'orderStatus', index: 'order_status',align: 'center', width: 100,
|
|
|
+ label: '订单状态', name: 'orderStatus', index: 'order_status',align: 'center', width: 80,
|
|
|
formatter: function (value) {
|
|
|
if (value == '0') {
|
|
|
return '订单创建成功等待付款';
|
|
@@ -79,7 +79,7 @@ $(function () {
|
|
|
// }
|
|
|
// },
|
|
|
{
|
|
|
- label: '付款状态', name: 'payStatus', index: 'pay_status',align: 'center', width: 60,
|
|
|
+ label: '付款状态', name: 'payStatus', index: 'pay_status',align: 'center', width: 50,
|
|
|
formatter: function (value) {
|
|
|
if (value == '0') {
|
|
|
return '未付款';
|
|
@@ -128,18 +128,37 @@ $(function () {
|
|
|
}
|
|
|
},
|
|
|
{label: '人脸识别返回信息', name: 'recognitionReturnMsg', index: 'recognitionReturnMsg', align: 'center',width: 100},
|
|
|
- {label: '模板通知返回信息', name: 'tempNotiMsg', index: 'tempNotiMsg', align: 'center',width: 100},
|
|
|
+ {label: '模板通知返回信息', name: 'tempNotiMsg', index: 'tempNotiMsg', align: 'center',width: 90},
|
|
|
+ {label: '核验操作类型', name: 'checkOperatorType', index: 'checkOperatorType', align: 'center',width: 65,
|
|
|
+ formatter: function (value) {
|
|
|
+ if (value == '1') {
|
|
|
+ return '人脸活体识别';
|
|
|
+ } else if (value == '2') {
|
|
|
+ return '按钮审核身份';
|
|
|
+ }else{
|
|
|
+ return '-';
|
|
|
+ }
|
|
|
+ return value;
|
|
|
+ }},
|
|
|
{
|
|
|
- label: '操作', width: 140, align: 'center', sortable: false,
|
|
|
+ label: '操作', width: 200, align: 'center', sortable: false,
|
|
|
formatter: function (value, col, row) {
|
|
|
let htmlStr = '';
|
|
|
// if (hasPermission('face:checkLivenessRecognition')) {
|
|
|
+ //isDateLast 该订单是否在可验证人脸时间内
|
|
|
if((row.isFaceCheck==0 || row.isFaceCheck == null) && row.isDateLast=='true' && row.payStatus==0 && row.orderStatus==0){
|
|
|
htmlStr +='<button class="btn btn-outline btn-danger" onclick="vm.startCheckFace(' +
|
|
|
row.id + ','+row.userId+','+row.thirdIsFaceCheck+')">人脸识别</button> ';
|
|
|
}
|
|
|
// }
|
|
|
-
|
|
|
+ if((row.isFaceCheck==0 || row.isFaceCheck == null) && row.failCount >= 3 && row.payStatus==0 && row.orderStatus==0){
|
|
|
+ htmlStr +='<button class="btn btn-outline btn-danger" onclick="vm.manualCheckFace(' +
|
|
|
+ row.id + ','+row.thirdIsFaceCheck+')">审核人脸通过</button> ';
|
|
|
+ }
|
|
|
+ if(row.isFaceCheck == 1 && row.failCount >= 3){
|
|
|
+ htmlStr +='<button class="btn btn-outline btn-danger" onclick="vm.getCheckDetail(' +
|
|
|
+ row.faceLivenessId + ','+row.thirdIsFaceCheck+')">审核明细</button> ';
|
|
|
+ }
|
|
|
if((row.isFaceCheck==0 || row.isFaceCheck == null) && row.isDateLast=='false' && row.payStatus==0 && row.orderStatus==0){
|
|
|
htmlStr +='<span style="color: red">该订单用户在\n'+row.addSecondTime+'时间前\n可不再进行人脸识别</span>';
|
|
|
}
|
|
@@ -182,6 +201,7 @@ var vm = new Vue({
|
|
|
showList: 0,
|
|
|
title: null,
|
|
|
faceLivenessRecognition: {},
|
|
|
+ checkFaceOperator: {},
|
|
|
ruleValidate: {
|
|
|
// approvalRemark: [
|
|
|
// {required: true, message: '审核备注不能为空', trigger: 'blur'}
|
|
@@ -427,6 +447,42 @@ var vm = new Vue({
|
|
|
console.log(`访问用户媒体设备失败${error.name}, ${error.message}`);
|
|
|
alert(`访问用户媒体设备失败${error.name}, ${error.message}`);
|
|
|
},
|
|
|
+ manualCheckFace: function(rowId,thirdIsFaceCheck) {
|
|
|
+ if(thirdIsFaceCheck==1){
|
|
|
+ confirm('该订单人脸核身核验失败次数超过或等于3次,请您自行核验该会员身份信息,确认是本人后点击确定', function () {
|
|
|
+ $.get("../face/manualCheckFace/" + rowId, function (r) {
|
|
|
+ if (r.code === 0) {
|
|
|
+ alert('操作成功', function (index) {
|
|
|
+ vm.reload();
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ alert(r.msg);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ });
|
|
|
+ }else {
|
|
|
+ alert('请检查第三方商户需开放是否核验人脸开关');
|
|
|
+ }
|
|
|
+ },
|
|
|
+ getCheckDetail: function(faceLivenessId, thirdIsFaceCheck) {
|
|
|
+ if(thirdIsFaceCheck==1){
|
|
|
+ vm.showList = 3;
|
|
|
+ vm.title = "审核人脸身份操作人信息";
|
|
|
+ $.get("../face/get/" + faceLivenessId, function (r) {
|
|
|
+ console.log(r)
|
|
|
+ if (r.code === 0) {
|
|
|
+ vm.checkFaceOperator = {
|
|
|
+ checkOperatorType: r.faceLiveness.checkOperatorType,
|
|
|
+ checkOperatorSn: r.faceLiveness.checkOperatorSn,
|
|
|
+ // videoBase64: '1',
|
|
|
+ checkOperatorTime: r.faceLiveness.checkOperatorTime
|
|
|
+ };
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }else {
|
|
|
+ alert('请检查第三方商户需开放是否核验人脸开关');
|
|
|
+ }
|
|
|
+ },
|
|
|
handleSubmit: function (name) {
|
|
|
handleSubmitValidate(this, name, function () {
|
|
|
vm.saveOrUpdate()
|
|
@@ -434,7 +490,7 @@ var vm = new Vue({
|
|
|
},
|
|
|
saveOrUpdate: function (event) {
|
|
|
var that = this;
|
|
|
- let lodingMsg = that.$Message.loading('人脸验证中....', 6000);
|
|
|
+ let lodingMsg = that.$Message.loading('人脸验证中....');
|
|
|
|
|
|
$('#sub').attr('disabled', true);
|
|
|
let url = '../face/checkLivenessRecognition';
|