123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511 |
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>INSPINIA | Dashboard v.4</title>
- <link href="/static/admin/cmsStyle/css/bootstrap.min.css" rel="stylesheet">
- <link href="/static/admin/cmsStyle/font-awesome/css/font-awesome.css" rel="stylesheet">
- <link href="/static/admin/cmsStyle/css/animate.css" rel="stylesheet">
- <link href="/static/admin/cmsStyle/css/style.css" rel="stylesheet">
- <!-- Toastr style -->
- <link href="/static/admin/cmsStyle/css/plugins/toastr/toastr.min.css" rel="stylesheet">
- <!-- Gritter -->
- <link href="/static/admin/cmsStyle/js/plugins/gritter/jquery.gritter.css" rel="stylesheet">
- <link rel="stylesheet" href="/static/admin/layui/css/layui.css">
- </head>
- <body class="top-navigation">
- <div id="wrapper">
- <div id="page-wrapper" class="gray-bg" style="padding-top: 2rem">
- <div class="wrapper wrapper-content animated fadeInRight">
- <div class="row">
- <div class="col-lg-9">
- <div class="ibox float-e-margins">
- <div class="ibox-title">
- <h5>信谊微信线下收银控制台</h5>
- <div class="ibox-tools">
- <a class="collapse-link">
- <i class="fa fa-chevron-up"></i>
- </a>
- <a class="close-link">
- <i class="fa fa-times"></i>
- </a>
- </div>
- </div>
- <div class="ibox-content">
- <div class="row">
- <div class="col-sm-6 b-r">
- <h3 class="m-t-none m-b" style="color: #1ab394">使用扫描枪扫描会员微信中的付款码即可付款</h3>
- <!--<p>Sign in today for more expirience.</p>-->
- <div role="form">
- <input type="number" placeholder="请输入下单金额" name="total_fee" class="form-control input-lg m-b">
- <input type="text" maxlength="18" placeholder="请输入付款码" name="auth_code" class="form-control input-lg m-b">
- <input type="text" placeholder="请输入付款备注信息 选填" name="note" class="form-control input-lg m-b">
- <!--<div class="form-group"><input type="number" placeholder="请输入下单金额" class="form-control"></div>-->
- <!--<div class="form-group"><input type="number" placeholder="请输入付款码" class="form-control"></div>-->
- <div>
- <button class="btn btn-primary col-sm-12" id="pay_money" type="button"><strong> 结 账 </strong></button>
- </div>
- </div>
- </div>
- <div class="col-sm-6 order_info" style="display: none">
- <div class="contact-box">
- <div class="col-sm-4">
- <div class="text-center">
- <img alt="image" class="img-circle m-t-xs img-responsive head_img" src="/static/index/images/logo.jpg">
- <div class="m-t-xs font-bold user_name">上海信谊天一药业有限公司</div>
- </div>
- </div>
- <div class="col-sm-8" style="line-height: 2.8rem;margin: .4rem 0">
- <h3 style="line-height: 3rem;"><strong>收款订单信息:</strong></h3>
- <p class="order_no">订单编号:12321321323</p>
- <p class="price">应付金额:¥ 1200</p>
- <p class="pay_price">实付金额:¥ 1200</p>
- <p class="add_ts">交易时间:2018-01-14 19:00</p>
- <!--<p>是否会员:<span style="color: #FF5722">非会员</span></p>-->
- <p class="status">订单状态:<span style="color: #1ab394">成功</span></p>
- <button class="btn btn-primary col-sm-12" style="display: none" data-order_no="" id="print" type="button"><strong> 打 印 </strong></button>
- </div>
- <div class="clearfix"></div>
- </div>
- </div>
- <div class="col-sm-6 none_data"><h4>暂无数据</h4>
- <p class="text-center">
- <i class="fa fa-sign-in big-icon"></i>
- </p>
- </div>
- </div>
- </div>
- </div>
- </div>
- <div class="col-lg-3">
- <div class="ibox float-e-margins">
- <div class="ibox-title">
- <!--<span class="label label-success pull-right">Monthly</span>-->
- <h5>今日收款总金额</h5>
- </div>
- <div class="ibox-content">
- <h1 class="no-margins" style="line-height: 5rem">¥ {$cashierData['new_day']}</h1>
- <!--<div class="stat-percent font-bold text-success">¥ 2000 <i class="fa fa-bolt"></i></div>-->
- <!--<small>同比前一天增长:</small>-->
- </div>
- </div>
- <div class="ibox float-e-margins">
- <div class="ibox-title">
- <!--<span class="label label-success pull-right">Monthly</span>-->
- <h5>昨日收款总金额</h5>
- </div>
- <div class="ibox-content">
- <h1 class="no-margins" style="line-height: 5rem">¥ {$cashierData['old_day']}</h1>
- <!--<div class="stat-percent font-bold text-success">98% <i class="fa fa-bolt"></i></div>-->
- <!--<small>同比前一天</small>-->
- </div>
- </div>
- </div>
- <div class="col-lg-12">
- <div class="ibox float-e-margins">
- <div class="ibox-title">
- <h5>收银订单日志列表 </h5>
- <div class="ibox-tools">
- <a class="collapse-link">
- <i class="fa fa-chevron-up"></i>
- </a>
- <a class="close-link">
- <i class="fa fa-times"></i>
- </a>
- </div>
- </div>
- <div class="ibox-content">
- <blockquote class="layui-elem-quote layui-text">
- <div class="demoTable layui-form">
- <div class="layui-input-inline">
- <input type="text" name="datetime" class="layui-input" id="dateScope" placeholder=" 订单的时间段 ">
- </div>
- <button class="layui-btn" data-type="reload"><i class="layui-icon"></i>搜索</button>
- <button class="layui-btn" lay-submit lay-filter="excel_derivation" ><i class="layui-icon"></i> 导出订单</button>
- <div class="layui-upload" style="float: right">
- <button type="button" class="layui-btn cashierTotal">金额统计:0 元</button>
- </div>
- </div>
- </blockquote>
- <!--表格信息-->
- <div class="demoTable">
- <table class="layui-table" lay-data="{height: 'full-200', url:'{:url('admin/WechatPay/ApiGetCashierPage')}', page:true, id:'testReload',loading:true}" lay-filter="demo">
- <thead>
- <tr>
- <th lay-data="{field:'add_ts', width:200, fixed: true}">交易时间</th>
- <th lay-data="{field:'order_no', width:200, fixed: true}">订单编号</th>
- <th lay-data="{field:'price', width:200, fixed: true}">应付金额</th>
- <th lay-data="{field:'pay_price', width:200}">实付金额</th>
- <th lay-data="{field:'refund_price', width:200}">退款金额</th>
- <th lay-data="{field:'status', width:120,templet: '#status'}">支付状态</th>
- <th lay-data="{field:'pay_type', width:120,templet: '#pay_type'}">支付类型</th>
- <th lay-data="{field:'admin_name'}">收银员</th>
- <th lay-data="{field:'note',templet: '#erCode',edit:'text'}">备注信息</th>
- <th lay-data="{fixed: 'is_hot', width:100,fixed: 'right', align:'center', toolbar: '#barDemo'}">操作</th>
- </tr>
- </thead>
- </table>
- <script type="text/html" id="barDemo">
- {{# if(d.status == 20){ }}
- <a class="layui-btn layui-btn-xs" lay-event="refund">退款</a>
- {{# } }}
- </script>
- <script type="text/html" id="status">
- {{# if(d.status == 10){ }}
- <span style="color: #FF5722;">未支付</span>
- {{# } else if(d.status == 20) { }}
- <span style="color: #5FB878;">付款成功</span>
- {{# } else if(d.status == 30) { }}
- <span style="color: #FF5722;">付款异常</span>
- {{# } else if(d.status == 40) { }}
- <span style="color: #FF5722;">已退款</span>
- {{# } }}
- </script>
- <script type="text/html" id="pay_type">
- {{# if(d.pay_type == 1){ }}
- <span style="color: #5FB878;">微信付款</span>
- {{# } else if(d.pay_type == 2) { }}
- <span style="color: #FF5722;">支付宝</span>
- {{# } else if(d.pay_type == 3) { }}
- <span style="color: #FF5722;">其他</span>
- {{# } }}
- </script>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- <div id="form2" style="display: none;font-size: 10px;">
- <br><br>
- <p>付款金额:<span style="font-size: 1.2rem;font-weight: bold;" class="fkje">¥</span></p>
- <p class="fkzt">当前状态:</p>
- <p>商户简称:上海信谊天一药业有限公司</p>
- <p class="zfsj">支付时间:</p>
- <p>支付方式:微信付款</p>
- <p class="zfdh">交易单号:</p>
- <p style="font-size: 12px;" class="shbh">商户单号:</p>
- <p>地址:九龙路775号 电话:63244470</p>
- </div>
- <a href="javascript:prn1_preview()"><center><button class="layui-btn" lay-submit lay-filter="demo1">打 印</button></center></a>
- <script src="/static/admin/layui/layui.js"></script>
- <script src="/static/common/js/jquery.min.js"></script>
- <script src="/static/admin/LodopFuncs/LodopFuncs.js"></script>
- <script>
- layui.use(['table','laydate'], function(){
- var table = layui.table
- ,laydate = layui.laydate
- ,layer=layui.layer
- ,form = layui.form;
- // 搜索
- var $ = layui.$, active = {
- reload: function(){
- var datetime=$('input[name="datetime"]').val();
- //执行重载
- table.reload('testReload', {
- where: {
- datetime:datetime,
- }
- });
- $.post('{:url("WechatPay/getCashierTotal")}',{datetime:datetime},function (obj) {
- if(obj.code==200){
- $('.cashierTotal').text('金额统计:'+obj.data+'元');
- }
- },"JSON")
- }
- };
- laydate.render({
- elem: '#dateScope'
- ,type: 'date'
- ,range: ','
- ,format: 'yyyy-M-d',
- value: '{$time["start"]} , {$time["end"]}',
- });
- table.on('edit(demo)', function(obj){ //注:edit是固定事件名,test是table原始容器的属性 lay-filter="对应的值"
- $.get('{:url("WechatPay/ApiSaveCashierNote")}',{order_no:obj.data.order_no,note:obj.value},function (res) {
- console.log(res)
- if(res.code==200){
- layer.msg('更新成功')
- }else{
- layer.msg('数据异常')
- }
- },'JSON')
- console.log(obj.value); //得到修改后的值
- console.log(obj.field); //当前编辑的字段名
- console.log(obj.data); //所在行的所有相关数据
- });
- //监听表格复选框选择
- form.on('submit(excel_derivation)', function(obj){
- var data=obj.field;
- window.location.href='{:url("WechatPay/cashierExcel")}?datetime='+data.datetime;
- });
- $('.demoTable .layui-btn').on('click', function(){
- var type = $(this).data('type');
- active[type] ? active[type].call(this) : '';
- });
- $('#pay_money').on('click',function () {
- var total_fee=$('input[name="total_fee"]').val();
- var auth_code=$('input[name="auth_code"]').val();
- var note=$('input[name="note"]').val();
- var checkVal=true;
- if(total_fee.length==0 || total_fee<=0){
- layer.msg('输入的金额有误');
- checkVal= false;
- return false;
- }
- if(auth_code.length<18){
- layer.msg('支付码不正确');
- checkVal= false;
- return false;
- }
- if(checkVal){
- $.post('{:url("admin/WechatPay/weChatSweepPay")}',{total_fee:total_fee,auth_code:auth_code,note:note},function (obj) {
- if(obj.code==200){
- var data=obj.data;
- layer.msg(obj.msg);
- $('.order_info').show();
- $('.none_data').hide();
- getPayDate(data);
- automaticPrint();
- $('.order_no').text('订单编号:'+data.order_no);
- $('.price').text('应付金额:¥ '+data.price);
- $('.pay_price').text('实付金额:¥ '+data.pay_price);
- $('.add_ts').text('交易时间:'+data.add_ts);
- $('#print').data('order_no',data.order_no).show();
- $('input[name="total_fee"]').val('');
- $('input[name="auth_code"]').val('');
- if(data.status==20){
- $('.status').html('订单状态:<span style="color: #1ab394">成功</span>');
- }else{
- $('.status').html('订单状态:<span style="color: #FF5722">异常</span>');
- }
- if(data.head_img!=''){
- $('.head_img').attr('src',data.head_img);
- $('.user_name').text(data.user_name);
- }else{
- $('.head_img').attr('src','/static/index/images/logo.jpg');
- $('.user_name').text('上海信谊天一药业有限公司');
- }
- table.reload('testReload');
- }else if(obj.code=='404') {
- var data=obj.data;
- layer.msg('等待付款', {
- icon: 16
- ,shade: 0.01
- ,time:5000
- });
- var i=setInterval(function () {
- getCashier()
- }, 3000);
- function getCashier() {
- $.post('{:url("admin/WechatPay/ApiGetCashierInfo")}', {order_no:data.order_no},function (obj) {
- if(obj.code==404){
- $('.order_info').hide();
- $('.none_data').show();
- layer.msg('支付未完成,客户取消支付', {icon: 5,time: 2000});
- layer.closeAll('loading');
- clearInterval(i);
- return true;
- }
- if(obj.code==200){
- var data=obj.data;
- layer.msg('收款成功');
- getPayDate(data);
- automaticPrint();
- $('.order_info').show();
- $('.none_data').hide();
- $('.order_no').text('订单编号:'+data.order_no);
- $('.price').text('应付金额:¥ '+data.price);
- $('.pay_price').text('实付金额:¥ '+data.pay_price);
- $('.add_ts').text('交易时间:'+data.add_ts);
- $('#print').data('order_no',data.order_no).show();
- $('input[name="total_fee"]').val('');
- $('input[name="auth_code"]').val('');
- if(data.status==20){
- $('.status').html('订单状态:<span style="color: #1ab394">成功</span>');
- }else{
- $('.status').html('订单状态:<span style="color: #FF5722">异常</span>');
- }
- if(data.head_img!=''){
- $('.head_img').attr('src',data.head_img);
- $('.user_name').text(data.user_name);
- }else{
- $('.head_img').attr('src','/static/index/images/logo.jpg');
- $('.user_name').text('上海信谊天一药业有限公司');
- }
- layer.closeAll('loading');
- clearInterval(i);
- table.reload('testReload');
- return true;
- }
- if(obj.code==400){
- layer.msg(obj.msg, {
- icon: 16
- ,shade: 0.01
- ,time:2000
- });
- }
- },"JSON")
- }
- }else if(obj.code=='403') {
- $('input[name="auth_code"]').val(' ');
- $('input[name="auth_code"]').focus();
- //加载层-风格4
- layer.msg('扫码失效,请会员刷新后重试', {
- icon: 5
- ,time:2000
- });
- }
- },"JSON")
- }
- })
- //订单退款操作
- table.on('tool(demo)', function(obj){
- var pay_key='{$pay_key|default=0}';
- var data = obj.data;
- if(obj.event === 'refund'){
- //配置一个透明的询问框
- layer.confirm('商户编号:' + data.pay_no + '<br>' + '<span style="color: red">退款金额:' + data.pay_price + '</span>',
- {
- btn: ['确认退款', '关闭'], //按钮
- }, function () {
- layer.prompt({title: '填写支付秘钥', formType: 1}, function (text, index) {
- if (text == pay_key) {
- $.post('{:url("Order/ApiSaveAshierRefund")}', {data:data}, function (obj) {
- console.log(obj)
- if (obj.code == 200) {
- layer.msg('数据更新成功', {icon: 6,time: 1000});
- table.reload('testReload');
- }else {
- layer.msg(obj.msg);
- }
- }, "JSON")
- layer.closeAll()
- } else {
- layer.msg('您填写的信息不对');
- }
- });
- });
- }
- });
- //打印小票
- $('#print').on('click', function() {
- var order_no=$(this).data('order_no');
- layer.open({
- type: 2,
- title: '打印小票信息确认',
- shadeClose: true,
- shade: false,
- maxmin: true, //开启最大化最小化按钮
- area: ['50%', '100%'],
- content: '{:url("Dashboard/set_ticket")}?order_no='+order_no,
- });
- });
- });
- function getPayDate(data) {
- $('.zfdh').text('交易单号:'+data.auth_code);
- $('.price').text('应付金额:¥ '+data.price);
- $('.fkje').text('¥ '+data.pay_price);
- $('.zfsj').text('交易时间:'+data.add_ts);
- $('.fkzt').text('交易付款成功');
- $('.shbh').text('商户单号:'+data.pay_no);
- }
- //自动答应
- function automaticPrint() {
- var LODOP; //声明为全局变量
- //打印预览
- // function prn1_preview() {
- // CreateOneFormPage();
- // LODOP.PREVIEW();
- // };
- // //直接打印
- // function prn1_print() {
- // CreateOneFormPage();
- // };
- // function CreateOneFormPage(){
- LODOP=getLodop();
- LODOP.PRINT_INIT("答应收款订单信息");
- LODOP.SET_PRINT_STYLE("FontSize",14);
- LODOP.SET_PRINT_STYLE("Bold",1);
- LODOP.ADD_PRINT_TEXT(50,20,500,30,"上海信谊天一药业有限公司");
- LODOP.SET_PRINT_STYLE("FontSize",12);
- LODOP.ADD_PRINT_HTM(88,4,500,400,document.getElementById("form2").innerHTML);
- LODOP.PRINT();
- // };
- }
- </script>
- <script>
- layui.use('element', function(){
- var $ = layui.jquery
- ,element = layui.element; //Tab的切换功能,切换事件监听等,需要依赖element模块
- //触发事件
- var active = {
- tabAdd: function(){
- //新增一个Tab项
- element.tabAdd('demo', {
- title: '新选项'+ (Math.random()*1000|0) //用于演示
- ,content: '内容'+ (Math.random()*1000|0)
- ,id: new Date().getTime() //实际使用一般是规定好的id,这里以时间戳模拟下
- })
- }
- ,tabDelete: function(othis){
- //删除指定Tab项
- element.tabDelete('demo', '44'); //删除:“商品管理”
- othis.addClass('layui-btn-disabled');
- }
- ,tabChange: function(){
- //切换到指定Tab项
- element.tabChange('demo', '22'); //切换到:用户管理
- }
- };
- $('.site-demo-active').on('click', function(){
- var othis = $(this), type = othis.data('type');
- active[type] ? active[type].call(this, othis) : '';
- });
- //Hash地址的定位
- var layid = location.hash.replace(/^#test=/, '');
- element.tabChange('test', layid);
- element.on('tab(test)', function(elem){
- location.hash = 'test='+ $(this).attr('lay-id');
- });
- });
- </script>
- </body>
- </html>
|