| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260 |
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8"/>
- <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
- <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
- <link rel="icon" href="./assets/images/icoX.png"/>
- <title>人人接后台管理系统 - Power by Lettered </title>
- <link rel="stylesheet" href="./assets/libs/layui/css/layui.css"/>
- <link rel="stylesheet" href="./assets/module/admin.css"/>
- <link rel="stylesheet" href="./assets/css/app.css"/>
- <!--[if lt IE 9]>
- <script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
- <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
- <![endif]-->
- </head>
- <body class="layui-layout-body">
- <div class="layui-layout layui-layout-admin">
- <!-- 头部 -->
- <div class="layui-header">
- <div class="layui-logo">
- <!--<img class="app-logo" src="./assets/images/logo_white.png"/>-->
- <img class="app-logo" src="http://img.gxrrj.cn//058376003b34793d9286f61f2df5d691.png"/>
- </div>
- <ul class="layui-nav layui-layout-left">
- <li class="layui-nav-item" lay-unselect>
- <a ew-event="flexible" lay-bg="#ec6c44" lay-tips="侧边伸缩"><i class="layui-icon layui-icon-shrink-right"></i></a>
- </li>
- <li class="layui-nav-item" lay-unselect>
- <a ew-event="refresh" lay-bg="#ec6c44" lay-tips="刷新"><i class="layui-icon layui-icon-refresh-3"></i></a>
- </li>
- </ul>
- <ul class="layui-nav layui-layout-right">
- <li class="layui-nav-item" lay-unselect>
- <a app-event="request" event-data="{'url':'/clear'}" confirm lay-bg="#ec6c44" lay-tips="清理缓存">
- <i class="layui-icon layui-icon-release"></i></a>
- </li>
- <li class="layui-nav-item layui-hide-xs" lay-unselect>
- <a ew-event="fullScreen" lay-bg="#ec6c44" lay-tips="全屏">
- <i class="layui-icon layui-icon-screen-full"></i></a>
- </li>
- <li class="layui-nav-item" lay-unselect>
- <a href="#">
- <img src="http://q1.qlogo.cn/g?b=qq&nk=10000&s=640" class="layui-nav-img layui-hide-xs" />
- <cite id="huName"></cite>
- </a>
- <dl class="layui-nav-child">
- <dd lay-unselect><a app-event="psw">修改密码</a></dd>
- <hr>
- <dd lay-unselect><a app-event="logout" data-url="/manage/pages/login.html">退出</a></dd>
- </dl>
- </li>
- <li class="layui-nav-item" lay-unselect>
- <a lay-bg="#ec6c44" lay-tips="系统"><i class="layui-icon layui-icon-more-vertical"></i></a>
- </li>
- </ul>
- </div>
- <!-- 侧边栏 -->
- <div class="layui-side">
- <div class="layui-side-scroll">
- <ul class="layui-nav layui-nav-tree arrow2" lay-filter="admin-side-nav" lay-shrink="all"></ul>
- </div>
- </div>
- <!-- 主体部分 -->
- <div class="layui-body"></div>
- <!-- 底部 -->
- <div class="layui-footer layui-text">
- © 2020 <a href="http://www.gxnwsoft.cn" target="_blank">人人接后台管理系统</a>. All rights reserved.
- <span class="pull-right app-version">Version 1.0.1</span>
- </div>
- </div>
- <!-- 加载动画 -->
- <div class="page-loading">
- <div class="ball-loader">
- <span></span><span></span><span></span><span></span>
- </div>
- </div>
- <!-- 侧边栏渲染模板 -->
- <!-- 侧边栏渲染模板 -->
- <script id="sideNav" type="text/html">
- {{# layui.each(d, function(index, item){ }}
- <li class="layui-nav-item">
- <a href="{{item.url}}"><i class="layui-icon {{item.icon}}"></i> <cite>{{ item.name}}</cite></a>
- {{# if(item.subMenus&&item.subMenus.length>0){ }}
- <dl class="layui-nav-child">
- {{# layui.each(item.subMenus, function(index, subItem){ }}
- <dd>
- <a href="{{ subItem.url }}">{{ subItem.name }}</a>
- {{# if(subItem.subMenus&&subItem.subMenus.length>0){ }}
- <dl class="layui-nav-child">
- {{# layui.each(subItem.subMenus, function(index, thrItem){ }}
- <dd>
- <a href="{{ thrItem.url }}">{{ thrItem.name }}</a>
- {{# if(thrItem.subMenus&&thrItem.subMenus.length>0){ }}
- <dl class="layui-nav-child">
- {{# layui.each(thrItem.subMenus, function(index, fourItem){ }}
- <dd>
- <a href="{{ fourItem.url }}">{{ fourItem.name }}</a>
- {{# if(fourItem.subMenus&&fourItem.subMenus.length>0){ }}
- <dl class="layui-nav-child">
- {{# layui.each(fourItem.subMenus, function(index, fiveItem){ }}
- <dd>
- <a href="{{ fiveItem.url }}">{{ fiveItem.name }}</a>
- </dd>
- {{# }); }}
- </dl>
- {{# } }}
- </dd>
- {{# }); }}
- </dl>
- {{# } }}
- </dd>
- {{# }); }}
- </dl>
- {{# } }}
- </dd>
- {{# }); }}
- </dl>
- {{# } }}
- </li>
- {{# }); }}
- </script>
- <!--<audio preload autoplay loop id="vd">-->
- <!-- <source src="/assets/module/notice/4.wav" type="audio/mpeg">-->
- <!--</audio>-->
- <!-- cdn -->
- <script src="https://cdn.bootcss.com/socket.io/2.3.0/socket.io.js"></script>
- <!-- js部分 -->
- <script type="text/javascript" src="./assets/libs/tinymce/tinymce.min.js"></script>
- <script type="text/javascript" src="./assets/libs/layui/layui.js"></script>
- <script type="text/javascript" src="./assets/js/main.js"></script>
- <script>
- layui.use(['layer', 'form', 'notice', 'element', 'table', 'setter', 'util', 'admin'], function () {
- var $ = layui.jquery;
- var layer = layui.layer;
- var form = layui.form;
- var notice = layui.notice;
- var element = layui.element;
- var table = layui.table;
- var setter = layui.setter;
- var util = layui.util;
- var admin = layui.admin;
- form.render('select');
- // socket.io
- let socket;
- // 连接服务端
- socket = io("http://127.0.3.10:6530/");
- // socket = io("http://ws.gxrrj.cn/");
- // socket = io("http://127.0.0.1:2120/");
- // socket = io("https://rrj.gxnwsoft.com:2120/");
- // socket = io("http://rrjie.gxnwsoft.com/");
- // 连接后登录
- socket.on('connect', function(){
- console.log('socket 链接成功');
- });
- // 后端推送来消息时
- socket.on('message', (r) => {
- //TODO 实时数据处理 【首页、个人信息、权限处理】
- var data = JSON.parse(r.content);
- var options = {
- title: '消息通知',
- message: '后台有消息推送过来了了啊!!',
- displayMode: 2,
- timeout: 5000,
- audio: "4",
- onClosed: function () {
- if (r.type && r.type === 'motor') {
- table.render({
- elem: '#dataTable',
- url: setter.baseServer + 'store/taxi/order',
- page: true,
- toolbar: true,
- cellMinWidth: 100,
- cols: [[
- {type: 'checkbox'},
- {field: 'order_no', title: '订单号', width: 200},
- {field: 'user', title: '下单用户',templet:function (d) {
- return '<a href="javascript:;" class="taxi-user-view" style="color: #35cc98;border-bottom: 1px solid;"> ' +
- ((d.user !== null) ? d.user.nickname + '(' + d.mobile +')' : '用户缺失') + ' </a>';
- }, width: 200},
- {field: 'taxi', title: '下单车辆',templet:function (d) {
- return '<a href="javascript:;" class="taxi-user-view" style="color: #35cc98;border-bottom: 1px solid;"> ' +
- ((d.taxi !== null) ? d.taxi.plate_number + '【' + ((d.taxi.user !== null) ? d.taxi.user.uname + '(' + d.taxi.user.mobile +')' : '用户缺失') +'】' : '车辆缺失') + ' </a>';
- }, width: 200},
- {field: 'category', title: '分类', width: 110, templet: function (d) {
- if (d.category) {
- return '<span style="color: '+d.category.color+';text-decoration: underline;">'+d.category.name+'</span>';
- }
- return '-';
- }},
- {field: 'price', title: '价格', width: 100},
- {field: 'depart', title: '起始位置', width: 200},
- {field: 'arrive', title: '送达位置', width: 200},
- {field: 'count', title: '乘车人数', width: 100},
- {field: 'km', title: '路程总长', templet:function (d) {
- return d.km + '公里';
- }, width: 200},
- {field: 'is_free', title: '是否免单',templet:function (d) {
- return d.is_free ? '是' : '否';
- }, width: 120},
- {field: 'remark', title: '备注信息'},
- {field: 'served', title: '是否服务',templet:function (d) {
- if(d.created_at < 1607499000){
- return '<span class="layui-badge layui-badge-blue">已服务</span>';
- }
- return d.served ? '<span class="layui-badge layui-badge-blue">已服务</span>' : '<span class="layui-badge layui-badge-gray">未服务</span>';
- }, width: 120},
- {
- field: 'created_at', sort: true, templet: function (d) {
- return util.toDateString(d.created_at * 1e3);
- }, title: '创建时间', width: 180
- },
- {field: 'status', templet: '#tableStateUser', title: '状态', width: 120},
- {fixed:'right', align: 'center', toolbar: '#tableBarUser', title: '操作', minWidth: 250}
- ]],
- done:function () {
- admin.renderPerm()
- }
- });
- }
- }
- };
- switch (r.type) {
- case "goods":
- options.message = "<a href='#/store/product-order'>" + data.msg + '</a>';
- break;
- case "motor":
- options.message = "<a href='#/store/taxi-order'>" + data.msg + '</a>';
- break;
- case "skill":
- case "rescue":
- case "mission":
- case "farmland":
- default:
- options.message = "<a href='#/store/" + r.type + "-order'>" + data.msg + '</a>';
- break;
- }
-
- notice['info'](options);
-
- return false;
- });
-
-
- element.render();
- // /assets/module/notice/4.wav
-
-
-
- });
- </script>
- </body>
- </html>
|