|  | @@ -22,11 +22,11 @@ $(function () {
 | 
											
												
													
														|  |          colModel: [
 |  |          colModel: [
 | 
											
												
													
														|  |              {label: 'id', name: 'id', index: 'id', key: true, hidden: true},
 |  |              {label: 'id', name: 'id', index: 'id', key: true, hidden: true},
 | 
											
												
													
														|  |              {label: '所属门店', name: 'storeName', index: 'storeName',align: 'center', width: 70},
 |  |              {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) {
 |  |                  formatter: function (value) {
 | 
											
												
													
														|  |                      if (value == '00') {
 |  |                      if (value == '00') {
 | 
											
												
													
														|  |                          return '保税备货';
 |  |                          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) {
 |  |                  formatter: function (value) {
 | 
											
												
													
														|  |                      if (value == '0') {
 |  |                      if (value == '0') {
 | 
											
												
													
														|  |                          return '订单创建成功等待付款';
 |  |                          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) {
 |  |                  formatter: function (value) {
 | 
											
												
													
														|  |                      if (value == '0') {
 |  |                      if (value == '0') {
 | 
											
												
													
														|  |                          return '未付款';
 |  |                          return '未付款';
 | 
											
										
											
												
													
														|  | @@ -128,18 +128,37 @@ $(function () {
 | 
											
												
													
														|  |                  }
 |  |                  }
 | 
											
												
													
														|  |              },
 |  |              },
 | 
											
												
													
														|  |              {label: '人脸识别返回信息', name: 'recognitionReturnMsg', index: 'recognitionReturnMsg', align: 'center',width: 100},
 |  |              {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) {
 |  |                  formatter: function (value, col, row) {
 | 
											
												
													
														|  |                      let htmlStr = '';
 |  |                      let htmlStr = '';
 | 
											
												
													
														|  |                      // if (hasPermission('face:checkLivenessRecognition')) {
 |  |                      // if (hasPermission('face:checkLivenessRecognition')) {
 | 
											
												
													
														|  | 
 |  | +                    //isDateLast 该订单是否在可验证人脸时间内
 | 
											
												
													
														|  |                      if((row.isFaceCheck==0 || row.isFaceCheck == null) && row.isDateLast=='true' && row.payStatus==0 && row.orderStatus==0){
 |  |                      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(' +
 |  |                          htmlStr +='<button class="btn btn-outline btn-danger" onclick="vm.startCheckFace(' +
 | 
											
												
													
														|  |                              row.id + ','+row.userId+','+row.thirdIsFaceCheck+')">人脸识别</button> ';
 |  |                              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){
 |  |                      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>';
 |  |                          htmlStr +='<span style="color: red">该订单用户在\n'+row.addSecondTime+'时间前\n可不再进行人脸识别</span>';
 | 
											
												
													
														|  |                      }
 |  |                      }
 | 
											
										
											
												
													
														|  | @@ -182,6 +201,7 @@ var vm = new Vue({
 | 
											
												
													
														|  |          showList: 0,
 |  |          showList: 0,
 | 
											
												
													
														|  |          title: null,
 |  |          title: null,
 | 
											
												
													
														|  |          faceLivenessRecognition: {},
 |  |          faceLivenessRecognition: {},
 | 
											
												
													
														|  | 
 |  | +        checkFaceOperator: {},
 | 
											
												
													
														|  |          ruleValidate: {
 |  |          ruleValidate: {
 | 
											
												
													
														|  |              // approvalRemark: [
 |  |              // approvalRemark: [
 | 
											
												
													
														|  |              // {required: true, message: '审核备注不能为空', trigger: 'blur'}
 |  |              // {required: true, message: '审核备注不能为空', trigger: 'blur'}
 | 
											
										
											
												
													
														|  | @@ -427,6 +447,42 @@ var vm = new Vue({
 | 
											
												
													
														|  |              console.log(`访问用户媒体设备失败${error.name}, ${error.message}`);
 |  |              console.log(`访问用户媒体设备失败${error.name}, ${error.message}`);
 | 
											
												
													
														|  |              alert(`访问用户媒体设备失败${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) {
 |  |          handleSubmit: function (name) {
 | 
											
												
													
														|  |              handleSubmitValidate(this, name, function () {
 |  |              handleSubmitValidate(this, name, function () {
 | 
											
												
													
														|  |                  vm.saveOrUpdate()
 |  |                  vm.saveOrUpdate()
 | 
											
										
											
												
													
														|  | @@ -434,7 +490,7 @@ var vm = new Vue({
 | 
											
												
													
														|  |          },
 |  |          },
 | 
											
												
													
														|  |          saveOrUpdate: function (event) {
 |  |          saveOrUpdate: function (event) {
 | 
											
												
													
														|  |              var that = this;
 |  |              var that = this;
 | 
											
												
													
														|  | -            let lodingMsg = that.$Message.loading('人脸验证中....', 6000);
 |  | 
 | 
											
												
													
														|  | 
 |  | +            let lodingMsg = that.$Message.loading('人脸验证中....');
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |              $('#sub').attr('disabled', true);
 |  |              $('#sub').attr('disabled', true);
 | 
											
												
													
														|  |              let url = '../face/checkLivenessRecognition';
 |  |              let url = '../face/checkLivenessRecognition';
 |